2.7 KiB
ratbin
Integrate AppImages, standalone binaries and scripts into your desktop's application menu.
ratbin moves a file into an applications folder (~/Applications by default), makes it executable and writes a .desktop entry for it in ~/.local/share/applications. For AppImages it pulls the embedded desktop entry and icon out of the image, so the menu entry looks the same as a packaged app.
Features
- Integrate a single AppImage, ELF binary or script (
#!). - Bundle a binary together with its companion files (libraries, data, configs) into its own folder. If the selection holds several executables, ratbin asks which one starts the app (zenity or kdialog), or you pass
--main. - Repair entries after an AppImage updates or renames itself. ratbin remembers each file's identity (its AppImage update info, embedded desktop id, or a version-stripped name) and points the entry at the new file.
- Manage entries in a terminal UI: edit name, comment, categories, icon, arguments and terminal flag; change the target file; remove an entry with or without its file.
- Thunar integration: adds "Integrate into menu", "Integrate as bundle" and "Remove menu integration" to the right-click menu, with desktop notifications for the result.
- fastfetch: prints fastfetch's package line with a
(ratbin)count added, without counting AppImages twice.
Usage
ratbin # open the interactive manager
ratbin integrate <files>... # integrate each file on its own
ratbin bundle [--main <file>] <files>...
ratbin remove [--delete] <files>...
ratbin relink <entry> <file> # point an entry at a different executable
ratbin repair # fix entries whose file was renamed or updated
ratbin list
ratbin fastfetch
ratbin thunar install|uninstall
integrate, bundle and remove accept --notify to report the result as a desktop notification.
TUI keys
| Key | Action |
|---|---|
↑/↓, j/k |
select |
enter, e |
edit entry |
f |
change the entry's file |
d |
remove (then e entry only, d entry + file) |
r |
repair and reload |
q |
quit |
Configuration
~/.config/ratbin/config.toml is created on first run:
apps_dir = "~/Applications"
Installation
cargo install --path .
ratbin thunar install # optional: add the Thunar actions, then run `thunar -q`
An Arch Linux PKGBUILD lives in packaging/arch. It also installs a Ratbin menu entry that opens the manager in kitty.
Optional runtime tools: thunar, libnotify (notifications), zenity or kdialog (main-binary picker), desktop-file-utils (menu cache refresh), kitty (menu entry), fastfetch.
License
MIT, see LICENSE.