shell.conf blur (1 to 30, default 3; Hyprland's default is 8) sets how
much Hyprland frosts what is behind the glass, applied the moment
shell.conf is saved. Hyprland's blur strength is global (a layer rule can
only switch blur on), so the shell sets decoration.blur.size through
hyprctl eval, and again on every configreloaded>> event, since a config
reload puts Hyprland's own value back. leaving blur out keeps Hyprland's
- the wallpaper's surfaces as a thin tint (glass 0.62 by default) over
what Hyprland blurs behind the shell (needs the README layer rule)
- hairline white rim, accent when hovered
- a white sheen along the top edge, fading out a third of the way down
- one soft low black shadow instead of the accent glow
- docs/design: board at glass 0.45 / 0.62 / 0.8, and the card at 0.62
- shell.conf glass (0.05 to 1, default 1 = solid, as before): the
surfaces' opacity; read live with the theme
- surface.rs: shell() draws the island, the idle pill and the workspace
pill (fill, rim, shadow), so a design is one file; the default is the
look so far
- see-through surfaces can't hide content under a veil, so with glass
below 1 the open/close fades use .opacity() while they run
- README: the Hyprland layer rule that frosts what's behind the shell
(namespace match is a full match: ^magic-.*$; ignore_alpha keeps the
transparent margin around the island sharp)
- docs/design: the solid look and glass 0.5 with the rule, for review
the Theme service waits on amane::watch_file (inotify on the folder, so
matugen's rename-over saves count) for both ~/.config/amane/theme and
shell.conf, settles 50 ms for multi-write saves, and skips writes that
change nothing. measured on the desktop: rename-over, in-place and sed -i
writes picked up in 55-68 ms (was up to 500 ms), identical rewrites
ignored, no activity while idle (was 4 reads a second). deleting the
theme file takes effect at the next start
- matugen/amane.colors: a matugen template (primary, on_primary,
primary_container, primary_fixed, on_surface, on_surface_variant,
outline_variant, surface_container high/normal/lowest) that skwd-wall
renders into ~/.config/amane/theme on every new wallpaper
- theme.rs: a Theme service reads that file and shell.conf twice a
second (matugen replaces its output, which a file watch can lose) and
fades all ten colours together on one Animation; without a theme file
the shell keeps its pink on purple
- the island, the idle pill and the workspace pill draw with the theme;
white overlays (chips, tracks, hover tints) stay as they are
- shell.conf: cover_colors (true: the open media card and equalizer take
the cover's gradient as background, accents stay the wallpaper's) and
transition_ms (0 switches instantly), both applied without a restart
- parse: settings() and rgb(), with a test (6 pass)
- checked on the desktop with a hand-written theme file: pill, workspace
pill and card recolour, cover_colors switches the card background live