Skip to content

fix(macos): start quietly when the Dock icon is hidden - #71

Merged
kitlangton merged 1 commit into
mainfrom
fix/quiet-menu-bar-startup
Sep 3, 2026
Merged

fix(macos): start quietly when the Dock icon is hidden#71
kitlangton merged 1 commit into
mainfrom
fix/quiet-menu-bar-startup

Conversation

@kitlangton

Copy link
Copy Markdown
Collaborator

Why

HEX opens Settings on every app launch, even when the user has hidden its Dock icon. That makes a background voice utility interrupt startup and login unnecessarily.

Addresses the menu-bar-only startup case in #64 by reusing Show Dock icon, rather than introducing another preference.

What Changes

Before: a normal app launch opens Settings regardless of Dock visibility.

After: with the Dock icon hidden, completed setup, healthy permissions/model, and a successfully installed menu-bar item, HEX starts without opening a window. Dictation startup remains independent of Settings.

flowchart TD
    Launch[Launch HEX] --> Setup{Setup complete and ready?}
    Setup -- No --> Window[Open setup or Settings]
    Setup -- Yes --> Dock{Show Dock icon?}
    Dock -- Yes --> Window
    Dock -- No --> Menu{Menu-bar item installed?}
    Menu -- No --> Fallback[Show Dock icon and open Settings]
    Menu -- Yes --> Quiet[Start without a window]
Loading
  • Menu-bar Settings and explicit Finder/Spotlight reopen still open or focus the window. Those paths are not gated by the startup decision.
  • Turning the Dock setting off does not close an already open window.
  • The existing setting now explains: “When off, HEX starts quietly in the menu bar after setup”.
  • Explicit pane previews remain visible.

Demo

The release Settings preview built and launched, but screenshot capture failed with could not create image from window. No screenshot or native startup/reopen demonstration is claimed.

Scope

macOS startup-window policy, setting copy, and feature-map documentation. Login registration is unchanged, and there is no separate window preference for users who keep the Dock icon visible. No installed app or live preferences were changed during verification.

Verification

cargo fmt --all --check
CMAKE=/opt/homebrew/bin/cmake cargo test --locked --bin voice-control
CMAKE=/opt/homebrew/bin/cmake cargo test --locked --test keyboard_layout
CMAKE=/opt/homebrew/bin/cmake cargo clippy --locked --all-targets --all-features -- -D warnings
git diff --check
CMAKE=/opt/homebrew/bin/cmake ./scripts/capture-preview.sh "$TMPDIR/hex-quiet-startup-settings.png" settings
  • 441 tests passed, 9 opt-in tests ignored. New tests cover all 16 combinations of Dock visibility, setup readiness, onboarding completion, and menu-bar availability.
  • All 12 keyboard-layout child scenarios passed; formatting, Clippy, and whitespace checks passed.
  • The release preview build succeeded with an existing unused call_developer warning. Screenshot capture failed as noted above.
  • Still unverified: signed-app launch at login, native Finder/Spotlight reopening after quiet startup, and physical dictation after quiet startup. Decision tests are not native end-to-end proof.

@kitlangton
kitlangton merged commit 7dd5a61 into main Sep 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant