1 个不稳定版本
0.1.0 | 2023 年 12 月 30 日 |
---|
#1406 在 命令行实用工具
37KB
842 行
Qurop
将任何* Linux 应用程序转换为 Quake 风格的下拉菜单。
* 仅与 Wezterm 进行了测试
目前只支持 X11,但我很乐意也支持 Wayland
入门
安装
建议使用 Cargo:cargo install qurop
二进制文件和发行版软件包即将推出。
配置
假设 ~/.cargo/bin
已添加到您的路径中,使用 Qurop 注册您的应用程序
# Add an instance named "wezterm", which, when invoked, will launch Wezterm
# using the "dropdown" session.
qurop add wezterm wezterm connect dropdown
这将更新位于 $XDG_CONFIG_HOME/qurop/config.toml
的配置。
接下来,在您的桌面环境中,将切换命令绑定到快捷键
# Toggle the visibility of the "wezterm" instance.
/home/$USER/.cargo/bin/qurop toggle wezterm
(在 KDE 中,这是系统设置 > 快捷键 > 自定义快捷键 > 编辑 > 新建 > 全局快捷键 > 命令/URL)
然后,按快捷键!应该就是这样了。
窗口大小
窗口默认宽度为 66%,高度为 50%。这可以通过编辑配置文件来更改,为您的应用程序实例添加 geometry
键到表格中
geometry = { width = "<val>", height = "<val>" }
值必须是字符串,可以是绝对数字(例如,"55"
为 55 像素),或百分比(例如,"33%"
)。
匹配器
默认情况下,Qurop 通过应用程序实例的 PID 跟踪受管理应用程序实例的状态。在 PID 不是定位实例窗口的正确方式的情况下,您可以使用备用匹配器来查找窗口。目前唯一支持的备用匹配器使用窗口类。
# Add an instance named "my_instance", which, when invoked, will launch
# "appname". Qurop will detect this by querying X for the first window
# with an "appclass" class.
qurop add --matcher class --class-name appclass my_instance appname
故障排除
窗口未正确调整大小或放置
Qurop 在启动后调整窗口大小。根据启动所需的时间,窗口可能无法及时准备好。您可以通过为您的应用程序实例添加 window_delay_ms
键到表格中来更改默认延迟(100ms)
window_delay_ms = 500
日志
要启用日志记录,请在设置 QUROP_LOG
环境变量的程序中运行
QUROP_LOG=debug qurop toggle wezterm
这将输出到附加的 TTY。如果您在终端会话外运行,可以选择将日志写入磁盘
QUROP_LOG=debug qurop --persist-verbosity=debug toggle wezterm
这将输出到 /home/$USER/.local/state/qurop/
的按小时轮换日志。
计划中
我非常希望支持以下功能。如果您想贡献一个功能,请在实际编写代码之前与我讨论实现方案!
- Wayland 支持。由于需要检测活动窗口,这可能是一个挑战,因为似乎没有任何协议支持这一点。
- 系统托盘图标。
- 显示/隐藏动画。
- 更好的错误处理。
- 额外的匹配器。
依赖项
~16–28MB
~403K SLoC