Merged
Conversation
fbb7431 to
8f4eb19
Compare
a78c463 to
6bf8830
Compare
Member
Author
|
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 sunshinemacOS running now... but tray icon is not created and no boost message is printed to stdout... |
9a4c300 to
8a2dd16
Compare
07156fe to
312b726
Compare
Member
Author
|
@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
This comment was marked as off-topic.
This comment was marked as off-topic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.