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

NAME

6       rofi  -  A window switcher, application launcher, ssh dialog, dmenu re‐
7       placement and more
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 re‐
24       mote  machine via ssh.  There are different modi for different types of
25       actions.  rofi is a standalone application and should not be integrated
26       into  scripts.  For integration into scripts it has a special mode that
27       functions as a (drop-in) replacement for dmenu(1). See emulating  dmenu
28       below.
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 X11) when  launched  with
42       the -dmenu flag.
43
44
45       For more information see rofi-dmenu(5).
46
47
48   Display Error message
49       rofi error dialog can also be called from the command line.
50
51
52              rofi -e "my message"
53
54
55
56       Markup support can be enabled, see CONFIGURATION options.
57
58

CONFIGURATION

60       There  are  currently  three  methods  of setting configuration options
61       (evaluated in order below):
62
63
64              • System configuration file  (for example  /etc/rofi.rasi).   It
65                first  checks  XDG_CONFIG_DIRS,  and  then SYSCONFDIR (that is
66                passed at compile time).  It loads the first  config  file  it
67                finds, it does not merge multiple system configuration files.
68
69              • Rasi  theme file: The new theme format can be used to set con‐
70                figuration values.
71
72              • Command-line options: Arguments passed to rofi.
73
74
75
76       To get a template config file, run: rofi -dump-config > config.rasi
77
78
79       This will contain (commented) all current configuration options,  modi‐
80       fied options are uncommented.
81
82
83       The configuration system supports the following types:
84
85
86              • string
87
88              • integer (signed and unsigned)
89
90              • char
91
92              • boolean
93
94              • lists
95
96
97
98       For the syntax of these options, see the rofi-theme(5) manpage.
99
100
101       For  use  on  the command line, Boolean options have a non-default com‐
102       mand-line syntax. Example to enable option X:
103
104
105              -X
106
107
108
109       To disable option X:
110
111
112              -no-X
113
114
115
116       Below is a list of the most important options:
117
118
119   General
120       -help
121
122
123       The help option shows the full list of  command-line  options  and  the
124       current  set  values.   These  include dynamic (run-time generated) op‐
125       tions.
126
127
128       -version
129
130
131       Show the rofi version and exit.
132
133
134       -dump-config
135
136
137       Dump the current active configuration, in rasi format,  to  stdout  and
138       exit.    Information  about  the  rasi  format  can  be  found  in  the
139       rofi-theme(5) manpage.
140
141
142       -dump-theme
143
144
145       Dump the current active theme, in rasi format, to stdout and exit.
146
147
148       -rasi-validate filename
149
150
151       Try to parse the file and  return  0  when  successful,  non-zero  when
152       failed.
153
154
155       -threads num
156
157
158       Specify the number of threads rofi should use:
159
160
161              • 0: Autodetect the number of supported hardware threads.
162
163              • 1: Disable threading
164
165
166
167
168              2..n: Specify the maximum number of threads to use in the thread
169              pool.
170
171              Default:  Autodetect
172
173
174
175       -display display
176
177
178       The X server to contact. Default is $DISPLAY.
179
180
181       -dmenu
182
183
184       Run rofi in dmenu mode. This allows for interactive scripts.  In  dmenu
185       mode,  rofi  reads from STDIN, and output to STDOUT.  A simple example,
186       displaying three pre-defined options:
187
188
189              echo -e "Option #1\nOption #2\nOption #3" | rofi -dmenu
190
191
192
193       Or get the options from a script:
194
195
196               /my_script.sh | rofi -dmenu
197
198
199
200       -show mode
201
202
203       Open rofi in a certain mode. Available modes  are  window,  run,  drun,
204       ssh, combi.  The special argument keys can be used to open a searchable
205       list of supported key bindings (see KEY BINDINGS)
206
207
208       To show the run-dialog:
209
210
211              rofi -show run
212
213
214
215       If -show is the last option passed to rofi, the first enabled  modi  is
216       shown.
217
218
219       -modi mode1,mode2
220
221
222       Specify  an  ordered, comma-separated list of modes to enable.  Enabled
223       modes can be changed at runtime. Default key is Ctrl+Tab.  If no  modes
224       are  specified, all configured modes will be enabled.  To only show the
225       run and ssh launcher:
226
227
228              rofi -modi "run,ssh" -show run
229
230
231
232       Custom modes can be added using the internal  script  mode.  Each  such
233       mode has two parameters:
234
235
236              <name>:<script>
237
238
239
240       Example:    Have    a    mode    called    'Workspaces'    using    the
241       i3_switch_workspaces.sh script:
242
243
244              rofi -modi "window,run,ssh,Workspaces:i3_switch_workspaces.sh" -show Workspaces
245
246
247
248       Notes: The i3 window manager dislikes commas in the command when speci‐
249       fying an exec command.  For that case, # can be used as a separator.
250
251
252       TIP: The name is allowed to contain spaces:
253
254
255              rofi -modi "My File Browser:fb.sh" -show "My File Browser"
256
257
258
259       -case-sensitive
260
261
262       Start  in  case-sensitive mode.  This option can be changed at run-time
263       using the -kb-toggle-case-sensitivity key binding.
264
265
266       -cycle
267
268
269       Cycle through the result list. Default is 'true'.
270
271
272       -filter filter
273
274
275       Filter the list by setting text in input bar to filter
276
277
278       -config filename
279
280
281       Load an alternative configuration file.
282
283
284       -cache-dir filename
285
286
287       Directory that is used to place temporary files, like history.
288
289
290       -scroll-method method
291
292
293       Select the scrolling method. 0: Per page, 1: continuous.
294
295
296       -normalize-match
297
298
299       Normalize the string before matching, so o will match ö, and é  matches
300       e.
301       This  is  not a perfect implementation, but works. For now, it disables
302       highlighting of the matched part.
303
304
305       -no-lazy-grab
306
307
308       Disables lazy grab, this forces the keyboard being grabbed  before  gui
309       is shown.
310
311
312       -no-plugins
313
314
315       Disable plugin loading.
316
317
318       -plugin-path directory
319
320
321       Specify the directory where rofi should look for plugins.
322
323
324       -show-icons
325
326
327       Show application icons in drun and window modes.
328
329
330       -icon-theme
331
332
333       Specify  icon theme to be used.  If not specified default theme from DE
334       is used, Adwaita and gnome themes act as fallback themes.
335
336
337       -application-fallback-icon
338
339
340       Specify an icon to be used when the application icon  in  run/drun  are
341       not yet loaded or is not available.
342
343
344       -markup
345
346
347       Use Pango markup to format output wherever possible.
348
349
350       -normal-window
351
352
353       Make  rofi  react  like a normal application window. Useful for scripts
354       like Clerk that are basically an application.
355
356
357       -[no-]steal-focus
358
359
360       Make rofi steal focus on launch and restore close to window  that  held
361       it when launched.
362
363
364   Matching
365       -matching method
366
367
368       Specify  the matching algorithm used.  Currently, the following methods
369       are supported:
370
371
372normal: match the int string
373
374regex: match a regex input
375
376glob: match a glob pattern
377
378fuzzy: do a fuzzy match
379
380prefix: match prefix
381
382
383
384       Default: normal
385
386
387       Note: glob matching might be slow for larger lists
388
389
390       -tokenize
391
392
393       Tokenize the input.
394
395
396       -drun-categories category1,category2
397
398
399       Only show desktop files that are present in the listed categories.
400
401
402       -drun-match-fields field1,field2,...
403
404
405       When using drun, match only with the specified  Desktop  entry  fields.
406       The different fields are:
407
408
409name: the application's name
410
411generic: the application's generic name
412
413exec: the application's  executable
414
415categories: the application's categories
416
417comment: the application comment
418
419
420
421
422              all: all the above
423
424              Default: name,generic,exec,categories,keywords
425
426
427
428       -drun-display-format
429
430
431       The format string for the drun dialog:
432
433
434name: the application's name
435
436generic: the application's generic name
437
438exec: the application's  executable
439
440categories: the application's categories
441
442comment: the application comment
443
444
445
446       Pango markup can be used to formatting the output.
447
448
449              Default: {name} [<span weight='light' size='small'><i>({generic})</i></span>]
450
451
452
453       Note: Only fields enabled in -drun-match-fields can be used in the for‐
454       mat string.
455
456
457       -[no-]drun-show-actions
458
459
460       Show actions present in the Desktop files.
461
462
463              Default: false
464
465
466
467       -window-match-fields field1,field2,...
468
469
470       When using window mode, match only with the specified fields.  The dif‐
471       ferent fields are:
472
473
474title: window's title
475
476class: window's class
477
478role: window's role
479
480name: window's name
481
482desktop: window's current desktop
483
484
485
486
487              all: all the above
488
489              Default: all
490
491
492
493       -matching-negate-char char
494
495
496       Set  the  character used to negate the query (i.e. if it does not match
497       the next keyword).  Set to '\x0' to disable.
498
499
500              Default: '-'
501
502
503
504   Layout and Theming
505       IMPORTANT:
506         In newer rofi releases, all the theming options have been moved  into
507       the new theme format. They are no longer normal
508         rofi  options  that can be passed directly on the command line (there
509       are too many).
510         Small snippets can be passed on the  command  line:  rofi  -theme-str
511       'window {width: 50%;}' to override a single
512         setting. They are merged into the current theme.
513         They can also be appended at the end of the rofi config file to over‐
514       ride parts of the theme.
515
516
517       Most of the following options are deprecated and should  not  be  used.
518       Please  use  the  new  theme format to customize rofi. More information
519       about the new format can be found in the rofi-theme(5) manpage.
520
521
522       -location
523
524
525       Specify where the window should be located. The numbers map to the fol‐
526       lowing locations on screen:
527
528
529                1 2 3
530                8 0 4
531                7 6 5
532
533
534
535       Default: 0
536
537
538       -fixed-num-lines
539
540
541       Keep a fixed number of visible lines.
542
543
544       -sidebar-mode
545
546
547       Open  in  sidebar-mode.  In  this  mode, a list of all enabled modes is
548       shown at the bottom.  (See -modi option) To show sidebar, use:
549
550
551              rofi -show run -sidebar-mode
552
553
554
555       -hover-select
556
557
558       Automatically select the entry the mouse is hovering over. This  option
559       is  best  combined with custom mouse bindings.  To utilize hover-select
560       and accept an entry in a single click, use:
561
562
563              rofi -show run -hover-select -me-select-entry '' -me-accept-entry MousePrimary
564
565
566
567       -eh number
568
569
570       Set row height (in chars) Default: 1
571
572
573       -auto-select
574
575
576       When one entry is left, automatically select it.
577
578
579       -m num
580
581
582       -m name
583
584
585       -monitor num
586
587
588       -monitor name
589
590
591       Select monitor to display rofi on.  It accepts as  input:  primary  (if
592       primary  output  is set), the xrandr output name, or integer number (in
593       order of detection). Negative numbers are handled differently:
594
595
596-1: the currently focused monitor.
597
598-2: the currently focused window (that is, rofi will  be  dis‐
599                played on top of the focused window).
600
601-3:  Position  of mouse (overrides the location setting to get
602                normal context menu behavior.)
603
604-4: the monitor with the focused window.
605
606
607
608
609              -5: the monitor that shows the mouse pointer.
610
611              Default: -5
612
613
614
615       See rofi -h output for the detected monitors, their position, and size.
616
617
618       -theme filename
619
620
621       Path to the new theme file format. This overrides the  old  theme  set‐
622       tings.
623
624
625       -theme-str string
626
627
628       Allow theme parts to be specified on the command line as an override.
629
630
631       For example:
632
633
634              rofi -theme-str '#window { fullscreen: true; }'
635
636
637
638       This option can be specified multiple times.  This is now the method to
639       tweak the theme via the command line.
640
641
642       -dpi  number
643
644
645       Override the default DPI setting.
646
647
648              • If set to 0, it tries to auto-detect based on X11 screen  size
649                (similar to i3 and GTK).
650
651              • If  set to 1, it tries to auto-detect based on the size of the
652                monitor that rofi is displayed on (similar to latest Qt 5).
653
654
655
656       -selected-row selected row
657
658
659       Select a certain row.
660
661
662       Default: 0
663
664
665   PATTERN setting
666       -terminal
667
668
669       Specify which terminal to start.
670
671
672              rofi -terminal xterm
673
674
675
676       Pattern: {terminal}
677
678
679       Default: x-terminal-emulator
680
681
682       -ssh-client client
683
684
685       Override the used ssh client.
686
687
688       Pattern: {ssh-client}
689
690
691       Default: ssh
692
693
694   SSH settings
695       -ssh-command cmd
696
697
698       Set the command to execute when starting an ssh session.   The  pattern
699       {host} is replaced by the selected ssh entry.
700
701
702       Pattern: {ssh-client}
703
704
705       Default: {terminal} -e {ssh-client} {host}
706
707
708       -parse-hosts
709
710
711       Parse the /etc/hosts file for entries.
712
713
714       Default: disabled
715
716
717       -parse-known-hosts -no-parse-known-hosts
718
719
720       Parse the  /.ssh/known_hosts file for entries.
721
722
723       Default: enabled
724
725
726   Run settings
727       -run-command cmd
728
729
730       Set  command  ({cmd}) to execute when running an application.  See PAT‐
731       TERN.
732
733
734       Default: {cmd}
735
736
737       -run-shell-command cmd
738
739
740       Set command to execute when running an application  in  a  shell.   See
741       PATTERN.
742
743
744       Default: {terminal} -e {cmd}
745
746
747       -run-list-command cmd
748
749
750       If set, use an external tool to generate a list of executable commands.
751       Uses run-command.
752
753
754       Default: {cmd}
755
756
757   Window switcher settings
758       -window-format format
759
760
761       Format what is being displayed for windows.
762
763
764       format: {field[:len]}
765
766
767       field:
768
769
770w: desktop name
771
772t: title of window
773
774n: name
775
776r: role
777
778c: class
779
780
781
782       len: maximum field length (0 for auto-size). If length and window width
783       are negative, field length is width - len.
784       If  length  is  positive, the entry will be truncated or padded to fill
785       that length.
786
787
788       default: {w}  {c}   {t}
789
790
791       -window-command cmd
792
793
794       Set command to execute on selected window for an  alt  action  (-kb-ac‐
795       cept-alt).  See PATTERN.
796
797
798       Default: "wmctrl -i -R {window}"
799
800
801       -window-thumbnail
802
803
804       Show window thumbnail (if available) as icon in the window switcher.
805
806
807       You can stop rofi from exiting when closing a window (allowing multiple
808       to be closed in a row).
809
810
811              configuration {
812                window {
813                    close-on-delete: false;
814                }
815              }
816
817
818
819   Combi settings
820       -combi-modi mode1,mode2
821
822
823       The modi to combine in combi mode.   For  syntax  to  -combi-modi,  see
824       -modi.  To get one merge view, of window,run, and ssh:
825
826
827              rofi -show combi -combi-modi "window,run,ssh" -modi combi
828
829
830
831       NOTE:  The i3 window manager dislikes commas in the command when speci‐
832       fying an exec command.  For that case, # can be used as a separator.
833
834
835       -combi-display-format
836
837
838       The format string for entries in the combi dialog:
839
840
841mode: the mode display name
842
843text: the entry text
844
845
846
847       Pango markup can be used to formatting the output.
848
849
850              Default: {mode} {text}
851
852
853
854       Note: This setting is ignored if combi-hide-mode-prefix is eanbled.
855
856
857   History and Sorting
858       -disable-history -no-disable-history (re-enable history)
859
860
861       Disable history
862
863
864       -sort to enable -no-sort to disable
865
866
867       Enable, disable sorting.  This setting can be changed at  runtime  (see
868       -kb-toggle-sort).
869
870
871       -sorting-method 'method' to specify the sorting method.
872
873
874       There are 2 sorting methods:
875
876
877              • levenshtein (Default)
878
879              • fzf sorting.
880
881
882
883       -max-history-size number
884
885
886       Maximum  number  of entries to store in history. Defaults to 25. (WARN‐
887       ING: can cause slowdowns when set too high)
888
889
890   Message dialog
891       -e message
892
893
894       Pops up a message dialog (used internally for showing errors) with mes‐
895       sage.  Message can be multi-line.
896
897
898   File browser settings
899       File browser behavior can be controlled via the following options:
900
901
902              configuration {
903                 filebrowser {
904                    /** Directory the file browser starts in. */
905                    directory: "/some/directory";
906                    /**
907                      * Sorting method. Can be set to:
908                      *   - "name"
909                      *   - "mtime" (modification time)
910                      *   - "atime" (access time)
911                      *   - "ctime" (change time)
912                      */
913                    sorting-method: "name";
914                    /** Group directories before files. */
915                    directories-first: true;
916                 }
917              }
918
919
920
921   Other
922       -drun-use-desktop-cache
923
924
925       Build  and  use  a  cache with the content of desktop files. Usable for
926       systems with slow hard drives.
927
928
929       -drun-reload-desktop-cache
930
931
932       If drun-use-desktop-cache is enabled, rebuild a cache with the  content
933       of desktop files.
934
935
936       -drun-url-launcher command
937
938
939       Command to open a Desktop Entry that is a Link.
940
941
942       -pid path
943
944
945       Make  rofi  create  a  pid file and check this on startup. The pid file
946       prevents multiple rofi instances from running simultaneously.  This  is
947       useful when running rofi from a key-binding daemon.
948
949
950       -replace
951
952
953       If  rofi  is  already  running, based on pid file, try to kill that in‐
954       stance.
955
956
957       -display-{mode} string
958
959
960       Set the  name  to  use  for  mode.  This  is  used  as  prompt  and  in
961       combi-browser.
962
963
964       It is now preferred to use the configuration file:
965
966
967              configuration {
968                {mode} {
969                  display-name: *string*;
970                }
971              }
972
973
974
975       -click-to-exit -no-click-to-exit
976
977
978       Click the mouse outside the rofi window to exit.
979
980
981       Default: enabled
982
983

