Plan native macOS menus
This commit is contained in:
38
PLAN.md
38
PLAN.md
@@ -342,6 +342,44 @@ visual placeholders with no message or agent runtime behind them.
|
|||||||
6. Port context compaction and system-prompt reinjection after ordinary
|
6. Port context compaction and system-prompt reinjection after ordinary
|
||||||
multi-turn operation is correct.
|
multi-turn operation is correct.
|
||||||
|
|
||||||
|
### Native macOS menus (required with chat)
|
||||||
|
|
||||||
|
The application must install and maintain a complete native macOS menu bar;
|
||||||
|
the application-name menu alone is not sufficient. Use platform menu roles,
|
||||||
|
ordering, selectors, and standard key equivalents rather than drawing menus
|
||||||
|
inside the Iced window.
|
||||||
|
|
||||||
|
- Provide the standard **Application**, **File**, **Edit**, **View**,
|
||||||
|
**Window**, and **Help** menus. Include the normal macOS Application actions
|
||||||
|
(About, Settings, Services, Hide, Hide Others, Show All, and Quit) and Window
|
||||||
|
actions (Minimize, Zoom, Bring All to Front) with native behavior.
|
||||||
|
- Make File actions operate on real application concepts: New Session, Add/Open
|
||||||
|
Project, and Close Window. Make View actions cover actual available views,
|
||||||
|
including sidebar visibility and Enter Full Screen. Help opens the local help
|
||||||
|
or documentation surface. Do not add permanently inert placeholder items.
|
||||||
|
- The Edit menu is part of the chat acceptance criteria. Undo, Redo, Cut, Copy,
|
||||||
|
Paste, Paste and Match Style where supported, Delete, and Select All must act
|
||||||
|
on the current first responder. They must work in the chat composer and every
|
||||||
|
other editable text field; Copy and Select All must also work for selectable
|
||||||
|
transcript text.
|
||||||
|
- Prefer native first-responder selectors for native controls. Where an Iced
|
||||||
|
widget owns focus, bridge the same menu command into that focused widget so
|
||||||
|
menu clicks and `Command-Z`, `Shift-Command-Z`, `Command-X`, `Command-C`,
|
||||||
|
`Command-V`, and `Command-A` behave identically.
|
||||||
|
- Validate menu enabled state whenever focus or application state changes:
|
||||||
|
editing commands reflect the focused selection/clipboard and session/project
|
||||||
|
commands reflect whether their action is currently possible. Menu actions
|
||||||
|
must use the same application messages as toolbar/sidebar actions instead of
|
||||||
|
duplicating business logic.
|
||||||
|
- Preserve conventional macOS labels, grouping, keyboard shortcuts, and
|
||||||
|
accessibility metadata. Keep platform-specific menu integration behind the
|
||||||
|
macOS application shell so the chat and session core remain platform-neutral.
|
||||||
|
|
||||||
|
Exit criterion: with the composer focused, every standard Edit command works
|
||||||
|
from both the menu and its keyboard shortcut, including undo/redo across
|
||||||
|
multiple edits; transcript text can be copied; and Application, File, View,
|
||||||
|
Window, and Help expose functional, correctly enabled native actions.
|
||||||
|
|
||||||
### Dev Brain — Obsidian knowledge and memory
|
### Dev Brain — Obsidian knowledge and memory
|
||||||
|
|
||||||
- Add an optional Dev Brain setting in Preferences. Use the native macOS folder
|
- Add an optional Dev Brain setting in Preferences. Use the native macOS folder
|
||||||
|
|||||||
Reference in New Issue
Block a user