Qball's Weblog

Beati pauperes spiritu

Rofi 0.15.10

| Comments

Rofi release 0.15.10

Because of large changes within rofi we skipped the 0.15.9 release. But I think it was worth the wait. The extra time allowed us to get some large changes through. I will highlight some of these changes in more details below, at the bottom you can find the full list of changes.

Fast ASCII filtering

Tom Hinton did some amazing work speeding up filtering in rofi for large lists. Rofi now automatically uses ASCII matching when possible, avoiding the very expensive UTF-8 calls. This makes Rofi usable on very last lists, especially tools like clerk benefit from this.


Cairo Drawing

This one should hopefully be invisible for most users, but rofi now uses cairo for all the drawing. This solves some of the weird issues with transparency. Transparent themes now look the way you expect them to look. In addition to the change to cairo, at a small memory cost, we reduced the amount of times fonts are (re)rendered, this gives a nice little performance boost on low end hardware. As a bonus using cairo made it easy to add fake transparency support.

Fake transparancy

Standalone and fullscreen rofi

Rofi now handles resizing and moving of the window better (not perfect yet), allowing it to be used as a standalone application in dmenu mode. Allowing you to switch to other applications, move the window and more. Because of these changes, Rofi can now handle being used in fullscreen mode; allowing for a distraction free work flow.


Combi mode supports ‘bangs’

Combi mode gives you very quick access to window switcher, run dialog and more in one list. You can now filter for a certain mode be prepending your query with a bang:

!r firefox

Will call firefox using the run mode. While it is not a large change it helps being fast and productive with rofi.


Improved help output

Rofi used to open the man page when called with -help, while useful this might not be ideal. It will now list all the available commandline options as you expect, even the dynamically added ones. The (static) options will show a small hint and every option also show the current setting, allowing you to review if your rofi setup is correct.


Rofi can be tweaked into the smallest details to your preferences. You can:

  • Hide the scrollbar
  • Hide the separator, or make it a dashed line.
  • Pango markup in dmenu mode.
  • Use glob style matching.
  • Disable tokenizing of query.

Full ChangeLog

New feature:

  • Support for Startup Notification
  • Standalone mode in dmenu
  • ssh: known_hosts parsing
  • Full screen support
  • Glob style matching
  • Fast ascii filtering (thx to Tom Hinton)
  • Combi bang support
  • normal window mode for dmenu
  • Startup notification support
  • Current desktop window mode


  • Keep same line selected
  • Cleanup menu code by re-using Switcher
  • Fix drawing on resize
  • Fix rofi -h output
  • allow disabling of tokenizing
  • Dragging scrollbar
  • Allow none type on separator
  • Dmenu support markup in fields

Bug fixes:

  • dmenu use switcher system
  • release keyboard on focus out event, regrab it on focus in event
  • Support \0 separator


I would like to thank everybody who made this release possible:

  • Benjamin Cremer
  • Bruno Braga
  • Buglloc
  • Daniel Hahler
  • Dave Davenport
  • Deiwin Sarjas
  • Edwin Pujols
  • Eric Engeström
  • Georgios Bitzes
  • Greg Fitzgerald
  • Hexchain Tong
  • Jason Pleau
  • Michael Vetter
  • Peter Cannici
  • Rasmus Steinke
  • Roomcays
  • Simon Hanna
  • Thomas Adam
  • Thorsten Wißmann
  • Tilman Blumenbach
  • Tom Hinton
  • daemoni
  • koppa
  • qedi
  • seanpringle
  • vimeitor