Rofi (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи Rofi. Дата последней синхронизации: 16 января 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Rofi — переключатель окон, диалоговое окно для запуска приложений и ssh, а также замена dmenu. Разработка началась в качестве клона simpleswitcher, написанного Sean Pringle, а затем расширенного Dave Davenport.

Установка

Установите пакет rofi.

Настройка

В настоящее время существует четыре способа задания параметров настроек:

  • Локальная настройка. Обычно, в зависимости от XDG, располагается в ~/.config/rofi/config. Используется формат файлов Xresources.
  • Новый формат темы, который может содержать блок объявлений configuration: ~/.config/rofi/config.rasi.
  • Xresources: значения ключей хранятся в Xserver.
  • Параметры командной строки.
Примечание: формат файлов Xresources устареет в будущих версиях rofi.

Поэтому команда

rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi

может быть описана в файле настроек следующим образом (новый формат темы):

configuration {
 modi: "window,drun,ssh,combi";
 theme: "solarized";
 font: "hack 10";
 combi-modi: "window,drun,ssh";
 }

Чтобы получить полный список параметров для файла config.rasi, выполните rofi -dump-config. Также можно записать вывод этой команды непосредственно в файл config.rasi с помощью rofi -dump-config > ~/.config/rofi/config.rasi.

Примечание: Пользователи i3 должны знать, что использование запятых в файле настроек i3 может привести к проблемам. Чтобы назначить запуск rofi на сочетание клавиш, используйте файл настроек rofi или замените запятые символом #, например: rofi -combi-modi window#drun#ssh.

Rofi как замена dmenu

Rofi ведёт себя подобно dmenu, если вызывается с именем dmenu (через символическую ссылку). Можно установить пакет rofi-dmenuAUR, который создаёт символическую ссылку dmenu на rofi. После этого программы, вызывающие dmenu (так же как и passmenu из pass), будут использовать rofi вместо dmenu.

Чтобы rofi приобрёл внешний вид, приблизительно похожий на внешний вид dmenu, используйте следующие параметры:

rofi -show run -modi run -location 1 -width 100 \
		 -lines 2 -line-margin 0 -line-padding 1 \
		 -separator-style none -font "mono 10" -columns 9 -bw 0 \
		 -disable-history \
		 -hide-scrollbar \
		 -color-window "#222222, #222222, #b1b4b3" \
		 -color-normal "#222222, #b1b4b3, #222222, #005577, #b1b4b3" \
		 -color-active "#222222, #b1b4b3, #222222, #007763, #b1b4b3" \
		 -color-urgent "#222222, #b1b4b3, #222222, #77003d, #b1b4b3" \
		 -kb-row-select "Tab" -kb-row-tab ""

Выполнение команд оболочки из rofi

Чтобы запускать команды оболочки или скрипты непосредственно из rofi с возможностью отображения вывода, сделайте следующее:

  • настройте переменную PATH в файле ~/.profile, а не (например) в файле ~/.bashrc, затем перезайдите в менеджер окон или среду рабочего стола;
  • установите параметр -run-shell-command '{terminal} -e \\"{cmd}; read -n 1 -s"'. Это позволит вводить команды в поле ввода, а затем после нажатия SHIFT+ENTER терминал останется открытым, пока не будет нажата какая-либо клавиша.

Пример для i3, использующий экранированную последовательность:

 bindsym $mod+d exec --no-startup-id "rofi -show drun -font \\"DejaVu 9\\" -run-shell-command '{terminal} -e \\" {cmd}; read -n 1 -s\\"'"

Пользовательские темы

Чтобы просмотреть и применить темы для rofi, используйте следующую команду:

rofi-theme-selector

Настройки могут быть сохранены в файле .Xresources (требуется пакет xorg-xrdb). Чтобы применить изменения, перезагрузите .Xresources с помощью xrdb -load ~/.Xresources.

Предоставляемые темы

Смотрите официальный репозиторий rofi-themes, чтобы получить список доступных пользовательских тем.

Загрузите одну из тем .rasi и поместите её в ~/.config/rofi/example.rasi. После этого загрузите тему с помощью параметра командной строки:

rofi <options> -theme example

или с помощью файла настроек:

rofi.theme:    example