Best App Launcher on Linux

gwilikers@lemmy.ml to Linux@lemmy.ml – 65 points –

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?

55

Arch is just a distro. What DE or Window manager are you on, Wayland or still XOrg?

rofi and wofi are a good example how this question makes no sense.

You're right I sbould have included that in the question. I'm on Hyprland with Wayland so there are quite a few choices. I mentioned rofi (rofi-wayland) and wofi because I can see that they are both options here.

I use a Wayland version of rofi when I use hyprland though wofi probably works fine too (which I believe is default as per the config).

I just use whatever is included with the desktop environment. On KDE and GNOME launching an application involves pressing the Super ("Windows") key, typing the first couple of letters of the application I want to launch and pressing the return key.

I might be missing something here but I don't know how other launchers could possibly make this a simpler process.

I might be missing something here but I don’t know how other launchers could possibly make this a simpler process.

Shortcuts to launch an app directly in example. So my keyboard becomes my launcher.

I use bunch of different tools, including KRunner (on KDE) and previously Rofi. These type name and search tools for launching an app have the problem that you need to remember what name the tool was. For programs I use often this is not an issue, but not all applications have names good to remember and not all of them are used often. The associated description helps, but sometimes I don't know what words to type.

Therefore I "need" the app menu with categories and favorites, to navigate with the mouse through. And the most used applications are usually assigned to a shortcut and my panel on the top. In short I use mostly all of these techniques as an application launcher (in that order):

  1. favorites on panel and my keyboard shortcuts
  2. app menu with categories, navigating with mouse
  3. run tool to search for app name and description (also integrated into the app menu)
  4. additional helper scripts to search and launch programs in the terminal

Edit: Forgot to mention that some of the launchers I use are custom made scripts for the terminal.

Krunner in KDE Plasma. Fast, customisable and reliable.

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 "

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

try disabling any krunner plugins you don't need. that should make things faster.

Launch your apps from terminal like a real Arch gangsta

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

I ended up coding my own.

Lots of stuff I'd want in an applications launcher on hyperland. I'd need it to have all the functions of the important system indicators and essentially take the role of the top panel in gnome.

bemenu. Type stuff in popup, press enter, no confettis thrown on your face.

dmenu is iconic for a reason, although manually patching it to meet your preferences is a bit too much of a project for people who just want something to work. not wanting to learn C is valid.

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

I like fuzzel, had a few issues with dpi scaling on wofi out of the box.

Easy to integrate clipboard/window select/dmenu binds and a way to distinguish indexed entries from straight text was a plus.

Honestly unless you're going out of the box to something new (Walker and anyrun caught my eye) dmenu has had everything I needed for years... But I don't want to set it up again. Not again.

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.

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.

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

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

Very comfortable with Rofi. It's especially nice in a window manager as it also works as a switcher or shortcut to your open programs.

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).

@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

if you come from Windows, liked the 10 start menu, and you want to use KDE, there's a pretty similar launcher you can use: https://store.kde.org/p/2142716

it does not have collapsible groups and live tiles, but otherwise it's pretty good I think

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

Big fan of bash. Pretty sure it's already installed for you.

Playing along for Mint/Cinnamon suggestions. Already using the Cinimenu (or whatever it is) but its still not "it".

I like ulauncher. That's what I use on my main machine that runs Mint. It's not Mint or Cinnamon specific but it doesn't need to be

Maybe I misunderstood. Are launchers more like "search" or quick lunch?

I was looking for a start menu replacement.

I wish raycast was available!

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.

anyrun

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.

So you're using Hyprland WM.... I'm assuming to have a minimalistic Window Manager..... But you want an app launcher.

No offense, but FFS just use a DE at that point. You're just creating a DE with extra steps. KDE is nice and fairly lightweight.

makes no sense, app launcher+ window manager is still wayy more minimalistic than de

no, the point of Windows managers is not to be minimalistic

Plasma has such a good tiling window manager now as well, with one of the most low resource draw frameworks powering it. But it isn't cool and hip I guess!

how did you get tiling working in plasma? bismuth broke after plasma 6 the other ones are also really bad

Tiling is built into plasma after late versions of 5. You can hit super+T to change default layout, shift+drag window to snap to layout, and set custom keybinds for keybord navigation. There might be default settings but I set mine to mimic i3 of the bat so I couldnt tell you what they are…

that's not even close to being as good as auto tiling in wm's

Plasma ships with a tiling wm? I thought it was done using extensions like bismuth.

They added native tiling a while back! I am running debian 12 with plasma 5.27 and it is super comfortable.