Skip to content

qbpm v1.0

Compare
Choose a tag to compare
@pvsr pvsr released this 26 Jul 01:00
· 26 commits to main since this release

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's config.py in your default editor ($VISUAL/$EDITOR)
  • new/from-session: add -C/--qutebrowser-config-dir to source config files from arbitrary locations
  • choose: 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
  • choose: include a qutebrowser 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).