diff --git a/README.md b/README.md
index 49cecb73..73974331 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@
**Please match the documentation and scripts to the version of rofi used**
- [next version](https://github.com/davatorium/rofi)
+- [1.7.6](https://github.com/davatorium/rofi/tree/1.7.6)
- [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)
@@ -21,7 +22,7 @@ Also see the locally installed documentation (manpages).
Rofi
A window switcher, Application launcher and dmenu replacement.
-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
@@ -41,15 +42,15 @@ provided by an external script.
Rofi is not:
-- 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 be
+- 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.
+ - 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.
## Table of Contents
@@ -58,7 +59,7 @@ Rofi is not:
- [Modes](#modes)
- [Manpages](#manpage)
- [Installation](#installation)
-- [Quickstart](#quickstart)
+- [Quickstart](#quickstart)
- [Usage](#usage)
- [Configuration](#configuration)
- [Themes](#themes)
@@ -70,47 +71,47 @@ Rofi is not:
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
+- 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 -> è)
+- UTF-8 enabled
+ - UTF-8-aware string collating
+ - International keyboard support (\`e -> è)
-- RTL language support
+- RTL language support
-- Cairo drawing and Pango font rendering
+- Cairo drawing and Pango font rendering
-- Built-in modes:
- - Window switcher mode
- - EWMH compatible WM
- - Work arounds for i3,bspwm
+- Built-in modes:
+ - Window switcher mode
+ - EWMH compatible WM
+ - Work arounds for i3,bspwm
- - Application launcher
+ - Application launcher
- - Desktop file application launcher
+ - Desktop file application launcher
- - SSH launcher mode
+ - SSH launcher mode
- - File browser
+ - File browser
- - Combi mode, allowing 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
+- History-based ordering — last 25 choices are ordered on top based on use
(optional)
-- Levenshtein distance or fzf like sorting of matches (optional)
+- Levenshtein distance or fzf like sorting of matches (optional)
-- Drop-in dmenu replacement
- - Many added improvements
+- Drop-in dmenu replacement
+ - Many added improvements
-- Easily extensible using scripts and plugins
+- Easily extensible using scripts and plugins
-- Advanced Theming
+- Advanced Theming
## Modes
@@ -120,22 +121,22 @@ extended by scripts (either called from
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
+- **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.
+- **window**: Switch between windows on an EWMH compatible window manager.
-- **ssh**: Connect to a remote host via ssh.
+- **ssh**: Connect to a remote host via ssh.
-- **filebrowser**: A basic file-browser for opening files.
+- **filebrowser**: A basic file-browser for opening files.
-- **keys**: list internal keybindings.
+- **keys**: list internal keybindings.
-- **script**: Write (limited) custom mode using simple scripts.
+- **script**: Write (limited) custom mode using simple scripts.
-- **combi**: Combine multiple modes into one.
+- **combi**: Combine multiple modes into one.
**Rofi** is known to work on Linux and BSD.
@@ -196,11 +197,11 @@ launcher:
```
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`:
```bash
- rofi -show combi -combi-modes "window,run,ssh" -modes combi
+ rofi -show combi -combi-modes "window,run,ssh" -modes combi
```
### Configuration
@@ -243,9 +244,9 @@ Default theme:

-## 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) .
diff --git a/configure.ac b/configure.ac
index efd63096..a3ec1a3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([rofi], [1.7.5-dev], [https://github.com/davatorium/rofi/],[],[https://github.com/davatorium/rofi/discussions])
+AC_INIT([rofi], [1.7.6], [https://github.com/davatorium/rofi/],[],[https://github.com/davatorium/rofi/discussions])
AC_CONFIG_SRCDIR([source/rofi.c])
AC_CONFIG_HEADER([config.h])
diff --git a/meson.build b/meson.build
index f043c859..9c490af1 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('rofi', 'c',
- version: '1.7.5-dev',
+ version: '1.7.6',
meson_version: '>=0.59.0',
license: [ 'MIT' ],
default_options: [
diff --git a/mkdocs/docs/1.7.6/rofi-debugging.5.markdown b/mkdocs/docs/1.7.6/rofi-debugging.5.markdown
new file mode 100644
index 00000000..4df15d52
--- /dev/null
+++ b/mkdocs/docs/1.7.6/rofi-debugging.5.markdown
@@ -0,0 +1,177 @@
+# rofi-debugging(5)
+
+## NAME
+
+Debugging rofi.
+
+When reporting an issue with rofi crashing, or misbehaving. It helps to do some
+small test to help pin-point the problem.
+
+First try disabling your custom configuration: `-no-config`
+
+This disables the parsing of the configuration files. This runs rofi in *stock*
+mode.
+
+If you run custom C plugins, you can disable the plugins using: `-no-plugins`
+
+## Get the relevant information for an issue
+
+Please pastebin the output of the following commands:
+
+```bash
+rofi -help
+rofi -dump-config
+rofi -dump-theme
+```
+
+`rofi -help` provides us with the configuration files parsed, the exact
+version, monitor layout and more useful information.
+
+The `rofi -dump-config` and `rofi -dump-theme` output gives us `rofi`
+interpretation of your configuration and theme.
+
+Please check the output for identifiable information and remove this.
+
+## Timing traces
+
+To get a timing trace, enable the **Timings** debug domain.
+
+```bash
+G_MESSAGES_DEBUG=Timings rofi -show drun
+```
+It will show a trace with (useful) timing information at relevant points during
+the execution. This will help debugging when rofi is slow to start.
+
+Example trace:
+
+```text
+(process:14942): Timings-DEBUG: 13:47:39.335: 0.000000 (0.000000): Started
+(process:14942): Timings-DEBUG: 13:47:39.335: 0.000126 (0.000126): ../source/rofi.c:main:786
+(process:14942): Timings-DEBUG: 13:47:39.335: 0.000163 (0.000037): ../source/rofi.c:main:819
+(process:14942): Timings-DEBUG: 13:47:39.336: 0.000219 (0.000056): ../source/rofi.c:main:826 Setup Locale
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001235 (0.001016): ../source/rofi.c:main:828 Collect MODI
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001264 (0.000029): ../source/rofi.c:main:830 Setup MODI
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001283 (0.000019): ../source/rofi.c:main:834 Setup mainloop
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001369 (0.000086): ../source/rofi.c:main:837 NK Bindings
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001512 (0.000143): ../source/xcb.c:display_setup:1177 Open Display
+(process:14942): Timings-DEBUG: 13:47:39.337: 0.001829 (0.000317): ../source/xcb.c:display_setup:1192 Setup XCB
+(process:14942): Timings-DEBUG: 13:47:39.346: 0.010650 (0.008821): ../source/rofi.c:main:844 Setup Display
+(process:14942): Timings-DEBUG: 13:47:39.346: 0.010715 (0.000065): ../source/rofi.c:main:848 Setup abe
+(process:14942): Timings-DEBUG: 13:47:39.350: 0.015101 (0.004386): ../source/rofi.c:main:883 Load cmd config
+(process:14942): Timings-DEBUG: 13:47:39.351: 0.015275 (0.000174): ../source/rofi.c:main:907 Setup Modi
+(process:14942): Timings-DEBUG: 13:47:39.351: 0.015291 (0.000016): ../source/view.c:rofi_view_workers_initialize:1922 Setup Threadpool, start
+(process:14942): Timings-DEBUG: 13:47:39.351: 0.015349 (0.000058): ../source/view.c:rofi_view_workers_initialize:1945 Setup Threadpool, done
+(process:14942): Timings-DEBUG: 13:47:39.367: 0.032018 (0.016669): ../source/rofi.c:main:1000 Setup late Display
+(process:14942): Timings-DEBUG: 13:47:39.367: 0.032080 (0.000062): ../source/rofi.c:main:1003 Theme setup
+(process:14942): Timings-DEBUG: 13:47:39.367: 0.032109 (0.000029): ../source/rofi.c:startup:668 Startup
+(process:14942): Timings-DEBUG: 13:47:39.367: 0.032121 (0.000012): ../source/rofi.c:startup:677 Grab keyboard
+(process:14942): Timings-DEBUG: 13:47:39.368: 0.032214 (0.000093): ../source/view.c:__create_window:701 xcb create window
+(process:14942): Timings-DEBUG: 13:47:39.368: 0.032235 (0.000021): ../source/view.c:__create_window:705 xcb create gc
+(process:14942): Timings-DEBUG: 13:47:39.368: 0.033136 (0.000901): ../source/view.c:__create_window:714 create cairo surface
+(process:14942): Timings-DEBUG: 13:47:39.369: 0.033286 (0.000150): ../source/view.c:__create_window:723 pango cairo font setup
+(process:14942): Timings-DEBUG: 13:47:39.369: 0.033351 (0.000065): ../source/view.c:__create_window:761 configure font
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045896 (0.012545): ../source/view.c:__create_window:769 textbox setup
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045944 (0.000048): ../source/view.c:__create_window:781 setup window attributes
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045955 (0.000011): ../source/view.c:__create_window:791 setup window fullscreen
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045966 (0.000011): ../source/view.c:__create_window:797 setup window name and class
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045974 (0.000008): ../source/view.c:__create_window:808 setup startup notification
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045981 (0.000007): ../source/view.c:__create_window:810 done
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045992 (0.000011): ../source/rofi.c:startup:679 Create Window
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.045999 (0.000007): ../source/rofi.c:startup:681 Parse ABE
+(process:14942): Timings-DEBUG: 13:47:39.381: 0.046113 (0.000114): ../source/rofi.c:startup:684 Config sanity check
+(process:14942): Timings-DEBUG: 13:47:39.384: 0.048229 (0.002116): ../source/dialogs/run.c:get_apps:216 start
+(process:14942): Timings-DEBUG: 13:47:39.390: 0.054626 (0.006397): ../source/dialogs/run.c:get_apps:336 stop
+(process:14942): Timings-DEBUG: 13:47:39.390: 0.054781 (0.000155): ../source/dialogs/drun.c:get_apps:634 Get Desktop apps (start)
+(process:14942): Timings-DEBUG: 13:47:39.391: 0.055264 (0.000483): ../source/dialogs/drun.c:get_apps:641 Get Desktop apps (user dir)
+(process:14942): Timings-DEBUG: 13:47:39.418: 0.082884 (0.027620): ../source/dialogs/drun.c:get_apps:659 Get Desktop apps (system dirs)
+(process:14942): Timings-DEBUG: 13:47:39.418: 0.082944 (0.000060): ../source/dialogs/drun.c:get_apps_history:597 Start drun history
+(process:14942): Timings-DEBUG: 13:47:39.418: 0.082977 (0.000033): ../source/dialogs/drun.c:get_apps_history:617 Stop drun history
+(process:14942): Timings-DEBUG: 13:47:39.419: 0.083638 (0.000661): ../source/dialogs/drun.c:get_apps:664 Sorting done.
+(process:14942): Timings-DEBUG: 13:47:39.419: 0.083685 (0.000047): ../source/view.c:rofi_view_create:1759
+(process:14942): Timings-DEBUG: 13:47:39.419: 0.083700 (0.000015): ../source/view.c:rofi_view_create:1783 Startup notification
+(process:14942): Timings-DEBUG: 13:47:39.419: 0.083711 (0.000011): ../source/view.c:rofi_view_create:1786 Get active monitor
+(process:14942): Timings-DEBUG: 13:47:39.420: 0.084693 (0.000982): ../source/view.c:rofi_view_refilter:1028 Filter start
+(process:14942): Timings-DEBUG: 13:47:39.421: 0.085992 (0.001299): ../source/view.c:rofi_view_refilter:1132 Filter done
+(process:14942): Timings-DEBUG: 13:47:39.421: 0.086090 (0.000098): ../source/view.c:rofi_view_update:982
+(process:14942): Timings-DEBUG: 13:47:39.421: 0.086123 (0.000033): ../source/view.c:rofi_view_update:1002 Background
+(process:14942): Timings-DEBUG: 13:47:39.428: 0.092864 (0.006741): ../source/view.c:rofi_view_update:1008 widgets
+```
+
+## Debug domains
+
+To further debug the plugin, you can get a trace with (lots of) debug
+information. This debug output can be enabled for multiple parts in rofi using
+the glib debug framework. Debug domains can be enabled by setting the
+G\_MESSAGES\_DEBUG environment variable. At the time of creation of this page,
+the following debug domains exist:
+
+- all: Show debug information from all domains.
+- X11Helper: The X11 Helper functions.
+- View: The main window view functions.
+- Widgets.Box: The Box widget.
+- Modes.DMenu: The dmenu mode.
+- Modes.Run: The run mode.
+- Modes.DRun: The desktop file run mode.
+- Modes.Window: The window mode.
+- Modes.Script: The script mode.
+- Modes.Combi: The script mode.
+- Modes.Ssh: The ssh mode.
+- Rofi: The main application.
+- Timings: Get timing output.
+- Theme: Theme engine debug output. (warning lots of output).
+- Widgets.Icon: The Icon widget.
+- Widgets.Box: The box widget.
+- Widgets.Container: The container widget.
+- Widgets.Window: The window widget.
+- Helpers.IconFetcher: Information about icon lookup.
+
+For full list see `man rofi`.
+
+Example: `G_MESSAGES_DEBUG=Dialogs.DRun rofi -show drun` To get specific output
+from the Desktop file run dialog.
+
+To redirect the debug output to a file (`~/rofi.log`) add:
+
+```bash
+rofi -show drun -log ~/rofi.log
+```
+
+Specifying the logfile automatically enabled all log domains.
+This can be useful when rofi is launched from a window manager.
+
+## Creating a backtrace
+
+First make sure you compile **rofi** with debug symbols:
+
+```bash
+make CFLAGS="-O0 -g3" clean rofi
+```
+
+Getting a backtrace using GDB is not very handy. Because if rofi get stuck, it
+grabs keyboard and mouse. So if it crashes in GDB you are stuck. The best way
+to go is to enable core file. (ulimit -c unlimited in bash) then make rofi
+crash. You can then load the core in GDB.
+
+```bash
+gdb rofi core
+```
+
+Then type inside gdb:
+
+```bash
+thread apply all bt
+```
+
+The output trace is useful when reporting crashes.
+
+Some distribution have `systemd-coredump`, this way you can easily get a
+backtrace via `coredumpctl`.
+
+## SEE ALSO
+
+rofi-sensible-terminal(1), dmenu(1), rofi-theme(5),
+rofi-script(5), rofi-keys(5),rofi-theme-selector(1)
+
+## AUTHOR
+
+* Qball Cow
diff --git a/mkdocs/docs/1.7.6/rofi-dmenu.5.markdown b/mkdocs/docs/1.7.6/rofi-dmenu.5.markdown
new file mode 100644
index 00000000..27e484b3
--- /dev/null
+++ b/mkdocs/docs/1.7.6/rofi-dmenu.5.markdown
@@ -0,0 +1,245 @@
+# rofi-dmenu(5)
+
+## NAME
+
+**rofi dmenu mode** - Rofi dmenu emulation
+
+## DESCRIPTION
+
+To integrate **rofi** into scripts as simple selection dialogs,
+**rofi** supports emulating **dmenu(1)** (A dynamic menu for X11).
+
+The website for `dmenu` can be found [here](http://tools.suckless.org/dmenu/).
+
+**rofi** does not aim to be 100% compatible with `dmenu`. There are simply too
+many flavors of `dmenu`. The idea is that the basic usage command-line flags
+are obeyed, theme-related flags are not. Besides, **rofi** offers some extended
+features (like multi-select, highlighting, message bar, extra key bindings).
+
+## BASIC CONCEPT
+
+In `dmenu` mode, **rofi** reads data from standard in, splits them into
+separate entries and displays them. If the user selects a row, this is printed
+out to standard out, allowing the script to process it further.
+
+By default separation of rows is done on new lines, making it easy to pipe the
+output a one application into **rofi** and the output of rofi into the next.
+
+## USAGE
+
+By launching **rofi** with the `-dmenu` flag it will go into dmenu emulation
+mode.
+
+```bash
+ls | rofi -dmenu
+```
+
+### DMENU DROP-IN 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`.
+
+```bash
+ln -s /usr/bin/rofi /usr/bin/dmenu
+```
+
+### DMENU VS SCRIPT MODE
+
+Script mode is used to extend **rofi**, dmenu mode is used to extend a script.
+The two do share much of the same input format. Please see the
+**rofi-script(5)** manpage for more information.
+
+### DMENU SPECIFIC COMMANDLINE FLAGS
+
+A lot of these options can also be modified by the script using special input.
+See the **rofi-script(5)** manpage for more information about this syntax.
+
+`-sep` *separator*
+
+Separator for `dmenu`. Example: To show a list of 'a' to 'e' with '|' as a
+separator:
+
+```bash
+echo "a|b|c|d|e" | rofi -sep '|' -dmenu
+```
+
+`-p` *prompt*
+
+Specify the prompt to show in `dmenu` mode. For example, select 'monkey',
+a,b,c,d, or e.
+
+```bash
+echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey"
+```
+
+Default: *dmenu*
+
+`-l` *number of lines to show*
+
+Maximum number of lines the menu may show before scrolling.
+
+```bash
+rofi -dmenu -l 25
+```
+
+Default: *15*
+
+`-i`
+
+Makes `dmenu` searches case-insensitive
+
+`-a` *X*
+
+Active row, mark *X* as active. Where *X* is a comma-separated list of
+python(1)-style indices and ranges, e.g. indices start at 0, -1 refers to the
+last row with -2 preceding it, ranges are left-open and right-close, and so on.
+You can specify:
+
+- A single row: '5'
+- A range of (last 3) rows: '-3:'
+- 4 rows starting from row 7: '7:11' (or in legacy notation: '7-10')
+- A set of rows: '2,0,-9'
+- Or any combination: '5,-3:,7:11,2,0,-9'
+
+`-u` *X*
+
+Urgent row, mark *X* as urgent. See `-a` option for details.
+
+`-only-match`
+
+Only return a selected item, do not allow custom entry.
+This mode always returns an entry. It will not return if no matching entry is
+selected.
+
+`-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 the total number of input
+entries):
+
+- 's' selected string
+- 'i' index (0 - (N-1))
+- 'd' index (1 - N)
+- 'q' quote string
+- 'p' Selected string stripped from Pango markup (Needs to be a valid 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://docs.gtk.org/Pango/pango_markup.html)
+
+`-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/pygtk/stable/pango-markup-language.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 the
+selection window. This is original dmenu behavior.
+
+Note: the default asynchronous mode will also be automatically disabled if used
+with conflicting options,
+such as `-dump`, `-only-match` or `-auto-select`.
+
+`-window-title` *title*
+
+Set name used for the window title. Will be shown as Rofi - *title*
+
+`-w` *windowid*
+
+Position **rofi** over the window with the given X11 window ID.
+
+`-keep-right`
+
+Set ellipsize mode to start. So, the end of the string is visible.
+
+`-display-columns`
+
+A comma seperated list of columns to show.
+
+`-display-column-separator`
+
+The column separator. This is a regex.
+
+*default*: '\t'
+
+`-ballot-selected-str` *string*
+
+When multi-select is enabled, prefix this string when element is selected.
+
+*default*: "☑ "
+
+`-ballot-unselected-str` *string*
+
+When multi-select is enabled, prefix this string when element is not selected.
+
+*default*: "☐ "
+
+`-ellipsize-mode` (start|middle|end)
+
+Set ellipsize mode on the listview.
+
+*default* "end"
+
+## PARSING ROW OPTIONS
+
+Extra options for individual rows can be also set. See the **rofi-script(5)**
+manpage for details; the syntax and supported features are identical.
+
+## RETURN VALUE
+
+- **0**: Row has been selected accepted by user.
+- **1**: User cancelled the selection.
+- **10-28**: Row accepted by custom keybinding.
+
+## SEE ALSO
+
+rofi(1), rofi-sensible-terminal(1), dmenu(1), rofi-theme(5), rofi-script(5),
+rofi-theme-selector(1), ascii(7)
+
+## AUTHOR
+
+Qball Cow
+
+Rasmus Steinke
+
+Morgane Glidic
+
+Original code based on work by: Sean Pringle
+
+For a full list of authors, check the AUTHORS file.
diff --git a/mkdocs/docs/1.7.6/rofi-keys.5.markdown b/mkdocs/docs/1.7.6/rofi-keys.5.markdown
new file mode 100644
index 00000000..8aeefacc
--- /dev/null
+++ b/mkdocs/docs/1.7.6/rofi-keys.5.markdown
@@ -0,0 +1,576 @@
+# rofi-keys(5)
+
+## NAME
+
+**rofi keys** - Rofi Key and Mouse bindings
+
+## DESCRIPTION
+
+**rofi** supports overriding of any of it key and mouse binding.
+
+## Setting binding
+
+Bindings can be done on the commandline (-{bindingname}):
+
+```bash
+rofi -show run -kb-accept-entry 'Control+Shift+space'
+```
+
+or via the configuration file:
+
+```css
+configuration {
+ kb-accept-entry: "Control+Shift+space";
+}
+```
+
+The key can be set by its name (see above) or its keycode:
+
+```css
+configuration {
+ kb-accept-entry: "Control+Shift+[65]";
+}
+```
+
+An easy way to look up keycode is xev(1).
+
+Multiple keys can be specified for an action as a comma separated list:
+
+```css
+configuration {
+ kb-accept-entry: "Control+Shift+space,Return";
+}
+```
+
+By Default **rofi** reacts on pressing, to act on the release of all keys
+prepend the binding with `!`:
+
+```css
+configuration {
+ kb-accept-entry: "!Control+Shift+space,Return";
+}
+```
+
+## Unsetting a binding
+
+To unset a binding, pass an empty string.
+
+```css
+configuration {
+ kb-clear-line: "";
+}
+```
+
+## Keyboard Bindings
+
+`kb-primary-paste`
+
+Paste primary selection
+
+Default: Control+V,Shift+Insert
+
+`kb-secondary-paste`
+
+Paste clipboard
+
+Default: Control+v,Insert
+
+`kb-secondary-copy`
+
+Copy current selection to clipboard
+
+Default: Control+c
+
+`kb-clear-line`
+
+Clear input line
+
+Default: Control+w
+
+`kb-move-front`
+
+Beginning of line
+
+Default: Control+a
+
+`kb-move-end`
+
+End of line
+
+Default: Control+e
+
+`kb-move-word-back`
+
+Move back one word
+
+Default: Alt+b,Control+Left
+
+`kb-move-word-forward`
+
+Move forward one word
+
+Default: Alt+f,Control+Right
+
+`kb-move-char-back`
+
+Move back one char
+
+Default: Left,Control+b
+
+`kb-move-char-forward`
+
+Move forward one char
+
+Default: Right,Control+f
+
+`kb-remove-word-back`
+
+Delete previous word
+
+Default: Control+Alt+h,Control+BackSpace
+
+`kb-remove-word-forward`
+
+Delete next word
+
+Default: Control+Alt+d
+
+`kb-remove-char-forward`
+
+Delete next char
+
+Default: Delete,Control+d
+
+`kb-remove-char-back`
+
+Delete previous char
+
+Default: BackSpace,Shift+BackSpace,Control+h
+
+`kb-remove-to-eol`
+
+Delete till the end of line
+
+Default: Control+k
+
+`kb-remove-to-sol`
+
+Delete till the start of line
+
+Default: Control+u
+
+`kb-accept-entry`
+
+Accept entry
+
+Default: Control+j,Control+m,Return,KP\_Enter
+
+`kb-accept-custom`
+
+Use entered text as command (in ssh/run modes)
+
+Default: Control+Return
+
+`kb-accept-custom-alt`
+
+Use entered text as command (in ssh/run modes)
+
+Default: Control+Shift+Return
+
+`kb-accept-alt`
+
+Use alternate accept command.
+
+Default: Shift+Return
+
+`kb-delete-entry`
+
+Delete entry from history
+
+Default: Shift+Delete
+
+`kb-mode-next`
+
+Switch to the next mode.
+
+Default: Shift+Right,Control+Tab
+
+`kb-mode-previous`
+
+Switch to the previous mode.
+
+Default: Shift+Left,Control+ISO\_Left\_Tab
+
+`kb-mode-complete`
+
+Start completion for mode.
+
+Default: Control+l
+
+`kb-row-left`
+
+Go to the previous column
+
+Default: Control+Page\_Up
+
+`kb-row-right`
+
+Go to the next column
+
+Default: Control+Page\_Down
+
+`kb-row-up`
+
+Select previous entry
+
+Default: Up,Control+p
+
+`kb-row-down`
+
+Select next entry
+
+Default: Down,Control+n
+
+`kb-row-tab`
+
+Go to next row, if one left, accept it, if no left next mode.
+
+Default:
+
+`kb-element-next`
+
+Go to next row.
+
+Default: Tab
+
+`kb-element-prev`
+
+Go to previous row.
+
+Default: ISO\_Left\_Tab
+
+`kb-page-prev`
+
+Go to the previous page
+
+Default: Page\_Up
+
+`kb-page-next`
+
+Go to the next page
+
+Default: Page\_Down
+
+`kb-row-first`
+
+Go to the first entry
+
+Default: Home,KP\_Home
+
+`kb-row-last`
+
+Go to the last entry
+
+Default: End,KP\_End
+
+`kb-row-select`
+
+Set selected item as input text
+
+Default: Control+space
+
+`kb-screenshot`
+
+Take a screenshot of the rofi window
+
+Default: Alt+S
+
+`kb-ellipsize`
+
+Toggle between ellipsize modes for displayed data
+
+Default: Alt+period
+
+`kb-toggle-case-sensitivity`
+
+Toggle case sensitivity
+
+Default: grave,dead\_grave
+
+`kb-toggle-sort`
+
+Toggle filtered menu sort
+
+Default: Alt+grave
+
+`kb-cancel`
+
+Quit rofi
+
+Default: Escape,Control+g,Control+bracketleft
+
+`kb-custom-1`
+
+Custom keybinding 1
+
+Default: Alt+1
+
+`kb-custom-2`
+
+Custom keybinding 2
+
+Default: Alt+2
+
+`kb-custom-3`
+
+Custom keybinding 3
+
+Default: Alt+3
+
+`kb-custom-4`
+
+Custom keybinding 4
+
+Default: Alt+4
+
+`kb-custom-5`
+
+Custom Keybinding 5
+
+Default: Alt+5
+
+`kb-custom-6`
+
+Custom keybinding 6
+
+Default: Alt+6
+
+`kb-custom-7`
+
+Custom Keybinding 7
+
+Default: Alt+7
+
+`kb-custom-8`
+
+Custom keybinding 8
+
+Default: Alt+8
+
+`kb-custom-9`
+
+Custom keybinding 9
+
+Default: Alt+9
+
+`kb-custom-10`
+
+Custom keybinding 10
+
+Default: Alt+0
+
+`kb-custom-11`
+
+Custom keybinding 11
+
+Default: Alt+exclam
+
+`kb-custom-12`
+
+Custom keybinding 12
+
+Default: Alt+at
+
+`kb-custom-13`
+
+Custom keybinding 13
+
+Default: Alt+numbersign
+
+`kb-custom-14`
+
+Custom keybinding 14
+
+Default: Alt+dollar
+
+`kb-custom-15`
+
+Custom keybinding 15
+
+Default: Alt+percent
+
+`kb-custom-16`
+
+Custom keybinding 16
+
+Default: Alt+dead\_circumflex
+
+`kb-custom-17`
+
+Custom keybinding 17
+
+Default: Alt+ampersand
+
+`kb-custom-18`
+
+Custom keybinding 18
+
+Default: Alt+asterisk
+
+`kb-custom-19`
+
+Custom Keybinding 19
+
+Default: Alt+parenleft
+
+`kb-select-1`
+
+Select row 1
+
+Default: Super+1
+
+`kb-select-2`
+
+Select row 2
+
+Default: Super+2
+
+`kb-select-3`
+
+Select row 3
+
+Default: Super+3
+
+`kb-select-4`
+
+Select row 4
+
+Default: Super+4
+
+`kb-select-5`
+
+Select row 5
+
+Default: Super+5
+
+`kb-select-6`
+
+Select row 6
+
+Default: Super+6
+
+`kb-select-7`
+
+Select row 7
+
+Default: Super+7
+
+`kb-select-8`
+
+Select row 8
+
+Default: Super+8
+
+`kb-select-9`
+
+Select row 9
+
+Default: Super+9
+
+`kb-select-10`
+
+Select row 10
+
+Default: Super+0
+
+`kb-entry-history-up`
+
+Go up in the entry history.
+
+Default: Control+Up
+
+`kb-entry-history-down`
+
+Go down in the entry history.
+
+Default: Control+Down
+
+## Mouse Bindings
+
+`ml-row-left`
+
+Go to the previous column
+
+Default: ScrollLeft
+
+`ml-row-right`
+
+Go to the next column
+
+Default: ScrollRight
+
+`ml-row-up`
+
+Select previous entry
+
+Default: ScrollUp
+
+`ml-row-down`
+
+Select next entry
+
+Default: ScrollDown
+
+`me-select-entry`
+
+Select hovered row
+
+Default: MousePrimary
+
+`me-accept-entry`
+
+Accept hovered row
+
+Default: MouseDPrimary
+
+`me-accept-custom`
+
+Accept hovered row with custom action
+
+Default: Control+MouseDPrimary
+
+## Mouse key bindings
+
+The following mouse buttons can be bound:
+
+* `Primary`: Primary (Left) mouse button click.
+* `Secondary`: Secondary (Right) mouse button click.
+* `Middle`: Middle mouse button click.
+* `Forward`: The forward mouse button.
+* `Back`: The back mouse button.
+* `ExtraN`: The N'the mouse button. (Depending on mouse support).
+
+The Identifier is constructed as follow:
+
+`Mouse