davidedmundson / xembed-sni-proxy

Convert XEmbed system tray icons to SNI icons
GNU General Public License v2.0
32 stars 6 forks source link

Tray icons are invisible #28

Open justusranvier opened 8 years ago

justusranvier commented 8 years ago

Using the most recent commit, when I launch xembedsniproxy empty space appears in my system tray where the icons should go, however the icons are not actually displayed.

I know they are present, because if I click randomly in the empty space I'll eventually find where they are and the context menus associated with those icons will appear.

Console output from xembedsniproxy:

kde.xembedsniproxy: Manager selection claimed kde.xembedsniproxy: trying to dock window 6299787 kde.xembedsniproxy: adding damage watch for 6299787 kde.xembedsniproxy: trying to dock window 56734501 kde.xembedsniproxy: adding damage watch for 56734501 kde.xembedsniproxy: trying to dock window 52437058 kde.xembedsniproxy: adding damage watch for 52437058 kde.xembedsniproxy: trying to dock window 54772652 kde.xembedsniproxy: adding damage watch for 54772652 kde.xembedsniproxy: trying to dock window 6299790 kde.xembedsniproxy: adding damage watch for 6299790 kde.xembedsniproxy: trying to dock window 52437061 kde.xembedsniproxy: adding damage watch for 52437061 kde.xembedsniproxy: trying to dock window 6299793 kde.xembedsniproxy: adding damage watch for 6299793 kde.xembedsniproxy: trying to dock window 14707359 kde.xembedsniproxy: adding damage watch for 14707359 kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Sending click 3 to 2085 1555 kde.xembedsniproxy: Sending click 3 to 2121 1555 kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Sending click 3 to 2121 1555 kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Sending click 3 to 2157 1555 kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Sending click 3 to 2121 1555 kde.xembedsniproxy: Sending click 3 to 2121 1555 kde.xembedsniproxy: Skip transparent xembed icon kde.xembedsniproxy: Sending click 3 to 2121 1555

Crazy-Hopper commented 8 years ago

Could you please double-check that you're running the git master/HEAD indeed?

Crazy-Hopper commented 8 years ago

And if you do, could you also check if code from my fork works any better for you? (Doubt that, but who knows.)

justusranvier commented 8 years ago

I'm installing via this ebuild (Gentoo): https://gitweb.gentoo.org/proj/kde.git/tree/dev-libs/xembed-sni-proxy/xembed-sni-proxy-9999.ebuild

It is building the master branch and I reinstalled it immediately before creating this issue.

I'll try changing the URI to your tree to see if that changes anything.

justusranvier commented 8 years ago

@Crazy-Hopper I get the same behavior with your fork.

Crazy-Hopper commented 8 years ago

And you do see that repository is cloned each time you rebuild?

Crazy-Hopper commented 8 years ago

Could you paste some initial console output from the fresh run?

justusranvier commented 8 years ago

I'm sure it's building the right repository:

# ebuild /usr/local/portage/dev-libs/xembed-sni-proxy/xembed-sni-proxy-9999.ebuild merge
 * checking ebuild checksums ;-) ...                                                                                                                                                                                                                                                                                                                                [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                                                                                                                                                                                                                              [ ok ]
>>> Unpacking source...
Initialized empty Git repository in /usr/site-local/distfiles/git3-src/Crazy-Hopper_xembed-sni-proxy.git/
 * Fetching https://github.com/Crazy-Hopper/xembed-sni-proxy.git ...
git fetch https://github.com/Crazy-Hopper/xembed-sni-proxy.git +HEAD:refs/git-r3/HEAD
remote: Counting objects: 427, done.
remote: Compressing objects: 100% (51/51), done.
remote: Total 427 (delta 30), reused 0 (delta 0), pack-reused 376
Receiving objects: 100% (427/427), 114.98 KiB | 0 bytes/s, done.
Resolving deltas: 100% (279/279), done.
From https://github.com/Crazy-Hopper/xembed-sni-proxy
 * [new ref]                    -> refs/git-r3/HEAD
git symbolic-ref refs/git-r3/dev-libs/xembed-sni-proxy/5/__main__ refs/heads/master
 * Checking out https://github.com/Crazy-Hopper/xembed-sni-proxy.git to /var/tmp/portage/dev-libs/xembed-sni-proxy-9999/work/xembed-sni-proxy-9999 ...
git checkout --quiet master
GIT NEW branch -->
   repository:               https://github.com/Crazy-Hopper/xembed-sni-proxy.git
   at the commit:            e762a4ceef2d38e70cdff34a1dc05ee5f588db9d
>>> Source unpacked in /var/tmp/portage/dev-libs/xembed-sni-proxy-9999/work
>>> Preparing source in /var/tmp/portage/dev-libs/xembed-sni-proxy-9999/work/xembed-sni-proxy-9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/xembed-sni-proxy-9999/work/xembed-sni-proxy-9999 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/dev-libs/xembed-sni-proxy-9999/work/xembed-sni-proxy-9999_build"
justusranvier commented 8 years ago

Here's the output when I start it:

kde.xembedsniproxy: starting
kde.xembedsniproxy: Manager selection claimed
kde.xembedsniproxy: trying to dock window 6291790
kde.xembedsniproxy: adding damage watch for 6291790
kde.xembedsniproxy: Resizing window 6291790 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 6291793
kde.xembedsniproxy: adding damage watch for 6291793
kde.xembedsniproxy: Resizing window 6291793 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 56663092
kde.xembedsniproxy: adding damage watch for 56663092
kde.xembedsniproxy: Resizing window 56663092 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 14680314
kde.xembedsniproxy: adding damage watch for 14680314
kde.xembedsniproxy: Resizing window 14680314 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 6291796
kde.xembedsniproxy: adding damage watch for 6291796
kde.xembedsniproxy: Resizing window 6291796 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 65019188
kde.xembedsniproxy: adding damage watch for 65019188
kde.xembedsniproxy: Resizing window 65019188 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 50331763
kde.xembedsniproxy: adding damage watch for 50331763
kde.xembedsniproxy: Resizing window 50331763 "Xpra" from w*h 48 48
kde.xembedsniproxy: trying to dock window 50331766
kde.xembedsniproxy: adding damage watch for 50331766
kde.xembedsniproxy: Resizing window 50331766 "Xpra" from w*h 48 48
kde.xembedsniproxy: Skip transparent xembed icon for 6291790 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291793 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 56663092 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 14680314 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291796 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 65019188 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 50331763 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 50331766 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291793 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 50331766 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291796 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291790 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291793 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 56663092 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 14680314 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 6291796 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 65019188 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 50331763 "Xpra"
kde.xembedsniproxy: Skip transparent xembed icon for 50331766 "Xpra"
Crazy-Hopper commented 8 years ago

It seems that all your icons are from Xpra. I've never used that and my first try didn't go well. ;-)

