20 个版本
0.1.19 | 2024年3月24日 |
---|---|
0.1.18 | 2024年3月24日 |
0.1.17 | 2024年2月27日 |
0.1.16 | 2023年11月9日 |
0.1.9 | 2023年4月30日 |
187 在 GUI 中排名
每月 136 次下载
61KB
942 行
Linux 程序启动器
这是一个用 Rust 编写的程序启动器。目前它使用多个不同的 UI 工具包,例如
- egui
- iced
- gtk
特性
- 搜索大多数常见 Linux 应用程序路径中的所有桌面文件
- 可以使用配置文件扩展(参见
Configuration->app_cfg->paths
)
- 可以使用配置文件扩展(参见
- 可用于选择管道中输入的应用程序
为什么使用多个 UI 工具包?
我开始使用 egui,这是一个非常好的工具包,但它有一些限制。所以我尝试了一些其他的工具包。这个 UI 我认为相对简单,但也有一些怪癖(比如键盘滚动),我可以用来比较易用性和功能集。
为什么还需要另一个程序启动器?
我有几个想要新程序启动器的理由
1. Wayland 和 X11 兼容性
大多数好的程序启动器,如 Rofi、Fuzzel 等,只支持 X11 或 Wayland。由于我有时需要在 X11 和 Wayland 之间切换,所以我需要一个在两个系统上都能运行的启动器
2. Wayland 克隆程序并不总是工作
有一些很酷的项目,如 Wofi,旨在将 X11 程序移植到 Wayland。然而,我发现至少 Wofi 在我的窗口设置中存在一些问题。
3. 我想要一个可以合理完成的工程
我倾向于承担一些巨大的项目,这些项目永远不会结束。我认为这是一个相对简单的项目。
参数
select-from-stdin
允许将换行符分隔的列表管道输入到阿福梅中,这将替换正常的程序列表。对于自定义脚本很有用,例如关机/重启等脚本。回显所选选项。
配置
配置现在位于 $HOME/.config/aphorme/config.toml
gui_cfg
GUI 的选项。
icon: boolean
启用或禁用图标加载。默认为 True。
GuiFramework
选择使用哪个 GuiFramework。目前是 EGUI 和 ICED。请注意,目前默认情况下 ICED 没有编译到启动器中。要实现此功能,请使用以下功能编译:iced-ui
retain_focus: 布尔型
强制窗口保持焦点,即使其他窗口试图获取焦点。
已知问题:与 egui + wayland 不兼容。
font_size
字体大小。也会影响图标大小。
window_size
启动器的 X 和 Y 维度。不影响字体大小。
app_cfg
应用跨选项。
paths
要搜索的附加路径列表。主目录只能通过使用 $HOME
来表示。默认为空列表。
use_default_paths
搜索默认路径。如果定义了路径,则将其附加到默认路径。默认为 true
默认路径是
"/usr/share/applications",
"/usr/local/share/applications",
"$HOME/.local/share/applications",
"/var/lib/flatpak/exports/share/applications"
preferred_apps
包含首选应用(即上次使用的应用)的配置
max_weight
允许的最大权重。默认为 10。
示例配置
[gui_cfg]
icon = true
ui_framework = 'EGUI'
font_size = 12
window_size = [
300,
300,
]
[app_cfg]
paths = ["$HOME/Desktop"]
已知问题
在 egui 中滚动有点奇怪(并且滚动条是可见的)
egui 的 ScrollArea 不允许使用箭头键进行移动。这意味着我不得不自己实现它。我选择的方法(仅记住索引)会覆盖使用鼠标滚轮/触摸板手势等的滚动。这意味着我不得不自己实现带有滚动轮的滚动,这与默认滚动相冲突。这导致了一些微小的视觉问题,但到目前为止没有实际的错误
变更
有关先前版本,请参阅 CHANGELOG.md
0.1.15
破坏性变更
- 直接输入管道现在需要 --select-from-stdin 参数
修复
- 处理 stdin 之前的延迟太短。现在需要 --select-from-stdin 参数才能正常工作。
- 更新库
已知问题
- EGUIs RetainedImage 已弃用。将在 Aphorme 的未来版本中删除
0.1.16
特性
- 添加了在启动器上保留焦点的选项。如果有多个缓慢启动的程序,这很有用
已知问题
- 焦点保留仅与 egui + X11 一起工作。egui 不支持在 wayland 上获取焦点
0.1.17
特性
- 开始支持 Nix
修复
- 更新到 egui 0.26
0.1.18
特性
- Nix 支持
修复
- 删除了程序启动时的错误信息
0.1.19
特性
- 在 'gui_cfg' 中可以设置窗口大小
- 在 'gui_cfg' 中可以设置字体大小
依赖关系
~10–32MB
~536K SLoC