• v0.2.1 285bf3e59c

    v0.2.1 -- Modernized packaging, init subcommand, and AUR publishing
    All checks were successful
    Publish to AUR / aur (push) Successful in 39s
    Stable

    agw released this 2026-05-20 09:09:33 +02:00 | 0 commits to master since this release

    What is pi3-smart-workspace?

    A small CLI helper for i3. Bound to $mod+<n> keys, it
    switches (or moves a container to) the N-th workspace declared for the
    output your mouse cursor is currently on
    , instead of i3's default global
    workspace numbering. Makes multi-monitor i3 setups feel seamless.

    See the README
    for full usage, configuration, and examples.

    What's new in 0.2.1

    This release bundles a substantial modernization pass and adds first-class
    AUR publishing.

    Highlights

    • init subcommand: auto-generates per-monitor i3 config snippets in
      ~/.config/i3/pi3-smart-workspace/, ready to drop into your main config via include.
      No more hand-writing workspace bindings for every monitor.
    • Fixed: include-aware config parsing: previously the parser only saw the raw
      config file, so anyone using include directives ended up with "0 workspaces declared"
      errors. The parser now resolves includes recursively (with cycle protection),
      matching i3's own behavior.
    • No more X-on-import: the module can now be imported without a running display,
      making it testable in CI. pynput is lazy-loaded inside run().
    • Modern packaging: PEP 621 pyproject.toml with hatchling backend.
      Dropped setup.py, build.py, and requirements.txt.
    • Tests + CI: 28 unit tests covering the parser, cursor-at-output logic, include expansion,
      and the init renderer's round-trip contract. CI runs on every push.
    • AUR publishing pipeline: Gitea Actions workflow that pushes a fresh
      PKGBUILD + .SRCINFO to AUR on every v* tag.
      So this version is the first one available as pi3-smart-workspace on the AUR.

    See README.md for installation and usage

    Downloads