diff --git a/doc/rofi-debugging.5 b/doc/rofi-debugging.5 index 01a64932..dc0eb01b 100644 --- a/doc/rofi-debugging.5 +++ b/doc/rofi-debugging.5 @@ -1,3 +1,4 @@ +.nh .TH ROFI DEBUGGING 5 rofi debugging .SH NAME .PP @@ -5,16 +6,16 @@ Debugging rofi. .PP When reporting an issue with rofi crashing, or misbehaving. It helps to do some small test -to help pin\-point the problem. +to help pin-point the problem. .PP -First try disabling your custom configuration: \fB\fC\-no\-config\fR +First try disabling your custom configuration: \fB\fC-no-config\fR .PP This disables the parsing of the configuration files. This runs rofi in \fIstock\fP mode. .PP -If you run custom C plugins, you can disable the plugins using: \fB\fC\-no\-plugins\fR +If you run custom C plugins, you can disable the plugins using: \fB\fC-no-plugins\fR .SH Get the relevant information for an issue .PP @@ -24,19 +25,19 @@ Please pastebin the output of the following commands: .RS .nf -rofi \-help -rofi \-dump\-config -rofi \-dump\-theme +rofi -help +rofi -dump-config +rofi -dump-theme .fi .RE .PP -\fB\fCrofi \-help\fR provides us with the configuration files parsed, the exact version, monitor layout +\fB\fCrofi -help\fR provides us with the configuration files parsed, the exact version, monitor layout and more useful information. .PP -The \fB\fCrofi \-dump\-config\fR and \fB\fCrofi \-dump\-theme\fR output gives us \fB\fCrofi\fR +The \fB\fCrofi -dump-config\fR and \fB\fCrofi -dump-theme\fR output gives us \fB\fCrofi\fR interpretation of your configuration and theme. .PP @@ -50,7 +51,7 @@ To get a timing trace, enable the \fBTimings\fP debug domain. .RS .nf -G\_MESSAGES\_DEBUG=Timings rofi \-show drun +G_MESSAGES_DEBUG=Timings rofi -show drun .fi .RE @@ -66,56 +67,56 @@ Example trace: .RS .nf -(process:14942): Timings\-DEBUG: 13:47:39.335: 0.000000 (0.000000): Started -(process:14942): Timings\-DEBUG: 13:47:39.335: 0.000126 (0.000126): ../source/rofi.c:main:786 -(process:14942): Timings\-DEBUG: 13:47:39.335: 0.000163 (0.000037): ../source/rofi.c:main:819 -(process:14942): Timings\-DEBUG: 13:47:39.336: 0.000219 (0.000056): ../source/rofi.c:main:826 Setup Locale -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001235 (0.001016): ../source/rofi.c:main:828 Collect MODI -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001264 (0.000029): ../source/rofi.c:main:830 Setup MODI -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001283 (0.000019): ../source/rofi.c:main:834 Setup mainloop -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001369 (0.000086): ../source/rofi.c:main:837 NK Bindings -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001512 (0.000143): ../source/xcb.c:display\_setup:1177 Open Display -(process:14942): Timings\-DEBUG: 13:47:39.337: 0.001829 (0.000317): ../source/xcb.c:display\_setup:1192 Setup XCB -(process:14942): Timings\-DEBUG: 13:47:39.346: 0.010650 (0.008821): ../source/rofi.c:main:844 Setup Display -(process:14942): Timings\-DEBUG: 13:47:39.346: 0.010715 (0.000065): ../source/rofi.c:main:848 Setup abe -(process:14942): Timings\-DEBUG: 13:47:39.350: 0.015101 (0.004386): ../source/rofi.c:main:883 Load cmd config -(process:14942): Timings\-DEBUG: 13:47:39.351: 0.015275 (0.000174): ../source/rofi.c:main:907 Setup Modi -(process:14942): Timings\-DEBUG: 13:47:39.351: 0.015291 (0.000016): ../source/view.c:rofi\_view\_workers\_initialize:1922 Setup Threadpool, start -(process:14942): Timings\-DEBUG: 13:47:39.351: 0.015349 (0.000058): ../source/view.c:rofi\_view\_workers\_initialize:1945 Setup Threadpool, done -(process:14942): Timings\-DEBUG: 13:47:39.367: 0.032018 (0.016669): ../source/rofi.c:main:1000 Setup late Display -(process:14942): Timings\-DEBUG: 13:47:39.367: 0.032080 (0.000062): ../source/rofi.c:main:1003 Theme setup -(process:14942): Timings\-DEBUG: 13:47:39.367: 0.032109 (0.000029): ../source/rofi.c:startup:668 Startup -(process:14942): Timings\-DEBUG: 13:47:39.367: 0.032121 (0.000012): ../source/rofi.c:startup:677 Grab keyboard -(process:14942): Timings\-DEBUG: 13:47:39.368: 0.032214 (0.000093): ../source/view.c:\_\_create\_window:701 xcb create window -(process:14942): Timings\-DEBUG: 13:47:39.368: 0.032235 (0.000021): ../source/view.c:\_\_create\_window:705 xcb create gc -(process:14942): Timings\-DEBUG: 13:47:39.368: 0.033136 (0.000901): ../source/view.c:\_\_create\_window:714 create cairo surface -(process:14942): Timings\-DEBUG: 13:47:39.369: 0.033286 (0.000150): ../source/view.c:\_\_create\_window:723 pango cairo font setup -(process:14942): Timings\-DEBUG: 13:47:39.369: 0.033351 (0.000065): ../source/view.c:\_\_create\_window:761 configure font -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045896 (0.012545): ../source/view.c:\_\_create\_window:769 textbox setup -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045944 (0.000048): ../source/view.c:\_\_create\_window:781 setup window attributes -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045955 (0.000011): ../source/view.c:\_\_create\_window:791 setup window fullscreen -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045966 (0.000011): ../source/view.c:\_\_create\_window:797 setup window name and class -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045974 (0.000008): ../source/view.c:\_\_create\_window:808 setup startup notification -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045981 (0.000007): ../source/view.c:\_\_create\_window:810 done -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045992 (0.000011): ../source/rofi.c:startup:679 Create Window -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.045999 (0.000007): ../source/rofi.c:startup:681 Parse ABE -(process:14942): Timings\-DEBUG: 13:47:39.381: 0.046113 (0.000114): ../source/rofi.c:startup:684 Config sanity check -(process:14942): Timings\-DEBUG: 13:47:39.384: 0.048229 (0.002116): ../source/dialogs/run.c:get\_apps:216 start -(process:14942): Timings\-DEBUG: 13:47:39.390: 0.054626 (0.006397): ../source/dialogs/run.c:get\_apps:336 stop -(process:14942): Timings\-DEBUG: 13:47:39.390: 0.054781 (0.000155): ../source/dialogs/drun.c:get\_apps:634 Get Desktop apps (start) -(process:14942): Timings\-DEBUG: 13:47:39.391: 0.055264 (0.000483): ../source/dialogs/drun.c:get\_apps:641 Get Desktop apps (user dir) -(process:14942): Timings\-DEBUG: 13:47:39.418: 0.082884 (0.027620): ../source/dialogs/drun.c:get\_apps:659 Get Desktop apps (system dirs) -(process:14942): Timings\-DEBUG: 13:47:39.418: 0.082944 (0.000060): ../source/dialogs/drun.c:get\_apps\_history:597 Start drun history -(process:14942): Timings\-DEBUG: 13:47:39.418: 0.082977 (0.000033): ../source/dialogs/drun.c:get\_apps\_history:617 Stop drun history -(process:14942): Timings\-DEBUG: 13:47:39.419: 0.083638 (0.000661): ../source/dialogs/drun.c:get\_apps:664 Sorting done. -(process:14942): Timings\-DEBUG: 13:47:39.419: 0.083685 (0.000047): ../source/view.c:rofi\_view\_create:1759 -(process:14942): Timings\-DEBUG: 13:47:39.419: 0.083700 (0.000015): ../source/view.c:rofi\_view\_create:1783 Startup notification -(process:14942): Timings\-DEBUG: 13:47:39.419: 0.083711 (0.000011): ../source/view.c:rofi\_view\_create:1786 Get active monitor -(process:14942): Timings\-DEBUG: 13:47:39.420: 0.084693 (0.000982): ../source/view.c:rofi\_view\_refilter:1028 Filter start -(process:14942): Timings\-DEBUG: 13:47:39.421: 0.085992 (0.001299): ../source/view.c:rofi\_view\_refilter:1132 Filter done -(process:14942): Timings\-DEBUG: 13:47:39.421: 0.086090 (0.000098): ../source/view.c:rofi\_view\_update:982 -(process:14942): Timings\-DEBUG: 13:47:39.421: 0.086123 (0.000033): ../source/view.c:rofi\_view\_update:1002 Background -(process:14942): Timings\-DEBUG: 13:47:39.428: 0.092864 (0.006741): ../source/view.c:rofi\_view\_update:1008 widgets +(process:14942): Timings-DEBUG: 13:47:39.335: 0.000000 (0.000000): Started +(process:14942): Timings-DEBUG: 13:47:39.335: 0.000126 (0.000126): ../source/rofi.c:main:786 +(process:14942): Timings-DEBUG: 13:47:39.335: 0.000163 (0.000037): ../source/rofi.c:main:819 +(process:14942): Timings-DEBUG: 13:47:39.336: 0.000219 (0.000056): ../source/rofi.c:main:826 Setup Locale +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001235 (0.001016): ../source/rofi.c:main:828 Collect MODI +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001264 (0.000029): ../source/rofi.c:main:830 Setup MODI +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001283 (0.000019): ../source/rofi.c:main:834 Setup mainloop +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001369 (0.000086): ../source/rofi.c:main:837 NK Bindings +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001512 (0.000143): ../source/xcb.c:display_setup:1177 Open Display +(process:14942): Timings-DEBUG: 13:47:39.337: 0.001829 (0.000317): ../source/xcb.c:display_setup:1192 Setup XCB +(process:14942): Timings-DEBUG: 13:47:39.346: 0.010650 (0.008821): ../source/rofi.c:main:844 Setup Display +(process:14942): Timings-DEBUG: 13:47:39.346: 0.010715 (0.000065): ../source/rofi.c:main:848 Setup abe +(process:14942): Timings-DEBUG: 13:47:39.350: 0.015101 (0.004386): ../source/rofi.c:main:883 Load cmd config +(process:14942): Timings-DEBUG: 13:47:39.351: 0.015275 (0.000174): ../source/rofi.c:main:907 Setup Modi +(process:14942): Timings-DEBUG: 13:47:39.351: 0.015291 (0.000016): ../source/view.c:rofi_view_workers_initialize:1922 Setup Threadpool, start +(process:14942): Timings-DEBUG: 13:47:39.351: 0.015349 (0.000058): ../source/view.c:rofi_view_workers_initialize:1945 Setup Threadpool, done +(process:14942): Timings-DEBUG: 13:47:39.367: 0.032018 (0.016669): ../source/rofi.c:main:1000 Setup late Display +(process:14942): Timings-DEBUG: 13:47:39.367: 0.032080 (0.000062): ../source/rofi.c:main:1003 Theme setup +(process:14942): Timings-DEBUG: 13:47:39.367: 0.032109 (0.000029): ../source/rofi.c:startup:668 Startup +(process:14942): Timings-DEBUG: 13:47:39.367: 0.032121 (0.000012): ../source/rofi.c:startup:677 Grab keyboard +(process:14942): Timings-DEBUG: 13:47:39.368: 0.032214 (0.000093): ../source/view.c:__create_window:701 xcb create window +(process:14942): Timings-DEBUG: 13:47:39.368: 0.032235 (0.000021): ../source/view.c:__create_window:705 xcb create gc +(process:14942): Timings-DEBUG: 13:47:39.368: 0.033136 (0.000901): ../source/view.c:__create_window:714 create cairo surface +(process:14942): Timings-DEBUG: 13:47:39.369: 0.033286 (0.000150): ../source/view.c:__create_window:723 pango cairo font setup +(process:14942): Timings-DEBUG: 13:47:39.369: 0.033351 (0.000065): ../source/view.c:__create_window:761 configure font +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045896 (0.012545): ../source/view.c:__create_window:769 textbox setup +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045944 (0.000048): ../source/view.c:__create_window:781 setup window attributes +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045955 (0.000011): ../source/view.c:__create_window:791 setup window fullscreen +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045966 (0.000011): ../source/view.c:__create_window:797 setup window name and class +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045974 (0.000008): ../source/view.c:__create_window:808 setup startup notification +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045981 (0.000007): ../source/view.c:__create_window:810 done +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045992 (0.000011): ../source/rofi.c:startup:679 Create Window +(process:14942): Timings-DEBUG: 13:47:39.381: 0.045999 (0.000007): ../source/rofi.c:startup:681 Parse ABE +(process:14942): Timings-DEBUG: 13:47:39.381: 0.046113 (0.000114): ../source/rofi.c:startup:684 Config sanity check +(process:14942): Timings-DEBUG: 13:47:39.384: 0.048229 (0.002116): ../source/dialogs/run.c:get_apps:216 start +(process:14942): Timings-DEBUG: 13:47:39.390: 0.054626 (0.006397): ../source/dialogs/run.c:get_apps:336 stop +(process:14942): Timings-DEBUG: 13:47:39.390: 0.054781 (0.000155): ../source/dialogs/drun.c:get_apps:634 Get Desktop apps (start) +(process:14942): Timings-DEBUG: 13:47:39.391: 0.055264 (0.000483): ../source/dialogs/drun.c:get_apps:641 Get Desktop apps (user dir) +(process:14942): Timings-DEBUG: 13:47:39.418: 0.082884 (0.027620): ../source/dialogs/drun.c:get_apps:659 Get Desktop apps (system dirs) +(process:14942): Timings-DEBUG: 13:47:39.418: 0.082944 (0.000060): ../source/dialogs/drun.c:get_apps_history:597 Start drun history +(process:14942): Timings-DEBUG: 13:47:39.418: 0.082977 (0.000033): ../source/dialogs/drun.c:get_apps_history:617 Stop drun history +(process:14942): Timings-DEBUG: 13:47:39.419: 0.083638 (0.000661): ../source/dialogs/drun.c:get_apps:664 Sorting done. +(process:14942): Timings-DEBUG: 13:47:39.419: 0.083685 (0.000047): ../source/view.c:rofi_view_create:1759 +(process:14942): Timings-DEBUG: 13:47:39.419: 0.083700 (0.000015): ../source/view.c:rofi_view_create:1783 Startup notification +(process:14942): Timings-DEBUG: 13:47:39.419: 0.083711 (0.000011): ../source/view.c:rofi_view_create:1786 Get active monitor +(process:14942): Timings-DEBUG: 13:47:39.420: 0.084693 (0.000982): ../source/view.c:rofi_view_refilter:1028 Filter start +(process:14942): Timings-DEBUG: 13:47:39.421: 0.085992 (0.001299): ../source/view.c:rofi_view_refilter:1132 Filter done +(process:14942): Timings-DEBUG: 13:47:39.421: 0.086090 (0.000098): ../source/view.c:rofi_view_update:982 +(process:14942): Timings-DEBUG: 13:47:39.421: 0.086123 (0.000033): ../source/view.c:rofi_view_update:1002 Background +(process:14942): Timings-DEBUG: 13:47:39.428: 0.092864 (0.006741): ../source/view.c:rofi_view_update:1008 widgets .fi .RE @@ -123,7 +124,7 @@ Example trace: .SH Debug domains .PP To further debug the plugin, you can get a trace with (lots of) debug information. This debug output can be enabled for -multiple parts in rofi using the glib debug framework. Debug domains can be enabled by setting the G\_MESSAGES\_DEBUG +multiple parts in rofi using the glib debug framework. Debug domains can be enabled by setting the G_MESSAGES_DEBUG environment variable. At the time of creation of this page, the following debug domains exist: .RS @@ -172,16 +173,16 @@ Helpers.IconFetcher: Information about icon lookup. For full list see \fB\fCman rofi\fR\&. .PP -Example: \fB\fCG\_MESSAGES\_DEBUG=Dialogs.DRun rofi \-show drun\fR To get specific output from the Desktop file run dialog. +Example: \fB\fCG_MESSAGES_DEBUG=Dialogs.DRun rofi -show drun\fR To get specific output from the Desktop file run dialog. .PP -To redirect the debug output to a file (\fB\fC\~/rofi.log\fR) add: +To redirect the debug output to a file (\fB\fC~/rofi.log\fR) add: .PP .RS .nf -rofi \-show drun \-log \~/rofi.log +rofi -show drun -log ~/rofi.log .fi .RE @@ -198,7 +199,7 @@ First make sure you compile \fBrofi\fP with debug symbols: .RS .nf -make CFLAGS="\-O0 \-g3" clean rofi +make CFLAGS="-O0 -g3" clean rofi .fi .RE @@ -206,7 +207,7 @@ make CFLAGS="\-O0 \-g3" clean rofi .PP Getting a backtrace using GDB is not very handy. Because if rofi get stuck, it grabs keyboard and mouse. So if it crashes in GDB you are stuck. -The best way to go is to enable core file. (ulimit \-c unlimited in bash) then make rofi crash. You +The best way to go is to enable core file. (ulimit -c unlimited in bash) then make rofi crash. You can then load the core in GDB. .PP @@ -234,16 +235,16 @@ thread apply all bt The output trace is useful when reporting crashes. .PP -Some distribution have \fB\fCsystemd\-coredump\fR, this way you can easily get a backtrace via \fB\fCcoredumpctl\fR\&. +Some distribution have \fB\fCsystemd-coredump\fR, this way you can easily get a backtrace via \fB\fCcoredumpctl\fR\&. .SH SEE ALSO .PP -\fBrofi\-sensible\-terminal(1)\fP, \fBdmenu(1)\fP, \fBrofi\-debugging(5)\fP, \fBrofi\-theme(5)\fP, \fBrofi\-script(5)\fP, \fBrofi\-keys(5)\fP,\fBrofi\-theme\-selector(1)\fP +\fBrofi-sensible-terminal(1)\fP, \fBdmenu(1)\fP, \fBrofi-debugging(5)\fP, \fBrofi-theme(5)\fP, \fBrofi-script(5)\fP, \fBrofi-keys(5)\fP,\fBrofi-theme-selector(1)\fP .SH AUTHOR .RS .IP \(bu 2 -Qball Cow -\[la]qball@blame.services\[ra] +Qball Cow qball@blame.services +\[la]mailto:qball@blame.services\[ra] .RE diff --git a/doc/rofi-dmenu.5 b/doc/rofi-dmenu.5 index 999bb739..9a873c48 100644 --- a/doc/rofi-dmenu.5 +++ b/doc/rofi-dmenu.5 @@ -1,7 +1,8 @@ -.TH ROFI\-DMENU 5 rofi\-dmenu +.nh +.TH ROFI-DMENU 5 rofi-dmenu .SH NAME .PP -\fBrofi dmenu mode\fP \- Rofi dmenu emulation +\fBrofi dmenu mode\fP - Rofi dmenu emulation .SH DESCRIPTION .PP @@ -14,8 +15,8 @@ The website for \fB\fCdmenu\fR can be found here .PP \fBrofi\fP does not aim to be 100% compatible with \fB\fCdmenu\fR\&. There are simply too many flavors of \fB\fCdmenu\fR\&. -The idea is that the basic usage command\-line flags are obeyed, theme\-related flags are not. -Besides, \fBrofi\fP offers some extended features (like multi\-select, highlighting, message bar, extra key bindings). +The idea is that the basic usage command-line flags are obeyed, theme-related flags are not. +Besides, \fBrofi\fP offers some extended features (like multi-select, highlighting, message bar, extra key bindings). .SH BASIC CONCEPT .PP @@ -28,27 +29,27 @@ By default separation of rows is done on new lines, making it easy to pipe the o .SH USAGE .PP -By launching \fBrofi\fP with the \fB\fC\-dmenu\fR flag it will go into dmenu emulation mode. +By launching \fBrofi\fP with the \fB\fC-dmenu\fR flag it will go into dmenu emulation mode. .PP .RS .nf -ls | rofi \-dmenu +ls | rofi -dmenu .fi .RE -.SS DMENU DROP\-IN REPLACEMENT +.SS DMENU DROP-IN REPLACEMENT .PP If \fB\fCargv[0]\fR (calling command) is dmenu, \fBrofi\fP will start in dmenu mode. -This way, it can be used as a drop\-in replacement for dmenu. Just copy or symlink \fBrofi\fP to dmenu in \fB\fC$PATH\fR\&. +This way, it can be used as a drop-in replacement for dmenu. Just copy or symlink \fBrofi\fP to dmenu in \fB\fC$PATH\fR\&. .PP .RS .nf -ln \-s /usr/bin/rofi /usr/bin/dmenu +ln -s /usr/bin/rofi /usr/bin/dmenu .fi .RE @@ -56,15 +57,15 @@ ln \-s /usr/bin/rofi /usr/bin/dmenu .SS DMENU VS SCRIPT MODE .PP Script mode is used to extend \fBrofi\fP, dmenu mode is used to extend a script. -The two do share much of the same input format. Please see the \fBrofi\-script(5)\fP manpage for more information. +The two do share much of the same input format. Please see the \fBrofi-script(5)\fP manpage for more information. .SS DMENU SPECIFIC COMMANDLINE FLAGS .PP -A lot of these options can also be modified by the script using special input. See the \fBrofi\-script(5)\fP manpage +A lot of these options can also be modified by the script using special input. See the \fBrofi-script(5)\fP manpage for more information about this syntax. .PP -\fB\fC\-sep\fR \fIseparator\fP +\fB\fC-sep\fR \fIseparator\fP .PP Separator for \fB\fCdmenu\fR\&. Example: To show a list of 'a' to 'e' with '|' as a separator: @@ -73,13 +74,13 @@ Separator for \fB\fCdmenu\fR\&. Example: To show a list of 'a' to 'e' with '|' a .RS .nf -echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu +echo "a|b|c|d|e" | rofi -sep '|' -dmenu .fi .RE .PP -\fB\fC\-p\fR \fIprompt\fP +\fB\fC-p\fR \fIprompt\fP .PP Specify the prompt to show in \fB\fCdmenu\fR mode. For example, select 'monkey', a,b,c,d, or e. @@ -88,7 +89,7 @@ Specify the prompt to show in \fB\fCdmenu\fR mode. For example, select 'monkey', .RS .nf -echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu \-p "monkey" +echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey" .fi .RE @@ -97,7 +98,7 @@ echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu \-p "monkey" Default: \fIdmenu\fP .PP -\fB\fC\-l\fR \fInumber of lines to show\fP +\fB\fC-l\fR \fInumber of lines to show\fP .PP Maximum number of lines the menu may show before scrolling. @@ -106,7 +107,7 @@ Maximum number of lines the menu may show before scrolling. .RS .nf -rofi \-dmenu \-l 25 +rofi -dmenu -l 25 .fi .RE @@ -115,39 +116,39 @@ rofi \-dmenu \-l 25 Default: \fI15\fP .PP -\fB\fC\-i\fR +\fB\fC-i\fR .PP -Makes \fB\fCdmenu\fR searches case\-insensitive +Makes \fB\fCdmenu\fR searches case-insensitive .PP -\fB\fC\-a\fR \fIX\fP +\fB\fC-a\fR \fIX\fP .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: +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 -A range of (last 3) rows: '\-3:' +A range of (last 3) rows: '-3:' .IP \(bu 2 -4 rows starting from row 7: '7:11' (or in legacy notation: '7\-10') +4 rows starting from row 7: '7:11' (or in legacy notation: '7-10') .IP \(bu 2 -A set of rows: '2,0,\-9' +A set of rows: '2,0,-9' .IP \(bu 2 -Or any combination: '5,\-3:,7:11,2,0,\-9' +Or any combination: '5,-3:,7:11,2,0,-9' .RE .PP -\fB\fC\-u\fR \fIX\fP +\fB\fC-u\fR \fIX\fP .PP -Urgent row, mark \fIX\fP as urgent. See \fB\fC\-a\fR option for details. +Urgent row, mark \fIX\fP as urgent. See \fB\fC-a\fR option for details. .PP -\fB\fC\-only\-match\fR +\fB\fC-only-match\fR .PP Only return a selected item, do not allow custom entry. @@ -155,14 +156,14 @@ This mode always returns an entry. It will not return if no matching entry is selected. .PP -\fB\fC\-no\-custom\fR +\fB\fC-no-custom\fR .PP Only return a selected item, do not allow custom entry. This mode returns directly when no entries given. .PP -\fB\fC\-format\fR \fIformat\fP +\fB\fC-format\fR \fIformat\fP .PP Allows the output of dmenu to be customized (N is the total number of input entries): @@ -171,9 +172,9 @@ Allows the output of dmenu to be customized (N is the total number of input entr .IP \(bu 2 \&'s' selected string .IP \(bu 2 -\&'i' index (0 \-\& (N\-\&1)) +\&'i' index (0 - (N-1)) .IP \(bu 2 -\&'d' index (1 \-\& N) +\&'d' index (1 - N) .IP \(bu 2 \&'q' quote string .IP \(bu 2 @@ -189,13 +190,13 @@ Allows the output of dmenu to be customized (N is the total number of input entr Default: 's' .PP -\fB\fC\-select\fR \fIstring\fP +\fB\fC-select\fR \fIstring\fP .PP Select first line that matches the given string .PP -\fB\fC\-mesg\fR \fIstring\fP +\fB\fC-mesg\fR \fIstring\fP .PP Add a message line below the filter entry box. Supports Pango markup. @@ -203,27 +204,27 @@ For more information on supported markup, see here \[la]https://docs.gtk.org/Pango/pango_markup.html\[ra] .PP -\fB\fC\-dump\fR +\fB\fC-dump\fR .PP Dump the filtered list to stdout and quit. This can be used to get the list as \fBrofi\fP would filter it. -Use together with \fB\fC\-filter\fR command. +Use together with \fB\fC-filter\fR command. .PP -\fB\fC\-input\fR \fIfile\fP +\fB\fC-input\fR \fIfile\fP .PP Reads from \fIfile\fP instead of stdin. .PP -\fB\fC\-password\fR +\fB\fC-password\fR .PP Hide the input text. This should not be considered secure! .PP -\fB\fC\-markup\-rows\fR +\fB\fC-markup-rows\fR .PP Tell \fBrofi\fP that DMenu input is Pango markup encoded, and should be rendered. @@ -231,47 +232,47 @@ See here \[la]https://developer.gnome.org/pygtk/stable/pango-markup-language.html\[ra] for details about Pango markup. .PP -\fB\fC\-multi\-select\fR +\fB\fC-multi-select\fR .PP Allow multiple lines to be selected. Adds a small selection indicator to the left of each entry. .PP -\fB\fC\-sync\fR +\fB\fC-sync\fR .PP Force \fBrofi\fP mode to first read all data from stdin before showing the selection window. This is original dmenu behavior. .PP Note: the default asynchronous mode will also be automatically disabled if used with conflicting options, -such as \fB\fC\-dump\fR, \fB\fC\-only\-match\fR or \fB\fC\-auto\-select\fR\&. +such as \fB\fC-dump\fR, \fB\fC-only-match\fR or \fB\fC-auto-select\fR\&. .PP -\fB\fC\-window\-title\fR \fItitle\fP +\fB\fC-window-title\fR \fItitle\fP .PP -Set name used for the window title. Will be shown as Rofi \- \fItitle\fP +Set name used for the window title. Will be shown as Rofi - \fItitle\fP .PP -\fB\fC\-w\fR \fIwindowid\fP +\fB\fC-w\fR \fIwindowid\fP .PP Position \fBrofi\fP over the window with the given X11 window ID. .PP -\fB\fC\-keep\-right\fR +\fB\fC-keep-right\fR .PP Set ellipsize mode to start. So, the end of the string is visible. .PP -\fB\fC\-display\-columns\fR +\fB\fC-display-columns\fR .PP A comma seperated list of columns to show. .PP -\fB\fC\-display\-column\-separator\fR +\fB\fC-display-column-separator\fR .PP The column separator. This is a regex. @@ -280,19 +281,19 @@ The column separator. This is a regex. \fIdefault\fP: '\\t' .PP -\fB\fC\-ballot\-selected\-str\fR \fIstring\fP +\fB\fC-ballot-selected-str\fR \fIstring\fP .PP -When multi\-select is enabled, prefix this string when element is selected. +When multi-select is enabled, prefix this string when element is selected. .PP \fIdefault\fP: "☑ " .PP -\fB\fC\-ballot\-unselected\-str\fR \fIstring\fP +\fB\fC-ballot-unselected-str\fR \fIstring\fP .PP -When multi\-select is enabled, prefix this string when element is not selected. +When multi-select is enabled, prefix this string when element is not selected. .PP \fIdefault\fP: "☐ " @@ -304,30 +305,30 @@ When multi\-select is enabled, prefix this string when element is not selected. .IP \(bu 2 \fB1\fP: User cancelled the selection. .IP \(bu 2 -\fB10\-28\fP: Row accepted by custom keybinding. +\fB10-28\fP: Row accepted by custom keybinding. .RE .SH SEE ALSO .PP -rofi(1), rofi\-sensible\-terminal(1), dmenu(1), rofi\-theme(5), rofi\-script(5), rofi\-theme\-selector(1), ascii(7) +rofi(1), rofi-sensible-terminal(1), dmenu(1), rofi-theme(5), rofi-script(5), rofi-theme-selector(1), ascii(7) .SH AUTHOR .PP -Qball Cow -\[la]qball@gmpclient.org\[ra] +Qball Cow qball@gmpclient.org +\[la]mailto:qball@gmpclient.org\[ra] .PP -Rasmus Steinke -\[la]rasi@xssn.at\[ra] +Rasmus Steinke rasi@xssn.at +\[la]mailto:rasi@xssn.at\[ra] .PP -Morgane Glidic -\[la]sardemff7+rofi@sardemff7.net\[ra] +Morgane Glidic sardemff7+rofi@sardemff7.net +\[la]mailto:sardemff7+rofi@sardemff7.net\[ra] .PP -Original code based on work by: Sean Pringle -\[la]sean.pringle@gmail.com\[ra] +Original code based on work by: Sean Pringle sean.pringle@gmail.com +\[la]mailto:sean.pringle@gmail.com\[ra] .PP For a full list of authors, check the AUTHORS file. diff --git a/doc/rofi-keys.5 b/doc/rofi-keys.5 index 9555edc8..7d0ed990 100644 --- a/doc/rofi-keys.5 +++ b/doc/rofi-keys.5 @@ -1,7 +1,8 @@ -.TH ROFI\-KEYS 5 rofi\-keys +.nh +.TH ROFI-KEYS 5 rofi-keys .SH NAME .PP -\fBrofi keys\fP \- Rofi Key and Mouse bindings +\fBrofi keys\fP - Rofi Key and Mouse bindings .SH DESCRIPTION .PP @@ -9,13 +10,13 @@ .SH Setting binding .PP -Bindings can be done on the commandline (\-{bindingname}): +Bindings can be done on the commandline (-{bindingname}): .PP .RS .nf -rofi \-show run \-kb\-accept\-entry 'Control+Shift+space' +rofi -show run -kb-accept-entry 'Control+Shift+space' .fi .RE @@ -28,7 +29,7 @@ or via the configuration file: .nf configuration { - kb\-accept\-entry: "Control+Shift+space"; + kb-accept-entry: "Control+Shift+space"; } .fi @@ -42,7 +43,7 @@ The key can be set by its name (see above) or its keycode: .nf configuration { - kb\-accept\-entry: "Control+Shift+[65]"; + kb-accept-entry: "Control+Shift+[65]"; } .fi @@ -59,7 +60,7 @@ Multiple keys can be specified for an action as a comma separated list: .nf configuration { - kb\-accept\-entry: "Control+Shift+space,Return"; + kb-accept-entry: "Control+Shift+space,Return"; } .fi @@ -74,7 +75,7 @@ prepend the binding with \fB\fC!\fR: .nf configuration { - kb\-accept\-entry: "!Control+Shift+space,Return"; + kb-accept-entry: "!Control+Shift+space,Return"; } .fi @@ -89,573 +90,573 @@ To unset a binding, pass an empty string. .nf configuration { - kb\-clear\-line: ""; + kb-clear-line: ""; } .fi .RE .SH Keyboard Bindings -.SS \fBkb\-primary\-paste\fP: +.SS \fBkb-primary-paste\fP: .PP Paste primary selection .PP -\fBDefault\fP: Control+V,Shift+Insert +\fBDefault\fP: Control+V,Shift+Insert -.SS \fBkb\-secondary\-paste\fP +.SS \fBkb-secondary-paste\fP .PP Paste clipboard .PP -\fBDefault\fP: Control+v,Insert +\fBDefault\fP: Control+v,Insert -.SS \fBkb\-secondary\-copy\fP +.SS \fBkb-secondary-copy\fP .PP Copy current selection to clipboard .PP -\fBDefault\fP: Control+c +\fBDefault\fP: Control+c -.SS \fBkb\-clear\-line\fP +.SS \fBkb-clear-line\fP .PP Clear input line .PP -\fBDefault\fP: Control+w +\fBDefault\fP: Control+w -.SS \fBkb\-move\-front\fP +.SS \fBkb-move-front\fP .PP Beginning of line .PP -\fBDefault\fP: Control+a +\fBDefault\fP: Control+a -.SS \fBkb\-move\-end\fP +.SS \fBkb-move-end\fP .PP End of line .PP -\fBDefault\fP: Control+e +\fBDefault\fP: Control+e -.SS \fBkb\-move\-word\-back\fP +.SS \fBkb-move-word-back\fP .PP Move back one word .PP -\fBDefault\fP: Alt+b,Control+Left +\fBDefault\fP: Alt+b,Control+Left -.SS \fBkb\-move\-word\-forward\fP +.SS \fBkb-move-word-forward\fP .PP Move forward one word .PP -\fBDefault\fP: Alt+f,Control+Right +\fBDefault\fP: Alt+f,Control+Right -.SS \fBkb\-move\-char\-back\fP +.SS \fBkb-move-char-back\fP .PP Move back one char .PP -\fBDefault\fP: Left,Control+b +\fBDefault\fP: Left,Control+b -.SS \fBkb\-move\-char\-forward\fP +.SS \fBkb-move-char-forward\fP .PP Move forward one char .PP -\fBDefault\fP: Right,Control+f +\fBDefault\fP: Right,Control+f -.SS \fBkb\-remove\-word\-back\fP +.SS \fBkb-remove-word-back\fP .PP Delete previous word .PP -\fBDefault\fP: Control+Alt+h,Control+BackSpace +\fBDefault\fP: Control+Alt+h,Control+BackSpace -.SS \fBkb\-remove\-word\-forward\fP +.SS \fBkb-remove-word-forward\fP .PP Delete next word .PP -\fBDefault\fP: Control+Alt+d +\fBDefault\fP: Control+Alt+d -.SS \fBkb\-remove\-char\-forward\fP +.SS \fBkb-remove-char-forward\fP .PP Delete next char .PP -\fBDefault\fP: Delete,Control+d +\fBDefault\fP: Delete,Control+d -.SS \fBkb\-remove\-char\-back\fP +.SS \fBkb-remove-char-back\fP .PP Delete previous char .PP -\fBDefault\fP: BackSpace,Shift+BackSpace,Control+h +\fBDefault\fP: BackSpace,Shift+BackSpace,Control+h -.SS \fBkb\-remove\-to\-eol\fP +.SS \fBkb-remove-to-eol\fP .PP Delete till the end of line .PP -\fBDefault\fP: Control+k +\fBDefault\fP: Control+k -.SS \fBkb\-remove\-to\-sol\fP +.SS \fBkb-remove-to-sol\fP .PP Delete till the start of line .PP -\fBDefault\fP: Control+u +\fBDefault\fP: Control+u -.SS \fBkb\-accept\-entry\fP +.SS \fBkb-accept-entry\fP .PP Accept entry .PP -\fBDefault\fP: Control+j,Control+m,Return,KP\_Enter +\fBDefault\fP: Control+j,Control+m,Return,KP_Enter -.SS \fBkb\-accept\-custom\fP +.SS \fBkb-accept-custom\fP .PP Use entered text as command (in ssh/run modes) .PP -\fBDefault\fP: Control+Return +\fBDefault\fP: Control+Return -.SS \fBkb\-accept\-custom\-alt\fP +.SS \fBkb-accept-custom-alt\fP .PP Use entered text as command (in ssh/run modes) .PP -\fBDefault\fP: Control+Shift+Return +\fBDefault\fP: Control+Shift+Return -.SS \fBkb\-accept\-alt\fP +.SS \fBkb-accept-alt\fP .PP Use alternate accept command. .PP -\fBDefault\fP: Shift+Return +\fBDefault\fP: Shift+Return -.SS \fBkb\-delete\-entry\fP +.SS \fBkb-delete-entry\fP .PP Delete entry from history .PP -\fBDefault\fP: Shift+Delete +\fBDefault\fP: Shift+Delete -.SS \fBkb\-mode\-next\fP +.SS \fBkb-mode-next\fP .PP Switch to the next mode. .PP -\fBDefault\fP: Shift+Right,Control+Tab +\fBDefault\fP: Shift+Right,Control+Tab -.SS \fBkb\-mode\-previous\fP +.SS \fBkb-mode-previous\fP .PP Switch to the previous mode. .PP -\fBDefault\fP: Shift+Left,Control+ISO\_Left\_Tab +\fBDefault\fP: Shift+Left,Control+ISO_Left_Tab -.SS \fBkb\-mode\-complete\fP +.SS \fBkb-mode-complete\fP .PP Start completion for mode. .PP -\fBDefault\fP: Control+l +\fBDefault\fP: Control+l -.SS \fBkb\-row\-left\fP +.SS \fBkb-row-left\fP .PP Go to the previous column .PP -\fBDefault\fP: Control+Page\_Up +\fBDefault\fP: Control+Page_Up -.SS \fBkb\-row\-right\fP +.SS \fBkb-row-right\fP .PP Go to the next column .PP -\fBDefault\fP: Control+Page\_Down +\fBDefault\fP: Control+Page_Down -.SS \fBkb\-row\-up\fP +.SS \fBkb-row-up\fP .PP Select previous entry .PP -\fBDefault\fP: Up,Control+p +\fBDefault\fP: Up,Control+p -.SS \fBkb\-row\-down\fP +.SS \fBkb-row-down\fP .PP Select next entry .PP -\fBDefault\fP: Down,Control+n +\fBDefault\fP: Down,Control+n -.SS \fBkb\-row\-tab\fP +.SS \fBkb-row-tab\fP .PP Go to next row, if one left, accept it, if no left next mode. .PP -\fBDefault\fP: +\fBDefault\fP: -.SS \fBkb\-element\-next\fP +.SS \fBkb-element-next\fP .PP Go to next row. .PP -\fBDefault\fP: Tab +\fBDefault\fP: Tab -.SS \fBkb\-element\-prev\fP +.SS \fBkb-element-prev\fP .PP Go to previous row. .PP -\fBDefault\fP: ISO\_Left\_Tab +\fBDefault\fP: ISO_Left_Tab -.SS \fBkb\-page\-prev\fP +.SS \fBkb-page-prev\fP .PP Go to the previous page .PP -\fBDefault\fP: Page\_Up +\fBDefault\fP: Page_Up -.SS \fBkb\-page\-next\fP +.SS \fBkb-page-next\fP .PP Go to the next page .PP -\fBDefault\fP: Page\_Down +\fBDefault\fP: Page_Down -.SS \fBkb\-row\-first\fP +.SS \fBkb-row-first\fP .PP Go to the first entry .PP -\fBDefault\fP: Home,KP\_Home +\fBDefault\fP: Home,KP_Home -.SS \fBkb\-row\-last\fP +.SS \fBkb-row-last\fP .PP Go to the last entry .PP -\fBDefault\fP: End,KP\_End +\fBDefault\fP: End,KP_End -.SS \fBkb\-row\-select\fP +.SS \fBkb-row-select\fP .PP Set selected item as input text .PP -\fBDefault\fP: Control+space +\fBDefault\fP: Control+space -.SS \fBkb\-screenshot\fP +.SS \fBkb-screenshot\fP .PP Take a screenshot of the rofi window .PP -\fBDefault\fP: Alt+S +\fBDefault\fP: Alt+S -.SS \fBkb\-ellipsize\fP +.SS \fBkb-ellipsize\fP .PP Toggle between ellipsize modes for displayed data .PP -\fBDefault\fP: Alt+period +\fBDefault\fP: Alt+period -.SS \fBkb\-toggle\-case\-sensitivity\fP +.SS \fBkb-toggle-case-sensitivity\fP .PP Toggle case sensitivity .PP -\fBDefault\fP: grave,dead\_grave +\fBDefault\fP: grave,dead_grave -.SS \fBkb\-toggle\-sort\fP +.SS \fBkb-toggle-sort\fP .PP Toggle sort .PP -\fBDefault\fP: Alt+grave +\fBDefault\fP: Alt+grave -.SS \fBkb\-cancel\fP +.SS \fBkb-cancel\fP .PP Quit rofi .PP -\fBDefault\fP: Escape,Control+g,Control+bracketleft +\fBDefault\fP: Escape,Control+g,Control+bracketleft -.SS \fBkb\-custom\-1\fP +.SS \fBkb-custom-1\fP .PP Custom keybinding 1 .PP -\fBDefault\fP: Alt+1 +\fBDefault\fP: Alt+1 -.SS \fBkb\-custom\-2\fP +.SS \fBkb-custom-2\fP .PP Custom keybinding 2 .PP -\fBDefault\fP: Alt+2 +\fBDefault\fP: Alt+2 -.SS \fBkb\-custom\-3\fP +.SS \fBkb-custom-3\fP .PP Custom keybinding 3 .PP -\fBDefault\fP: Alt+3 +\fBDefault\fP: Alt+3 -.SS \fBkb\-custom\-4\fP +.SS \fBkb-custom-4\fP .PP Custom keybinding 4 .PP -\fBDefault\fP: Alt+4 +\fBDefault\fP: Alt+4 -.SS \fBkb\-custom\-5\fP +.SS \fBkb-custom-5\fP .PP Custom Keybinding 5 .PP -\fBDefault\fP: Alt+5 +\fBDefault\fP: Alt+5 -.SS \fBkb\-custom\-6\fP +.SS \fBkb-custom-6\fP .PP Custom keybinding 6 .PP -\fBDefault\fP: Alt+6 +\fBDefault\fP: Alt+6 -.SS \fBkb\-custom\-7\fP +.SS \fBkb-custom-7\fP .PP Custom Keybinding 7 .PP -\fBDefault\fP: Alt+7 +\fBDefault\fP: Alt+7 -.SS \fBkb\-custom\-8\fP +.SS \fBkb-custom-8\fP .PP Custom keybinding 8 .PP -\fBDefault\fP: Alt+8 +\fBDefault\fP: Alt+8 -.SS \fBkb\-custom\-9\fP +.SS \fBkb-custom-9\fP .PP Custom keybinding 9 .PP -\fBDefault\fP: Alt+9 +\fBDefault\fP: Alt+9 -.SS \fBkb\-custom\-10\fP +.SS \fBkb-custom-10\fP .PP Custom keybinding 10 .PP -\fBDefault\fP: Alt+0 +\fBDefault\fP: Alt+0 -.SS \fBkb\-custom\-11\fP +.SS \fBkb-custom-11\fP .PP Custom keybinding 11 .PP -\fBDefault\fP: Alt+exclam +\fBDefault\fP: Alt+exclam -.SS \fBkb\-custom\-12\fP +.SS \fBkb-custom-12\fP .PP Custom keybinding 12 .PP -\fBDefault\fP: Alt+at +\fBDefault\fP: Alt+at -.SS \fBkb\-custom\-13\fP +.SS \fBkb-custom-13\fP .PP Custom keybinding 13 .PP -\fBDefault\fP: Alt+numbersign +\fBDefault\fP: Alt+numbersign -.SS \fBkb\-custom\-14\fP +.SS \fBkb-custom-14\fP .PP Custom keybinding 14 .PP -\fBDefault\fP: Alt+dollar +\fBDefault\fP: Alt+dollar -.SS \fBkb\-custom\-15\fP +.SS \fBkb-custom-15\fP .PP Custom keybinding 15 .PP -\fBDefault\fP: Alt+percent +\fBDefault\fP: Alt+percent -.SS \fBkb\-custom\-16\fP +.SS \fBkb-custom-16\fP .PP Custom keybinding 16 .PP -\fBDefault\fP: Alt+dead\_circumflex +\fBDefault\fP: Alt+dead_circumflex -.SS \fBkb\-custom\-17\fP +.SS \fBkb-custom-17\fP .PP Custom keybinding 17 .PP -\fBDefault\fP: Alt+ampersand +\fBDefault\fP: Alt+ampersand -.SS \fBkb\-custom\-18\fP +.SS \fBkb-custom-18\fP .PP Custom keybinding 18 .PP -\fBDefault\fP: Alt+asterisk +\fBDefault\fP: Alt+asterisk -.SS \fBkb\-custom\-19\fP +.SS \fBkb-custom-19\fP .PP Custom Keybinding 19 .PP -\fBDefault\fP: Alt+parenleft +\fBDefault\fP: Alt+parenleft -.SS \fBkb\-select\-1\fP +.SS \fBkb-select-1\fP .PP Select row 1 .PP -\fBDefault\fP: Super+1 +\fBDefault\fP: Super+1 -.SS \fBkb\-select\-2\fP +.SS \fBkb-select-2\fP .PP Select row 2 .PP -\fBDefault\fP: Super+2 +\fBDefault\fP: Super+2 -.SS \fBkb\-select\-3\fP +.SS \fBkb-select-3\fP .PP Select row 3 .PP -\fBDefault\fP: Super+3 +\fBDefault\fP: Super+3 -.SS \fBkb\-select\-4\fP +.SS \fBkb-select-4\fP .PP Select row 4 .PP -\fBDefault\fP: Super+4 +\fBDefault\fP: Super+4 -.SS \fBkb\-select\-5\fP +.SS \fBkb-select-5\fP .PP Select row 5 .PP -\fBDefault\fP: Super+5 +\fBDefault\fP: Super+5 -.SS \fBkb\-select\-6\fP +.SS \fBkb-select-6\fP .PP Select row 6 .PP -\fBDefault\fP: Super+6 +\fBDefault\fP: Super+6 -.SS \fBkb\-select\-7\fP +.SS \fBkb-select-7\fP .PP Select row 7 .PP -\fBDefault\fP: Super+7 +\fBDefault\fP: Super+7 -.SS \fBkb\-select\-8\fP +.SS \fBkb-select-8\fP .PP Select row 8 .PP -\fBDefault\fP: Super+8 +\fBDefault\fP: Super+8 -.SS \fBkb\-select\-9\fP +.SS \fBkb-select-9\fP .PP Select row 9 .PP -\fBDefault\fP: Super+9 +\fBDefault\fP: Super+9 -.SS \fBkb\-select\-10\fP +.SS \fBkb-select-10\fP .PP Select row 10 .PP -\fBDefault\fP: Super+0 +\fBDefault\fP: Super+0 .SH Mouse Bindings -.SS \fBml\-row\-left\fP +.SS \fBml-row-left\fP .PP Go to the previous column .PP -\fBDefault\fP: ScrollLeft +\fBDefault\fP: ScrollLeft -.SS \fBml\-row\-right\fP +.SS \fBml-row-right\fP .PP Go to the next column .PP -\fBDefault\fP: ScrollRight +\fBDefault\fP: ScrollRight -.SS \fBml\-row\-up\fP +.SS \fBml-row-up\fP .PP Select previous entry .PP -\fBDefault\fP: ScrollUp +\fBDefault\fP: ScrollUp -.SS \fBml\-row\-down\fP +.SS \fBml-row-down\fP .PP Select next entry .PP -\fBDefault\fP: ScrollDown +\fBDefault\fP: ScrollDown -.SS \fBme\-select\-entry\fP +.SS \fBme-select-entry\fP .PP Select hovered row .PP -\fBDefault\fP: MousePrimary +\fBDefault\fP: MousePrimary -.SS \fBme\-accept\-entry\fP +.SS \fBme-accept-entry\fP .PP Accept hovered row .PP -\fBDefault\fP: MouseDPrimary +\fBDefault\fP: MouseDPrimary -.SS \fBme\-accept\-custom\fP +.SS \fBme-accept-custom\fP .PP Accept hovered row with custom action .PP -\fBDefault\fP: Control+MouseDPrimary +\fBDefault\fP: Control+MouseDPrimary .SH SEE ALSO .PP -rofi(1), rofi\-sensible\-terminal(1), rofi\-theme(5), rofi\-script(5) +rofi(1), rofi-sensible-terminal(1), rofi-theme(5), rofi-script(5) .SH AUTHOR .PP -Qball Cow -\[la]qball@gmpclient.org\[ra] +Qball Cow qball@gmpclient.org +\[la]mailto:qball@gmpclient.org\[ra] .PP -Rasmus Steinke -\[la]rasi@xssn.at\[ra] +Rasmus Steinke rasi@xssn.at +\[la]mailto:rasi@xssn.at\[ra] .PP -Morgane Glidic -\[la]sardemff7+rofi@sardemff7.net\[ra] +Morgane Glidic sardemff7+rofi@sardemff7.net +\[la]mailto:sardemff7+rofi@sardemff7.net\[ra] .PP -Original code based on work by: Sean Pringle -\[la]sean.pringle@gmail.com\[ra] +Original code based on work by: Sean Pringle sean.pringle@gmail.com +\[la]mailto:sean.pringle@gmail.com\[ra] .PP For a full list of authors, check the AUTHORS file. diff --git a/doc/rofi-script.5 b/doc/rofi-script.5 index fd57a067..6e8b9b17 100644 --- a/doc/rofi-script.5 +++ b/doc/rofi-script.5 @@ -1,7 +1,8 @@ -.TH ROFI\-SCRIPT 5 rofi\-script +.nh +.TH ROFI-SCRIPT 5 rofi-script .SH NAME .PP -\fBrofi script mode\fP \- Rofi format for scriptable mode. +\fBrofi script mode\fP - Rofi format for scriptable mode. .SH DESCRIPTION .PP @@ -20,7 +21,7 @@ For example: .RS .nf -rofi \-show fb \-modes "fb:file\_browser.sh" +rofi -show fb -modes "fb:file_browser.sh" .fi .RE @@ -63,7 +64,7 @@ This shows two entries, reload and quit. When the quit entry is selected, rofi c .PP Rofi sets the following environment variable when executing the script: -.SS \fB\fCROFI\_RETV\fR +.SS \fB\fCROFI_RETV\fR .PP An integer number with the current state: @@ -75,15 +76,15 @@ An integer number with the current state: .IP \(bu 2 \fB2\fP: Selected a custom entry. .IP \(bu 2 -\fB10\-28\fP: Custom keybinding 1\-19 ( need to be explicitly enabled by script ). +\fB10-28\fP: Custom keybinding 1-19 ( need to be explicitly enabled by script ). .RE -.SS \fB\fCROFI\_INFO\fR +.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. -.SS \fB\fCROFI\_DATA\fR +.SS \fB\fCROFI_DATA\fR .PP Environment get set when script sets \fB\fCdata\fR option in header. @@ -99,7 +100,7 @@ For example to set the prompt: .RS .nf - echo \-en "\\0prompt\\x1fChange prompt\\n" + echo -en "\\0prompt\\x1fChange prompt\\n" .fi .RE @@ -113,7 +114,7 @@ The following extra options exists: .IP \(bu 2 \fBmessage\fP: Update the message text. .IP \(bu 2 -\fBmarkup\-rows\fP: If 'true' renders markup in the row. +\fBmarkup-rows\fP: If 'true' renders markup in the row. .IP \(bu 2 \fBurgent\fP: Mark rows as urgent. (for syntax see the urgent option in dmenu mode) .IP \(bu 2 @@ -121,15 +122,15 @@ The following extra options exists: .IP \(bu 2 \fBdelim\fP: Set the delimiter for for next rows. Default is '\\n' and this option should finish with this. Only call this on first call of script, it is remembered for consecutive calls. .IP \(bu 2 -\fBno\-custom\fP: If set to 'true'; only accept listed entries, ignore custom input. +\fBno-custom\fP: If set to 'true'; only accept listed entries, ignore custom input. .IP \(bu 2 -\fBuse\-hot\-keys\fP: If set to true, it enabled the Custom keybindings for script. Warning this breaks the normal rofi flow. +\fBuse-hot-keys\fP: If set to true, it enabled the Custom keybindings for script. Warning this breaks the normal rofi flow. .IP \(bu 2 -\fBkeep\-selection\fP: If set, the selection is not moved to the first entry, but the current position is maintained. The filter is cleared. +\fBkeep-selection\fP: If set, the selection is not moved to the first entry, but the current position is maintained. The filter is cleared. .IP \(bu 2 -\fBnew\-selection\fP: If \fB\fCkeep\-selection\fR is set, this allows you to override the selected entry (absolute position). +\fBnew-selection\fP: If \fB\fCkeep-selection\fR is set, this allows you to override the selected entry (absolute position). .IP \(bu 2 -\fBdata\fP: Passed data to the next execution of the script via \fBROFI\_DATA\fP\&. +\fBdata\fP: Passed data to the next execution of the script via \fBROFI_DATA\fP\&. .IP \(bu 2 \fBtheme\fP: Small theme snippet to f.e. change the background color of a widget. @@ -147,7 +148,7 @@ For example: .RS .nf - echo \-en "aap\\0icon\\x1ffolder\\n" + echo -en "aap\\0icon\\x1ffolder\\n" .fi .RE @@ -163,7 +164,7 @@ The following options are supported: .IP \(bu 2 \fBnonselectable\fP: If true the row cannot activated. .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. +\fBinfo\fP: Info that, on selection, gets placed in the \fB\fCROFI_INFO\fR environment variable. This entry does not get searched. .RE @@ -174,7 +175,7 @@ multiple entries can be passed using the \fB\fC\\x1f\fR separator. .RS .nf - echo \-en "aap\\0icon\\x1ffolder\\x1finfo\\x1ftest\\n" + echo -en "aap\\0icon\\x1ffolder\\x1finfo\\x1ftest\\n" .fi .RE @@ -191,7 +192,7 @@ In bash the best way to do this is using \fB\fCcoproc\fR\&. .RS .nf - coproc ( myApp > /dev/null 2>\&1 ) + coproc ( myApp > /dev/null 2>&1 ) .fi .RE @@ -203,24 +204,24 @@ See issue #1201 on github. .SH SEE ALSO .PP -rofi(1), rofi\-sensible\-terminal(1), dmenu(1), rofi\-theme(5), rofi\-theme\-selector(1) +rofi(1), rofi-sensible-terminal(1), dmenu(1), rofi-theme(5), rofi-theme-selector(1) .SH AUTHOR .PP -Qball Cow -\[la]qball@gmpclient.org\[ra] +Qball Cow qball@gmpclient.org +\[la]mailto:qball@gmpclient.org\[ra] .PP -Rasmus Steinke -\[la]rasi@xssn.at\[ra] +Rasmus Steinke rasi@xssn.at +\[la]mailto:rasi@xssn.at\[ra] .PP -Morgane Glidic -\[la]sardemff7+rofi@sardemff7.net\[ra] +Morgane Glidic sardemff7+rofi@sardemff7.net +\[la]mailto:sardemff7+rofi@sardemff7.net\[ra] .PP -Original code based on work by: Sean Pringle -\[la]sean.pringle@gmail.com\[ra] +Original code based on work by: Sean Pringle sean.pringle@gmail.com +\[la]mailto:sean.pringle@gmail.com\[ra] .PP For a full list of authors, check the AUTHORS file. diff --git a/doc/rofi-sensible-terminal.1 b/doc/rofi-sensible-terminal.1 index 30d4a15d..86634e19 100644 --- a/doc/rofi-sensible-terminal.1 +++ b/doc/rofi-sensible-terminal.1 @@ -1,17 +1,18 @@ -.TH rofi\-sensible\-terminal 1 rofi\-sensible\-terminal +.nh +.TH rofi-sensible-terminal 1 rofi-sensible-terminal .SH NAME .PP -\fBrofi\-sensible\-terminal\fP \- launches $TERMINAL with fallbacks +\fBrofi-sensible-terminal\fP - launches $TERMINAL with fallbacks .SH SYNOPSIS .PP -rofi\-sensible\-terminal [arguments] +rofi-sensible-terminal [arguments] .SH DESCRIPTION .PP -rofi\-sensible\-terminal is invoked in the rofi default config to start a terminal. This -wrapper script is necessary since there is no distribution\-independent terminal launcher -(but for example Debian has x\-terminal\-emulator). Distribution packagers are responsible for +rofi-sensible-terminal is invoked in the rofi default config to start a terminal. This +wrapper script is necessary since there is no distribution-independent terminal launcher +(but for example Debian has x-terminal-emulator). Distribution packagers are responsible for shipping this script in a way which is appropriate for the distribution. .PP @@ -19,9 +20,9 @@ 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) +\fB\fC$TERMINAL\fR (this is a non-standard variable) .IP \(bu 2 -x\-terminal\-emulator +x-terminal-emulator .IP \(bu 2 urxvt .IP \(bu 2 @@ -43,9 +44,9 @@ xterm .IP \(bu 2 roxterm .IP \(bu 2 -xfce4\-terminal.wrapper +xfce4-terminal.wrapper .IP \(bu 2 -mate\-terminal +mate-terminal .IP \(bu 2 lxterminal .IP \(bu 2 diff --git a/doc/rofi-theme-selector.1 b/doc/rofi-theme-selector.1 index de076ff4..96df43df 100644 --- a/doc/rofi-theme-selector.1 +++ b/doc/rofi-theme-selector.1 @@ -1,38 +1,39 @@ -.TH rofi\-theme\-selector 1 rofi\-theme\-selector +.nh +.TH rofi-theme-selector 1 rofi-theme-selector .SH NAME .PP -\fBrofi\-theme\-selector\fP \- Preview and apply themes for \fBrofi\fP +\fBrofi-theme-selector\fP - Preview and apply themes for \fBrofi\fP .SH DESCRIPTION .PP -\fBrofi\-theme\-selector\fP is a bash/rofi script to preview and apply themes for \fBrofi\fP\&. +\fBrofi-theme-selector\fP is a bash/rofi script to preview and apply themes for \fBrofi\fP\&. It's part of any installation of \fBrofi\fP\&. .SH USAGE -.SS Running rofi\-theme\-selector +.SS Running rofi-theme-selector .PP -\fBrofi\-theme\-selector\fP shows a list of all available themes in a \fBrofi\fP window. +\fBrofi-theme-selector\fP shows a list of all available themes in a \fBrofi\fP window. It lets you preview each theme with the Enter key and apply the theme to your \fBrofi\fP configuration file with Alt+a. .SH Theme directories .PP -\fBrofi\-theme\-selector\fP searches the following directories for themes: +\fBrofi-theme-selector\fP searches the following directories for themes: .RS .IP \(bu 2 ${PREFIX}/share/rofi/themes .IP \(bu 2 -$XDG\_CONFIG\_HOME/rofi/themes +$XDG_CONFIG_HOME/rofi/themes .IP \(bu 2 -$XDG\_DATA\_HOME/share/rofi/themes +$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".
-$XDG\_DATA\_HOME is normally unset. Default path is "$HOME/.local/share". +${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". +$XDG_DATA_HOME is normally unset. Default path is "$HOME/.local/share". .SH SEE ALSO .PP @@ -40,5 +41,5 @@ rofi(1) .SH AUTHORS .PP -Qball Cow qball@gmpclient.org
+Qball Cow qball@gmpclient.org Rasmus Steinke rasi@xssn.at diff --git a/doc/rofi-theme.5 b/doc/rofi-theme.5 index a0fe869a..c0a229c5 100644 --- a/doc/rofi-theme.5 +++ b/doc/rofi-theme.5 @@ -1,7 +1,8 @@ -.TH ROFI\-THEME 5 rofi\-theme +.nh +.TH ROFI-THEME 5 rofi-theme .SH NAME .PP -\fBrofi\-theme\fP \- Rofi theme format files +\fBrofi-theme\fP - Rofi theme format files .SH GETTING STARTED WITH THEMING .PP @@ -10,7 +11,7 @@ The easiest way to get started theming rofi is by modifying your existing theme. .PP Themes can be modified/tweaked by adding theming elements to the end of the .br -config file. The default location of this file is \fB\fC\~/.config/rofi/config.rasi\fR, +config file. The default location of this file is \fB\fC~/.config/rofi/config.rasi\fR, if the file does not exists, you can create it. .PP @@ -22,10 +23,10 @@ A basic config: .nf configuration { modes: [ combi ]; - combi\-modes: [ window, drun, run ]; + combi-modes: [ window, drun, run ]; } -@theme "gruvbox\-light" +@theme "gruvbox-light" /* Insert theme modifications after this */ @@ -78,7 +79,7 @@ increase the size. First we start by modifying the \fB\fCelement\fR widget: element { orientation: horizontal; - children: [ element\-text, element\-icon ]; + children: [ element-text, element-icon ]; spacing: 5px; } @@ -105,19 +106,19 @@ Resulting in the following packing: .PP The \fB\fCelement\fR (container) widget hold each entry in the \fB\fClistview\fR, we add the -two pre\-defined children in the order we want to show. We also specify the +two pre-defined children in the order we want to show. We also specify the packing direction (\fB\fCorientation\fR) and the spacing between the children (\fB\fCspacing\fR). We specify the space between the two children in absolute pixels (\fB\fCpx\fR). .PP -To increase the icon\-size, we need to modify the \fB\fCelement\-icon\fR widget. +To increase the icon-size, we need to modify the \fB\fCelement-icon\fR widget. .PP .RS .nf -element\-icon { +element-icon { size: 2.5em; } @@ -145,23 +146,23 @@ In this example we specify the size in the em \[la]https://www.w3.org/Style/LieBos3e/em\[ra] unit. .PP -Now lets change the text color of both the \fB\fCentry\fR and the \fB\fCelement\-text\fR widget to red and background to blue. +Now lets change the text color of both the \fB\fCentry\fR and the \fB\fCelement-text\fR widget to red and background to blue. .PP .RS .nf -entry, element\-text { - text\-color: red; - background\-color: rgb(0,0,255); +entry, element-text { + text-color: red; + background-color: rgb(0,0,255); } .fi .RE .PP -Here we use two different methods of writing down the color, for \fB\fCtext\-color\fR -we used a named color, for \fB\fCbackground\-color\fR we specify it in \fB\fCrgb\fR\&. +Here we use two different methods of writing down the color, for \fB\fCtext-color\fR +we used a named color, for \fB\fCbackground-color\fR we specify it in \fB\fCrgb\fR\&. We also specify the property for multiple widgets by passing a comma separated list of widget names. @@ -172,8 +173,8 @@ If you want to center the text relative to the icon, we can set this: .RS .nf -element\-text { - vertical\-align: 0.5; +element-text { + vertical-align: 0.5; } .fi @@ -187,7 +188,7 @@ element\-text { │ element │ │ ┌─────────────────────────────────────────────┐ ┌─────────────────┐ │ │ │ │ │ element │ │ -│ │element\-text │ │ ─ │ │ +│ │element-text │ │ ─ │ │ │ │ │ │ icon │ │ │ └─────────────────────────────────────────────┘ └─────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘ @@ -202,7 +203,7 @@ If you want to see the complete theme, including the modification you can run: .RS .nf -rofi \-dump\-theme +rofi -dump-theme .fi .RE @@ -240,7 +241,7 @@ To see the default theme, run the following command: .RS .nf -rofi \-no\-config \-dump\-theme +rofi -no-config -dump-theme .fi .RE @@ -250,12 +251,12 @@ rofi \-no\-config \-dump\-theme 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 are not flexible enough to expose these options in a -user\-friendly way. Therefore, a new file format has been created, replacing the old one. +user-friendly way. Therefore, a new file format has been created, replacing the old one. .SH FORMAT SPECIFICATION .SH Encoding .PP -The encoding of the file is UTF\-8. Both unix (\fB\fC\\n\fR) and windows (\fB\fC\\r\\n\fR) newlines format are supported. But unix is +The encoding of the file is UTF-8. Both unix (\fB\fC\\n\fR) and windows (\fB\fC\\r\\n\fR) newlines format are supported. But unix is preferred. .SH Comments @@ -337,7 +338,7 @@ abbreviation for \fBr\fPofi \fBa\fPdvanced \fBs\fPtyle \fBi\fPnformation. .SH Basic Structure .PP Each element has a section with defined properties. Global properties can be defined in section \fB\fC* { }\fR\&. -Sub\-section names begin with an optional hash symbol \fB\fC#\fR\&. +Sub-section names begin with an optional hash symbol \fB\fC#\fR\&. .PP It is advised to define the \fIglobal properties section\fP on top of the file to @@ -386,7 +387,7 @@ A theme can have multiple element theme sections. .PP The element path can consist of multiple names separated by whitespace or dots. -Each element may contain any number of letters, numbers and \fB\fC\-\fR\&'s. +Each element may contain any number of letters, numbers and \fB\fC-\fR\&'s. The first element in the element path can optionally start with a \fB\fC#\fR (for historic reasons). Multiple elements can be specified by a \fB\fC,\fR\&. @@ -398,10 +399,10 @@ This is a valid element name: .nf element normal.normal { - background\-color: blue; + background-color: blue; } button { - background\-color: blue; + background-color: blue; } .fi @@ -415,7 +416,7 @@ And is identical to: .nf element normal normal, button { - background\-color: blue; + background-color: blue; } .fi @@ -482,7 +483,7 @@ Both fields are mandatory for a property. .PP The \fB\fCidentifier\fR names the specified property. Identifiers can consist of any -combination of numbers, letters and '\-'. It must not contain any whitespace. +combination of numbers, letters and '-'. It must not contain any whitespace. The structure of the \fB\fCvalue\fR defines the type of the property. The current parser does not define or enforce a certain type of a particular \fB\fCidentifier\fR\&. When used, values with the wrong type that cannot be converted are ignored. @@ -558,7 +559,7 @@ font: "Awasome 12"; .RE .PP -The string must be valid UTF\-8, special characters can be escaped: +The string must be valid UTF-8, special characters can be escaped: .PP .RS @@ -577,7 +578,7 @@ The following special characters can be escaped: \fB\fC\\b\fR, \fB\fC\\f\fR, \fB .SH Integer .RS .IP \(bu 2 -Format: \fB\fC[\-+]?[:digit:]+\fR +Format: \fB\fC[-+]?[:digit:]+\fR .RE @@ -599,7 +600,7 @@ lines: 12; .SH Real .RS .IP \(bu 2 -Format: \fB\fC[\-+]?[:digit:]+(\\.[:digit:]+)?\fR +Format: \fB\fC[-+]?[:digit:]+(\\.[:digit:]+)?\fR .RE @@ -619,7 +620,7 @@ real: 3.4; .RE .PP -The following is not valid: \fB\fC\&.3\fR, \fB\fC3.\fR or scientific notation: \fB\fC3.4e\-3\fR\&. +The following is not valid: \fB\fC\&.3\fR, \fB\fC3.\fR or scientific notation: \fB\fC3.4e-3\fR\&. .SH Boolean .RS @@ -629,7 +630,7 @@ Format: \fB\fC(true|false)\fR .RE .PP -Boolean value is either \fB\fCtrue\fR or \fB\fCfalse\fR\&. This is case\-\&sensitive. +Boolean value is either \fB\fCtrue\fR or \fB\fCfalse\fR\&. This is case-sensitive. .PP For example: @@ -645,7 +646,7 @@ dynamic: false; .SH Image .PP -\fBrofi\fP support a limited set of background\-image formats. +\fBrofi\fP support a limited set of background-image formats. .RS .IP \(bu 2 @@ -654,12 +655,12 @@ Format: url("path to image"); Format: url("path to image", scale); where scale is: none, both, width, height .IP \(bu 2 -Format: linear\-gradient(stop color,stop1, color, stop2 color, ...); +Format: linear-gradient(stop color,stop1, color, stop2 color, ...); .IP \(bu 2 -Format: linear\-gradient(to direction, stop color,stop1, color, stop2 color, ...); +Format: linear-gradient(to direction, stop color,stop1, color, stop2 color, ...); where direction is: top,left,right,bottom. .IP \(bu 2 -Format: linear\-gradient(angle, stop color,stop1, color, stop2 color, ...); +Format: linear-gradient(angle, stop color,stop1, color, stop2 color, ...); Angle in deg,rad,grad (as used in color). .RE @@ -691,31 +692,27 @@ Format: \fB\fChwb[a]( {ANGLE}, {PERCENTAGE}, {PERCENTAGE} [, {PERCENTAGE}])\fR .IP \(bu 2 Format: \fB\fCcmyk( {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE} [, {PERCENTAGE} ])\fR .IP \(bu 2 -Format: \fB\fC{named\-color} [ / {PERCENTAGE} ]\fR +Format: \fB\fC{named-color} [ / {PERCENTAGE} ]\fR .RE .PP -The white\-space format proposed in CSS4 is also supported. +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). +\fB\fC{HEX}\fR is a hexadecimal number ('0-9a-f' case insensitive). .IP \(bu 2 -\fB\fC{INTEGER}\fR value can be between 0 and 255 or 0\-100 when representing percentage. +\fB\fC{INTEGER}\fR value can be between 0 and 255 or 0-100 when representing percentage. .IP \(bu 2 \fB\fC{ANGLE}\fR is the angle on the color wheel, can be in \fB\fCdeg\fR, \fB\fCrad\fR, \fB\fCgrad\fR or \fB\fCturn\fR\&. When no unit is specified, degrees is assumed. .IP \(bu 2 -\fB\fC{PERCENTAGE}\fR can be between 0\-1.0, or 0%\-100% +\fB\fC{PERCENTAGE}\fR can be between 0-1.0, or 0%-100% .IP \(bu 2 - -.PP -\fB\fC{named\-color}\fR is one of the following colors: -.PP -AliceBlue, AntiqueWhite, Aqua, Aquamarine, Azure, Beige, Bisque, Black, BlanchedAlmond, Blue, BlueViolet, Brown, +\fB\fC{named-color}\fR 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, DarkGoldenRod, DarkGray, DarkGrey, DarkGreen, DarkKhaki, DarkMagenta, DarkOliveGreen, DarkOrange, DarkOrchid, DarkRed, DarkSalmon, DarkSeaGreen, DarkSlateBlue, DarkSlateGray, DarkSlateGrey, DarkTurquoise, DarkViolet, DeepPink, DeepSkyBlue, @@ -739,9 +736,9 @@ For example: .RS .nf -background\-color: #FF0000; -border\-color: rgba(0,0,1, 0.5); -text\-color: SeaGreen; +background-color: #FF0000; +border-color: rgba(0,0,1, 0.5); +text-color: SeaGreen; .fi .RE @@ -753,8 +750,8 @@ or .RS .nf -background\-color: transparent; -text\-color: Black; +background-color: transparent; +text-color: Black; .fi .RE @@ -795,7 +792,7 @@ The following options are available on pango 1.50.0 and up: .PP The following option is disabled as pango crashes on this if there is eel - upsizing or wrapping. This will be re\-enabled once fixed: + upsizing or wrapping. This will be re-enabled once fixed: .RS .IP \(bu 2 @@ -863,7 +860,7 @@ For example: .RE .PP -On a full\-HD (1920x1080) monitor, it 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. .SS Calculating sizes @@ -874,7 +871,7 @@ Rofi supports some maths in calculating sizes. For this it uses the CSS syntax: .RS .nf -width: calc( 100% \- 37px ); +width: calc( 100% - 37px ); .fi .RE @@ -895,7 +892,7 @@ It supports the following operations: .IP \(bu 2 \fB\fC+\fR : Add .IP \(bu 2 -\fB\fC\-\fR : Subtract +\fB\fC-\fR : Subtract .IP \(bu 2 \fB\fC/\fR : Divide .IP \(bu 2 @@ -943,9 +940,9 @@ The different number of fields in the formats are parsed like: .IP \(bu 2 1 field: \fB\fCall\fR .IP \(bu 2 -2 fields: \fB\fCtop\&bottom\fR \fB\fCleft\&right\fR +2 fields: \fB\fCtop&bottom\fR \fB\fCleft&right\fR .IP \(bu 2 -3 fields: \fB\fCtop\fR, \fB\fCleft\&right\fR, \fB\fCbottom\fR +3 fields: \fB\fCtop\fR, \fB\fCleft&right\fR, \fB\fCbottom\fR .IP \(bu 2 4 fields: \fB\fCtop\fR, \fB\fCright\fR, \fB\fCbottom\fR, \fB\fCleft\fR @@ -983,6 +980,7 @@ style property. .PP When no unit is specified, pixels are assumed. + .RE .SH Position @@ -1120,7 +1118,7 @@ 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. +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 List of values @@ -1131,7 +1129,7 @@ Format: \fB\fC[ value, value, ... ]\fR .RE .PP -An list starts with a '[' and ends with a ']'. The entries in the list are comma\-separated. +An list starts with a '[' and ends with a ']'. The entries in the list are comma-separated. .SH Environment variable .RS @@ -1142,14 +1140,14 @@ Format: \fB\fC${:alnum:}\fR .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. +The environment variable should be an alphanumeric string without white-space. .PP .RS .nf * { - background\-color: ${BG}; + background-color: ${BG}; } .fi @@ -1163,7 +1161,7 @@ Format: \fB\fCenv(ENVIRONMENT, default)\fR .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. +The environment variable should be an alphanumeric string without white-space. If the environment value is not found, the default value is used. .PP @@ -1195,7 +1193,7 @@ Inherits the property from its parent widget. .nf mainbox { - border\-color: inherit; + border-color: inherit; } .fi @@ -1247,7 +1245,6 @@ The current widgets available in \fBrofi\fP: .RS .IP \(bu 2 \fB\fCwindow\fR - .RS .IP \(bu 2 \fB\fCoverlay\fR: the overlay widget. @@ -1255,65 +1252,66 @@ The current widgets available in \fBrofi\fP: \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 -\fB\fCcase\-indicator\fR: the case/sort indicator @textbox +\fB\fCcase-indicator\fR: the case/sort indicator @textbox .IP \(bu 2 \fB\fCprompt\fR: the prompt @textbox .IP \(bu 2 \fB\fCentry\fR: the main entry @textbox .IP \(bu 2 -\fB\fCnum\-rows\fR: Shows the total number of rows. +\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. +\fB\fCnum-filtered-rows\fR: Shows the total number of rows after filtering. .IP \(bu 2 -\fB\fCtextbox\-current\-entry\fR: Shows the text of the currently selected entry. +\fB\fCtextbox-current-entry\fR: Shows the text of the currently selected entry. .IP \(bu 2 -\fB\fCicon\-current\-entry\fR: Shows the icon of the currently selected entry. +\fB\fCicon-current-entry\fR: Shows the icon of the currently selected entry. .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 +\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) +\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. +\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. +.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 @@ -1367,8 +1365,8 @@ Example: .nf nametotextbox selected.active { - background\-color: #003642; - text\-color: #008ed4; + background-color: #003642; + text-color: #008ed4; } .fi @@ -1401,16 +1399,16 @@ Margin on the outside of the widget \fBborder\fP: border Border around the widget (between padding and margin)/ .IP \(bu 2 -\fBborder\-radius\fP: padding +\fBborder-radius\fP: padding Sets a radius on the corners of the borders. .IP \(bu 2 -\fBbackground\-color\fP: color +\fBbackground-color\fP: color Background color .IP \(bu 2 -\fBbackground\-image\fP: image +\fBbackground-image\fP: image Background image .IP \(bu 2 -\fBborder\-color\fP: color +\fBborder-color\fP: color Color of the border .IP \(bu 2 \fBcursor\fP: cursor @@ -1421,47 +1419,31 @@ Type of mouse cursor that is set when the mouse pointer is hovered over the widg .SS window: .RS .IP \(bu 2 - -.PP \fBfont\fP: string The font used in the window .IP \(bu 2 - -.PP \fBtransparency\fP: string Indicating if transparency should be used and what type: -\fBreal\fP \- True transparency. Only works with a compositor. -\fBbackground\fP \- Take a screenshot of the background image and use that. -\fBscreenshot\fP \- Take a screenshot of the screen and use that. -\fBPath\fP to png file \- Use an image. +\fBreal\fP - True transparency. Only works with a compositor. +\fBbackground\fP - Take a screenshot of the background image and use that. +\fBscreenshot\fP - Take a screenshot of the screen and use that. +\fBPath\fP to png file - Use an image. .IP \(bu 2 - -.PP \fBlocation\fP: position The place of the anchor on the monitor .IP \(bu 2 - -.PP \fBanchor\fP: anchor The anchor position on the window .IP \(bu 2 - -.PP \fBfullscreen\fP: boolean Window is fullscreen. .IP \(bu 2 - -.PP \fBwidth\fP: distance The width of the window .IP \(bu 2 - -.PP -\fBx\-offset\fP: distance +\fBx-offset\fP: distance .IP \(bu 2 - -.PP -\fBy\-offset\fP: distance +\fBy-offset\fP: distance The offset of the window to the anchor point, allowing you to push the window left/right/up/down .RE @@ -1469,13 +1451,13 @@ The offset of the window to the anchor point, allowing you to push the window le .SS scrollbar: .RS .IP \(bu 2 -\fBbackground\-color\fP: color +\fBbackground-color\fP: color .IP \(bu 2 -\fBhandle\-width\fP: distance +\fBhandle-width\fP: distance .IP \(bu 2 -\fBhandle\-color\fP: color +\fBhandle-color\fP: color .IP \(bu 2 -\fBborder\-color\fP: color +\fBborder-color\fP: color .RE @@ -1493,25 +1475,25 @@ The offset of the window to the anchor point, allowing you to push the window le .SS textbox: .RS .IP \(bu 2 -\fBbackground\-color\fP: color +\fBbackground-color\fP: color .IP \(bu 2 -\fBborder\-color\fP: the color used for the border around the widget. +\fBborder-color\fP: the color used for the border around the widget. .IP \(bu 2 \fBfont\fP: the font used by this textbox (string). .IP \(bu 2 \fBstr\fP/\fBcontent\fP: the string to display by this textbox (string). .IP \(bu 2 -\fBvertical\-align\fP: Vertical alignment of the text. A number between 0 (top) and 1 (bottom). +\fBvertical-align\fP: Vertical alignment of the text. A number between 0 (top) and 1 (bottom). .IP \(bu 2 -\fBhorizontal\-align\fP: Horizontal alignment of the text. A number between 0 (left) and 1 (right). +\fBhorizontal-align\fP: Horizontal alignment of the text. A number between 0 (left) and 1 (right). .IP \(bu 2 -\fBtext\-color\fP: the text color to use. +\fBtext-color\fP: the text color to use. .IP \(bu 2 -\fBtext\-transform\fP: text style {color} for the whole text. +\fBtext-transform\fP: text style {color} for the whole text. .IP \(bu 2 \fBhighlight\fP: text style {color}. color is optional, multiple highlight styles can be added like: bold underline italic #000000; -This option is only available on the \fB\fCelement\-text\fR widget. +This option is only available on the \fB\fCelement-text\fR widget. .IP \(bu 2 \fBwidth\fP: override the desired width for the textbox. .IP \(bu 2 @@ -1519,15 +1501,15 @@ This option is only available on the \fB\fCelement\-text\fR widget. .IP \(bu 2 \fBplaceholder\fP: Set the displayed text (String) when nothing is entered. .IP \(bu 2 -\fBplaceholder\-markup\fP: If true, placeholder text supports pango markup for stylizing. +\fBplaceholder-markup\fP: If true, placeholder text supports pango markup for stylizing. .IP \(bu 2 -\fBplaceholder\-color\fP: Color of the placeholder text. +\fBplaceholder-color\fP: Color of the placeholder text. .IP \(bu 2 \fBblink\fP: Enable/Disable blinking on an input textbox (Boolean). .IP \(bu 2 \fBmarkup\fP: Force markup on, beware that only valid pango markup strings are shown. .IP \(bu 2 -\fBtab\-stops\fP: array of distances +\fBtab-stops\fP: array of distances Set the location of tab stops by their distance from the beginning of the line. Each distance should be greater than the previous one. The text appears to the right of the tab stop position (other alignments are not supported yet). @@ -1540,7 +1522,7 @@ The text appears to the right of the tab stop position (other alignments are not \fBcolumns\fP: integer Number of columns to show (at least 1) .IP \(bu 2 -\fBfixed\-height\fP: boolean +\fBfixed-height\fP: boolean Always show \fB\fClines\fR rows, even if fewer elements are available. .IP \(bu 2 \fBdynamic\fP: boolean @@ -1549,7 +1531,7 @@ Always show \fB\fClines\fR rows, even if fewer elements are available. \fBscrollbar\fP: boolean If the scrollbar should be enabled/disabled. .IP \(bu 2 -\fBscrollbar\-width\fP: distance +\fBscrollbar-width\fP: distance Width of the scrollbar .IP \(bu 2 \fBcycle\fP: boolean @@ -1570,23 +1552,23 @@ Reverse the ordering (top down to bottom up). \fBflow\fP: orientation The order the elements are layed out. Vertical is the original 'column' view. .IP \(bu 2 -\fBfixed\-columns\fP: boolean +\fBfixed-columns\fP: boolean Do not reduce the number of columns shown when number of visible elements is not enough to fill them all. .IP \(bu 2 -\fBrequire\-input\fP: boolean +\fBrequire-input\fP: boolean Listview requires user input to show up. .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\&. +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\&. .SS listview text highlight: .PP -The \fB\fCelement\-text\fR widget in the \fB\fClistview\fR is the one used to show the text. +The \fB\fCelement-text\fR widget in the \fB\fClistview\fR is the one used to show the text. On this widget set the \fB\fChighlight\fR property (only place this property is used) to change the style of highlighting. -The \fB\fChighlight\fR property consist of the \fB\fCtext\-style\fR property and a color. +The \fB\fChighlight\fR property consist of the \fB\fCtext-style\fR property and a color. .PP To disable highlighting: @@ -1595,7 +1577,7 @@ To disable highlighting: .RS .nf - element\-text { + element-text { highlight: None; } @@ -1609,7 +1591,7 @@ To set to red underlined: .RS .nf - element\-text { + element-text { highlight: underline red; } @@ -1682,11 +1664,11 @@ The current layout of \fBrofi\fP is structured as follows: .RS .IP \(bu 2 -ci is the case\-indicator +ci is the case-indicator .IP \(bu 2 -fr is the num\-filtered\-rows +fr is the num-filtered-rows .IP \(bu 2 -ns is the num\-rows +ns is the num-rows .RE @@ -1726,17 +1708,17 @@ entry .IP \(bu 2 overlay .IP \(bu 2 -case\-indicator +case-indicator .IP \(bu 2 message .IP \(bu 2 listview .IP \(bu 2 -mode\-switcher +mode-switcher .IP \(bu 2 -num\-rows +num-rows .IP \(bu 2 -num\-filtered\-rows +num-filtered-rows .RE @@ -1747,10 +1729,10 @@ 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 +Packs: \fB\fCinputbar, message, listview, mode-switcher\fR .IP \(bu 2 inputbar -Packs: \fB\fCprompt,entry,case\-indicator\fR +Packs: \fB\fCprompt,entry,case-indicator\fR .RE @@ -1762,7 +1744,7 @@ There are several special widgets that can be used by prefixing the name of the .SS textbox .PP -This is a read\-only textbox widget. The displayed string can be set with \fB\fCcontent\fR\&. +This is a read-only textbox widget. The displayed string can be set with \fB\fCcontent\fR\&. .PP Example: @@ -1771,7 +1753,7 @@ Example: .RS .nf -textbox\-custom { +textbox-custom { expand: false; content: "My Message"; } @@ -1783,7 +1765,7 @@ textbox\-custom { .PP This is an icon widget. The displayed icon can be set with \fB\fCfilename\fR and size with \fB\fCsize\fR\&. If the property \fB\fCaction\fR is set, it acts as a button. -\fB\fCaction\fR can be set to a keybinding name and completes that action. (see rofi \-show keys for a list). +\fB\fCaction\fR can be set to a keybinding name and completes that action. (see rofi -show keys for a list). .PP If the \fB\fCsquared\fR property is set to \fBfalse\fP the widget height and width are not forced to be equal. @@ -1795,12 +1777,12 @@ Example: .RS .nf -icon\-paste { +icon-paste { expand: false; - filename: "gtk\-paste"; + filename: "gtk-paste"; size: 24; - vertical\-align: 0.5; - action: "kb\-primary\-paste"; + vertical-align: 0.5; + action: "kb-primary-paste"; } .fi @@ -1810,17 +1792,17 @@ icon\-paste { .PP This is a textbox widget that can have a 'clickable' action. The \fB\fCaction\fR can be set to: -\fB\fCkeybinding\fR: accepts a keybinding name and completes that action. (see rofi \-show keys for a list). +\fB\fCkeybinding\fR: accepts a keybinding name and completes that action. (see rofi -show keys for a list). .PP .RS .nf -button\-paste { +button-paste { expand: false; content: "My Clickable Message"; - vertical\-align: 0.5; - action: "kb\-primary\-paste"; + vertical-align: 0.5; + action: "kb-primary-paste"; } .fi @@ -1836,7 +1818,7 @@ property (this always happens on the \fB\fCbox\fR child, see example below): .nf inputbar { - children: [prompt,entry,overlay,case\-indicator]; + children: [prompt,entry,overlay,case-indicator]; } .fi @@ -1853,9 +1835,9 @@ Below is an example of a theme emulating dmenu: .nf * { - background\-color: Black; - text\-color: White; - border\-color: White; + background-color: Black; + text-color: White; + border-color: White; font: "Times New Roman 12"; } @@ -1887,7 +1869,7 @@ element { padding: 0px 2px; } element selected { - background\-color: SteelBlue; + background-color: SteelBlue; } .fi @@ -1922,15 +1904,15 @@ Explanation of the different parts: .RS .IP \(bu 2 -Content \- The content of the widget. +Content - The content of the widget. .IP \(bu 2 -Padding \- Clears an area around the widget. +Padding - Clears an area around the widget. The padding shows the background color of the widget. .IP \(bu 2 -Border \- A border that goes around the padding and content. -The border use the border\-color of the widget. +Border - A border that goes around the padding and content. +The border use the border-color of the widget. .IP \(bu 2 -Margin \- Clears an area outside the border. +Margin - Clears an area outside the border. The margin is transparent. .RE @@ -1998,7 +1980,7 @@ To get debug information from the parser, run rofi like: .RS .nf -G\_MESSAGES\_DEBUG=Parser rofi \-show run +G_MESSAGES_DEBUG=Parser rofi -show run .fi .RE @@ -2013,19 +1995,19 @@ To see the elements queried during running, run: .RS .nf -G\_MESSAGES\_DEBUG=Theme rofi \-show run +G_MESSAGES_DEBUG=Theme rofi -show run .fi .RE .PP -To test minor changes, part of the theme can be passed on the command line, for example to set it to full\-screen: +To test minor changes, part of the theme can be passed on the command line, for example to set it to full-screen: .PP .RS .nf -rofi \-theme\-str 'window { fullscreen:true;}' \-show run +rofi -theme-str 'window { fullscreen:true;}' -show run .fi .RE @@ -2037,7 +2019,7 @@ Another syntax to modify theme properties is: .RS .nf -rofi \-theme+window+fullscreen true \-show run +rofi -theme+window+fullscreen true -show run .fi .RE @@ -2049,7 +2031,7 @@ To print the current theme, run: .RS .nf -rofi \-dump\-theme +rofi -dump-theme .fi .RE @@ -2062,7 +2044,7 @@ Parts of the theme can be conditionally loaded, like the CSS \fB\fC@media\fR opt .RS .nf -@media ( min\-width: 120 ) { +@media ( min-width: 120 ) { } @@ -2074,19 +2056,19 @@ It supports the following keys as constraint: .RS .IP \(bu 2 -\fB\fCmin\-width\fR: load when width is bigger or equal then value. +\fB\fCmin-width\fR: load when width is bigger or equal then value. .IP \(bu 2 -\fB\fCmax\-width\fR: load when width is smaller then value. +\fB\fCmax-width\fR: load when width is smaller then value. .IP \(bu 2 -\fB\fCmin\-height\fR: load when height is bigger or equal then value. +\fB\fCmin-height\fR: load when height is bigger or equal then value. .IP \(bu 2 -\fB\fCmax\-height\fR: load when height is smaller then value. +\fB\fCmax-height\fR: load when height is smaller then value. .IP \(bu 2 -\fB\fCmin\-aspect\-ratio\fR load when aspect ratio is over value. +\fB\fCmin-aspect-ratio\fR load when aspect ratio is over value. .IP \(bu 2 -\fB\fCmax\-aspect\-ratio\fR: load when aspect ratio is under value. +\fB\fCmax-aspect-ratio\fR: load when aspect ratio is under value. .IP \(bu 2 -\fB\fCmonitor\-id\fR: The monitor id, see rofi \-help for id's. +\fB\fCmonitor-id\fR: The monitor id, see rofi -help for id's. .IP \(bu 2 \fB\fCenabled\fR: Boolean option to enable. Supports environment variable. @@ -2099,7 +2081,7 @@ It supports the following keys as constraint: .RS .nf -@media ( min\-width: 120 px ) { +@media ( min-width: 120 px ) { } @@ -2110,7 +2092,7 @@ It supports the following keys as constraint: .RS .nf -@media ( enabled: env(DO\_LIGHT, false ) { +@media ( enabled: env(DO_LIGHT, false ) { } @@ -2153,7 +2135,7 @@ Rofi supports 3 ways of specifying an icon: .IP \(bu 2 Filename .IP \(bu 2 -icon\-name, this is looked up via the icon\-theme. +icon-name, this is looked up via the icon-theme. .IP \(bu 2 Markup String. It renders a string as an icon. @@ -2172,7 +2154,7 @@ Markup string: .RS .nf -echo \-en "testing\\0icon\\x1f" | ./rofi \-dmenu +echo -en "testing\\0icon\\x1f" | ./rofi -dmenu .fi .RE @@ -2184,7 +2166,7 @@ Getting supported icon formats: .RS .nf -G\_MESSAGES\_DEBUG=Helpers.IconFetcher rofi +G_MESSAGES_DEBUG=Helpers.IconFetcher rofi .fi .RE @@ -2227,11 +2209,11 @@ 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 +\fB\fC${XDG_CONFIG_HOME}/rofi/themes/\fR .IP \(bu 2 -\fB\fC${XDG\_CONFIG\_HOME}/rofi/\fR +\fB\fC${XDG_CONFIG_HOME}/rofi/\fR .IP \(bu 2 -\fB\fC${XDG\_DATA\_HOME}/rofi/themes/\fR +\fB\fC${XDG_DATA_HOME}/rofi/themes/\fR .IP \(bu 2 \fB\fC${INSTALL PREFIX}/share/rofi/themes/\fR @@ -2247,4 +2229,4 @@ Several examples are installed together with \fBrofi\fP\&. These can be found in .SH SEE ALSO .PP -rofi(1), rofi\-script(5), rofi\-theme\-selector(1) +rofi(1), rofi-script(5), rofi-theme-selector(1) diff --git a/doc/rofi.1 b/doc/rofi.1 index 3decbf1e..22e4a021 100644 --- a/doc/rofi.1 +++ b/doc/rofi.1 @@ -1,15 +1,16 @@ +.nh .TH ROFI 1 rofi .SH NAME .PP -\fBrofi\fP \- A window switcher, application launcher, ssh dialog, dmenu replacement and more +\fBrofi\fP - A window switcher, application launcher, ssh dialog, dmenu replacement and more .SH SYNOPSIS .PP -\fBrofi\fP [ \-show \fImode\fP ]|[ \-dmenu ]|[ \-e \fImsg\fP ] [ CONFIGURATION ] +\fBrofi\fP [ -show \fImode\fP ]|[ -dmenu ]|[ -e \fImsg\fP ] [ CONFIGURATION ] .SH DESCRIPTION .PP -\fBrofi\fP is an X11 pop\-up window switcher, run dialog, dmenu replacement, and +\fBrofi\fP 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. @@ -19,19 +20,19 @@ keyboard and mouse navigation, type to filter, tokenized search and more. quickly switch between windows, start applications or log into a remote machine via \fB\fCssh\fR\&. There are different \fImodes\fP for different types of actions. \fBrofi\fP is a standalone application and should not be integrated into scripts. For -integration into scripts it has a special mode that functions as a (drop\-in) +integration into scripts it has a special mode that functions as a (drop-in) replacement for \fBdmenu(1)\fP\&. See emulating dmenu below. .SS Running rofi .PP -To launch \fBrofi\fP directly in a certain mode, specify a mode with \fB\fCrofi \-show \fR\&. +To launch \fBrofi\fP directly in a certain mode, specify a mode with \fB\fCrofi -show \fR\&. To show the \fB\fCdrun\fR dialog: .PP .RS .nf - rofi \-show drun + rofi -show drun .fi .RE @@ -44,7 +45,7 @@ with \fB\fCwindow\fR mode: .RS .nf - rofi \-show combi \-modes combi \-combi\-modes "window,drun,run" + rofi -show combi -modes combi -combi-modes "window,drun,run" .fi .RE @@ -57,10 +58,10 @@ running firefox, or launch it when it is not running. .SS Emulating dmenu .PP \fBrofi\fP can emulate \fBdmenu(1)\fP (a dynamic menu for X11) when launched with -the \fB\fC\-dmenu\fR flag. +the \fB\fC-dmenu\fR flag. .PP -For more information see \fBrofi\-dmenu(5)\fP\&. +For more information see \fBrofi-dmenu(5)\fP\&. .SS Display Error message .PP @@ -70,7 +71,7 @@ For more information see \fBrofi\-dmenu(5)\fP\&. .RS .nf -rofi \-e "my message" +rofi -e "my message" .fi .RE @@ -85,23 +86,23 @@ There are currently three methods of setting configuration options (evaluated in .RS .IP \(bu 2 System configuration file (for example \fB\fC/etc/rofi.rasi\fR). -It first checks \fB\fCXDG\_CONFIG\_DIRS\fR, and then \fB\fCSYSCONFDIR\fR (that is passed at compile time). +It first checks \fB\fCXDG_CONFIG_DIRS\fR, and then \fB\fCSYSCONFDIR\fR (that is passed at compile time). It loads the first config file it finds, it does not merge multiple system configuration files. .IP \(bu 2 Rasi theme file: The new \fItheme\fP format can be used to set configuration values. .IP \(bu 2 -Command\-line options: Arguments passed to \fBrofi\fP\&. +Command-line options: Arguments passed to \fBrofi\fP\&. .RE .PP -To get a template config file, run: \fB\fCrofi \-dump\-config > config.rasi\fR +To get a template config file, run: \fB\fCrofi -dump-config > config.rasi\fR .PP This will contain (commented) all current configuration options, modified options are uncommented. .PP -To get a template config file that sets the icon\-theme run: \fB\fCrofi \-icon\-theme hicolor \-dump\-config\fR\&. +To get a template config file that sets the icon-theme run: \fB\fCrofi -icon-theme hicolor -dump-config\fR\&. .PP It is \fBstrongly\fP recommended to use this as a starting point for your configuration. @@ -121,8 +122,8 @@ configuration { .RE .PP -Most of the configuration options mentioned below (beside options like \fB\fC\-show\fR, -\fB\fC\-dump\-config\fR that apply to a single run) can be set here. +Most of the configuration options mentioned below (beside options like \fB\fC-show\fR, +\fB\fC-dump-config\fR that apply to a single run) can be set here. .PP For example to set the dpi value to 72: @@ -156,17 +157,17 @@ lists .RE .PP -For the syntax of these options, see the \fBrofi\-theme(5)\fP manpage. +For the syntax of these options, see the \fBrofi-theme(5)\fP manpage. .PP -For use on the command line, Boolean options have a non\-default command\-line +For use on the command line, Boolean options have a non-default command-line syntax. Example to enable option X: .PP .RS .nf -\-X +-X .fi .RE @@ -178,7 +179,7 @@ To disable option X: .RS .nf -\-no\-X +-no-X .fi .RE @@ -188,46 +189,46 @@ Below is a list of the most important options: .SS General .PP -\fB\fC\-help\fR +\fB\fC-help\fR .PP -The help option shows the full list of command\-line options and the current set -values. These include dynamic (run\-time generated) options. +The help option shows the full list of command-line options and the current set +values. These include dynamic (run-time generated) options. .PP -\fB\fC\-version\fR +\fB\fC-version\fR .PP Show the \fBrofi\fP version and exit. .PP -\fB\fC\-dump\-config\fR +\fB\fC-dump-config\fR .PP Dump the current active configuration, in rasi format, to stdout and exit. -Information about the rasi format can be found in the \fBrofi\-theme(5)\fP manpage. +Information about the rasi format can be found in the \fBrofi-theme(5)\fP manpage. .PP -\fB\fC\-dump\-theme\fR +\fB\fC-dump-theme\fR .PP Dump the current active theme, in rasi format, to stdout and exit. .PP -\fB\fC\-rasi\-validate\fR \fIfilename\fP +\fB\fC-rasi-validate\fR \fIfilename\fP .PP -Try to parse the file and return 0 when successful, non\-zero when failed. +Try to parse the file and return 0 when successful, non-zero when failed. .PP -\fB\fC\-list\-keybindings\fR +\fB\fC-list-keybindings\fR .PP List all known keybindings without trying to parse them. This can be used to look for duplicate bindings. .PP -\fB\fC\-threads\fR \fInum\fP +\fB\fC-threads\fR \fInum\fP .PP Specify the number of threads \fBrofi\fP should use: @@ -238,33 +239,29 @@ Specify the number of threads \fBrofi\fP should use: .IP \(bu 2 1: Disable threading .IP \(bu 2 - -.PP -2..n: Specify the maximum number of threads to use in the thread pool. -.PP -Default: Autodetect +2..n: Specify the maximum number of threads to use in the thread pool.Default: Autodetect .RE .PP -\fB\fC\-display\fR \fIdisplay\fP +\fB\fC-display\fR \fIdisplay\fP .PP The X server to contact. Default is \fB\fC$DISPLAY\fR\&. .PP -\fB\fC\-dmenu\fR +\fB\fC-dmenu\fR .PP Run \fBrofi\fP in dmenu mode. This allows for interactive scripts. In \fB\fCdmenu\fR mode, \fBrofi\fP reads from STDIN, and output to STDOUT. -A simple example, displaying three pre\-defined options: +A simple example, displaying three pre-defined options: .PP .RS .nf -echo \-e "Option #1\\nOption #2\\nOption #3" | rofi \-dmenu +echo -e "Option #1\\nOption #2\\nOption #3" | rofi -dmenu .fi .RE @@ -276,43 +273,43 @@ Or get the options from a script: .RS .nf -\~/my\_script.sh | rofi \-dmenu +~/my_script.sh | rofi -dmenu .fi .RE .PP -See the \fBrofi\-dmenu(5)\fP manpage for more information. +See the \fBrofi-dmenu(5)\fP manpage for more information. .PP -\fB\fC\-show\fR \fImode\fP +\fB\fC-show\fR \fImode\fP .PP Open \fBrofi\fP in a certain mode. Available modes are \fB\fCwindow\fR, \fB\fCrun\fR, \fB\fCdrun\fR, \fB\fCssh\fR, \fB\fCcombi\fR\&. The special argument \fB\fCkeys\fR can be used to open a searchable list of supported key bindings -(see the \fBrofi\-keys(5)\fP manpage) +(see the \fBrofi-keys(5)\fP manpage) .PP -To show the run\-dialog: +To show the run-dialog: .PP .RS .nf -rofi \-show run +rofi -show run .fi .RE .PP -If \fB\fC\-show\fR is the last option passed to rofi, the first enabled modes is shown. +If \fB\fC-show\fR is the last option passed to rofi, the first enabled modes is shown. .PP -\fB\fC\-modes\fR \fImode1,mode2\fP +\fB\fC-modes\fR \fImode1,mode2\fP .PP -Specify an 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 \fB\fCCtrl+Tab\fR\&. If no modes are specified, all configured modes will be enabled. To only show the \fB\fCrun\fR and \fB\fCssh\fR launcher: @@ -321,7 +318,7 @@ To only show the \fB\fCrun\fR and \fB\fCssh\fR launcher: .RS .nf -rofi \-modes "run,ssh" \-show run +rofi -modes "run,ssh" -show run .fi .RE @@ -340,13 +337,13 @@ two parameters: .RE .PP -Example: Have a mode called 'Workspaces' using the \fB\fCi3\_switch\_workspaces.sh\fR script: +Example: Have a mode called 'Workspaces' using the \fB\fCi3_switch_workspaces.sh\fR script: .PP .RS .nf -rofi \-modes "window,run,ssh,Workspaces:i3\_switch\_workspaces.sh" \-show Workspaces +rofi -modes "window,run,ssh,Workspaces:i3_switch_workspaces.sh" -show Workspaces .fi .RE @@ -362,50 +359,50 @@ exec command. For that case, \fB\fC#\fR can be used as a separator. .RS .nf -rofi \-modes "My File Browser:fb.sh" \-show "My File Browser" +rofi -modes "My File Browser:fb.sh" -show "My File Browser" .fi .RE .PP -\fB\fC\-case\-sensitive\fR +\fB\fC-case-sensitive\fR .PP -Start in case\-sensitive mode. -This option can be changed at run\-time using the \fB\fC\-kb\-toggle\-case\-sensitivity\fR key binding. +Start in case-sensitive mode. +This option can be changed at run-time using the \fB\fC-kb-toggle-case-sensitivity\fR key binding. .PP -\fB\fC\-cycle\fR +\fB\fC-cycle\fR .PP Cycle through the result list. Default is 'true'. .PP -\fB\fC\-filter\fR \fIfilter\fP +\fB\fC-filter\fR \fIfilter\fP .PP Filter the list by setting text in input bar to \fIfilter\fP .PP -\fB\fC\-config\fR \fIfilename\fP +\fB\fC-config\fR \fIfilename\fP .PP Load an alternative configuration file. .PP -\fB\fC\-cache\-dir\fR \fIfilename\fP +\fB\fC-cache-dir\fR \fIfilename\fP .PP Directory that is used to place temporary files, like history. .PP -\fB\fC\-scroll\-method\fR \fImethod\fP +\fB\fC-scroll-method\fR \fImethod\fP .PP Select the scrolling method. 0: Per page, 1: continuous. .PP -\fB\fC\-normalize\-match\fR +\fB\fC-normalize-match\fR .PP Normalize the string before matching, so \fB\fCo\fR will match \fB\fCö\fR, and \fB\fCé\fR matches \fB\fCe\fR\&. @@ -413,31 +410,31 @@ Normalize the string before matching, so \fB\fCo\fR will match \fB\fCö\fR, and This is not a perfect implementation, but works. For now, it disables highlighting of the matched part. .PP -\fB\fC\-no\-lazy\-grab\fR +\fB\fC-no-lazy-grab\fR .PP Disables lazy grab, this forces the keyboard being grabbed before gui is shown. .PP -\fB\fC\-no\-plugins\fR +\fB\fC-no-plugins\fR .PP Disable plugin loading. .PP -\fB\fC\-plugin\-path\fR \fIdirectory\fP +\fB\fC-plugin-path\fR \fIdirectory\fP .PP Specify the directory where \fBrofi\fP should look for plugins. .PP -\fB\fC\-show\-icons\fR +\fB\fC-show-icons\fR .PP Show application icons in \fB\fCdrun\fR and \fB\fCwindow\fR modes. .PP -\fB\fC\-icon\-theme\fR +\fB\fC-icon-theme\fR .PP Specify icon theme to be used. @@ -445,25 +442,25 @@ If not specified default theme from DE is used, \fIAdwaita\fP and \fIgnome\fP th fallback themes. .PP -\fB\fC\-markup\fR +\fB\fC-markup\fR .PP Use Pango markup to format output wherever possible. .PP -\fB\fC\-normal\-window\fR +\fB\fC-normal-window\fR .PP Make \fBrofi\fP react like a normal application window. Useful for scripts like Clerk that are basically an application. .PP -\fB\fC\-[no\-]steal\-focus\fR +\fB\fC-[no-]steal-focus\fR .PP Make rofi steal focus on launch and restore close to window that held it when launched. .PP -\fB\fC\-refilter\-timeout\-limit\fR +\fB\fC-refilter-timeout-limit\fR .PP The time (in ms) boundary filter may take before switch from instant to delayed filter mode. @@ -480,7 +477,7 @@ A fallback icon can be specified for each mode: .nf configuration { { - fallback\-icon: ""; + fallback-icon: ""; } } @@ -496,7 +493,7 @@ Example .nf configuration { run,drun { - fallback\-icon: "application\-x\-addon"; + fallback-icon: "application-x-addon"; } } @@ -505,7 +502,7 @@ configuration { .SS Matching .PP -\fB\fC\-matching\fR \fImethod\fP +\fB\fC-matching\fR \fImethod\fP .PP Specify the matching algorithm used. @@ -532,19 +529,19 @@ Default: \fInormal\fP Note: glob matching might be slow for larger lists .PP -\fB\fC\-tokenize\fR +\fB\fC-tokenize\fR .PP Tokenize the input. .PP -\fB\fC\-drun\-categories\fR \fIcategory1\fP,\fIcategory2\fP +\fB\fC-drun-categories\fR \fIcategory1\fP,\fIcategory2\fP .PP Only show desktop files that are present in the listed categories. .PP -\fB\fC\-drun\-match\-fields\fR \fIfield1\fP,\fIfield2\fP,... +\fB\fC-drun-match-fields\fR \fIfield1\fP,\fIfield2\fP,... .PP When using \fB\fCdrun\fR, match only with the specified Desktop entry fields. @@ -562,16 +559,12 @@ The different fields are: .IP \(bu 2 \fBcomment\fP: the application comment .IP \(bu 2 - -.PP -\fBall\fP: all the above -.PP -Default: \fIname,generic,exec,categories,keywords\fP +\fBall\fP: all the aboveDefault: \fIname,generic,exec,categories,keywords\fP .RE .PP -\fB\fC\-drun\-display\-format\fR +\fB\fC-drun-display-format\fR .PP The format string for the \fB\fCdrun\fR dialog: @@ -603,10 +596,10 @@ Default: {name} [({generic})] .RE .PP -Note: Only fields enabled in \fB\fC\-drun\-match\-fields\fR can be used in the format string. +Note: Only fields enabled in \fB\fC-drun-match-fields\fR can be used in the format string. .PP -\fB\fC\-[no\-]drun\-show\-actions\fR +\fB\fC-[no-]drun-show-actions\fR .PP Show actions present in the Desktop files. @@ -621,7 +614,7 @@ Default: false .RE .PP -\fB\fC\-window\-match\-fields\fR \fIfield1\fP,\fIfield2\fP,... +\fB\fC-window-match-fields\fR \fIfield1\fP,\fIfield2\fP,... .PP When using window mode, match only with the specified fields. @@ -639,16 +632,12 @@ The different fields are: .IP \(bu 2 \fBdesktop\fP: window's current desktop .IP \(bu 2 - -.PP -\fBall\fP: all the above -.PP -Default: \fIall\fP +\fBall\fP: all the aboveDefault: \fIall\fP .RE .PP -\fB\fC\-matching\-negate\-char\fR \fIchar\fP +\fB\fC-matching-negate-char\fR \fIchar\fP .PP Set the character used to negate the query (i.e. if it does \fBnot\fP match the next keyword). @@ -658,7 +647,7 @@ Set to '\\x0' to disable. .RS .nf -Default: '\-' +Default: '-' .fi .RE @@ -668,16 +657,16 @@ Default: '\-' \fBIMPORTANT:\fP In newer \fBrofi\fP releases, all the theming options have been moved into the new theme format. They are no longer normal \fBrofi\fP options that can be passed directly on the command line (there are too many). - Small snippets can be passed on the command line: \fB\fCrofi \-theme\-str 'window {width: 50%;}'\fR to override a single + Small snippets can be passed on the command line: \fB\fCrofi -theme-str 'window {width: 50%;}'\fR to override a single setting. They are merged into the current theme. They can also be appended at the end of the \fBrofi\fP config file to override parts of the theme. .PP Most of the following options are \fBdeprecated\fP and should not be used. Please use the new theme format to customize -\fBrofi\fP\&. More information about the new format can be found in the \fBrofi\-theme(5)\fP manpage. +\fBrofi\fP\&. More information about the new format can be found in the \fBrofi-theme(5)\fP manpage. .PP -\fB\fC\-location\fR +\fB\fC-location\fR .PP Specify where the window should be located. The numbers map to the following locations on screen: @@ -697,68 +686,68 @@ Specify where the window should be located. The numbers map to the following loc Default: \fI0\fP .PP -\fB\fC\-fixed\-num\-lines\fR +\fB\fC-fixed-num-lines\fR .PP Keep a fixed number of visible lines. .PP -\fB\fC\-sidebar\-mode\fR +\fB\fC-sidebar-mode\fR .PP -Open in sidebar\-mode. In this mode, a list of all enabled modes is shown at the bottom. -(See \fB\fC\-modes\fR option) +Open in sidebar-mode. In this mode, a list of all enabled modes is shown at the bottom. +(See \fB\fC-modes\fR option) To show sidebar, use: .PP .RS .nf -rofi \-show run \-sidebar\-mode +rofi -show run -sidebar-mode .fi .RE .PP -\fB\fC\-hover\-select\fR +\fB\fC-hover-select\fR .PP Automatically select the entry the mouse is hovering over. This option is best combined with custom mouse bindings. -To utilize hover\-select and accept an entry in a single click, use: +To utilize hover-select and accept an entry in a single click, use: .PP .RS .nf -rofi \-show run \-hover\-select \-me\-select\-entry '' \-me\-accept\-entry MousePrimary +rofi -show run -hover-select -me-select-entry '' -me-accept-entry MousePrimary .fi .RE .PP -\fB\fC\-eh\fR \fInumber\fP +\fB\fC-eh\fR \fInumber\fP .PP Set row height (in chars) Default: \fI1\fP .PP -\fB\fC\-auto\-select\fR +\fB\fC-auto-select\fR .PP When one entry is left, automatically select it. .PP -\fB\fC\-m\fR \fInum\fP +\fB\fC-m\fR \fInum\fP .PP -\fB\fC\-m\fR \fIname\fP +\fB\fC-m\fR \fIname\fP .PP -\fB\fC\-monitor\fR \fInum\fP +\fB\fC-monitor\fR \fInum\fP .PP -\fB\fC\-monitor\fR \fIname\fP +\fB\fC-monitor\fR \fIname\fP .PP Select monitor to display \fBrofi\fP on. @@ -767,34 +756,30 @@ detection). Negative numbers are handled differently: .RS .IP \(bu 2 -\fB\-1\fP: the currently focused monitor. +\fB-1\fP: the currently focused monitor. .IP \(bu 2 -\fB\-2\fP: the currently focused window (that is, \fBrofi\fP will be displayed on top of the focused window). +\fB-2\fP: the currently focused window (that is, \fBrofi\fP will be displayed on top of the focused window). .IP \(bu 2 -\fB\-3\fP: Position of mouse (overrides the location setting to get normal context menu +\fB-3\fP: Position of mouse (overrides the location setting to get normal context menu behavior.) .IP \(bu 2 -\fB\-4\fP: the monitor with the focused window. +\fB-4\fP: the monitor with the focused window. .IP \(bu 2 - -.PP -\fB\-5\fP: the monitor that shows the mouse pointer. -.PP -Default: \fI\-5\fP +\fB-5\fP: the monitor that shows the mouse pointer.Default: \fI-5\fP .RE .PP -See \fB\fCrofi \-h\fR output for the detected monitors, their position, and size. +See \fB\fCrofi -h\fR output for the detected monitors, their position, and size. .PP -\fB\fC\-theme\fR \fIfilename\fP +\fB\fC-theme\fR \fIfilename\fP .PP Path to the new theme file format. This overrides the old theme settings. .PP -\fB\fC\-theme\-str\fR \fIstring\fP +\fB\fC-theme-str\fR \fIstring\fP .PP Allow theme parts to be specified on the command line as an override. @@ -806,7 +791,7 @@ For example: .RS .nf -rofi \-theme\-str '#window { fullscreen: true; }' +rofi -theme-str '#window { fullscreen: true; }' .fi .RE @@ -816,21 +801,21 @@ This option can be specified multiple times. This is now the method to tweak the theme via the command line. .PP -\fB\fC\-dpi\fR \fInumber\fP +\fB\fC-dpi\fR \fInumber\fP .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). +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). +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 +\fB\fC-selected-row\fR \fIselected row\fP .PP Select a certain row. @@ -840,7 +825,7 @@ Default: \fI0\fP .SS PATTERN setting .PP -\fB\fC\-terminal\fR +\fB\fC-terminal\fR .PP Specify which terminal to start. @@ -849,7 +834,7 @@ Specify which terminal to start. .RS .nf -rofi \-terminal xterm +rofi -terminal xterm .fi .RE @@ -858,36 +843,36 @@ rofi \-terminal xterm Pattern: \fI{terminal}\fP .PP -Default: \fIx\-terminal\-emulator\fP +Default: \fIx-terminal-emulator\fP .PP -\fB\fC\-ssh\-client\fR \fIclient\fP +\fB\fC-ssh-client\fR \fIclient\fP .PP Override the used \fB\fCssh\fR client. .PP -Pattern: \fI{ssh\-client}\fP +Pattern: \fI{ssh-client}\fP .PP Default: \fIssh\fP .SS SSH settings .PP -\fB\fC\-ssh\-command\fR \fIcmd\fP +\fB\fC-ssh-command\fR \fIcmd\fP .PP Set the command to execute when starting an ssh session. The pattern \fI{host}\fP is replaced by the selected ssh entry. .PP -Pattern: \fI{ssh\-client}\fP +Pattern: \fI{ssh-client}\fP .PP -Default: \fI{terminal} \-e {ssh\-client} {host}\fP +Default: \fI{terminal} -e {ssh-client} {host}\fP .PP -\fB\fC\-parse\-hosts\fR +\fB\fC-parse-hosts\fR .PP Parse the \fB\fC/etc/hosts\fR file for entries. @@ -896,18 +881,18 @@ Parse the \fB\fC/etc/hosts\fR file for entries. Default: \fIdisabled\fP .PP -\fB\fC\-parse\-known\-hosts\fR -\fB\fC\-no\-parse\-known\-hosts\fR +\fB\fC-parse-known-hosts\fR +\fB\fC-no-parse-known-hosts\fR .PP -Parse the \fB\fC\~/.ssh/known\_hosts\fR file for entries. +Parse the \fB\fC~/.ssh/known_hosts\fR file for entries. .PP Default: \fIenabled\fP .SS Run settings .PP -\fB\fC\-run\-command\fR \fIcmd\fP +\fB\fC-run-command\fR \fIcmd\fP .PP Set command (\fI{cmd}\fP) to execute when running an application. @@ -917,27 +902,27 @@ See \fIPATTERN\fP\&. Default: \fI{cmd}\fP .PP -\fB\fC\-run\-shell\-command\fR \fIcmd\fP +\fB\fC-run-shell-command\fR \fIcmd\fP .PP Set command to execute when running an application in a shell. See \fIPATTERN\fP\&. .PP -Default: \fI{terminal} \-e {cmd}\fP +Default: \fI{terminal} -e {cmd}\fP .PP -\fB\fC\-run\-list\-command\fR \fIcmd\fP +\fB\fC-run-list-command\fR \fIcmd\fP .PP -If set, use an external tool to generate a list of executable commands. Uses \fB\fCrun\-command\fR\&. +If set, use an external tool to generate a list of executable commands. Uses \fB\fCrun-command\fR\&. .PP Default: \fI{cmd}\fP .SS Window switcher settings .PP -\fB\fC\-window\-format\fR \fIformat\fP +\fB\fC-window-format\fR \fIformat\fP .PP Format what is being displayed for windows. @@ -963,24 +948,24 @@ Format what is being displayed for windows. .RE .PP -\fIlen\fP: maximum field length (0 for auto\-size). If length is negative, the entry will be unchanged. +\fIlen\fP: maximum field length (0 for auto-size). If length is negative, the entry will be unchanged. If length is positive, the entry will be truncated or padded to fill that length. .PP default: {w} {c} {t} .PP -\fB\fC\-window\-command\fR \fIcmd\fP +\fB\fC-window-command\fR \fIcmd\fP .PP -Set command to execute on selected window for an alt action (\fB\fC\-kb\-accept\-alt\fR). +Set command to execute on selected window for an alt action (\fB\fC-kb-accept-alt\fR). See \fIPATTERN\fP\&. .PP -Default: \fI"wmctrl \-i \-R {window}"\fP +Default: \fI"wmctrl -i -R {window}"\fP .PP -\fB\fC\-window\-thumbnail\fR +\fB\fC-window-thumbnail\fR .PP Show window thumbnail (if available) as icon in the window switcher. @@ -994,7 +979,7 @@ You can stop rofi from exiting when closing a window (allowing multiple to be cl .nf configuration { window { - close\-on\-delete: false; + close-on-delete: false; } } @@ -1002,7 +987,7 @@ configuration { .RE .PP -You can hide the currently active window with the 'hide\-active\-window' setting: +You can hide the currently active window with the 'hide-active-window' setting: .PP .RS @@ -1010,7 +995,7 @@ You can hide the currently active window with the 'hide\-active\-window' setting .nf configuration { window { - hide\-active\-window: true; + hide-active-window: true; } } @@ -1018,22 +1003,41 @@ configuration { .RE .PP -or pass \fB\fC\-window\-hide\-active\-window true\fR on command line. +or pass \fB\fC-window-hide-active-window true\fR on command line. + +.PP +You can prefer the icon theme above the window set icon with the 'prefer-icon-theme' setting: + +.PP +.RS + +.nf +configuration { + window { + prefer-icon-theme: true; + } +} + +.fi +.RE + +.PP +or pass \fB\fC-window-prefer-icon-theme true\fR on command line. .SS Combi settings .PP -\fB\fC\-combi\-modes\fR \fImode1\fP,\fImode2\fP +\fB\fC-combi-modes\fR \fImode1\fP,\fImode2\fP .PP The modes to combine in combi mode. -For syntax to \fB\fC\-combi\-modes\fR, see \fB\fC\-modes\fR\&. +For syntax to \fB\fC-combi-modes\fR, see \fB\fC-modes\fR\&. To get one merge view, of \fB\fCwindow\fR,\fB\fCrun\fR, and \fB\fCssh\fR: .PP .RS .nf -rofi \-show combi \-combi\-modes "window,run,ssh" \-modes combi +rofi -show combi -combi-modes "window,run,ssh" -modes combi .fi .RE @@ -1043,7 +1047,7 @@ rofi \-show combi \-combi\-modes "window,run,ssh" \-modes combi For that case, \fB\fC#\fR can be used as a separator. .PP -\fB\fC\-combi\-display\-format\fR +\fB\fC-combi-display-format\fR .PP The format string for entries in the \fB\fCcombi\fR dialog: @@ -1069,26 +1073,26 @@ Default: {mode} {text} .RE .PP -Note: This setting is ignored if \fB\fCcombi\-hide\-mode\-prefix\fR is enabled. +Note: This setting is ignored if \fB\fCcombi-hide-mode-prefix\fR is enabled. .SS History and Sorting .PP -\fB\fC\-disable\-history\fR -\fB\fC\-no\-disable\-history\fR (re\-enable history) +\fB\fC-disable-history\fR +\fB\fC-no-disable-history\fR (re-enable history) .PP Disable history .PP -\fB\fC\-sort\fR to enable -\fB\fC\-no\-sort\fR to disable +\fB\fC-sort\fR to enable +\fB\fC-no-sort\fR to disable .PP Enable, disable sorting. -This setting can be changed at runtime (see \fB\fC\-kb\-toggle\-sort\fR). +This setting can be changed at runtime (see \fB\fC-kb-toggle-sort\fR). .PP -\fB\fC\-sorting\-method\fR 'method' to specify the sorting method. +\fB\fC-sorting-method\fR 'method' to specify the sorting method. .PP There are 2 sorting methods: @@ -1102,18 +1106,18 @@ fzf sorting. .RE .PP -\fB\fC\-max\-history\-size\fR \fInumber\fP +\fB\fC-max-history-size\fR \fInumber\fP .PP Maximum number of entries to store in history. Defaults to 25. (WARNING: can cause slowdowns when set too high) .SS Message dialog .PP -\fB\fC\-e\fR \fImessage\fP +\fB\fC-e\fR \fImessage\fP .PP Pops up a message dialog (used internally for showing errors) with \fImessage\fP\&. -Message can be multi\-line. +Message can be multi-line. .SS File browser settings .PP @@ -1129,16 +1133,16 @@ configuration { directory: "/some/directory"; /** * Sorting method. Can be set to: - * \- "name" - * \- "mtime" (modification time) - * \- "atime" (access time) - * \- "ctime" (change time) + * - "name" + * - "mtime" (modification time) + * - "atime" (access time) + * - "ctime" (change time) */ - sorting\-method: "name"; + sorting-method: "name"; /** Group directories before files. */ - directories\-first: true; + directories-first: true; /** Show hidden files. */ - show\-hidden: false; + show-hidden: false; } } @@ -1147,40 +1151,40 @@ configuration { .SS Other .PP -\fB\fC\-drun\-use\-desktop\-cache\fR +\fB\fC-drun-use-desktop-cache\fR .PP Build and use a cache with the content of desktop files. Usable for systems with slow hard drives. .PP -\fB\fC\-drun\-reload\-desktop\-cache\fR +\fB\fC-drun-reload-desktop-cache\fR .PP -If \fB\fCdrun\-use\-desktop\-cache\fR is enabled, rebuild a cache with the content of desktop files. +If \fB\fCdrun-use-desktop-cache\fR is enabled, rebuild a cache with the content of desktop files. .PP -\fB\fC\-drun\-url\-launcher\fR \fIcommand\fP +\fB\fC-drun-url-launcher\fR \fIcommand\fP .PP Command to open a Desktop Entry that is a Link. .PP -\fB\fC\-pid\fR \fIpath\fP +\fB\fC-pid\fR \fIpath\fP .PP -Make \fBrofi\fP create a pid file and check this on startup. The pid file prevents multiple \fBrofi\fP instances from running simultaneously. This is useful when running \fBrofi\fP from a key\-binding daemon. +Make \fBrofi\fP create a pid file and check this on startup. The pid file prevents multiple \fBrofi\fP instances from running simultaneously. This is useful when running \fBrofi\fP from a key-binding daemon. .PP -\fB\fC\-replace\fR +\fB\fC-replace\fR .PP If rofi is already running, based on pid file, try to kill that instance. .PP -\fB\fC\-display\-{mode}\fR \fIstring\fP +\fB\fC-display-{mode}\fR \fIstring\fP .PP -Set the name to use for mode. This is used as prompt and in combi\-browser. +Set the name to use for mode. This is used as prompt and in combi-browser. .PP It is now preferred to use the configuration file: @@ -1191,7 +1195,7 @@ It is now preferred to use the configuration file: .nf configuration { {mode} { - display\-name: *string*; + display-name: *string*; } } @@ -1199,8 +1203,8 @@ configuration { .RE .PP -\fB\fC\-click\-to\-exit\fR -\fB\fC\-no\-click\-to\-exit\fR +\fB\fC-click-to-exit\fR +\fB\fC-no-click-to-exit\fR .PP Click the mouse outside the \fBrofi\fP window to exit. @@ -1209,7 +1213,7 @@ Click the mouse outside the \fBrofi\fP window to exit. Default: \fIenabled\fP .PP -\fB\fC\-xserver\-i300\-workaround\fR +\fB\fC-xserver-i300-workaround\fR .PP Workaround for bug in Xserver. See issue #611 and #1642 on the rofi issue tracker. @@ -1219,29 +1223,29 @@ Default: \fIdisabled\fP .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: +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 -\fB\fC{terminal}\fR: the configured terminal (see \-terminal) +\fB\fC{terminal}\fR: the configured terminal (see -terminal) .IP \(bu 2 -\fB\fC{ssh\-client}\fR: the configured ssh client (see \-ssh\-client) +\fB\fC{ssh-client}\fR: the configured ssh client (see -ssh-client) .IP \(bu 2 \fB\fC{cmd}\fR: the command to execute .IP \(bu 2 -\fB\fC{window}\fR: the window ID of the selected window (in \fB\fCwindow\-command\fR) +\fB\fC{window}\fR: the window ID of the selected window (in \fB\fCwindow-command\fR) .RE .SH THEMING .PP -Please see \fBrofi\-theme(5)\fP manpage for more information on theming. +Please see \fBrofi-theme(5)\fP manpage for more information on theming. .SH KEY BINDINGS .PP -Please see the \fBrofi\-keys(5)\fP manpage for the keybindings and how to set them up. +Please see the \fBrofi-keys(5)\fP manpage for the keybindings and how to set them up. .PP The keybinding can also be used for actions, when the action is executed the @@ -1260,7 +1264,7 @@ after X seconds. configuration { timeout { delay: 15; - action: "kb\-cancel"; + action: "kb-cancel"; } } @@ -1277,7 +1281,7 @@ When the input of the textbox changes: .nf configuration { inputchange { - action: "kb\-row\-first"; + action: "kb-row-first"; } } @@ -1288,9 +1292,9 @@ configuration { .SS window .PP Show a list of all the windows and allow switching between them. -Pressing the \fB\fCdelete\-entry\fR binding (\fB\fCshift\-delete\fR) will close the window. -Pressing the \fB\fCaccept\-custom\fR binding (\fB\fCcontrol\-enter\fR or \fB\fCshift\-enter\fR) will run a command on the window. -(See option \fB\fCwindow\-command\fR ); +Pressing the \fB\fCdelete-entry\fR binding (\fB\fCshift-delete\fR) will close the window. +Pressing the \fB\fCaccept-custom\fR binding (\fB\fCcontrol-enter\fR or \fB\fCshift-enter\fR) will run a command on the window. +(See option \fB\fCwindow-command\fR ); .PP If there is no match, it will try to launch the input. @@ -1298,9 +1302,9 @@ If there is no match, it will try to launch the input. .SS windowcd .PP Shows a list of the windows on the current desktop and allows switching between them. -Pressing the \fB\fCdelete\-entry\fR binding (\fB\fCshift\-delete\fR) will kill the window. -Pressing the \fB\fCaccept\-custom\fR binding (\fB\fCcontrol\-enter\fR or \fB\fCshift\-enter\fR) will run a command on the window. -(See option \fB\fCwindow\-command\fR ); +Pressing the \fB\fCdelete-entry\fR binding (\fB\fCshift-delete\fR) will kill the window. +Pressing the \fB\fCaccept-custom\fR binding (\fB\fCcontrol-enter\fR or \fB\fCshift-enter\fR) will run a command on the window. +(See option \fB\fCwindow-command\fR ); .PP If there is no match, it will try to launch the input. @@ -1308,24 +1312,24 @@ If there is no match, it will try to launch the input. .SS run .PP Shows a list of executables in \fB\fC$PATH\fR and can launch them (optional in a terminal). -Pressing the \fB\fCdelete\-entry\fR binding (\fB\fCshift\-delete\fR) will remove this entry from the run history. -Pressing the \fB\fCaccept\-custom\fR binding (\fB\fCcontrol\-enter\fR) will run the command as entered in the entry box. -Pressing the \fB\fCaccept\-alt\fR binding (\fB\fCshift\-enter\fR) will run the command in a terminal. +Pressing the \fB\fCdelete-entry\fR binding (\fB\fCshift-delete\fR) will remove this entry from the run history. +Pressing the \fB\fCaccept-custom\fR binding (\fB\fCcontrol-enter\fR) will run the command as entered in the entry box. +Pressing the \fB\fCaccept-alt\fR binding (\fB\fCshift-enter\fR) will run the command in a terminal. .PP -When pressing the \fB\fCmode\-complete\fR binding (\fB\fCControl\-l\fR), you can use the File Browser mode to launch the application +When pressing the \fB\fCmode-complete\fR binding (\fB\fCControl-l\fR), you can use the File Browser mode to launch the application with a file as the first argument. .SS drun .PP Same as the \fBrun\fP launches, but the list is created from the installed desktop files. It automatically launches them in a terminal if specified in the Desktop File. -Pressing the \fB\fCdelete\-entry\fR binding (\fB\fCshift\-delete\fR) will remove this entry from the run history. -Pressing the \fB\fCaccept\-custom\fR binding (\fB\fCcontrol\-enter\fR) will run the command as entered in the entry box. -Pressing the \fB\fCaccept\-alt\fR binding (\fB\fCshift\-enter\fR) will run the command in a terminal. +Pressing the \fB\fCdelete-entry\fR binding (\fB\fCshift-delete\fR) will remove this entry from the run history. +Pressing the \fB\fCaccept-custom\fR binding (\fB\fCcontrol-enter\fR) will run the command as entered in the entry box. +Pressing the \fB\fCaccept-alt\fR binding (\fB\fCshift-enter\fR) will run the command in a terminal. .PP -When pressing the \fB\fCmode\-complete\fR binding (\fB\fCControl\-l\fR), you can use the File Browser mode to launch the application +When pressing the \fB\fCmode-complete\fR binding (\fB\fCControl-l\fR), you can use the File Browser mode to launch the application passing a file as argument if specified in the desktop file. .PP @@ -1346,9 +1350,9 @@ There are two advanced options to tweak the behaviour: configuration { drun { /** Parse user desktop files. */ - parse\-user: true; + parse-user: true; /** Parse system desktop files. */ - parse\-system: false; + parse-system: false; } } @@ -1365,16 +1369,16 @@ Shows a searchable list of key bindings. .SS script .PP -Allows custom scripted Modes to be added, see the \fBrofi\-script(5)\fP manpage for more information. +Allows custom scripted Modes to be added, see the \fBrofi-script(5)\fP manpage for more information. .SS combi .PP -Combines multiple modes in one list. Specify which modes are included with the \fB\fC\-combi\-modes\fR option. +Combines multiple modes in one list. Specify which modes are included with the \fB\fC-combi-modes\fR option. .PP When using the combi mode, a \fI!bang\fP can be used to filter the results by modes. All modes that match the bang as a prefix are included. -For example, say you have specified \fB\fC\-combi\-modes run,window,windowcd\fR\&. If your +For example, say you have specified \fB\fC-combi-modes run,window,windowcd\fR\&. If your query begins with the bang \fB\fC!w\fR, only results from the \fB\fCwindow\fR and \fB\fCwindowcd\fR modes are shown, even if the rest of the input text would match results from \fB\fCrun\fR\&. @@ -1384,11 +1388,11 @@ If no match, the input is handled by the first combined modes. .SH FAQ .SS The text in the window switcher is not nicely aligned. .PP -Try using a mono\-space font or tabs + the tab\-stops setting.. +Try using a mono-space font or tabs + the tab-stops setting.. .SS The window is completely black. .PP -Check quotes used on the command\-line: you might have used \fB\fC“\fR ("smart quotes") instead of \fB\fC"\fR ("machine quotes"). +Check quotes used on the command-line: you might have used \fB\fC“\fR ("smart quotes") instead of \fB\fC"\fR ("machine quotes"). .SS What does the icon in the top right show? .PP @@ -1399,7 +1403,7 @@ The indicator shows: .nf ` ` Case insensitive and no sorting. -`\-` Case sensitivity enabled, no sorting. +`-` Case sensitivity enabled, no sorting. `+` Case insensitive and Sorting enabled `±` Sorting and Case sensitivity enabled" @@ -1432,7 +1436,7 @@ Show the run dialog: .RS .nf -rofi \-modes run \-show run +rofi -modes run -show run .fi .RE @@ -1444,7 +1448,7 @@ Show the run dialog, and allow switching to Desktop File run dialog (\fB\fCdrun\ .RS .nf -rofi \-modes run,drun \-show run +rofi -modes run,drun -show run .fi .RE @@ -1456,7 +1460,7 @@ Combine the run and Desktop File run dialog (\fB\fCdrun\fR): .RS .nf -rofi \-modes combi \-show combi \-combi\-modes run,drun +rofi -modes combi -show combi -combi-modes run,drun .fi .RE @@ -1468,7 +1472,7 @@ Combine the run and Desktop File run dialog (\fB\fCdrun\fR), and allow switching .RS .nf -rofi \-modes combi,window \-show combi \-combi\-modes run,drun +rofi -modes combi,window -show combi -combi-modes run,drun .fi .RE @@ -1480,7 +1484,7 @@ Pop up a text message claiming that this is the end: .RS .nf -rofi \-e "This is the end" +rofi -e "This is the end" .fi .RE @@ -1492,7 +1496,7 @@ Pop up a text message in red, bold font claiming that this is still the end: .RS .nf -rofi \-e "This is still the end" \-markup +rofi -e "This is still the end" -markup .fi .RE @@ -1504,7 +1508,7 @@ Show all key bindings: .RS .nf -rofi \-show keys +rofi -show keys .fi .RE @@ -1518,7 +1522,7 @@ See also the i3 manual .PP Some tools (such as \fB\fCimport\fR or \fB\fCxdotool\fR) might be unable to run upon a KeyPress event, because the keyboard/pointer is -still grabbed. For these situations, the \fB\fC\-\-release\fR flag can be used, as it will execute the command after the keys have +still grabbed. For these situations, the \fB\fC--release\fR flag can be used, as it will execute the command after the keys have been released. .SH LICENSE @@ -1567,7 +1571,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .SH DEBUGGING .PP -For more information see \fBrofi\-debugging(5)\fP manpage. +For more information see \fBrofi-debugging(5)\fP manpage. .SH ISSUE TRACKER .PP @@ -1581,26 +1585,26 @@ first. .SH SEE ALSO .PP -\fBrofi\-sensible\-terminal(1)\fP, \fBdmenu(1)\fP, \fBrofi\-debugging(5)\fP, \fBrofi\-theme(5)\fP, \fBrofi\-script(5)\fP, \fBrofi\-keys(5)\fP,\fBrofi\-theme\-selector(1)\fP,\fBrofi\-dmenu(5)\fP +\fBrofi-sensible-terminal(1)\fP, \fBdmenu(1)\fP, \fBrofi-debugging(5)\fP, \fBrofi-theme(5)\fP, \fBrofi-script(5)\fP, \fBrofi-keys(5)\fP,\fBrofi-theme-selector(1)\fP,\fBrofi-dmenu(5)\fP .SH AUTHOR .RS .IP \(bu 2 -Qball Cow -\[la]qball@blame.services\[ra] +Qball Cow qball@blame.services +\[la]mailto:qball@blame.services\[ra] .IP \(bu 2 -Rasmus Steinke -\[la]rasi@xssn.at\[ra] +Rasmus Steinke rasi@xssn.at +\[la]mailto:rasi@xssn.at\[ra] .IP \(bu 2 -Morgane Glidic -\[la]sardemff7+rofi@sardemff7.net\[ra] +Morgane Glidic sardemff7+rofi@sardemff7.net +\[la]mailto:sardemff7+rofi@sardemff7.net\[ra] .RE .PP Original code based on work by: Sean Pringle -\[la]https://github.com/seanpringle/simpleswitcher\[ra] -\[la]sean.pringle@gmail.com\[ra] +\[la]https://github.com/seanpringle/simpleswitcher\[ra] sean.pringle@gmail.com +\[la]mailto:sean.pringle@gmail.com\[ra] .PP For a full list of authors, check the \fB\fCAUTHORS\fR file. diff --git a/doc/rofi.1.markdown b/doc/rofi.1.markdown index 976ca5b5..f386907b 100644 --- a/doc/rofi.1.markdown +++ b/doc/rofi.1.markdown @@ -612,6 +612,17 @@ configuration { or pass `-window-hide-active-window true` on command line. +You can prefer the icon theme above the window set icon with the 'prefer-icon-theme' setting: + +```css +configuration { + window { + prefer-icon-theme: true; + } +} +``` + +or pass `-window-prefer-icon-theme true` on command line. ### Combi settings diff --git a/include/rofi-icon-fetcher.h b/include/rofi-icon-fetcher.h index 5394db5d..34f9cfd2 100644 --- a/include/rofi-icon-fetcher.h +++ b/include/rofi-icon-fetcher.h @@ -63,6 +63,16 @@ uint32_t rofi_icon_fetcher_query_advanced(const char *name, const int wsize, */ cairo_surface_t *rofi_icon_fetcher_get(const uint32_t uid); +/** + * @param uid The unique id representing the matching request. + * @param surface [out] The surface found. + * + * If the surface is used, the user should reference the surface. + * + * @returns false if a query was done and failed. + */ +gboolean rofi_icon_fetcher_get_ex(const uint32_t uid, + cairo_surface_t **surface); /** * @param path the image path to check. * diff --git a/source/modes/window.c b/source/modes/window.c index 7932eded..94bd80db 100644 --- a/source/modes/window.c +++ b/source/modes/window.c @@ -127,6 +127,7 @@ typedef struct { uint32_t icon_fetch_uid; uint32_t icon_fetch_size; gboolean thumbnail_checked; + gboolean icon_theme_checked; } client; // window lists @@ -150,6 +151,7 @@ typedef struct { GRegex *window_regex; // Hide current active window gboolean hide_active_window; + gboolean prefer_icon_theme; } WindowModePrivateData; winlist *cache_client = NULL; @@ -688,6 +690,11 @@ static int window_mode_init(Mode *sw) { if (p && p->type == P_BOOLEAN && p->value.b == TRUE) { pd->hide_active_window = TRUE; } + // prefer icon theme selection + p = rofi_theme_find_property(wid, P_BOOLEAN, "prefer-icon-theme", FALSE); + if (p && p->type == P_BOOLEAN && p->value.b == TRUE) { + pd->prefer_icon_theme = TRUE; + } pd->window_regex = g_regex_new("{[-\\w]+(:-?[0-9]+)?}", 0, 0, NULL); mode_set_private_data(sw, (void *)pd); _window_mode_load_data(sw, FALSE); @@ -1056,24 +1063,56 @@ static cairo_surface_t *_get_icon(const Mode *sw, unsigned int selected_line, } c->thumbnail_checked = FALSE; c->icon_checked = FALSE; + c->icon_theme_checked = FALSE; } if (config.window_thumbnail && c->thumbnail_checked == FALSE) { c->icon = x11_helper_get_screenshot_surface_window(c->window, size); c->thumbnail_checked = TRUE; } - if (c->icon == NULL && c->icon_checked == FALSE) { - c->icon = get_net_wm_icon(rmpd->ids->array[selected_line], size); - c->icon_checked = TRUE; - } - if (c->icon == NULL && c->class) { - if (c->icon_fetch_uid > 0) { - return rofi_icon_fetcher_get(c->icon_fetch_uid); + if (rmpd->prefer_icon_theme == FALSE) { + if (c->icon == NULL && c->icon_checked == FALSE) { + c->icon = get_net_wm_icon(rmpd->ids->array[selected_line], size); + c->icon_checked = TRUE; + } + if (c->icon == NULL && c->class && c->icon_theme_checked == FALSE) { + g_warning("icon theme icon: %s %u", c->class, size); + if (c->icon_fetch_uid > 0) { + c->icon_theme_checked = + rofi_icon_fetcher_get_ex(c->icon_fetch_uid, &(c->icon)); + if (c->icon) { + cairo_surface_reference(c->icon); + } + return c->icon; + } + char *class_lower = g_utf8_strdown(c->class, -1); + c->icon_fetch_uid = rofi_icon_fetcher_query(class_lower, size); + g_free(class_lower); + c->icon_fetch_size = size; + c->icon_theme_checked = + rofi_icon_fetcher_get_ex(c->icon_fetch_uid, &(c->icon)); + if (c->icon) { + cairo_surface_reference(c->icon); + } + return c->icon; + } + } else { + if (c->icon == NULL && c->class && c->icon_theme_checked == FALSE) { + if (c->icon_fetch_uid == 0) { + char *class_lower = g_utf8_strdown(c->class, -1); + c->icon_fetch_uid = rofi_icon_fetcher_query(class_lower, size); + g_free(class_lower); + c->icon_fetch_size = size; + } + c->icon_theme_checked = + rofi_icon_fetcher_get_ex(c->icon_fetch_uid, &(c->icon)); + if (c->icon) { + cairo_surface_reference(c->icon); + } + } + if (c->icon == NULL && c->icon_checked == FALSE) { + c->icon = get_net_wm_icon(rmpd->ids->array[selected_line], size); + c->icon_checked = TRUE; } - char *class_lower = g_utf8_strdown(c->class, -1); - c->icon_fetch_uid = rofi_icon_fetcher_query(class_lower, size); - g_free(class_lower); - c->icon_fetch_size = size; - return rofi_icon_fetcher_get(c->icon_fetch_uid); } c->icon_fetch_size = size; return c->icon; diff --git a/source/rofi-icon-fetcher.c b/source/rofi-icon-fetcher.c index 8e3fe6a7..7dc9770d 100644 --- a/source/rofi-icon-fetcher.c +++ b/source/rofi-icon-fetcher.c @@ -81,6 +81,7 @@ typedef struct { int wsize; int hsize; cairo_surface_t *surface; + gboolean query_done; IconFetcherNameEntry *entry; } IconFetcherEntry; @@ -317,6 +318,7 @@ static void rofi_icon_fetcher_worker(thread_state *sdata, g_object_unref(layout); cairo_destroy(cr); sentry->surface = surface; + sentry->query_done = TRUE; rofi_view_reload(); return; @@ -333,6 +335,8 @@ static void rofi_icon_fetcher_worker(thread_state *sdata, icon_path = helper_get_theme_path(sentry->entry->name, ext); } if (icon_path == NULL) { + sentry->query_done = TRUE; + rofi_view_reload(); return; } } else { @@ -344,6 +348,8 @@ static void rofi_icon_fetcher_worker(thread_state *sdata, const char *suf = strrchr(icon_path, '.'); if (suf == NULL) { + sentry->query_done = TRUE; + rofi_view_reload(); return; } @@ -363,6 +369,7 @@ static void rofi_icon_fetcher_worker(thread_state *sdata, sentry->surface = icon_surf; g_free(icon_path_); + sentry->query_done = TRUE; rofi_view_reload(); } @@ -391,6 +398,7 @@ uint32_t rofi_icon_fetcher_query_advanced(const char *name, const int wsize, sentry->wsize = wsize; sentry->hsize = hsize; sentry->entry = entry; + sentry->query_done = FALSE; sentry->surface = NULL; entry->sizes = g_list_prepend(entry->sizes, sentry); @@ -446,5 +454,19 @@ cairo_surface_t *rofi_icon_fetcher_get(const uint32_t uid) { if (sentry) { return sentry->surface; } + g_warning("Querying an non-existing uid"); return NULL; } + +gboolean rofi_icon_fetcher_get_ex(const uint32_t uid, + cairo_surface_t **surface) { + IconFetcherEntry *sentry = g_hash_table_lookup( + rofi_icon_fetcher_data->icon_cache_uid, GINT_TO_POINTER(uid)); + *surface = NULL; + if (sentry) { + *surface = sentry->surface; + return sentry->query_done; + } + g_warning("Querying an non-existing uid"); + return FALSE; +}