PATTERN

985       To launch commands (for example, when using the ssh launcher), the user
986       can enter the used command-line. The following keys can  be  used  that
987       will be replaced at runtime:
988
989
990{host}: the host to connect to
991
992{terminal}: the configured terminal (see -terminal)
993
994{ssh-client}: the configured ssh client (see -ssh-client)
995
996{cmd}: the command to execute
997
998{window}: the window ID of the selected window (in window-com‐
999                mand)
1000
1001
1002

THEMING

1004       Please see rofi-theme(5) manpage for more information on theming.
1005
1006

KEY BINDINGS

1008       rofi has the following key bindings:
1009
1010
1011Control-v, Insert: Paste from clipboard
1012
1013Control-Shift-v, Shift-Insert: Paste primary selection
1014
1015Control-u: Clear the line
1016
1017Control-a: Beginning of line
1018
1019Control-e: End of line
1020
1021Control-f, Right: Forward one character
1022
1023Alt-f, Control-Right: Forward one word
1024
1025Control-b, Left: Back one character
1026
1027Alt-b, Control-Left: Back one word
1028
1029Control-d, Delete: Delete character
1030
1031Control-Alt-d: Delete word
1032
1033Control-h, Backspace, Shift-Backspace: Backspace (delete  pre‐
1034                vious character)
1035
1036Control-Alt-h: Delete previous word
1037
1038Control-j,Control-m,Enter: Accept entry
1039
1040Control-n,Down: Select next entry
1041
1042Control-p,Up: Select previous entry
1043
1044Page Up: Go to previous page
1045
1046Page Down: Go to next page
1047
1048Control-Page Up: Go to previous column
1049
1050Control-Page Down: Go to next column
1051
1052Control-Enter: Use entered text as a command (in ssh/run modi)
1053
1054Shift-Enter:  Launch  the  application  in  a terminal (in run
1055                mode)
1056
1057Control-Shift-Enter: As Control-Enter and run the  command  in
1058                terminal (in run mode)
1059
1060Shift-Enter:  Return  the  selected entry and move to the next
1061                item while keeping rofi open. (in dmenu)
1062
1063Shift-Right: Switch to the next mode. The list can be  custom‐
1064                ized with the -modi argument.
1065
1066Shift-Left:  Switch to the previous mode. The list can be cus‐
1067                tomized with the -modi argument.
1068
1069Control-Tab: Switch to the next mode. The list can be  custom‐
1070                ized with the -modi argument.
1071
1072Control-Shift-Tab:  Switch  to the previous mode. The list can
1073                be customized with the -modi argument.
1074
1075Control-space: Set selected item as input text.
1076
1077Shift-Del: Delete entry from history.
1078
1079grave: Toggle case sensitivity.
1080
1081Alt-grave: Toggle sorting.
1082
1083Alt-Shift-S: Take a screenshot and store it  in  the  Pictures
1084                directory.
1085
1086Control-l: File complete for run dialog.
1087
1088
1089
1090       This list might not be complete, to get a full list of all key bindings
1091       supported in your rofi, see rofi -h. The options starting with -kb  are
1092       keybindings.
1093
1094
1095       Key  bindings can be modified using the configuration systems. Multiple
1096       keys can be bound to one action by comma separating them.  For  example
1097       -kb-primary-paste "Conctrol+v,Insert"
1098
1099
1100       To get a searchable list of key bindings, run rofi -show keys.
1101
1102
1103       A  key  binding  starting  with  ! will act when all keys have been re‐
1104       leased.
1105
1106
1107       You can bind certain events to key-actions:
1108
1109
1110   Timeout
1111       You can configure an action to be taken when rofi has not  been  inter‐
1112       acted  with for a certain amount of seconds. You can specify a keybind‐
1113       ing to trigger after X seconds.
1114
1115
1116              configuration {
1117                timeout {
1118                    delay:  15;
1119                    action: "kb-cancel";
1120                }
1121              }
1122
1123
1124
1125   Input change
1126       When the input of the textbox changes:
1127
1128
1129              configuration {
1130                inputchange {
1131                    action: "kb-row-first";
1132                }
1133              }
1134
1135
1136
1137       For a full list of bindings, see the rofi-keys(5) manpage.
1138
1139

Available Modi

1141   window
1142       Show a list of all  the  windows  and  allow  switching  between  them.
1143       Pressing the delete-entry binding (shift-delete) will close the window.
1144       Pressing the accept-custom binding (control-enter or shift-enter)  will
1145       run a command on the window.  (See option window-command );
1146
1147
1148       If there is no match, it will try to launch the input.
1149
1150
1151   windowcd
1152       Shows a list of the windows on the current desktop and allows switching
1153       between them.  Pressing the delete-entry  binding  (shift-delete)  will
1154       kill  the window.  Pressing the accept-custom binding (control-enter or
1155       shift-enter) will run a command on the window.  (See option window-com‐
1156       mand );
1157
1158
1159       If there is no match, it will try to launch the input.
1160
1161
1162   run
1163       Shows a list of executables in $PATH and can launch them (optional in a
1164       terminal).  Pressing the delete-entry binding (shift-delete)  will  re‐
1165       move this entry from the run history.  Pressing the accept-custom bind‐
1166       ing (control-enter) will run the command as entered in the  entry  box.
1167       Pressing the accept-alt binding (shift-enter) will run the command in a
1168       terminal.
1169
1170
1171       When pressing the mode-complete binding (Control-l), you  can  use  the
1172       File  Browser  mode  to launch the application with a file as the first
1173       argument.
1174
1175
1176   drun
1177       Same as the run launches, but the list is created  from  the  installed
1178       desktop  files.  It automatically launches them in a terminal if speci‐
1179       fied  in  the  Desktop  File.   Pressing   the   delete-entry   binding
1180       (shift-delete)  will  remove this entry from the run history.  Pressing
1181       the accept-custom binding (control-enter) will run the command  as  en‐
1182       tered  in the entry box.  Pressing the accept-alt binding (shift-enter)
1183       will run the command in a terminal.
1184
1185
1186       When pressing the mode-complete binding (Control-l), you  can  use  the
1187       File  Browser mode to launch the application passing a file as argument
1188       if specified in the desktop file.
1189
1190
1191       The DRUN mode tries to  follow  the  XDG  Desktop  Entry  Specification
1192https://freedesktop.org/wiki/Specifications/desktop-entry-spec/⟩   and
1193       should be compatible with applications using this standard.   Some  ap‐
1194       plications  create  invalid  desktop files, rofi will discard these en‐
1195       tries.  See the debugging section for more info on DRUN mode, this will
1196       print why desktop files are discarded.
1197
1198
1199       There are two advanced options to tweak the behaviour:
1200
1201
1202              configuration {
1203                 drun {
1204                    /** Parse user desktop files. */
1205                    parse-user:   true;
1206                    /** Parse system desktop files. */
1207                    parse-system: false;
1208                 }
1209              }
1210
1211
1212
1213   ssh
1214       Shows  a  list of SSH targets based on your ssh config file, and allows
1215       to quickly ssh into them.
1216
1217
1218   keys
1219       Shows a searchable list of key bindings.
1220
1221
1222   script
1223       Allows custom scripted Modi to be added, see the rofi-script(5) manpage
1224       for more information.
1225
1226
1227   combi
1228       Combines  multiple  modi  in  one list. Specify which modi are included
1229       with the -combi-modi option.
1230
1231
1232       When using the combi mode, a !bang can be used to filter the results by
1233       modi.   All modi that match the bang as a prefix are included.  For ex‐
1234       ample, say you have specified -combi-modi run,window,windowcd. If  your
1235       query  begins  with  the bang !w, only results from the window and win‐
1236       dowcd modi are shown, even if the rest of the input  text  would  match
1237       results from run.
1238
1239
1240       If no match, the input is handled by the first combined modi.
1241
1242

