Repository navigation
dmenu-mac 0.8.0
The first release in five years, and the first one signed and notarized by Apple: it opens without Gatekeeper warnings and the Homebrew cask works again.
Added
- Menu bar icon with Show, Settings, Launch at Login and Quit.
- Settings window (⌘ ,): General for the hotkey and terminal, Appearance for bar position, opacity, colors, font and size, with Reset to Defaults.
- The bar can sit at the top or bottom of the screen;
-b/--bottompicks the bottom for a single run. - System Settings panes show up as results:
dispopens Displays,netopens Network. - Apps in
~/Applicationsand in symlinked folders (nix-darwin, home-manager) are found too. - Enter runs what you typed as a shell command when nothing matches; Shift Enter does it even when something matches.
- Optional listing of command-line programs from your
$PATH, opened in Terminal, iTerm2, Ghostty, Alacritty, kitty, WezTerm or a custom command. --no-customfor scripts that should only accept items from the list.--exit/--no-exitto choose whether dmenu-mac quits after a selection.- Paste and the usual editing shortcuts in the search field.
Changed
- Requires macOS 13.5 or later (was 10.13).
- The launcher no longer steals focus: the app you were in stays in front and gets the keyboard back as soon as the bar closes.
- Started from a shell or a hotkey daemon such as skhd, dmenu-mac exits after a selection or Esc instead of staying around.
- Esc on a piped menu prints nothing and exits with status 1, like dmenu.
- Piped input is read until EOF and decoded as UTF-8, so long lists and non-ASCII items work.
- The bar stays above the Dock and below the menu bar.
- Results draw faster.
- The
dmenu-maccommand-line wrapper no longer needs python3. - The hotkey is handled by KeyboardShortcuts instead of the unmaintained DDHotKey.
- No longer sandboxed, which is what allows running shell commands and reading the real
~/Applications.
Fixed
- Crash when pressing Tab with no results, and an infinite recursion while editing the search field.
- Search text color is applied to the placeholder and while editing.
- The search field is cleared when the window hides.
- The Settings window always comes to the front.
- Version numbers in the app bundle.
What's Changed
- only python3 in MacOS, python2 also EOL by @Markus-Be in #36
- Fix broken version numbers by @core-code in #27
- Multiple UI improvements by @oNaiPs in #39
- chore: Update cicd settings by @oNaiPs in #47
- Fix CI trigger to run on main by @oNaiPs in #52
- chore: Update xcodeproj settings by @oNaiPs in #48
- Update third-party dependencies by @oNaiPs in #53
- test: add unit tests by @oNaiPs in #54
- Refactor: Add TDD, fix thread safety and memory leaks by @oNaiPs in #55
- Add appearance customization settings by @oNaiPs in #56
- Remove deprecated DDHotKey library by @oNaiPs in #57
- Follow symlinked app directories and scan ~/Applications by @oNaiPs in #58
- Exit after selection when started from a shell by @oNaiPs in #60
- Add unit tests and fix two bugs found while writing them by @oNaiPs in #59
- Keep search window above the Dock by @oNaiPs in #61
- Exit with status 1 when a piped selection is cancelled by @oNaiPs in #62
- Scan the real ~/Applications under the app sandbox by @oNaiPs in #63
- Run typed input as a command when nothing matches by @oNaiPs in #64
- Read piped stdin until EOF and decode it as UTF-8 once by @oNaiPs in #65
- Keep search window below the menu bar by @oNaiPs in #66
- List System Settings panes alongside apps by @oNaiPs in #68
- Add menu bar icon with Settings (⌘,) and Launch at Login by @oNaiPs in #67
- Make the search bar position configurable by @oNaiPs in #70
- Apply search text color to field editor and placeholder by @oNaiPs in #72
- Support clipboard paste and editing shortcuts in the search field by @oNaiPs in #71
- Disable app sandbox by @oNaiPs in #74
- Rebuild settings panes as grouped SwiftUI forms by @oNaiPs in #73
- Run command-line programs from $PATH in a terminal by @oNaiPs in #69
- Show the launcher as a non-activating panel and reuse it on hotkey by @oNaiPs in #75
- Cache results layout and draw only the dirty rect by @oNaiPs in #76
- Clear the search field when the window hides by @oNaiPs in #77
- Skip dead preference pane stubs and CoreServices agents by @oNaiPs in #78
- Always bring the Settings window to the front by @oNaiPs in #80
- Add a release process with signing and notarization by @oNaiPs in #79
- Rewrite README for users by @oNaiPs in #83
- Drop the python3 dependency from the command-line wrapper by @oNaiPs in #82
- Publish releases with a curated changelog by @oNaiPs in #84
New Contributors
- @Markus-Be made their first contribution in #36
- @core-code made their first contribution in #27
Full Changelog: 0.7.2...0.8.0