diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix
index d70043c..f3e9b8e 100644
--- a/modules/home/stylix.nix
+++ b/modules/home/stylix.nix
@@ -43,9 +43,14 @@ let
# 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" ''
+ panEndSvg = pkgs.writeText "nomarchy-pan-end.svg" ''
+ '';
+ panEndHoverSvg = pkgs.writeText "nomarchy-pan-end-hover.svg" ''
+
'';
in
@@ -80,19 +85,28 @@ in
menu menuitem:disabled, .menu menuitem:disabled {
color: #${base16.base03};
}
- /* Submenu disclosure arrows — bundled asset, NOT an icon-theme
+ /* Submenu disclosure arrows — bundled assets, 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 {
+ broken inheritance chain, so -gtk-icontheme() drew nothing.
+ Hard-tinted directly from the palette to bypass GTK's fragile
+ -gtk-recolor behavior. */
+ menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr),
+ menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl),
+ menu menuitem:hover arrow:dir(ltr), menu menuitem:selected arrow:dir(ltr),
+ menu menuitem:hover arrow:dir(rtl), menu menuitem:selected arrow:dir(rtl) {
min-width: 16px;
min-height: 16px;
margin-left: 8px;
color: inherit;
- -gtk-icon-source: -gtk-recolor(url("${panEndSvg}"));
}
- menu menuitem:hover arrow, menu menuitem:selected arrow {
+ menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr),
+ menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl) {
+ -gtk-icon-source: url("file://${panEndSvg}");
+ }
+ menu menuitem:hover arrow:dir(ltr), menu menuitem:selected arrow:dir(ltr),
+ menu menuitem:hover arrow:dir(rtl), menu menuitem:selected arrow:dir(rtl) {
color: #${base16.base00};
+ -gtk-icon-source: url("file://${panEndHoverSvg}");
}
check, radio {
min-width: 14px;