feat(desktop): integrate native window chrome and application menus - #619
Merged
Merged
Conversation
Add native Windows caption menus while preserving the original application layout and colors. Sync caption labels with the UI locale and handle fullscreen and native menu refreshes safely.
Switch Windows native popups on caption hover or click, serialize native close callbacks, and clean up active menu sessions on navigation or window changes. Derive Find menu availability from the same registered target resolver used by shortcut dispatch. Validated with 23 focused tests, desktop compilation, UI build, Electron smoke, five Windows lifecycle scenarios, and native Windows hover/click plus empty-file Find checks.
xhd0728
approved these changes
Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The packaged client currently wraps the UI in a separate title bar and repeated outer borders. This change integrates native macOS traffic lights into the sidebar, adds a compact Windows application menu alongside native caption buttons, and removes the desktop viewport's extra gutter, border, radius and shadow. Startup, onboarding, settings, theme changes and fullscreen use the same desktop shell treatment.
Native menus now route New Conversation, New Project, Settings, Find, sidebar visibility, feature navigation and Check for Updates to existing UI actions. Help opens the PilotDeck documentation and GitHub Issues, and provides logs and basic version information. Commands respect project context and blocking dialogs; editor shortcuts and existing close/quit safeguards are preserved. Business UI styling and browser/PWA presentation remain unchanged.
Validation
Remaining platform acceptance
Windows native visual/interaction acceptance requires a Windows host: caption controls, dragging and double-click behavior, menu/F10 interaction, Snap Layouts and display scaling. macOS titlebar dragging and the system-configured double-click action also remain manual acceptance items. No installer or release is published by this PR.
Review fixes
windowsHide, which can suppress the first native window show through STARTUPINFO. Existing startup-close and tray-restore assertions remain intact and passed on the Windows CI rerun.All five PR checks passed on commit
846d2d52: Web, Docker, desktop static checks, macOS lifecycle and Windows installer build.