1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-18 13:54:36 -05:00

Proof read README.md (#643)

* Clean up and proof read README.md

Fix typos. Edit sentence clarity.

* Fix list formatting

Improve consistency in lists, i.e. phrases or sentences, not a mix.

* Proof read "Key bindings"

Edit for consistency.
This commit is contained in:
Marcin Sedlak 2017-07-31 14:30:05 +02:00 committed by Dave Davenport
parent a9ae4424c2
commit c846ef1bcc

141
README.md
View file

@ -9,42 +9,42 @@
# A window switcher, Application launcher and dmenu replacement # A window switcher, Application launcher and dmenu replacement
**Rofi** started as clone of simpleswitcher, written by [Sean Pringle](http://github.com/seanpringle/simpleswitcher) a **Rofi** started as a clone of simpleswitcher, written by [Sean Pringle](http://github.com/seanpringle/simpleswitcher) a
popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/). popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/).
Simpleswitcher laid the foundations and therefor Sean Pringle deserves most of the credit for this tool. **Rofi**, Simpleswitcher laid the foundations, and therefor Sean Pringle deserves most of the credit for this tool. **Rofi**
renamed as it lost the *simple* property, has been extended with extra features, like a application launcher, (renamed, as it lost the *simple* property) has been extended with extra features, like an application launcher,
ssh-launcher and can act as a drop-in dmenu replacement, making it a very versatile tool. ssh-launcher and can act as a drop-in dmenu replacement, making it a very versatile tool.
**Rofi**, like dmenu, will provide the user with a textual list of options where one or more can be selected. **Rofi**, like dmenu, will provide the user with a textual list of options where one or more can be selected.
This can either be, running an application, selecting a window or options provided by an external script. This can either be, running an application, selecting a window or options provided by an external script.
It main features are: Its main features are:
* Fully configurable keyboard navigation. * fully configurable keyboard navigation
* Type to filter * type to filter
- Tokenized: Type any word in any order to filter. - tokenized: type any word in any order to filter
- (toggable) Case insensitive. - (togglable) case insensitive
- Supports fuzzy, regex and glob matching. - support for fuzzy-, regex-, and glob matching
* UTF-8 enabled. * UTF-8 enabled
- UTF-8 aware string collating. - UTF-8-aware string collating
- intl. keyboard support (`e -> è) - international keyboard support (`e -> è)
* RTL language support. * RTL language support
* Cairo drawing and Pango font rendering. * Cairo drawing and Pango font rendering
* Build in modes: * built-in modes:
- Window switcher mode. - window switcher mode
- EWMH compatible WM. - EWMH compatible WM
- Application launcher. - application launcher
- Desktop File Application launcher. - desktop file application launcher
- SSH launcher mode. - SSH launcher mode
- Combi mode, allow several modes to be merged into one list. - Combi mode, allowing several modes to be merged into one list
* History based ordering last 25 choices are ordered on top based on use. (optional) * history-based ordering — last 25 choices are ordered on top based on use (optional)
* Levenshtein distance ordering of matches. (optional) * Levenshtein distance ordering of matches (optional)
* Drop in dmenu replacement. * drop-in dmenu replacement
- With many added improvements. - many added improvements
* Can be easily extended using scripts. * easily extensible using scripts
* Themeing. * theming
**Rofi** has several buildin modes implementing common use-cases and can be exteneded by scripts (either called from **Rofi** has several built-in modes implementing common use cases and can be exteneded by scripts (either called from
**Rofi** or calling **Rofi**). **Rofi** or calling **Rofi**).
Below the different modes are listed: Below the different modes are listed:
@ -56,44 +56,44 @@ Below the different modes are listed:
The window switcher shows the following informations in columns (can be customized): The window switcher shows the following informations in columns (can be customized):
1. Desktop name 1. Desktop name
2. Window class. 2. Window class
3. Window title. 3. Window title
Window mode features: Window mode features:
- Closing applications by hitting `Shift-Delete`. - closing applications with `Shift-Delete`
- Custom command by `Shift-Return` - custom command with `Shift-Return`
## Application launcher ## Application launcher
![run mode](https://davedavenport.github.io/rofi/images/rofi/run-dialog.png) ![run mode](https://davedavenport.github.io/rofi/images/rofi/run-dialog.png)
The run mode allows users to quickly search and launch a program. The run mode allows users to quickly search for and launch a program.
Run mode features: Run mode features:
- Shift-Return to run the selected program in a terminal. - `Shift-Return` to run the selected program in a terminal
- Favorites list, frequently used programs are sorted on top. - favorites list, with frequently used programs sorted on top
- Execute command to add custom entries, like aliases. - custom entries, like aliases, added by executing a command
## Desktop File Application launcher ## Desktop File Application launcher
The desktop run mode allows users to quickly search and launch an application from the *freedesktop.org* Desktop The desktop run mode allows users to quickly search and launch an application from the *freedesktop.org* Desktop
Entries. These are used by most common Desktop Environments to populate launchers and menus. Entries. These are used by most Desktop Environments to populate launchers and menus.
Drun mode features: Drun mode features:
- Favorites list, frequently used programs are sorted on top. - favorites list, with frequently used programs sorted on top
- Auto starting terminal applications in a terminal. - auto starting terminal applications in a terminal
## SSH launcher ## SSH launcher
![SSH Launcher](https://davedavenport.github.io/rofi/images/rofi/ssh-dialog.png) ![SSH Launcher](https://davedavenport.github.io/rofi/images/rofi/ssh-dialog.png)
Quickly ssh into remote machines Quickly `ssh` into remote machines
- Parses ~/.ssh/config to find hosts. - parses `~/.ssh/config` to find hosts
## Script mode ## Script mode
@ -105,7 +105,7 @@ rofi -show fb -modi fb:../Examples/rofi-file-browser.sh
## COMBI mode ## COMBI mode
Combine multiple modes in one view. This is especially usefull when merging the window and run mode into one view. Combine multiple modes in one view. This is especially useful when merging the window and run mode into one view.
Allowing to quickly switch to an application, either by switching to it when it is already running or starting it. Allowing to quickly switch to an application, either by switching to it when it is already running or starting it.
Example to combine Desktop run and the window switcher: Example to combine Desktop run and the window switcher:
@ -122,9 +122,9 @@ Drop in dmenu replacement. (Screenshot shows rofi used by
[teiler](https://github.com/carnager/teiler) ). [teiler](https://github.com/carnager/teiler) ).
**Rofi** features several improvements over dmenu to improve usability. There is the option to add **Rofi** features several improvements over dmenu to improve usability. There is the option to add
an extra message bar (`-mesg`), pre-entering of text (`-filter`) or selecting entries based on a an extra message bar (`-mesg`), pre-entering of text (`-filter`), or selecting entries based on a
pattern (`-select`). Also highlighting (`-u` and `-a`) options and modi to force user to select one pattern (`-select`). Also highlighting (`-u` and `-a`) options and modi to force user to select one
provided option (`-only-match`). In addition to this rofi's dmenu mode can select multiple lines and provided option (`-only-match`). In addition to this, rofi's dmenu mode can select multiple lines and
write them to stdout. write them to stdout.
# Usage # Usage
@ -133,18 +133,18 @@ If used with `-show [mode]`, rofi will immediately open in the specified [mode]
If used with `-dmenu`, rofi will use data from STDIN to let the user select an option. If used with `-dmenu`, rofi will use data from STDIN to let the user select an option.
For example to show a run dialog: For example, to show a run dialog:
`rofi -show run` `rofi -show run`
Show a ssh dialog: To show a ssh dialog:
`rofi -show ssh` `rofi -show ssh`
## dmenu ## dmenu
If passed the `-dmenu` option, or ran as `dmenu` (ie, /usr/bin/dmenu is symlinked to /usr/bin/rofi), If rofi is passed the `-dmenu` option, or run as `dmenu` (ie, /usr/bin/dmenu is symlinked to /usr/bin/rofi),
rofi will use the data passed from STDIN. it will use the data passed from STDIN.
``` ```
~/scripts/my_script.sh | rofi -dmenu ~/scripts/my_script.sh | rofi -dmenu
@ -158,11 +158,11 @@ In both cases, rofi will output the user's selection to STDOUT.
Type `Shift-/Left/Right` to switch between active modi. Type `Shift-/Left/Right` to switch between active modi.
## Keybindings ## Key bindings
| Key | Action | | Key | Action |
|:----------------------------|:-------------------------------------------------------------------| |:----------------------------|:-------------------------------------------------------------------|
|`Ctrl-v, Insert` | Paste clipboard | |`Ctrl-v, Insert` | Paste from clipboard |
|`Ctrl-Shift-v, Shift-Insert` | Paste primary selection | |`Ctrl-Shift-v, Shift-Insert` | Paste primary selection |
|`Ctrl-w` | Clear the line | |`Ctrl-w` | Clear the line |
|`Ctrl-u` | Delete till the start of line | |`Ctrl-u` | Delete till the start of line |
@ -183,7 +183,7 @@ Type `Shift-/Left/Right` to switch between active modi.
|`Page Down` | Go to the next page | |`Page Down` | Go to the next page |
|`Ctrl-Page Up` | Go to the previous column | |`Ctrl-Page Up` | Go to the previous column |
|`Ctrl-Page Down` | Go to the next column | |`Ctrl-Page Down` | Go to the next column |
|`Ctrl-Enter` | Use entered text as command (in ssh/run modi) | |`Ctrl-Enter` | Use entered text as a command (in `ssh/run modi`) |
|`Shift-Enter` | Launch the application in a terminal (in run mode) | |`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-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 -modi option. | |`Shift-Right` | Switch to the next modi. The list can be customized with the -modi option. |
@ -193,10 +193,10 @@ Type `Shift-/Left/Right` to switch between active modi.
|`Ctrl-space` | Set selected item as input text. | |`Ctrl-space` | Set selected item as input text. |
|`Shift-Del` | Delete entry from history. | |`Shift-Del` | Delete entry from history. |
|`grave` | Toggle case sensitivity. | |`grave` | Toggle case sensitivity. |
|`Alt-grave` | Toggle levenshtein sort. | |`Alt-grave` | Toggle levenshtein sort. |
|`Alt-Shift-S` | Take a screenshot and store this in the Pictures directory. | |`Alt-Shift-S` | Take a screenshot and store it in the Pictures directory. |
For the full list of keybindings see: `rofi -show keys` or `rofi -help`. For the full list of key bindings, see: `rofi -show keys` or `rofi -help`.
# Configuration # Configuration
@ -205,59 +205,58 @@ There are currently three methods of setting configuration options:
* Local configuration. Normally, depending on XDG, in `~/.local/rofi/config`. This uses the Xresources format. * Local configuration. Normally, depending on XDG, in `~/.local/rofi/config`. This uses the Xresources format.
* Xresources: A method of storing key values in the Xserver. See * Xresources: A method of storing key values in the Xserver. See
[here](https://en.wikipedia.org/wiki/X_resources) for more information. [here](https://en.wikipedia.org/wiki/X_resources) for more information.
* Commandline options: Arguments passed to **Rofi**. * Command line options: Arguments are passed to **Rofi**.
A distribution can ship defaults in `/etc/rofi.conf`. A distribution can ship defaults in `/etc/rofi.conf`.
The Xresources options and the commandline options are aliased. To define option X set: The Xresources options and the command line options are aliased. To define option X set:
rofi.X: value rofi.X: value
In the Xresources file. To set/override this from commandline pass the same key In the Xresources file. To set/override this from command line pass the same key
prefixed with '-': prefixed with '-':
rofi -X value rofi -X value
To get a list of available options, formatted as Xresources entries run: To get a list of available options formatted as Xresources entries, run:
rofi -dump-Xresources rofi -dump-Xresources
or in a more readable format or in a more readable format:
rofi -help rofi -help
The configuration system supports the following types: The configuration system supports the following types:
* String * string
* Integer (signed and unsigned) * integer (signed and unsigned)
* Char * char
* Boolean * Boolean
The boolean option has a non-default commandline syntax, to enable option X you do: The Boolean option has a non-default command line syntax, to enable option X you do:
rofi -X rofi -X
to disable it: to disable it:
rofi -no-X rofi -no-X
# Manpage # Manpage
For more detailed information, please see the [manpage](doc/rofi-manpage.markdown), the [wiki](https://github.com/DaveDavenport/rofi/wiki) or the [forum](https://reddit.com/r/qtools/). For more detailed information, please see the [manpage](doc/rofi-manpage.markdown), the [wiki](https://github.com/DaveDavenport/rofi/wiki), or the [forum](https://reddit.com/r/qtools/).
# Installation # Installation
Please see the [installation guide](https://davedavenport.github.io/rofi/p08-INSTALL.html) for instruction on how to Please see the [installation guide](https://davedavenport.github.io/rofi/p08-INSTALL.html) for instructions on how to
install **Rofi**. install **Rofi**.
# What is rofi not? # What is rofi not?
Rofi is not: Rofi is not:
* A preview application. In other words, it will not show a (small) preview of image, movie or other files. * A preview application. In other words, it will not show a (small) preview of images, movies or other files.
* A UI toolkit. * A UI toolkit.
* A library to be used in other applications. * A library to be used in other applications.
* An application that can support every possible use-case. It tries to generic enough to be usable by everybody. * An application that can support every possible use-case. It tries to be generic enough to be usable by everybody.
Specific functionality can be added using scripts. Specific functionality can be added using scripts.
* Just a dmenu replacement. The dmenu functionality is a nice 'extra' to **rofi** not its main purpose. * Just a dmenu replacement. The dmenu functionality is a nice 'extra' to **rofi**, not its main purpose.