dmenu (Русский)

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.
Состояние перевода: На этой странице представлен перевод статьи dmenu. Дата последней синхронизации: 15 января 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

dmenu — быстрое и лёгкое динамическое меню для X. dmenu читает произвольный текст со стандартного ввода и создаёт меню с отдельным пунктом для каждой прочитанной строки. Затем пользователь может выбрать нужный пункт, используя клавиши со стрелками или вводя часть имени, после чего соответствующая строка будет напечатана в стандартный вывод. dmenu_run — обёртка, поставляемая с dmenu и позволяющая использовать его в качестве утилиты запуска приложений.

Установка

Установите пакет dmenu или dmenu-gitAUR, если хотите использовать нестабильную версию.

Существуют различные исправленные варианты, расширяющие функциональность dmenu. Можете попробовать один из следующих пакетов из AUR:

  • dmenu2AUR: ответвление dmenu со множеством полезных исправлений и дополнительных возможностей, включая затемнение, задание уровня прозрачности и подчёркивание.

dmenu можно запустить следующим образом:

$ dmenu_run

Настройка

Теперь необходимо назначить команду dmenu_run на сочетание клавиш. Это можно сделать с помощью настройки оконного менеджера, среды рабочего стола или же с помощью программы, подобной xbindkeys. Смотрите статью Дополнительные клавиши для получения дополнительной информации.

Отображение пользовательских пунктов меню

Пользовательские пункты должны быть разделены символом новой строки (\n) и переданы на стандартный ввод dmenu, например:

$ echo -e "первое\nвторое\nтретье" | dmenu

Добавление пунктов меню вручную

dmenu ищет исполняемые файлы в каталогах, определённых с помощью переменной окружения $PATH. О том, как изменить переменную $PATH, смотрите статью Переменные окружения.

Шрифты

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Начиная с dmenu 4.6 по умолчанию включена отрисовка шрифтов с помощью XFT: примечания к выпуску 4.6. Задание шрифтов через логическое описание X шрифта больше не работает. Вместо этого используется синтаксис файла font.conf из библиотеки fontconfig. (Discuss in Talk:Dmenu (Русский))

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. Смотрите обсуждение здесь.

Смотрите также