16
GitHub - chmln/handlr: A better xdg-utils
source link: https://github.com/chmln/handlr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
handlr
Manage your default applications with ease using handlr
!
Features
- Set default handler by extension or mime-type
- Intelligent mime type detection from files based on extension and content
- Open multiple files at once
- Set multiple handlers for mime/extension and use rofi/dmenu to pick one
- List default associations
- Automatically removes invalid/wrong
.desktop
entries frommimeapps.list
- Helper commands like
launch
,get --json
for your scripting needs - Unnecessarily fast (written in Rust)
- Single compiled binary with no dependencies
Usage
# Open a file/URL handlr open ~/.dotfiles/pacman/packages.txt handlr open https://google.ca # Set default handler for png files handlr set .png feh.desktop # Set default handler based on mime handlr set application/pdf evince.desktop # List default apps handlr list # Get the handler for a mime/extension $ handlr get .png feh.desktop # Launch a handler with given path/URL handlr launch x-scheme-handler/https -- https://google.ca
Compared to xdg-utils
- Can open multiple files/URLs at once
- Can have multiple handlers and use rofi/dmenu to pick one at runtime
- Far easier to use with simple commands like
get
,set
,list
- Can operate on extensions, no need to look up or remember mime types
- useful for common tasks like setting a handler for png/docx/etc files
- Superb autocomplete (currently just fish), including mimes, extensions, and
.desktop
files - Optional json output for commands like
get
Setting multiple handlers
-
Open
~/.config/handlr/handlr.toml
and setenable_selector = true
. Optionally, you can also tweak theselector
to your selector command (using e.g. rofi or dmenu). -
Add a second/third/whatever handler using
handlr add
, for example
handlr add x-scheme-handler/https firefox-developer-edition.desktop
- Now in this example when you open a URL, you will be prompted to select the desired application.
Screenshots
Installation
Arch Linux
yay -S handlr-bin
Optionally you can also install xdg-utils-handlr
to replace xdg-open
:
yay -S xdg-utils-handlr
Rust/Cargo
cargo install handlr
Binaries
- Download the latest release binary and put it somewhere in
$PATH
- Download completions:
curl https://raw.githubusercontent.com/chmln/handlr/master/completions/handlr.fish --create-dirs -o ~/.config/fish/completions/handlr.fish
Attribution
Icons made by Eucalyp from www.flaticon.com
Cover photo by creativebloq.com
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK