dino
dino copied to clipboard
Systray support
It would be super-nice to be able to minimize dino to the systray :)
Not everyone is using GNOME3. But if dino is willing to only target GNOME3, it should be specified somewhere.
@jvoisin Dino definitely does not only target Gnome 3.
Also elementary OS exposes this tray if i am not wrong. It really handy to have some notification. Because currently there is none at all. See #70
Id love to see that feature too.
This is a needed feature for me. I use XFCE. Also starting mininized to tray would be welcome
Same here, I'm using Cinnamon, and I desperately ned that in order to be able to use dino.
I've send Michal Čihař form weblate a mail, he has admin rights.
Do any other environments have persistent notifications? If so that would be good as well/instead.
I would also like to note that you can minimize it normally, you will get notifications for new messages :-)
you will get notifications for new messages
That is right, but sometimes you exigently close it, and you always have an open task in your taskbar.
I suppose its the difference of always having a task open in your systray vs always having one open in your taskbar.
Yes.
I don't understand what this has to do with GNOME. I run the latest version of GNOME in Debian Buster (testing) and can't find a persistent Dino icon.
Its for people who are not using gnome, but for example cinnamon.
@theScrabi: I didn't write clear enough, sorry. This ticket suggests that this should not be an issue on GNOME. But on my system (with GNOME) I have the problem that dino is in my taskbar all the time.
I did some research and found out how this is supposed to work on GNOME 3.
Every application should always have a primary window and this window should always be raised when the application is launched.
So I guess GNOME wants me to hide windows by putting them on a different workspace?
But I just realized that I'm using GNOME classic mode and I guess that behaves more like "old-school" DEs anyway.
Yes, I guess this is how it should work on gnome.
I think this is a questionable design decision by gnome, but it makes kind of sense. However this behavior should defiantly be something you should be able to switch off, so dino can be used on other desktop evironments.
I mean, you can use it fine on other desktop environments. I don't understand why not having a systemtray icon makes it only usable on GNOME, lots of applications don't have a systemtray icon.
We have other ways to hide windows, such as multiple workspaces, and minimizing. Anything more advanced than TWM has those, even WIndows nowadays. While yes, having a systemtray icon would be nice, I think saying its required is a stretch to say the least.
Well I can say that I am one who quickly presses the x butten if I want to have a window out of sight... It makes sense on desktop environments where its "normal" to x a window if you dont want to see it anymore. So i don't see a reason to first check if its "dino" im trying to close and then make an exception in my brain, that not I exidently close it. -> Broken UI consistency.
I can't speak for others but for me that is super annoying and yes, a reason to turn away from dino.
I don't want to sound harsch, but i think its a little egoistic thinking to make an app only blend in well into one specific desktop environment. Maybe adding this feature might come in handy since you could get more satisfied users from other DEs ;D
As someone who has used almost everything from AwesomeWM to XFCE I've never had a "hit X to hide" mentality, and honestly I find it very odd that you see the button who's default behavior is to quit the app as a means to hide a window (non destructively). To each his own, but I wouldn't exactly call it "sane defaults" to assume every app would do that.
On a system with systray that is default behavior for almost all chat aplications.
Any progress in systray implementation?
systray implementation would be very nice!
I'd like to have some clarification on the desired feature here. I see various, largely independent features requested here:
- Display an icon in the "systray" additional to the taskbar on platform supporting it.
- When closing a window (by pressing the X), don't close it but minimize it.
- When minimizing a window, hide the taskbar entry and only stick with the "systray" icon.
Dino is not targeting GNOME3, but also not targeting Linux either (although right now, that's the most popular platform among Dino users).There is no common understanding of the term "systray" across operating systems and desktop environments:
- Windows 7 and before have a "notification area" (docs). One of the use cases of "notification area" envisioned by Microsoft is "Minimized single-instance application", which is what best describes Dino, however this usecase asks that "Doing so is optional and users must opt in.", so it shouldn't be default. This usage is also no longer recommended for Windows 7 (instead one should minimize to taskbar). Also Microsoft asks that such icons are also be used to display status and to pop up notifications.
- Windows 10 deprecated the old "notification area" that is typically referred to as "systray". Instead one should use Toasts (docs) for notifications and if running in the background should be mostly invisible.
- GNOME doesn't have a "systray" anymore, instead they are using the notification panel for displaying notifications and apps always have a running window or use an independent background service that doesn't have a window and that is only usable from within a window of the actual application.
- macOS can display arbitrary menu icons in the top right of the menu bar for background services. These icons are supposed to display a menu with various program related options and should also display status when it makes sense. Applications can be started without having a window and the fact an app is running is indicated in the Dock. The dock can also display an unread message count and bounce to raise awareness, thus most apps should use a dock icon and display a notification using the notification center instead of using a menu bar icon.
So I wonder, what actually is the desired functionality here. Do we need a "systray" icon when closing the window will only minimize and not close it? If closing the window doesn't close it anymore, but minimizes, how do I close it?
I can imagine to add a "Keep Dino running when closing its window" setting, but the correct behavior of that setting isn't clear to me and most likely differs between platforms. "Systray support", as the issue is named, severely simplifies the underlying feature request, probably targeting towards a very specific usecase on a certain platform/desktop environment.
- The problem is that not everyone is using gnome. Desktops like xfce, or cinnamon dont use fancy notifications, as gnome has. Those users either always see the window and need to think "better nit click that x" or just don't use dinno. So you baiscly log out non gnome users.
- Even on gnome i don't want to have a window up and running, that would take away at leas one desktop, if I wanted to see no window. So there at least running as a background service should be implemented.
- The question what happens when you click X should be left over to the settings.
Don't take this as on offence I still like this Project :)
"systray support" means for me:
- Display a icon in the systray, while dino is running.
- Hide the taskbar icon, during the time dino is minized to the systray.
Like riot (desktop) or gajim does.
Otherwise there are to much tasbar icons, if you are using multiple messengers.
@theScrabi
Desktops like xfce, or cinnamon dont use fancy notifications, as gnome has. Those users either always see the window and need to think "better nit click that x" or just don't use dino.
I don't understand what you're saying here. Last time I checked, both xfce and cinnamon have support for the freedesktop.org notifcation-spec and thus get notifications from Dino displayed. I also don't understand how this is related to the meaning of the window's close button.
Even on gnome i don't want to have a window up and running, that would take away at leas one desktop, if I wanted to see no window.
If you don't want to see the window you should just minimize it.
The question what happens when you click X should be left over to the settings.
When you click close button it should close the window and not minimize it. If you click the minimize button it should minimize it to the taskbar and not close it. That is the operating system default on every operating system.
We are now talking about adding a background service that is not bound to the window, so the window can be closed without loosing the connectivity to the network.
Additional settings increase the complexity of using an application, just because you could do something doesn't mean you should.
In short i wanted to say what @IeP4nieF said.
Which API should be used to implement this? There's the deprecated Gtk.StatusIcon
, there's also libappindicator
GtkStatusIcon
is not only deprecated in GTK 3, it is also already removed from preview versions of GTK 4, so it wouldn't be a clever move to start using it now.
libappindicator
is basically deprecated as well. It was developed and used for Unity desktop that was abandoned by Canonical/Ubuntu. It is compatible with KStatusNotifierItem
(supported by KDE and Unity and others via plugin) and includes a fallback to GtkStatusIcon
(for all other desktops and platforms), thus also relies on that deprecated, soon-to-be-removed functionality of GTK.
@mar-v-in are you sure? Arch Linux is using libappindicator for Ayatana, which doesn't seem abandoned: https://github.com/AyatanaIndicators
How about moving it to the notification area? A lot of apps like nextcloud-desktop, network-manager, linphone, keepassxc, uget etc. do so.
@mase76 is there any library to facilitate this?