diff options
author | Dave Davenport <qball@gmpclient.org> | 2017-07-17 21:38:15 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2017-07-17 21:38:15 +0200 |
commit | 603676e64036bf10578c885f05d1099f4c51e5e7 (patch) | |
tree | 946a2f37cd85df9428514466937dfc016f3e8eea /doc/rofi.1.markdown | |
parent | 2060059c46af52097974aff76ec2ad8885c1587a (diff) | |
parent | d7d239d808f8b818c44a0029282ae019ba6ad476 (diff) |
Merge remote-tracking branch 'origin/meson/manpage-fix'
Diffstat (limited to 'doc/rofi.1.markdown')
-rw-r--r-- | doc/rofi.1.markdown | 967 |
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. |