qbpm v1.0
1.0!
Over the last three and a half years I've been going back and forth on whether I should implement a config system and/or icon support before officially releasing qbpm 1.0. In the meantime though there have been a lot of smaller improvements to qbpm, particularly in error handling, documentation, and testing, so I decided to finally put an end to the scope creep and cut a 1.0 release without any headline features. Instead this should considered a long-overdue polish and stabilization release, with the new stuff coming in future releases, hopefully in the not-too-distant future!
Highlights
qbpm is on PyPI now, so running qbpm can be as simple as uvx qbpm
!
Features
qbpm edit PROFILE_NAME
: open the profile'sconfig.py
in your default editor ($VISUAL
/$EDITOR
)new
/from-session
: add-C
/--qutebrowser-config-dir
to source config files from arbitrary locationschoose
: built in support for many more menus- notably it's now possible to use
fzf
- check
$DISPLAY
and$WAYLAND_DISPLAY
to decide which menu to use by default
- notably it's now possible to use
choose
: include aqutebrowser
entry to launch qutebrowser without any profiles
Improvements
new
/from-session
: check for qutebrowser config in more locations (improves macOS support)- generated
.desktop
files more closely match qutebrowser's - improve shell completions for fish
- add generated shell completions for bash and zsh
Internal
- the codebase is almost entirely statically typed
- more tests, especially for
choose
- adopt pyproject.toml
- automatically publish releases to PyPI using gh-action-pypi-publish
- switch to click for command line parsing
- replace pyxdg with xdg-base-dirs and custom
.desktop
file generation
Other
- wrote a man page
- qbpm might work on windows now, but I can't test for myself. Bug reports are welcome if you try it out and run into problems
qbpm choose
probably won't be able to find a menu though
- better handling of edge cases, errors, and bad inputs in general
See the changelog for more.
Roadmap
v2.0
Support for a config file (~/.config/qbpm/config.toml
) to configure the template used to generate config.py
, default menu for choose
, and other settings.
v3.0
Support downloading website favicons to use as application icons and in qbpm choose
(for menus that support rofi's extended dmenu spec).