1ROFI(1)                     General Commands Manual                    ROFI(1)
2
3
4

NAME

6       rofi  -  A window switcher,  application launcher, ssh dialog and dmenu
7       replacement
8
9

SYNOPSIS

11       rofi [ -show mode ]|[ -dmenu ]|[ -e msg ] [ CONFIGURATION ]
12
13

DESCRIPTION

15       rofi is an X11 pop-up window switcher, run dialog,  dmenu  replacement,
16       and more. It focuses on being fast to use and have minimal distraction.
17       It supports keyboard and mouse navigation, type  to  filter,  tokenized
18       search and more.
19
20

USAGE

22       rofi's  main  functionality is to assist in your workflow, allowing you
23       to quickly switch between windows, start applications  or  log  into  a
24       remote  machine  via ssh.  There are different modi for different types
25       of actions.
26
27
28       rofi can also function as (drop-in) replacement for dmenu(1).
29
30
31   Running rofi
32       To launch rofi directly in a certain mode, specify  a  mode  with  rofi
33       -show <mode>.  To show the run dialog:
34
35
36              rofi -show run
37
38
39
40   Emulating dmenu
41       rofi can emulate dmenu(1) (a dynamic menu for X) when launched with the
42       -dmenu flag.
43
44
45       The  website  for  dmenu  can   be   found   here   ⟨http://tools.suck
46       less.org/dmenu/⟩.
47
48
49       rofi  does  not  aim to be 100% compatible with dmenu. There are simply
50       too many different flavors of dmenu.  The idea is that the basic  usage
51       command-line  flags  are obeyed, theme-related flags are not.  Besides,
52       rofi offers some extended features  (like  multi-select,  highlighting,
53       message bar, extra key bindings).
54
55
56   Display Error message
57       rofi error dialog can also be called from the command line.
58
59
60              rofi -e "my message"
61
62
63
64       Markup support can be enabled, see CONFIGURATION options.
65
66

CONFIGURATION

