mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-14 19:26:56 -04:00
On macOS the menus are in the system menu bar, laid out as a Mac app's (Illustrator on the Mac as the reference), and the app settings sit in the VectorCraft menu: About, Settings ▸ (one item per Preferences page, General… ⌘K), Language ▸, Appearance ▸ (UI brightness), Services, Hide VectorCraft ⌃⌘H (⌘H stays View › Hide Edges), Hide Others ⌥⌘H, Show All and Quit ⌘Q (the app's own quit, so unsaved documents are asked about); they leave Edit and Help. Window gets Minimize ⌃⌘M, Zoom and Bring All to Front; Help is the system's Help menu. Windows, Linux and the web keep the in-window menu bar unchanged; --in-window-menus or VECTORCRAFT_IN_WINDOW_MENUS keeps it on macOS too, and so does a menu bar AppKit refuses to build. One menu model: the in-window menus and the native bar draw the same rows (menus::entry), and the platform-free native_menu module lays them out, decides when to update (a cheap state hash; labels, enabled and checked in place, a rebuild only when the structure changes) and hands key equivalents back to egui as the key presses they were, so shortcuts, user overrides and focused text fields behave as in the window and nothing fires twice. The muda backend (pinned =0.21.1, macOS only, no unsafe) is apps/vectorcraft/src/mac_menu.rs, mirroring PhotoCraft's. ui.inspect reports nativeMenuBar. Translations for the new labels in ja, es, zh-hans, zh-hant, cs and pt-br. Co-Authored-By: Claude Opus 5.5 <[email protected]>