Cursor-0.47.9-x86_64.AppImage
cursor-0.45.14-build-250219jnihavxsz-x86_64.AppImage
Joplin-3.0.15.AppImage
Joplin-3.3.13.AppImage
WezTerm-nightly-Ubuntu20.04.AppImage
WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage
Cursor-0.47.9-x86_64.AppImage
cursor-0.45.14-build-250219jnihavxsz-x86_64.AppImage
Joplin-3.0.15.AppImage
Joplin-3.3.13.AppImage
WezTerm-nightly-Ubuntu20.04.AppImage
WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage
Cursor-0.47.9-x86_64.AppImage
cursor-0.45.14-build-250219jnihavxsz-x86_64.AppImage
Joplin-3.0.15.AppImage
Joplin-3.3.13.AppImage
WezTerm-nightly-Ubuntu20.04.AppImage
WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage
Obsidian-1.9.10.AppImage → obsidian
cursor-0.45.14-build-250219...-x86_64.AppImage → cursor
WezTerm-nightly-Ubuntu20.04.AppImage → wezterm
LM+Studio-0.2.8-beta-v1.AppImage → lm-studio
FreeCAD_1.0.2-conda-Linux-x86_64-py311.AppImage → freecad
Obsidian-1.9.10.AppImage → obsidian
cursor-0.45.14-build-250219...-x86_64.AppImage → cursor
WezTerm-nightly-Ubuntu20.04.AppImage → wezterm
LM+Studio-0.2.8-beta-v1.AppImage → lm-studio
FreeCAD_1.0.2-conda-Linux-x86_64-py311.AppImage → freecad
Obsidian-1.9.10.AppImage → obsidian
cursor-0.45.14-build-250219...-x86_64.AppImage → cursor
WezTerm-nightly-Ubuntu20.04.AppImage → wezterm
LM+Studio-0.2.8-beta-v1.AppImage → lm-studio
FreeCAD_1.0.2-conda-Linux-x86_64-py311.AppImage → freecad
./appimage-manager.py --install-watch
# That's it. From now on, just drop AppImages in the directory.
./appimage-manager.py --install-watch
# That's it. From now on, just drop AppImages in the directory.
./appimage-manager.py --install-watch
# That's it. From now on, just drop AppImages in the directory.
id,label,filename,categories,startup_wm_class,status
obsidian,Obsidian,Obsidian-1.9.10.AppImage,Office;X-AppImage;,obsidian,active
cursor,Cursor,Cursor-0.47.9-x86_64.AppImage,TextEditor;Development;IDE;X-AppImage;,Cursor,active
zen,Zen browser,zen-x86_64.AppImage,Network;WebBrowser;X-AppImage;,zen,active
id,label,filename,categories,startup_wm_class,status
obsidian,Obsidian,Obsidian-1.9.10.AppImage,Office;X-AppImage;,obsidian,active
cursor,Cursor,Cursor-0.47.9-x86_64.AppImage,TextEditor;Development;IDE;X-AppImage;,Cursor,active
zen,Zen browser,zen-x86_64.AppImage,Network;WebBrowser;X-AppImage;,zen,active
id,label,filename,categories,startup_wm_class,status
obsidian,Obsidian,Obsidian-1.9.10.AppImage,Office;X-AppImage;,obsidian,active
cursor,Cursor,Cursor-0.47.9-x86_64.AppImage,TextEditor;Development;IDE;X-AppImage;,Cursor,active
zen,Zen browser,zen-x86_64.AppImage,Network;WebBrowser;X-AppImage;,zen,active
curl -LO https://raw.githubusercontent.com/pvojnisek/appimage-manager/main/appimage-manager.py
chmod +x appimage-manager.py
mv appimage-manager.py ~/apps/ # or wherever you keep AppImages
./appimage-manager.py
curl -LO https://raw.githubusercontent.com/pvojnisek/appimage-manager/main/appimage-manager.py
chmod +x appimage-manager.py
mv appimage-manager.py ~/apps/ # or wherever you keep AppImages
./appimage-manager.py
curl -LO https://raw.githubusercontent.com/pvojnisek/appimage-manager/main/appimage-manager.py
chmod +x appimage-manager.py
mv appimage-manager.py ~/apps/ # or wherever you keep AppImages
./appimage-manager.py - Make it executable (chmod +x)
- Create a .desktop file by hand
- Hunt for the icon (where does this AppImage keep it?)
- Figure out the right Categories= so it shows up in the right menu
- Repeat for the next app - Scans for .AppImage files and groups them by app name
- Picks the latest version (by version number, not file date — so 0.47.9 beats 0.45.14 even if the older file was touched more recently)
- Creates a clean symlink — obsidian.AppImage → Obsidian-1.9.10.AppImage
- Extracts the icon from inside the AppImage and installs it to the XDG hicolor theme
- Reads categories and StartupWMClass from the embedded .desktop file
- Generates a proper .desktop launcher with all the metadata - Some have .DirIcon as a real PNG file
- Some have it as a symlink (that resolves inside the archive)
- Some put the icon deep in hicolor/512x512/apps/
- Some only have SVGs
- Some have broken symlinks - Drop a new AppImage → it appears in the launcher with its icon
- Delete an AppImage → the launcher entry, symlink, and icon get cleaned up
- Drop a newer version → the symlink re-links to the latest