From 554c0d6d4942b7f088d9d5d77d8f026136f2021d Mon Sep 17 00:00:00 2001 From: Qball Date: Fri, 27 Dec 2024 11:08:42 +0100 Subject: [PATCH] Release 1.7.6 --- README.md | 89 +- configure.ac | 2 +- meson.build | 2 +- mkdocs/docs/1.7.6/rofi-debugging.5.markdown | 177 ++ mkdocs/docs/1.7.6/rofi-dmenu.5.markdown | 245 +++ mkdocs/docs/1.7.6/rofi-keys.5.markdown | 576 ++++++ mkdocs/docs/1.7.6/rofi-script.5.markdown | 216 +++ .../1.7.6/rofi-sensible-terminal.1.markdown | 50 + .../docs/1.7.6/rofi-theme-selector.1.markdown | 40 + mkdocs/docs/1.7.6/rofi-theme.5.markdown | 1660 +++++++++++++++++ mkdocs/docs/1.7.6/rofi-thumbnails.5.markdown | 85 + mkdocs/docs/1.7.6/rofi.1.markdown | 1183 ++++++++++++ 12 files changed, 4279 insertions(+), 46 deletions(-) create mode 100644 mkdocs/docs/1.7.6/rofi-debugging.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-dmenu.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-keys.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-script.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-sensible-terminal.1.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-theme-selector.1.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-theme.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi-thumbnails.5.markdown create mode 100644 mkdocs/docs/1.7.6/rofi.1.markdown diff --git a/README.md b/README.md index 49cecb731..739743316 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: ![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) . diff --git a/configure.ac b/configure.ac index efd630966..a3ec1a3d5 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 f043c859b..9c490af1f 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 000000000..4df15d529 --- /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 000000000..27e484b3f --- /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 000000000..8aeefacc2 --- /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