-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
add tray icon #1035
add tray icon #1035
Conversation
fbb7431
to
8f4eb19
Compare
a78c463
to
6bf8830
Compare
Getting a runtime error on macOS. 2023-03-13 20:58:20.624 sunshine[21904:70290] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x00007ff80ceb243b __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff80ca01e25 objc_exception_throw + 48
2 CoreFoundation 0x00007ff80ceda5d6 _CFBundleGetValueForInfoKey + 0
3 AppKit 0x00007ff80ff81161 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 307
4 AppKit 0x00007ff80ff6df4f -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1247
5 AppKit 0x00007ff80ff6da69 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
6 AppKit 0x00007ff81071b6fe -[NSStatusBarWindow initForStatusItem:] + 88
7 AppKit 0x00007ff81071e623 -[NSStatusItem _initWithStatusBar:length:priority:systemInsertOrder:] + 349
8 AppKit 0x00007ff8101daef2 -[NSStatusBar _statusItemWithLength:withPriority:] + 76
9 sunshine-0.18.4 0x0000000105a32e1f tray_init + 120
10 sunshine-0.18.4 0x00000001059555ce _Z11create_trayv + 29
11 sunshine-0.18.4 0x000000010595949f _ZNSt3__1L14__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEPFivEEEEEEPvSA_ + 36
12 libsystem_pthread.dylib 0x00007ff80cd5f259 _pthread_start + 125
13 libsystem_pthread.dylib 0x00007ff80cd5ac7b thread_start + 15
)
libc++abi: terminating with uncaught exception of type NSException
zsh: abort sunshine macOS running now... but tray icon is not created and no boost message is printed to stdout... |
9a4c300
to
8a2dd16
Compare
07156fe
to
312b726
Compare
@abusse sorry for the ping, but wondering if you could review this. I'm struggling to get the tray icon created in macOS. macOS doesn't allow creating the icon outside of the main thread, but the tray requires an endless loop for listening to events. I tried creating the icon in the main thread but running the |
a35c64f
to
77d99a3
Compare
77d99a3
to
c4ac317
Compare
Description
This PR adds a system tray icon. There's not much to it right now, but it should open the avenue for tray notifications (e.g. pairing request, stream started, stream ended, etc. etc.).
I used https://github.com/dmikushin/tray which is a cross platform system tray library, but I have not tested this on macOS or Linux yet. I am not sure how to specify the icon image for Linux, or if it's even possible.
Todo:
Screenshot
Windows
Ubuntu

Issues Fixed or Closed
Type of Change
.github/...
)Checklist
Branch Updates
LizardByte requires that branches be up-to-date before merging. This means that after any PR is merged, this branch
must be updated before it can be merged. You must also
Allow edits from maintainers.