diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index bef8207..f3fc856 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -35,6 +35,19 @@ let base0E = hex c.accentAlt;# magenta base0F = hex c.bad; # brown/deprecated }; + + # Submenu arrow, bundled: adw-gtk3 (and our earlier fix) look up + # pan-end-symbolic in the ICON theme, but Papirus doesn't ship it and + # its inheritance chain (breeze-dark → hicolor) is broken here — so + # menu arrows rendered as nothing (nm-applet: no hint that "VPN + # Connections" opens a submenu). Same trick adw-gtk3 uses for its + # check marks: a bundled asset via -gtk-recolor(url(…)), immune to + # icon-pack coverage. Shape traced from Adwaita's pan-end-symbolic. + panEndSvg = pkgs.writeText "nomarchy-pan-end-symbolic.svg" '' + + + + ''; in { config = lib.mkIf cfg.stylix.enable { @@ -67,14 +80,16 @@ in menu menuitem:disabled, .menu menuitem:disabled { color: #${base16.base03}; } - /* Submenu disclosure arrows — without this they pick muted. */ + /* Submenu disclosure arrows — bundled asset, NOT an icon-theme + lookup: pan-end-symbolic is missing from Papirus and its + broken inheritance chain, so -gtk-icontheme() drew nothing. */ menu menuitem arrow, .menu menuitem arrow, menu menuitem:hover arrow, menu menuitem:selected arrow { min-width: 16px; min-height: 16px; margin-left: 8px; color: inherit; - -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); + -gtk-icon-source: -gtk-recolor(url("${panEndSvg}")); } menu menuitem:hover arrow, menu menuitem:selected arrow { color: #${base16.base00};