Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jeroni
Copy link

@jeroni jeroni commented Mar 6, 2024

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

  • Issue #…

🖼️ Screenshots

🏚️ Before 🏡 After
B A

🚧 Tasks

  • ...

@nickvergessen nickvergessen requested a review from ShGKme March 6, 2024 08:22
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>
@jeroni jeroni force-pushed the feature/enhance_tray_icon_click branch from cf4c812 to 961568d Compare March 6, 2024 08:28
@@ -51,7 +51,7 @@ function setupTray(browserWindow) {
role: 'quit',
},
]))
tray.on('click', () => browserWindow.show())
tray.on('click', () => browserWindow.isFocused() ? browserWindow.close() : browserWindow.show())
Copy link
Contributor

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.

Copy link
Author

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.

Copy link
Contributor

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.

Copy link

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

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!

@jeroni
Copy link
Author

jeroni commented Mar 21, 2024

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants