Rofi (Русский)
Rofi — переключатель окон, диалоговое окно для запуска приложений и ssh, а также замена dmenu. Разрабатывался как клон simpleswitcher, написанного Sean Pringle, а затем расширенного Dave Davenport.
Установка
Установите пакет rofi для использования с оконным сервером Xorg.
Поддержка для Wayland-композиторов в основной ветке приостановлена на неопределенный срок [1]. Для поддержки Wayland, вместо этого, установите rofi-lbonn-waylandAUR[ссылка недействительна: package not found] или rofi-lbonn-wayland-gitAUR для разработчиков. Обратите внимание, для этих пакетов требуется композитор Wayland, поддерживающий протокол Layer Shell. Сюда входят wlroots-based композиторы, такие как Sway, и некоторые Mir-based композиторы, но не входит, например, mutter, композитор для Gnome.
Чтобы узнать больше о rofi и его использовании, смотрите rofi(1).
Настройка
Существует два способа для задания параметров настроек:
- Локальная настройка. Обычно, в зависимости от XDG, располагается в
~/.config/rofi/config.rasi
. - Параметры командной строки:
$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi
можно выразить в файле настроек следующим образом:
configuration { modi: "window,drun,ssh,combi"; font: "hack 10"; combi-modi: "window,drun,ssh"; } @theme "solarized"
Чтобы получить полный список параметров файла config.rasi
, выполните rofi -dump-config
. Вы также можете записать вывод команды непосредственно в файл настроек с помощью rofi -dump-config > ~/.config/rofi/config.rasi
#
, например: rofi -combi-modi window#drun#ssh
.Значки
Можно использовать значки для отображения с соответствующими элементами. Предполагая, что у вас установлен papirus-icon-theme, с -show-icons
и определением темы значков с -icon-theme
, можно настроить отображение значков rofi и выполнить следующее:
$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi -icon-theme "Papirus" -show-icons
Пользовательские темы
Вы можете просмотреть и применить темы для rofi с помощью
$ rofi-theme-selector
rofi-theme(5) содержит подробные инструкции о том, как создать тему rofi, используя пользовательский CSS-подобный язык. Эта страница содержит дополнительную информацию о системе компоновки, используемой rofi, точном синтаксисе, используемом для темы rofi, а также дополнительные инструкции по оформлению большинства свойств rofi. Система тем rofi может быть простой (тема dmenu по умолчанию содержит около 30 строк CSS), но она достаточно гибкая для создания различных интерактивных, widget-like апплетов и меню, вроде rofi-advanced.
Предоставляемые темы
Rofi поставляется с несколькими официальными темами, хранящимися в /usr/share/rofi/themes
; пользовательские темы можно найти в репозитории rofi-themes.
Загрузите официальную либо скачайте пользовательскую .rasi-тему и поместите её в ~/.config/rofi/example.rasi
. После этого загрузите тему с помощью параметра командной строки:
$ rofi options -theme example
или с помощью файла настроек вне блока configuration { }
:
@theme "example"
Советы и рекомендации
Вызванный как dmenu (через символическую ссылку), rofi ведет себя подобно dmenu. Программы, вызывающие dmenu (например passmenu из pass), будут использовать rofi вместо dmenu. Точное поведение rofi
в dmenu-режиме описано в rofi-dmenu(5).
Чтобы rofi приобрёл внешний вид, похожий на внешний вид dmenu, скопируйте файл /usr/share/rofi/themes/dmenu.rasi
, поставляемый по умолчанию в пакете rofi, в каталог конфигурации rofi (обычно это ~/.config/rofi
) и включите его, добавив @theme dmenu
в конец config.rasi
, или с помощью опции -theme dmenu
в командной строке.
Выполнение команд оболочки из rofi
Если вы хотите запускать команды оболочки или ваши собственные скрипты непосредственно из rofi с просмотром вывода, убедитесь, что сделано следующее.
Определите -run-shell-command '{terminal} -e SHELL -ic "{cmd} && read"
, где SHELL
— ваша оболочка (например bash, zsh). Это позволит вам ввести команду на панели ввода, а затем Shift+Enter
. Терминал остается открытым до следующего нажатия клавиши.
Пример для i3 с использованием экранированной последовательности:
bindsym $mod+d exec --no-startup-id rofi -show drun -run-shell-command '{terminal} -e zsh -ic "{cmd} && read"'
Интеграция выбора Unicode
Установите rofimoji для выбора смайликов/символов Unicode, интегрированного в rofi. Смотрите README проекта для использования и настройки.
Меню выбора эмодзи
Установите rofi-emoji для средства выбора смайликов, интегрированного с rofi. Смотрите README проекта для подробностей использования.
Если вы столкнулись с проблемами рендеринга эмодзи (например, в виде прямоугольников), установите ttf-symbolaAUR, noto-fonts-cjk и/или noto-fonts-emoji
Rofi как меню управления питанием
Rofi можно использовать для управления питанием с помощью systemd. Клонируйте репозиторий rofi-power-menu. Чтобы запустить его, укажите rofi, где найти исполняемый файл rofi-power-menu. Например, если исполняемый файл находится в $HOME/.rofi-power-menu
:
$ rofi -show p -modi p:$HOME/.rofi-power-menu
Вы также можете поместить исполняемый файл в PATH и передать только его имя.
Для отображения символов по умолчанию вам может потребоваться ttf-nerd-fonts-symbols.
Для подробностей читайте файл README в репозитории.
Rofi как менеджер буфера обмена
Rofi можно использовать как менеджер буфера обмена X11 с помощью Greenclip. Установите пакет rofi-greenclipAUR.