mirror of
https://github.com/lbonn/rofi
synced 2024-11-26 05:40:23 +00:00
[DOC] update readme.md with remark-lint updates..
metastability issues in linter is fun.
This commit is contained in:
parent
feb173a4ea
commit
127275c261
1 changed files with 145 additions and 111 deletions
256
README.md
256
README.md
|
@ -6,114 +6,140 @@
|
|||
<a href="https://repology.org/metapackage/rofi/versions"><img src="https://repology.org/badge/tiny-repos/rofi.svg"></a>
|
||||
</p>
|
||||
|
||||
**Please match the documentation and scripts to the version of rofi used**
|
||||
|
||||
# Please match the documentation and example scripts to the version of rofi used:
|
||||
|
||||
* [next version](https://github.com/davatorium/rofi)
|
||||
* [1.7.5](https://github.com/davatorium/rofi/tree/1.7.5)
|
||||
* [1.7.4](https://github.com/davatorium/rofi/tree/1.7.4)
|
||||
* [1.7.3](https://github.com/davatorium/rofi/tree/1.7.3)
|
||||
* [1.7.2](https://github.com/davatorium/rofi/tree/1.7.2)
|
||||
* [1.7.1](https://github.com/davatorium/rofi/tree/1.7.1)
|
||||
* [1.7.0](https://github.com/davatorium/rofi/tree/1.7.0)
|
||||
- [next version](https://github.com/davatorium/rofi)
|
||||
- [1.7.5](https://github.com/davatorium/rofi/tree/1.7.5)
|
||||
- [1.7.4](https://github.com/davatorium/rofi/tree/1.7.4)
|
||||
- [1.7.3](https://github.com/davatorium/rofi/tree/1.7.3)
|
||||
- [1.7.2](https://github.com/davatorium/rofi/tree/1.7.2)
|
||||
- [1.7.1](https://github.com/davatorium/rofi/tree/1.7.1)
|
||||
- [1.7.0](https://github.com/davatorium/rofi/tree/1.7.0)
|
||||
|
||||
Also see the locally installed documentation (manpages).
|
||||
|
||||
|
||||
<h1 align="center">
|
||||
Rofi
|
||||
</h1>
|
||||
<h1 align="center"> Rofi </h1>
|
||||
<p align="center"><i>A window switcher, Application launcher and dmenu replacement</i>.</p>
|
||||
|
||||
https://user-images.githubusercontent.com/84911063/139428874-fe182dd6-82c6-49b8-8da1-920ddda3d1ed.mp4
|
||||
|
||||
**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/). Simpleswitcher laid
|
||||
the foundations, and therefore 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 an application launcher and ssh-launcher,
|
||||
and can act as a drop-in dmenu replacement, making it a very versatile tool.
|
||||
|
||||
**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/).
|
||||
Simpleswitcher laid the foundations, and therefore 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 an application launcher and
|
||||
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.
|
||||
|
||||
**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.
|
||||
|
||||
|
||||
## What is rofi not?
|
||||
### What is rofi not?
|
||||
|
||||
Rofi is not:
|
||||
|
||||
* A UI toolkit.
|
||||
* A library to be used in other applications.
|
||||
* An application that can support every possible use-case. It tries to be
|
||||
- A UI toolkit.
|
||||
|
||||
- A library to be used in other applications.
|
||||
|
||||
- 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 or plugins, many exists.
|
||||
* Just a dmenu replacement. The dmenu functionality is a nice 'extra' to
|
||||
- Specific functionality can be added using scripts or plugins, many exists.
|
||||
|
||||
- Just a dmenu replacement. The dmenu functionality is a nice 'extra' to
|
||||
**rofi**, not its main purpose.
|
||||
|
||||
|
||||
# Table of Contents
|
||||
## Table of Contents
|
||||
|
||||
- [Features](#features)
|
||||
- [Modes](#modes)
|
||||
- [Manpages](#manpage)
|
||||
- [Installation](#installation)
|
||||
- [Quickstart](#quickstart)
|
||||
- [Usage](#usage)
|
||||
- [Configuration](#configuration)
|
||||
- [Themes](#themes)
|
||||
- [Usage](#usage)
|
||||
- [Configuration](#configuration)
|
||||
- [Themes](#themes)
|
||||
- [Screenshots](#screenshots)
|
||||
- [Wiki](#wiki)
|
||||
- [Discussion places](#discussion-places)
|
||||
|
||||
# Features
|
||||
## Features
|
||||
|
||||
Its main features are:
|
||||
|
||||
* Fully configurable keyboard navigation
|
||||
* Type to filter
|
||||
* Tokenized: type any word in any order to filter
|
||||
* Case insensitive (togglable)
|
||||
* Support for fuzzy-, regex-, prefix-, and glob-matching
|
||||
* UTF-8 enabled
|
||||
* UTF-8-aware string collating
|
||||
* International keyboard support (\`e -> è)
|
||||
* RTL language support
|
||||
* Cairo drawing and Pango font rendering
|
||||
* Built-in modes:
|
||||
* Window switcher mode
|
||||
* EWMH compatible WM
|
||||
* Work arounds for i3,bspwm
|
||||
* Application launcher
|
||||
* Desktop file application launcher
|
||||
* SSH launcher mode
|
||||
* File browser
|
||||
* 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)
|
||||
* Levenshtein distance or fzf like sorting of matches (optional)
|
||||
* Drop-in dmenu replacement
|
||||
* Many added improvements
|
||||
* Easily extensible using scripts and plugins
|
||||
* Advanced Theming
|
||||
- Fully configurable keyboard navigation
|
||||
|
||||
# Modes
|
||||
- Type to filter
|
||||
- Tokenized: type any word in any order to filter
|
||||
- Case insensitive (togglable)
|
||||
- Support for fuzzy-, regex-, prefix-, and glob-matching
|
||||
|
||||
**Rofi** has several built-in modes implementing common use cases and can be extended by scripts (either called from
|
||||
- UTF-8 enabled
|
||||
- UTF-8-aware string collating
|
||||
- International keyboard support (\`e -> è)
|
||||
|
||||
- RTL language support
|
||||
|
||||
- Cairo drawing and Pango font rendering
|
||||
|
||||
- Built-in modes:
|
||||
- Window switcher mode
|
||||
- EWMH compatible WM
|
||||
- Work arounds for i3,bspwm
|
||||
|
||||
- Application launcher
|
||||
|
||||
- Desktop file application launcher
|
||||
|
||||
- SSH launcher mode
|
||||
|
||||
- File browser
|
||||
|
||||
- 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)
|
||||
|
||||
- Levenshtein distance or fzf like sorting of matches (optional)
|
||||
|
||||
- Drop-in dmenu replacement
|
||||
- Many added improvements
|
||||
|
||||
- Easily extensible using scripts and plugins
|
||||
|
||||
- Advanced Theming
|
||||
|
||||
## Modes
|
||||
|
||||
**Rofi** has several built-in modes implementing common use cases and can be
|
||||
extended by scripts (either called from
|
||||
**Rofi** or calling **Rofi**) or plugins.
|
||||
|
||||
Below is a list of the different modes:
|
||||
|
||||
* **run**: launch applications from $PATH, with option to launch in terminal.
|
||||
* **drun**: launch applications based on desktop files. It tries to be compliant to the XDG standard.
|
||||
* **window**: Switch between windows on an EWMH compatible window manager.
|
||||
* **ssh**: Connect to a remote host via ssh.
|
||||
* **filebrowser**: A basic file-browser for opening files.
|
||||
* **keys**: list internal keybindings.
|
||||
* **script**: Write (limited) custom mode using simple scripts.
|
||||
* **combi**: Combine multiple modes into one.
|
||||
- **run**: launch applications from $PATH, with option to launch in terminal.
|
||||
|
||||
- **drun**: launch applications based on desktop files. It tries to be
|
||||
compliant to the XDG standard.
|
||||
|
||||
- **window**: Switch between windows on an EWMH compatible window manager.
|
||||
|
||||
- **ssh**: Connect to a remote host via ssh.
|
||||
|
||||
- **filebrowser**: A basic file-browser for opening files.
|
||||
|
||||
- **keys**: list internal keybindings.
|
||||
|
||||
- **script**: Write (limited) custom mode using simple scripts.
|
||||
|
||||
- **combi**: Combine multiple modes into one.
|
||||
|
||||
**Rofi** is known to work on Linux and BSD.
|
||||
|
||||
# Manpage
|
||||
## Manpage
|
||||
|
||||
For more up to date information, please see the manpages. The other sections
|
||||
and links might have outdated information as they have relatively less
|
||||
|
@ -122,78 +148,87 @@ consult manpages, [discussion](https://github.com/davatorium/rofi/discussions)
|
|||
and [issue tracker](https://github.com/davatorium/rofi/issues?q=) before filing
|
||||
new issue.
|
||||
|
||||
* Manpages:
|
||||
* [rofi](doc/rofi.1.markdown)
|
||||
* [rofi-theme](doc/rofi-theme.5.markdown)
|
||||
* [rofi-debugging](doc/rofi-debugging.5.markdown)
|
||||
* [rofi-script](doc/rofi-script.5.markdown)
|
||||
* [rofi-theme-selector](doc/rofi-theme-selector.1.markdown)
|
||||
* [rofi-keys](doc/rofi-keys.5.markdown)
|
||||
* [rofi-dmenu](doc/rofi-dmenu.5.markdown)
|
||||
- Manpages:
|
||||
- [rofi](doc/rofi.1.markdown)
|
||||
- [rofi-theme](doc/rofi-theme.5.markdown)
|
||||
- [rofi-debugging](doc/rofi-debugging.5.markdown)
|
||||
- [rofi-script](doc/rofi-script.5.markdown)
|
||||
- [rofi-theme-selector](doc/rofi-theme-selector.1.markdown)
|
||||
- [rofi-keys](doc/rofi-keys.5.markdown)
|
||||
- [rofi-dmenu](doc/rofi-dmenu.5.markdown)
|
||||
|
||||
# Installation
|
||||
## Installation
|
||||
|
||||
Please see the [installation
|
||||
guide](https://github.com/davatorium/rofi/blob/next/INSTALL.md) for
|
||||
instructions on how to install **Rofi**.
|
||||
|
||||
# Quickstart
|
||||
## Quickstart
|
||||
|
||||
## Usage
|
||||
### Usage
|
||||
|
||||
> **This section just gives a brief overview of the various options. To get the full set of options see the [manpages](#manpage) section above**
|
||||
> **This section just gives a brief overview of the various options. To get the
|
||||
> full set of options see the [manpages](#manpage) section above**
|
||||
|
||||
#### Running rofi
|
||||
|
||||
To launch **rofi** directly in a certain mode, specify a mode with `rofi -show <mode>`.
|
||||
To show the `run` dialog:
|
||||
|
||||
```bash
|
||||
rofi -show run
|
||||
```
|
||||
|
||||
Or get the options from a script:
|
||||
|
||||
```bash
|
||||
~/my_script.sh | rofi -dmenu
|
||||
```
|
||||
|
||||
Specify an 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 configured modes will be enabled.
|
||||
To only show the `run` and `ssh` launcher:
|
||||
Specify an 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 configured modes will be enabled. To only show the `run` and `ssh`
|
||||
launcher:
|
||||
|
||||
```bash
|
||||
rofi -modes "run,ssh" -show run
|
||||
|
||||
```
|
||||
|
||||
The modes to combine in combi mode.
|
||||
For syntax to `-combi-modes `, see `-modes`.
|
||||
To get one merge view, of `window`,`run`, and `ssh`:
|
||||
|
||||
rofi -show combi -combi-modes "window,run,ssh" -modes combi
|
||||
```bash
|
||||
rofi -show combi -combi-modes "window,run,ssh" -modes combi
|
||||
```
|
||||
|
||||
## Configuration
|
||||
### Configuration
|
||||
|
||||
Generate a default configuration file
|
||||
|
||||
```
|
||||
```bash
|
||||
mkdir -p ~/.config/rofi
|
||||
rofi -dump-config > ~/.config/rofi/config.rasi
|
||||
```
|
||||
|
||||
This creates a file called `config.rasi` in the `~/.config/rofi/` folder. You can modify this file to set configuration settings and modify themes. `config.rasi` is the file rofi looks to by default.
|
||||
This creates a file called `config.rasi` in the `~/.config/rofi/` folder. You
|
||||
can modify this file to set configuration settings and modify themes.
|
||||
`config.rasi` is the file rofi looks to by default.
|
||||
|
||||
Please see the [configuration
|
||||
guide](https://github.com/davatorium/rofi/blob/next/CONFIG.md) for a summary of
|
||||
configuration options. More detailed options are provided in the manpages.
|
||||
|
||||
## Themes
|
||||
### Themes
|
||||
|
||||
Please see the [themes
|
||||
manpages](https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown)
|
||||
for a detailed description.
|
||||
|
||||
|
||||
The latest bundled themes can be found
|
||||
[here](https://github.com/davatorium/rofi/tree/next/themes).
|
||||
|
||||
# Screenshots
|
||||
## Screenshots
|
||||
|
||||
Rezlooks:
|
||||
|
||||
|
@ -207,33 +242,32 @@ Default theme:
|
|||
|
||||
![default](https://raw.githubusercontent.com/davatorium/rofi/next/releasenotes/1.4.0/rofi-no-fzf.png)
|
||||
|
||||
# Wiki
|
||||
## Wiki
|
||||
|
||||
| ❗ **The Wiki is currently unmaintained and might contain outdated data ** |
|
||||
| --- |
|
||||
|
||||
[Go to wiki](https://github.com/davatorium/rofi/wiki) .
|
||||
|
||||
#### Contents
|
||||
### Contents
|
||||
|
||||
* [User scripts](https://github.com/davatorium/rofi/wiki/User-scripts)
|
||||
* [Examples](https://github.com/davatorium/rofi/wiki#examples)
|
||||
* [dmenu Specs](https://github.com/davatorium/rofi/wiki/dmenu_specs)
|
||||
* [mode Specs](https://github.com/davatorium/rofi/wiki/mode-Specs)
|
||||
* [F.A.Q.](https://github.com/davatorium/rofi/wiki/Frequently-Asked-Questions).
|
||||
* [Script mode](https://github.com/davatorium/rofi/wiki/rfc-script-mode)
|
||||
* [Creating an issue](https://github.com/davatorium/rofi/blob/master/.github/CONTRIBUTING.md)
|
||||
* [Creating a Pull request](https://github.com/davatorium/rofi/wiki/Creating-a-pull-request)
|
||||
- [User scripts](https://github.com/davatorium/rofi/wiki/User-scripts)
|
||||
- [Examples](https://github.com/davatorium/rofi/wiki#examples)
|
||||
- [dmenu Specs](https://github.com/davatorium/rofi/wiki/dmenu_specs)
|
||||
- [mode Specs](https://github.com/davatorium/rofi/wiki/mode-Specs)
|
||||
- [F.A.Q.](https://github.com/davatorium/rofi/wiki/Frequently-Asked-Questions).
|
||||
- [Script mode](https://github.com/davatorium/rofi/wiki/rfc-script-mode)
|
||||
- [Creating an issue](https://github.com/davatorium/rofi/blob/master/.github/CONTRIBUTING.md)
|
||||
- [Creating a Pull request](https://github.com/davatorium/rofi/wiki/Creating-a-pull-request)
|
||||
|
||||
# Discussion places:
|
||||
## Discussion places
|
||||
|
||||
The [GitHub Discussions](https://github.com/davatorium/rofi/discussions) is the preferred location
|
||||
for discussions.
|
||||
The [GitHub Discussions](https://github.com/davatorium/rofi/discussions) is the
|
||||
preferred location for discussions.
|
||||
|
||||
* [GitHub Discussions](https://github.com/davatorium/rofi/discussions)
|
||||
* IRC (#rofi on irc.libera.chat)
|
||||
- [GitHub Discussions](https://github.com/davatorium/rofi/discussions)
|
||||
- IRC (#rofi on irc.libera.chat)
|
||||
|
||||
|
||||
## Stargazers over time
|
||||
### Stargazers over time
|
||||
|
||||
[![Stargazers over time](https://starchart.cc/davatorium/rofi.svg)](https://starchart.cc/davatorium/rofi)
|
||||
|
|
Loading…
Reference in a new issue