Looking for a good app launcher for Linux. Currently looking for something for Arch and I see there’s a lot of options liks rofi and wofi. What are your favourite app launchers and why?

  • khurozov@jvm.social
    link
    fedilink
    arrow-up
    3
    ·
    3 months ago

    @gwilikers dmenu is suckles app launcher. it’s super minimalistic and can be used for choosing things with other things as well, for example pass_menu

  • ctr1@fl0w.cc
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 months ago

    I use fzf with a popup terminal:

    # example for i3
    bindsym $mod+Return exec --no-startup-id kitty -T _menu_ -e bash -c 'ls $HOME/.local/bin/ | fzf | xargs -r -I{} i3-msg -t command exec $HOME/.local/bin/{}'
    for_window [title="_menu_"] floating enable
    for_window [title="_menu_"] resize set 600 800
    

    I like this approach because it’s simple and configurable. I prefer to see only the symlinks/scripts that I put in my local bin folder, but it can easily be extended to support .desktop files, multiple folders, filtering, etc.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      3 months ago

      I like these self made scripts. Some ideas to improve this: a) instead ls, use find command if you want use its output as input in another program (will yield fullpath too), b) fzf has a preview functionality, which I like a lot to use when it comes to directories or script files. As for the run command, I’m not sure why you use xargs and what i3-msg is needed for. Here is an alternative way.

      (Edit: I always forget that beehaw will convert my ampersand to &. Have this in mind if you read the below code.)

      bash -c 'cd "${HOME}/.local/bin"; path="$(find . -maxdepth 1 -type f -executable -printf "%f\n" | fzf --preview "cat {}")" && "${path}"'
      

      below same command in a bit more readable standalone script:

      #!/usr/bin/env bash
      cd "${HOME}/.local/bin" || exit 1
      path="$( \
          find . -maxdepth 1 -type f -executable -printf "%f\n" | \
          fzf --preview "cat {}" \
      )" && "${path}"
      

      The biggest problem with fzf is, that scripts that need an argument are not covered here. One could either use the input string from fzf as arguments or like that, or an optional input after fzf selection.

      • ctr1@fl0w.cc
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 months ago

        Ah nice! Thanks for the suggestion. Yeah --preview is a great feature that is good to remember.

        And true, it’s better to use find -executable than ls. Although in my case I would use -type f -o -type l since I want to include symlinks (often I will cd into my local bin folder and ln -s $(which ) to add it to my launcher). I’m using ls since I only put executables in there and using relative file paths so that it’s nicer to look at. But cd or sed would work as well

        Yeah the xargs + i3-msg part is a bit clunky but I’m not sure what else to do, since the terminal window needs to close immediately, which prevents the application from running. I tried a few variations with nohup and launching in the background, but haven’t found another solution. But I’m sure there’s a way

  • communism@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    I like rofi because of how many different modes people have made for it, e.g. rofi-calc, and the customisability is great too. Unfortunately it can be slow to start, but if speed is of utmost importance to you and you’re on Wayland, you might want to look into tofi

  • pedroapero@lemmy.ml
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    3 months ago

    I’m fine with Rofi. I’ve used xfce4-appfinder also, it’s less minimal, not configurable (good graphical defaults, might be what you want).

    • kelvie@lemmy.ca
      link
      fedilink
      arrow-up
      4
      ·
      3 months ago

      I also use krunner but unless I’ve misconfigured it, I wouldn’t call it fast (and it freezes a lot since it runs in the background).

      Compared to when I used rofi on hyprland (which was really fast). I’m back on KDE cause of the hyprland toxicity debacle, and honesty the only thing that isn’t fast, customizable, and reliable is the app runner.

      Krunner also has a weird quirk where as it loads entries, it will change the currently selected option so when you hit Enter, it will actually not execute the one you want, but instead run “Install <random package from fuzzy search>”

      Talking out loud I should probably bind alt+space to back to rofi or try Fuzzel or something

  • www-gem@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    3 months ago

    I use rofi as my app launcher and more. I’ve share my old script here.

    I have now extended this script to support the following:

    • execute a command if the input text belongs to /bin or /usr/local/bin
    • do some basic maths (using menu-calc)
    • open url in my web browser if the input text starts starts with http(s) or ends with .xxx (where x is any letter)
    • translate the input text in English/French using the deepl website if the input text starts with dpen/dpfr
    • search the input text with searx (if all the above failed)
    • manage my web bookmarks (using buku)
    • manage my clipboard (using copyq)
    • manage my passwords and autofill fields (using pass)
    • manage bluetooth devices
    • manage audio sinks and sources
    • manage my wifi and vpn
    • manage my tmux sessions
    • Eyck_of_denesle@lemmy.zip
      link
      fedilink
      arrow-up
      1
      ·
      3 months ago

      Unfortunately not actively maintained and the project got stuck in a decision process from the dev for plugin contribution process.

      Fortunately still works. A similar project from a contributor there is walker. Very early in development but is way more promising.

    • 8Bitz0@discuss.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      3 months ago

      The Mac app? That would be great. Only problem is that the plugin ecosystem is centered around macOS, and they use native UI. However, they do have a waitlist for Windows (and iOS).

      Something like that is gonna be hard to pull off.

  • TootSweet@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 months ago

    I use dmenu_run because it’s ridiculously minimal, has zero dependencies, is very fast, and fits with the i3 aesthetic well.

  • hushable@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    3 months ago

    I’ve been using ULauncher for a while and I’m quite happy with it, it has plugin support too.