Open unknowndomain opened 4 years ago
The macOS version of OBS treats the menu bar like a Windows menu bar
If I'm not mistaken that's exactly how Qt treats it which then also leads to the idiosyncrasies you mentioned. I agree that there are quite a few tweaks that are necessary to make the App feel more at home on macOS (on top of all the other little UI quirks on all platforms), but ultimately Qt will be the defining factor here.
If you're willing, you're more than welcome to investigate Qt's (v5.14.1) compatibility with regards to Apple's interface guidelines (https://developer.apple.com/design/human-interface-guidelines/macos/overview/themes/) and check if there are quick wins for the project.
Qt documents how this is supposed to be done here - https://doc.qt.io/qt-5/macos-issues.html#menu-bar
If the window has a QMenuBar, then it is used. If the window is modal, then its menu bar is used. If no menu bar is specified, then a default menu bar is used (as documented below).
Other standard menu items such as Cut, Copy, Paste and Select All are applicable both in your application and in some native dialogs such as QFileDialog. It's important that you create these menu items with the standard shortcuts so that the corresponding editing features will be enabled in the dialogs.
My suggestion would be to create a second QMenuBar (our default one is in OBSBasic.ui) that can be set for dialogs, including Properties and Settings. It'd include the usual Copy/Paste etc.
Platform
Operating system and version: macOS Catalina 10.15.4 (It affects all macOS versions) OBS Studio version: 25.0.8 (It affects all OBS versions)
Current Behavior
The macOS version of OBS treats the menu bar like a Windows menu bar, i.e. that it's attached to each window and contextual to that window, however this doesn't really work for macOS as the menu bar is supposed to be contextual for each window of the application.
To get around this the menu bar only works for the main windows and is simply disabled whenever a modal window, sheet, or utility window are popped up, for example warning prompts, settings, properties, autoconfiguration, etc...
The issue with this is that OBS breaks many common macOS patterns that less techie users would be familiar with i.e. copy and paste, this comes up on a regular basis on Discord.
Expected Behavior
That OBS would retain at least some of the basic window specific commands and their shortcuts such as:
Copy - Command + C (Normally in the Edit menu) Paste - Command + P (Normally in the Edit menu) Close window - Command + W (Normally in the File menu) Minimise window - Command + M (Normally in the Window menu)
Steps to Reproduce
You can't do this because it's disabled, the same is true for Edit > Paste.
Example support issues
They all revolve around pasting the stream key but I could imagine the same issue with browser source URLs.
https://discordapp.com/channels/348973006581923840/636682784156549152/708674403348774943
https://discordapp.com/channels/348973006581923840/636682784156549152/701123168034750575
https://discordapp.com/channels/348973006581923840/636682784156549152/689842647472537705