fix(sway): force a dark base for the ReGreet greeter theme
ReGreet is plain GTK4 (no libadwaita in its closure), so it defaulted to light Adwaita and my libadwaita-named colour overrides (window_bg_color, accent_bg_color, ...) were inert -- a light theme with stray accents. Force the dark Adwaita variant via GTK_THEME=Adwaita:dark in the greeter wrapper, and override the GTK4 legacy colour names (theme_bg_color, theme_fg_color, theme_selected_bg_color, borders, ...) that plain GTK4 actually references. The libadwaita names stay as harmless forward-compat. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+18
-3
@@ -62,6 +62,21 @@ in
|
|||||||
size = 16;
|
size = 16;
|
||||||
};
|
};
|
||||||
programs.regreet.extraCss = ''
|
programs.regreet.extraCss = ''
|
||||||
|
/* GTK4 Adwaita legacy names (what plain GTK4 actually references). */
|
||||||
|
@define-color theme_bg_color #${ctp.base};
|
||||||
|
@define-color theme_fg_color #${ctp.text};
|
||||||
|
@define-color theme_base_color #${ctp.mantle};
|
||||||
|
@define-color theme_text_color #${ctp.text};
|
||||||
|
@define-color theme_selected_bg_color #${ctp.blue};
|
||||||
|
@define-color theme_selected_fg_color #${ctp.base};
|
||||||
|
@define-color insensitive_bg_color #${ctp.mantle};
|
||||||
|
@define-color insensitive_fg_color #${ctp.overlay0};
|
||||||
|
@define-color borders #${ctp.surface1};
|
||||||
|
@define-color warning_color #${ctp.peach};
|
||||||
|
@define-color error_color #${ctp.red};
|
||||||
|
@define-color success_color #${ctp.green};
|
||||||
|
|
||||||
|
/* libadwaita names (inert on plain GTK4, kept for forward-compat). */
|
||||||
@define-color window_bg_color #${ctp.base};
|
@define-color window_bg_color #${ctp.base};
|
||||||
@define-color window_fg_color #${ctp.text};
|
@define-color window_fg_color #${ctp.text};
|
||||||
@define-color view_bg_color #${ctp.mantle};
|
@define-color view_bg_color #${ctp.mantle};
|
||||||
@@ -73,9 +88,6 @@ in
|
|||||||
@define-color accent_color #${ctp.blue};
|
@define-color accent_color #${ctp.blue};
|
||||||
@define-color destructive_bg_color #${ctp.red};
|
@define-color destructive_bg_color #${ctp.red};
|
||||||
@define-color destructive_fg_color #${ctp.base};
|
@define-color destructive_fg_color #${ctp.base};
|
||||||
@define-color error_color #${ctp.red};
|
|
||||||
@define-color warning_color #${ctp.peach};
|
|
||||||
@define-color success_color #${ctp.green};
|
|
||||||
|
|
||||||
window {
|
window {
|
||||||
background-color: #${ctp.base};
|
background-color: #${ctp.base};
|
||||||
@@ -125,6 +137,9 @@ in
|
|||||||
greeter = pkgs.writeShellScript "regreet-cage" ''
|
greeter = pkgs.writeShellScript "regreet-cage" ''
|
||||||
export XKB_DEFAULT_LAYOUT=us
|
export XKB_DEFAULT_LAYOUT=us
|
||||||
export XKB_DEFAULT_VARIANT=dvorak
|
export XKB_DEFAULT_VARIANT=dvorak
|
||||||
|
# ReGreet is plain GTK4 (no libadwaita); force the dark Adwaita variant
|
||||||
|
# so the extraCss accents sit on a dark base instead of light Adwaita.
|
||||||
|
export GTK_THEME=Adwaita:dark
|
||||||
exec ${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} -s -- ${lib.getExe config.programs.regreet.package}
|
exec ${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} -s -- ${lib.getExe config.programs.regreet.package}
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|||||||
Reference in New Issue
Block a user