Support icon themes in snap

This commit is contained in:
Ilya Fedin 2025-03-11 04:38:42 +00:00 committed by John Preston
parent 228bbc1e8e
commit 594bb8a76b
2 changed files with 13 additions and 3 deletions

View file

@ -759,7 +759,9 @@ QImage DefaultApplicationIcon() {
}
QString ApplicationIconName() {
static const auto Result = QGuiApplication::desktopFileName().remove(
static const auto Result = (KSandbox::isSnap()
? u"snap.%1."_q.arg(qEnvironmentVariable("SNAP_INSTANCE_NAME"))
: QString()) + QGuiApplication::desktopFileName().remove(
u"._"_q + Core::Launcher::Instance().instanceHash());
return Result;
}

View file

@ -1,6 +1,5 @@
name: telegram-desktop
adopt-info: telegram
icon: Telegram/Resources/art/icon512@2x.png
base: core24
grade: stable
@ -151,7 +150,16 @@ parts:
craftctl set version="$version"
override-build: |
craftctl default
rm -rf "$CRAFT_PART_INSTALL/usr/share/icons"
APP_ID=org.telegram.desktop
sed -i "s/^Icon=$APP_ID$/Icon=snap.telegram-desktop./g" "$CRAFT_PART_INSTALL/usr/share/applications/$APP_ID.desktop"
for i in $(find "$CRAFT_PART_INSTALL/usr/share/icons" -name "$APP_ID*.svg" -o -name "$APP_ID*.png"); do
PREFIXED="$(dirname "$i")/snap.$CRAFT_PROJECT_NAME.$(basename "$i" | sed "s/$APP_ID//")"
mv "$i" "$PREFIXED"
DEST="$(dirname "$i" | sed 's@usr/share@meta/gui@')"
mkdir -p "$DEST"
cp -r "$PREFIXED" "$DEST"
done
after:
- ada
- ffmpeg