Websteer: Using multiple browsers with xdg's default browser

The core binary manages taking a toml config file to specify browser launchers and regexes to match against. It possible to have ambiguous names that will show a prompt.

Usage

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

Options

-c config Path to config file

-d kdialog|zenity Select dialog style. Overrides config file

url url to open. If empty, still launches the browser

gen-desktop generate desktop file entry. When path is given, write to file. Otherwise, $XDGCONFIGHOME/websteer/config

gen-config generates a default config. When path is given, write to file. Otherwise, $HOME/.local/share/applications

Installation

Cargo

bash 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

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

Dependencies

Config File

.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 ```