LINUX.ORG.RU

Лучше не надо. Тем более из Python+PyQt5.

eternal_sorrow ★★★★★
()

В С++ это выглядит как-то так:

void Window::createTrayIcon()
{
    trayIconMenu = new QMenu(this);
    trayIconMenu->addAction(minimizeAction);
    trayIconMenu->addAction(maximizeAction);
    trayIconMenu->addAction(restoreAction);
    trayIconMenu->addSeparator();
    trayIconMenu->addAction(quitAction);

    trayIcon = new QSystemTrayIcon(this);
    trayIcon->setContextMenu(trayIconMenu);
}

полностью пример можно посмотреть здесь. Думаю, портировать на Python должно быть не так сложно даже без знания С++.

Так или иначе, не рекомендуется использовать трей без веской причины – этот механизм считается устаревшим и отсутствует в GNOME и некоторых других окружениях.

Siborgium ★★★★★
()
Последнее исправление: Siborgium (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

Нет, конечно – я терпеть не желаю GNOME и пользуюсь самосборными окружениями, и трей в них отсутствует. Более того, я считаю трей крайне неудобным и полностью поддерживаю GNOME в этом их решении.

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium

Посмотрел на код по той ссылке. Та программа добавляет свою иконку в трей. Мне же нужно было получить сам трей, т.е. условно получить список того, что сейчас находится в трее и отобразить это в окне.

thm
() автор топика
Ответ на: комментарий от thm

Получить вот это с D-BUS. Спецификация тут и на Item-ы и на Watcher-ы.

Забрать список Item-в и пройти по ним. Там забрать хоть иконки, хоть имена процессов. ayatana спецификации не очень соответствует, но в целом - наплевать, там несложно.

SkyMaverick ★★★★★
()
Последнее исправление: SkyMaverick (всего исправлений: 1)
25 января 2022 г.
Ответ на: комментарий от thm

Ну всё правильно. Тип-то Array of [String]. Следовательно, здесь вернуло массив из одного элемента и зарегистрирован один Item. В значении адрес на шине, его также можно найти и посмотреть через тотже d-feet (первую часть пути вбить в поиск).

SkyMaverick ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.