config.json gains a "layouts" key to narrow which hypr/layouts-discovered
layouts astro-menu offers (and reorder them), plus per-layout option
overrides (trim directions, hide fit_method/stepper), without touching the
.lua layout sources.
Also: the taskbar's workspace/layout panel now polls every second while the
menu is open, since switching workspaces doesn't notify (or get blocked by)
the menu and the panel previously only refreshed on open.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bordered()'s glow re-strokes the rounded ring at widths up to border+22, so half
of each stroke falls outside the ring path. GTK clips a DrawingArea to its own
square allocation: along the straight edges that trims the outward spill to
nothing, but inside each corner the square patch between the arc and the widget
corner is still in-allocation and got painted solid accent red — square corners
peeking out from behind every rounded card border.
Clip the glow passes to the ring's outer silhouette (the widget rect rounded by
radius + border/2, exactly where the crisp stroke's outer edge runs) so the
bloom only reads inward. Crisp stroke and fill are unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Second daily-driving pass over the Cosmonaut Shell suite.
Animations (all four surfaces):
- Removed every slide-in reveal; each surface now only "materialises out of
static" (compositor no_anim layerrule + in-app hologram intro). Longer, noisier,
gradual fade-in: the content opacity ramps 0->1 (fade_widget) instead of a solid
haze block popping on. Added a quick reverse "dissolve into static" outro on
close. horizon-dock/orbit-menu use a slower 2.4s intro. Fixed a warm-reopen bug
where a stale frame-clock baseline skipped the intro entirely.
horizon-dock:
- Center planet: bigger, sinks ~1/4 below the screen edge, translucent holographic
body with a wide bloom halo, specular sheen, rim glow and a breathing pulse.
- Ornamental satellite glyphs: two rings framing the windows orbit, each with a
random 3-7 satellites whose motion source is randomised (toward-cursor / mouseX
/ mouseY), so the quiet edges feel alive.
- Super+D now opens horizon-dock (astro-menu moved to Super+Shift+D).
orbit-menu:
- Classic dmenu mode: `--dmenu` reads newline items from stdin, shows them as ring
nodes, prints the choice to stdout (exit 1 on cancel). Standalone NON_UNIQUE app
so it never routes to the resident daemon; scripts/orbit-dmenu.sh wraps it with
the gtk4-layer-shell preload.
astro-menu (sci-fi rework):
- Replaced the map module with "Ship Systems": a Gtk.Grid system monitor backed by
backend/sysmon.sh. CPU->Thrusters, GPU->Hyperdrive, RAM->Life Support Systems,
Storage->Cargo Hold (one aligned row per mounted drive with capacity), each a
bracketed -<████░░░░>- usage meter + -( 54°C )- temperature readout.
- Renamed Bluetooth -> System Radio, Network -> Laser Antenna Uplink.
- Weather gains a "Planetary Environment Report" headline.
station-bar:
- The battery readout uses a fuel-tank glyph (the ship runs on fuel).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Daily-driving pass over the Cosmonaut Shell suite: transparency, holographic
effects, and layout/geometry fixes across every component built for the DE.
Global holographic layer (astro-menu/horizon-dock/station-bar lib/hologram.py):
- edge-fade mask (A8 DEST_OUT) so scanlines fade out at panel borders
- magenta particle field; "materialize from static" noise-mask intro animation
- optional clip_func so the mask follows non-rectangular / animated content
- universal `* { background-color: transparent }` at USER+1 to defeat the
CyberQueer theme painting opaque bg on plain containers; blur layer_rules
astro-menu: magenta text (alt red) for readability; thinner, glowier borders;
rounded map-texture corners; fixed transparency stacking + square corners.
orbit-menu: scanline mask now follows the zoom transition into a submenu.
horizon-dock: reworked into an orbit-menu node ~1/3 on-screen (<=2/3 width) with
horizon perspective (arched orbit rows), a non-functional center clock-sphere,
orbit glyph decorations, graceful edge fade-out, and centered/filled orbits;
tray removed; giant-surface clip fixed.
station-bar: redesigned as an extra Horizon Dock orbit — bare glowing color-coded
glyphs (no pills), width-adaptive, one bar per monitor, Super+Z toggles the
focused monitor's bar. Clickable HUD trapezoid around the title opens Astro Menu.
Workspaces are now per-monitor: each bar shows only its own monitor's workspaces
and highlights that monitor's active workspace. Populated workspaces show the
station glyph, empty ones the bare spaceship + number; the focused one is framed
by a `-< >-` reticle with the rocket prepended when there's a station to dock at.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New leaner Hyprland DE (setup/modules/Desktop-Environments/hyprdrive.sh),
a sibling of hyprlua that drops the older EWW/nwg-shell/wofi/walker/
ulauncher stack in favor of a purpose-built, GTK4 layer-shell component
suite sharing one CyberQueer hologram visual language:
- orbit-menu radial power/utility menu (focal-point zoom nav, holographic
overlay, cosmetic satellites)
- horizon-dock hover-scrollable orbital app dock (open windows/favorites/
all apps orbits, SNI tray satellite)
- astro-menu astal-menu re-themed as a hologram info display (Location/
Weather/Bluetooth/Network quads, taskbar, app drawer)
- station-bar the EWW top bar's replacement ("Voidstation Status Bar"):
a thin curved layer-shell bar tracking Hyprland workspaces/
active window natively over .socket2.sock, no polling
Every component now shares one consistent hologram treatment: translucent
violet panel/node fills (replacing solid gray), a config-toggleable
scanline+sweep+noise overlay (lib/hologram.py, ported to horizon-dock and
station-bar to match orbit-menu/astro-menu), and glow-on-hover throughout.
Also adds horizon-dock to hyprlua (built there first, before hyprdrive
existed) and wires dependency checks, config-updater entries, and
apply-theme.sh color sync for every new component across both DEs.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nu8JkQ95hPAT8vADeGDAmL