FAQ

1244   The text in the window switcher is not nicely aligned.
1245       Try using a mono-space font.
1246
1247
1248   The window is completely black.
1249       Check  quotes  used  on the command-line: you might have used ("smart
1250       quotes") instead of " ("machine quotes").
1251
1252
1253   What does the icon in the top right show?
1254       The indicator shows:
1255
1256
1257              ` ` Case insensitive and no sorting.
1258              `-` Case sensitivity enabled, no sorting.
1259              `+` Case insensitive and Sorting enabled
1260              `±` Sorting and Case sensitivity enabled"
1261
1262
1263
1264   Why do I see different icons for run,drun and window mode
1265       Each of these modes uses different methods of resolving the icon:
1266
1267
1268              • Window: It first uses the icon that  the  application  exposes
1269                via  the  X11  Server,  if none is set it does a lookup of the
1270                window Class name in the icon theme.
1271
1272              • drun: It uses the icon set in the desktop file.
1273
1274              • run: It does a lookup using the executable name.
1275
1276
1277

EXAMPLES

1279       Some basic usage examples of rofi:
1280
1281
1282       Show the run dialog:
1283
1284
1285              rofi -modi run -show run
1286
1287
1288
1289       Show the run dialog, and allow switching to  Desktop  File  run  dialog
1290       (drun):
1291
1292
1293              rofi -modi run,drun -show run
1294
1295
1296
1297       Combine the run and Desktop File run dialog (drun):
1298
1299
1300              rofi -modi combi -show combi -combi-modi run,drun
1301
1302
1303
1304       Combine the run and Desktop File run dialog (drun), and allow switching
1305       to window switcher:
1306
1307
1308              rofi -modi combi,window -show combi -combi-modi run,drun
1309
1310
1311
1312       Pop up a text message claiming that this is the end:
1313
1314
1315              rofi -e "This is the end"
1316
1317
1318
1319       Pop up a text message in red, bold font claiming that this is still the
1320       end:
1321
1322
1323              rofi -e "<span color='red'><b>This is still the end</b></span>" -markup
1324
1325
1326
1327       Show all key bindings:
1328
1329
1330              rofi -show keys
1331
1332
1333
1334       Use qalc to get a simple calculator in rofi:
1335
1336
1337               rofi -show calc -modi "calc:qalc +u8 -nocurrencies"
1338
1339
1340

i3

1342       In  i3  ⟨http://i3wm.org/⟩  you want to bind rofi to be launched on key
1343       release. Otherwise, it cannot grab the keyboard.  See also the i3  man‐
1344       ual ⟨http://i3wm.org/docs/userguide.html⟩:
1345
1346
1347       Some  tools  (such  as import or xdotool) might be unable to run upon a
1348       KeyPress event, because the  keyboard/pointer  is  still  grabbed.  For
1349       these  situations,  the  --release flag can be used, as it will execute
1350       the command after the keys have been released.
1351
1352

LICENSE

1354              MIT/X11
1355
1356              Permission is hereby granted, free of charge, to any person obtaining
1357              a copy of this software and associated documentation files (the
1358              "Software"), to deal in the Software without restriction, including
1359              without limitation the rights to use, copy, modify, merge, publish,
1360              distribute, sublicense, and/or sell copies of the Software, and to
1361              permit persons to whom the Software is furnished to do so, subject to
1362              the following conditions:
1363
1364              The above copyright notice and this permission notice shall be
1365              included in all copies or substantial portions of the Software.
1366
1367              THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1368              OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1369              MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1370              IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1371              CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1372              TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1373              SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1374
1375
1376

WEBSITE

1378       rofi website can be found here ⟨https://davedavenport.github.io/rofi/
1379
1380

SUPPORT

1382       rofi support can be obtained:
1383        * GitHub Discussions ⟨https://github.com/davatorium/rofi/discussions
1384        * Forum (Reddit) ⟨https://reddit.com/r/qtools//
1385        * IRC ⟨irc://irc.libera.chat:6697/#rofi⟩ (#rofi on irc.libera.chat),
1386
1387

DEBUGGING

1389       To debug, it is smart to first try disabling your custom configuration:
1390       -no-config
1391
1392
1393       Disable parsing of configuration. This runs rofi in stock mode.
1394
1395
1396       If you run custom C plugins, you can disable them using:
1397
1398
1399       -no-plugins
1400
1401
1402       Disables the loading of plugins.
1403
1404
1405       To  further  debug the plugin, you can get a trace with (lots of) debug
1406       information.  This debug output can be enabled for  multiple  parts  in
1407       rofi  using  the  glib debug framework. Debug domains can be enabled by
1408       setting the G_MESSAGES_DEBUG environment variable. At the time of  cre‐
1409       ation of this page, the following debug domains exist:
1410
1411
1412              • all: Show debug information from all domains.
1413
1414              • X11Helper: The X11 Helper functions.
1415
1416              • View: The main window view functions.
1417
1418              • Widgets.Box: The Box widget.
1419
1420              • Dialogs.DMenu: The dmenu mode.
1421
1422              • Dialogs.Run: The run mode.
1423
1424              • Dialogs.DRun: The desktop file run mode.
1425
1426              • Dialogs.Window: The window mode.
1427
1428              • Dialogs.Script: The script mode.
1429
1430              • Dialogs.Combi: The script mode.
1431
1432              • Dialogs.Ssh: The ssh mode.
1433
1434              • Rofi: The main application.
1435
1436              • Timings: Get timing output.
1437
1438              • Theme: Theme engine debug output. (warning lots of output).
1439
1440              • Widgets.Icon: The Icon widget.
1441
1442              • Widgets.Box: The box widget.
1443
1444              • Widgets.Container: The container widget.
1445
1446              • Widgets.Window: The window widget.
1447
1448              • Helpers.IconFetcher: Information about icon lookup.
1449
1450
1451
1452       The  output  of this can provide useful information when writing an is‐
1453       sue.
1454
1455
1456       More information (possibly outdated) see this ⟨https://github.com/Dave
1457       Davenport/rofi/wiki/Debugging%20Rofi⟩ wiki entry.
1458
1459

ISSUE TRACKER

1461       The rofi issue tracker can be found here ⟨https://github.com/DaveDaven
1462       port/rofi/issues⟩
1463
1464
1465       When creating an issue, please read this ⟨https://github.com/DaveDaven
1466       port/rofi/blob/master/.github/CONTRIBUTING.md⟩ first.
1467
1468

SEE ALSO

1470       rofi-sensible-terminal(1),   dmenu(1),  rofi-theme(5),  rofi-script(5),
1471       rofi-keys(5),rofi-theme-selector(1)
1472
1473

AUTHOR

1475              • Qball Cow ⟨qball@blame.services⟩
1476
1477              • Rasmus Steinke ⟨rasi@xssn.at⟩
1478
1479              • Quentin Glidic ⟨sardemff7+rofi@sardemff7.net⟩
1480
1481
1482
1483       Original code based on work by: Sean Pringle  ⟨https://github.com/sean
1484       pringle/simpleswitcher⟩ ⟨sean.pringle@gmail.com⟩
1485
1486
1487       For a full list of authors, check the AUTHORS file.
1488
1489
1490
1491                                     rofi                              ROFI(1)
Impressum