This Python script simplifies launching browser profiles by automatically retrieving profile information from each browser's config directory. It presents these profiles as launch options, saving time and enhancing workflow, especially for users who frequently switch between multiple profiles.
$ pipx install pybrowsers-profiles
# Clone repository
$ git clone "https://github.com/haaag/pybrowsers"
$ cd pybrowsers
# Create virtual environment & source
$ python -m venv .venv && source .venv/bin/activate
# Install deps
$ (.venv ) pip install -r requirements.txt
# Install script in local environment
$ (.venv ) pip install .
$ pybrowsers --help
usage: pybrowsers [-l] [-d DISABLE] [-e ENABLE] [-f] [-t]
[-m MENU] [-v] [-V] [browser] [-o URL]
Simple script for manage browser's profiles
options:
browser Browser name
-e, --enable Enable browser
-d, --disable Disable browser
-u, --url Open <URL> in browser
-l, --list Show browsers list and status
-t, --table Show browsers list with detail
-m, --menu Select menu (default: dmenu)
-f, --found Browsers found
-V, --version Show version
-h, --help Show help
-v, --verbose Verbose mode
locations:
$HOME/.local/share/pybrowsers
# Open menu with browsers found
$ pybrowsers
# Open menu with profiles list
$ pybrowsers firefox
# Disable browser (won't appear in `browsers found`)
$ pybrowsers -d firefox
# Enable browser
$ pybrowsers -e firefox
Supported on: 🦊
This flag will show all running browsers and profiles, as long as it has been
opened with pybrowsers
.
You can add a browser creating a JSON
file in $XDG_DATA_HOME/pybrowsers/
or
~/.local/share/pybrowsers
{
"name": "LibreWolf",
"command": "librewolf",
"path": "~/.librewolf/profiles.ini",
"engine": "gecko",
"enabled": true
}
- Create
interactive menu
for adding browser data - Update screenshots
- Add
flag
for open URLs - Please, use
pathlib.Path
- BUG: Issue when the profile name contains spaces
- Add support for
JSON
files (prioritize)