Wayland Application Launchers: Stick with Rofi

Today is a lazy Sunday, and I did what nobody should do on a Sunday: Spend time trying to replace something that already works. This time, my victim was rofi.

I have been using GNU/Linux since 2001 on my workstations. During this time, I have never used Microsoft Windows, and I used macOS for a short period of time as a bootloader for Emacs.

On GNU/Linux, I occasionally used Gnome and KDE in the beginning, but most of the time, I used minimalistic window managers. Since I switched to Wayland, I have been using Sway as my window manager.

Granted, I do not use more than a few desktop applications. The ones I launch run until I reboot my workstation, such as Firefox, Wezterm, Emacs etc. I even replaced Emacs with Neovim recently. Everything else is just CLI or TUI tools.

One of the funny scenes to watch for me is when my family members attempt to use my mouse to launch a Web browser to show me something. They first get confused and then angry when they realize that there is nothing to click on the screen.

So, what do I use to launch desktop applications? rofi.

It is a very simple but powerful “window switcher, application launcher and dmenu replacement”. It looks and feels similar to macOS’ Spotlight. It has the concept of modes, which are basically different prompts for different purposes. You can create your own prompts.

One of the most powerful features of rofi is the ability to use it as a standalone prompt. For example, bemoji is a shell script that uses rofi (or another picker) to search emojis, select one, and copy it to the clipboard:

nix run nixpkgs#bemoji

I am happy with rofi, except that Wayland support is currently provided through a fork called rofi-wayland. My setup from when I was using X works on Wayland with some exceptions. Instead of spending my time fixing these issues, I usually look for alternatives, mostly out of laziness and curiosity.

Today, I did that again. The outcome was still sticking with rofi, but some alternatives are worth mentioning, in alphabetical order:

There is a dedicated section on Wayland launchers in the Awesome Wayland. You can check it out yourself if you are interested in more options. For me, in the final analysis, I did not find a replacement for rofi. Yet, I see fuzzel and raffi as future options.

But also, sway-launcher-desktop is a brilliant hack that uses fzf to implement a launcher that works in the console. I can think of many such use cases. As a starting point, I revisited my fzf shell integration configuration today and decided to invest in it a bit more for my scripting efforts.

Published on 11 May 2025 Technical Notes GNU/Linux