z411 / trackma

Open multi-site list manager for Unix-like systems. (ex-wMAL)
https://z411.github.io/trackma
GNU General Public License v3.0
765 stars 81 forks source link

Tray Icon is not showing on ubuntu 18.04 #365

Open leonardo2707 opened 6 years ago

leonardo2707 commented 6 years ago

I'm using gnome 3.28.2 and installed trackma with setup.py.

everything is working right except that.

captura de tela de 2018-08-25 00-07-59

leonardo2707 commented 5 years ago

I just switched to the gnome manjaro and added the topicons extension and magically everything was perfect.

image

I do not know what was wrong with the ubuntu gnome. Maybe there was a bug? or should I have forgotten to do something? I do not know.

thebitstick commented 5 years ago

@leonardo2707 This is most likely a Wayland issue. I am currently using Wayland under Ubuntu 18.04 and trackma-gtk does not disable a tray icon. This can be remedied by switching to trackma-qt, so long as you install PyQt5 via pip.

leonardo2707 commented 5 years ago

@thebitstick nice, I will close the issue since it is working, anything I open again.

thebitstick commented 5 years ago

This may fix our problem but that doesn't help the problem of trackma-gtk not working. It's a bug and needs an Issue.

leonardo2707 commented 5 years ago

I see, I reopen the issue and will put a bug label, but I can't put labels, so I do not know what to do.

thebitstick commented 5 years ago

Adding to this issue: I've tested GNOME 3.30 Wayland on both Ubuntu 18.10 and Fedora 29. trackma-gtk still does not display its tray icon under Wayland. Running trackma-gtk under Xwayland with GDK_BACKEND=x11 and having TopIcons Plus allows the use of tray icons. But this should be remedied to work on Wayland.

z411 commented 5 years ago

I'm not familiar with the direction the GNOME project is taking but isn't it because they are planning to remove tray icons altogether?

Source: https://bugzilla.gnome.org/show_bug.cgi?id=758677

Official explanation: https://blogs.gnome.org/aday/2017/08/31/status-icons-and-gnome/

thebitstick commented 5 years ago

Yes, tray icons will be considered a "legacy" component for the GNOME desktop. On Wayland, only X11 apps can use it.

So as a replacement to the tray icon, how about Trackma runs in the background, and when trackma-gtk is called, it'll first check for any existing processes, and ask them to unhide.

z411 commented 5 years ago

Gnome Shell already restores the existing window if a program is re-launched so I feel that should take care of that. From what I've read about this change it seems we shouldn't be hiding the program at all. What about disabling tray icon functionality at all if we detect GNOME?

thebitstick commented 5 years ago

That would also work. I originally forked this repo to disable tray icons if it detects Wayland, but on second thought, I believe KDE Plasma Wayland still allows the use of "legacy" tray icons. Detecting GNOME may be difficult though. Also when detected, it would not only have to disable tray icons, but also disable "start in tray" option.

And as for

Gnome Shell already restores the existing window if a program is re-launched so I feel that should take care of that.

Would only work if Trackma is minimized. GNOME Shell doesn't do much in that regard. Other applications that restore windows do the work themselves to detect a running instance and tell the existing one to unhide.

thebitstick commented 5 years ago

Also not related to tray icons but still related to GNOME: Would a redesign featuring a HeaderBar and no menu bar be possible? Trackma feels a bit dated on GNOME.

dyskette commented 5 years ago

Also not related to tray icons but still related to GNOME: Would a redesign featuring a HeaderBar and no menu bar be possible? Trackma feels a bit dated on GNOME.

I would love to see trackma with headerbars. However, a well implemented headerbar needs a good design first. Because it's not only the headerbar, it's the rest of the behaviour of the application that would need to change.

More than a year ago, I played around with the design of trackma and did a bit of coding to implement it but dropped it due to lack of time.

Found the mockups I did back then but they are rough...

Sorry for the offtopic. :worried:

z411 commented 5 years ago

Also when detected, it would not only have to disable tray icons, but also disable "start in tray" option.

Yes, this was what I had in mind. The Gnome project doesn't want us hiding the application at all so it would only make sense to disable Trackma from doing it, that includes starting in tray or hiding to tray.

Would a redesign featuring a HeaderBar and no menu bar be possible? Trackma feels a bit dated on GNOME.

I'm personally not a fan of Gnome 3 and I don't use it myself (nor have it installed) so I'm not aware of their new design guidelines nor the widgets that they use. Nonetheless the mockups @dyskette did look great, but I don't really have the incentive to do it myself anytime soon.

leonardo2707 commented 5 years ago

I had not read the official explanation before the @z411 comment.

Official explanation: (https://blogs.gnome.org/aday/2017/08/31/status-icons-and-gnome/`)

I understood the point of the gnome developers, so I will close the issue since it is not a bug of the trackma. I will give a chance for this paradigm to use the system without icon in the tray now, I saw that there is already the option in the global settings in the GTK interface of not using icon in the tray, thanks for the responses of all of you.

z411 commented 5 years ago

@thebitstick After testing it seems GtkStatusIcon won't work under Wayland KDE either so I'm just disabling tray functionality whatsoever if Wayland is detected. Please check if it works.

@dyskette By the way, did you do that mockup in an image editing program or did you code it? If the latter I might be interested in taking a look.

thebitstick commented 5 years ago

@z411 Fix works. GDK_BACKEND is Wayland by default and Trackma doesn't hide it self on start, and the tray icon doesn't show up. GDK_BACKEND is x11 and (TopIcons on GNOME) the tray icons show up and Trackma hides itself.

dyskette commented 5 years ago

@z411 I did both, but right now I just had this image mockup because the code I lost it some time in this year when I changed PC and don't know where it ended up. The code was incomplete anyway and had only only implemented a basic headerbar, but not much really.

I would be interested in helping create a version with CSD and headerbars. 😄

lionirdeadman commented 5 years ago

This is not a Wayland issue. Gnome has removed the systray but Ubuntu and others use the extension made by the Ubuntu team to restore them. They don't use the same API though.

Extension in question : https://github.com/Ubuntu/gnome-shell-extension-appindicator

z411 commented 5 years ago

As far as I know that extension won't work in Wayland, and when I tested it the tray icon didn't work in Wayland KDE so I assumed it was a Wayland issue, which is why I decided to look for a Wayland display as a detection measure. If you know of a reliable way to detect Gnome then I'd be happy to use that instead.

lionirdeadman commented 5 years ago

This extension actually does work on Gnome wayland. It simply uses another API than the old systray in Gnome hence why it didn't show up in Ubuntu 18.04 (Also would explain why Topicons which does use the old api works but they may not support Wayland, not sure)

So there's most likely 2 issues at play here :

Atleast, that's what I think. I could be wrong.

(As a sidenote : Should an issue be created for us to follow Gnome HIG using @dyskette 's designs? I'd like to help possibly but I've actually never done GTK)