Bug 42998

Summary: Управление значком в трее Mate (mate-panel) нарушено
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: qt5-baseAssignee: Sergey V Turchin <zerg>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: shrek, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 42548    
Attachments:
Description Flags
Простейший пример с QSystemTrayIcon
none
Лог dbus при вызове setVisible(false) none

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.