Утилита, подобная описанной в прошлом посте — SnapFly. Исходники и deb-пакеты можно скачать со страницы проекта, а для ArchLinux есть пакет в AUR'е. Тоже открывает меню приложений либо по клавиатурному сочетанию, либо по щелчку на значке в трее. В чём-то лучше, в чём-то хуже.
Во-первых, внешний вид:
Для открытия категории, нужно по ней щёлкнуть (правда, это исправляется настройками), а для перемещения внутри категории часто необходимо проматывать список в небольшом окошке (а вот это существенное неудобство по сравнению с обычным выпадающем во весь рост меню).
Запуск программы осуществляется командой snapfly. При этом появляется значок в трее. А вот чтобы меню открывалось рядом с курсором, используется команда snapfly-show, причём сама программа при этом должна быть запущена, как я поняла.
То есть при желании использовать, в любом случае надо прописать snapfly в автозапуск (а иконку из трея, если не нужна, убирают другим образом), а вот на горячие клавиши привязывают именно snapfly-show.
Удачнее предыдущей эта программа за счёт большей возможности настройки. Причём подробно написан как man программы, так и комментарии в конфигурационном файле.
По-умолчанию файл конфигурации — ~/.config/snapfly/config. Можно написать и другой, и для запуска меню с прописаными там настройками использовать команду snapfly -c config_file.
Конфиг состоит из списка строк вида параметр=значение. Строки, начинающиеся с символа решётки #, не принимаются во внимание (закомментированы). В файле содержатся следующие параметры:
- terminal — тут прописывается путь к эмулятору терминала, который предполагается использовать для запуска консольных программ
- systray=true — отображение иконки в трее (то есть если предполагается открывать меню только по горячим клавишам, можно прописать false)
- rounded=4 — скругление углов
- menu_width=430 — ширина окна в пикселах
- bg_color — цвет фона меню
- border_color — цвет рамки меню
- hide_list — список для исключения определённых пунктов (попадающих под прописанную категорию) из меню, например GNOME,KDE,LXDE,ROX,Old
- category_click=true — переход по категориям осуществляется только при щелчке мыши, но при значении false категории будут открываться при зависании над ними курсора
- favorites=false — отображение "избранных" приложений (браузер, почтовый клиент, эмулятор терминала), заданных в виде переменных среды
- desktop_dirs — тут пишется список путей, по которым ищутся *.desktop-файлы, формирующие меню, если параметр не определён, то берётся список по-умолчанию (он изначально в файле прописан в закомментированной строчке)
Кроме того, данная программа позволяет создавать в меню собственные категории, а также принудительно исключать определённые пункты из меню.
Пользовательские категории задаются в файле ~/.config/snapfly/usermenu. Синтаксис тоже очень простой и подсказка есть в самом файле.
@Название категории##/путь к файлу иконки для категории
Следующие строки описывают пункты внутри категории:
/путь к файлу запуска программы##/путь к иконке для программы##Название пункта##Описание пукта
Всё довольно просто, а так выглядит категория для windows-программ с двумя прописанными пунктами (вместо полного пути к иконке можно писать просто её название для корректного поведения при смене темы, например):
@Wine##wine
wine /home/opossum/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe -opengl##/home/opossum/.local/share/icons/hicolor/48x48/apps/0B22_Launcher.0.png##World of Warcraft##MMORPG World of Warcraft
wine /home/opossum/.wine/drive_c/Program\ Files\ \(x86\)/TagScanner/Tagscan.exe##/home/opossum/.local/share/icons/hicolor/48x48/apps/6A71_Tagscan.0.png##Tagscan##id3tags-editor
Что касается исключения определённых программ, то это делается с помощью файла или папки ~/.config/snapfly/blacklist. В случае, если это папка, туда просто можно копировать или создавать символьные ссылки на соответствующие *.desktop-файлы. А в файл вписываются их имена каждый на своей строчке.
Теперь что касается минусов (вроде программа и продвинутее чем xmenud, а претензий к ней больше):
- Очень жаль, что нельзя изменить высоту меню (только с помощью создания пользовательских категорий), при том что ширина меняется. При этом сжать пункты меню тоже нельзя, а они довольно размашистые по высоте. Это всё к неудобству прокрутки длинного списка.
- Странный параметр bg_color — он не меняет фон правого поля со списком программ или цвет вкладок с названиями категорий, он меняет то, что под ними — видно малюсенькие треугольнички в месте скругления плашек с категориями. Сомнительной полезности фича.
- Не появляется иконка в трее, точнее появляется, но страшненькая, типа значок для не найденной иконки. На скриншотах она другая, поэтому, возможно, проблема исключительно у меня.
- Очень неудобно реализовано добавление пунктов в пользовательские категории — очень жаль, что нельзя просто вписать список *.desktop-файлов, а не писать для каждого и файл запуска и иконку и название с описанием, ведь в файлах этих всё есть уже, они для этого и нужны.
- Ну и наконец, самый на мой взгляд неприятный и серьёзный недочёт — некорректная работа с *.desktop-файлами: если программа находит два одноимённых файла в папках ~/.local/share/applications/ и в /usr/share/applications/, она помещает в меню их оба. Другие подобные программы в таком случае берут файл из домашней директории, а общий файл игнорируют, и, думаю, так и должно быть. Иначе смысл существования директории пользователя с тем же функционалом теряется.
А если запилить *.desktop файл с командой snapfly-show, и скормить лаунчеру tint2..
ОтветитьУдалитьНе вижу препятствий :)
ОтветитьУдалитьгы, очень мило. Оно ухитряется появляться под окнами. Но быстрее, да.
ОтветитьУдалитьофигеть. у меня под окнами не получалось, правда.
ОтветитьУдалитьDebasher комментирует...
ОтветитьУдалитьА если запилить *.desktop файл с командой snapfly-show, и скормить лаунчеру tint2..
cделал то же самое только с cardapio :)
Вот сегодня только переустановился и вспомнил что тут есть много про меню и панели, пришел посмотреть и почитать. и тут осенило для openbox лучше меню на хот кеях чем
ОтветитьУдалить<keybind key="W-1">
<action name="ShowMenu"><menu>root-menu</menu></action>
</keybind>
<keybind key="W-2">
<action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
</keybind>
и не придумать.
Спасибо за помощь в рождении этой мысли, теперь определится с треем на хот кеях, пойду дальше почитаю у тебя.