Вопрос или проблема
Я хотел бы использовать dmenu
в качестве своего лаунчера вместо Gnome3-оверлея, который отображается после нажатия клавиши super. Из Gnome3-оверлея я могу запускать как приложения, так и настройки Gnome, а также программы Wine. В dmenu
я пока могу запускать только приложения, и я не могу найти программу настроек Gnome или любые из моих приложений Wine.
Когда я пробовал другие лаунчеры, такие как synapse
, они смогли найти как настройки, так и приложения Wine, так же как и в Gnome-оверлее. Я предпочитаю dmenu
, потому что это самый быстрый и эстетически приятный лаунчер, с которым я сталкивался. Есть ли способ включить ярлыки к программе настроек Gnome и моим приложениям Wine в dmenu
?
Я использую Antegros Linux с Gnome 3.22 и dmenu 0.1 (в частности, пакет dmenu2 из AUR).
Обновление
Для приложения настроек Gnome я понял, что его название gnome-control-center
, хотя в окне Gnome3-оверлея оно называется “Настройки”. Добавление флага -z
к dmenu помогло включить нечеткое сопоставление.
Я также выяснил, что подраздел клавиатуры меню настроек запускается через gnome-control-center keyboard
, что немного утомительно набирать каждый раз, так как это не автозавершение.
Казалось бы, dmenu
находит все, что я помещаю в $PATH
, но я не слишком заинтересован в включении всех ярлыков рабочего стола туда. Другие лаунчеры, такие как p-menu
, включают все в $PATH
и все .desktop
файлы в системе, что мне более предпочтительно. p-menu
действительно кажется, запускается только в терминале, а не как всплывающее окно (последнее для меня быстрее), поэтому на данный момент я использую albert
, который работает отлично. Я все равно был бы заинтересован в dmenu
или подобном лаунчере, если бы они включали .desktop
файлы.
Когда вы устанавливаете приложение через Wine, оно создаст файлы рабочего стола в 2 местах:
~/.wine/drive_c/users/username/Desktop
— для ярлыков на рабочем столе;~/.local/share/applications/wine/Programs
— для всех ярлыков в главном меню.
Скорее всего, будет достаточно включить только первый путь (где находятся только ярлыки, без этих Uninstall/Visit our site/etc ярлыков) в PATH
. И если вы не хотите включать их для всех приложений, вы могли бы настроить отдельный путь только для dmenu
и запустить его так:
$ PATH="$HOME/.wine/drive_c/users/username/Desktop:$PATH" dmenu_run
i3-dmenu-desktop — это скрипт на perl, который ищет файл рабочего стола и направляет его в dmenu для запуска файлов рабочего стола.
dmenu на самом деле просто программа для динамического создания меню; когда используется в качестве лаунчера, это на самом деле просто передача выбора пользователя в оболочку для запуска, я немного злоупотребляю этой деталью в dfuse, создавая несколько скриптов вокруг самого dmenu, некоторые из них основаны на shell-скрипте dmenu_run.
Ответ или решение
Чтобы включить ярлыки для программы настроек GNOME и приложений Wine в dmenu, вам потребуется следовать нескольким шагам, которые помогут организовать вашу среду и улучшить функциональность dmenu. Я объясню, как это сделать подробно.
Шаг 1: Запуск программы настроек GNOME
Вы уже выяснили, что для запуска программы настроек GNOME используется команда gnome-control-center
. Чтобы упростить доступ к этому и другим разделам настроек, вы можете создать собственные скрипты или просто добавить соответствующие команды в системный PATH. Вот, как можно это сделать:
-
Создание скрипта: Создайте файл, например
gnome-settings.sh
, в своей домашней директории или в любом другом удобном месте.#!/bin/bash gnome-control-center "$@"
Не забудьте сделать его исполняемым:
chmod +x ~/gnome-settings.sh
-
Добавление в PATH: Теперь вы можете добавить путь к вашему скрипту в переменную окружения PATH:
export PATH="$HOME:$PATH"
После этого вы сможете запускать
gnome-settings.sh
через dmenu, просто вводяgnome-settings
.
Шаг 2: Упрощение доступа к разделам настроек
Чтобы запустить определенный раздел программы настроек, вы можете создать другие скрипты для одного или нескольких подразделов, например:
- Для клавиатуры:
#!/bin/bash gnome-control-center keyboard
Сохраните его как gnome-settings-keyboard.sh
и сделайте его исполняемым. Теперь вы сможете запускать его через dmenu, вводя gnome-settings-keyboard
.
Шаг 3: Добавление приложений Wine в dmenu
Приложения, установленные через Wine, создают .desktop
файлы в следующих директориях:
~/.wine/drive_c/users/username/Desktop
~/.local/share/applications/wine/Programs
Чтобы включить ярлыки этих приложений в dmenu, вы можете сделать следующее:
-
Включите путь к ярлыкам в PATH:
Когда вы запустите dmenu, задайте PATH следующим образом:
PATH="$HOME/.wine/drive_c/users/username/Desktop:$PATH" dmenu_run
Это обеспечит, что приложения, которые находятся в этой директории, станут доступны для поиска в dmenu.
-
Используйте i3-dmenu-desktop: Если вы хотите использовать .desktop файлы из других локализаций и сделать это более удобно, вы можете использовать i3-dmenu-desktop. Этот скрипт автоматически находит .desktop файлы и передает их в dmenu для выбора.
Шаг 4: Воспользуйтесь dmenu с параметрами
Вы можете использовать dmenu с флагами для улучшенного поиска. Например, использование флага -z
позволяет улучшить нечеткое совпадение. Например:
dmenu_run -z
Это подбирает возможные варианты, даже если вы вводите их частично.
Заключение
Путем создания собственных скриптов для программы настроек GNOME и настройки PATH для приложений Wine, вы сможете эффективно использовать dmenu как основной лаунчер. Эти шаги не только упростят доступ к настройкам и приложениям, но и сделают вашу работу более продуктивной. Теперь, используя dmenu, вы сможете запускать нужные программы быстро и удобно.