68       There  are  currently  three  methods  of setting configuration options
69       (evaluated in order below):
70
71       · System configuration file  (for example /etc/rofi.rasi or old  format
72         /etc/rofi.conf).    It   first   checks   XDG_CONFIG_DIRS   and  then
73         SYSCONFDIR (that is passed at compile time).  It loads the first con‐
74         fig  file  it  finds, it does not merge multiple system configuration
75         files.
76
77       · Xresources: A method of storing key values in the Xserver.  See  here
78https://en.wikipedia.org/wiki/X_resources⟩ for more information.
79
80       · Rasi  theme  file: The new theme format can be used to set configura‐
81         tion values.
82
83       · Configuration File: This uses the same format as the Xresources file.
84         By  default it looks in XDG_CONFIG_HOME/rofi/config, but can be over‐
85         ridden  on  commandline.   By  default  XDG_CONFIG_HOME  defaults  to
86         $HOME/.config.  (See rofi -h for current location).  This is the rec‐
87         ommended way of configuring rofi.
88
89       · Command-line options: Arguments passed to rofi.
90
91
92       TIP: To get  a  template  config  file  run:  rofi  -dump-xresources  >
93       rofi-example.config.
94
95
96       NOTE: In version 1.4.0 we support configuration in a new format, a con‐
97       fig for this can be generated by: rofi -dump-config > config.rasi
98
99
100       NOTE: If you want to use the new configuration format, the config  file
101       should be named config.rasi.
102
103
104       NOTE:  You  can upgrade to the new configuration file format using rofi
105       -upgrade-config
106
107
108       The Xresources file expects options starting with rofi. followed by its
109       name. An example to set the number of lines:
110
111
112              rofi.lines: 10
113
114
115
116       Command-line  options  override  settings from the Xresources file. The
117       same option set as argument — prefixed with a '-':
118
119
120              rofi -lines 10
121
122
123
124       To get a list of available options  formatted  as  Xresources  entries,
125       run:
126
127
128              rofi -dump-xresources
129
130
131
132       The configuration system supports the following types:
133
134       · string
135
136       · integer (signed and unsigned)
137
138       · char
139
140       · Boolean
141
142
143       Boolean  options  have  a  non-default  command-line syntax. Example to
144       enable option X:
145
146
147              -X
148
149
150
151       To disable option X:
152
153
154              -no-X
155
156
157
158       Below is a list of the most important options:
159
160
161   General
162       -help
163
164
165       The help option shows the full list of  command-line  options  and  the
166       current   set  values.   These  include  dynamic  (run-time  generated)
167       options.
168
169
170       -version
171
172
173       Show the rofi version and exit.
174
175
176       -dump-config
177
178
179       Dump the current active configuration, in rasi format,  to  stdout  and
180       exit.    Information  about  the  rasi  format  can  be  found  in  the
181       rofi-theme(5) manpage.
182
183
184       -dump-theme
185
186
187       Dump the current active theme, in rasi format, to stdout and exit.
188
189
190       -dump-xresources
191
192
193       Dump the current active configuration, in Xresources format, to stdout.
194       This does not validate all passed values (for example, colors).
195
196
197       -threads num
198
199
200       Specify the number of threads rofi should use:
201
202       · 0: Autodetect the number of supported hardware threads.
203
204       · 1: Disable threading
205
206       · 2..N:  Specify  the  maximum  number  of threads to use in the thread
207         pool.
208
209
210       -display display
211
212
213       The X server to contact. Default is $DISPLAY.
214
215
216       -dmenu
217
218
219       Run rofi in dmenu mode. This allows for interactive scripts.  In  dmenu
220       mode,  rofi  reads from STDIN, and output to STDOUT.  A simple example,
221       displaying three pre-defined options:
222
223
224              echo -e "Option #1\nOption #2\nOption #3" | rofi -dmenu
225
226
227
228       Or get the options from a script:
229
230
231               /my_script.sh | rofi -dmenu
232
233
234
235       -show mode
236
237
238       Open rofi in a certain mode. Available modes  are  window,  run,  drun,
239       ssh, combi.  The special argument keys can be used to open a searchable
240       list of supported key bindings (see KEY BINDINGS)
241
242
243       To show the run-dialog:
244
245
246              rofi -show run
247
248
249
250       -modi mode1,mode2
251
252
253       Specify an ordered, comma-separated list of modes to  enable.   Enabled
254       modes  can be changed at runtime. Default key is Ctrl+Tab.  If no modes
255       are specified, all configured modes will be enabled.  To only show  the
256       run and ssh launcher:
257
258
259              rofi -modi "run,ssh" -show run
260
261
262
263       Custom  modes  can  be  added using the internal script mode. Each such
264       mode has two parameters:
265
266
267              <name>:<script>
268
269
270
271       Example:    Have    a    mode    called    'Workspaces'    using    the
272       i3_switch_workspaces.sh script:
273
274
275              rofi -modi "window,run,ssh,Workspaces:i3_switch_workspaces.sh" -show Workspaces
276
277
278
279       Notes:  The  i3 window manager does not like commas in the command when
280       specifying an exec command.  For that case '#' can be used as an  sepa‐
281       rator.
282
283
284       -case-sensitive
285
286
287       Start  in  case sensitive mode.  This option can be changed at run-time
288       using the -kb-toggle-case-sensitivity key binding.
289
290
291       -cycle
292
293
294       Cycle through the result list. Default is 'true'.
295
296
297       -filter filter
298
299
300       Filter the list by setting text in input bar to filter
301
302
303       -config filename
304
305
306       Load an alternative configuration file.
307
308
309       -cache-dir filename
310
311
312       Directory that is used to place temporary files, like history.
313
314
315       -scroll-method method
316
317
318       Select the scrolling method. 0: Per page, 1: continuous.
319
320
321       -[no-]show-match
322
323
324       Show the indicator that shows what part of the string is matched.
325
326
327              Default: *true*
328
329
330
331       -normalize-match
332
333
334       Normalize the string before matching, so o will match ö, and é  matches
335       e.   This  is not a perfect implementation, but works.  For now it dis‐
336       abled highlighting of the matched part.
337
338
339       -no-lazy-grab
340
341
342       Disables lazy grab, this forces the keyboard being grabbed  before  gui
343       is shown.
344
345
346       -no-plugins
347
348
349       Disable plugin loading.
350
351
352       -plugin-path directory
353
354
355       Specify the directory where rofi should look for plugins.
356
357
358       -show-icons
359
360
361       Show application icons in drun and window modes.
362
363
364       -icon-theme
365
366
367       Specify  icon theme to be used.  If not specified default theme from DE
368       is used, Adwaita and gnome themes act as fallback themes.
369
370
371       -markup
372
373
374       Use Pango markup to format output wherever possible.
375
376
377       -normal-window
378
379
380       Make rofi react like a normal application window.  Useful  for  scripts
381       like Clerk that are basically an application.
382
383
384   Matching
385       -matching method
386
387
388       Specify the matching algorithm used.  Current the following methods are
389       supported.
390
391       · normal: match the int string
392
393       · regex: match a regex input
394
395       · glob: match a glob pattern
396
397       · fuzzy: do a fuzzy match
398
399
400       Default: normal
401
402
403       Note: glob matching might be slow for larger lists
404
405
406       -tokenize
407
408
409       Tokenize the input.
410
411
412       -drun-categories category1,category2
413
414
415       Only show desktop files that are present in the listed categories.
416
417
418       -drun-match-fields field1,field2,...
419
420
421       When using drun, match only with the specified  Desktop  entry  fields.
422       The different fields are:
423
424       · name: the application's name
425
426       · generic: the application's generic name
427
428       · exec: the application's  executable
429
430       · categories: the application's categories
431
432       · comment: the application comment
433
434       ·
435
436
437       all: all of the above
438
439       Default: name,generic,exec,categories,keywords
440
441
442       -drun-display-format
443
444
445       The format string for the drun dialog:
446
447       · name: the application's name
448
449       · generic: the application's generic name
450
451       · exec: the application's  executable
452
453       · categories: the application's categories
454
455       · comment: the application comment
456
457
458       Pango markup can be used to formatting the output.
459
460
461              Default: {name} [<span weight='light' size='small'><i>({generic})</i></span>]
462
463
464
465       Note: Only fields enabled in -drun-match-fields can be used in the for‐
466       mat string.
467
468
469       -[no-]drun-show-actions
470
471
472       Show actions present in the Desktop files.
473
474
475              Default: false
476
477
478
479       -window-match-fields field1,field2,...
480
481
482       When using window mode, match only with the specified fields.  The dif‐
483       ferent fields are:
484
485       · title: window's title
486
487       · class: window's class
488
489       · role: window's role
490
491       · name: window's name
492
493       · desktop: window's current desktop
494
495       ·
496
497
498       all: all of the above
499
500       Default: all
501
502
503       -matching-negate-char char
504
505
506       Set  the  character used to negate the query (i.e. if it does not match
507       the next keyword ).  Set to '\x0' to disable.
508
509
510              Default: '-'
511
512
513
514   Layout
515       Most of the following options are deprecated and should  not  be  used.
516       Please  use  the  new  theme format to customize rofi. More information
517       about the new format can be found in the rofi-theme(5) manpage.
518
519
520       -lines
521
522
523       Maximum number of lines to show before scrolling.
524
525
526              rofi -lines 25
527
528
529
530       Default: 15
531
532
533       -columns
534
535
536       Number of columns to show before scrolling.
537
538
539              rofi -columns 2
540
541
542
543       Default: 1
544
545
546       -width [value]
547
548
549       Set width of menu. [value] is specified in percentage.
550
551
552              rofi -width 60
553
554
555
556       If [value] is larger then 100, size is set in pixels. Example to span a
557       full-HD monitor:
558
559
560              rofi -width 1920
561
562
563
564       If  [value]  is  negative,  it tries to estimates a character width. To
565       show 30 characters in a row:
566
567
568              rofi -width -30
569
570
571
572       Character width is a rough estimate, and  might  not  be  correct,  but
573       should work for most monospaced fonts.
574
575
576       Default: 50
577
578
579       -location
580
581
582       Specify where the window should be located. The numbers map to the fol‐
583       lowing locations on screen:
584
585
586                1 2 3
587                8 0 4
588                7 6 5
589
590
591
592       Default: 0
593
594
595       -fixed-num-lines
596
597
598       Keep a fixed number of visible lines (See the -lines option.)
599
600
601       -padding
602
603
604       Define the inner margin of the window.
605
606
607       Default: 5
608
609
610       -fullscreen
611
612
613       Use the full-screen height and width.
614
615
616       -sidebar-mode
617
618
619       Open in sidebar-mode. In this mode a list of all enabled modes is shown
620       at the bottom.  (See -modi option) To show sidebar, use:
621
622
623              rofi -show run -sidebar-mode -lines 0
624
625
626
627       -eh number
628
629
630       Set row height (in chars) Default: 1
631
632
633       -auto-select
634
635
636       When one entry is left, automatically select it.
637
638
639       -m num
640
641
642       -m name
643
644
645       -monitor num
646
647
648       -monitor name
649
650
651       Select  monitor  to  display rofi on.  It accepts as input: primary (if
652       primary output is set), the xrandr output name, or integer  number  (in
653       order of detection). Negative numbers are handled differently:
654
655       · -1: the currently focused monitor.
656
657       · -2:  the currently focused window (that is, rofi will be displayed on
658         top of the focused window).
659
660       · -3: Position at mouse (overrides the location setting to  get  normal
661         context menu behavior.)
662
663       · -4: the monitor with the focused window.
664
665       ·
666
667
668       -5: the monitor that shows the mouse pointer.
669
670       Default: -5
671
672
673       See rofi -h output for the detected monitors, their position, and size.
674
675
676       -theme filename
677
678
679       Path  to  the  new theme file format. This overrides the old theme set‐
680       tings.
681
682
683       -theme-str string
684
685
686       Allow theme parts to be specified on the command line as an override.
687
688
689       For example:
690
691
692              rofi -theme-str '#window { fullscreen: true; }'
693
694
695
696       This option can be specified multiple times.
697
698
699       -dpi  number
700
701
702       Override the default DPI setting.
703
704       · If set to 0, it tries to auto-detect based on X11 screen size  (simi‐
705         lar to i3 and GTK).
706
707       · If set to 1, it tries to auto-detect based on the size of the monitor
708         that rofi is displayed on (similar to latest Qt 5).
709
710
711       -selected-row selected row
712
713
714       Select a certain row.
715
716
717       Default: 0
718
719
720   PATTERN setting
721       -terminal
722
723
724       Specify which terminal to start.
725
726
727              rofi -terminal xterm
728
729
730
731       Pattern: {terminal}
732
733
734       Default: x-terminal-emulator
735
736
737       -ssh-client client
738
739
740       Override the used ssh client.
741
742
743       Pattern: {ssh-client}
744
745
746       Default: ssh
747
748
749   SSH settings
750       -ssh-command cmd
751
752
753       Set the command to execute when starting a ssh  session.   The  pattern
754       {host} is replaced by the selected ssh entry.
755
756
757       Pattern: {ssh-client}
758
759
760       Default: {terminal} -e {ssh-client} {host}
761
762
763       -parse-hosts
764
765
766       Parse the /etc/hosts file for entries.
767
768
769       Default: disabled
770
771
772       -parse-known-hosts -no-parse-known-hosts
773
774
775       Parse the  /.ssh/known_hosts file for entries.
776
777
778       Default: enabled
779
780
781   Run settings
782       -run-command cmd
783
784
785       Set  command  ({cmd}) to execute when running an application.  See PAT‐
786       TERN.
787
788
789       Default: {cmd}
790
791
792       -run-shell-command cmd
793
794
795       Set command to execute when running an application  in  a  shell.   See
796       PATTERN.
797
798
799       Default: {terminal} -e {cmd}
800
801
802       -run-list-command cmd
803
804
805       If  set,  use an external tool to generate list of executable commands.
806       Uses run-command.
807
808
809       Default: {cmd}
810
811
812   Window switcher settings
813       -window-format format
814
815
816       Format what is being displayed for windows.
817
818
819       format: {field[:len]}
820
821
822       field:
823
824       · w: desktop name
825
826       · t: title of window
827
828       · n: name
829
830       · r: role
831
832       · c: class
833
834
835       len: maximum field length (0 for auto-size). If length and window width
836       are  negative, field length is width - len.  if length is positive, the
837       entry will be truncated or padded to fill that length.
838
839
840       default: {w}  {c}   {t}
841
842
843       -window-command cmd
844
845
846       Set  command  to  execute  on  selected  window  for   a   alt   action
847       (-kb-accept-alt).  See PATTERN.
848
849
850       Default: "wmctrl -i -R {window}"
851
852
853       -window-thumbnail
854
855
856       Show window thumbnail (if available) as icon in the window switcher.
857
858
859   Combi settings
860       -combi-modi mode1,mode2
861
862
863       The  modi  to  combine  in  combi mode.  For syntax to -combi-modi, see
864       -modi.  To get one merge view, of window,run, and ssh:
865
866
867              rofi -show combi -combi-modi "window,run,ssh" -modi combi
868
869
870
871       NOTE: The i3 window manager does not like commas in  the  command  when
872       specifying an exec command.  For that case '#' can be used as a separa‐
873       tor.
874
875
876   History and Sorting
877       -disable-history -no-disable-history (re-enable history)
878
879
880       Disable history
881
882
883       -sort to enable -no-sort to disable
884
885
886       Enable, disable sorting.  This setting can be changed at  runtime  (see
887       -kb-toggle-sort).
888
889
890       -sorting-method 'method' to specify the sorting method.
891
892
893       There are 2 sorting method:
894
895       · levenshtein (Default)
896
897       · fzf sorting.
898
899
900   Dmenu specific
901       -sep separator
902
903
904       Separator  for dmenu. Example: To show a list of 'a' to 'e' with '|' as
905       a separator:
906
907
908              echo "a|b|c|d|e" | rofi -sep '|' -dmenu
909
910
911
912       -p prompt
913
914
915       Specify the prompt to show in dmenu mode. For example, select 'monkey',
916       a,b,c,d, or e.
917
918
919              echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey"
920
921
922
923       Default: dmenu
924
925
926       -l number of lines to show
927
928
929       Maximum number of lines the menu may show before scrolling.
930
931
932              rofi -lines 25
933
934
935
936       Default: 15
937
938
939       -i
940
941
942       Makes dmenu searches case-insensitive
943
944
945       -a X
946
947
948       Active  row,  mark  X  as  active. Where X is a comma-separated list of
949       python(1)-style indices and ranges, e.g.  indices start at 0, -1 refers
950       to  the  last  row  with  -2  preceding  it,  ranges  are left-open and
951       right-close, and so on. You can specify:
952
953       · A single row: '5'
954
955       · A range of (last 3) rows: '-3:'
956
957       · 4 rows starting from row 7: '7:11' (or in legacy notation: '7-10')
958
959       · A set of rows: '2,0,-9'
960
961       · Or any combination: '5,-3:,7:11,2,0,-9'
962
963
964       -u X
965
966
967       Urgent row, mark X as urgent. See -a option for details.
968
969
970       -only-match
971
972
973       Only return a selected item, do not  allow  custom  entry.   This  mode
974       always  returns  an  entry.  It will not return if no matching entry is
975       selected.
976
977
978       -no-custom
979
980
981       Only return a selected item, do not  allow  custom  entry.   This  mode
982       returns directly when no entries given.
983
984
985       -format format
986
987
988       Allows  the  output of dmenu to be customized (N is the total number of
989       input entries):
990
991       · 's' selected string
992
993       · 'i' index (0 - (N-1))
994
995       · 'd' index (1 - N)
996
997       · 'q' quote string
998
999       · 'p' Selected string stripped from Pango markup (Needs to be  a  valid
1000         string)
1001
1002       · 'f' filter string (user input)
1003
1004       · 'F' quoted filter string (user input)
1005
1006
1007       Default: 's'
1008
1009
1010       -select string
1011
1012
1013       Select first line that matches the given string
1014
1015
1016       -mesg string
1017
1018
1019       Add  a  message line below the filter entry box. Supports Pango markup.
1020       For more information  on  supported  markup  see  here  ⟨https://devel
1021       oper.gnome.org/pygtk/stable/pango-markup-language.html⟩
1022
1023
1024       -dump
1025
1026
1027       Dump the filtered list to stdout and quit.  This can be used to get the
1028       list as rofi would filter it.  Use together with -filter command.
1029
1030
1031       -input file
1032
1033
1034       Reads from file instead of stdin.
1035
1036
1037       -password
1038
1039
1040       Hide the input text. This should not be considered secure!
1041
1042
1043       -markup-rows
1044
1045
1046       Tell rofi that DMenu input is Pango markup encoded, and should be  ren‐
1047       dered.    See   here   ⟨https://developer.gnome.org/pygtk/stable/pango-
1048       markup-language.html⟩ for details about Pango markup.
1049
1050
1051       -multi-select
1052
1053
1054       Allow multiple lines to be selected. Adds a small  selection  indicator
1055       to the left of each entry.
1056
1057
1058       -sync
1059
1060
1061       Force  rofi  mode  to first read all data from stdin before showing the
1062       selection window. This is original dmenu behavior.
1063
1064
1065       Note: the default asynchronous mode will also be automatically disabled
1066       if  used  with  conflicting  options,  such  as  -dump,  -only-match or
1067       -auto-select.
1068
1069
1070       -async-pre-read number
1071
1072
1073       Reads the first number entries blocking, then switches to  async  mode.
1074       This makes it feel more 'snappy'.
1075
1076
1077       default: 25
1078
1079
1080       -window-title title
1081
1082
1083       Set name used for the window title. Will be shown as Rofi - title
1084
1085
1086       -w windowid
1087
1088
1089       Position rofi over the window with the given X11 window ID.
1090
1091
1092       -keep-right
1093
1094
1095       Set ellipsize mode to start. So end of string is visible.
1096
1097
1098   Message dialog
1099       -e message
1100
1101
1102       Pops up a message dialog (used internally for showing errors) with mes‐
1103       sage.  Message can be multi-line.
1104
1105
1106   Other
1107       -drun-use-desktop-cache
1108
1109
1110       Build and use a cache with the content of  desktop  files.  Usable  for
1111       systems with slow hard drives.
1112
1113
1114       -drun-reload-desktop-cache
1115
1116
1117       If  drun-use-desktop-cache is enabled, rebuild a cache with the content
1118       of desktop files.
1119
1120
1121       -pid path
1122
1123
1124       Make rofi create a pid file and check this on  startup.  The  pid  file
1125       prevents  multiple  rofi instances from running simultaneously. This is
1126       useful when running rofi from a key-binding daemon.
1127
1128
1129       -fake-transparency
1130
1131
1132       Enable fake transparency. This only works with  transparent  background
1133       color in the theme.
1134
1135
1136       -fake-background
1137
1138
1139       Select  what  to  use  as background for fake transparency. This can be
1140       'background', 'screenshot' or a path to an image file  (currently  only
1141       supports png).
1142
1143
1144       -display-{mode} string
1145
1146
1147       Set  the  name  to  use  for  mode.  This  is  used  as  prompt  and in
1148       combi-browser.
1149
1150
1151       -click-to-exit -no-click-to-exit
1152
1153
1154       Click the mouse outside of the rofi window to exit.
1155
1156
1157       Default: enabled
1158
1159
1160   Debug
1161       -no-config
1162
1163
1164       Disable parsing of configuration. This runs rofi in stock mode.
1165
1166
1167       -no-plugins
1168
1169
1170       Disables the loading of plugins.
1171
1172
1173       To get a trace with (lots of)  debug  information,  set  the  following
1174       environment variable when executing rofi:
1175
1176
1177              G_MESSAGES_DEBUG=all
1178
1179
1180
1181       The  trace can be filtered by only outputting the relevant domains, for
1182       example:
1183
1184
1185              G_MESSAGES_DEBUG=Dialogs.DRun
1186
1187
1188
1189       For    more    information    on    debugging,     see     the     wiki
1190https://github.com/DaveDavenport/rofi/wiki/Debugging%20Rofi
1191
1192

PATTERN

1194       To launch commands (for example, when using the ssh launcher), the user
1195       can enter the used command-line. The following keys can  be  used  that
1196       will be replaced at runtime:
1197
1198       · {host}: the host to connect to
1199
1200       · {terminal}: the configured terminal (see -terminal-emulator)
1201
1202       · {ssh-client}: the configured ssh client (see -ssh-client)
1203
1204       · {cmd}: the command to execute
1205
1206       · {window}: the window ID of the selected window (in window-command)
1207
1208

DMENU REPLACEMENT

1210       If  argv[0]  (calling command) is dmenu, rofi will start in dmenu mode.
1211       This way it can be used as a drop-in replacement for dmenu.  Just  copy
1212       or symlink rofi to dmenu in $PATH.
1213
1214
1215              ln -s /usr/bin/rofi /usr/bin/dmenu
1216
1217
1218

THEMING

1220       The  theme  format below describes the old (pre version 1.4) theme for‐
1221       mat. Please see rofi-theme(5) manpage for an updated manual.
1222
1223
1224       The theme setup allows you to specify colors per state, similar  to  i3
1225       Currently 3 states exist:
1226
1227       · normal: normal row
1228
1229       · urgent: highlighted row (urgent)
1230
1231       · active: highlighted row (active)
1232
1233
1234       For each state, the following 5 colors must be set:
1235
1236       · bg: background color row
1237
1238       · fg: text color
1239
1240       · bgalt: background color alternating row
1241
1242       · hlfg: foreground color selected row
1243
1244       · hlbg: background color selected row
1245
1246
1247       The  window background and border color should be specified separately.
1248       The key color-window contains a tuple background,border,separator.   An
1249       example Xresources file:
1250
1251
1252              ! State:           'bg',     'fg',     'bgalt',  'hlbg',   'hlfg'
1253              rofi.color-normal: #fdf6e3,  #002b36,  #eee8d5,  #586e75,  #eee8d5
1254              rofi.color-urgent: #fdf6e3,  #dc322f,  #eee8d5,  #dc322f,  #fdf6e3
1255              rofi.color-active: #fdf6e3,  #268bd2,  #eee8d5,  #268bd2,  #fdf6e3
1256
1257              !                  'background', 'border', 'separator'
1258              rofi.color-window: #fdf6e3,      #002b36,  #002b36
1259
1260
1261
1262       Same settings can also be specified on the command-line:
1263
1264
1265              rofi -color-normal "#fdf6e3,#002b36,#eee8d5,#586e75,#eee8d5"
1266
1267
1268

COLORS

1270       RGB  colors  can  be  specified by either their X11 name or hexadecimal
1271       notation.  For example:
1272
1273
1274              white
1275
1276
1277
1278       Or:
1279
1280
1281              #FFFFFF
1282
1283
1284
1285       ARGB colors are also supported. These can be used to create a transpar‐
1286       ent window if (1) your Xserver supports TrueColor, and (2) you are run‐
1287       ning a composite manager.  For example:
1288           argb:FF444444
1289
1290
1291       Or:
1292
1293
1294              #FF444444
1295
1296
1297
1298       The first two fields specify  the  alpha  level.  This  determines  the
1299       amount  of  transparency  (00 everything, FF nothing). The other fields
1300       represent the actual color, in hex.
1301
1302
1303       Transparency can be used within rofi, for example if the selected back‐
1304       ground  color  is  50%  transparent, the background color of the window
1305       will be visible through it.
1306
1307

KEY BINDINGS

1309       rofi has the following key bindings:
1310
1311       · Ctrl-v, Insert: Paste from clipboard
1312
1313       · Ctrl-Shift-v, Shift-Insert: Paste primary selection
1314
1315       · Ctrl-u: Clear the line
1316
1317       · Ctrl-a: Beginning of line
1318
1319       · Ctrl-e: End of line
1320
1321       · Ctrl-f, Right: Forward one character
1322
1323       · Alt-f, Ctrl-Right: Forward one word
1324
1325       · Ctrl-b, Left: Back one character
1326
1327       · Alt-b, Ctrl-Left: Back one word
1328
1329       · Ctrl-d, Delete: Delete character
1330
1331       · Ctrl-Alt-d: Delete word
1332
1333       · Ctrl-h, Backspace, Shift-Backspace: Backspace (delete previous  char‐
1334         acter)
1335
1336       · Ctrl-Alt-h: Delete previous word
1337
1338       · Ctrl-j,Ctrl-m,Enter: Accept entry
1339
1340       · Ctrl-n,Down: Select next entry
1341
1342       · Ctrl-p,Up: Select previous entry
1343
1344       · Page Up: Go to previous page
1345
1346       · Page Down: Go to next page
1347
1348       · Ctrl-Page Up: Go to previous column
1349
1350       · Ctrl-Page Down: Go to next column
1351
1352       · Ctrl-Enter: Use entered text as a command (in ssh/run modi)
1353
1354       · Shift-Enter: Launch the application in a terminal (in run mode)
1355
1356       · Shift-Enter:  Return  the  selected  entry  and move to the next item
1357         while keeping rofi open. (in dmenu)
1358
1359       · Shift-Right: Switch to the next mode. The list can be customized with
1360         the -switchers argument.
1361
1362       · Shift-Left:  Switch  to the previous mode. The list can be customized
1363         with the -switchers argument.
1364
1365       · Ctrl-Tab: Switch to the next mode. The list can  be  customized  with
1366         the -switchers argument.
1367
1368       · Ctrl-Shift-Tab:  Switch to the previous mode. The list can be custom‐
1369         ized with the -switchers argument.
1370
1371       · Ctrl-space: Set selected item as input text.
1372
1373       · Shift-Del: Delete entry from history.
1374
1375       · grave: Toggle case sensitivity.
1376
1377       · Alt-grave: Toggle sorting.
1378
1379       · Alt-Shift-S: Take a screenshot and store it in  the  Pictures  direc‐
1380         tory.
1381
1382
1383       To  get  a  full  list of key bindings on the commandline, see rofi -h.
1384       The options starting with -kb are keybindings.   Key  bindings  can  be
1385       modified  using the configuration systems.  To get a searchable list of
1386       key bindings, run rofi -show keys.
1387
1388
1389       A key binding starting  with  !  will  act  when  all  keys  have  been
1390       released.
1391
1392

Available Modi

1394   window
1395       Show  a  list  of  all  the  windows  and allow switching between them.
1396       Pressing the delete-entry binding (shift-delete) will close the window.
1397       Pressing  the accept-custom binding (control-enter or shift-enter) will
1398       run a command on the window.  (See option window-command );
1399
1400
1401   windowcd
1402       Shows a list of the windows on the current desktop and allows switching
1403       between  them.   Pressing  the delete-entry binding (shift-delete) will
1404       kill the window.  Pressing the accept-custom binding (control-enter  or
1405       shift-enter) will run a command on the window.  (See option window-com‐
1406       mand );
1407
1408
1409       If there is no match, it will try to launch the input.
1410
1411
1412   run
1413       Shows a list of executables in $PATH and can launch them (optional in a
1414       terminal).   Pressing  the  delete-entry  binding  (shift-delete)  will
1415       remove this entry from the run  history.   Pressing  the  accept-custom
1416       binding (control-enter or shift-enter) will run the command in a termi‐
1417       nal.
1418
1419
1420   drun
1421       Same as the run launches, but the list is created  from  the  installed
1422       desktop  files.  It automatically launches them in a terminal if speci‐
1423       fied  in  the  Desktop  File.   Pressing   the   delete-entry   binding
1424       (shift-delete)  will  remove this entry from the run history.  Pressing
1425       the accept-custom binding (control-enter or shift-enter) will  run  the
1426       command in a terminal.
1427
1428
1429   ssh
1430       Shows  a  list of SSH targets based on your ssh config file, and allows
1431       to quickly ssh into them.
1432
1433
1434   keys
1435       Shows a searchable list of key bindings.
1436
1437
1438   script
1439       Allows custom scripted Modi to be added.
1440
1441
1442   combi
1443       Combines multiple modi in one list. Specify  which  modi  are  included
1444       with the -combi-modi option.
1445
1446
1447       When using the combi mode, a !bang can be used to filter the results by
1448       modi.  All modi that match the bang as  a  prefix  are  included.   For
1449       example,  say  you  have  specified -combi-modi run,window,windowcd. If
1450       your query begins with the bang !w, only results from  the  window  and
1451       windowcd modi are shown, even if the rest of the input text would match
1452       results from run.
1453
1454
1455       If no match, the input is handled by the first combined modi.
1456
1457

FAQ

1459   The text in the window switcher is not nicely aligned.
1460       Try using a mono-space font.
1461
1462
1463   The window is completely black.
1464       Check quotes used on the command-line: you might have  used  ("smart
1465       quotes") instead of " ("machine quotes").
1466
1467
1468   What does the icon in the top right show?
1469       The indicator shows:
1470
1471
1472              ` ` Case insensitive and no sorting.
1473              `-` Case sensitivity enabled, no sorting.
1474              `+` Case insensitive and Sorting enabled
1475              `±` Sorting and Case sensitivity enabled"
1476
1477
1478

EXAMPLES

1480       Some basic usage examples of rofi:
1481
1482
1483       Show the run dialog:
1484
1485
1486              rofi -modi run -show run
1487
1488
1489
1490       Show  the  run  dialog,  and allow switching to Desktop File run dialog
1491       (drun):
1492
1493
1494              rofi -modi run,drun -show run
1495
1496
1497
1498       Combine the run and Desktop File run dialog (drun):
1499
1500
1501              rofi -modi combi -show combi -combi-modi run,drun
1502
1503
1504
1505       Combine the run and Desktop File run dialog (drun), and allow switching
1506       to window switcher:
1507
1508
1509              rofi -modi combi,window -show combi -combi-modi run,drun
1510
1511
1512
1513       Run  rofi  full monitor width at the top of the monitor like a dropdown
1514       menu:
1515
1516
1517              rofi -show run -width 100 -location 1 -lines 5 -bw 2 -yoffset -2
1518
1519
1520
1521       Pop up a text message claiming that this is the end:
1522
1523
1524              rofi -e "This is the end"
1525
1526
1527
1528       Pop up a text message in red, bold font claiming that this is still the
1529       end:
1530
1531
1532              rofi -e "<span color='red'><b>This is still the end</b></span>" -markup
1533
1534
1535
1536       Show all key bindings:
1537
1538
1539              rofi -show keys
1540
1541
1542
1543       Use qalc to get a simple calculator in rofi:
1544
1545
1546               rofi -show calc -modi "calc:qalc +u8 -nocurrencies"
1547
1548
1549

i3

1551       In  i3  ⟨http://i3wm.org/⟩  you want to bind rofi to be launched on key
1552       release. Otherwise, it cannot grab the keyboard.  See also the i3  man‐
1553       ual ⟨http://i3wm.org/docs/userguide.html⟩:
1554
1555
1556       Some  tools  (such  as import or xdotool) might be unable to run upon a
1557       KeyPress event, because the  keyboard/pointer  is  still  grabbed.  For
1558       these  situations,  the  --release flag can be used, as it will execute
1559       the command after the keys have been released.
1560
1561

LICENSE

1563              MIT/X11
1564
1565              Permission is hereby granted, free of charge, to any person obtaining
1566              a copy of this software and associated documentation files (the
1567              "Software"), to deal in the Software without restriction, including
1568              without limitation the rights to use, copy, modify, merge, publish,
1569              distribute, sublicense, and/or sell copies of the Software, and to
1570              permit persons to whom the Software is furnished to do so, subject to
1571              the following conditions:
1572
1573              The above copyright notice and this permission notice shall be
1574              included in all copies or substantial portions of the Software.
1575
1576              THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1577              OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1578              MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1579              IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1580              CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1581              TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1582              SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1583
1584
1585

WEBSITE

1587       rofi website can be found here ⟨https://davedavenport.github.io/rofi/
1588
1589

SUPPORT

1591       rofi support can be obtained here ⟨irc://irc.freenode.net/#rofi⟩ (#rofi
1592       on irc.freenode.net), or via the forum ⟨https://reddit.com/r/qtools//
1593
1594

DEBUGGING

1596       Please  see  this ⟨https://github.com/DaveDavenport/rofi/wiki/Debugging
1597       Rofi⟩ wiki entry.
1598
1599

ISSUE TRACKER

1601       The rofi issue tracker can be found here ⟨https://github.com/DaveDaven
1602       port/rofi/issues⟩
1603
1604
1605       When creating an issue, please read this ⟨https://github.com/DaveDaven
1606       port/rofi/blob/master/.github/CONTRIBUTING.md⟩ first.
1607
1608

SEE ALSO

1610       rofi-sensible-terminal(1),  dmenu(1),  rofi-theme(5),   rofi-script(5),
1611       rofi-theme-selector(1)
1612
1613

AUTHOR.IP · 2

1615       Qball Cow ⟨qball@gmpclient.org⟩
1616
1617       · Rasmus Steinke ⟨rasi@xssn.at⟩
1618
1619       · Quentin Glidic ⟨sardemff7+rofi@sardemff7.net⟩
1620
1621
1622       Original code based on work by: Sean Pringle ⟨sean.pringle@gmail.com⟩
1623
1624
1625       For a full list of authors, check the AUTHORS file.
1626
1627
1628
1629                                     rofi                              ROFI(1)
Impressum