diff --git a/config/config.c b/config/config.c index e09f732d..cd4d62b6 100644 --- a/config/config.c +++ b/config/config.c @@ -174,6 +174,6 @@ Settings config = { /** normalize match */ .normalize_match = FALSE, - /** restore focus */ - .restore_focus = TRUE + /** steal focus */ + .steal_focus = FALSE }; diff --git a/doc/rofi-script.5 b/doc/rofi-script.5 index ff06dcb3..49e24ec8 100644 --- a/doc/rofi-script.5 +++ b/doc/rofi-script.5 @@ -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. diff --git a/doc/rofi-sensible-terminal.1 b/doc/rofi-sensible-terminal.1 index 30d4a15d..6d10df97 100644 --- a/doc/rofi-sensible-terminal.1 +++ b/doc/rofi-sensible-terminal.1 @@ -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) diff --git a/doc/rofi-theme-selector.1 b/doc/rofi-theme-selector.1 index de076ff4..99525093 100644 --- a/doc/rofi-theme-selector.1 +++ b/doc/rofi-theme-selector.1 @@ -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".
$XDG\_CONFIG\_HOME is normally unset. Default path is "$HOME/.config".
diff --git a/doc/rofi-theme.5 b/doc/rofi-theme.5 index 3a555fdb..36ca24bc 100644 --- a/doc/rofi-theme.5 +++ b/doc/rofi-theme.5 @@ -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. diff --git a/doc/rofi.1 b/doc/rofi.1 index 97219285..dca64e1e 100644 --- a/doc/rofi.1 +++ b/doc/rofi.1 @@ -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] diff --git a/doc/rofi.1.markdown b/doc/rofi.1.markdown index b8c857e8..1f986503 100644 --- a/doc/rofi.1.markdown +++ b/doc/rofi.1.markdown @@ -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 diff --git a/include/settings.h b/include/settings.h index f0d2c13f..1c05b7f0 100644 --- a/include/settings.h +++ b/include/settings.h @@ -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; diff --git a/source/xcb.c b/source/xcb.c index 8dfbf539..82b21b5f 100644 --- a/source/xcb.c +++ b/source/xcb.c @@ -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; } diff --git a/source/xrmoptions.c b/source/xrmoptions.c index ab60183f..acbfd916 100644 --- a/source/xrmoptions.c +++ b/source/xrmoptions.c @@ -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 */