fix(gtk): bundle the submenu arrow — Papirus has no pan-end-symbolic
Some checks failed
Check / eval (push) Failing after 1m33s
Some checks failed
Check / eval (push) Failing after 1m33s
05bab55's menu fix pointed -gtk-icon-source at the icon theme, but Papirus doesn't ship pan-end-symbolic and its inheritance chain (breeze-dark → hicolor) has no provider installed, so GTK menu submenu arrows rendered as nothing (nm-applet: no cue that 'VPN Connections' opens a submenu). Bundle the triangle as a store-path SVG recolored via -gtk-recolor(url(…)) — the same mechanism adw-gtk3 uses for its own check-mark assets, immune to icon-pack coverage. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,19 @@ let
|
|||||||
base0E = hex c.accentAlt;# magenta
|
base0E = hex c.accentAlt;# magenta
|
||||||
base0F = hex c.bad; # brown/deprecated
|
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" ''
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||||
|
<path d="M 6 4 L 10 8 L 6 12 Z"/>
|
||||||
|
</svg>
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.stylix.enable {
|
config = lib.mkIf cfg.stylix.enable {
|
||||||
@@ -67,14 +80,16 @@ in
|
|||||||
menu menuitem:disabled, .menu menuitem:disabled {
|
menu menuitem:disabled, .menu menuitem:disabled {
|
||||||
color: #${base16.base03};
|
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 arrow, .menu menuitem arrow,
|
||||||
menu menuitem:hover arrow, menu menuitem:selected arrow {
|
menu menuitem:hover arrow, menu menuitem:selected arrow {
|
||||||
min-width: 16px;
|
min-width: 16px;
|
||||||
min-height: 16px;
|
min-height: 16px;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
color: inherit;
|
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 {
|
menu menuitem:hover arrow, menu menuitem:selected arrow {
|
||||||
color: #${base16.base00};
|
color: #${base16.base00};
|
||||||
|
|||||||
Reference in New Issue
Block a user