• v0.4.3 4f055935d4

    v0.4.3
    Release / package (x86_64, /var/local/cargo-target/iris-cargo-home, bare, /usr/bin/sccache, /var/local/rustup, /var/local/cargo-target) (push) Successful in 43s
    Release / package (aarch64, , aarch64, , , ) (push) Successful in 2m20s
    Stable

    gitea-actions released this 2026-10-07 13:46:16 +00:00 | 1 commits to master since this release

    • Backlight: a config with a !backlight widget on a machine without /sys/class/backlight entries (or with a device name that does not exist) panicked at start ("did not find backlight device"), fatal with panic = "abort". The widget now warns once on stderr, renders empty and ignores clicks, so one config can be shared between a laptop and a desktop.
    Downloads
  • v0.4.2 63179b9c47

    v0.4.2
    Release / package (x86_64, /var/local/cargo-target/iris-cargo-home, bare, /usr/bin/sccache, /var/local/rustup, /var/local/cargo-target) (push) Failing after 0s
    Release / package (aarch64, , aarch64, , , ) (push) Failing after 1s
    Stable

    gitea-actions released this 2026-10-03 09:50:02 +00:00 | 2 commits to master since this release

    • Fonts: a font_paths entry pointing at a file that does not exist on this machine made the font-loader thread panic and abort wldash ("Font file not found"). Pinned paths that are missing now fall back to fontconfig by name, with one line on stderr; a font that cannot be resolved at all exits with a clear message instead of a backtrace.
    • --write-default-config no longer writes absolute font paths. Configs shared between machines with different font package layouts (fonts/noto vs fonts/google-noto) were breaking on the second host; names are resolved per machine instead. Existing configs keep working, and font_paths can still pin a file on purpose.
    Downloads
  • v0.4.1 d1df30d6d0

    v0.4.1
    Release / package (x86_64, /var/local/cargo-target/iris-cargo-home, bare, /usr/bin/sccache, /var/local/rustup, /var/local/cargo-target) (push) Successful in 42s
    Release / package (aarch64, , aarch64, , , ) (push) Successful in 2m14s
    Stable

    gitea-actions released this 2026-10-03 09:42:50 +00:00 | 3 commits to master since this release

    • No more desktop-file cache: wldash scanned ~/.cache/wldash/desktop.json (on NFS for shared homes, and stale after every package install) and needed a manual --desktop-refresh. Desktop files are now scanned on a background thread at every start, a few milliseconds over local /usr/share. --desktop-refresh is a no-op kept for key bindings; simd-json is gone.
    • Calculator history and the Escape-saved prompt moved from $XDG_CACHE_HOME/wldash to $XDG_STATE_HOME/wldash (~/.local/state), where small roaming state belongs; old files are still read.
    • Launcher: Type=Link entries open their URL with xdg-open; Terminal=true entries run inside $TERMINAL -e when that variable is set.
    Downloads
  • v0.4.0 03a3c681b0

    v0.4.0
    Release / package (x86_64, /var/local/cargo-target/iris-cargo-home, bare, /usr/bin/sccache, /var/local/rustup, /var/local/cargo-target) (push) Successful in 1m12s
    Release / package (aarch64, , aarch64, , , ) (push) Successful in 2m31s
    Stable

    gitea-actions released this 2026-10-03 09:28:23 +00:00 | 5 commits to master since this release

    First release of the project.uhhm.no fork, packaged for the [uhhm] Arch registry. Numbering: upstream's old code base was tagged up to v0.3.0 and the rewrite called itself 0.2.0; this fork continues above both so pacman sees a monotonic version.

    • Launcher: the prompt cursor was a byte offset in some places and a grapheme index in others, so typing æøå and then End or another key crashed wldash. The cursor is grapheme-based everywhere, Up stops at the last row, mouse selection can't underflow, and all desktop Exec field codes (%i, %c, %k, %%, ...) are stripped.
    • No more aborting on machines without a backlight, battery or PulseAudio: /sys/class/backlight itself was taken for a device, UPower's always-present DisplayDevice for a battery, and a failed audio connection panicked a thread (fatal with panic = "abort").
    • Redraws: Geometry::expand computed the damage height from the wrong field; buffer refcounts no longer underflow; wl_shm_pools are destroyed on resize.
    • Input: a key-repeat rate of 0 divided by zero; Escape is now seen by the launcher first so the prompt is saved for Ctrl+R; the first layer-surface configure always lays out.
    • Config: /etc/wldash/config.yml takes precedence over ~/.config/wldash/config.yml when present (machine-local layout on NFS-shared homes); --config overrides both. Errors print one line and exit 1 instead of panicking.
    • Housekeeping: memmap → memmap2, unused shlex dropped, zero rustc/clippy warnings, rustfmt applied, unit tests for the prompt, Exec parsing and geometry.
    Downloads