app: ship the Oak icon on every platform surface
- Runtime window icon: X11 takes the embedded 512px PNG up front (_NET_WM_ICON), Wayland resolves it from oak.desktop via the app id, Windows reads it from the exe's icon resource. - assets/appicon: 512px PNG + 7-size ICO rasterized from Oak_Icon.svg. - Windows: oak.rc (ICON resource ID 1, also the Explorer icon) compiled by build.rs through embed-resource. - Linux packaging (deb/rpm/PKGBUILD/oak.spec): install Oak_Icon.svg into the hicolor scalable theme alongside the existing 512px PNG. - macOS: no change needed - cargo packager already builds the .icns from the CD-generated icons/icon.png (same source art).
This commit is contained in:
@@ -36,6 +36,7 @@ package() {
|
||||
install -Dm755 "$OAK_BIN/oak-worker" "$pkgdir/usr/bin/oak-worker"
|
||||
install -Dm644 "$OAK_ROOT/packaging/oak.desktop" "$pkgdir/usr/share/applications/oak.desktop"
|
||||
install -Dm644 "$OAK_ROOT/icons/icon.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/oak.png"
|
||||
install -Dm644 "$OAK_ROOT/Oak_Icon.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/oak.svg"
|
||||
for f in "$OAK_ROOT"/assets/i18n/*.yaml; do
|
||||
install -Dm644 "$f" "$pkgdir/usr/share/oak/i18n/$(basename "$f")"
|
||||
done
|
||||
|
||||
@@ -26,12 +26,13 @@ STAGING=target/pkg/deb
|
||||
rm -rf "$STAGING"
|
||||
mkdir -p "$STAGING/usr/bin" "$STAGING/usr/share/applications" \
|
||||
"$STAGING/usr/share/icons/hicolor/512x512/apps" "$STAGING/usr/share/oak/i18n" \
|
||||
"$STAGING/DEBIAN"
|
||||
"$STAGING/usr/share/icons/hicolor/scalable/apps" "$STAGING/DEBIAN"
|
||||
|
||||
install -m755 target/release/oak-editor target/release/oak-cli target/release/oak-worker \
|
||||
"$STAGING/usr/bin/"
|
||||
install -m644 packaging/oak.desktop "$STAGING/usr/share/applications/oak.desktop"
|
||||
install -m644 icons/icon.png "$STAGING/usr/share/icons/hicolor/512x512/apps/oak.png"
|
||||
install -m644 Oak_Icon.svg "$STAGING/usr/share/icons/hicolor/scalable/apps/oak.svg"
|
||||
install -m644 assets/i18n/*.yaml "$STAGING/usr/share/oak/i18n/"
|
||||
|
||||
# The full shlib dependency set (FFmpeg/OCIO are statically linked, so
|
||||
|
||||
@@ -28,11 +28,13 @@ mkdir -p "$TOP"/{BUILD,RPMS,SOURCES,SPECS,BUILDROOT}
|
||||
|
||||
ROOT="$TOP/BUILDROOT/oak-editor-$VERSION-1.x86_64"
|
||||
mkdir -p "$ROOT/usr/bin" "$ROOT/usr/share/applications" \
|
||||
"$ROOT/usr/share/icons/hicolor/512x512/apps" "$ROOT/usr/share/oak/i18n"
|
||||
"$ROOT/usr/share/icons/hicolor/512x512/apps" "$ROOT/usr/share/oak/i18n" \
|
||||
"$ROOT/usr/share/icons/hicolor/scalable/apps"
|
||||
install -m755 target/release/oak-editor target/release/oak-cli target/release/oak-worker \
|
||||
"$ROOT/usr/bin/"
|
||||
install -m644 packaging/oak.desktop "$ROOT/usr/share/applications/oak.desktop"
|
||||
install -m644 icons/icon.png "$ROOT/usr/share/icons/hicolor/512x512/apps/oak.png"
|
||||
install -m644 Oak_Icon.svg "$ROOT/usr/share/icons/hicolor/scalable/apps/oak.svg"
|
||||
install -m644 assets/i18n/*.yaml "$ROOT/usr/share/oak/i18n/"
|
||||
|
||||
rpmbuild -bb \
|
||||
|
||||
@@ -39,6 +39,7 @@ true
|
||||
/usr/bin/oak-worker
|
||||
/usr/share/applications/oak.desktop
|
||||
/usr/share/icons/hicolor/512x512/apps/oak.png
|
||||
/usr/share/icons/hicolor/scalable/apps/oak.svg
|
||||
/usr/share/oak/i18n/
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user