Easily create, import, edit and remove custom application launchers for your GNOME Activities overview (Super / Windows key).
Crafted by Ray — discover more projects at https://rayistec.dev.
Turn scripts (Python, Shell, Node, AppImage, binaries) into first‑class desktop apps with icons & categories in seconds.
- Scan and list custom launchers (tagged with
X-Custom-Added=1). - Add from: executable, script (
.py,.sh,.js), AppImage, or existing.desktopfile. - Auto wrapper detection (python3 / bash / node) + manual override.
- Optional extra arguments, terminal toggle, and executable bit fixer.
- Icon picker (copies into
~/.local/share/icons/hicolor/128x128/apps). - Edit existing launchers (name, exec, icon, categories, terminal mode).
- Safe delete with confirmation.
- Instant feedback via toast notifications.
- Modern GTK4 + Libadwaita UI (resizable, responsive list area).
(Add your screenshots here – e.g.
docs/screenshot-main.pnganddocs/screenshot-add.png)


# Fedora dependencies
sudo dnf install -y python3 python3-gobject gtk4 libadwaita python3-libadwaita adwaita-icon-theme
# Clone & run
python3 app_launcher_manager.pyInstall a launcher for the manager itself:
chmod +x install.sh
./install.shThen open Activities and search: App Drawer Manager.
- Click Add Application.
- Pick a file (script, binary, AppImage, etc.).
- Select wrapper (Auto usually correct) and optionally add arguments.
- (Optional) Choose / attach an icon image (PNG / SVG).
- Set categories (e.g.
Utility;Development;). - Save — it appears in Activities almost immediately.
Click the pencil icon to modify an existing launcher (exec, name, icon, terminal, categories).
Click the trash icon → confirm → launcher file is removed from ~/.local/share/applications.
Creates .desktop files under:
~/.local/share/applications
Icons (when you choose a file) are copied to:
~/.local/share/icons/hicolor/128x128/apps
GNOME indexes these automatically. The marker line:
X-Custom-Added=1
lets the app distinguish its managed entries.
| Issue | Fix |
|---|---|
| Launcher not visible | Run touch ~/.local/share/applications and reopen Activities. |
| Icon not showing | Ensure image is PNG/SVG, then run (optional) `gtk4-update-icon-cache ~/.local/share/icons/hicolor |
| Script doesn’t run | Ensure executable bit if using Direct, or use wrapper (python3 / bash). |
| Path with spaces fails | App now quotes paths; re-create or edit & save to regenerate Exec. |
| Still cached old icon | Log out/in or restart gnome-shell (on Xorg: Alt+F2, type r). |
| Type | Auto Behavior |
|---|---|
.py |
Runs with python3 unless executable & chosen Direct |
.sh / .bash |
Runs with bash |
.js |
Runs with node |
| AppImage / Binary | Direct if executable |
- Drag & drop file to create launcher
- Bulk import / export
- Icon preview thumbnail
- MIME / URL handlers
- Actions (right-click menus)
PRs and issues welcome. Ideas: improve accessibility, add localization, add advanced desktop entry fields.
MIT — see LICENSE (add one if not present).
Ray — more projects & updates at: https://rayistec.dev
If you like this tool, ⭐ the repo and share it.
Always review scripts you convert into launchers. Launchers can execute arbitrary code.
Tested on Fedora GNOME (GTK4/Libadwaita). Other distros with GNOME 42+ should work; file an issue if not.