17个不稳定版本 (4个重大变更)
0.6.4 | 2021年4月30日 |
---|---|
0.6.3 | 2021年4月25日 |
0.5.0 | 2020年12月19日 |
0.4.5 | 2020年6月21日 |
0.2.1 | 2020年5月18日 |
#344 in 操作系统
39KB
942 行
handlr
使用handlr
轻松管理您的默认应用程序!
特性
- 通过扩展名或MIME类型设置默认处理器
- 基于扩展名和内容智能检测文件MIME类型
- 一次打开多个文件
- 为MIME/扩展名设置多个处理器,并使用
rofi/
dmenu
选择一个 - 支持通配符,如
text/*
- 自动从
mimeapps.list
中删除无效/错误的.desktop
条目 - 辅助命令如
launch
、get --json
满足您的脚本需求 - 非常快(用Rust编写)
- 单个编译的二进制文件,无依赖项
用法
# 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 wildcard handler for all text files
handlr set 'text/*' nvim.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
与xdg-utils
相比
- 可以一次性打开多个文件/URL
- 可以有多个处理器,并使用rofi/dmenu在运行时选择一个
- 使用简单的命令如
get
、set
、list
更容易使用 - 可以操作扩展名,无需查找或记住MIME类型
- 适用于设置png/docx等文件的处理器等常见任务
- 出色的自动完成(目前仅为fish),包括MIME、扩展名和
.desktop
文件 - 可选JSON输出以满足脚本需求
- 正确支持
Terminal=true
条目
设置默认终端
不幸的是,没有XDG规范,因此没有标准化的方式让handlr
获取您的默认终端模拟器以运行Terminal=true
桌面条目。几年前曾有人提出使用x-scheme-handler/terminal
来解决这个问题。在我看来,这是相对较好的选择,比处理N+1个发行版的怪癖或使用特定于handlr的配置选项要好。
现在如果存在 x-方案-处理器/终端
,handlr
将会使用它。
否则,handlr
将会
- 查找具有
TerminalEmulator
类别的应用 - 将其设置为
x-方案-处理器/终端
的默认值 - 发送通知让您知道它猜测了您的终端,并提供必要的更改说明
优点在于,Terminal=true
条目现在可以在交互式终端之外工作,与 xdg-utils
不同。
设置多个处理器
-
打开
~/.config/handlr/handlr.toml
并设置enable_selector = true
。可选地,您还可以调整selector
以使用您的选择器命令(例如,rofi 或 dmenu)。 -
使用
handlr add
添加第二个/第三个/任何处理器,例如
handlr add x-scheme-handler/https firefox-developer-edition.desktop
- 现在在这个例子中,当您打开一个 URL 时,您将被提示选择所需的应用程序。
截图
安装
Arch Linux
yay -S handlr-bin
可选地,您还可以安装 xdg-utils-handlr
来替换 xdg-open
yay -S xdg-utils-handlr
Rust/Cargo
cargo install handlr
二进制文件
- 下载最新的 发布二进制文件 并将其放在
$PATH
中的某个位置 - 下载补全
curl https://raw.githubusercontent.com/chmln/handlr/master/completions/handlr.fish --create-dirs -o ~/.config/fish/completions/handlr.fish
归因于
图标由 Eucalyp 在 www.flaticon.com 制作
封面照片由 creativebloq.com 提供
依赖关系
~7–11MB
~209K SLoC