@@ -18,16 +18,14 @@ Each entry cites its upstream issue (`e4#NNNN` = end-4/dots-hyprland).
1818
1919## Phase 1 — Quick wins (low effort, self-contained warm-ups)
2020
21- ### 1. Hyprshade quick toggle ` [ ] ` (e4 #3252 ) — easy
22- Screen-shader toggle (blue-light / CRT / vignette / grayscale) alongside the existing NightLight /
23- GameMode toggles, plus a shader picker.
24- - ** Where** : new ` services/Hyprshade.qml ` (singleton) + toggles in all three styles
25- (` modules/common/models/quickToggles/HyprshadeToggle.qml ` , ` androidStyle/ ` , ` classicStyle/ ` ),
26- modelled on ` NightLight ` /` GameMode ` .
27- - ** How** : shell ` hyprshade on <name> ` / ` hyprshade off ` ; current shader from ` hyprshade current ` ;
28- list from ` hyprshade ls ` . Re-apply on wallpaper reload (the known upstream pain point).
29- - ** Config** : ` hyprshade.{enable, defaultShader} ` . Settings → Custom section + a picker in the toggle's
30- long-press menu. ** Dep** : ` hyprshade ` (NOT installed — add to deps + home.packages).
21+ ### 1. Hyprshade quick toggle ` [-] ` (e4 #3252 ) — BLOCKED
22+ Screen-shader toggle (blue-light / CRT / vignette). ** Blocked on this system:** Hyprland 0.55.4 uses
23+ the non-legacy config parser, which rejects ` hyprctl keyword ` (`keyword can't work with non-legacy
24+ parsers` ). ` hyprshade` applies shaders *via* ` hyprctl keyword`, so it's a silent no-op here — verified
25+ empirically (the option ` decoration:screen_shader ` stays ` set: false ` after ` hyprshade on ` ). Revisit if
26+ Hyprland restores runtime ` keyword ` , or if a non-keyword shader-set path appears.
27+ ⚠ Broader implication: ` hyprctl keyword ` is disabled shell-wide — audit any existing/planned feature
28+ that relies on it (runtime option changes), and prefer config-file edits + ` hyprctl reload ` instead.
3129
3230### 2. Translator history + swap ` [ ] ` (e4 #2759 ) — easy · improves existing
3331Recent source/target language pairs remembered and pinned to the top; a swap button + hotkey.
0 commit comments