-
Notifications
You must be signed in to change notification settings - Fork 49
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
[ Feature Request ] Split Left click and Right click action #23
Comments
On many OS it is assumed that the menu will appear from left click. |
Sorry about that , I work at window desktop enviroment most of time , I didn't notice the appearance difference in MacOS and Linux. But looks MacOS is also support handle left right click (sources: https://www.electronjs.org/docs/latest/api/tray#event-right-click-macos-windows)
Yes , but not exactly. I plan do this: single left click: do nothing dourble left click: open Browser with our WebUI right click: show a menu include Open WebUI and Quit and other common action
I agree that , but in my developing experence , some user still request hide window into tray , and many app (such as telegram, steam) support hide into tray when click the close button. |
looks like you already done part of support for linux ? |
MacOS and Windows differ in this regard. On Windows, you usually open the menu by right clicking the icon, and a left click open a window (as opposed to a menu). On macOS, left clicking is expected to open the menu, and right clicking menu items on macOS is hit-and-miss. Some open a menu, and some do nothing. Very few will open a window without clicking an item in a menu. I don't use Linux as a desktop, so I have no idea what sort of behaviors exist there. All that said, it's desirable for the app developer to control these behaviors, so we can keep our apps consistent with the users' expectations. As an app dev, I'd even love to see a third control-option for double-click. I'll try to put some time into this, but can't promise much. I have only had one user ask for the ability to split right/left click on Windows, so it's not super high priority. |
I think it's necessary |
This is same with my findings
These statements feel subjective. We are trying to juggle consistency for all your users whilst being consistent with the OS. I'm not sure that implementing differently for each platform leading to content that may not be accessible to some is the right way to go? Would users of something platform-agnostic like this library really expect to write OS-specific code into their apps for controlling menus? |
If you don't your users will complain about how your app feels 'weird'. No way around it. If you're good with telling your users "tuff" then don't worry about writing OS-specific code. fwiw, I've since switched to another systray fork that allows me to define all of these behaviors in my own code my own way. Works brilliantly. |
See fyne-io/fyne#4491 (comment) for a relevant discussion. |
There is a big distance between not adding APIs that won't work on some platforms and telling users "tough luck". |
Has anyone see this PR from the upstream repo? IMHO I think this might be the way to go to allow devs to implement the behaviour as needed/wished, don't you? |
The PR you linked to only works on Windows (where the clicks are often different) but not on macOS (where most apps have the same action) or Linux (where right click is not supported). Don't we want to be able to have an API that works everywhere consistently? |
@andydotxyz I am confused, on Linux only right click works for my app... I can't seem to figure out how to get left click mapped to anything... Even just foregrounding the app would be better than the current behavior. |
There is not one generic "Linux" system, we have implemented a spec and the systems showing the tray can behave how they want. We do not implement the left or right click signals, we set the menu only. Perhaps your system tray has configuration? |
Just using Cinnamon, by default only right click shows the menu, while every single other systray item I have does respond to both left and right click, Fyne systrays only work with right click with left click doing nothing. =\ That is why I forked the systray code, and added Activate support, now left click does my custom action (showing a window) and left click shows the menu. This seems to be working consistently with all Linux systems I have tried it on. The action bound to left click is also setup in the menu, so for systems (Mac), where everything brings up the menu, functionality is not impacted. |
By split left right click action , we can do other action on left click not just open the menu but such as show/hide window.
The text was updated successfully, but these errors were encountered: