From 520d5775520258f4999a267b54ced8e8fdce3c93 Mon Sep 17 00:00:00 2001 From: Gianluca Date: Fri, 14 Aug 2026 10:12:29 +0200 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20ship=2032=E2=80=93256=20hicolor=20ic?= =?UTF-8?q?ons=20so=20Linux=20launchers=20resolve=20Aerion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only a 16-bit 256×256 PNG was installed. hicolor marks [256x256/apps] MinSize=64, so launchers that look up ~48px skip it and show no icon (#395). Commit 8-bit PNGs at 32/48/64/128/256, install all sizes from install.sh / make install-linux, and pack them into the release tarball. Keep the 256 file at the tarball root so AUR aerion-bin stays compatible. Closes #395 --- .github/workflows/release.yml | 7 ++++ Makefile | 9 ++++- build/appicon.png | Bin 20356 -> 9093 bytes build/linux/aerion.png | Bin 20356 -> 9093 bytes .../icons/128x128/io.github.hkdb.Aerion.png | Bin 0 -> 6129 bytes .../icons/256x256/io.github.hkdb.Aerion.png | Bin 0 -> 9093 bytes .../icons/32x32/io.github.hkdb.Aerion.png | Bin 0 -> 1286 bytes .../icons/48x48/io.github.hkdb.Aerion.png | Bin 0 -> 1984 bytes .../icons/64x64/io.github.hkdb.Aerion.png | Bin 0 -> 2787 bytes build/linux/install.sh | 36 +++++++++++++----- build/linux/uninstall.sh | 18 ++++----- 11 files changed, 49 insertions(+), 21 deletions(-) create mode 100644 build/linux/icons/128x128/io.github.hkdb.Aerion.png create mode 100644 build/linux/icons/256x256/io.github.hkdb.Aerion.png create mode 100644 build/linux/icons/32x32/io.github.hkdb.Aerion.png create mode 100644 build/linux/icons/48x48/io.github.hkdb.Aerion.png create mode 100644 build/linux/icons/64x64/io.github.hkdb.Aerion.png diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a09b94d6..4d9e4f77 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -102,7 +102,14 @@ jobs: cp build/linux/install.sh dist-package/ cp build/linux/uninstall.sh dist-package/ cp build/linux/aerion.desktop dist-package/io.github.hkdb.Aerion.desktop + # 256 at tarball root keeps AUR aerion-bin working; sized copies + # live under icons/ so install.sh can fill hicolor 32–256 (#395). cp build/linux/aerion.png dist-package/io.github.hkdb.Aerion.png + for sz in 32 48 64 128 256; do + mkdir -p dist-package/icons/${sz}x${sz} + cp build/linux/icons/${sz}x${sz}/io.github.hkdb.Aerion.png \ + dist-package/icons/${sz}x${sz}/ + done if [ "${{ matrix.arch }}" = "amd64" ]; then tar czf aerion-linux-amd64.tar.gz -C dist-package . diff --git a/Makefile b/Makefile index 1f432001..8d17acae 100644 --- a/Makefile +++ b/Makefile @@ -193,7 +193,10 @@ endif install-linux: build @echo "Installing Aerion to $(DESTDIR)$(PREFIX)..." install -Dm755 build/bin/aerion "$(DESTDIR)$(PREFIX)/bin/aerion" - install -Dm644 build/appicon.png "$(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/io.github.hkdb.Aerion.png" + @for sz in 32 48 64 128 256; do \ + install -Dm644 "build/linux/icons/$${sz}x$${sz}/io.github.hkdb.Aerion.png" \ + "$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${sz}x$${sz}/apps/io.github.hkdb.Aerion.png"; \ + done install -Dm644 build/linux/aerion.desktop "$(DESTDIR)$(PREFIX)/share/applications/io.github.hkdb.Aerion.desktop" @echo "Updating icon cache..." -gtk-update-icon-cache -f -t "$(DESTDIR)$(PREFIX)/share/icons/hicolor" 2>/dev/null || true @@ -208,7 +211,9 @@ install-linux: build uninstall-linux: @echo "Uninstalling Aerion from $(DESTDIR)$(PREFIX)..." rm -f "$(DESTDIR)$(PREFIX)/bin/aerion" - rm -f "$(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/io.github.hkdb.Aerion.png" + @for sz in 32 48 64 128 256; do \ + rm -f "$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${sz}x$${sz}/apps/io.github.hkdb.Aerion.png"; \ + done rm -f "$(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/aerion.png" # Remove old name if it exists rm -f "$(DESTDIR)$(PREFIX)/share/applications/io.github.hkdb.Aerion.desktop" rm -f "$(DESTDIR)$(PREFIX)/share/applications/aerion.desktop" # Remove old name if it exists diff --git a/build/appicon.png b/build/appicon.png index cb1f6811cf211b32f1356c9166d09762202b53c2..02fbcd681b8f61e6e386125d1d706e7074c3307d 100644 GIT binary patch literal 9093 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 F`Y&`!6O#Y{ literal 20356 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 diff --git a/build/linux/aerion.png b/build/linux/aerion.png index cb1f6811cf211b32f1356c9166d09762202b53c2..02fbcd681b8f61e6e386125d1d706e7074c3307d 100644 GIT binary patch literal 9093 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 F`Y&`!6O#Y{ literal 20356 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 diff --git a/build/linux/icons/128x128/io.github.hkdb.Aerion.png b/build/linux/icons/128x128/io.github.hkdb.Aerion.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0efe17535977193844877a3476b29f16066db2 GIT binary patch literal 6129 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 D^VHa2 literal 0 HcmV?d00001 diff --git a/build/linux/icons/256x256/io.github.hkdb.Aerion.png b/build/linux/icons/256x256/io.github.hkdb.Aerion.png new file mode 100644 index 0000000000000000000000000000000000000000..02fbcd681b8f61e6e386125d1d706e7074c3307d GIT binary patch literal 9093 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 F`Y&`!6O#Y{ literal 0 HcmV?d00001 diff --git a/build/linux/icons/32x32/io.github.hkdb.Aerion.png b/build/linux/icons/32x32/io.github.hkdb.Aerion.png new file mode 100644 index 0000000000000000000000000000000000000000..68dea4b46ef40b58a405e2fb1d2e94a4773aeabe GIT binary patch literal 1286 zcmV+h1^N1kP)9(E6vuz}zBeet zw+^z#w-bQB)4!6p6LS^O1MD+#0T`{$TM#S^XGDX&!6f)**iv93f0ci;=di^g z5`>KX5RoFcv%fK!A8l;c?#}*M_HlgX%vMA|DG)&^Roka35mYCr`eSt6Bv#i2eq$K{ zV+C_u*9{;ft^1^{@h1xqY{ITJY-v3}ixEb|UJ$iXnyeM$%Jd0R)&mr^abLL-Y(i!i zYkj*I%MEck@fE4!7^d=KDEGXYsl23%V_Z&r%~)=TwZ2`1%&tl>*9ZV1;_hX0a6f&) z156ffa3TH~Slx}1e@ELvs{dSj$pGbbcinR>u5|2Rh#!_BqAvtg=OwOUJM-}U#pT2?Lar_bLPuEUezqzb)-JloCL+NmXtwi0+eZv1e`GXu znxyrBO@X)Z8B1&YSSC+f6I@Mx%iZjsbb4Q9Ltrm0Iy|dyQv%8&T6Bobt^4sCE4Y?C zMcNvpuk|2dS9eur)Wixm7@9u8RN*EY1AAHHdjnH>8j{y>K|K+Ip**bf@20=)1Jc$6 z=i^7YmpfmI3B|qK1un#olD5X_Z+oA0{x>m{r_o2KISb5;ja4l#;WL&nlsL|%sW0jA z?*SB}sh^M)q#bS35G<0`e@qweRo@;3 zcB@ixS}x7P&Vc6E@m!ox<=Pl<0QlL6grndTinnmerNye$`RTTb*++p7QJjWSb&L{# wVc>V1RS^LK%p*@c207p+@B?rdI9Gn~KlL@*3#>U!7ytkO07*qoM6N<$g4wlD9smFU literal 0 HcmV?d00001 diff --git a/build/linux/icons/48x48/io.github.hkdb.Aerion.png b/build/linux/icons/48x48/io.github.hkdb.Aerion.png new file mode 100644 index 0000000000000000000000000000000000000000..12f1c3c2840cb19214bbe0ad06b166f70d42a297 GIT binary patch literal 1984 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 literal 0 HcmV?d00001 diff --git a/build/linux/install.sh b/build/linux/install.sh index 4896a7b4..a3090549 100755 --- a/build/linux/install.sh +++ b/build/linux/install.sh @@ -54,10 +54,14 @@ if [[ ! -f "io.github.hkdb.Aerion.desktop" ]]; then exit 1 fi -# Check if icon exists -if [[ ! -f "io.github.hkdb.Aerion.png" ]]; then - print_error "io.github.hkdb.Aerion.png icon not found in current directory" - echo "Please ensure the icon file is in the same directory as this script" +# hicolor sizes launchers actually request. 256-only is skipped by +# [256x256/apps] MinSize=64 when the lookup asks for ~48px (see #395). +ICON_SIZES=(32 48 64 128 256) + +# Check if at least the 256 icon exists (tarball root or icons/256x256/) +if [[ ! -f "io.github.hkdb.Aerion.png" && ! -f "icons/256x256/io.github.hkdb.Aerion.png" ]]; then + print_error "Aerion icon not found (io.github.hkdb.Aerion.png or icons/256x256/)" + echo "Please run this script from the directory containing the release files" exit 1 fi @@ -78,7 +82,7 @@ while true; do INSTALL_TYPE="system" BIN_DIR="/usr/local/bin" APPS_DIR="/usr/share/applications" - ICONS_DIR="/usr/share/icons/hicolor/256x256/apps" + HICOLOR_DIR="/usr/share/icons/hicolor" NEEDS_SUDO=true break ;; @@ -86,7 +90,7 @@ while true; do INSTALL_TYPE="user" BIN_DIR="$HOME/.local/bin" APPS_DIR="$HOME/.local/share/applications" - ICONS_DIR="$HOME/.local/share/icons/hicolor/256x256/apps" + HICOLOR_DIR="$HOME/.local/share/icons/hicolor" NEEDS_SUDO=false break ;; @@ -121,7 +125,9 @@ fi print_info "Creating directories..." run_cmd mkdir -p "$BIN_DIR" run_cmd mkdir -p "$APPS_DIR" -run_cmd mkdir -p "$ICONS_DIR" +for sz in "${ICON_SIZES[@]}"; do + run_cmd mkdir -p "$HICOLOR_DIR/${sz}x${sz}/apps" +done # Install binary print_info "Installing binary to $BIN_DIR..." @@ -131,9 +137,19 @@ run_cmd install -Dm755 aerion "$BIN_DIR/aerion" print_info "Installing desktop file to $APPS_DIR..." run_cmd install -Dm644 io.github.hkdb.Aerion.desktop "$APPS_DIR/io.github.hkdb.Aerion.desktop" -# Install icon -print_info "Installing icon to $ICONS_DIR..." -run_cmd install -Dm644 io.github.hkdb.Aerion.png "$ICONS_DIR/io.github.hkdb.Aerion.png" +# Install themed icons (sized PNGs + 256 fallback for older tarballs) +print_info "Installing icons to $HICOLOR_DIR..." +for sz in "${ICON_SIZES[@]}"; do + src="" + if [[ -f "icons/${sz}x${sz}/io.github.hkdb.Aerion.png" ]]; then + src="icons/${sz}x${sz}/io.github.hkdb.Aerion.png" + elif [[ "$sz" == "256" && -f "io.github.hkdb.Aerion.png" ]]; then + src="io.github.hkdb.Aerion.png" + fi + if [[ -n "$src" ]]; then + run_cmd install -Dm644 "$src" "$HICOLOR_DIR/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" + fi +done # Update icon cache print_info "Updating icon cache..." diff --git a/build/linux/uninstall.sh b/build/linux/uninstall.sh index c3684700..c97df493 100755 --- a/build/linux/uninstall.sh +++ b/build/linux/uninstall.sh @@ -57,7 +57,7 @@ while true; do INSTALL_TYPE="system" BIN_DIR="/usr/local/bin" APPS_DIR="/usr/share/applications" - ICONS_DIR="/usr/share/icons/hicolor/256x256/apps" + HICOLOR_DIR="/usr/share/icons/hicolor" NEEDS_SUDO=true break ;; @@ -65,7 +65,7 @@ while true; do INSTALL_TYPE="user" BIN_DIR="$HOME/.local/bin" APPS_DIR="$HOME/.local/share/applications" - ICONS_DIR="$HOME/.local/share/icons/hicolor/256x256/apps" + HICOLOR_DIR="$HOME/.local/share/icons/hicolor" NEEDS_SUDO=false break ;; @@ -136,13 +136,13 @@ if remove_file "$APPS_DIR/aerion.desktop.backup" "backup desktop file"; then REMOVED_COUNT=$((REMOVED_COUNT + 1)) fi -# Remove icon -if remove_file "$ICONS_DIR/io.github.hkdb.Aerion.png" "icon"; then - REMOVED_COUNT=$((REMOVED_COUNT + 1)) -fi - -# Remove old icon name if it exists -if remove_file "$ICONS_DIR/aerion.png" "old icon"; then +# Remove themed icons (all shipped sizes + leftover 256-only / old name) +for sz in 32 48 64 128 256; do + if remove_file "$HICOLOR_DIR/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" "icon (${sz}x${sz})"; then + REMOVED_COUNT=$((REMOVED_COUNT + 1)) + fi +done +if remove_file "$HICOLOR_DIR/256x256/apps/aerion.png" "old icon"; then REMOVED_COUNT=$((REMOVED_COUNT + 1)) fi From ac35ecb85365a957347cacfbd671a2f2c1356028 Mon Sep 17 00:00:00 2001 From: Gianluca Date: Fri, 14 Aug 2026 10:15:27 +0200 Subject: [PATCH 2/2] fix: cover Flatpak and tidy Linux icon install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first commit left Flatpak installing only the 256 PNG — same MinSize=64 miss as the tarball. Install all shipped sizes there too. install.sh now resolves each size via a helper (no else-if), fails if icons/ is present but incomplete, and refreshes the cache under $HICOLOR_DIR. Makefile ICON_SIZES is the documented list for make install-linux / uninstall-linux. --- .github/workflows/release.yml | 2 +- Makefile | 7 ++- .../flathub/io.github.hkdb.Aerion-source.yml | 8 +++- .../flatpak/flathub/io.github.hkdb.Aerion.yml | 8 +++- build/flatpak/io.github.hkdb.Aerion-dev.yml | 8 +++- build/linux/install.sh | 46 +++++++++++-------- build/linux/uninstall.sh | 9 ++-- 7 files changed, 55 insertions(+), 33 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4d9e4f77..229a9cce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -105,7 +105,7 @@ jobs: # 256 at tarball root keeps AUR aerion-bin working; sized copies # live under icons/ so install.sh can fill hicolor 32–256 (#395). cp build/linux/aerion.png dist-package/io.github.hkdb.Aerion.png - for sz in 32 48 64 128 256; do + for sz in 32 48 64 128 256; do # keep in sync with ICON_SIZES in Makefile / install.sh mkdir -p dist-package/icons/${sz}x${sz} cp build/linux/icons/${sz}x${sz}/io.github.hkdb.Aerion.png \ dist-package/icons/${sz}x${sz}/ diff --git a/Makefile b/Makefile index 8d17acae..44b1b43a 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,9 @@ BUILD_TAGS := webkit2_41 # Installation directories (can be overridden) PREFIX ?= /usr/local DESTDIR ?= +# hicolor PNG sizes shipped on Linux (#395). Keep in sync with +# build/linux/install.sh ICON_SIZES and .github/workflows/release.yml. +ICON_SIZES ?= 32 48 64 128 256 # Platform detection UNAME_S := $(shell uname -s) @@ -193,7 +196,7 @@ endif install-linux: build @echo "Installing Aerion to $(DESTDIR)$(PREFIX)..." install -Dm755 build/bin/aerion "$(DESTDIR)$(PREFIX)/bin/aerion" - @for sz in 32 48 64 128 256; do \ + @for sz in $(ICON_SIZES); do \ install -Dm644 "build/linux/icons/$${sz}x$${sz}/io.github.hkdb.Aerion.png" \ "$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${sz}x$${sz}/apps/io.github.hkdb.Aerion.png"; \ done @@ -211,7 +214,7 @@ install-linux: build uninstall-linux: @echo "Uninstalling Aerion from $(DESTDIR)$(PREFIX)..." rm -f "$(DESTDIR)$(PREFIX)/bin/aerion" - @for sz in 32 48 64 128 256; do \ + @for sz in $(ICON_SIZES); do \ rm -f "$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${sz}x$${sz}/apps/io.github.hkdb.Aerion.png"; \ done rm -f "$(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/aerion.png" # Remove old name if it exists diff --git a/build/flatpak/flathub/io.github.hkdb.Aerion-source.yml b/build/flatpak/flathub/io.github.hkdb.Aerion-source.yml index fadf966c..8107bc9a 100644 --- a/build/flatpak/flathub/io.github.hkdb.Aerion-source.yml +++ b/build/flatpak/flathub/io.github.hkdb.Aerion-source.yml @@ -66,8 +66,12 @@ modules: - desktop-file-edit --set-key=Icon --set-value=io.github.hkdb.Aerion /app/share/applications/io.github.hkdb.Aerion.desktop - desktop-file-edit --set-key=Exec --set-value=aerion /app/share/applications/io.github.hkdb.Aerion.desktop - # Install icon with correct app ID - - install -Dm644 build/appicon.png /app/share/icons/hicolor/256x256/apps/io.github.hkdb.Aerion.png + # Install themed icons (32–256). 256-only is skipped by hicolor MinSize=64 (#395). + - | + for sz in 32 48 64 128 256; do + install -Dm644 "build/linux/icons/${sz}x${sz}/io.github.hkdb.Aerion.png" \ + "/app/share/icons/hicolor/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" + done # Install metainfo (AppStream metadata) - install -Dm644 build/flatpak/io.github.hkdb.Aerion.metainfo.xml /app/share/metainfo/io.github.hkdb.Aerion.metainfo.xml diff --git a/build/flatpak/flathub/io.github.hkdb.Aerion.yml b/build/flatpak/flathub/io.github.hkdb.Aerion.yml index 0ffa6741..c32337b6 100644 --- a/build/flatpak/flathub/io.github.hkdb.Aerion.yml +++ b/build/flatpak/flathub/io.github.hkdb.Aerion.yml @@ -55,8 +55,12 @@ modules: # Install desktop file with correct app ID - install -Dm644 build/linux/aerion.desktop /app/share/applications/io.github.hkdb.Aerion.desktop - # Install icon with correct app ID - - install -Dm644 build/appicon.png /app/share/icons/hicolor/256x256/apps/io.github.hkdb.Aerion.png + # Install themed icons (32–256). 256-only is skipped by hicolor MinSize=64 (#395). + - | + for sz in 32 48 64 128 256; do + install -Dm644 "build/linux/icons/${sz}x${sz}/io.github.hkdb.Aerion.png" \ + "/app/share/icons/hicolor/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" + done # Install metainfo (AppStream metadata) - install -Dm644 build/flatpak/io.github.hkdb.Aerion.metainfo.xml /app/share/metainfo/io.github.hkdb.Aerion.metainfo.xml diff --git a/build/flatpak/io.github.hkdb.Aerion-dev.yml b/build/flatpak/io.github.hkdb.Aerion-dev.yml index 21e1da21..1d4d8fe4 100644 --- a/build/flatpak/io.github.hkdb.Aerion-dev.yml +++ b/build/flatpak/io.github.hkdb.Aerion-dev.yml @@ -29,8 +29,12 @@ modules: - desktop-file-edit --set-key=Icon --set-value=io.github.hkdb.Aerion /app/share/applications/io.github.hkdb.Aerion.desktop - desktop-file-edit --set-key=Exec --set-value='aerion %U' /app/share/applications/io.github.hkdb.Aerion.desktop - # Install icon - - install -Dm644 build/appicon.png /app/share/icons/hicolor/256x256/apps/io.github.hkdb.Aerion.png + # Install themed icons (32–256). 256-only is skipped by hicolor MinSize=64 (#395). + - | + for sz in 32 48 64 128 256; do + install -Dm644 "build/linux/icons/${sz}x${sz}/io.github.hkdb.Aerion.png" \ + "/app/share/icons/hicolor/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" + done # Install metainfo (AppStream metadata) - install -Dm644 build/flatpak/io.github.hkdb.Aerion.metainfo.xml /app/share/metainfo/io.github.hkdb.Aerion.metainfo.xml diff --git a/build/linux/install.sh b/build/linux/install.sh index a3090549..5cffb916 100755 --- a/build/linux/install.sh +++ b/build/linux/install.sh @@ -58,8 +58,30 @@ fi # [256x256/apps] MinSize=64 when the lookup asks for ~48px (see #395). ICON_SIZES=(32 48 64 128 256) -# Check if at least the 256 icon exists (tarball root or icons/256x256/) -if [[ ! -f "io.github.hkdb.Aerion.png" && ! -f "icons/256x256/io.github.hkdb.Aerion.png" ]]; then +icon_source_for_size() { + local sz="$1" + local sized="icons/${sz}x${sz}/io.github.hkdb.Aerion.png" + if [[ -f "$sized" ]]; then + printf '%s\n' "$sized" + return 0 + fi + if [[ "$sz" == "256" && -f "io.github.hkdb.Aerion.png" ]]; then + printf '%s\n' "io.github.hkdb.Aerion.png" + return 0 + fi + return 1 +} + +if [[ -d icons ]]; then + for sz in "${ICON_SIZES[@]}"; do + if [[ ! -f "icons/${sz}x${sz}/io.github.hkdb.Aerion.png" ]]; then + print_error "missing icons/${sz}x${sz}/io.github.hkdb.Aerion.png" + exit 1 + fi + done +fi + +if ! icon_source_for_size 256 >/dev/null; then print_error "Aerion icon not found (io.github.hkdb.Aerion.png or icons/256x256/)" echo "Please run this script from the directory containing the release files" exit 1 @@ -125,9 +147,6 @@ fi print_info "Creating directories..." run_cmd mkdir -p "$BIN_DIR" run_cmd mkdir -p "$APPS_DIR" -for sz in "${ICON_SIZES[@]}"; do - run_cmd mkdir -p "$HICOLOR_DIR/${sz}x${sz}/apps" -done # Install binary print_info "Installing binary to $BIN_DIR..." @@ -137,27 +156,18 @@ run_cmd install -Dm755 aerion "$BIN_DIR/aerion" print_info "Installing desktop file to $APPS_DIR..." run_cmd install -Dm644 io.github.hkdb.Aerion.desktop "$APPS_DIR/io.github.hkdb.Aerion.desktop" -# Install themed icons (sized PNGs + 256 fallback for older tarballs) +# Install themed icons (sized PNGs + 256 fallback for older tarballs). +# install -D creates the hicolor//apps directory. print_info "Installing icons to $HICOLOR_DIR..." for sz in "${ICON_SIZES[@]}"; do - src="" - if [[ -f "icons/${sz}x${sz}/io.github.hkdb.Aerion.png" ]]; then - src="icons/${sz}x${sz}/io.github.hkdb.Aerion.png" - elif [[ "$sz" == "256" && -f "io.github.hkdb.Aerion.png" ]]; then - src="io.github.hkdb.Aerion.png" - fi - if [[ -n "$src" ]]; then + if src=$(icon_source_for_size "$sz"); then run_cmd install -Dm644 "$src" "$HICOLOR_DIR/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" fi done # Update icon cache print_info "Updating icon cache..." -if [[ "$INSTALL_TYPE" == "system" ]]; then - run_cmd gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true -else - gtk-update-icon-cache -f -t "$HOME/.local/share/icons/hicolor" 2>/dev/null || true -fi +run_cmd gtk-update-icon-cache -f -t "$HICOLOR_DIR" 2>/dev/null || true # Update desktop database print_info "Updating desktop database..." diff --git a/build/linux/uninstall.sh b/build/linux/uninstall.sh index c97df493..b8835709 100755 --- a/build/linux/uninstall.sh +++ b/build/linux/uninstall.sh @@ -137,7 +137,8 @@ if remove_file "$APPS_DIR/aerion.desktop.backup" "backup desktop file"; then fi # Remove themed icons (all shipped sizes + leftover 256-only / old name) -for sz in 32 48 64 128 256; do +ICON_SIZES=(32 48 64 128 256) +for sz in "${ICON_SIZES[@]}"; do if remove_file "$HICOLOR_DIR/${sz}x${sz}/apps/io.github.hkdb.Aerion.png" "icon (${sz}x${sz})"; then REMOVED_COUNT=$((REMOVED_COUNT + 1)) fi @@ -153,11 +154,7 @@ if [[ $REMOVED_COUNT -gt 0 ]]; then print_info "Updating system caches..." # Update icon cache - if [[ "$INSTALL_TYPE" == "system" ]]; then - run_cmd gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true - else - gtk-update-icon-cache -f -t "$HOME/.local/share/icons/hicolor" 2>/dev/null || true - fi + run_cmd gtk-update-icon-cache -f -t "$HICOLOR_DIR" 2>/dev/null || true # Update desktop database if [[ "$INSTALL_TYPE" == "system" ]]; then