Сайт | Скачать | Видео | Wiki

Автор Тема: AlsMenu - универсальное меню приложений  (Прочитано 14491 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34033
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
http://almin-soft.fsay.net/index.php?programmy/alsmenu
Давно такое хотел - отвязаться от WM и панелей
Программа свежая. Автор участник нашего форума. Давайте дорабатывать

Не понятно:
1. Она только под fbpanel или универсальна? Как ее закрыть? В трей она не попадает. Если потыкать вокруг - пропадает (но в процессах остается). Как в не  вернуться не ясно
2. Похоже /etc/xdg/menus - не поддерживает. Что-то свое? Как это свое править?
3. ФМ Терминал - где и как настроить?
4. .xpm иконки не показывает
...в остальном впечатляет

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #1 : 03 Июль 2014, 12:24:20 »
Попробовал в PR-JWM-13.12, работает вроде бы нормально, но как изменить ФМ и Терминал тоже не понял, а еще как изменить настройку команд в пункте "Выход" тоже не ясно, похоже, что только изменением исходников и перекомпиляцией.
    
Если иконки xpm заменить на png, то будет вообще все красиво.
Висит, как сервис подобно libmenu-cache в Openbox, чтоб в него  вернуться надо опять ткнуть ярлык или кнопку.
Наверно очень хорошо подойдет для tint2, где нет своего меню, но можно и к другим панелям привязать, пример в JWM на рис., только привязка идет к верхнему левому углу, что не очень удобно, когда панель внизу.

При запуске через терминал ругань команд из пункта "Выход" :
Код
start server
Wellcome to alsmenu!
Copyright (c) 2011-2014 by Alexandre Minoshi (AlminSoft Group)
Directory /usr/share/applications/ exists
Directory /usr/share/applications/kde4/ not exists
Directory /root/.local/share/applications/ exists
/bin/sh: openbox: command not found
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
Т.е. нужны Openbox и DBus.
« Последнее редактирование: 03 Июль 2014, 12:38:13 от RoDoN »
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34033
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:AlsMenu - универсальное меню приложений
« Ответ #2 : 03 Июль 2014, 13:31:19 »
привязка идет к верхнему левому углу, что не очень удобно, когда панель внизу.
Код
--xy=[left]x[top] отступ от левого и верхнего края экрана по умолчанию установлены left = 0, top = 30
Чтобы загнать вниз -1 не работает. Похоже - только вычислять разрешение экрана

Запуск демоном - надо ли... Лишние ресурсы...

Послал автору ссылку на эту тему ... Ждем...
« Последнее редактирование: 03 Июль 2014, 13:35:50 от sfs »

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #3 : 03 Июль 2014, 14:47:20 »
Послал автору ссылку на эту тему ... Ждем...
Хм, а я оставил ему сообщение с ссылкой на его сайте, так что ждем-с...

Насчет демона, я уже сравнивал с libmenu-cache, который тоже висит в процессах...
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн minoshi

  • Пользователь
  • **
  • Сообщений: 51
  • Репутация: +7/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #4 : 06 Июль 2014, 12:30:31 »
Привет :)

В течение дня скину обновление с учетом ваших замечаний.

Оффлайн minoshi

  • Пользователь
  • **
  • Сообщений: 51
  • Репутация: +7/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #5 : 06 Июль 2014, 14:42:32 »
Обновил, перезалил.

to sfs:

1.Программа универсальна. Чтобы меню показалось - необходимо запустить бинарник alsmenu на исполнение. При первом вызове программа загружается в память, при последующих - отсылается сообщение первой копии программы показаться на экране.

2./etc/xdg/menus не поддерживается, хотелось минимум зависимостей. Просто последовательный обход каталогов /usr/share/applications, /usr/share/applications/.kde4, <home dir>/.local/usr/share/applications. Мне для домашних нужд хватает, если какой каталог забыл - скажите.

