diff --git a/modules/den/aspects/desktop/_niri/system.nix b/modules/den/aspects/desktop/_niri/system.nix index 63d748e..0524e9b 100644 --- a/modules/den/aspects/desktop/_niri/system.nix +++ b/modules/den/aspects/desktop/_niri/system.nix @@ -167,8 +167,9 @@ # Global blur tuning. Blur itself needs no switch here: niri honours any # surface that asks for it over `ext-background-effect` — which is how - # noctalia's bar, panels and launcher get theirs — and the window rule - # below turns it on for foot, which cannot ask. + # noctalia's bar, panels and launcher get theirs. Nothing else opts in: + # foot is opaque (stylix.opacity.terminal is 1.0), so it has nothing to + # blur behind it. # # `passes` and `noise` are matched to the Hyprland session's # `decoration.blur` so the two sessions look like the same desktop. @@ -344,21 +345,6 @@ # left flat on purpose — they tile, so they need no separating. shadow.on = _: {}; } - # foot is translucent (stylix.opacity.terminal), and without this it - # would be translucent onto whatever happens to be behind it. A - # terminal cannot request blur for itself the way noctalia can — there - # is no `ext-background-effect` support in foot — so niri is told to - # blur it from this side. - # - # `xray` is left at its default, meaning on: the blur is computed once - # against the wallpaper and reused, rather than recomputed every time - # anything underneath moves. `xray false` would blur the actual windows - # below, but upstream still marks that experimental — it drops out - # during open/close animations and while dragging a tiled window. - { - matches = [{app-id = "^foot$";}]; - background-effect.blur = true; - } # The calculator pops up floating, rofi-calc style. { matches = [{app-id = "^calculator$";}]; diff --git a/modules/den/aspects/home/desktop/_styling/default.nix b/modules/den/aspects/home/desktop/_styling/default.nix index f664323..51f2dc0 100644 --- a/modules/den/aspects/home/desktop/_styling/default.nix +++ b/modules/den/aspects/home/desktop/_styling/default.nix @@ -41,9 +41,12 @@ in { # # stylix reaches only some of it directly — foot and alacritty from # `terminal`, and off that same value it flips btop's and helix's - # `transparent` flags, which is load-bearing rather than incidental: a - # TUI that paints its own opaque background punches a solid rectangle - # through the translucent terminal it runs in. The niri shell's surfaces + # `transparent` flags. That coupling is why `terminal` is 1.0: a + # translucent terminal makes every TUI that paints its own background + # punch a solid rectangle through it, and text over a moving wallpaper + # is the one place the effect costs more legibility than it buys. The + # shells still get their translucency from `desktop`/`popups`, which + # carry no text you read for minutes at a time. The niri shell's surfaces # are wired up by hand in _noctalia/home.nix, because stylix's # noctalia-shell target is gated on `options.programs ? noctalia-shell` # and ours is a wrapped package, not that home-manager module — so the @@ -53,7 +56,7 @@ in { # and a translucent PDF is simply harder to read, while a translucent # browser chrome wrapped around opaque page content just looks broken. opacity = { - terminal = 0.8; + terminal = 1.0; desktop = 0.8; popups = 0.8; };