News

Release News

Compose the Field

Halley v0.7.0 introduces the Cluster Composer, independent compositor UI styling, system-aware colours, safer explicit config migration, and a broad presentation and XWayland reliability pass.

Cluster creation is now a deliberate spatial workflow. Halley gathers eligible windows and collapsed nodes into a stable monitor-local mosaic, lets you focus and select without losing context, then animates the chosen members into the exact core that will represent them.

The release also gives compositor overlays and node chrome their own palette, polishes Lift, and tightens the difficult edges around fullscreen games, rapid presentation reversals, automatic decay, pointer visibility, and disappearing layer surfaces.

Spatial workflow

Build clusters in context

A real Cluster Composer

Eligible windows and collapsed nodes are arranged in a stable, non-overlapping mosaic with pointer and directional keyboard navigation.

Selection that stays legible

Keyboard focus is distinct from persistent membership, and selected members move continuously into the preflighted future cluster core.

Collapsed nodes and core editing

Collapsed nodes can join active clusters across outputs, while an adjacent bloom control renames an existing cluster without rebuilding it.

Appearance

Compositor UI gets its own voice

Independent overlay borders

overlays.border-colour and overlays.border-size separate compositor cards from window decorations, with an optional zoom-indicator override.

Independent node emphasis

node.border-colour and node.border-colour-highlighted style idle and active collapsed nodes and cluster cores.

System-aware colour mode

The explicit system value follows the XDG desktop colour-scheme preference, while auto remains Halley's deterministic palette.

Refreshed decoration defaults

Fresh configs use a neutral focused window border, an orange focused titlebar, and right-side controls.

Reliability

Fewer broken handoffs

Smoother overview activation

Apogee and Alt-Tab share one camera path, center the selected window and pointer, and raise the activated target explicitly.

Stronger XWayland game focus

Locked-pointer handoff, stale unlock rejection, synchronous globally-active focus, and rejected minimize state are handled more carefully.

Lighter automatic decay

Node decay reuses current GPU previews, avoids duplicate full-window capture work, and collapses only one overdue node per timer tick.

Cleaner compositor chrome

Lift icons and selection markers are more reliable, hidden client cursors stay hidden, and unmapped layer surfaces no longer leave blur behind.

Installation

Get v0.7.0

AUR

AUR
yay -S halley
AUR
yay -S halley-full
AUR
yay -S halley-lift

Development Version

dev package
yay -S halley-git

From Source

source build
git clone https://github.com/saltnpepper97/halley\ncd halley\ngit checkout v0.7.0\ncargo build --release --workspace

Notes

Still Growing

  • The wiki now defaults to v0.7.0 and documents every new overlay and node colour control. v0.6.1 and earlier references remain available from the version picker.
  • Startup never rewrites an existing config. New settings are optional; halleyctl config migrate is explicit, supports --dry-run, validates before writing, replaces atomically, and retains a backup.
  • The Fuzzel Super+D default applies only to fresh configs. Existing bindings remain untouched.
  • halley-config and halley-cli are 0.7.0, Halley Lift is 0.2.1, and the semantic API and private IPC protocol are unchanged.

Thanks

To The Early Field

Thanks to everyone who kept testing clusters, fullscreen games, mixed-output navigation, and automatic decay after the rewrite.

The focused reports behind the config-safety, XWayland handoff, icon, and overlay fixes made this release much safer to ship.

Choose the orbit. Compose the field.