#applications #default #programs #system #utilities #choosing #shell

已删除 defaultmgr

选择默认应用程序、程序和实用程序的系统

1 个不稳定版本

0.5.0 2023年9月14日

#386 in #programs

MPL-2.0 许可证

18KB
156 代码行

默认

选择默认应用程序、程序和实用程序的系统


TODO:生成可执行文件以实现快速执行

用例

类似于 update-alternatives,但仅限于本地用户且更灵活。需要存储在 "${XDG_CONFIG_HOME:-$HOME/.config}/chooses/defaults" 的应用程序及其默认值的数据库

  1. 使用文件启动

控制打开文件时选择的应用程序。这不受桌面环境的影响。由于 xdg-open 无法与目录一起工作,因此它不起作用。此外,可以配置不同的应用程序在不同的上下文中(X、终端模拟器、Linux 控制台)工作。

由于这些只是 shell 脚本,因此应支持任意参数,例如,如果使用文本编辑器,则支持 --column--row

  1. 不使用文件启动

可以启动当前的“浏览器”或“图片查看器”。同样,这旨在跨发行版和用户界面工作。

有关更多信息,请参阅 details.md

路线图

  • 'get' 子命令
  • 使用选择器时使用 fuzzer / 过滤器(dmenu 与 rofi -dmenu 等)
  • 在 --verbose 标志(或其他)上输出预执行时的输出
  • GUI 选择器(如果有多个选项,则通过 GUI 选择),可选
  • doctor 命令可确保 git 配置属性、ranger 属性等都是有效的,并且正确指向选择器
  • 在启动对话框之前,有一个 UI,其中可以下载应用程序(使用 woof?)

应用程序 / 类别归属

  • cli vs tui vs gui
  • 使用条件(仅 X11、wayland 等具有回退(顺序))
  • 启动与 shell(交互式、非交互式)、DE(.desktop 等)、tty 与 ptty 等
  • 编辑器与查看器
  • 旨在通用应用程序与选择特定事物的应用程序(无需最后公共 CLI 标志等兼容性)
    • 基于能力吗?
  • 打印到 stdout、运行阻塞应用程序、运行非阻塞应用程序、在新进程中执行和运行守护进程
  • 执行辅助工具(如果需要终端,必须在终端调用中包装它)

安装

cargo install exa

依赖项

~1.6–2.8MB
~52K SLoC