qpm: qutebrowser profile manager
qutebrowser is a web browser with
vim-like keybindings. It's great! qpm is a small tool for creating qutebrowser
profiles, directories you can tell qutebrowser to store its config and data in
--basedir flag. You can use qpm to create profiles that share
config with your standard qutebrowser installation and run them using the
launch subcommand, which wraps qutebrowser and points
--basedir at your
profile directory. qutebrowser sessions started with different base directories
are entirely separate, have their own histories and sessions, and can be opened
and closed independently. They're very useful!
workprofile to isolate your work logins from your personal ones. Especially important if you have a work account on Google or Github!
qpmprofile which has library documentation, qutebrowser config, CI results, issues and PRs, and everything I need to work on qpm.
# create and launch a new profile called "finance" in $XDG_DATA_HOME/qutebrowser-profiles: $ qpm new finance --launch # or $ qpm launch --new finance # convert the contents of a window into a new profile: # in qutebrowser, run: "session-save -o profile-name" $ qpm from-session profile-name # you can store profiles anywhere: $ qpm --profile-dir ~/dev/my-project new project-info $ cd ~/dev/my-project $ qpm --profile-dir . launch project-info # or $ qutebrowser --basedir profile-name # launch passes arguments it doesn't recognize to qutebrowser: $ qpm launch python docs.python.org --target window --loglevel info # is functionally equivalent to: $ qutebrowser --basedir $XDG_DATA_HOME/qutebrowser-profiles/python docs.python.org --target window --loglevel info
This is alpha-quality software. Even though it doesn't do anything particularly dangerous to the filesystem, there is always the risk that it will mangle your data.
qpm.confto configure the features above
config.configdirto dynamically source other config files (I may be the only person who does this), those config files will not be present in
qpm-created profiles There are plenty of workarounds, such as hardcoding your main config dir instead of using