Bug 42998 - Управление значком в трее Mate (mate-panel) нарушено
Summary: Управление значком в трее Mate (mate-panel) нарушено
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: qt5-base (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 42548
  Show dependency tree
 
Reported: 2022-06-16 01:59 MSK by Vitaly Lipatov
Modified: 2022-06-19 03:35 MSK (History)
2 users (show)

See Also:


Attachments
Простейший пример с QSystemTrayIcon (398 bytes, text/x-python)
2022-06-19 03:17 MSK, Vitaly Lipatov
no flags Details
Лог dbus при вызове setVisible(false) (8.49 KB, text/x-log)
2022-06-19 03:35 MSK, Vitaly Lipatov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2022-06-16 01:59:35 MSK
Для Qt5 есть тестовое приложение на python, которое создаёт значок в трее:
https://github.com/pyqt/examples/tree/_/src/pyqt-official/desktop/systray

По состоянию галочки Show icon этот значок должен появляться и исчезать (так работает в xfce4-panel), а значок реагирует. При это смена картинки для значка отлично работает.
Comment 1 Vitaly Lipatov 2022-06-18 00:56:11 MSK
Я что-то не понимаю в dbus, потому что вот так управление видимостью значка работает:
$ dbus-launch python3 systray.py
Comment 2 Vitaly Lipatov 2022-06-18 01:04:30 MSK
Всё ещё хуже, оно начинает работать так:
$ DBUS_SESSION_BUS_ADDRESS=no python3 systray.py

При том что штатно там, например
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/502/bus
Comment 3 Vitaly Lipatov 2022-06-19 01:19:06 MSK
https://github.com/gyunaev/birdtray/issues/376

https://askubuntu.com/questions/732967/how-to-fix-non-working-dropbox-icon-on-xubuntu-14-04-lts-64

Похоже, что не работает управление через dbus, и если на шине не доступно управление трем, то Qt переходит на какой-то более простой способ. Который работает!

Было две давно закрытые баги для Xfce и Mate:

https://bugreports.qt.io/browse/QTBUG-51150
https://bugreports.qt.io/browse/QTBUG-54345

Оригинально, что в Телеграме про такую багу забыли много лет назад:
https://github.com/telegramdesktop/tdesktop/issues/1975
Comment 4 Vitaly Lipatov 2022-06-19 02:46:14 MSK
Предполагаю, что в Qt5 что-то сломано на тему отказа от использования DBUS для случая mate-panel.

http://arsenshnurkov.github.io/linux-sharp/system-tray-icon/index.htm

https://aur.archlinux.org/packages?K=StatusNotifierItem&SB=p

На Сизифе проблема с Qt5 сохраняется, но в Телеграме, собранном с системным Qt6, проблемы нет.
Comment 6 Vitaly Lipatov 2022-06-19 03:17:15 MSK
Created attachment 10938 [details]
Простейший пример с QSystemTrayIcon

При нажатии на значок в трее он должен исчезать. Но картинка остаётся после setVisible(false), хотя больше и не реагирует на события.
Comment 7 Vitaly Lipatov 2022-06-19 03:35:35 MSK
Created attachment 10939 [details]
Лог dbus при вызове setVisible(false)

Добавил лог dbus при вызове setVisible(false)
для MATE и XFCE.