gnome-shell-extension-appindicator
gnome-shell-extension-appindicator copied to clipboard
Linuxqq tray-Icons not clickable
Archlinux Gnome 45.2 wayland No matter whether old tray-icons supported or not .
The menu can pop up by re-unlocking the desktop through the lock screen. I don’t know why.
The menu can pop up by re-unlocking the desktop through the lock screen. I don’t know why.
Thanks for mention.It works temporarily before fix!
The same problem is on X11 too.
Need to reload this extension after log in to QQ to have pop up menu working.
The same problem.
The same. and actually, I really think that functions like the tray icon should be implemented by the official GNOME desktop team.
The same. and actually, I really think that functions like the tray icon should be implemented by the official GNOME desktop team.
Gnome desktop team just delete it and it is almost impossible to do like what you say.
@3v1n0
Found the tray of 'linuxqq' does not have additional menus when not logged in, and additional menus are only added to the tray after logging in.
Infer the extension not receiving or processing object update messages from linuxqq tray.
Same issue here.
Edit: PR created, the workaround here is silly and is not recommended.
Same here.
Thanks to @0xarch I've found a work around. It's silly but it works.
I can confirm that qq provides a root menu item with zero child in its submenu until logged in. But appindicator
does handle the LayoutUpdated
signal (see _onSignal) so it's probably qq who didn't send the signal.
Here's the silly workaround
In method attachToMenu, add:
// PATCH: keep on updating when root item has no submenu entries
const requestLayoutUpdate = () => {
if (!this?._client || this._rootItem?._children_ids?.length) {
return;
}
this._client._requestLayoutUpdate();
setTimeout(requestLayoutUpdate, 30000);
};
setTimeout(requestLayoutUpdate, 30000);
This function calls _requestLayoutUpdate
and calls itself every 30 seconds.
Also tried adding those into method _onMenuOpened
but this won't work, since PopupMenu
only opens the menu and emits an open-state-changed
signal when the menu is not empty.
If it's too silly to add such a patch to your local extension file, you probably have to disable - enable the appindicator
extension (or lock - unlock gnome-shell
) to force a _requestLayoutUpdated
every time you log in your qq account.
I wonder if you have some better ideas, @0xarch.
By the way...
QQ does not implement org.freedesktop.DBus.Introspectable
(it simply returns an empty node), so I could not use d-spy
and spent too much time cooking the dbus-send
commands when learning this. -_-||
@lost-melody
zh_CN
这个扩展 似乎可以和 linuxqq
的史山代码一起工作,也许对这个议题有帮助.
另外,如果 linuxqq
没有广播更新消息,那么其他 (类似于 KDE 系统托盘, 以及上面提到的扩展 ) 的处理应用如何避免这个问题,或者它们只是每次用户打开的时候都向应用请求一次托盘数据?
This extension seems work with linuxqq
's codes, maybe it's helpful to this issue.
BTW, if linuxqq
does not message its tray's update, why do some handlers (like KDE's system tray) can handle it, or they just request items each time the user open the tray's panel?