1ROFI(1) General Commands Manual ROFI(1)
2
3
4
6 rofi - A window switcher, application launcher, ssh dialog, dmenu re‐
7 placement and more
8
9
11 rofi [ -show mode ]|[ -dmenu ]|[ -e msg ] [ CONFIGURATION ]
12
13
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
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
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
372 • normal: match the int string
373
374 • regex: match a regex input
375
376 • glob: match a glob pattern
377
378 • fuzzy: do a fuzzy match
379
380 • prefix: 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
409 • name: the application's name
410
411 • generic: the application's generic name
412
413 • exec: the application's executable
414
415 • categories: the application's categories
416
417 • comment: 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
434 • name: the application's name
435
436 • generic: the application's generic name
437
438 • exec: the application's executable
439
440 • categories: the application's categories
441
442 • comment: 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
474 • title: window's title
475
476 • class: window's class
477
478 • role: window's role
479
480 • name: window's name
481
482 • desktop: 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
770 • w: desktop name
771
772 • t: title of window
773
774 • n: name
775
776 • r: role
777
778 • c: 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
841 • mode: the mode display name
842
843 • text: 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
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
1004 Please see rofi-theme(5) manpage for more information on theming.
1005
1006
1008 rofi has the following key bindings:
1009
1010
1011 • Control-v, Insert: Paste from clipboard
1012
1013 • Control-Shift-v, Shift-Insert: Paste primary selection
1014
1015 • Control-u: Clear the line
1016
1017 • Control-a: Beginning of line
1018
1019 • Control-e: End of line
1020
1021 • Control-f, Right: Forward one character
1022
1023 • Alt-f, Control-Right: Forward one word
1024
1025 • Control-b, Left: Back one character
1026
1027 • Alt-b, Control-Left: Back one word
1028
1029 • Control-d, Delete: Delete character
1030
1031 • Control-Alt-d: Delete word
1032
1033 • Control-h, Backspace, Shift-Backspace: Backspace (delete pre‐
1034 vious character)
1035
1036 • Control-Alt-h: Delete previous word
1037
1038 • Control-j,Control-m,Enter: Accept entry
1039
1040 • Control-n,Down: Select next entry
1041
1042 • Control-p,Up: Select previous entry
1043
1044 • Page Up: Go to previous page
1045
1046 • Page Down: Go to next page
1047
1048 • Control-Page Up: Go to previous column
1049
1050 • Control-Page Down: Go to next column
1051
1052 • Control-Enter: Use entered text as a command (in ssh/run modi)
1053
1054 • Shift-Enter: Launch the application in a terminal (in run
1055 mode)
1056
1057 • Control-Shift-Enter: As Control-Enter and run the command in
1058 terminal (in run mode)
1059
1060 • Shift-Enter: Return the selected entry and move to the next
1061 item while keeping rofi open. (in dmenu)
1062
1063 • Shift-Right: Switch to the next mode. The list can be custom‐
1064 ized with the -modi argument.
1065
1066 • Shift-Left: Switch to the previous mode. The list can be cus‐
1067 tomized with the -modi argument.
1068
1069 • Control-Tab: Switch to the next mode. The list can be custom‐
1070 ized with the -modi argument.
1071
1072 • Control-Shift-Tab: Switch to the previous mode. The list can
1073 be customized with the -modi argument.
1074
1075 • Control-space: Set selected item as input text.
1076
1077 • Shift-Del: Delete entry from history.
1078
1079 • grave: Toggle case sensitivity.
1080
1081 • Alt-grave: Toggle sorting.
1082
1083 • Alt-Shift-S: Take a screenshot and store it in the Pictures
1084 directory.
1085
1086 • Control-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
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
1192 ⟨https://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
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
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
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
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
1378 rofi website can be found here ⟨https://davedavenport.github.io/rofi/⟩
1379
1380
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
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
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
1470 rofi-sensible-terminal(1), dmenu(1), rofi-theme(5), rofi-script(5),
1471 rofi-keys(5),rofi-theme-selector(1)
1472
1473
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)