I wrote a simple script in order to help someone in a recent reply from me, to make running Flatpak applications from terminal easier. After that I worked a little bit on it further and now ended up with 2 completely different approaches.
- flatrun: Run an app by a matching search filter. If multiple matches, then print all matching app ids instead.
- flatapp: Show list of installed apps in an interactive menu. Plus show a description of the app in a preview window. Run the selected application. Requires
fzf
. - flatsearch: Show search results from repository in an interactive menu. A selected entry will be installed or uninstalled if it exists already (with confirmation from
flatpak
). Requiresfzf
.
# Show all matching apps
$ flatrun F
com.github.tchx84.Flatseal
io.freetubeapp.FreeTube
# Run io.freetubeapp.FreeTube
$ flatrun freetube
# Show help for com.obsproject.Studio
$ flatrun obs --help
or flatapp
: (requires fzf
)
and new flatsearch youtube
(requires fzf
)
… and this part is before
/usr/local/bin
making it impossible to override Flatpak bins or desktop files.One can just move the path to another place in the $PATH. Not really impossible. Not an elegant solution, just proof of concept:
export PATH="$(echo "${PATH}" | sed 's+:/var/lib/flatpak/exports/bin++'):/var/lib/flatpak/exports/bin"
Edit:
Or if it makes you uncomfortable to change the placement of this folder in the $PATH, instead you can just add a new directory solely for this purpose. In example add “/home/yourname/.local/flatpak/bin” (or whatever else you like) and put it in front of the flatpak exports directory.