Featured rice

Afterglow

A low sun over a mirror-still sea. Live Wayland windows float like warm glass panes above the water, and the sky, the sea, the window accents and the shell drift together through four hours of light. The whole scene comes from one external C plugin; none of it lives in the compositor core.

  • Golden hour
  • Afterglow
  • Blue hour
  • Night
Recorded headless at 1080p · 17 s loop

Four hours

One light, everywhere.

Each hour cross-fades over 2.4 seconds. The plugin also pushes the new accent into the compositor, so focus borders, title-bar pips and the floor follow the sky they sit under.

Afterglow at golden hour
Golden hour· gold rim
Afterglow at afterglow
Afterglow· amber rim
Afterglow at blue hour
Blue hour· rose rim
Afterglow at night
Night· silver rim

Run it

Watch the sun go down.

The launcher starts the themed shell and a terminal. PressSuper + T to change the hour.

terminal
nix develop
./tools/build.sh
./rices/afterglow/run.sh

# On a real Linux VT
./rices/afterglow/run-native.sh

# Start at another hour
SHADY_AFTERGLOW_PHASE="blue hour" ./rices/afterglow/run.sh

Controls

Under your fingers.

Every binding lives in the rice's Lua runtime layer or its plugin, so you can rebind any of them.

ShortcutAction
Super + TDrift to the next hour of light
Super + Shift + TDrift back to the previous hour
Super + ONative 3D overview of every window
Super + TabFocus the next window
Super + QClose — the window sinks into the sea
Super + 1–3Workspaces shore, studio and harbor
Super + FFirst-person mode above the water
Super + DLauncher
Render

A sky with real depth

Each pixel traces a world-space ray from the camera the host gives render hooks. The horizon, sun and moon stay fixed while you orbit, and the sea mirrors them through rippled, Fresnel-weighted water.

Cohesion

Shared palette

Hour changes update the compositor's accent config, and the shell reads the same palette from theme.sh, so frames, pips and panels all match the sky.

Restraint

Idle stays idle

The sky only advances while frames are already being drawn, so a still desktop renders nothing. Every hour change runs in the headless sanitizer suite.

Build your own evening.

Afterglow is about 350 lines of C plus one fragment shader. Start from it, or from the plugin API.