mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
Proof read manpages (#645)
* Proof read rofi.1.markdown Fix typos. Fix American English consistency. Fix "command line", "pop up" etc. - separate as nouns and hyphenated as compound adjectives. Finish at line 169. * Further proofreading Same as before. Additionally, fix one line of whitespace above and below a heading. up to line 400 * More proof reads up to line 592 * Finish proofreading * Minor fixes * Start proofreading rofi.theme.5.markdown Fix American spelling. Make sure **rofi** is bolded. up to line 16 * Continue proofreading rofi-theme.5.markdown up to line 452 * Replace latinisms with English phrases e.g. > for example i.e. > that is They slow down the reader, and not everyone knows the correct English equivalent. * Finish proofreading rofi-theme.5.markdown * Fix dmenu official/unofficial website info * Minor fixes * Minor fixes
This commit is contained in:
parent
96c70813ca
commit
bb61970627
2 changed files with 246 additions and 261 deletions
|
@ -8,10 +8,10 @@
|
|||
|
||||
The need for a new theme format was motivated by the fact that the way rofi handled widgets has changed. From a very
|
||||
static drawing of lines and text to a nice structured form of packing widgets. This change made it possible to provide a
|
||||
more flexible theme framework. The old theme format and config file is not flexible enough to expose these options in a
|
||||
user-friendly way. Therefor a new file format has been created, replacing the old one. The new format is loosely based
|
||||
on [css](https://en.wikipedia.org/wiki/Cascading_Style_Sheets), a format widely known, which allows e.g. web developers
|
||||
to create their own rofi themes without the need to learn a new markup language.
|
||||
more flexible theme framework. The old theme format and config file are not flexible enough to expose these options in a
|
||||
user-friendly way. Therefor, a new file format has been created, replacing the old one. The new format is loosely based
|
||||
on [CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets), a widely known format, which allows web developers
|
||||
for example to create their own **rofi** themes without the need to learn a new markup language.
|
||||
|
||||
|
||||
## FORMAT SPECIFICATION
|
||||
|
@ -23,7 +23,7 @@ preferred.
|
|||
|
||||
## Comments
|
||||
|
||||
C and C++ file comments are support.
|
||||
C and C++ file comments are supported.
|
||||
|
||||
* Anything after `// ` and before a newline is considered a comment.
|
||||
* Everything between `/*` and `*/` is a comment.
|
||||
|
@ -37,7 +37,7 @@ The following is valid:
|
|||
property: /* comment */ value;
|
||||
```
|
||||
|
||||
However this is not:
|
||||
However, this is not:
|
||||
|
||||
```
|
||||
prop/*comment*/erty: value;
|
||||
|
@ -96,8 +96,8 @@ parsed entry kept.
|
|||
|
||||
## Global properties section
|
||||
|
||||
A theme can have one or more global properties sections (If there is more than one
|
||||
they will be merged)
|
||||
A theme can have one or more global properties sections. If there is more than one,
|
||||
they will be merged.
|
||||
|
||||
The global properties section denotes the defaults for each element.
|
||||
Each property of this section can be referenced with `@{identifier}`
|
||||
|
@ -110,7 +110,7 @@ A global properties section is indicated with a `*` as element path.
|
|||
A theme can have multiple element theme sections.
|
||||
|
||||
The element path can consist of multiple names separated by whitespace or dots.
|
||||
Each element may contain any number of letters, numbers and `-`.
|
||||
Each element may contain any number of letters, numbers and `-`'s.
|
||||
The first element in the element path should always start with a `#`.
|
||||
|
||||
This is a valid element name:
|
||||
|
@ -171,24 +171,24 @@ The `identifier` names the specified property. Identifiers can consist of any
|
|||
combination of numbers, letters and '-'. It must not contain any whitespace.
|
||||
The structure of the `value` defines the type of the property. The current
|
||||
parser does not define or enforce a certain type of a particular `identifier`.
|
||||
When used, values with the wrong type that cannot be converted, are ignored.
|
||||
When used, values with the wrong type that cannot be converted are ignored.
|
||||
|
||||
The current theme format support different type:
|
||||
The current theme format supports different types:
|
||||
|
||||
* a string.
|
||||
* an integer number.
|
||||
* a fractional number.
|
||||
* a boolean value.
|
||||
* a color.
|
||||
* text style.
|
||||
* line style.
|
||||
* a distance.
|
||||
* a padding.
|
||||
* a border.
|
||||
* a position.
|
||||
* a reference.
|
||||
* an orientation.
|
||||
* a list of keywords.
|
||||
* a string
|
||||
* an integer number
|
||||
* a fractional number
|
||||
* a boolean value
|
||||
* a color
|
||||
* text style
|
||||
* line style
|
||||
* a distance
|
||||
* a padding
|
||||
* a border
|
||||
* a position
|
||||
* a reference
|
||||
* an orientation
|
||||
* a list of keywords
|
||||
|
||||
Some of these types are a combination of other types.
|
||||
|
||||
|
@ -196,7 +196,7 @@ Some of these types are a combination of other types.
|
|||
|
||||
* Format: `"[:print:]+"`
|
||||
|
||||
A string is always surrounded by quotes ('"'), between the quotes it can have any printable character.
|
||||
A string is always surrounded by double quotes (`"`). Between the quotes there can be any printable character.
|
||||
|
||||
For example:
|
||||
|
||||
|
@ -204,7 +204,7 @@ For example:
|
|||
font: "Awasome 12";
|
||||
```
|
||||
|
||||
The string must be valid utf-8.
|
||||
The string must be valid UTF-8.
|
||||
|
||||
## Integer
|
||||
|
||||
|
@ -260,15 +260,15 @@ dynamic: false;
|
|||
* Format: `cmyk( {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE} [, {PERCENTAGE} ])`
|
||||
* Format: `{named-color} [ / {PERCENTAGE} ]`
|
||||
|
||||
The in CSS 4 proposed white-space format is also supported.
|
||||
The white-space format proposed in CSS4 is also supported.
|
||||
|
||||
The different values are:
|
||||
|
||||
* `{HEX}` is a hexidecimal number ('0-9a-f' case insensitive).
|
||||
* `{INTEGER}` value can be between 0 and 255 or 0-100 when representing percentage.
|
||||
* `{ANGLE}` Angle on the color wheel, can be in `deg`, `rad`, `grad` or `turn`. When no unit is specified, degrees is assumed.
|
||||
* `{PERCENTAGE}` Can be between 0-1.0, or 0%-100%
|
||||
* `{named-color}` Is one of the following colors:
|
||||
* `{ANGLE}` is the angle on the color wheel, can be in `deg`, `rad`, `grad` or `turn`. When no unit is specified, degrees is assumed.
|
||||
* `{PERCENTAGE}` can be between 0-1.0, or 0%-100%
|
||||
* `{named-color}` is one of the following colors:
|
||||
|
||||
AliceBlue, AntiqueWhite, Aqua, Aquamarine, Azure, Beige, Bisque, Black, BlanchedAlmond, Blue, BlueViolet, Brown,
|
||||
BurlyWood, CadetBlue, Chartreuse, Chocolate, Coral, CornflowerBlue, Cornsilk, Crimson, Cyan, DarkBlue, DarkCyan,
|
||||
|
@ -298,7 +298,7 @@ text: SeaGreen;
|
|||
|
||||
* Format: `(bold|italic|underline|strikethrough|none)`
|
||||
|
||||
Text style indicates how the highlighted text is emphasised. None indicates no emphasis
|
||||
Text style indicates how the highlighted text is emphasized. `None` indicates that no emphasis
|
||||
should be applied.
|
||||
|
||||
* `bold`: make the text thicker then the surrounding text.
|
||||
|
@ -307,7 +307,7 @@ should be applied.
|
|||
* `strikethrough`: put a line through the highlighted text.
|
||||
* `small caps`: emphasise the text using capitalization.
|
||||
|
||||
> For some reason `small caps` is not working on some systems.
|
||||
> For some reason `small caps` does not work on some systems.
|
||||
|
||||
## Line style
|
||||
|
||||
|
@ -315,8 +315,8 @@ should be applied.
|
|||
|
||||
Indicates how a line should be drawn.
|
||||
It currently supports:
|
||||
* `dash`: A dashed line. Where the gap is the same width as the dash.
|
||||
* `solid`: A solid line.
|
||||
* `dash`: a dashed line, where the gap is the same width as the dash
|
||||
* `solid`: a solid line
|
||||
|
||||
## Distance
|
||||
|
||||
|
@ -337,7 +337,7 @@ For example:
|
|||
```
|
||||
padding: 10%;
|
||||
```
|
||||
On a full-hd (1920x1080) monitor defines a padding of 192 pixels on the left
|
||||
On a full-HD (1920x1080) monitor, it defines a padding of 192 pixels on the left
|
||||
and right side and 108 pixels on the top and bottom.
|
||||
|
||||
## Padding
|
||||
|
@ -348,7 +348,7 @@ and right side and 108 pixels on the top and bottom.
|
|||
* Format: `{Distance} {Distance} {Distance}`
|
||||
* Format: `{Distance} {Distance} {Distance} {Distance}`
|
||||
|
||||
If no unit is set, pixels are used.
|
||||
If no unit is specified, pixels are used.
|
||||
|
||||
The different number of fields in the formats are parsed like:
|
||||
|
||||
|
@ -370,7 +370,7 @@ The different number of fields in the formats are parsed like:
|
|||
* Format: `{Distance} {Line style} {Distance} {Line style} {Distance} {Line style}`
|
||||
* Format: `{Distance} {Line style} {Distance} {Line style} {Distance} {Line style} {Distance} {Line style}`
|
||||
|
||||
Border are identical to padding, except that each distance field has a line
|
||||
Borders are identical to padding, except that each distance field has a line
|
||||
style property.
|
||||
|
||||
## Position
|
||||
|
@ -392,9 +392,9 @@ south west | south | south east
|
|||
|
||||
* Format: `@{PROPERTY NAME}`
|
||||
|
||||
A reference can point to another reference. Currently the maximum number of redirects is 20.
|
||||
A reference can point to another reference. Currently, the maximum number of redirects is 20.
|
||||
A property always refers to another property. It cannot be used for a subpart of the property.
|
||||
e.g. this is not valid:
|
||||
For example, this is not valid:
|
||||
|
||||
```
|
||||
highlight: bold @pink;
|
||||
|
@ -416,13 +416,13 @@ But this is:
|
|||
|
||||
* Format: `(horizontal|vertical)`
|
||||
|
||||
Specify an orientation of the widget.
|
||||
Specify the orientation of the widget.
|
||||
|
||||
## List of keywords
|
||||
|
||||
* Format: `[ keyword, keyword ]`
|
||||
|
||||
A list starts with a '[' and ends with a ']'. The entries in the list are comma separated.
|
||||
A list starts with a '[' and ends with a ']'. The entries in the list are comma-separated.
|
||||
The `keyword` in the list refers to an widget name.
|
||||
|
||||
## ELEMENTS PATHS
|
||||
|
@ -454,30 +454,30 @@ The difference between dots and spaces is purely cosmetic. These are all the sam
|
|||
|
||||
## Name
|
||||
|
||||
The current widgets exist in **rofi**:
|
||||
The current widgets available in **rofi**:
|
||||
|
||||
* `#window`
|
||||
* `#window.box`: The container holding the window.
|
||||
* `#window.overlay`: The overlay widget.
|
||||
* `#window.box`: the container holding the window
|
||||
* `#window.overlay`: the overlay widget
|
||||
* `#window.mainbox`
|
||||
* `#window.mainbox.box`: The main vertical @box
|
||||
* `#window.mainbox.box`: the main vertical @box
|
||||
* `#window.mainbox.inputbar`
|
||||
* `#window.mainbox.inputbar.box`: The horizontal @box packing the widgets.
|
||||
* `#window.mainbox.inputbar.case-indicator`: The case/sort indicator @textbox
|
||||
* `#window.mainbox.inputbar.prompt`: The prompt @textbox
|
||||
* `#window.mainbox.inputbar.entry`: The main entry @textbox
|
||||
* `#window.mainbox.inputbar.box`: the horizontal @box packing the widgets
|
||||
* `#window.mainbox.inputbar.case-indicator`: the case/sort indicator @textbox
|
||||
* `#window.mainbox.inputbar.prompt`: the prompt @textbox
|
||||
* `#window.mainbox.inputbar.entry`: the main entry @textbox
|
||||
* `#window.mainbox.listview`
|
||||
* `#window.mainbox.listview.box`: The listview container.
|
||||
* `#window.mainbox.listview.scrollbar`: The listview scrollbar
|
||||
* `#window.mainbox.listview.element`: The entries in the listview
|
||||
* `#window.mainbox.listview.box`: the listview container
|
||||
* `#window.mainbox.listview.scrollbar`: the listview scrollbar
|
||||
* `#window.mainbox.listview.element`: the entries in the listview
|
||||
* `#window.mainbox.sidebar`
|
||||
* `#window.mainbox.sidebar.box`: The main horizontal @box packing the buttons.
|
||||
* `#window.mainbox.sidebar.button`: The buttons @textbox for each mode.
|
||||
* `#window.mainbox.sidebar.box`: the main horizontal @box packing the buttons
|
||||
* `#window.mainbox.sidebar.button`: the buttons @textbox for each mode
|
||||
* `#window.mainbox.message`
|
||||
* `#window.mainbox.message.textbox`: The message textbox.
|
||||
* `#window.mainbox.message.box`: The box containing the message.
|
||||
* `#window.mainbox.message.textbox`: the message textbox
|
||||
* `#window.mainbox.message.box`: the box containing the message
|
||||
|
||||
Note that these paths names match the default theme. Themes that provide a custom layout will have different
|
||||
Note that these path names match the default theme. Themes that provide a custom layout will have different
|
||||
element paths.
|
||||
|
||||
|
||||
|
@ -502,14 +502,14 @@ Currently only the entrybox and scrollbar have states:
|
|||
`{visible modifier}.{state}`
|
||||
|
||||
Where `visible modifier` can be:
|
||||
* normal: No modification.
|
||||
* selected: The entry is selected/highlighted by user.
|
||||
* alternate: The entry is at an alternating row. (uneven row)
|
||||
* normal: no modification
|
||||
* selected: the entry is selected/highlighted by user
|
||||
* alternate: the entry is at an alternating row (uneven row)
|
||||
|
||||
Where `state` is:
|
||||
* normal: No modification.
|
||||
* urgent: This entry is marked urgent.
|
||||
* active: This entry is marked active.
|
||||
* normal: no modification
|
||||
* urgent: this entry is marked urgent
|
||||
* active: this entry is marked active
|
||||
|
||||
These can be mixed.
|
||||
|
||||
|
@ -532,28 +532,28 @@ This allows the colors used for drawing the handle to be set independently.
|
|||
|
||||
## SUPPORTED PROPERTIES
|
||||
|
||||
The following properties are currently supports:
|
||||
The following properties are currently supported:
|
||||
|
||||
### all widgets:
|
||||
|
||||
* **padding**: padding
|
||||
Padding on the inside of the widget.
|
||||
Padding on the inside of the widget
|
||||
* **margin**: padding
|
||||
Margin on the outside of the widget.
|
||||
Margin on the outside of the widget
|
||||
* **border**: border
|
||||
Border around the widget (between padding and margin)/
|
||||
* **border-radius**: padding
|
||||
Sets a radius on the corners of the borders.
|
||||
* **background**: color
|
||||
Background color.
|
||||
Background color
|
||||
* **foreground**: color
|
||||
Foreground color.
|
||||
* **index**: integer (This one does not inherits it value from the parent widget)
|
||||
Foreground color
|
||||
* **index**: integer (This one does not inherit it value from the parent widget)
|
||||
|
||||
### window:
|
||||
|
||||
* **font**: string
|
||||
The font used in the window.
|
||||
The font used in the window
|
||||
|
||||
* **transparency**: string
|
||||
Indicating if transparency should be used and what type:
|
||||
|
@ -563,17 +563,16 @@ The following properties are currently supports:
|
|||
**Path** to png file - Use an image.
|
||||
|
||||
* **position**: position
|
||||
The place of the anchor on the monitor.
|
||||
The place of the anchor on the monitor
|
||||
* **anchor**: anchor
|
||||
The anchor position on the window.
|
||||
The anchor position on the window
|
||||
* **fullscreen**: boolean
|
||||
Window is fullscreen.
|
||||
* **width**: distance
|
||||
The width of the window.
|
||||
The width of the window
|
||||
* **x-offset**: distance
|
||||
* **y-offset**: distance
|
||||
The offset of the window to the anchor point.
|
||||
Allowing you to push the window left/right/up/down.
|
||||
The offset of the window to the anchor point, allowing you to push the window left/right/up/down
|
||||
|
||||
|
||||
### scrollbar:
|
||||
|
@ -594,28 +593,28 @@ The following properties are currently supports:
|
|||
|
||||
* **background**: color
|
||||
* **foreground**: color
|
||||
* **font**: The font used by this textbox. (string)
|
||||
* **str**: The string to display by this textbox. (string)
|
||||
* **vertical-align**: Vertical alignment of the text. (0 top, 1 bottom)
|
||||
* **horizontal-align**: Horizontal alignment of the text. (0 left, 1 right)
|
||||
* **text**: The text color to use (falls back to foreground if not set)
|
||||
* **highlight**: Text Style {color}
|
||||
Color is optional, multiple highlight styles can be added like: bold underline italic #000000;
|
||||
* **width**: Override the desired width for the textbox.
|
||||
* **font**: the font used by this textbox (string)
|
||||
* **str**: the string to display by this textbox (string)
|
||||
* **vertical-align**: vertical alignment of the text (`0` top, `1` bottom)
|
||||
* **horizontal-align**: horizontal alignment of the text (`0` left, `1` right)
|
||||
* **text**: the text color to use (falls back to foreground if not set)
|
||||
* **highlight**: text style {color}
|
||||
color is optional, multiple highlight styles can be added like: bold underline italic #000000;
|
||||
* **width**: override the desired width for the textbox
|
||||
|
||||
### listview:
|
||||
* **columns**: integer
|
||||
Number of columns to show (atleast 1).
|
||||
Number of columns to show (at least 1)
|
||||
* **fixed-height**: boolean
|
||||
Always show `lines` rows, even if less elements are available.
|
||||
Always show `lines` rows, even if fewer elements are available.
|
||||
* **dynamic**: boolean
|
||||
If the size should changed when filtering the list, or if it should keep the original height.
|
||||
`True` if the size should change when filtering the list, `False` if it should keep the original height.
|
||||
* **scrollbar**: boolean
|
||||
If the scrollbar should be enabled/disabled.
|
||||
* **scrollbar-width**: distance
|
||||
Width of the scrollbar
|
||||
* **cycle**: boolean
|
||||
When navigating it should wrap around.
|
||||
When navigating, it should wrap around
|
||||
* **spacing**: distance
|
||||
Spacing between the elements (both vertical and horizontal)
|
||||
* **lines**: integer
|
||||
|
@ -626,15 +625,15 @@ The following properties are currently supports:
|
|||
## Layout
|
||||
|
||||
The new format allows the layout of the **rofi** window to be tweaked extensively.
|
||||
For each widget the themer can specify padding, margin, border, font and more.
|
||||
It even allows, as advanced feature, to pack widgets in a custom structure.
|
||||
For each widget, the themer can specify padding, margin, border, font, and more.
|
||||
It even allows, as an advanced feature, to pack widgets in a custom structure.
|
||||
|
||||
### Basic structure
|
||||
|
||||
The whole view is build up out of boxes that pack other boxes or widgets.
|
||||
The box can be either vertical or horizontal. This is loosely inspired [GTK](http://gtk.org/).
|
||||
The whole view is made out of boxes that pack other boxes or widgets.
|
||||
The box can be vertical or horizontal. This is loosely inspired by [GTK](http://gtk.org/).
|
||||
|
||||
The current layout of **rofi** is structured as follow:
|
||||
The current layout of **rofi** is structured as follows:
|
||||
|
||||
```
|
||||
|------------------------------------------------------------------------------------|
|
||||
|
@ -667,13 +666,13 @@ The current layout of **rofi** is structured as follow:
|
|||
|
||||
|
||||
```
|
||||
> ci is case-indicator
|
||||
> ci is the case-indicator
|
||||
|
||||
### Advanced layout
|
||||
|
||||
The layout of **rofi** can be tweaked by packing the 'fixed' widgets in a custom structure.
|
||||
|
||||
The following widgets names are 'fixed' widgets with functionality:
|
||||
The following widgets are fixed, as they provide core **rofi** functionality:
|
||||
|
||||
* prompt
|
||||
* entry
|
||||
|
@ -682,22 +681,23 @@ The following widgets names are 'fixed' widgets with functionality:
|
|||
* listview
|
||||
* sidebar
|
||||
|
||||
The following exists and automatically pack a subset of the widgets as in the above picture:
|
||||
The following keywords are defined and can be used to automatically pack a subset of the widgets.
|
||||
These are used in the default theme as depicted in the figure above.
|
||||
|
||||
* mainbox
|
||||
Packs: `inputbar, message, listview, sidebar`
|
||||
* inputbar
|
||||
Packs: `prompt,entry,case-indicator`
|
||||
|
||||
Any widget name starting with `textbox` is a textbox widget, all others are a
|
||||
box widget and can pack other widgets. To specify children, set the children
|
||||
Any widget name starting with `textbox` is a textbox widget, others are box widgets and can pack other widgets.
|
||||
To specify children, set the `children`
|
||||
property (this always happens on the `box` child, see example below):
|
||||
|
||||
```
|
||||
children: [prompt,entry,case-indicator];
|
||||
```
|
||||
|
||||
The theme needs to be update to match the hierarchy specified.
|
||||
The theme needs to be updated to match the hierarchy specified.
|
||||
|
||||
Below is an example of a theme emulating dmenu:
|
||||
|
||||
|
@ -745,7 +745,7 @@ Below is an example of a theme emulating dmenu:
|
|||
|
||||
### Padding and margin
|
||||
|
||||
Just like css **rofi** uses the box model for each widget.
|
||||
Just like CSS, **rofi** uses the box model for each widget.
|
||||
|
||||
```
|
||||
|-------------------------------------------------------------------|
|
||||
|
@ -770,17 +770,17 @@ Explanation of the different parts:
|
|||
* Border - A border that goes around the padding and content.
|
||||
The border use the foreground color of the widget.
|
||||
* Margin - Clears an area outside the border.
|
||||
The margin is transparent
|
||||
The margin is transparent.
|
||||
|
||||
The box model allows us to add a border around elements, and to define space between elements.
|
||||
|
||||
The size, on each side, of margin, border and padding can be set.
|
||||
For the border a linestyle and radius can be set.
|
||||
The size of each margin, border, and padding can be set.
|
||||
For the border, a linestyle and radius can be set.
|
||||
|
||||
### Spacing
|
||||
|
||||
Widgets that can pack more then one child widget, currently box and listview, the `spacing` property exists.
|
||||
This determines the space between the packed widgets (both in horizontal as vertical direction).
|
||||
Widgets that can pack more then one child widget (currently box and listview) have the `spacing` property.
|
||||
This property sets the distance between the packed widgets (both horizontally and vertically).
|
||||
|
||||
```
|
||||
|---------------------------------------|
|
||||
|
@ -796,7 +796,7 @@ This determines the space between the packed widgets (both in horizontal as vert
|
|||
|
||||
### Advanced box packing
|
||||
|
||||
More dynamic spacing can be achieved by adding dummy widgets, for example to get one widget centered:
|
||||
More dynamic spacing can be achieved by adding dummy widgets, for example to make one widget centered:
|
||||
|
||||
```
|
||||
|--------------------------------------------|
|
||||
|
@ -810,19 +810,19 @@ More dynamic spacing can be achieved by adding dummy widgets, for example to get
|
|||
|--------------------------------------------|
|
||||
```
|
||||
|
||||
If both dummy widgets are set to expanding, `child` will be centered. Depending on the `expand` flag of child the
|
||||
If both dummy widgets are set to expand, `child` will be centered. Depending on the `expand` flag of child the
|
||||
remaining space will be equally divided between both dummy and child widget (expand enabled), or both dummy widgets
|
||||
(expand disabled).
|
||||
|
||||
## DEBUGGING
|
||||
|
||||
To get debug information from the parser run rofi like:
|
||||
To get debug information from the parser, run rofi like:
|
||||
|
||||
```
|
||||
G_MESSAGES_DEBUG=Parser rofi -show run
|
||||
```
|
||||
|
||||
Syntax errors are shown in a popup and printed out to commandline with the above command.
|
||||
Syntax errors are shown in a popup and printed out to command line with the above command.
|
||||
|
||||
To see the elements queried during running, run:
|
||||
|
||||
|
@ -830,13 +830,13 @@ To see the elements queried during running, run:
|
|||
G_MESSAGES_DEBUG=Theme rofi -show run
|
||||
```
|
||||
|
||||
To test minor changes, part of the theme can be passed on the commandline, for example to set it fullscreen:
|
||||
To test minor changes, part of the theme can be passed on the command line, for example to set it to full-screen:
|
||||
|
||||
```
|
||||
rofi -theme-str '#window { fullscreen:true;}' -show run
|
||||
```
|
||||
|
||||
To print the current theme run:
|
||||
To print the current theme, run:
|
||||
|
||||
```
|
||||
rofi -dump-theme
|
||||
|
@ -845,10 +845,9 @@ rofi -dump-theme
|
|||
|
||||
## EXAMPLES
|
||||
|
||||
Several examples are installed together with **rofi**. These can be found in `{datadir}/rofi/themes/` where
|
||||
`{datadir}` is the install path of **rofi** data. When installed using a package manager this is usually: `/usr/share/`.
|
||||
Several examples are installed together with **rofi**. These can be found in `{datadir}/rofi/themes/`, where
|
||||
`{datadir}` is the install path of **rofi** data. When installed using a package manager, this is usually: `/usr/share/`.
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
rofi(1)
|
||||
|
||||
|
|
|
@ -11,18 +11,18 @@
|
|||
|
||||
## DESCRIPTION
|
||||
|
||||
**rofi** is an X11 popup window switcher, run dialog, dmenu replacement and more. It focuses on
|
||||
**rofi** is an X11 pop-up window switcher, run dialog, dmenu replacement, and more. It focuses on
|
||||
being fast to use and have minimal distraction. It supports keyboard and mouse navigation, type to
|
||||
filter, tokenized search and more.
|
||||
|
||||
|
||||
## USAGE
|
||||
|
||||
**rofi** main functionality is to assist in your workflow, allowing you to quickly (with a few keystrokes) switch
|
||||
between windows, start applications or log into a remote machine via ssh. There are different modi for different type of
|
||||
**rofi**'s main functionality is to assist in your workflow, allowing you to quickly switch
|
||||
between windows, start applications or log into a remote machine via ssh. There are different *modi* for different types of
|
||||
actions.
|
||||
|
||||
**rofi** can also function as (drop in) replacement for **dmenu(1)**.
|
||||
**rofi** can also function as (drop-in) replacement for **dmenu(1)**.
|
||||
|
||||
### Running rofi
|
||||
|
||||
|
@ -31,21 +31,19 @@ To show the run dialog:
|
|||
|
||||
rofi -show run
|
||||
|
||||
|
||||
### Emulating dmenu
|
||||
|
||||
**rofi** can emulate **dmenu(1)** (a dynamic menu for X) when launched with the `-dmenu` flag.
|
||||
|
||||
The "official" 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 to many different flavours of dmenu.
|
||||
The idea is the basic usage commandline flags are obeyed, theme related flags are not.
|
||||
Besides this, **rofi** offers some extended features (like multi-select, highlighting, message bar, extra key-bindings).
|
||||
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 different 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).
|
||||
|
||||
### Display Error message
|
||||
|
||||
**rofi** error dialog can also be called from the commandline.
|
||||
**rofi** error dialog can also be called from the command line.
|
||||
|
||||
rofi -e "my message"
|
||||
|
||||
|
@ -55,7 +53,7 @@ Markup support can be enabled, see CONFIGURATION options.
|
|||
|
||||
There are currently three methods of setting configuration options (evaluated in order below):
|
||||
|
||||
* System configuration file (f.e. /etc/rofi.conf).
|
||||
* System configuration file (for example `/etc/rofi.conf`).
|
||||
* Xresources: A method of storing key values in the Xserver. See
|
||||
[here](https://en.wikipedia.org/wiki/X_resources) for more information.
|
||||
* Rasi theme file: The new *theme* format can be used to set configuration values.
|
||||
|
@ -69,24 +67,23 @@ There are currently three methods of setting configuration options (evaluated in
|
|||
**NOTE**: In version 1.4.0 we support configuration in a new format, a config for this can be generated by: `rofi
|
||||
-dump-config`
|
||||
|
||||
The Xresources file expects options starting with `rofi.` followed by it's name. An Example to set the number of lines:
|
||||
The Xresources file expects options starting with `rofi.` followed by its name. An example to set the number of lines:
|
||||
|
||||
rofi.lines: 10
|
||||
|
||||
Command line options override settings from Xresources file. The same option set as argument:
|
||||
prefixed with a '-':
|
||||
Command line options override settings from Xresources file. The same option set as argument — prefixed with a '-':
|
||||
|
||||
rofi -lines 10
|
||||
|
||||
To get a list of available options, formatted as Xresources entries run:
|
||||
To get a list of available options formatted as Xresources entries, run:
|
||||
|
||||
rofi -dump-xresources
|
||||
|
||||
The configuration system supports the following types:
|
||||
|
||||
* String
|
||||
* Integer (signed and unsigned)
|
||||
* Char
|
||||
* string
|
||||
* integer (signed and unsigned)
|
||||
* char
|
||||
* Boolean
|
||||
|
||||
Boolean options have a non-default command-line syntax. Example to enable option X:
|
||||
|
@ -109,7 +106,7 @@ These include dynamic (run-time generated) options.
|
|||
`-dump-xresources`
|
||||
|
||||
Dump the current active configuration in Xresources format to the command-line.
|
||||
This does not validate all passed values (e.g. colors).
|
||||
This does not validate all passed values (for example, colors).
|
||||
|
||||
`-threads` *num*
|
||||
|
||||
|
@ -123,7 +120,7 @@ Specify the number of threads **rofi** should use:
|
|||
|
||||
Run **rofi** in dmenu mode. This allows for interactive scripts.
|
||||
In `dmenu` mode, **rofi** reads from STDIN, and output to STDOUT.
|
||||
A simple example, displaying 3 pre-defined options:
|
||||
A simple example, displaying three pre-defined options:
|
||||
|
||||
echo -e "Option #1\nOption #2\nOption #3" | rofi -dmenu
|
||||
|
||||
|
@ -134,8 +131,8 @@ Or get the options from a script:
|
|||
`-show` *mode*
|
||||
|
||||
Open **rofi** in a certain mode. Available modes are `window`, `run`, `drun`, `ssh`, `combi`.
|
||||
The special argument `keys` can be used to open a searchable list of supported keybindings
|
||||
(see *KEYBINDINGS*)
|
||||
The special argument `keys` can be used to open a searchable list of supported key bindings
|
||||
(see *KEY BINDINGS*)
|
||||
|
||||
To show the run-dialog:
|
||||
|
||||
|
@ -143,9 +140,9 @@ To show the run-dialog:
|
|||
|
||||
`-modi` *mode1,mode1*
|
||||
|
||||
Specify a ordered, comma separated list of modes to enable.
|
||||
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 modes will be enabled.
|
||||
If no modes are specified, all modes will be enabled.
|
||||
To only show the run and ssh launcher:
|
||||
|
||||
rofi -modi "run,ssh" -show run
|
||||
|
@ -168,7 +165,7 @@ This option can be changed at run-time using the `-kb-toggle-case-sensitivity` k
|
|||
|
||||
`-cycle`
|
||||
|
||||
Cycle through the results list. Default is 'true'.
|
||||
Cycle thru the result list. Default is 'true'.
|
||||
|
||||
`-filter` *filter*
|
||||
|
||||
|
@ -176,7 +173,7 @@ Filter the list by setting text in input bar to *filter*
|
|||
|
||||
`-config` *filename*
|
||||
|
||||
Load alternative configuration file.
|
||||
Load an alternative configuration file.
|
||||
|
||||
`-scroll-method` *method*
|
||||
|
||||
|
@ -196,8 +193,7 @@ Disable plugin loading.
|
|||
|
||||
`-plugin-path` *directory*
|
||||
|
||||
Specify the directory where *rofi* should look for plugins.
|
||||
|
||||
Specify the directory where **rofi** should look for plugins.
|
||||
|
||||
### Matching
|
||||
|
||||
|
@ -206,10 +202,10 @@ Specify the directory where *rofi* should look for plugins.
|
|||
Specify the matching algorithm used.
|
||||
Current the following methods are supported.
|
||||
|
||||
* **normal**: Match the int string.
|
||||
* **regex**: Match a regex input.
|
||||
* **glob**: Match a glob pattern.
|
||||
* **fuzzy**: Do a fuzzy match.
|
||||
* **normal**: match the int string
|
||||
* **regex**: match a regex input
|
||||
* **glob**: match a glob pattern
|
||||
* **fuzzy**: do a fuzzy match
|
||||
|
||||
Default: *normal*
|
||||
|
||||
|
@ -222,7 +218,7 @@ Tokenize the input.
|
|||
### Layout
|
||||
|
||||
Most of the following options are **deprecated** and should not be used. Please use the new theme format to customize
|
||||
rofi. More information about the new format can be found in the **rofi-theme(5)** manpage.
|
||||
**rofi**. More information about the new format can be found in the **rofi-theme(5)** manpage.
|
||||
|
||||
`-lines`
|
||||
|
||||
|
@ -246,15 +242,15 @@ Set width of menu. `[value]` is specified in percentage.
|
|||
|
||||
rofi -width 60
|
||||
|
||||
If `[value]` is larger then 100, size is set in pixels. Example to span a full hd monitor:
|
||||
If `[value]` is larger then 100, size is set in pixels. Example to span a full-HD monitor:
|
||||
|
||||
rofi -width 1920
|
||||
|
||||
If `[value]` is negative, it tries to estimates a character width. To show 30 characters on a row:
|
||||
If `[value]` is negative, it tries to estimates a character width. To show 30 characters in a row:
|
||||
|
||||
rofi -width -30
|
||||
|
||||
Character width is a rough estimation, and might not be correct, but should work for most monospaced fonts.
|
||||
Character width is a rough estimate, and might not be correct, but should work for most monospaced fonts.
|
||||
|
||||
Default: *50*
|
||||
|
||||
|
@ -280,13 +276,13 @@ Default: *5*
|
|||
|
||||
`-fullscreen`
|
||||
|
||||
Use the full screen height and width.
|
||||
Use the full-screen height and width.
|
||||
|
||||
`-sidebar-mode`
|
||||
|
||||
Open in sidebar-mode. In this mode a list of all enabled modes is shown at the bottom.
|
||||
(See `-modi` option)
|
||||
To show sidebar use:
|
||||
To show sidebar, use:
|
||||
|
||||
rofi -show run -sidebar-mode -lines 0
|
||||
|
||||
|
@ -303,19 +299,19 @@ When one entry is left, automatically select it.
|
|||
`-monitor` *name*
|
||||
|
||||
Select monitor to display **rofi** on.
|
||||
As input it accepts: *primary* (if primary output is set), the *xrandr* output name or integer number (in order of
|
||||
detection). Negative numbers are handled differently:
|
||||
It accepts as input: *primary* (if primary output is set), the *xrandr* output name, or integer number (in order of
|
||||
detection). Negative numbers are handled differently:
|
||||
|
||||
* **-1**: the currently focused monitor.
|
||||
* **-2**: the currently focused window (i.e. rofi will be displayed on top of the focused window).
|
||||
* **-2**: the currently focused window (that is, **rofi** will be displayed on top of the focused window).
|
||||
* **-3**: Position at mouse (overrides the location setting to get normal context menu
|
||||
behaviour.)
|
||||
behavior.)
|
||||
* **-4**: the monitor with the focused window.
|
||||
* **-5**: the monitor that shows the mouse pointer.
|
||||
|
||||
Default: *-5*
|
||||
|
||||
See `rofi -h` output for the detected monitors, their position and size.
|
||||
See `rofi -h` output for the detected monitors, their position, and size.
|
||||
|
||||
|
||||
`-theme` *filename*
|
||||
|
@ -324,27 +320,25 @@ Path to the new theme file format. This overrides the old theme settings.
|
|||
|
||||
`-theme-str` *string*
|
||||
|
||||
Allow theme parts to be specified on the commandline as an override.
|
||||
Allow theme parts to be specified on the command line as an override.
|
||||
|
||||
For example
|
||||
For example:
|
||||
|
||||
rofi -theme-str '#window { fullscreen: true; }'
|
||||
|
||||
This option can be specified multiple times.
|
||||
|
||||
|
||||
|
||||
`-dpi` *number*
|
||||
|
||||
Override the default DPI setting.
|
||||
If set to `0` it tries to auto-detect based on X11 screen size. (Similar to i3 and GTK)
|
||||
If set to `1` it tries to auto-detect based on monitor (rofi is displayed on) size. (Similar to latest QT5)
|
||||
If set to `0`, it tries to auto-detect based on X11 screen size (similar to i3 and GTK).
|
||||
If set to `1`, it tries to auto-detect based on the size of the monitor that rofi is displayed on (similar to latest Qt 5).
|
||||
|
||||
### PATTERN setting
|
||||
|
||||
`-terminal`
|
||||
|
||||
Specify what terminal to start.
|
||||
Specify which terminal to start.
|
||||
|
||||
rofi -terminal xterm
|
||||
|
||||
|
@ -358,7 +352,6 @@ Override the used ssh client.
|
|||
Pattern: *{ssh-client}*
|
||||
Default: *ssh*
|
||||
|
||||
|
||||
### SSH settings
|
||||
|
||||
`-ssh-command` *cmd*
|
||||
|
@ -400,9 +393,9 @@ Default: *{terminal} -e {cmd}*
|
|||
|
||||
`-run-list-command` *cmd*
|
||||
|
||||
If set, use an external tool to generate list of executable commands. Uses 'run-command'
|
||||
If set, use an external tool to generate list of executable commands. Uses `run-command`.
|
||||
|
||||
Default: *""*
|
||||
Default: *{cmd}*
|
||||
|
||||
### Window switcher settings
|
||||
|
||||
|
@ -414,13 +407,13 @@ Format what is being displayed for windows.
|
|||
|
||||
*field*:
|
||||
|
||||
* **w**: Desktop name
|
||||
* **t**: Title of window
|
||||
* **n**: Name
|
||||
* **r**: Role
|
||||
* **c**: Class
|
||||
* **w**: desktop name
|
||||
* **t**: title of window
|
||||
* **n**: name
|
||||
* **r**: role
|
||||
* **c**: class
|
||||
|
||||
*len*: maximum field length (0 for auto-size). If length negative and window *width* is negative field length is *width - len*.
|
||||
*len*: maximum field length (0 for auto-size). If length and window *width* are negative, field length is *width - len*.
|
||||
if length is positive, the entry will be truncated or padded to fill that length.
|
||||
|
||||
|
||||
|
@ -428,7 +421,7 @@ default: {w} {c} {t}
|
|||
|
||||
`-window-command` *cmd*
|
||||
|
||||
Set command to execute on selected window for custom action.
|
||||
Set command to execute on selected window for a custom action.
|
||||
See *PATTERN*.
|
||||
|
||||
Default: *"xkill -id {window}"*
|
||||
|
@ -439,12 +432,12 @@ Default: *"xkill -id {window}"*
|
|||
|
||||
The modi to combine in combi mode.
|
||||
For syntax to see `-modi`.
|
||||
To get one merge view, of window,run,ssh:
|
||||
To get one merge view, of `window`,`run`, and `ssh`:
|
||||
|
||||
rofi -show combi -combi-modi "window,run,ssh" -modi combi
|
||||
|
||||
Notes: The I3 Window manager does not like commas in the command when specifying an exec command.
|
||||
For that case '#' can be used as an separator.
|
||||
For that case '#' can be used as a separator.
|
||||
|
||||
### History and Sorting
|
||||
|
||||
|
@ -456,20 +449,20 @@ Disable history
|
|||
`-levenshtein-sort` to enable
|
||||
`-no-levenshtein-sort` to disable
|
||||
|
||||
When searching sort the result based on levenshtein distance.
|
||||
This setting can be changed at runtime, see `-kb-toggle-sort`.
|
||||
When searching, sort the result based on levenshtein distance.
|
||||
This setting can be changed at runtime (see `-kb-toggle-sort`).
|
||||
|
||||
### Dmenu specific
|
||||
|
||||
`-sep` *separator*
|
||||
|
||||
Separator for dmenu. Example: To show list 'a' to 'e' with '|' as separator:
|
||||
Separator for dmenu. Example: To show a list of 'a' to 'e' with '|' as a separator:
|
||||
|
||||
echo "a|b|c|d|e" | rofi -sep '|' -dmenu
|
||||
|
||||
`-p` *prompt*
|
||||
|
||||
Specify the prompt to show in dmenu mode. E.g. select monkey a,b,c,d or e.
|
||||
Specify the prompt to show in dmenu mode. For example, select 'monkey', a,b,c,d, or e.
|
||||
|
||||
echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey:"
|
||||
|
||||
|
@ -495,7 +488,7 @@ Makes dmenu searches case-insensitive
|
|||
|
||||
`-a` *X*
|
||||
|
||||
Active row, mark row X as active. (starting at 0)
|
||||
Active row, mark row X as active (starting at 0).
|
||||
You can specify single element: -a 3
|
||||
A range: -a 3-8
|
||||
or a set of rows: -a 0,2
|
||||
|
@ -503,7 +496,7 @@ or any combination: -a 0,2-3,9
|
|||
|
||||
`-u` *X*
|
||||
|
||||
Urgent row, mark row X as urgent. (starting at 0)
|
||||
Urgent row, mark row X as urgent (starting at 0).
|
||||
You can specify single element: -u 3
|
||||
A range: -u 3-8
|
||||
or a set of rows: -u 0,2
|
||||
|
@ -521,14 +514,14 @@ This mode returns directly when no entries given.
|
|||
|
||||
`-format` *format*
|
||||
|
||||
Allows the output of dmenu to be customized (N is total number of input entries):
|
||||
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.
|
||||
* 'f' filter string (user input).
|
||||
* 'F' quoted filter string (user input).
|
||||
* 's' selected string
|
||||
* 'i' index (0 - (N-1))
|
||||
* 'd' index (1 - N)
|
||||
* 'q' quote string
|
||||
* 'f' filter string (user input)
|
||||
* 'F' quoted filter string (user input)
|
||||
|
||||
Default: 's'
|
||||
|
||||
|
@ -561,7 +554,7 @@ 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.
|
||||
Tell **rofi** that DMenu input is pango markup encoded, and should be rendered.
|
||||
See [here](https://developer.gnome.org/pango/stable/PangoMarkupFormat.html) for details about pango markup.
|
||||
|
||||
|
||||
|
@ -571,14 +564,14 @@ Allow multiple lines to be selected. Adds a small selection indicator to the lef
|
|||
|
||||
`-sync`
|
||||
|
||||
Force rofi mode to first read all data from stdin before showing selection window. This is how original dmenu behaviour.
|
||||
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`
|
||||
Note: the default asynchronous mode will also be automatically disabled if used with conflicting options,
|
||||
such as `-dump`, `-only-match` or `-auto-select`.
|
||||
|
||||
`-async-pre-read` *number*
|
||||
|
||||
Reads the first 25 entries blocking. Then switches to async mode. This makes it feel more 'snappy'.
|
||||
Reads the first 25 entries blocking, then switches to async mode. This makes it feel more 'snappy'.
|
||||
|
||||
*default*: 25
|
||||
|
||||
|
@ -586,15 +579,14 @@ Reads the first 25 entries blocking. Then switches to async mode. This makes it
|
|||
|
||||
`-e` *message*
|
||||
|
||||
Popup a message dialog (used internally for showing errors) with *message*.
|
||||
Pops up a message dialog (used internally for showing errors) with *message*.
|
||||
Message can be multi-line.
|
||||
|
||||
### Other
|
||||
|
||||
`-pid` *path*
|
||||
|
||||
Make **rofi** create a pid file and check this on startup. Avoiding multiple copies running
|
||||
simultaneously. This is useful when running **rofi** from a keybinding daemon.
|
||||
Make **rofi** create a pid file and check this on startup. The pid file prevents multiple **rofi** instances from running simultaneously. This is useful when running **rofi** from a key-binding daemon.
|
||||
|
||||
`-fake-transparency`
|
||||
|
||||
|
@ -618,7 +610,6 @@ Default: *enabled*
|
|||
|
||||
### Debug
|
||||
|
||||
|
||||
`-no-config`
|
||||
|
||||
Disable parsing of configuration. This runs rofi in *stock* mode.
|
||||
|
@ -627,35 +618,34 @@ Disable parsing of configuration. This runs rofi in *stock* mode.
|
|||
|
||||
Disables the loading of plugins.
|
||||
|
||||
To get a trace with (lots of) debug information set the following environment variable when executing **rofi**:
|
||||
To get a trace with (lots of) debug information, set the following environment variable when executing **rofi**:
|
||||
|
||||
```
|
||||
G_MESSAGES_DEBUG=all
|
||||
```
|
||||
|
||||
The trace can be filtered by only outputting the relevant domains, f.e.:
|
||||
The trace can be filtered by only outputting the relevant domains, for example:
|
||||
|
||||
```
|
||||
G_MESSAGES_DEBUG=Dialogs.DRun
|
||||
```
|
||||
|
||||
For more information on debugging see the [wiki](https://github.com/DaveDavenport/rofi/wiki/Debugging%20Rofi)
|
||||
For more information on debugging, see the [wiki](https://github.com/DaveDavenport/rofi/wiki/Debugging%20Rofi)
|
||||
|
||||
## PATTERN
|
||||
|
||||
To launch commands (e.g. when using the ssh launcher) the user can enter the used command-line,
|
||||
the following keys can be used that will be replaced at runtime:
|
||||
To launch commands (for example, when using the ssh launcher), the user can enter the used command-line. The following keys can be used that will be replaced at runtime:
|
||||
|
||||
* `{host}`: The host to connect to.
|
||||
* `{terminal}`: The configured terminal (See -terminal-emulator)
|
||||
* `{ssh-client}`: The configured ssh client (See -ssh-client)
|
||||
* `{cmd}`: The command to execute.
|
||||
* `{window}`: The window id of the selected window. (In `window-command`)
|
||||
* `{host}`: the host to connect to
|
||||
* `{terminal}`: the configured terminal (see -terminal-emulator)
|
||||
* `{ssh-client}`: the configured ssh client (see -ssh-client)
|
||||
* `{cmd}`: the command to execute
|
||||
* `{window}`: the window ID of the selected window (in `window-command`)
|
||||
|
||||
## DMENU 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`.
|
||||
This way it can be used as a drop-in replacement for dmenu. Just copy or symlink **rofi** to dmenu in `$PATH`.
|
||||
|
||||
ln -s /usr/bin/rofi /usr/bin/dmenu
|
||||
|
||||
|
@ -665,22 +655,22 @@ The theme format below describes the old (pre version 1.4) theme format. Please
|
|||
manual.
|
||||
|
||||
The theme setup allows you to specify colors per state, similar to **i3**
|
||||
Currently 3 states exists:
|
||||
Currently 3 states exist:
|
||||
|
||||
* **normal** Normal row.
|
||||
* **urgent** Highlighted row (urgent)
|
||||
* **active** Highlighted row (active)
|
||||
* **normal**: normal row
|
||||
* **urgent**: highlighted row (urgent)
|
||||
* **active**: highlighted row (active)
|
||||
|
||||
For each state the following 5 colors must be set:
|
||||
For each state, the following 5 colors must be set:
|
||||
|
||||
* **bg** Background color row
|
||||
* **fg** Text color
|
||||
* **bgalt** Background color alternating row
|
||||
* **hlfg** Foreground color selected row
|
||||
* **hlbg** Background color selected row
|
||||
* **bg**: background color row
|
||||
* **fg**: text color
|
||||
* **bgalt**: background color alternating row
|
||||
* **hlfg**: foreground color selected row
|
||||
* **hlbg**: background color selected row
|
||||
|
||||
The window background and border color should be specified separate. The key `color-window` contains
|
||||
a pair `background,border,separator`.
|
||||
The window background and border color should be specified separately. The key `color-window` contains
|
||||
a tuple `background,border,separator`.
|
||||
An example for `Xresources` file:
|
||||
|
||||
! State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg'
|
||||
|
@ -697,35 +687,33 @@ Same settings can also be specified on command-line:
|
|||
|
||||
## COLORS
|
||||
|
||||
RGB colors can be specified by either its X11 name, or hexadecimal notation.
|
||||
RGB colors can be specified by either their X11 name or hexadecimal notation.
|
||||
For example:
|
||||
|
||||
white
|
||||
|
||||
Or
|
||||
Or:
|
||||
|
||||
#FFFFFF
|
||||
|
||||
ARGB colors are also support, these can be used to create a transparent window if: 1. Your Xserver supports TrueColor, 2.
|
||||
You are running a composite manager.
|
||||
|
||||
ARGB colors are also supported. These can be used to create a transparent window if (1) your Xserver supports TrueColor, and (2) you are running a composite manager.
|
||||
For example:
|
||||
argb:FF444444
|
||||
|
||||
Or
|
||||
Or:
|
||||
|
||||
#FF444444
|
||||
|
||||
The first two fields specify the alpha level. This determines the amount of transparency.
|
||||
(00 everything, FF nothing). The other fields represent the actual color, in hex.
|
||||
The first two fields specify the alpha level. This determines the amount of transparency (00 everything, FF nothing). The other fields represent the actual color, in hex.
|
||||
|
||||
Within **rofi** transparency can be used, e.g. if the selected background color is 50% transparent, the background color
|
||||
of the window will be visible through it.
|
||||
Transparency can be used within **rofi**, for example if the selected background color is 50% transparent, the background color
|
||||
of the window will be visible thru it.
|
||||
|
||||
## KEYBINDINGS
|
||||
## KEY BINDINGS
|
||||
|
||||
**rofi** has the following key-bindings:
|
||||
**rofi** has the following key bindings:
|
||||
|
||||
* `Ctrl-v, Insert`: Paste clipboard
|
||||
* `Ctrl-v, Insert`: Paste from clipboard
|
||||
* `Ctrl-Shift-v, Shift-Insert`: Paste primary selection
|
||||
* `Ctrl-u`: Clear the line
|
||||
* `Ctrl-a`: Beginning of line
|
||||
|
@ -741,13 +729,13 @@ of the window will be visible through it.
|
|||
* `Ctrl-j,Ctrl-m,Enter`: Accept entry
|
||||
* `Ctrl-n,Down`: Select next entry
|
||||
* `Ctrl-p,Up`: Select previous entry
|
||||
* `Page Up`: Go to the previous page
|
||||
* `Page Down`: Go to the next page
|
||||
* `Ctrl-Page Up`: Go to the previous column
|
||||
* `Ctrl-Page Down`: Go to the next column
|
||||
* `Ctrl-Enter`: Use entered text as command (in ssh/run modi)
|
||||
* `Page Up`: Go to previous page
|
||||
* `Page Down`: Go to next page
|
||||
* `Ctrl-Page Up`: Go to previous column
|
||||
* `Ctrl-Page Down`: Go to next column
|
||||
* `Ctrl-Enter`: Use entered text as a command (in `ssh/run modi`)
|
||||
* `Shift-Enter`: Launch the application in a terminal (in run mode)
|
||||
* `Shift-Enter`: Return the selected entry and move to the next item while keeping Rofi open. (in dmenu)
|
||||
* `Shift-Enter`: Return the selected entry and move to the next item while keeping **rofi** open. (in dmenu)
|
||||
* `Shift-Right`: Switch to the next modi. The list can be customized with the `-switchers` argument.
|
||||
* `Shift-Left`: Switch to the previous modi. The list can be customized with the `-switchers` argument.
|
||||
* `Ctrl-Tab`: Switch to the next modi. The list can be customized with the `-switchers` argument.
|
||||
|
@ -756,13 +744,13 @@ of the window will be visible through it.
|
|||
* `Shift-Del`: Delete entry from history.
|
||||
* `grave`: Toggle case sensitivity.
|
||||
* `Alt-grave`: Toggle levenshtein sorting.
|
||||
* `Alt-Shift-S`: Take a screenshot and store this in the Pictures directory.
|
||||
* `Alt-Shift-S`: Take a screenshot and store it in the Pictures directory.
|
||||
|
||||
To get a full list of keybindings on the commandline, see `rofi -dump-xresources | grep kb-`.
|
||||
Keybindings can be modified using the configuration systems.
|
||||
To get searchable list of keybindings, run `rofi -show keys`.
|
||||
To get a full list of key bindings on the commandline, see `rofi -dump-xresources | grep kb-`.
|
||||
Key bindings can be modified using the configuration systems.
|
||||
To get a searchable list of key bindings, run `rofi -show keys`.
|
||||
|
||||
A keybinding starting with `!` will act when all keys have been released.
|
||||
A key binding starting with `!` will act when all keys have been released.
|
||||
|
||||
## Available Modi
|
||||
|
||||
|
@ -795,7 +783,7 @@ Pressing the `accept-custom` binding (`control-enter` or `shift-enter`) with cus
|
|||
|
||||
### SSH
|
||||
|
||||
Shows a list of SSH targets based on your ssh config file, and allows to quickly ssh into them.
|
||||
Shows a list of SSH targets based on your ssh config file, and allows to quickly `ssh` into them.
|
||||
|
||||
### Keys
|
||||
|
||||
|
@ -813,7 +801,7 @@ Try using a mono-space font.
|
|||
|
||||
### The window is completely black.
|
||||
|
||||
Check quotes used on the commandline: e.g. used “ instead of ".
|
||||
Check quotes used on the commandline: you might have used `“` ("smart quotes") instead of `"` ("machine quotes").
|
||||
|
||||
### What does the icon in the top right show?
|
||||
|
||||
|
@ -832,8 +820,7 @@ Show the run dialog:
|
|||
|
||||
rofi -modi run -show run
|
||||
|
||||
|
||||
Show the the run dialog and allow switching to Desktop File run dialog (drun):
|
||||
Show the the run dialog, and allow switching to Desktop File run dialog (drun):
|
||||
|
||||
rofi -modi run,drun -show run
|
||||
|
||||
|
@ -841,8 +828,7 @@ Combine the run and Desktop File run dialog (drun):
|
|||
|
||||
rofi -modi combi -show combi -combi-modi run,drun
|
||||
|
||||
|
||||
Combine the run and Desktop File run dialog (drun) and allow switching to window switcher:
|
||||
Combine the run and Desktop File run dialog (drun), and allow switching to window switcher:
|
||||
|
||||
rofi -modi combi,window -show combi -combi-modi run,drun
|
||||
|
||||
|
@ -850,19 +836,19 @@ Run **rofi** full monitor width at the top of the monitor like a dropdown menu:
|
|||
|
||||
rofi -show run -width 100 -location 1 -lines 5 -bw 2 -yoffset -2
|
||||
|
||||
Get a colored list of available wifi networks:
|
||||
Get a colored list of available wi-fi networks:
|
||||
|
||||
tty-pipe nmcli device wifi | out2html -p | rofi -dmenu -markup-rows
|
||||
|
||||
Popup a text message claiming that this is the end:
|
||||
Pop up a text message claiming that this is the end:
|
||||
|
||||
rofi -e "This is the end"
|
||||
|
||||
Popup a text message in red, bold font claiming that this is still the end:
|
||||
Pop up a text message in red, bold font claiming that this is still the end:
|
||||
|
||||
rofi -e "<span color='red'><b>This is still the end</b></span>>" -markup
|
||||
|
||||
Show all keybindings:
|
||||
Show all key bindings:
|
||||
|
||||
rofi -show keys
|
||||
|
||||
|
@ -870,13 +856,13 @@ Use `qalc` to get a simple calculator in **rofi**:
|
|||
|
||||
rofi -show calc -modi "calc:qalc +u8 -nocurrencies"
|
||||
|
||||
## I3
|
||||
## i3
|
||||
|
||||
In [I3](http://i3wm.org/) you want to bind rofi to be launched on key-release. Otherwise it cannot grab the keyboard.
|
||||
See also the I3 [manual](http://i3wm.org/docs/userguide.html):
|
||||
In [i3](http://i3wm.org/) you want to bind **rofi** to be launched on key release. Otherwise, it cannot grab the keyboard.
|
||||
See also the i3 [manual](http://i3wm.org/docs/userguide.html):
|
||||
|
||||
Some tools (such as import or xdotool) might be unable to run upon a KeyPress event, because the keyboard/pointer is
|
||||
still grabbed. For these situations, the --release flag can be used, which will execute the command after the keys have
|
||||
still grabbed. For these situations, the `--release` flag can be used, as it will execute the command after the keys have
|
||||
been released.
|
||||
|
||||
## LICENSE
|
||||
|
@ -904,7 +890,7 @@ been released.
|
|||
|
||||
## WEBSITE
|
||||
|
||||
**rofi** website can be found at [here](https://davedavenport.github.io/rofi/)
|
||||
**rofi** website can be found [here](https://davedavenport.github.io/rofi/)
|
||||
|
||||
## SUPPORT
|
||||
|
||||
|
|
Loading…
Reference in a new issue