# ROFI 1 rofi ## NAME **rofi** - A window switcher, run launcher, ssh dialog and dmenu replacement ## SYNOPSIS **rofi** [ -width *pct_scr* ] [ -lines *lines* ] [ -columns *columns* ] [ -font *pangofont* ] [ -fg *color* ] [ -fg-urgent *color* ] [ -fg-active *color* ] [ -bg-urgent *color* ] [ -bg-active *color* ] [ -bg *color* ] [ -bgalt *color* ] [ -hlfg *color* ] [ -hlbg *color* ] [ -key-**mode** *combo* ] [ -terminal *terminal* ] [ -location *position* ] [ -fixed-num-lines ] [ -padding *padding* ] [ -opacity *opacity%* ] [ -display *display* ] [ -bc *color* ] [ -bw *width* ] [ -dmenu [ -p *prompt* ] [ -sep *separator* ] [ -l *selected line* ] [ -mesg ] [ -select ] ] [ -filter *filter* ] [ -ssh-client *client* ] [ -ssh-command *command* ] [ -disable-history ] [ -levenshtein-sort ] [ -case-sensitive ] [ -show *mode* ] [ -modi *mode1,mode2* ] [ -eh *element height* ] [ -lazy-filter-limit *limit* ] [ -e *message*] [ -a *row* ] [ -u *row* ] [ -pid *path* ] [ -now ] [ -rnow ] [ -snow ] [ -version ] [ -help] [ -dump-xresources ] [ -auto-select ] [ -parse-hosts ] [ -combi-modi *mode1,mode2* ] [ -quiet ] ## DESCRIPTION **rofi** is an X11 popup window switcher, run dialog, dmenu replacement and more. It focuses on being fast to use and have minimal distraction. It supports keyboard and mouse navigation, type to filter, tokenized search and more. ## USAGE **rofi** can be used in three ways, single-shot; executes once and directly exits when done, as a daemon listening to specific key-combination or emulating dmenu. ### Single-shot mode To launch **rofi** directly in a certain mode, specifying `rofi -show `. To show the run dialog: ``` rofi -show run ``` ### Daemon mode To launch **rofi** in daemon mode don't specify a mode to show (`-show `), instead you can bind keys to launch a certain mode. To have run mode open when pressing `F2` start **rofi** like: ``` rofi -key-run F2 ``` Keybindings can also be specified in the `Xresources` file. ### Emulating dmenu **rofi** can emulate `dmenu` (a dynamic menu for X) when launched with the `-dmenu` flag. The official website for `dmenu` can be found [here](http://tools.suckless.org/dmenu/). ## OPTIONS There are currently three methods of setting configuration options: * Compile time: edit config.c. This method is strongly discouraged. * Xresources: A method of storing key values in the Xserver. See [here](https://en.wikipedia.org/wiki/X_resources) for more information. This is the recommended way of configuring **rofi**. * Command-line options: Arguments passed to **rofi**. The Xresources options and the command-line options are aliased. So to set option X you would set: rofi.X: value In the Xresources file, and to (override) this via the command-line you would pass the same key prefixed with a '-': rofi -X value To get a list of available options, formatted as Xresources entries run: rofi -dump-xresources The configuration system supports the following types: * String * Integer (signed and unsigned) * Char * Boolean The boolean option has a non-default command-line syntax, to enable option X you do: -X to disable it: -no-X Below is a list of the most important options: ### General `-key-{mode}` **KEY** Set the key combination to display a {mode} in daemon mode. rofi -key-run F12 rofi -key-ssh control+shift+s rofi -key-window mod1+Tab `-dmenu` Run **rofi** in dmenu mode. Allowing it to be used for user interaction in scripts. In `dmenu` mode, **rofi** will read input from STDIN, and will output to STDOUT by default. Example to let the user choose between three pre-defined options: echo -e "Option #1\nOption #2\nOption #3" | rofi -dmenu Or get the options from a script: ~/my_script.sh | rofi -dmenu Pressing `shift-enter` will open the selected entries and move to the next entry. `-show` *mode* Open **rofi** in a certain mode. For example to show the run-dialog: rofi -show run This function deprecates -rnow,-snow and -now `-switchers` *mode1,mode1* `-modi` *mode1,mode1* Give a comma separated list of modes to enable, in what order. For example to only show the run and ssh launcher (in that order): rofi -modi "run,ssh" -show run Custom modes can be added using the internal 'script' mode. Each mode has two parameters: :