sat3llite/fzam

FZAM - Fuzzy AppImage Manager

Shell

1

21 commits

updated Sep 30, 2026

See the code

See what people are saying

SourceMessageScoreDate

FZAM: Manage your AppImages from the command line (r/commandline)

[**https://github.com/sat3llite/fzam**](https://github.com/sat3llite/fzam) **This project was not built with the use of AI. I wrote every line myself.** FZAM (Fuzzy AppImage Manager) is a very small shell script I made to manage AppImages from the command line. It uses fzf (hence the name Fuzzy) as…

1

Sep 30, 2026

README

#+TITLE: FZAM | Fuzzy AppImage Manager 
[[./screenshot.png]]

*WARNING: I am not responsible for any AppImage that is integrated to the system using fzam and it is malware. The user is advised to check for the security of the AppImages they download.*

FZAM is a bash script that lets the user integrate their AppImages to their desktop environment easily. It uses [[https://github.com/junegunn/fzf][fzf]] as its interface.

When the user selects an AppImage, fzam extracts the .desktop file from the root of the AppImage, together with its icon (.DirIcon) and make the required changes to the .desktop
file to launch the AppImage and use its icon. 

By default the AppImage, its icon and its desktop entry are moved into predefined locations which the user can change simply by altering some variables in the script.

* Dependencies
- fzf
- file
- gtk-update-icon-cache

* Installation & Running
- Since fzam installs AppImages on the =~/Applications= folder on the user's home directory, it makes sense that fzam is installed on =~/.local/bin= and exists for the local user only. That means that =make install= should not be run with sudo privileges.
  #+begin_src bash
  git clone https://github.com/sat3llite/fzam # Or download latest source code archive from Releases
  cd fzam
  make install
  #+end_src
  After that you can launch fzam from the terminal if =~/.local/bin= is included in =$PATH=.\\
  FZAM can be launched in debug / verbose mode with -d.
  
- =make uninstall= will uninstall fzam from the user's system.

* Frequently Asked Questions
** I cannot launch the AppImage through my desktop's menu or it does not show up at all.
Check out these fixes:
- Fzam changes the arguments in the =Exec== line in the AppImage's .desktop file through pattern matching with sed. So a lot of times this line points to a file that does not exist.
  To fix that simply open the .desktop file of the AppImage (by default the script places it in =~/.local/share/applications=) with a text editor (or through the FZAM menu) and change the Exec line to point to the AppImage location.

  For example for LibreOffice: \\
  Change =Exec=/usr/bin//home/user/Applications/libreoffice.AppImage25.2 %U= (invalid) to =Exec=/home/USER/Applications/libreoffice.AppImage %U= (correct)

- Some .desktop files contain the line =DBusActivatable=true= which for some reason does not launch the applications. You can set it to false.

- Fzam saves the .desktop files in =~/.local/share/applications=. But some Linux distributions do not include =~/.local/share= in the =XDG_DATA_DIRS= environment variable so the menu system cannot find them. Edit the =~/.profile= to include this line: 
  #+begin_src bash
  XDG_DATA_DIRS="$HOME/.local/share:$XDG_DATA_DIRS"
  #+end_src

** Fzam uses wrong name the for AppImage.
Simply change the AppImage's filename and its icon filename to the one you want. After that change the corresponding .desktop files to point to the right icon and AppImage (in the Icon= and Exec= lines respectively).

** Fzam takes a long time to find my AppImages
This is intentional because for portability reasons I use the system core utilities (find, grep, sed) which are slower and not any replacements which are faster (like fd) so that you can use fzam right away on your Linux distribution without needing to install a lot of 3rd party tools.

** The last commit was x months ago
The truth is that fzam is a fairly simple and small project so there is not much that needs to be changed. I call it feature-complete and I do not plan to add new features to it at this moment. It is not unmaintained, just complete.

** Is this vibe-coded?
No I have written every line by myself.

* Features
- Integrate AppImages
- Delete AppImages
- List all installed AppImages

* Features that may or may not be added
- Updating. Not every single AppImage support it ([[https://github.com/AppImageCommunity/AppImageUpdate][AppImageUpdate]] is a solution to this.) 

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

sat3llite/fzam

FZAM - Fuzzy AppImage Manager

Shell

1

21 commits

updated Sep 30, 2026

See the code

See what people are saying

SourceMessageScoreDate

FZAM: Manage your AppImages from the command line (r/commandline)

[**https://github.com/sat3llite/fzam**](https://github.com/sat3llite/fzam) **This project was not built with the use of AI. I wrote every line myself.** FZAM (Fuzzy AppImage Manager) is a very small shell script I made to manage AppImages from the command line. It uses fzf (hence the name Fuzzy) as…

1

Sep 30, 2026

README

#+TITLE: FZAM | Fuzzy AppImage Manager 
[[./screenshot.png]]

*WARNING: I am not responsible for any AppImage that is integrated to the system using fzam and it is malware. The user is advised to check for the security of the AppImages they download.*

FZAM is a bash script that lets the user integrate their AppImages to their desktop environment easily. It uses [[https://github.com/junegunn/fzf][fzf]] as its interface.

When the user selects an AppImage, fzam extracts the .desktop file from the root of the AppImage, together with its icon (.DirIcon) and make the required changes to the .desktop
file to launch the AppImage and use its icon. 

By default the AppImage, its icon and its desktop entry are moved into predefined locations which the user can change simply by altering some variables in the script.

* Dependencies
- fzf
- file
- gtk-update-icon-cache

* Installation & Running
- Since fzam installs AppImages on the =~/Applications= folder on the user's home directory, it makes sense that fzam is installed on =~/.local/bin= and exists for the local user only. That means that =make install= should not be run with sudo privileges.
  #+begin_src bash
  git clone https://github.com/sat3llite/fzam # Or download latest source code archive from Releases
  cd fzam
  make install
  #+end_src
  After that you can launch fzam from the terminal if =~/.local/bin= is included in =$PATH=.\\
  FZAM can be launched in debug / verbose mode with -d.
  
- =make uninstall= will uninstall fzam from the user's system.

* Frequently Asked Questions
** I cannot launch the AppImage through my desktop's menu or it does not show up at all.
Check out these fixes:
- Fzam changes the arguments in the =Exec== line in the AppImage's .desktop file through pattern matching with sed. So a lot of times this line points to a file that does not exist.
  To fix that simply open the .desktop file of the AppImage (by default the script places it in =~/.local/share/applications=) with a text editor (or through the FZAM menu) and change the Exec line to point to the AppImage location.

  For example for LibreOffice: \\
  Change =Exec=/usr/bin//home/user/Applications/libreoffice.AppImage25.2 %U= (invalid) to =Exec=/home/USER/Applications/libreoffice.AppImage %U= (correct)

- Some .desktop files contain the line =DBusActivatable=true= which for some reason does not launch the applications. You can set it to false.

- Fzam saves the .desktop files in =~/.local/share/applications=. But some Linux distributions do not include =~/.local/share= in the =XDG_DATA_DIRS= environment variable so the menu system cannot find them. Edit the =~/.profile= to include this line: 
  #+begin_src bash
  XDG_DATA_DIRS="$HOME/.local/share:$XDG_DATA_DIRS"
  #+end_src

** Fzam uses wrong name the for AppImage.
Simply change the AppImage's filename and its icon filename to the one you want. After that change the corresponding .desktop files to point to the right icon and AppImage (in the Icon= and Exec= lines respectively).

** Fzam takes a long time to find my AppImages
This is intentional because for portability reasons I use the system core utilities (find, grep, sed) which are slower and not any replacements which are faster (like fd) so that you can use fzam right away on your Linux distribution without needing to install a lot of 3rd party tools.

** The last commit was x months ago
The truth is that fzam is a fairly simple and small project so there is not much that needs to be changed. I call it feature-complete and I do not plan to add new features to it at this moment. It is not unmaintained, just complete.

** Is this vibe-coded?
No I have written every line by myself.

* Features
- Integrate AppImages
- Delete AppImages
- List all installed AppImages

* Features that may or may not be added
- Updating. Not every single AppImage support it ([[https://github.com/AppImageCommunity/AppImageUpdate][AppImageUpdate]] is a solution to this.) 

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Languages

Shell

92.5%

Roff

6.0%

Makefile

1.5%