OpenRiot v8.0.6: It Comes in Colors Everywhere

“The desktop was gray. The bar was gray. The notifications were gray, and they arrived late. Then somebody opened the config file and the whole street came in wearing colors. Don’t panic. The towel was in the palette all along.” – The OpenRiot Crew, v8.0.6


Release Overview

OpenRiot 8.0.6 repaints the desktop and passes a wrench under the hood. The palette tones down, the bar picks up a rounded, borderless, semi-transparent coat, the clock stops drifting when a window title grows, the right-hand icons agree on one size, the volume, microphone and brightness keys answer on the screen itself, and the lock screen stops eating fast keystrokes before they reach the password.

Think of it as forty-two small fixes wearing one good jacket.

Total changes: one palette, one bar, one OSD, one lock fix, and the small arguments in between.


A Coat of Many Colors

The canonical palette in config/colors.toml mutes the bright accents into something that sits still at night. Every template reads that file, so the change lands everywhere at once: the bar, the workspace pills, rofi, helix, dunst.

The workspaces stop hardcoding their own weather. Focused, dimmed and urgent states come from the palette, including a new [accent] dim token, so the active workspace and the window border finally share the same quiet green instead of shouting at each other.

The night-light icon learned to testify. Amber when the room is warm and ordinary, a colder blue-purple when the filter is actually on. The crypto icon calmed down from siren yellow to a muted tawny. The date no longer uses boulders for punctuation: day, month and time are separated by the same · the bar already uses.

A theme here is a file you own. Not a subscription you renew, not a palette the store can revoke. It lives on your disk and survives the next reboot, which is more than most colors can promise.


The Display Is the Message

openriot --osd draws the change where your eyes already are. Volume, microphone and brightness render as a small themed strip through osd_cat, then vanish. When X is not there, or the helper is not installed, it falls back to the old toast without complaint.

The pop-up was always somebody else’s service. This one is a rectangle we draw ourselves, in our colors, on our terms.


One Pixel of Breathing Room

The bar now meets the top of the screen with no dead strip above it, no outline around it, and a semi-transparent background so the wallpaper can still introduce itself. It stops one pixel short of the windows below, and gaps top 1 reserves that breath. smart_gaps off keeps the breath even on a workspace holding a single window.

A lone window keeps its border again. hide_edge_borders none sees to that, so a full workspace no longer pretends to be a full-screen app. The center block is pinned with fixed-center, so the clock and weather sit still while the workspace title argues with itself on the left.


The Lock Stops Eating Keys

i3lock requests the keyboard asynchronously, and a slow notification call in front of it widened the window where fast typing disappeared into the still-unlocked app. We move xset r off ahead of the notification, fire that notification without waiting for it, and let i3lock grab the keys immediately. Type like a caffeinated raccoon. It lands.


It Fits Every Screen

The font markers in polybar.Setup pointed at sizes that were never in the template, so half the bar ignored the resolution. They now match size=18 and size=12. Every right-hand icon renders at font-0, so status and utility buttons finally agree on one size. The app menu and its blowfish are gone; the workspaces start where the bar starts. The height still steps by screen width: 22, 26, 28, 32.


🧾 Files Changed

File Change
config/colors.toml Muted palette, [accent] dim
config/polybar/config.ini.tmpl Rounded, borderless,
  semi-transparent bar, colors, icon sizes
config/i3/config gaps top 1, smart_gaps off,
  hide_edge_borders none, dim border
source/theme/colors.go AccentColors.Dim, alpha 0x99
source/polybar/polybar.go Theme-driven workspaces,
  fixed font scaling, launcher glyph swap
source/osd/osd.go NEW on-screen display
source/audio/volume.go Volume/mic OSD first
source/display/display.go Brightness OSD first
source/commands/commands.go --osd command
source/nightlight/nightlight.go Blue-purple when ON
source/lock/lock.go Repeat off before notify, fast typing
install/packages.yaml xosd for the OSD

🗣️ Final Words

“Somewhere over the config file the colors were always there, waiting for someone to stop drawing in gray. The toast is gone, the border is back, the clock holds still, and the room fits on any screen you put it on. Kick the tires. It comes in colors everywhere.” – The OpenRiot Crew, v8.0.6