I'm looking for a "proper" launcher that also allows running raw commands, including tab completion. Hence, it must do two things, at a minimum.

  1. It's a "proper" launcher, hence respect ~/.local/share/applications/*.desktop, not just commands in $PATH.
  2. Run raw commands with tab completion, so I can type in gimp /tmp/foo Tab and have it autocomplete to gimp /tmp/foobar.png

What I've tried

KDE's krunner is quite good, but doesn't offer tab completion of paths. gmrun and grun don't respect *.desktop files, and the latter also doesn't offer tab completion of paths. kupfer doesn't run raw commands at all, as far as I can tell.

(FWIW I'm running KDE, but hopefully this is not important.)

  • 3
    @mikeserv I'm not sure if we're talking about the same thing? Isn't dmenu a GUI for picking from a list of user-supplied items? i.e. similar to zenity or yad?
    – Sparhawk
    Feb 8, 2015 at 23:26
  • @mikeserv But I'd basically have to write it myself (using dmenu as a backbone), if I want it to execute what I enter, respect *.desktop files, and tab-complete for paths. I did install it, but it doesn't appear to offer any of that functionality out of the box.
    – Sparhawk
    Feb 8, 2015 at 23:30
  • 1
    @mikeserv Ahhh okay. I had just installed dmenu and read the man page, which didn't really suggest anything about it having launcher functionality. However, I've now tested both dmenu and dmenu-file-completion, and neither features tab completion of paths, nor reading *.desktop files. Thanks for the suggestion anyway.
    – Sparhawk
    Feb 8, 2015 at 23:44
  • How about INTERROBANG? Mar 15, 2016 at 16:29
  • @Proletariat Thanks for the link. It looks interesting, but it doesn't seem to respect ~/.local/share/applications/*.desktop files (I tried typing the Name). Also, it steal all keyboard input (can't type in another window), and doesn't seem to remember history, which makes my current solution (gmrun) better for the moment.
    – Sparhawk
    Mar 15, 2016 at 23:58

1 Answer 1


You can try Rofi as far as I know it's capable of all your conditions hassle free and out of the box. There is one exception and that is auto completion of the path (not command) which is hard to implement. However you can use Rofi with fzf (or alike).

here is pretty handy configuration for your setup ($HOME/rofi/config):

!=============  rofi  ==================

!| you can refer rofi site/screenshot for different configurations
rofi.location:          6
rofi.color-enabled:     true
rofi.color-window:      argb:ee0F3B5F, #CC9752, #CC9752
rofi.color-normal:      argb:00111111, #E5DBCF, argb:00111111, #CC9752, #0F3B5F
rofi.color-urgent:      argb:00111111, #af652f, argb:00111111, #af652f, #0F3B5F
rofi.color-active:      argb:00111111, #70a16c, argb:00111111, #70a16c, #0F3B5F
rofi.key-combi:         Alt-F3
rofi.separator-style:   dash
rofi.fullscreen:        false
rofi.padding:           2
rofi.hide-scrollbar:    true
rofi.line-margin:       5
rofi.fake-transparency: true
rofi.yoffset:           -20
rofi.xoffset:           0
rofi.width:             80
rofi.lines:         4
rofi.terminal:      urxvt
rofi.font:      Inconsolata 18
rofi.fuzzy:         true
rofi.run-command:   zsh -c "{cmd}"
rofi.opacity:       75

p.s. pay attention to rofi.run-command and rofi-terminal.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.