diff --git a/libaegisub/unix/path.cpp b/libaegisub/unix/path.cpp index 934371a64df605fc6ab1876ea624cb674bea2d80..9097e32aebc3a555996377a928fd0848b71ed52c 100644 --- a/libaegisub/unix/path.cpp +++ b/libaegisub/unix/path.cpp @@ -22,6 +22,8 @@ #include <boost/filesystem/operations.hpp> #include <pwd.h> +#include <iostream> + namespace { #ifndef __APPLE__ std::string home_dir() { @@ -44,17 +46,14 @@ void Path::FillPlatformSpecificPaths() { agi::fs::path home = home_dir(); SetToken("?user", home/".aegisub"); SetToken("?local", home/".aegisub"); -#ifdef __linux__ - /* AppImage case */ if (const char *ptr_root = getenv("APPDIR"); ptr_root != nullptr) { + /* AppImage case */ agi::fs::path root = ptr_root; - SetToken("?data", root/P_DATA); + SetToken("?data", root/"usr/share/aegisub/"); } else { + /* No AppImage */ SetToken("?data", P_DATA); } -#else - SetToken("?data", P_DATA); -#endif SetToken("?dictionary", "/usr/share/hunspell"); #else agi::fs::path app_support = agi::util::GetApplicationSupportDirectory(); diff --git a/tools/appimage.bash b/tools/appimage.bash index 7b402b0955825056cc04d3d92230531a143f6756..6776781fc9488b030787cb889f72534ff791f751 100755 --- a/tools/appimage.bash +++ b/tools/appimage.bash @@ -33,9 +33,12 @@ chmod +x "$APPIMAGETOOL" "$LINUXDEPLOY" cp packages/desktop/aegisub.desktop.template.in AppImage/aegisub.desktop || exit 1; cp packages/desktop/64x64.png AppImage/aegisub.png || exit 1; sed -i -e 's/@AEGISUB_COMMAND@/aegisub/g' AppImage/aegisub.desktop || exit 1; +rm AppImage/Aegisub/usr/bin/aegisub $LINUXDEPLOY \ --appdir AppImage/Aegisub \ --icon-file AppImage/aegisub.png \ --desktop-file AppImage/aegisub.desktop \ --executable "$AEGISUB" || exit 1; +mkdir -p AppImage/Aegisub/usr/share/aegisub/automation || exit 1; +cp -rv automation/* AppImage/Aegisub/usr/share/aegisub/automation/ $APPIMAGETOOL AppImage/Aegisub