Skip to content

feat: optional menu-bar extra#118

Merged
frankea merged 1 commit into
mainfrom
feat/menu-bar-extra
Jun 13, 2026
Merged

feat: optional menu-bar extra#118
frankea merged 1 commit into
mainfrom
feat/menu-bar-extra

Conversation

@frankea

@frankea frankea commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Implements upstream #571 "Add menu bar."

What

An opt-in menu-bar extra, controlled by a single new setting (Settings → General → "Show Whisky in the menu bar", off by default):

  • Off (default): behaviour unchanged — no menu-bar item, and Whisky quits when the last window closes.
  • On: a menu-bar item appears, and Whisky keeps running after the main window closes (so it stays reachable and running Wine processes aren't killed). The menu offers:
    • Open Whisky — brings the window forward, or reopens it if it was closed.
    • Settings… (SettingsLink).
    • Each available bottle as a submenu of its pinned programs, launchable directly (launchWithUserMode).
    • Kill running bottles and Quit Whisky.

Design notes

  • Opt-in rather than always-on, because keeping the app alive on window close (the premise of the upstream PR) is a behaviour change users shouldn't get unannounced. One toggle gates both the menu-bar item and the stay-running lifecycle, so it's all-or-nothing and discoverable.
  • The lifecycle hook reads the same showMenuBarExtra default: applicationShouldTerminateAfterLastWindowClosed returns false only when the menu bar is enabled.
  • Menu UI lives in its own WhiskyMenuBarView (WhiskyApp is already at its type_body_length/file_length ceiling).
  • New EN strings added to Localizable.xcstrings at their sorted positions (translations via Crowdin).

Verification

  • xcodebuild ... -scheme WhiskyBUILD SUCCEEDED.
  • swiftformat --lint . and swiftlint lint --strict — clean.
  • Localizable.xcstrings validated as JSON.

@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 39.53488% with 26 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Whisky/Views/MenuBar/WhiskyMenuBarView.swift 35.48% 20 Missing ⚠️
Whisky/AppDelegate.swift 0.00% 4 Missing ⚠️
Whisky/Views/Settings/SettingsView.swift 33.33% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

Adds an opt-in menu-bar item (Settings → General → "Show Whisky in the menu
bar", off by default). When enabled it lets you launch a bottle's pinned
programs, reopen Whisky, or quit without the main window focused — and keeps
Whisky running after the window is closed so the menu bar stays reachable and
Wine processes keep running. When disabled, behaviour is unchanged (no menu
bar item, quit on last window close).

Closes Whisky-App#571.
@frankea frankea force-pushed the feat/menu-bar-extra branch from 33b433a to 6232827 Compare June 13, 2026 21:58
@frankea frankea merged commit bbfb4f7 into main Jun 13, 2026
9 checks passed
@frankea frankea deleted the feat/menu-bar-extra branch June 13, 2026 22:04
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