Posts

Post not yet marked as solved
2 Replies
Four years after the introduction of SwiftUI, the framework still lacks a clean, straightforward, idiomatic way to remove the default system CommandMenu top-level containers – specifically, File, Edit, and View. Scenario 1: a utility app is designed to disable the zoom button and full-screen mode, doesn’t use tab bar, toolbar or sidebar – the View menu will be empty upon build. Despite this, the View menu remains visible even though it’s completely empty. This is clearly a bug. Scenario 2: a utility app lacks text entry, and has no need for undo/redo or copy/paste, the Edit menu becomes unnecessary. However, the operating system automatically injects Autofill, Start Dictation, and Emoji & Symbols submenus and commands into the Edit menu. Another clear bug. Scenario 3: when using Window instead of WindowGroup to present a Scene in a single, unique app window, macOS still provides a Minimize All option if you hold the Option key while clicking on the Window menu, even though the app has, and can only ever have a single window. Although the zoom command is intentionally disabled as mentioned above, it becomes re-enabled as Zoom All when the Option key is held while clicking on Window menu. This is not a bug. This is carelessness. Why is there a File menu in the System Settings app, which doesn’t deal with files (saving, exporting, printing, etc.)? More perplexing is the presence of a Close All command when the Option key is held down and the File menu is clicked. A complete lack of attention to detail and quality control on Apple’s part.
Post marked as solved
4 Replies
Since the state of the above mentioned setting isn’t persistent between macOS restarts, we need to apply it every time at login (as long as user has enabled this preference). Can we have a background daemon that starts at login in order to apply a setting (daemon is immediately terminated afterword)? Or is it necessary for Mac App Store distribution to have the full main app always launch? ⠀ Is that a typo? ‘cause I figured that all the checkboxes in your app were important (-: I think I choose words intentionally ;-)