1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-03 04:23:42 -05:00

Add 'steal-focus' option instead of 'restore-focus' option.

Disable steal-focus by default.

Fixes: #1275
This commit is contained in:
Dave Davenport 2021-04-13 11:35:34 +02:00 committed by Dave Davenport
parent c1d80bcf45
commit bcc5a6eeb0
10 changed files with 34 additions and 299 deletions

View file

@ -174,6 +174,6 @@ Settings config = {
/** normalize match */
.normalize_match = FALSE,
/** restore focus */
.restore_focus = TRUE
/** steal focus */
.steal_focus = FALSE
};

View file

@ -64,8 +64,6 @@ Rofi sets the following environment variable when executing the script:
.SS \fB\fCROFI\_RETV\fR
.PP
An integer number with the current state:
.RS
.IP \(bu 2
\fB0\fP: Initial call of script.
.IP \(bu 2
@ -75,8 +73,6 @@ An integer number with the current state:
.IP \(bu 2
\fB10\-28\fP: Custom keybinding 1\-19
.RE
.SS \fB\fCROFI\_INFO\fR
.PP
Environment get set when selected entry get set with the property value of the 'info' row option, if set.
@ -100,8 +96,6 @@ For example to set the prompt:
.PP
The following extra options exists:
.RS
.IP \(bu 2
\fBprompt\fP: Update the prompt text.
.IP \(bu 2
@ -117,8 +111,6 @@ The following extra options exists:
.IP \(bu 2
\fBno\-custom\fP: If set to 'true'; only accept listed entries, ignore custom input.
.RE
.SH Parsing row options
.PP
Extra options for individual rows can be set.
@ -138,8 +130,6 @@ For example:
.PP
The following options are supported:
.RS
.IP \(bu 2
\fBicon\fP: Set the icon for that row.
.IP \(bu 2
@ -149,8 +139,6 @@ The following options are supported:
.IP \(bu 2
\fBinfo\fP: Info that, on selection, gets placed in the \fB\fCROFI\_INFO\fR environment variable. This entry does not get searched.
.RE
.PP
multiple entries can be passed using the \fB\fC\\x1f\fR separator.

View file

@ -16,8 +16,6 @@ shipping this script in a way which is appropriate for the distribution.
.PP
It tries to start one of the following (in that order):
.RS
.IP \(bu 2
\fB\fC$TERMINAL\fR (this is a non\-standard variable)
.IP \(bu 2
@ -55,8 +53,6 @@ alacritty
.IP \(bu 2
kitty
.RE
.SH SEE ALSO
.PP
rofi(1)

View file

@ -18,8 +18,6 @@ It lets you preview each theme with the Enter key and apply the theme to your
.SH Theme directories
.PP
\fBrofi\-theme\-selector\fP searches the following directories for themes:
.RS
.IP \(bu 2
${PREFIX}/share/rofi/themes
.IP \(bu 2
@ -27,8 +25,6 @@ $XDG\_CONFIG\_HOME/rofi/themes
.IP \(bu 2
$XDG\_DATA\_HOME/share/rofi/themes
.RE
.PP
${PREFIX} reflects the install location of rofi. In most cases this will be "/usr".<br>
$XDG\_CONFIG\_HOME is normally unset. Default path is "$HOME/.config".<br>

View file

@ -19,15 +19,11 @@ preferred.
.SH Comments
.PP
C and C++ file comments are supported.
.RS
.IP \(bu 2
Anything after \fB\fC//\fR and before a newline is considered a comment.
.IP \(bu 2
Everything between \fB\fC/*\fR and \fB\fC*/\fR is a comment.
.RE
.PP
Comments can be nested and the C comments can be inline.
@ -246,8 +242,6 @@ When used, values with the wrong type that cannot be converted are ignored.
.PP
The current theme format supports different types:
.RS
.IP \(bu 2
a string
.IP \(bu 2
@ -281,18 +275,12 @@ an environment variable
.IP \(bu 2
Inherit
.RE
.PP
Some of these types are a combination of other types.
.SH String
.RS
.IP \(bu 2
.SH String.IP \(bu 2
Format: \fB\fC"[:print:]+"\fR
.RE
.PP
A string is always surrounded by double quotes (\fB\fC"\fR). Between the quotes there can be any printable character.
@ -311,13 +299,9 @@ font: "Awasome 12";
.PP
The string must be valid UTF\-8.
.SH Integer
.RS
.IP \(bu 2
.SH Integer.IP \(bu 2
Format: \fB\fC[\-+]?[:digit:]+\fR
.RE
.PP
An integer may contain any number.
@ -333,13 +317,9 @@ lines: 12;
.fi
.RE
.SH Real
.RS
.IP \(bu 2
.SH Real.IP \(bu 2
Format: \fB\fC[\-+]?[:digit:]+(\\.[:digit:]+)?\fR
.RE
.PP
A real is an integer with an optional fraction.
@ -358,13 +338,9 @@ real: 3.4;
.PP
The following is not valid: \fB\fC\&.3\fR, \fB\fC3.\fR or scientific notation: \fB\fC3.4e\-3\fR\&.
.SH Boolean
.RS
.IP \(bu 2
.SH Boolean.IP \(bu 2
Format: \fB\fC(true|false)\fR
.RE
.PP
Boolean value is either \fB\fCtrue\fR or \fB\fCfalse\fR\&. This is case\-\&sensitive.
@ -383,8 +359,6 @@ dynamic: false;
.SH Color
.PP
\fBrofi\fP supports the color formats as specified in the CSS standard (1,2,3 and some of CSS 4)
.RS
.IP \(bu 2
Format: \fB\fC#{HEX}{3}\fR (rgb)
.IP \(bu 2
@ -406,15 +380,11 @@ Format: \fB\fCcmyk( {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE} [, {P
.IP \(bu 2
Format: \fB\fC{named\-color} [ / {PERCENTAGE} ]\fR
.RE
.PP
The white\-space format proposed in CSS4 is also supported.
.PP
The different values are:
.RS
.IP \(bu 2
\fB\fC{HEX}\fR is a hexadecimal number ('0\-9a\-f' case insensitive).
.IP \(bu 2
@ -443,8 +413,6 @@ PapayaWhip, PeachPuff, Peru, Pink, Plum, PowderBlue, Purple, RebeccaPurple, Red,
Salmon, SandyBrown, SeaGreen, SeaShell, Sienna, Silver, SkyBlue, SlateBlue, SlateGray, SlateGrey, Snow, SpringGreen,
SteelBlue, Tan, Teal, Thistle, Tomato, Turquoise, Violet, Wheat, White, WhiteSmoke, Yellow, YellowGreen,transparent
.RE
.PP
For example:
@ -472,18 +440,12 @@ text\-color: Black;
.fi
.RE
.SH Text style
.RS
.IP \(bu 2
.SH Text style.IP \(bu 2
Format: \fB\fC(bold|italic|underline|strikethrough|none)\fR
.RE
.PP
Text style indicates how the highlighted text is emphasized. \fB\fCNone\fR indicates that no emphasis
should be applied.
.RS
.IP \(bu 2
\fB\fCbold\fR: make the text thicker then the surrounding text.
.IP \(bu 2
@ -495,8 +457,6 @@ should be applied.
.IP \(bu 2
\fB\fCsmall caps\fR: emphasise the text using capitalization.
.RE
.PP
.RS
@ -504,22 +464,16 @@ should be applied.
For some reason \fB\fCsmall caps\fR does not work on some systems.
.RE
.SH Line style
.RS
.IP \(bu 2
.SH Line style.IP \(bu 2
Format: \fB\fC(dash|solid)\fR
.RE
.PP
Indicates how a line should be drawn.
It currently supports:
* \fB\fCdash\fR: a dashed line, where the gap is the same width as the dash
* \fB\fCsolid\fR: a solid line
.SH Distance
.RS
.IP \(bu 2
.SH Distance.IP \(bu 2
Format: \fB\fC{Integer}px\fR
.IP \(bu 2
Format: \fB\fC{Real}em\fR
@ -530,12 +484,8 @@ Format: \fB\fC{Real}%\fR
.IP \(bu 2
Format: \fB\fC{Integer}mm\fR
.RE
.PP
A distance can be specified in 3 different units:
.RS
.IP \(bu 2
\fB\fCpx\fR: Screen pixels.
.IP \(bu 2
@ -547,8 +497,6 @@ A distance can be specified in 3 different units:
.IP \(bu 2
\fB\fC%\fR: Percentage of the \fBmonitor\fP size.
.RE
.PP
Distances used in the horizontal direction use the monitor width. Distances in
the vertical direction use the monitor height.
@ -582,8 +530,6 @@ width: calc( 100% \- 37px );
.PP
It supports the following operations:
.RS
.IP \(bu 2
\fB\fC+\fR : Add
.IP \(bu 2
@ -599,14 +545,10 @@ It supports the following operations:
.IP \(bu 2
\fB\fCmax\fR : Maximum of l or rvalue;
.RE
.PP
It uses the C precedence ordering.
.SH Padding
.RS
.IP \(bu 2
.SH Padding.IP \(bu 2
Format: \fB\fC{Integer}\fR
.IP \(bu 2
Format: \fB\fC{Distance}\fR
@ -617,15 +559,11 @@ Format: \fB\fC{Distance} {Distance} {Distance}\fR
.IP \(bu 2
Format: \fB\fC{Distance} {Distance} {Distance} {Distance}\fR
.RE
.PP
If no unit is specified, pixels are assumed.
.PP
The different number of fields in the formats are parsed like:
.RS
.IP \(bu 2
1 field: \fB\fCall\fR
.IP \(bu 2
@ -635,11 +573,7 @@ The different number of fields in the formats are parsed like:
.IP \(bu 2
4 fields: \fB\fCtop\fR, \fB\fCright\fR, \fB\fCbottom\fR, \fB\fCleft\fR
.RE
.SH Border
.RS
.IP \(bu 2
.SH Border.IP \(bu 2
Format: \fB\fC{Integer}\fR
.IP \(bu 2
Format: \fB\fC{Distance}\fR
@ -658,8 +592,6 @@ Format: \fB\fC{Distance} {Line style} {Distance} {Line style} {Distance} {Line s
.IP \(bu 2
Format: \fB\fC{Distance} {Line style} {Distance} {Line style} {Distance} {Line style} {Distance} {Line style}\fR
.RE
.PP
Borders are identical to padding, except that each distance field has a line
style property.
@ -674,12 +606,9 @@ When no unit is specified, pixels are assumed.
.SH Position
.PP
Indicate a place on the window/monitor.
.RS
.IP \(bu 2
.PP
Format: \fB\fC(center|east|north|west|south|north east|north west|south west|south east)\fR
.PP
.RS
@ -687,15 +616,13 @@ Format: \fB\fC(center|east|north|west|south|north east|north west|south west|sou
north west | north | north east
\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-
west | center | east
west | center | east
\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-
south west | south | south east
.fi
.RE
.RE
.SH Visibility
.PP
It is possible to hide widgets:
@ -705,13 +632,9 @@ inputbar {
enabled: false;
}
.SH Reference
.RS
.IP \(bu 2
.SH Reference.IP \(bu 2
Format: \fB\fC@{PROPERTY NAME}\fR
.RE
.PP
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.
@ -744,34 +667,22 @@ window {
.fi
.RE
.SH Orientation
.RS
.IP \(bu 2
.SH Orientation.IP \(bu 2
Format: \fB\fC(horizontal|vertical)\fR
.RE
.PP
Specify the orientation of the widget.
.SH List of keywords
.RS
.IP \(bu 2
.SH List of keywords.IP \(bu 2
Format: \fB\fC[ keyword, keyword ]\fR
.RE
.PP
A list starts with a '[' and ends with a ']'. The entries in the list are comma\-separated.
The \fB\fCkeyword\fR in the list refers to an widget name.
.SH Environment variable
.RS
.IP \(bu 2
.SH Environment variable.IP \(bu 2
Format: \fB\fC${:alnum:}\fR
.RE
.PP
This will parse the environment variable as the property value. (that then can be any of the above types).
The environment variable should be an alphanumeric string without white\-space.
@ -787,13 +698,9 @@ The environment variable should be an alphanumeric string without white\-space.
.fi
.RE
.SH Inherit
.RS
.IP \(bu 2
.SH Inherit.IP \(bu 2
Format: \fB\fCinherit\fR
.RE
.PP
Inherits the property from its parent widget.
@ -850,20 +757,14 @@ element selected {
.SH Name
.PP
The current widgets available in \fBrofi\fP:
.RS
.IP \(bu 2
\fB\fCwindow\fR
.RS
.IP \(bu 2
\fB\fCoverlay\fR: the overlay widget.
.IP \(bu 2
\fB\fCmainbox\fR: The mainbox box.
.IP \(bu 2
\fB\fCinputbar\fR: The input bar box.
.RS
.IP \(bu 2
\fB\fCbox\fR: the horizontal @box packing the widgets
.IP \(bu 2
@ -876,49 +777,27 @@ The current widgets available in \fBrofi\fP:
\fB\fCnum\-rows\fR: Shows the total number of rows.
.IP \(bu 2
\fB\fCnum\-filtered\-rows\fR: Shows the total number of rows after filtering.
.RE
.IP \(bu 2
\fB\fClistview\fR: The listview.
.RS
.IP \(bu 2
\fB\fCscrollbar\fR: the listview scrollbar
.IP \(bu 2
\fB\fCelement\fR: a box in the listview holding the entries
.RS
.IP \(bu 2
\fB\fCelement\-icon\fR: the widget in the listview's entry showing the (optional) icon
.IP \(bu 2
\fB\fCelement\-index\fR: the widget in the listview's entry keybindable index (1,2,3..0)
.IP \(bu 2
\fB\fCelement\-text\fR: the widget in the listview's entry showing the text.
.RE
.RE
.IP \(bu 2
\fB\fCmode\-switcher\fR: the main horizontal @box packing the buttons.
.RS
.IP \(bu 2
\fB\fCbutton\fR: the buttons @textbox for each mode
.RE
.IP \(bu 2
\fB\fCmessage\fR: The container holding the textbox.
.RS
.IP \(bu 2
\fB\fCtextbox\fR: the message textbox
.RE
.RE
.RE
.PP
Note that these path names match the default theme. Themes that provide a custom layout will have different
elements, and structure.
@ -990,9 +869,7 @@ This allows the colors used for drawing the handle to be set independently.
.PP
The following properties are currently supported:
.SS all widgets:
.RS
.IP \(bu 2
.SS all widgets:.IP \(bu 2
\fBenabled\fP: enable/disable the widget
.IP \(bu 2
\fBpadding\fP: padding
@ -1013,11 +890,7 @@ Background color
\fBborder\-color\fP: color
Color of the border
.RE
.SS window:
.RS
.IP \(bu 2
.SS window:.IP \(bu 2
.PP
\fBfont\fP: string
@ -1061,11 +934,7 @@ The width of the window
\fBy\-offset\fP: distance
The offset of the window to the anchor point, allowing you to push the window left/right/up/down
.RE
.SS scrollbar:
.RS
.IP \(bu 2
.SS scrollbar:.IP \(bu 2
\fBbackground\-color\fP: color
.IP \(bu 2
\fBhandle\-width\fP: distance
@ -1074,22 +943,14 @@ The offset of the window to the anchor point, allowing you to push the window le
.IP \(bu 2
\fBborder\-color\fP: color
.RE
.SS box:
.RS
.IP \(bu 2
.SS box:.IP \(bu 2
\fBorientation\fP: orientation
Set the direction the elements are packed.
.IP \(bu 2
\fBspacing\fP: distance
Distance between the packed elements.
.RE
.SS textbox:
.RS
.IP \(bu 2
.SS textbox:.IP \(bu 2
\fBbackground\-color\fP: color
.IP \(bu 2
\fBborder\-color\fP: the color used for the border around the widget.
@ -1119,11 +980,7 @@ color is optional, multiple highlight styles can be added like: bold underline i
.IP \(bu 2
\fBmarkup\fP: Force markup on, beware that only valid pango markup strings are shown.
.RE
.SS listview:
.RS
.IP \(bu 2
.SS listview:.IP \(bu 2
\fBcolumns\fP: integer
Number of columns to show (at least 1)
.IP \(bu 2
@ -1157,8 +1014,6 @@ Reverse the ordering (top down to bottom up).
\fBfixed\-columns\fP: boolean
Do not reduce the number of columns shown when number of visible elements is not enough to fill them all.
.RE
.PP
Each element is a \fB\fCbox\fR called \fB\fCelement\fR\&. Each \fB\fCelement\fR can contain an \fB\fCelement\-icon\fR and \fB\fCelement\-text\fR\&.
@ -1285,8 +1140,6 @@ The layout of \fBrofi\fP can be tweaked by packing the 'fixed' widgets in a cust
.PP
The following widgets are fixed, as they provide core \fBrofi\fP functionality:
.RS
.IP \(bu 2
prompt
.IP \(bu 2
@ -1306,13 +1159,9 @@ num\-rows
.IP \(bu 2
num\-filtered\-rows
.RE
.PP
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.
.RS
.IP \(bu 2
mainbox
Packs: \fB\fCinputbar, message, listview, mode\-switcher\fR
@ -1320,15 +1169,11 @@ Packs: \fB\fCinputbar, message, listview, mode\-switcher\fR
inputbar
Packs: \fB\fCprompt,entry,case\-indicator\fR
.RE
.PP
Any widget name starting with \fB\fCtextbox\fR is a textbox widget, others are box widgets and can pack other widgets.
.PP
There are several special widgets that can be used by prefixing the name of the widget:
.RS
.IP \(bu 2
\fB\fCtextbox\fR:
This is a textbox widget. The displayed string can be set with \fB\fCstr\fR\&.
@ -1344,8 +1189,6 @@ The \fB\fCaction\fR can be set to:
\fB\fCok|alternate\fR: accept entry and launch alternate action (for run launch in terminal).
\fB\fCcustom|alternate\fR: accept custom input and launch alternate action.
.RE
.PP
To specify children, set the \fB\fCchildren\fR
property (this always happens on the \fB\fCbox\fR child, see example below):
@ -1436,8 +1279,6 @@ Just like CSS, \fBrofi\fP uses the box model for each widget.
.PP
Explanation of the different parts:
.RS
.IP \(bu 2
Content \- The content of the widget.
.IP \(bu 2
@ -1450,8 +1291,6 @@ The border use the border\-color of the widget.
Margin \- Clears an area outside the border.
The margin is transparent.
.RE
.PP
The box model allows us to add a border around elements, and to define space between elements.
@ -1576,8 +1415,6 @@ Parts of the theme can be conditionally loaded, like the CSS \fB\fC@media\fR opt
.PP
It supports the following keys as constraint:
.RS
.IP \(bu 2
\fB\fCmin\-width\fR: load when width is bigger or equal then value.
.IP \(bu 2
@ -1593,8 +1430,6 @@ It supports the following keys as constraint:
.IP \(bu 2
\fB\fCmonitor\-id\fR: The monitor id, see rofi \-help for id's.
.RE
.PP
@media takes an integer number or a fraction, for integer number \fB\fCpx\fR can be added.
@ -1613,15 +1448,11 @@ It supports the following keys as constraint:
.PP
The rasi file format offers two methods of including other files.
This can be used to modify existing themes, or have multiple variations on a theme.
.RS
.IP \(bu 2
import: Import and parse a second file.
.IP \(bu 2
theme: Discard theme, and load file as a fresh theme.
.RE
.PP
Syntax:
@ -1640,8 +1471,6 @@ The specified file can either by \fIname\fP, \fIfilename\fP,\fIfull path\fP\&.
.PP
If a filename is provided, it will try to resolve it in the following order:
.RS
.IP \(bu 2
\fB\fC${XDG\_CONFIG\_HOME}/rofi/themes/\fR
.IP \(bu 2
@ -1651,8 +1480,6 @@ If a filename is provided, it will try to resolve it in the following order:
.IP \(bu 2
\fB\fC${INSTALL PREFIX}/share/rofi/themes/\fR
.RE
.PP
A name is resolved as a filename by appending the \fB\fC\&.rasi\fR extension.

View file

@ -68,8 +68,6 @@ Markup support can be enabled, see CONFIGURATION options.
.SH CONFIGURATION
.PP
There are currently three methods of setting configuration options (evaluated in order below):
.RS
.IP \(bu 2
System configuration file (for example \fB\fC/etc/rofi.rasi\fR or old format \fB\fC/etc/rofi.conf\fR).
It first checks XDG\_CONFIG\_DIRS and then SYSCONFDIR (that is passed at compile time).
@ -88,8 +86,6 @@ This is the recommended way of configuring \fBrofi\fP\&.
.IP \(bu 2
Command\-line options: Arguments passed to \fBrofi\fP\&.
.RE
.PP
\fBTIP\fP: To get a template config file run: \fB\fCrofi \-dump\-xresources > rofi\-example.config\fR\&.
@ -141,8 +137,6 @@ rofi \-dump\-xresources
.PP
The configuration system supports the following types:
.RS
.IP \(bu 2
string
.IP \(bu 2
@ -152,8 +146,6 @@ char
.IP \(bu 2
Boolean
.RE
.PP
Boolean options have a non\-default command\-line syntax. Example to enable option X:
@ -226,8 +218,6 @@ Try to parse the file and 0 when succesful.
.PP
Specify the number of threads \fBrofi\fP should use:
.RS
.IP \(bu 2
0: Autodetect the number of supported hardware threads.
.IP \(bu 2
@ -235,8 +225,6 @@ Specify the number of threads \fBrofi\fP should use:
.IP \(bu 2
2..N: Specify the maximum number of threads to use in the thread pool.
.RE
.PP
\fB\fC\-display\fR \fIdisplay\fP
@ -443,10 +431,10 @@ Use Pango markup to format output wherever possible.
Make \fBrofi\fP react like a normal application window. Useful for scripts like Clerk that are basically an application.
.PP
\fB\fC\-[no\-]restore\-focus\fR
\fB\fC\-[no\-]steal\-focus\fR
.PP
Make rofi restore focus to window that held it when launched.
Make rofi steal focus on launch and restore close to window that held it when launched.
.SS Matching
.PP
@ -455,8 +443,6 @@ Make rofi restore focus to window that held it when launched.
.PP
Specify the matching algorithm used.
Current the following methods are supported.
.RS
.IP \(bu 2
\fBnormal\fP: match the int string
.IP \(bu 2
@ -466,8 +452,6 @@ Current the following methods are supported.
.IP \(bu 2
\fBfuzzy\fP: do a fuzzy match
.RE
.PP
Default: \fInormal\fP
@ -492,8 +476,6 @@ Only show desktop files that are present in the listed categories.
.PP
When using \fB\fCdrun\fR, match only with the specified Desktop entry fields.
The different fields are:
.RS
.IP \(bu 2
\fBname\fP: the application's name
.IP \(bu 2
@ -511,15 +493,11 @@ The different fields are:
.PP
Default: \fIname,generic,exec,categories,keywords\fP
.RE
.PP
\fB\fC\-drun\-display\-format\fR
.PP
The format string for the \fB\fCdrun\fR dialog:
.RS
.IP \(bu 2
\fBname\fP: the application's name
.IP \(bu 2
@ -531,8 +509,6 @@ The format string for the \fB\fCdrun\fR dialog:
.IP \(bu 2
\fBcomment\fP: the application comment
.RE
.PP
Pango markup can be used to formatting the output.
@ -569,8 +545,6 @@ Default: false
.PP
When using window mode, match only with the specified fields.
The different fields are:
.RS
.IP \(bu 2
\fBtitle\fP: window's title
.IP \(bu 2
@ -588,8 +562,6 @@ The different fields are:
.PP
Default: \fIall\fP
.RE
.PP
\fB\fC\-matching\-negate\-char\fR \fIchar\fP
@ -779,8 +751,6 @@ When one entry is left, automatically select it.
Select monitor to display \fBrofi\fP on.
It accepts as input: \fIprimary\fP (if primary output is set), the \fIxrandr\fP output name, or integer number (in order of
detection). Negative numbers are handled differently:
.RS
.IP \(bu 2
\fB\-1\fP: the currently focused monitor.
.IP \(bu 2
@ -797,8 +767,6 @@ behavior.)
.PP
Default: \fI\-5\fP
.RE
.PP
See \fB\fCrofi \-h\fR output for the detected monitors, their position, and size.
@ -834,15 +802,11 @@ This option can be specified multiple times.
.PP
Override the default DPI setting.
.RS
.IP \(bu 2
If set to \fB\fC0\fR, it tries to auto\-detect based on X11 screen size (similar to i3 and GTK).
.IP \(bu 2
If set to \fB\fC1\fR, it tries to auto\-detect based on the size of the monitor that \fBrofi\fP is displayed on (similar to latest Qt 5).
.RE
.PP
\fB\fC\-selected\-row\fR \fIselected row\fP
@ -961,8 +925,6 @@ Format what is being displayed for windows.
.PP
\fIfield\fP:
.RS
.IP \(bu 2
\fBw\fP: desktop name
.IP \(bu 2
@ -974,8 +936,6 @@ Format what is being displayed for windows.
.IP \(bu 2
\fBc\fP: class
.RE
.PP
\fIlen\fP: maximum field length (0 for auto\-size). If length and window \fIwidth\fP are negative, field length is \fIwidth \- len\fP\&.
if length is positive, the entry will be truncated or padded to fill that length.
@ -1042,15 +1002,11 @@ This setting can be changed at runtime (see \fB\fC\-kb\-toggle\-sort\fR).
.PP
There are 2 sorting method:
.RS
.IP \(bu 2
levenshtein (Default)
.IP \(bu 2
fzf sorting.
.RE
.PP
\fB\fC\-max\-history\-size\fR \fInumber\fP
@ -1120,8 +1076,6 @@ Makes \fB\fCdmenu\fR searches case\-insensitive
.PP
Active row, mark \fIX\fP as active. Where \fIX\fP 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:
.RS
.IP \(bu 2
A single row: '5'
.IP \(bu 2
@ -1133,8 +1087,6 @@ A set of rows: '2,0,\-9'
.IP \(bu 2
Or any combination: '5,\-3:,7:11,2,0,\-9'
.RE
.PP
\fB\fC\-u\fR \fIX\fP
@ -1161,8 +1113,6 @@ This mode returns directly when no entries given.
.PP
Allows the output of dmenu to be customized (N is the total number of input entries):
.RS
.IP \(bu 2
\&'s' selected string
.IP \(bu 2
@ -1178,8 +1128,6 @@ Allows the output of dmenu to be customized (N is the total number of input entr
.IP \(bu 2
\&'F' quoted filter string (user input)
.RE
.PP
Default: 's'
@ -1369,8 +1317,6 @@ For more information on debugging, see the wiki
.SH PATTERN
.PP
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:
.RS
.IP \(bu 2
\fB\fC{host}\fR: the host to connect to
.IP \(bu 2
@ -1382,8 +1328,6 @@ To launch commands (for example, when using the ssh launcher), the user can ente
.IP \(bu 2
\fB\fC{window}\fR: the window ID of the selected window (in \fB\fCwindow\-command\fR)
.RE
.SH DMENU REPLACEMENT
.PP
If \fB\fCargv[0]\fR (calling command) is dmenu, \fBrofi\fP will start in dmenu mode.
@ -1406,8 +1350,6 @@ manual.
.PP
The theme setup allows you to specify colors per state, similar to \fBi3\fP
Currently 3 states exist:
.RS
.IP \(bu 2
\fBnormal\fP: normal row
.IP \(bu 2
@ -1415,12 +1357,8 @@ Currently 3 states exist:
.IP \(bu 2
\fBactive\fP: highlighted row (active)
.RE
.PP
For each state, the following 5 colors must be set:
.RS
.IP \(bu 2
\fBbg\fP: background color row
.IP \(bu 2
@ -1432,8 +1370,6 @@ For each state, the following 5 colors must be set:
.IP \(bu 2
\fBhlbg\fP: background color selected row
.RE
.PP
The window background and border color should be specified separately. The key \fB\fCcolor\-window\fR contains
a tuple \fB\fCbackground,border,separator\fR\&.
@ -1519,8 +1455,6 @@ of the window will be visible through it.
.SH KEY BINDINGS
.PP
\fBrofi\fP has the following key bindings:
.RS
.IP \(bu 2
\fB\fCCtrl\-v, Insert\fR: Paste from clipboard
.IP \(bu 2
@ -1586,8 +1520,6 @@ of the window will be visible through it.
.IP \(bu 2
\fB\fCAlt\-Shift\-S\fR: Take a screenshot and store it in the Pictures directory.
.RE
.PP
To get a full list of key bindings on the commandline, see \fB\fCrofi \-h\fR\&.
The options starting with \fB\fC\-kb\fR are keybindings.
@ -1863,9 +1795,7 @@ first.
.PP
\fBrofi\-sensible\-terminal(1)\fP, \fBdmenu(1)\fP, \fBrofi\-theme(5)\fP, \fBrofi\-script(5)\fP, \fBrofi\-theme\-selector(1)\fP
.SH AUTHOR
.RS
.IP \(bu 2
.SH AUTHOR.IP \(bu 2
Qball Cow
\[la]qball@gmpclient.org\[ra]
.IP \(bu 2
@ -1875,8 +1805,6 @@ Rasmus Steinke
Quentin Glidic
\[la]sardemff7+rofi@sardemff7.net\[ra]
.RE
.PP
Original code based on work by: Sean Pringle
\[la]sean.pringle@gmail.com\[ra]

View file

@ -254,9 +254,9 @@ Use Pango markup to format output wherever possible.
Make **rofi** react like a normal application window. Useful for scripts like Clerk that are basically an application.
`-[no-]restore-focus`
`-[no-]steal-focus`
Make rofi restore focus to window that held it when launched.
Make rofi steal focus on launch and restore close to window that held it when launched.
### Matching

View file

@ -205,8 +205,8 @@ typedef struct
gboolean benchmark_ui;
gboolean normalize_match;
/** Restore focus */
gboolean restore_focus;
/** Steal focus */
gboolean steal_focus;
} Settings;
/** Global Settings structure. */
extern Settings config;

View file

@ -1187,7 +1187,7 @@ static gboolean main_loop_x11_event_handler ( xcb_generic_event_t *ev, G_GNUC_UN
void rofi_xcb_set_input_focus ( xcb_window_t w )
{
if ( config.restore_focus == FALSE ) {
if ( config.steal_focus != TRUE ) {
xcb->focus_revert = 0;
return;
}

View file

@ -233,8 +233,8 @@ static XrmOption xrmOptions[] = {
"DRUN: If enabled, reload the cache with desktop file content.", CONFIG_DEFAULT },
{ xrm_Boolean, "normalize-match", { .snum = &config.normalize_match }, NULL,
"Normalize string when matching (implies -no-show-match).", CONFIG_DEFAULT },
{ xrm_Boolean, "restore-focus", { .snum = &config.restore_focus }, NULL,
"Restore focus on close to window that had it on rofi start.", CONFIG_DEFAULT },
{ xrm_Boolean, "steal-focus", { .snum = &config.steal_focus }, NULL,
"Steal focus on launch and restore to window that had it on rofi start on close .", CONFIG_DEFAULT },
};
/** Dynamic array of extra options */