#browser #url #routes #regex #prompt #config #launcher

app websteer

将URL路由到特定浏览器

1个不稳定版本

0.1.0 2020年4月30日

#70#launcher

自定义许可证

22KB
431

Websteer:使用xdg的默认浏览器使用多个浏览器

核心二进制文件管理从toml配置文件中读取浏览器启动器和正则表达式,以进行匹配。如果存在歧义名称,将显示提示。

用法

websteer open [-c config] [-d kdialog|zenity] [url] websteer gen-config [path] websteer gen-desktop [path]

选项

-c config 配置文件路径

-d kdialog|zenity 选择对话框样式。覆盖配置文件

url 要打开的URL。如果为空,则仍启动浏览器

gen-desktop 生成桌面文件条目。当提供path时,写入文件。否则,$XDG_CONFIG_HOME/websteer/config

gen-config 生成默认配置。当提供path时,写入文件。否则,$HOME/.local/share/applications

安装

Cargo

cargo install websteer
websteer gen-config
websteer gen-desktop
update-desktop-database $HOME/.local/share/applications
xdg-settings set default-web-browser websteer.desktop

Debian

dpkg -i websteer.deb
xdg-settings set default-web-browser websteer.desktop

依赖项

  • zenity|kdialog:为模糊URL显示GUI对话框
  • dex:启动桌面文件

配置文件

.config/websteer/config

dialog: kdialog
default: personal
prompt:
    - personal
    - work

browser:
    personal:
        name: "Personal Browser"
        desktop: personal-browser.desktop
    work:
        name: "Work Browser"
        exec: "/usr/bin/personal-browser --various --args=foo"
    test:
        name: "Test Browser"
        exec: "/usr/bin/other-browser"

rule:
    - regex: localhost
      browser: test
    - regex: workcorp
      browser: work
    - regex: "drive\.google\.com"
      browser: work
      ambiguous: true
    - regex: "facebook\.com"
      browser: personal
  • dialog:对话框格式。允许kdialogzenity。否则尝试基于gnome/kde默认设置
  • default:默认浏览器名称,用于回退
  • prompt:要包含在对话框中的浏览器列表。默认为所有可用浏览器
  • browser:浏览器表
    • 'name'
    • 'desktop': xdg桌面条目文件。使用dex启动
    • 'exec': 替代桌面文件执行的命令。
  • rule:规则表数组。按顺序检查
    • regex:要检查的正则表达式
    • browser:用于处理此URL的浏览器名称
    • ambiguous:如果定义,则显示提示并突出显示浏览器

依赖项

~6–8.5MB
~146K SLoC