You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Ryujinx, does not use the native macOS menu bar, and instead uses its own menu bar:
I would like to implement this myself, so I looked into avalonia's current implementation of the macOS menu bar using NativeMenu and NativeMenuBar. Whatever I do, NativeMenuBar will not work and idk why. On the other hand NativeMenu, and its "sub-class" NativeMenuItemalso won't work because:
It doesn't support tooltips, and therefore other platforms wont have tooltips anymore (minor)
It doesn't support Name or Tag, meaning that Click will always reference NativeMenuItem, basically meaning you cant do case by case. I tried to do a workaround using Command and Gesture and checking for it in MainMenuBarView.axaml.cs but it wont work for some reason.
With that information, I came to a conclusion. Either we ASK avalonia to add these things and update to the version that implements it, or we use SwiftUI for the menu bar.
I looked a bit further into using SwiftUI, since it's basically my only option at this point, and it looks like we'll need to use .net 9, which added support for Swift bindings and some libraries.
So, we're waiting on either avalonia, or .net 9 support in Ryujinx.
Now that I think about it, Swift is definitely the way to go on this, for 2 reasons:
No more tooltips for other platforms if we use avalonia.
We'd have to ask avalonia to implement names and tags on NativeMenuItem, wait for it to be implemented, and then once it's implemented wait for a release, and then update to that release, which might break other stuff.
Overview
Currently, Ryujinx, does not use the native macOS menu bar, and instead uses its own menu bar:
I would like to implement this myself, so I looked into avalonia's current implementation of the macOS menu bar using
NativeMenu
andNativeMenuBar
. Whatever I do,NativeMenuBar
will not work and idk why. On the other handNativeMenu
, and its "sub-class"NativeMenuItem
also won't work because:Name
orTag
, meaning thatClick
will always referenceNativeMenuItem
, basically meaning you cant do case by case. I tried to do a workaround usingCommand
andGesture
and checking for it inMainMenuBarView.axaml.cs
but it wont work for some reason.With that information, I came to a conclusion. Either we ASK avalonia to add these things and update to the version that implements it, or we use SwiftUI for the menu bar.
I looked a bit further into using SwiftUI, since it's basically my only option at this point, and it looks like we'll need to use .net 9, which added support for Swift bindings and some libraries.
So, we're waiting on either avalonia, or .net 9 support in Ryujinx.
Smaller details
Things we'd have to use: NSStatusBar, NSStatusItem and probably NSStatusBarButton for styling(?)
Nature of request
I like the macOS native menu bar, and also it saves some space on the screen.
Why would this feature be useful?
Makes Ryujinx look a bit nicer on macOS.
The text was updated successfully, but these errors were encountered: