mirror of
https://github.com/lbonn/rofi
synced 2024-11-23 04:13:03 +00:00
parent
baba41cbd2
commit
96a69a54c3
12 changed files with 858 additions and 784 deletions
|
@ -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
|
||||
|
|
125
doc/rofi-dmenu.5
125
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.
|
||||
|
|
345
doc/rofi-keys.5
345
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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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".<br>
|
||||
$XDG\_CONFIG\_HOME is normally unset. Default path is "$HOME/.config".<br>
|
||||
$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<br>
|
||||
Qball Cow qball@gmpclient.org
|
||||
Rasmus Steinke rasi@xssn.at
|
||||
|
|
350
doc/rofi-theme.5
350
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<span color='red'>⏻</span>" | ./rofi \-dmenu
|
||||
echo -en "testing\\0icon\\x1f<span color='red'>⏻</span>" | ./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)
|
||||
|
|
476
doc/rofi.1
476
doc/rofi.1
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
*
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue