mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-17 20:59:43 +02:00
* fix(linux): AppImage registers its desktop entry and icon on launch On Wayland the compositor resolves the dock icon from the window's app_id (ai.storyteller.photocraft, already set) against a host-installed .desktop file. An AppImage installs nothing, so every run showed the generic Wayland logo (#593). The app cannot set the icon itself: winit 0.30.13 (egui 0.36.2's pin) has an empty set_window_icon on Wayland; xdg-toplevel-icon-v1 landed on winit's 0.31 line only. - packaging/linux/AppRun is a script instead of a symlink: best-effort integration into $XDG_DATA_HOME before launch (desktop entry with Exec rewritten to the AppImage's path and TryExec dropped, hicolor icons copied), content-compared so an unchanged install costs a few cmp calls, refreshed when the AppImage moves, PHOTOCRAFT_NO_DESKTOP_INTEGRATION=1 opts out, and no failure can block the launch (best-effort steps silent). - packaging/linux/apprun-test.sh: 8-case smoke (passthrough, Exec rewrite with spaces, metadata preserved, idempotence, move refresh, opt-out, unwritable data dir, extracted AppDir). packaging-lint runs it and now shellchecks AppRun. - Docs: releasing.md Linux section; README install paragraph. Fixes #593 * AppRun: skip desktop integration when the AppImage path needs Exec escaping A quote, backquote, dollar, backslash, percent or line break in the path would need desktop-entry escaping (a line break could even add keys), so integration is skipped and the app still launches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| flatpak | ||
| ai.storyteller.photocraft.desktop | ||
| ai.storyteller.photocraft.metainfo.xml.in | ||
| ai.storyteller.photocraft.mime.xml | ||
| AppRun | ||
| apprun-test.sh | ||
| flatpak-bundle.sh | ||
| nfpm.yaml | ||
| package.sh | ||
| postinst.sh | ||