mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05: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
248
README.md
248
README.md
|
@ -6,52 +6,53 @@
|
||||||
<a href="https://repology.org/metapackage/rofi/versions"><img src="https://repology.org/badge/tiny-repos/rofi.svg"></a>
|
<a href="https://repology.org/metapackage/rofi/versions"><img src="https://repology.org/badge/tiny-repos/rofi.svg"></a>
|
||||||
</p>
|
</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)
|
||||||
* [next version](https://github.com/davatorium/rofi)
|
- [1.7.4](https://github.com/davatorium/rofi/tree/1.7.4)
|
||||||
* [1.7.5](https://github.com/davatorium/rofi/tree/1.7.5)
|
- [1.7.3](https://github.com/davatorium/rofi/tree/1.7.3)
|
||||||
* [1.7.4](https://github.com/davatorium/rofi/tree/1.7.4)
|
- [1.7.2](https://github.com/davatorium/rofi/tree/1.7.2)
|
||||||
* [1.7.3](https://github.com/davatorium/rofi/tree/1.7.3)
|
- [1.7.1](https://github.com/davatorium/rofi/tree/1.7.1)
|
||||||
* [1.7.2](https://github.com/davatorium/rofi/tree/1.7.2)
|
- [1.7.0](https://github.com/davatorium/rofi/tree/1.7.0)
|
||||||
* [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).
|
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>
|
<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
|
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
|
**Rofi**, like dmenu, will provide the user with a textual list of options
|
||||||
popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/).
|
where one or more can be selected.
|
||||||
Simpleswitcher laid the foundations, and therefore Sean Pringle deserves most of the credit for this tool. **Rofi**
|
This can either be running an application, selecting a window, or options
|
||||||
(renamed, as it lost the *simple* property) has been extended with extra features, like an application launcher and
|
provided by an external script.
|
||||||
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.
|
### What is rofi not?
|
||||||
This can either be running an application, selecting a window, or options provided by an external script.
|
|
||||||
|
|
||||||
|
|
||||||
## What is rofi not?
|
|
||||||
|
|
||||||
Rofi is not:
|
Rofi is not:
|
||||||
|
|
||||||
* A UI toolkit.
|
- 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 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.
|
generic enough to be usable by everybody.
|
||||||
* Specific functionality can be added using scripts or plugins, many exists.
|
- Specific functionality can be added using scripts or plugins, many exists.
|
||||||
* Just a dmenu replacement. The dmenu functionality is a nice 'extra' to
|
|
||||||
|
- Just a dmenu replacement. The dmenu functionality is a nice 'extra' to
|
||||||
**rofi**, not its main purpose.
|
**rofi**, not its main purpose.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
# Table of Contents
|
|
||||||
|
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Modes](#modes)
|
- [Modes](#modes)
|
||||||
|
@ -65,55 +66,80 @@ Rofi is not:
|
||||||
- [Wiki](#wiki)
|
- [Wiki](#wiki)
|
||||||
- [Discussion places](#discussion-places)
|
- [Discussion places](#discussion-places)
|
||||||
|
|
||||||
# Features
|
## Features
|
||||||
|
|
||||||
Its main features are:
|
Its main features are:
|
||||||
|
|
||||||
* Fully configurable keyboard navigation
|
- 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
|
|
||||||
|
|
||||||
# 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.
|
**Rofi** or calling **Rofi**) or plugins.
|
||||||
|
|
||||||
Below is a list of the different modes:
|
Below is a list of the different modes:
|
||||||
|
|
||||||
* **run**: launch applications from $PATH, with option to launch in terminal.
|
- **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.
|
- **drun**: launch applications based on desktop files. It tries to be
|
||||||
* **ssh**: Connect to a remote host via ssh.
|
compliant to the XDG standard.
|
||||||
* **filebrowser**: A basic file-browser for opening files.
|
|
||||||
* **keys**: list internal keybindings.
|
- **window**: Switch between windows on an EWMH compatible window manager.
|
||||||
* **script**: Write (limited) custom mode using simple scripts.
|
|
||||||
* **combi**: Combine multiple modes into one.
|
- **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.
|
**Rofi** is known to work on Linux and BSD.
|
||||||
|
|
||||||
# Manpage
|
## Manpage
|
||||||
|
|
||||||
For more up to date information, please see the manpages. The other sections
|
For more up to date information, please see the manpages. The other sections
|
||||||
and links might have outdated information as they have relatively less
|
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
|
and [issue tracker](https://github.com/davatorium/rofi/issues?q=) before filing
|
||||||
new issue.
|
new issue.
|
||||||
|
|
||||||
* Manpages:
|
- Manpages:
|
||||||
* [rofi](doc/rofi.1.markdown)
|
- [rofi](doc/rofi.1.markdown)
|
||||||
* [rofi-theme](doc/rofi-theme.5.markdown)
|
- [rofi-theme](doc/rofi-theme.5.markdown)
|
||||||
* [rofi-debugging](doc/rofi-debugging.5.markdown)
|
- [rofi-debugging](doc/rofi-debugging.5.markdown)
|
||||||
* [rofi-script](doc/rofi-script.5.markdown)
|
- [rofi-script](doc/rofi-script.5.markdown)
|
||||||
* [rofi-theme-selector](doc/rofi-theme-selector.1.markdown)
|
- [rofi-theme-selector](doc/rofi-theme-selector.1.markdown)
|
||||||
* [rofi-keys](doc/rofi-keys.5.markdown)
|
- [rofi-keys](doc/rofi-keys.5.markdown)
|
||||||
* [rofi-dmenu](doc/rofi-dmenu.5.markdown)
|
- [rofi-dmenu](doc/rofi-dmenu.5.markdown)
|
||||||
|
|
||||||
# Installation
|
## Installation
|
||||||
|
|
||||||
Please see the [installation
|
Please see the [installation
|
||||||
guide](https://github.com/davatorium/rofi/blob/next/INSTALL.md) for
|
guide](https://github.com/davatorium/rofi/blob/next/INSTALL.md) for
|
||||||
instructions on how to install **Rofi**.
|
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
|
#### Running rofi
|
||||||
|
|
||||||
To launch **rofi** directly in a certain mode, specify a mode with `rofi -show <mode>`.
|
To launch **rofi** directly in a certain mode, specify a mode with `rofi -show <mode>`.
|
||||||
To show the `run` dialog:
|
To show the `run` dialog:
|
||||||
|
|
||||||
|
```bash
|
||||||
rofi -show run
|
rofi -show run
|
||||||
|
```
|
||||||
|
|
||||||
Or get the options from a script:
|
Or get the options from a script:
|
||||||
|
|
||||||
|
```bash
|
||||||
~/my_script.sh | rofi -dmenu
|
~/my_script.sh | rofi -dmenu
|
||||||
|
```
|
||||||
|
|
||||||
Specify an ordered, comma-separated list of modes to enable.
|
Specify an ordered, comma-separated list of modes to enable. Enabled modes can
|
||||||
Enabled modes can be changed at runtime. Default key is `Ctrl+Tab`.
|
be changed at runtime. Default key is `Ctrl+Tab`. If no modes are specified,
|
||||||
If no modes are specified, all configured modes will be enabled.
|
all configured modes will be enabled. To only show the `run` and `ssh`
|
||||||
To only show the `run` and `ssh` launcher:
|
launcher:
|
||||||
|
|
||||||
|
```bash
|
||||||
rofi -modes "run,ssh" -show run
|
rofi -modes "run,ssh" -show run
|
||||||
|
```
|
||||||
|
|
||||||
The modes to combine in combi mode.
|
The modes to combine in combi mode.
|
||||||
For syntax to `-combi-modes `, see `-modes`.
|
For syntax to `-combi-modes `, see `-modes`.
|
||||||
To get one merge view, of `window`,`run`, and `ssh`:
|
To get one merge view, of `window`,`run`, and `ssh`:
|
||||||
|
|
||||||
|
```bash
|
||||||
rofi -show combi -combi-modes "window,run,ssh" -modes combi
|
rofi -show combi -combi-modes "window,run,ssh" -modes combi
|
||||||
|
```
|
||||||
|
|
||||||
## Configuration
|
### Configuration
|
||||||
|
|
||||||
Generate a default configuration file
|
Generate a default configuration file
|
||||||
|
|
||||||
```
|
```bash
|
||||||
mkdir -p ~/.config/rofi
|
mkdir -p ~/.config/rofi
|
||||||
rofi -dump-config > ~/.config/rofi/config.rasi
|
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
|
Please see the [configuration
|
||||||
guide](https://github.com/davatorium/rofi/blob/next/CONFIG.md) for a summary of
|
guide](https://github.com/davatorium/rofi/blob/next/CONFIG.md) for a summary of
|
||||||
configuration options. More detailed options are provided in the manpages.
|
configuration options. More detailed options are provided in the manpages.
|
||||||
|
|
||||||
## Themes
|
### Themes
|
||||||
|
|
||||||
Please see the [themes
|
Please see the [themes
|
||||||
manpages](https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown)
|
manpages](https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown)
|
||||||
for a detailed description.
|
for a detailed description.
|
||||||
|
|
||||||
|
|
||||||
The latest bundled themes can be found
|
The latest bundled themes can be found
|
||||||
[here](https://github.com/davatorium/rofi/tree/next/themes).
|
[here](https://github.com/davatorium/rofi/tree/next/themes).
|
||||||
|
|
||||||
# Screenshots
|
## Screenshots
|
||||||
|
|
||||||
Rezlooks:
|
Rezlooks:
|
||||||
|
|
||||||
|
@ -207,33 +242,32 @@ Default theme:
|
||||||
|
|
||||||
![default](https://raw.githubusercontent.com/davatorium/rofi/next/releasenotes/1.4.0/rofi-no-fzf.png)
|
![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 ** |
|
| ❗ **The Wiki is currently unmaintained and might contain outdated data ** |
|
||||||
| --- |
|
| --- |
|
||||||
|
|
||||||
[Go to wiki](https://github.com/davatorium/rofi/wiki) .
|
[Go to wiki](https://github.com/davatorium/rofi/wiki) .
|
||||||
|
|
||||||
#### Contents
|
### Contents
|
||||||
|
|
||||||
* [User scripts](https://github.com/davatorium/rofi/wiki/User-scripts)
|
- [User scripts](https://github.com/davatorium/rofi/wiki/User-scripts)
|
||||||
* [Examples](https://github.com/davatorium/rofi/wiki#examples)
|
- [Examples](https://github.com/davatorium/rofi/wiki#examples)
|
||||||
* [dmenu Specs](https://github.com/davatorium/rofi/wiki/dmenu_specs)
|
- [dmenu Specs](https://github.com/davatorium/rofi/wiki/dmenu_specs)
|
||||||
* [mode Specs](https://github.com/davatorium/rofi/wiki/mode-Specs)
|
- [mode Specs](https://github.com/davatorium/rofi/wiki/mode-Specs)
|
||||||
* [F.A.Q.](https://github.com/davatorium/rofi/wiki/Frequently-Asked-Questions).
|
- [F.A.Q.](https://github.com/davatorium/rofi/wiki/Frequently-Asked-Questions).
|
||||||
* [Script mode](https://github.com/davatorium/rofi/wiki/rfc-script-mode)
|
- [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 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)
|
- [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
|
The [GitHub Discussions](https://github.com/davatorium/rofi/discussions) is the
|
||||||
for discussions.
|
preferred location for discussions.
|
||||||
|
|
||||||
* [GitHub Discussions](https://github.com/davatorium/rofi/discussions)
|
- [GitHub Discussions](https://github.com/davatorium/rofi/discussions)
|
||||||
* IRC (#rofi on irc.libera.chat)
|
- 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)
|
[![Stargazers over time](https://starchart.cc/davatorium/rofi.svg)](https://starchart.cc/davatorium/rofi)
|
||||||
|
|
Loading…
Reference in a new issue