summaryrefslogtreecommitdiffstats
path: root/doc/rofi.1.markdown
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2017-07-17 21:38:15 +0200
committerDave Davenport <qball@gmpclient.org>2017-07-17 21:38:15 +0200
commit603676e64036bf10578c885f05d1099f4c51e5e7 (patch)
tree946a2f37cd85df9428514466937dfc016f3e8eea /doc/rofi.1.markdown
parent2060059c46af52097974aff76ec2ad8885c1587a (diff)
parentd7d239d808f8b818c44a0029282ae019ba6ad476 (diff)
Merge remote-tracking branch 'origin/meson/manpage-fix'
Diffstat (limited to 'doc/rofi.1.markdown')
-rw-r--r--doc/rofi.1.markdown967
1 files changed, 967 insertions, 0 deletions
diff --git a/doc/rofi.1.markdown b/doc/rofi.1.markdown
new file mode 100644
index 00000000..3a7c30eb
--- /dev/null
+++ b/doc/rofi.1.markdown
@@ -0,0 +1,967 @@
+# ROFI 1 rofi
+
+## NAME
+
+**rofi** - A window switcher, application 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* ]
+[ -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* ]
+[ -e *message*]
+[ -a *row* ]
+[ -u *row* ]
+[ -pid *path* ]
+[ -version ]
+[ -help ]
+[ -dump-xresources ]
+[ -auto-select ]
+[ -parse-hosts ]
+[ -no-parse-known-hosts ]
+[ -combi-modi *mode1,mode2* ]
+[ -normal-window ]
+[ -fake-transparency ]
+[ -matching *method* ]
+[ -tokenize ]
+[ -no-click-to-exit ]
+[ -threads *num* ]
+[ -config *filename* ]
+[ -no-show-match ]
+[ -theme *filename* ]
+[ -theme-str *string* ]
+[ -dpi *dpi* ]
+
+## 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** main functionality is to assist in your workflow, allowing you to quickly (with a few keystrokes) switch
+between windows, start applications or log into a remote machine via ssh. There are different modi for different type of
+actions.
+
+**rofi** can also function as (drop in) replacement for **dmenu(1)**.
+
+### Running rofi
+
+To launch **rofi** directly in a certain mode, specify a mode with `rofi -show <mode>`.
+To show the run dialog:
+
+ rofi -show run
+
+
+### Emulating dmenu
+
+**rofi** can emulate **dmenu(1)** (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/).
+
+## CONFIGURATION
+
+There are currently three methods of setting configuration options (evaluated in order below):
+
+ * System configuration file (f.e. /etc/rofi.conf).
+ * 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.
+ By default XDG_USER_CONFIG_DIR defaults to `$HOME/.config`. (See `rofi -h` for current location).
+ * Command-line options: Arguments passed to **rofi**.
+
+**TIP**: To get a template config file run: `rofi -dump-xresources > rofi-example.config`.
+
+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 option X:
+
+ -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 (run-time generated) 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).
+
+`-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
+
+`-show` *mode*
+
+Open **rofi** in a certain mode. Available modes are `window`, `run`, `drun`, `ssh`, `combi`.
+The special argument `keys` can be used to open a searchable list of supported keybindings
+(see *KEYBINDINGS*)
+
+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:
+
+ <name>:<script>
+
+Example: Have a mode 'Workspaces' using the `i3_switch_workspaces.sh` script:
+
+ rofi -modi "window,run,ssh,Workspaces:i3_switch_workspaces.sh" -show Workspaces
+
+Notes: The I3 Window manager does not like commas in the command when specifying an exec command.
+For that case '#' can be used as an separator.
+
+`-case-sensitive`
+
+Start in case sensitive mode.
+This option can be changed at run-time using the `-kb-toggle-case-sensitivity` key binding.
+
+`-cycle`
+
+Cycle through the results list. Default is 'true'.
+
+`-filter` *filter*
+
+Filter the list by setting text in input bar to *filter*
+
+`-config` *filename*
+
+Load alternative configuration file.
+
+`-scroll-method` *method*
+
+Select the scrolling method. 0: Per page, 1: continuous.
+
+`-no-show-match`
+
+Hide the indicator that shows what part of the string is matched.
+
+`-no-lazy-grab`
+
+Disables lazy grab, this forces the keyboard being grabbed before gui is shown.
+
+`-no-plugins`
+
+Disable plugin loading.
+
+`-plugin-path` *directory*
+
+Specify the directory where *rofi* should look for plugins.
+
+
+### Matching
+
+`-matching` *method*
+
+Specify the matching algorithm used.
+Current the following methods are supported.
+
+* **normal**: Match the int string.
+* **regex**: Match a regex input.
+* **glob**: Match a glob pattern.
+* **fuzzy**: Do a fuzzy match.
+
+ Default: *normal*
+
+Note: glob matching might be slow for larger lists
+
+`-tokenize`
+
+Tokenize the input.
+
+### Layout
+
+Most of the following options are **deprecated** and should not be used. Please use the new theme format to customize
+rofi. More information about the new format can be found in the **rofi-theme(5)** manpage.
+
+`-lines`
+
+Maximum number of lines to show before scrolling.
+
+ rofi -lines 25
+
+Default: *15*
+
+`-columns`
+
+Number of columns to show before scrolling.
+
+ rofi -columns 2
+
+Default: *1*
+
+`-width` [value]
+
+Set width of menu. `[value]` is specified in percentage.
+
+ rofi -width 60
+
+If `[value]` is larger then 100, size is set in pixels. Example to span a full hd monitor:
+
+ rofi -width 1920
+
+If `[value]` is negative, it tries to estimates a character width. To show 30 characters on a row:
+
+ rofi -width -30
+
+Character width is a rough estimation, and might not be correct, but should work for most monospaced fonts.
+
+Default: *50*
+
+`-location`
+
+Specify where the window should be located. The numbers map to the following locations on screen:
+
+ 1 2 3
+ 8 0 4
+ 7 6 5
+
+Default: *0*
+
+`-fixed-num-lines`
+
+Keep a fixed number of visible lines (See the `-lines` option.)
+
+`-padding`
+
+Define the inner margin of the window.
+
+Default: *5*
+
+`-fullscreen`
+
+Use the full screen height and width.
+
+`-sidebar-mode`
+
+Open in sidebar-mode. In this mode a list of all enabled modes is shown at the bottom.
+(See `-modi` option)
+To show sidebar use:
+
+ rofi -show run -sidebar-mode -lines 0
+
+`-auto-select`
+
+When one entry is left, automatically select it.
+
+`-m` *num*
+
+`-m` *name*
+
+`-monitor` *num*
+
+`-monitor` *name*
+
+Select monitor to display **rofi** on.
+As input it accepts: *primary* (if primary output is set), the *xrandr* output name or integer number (in order of
+detection). Negative numbers are handled differently:
+
+ * **-1**: the currently focused monitor.
+ * **-2**: the currently focused window (i.e. rofi will be displayed on top of the focused window).
+ * **-3**: Position at mouse (overrides the location setting to get normal context menu
+ behaviour.)
+ * **-4**: the monitor with the focused window.
+ * **-5**: the monitor that shows the mouse pointer.
+
+ Default: *-5*
+
+See `rofi -h` output for the detected monitors, their position and size.
+
+
+`-theme` *filename*
+
+Path to the new theme file format. This overrides the old theme settings.
+
+`-theme-str` *string*
+
+Allow theme parts to be specified on the commandline as an override.
+
+For example
+
+ rofi -theme-str '#window { fullscreen: true; }'
+
+This option can be specified multiple times.
+
+
+
+`-dpi` *number*
+
+Override the default DPI setting.
+If set to `0` it tries to auto-detect based on X11 screen size. (Similar to i3 and GTK)
+If set to `1` it tries to auto-detect based on monitor (rofi is displayed on) size. (Similar to latest QT5)
+
+### PATTERN setting
+
+`-terminal`
+
+Specify what terminal to start.
+
+ rofi -terminal xterm
+
+Pattern: *{terminal}*
+Default: *x-terminal-emulator*
+
+`-ssh-client` *client*
+
+Override the used ssh client.
+
+Pattern: *{ssh-client}*
+Default: *ssh*
+
+
+### SSH settings
+
+`-ssh-command` *cmd*
+
+Set the command to execute when starting a ssh session.
+The pattern *{host}* is replaced by the selected ssh entry.
+
+Pattern: *{ssh-client}*
+Default: *{terminal} -e {ssh-client} {host}*
+
+`-parse-hosts`
+
+Parse the `/etc/hosts` file for entries.
+
+Default: *disabled*
+
+`-parse-known-hosts`
+`-no-parse-known-hosts`
+
+Parse the `~/.ssh/known_hosts` file for entries.
+
+Default: *enabled*
+
+### Run settings
+
+`-run-command` *cmd*
+
+Set command (*{cmd}*) to execute when running an application.
+See *PATTERN*.
+
+Default: *{cmd}*
+
+`-run-shell-command` *cmd*
+
+Set command to execute when running an application in a shell.
+See *PATTERN*.
+
+Default: *{terminal} -e {cmd}*
+
+`-run-list-command` *cmd*
+
+If set, use an external tool to generate list of executable commands. Uses 'run-command'
+
+Default: *""*
+
+### Window switcher settings
+
+`-window-format` *format*
+
+Format what is being displayed for windows.
+
+*format*: {field[:len]}
+
+*field*:
+
+ * **w**: Desktop name
+ * **t**: Title of window
+ * **n**: Name
+ * **r**: Role
+ * **c**: Class
+
+*len*: maximum field length (0 for auto-size). If length negative and window *width* is negative field length is *width - len*.
+if length is positive, the entry will be truncated or padded to fill that length.
+
+
+default: {w} {c} {t}
+
+`-window-command` *cmd*
+
+Set command to execute on selected window for custom action.
+See *PATTERN*.
+
+Default: *"xkill -id {window}"*
+
+### Combi settings
+
+`-combi-modi` *mode1,mode2*
+
+The modi to combine in combi mode.
+For syntax to see `-modi`.
+To get one merge view, of window,run,ssh:
+
+ rofi -show combi -combi-modi "window,run,ssh" -modi combi
+
+Notes: The I3 Window manager does not like commas in the command when specifying an exec command.
+For that case '#' can be used as an separator.
+
+### History and Sorting
+
+`-disable-history`
+`-no-disable-history` (re-enable history)
+
+Disable history
+
+`-levenshtein-sort` to enable
+`-no-levenshtein-sort` to disable
+
+When searching sort the result based on levenshtein distance.
+This setting can be changed at runtime, see `-kb-toggle-sort`.
+
+### Dmenu specific
+
+`-sep` *separator*
+
+Separator for dmenu. Example: To show list 'a' to 'e' with '|' as separator:
+
+ echo "a|b|c|d|e" | rofi -sep '|' -dmenu
+
+`-p` *prompt*
+
+Specify the prompt to show in dmenu mode. E.g. select monkey a,b,c,d or e.
+
+ echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey:"
+
+Default: *dmenu*
+
+`-selected-row` *selected row*
+
+Select a certain row.
+
+Default: *0*
+
+`-l` *number of lines to show*
+
+Maximum number of lines the menu may show before scrolling.
+
+ rofi -lines 25
+
+Default: *15*
+
+`-i`
+
+Makes dmenu searches case-insensitive
+
+`-a` *X*
+
+Active row, mark row X as active. (starting at 0)
+You can specify single element: -a 3
+A range: -a 3-8
+or a set of rows: -a 0,2
+or any combination: -a 0,2-3,9
+
+`-u` *X*
+
+Urgent row, mark row X as urgent. (starting at 0)
+You can specify single element: -u 3
+A range: -u 3-8
+or a set of rows: -u 0,2
+or any combination: -u 0,2-3,9
+
+`-only-match`
+
+Only return a selected item, do not allow custom entry.
+This mode always returns an entry, or returns directly when no entries given.
+
+`-no-custom`
+
+Only return a selected item, do not allow custom entry.
+This mode returns directly when no entries given.
+
+`-format` *format*
+
+Allows the output of dmenu to be customized (N is total number of input entries):
+
+ * 's' selected string.
+ * 'i' index (0 - (N-1)).
+ * 'd' index (1 - N).
+ * 'q' quote string.
+ * 'f' filter string (user input).
+ * 'F' quoted filter string (user input).
+
+Default: 's'
+
+`-select` *string*
+
+Select first line that matches the given string
+
+`-mesg` *string*
+
+Add a message line below the filter entry box. Supports pango markup.
+For more information on supported markup see [here](https://developer.gnome.org/pango/stable/PangoMarkupFormat.html)
+
+`-normal-window`
+
+Make **rofi** react like a normal application window. Useful for scripts like Clerk that are basically an application.
+
+`-dump`
+
+Dump the filtered list to stdout and quit.
+This can be used to get the list as **rofi** would filter it.
+Use together with `-filter` command.
+
+`-input` *file*
+
+Reads from *file* instead of stdin.
+
+`-password`
+
+Hide the input text. This should not be considered secure!
+
+`-markup-rows`
+
+Tell **rofi** that DMenu input is pango markup encoded and should be rendered.
+See [here](https://developer.gnome.org/pango/stable/PangoMarkupFormat.html) for details about pango markup.
+
+
+`-multi-select`
+
+Allow multiple lines to be selected. Adds a small selection indicator to the left of each entry.
+
+`-sync`
+
+Force rofi mode to first read all data from stdin before showing selection window. This is how original dmenu behaviour.
+
+Note: the default asynchronous mode will also be automatically disabled if used with conflicting options
+such as `-dump`, `-only-match` or `-auto-select`
+
+`-async-pre-read` *number*
+
+Reads the first 25 entries blocking. Then switches to async mode. This makes it feel more 'snappy'.
+
+*default*: 25
+
+### Message dialog
+
+`-e` *message*
+
+Popup a message dialog (used internally for showing errors) with *message*.
+Message can be multi-line.
+
+### Other
+
+`-pid` *path*
+
+Make **rofi** create a pid file and check this on startup. Avoiding multiple copies running
+simultaneously. This is useful when running **rofi** from a keybinding daemon.
+
+`-fake-transparency`
+
+Enable fake transparency. This only works with transparent background color in the theme.
+
+`-fake-background`
+
+Select what to use as background for fake transparency. This can be 'background', 'screenshot' or a path to an image
+file (currently only supports png).
+
+`-display-{mode}` *string*
+
+Set the name to use for mode. This is used as prompt and in combi-browser.
+
+`-click-to-exit`
+`-no-click-to-exit`
+
+Click the mouse outside of the **rofi** window to exit.
+
+Default: *enabled*
+
+### Debug
+
+
+`-no-config`
+
+Disable parsing of configuration. This runs rofi in *stock* mode.
+
+`-no-plugins`
+
+Disables the loading of plugins.
+
+To get a trace with (lots of) debug information set the following environment variable when executing **rofi**:
+
+```
+G_MESSAGES_DEBUG=all
+```
+
+The trace can be filtered by only outputting the relevant domains, f.e.:
+
+```
+G_MESSAGES_DEBUG=Dialogs.DRun
+```
+
+For more information on debugging see the [wiki](https://github.com/DaveDavenport/rofi/wiki/Debugging%20Rofi)
+
+## PATTERN
+
+To launch commands (e.g. when using the ssh launcher) the user can enter the used command-line,
+the following keys can be used that will be replaced at runtime:
+
+ * `{host}`: The host to connect to.
+ * `{terminal}`: The configured terminal (See -terminal-emulator)
+ * `{ssh-client}`: The configured ssh client (See -ssh-client)
+ * `{cmd}`: The command to execute.
+ * `{window}`: The window id of the selected window. (In `window-command`)
+
+## DMENU REPLACEMENT
+
+If `argv[0]` (calling command) is dmenu, **rofi** will start in dmenu mode.
+This way it can be used as a drop-in replacement for dmenu. just copy or symlink **rofi** to dmenu in `$PATH`.
+
+ ln -s /usr/bin/rofi /usr/bin/dmenu
+
+## THEMING
+
+The theme format below describes the old (pre version 1.4) theme format. Please see rofi-theme(5) manpage for an updated
+manual.
+
+The theme setup allows you to specify colors per state, similar to **i3**
+Currently 3 states exists:
+
+ * **normal** Normal row.
+ * **urgent** Highlighted row (urgent)
+ * **active** Highlighted row (active)
+
+For each state the following 5 colors must be set:
+
+ * **bg** Background color row
+ * **fg** Text color
+ * **bgalt** Background color alternating row
+ * **hlfg** Foreground color selected row
+ * **hlbg** Background color selected row
+
+The window background and border color should be specified separate. The key `color-window` contains
+a pair `background,border,separator`.
+An example for `Xresources` file:
+
+ ! State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg'
+ rofi.color-normal: #fdf6e3, #002b36, #eee8d5, #586e75, #eee8d5
+ rofi.color-urgent: #fdf6e3, #dc322f, #eee8d5, #dc322f, #fdf6e3
+ rofi.color-active: #fdf6e3, #268bd2, #eee8d5, #268bd2, #fdf6e3
+
+ ! 'background', 'border', 'separator'
+ rofi.color-window: #fdf6e3, #002b36, #002b36
+
+Same settings can also be specified on command-line:
+
+ rofi -color-normal "#fdf6e3,#002b36,#eee8d5,#586e75,#eee8d5"
+
+## COLORS
+
+RGB colors can be specified by either its X11 name, or hexadecimal notation.
+For example:
+
+ white
+
+Or
+
+ #FFFFFF
+
+ARGB colors are also support, these can be used to create a transparent window if: 1. Your Xserver supports TrueColor, 2.
+You are running a composite manager.
+
+ argb:FF444444
+
+Or
+
+ #FF444444
+
+The first two fields specify the alpha level. This determines the amount of transparency.
+(00 everything, FF nothing). The other fields represent the actual color, in hex.
+
+Within **rofi** transparency can be used, e.g. if the selected background color is 50% transparent, the background color
+of the window will be visible through it.
+
+## KEYBINDINGS
+
+**rofi** has the following key-bindings:
+
+ * `Ctrl-v, Insert`: Paste clipboard
+ * `Ctrl-Shift-v, Shift-Insert`: Paste primary selection
+ * `Ctrl-u`: Clear the line
+ * `Ctrl-a`: Beginning of line
+ * `Ctrl-e`: End of line
+ * `Ctrl-f, Right`: Forward one character
+ * `Alt-f`: Forward one word
+ * `Ctrl-b, Left`: Back one character
+ * `Alt-b`: Back one word
+ * `Ctrl-d, Delete`: Delete character
+ * `Ctrl-Alt-d`: Delete word
+ * `Ctrl-h, Backspace`: Backspace (delete previous character)
+ * `Ctrl-Alt-h`: Delete previous word
+ * `Ctrl-j,Ctrl-m,Enter`: Accept entry
+ * `Ctrl-n,Down`: Select next entry
+ * `Ctrl-p,Up`: Select previous entry
+ * `Page Up`: Go to the previous page
+ * `Page Down`: Go to the next page
+ * `Ctrl-Page Up`: Go to the previous column
+ * `Ctrl-Page Down`: Go to the next column
+ * `Ctrl-Enter`: Use entered text as command (in ssh/run modi)
+ * `Shift-Enter`: Launch the application in a terminal (in run mode)
+ * `Shift-Enter`: Return the selected entry and move to the next item while keeping Rofi open. (in dmenu)
+ * `Shift-Right`: Switch to the next modi. The list can be customized with the `-switchers` argument.
+ * `Shift-Left`: Switch to the previous modi. The list can be customized with the `-switchers` argument.
+ * `Ctrl-Tab`: Switch to the next modi. The list can be customized with the `-switchers` argument.
+ * `Ctrl-Shift-Tab`: Switch to the previous modi. The list can be customized with the `-switchers` argument.
+ * `Ctrl-space`: Set selected item as input text.
+ * `Shift-Del`: Delete entry from history.
+ * `grave`: Toggle case sensitivity.
+ * `Alt-grave`: Toggle levenshtein sorting.
+ * `Alt-Shift-S`: Take a screenshot and store this in the Pictures directory.
+
+To get a full list of keybindings on the commandline, see `rofi -dump-xresources | grep kb-`.
+Keybindings can be modified using the configuration systems.
+To get searchable list of keybindings, run `rofi -show keys`.
+
+A keybinding starting with `!` will act when all keys have been released.
+
+## Available Modi
+
+### Window
+
+Show a list of all the windows and allow switching between them.
+Pressing the `delete-entry` binding (`shift-delete`) will close the window.
+Pressing the `accept-custom` binding (`control-enter` or `shift-enter`) will run a command on the window.
+(See option `window-command` );
+
+### WindowCD
+
+Shows a list of the windows on the current desktop and allows switching between them.
+Pressing the `delete-entry` binding (`shift-delete`) will kill the window.
+Pressing the `accept-custom` binding (`control-enter` or `shift-enter`) will run a command on the window.
+(See option `window-command` );
+
+### Run
+
+Shows a list of executables in **$PATH** and can launch them (optional in a terminal).
+Pressing the `delete-entry` binding (`shift-delete`) will remove this entry from the run history.
+Pressing the `accept-custom` binding (`control-enter` or `shift-enter`) will run the command in a terminal.
+
+### DRun
+
+Same as the **run** launches, but the list is created from the installed desktop files. It automatically launches them
+in a terminal if specified in the Desktop File.
+Pressing the `delete-entry` binding (`shift-delete`) will remove this entry from the run history.
+Pressing the `accept-custom` binding (`control-enter` or `shift-enter`) with custom input (no entry matching) will run the command in a terminal.
+
+### SSH
+
+Shows a list of SSH targets based on your ssh config file, and allows to quickly ssh into them.
+
+### Keys
+
+Shows a searchable list of key bindings.
+
+### Script
+
+Allows custom scripted Modi to be added.
+
+## FAQ
+
+### The text in the window switcher is not nicely lined out.
+
+Try using a mono-space font.
+
+### The window is completely black.
+
+Check quotes used on the commandline: e.g. used “ instead of ".
+
+### What does the icon in the top right show?
+
+The indicator shows:
+
+ ` ` Case insensitive and no sorting.
+ `-` Case sensitivity enabled, no sorting.
+ `+` Case insensitive and Sorting enabled
+ `±` Sorting and Case sensitivity enabled"
+
+## EXAMPLES
+
+Some basic usage examples of **rofi**:
+
+Show the run dialog:
+
+ rofi -modi run -show run
+
+
+Show the the run dialog and allow switching to Desktop File run dialog (drun):
+
+ rofi -modi run,drun -show run
+
+Combine the run and Desktop File run dialog (drun):
+
+ rofi -modi combi -show combi -combi-modi run,drun
+
+
+Combine the run and Desktop File run dialog (drun) and allow switching to window switcher:
+
+ rofi -modi combi,window -show combi -combi-modi run,drun
+
+Run **rofi** full monitor width at the top of the monitor like a dropdown menu:
+
+ rofi -show run -width 100 -location 1 -lines 5 -bw 2 -yoffset -2
+
+Get a colored list of available wifi networks:
+
+ tty-pipe nmcli device wifi | out2html -p | rofi -dmenu -markup-rows
+
+Popup a text message claiming that this is the end:
+
+ rofi -e "This is the end"
+
+Popup a text message in red, bold font claiming that this is still the end:
+
+ rofi -e "<span color='red'><b>This is still the end</b></span>>" -markup
+
+Show all keybindings:
+
+ rofi -show keys
+
+Use `qalc` to get a simple calculator in **rofi**:
+
+ rofi -show calc -modi "calc:qalc +u8 -nocurrencies"
+
+## I3
+
+In [I3](http://i3wm.org/) you want to bind rofi to be launched on key-release. Otherwise it cannot grab the keyboard.
+See also the I3 [manual](http://i3wm.org/docs/userguide.html):
+
+Some tools (such as import or xdotool) might be unable to run upon a KeyPress event, because the keyboard/pointer is
+still grabbed. For these situations, the --release flag can be used, which will execute the command after the keys have
+been released.
+
+## LICENSE
+
+ MIT/X11
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## WEBSITE
+
+**rofi** website can be found at [here](https://davedavenport.github.io/rofi/)
+
+## SUPPORT
+
+**rofi** support can be obtained [here](irc://irc.freenode.net/#rofi) (#rofi on irc.freenode.net), or via the
+[forum](https://reddit.com/r/qtools//)
+
+## DEBUGGING
+
+Please see [this](https://github.com/DaveDavenport/rofi/wiki/Debugging Rofi) wiki entry.
+
+## ISSUE TRACKER
+
+**rofi** issue tracker can be found [here](https://github.com/DaveDavenport/rofi/issues)
+
+When creating an issue, please read [this](https://github.com/DaveDavenport/rofi/blob/master/.github/CONTRIBUTING.md)
+first.
+
+## SEE ALSO
+
+rofi-sensible-terminal(1), dmenu(1), rofi-theme(5)
+
+## AUTHOR
+
+Qball Cow <qball@gmpclient.org>
+
+Rasmus Steinke <rasi@xssn.at>
+
+Quentin Glidic <sardemff7+rofi@sardemff7.net>
+
+
+Original code based on work by: Sean Pringle <sean.pringle@gmail.com>
+
+For a full list of authors, check the AUTHORS file.