fyne-io / systray

a cross platfrom Go library to place an icon and menu in the notification area
Apache License 2.0
223 stars 41 forks source link

Icon only shows on single extended monitor (macos) #74

Closed morganhein closed 7 months ago

morganhein commented 7 months ago

I've done a bit of digging, and i'm not 100% sure what is happening here, but it's a bit of a showstopper for my usages of fyne in general.

I am on MacOS, using a m1 laptop. I use a dock that extends my displays across two monitors plus the built in laptop monitor. My built in laptop monitor is my primary monitor.

When starting up an app using fyne systray, the system tray icon only shows up on the "middle" monitor's app menu/system tray. To be clear, it does not show up on the "primary" monitor as defined in my settings, and does not show up on the 3rd monitor, but does show up on one extended monitor that is in the "middle" in my layout. As seen here:

image

Even though I have it set for each monitor to also show the system tray, which works for all other apps.

And then lastly, if I disconnect the monitors and go mobile with the laptop, no systray icon shows up at all. To be clear, when not connected to external monitors anymore, the fyne systray icons for my app (or the example one in this repo) do not show up on my system tray. All other system tray icons for other apps work as expected.

This is my laptop tray, even when disconnected from all other monitors and app is still running (or even restarted, doesn't matter):

image

Re-plugging in my external monitors makes both my custom app icon and the example from this repo show up, on the external (extended) monitor without restarting the app, or restarting it. Both work.

Ideally the app icon would show on all monitors per the mac setings, but at the very least needs to show up on the laptop monitor when nothing else is plugged in. If there's any debugging I can do to provide help lmk!

andydotxyz commented 7 months ago

I cannot replicate this with any of my screens. There is no capability within the macOS API to specify that a menubar icon appear only on some screens.

What settings/configuration are you referring to? Maybe there are some more details steps for replicating that you can provide?

Do make sure that you haven't run out of room on the menu though - the mac will hide icons to make way for menu headings.

morganhein commented 7 months ago

TIL: icons won't display if it's partially hidden under the camera tab in a macbook monitor. Thanks @andydotxyz for sanity checking my issue!