Update README.

This commit is contained in:
Dave Davenport 2016-07-04 17:29:58 +02:00
parent de832cef8d
commit a10543e6c5
1 changed files with 56 additions and 32 deletions

View File

@ -7,45 +7,54 @@
# A window switcher, run dialog and dmenu replacement
A popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/).
This version started off as a clone of simpleswitcher, the version from [Sean
Pringle](http://github.com/seanpringle/simpleswitcher). All credit for this great tool should go to him.
Rofi developed extra features, like a run-dialog, ssh-launcher and can act as a drop-in dmenu
replacement, making it a very versatile tool.
**Rofi** started as 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/).
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 run-dialog, 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.
This can either be, running an application, selecting a window or options provided by an external script.
Using Rofi is a lot like dmenu, but extended for an improved work flow.
It main features are:
* Full (configurable) keyboard navigation.
* Type to filter
- Tokenized: Type any word in any order to filter.
- Case insensitive
- (toggable) Case insensitive.
- Supports regex and glob matching.
* UTF-8 enabled.
- UTF-8 aware string collating.
- intl. keyboard support (`e -> è)
* Pango font rendering.
* RTL language support.
* Window Switcher.
- I3 support.
- EWMH compatible WM.
* Run dialog.
* Desktop File Run dialog.
* SSH launcher.
* Cairo drawing and Pango font rendering.
* Build in modes:
- Window switcher mode.
- EWMH compatible WM.
- Workaround for older I3 installations.
- Run mode.
- Desktop File Run mode.
- SSH launcher mode.
- Combi mode, allow several modes to be merged into one list.
* History based ordering last 25 choices are ordered on top based on use. (optional)
* Levenshtein distance ordering of matches. (optional)
* Drop in dmenu replacement.
- With many added improvements.
* Can be easily extended using scripts.
* Themeing.
The 4 Main functions of rofi are:
**Rofi** has several buildin modes implementing common use-cases and can be exteneded by scripts (either called from
**Rofi** or calling **Rofi**).
Below the different modes are listed:
## Window Switcher
![Window List](https://davedavenport.github.io/rofi/images/rofi/window-list.png)
The window switcher shows the following informations in columns:
The window switcher shows the following informations in columns (can be customized):
1. Desktop number (optional, not shown in I3 mode)
1. Desktop number
2. Window class.
3. Window title.
@ -53,20 +62,23 @@ If compiled with I3 support, it should autodetect if I3 window manager is runnin
I3 compatibility mode. This will disable Desktop numbers and hide the i3-bar, also it sends an IPC
message to I3 to change focus.
## Run dialog
> Note: With the latest I3 this is no longer needed as I3 obeys EWHM hints.
> The 'dedicated' support of I3 will be removed from future releases.
![run dialog](https://davedavenport.github.io/rofi/images/rofi/run-dialog.png)
## Run mode
The run dialog allows the user to quickly search and launch a program.
![run mode](https://davedavenport.github.io/rofi/images/rofi/run-dialog.png)
The run mode allows the user to quickly search and launch a program.
It offers the following features:
- Shift-Return to run the selected program in a terminal.
- Favorites list, frequently used programs are sorted on top.
## DRun dialog
## DRun mode
The desktop run dialog allows the user to quickly search and launch an application from the *freedesktop.org* Desktop
The desktop run mode allows the user to quickly search and launch an application from the *freedesktop.org* Desktop
Entries. E.g. what is used by Desktop Environment to fill their launcher. It offers the following features:
- Favorites list, frequently used programs are sorted on top.
@ -80,6 +92,14 @@ Quickly ssh into remote machines
- Parses ~/.ssh/config to find hosts.
## Script mode
Loads external scripts to add modes to **Rofi**, for example a file-browser.
## COMBI mode
Combine multiple modes in one view. This is especially usefull 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.
## dmenu replacement
@ -88,7 +108,7 @@ Quickly ssh into remote machines
Drop in dmenu replacement. (Screenshot shows rofi used by
[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
pattern (`-select`). Also highlighting (`-u` and `-a`) options and modi to force user to select one
provided option (`-only-match`).
@ -99,11 +119,9 @@ 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.
## Single-shot
For example to show a run dialog:
Show a run dialog with some font / color options:
`rofi -show run -font "snap 10" -fg "#505050" -bg "#000000" -hlfg "#ffb964" -hlbg "#000000" -o 85`
`rofi -show run`
Show a ssh dialog:
@ -163,20 +181,21 @@ Type `Shift-Right` to switch from Window list mode to Run mode and back.
|`Alt-grave` | Toggle levenshtein sort. |
|`Alt-Shift-S` | Take a screenshot and store this in the Pictures directory. |
For the full list of keybindings see: `rofi -show keys` or `rofi -help`.
# Configuration
There are currently three methods of setting configuration options:
* Compile time: edit config.c. This method is strongly discouraged.
* 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
[here](https://en.wikipedia.org/wiki/X_resources) for more information.
This is the recommended way of configuring **rofi**. Remember to load your changes with `xrdb -load ~/.Xresources`
* Commandline options: Arguments passed to **rofi**.
This is the recommended way of configuring **Rofi**. Remember to load your changes with `xrdb -load ~/.Xresources`
* Commandline options: Arguments passed to **Rofi**.
The Xresources options and the commandline options are aliased. So to set option X you would set:
`rofi.X: value`
rofi.X: value
In the Xresources file, and to (override) this via the commandline you would pass the same key
prefixed with a '-':
@ -187,6 +206,10 @@ To get a list of available options, formatted as Xresources entries run:
rofi -dump-Xresources
or in a more readable format
rofi -help
The configuration system supports the following types:
* String
@ -204,4 +227,5 @@ to disable it:
# Installation
Please see the [installation guide](https://davedavenport.github.io/rofi/p08-INSTALL.html) for instruction on how to install *rofi*.
Please see the [installation guide](https://davedavenport.github.io/rofi/p08-INSTALL.html) for instruction on how to
install **Rofi**.