-
Notifications
You must be signed in to change notification settings - Fork 11
Configuration
Some of the configuration is currently not editable via UI (and it contains experimental features). But it has pretty useful features like assigning a default browser for specific url patterns, so this documentation contains guidelines how to use it.
Skip this section if you are interested only in the Configuration file (config.json
)
Cache file is for read-only - e.g when you want to look up browser identifier - you can do this from installed_browsers.json
cache file.
Open Browsers and navigate to ⋮
->About
. Note down the Cache directory (sorry - can't copy it directly!).
In that directory open a file named cache.json
.
The path is usually:
- macOS:
~/Library/Caches/software.Browsers/installed_browsers.json
- Linux:
~/.cache/software.Browsers/installed_browsers.json
(or$XDG_CACHE_HOME/software.Browsers/installed_browsers.json
) - Windows:
%LocalAppData%\software.Browsers\cache\installed_browsers.json
In this cache file you will be most interested in executable_path
and profile_cli_arg_value
, because Browsers identifies a profile by unique identifier as executable_path#profile_cli_arg_value
.
Open Browsers and navigate to ⋮
->About
. Note down the Config directory (sorry - can't copy it directly!).
In that directory open a file named config.json
.
The path is usually:
- macOS:
~/Library/Application\ Support/software.Browsers/config.json
- Linux:
~/.config/software.Browsers/config.json
(or$XDG_CONFIG_HOME/software.Browsers/config.json
) - Windows:
%LocalAppData%\software.Browsers\config\config.json
The file looks something like this. Be aware that comments are not allowed in real file and are here only for explanation reasons.
{
// Experimental, hide an whole app by profile. Can be useful if set of profiles in that browser changes often
// and you want to always hide all of them.
"hidden_apps": [],
// Hide specific browser profile. Same as hiding via UI (either hiding a profile or all profiles of a browser)
"hidden_profiles": [
"/Applications/Firefox Developer Edition.app/Contents/MacOS/firefox#default",
"/Applications/Firefox.app/Contents/MacOS/firefox#default-beta-1"
],
// Explicit order of browser profiles. Same as ordering via UI
"profile_order": [
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome#Default",
"/Applications/Firefox.app/Contents/MacOS/firefox#default#Personal",
"/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari#",
"/Applications/DuckDuckGo.app/Contents/MacOS/DuckDuckGo#",
"/Applications/Firefox.app/Contents/MacOS/firefox#default",
"/Applications/Firefox.app/Contents/MacOS/firefox#default#Banking",
"/Applications/Firefox.app/Contents/MacOS/firefox#default#Shopping",
"/Applications/Firefox.app/Contents/MacOS/firefox#default#Work"
],
// Profile unique id. If this is not null, then all pages, except the ones covered by explicit rule,
// will be automatically opened by this browser (profile)
// Value is in format `executable_path#profile_cli_arg_value` or `executable_path#` if no profile support for the app
"default_profile": null,
// List of automatic opening rules
"rules": [
{
// Experimental (macOS only): open only when link was clicked in source_app. Works only in macOS. Format app bundle id
"source_app": null,
// URL pattern when to use this rule (see below for URL pattern syntax)
"url_pattern": "**/something",
// which profile to open in
// Value is in format `executable_path#profile_cli_arg_value` or `executable_path#` if no profile support for the app
"profile": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome#Profile 3",
// whether to open the app in incognito mode if it supports it
"incognito": false
}
],
// various UI settings (there are not many right now)
"ui": {
// whether to show the hotkeys (1-9) visually in UI. If disabled the hotkeys themselves will still work.
"show_hotkeys": true
}
}
Browser + browser profile combination is uniquely identified by executable_path#profile_cli_arg_value
.
If the browser (or other application) does not support profiles, it's just executable_path#
If the browser supports profiles and containers (only Firefox right now), it's executable_path#profile_cli_arg_value#profile_cli_container_name
You can find Unique Profile ID from the cache file (installed_browsers.json
) or in this same config file if you have changed order for the browser explicitly.
See https://github.com/Browsers-software/browsers/wiki/Rules