3. ФМ и Терминал теперь можно настроить в настройках (значок в нижнем правом меню). Переменная PATH поддерживается, т.е можно просто указать thunar вместо /usr/bin/thunar

3.xpm-иконки не поддерживаются. Точнее поддерживаются, но не все.

to RoDoN:
1.Если необходимы использовать свои команды для logout, reboot, etc, используйте параметр "useexitconffile"

                       1. Если данный параметр не используется, то
                          программа будет использовать команды,
                          "вшитые" в тело самой программы, это
                          команды d-bus или systemd на выбор

                       2. Если данный параметр используется, то программа
                          будет использовать команды из файла
                          /usr/share/alsmenu/commands.conf

                       3. Файл создается только вручную, программа не имеет
                          функционала по созданию данного файла автоматически.

                       4. Программа не проверяет корректность
                          указанных в данном файле комманд.
                          Если файл найден и успешно прочитан,
                          то будут использоваться указанные команды

                       5. В целях безопасности данный файл должен быть
                          доступен для текущего пользователя
                          только для чтения!

                       6. Файл должен быть обычным ini-файлом

                          Пример файла:
                          [commands]
                          logout=openbox --exit
                          suspend=
                          hibernate=
                          reboot=
                          shutdown= systemctl poweroff


2.Для привязки к определенному местоположению есть параметр --xy (издержки универсальности).

"-1" не сработает, только вычислять разрешение экрана:
Запустить из терминала "alsmenu &".
Затем запускать alsmenu --xy=[позиция по горизонтали]х[позиция по вертикали].
Как только определились с местоположением - "killall alsmenu"
Затем запускать alsmenu с полученными координатами.

3.Запуск демоном - надо, быстрее отображение.
« Последнее редактирование: 06 Июль 2014, 15:11:59 от minoshi »

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #6 : 06 Июль 2014, 18:03:49 »
Спасибо! Теперь все настраивается, как надо +

Просто последовательный обход каталогов /usr/share/applications, /usr/share/applications/.kde4, <home dir>/.local/usr/share/applications. Мне для домашних нужд хватает, если какой каталог забыл - скажите.
Для PRA еще желательно добавить /usr/local/share/applications.
« Последнее редактирование: 06 Июль 2014, 19:23:00 от RoDoN »
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн minoshi

  • Пользователь
  • **
  • Сообщений: 51
  • Репутация: +7/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #7 : 06 Июль 2014, 21:30:11 »
Для PRA еще желательно добавить /usr/local/share/applications.
Сделано

Оффлайн shelezyaka

  • Ветеран
  • *****
  • Сообщений: 816
  • Репутация: +39/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #8 : 07 Июль 2014, 13:00:43 »
Вчера попробовал , красиво.Запускал просто как прогу.А вот захотел в трей JWM вставить - не выходит.
У кого получилось , что в .jwmrc-tray  прописать ?
3.xpm-иконки не поддерживаются. Точнее поддерживаются, но не все.
Иконки править ? Какой критерий у этих " не всех" иконок .
Intel(R) Xeon(R) CPU E5-2630 v2 , GeForce GTX 560  ,  16Gb DDR3 ,  HDD - 160 Gb  SSD  250 Gb
Acer Aspire One D270-26Сkk Intel Atom N2800 1.86GHz 2Gb DDR3  HDD - 720 Gb

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34033
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:AlsMenu - универсальное меню приложений
« Ответ #9 : 07 Июль 2014, 13:28:34 »
Спасибо и + за доработки
2./etc/xdg/menus не поддерживается, хотелось минимум зависимостей.
Очень бы хотелось... Как-то же Вы группируете. Или конфиг для изменения группировки...
Демон - жрет порядка 5 мб. Может все-таки как вариант - запуск по хоткею? Или использовать отдельный демон типа menu-cache
xpm- можно конечно переконвертировать, но в буржуйских пупи этого делать не будут. Ограничит применение
-xy - левый нижний или типа -1 очень бы хотелось... Иначе придется вычислять скриптом через xrandr
Вставить в jwm - убираете родное jwm-меню и делаете вместо обычную кнопку запуска AlsMenu

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #10 : 07 Июль 2014, 14:20:18 »
А вот захотел в трей JWM вставить - не выходит.
У кого получилось , что в .jwmrc-tray  прописать ?
То, что у меня на картинке выше сделано в PR-13.12 так:
Код
<?xml version="1.0"?>