justusranvier commented 8 years ago

There are actually two types of icons involved: the icon for the xpra client itself, and icons for processes running on the xpra server which are being forwarded to the client.

totaam commented 8 years ago

Xpra tray icons should use the gtk.StatusIcon widget on X11 (at least until version 0.16 where we're trying to find ways to overcome the "challenges" of new desktop environments breaking everything).

You can debug all tray related code by running the client (or server if you feel so inclined) with the flag: "-d tray".

If you can't get xpra running, see here: http://xpra.org/trac/wiki/Usage But really, something like this should just work if you have a recent enough version: xpra start ssh:localhost --start-child=vlc

hurradiegams commented 8 years ago

I have no tray icons either. Same behaviour as justusranvier, just black spaces where icons should be, the black spaces are clickable and are working as supposed by the related programs (KeePass and Pidgin in my case).

I'm on Arch LInux, fully updated, including https://aur4.archlinux.org/packages/xembed-sni-proxy-git/ today.

Console output:

kde.xembedsniproxy: starting
kde.xembedsniproxy: Manager selection claimed
kde.xembedsniproxy: trying to dock window  58723557
kde.xembedsniproxy: adding damage watch for  58723557
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: trying to dock window  39845949
kde.xembedsniproxy: adding damage watch for  39845949
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Sending click  3 to 2880 3
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: trying to undock window  39845949

and so on, mostly kde.xembedsniproxy: Skip transparent xembed icon

If you need any more informations just ask ahead :)

Thank you for your work!

Edit: for the music player Guayadeque it does show a black space too, but it does not show a tooltip at mouseover (only with Pidgin (saying Pidgin), to tooltip at all with Keepass, and Guayadeque says "systray icon"). Console output from start of Guayadeque:

kde.xembedsniproxy: trying to dock window  39849058
kde.xembedsniproxy: adding damage watch for  39849058
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Sending click  1 to 2936 3
kde.xembedsniproxy: Sending click  1 to 2936 3
kde.xembedsniproxy: Sending click  1 to 2936 3
kde.xembedsniproxy: Sending click  3 to 2936 3
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
kde.xembedsniproxy: Skip transparent xembed icon
tgharib commented 8 years ago

FWIW, I have no tray icons too. I'm running Manjaro and I'm using the xembed-sni-proxy-git package from the AUR.

TomFyuri commented 8 years ago

Latest debian sid with plasma-systray-legacy and latest archlinux with xembed-sni-proxy both result in no icons (well, empty space for each application, that is clickable, but without tooltip it's not possible to know which is what) whatsoever:

kde.xembedsniproxy: starting
kde.xembedsniproxy: Manager selection claimed
kde.xembedsniproxy: trying to dock window 50343217
kde.xembedsniproxy: adding damage watch for 50343217
kde.xembedsniproxy: trying to dock window 62914938
kde.xembedsniproxy: adding damage watch for 62914938
kde.xembedsniproxy: trying to dock window 79691890
kde.xembedsniproxy: adding damage watch for 79691890
kde.xembedsniproxy: Resizing window 79691890 "skype" from w*h 960 432
kde.xembedsniproxy: Skip transparent xembed icon for 50343217 "guake"
kde.xembedsniproxy: Skip transparent xembed icon for 62914938 "Pidgin"
kde.xembedsniproxy: Skip transparent xembed icon for 79691890 "skype"
kde.xembedsniproxy: Skip transparent xembed icon for 62914938 "Pidgin"
kde.xembedsniproxy: Skip transparent xembed icon for 50343217 "guake"
kde.xembedsniproxy: Skip transparent xembed icon for 62914938 "Pidgin"
kde.xembedsniproxy: Skip transparent xembed icon for 79691890 "skype"
ntninja commented 8 years ago

A user in http://permalink.gmane.org/gmane.comp.kde.devel.bugs/1657822 says this issue only happens on nVidia hardware for him. According to his (brief) analyzation of the problem the transparent xembed icon-message is actually correct in that the icon received by xembed-sni-proxy is actually empty…

I can confirm btw that this is happening on this nVidia laptop.

ntninja commented 8 years ago

Nevermind, this issue has been fixed in master. Please close this!