qutebrowser profile manager
Project description
qutebrowser profile manager
qbpm (qutebrowser profile manager) is a tool for creating, managing, and running
qutebrowser profiles. Profile support
isn't built in to qutebrowser, at least not directly, but it does have a --basedir flag
which allows qutebrowser to use any directory as the location of its config and
data and effectively act as a profile. qbpm creates profiles that source your
main qutebrowser config.py, but have their own separate autoconfig.yml, bookmarks, cookies,
history, and other data. Profiles can be run by starting qutebrowser with the
appropriate --basedir, or more conveniently using the qbpm launch and qbpm choose commands.
qutebrowser shares session depending on the basedir, so launching the same
profile twice will result in two windows sharing a session, which means running
:quit in one will exit both and launching the profile again will reopen both
windows. But launching two distinct profiles will start two entirely separate
instances of qutebrowser which can be opened and closed independently.
Usage
To create a new profile called "python" and launch it with the python docs open:
$ qbpm new python
$ qbpm launch python docs.python.org
Note that all arguments after qbpm launch PROFILE are passed to qutebrowser,
so options can be passed too: qbpm launch python --target window pypi.org.
If you have multiple profiles you can use qbpm choose to bring up a list of
profiles and select one to launch. Depending on what your system has available
the menu may be dmenu, fuzzel, fzf, an applescript dialog, or one of many
other menu programs qbpm can detect. Any dmenu-compatible menu can be used with
--menu, e.g. qbpm choose --menu 'fuzzel --dmenu'. As with qbpm launch,
extra arguments are passed to qutebrowser.
Run qbpm --help to see other available commands.
By default when you create a new profile a .desktop file is created that
launches the profile. This launcher does not depend on qbpm at all, so if you
want you can run qbpm new once and keep using the profile without needing
qbpm installed on your system.
Installation
If you use Nix, you can install or run qbpm as a Nix flake.
For example, to run qbpm without installing it you can use nix run github:pvsr/qbpm -- new my-profile.
On Arch and derivatives, you can install the AUR package: qbpm-git.
Otherwise you can install directly from PyPI using uv,
pip, or your preferred client. With uv it's uv tool run qbpm to run qbpm
without installing and uv tool install qbpm to install to ~/.local/bin.
The downside of going through PyPI is that the man page
and shell completions will not be installed automatically.
On Linux you can copy contrib/qbpm.desktop
to ~/.local/share/applications to create a qbpm desktop application that runs
qbpm choose.
MacOS
Nix and uv will install qbpm as a command-line application, but if you want a
native Mac application you can download contrib/qbpm.platypus,
install platypus, and create a qbpm app with
platypus -P qbpm.platypus /Applications/qbpm.app. That will also make qbpm
available as a default browser in System Preferences > General > Default web browser.
Note that there is currently a qutebrowser bug
that results in unnecessary file:///* tabs being opened.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qbpm-2.4.tar.gz.
File metadata
- Download URL: qbpm-2.4.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3b1f49a6358d2cf24729003aed73911f5debf77a00a5c93a0f80eeeb36535a1
|
|
| MD5 |
58649fc92532728475dd49bb8c3b7f27
|
|
| BLAKE2b-256 |
29a63e3b339bbe5a0b9208c289a941df971567510c8b9b3037147adb9b25fbfc
|
Provenance
The following attestation bundles were made for qbpm-2.4.tar.gz:
Publisher:
publish.yml on pvsr/qbpm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qbpm-2.4.tar.gz -
Subject digest:
f3b1f49a6358d2cf24729003aed73911f5debf77a00a5c93a0f80eeeb36535a1 - Sigstore transparency entry: 849465165
- Sigstore integration time:
-
Permalink:
pvsr/qbpm@683cda6e6c541aeeffadd0a8dd66446303e95a0e -
Branch / Tag:
refs/tags/2.4 - Owner: https://github.com/pvsr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@683cda6e6c541aeeffadd0a8dd66446303e95a0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file qbpm-2.4-py3-none-any.whl.
File metadata
- Download URL: qbpm-2.4-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d64db760a8bd89332236f0c6c9ec0a6c62776eea22199cb1513ae45a59e2271
|
|
| MD5 |
a4bf1a8fb19211488574e3560554baef
|
|
| BLAKE2b-256 |
ebb2e8ceb5e9a42787c7afc52c4b3cc4ad1ca6039bd90f1a650729724acf3f54
|
Provenance
The following attestation bundles were made for qbpm-2.4-py3-none-any.whl:
Publisher:
publish.yml on pvsr/qbpm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qbpm-2.4-py3-none-any.whl -
Subject digest:
1d64db760a8bd89332236f0c6c9ec0a6c62776eea22199cb1513ae45a59e2271 - Sigstore transparency entry: 849465168
- Sigstore integration time:
-
Permalink:
pvsr/qbpm@683cda6e6c541aeeffadd0a8dd66446303e95a0e -
Branch / Tag:
refs/tags/2.4 - Owner: https://github.com/pvsr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@683cda6e6c541aeeffadd0a8dd66446303e95a0e -
Trigger Event:
push
-
Statement type: