The square markers, block meters and hard-cornered fills read as boxy
next to the porthole. The desktop is now soft throughout: the porthole
is the shape everything is built around and every smaller surface echoes
it.
- Theme gains radiusS / radiusM / radiusL. radiusL is frameRadius - padS,
so anything inset padS inside one of the frame's curves is concentric
with it.
- P5Panel and Skew draw rounded rectangles (Geom.roundedRect) whenever
they neither lean nor are chopped, which is always now; the polygon
path is kept for shapes brought back on purpose.
- Markers are dots; workspace pips, toggles, transport and media chips,
notification actions and today's date are pills or discs; the slider
handle is round. Meters are one continuous rounded line that glides to
its level instead of a row of segments.
- Album art is rounded with ClippingRectangle in the bar, the media
popout and the dashboard.
- Free-standing panels (launcher, ask) drop the corner brackets and take
the frame radius.
- Fix: a hovered notification's wash was a full-bleed square, so in the
drawer's bottom corner it ran past the drawer's curve. It is inset by
padS/2 and rounded by radiusL, which keeps it inside the curve.
Hyprland: the discord special workspace and its window rule are gone,
SUPER+S stays the only scratchpad, and SUPER+D now opens the dashboard
(it was on SUPER+I).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hyprland:
- Windows round at 8px, concentric with the porthole's 18px corners at
the 10px gap, instead of square corners inside a rounded opening.
- Group tabs are solid hull slabs; the titles used to float over the
wallpaper. The current tab is lifted a step with its title in the light.
- Motion rewritten to glide and settle: no overshoot curve, gentler
popin, workspaces slide-fade a short way instead of sweeping the whole
screen, and layers only fade so they never stack on quickshell's own
slides.
Quickshell:
- Album art in the bar and the media popout is square in a hairline frame,
not masked to a leaning chamfered shape; the accent slab under the
popout art is gone, and a track change dips the title instead of
tilting the art.
- The bar's equaliser is a five-hairline signal meter that rests as dots.
- Segment meters (system, battery, OSD) are 4px rows instead of 10-12px
blocks; the toast fuse is a hairline; the clock's accent slab is a
neutral divider.
- No hover pops: rail icons, tray icons, media transport buttons and
P5Button no longer scale up or lunge sideways; the icon bump is reduced.
Terminal: ANSI bright black drops to #464d44. TUIs use it as a panel fill,
and at the outline grey it read as a flat light slab.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A drawer lowered out of the underside of the bar, painted in the hull
colour and joined to it by two concave fillets so it reads as more of the
hull rather than as a floating card — caelestia's dashboard idea, in the
YoRHa language. Four columns divided by hairlines: operator and clock, the
month with today as an inverted square, the system meters, and the active
player with a hairline timeline and square transport buttons.
Opened by clicking the bar's clock (which used to pin the calendar), by
SUPER+I, or by `qs ipc call shell dashboard`. Escape or moving focus away
closes it through a HyprlandFocusGrab; Actions.dashboardClosedAt keeps the
clock click that cleared the grab from reopening it. The clock's calendar
hover is suppressed while the drawer is down, since it shows the month.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces the Persona x Mocha rice. NieR's menu language is kept whole —
plain rectangles, hairline rules, letter-spaced upright capitals, a square
marker on the current row, corner ticks round panels, and selection shown
by inverting the row — but the colours come from ~/.wallpapers/space-1.jpg
rather than from the game's beige: the grey-green void as the ground, the
suit's sage grey as text, the planet's white as the one accent, and the
hull's red indicator lights as the alarm.
The Persona geometry is switched off rather than ripped out: Theme.skew
and Theme.cut are 0, so P5Panel, Skew and Geom collapse to rectangles.
Overshoot easing, italics and black weights are gone shell-wide.
New, borrowed from caelestia's screen border: bar/Frame.qml draws the bar,
the rail and a thin left/bottom band as one hull on the bottom layer, with
the desktop as a rounded opening cut out of it. Frame also owns all four
exclusive zones, so the bar and rail are placed from the screen edge.
Hyprland moves to 1px borders lit from the planet white into grey, a soft
wide shadow and gaps measured from the opening. Alacritty, fish and dunst
get matching YoRHa palettes. Neovim, GTK/Qt and btop are still Mocha.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fuzzel could only answer "which app", so launching Brave at a URL meant
picking the app, waiting for it, then typing the address somewhere else.
The launcher now takes a verb and an object in one line: type
`gitlab.enqs.de` and every app that can open it sorts to the top, default
browser first, ready for Enter — or arrow/hjkl down to Brave's New
Incognito Window, which is offered as a peer of Brave itself rather than
hidden behind a submenu.
services/Apps.qml is the brain and holds no UI: it flattens desktop
entries and their actions into one index, classifies the typed argument
(url / mail / path), ranks by fuzzy match plus handler affinity plus
frecency, and launches. Launching through `uwsm app` keeps each app in its
own scope; entries whose Exec declares no field code (Brave's
`--incognito` action, among others) are launched by tokenising Exec per
the Desktop Entry spec and appending the argument, never via `sh -c`.
Four prefixes reuse the same window, so there is one picker and one set of
keys: `>` runs a command, `=` evaluates arithmetic, `:` is clipboard
history (cliphist, which had been a second fuzzel invocation), and a
dmenu mode is driven over IPC.
quickshell/scripts/takemi-dmenu is the bridge for that last one — a
`fuzzel --dmenu` drop-in for scripts that want a picker, symlinked into
~/.local/bin. fluxo's bt menu now goes through it.
Living in the Quickshell process means the window is on screen on the
frame the bind fires, with no process to spawn.
Removes fuzzel entirely: its config, its theme submodule, the package,
and the last consumers (the bar sigil, fluxo's menu_command). Also drops
hypr/scripts/powermenu.sh, which was fuzzel-based and bound to nothing.