dmenu (Русский)
dmenu — быстрое и лёгкое динамическое меню для X. dmenu читает произвольный текст со стандартного ввода и создаёт меню с отдельным пунктом для каждой прочитанной строки. Затем пользователь может выбрать нужный пункт, используя клавиши со стрелками или вводя часть имени, после чего соответствующая строка будет напечатана в стандартный вывод. dmenu_run — обёртка, поставляемая с dmenu и позволяющая использовать его в качестве утилиты запуска приложений.
Установка
Установите пакет dmenu или dmenu-gitAUR, если хотите использовать нестабильную версию.
Существуют различные исправленные варианты, расширяющие функциональность dmenu. Можете попробовать один из следующих пакетов из AUR:
- dmenu2AUR[ссылка недействительна: package not found]: ответвление dmenu со множеством полезных исправлений и дополнительных возможностей, включая затемнение, задание уровня прозрачности и подчёркивание.
dmenu можно запустить следующим образом:
$ dmenu_run
Настройка
Теперь необходимо назначить команду dmenu_run
на сочетание клавиш. Это можно сделать с помощью настройки оконного менеджера, среды рабочего стола или же с помощью программы, подобной xbindkeys. Смотрите статью Дополнительные клавиши для получения дополнительной информации.
Отображение пользовательских пунктов меню
Пользовательские пункты должны быть разделены символом новой строки (\n) и переданы на стандартный ввод dmenu, например:
$ echo -e "первое\nвторое\nтретье" | dmenu
Добавление пунктов меню вручную
dmenu ищет исполняемые файлы в каталогах, определённых с помощью переменной окружения $PATH
. О том, как изменить переменную $PATH
, смотрите статью Переменные окружения.
Шрифты
dmenu может отображать шрифты с помощью логического описания X шрифта, используя инструмент xfontsel, который предоставляется пакетом xorg-xfontsel. В этом примере dmenu будет запускаться с использованием terminus-font:
$ dmenu_run -fn "-xos4-terminus-medium-r-*-*-14-*"
Если используется dmenu с поддержкой XFT, синтаксис аналогичен:
$ dmenu_run -fn 'Droid Sans Mono-9'
Поддержка псевдонимов оболочки
dmenu не поддерживает псевдонимы оболочки. Чтобы dmenu распознал псевдонимы, установите пакет dmenu-recent-aliases-gitAUR из AUR и запустите dmenu_run_aliases
. Ваши псевдонимы должны находиться в ~/.bash_aliases
или ~/.zsh_aliases
, чтобы dmenu_run_aliases мог их распознать.
Решение проблем
Локаль не поддерживается
Запуск dmenu_run приводит к следующему сообщению об ошибке:
$ dmenu_run
no locale support
Убедитесь, что переменная окружения LANG
установлена правильно. Для получения дополнительной информации смотрите статью Локали#Решение проблем.
Отсутствующие пункты меню
Если dmenu не отображает определённые пункты, возможно, был повреждён кеш. Удалите кеш и перезапустите dmenu.
$ rm ~/.dmenu_cache $ rm ~/.cache/dmenu_run
Обратите внимание, что, скорее всего, будет только один файл кеша в зависимости от того, установлена ли переменная $XDG_CACHE_HOME
. Посмотрите содержимое /usr/bin/dmenu_run
для получения дополнительной информации.
Переменные окружения
Переменные окружения, необходимые приложениям, должны быть добавлены в /etc/environment
.
Текущее окно теряет фокус
Ошибка в dmenu 4.9 приводит к тому, что при открытии dmenu окно теряет фокус и не восстанавливает его после закрытия dmenu. Также иногда только что запущенная программа не получает фокус. Это можно исправить, откатившись до dmenu 4.8. Смотрите обсуждение здесь.
Смотрите также
- dmenu — официальный сайт dmenu.
- Dmenu Hacking thread — тема на форуме Arch Linux, посвящённая исследованию dmenu. Также доступна коллекция скриптов.