quickshell: index all YAMIS dirs, not just apps, for icon tinting
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
e6b63d4eb1
commit
c3e8691c2c
1 changed files with 15 additions and 5 deletions
|
|
@ -20,7 +20,7 @@ let
|
|||
themeApply = config.fred.theming.apply;
|
||||
monoIcons = config.fred.theming.monoIcons;
|
||||
|
||||
# The set of app icons YAMIS actually ships, as a QML singleton.
|
||||
# Every icon name YAMIS ships, as a QML singleton.
|
||||
#
|
||||
# AppIcon needs to know whether a given icon came from the monochrome set
|
||||
# (safe to flatten to one colour) or fell through to Papirus (not — see the
|
||||
|
|
@ -29,6 +29,17 @@ let
|
|||
# so there is no store path or theme directory in it to match on. The name
|
||||
# is all we get, so the name is what we test.
|
||||
#
|
||||
# Membership is the whole predicate: YAMIS leads Papirus-Fred's Inherits, so
|
||||
# a name it ships is a name it serves. Every directory counts, not just
|
||||
# apps/ — desktop entries reach into the other contexts freely (nm-connection
|
||||
# -editor asks for preferences-system-network, which lives in preferences/),
|
||||
# and an apps-only list left those rendering at the baked #d8dee9 while
|
||||
# everything around them tinted.
|
||||
#
|
||||
# places/ is the exception: Papirus-Fred overrides the folder faces in its
|
||||
# own directory, which outranks anything inherited, so those resolve to the
|
||||
# wallpaper-coloured Papirus artwork and flattening them would undo the tint.
|
||||
#
|
||||
# Built here rather than listed at eval time: reading the icon tree during
|
||||
# evaluation would mean IFD, and hosts evaluate this straight from the
|
||||
# Forgejo remote.
|
||||
|
|
@ -38,10 +49,9 @@ let
|
|||
echo "import QtQuick"
|
||||
echo "QtObject {"
|
||||
printf ' readonly property var names: ['
|
||||
for f in ${monoIcons}/apps/16/*.svg ${monoIcons}/apps/scalable/*.svg; do
|
||||
[ -e "$f" ] || continue
|
||||
basename "$f" .svg
|
||||
done | sort -u | while read -r n; do printf '"%s",' "$n"; done
|
||||
find ${monoIcons} -path '*/places/*' -prune -o -name '*.svg' -print \
|
||||
| while read -r f; do basename "$f" .svg; done \
|
||||
| sort -u | while read -r n; do printf '"%s",' "$n"; done
|
||||
printf ']\n'
|
||||
echo "}"
|
||||
} > $out
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue