# 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* ] [ -terminal *terminal* ] [ -location *position* ] [ -fixed-num-lines ] [ -padding *padding* ] [ -opacity *opacity%* ] [ -display *display* ] [ -bw *width* ] [ -dmenu [ -p *prompt* ] [ -sep *separator* ] [ -l *selected line* ] [ -mesg ] [ -select ] [ -input *input* ] ] [ -filter *filter* ] [ -ssh-client *client* ] [ -ssh-command *command* ] [ -window-command *command* ] [ -disable-history ] [ -levenshtein-sort ] [ -case-sensitive ] [ -cycle ] [ -show *mode* ] [ -modi *mode1,mode2* ] [ -eh *element height* ] [ -lazy-filter-limit *limit* ] [ -e *message*] [ -a *row* ] [ -u *row* ] [ -pid *path* ] [ -version ] [ -help ] [ -dump-xresources ] [ -dump-xresources-theme ] [ -auto-select ] [ -parse-hosts ] [ -no-parse-known-hosts ] [ -combi-modi *mode1,mode2* ] [ -normal-window ] [ -fake-transparency ] [ -matching *method* ] [ -tokenize ] [ -threads *num* ] [ -config *filename* ] ## 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 two ways, single-shot (runs a mode then exits) or emulating dmenu. ### Single-shot mode To launch **rofi** directly in a certain mode, specify a mode with `rofi -show `. To show the run dialog: rofi -show run ### 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 (evaluated in order below): * 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**. * Configuration File: This uses the same format as the Xresources file. By default it looks in `XDG_USER_CONFIG_DIR`/rofi/config, but can be overriden on commandline. * Command-line options: Arguments passed to **rofi**. * System configuration file (f.e. /etc/rofi.conf). The Xresources file expects options starting with `rofi.` followed by it's name. An Example to set the number of lines: rofi.lines: 10 Command line options override settings from Xresources file. The same option set as argument: prefixed with a '-': rofi -lines 10 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 Boolean options have a non-default command-line syntax. Example to enable option X: -X to disable it: -no-X Below is a list of the most important options: ### General `-help` The help option shows the full list of commandline options and the current set value. These include dynamic options. `-dump-xresources` Dump the current active configuration in Xresources format to the command-line. This does not validate all passed values (e.g. colors). `-dump-xresources-theme` Dump the current color scheme in Xresources format to the command-line. `-threads` *num* Specify the number of threads **rofi** should use: * 0: Autodetect the number of supported hardware threads. * 1: Disable threading * 2..N: Specify the maximum number of threads to use in the thread pool. `-dmenu` Run **rofi** in dmenu mode. This allows for interactive scripts. In `dmenu` mode, **rofi** reads from STDIN, and output to STDOUT. A simple example, displaying 3 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 the `accept-custom` binding (`control-enter` or `shift-enter`) sends the selected entry to STDOUT and moves to the next entry. `-show` *mode* Open **rofi** in a certain mode. Available modes are `window`, `run`, `ssh` To show the run-dialog: rofi -show run `-modi` *mode1,mode1* Specify a ordered, comma separated list of modes to enable. Enabled modes can be changed at runtime. Default key is Ctrl+Tab. If no modes are specified all modes will be enabled. To only show the run and ssh launcher: rofi -modi "run,ssh" -show run Custom modes can be added using the internal 'script' mode. Each mode has two parameters: :