For users who appreciate the finer things in life, Highbrow is a lightweight, rule-based browser selector for Linux.
- Rules-based URL routing: Automatically open URLs in specific browsers based on regex patterns
- Browser selector: When no rule matches, use the simple UI to select the browser
- Clone the repository:
git clone https://github.com/tradiff/highbrow.git
cd highbrow
- Build in release mode:
cargo build --release
- Run once to set Highbrow as your default browser:
target/release/highbrow
Use the UI prompt to set Highbrow as your default browser.
Create a configuration file at ~/.config/highbrow.toml
with the following structure:
# Optional: Set a default browser for URLs that don't match any patterns
default_browser = "_Firefox"
[[browsers]]
label = "_Firefox" # Underscore prefix creates the keyboard shortcut Alt+f
command = "firefox" # Command to launch the browser
icon_name = "firefox" # System icon name
patterns = [
'https://facebook\.com/.*',
'https://spotify\.com/.*',
]
[[browsers]]
label = "_Chromium"
command = "chromium-browser"
icon_name = "chromium"
patterns = [
'https://mycompany\.com/.*',
]
- label: Browser name shown in the selector UI. Prefix a letter with underscore (_) to create an Alt+Key keyboard shortcut.
- command: The executable command to launch the browser. You can include arguments (e.g.
firefox --private-window
orfirefox -P personal
) - icon_name: The system icon name from your icon theme.
- patterns: List of regular expressions to match URLs. When a URL matches a pattern, it automatically opens in the corresponding browser. Any URLs that do not match a rule will display the selection UI.
patterns = [
# Match exact domain
'https://example\.com(/.*)?',
# Match http or https, and any subdomains
'https?://(.*\.)?example\.com(/.*)?',
]