What does HackerNews think of rofi?

Rofi: A window switcher, application launcher and dmenu replacement

Language: C

#5 in C
I made a script to open files with rofi

https://github.com/davatorium/rofi

Looks like this:

https://i.imgur.com/Hm9TGeV.jpg

In a vscode terminal I just use the alias "o" and it opens that at the correct location, then I can navigate and pick a file to open in the editor.

If you're on linux, rofi[1] is a very versatile fuzzy-search graphical application. One of the typical ways to use it is to invoke it in script mode (see man rofi-script) with a shell script, where if called without arguments it invokes rofi against that script's stdout, and if called with arguments it runs a different command with that argument. This is nice because I don't have to switch to/open a new terminal or emacs, it's bound to a key I can invoke from anywhere in the graphical session. The kill process script is pretty simple (I filter out the path names from the nix store since I'm using nix)

  if [[ -z "$@" ]]; then
      echo -e "\0prompt\x1fKill Process"
      ps -ax | awk '{$2 = "" ; $3 = ""; $4 = ""; print $0}' | tail -n +2 | sed 's/\/nix\/store\/[^\/]*//'
  else
      kill $1
  fi
[1] https://github.com/davatorium/rofi
Albert - https://albertlauncher.github.io/

Synapse - https://launchpad.net/synapse-project

fbrun - https://linux.die.net/man/1/fbrun

rofi (my personal favourite) - https://github.com/davatorium/rofi

gmrun - https://github.com/WdesktopX/gmrun

krunner - https://userbase.kde.org/Plasma/Krunner

dmenu - https://tools.suckless.org/dmenu/

and shout out to Alfred for Mac - https://www.alfredapp.com/

map any of these to ctrl+space or super+space and never use the start menu/icon launchers again (or don't run a desktop at all!)

Nice little piece of writing - thanks for sharing.

One of the key things I can't go without now in my workflow is a clipboard manager.

I use Rofi (https://github.com/davatorium/rofi) in combination with Greenclip (https://github.com/erebe/greenclip) and it's a Godsend.

I have a custom keybinding (super key + c) that will bring up the Rofi menu to fuzzy search through previously copied items or pinned items. Super handy when writing code, finding old snippets, etc.

Can't recommend it enough.

I don't have a Compose key, and I really wish I did. I tried mapping my left Alt key to act as a Compose key, but I couldn't get it to work on Linux. As a workaround, I mapped a keycombo to pull up a rofi [1] menu with a list of common Unicode characters, and upon selection of a character it gets sent to my system clipboard, from where I can just paste it. In that regard, it's more like Character Map than like an actual Compose key, but it does work quite well for my needs.

When I'm on Windows, mapping a key to Compose is actually much easier to do, through the excellent WinCompose utility [2].

[1] https://github.com/davatorium/rofi

[2] http://wincompose.info/

I love these interfaces and use them wherever I can. On MacOS I use Alfred for launching applications, killing processes, controlling music playback, searching the web and my filesystem, swapping file tabs, and tons more. Spotlight search, which is built in, is also very competent. For the command line I use fzf which can add fuzzy search for all sorts of things. built in its ctrl+r functionality I find very useful. As well as kill commands where i can fuzzy search by the name of the program and it'll type in the pid for you. fasd is useful for navigating through directories, though it doesn't pop up a palette.

For those interested here is a small list of them, though not comprehensive, that I've found useful:

Launchers

MacOS

- https://www.alfredapp.com/

- https://raycast.com/

- https://obdev.at/products/launchbar/index.html

- https://lacona.app/

Windows

- https://keypirinha.com/

- https://docs.microsoft.com/en-us/windows/powertoys/run

Linux:

- https://github.com/davatorium/rofi

- http://tools.suckless.org/dmenu/

Command line

- https://github.com/junegunn/fzf

- https://github.com/clvv/fasd

- vim : https://github.com/junegunn/fzf.vim

Emacs

- https://emacs-helm.github.io/helm

- https://github.com/abo-abo/swiper

For something similar to your xrandr example in i3m, I prefer to use rofi, which gives you an interactive menu in the center of the screen:

Link to Rofi: https://github.com/davatorium/rofi

Examples of how I use rofi:https://adityam.github.io/linux-blog/post/rofi-selectors/

"dmenu is garbage compared to program search in modern desktop environments, it's just search for bash commands, half the results arent something you'd want to run from your desktop and it doesn't learn"

Try rofi[1]. It learns.

[1] - https://github.com/davatorium/rofi

My brand new laptop was stolen while I was in school and I had to finish the year with a used 10-inch netbook I borrowed from a friend. Because of the tiny display and underpowered processor I had to get creative, I installed Arch plus i3 and it worked like a charm. In fact, I noticed my productivity actually went up. Eventually I got a new laptop, I switched off Arch to Ubuntu but I've been using i3 ever since.

If you're an i3 user here are a couple cool things to check out:

- scratchpad [1]: Little known i3 feature. Let's you put individual windows in a scratch workspace and then pull them up quickly over your regular workspaces. Really useful docs and things like that, I keep my time tracker in a scratch workspace.

- rofi [2]: This is a dmenu replacement with a nicer interface that lets you combine lists of commands in a single search window. I have it configured so I can search through my open windows by title or run any program from the same interface.

[1]: https://i3wm.org/docs/userguide.html#_scratchpad

[2]: https://github.com/davatorium/rofi

Greenclips [1] works well for this if you're a rofi [2] user. You can set a staticHistoryPath that points to a file. When activating Greenclips, you can search for the desired command. I've been using this on my Linux box for the last year or so and haven't looked back.

[1] https://github.com/erebe/greenclip

[2] https://github.com/davatorium/rofi

Sounds kind of manual compared to what I do now which is wrap calibredb in a script and narrow if needed via rofi.

https://github.com/davatorium/rofi

Presumably would be about as easy to do in elisp.

A call to calibredb in a library of thousands of books on ssd is only 1/3 -> 1/2 a second

This sound like a use for Rofi[0] and some kind of Todo.txt code that appends to a file

[0]: https://github.com/davatorium/rofi

I don't understand it either. I have mapped caps lock to some command launcher/window switcher, which spares me pressing two keys.. Esc is even on the same side as the keyboard..

Rofi: https://github.com/davatorium/rofi