Commit Graph

6 Commits

Author SHA1 Message Date
server2 7b333388e1 Revert "glass: blur strength as a config value"
This reverts commit 65c62734e7.
2026-10-10 00:30:28 +02:00
server2 65c62734e7 glass: blur strength as a config value
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
2026-10-10 00:24:48 +02:00
server2 ca884d0d31 design-liquid: clear liquid glass with a light-catching edge
- clearer glass (0.4 by default), denser toward the bottom right where
  the equalizer labels and presets sit (fill alpha 0.55x / 1x / 1.6x)
- a white specular gradient: bright at the top left, a faint return at
  the bottom right; a 1.5 px light rim that warms to the theme's flame
  colour when hovered
- keeps the soft accent glow, as if the glass took the wallpaper's colour
- docs/design: board at glass 0.25 / 0.4 / 0.55, and the card at 0.4
2026-10-09 05:24:24 +02:00
server2 54ca75b855 glass-base: a glass opacity setting and one place for the surface look
- 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
2026-10-09 05:20:44 +02:00
server2 036b326b04 theme: react to file changes instead of polling
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
2026-10-09 04:44:02 +02:00
server2 eabda748f5 colours from the wallpaper through matugen
- 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
2026-10-09 04:28:39 +02:00