qpm: qutebrowser profile manager
qutebrowser is a web browser with
vim-like keybindings. It's great! qpm is a tool for managing qutebrowser
Profiles means starting qutebrowser with
--basedir, which makes
qutebrowser store all of its config and state in the given directory, the
profile. qpm's main purposes are to configure profiles to share config,
bookmarks, and more with you main qutebrowser session or other profiles' (WIP),
and to make it easy to run these profiles as independent, persistent,
qutebrowser sessions. Independent meaning multiple sessions can run at the same
time without bothering each and persistent meaning open tabs can be saved to
disk and reloaded at any time.
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 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 keep profiles anywhere, such as project dirs $ qpm -P ~/dev/qpm new profile-name $ cd ~/dev/qpm $ qpm -P . launch profile-name # arguments that qpm doesn't recognize will be passed to qutebrowser $ qpm launch python docs.python.org --target window --loglevel info # is functionally equivalent to: $ qutebrowser -B ~/$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