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.

  1. flatrun: Run an app by a matching search filter. If multiple matches, then print all matching app ids instead.
  2. 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.
  3. 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). Requires fzf.
# 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)

  • 𝘋𝘪𝘳𝘬
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    … and this part is before /usr/local/bin making it impossible to override Flatpak bins or desktop files.

    • thingsiplay@beehaw.orgOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      8 months ago

      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.

      • boredsquirrel@slrpnk.net
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        6 months ago

        Or use ~/.local/bin/

        Didnt know about the preferences. These only depend on the order of placement in PATH?

        Or do they get by directory hierarchy, i.e. HOME can always override the System.

        Unix stuff is so simple sometimes

        • thingsiplay@beehaw.orgOP
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          No, the order of the directories in the $PATH is important. If you run command by name like grep, then the system will lookup in $PATH beginning from first directory. If its not in the first entry, then it falls back to next entry. If you have a command with same name multiple times in different directories, then you display all found paths with which -a grep in example; the first entry is what is used when running the command grep .