<JWM>
<Tray  autohide="false" insert="right" x="0" y="-1" border="1" height="28" >
<!-- Additional TrayButton attribute: label -->
<TrayButton label="Меню" icon="mini-dog.xpm">root:3</TrayButton>
<TrayButton label="AlsMenu" popup="AlsMenu - меню для Линукс систем" icon="mini-dog.xpm">exec:/root/my-applications/bin/alsmenu --xy=0x220</TrayButton>
<TrayButton popup="Свернуть все окна" icon="mini-desktop.xpm">showdesktop</TrayButton>
<TrayButton popup="Терминал" icon="terminal-tango.png">exec:xterm</TrayButton>
<TrayButton popup="Интернет браузер" icon="www24.png">exec:/usr/local/bin/defaultbrowser</TrayButton>
<TrayButton popup="Менеджер файлов ROX-Filer" icon="mini-filemgr.png">exec:/usr/local/apps/ROX-Filer/AppRun</TrayButton>

<!-- Additional Pager attributes; width, height -->
<Pager/>

<!-- Additional TaskList attribute: maxwidth -->
<TaskList maxwidth="200" />
<Dock/>

<!-- Additional Swallow attribute: height -->
<!-- <Swallow name="Keyboard switcher">
fbxk
</Swallow> -->
<Swallow name="trayBatteryCtrl">
killall trayBatteryCtrl
trayBatteryCtrl
</Swallow>
<Swallow name="trayXload" width="48">
trayXload "ipinfo" "rxvt +sb -fn 7x14 -bg white -fg black -e htop"
</Swallow>
<Clock format="%H:%M:%S">minixcal</Clock>
<TrayButton popup="Выключение" icon="shutdown24.png">root:0</TrayButton>
</Tray>
</JWM>
xy надо корректировать под разрешение своего экрана
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34033
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:AlsMenu - универсальное меню приложений
« Ответ #11 : 07 Июль 2014, 14:35:53 »
-xy - левый нижний или типа -1 очень бы хотелось... Иначе придется вычислять скриптом через xrandr
Код
alsmenu --xy=0x"`xrandr 2>&1 |awk '/*/ {print $1}' |awk -Fx '{print $2 -568}'`"
568 - надо потестить под разными разрешениями

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #12 : 07 Июль 2014, 23:31:07 »
А откуда взялась цифра 568?
Поэкспериментировал с разрешением 1366x768, получилось, что нужно при высоте 28 для панели JWM сделать так:
Код
alsmenu --xy=0x"`xrandr 2>&1 |awk '/*/ {print $1}' |awk -Fx '{print $2 -(554+28)}'`"
т.е. высота меню =554 + высота панели JWM (стандартно в паппи может быть 20, 28, 34 и 42)
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34033
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:AlsMenu - универсальное меню приложений
« Ответ #13 : 08 Июль 2014, 09:43:39 »
А откуда взялась цифра 568?
Полу-отбалды  :) Просто пример скрипта. Можно и 28 из конфига выдернуть... Тогда еще надо проверять запущенность jwm
Неужели нельзя сделать -1...

Онлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6287
  • Репутация: +141/-0
Re:AlsMenu - универсальное меню приложений
« Ответ #14 : 08 Июль 2014, 09:53:15 »
Можно и 28 из конфига выдернуть... Тогда еще надо проверять запущенность jwm
Высоту панели нужно учитывать не только для JWM (это частный случай), но и для др. WM с др. панелями тоже, поэтому да, желательно бы сделать -1...
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE