dino icon indicating copy to clipboard operation
dino copied to clipboard

Systray support

Open jvoisin opened this issue 7 years ago • 101 comments

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 avatar May 13 '17 12:05 jvoisin

@jvoisin Dino definitely does not only target Gnome 3.

fiaxh avatar May 13 '17 17:05 fiaxh

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

NicoHood avatar May 13 '17 18:05 NicoHood

Id love to see that feature too.

elouin avatar Jun 21 '17 10:06 elouin

This is a needed feature for me. I use XFCE. Also starting mininized to tray would be welcome

mase76 avatar Sep 24 '17 14:09 mase76

Same here, I'm using Cinnamon, and I desperately ned that in order to be able to use dino.

theScrabi avatar Mar 31 '18 11:03 theScrabi

I've send Michal Čihař form weblate a mail, he has admin rights.

theScrabi avatar Mar 31 '18 11:03 theScrabi

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 :-)

benrob0329 avatar Apr 01 '18 03:04 benrob0329

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.

theScrabi avatar Apr 01 '18 11:04 theScrabi

I suppose its the difference of always having a task open in your systray vs always having one open in your taskbar.

benrob0329 avatar Apr 01 '18 14:04 benrob0329

Yes.

theScrabi avatar Apr 01 '18 17:04 theScrabi

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.

hex-m avatar Oct 17 '18 13:10 hex-m

Its for people who are not using gnome, but for example cinnamon.

theScrabi avatar Oct 17 '18 16:10 theScrabi

@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.

hex-m avatar Oct 18 '18 08:10 hex-m

Yes, I guess this is how it should work on gnome.

theScrabi avatar Oct 18 '18 09:10 theScrabi

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.

theScrabi avatar Oct 18 '18 09:10 theScrabi

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.

benrob0329 avatar Oct 18 '18 21:10 benrob0329

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

theScrabi avatar Oct 18 '18 22:10 theScrabi

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.

benrob0329 avatar Oct 19 '18 02:10 benrob0329

On a system with systray that is default behavior for almost all chat aplications.

theScrabi avatar Oct 19 '18 06:10 theScrabi

Any progress in systray implementation?

systray implementation would be very nice!

IeP4nieF avatar May 19 '19 10:05 IeP4nieF

I'd like to have some clarification on the desired feature here. I see various, largely independent features requested here:

  1. Display an icon in the "systray" additional to the taskbar on platform supporting it.
  2. When closing a window (by pressing the X), don't close it but minimize it.
  3. 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.

mar-v-in avatar Aug 09 '19 12:08 mar-v-in

  1. 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.
  2. 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.
  3. 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 :)

theScrabi avatar Aug 10 '19 00:08 theScrabi

"systray support" means for me:

  1. Display a icon in the systray, while dino is running.
  2. 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.

IeP4nieF avatar Aug 10 '19 03:08 IeP4nieF

@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.

mar-v-in avatar Aug 10 '19 06:08 mar-v-in

In short i wanted to say what @IeP4nieF said.

theScrabi avatar Aug 10 '19 15:08 theScrabi

Which API should be used to implement this? There's the deprecated Gtk.StatusIcon, there's also libappindicator

marmistrz avatar Aug 17 '19 13:08 marmistrz

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 avatar Aug 17 '19 13:08 mar-v-in

@mar-v-in are you sure? Arch Linux is using libappindicator for Ayatana, which doesn't seem abandoned: https://github.com/AyatanaIndicators

marmistrz avatar Aug 17 '19 14:08 marmistrz

How about moving it to the notification area? A lot of apps like nextcloud-desktop, network-manager, linphone, keepassxc, uget etc. do so.

mase76 avatar Aug 17 '19 15:08 mase76

@mase76 is there any library to facilitate this?

marmistrz avatar Aug 17 '19 15:08 marmistrz