-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
show application if not focused or closed when clicking on tray icon #549
base: main
Are you sure you want to change the base?
Conversation
When clicking on the tray icon, if window is not focused show it instead of closing it. If window is closed or not focused will be shown. Signed-off-by: Jeroni Brunet <jeroni@gmail.com>
cf4c812
to
961568d
Compare
@@ -51,7 +51,7 @@ function setupTray(browserWindow) { | |||
role: 'quit', | |||
}, | |||
])) | |||
tray.on('click', () => browserWindow.show()) | |||
tray.on('click', () => browserWindow.isFocused() ? browserWindow.close() : browserWindow.show()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isFocused()
cannot be used here for this purpose. At the moment the tray icon is clicked, the window is not focused already because the click moves the focus. At least on Windows.
To have similar behavior, we need to either close the window if it was visible (no matter if it was focused), or, instead of isFocused()
, handle focus change event with some short timeout, considering the window focused if it was focused less than, let say, 1 second ago.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now I see it doesn't work either on Kde Plasma 6. I changed today and I'm using Wayland now. My idea was:
- If window is closed show it.
- If window is focused close it.
- If window is open but not focused focus it
This effect was nice on X11, but it doesn't work on Wayland, at least on Kde.
A use case could be you are working and receive a message, you don't know if the windows is closed or behind the others, but being the notification nearby the tray icon, click the icon and the "talk" window appears.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A use case could be you are working and receive a message, you don't know if the windows is closed or behind the others, but being the notification nearby the tray icon, click the icon and the "talk" window appears.
It is supposed to work. Currently, clicking on the tray icon always shows the window.
As I understand your proposal, you wanted tray icon not only to show the window, but also close if it is shown and was focused already (same as Telegram, for example).
But to archive this keeping feature of focusing on a shown non-focused window, there must be a custom isFocused()
with a timeout.
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! |
Wayland is a mess right now, at least with KDE. I could not reproduce the functionallity because no app is working as in X11 session (Telegram or Vorta for example) |
When clicking on the tray icon, if window is not focused show it instead of closing it. If window is closed or not focused will be shown.
☑️ Resolves
🖼️ Screenshots
🚧 Tasks