From 5c45c861b7da81f0f7bf4ef66840f5c4a6b52b62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atay=20=C3=96zcan?= Date: Mon, 22 Jun 2026 22:22:51 +0200 Subject: [PATCH] Link shared icon dirs to cut install size for accent variants The accent color only affects the folder icons in apps and places. Every other directory (actions, categories, devices, emblems, mimetypes, status) is identical to the default theme of the same scheme and color, but install.sh was copying all of them again for each accent variant. This symlinks those directories to the default theme instead of copying them. A full default-scheme install (-t all) goes from 763M to 259M with identical icon output. When the default theme isn't installed (e.g. a single -t variant) it falls back to copying, so standalone installs still work. --- install.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/install.sh b/install.sh index cbd4d371..54b6971a 100755 --- a/install.sh +++ b/install.sh @@ -142,6 +142,22 @@ install() { ln -sf status status@2x ) + # Only the folder icons (apps, places) change with the accent color, so the + # other directories are identical to the default theme of the same scheme and + # color. Link them instead of keeping a full copy per accent variant. This is + # skipped when the default theme isn't installed (e.g. a single -t variant). + if [[ "${theme}" != '' && "${color}" != '' ]]; then + local BASE_DIR="${dest}/${name}${scheme}${color}" + if [[ -d "${BASE_DIR}" ]]; then + for dir in actions categories devices emblems mimetypes status; do + if [[ -d "${THEME_DIR}/${dir}" && ! -L "${THEME_DIR}/${dir}" ]]; then + rm -rf "${THEME_DIR}/${dir}" + ln -sf "../${name}${scheme}${color}/${dir}" "${THEME_DIR}/${dir}" + fi + done + fi + fi + gtk-update-icon-cache "${THEME_DIR}" }