From d9943d2e7a2db4c9dc83ea8d1e437f9c4a304569 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Sat, 23 May 2026 09:30:21 +0200 Subject: [PATCH] Let symbolic icons follow the color scheme Declare FollowsColorScheme=true for the Shift icon theme so KDE apps recolor symbolic Places glyphs against dark and light surfaces. Document the requirement and guard it in the icon theme coverage test. --- icons/org.shift.icons/README.md | 1 + icons/org.shift.icons/index.theme | 1 + tests/check-shift-icon-theme.sh | 2 ++ 3 files changed, 4 insertions(+) diff --git a/icons/org.shift.icons/README.md b/icons/org.shift.icons/README.md index 297b20b2..8a5076ad 100644 --- a/icons/org.shift.icons/README.md +++ b/icons/org.shift.icons/README.md @@ -3,6 +3,7 @@ `org.shift.icons` is the icon theme selected by `lookandfeel/contents/defaults`. It inherits only `hicolor`, so shell-owned glyphs used by the Shift UI need to exist in this theme or in the local hicolor source icon set. The SVG glyphs are adapted from Phosphor Icons and licensed through the scoped REUSE metadata in `.reuse/dep5`. +The theme sets `FollowsColorScheme=true`; symbolic SVGs use `.ColorScheme-Text` and `currentColor` so KDE applications recolor them for both dark and light color schemes. Theme paths used here: diff --git a/icons/org.shift.icons/index.theme b/icons/org.shift.icons/index.theme index d59365cc..82a7c638 100644 --- a/icons/org.shift.icons/index.theme +++ b/icons/org.shift.icons/index.theme @@ -2,6 +2,7 @@ Name=SHIFT Comment=SHIFT icon theme Inherits=hicolor +FollowsColorScheme=true Example=folder DisplayDepth=32 DesktopDefault=48 diff --git a/tests/check-shift-icon-theme.sh b/tests/check-shift-icon-theme.sh index 60576348..6e63af07 100644 --- a/tests/check-shift-icon-theme.sh +++ b/tests/check-shift-icon-theme.sh @@ -168,6 +168,8 @@ require_line lookandfeel/contents/defaults '^Theme=org\.shift\.icons$' \ "look-and-feel defaults must select org.shift.icons" require_line "$theme_dir/index.theme" '^Inherits=hicolor$' \ "org.shift.icons must inherit only hicolor" +require_line "$theme_dir/index.theme" '^FollowsColorScheme=true$' \ + "org.shift.icons must follow the active color scheme so symbolic Places icons stay legible in dark and light themes" require_line "$theme_dir/index.theme" '^Directories=.*actions/symbolic.*places/symbolic.*apps/scalable' \ "org.shift.icons index.theme must list actions, places, and apps directories" require_directory_order