$ waybar-unixtime css --install
A design system that inherits its palette, not one that owns it.
Every color in this system resolves through
six variables read from the active omarchy theme's
colors.toml. Components never name a color. They name
a role — surface, edge, dim, accent — and the theme fills it in.
The five themes in the switcher above are the ones shipped in the
marketing site; the system is correct only if every component
below survives all five.
The type is monospace by default because the product's whole subject is aligned columns of digits. Prose headings get one display face so pages have a voice above the terminal.
SOURCE OF TRUTH
src/theme.rs
accent, foreground, background
NAMESPACE
unixtime-*
no collisions with host CSS
FALLBACK
heritage
unreadable theme still renders
color
Three values come from the theme file. Three are derived for depth. That is the entire palette — there is no secondary, no tertiary, no success-green. Semantic states borrow the accent or the dim.
Derived, not authored
surface and edge are lifts off the background; dim is the foreground pulled toward it. Any new theme only has to supply three hexes.
Alpha, not new colors
Hovers and borders use
alpha(accent, .25) and
alpha(fg, .15), mirroring the GTK stylesheet the
binary emits. Never introduce a hex for a state.
Accent is a highlight, not a fill
Accent carries live values, active states, and one word per heading. A screen with more than ~5% accent coverage is doing it wrong.
type
Two families. Space Grotesk sets headings
and page titles; JetBrains Mono does everything else, including
body copy. Numeric values always carry
font-variant-numeric: tabular-nums so ticking digits
do not reflow.
DISPLAY — SPACE GROTESK
Epoch
Aa Bb Cc 0123456789
700 for h1 · 500 for h2/h3 · never below 0.95rem
MONO — JETBRAINS MONO
1786096903
Aa Bb Cc 0123456789
400 body · 500 labels · 700 values & the bar
space & shape
Radii come straight from the emitted GTK stylesheet: 12px for panels and menus, 8px for the items inside them. The site adds 14 for the two floating surfaces and 999 for pills.
SPACING
ELEVATION
badges
The format chips in formats.rs
were bright generic hexes that fought every theme. Retuned, they
hold one lightness and one chroma and vary only in hue — so they
read as a family, sit behind the accent, and stay legible on any
background. The formula is oklch(0.52 0.085 H) with
white text; the neutral drops chroma to 0.02.
Chips are identity, never status. A chip never means good or bad — it names which family a value belongs to. Status uses accent for active, dim for inert.
forms
Inputs sit on the page background, not the surface, so a field always reads as a hole cut into its card. Labels are meta-sized and dim above; result and helper text sit below, accent for output and dim for hints. Validation is inline text — there is no red.
2026-08-07 10:01:43 UTC
seconds or milliseconds — auto-detected
focused · border becomes accent, no glow
↳ trailing %% is not a directive
bar behaviour
precision
data display
The format panel is the system's signature component: label left, value right, chip in front, a 2px accent rule on hover, and a copy that confirms by turning the value accent for 900ms. Tables are the same row, given a header.
FORMAT PANEL
TABLE
THE BAR MODULE
12px horizontal padding, monospace, foreground for seconds and accent for every higher precision — the class name carries the color.
EMPTY STATE
(empty)
Nothing copied yet. Click any format to start a history.
overlays
Everything that floats gets radius 14, the float shadow, and — where it detaches from the page entirely, as GTK menus and tooltips do — a 50% accent border instead. Toasts are for background work only; a copy confirms in place.
MODAL
Overwrite unixtime.css?
~/.config/waybar/unixtime.css already exists. Regenerating replaces it with the arc-blueberry palette.
TOAST
TOOLTIP / GTK MENU
Menu items get radius 8
and a 25% accent hover fill; separators are the foreground at
15%. These values ship verbatim in theme.rs.
code
Two colors only: dim for comments, accent for the command being run. Everything else is foreground. No syntax theme, no language keywords, no line numbers.
# generate + install for the active theme waybar-unixtime css --install
/* generated: unixtime.css */ @define-color unixtime-accent #c9a554; @define-color unixtime-fg #c2c2b0; @define-color unixtime-bg #16161c;
motion
One thing on screen is allowed to move on its own: the cursor. Everything else moves only in response to a pointer, and briefly.
CURSOR — 1.2s steps(1)
1786096903
Stepped, never eased — it is a terminal caret, not a pulse.
HOVER — 150ms
border-color and a 1px lift. Never scale, never shadow-on-hover.
CONFIRM — 900/1200ms
1786096903
Copy flips the value to accent for 900ms; a button swaps its label to "ok" for 1200ms. Then it reverts silently.
THEME — 400ms
background and color cross-fade over 400ms so an omarchy switch reads as a repaint, not a reload. Borders and text snap.
voice
The copy in this repo reads like a person who uses the thing wrote it. Keep that.
DO
Section headings lowercase, prefixed ## — the page is a README.
Lead a feature with the noun: "dropdown of every format".
Say what it does, then what it costs. "Rust, MIT licensed, no runtime deps."
Name real commands and real paths in body copy.
DON'T
No exclamation marks outside "copied!".
No "seamlessly", "powerful", "effortless".
No emoji — the only glyphs are ✓ ⇄ ⟲ · ── and they carry meaning.
No title case, anywhere, including buttons.