Compare commits

...

2 commits

Author SHA1 Message Date
maxsoch 44705cccae Merge branch 'feature/menu-shortcuts' 2026-07-13 19:11:39 +02:00
maxsoch 1c997751b7 add keyboard shortcuts for Cleanup (C) and Tips (T)
The ⌥ purge alternate carries the same key equivalent as Cleanup —
alternate pairing requires it — so ⌥C triggers the purge variant.
The shortcut list in the Tips window is updated accordingly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 19:11:39 +02:00
2 changed files with 6 additions and 5 deletions

View file

@ -95,9 +95,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
outdatedItem.submenu = outdatedSubmenu outdatedItem.submenu = outdatedSubmenu
outdatedItem.isHidden = true // shown once a fetch finds outdated packages outdatedItem.isHidden = true // shown once a fetch finds outdated packages
menu.addItem(outdatedItem) menu.addItem(outdatedItem)
menu.addItem(NSMenuItem(title: "🧹 Cleanup", action: #selector(cleanupAction), keyEquivalent: "")) menu.addItem(NSMenuItem(title: "🧹 Cleanup", action: #selector(cleanupAction), keyEquivalent: "c"))
// isAlternate swaps this in for the item right above while is held // isAlternate swaps this in for the item right above while is held;
let purgeItem = NSMenuItem(title: "🧹 Cleanup (purge cache)", action: #selector(cleanupPurgeAction), keyEquivalent: "") // the pairing requires the same key equivalent with other modifiers
let purgeItem = NSMenuItem(title: "🧹 Cleanup (purge cache)", action: #selector(cleanupPurgeAction), keyEquivalent: "c")
purgeItem.keyEquivalentModifierMask = .option purgeItem.keyEquivalentModifierMask = .option
purgeItem.isAlternate = true purgeItem.isAlternate = true
menu.addItem(purgeItem) menu.addItem(purgeItem)
@ -106,7 +107,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
menu.addItem(NSMenuItem.separator()) menu.addItem(NSMenuItem.separator())
menu.addItem(NSMenuItem(title: "⚙️ Settings…", action: #selector(showSettings), keyEquivalent: ",")) menu.addItem(NSMenuItem(title: "⚙️ Settings…", action: #selector(showSettings), keyEquivalent: ","))
menu.addItem(NSMenuItem(title: "💡 Tips", action: #selector(showTips), keyEquivalent: "")) menu.addItem(NSMenuItem(title: "💡 Tips", action: #selector(showTips), keyEquivalent: "t"))
versionItem = NSMenuItem(title: "🏷 Brew: ...", action: nil, keyEquivalent: "") versionItem = NSMenuItem(title: "🏷 Brew: ...", action: nil, keyEquivalent: "")
menu.addItem(versionItem) menu.addItem(versionItem)

View file

@ -9,7 +9,7 @@ class TipsWindowController: NSWindowController {
"With the menu open, hold Option (⌥): Cleanup becomes Cleanup (purge cache), which also empties Homebrew's download cache (brew cleanup --prune=all). Downloads are simply re-fetched when next needed."), "With the menu open, hold Option (⌥): Cleanup becomes Cleanup (purge cache), which also empties Homebrew's download cache (brew cleanup --prune=all). Downloads are simply re-fetched when next needed."),
("Keyboard shortcuts", ("Keyboard shortcuts",
"While the menu is open: R refreshes, U upgrades formulae & casks, L opens the logs, comma (,) opens Settings and Q quits."), "While the menu is open: R refreshes, U upgrades formulae & casks, C cleans up, L opens the logs, T shows these tips, comma (,) opens Settings and Q quits."),
("Upgrade only one kind", ("Upgrade only one kind",
"When both formulae and casks are outdated, an “Upgrade only…” submenu appears under the main upgrade item to handle just one of the two."), "When both formulae and casks are outdated, an “Upgrade only…” submenu appears under the main upgrade item to handle just one of the two."),