Repository navigation
Tessa 0.2.2
Tessa 0.2.2
Tessa 0.2.2 fixes the remaining ways the pointer can become invisible over the
desktop and panel. It also handles virtual machines whose DRM cursor plane does
not render.
Fixed
- Panel and wallpaper cursor: the compositor now restores the default
cursor when pointer focus moves to a new layer surface. Previously a client
could clear its cursor while leaving, and the panel (which does not set
wl_pointer.set_cursor) would inherit the empty image indefinitely.
Restoring on layer focus does not override a normal window's own cursor. - Cursor name fallback: Tessa checks for
default,left_ptr, andarrow
before setting the Xcursor image, and logs the selected name. Legacy
xcursor-themesthemes such as whiteglass only provideleft_ptr. - VM cursor planes:
tessa-sessionsetsWLR_NO_HARDWARE_CURSORS=1
automatically whensystemd-detect-virtreports a virtual machine. Hardware
cursors remain enabled on physical machines. Direct launches can use
WLR_NO_HARDWARE_CURSORS=1 tessa. - Earlier 0.2.1 fixes are included: child signal reset, XWayland readiness
forDISPLAY, startup-hook ordering, initial fractional scale, output
policies on hotplug, and tracked-input cleanup.
What was not the cause
- Setting the cursor before an output exists is safe: wlroots stores the
xcursor manager/name and applies the image when the output layout gains an
output. - Missing
defaultinxcursor-themesalone does not force a NULL cursor in
wlroots 0.19, which falls back toleft_ptr. The explicit name selection and
logging make this reliable and observable. Terminal=truecommands that exit immediately close their terminal by
design; Kitty's desktop entry isTerminal=false.
Verification
- Added
tests/cursor-theme.sh, which synthesizes a theme containing only
arrowand verifies the fallback log. - Existing spawn, XWayland, fractional-scale, Kitty, XIM, input, and smoke
tests pass. - The
.debwas installed in an Ubuntu 26.04 rootfs and runtime-tested with
Kitty and a missing XWayland satellite.
Install (Ubuntu 26.04 amd64)
curl -fLO https://github.com/Keychrom/Tessa/releases/download/v0.2.2/tessa_0.2.2_amd64.deb
curl -fLO https://github.com/Keychrom/Tessa/releases/download/v0.2.2/SHA256SUMS
grep ' tessa_0.2.2_amd64.deb$' SHA256SUMS | sha256sum -c -
sudo apt install ./tessa_0.2.2_amd64.debThen log out and select Tessa in the display manager.
The binaries are unsigned; verify SHA256SUMS before installing.
SHA-256:
c09f2c57bcba450415ad9cc1362ba41038a32b458058e68c7c29f6abd9336b08 tessa_0.2.2_amd64.deb