This repository is a fork of dmenu-mac (https://github.com/oNaiPs/dmenu-mac), enhancing its functionality and addressing certain issues.
-
Fixed a longstanding issue oNaiPs/dmenu-mac#41
-
Switched to Accessibility API for handling hotkeys because it seems to work well
-
Implemented what I believe to be a superior fuzzy matching algorithm, leveraging https://crates.io/crates/fuzzy-matcher
-
Introduced a configuration file located at ~/.config/unmenu/config, enabling users to customize search directories, filter out applications and integrate scripts and aliases
make
Or make install
to copy the app into /Applications
- Build fuzzylib This step requires Rust installed
cargo build --release --manifest-path=fuzzylib/Cargo.toml
cp fuzzylib/target/release/libfuzzylib.a mac-app/
- Build macOS application: Requires Xcode
CLI:
xcodebuild -project mac-app/unmenu.xcodeproj -scheme unmenu -derivedDataPath build -configuration Release build
cp -r mac-app/Build/Products/Release/unmenu.app /Applications/
OR
GUI:
- open mac-app/unmenu.xcodeproj
- Click the menu item Product -> Archive
- Right click on the archive called
unmenu
andShow in Finder
- Right click on it in Finder and
Show Package
, Products -> Applications - Copy unmenu.app to /Applications
- Launch the app
open -a unmenu
- Follow instructions to enable permissions
- Hit Ctrl-Cmd-b by deafult
- Customize settings by editing ~/.config/unmenu/config.toml according to your preferences
Users can incorporate various scripts and aliases into unmenu for extended functionality.
- Set up a directory to store your scripts
- Add your scripts with appropriate shebangs, and ensure they are executable (chmod +x).
- Include the script directory in the
dirs
variable within the configuration. - Ensure that
find_executables
is set to true in the config file
After these steps, you can execute scripts directly from unmenu by invoking their names via unmenu. This allows for the addition of aliases or any desired custom functionality.
@onaips - Original Author @unmanbearpig - Author of this fork