LinuxForum.Fans
Тема

openbox формирование меню

Автор: a1i 14 сообщений 6300 просмотров
#330876

Возникла проблема, после того как было отредактировано меню в openbox, новые программы после установки не добавляются в категории (Video, Internet, etc)

#330877

a1i, чем редактировалось меню? Для редактирования меню в openbox-е существует obmenu

#330879

Им и редактировалось, отредактированное меню работает на УРА, т.е. все программы запускаются.

Проблема в том, что после установки (sudo aptitude install darktable)

Программа darktable не отображается в меню, приходится запускать из консоли.

Такая же ситуация со скайпом и остальными новоустановленными программами, не уж то нужно будет все время ручками добавлять ?

#330881
"a1i⇓" написал:
не уж то  нужно будет все время ручками добавлять ?

Настройка меню OpenBox

Первым делом было решено настроить меню. Для этой цели я решил воспользоваться графической утилитой obmenu (устанавливается отдельно). Я скопировал дефолтный конфиг в домашнюю директорию и запустил obmenu

$ mkdir ~/.config/openbox && cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
$ obmenu
Эта утилита ничего не делает автоматически, она всего-лишь позволяет отказаться от копания в XML коде. Кстати, после добавления нового меню, не забудьте добавить link на это меню в рутовое меню "Openbox 3", иначе ваше новое меню не будет отображаться. Чтобы изменения вступили в силу, нужно сохранить меню в Obmenu и выбрать System - Reconfigure Openbox в основном меню OpenBox, перезапускать иксы не нужно =)

Отсюда.

#330890

Правильно я понимаю, как вариант предлагаете добавить "поле" дефолтное меню в мое меню ?

Это не решит проблемку целиком, а будут созданы грабли...
С таким успехом, я использую "меню пуска" на fbpanel =)))

В Минте с флюксбоксом как то сделано, что у минта свое меню , но при этом все новоустановленные программы добавляются в соответствующую категорию меню, хотелось бы так же.

Я же не меняю названия меню, я просто изменяю расположение...

#330983

obmenu-generator - найти можно там http://trizenx.blogspot.com/2012/02/obmenu-generator.html или самостоятельно.
Чтобы обновить меню нужно будет в меню же выбрать пункт "сгенерировать меню". Можно с иконками, можно без, можно статическое, можно pipe.

#330985

Простите, если не в тему, но голый XML редактировать не проще?

#331003

Я иногда забываю редактировать меню вовремя, а потом и не вспомнишь, что убил, что поставил. А так раз-два и готово.

#331006

Дело вкуса, но сугубо имхо, XML настолько простой и логичный формат, что приятнее редактировать руками.

#331024

"I-Jurij⇓" написал:
Я иногда забываю редактировать меню вовремя, а потом и не вспомнишь, что убил, что поставил. А так раз-два и готово.
/usr/share/applications-всегда под рукой....
#331106

dimonshef11 написал:
[quote="I-Jurij⇓"]Я иногда забываю редактировать меню вовремя, а потом и не вспомнишь, что убил, что поставил. А так раз-два и готово.
/usr/share/applications-всегда под рукой....[/quote]
Да, но это время.
#331698

I-Jurij, спасибо за obmenu-generator и линк, там много интересного добра =)

Подскажите, как сие чудо запустить ? )

Мои действия:
- cd ~/downloads
- sudo chmod +x obmenu-generator
- obmenu-generator

Реакции - 0

#331704

Надо запускать так:

text
./obmenu-generator

Все дело в переменной окружения PATH, в которой перечислены пути, по которым оболочка ищет исполняемые файлы. В Slackware, например, для рута текущий каталог не включен в эту переменную, а для пользователя - включен. Оболочка проверяет существование в данных каталогах нужного исполнимого файла в том порядке, в котором они перечислены в вышеназванной переменной и, если такой файл есть и у пользователя, давшего команду на запуск, есть на этот файл право выполнения, то команда выполняется, иначе выдается сообщение об ошибке вида

text
$ program: command not found.

Как-то так...

#331827

obmenu-generator у меня в /usr/bin/,
кроме того подстройте под себя (или создайте, если его нет) файл
/home/user/.config/obmenu-generator/configuration.pl:

text

#!/usr/bin/perl

my %items = ( terminal => 'lxterminal', editor => 'geany', file_manager => 'spacefm', web_browser => 'chromium', run_command => 'gmrun', lock_command => 'slock',

# Giving this an undef value don't hides the menuitem # but uses the default OpenBox action "Exit" exit_command => 'openbox-logout', );

our $CONFIG = {

# Example: [ "$ENV{'HOME'}/.local/share/applications", '/my/path' ] desktop_files_paths => ['/usr/share/applications'],

# File where to look for icon theme (default: ~/.gtkrc-2.0) gtk_rc_file => undef,

# When 'Terminal=true' open_in_terminal => "$items{terminal} -e %s",

# Editor command open_in_editor => "$items{editor}",

# Ignore desktop files if their filenames match a regex ignore_file_name_re => undef,

# Ignore applications if their names match a regex ignore_app_name_re => undef,

# Ignore applications if their commands match a regex ignore_app_command_re => undef,

# Ignore desktop files if their content match a regex ignore_file_content_re => undef,

# Remove from every command something matched by a regex (/g) command_rem_re => undef,

# Look in this directories first (when generating icons.db) dirs_first_to_look => [],

# Look in this directories as a second icon theme (when generating icons.db) dirs_middle_to_look => [],

# Look in this directories, as a backup plan (when generating icons.db) dirs_last_to_look => [], };

our $SCHEMA = [ # COMMAND LABEL ICON {item => [$items{file_manager}, 'File Manager', 'file-manager']}, {item => [$items{terminal}, 'Terminal', 'terminal']}, {item => [$items{editor}, 'Editor', 'text-editor']}, {item => [$items{web_browser}, 'Web Browser', 'web-browser']}, {item => [$items{run_command}, 'Run command', 'system-run']}, {sep => 'Applications'},

# NAME LABEL ICON {cat => ['utility', 'Accessories', 'applications-utilities']}, {cat => ['development', 'Development', 'applications-development']}, {cat => ['education', 'Education', 'applications-science']}, {cat => ['game', 'Games', 'applications-games']}, {cat => ['graphics', 'Graphics', 'applications-graphics']}, {cat => ['audiovideo', 'Multimedia', 'applications-multimedia']}, {cat => ['network', 'Network', 'applications-internet']}, {cat => ['office', 'Office', 'applications-office']}, {cat => ['settings', 'Settings', 'applications-accessories']}, {cat => ['system', 'System', 'applications-system']},

#{cat => ['qt', 'QT Applications', 'qtlogo']}, #{cat => ['gtk', 'GTK Applications', 'gnome-applications']}, #{cat => ['x_xfce', 'XFCE Applications', 'applications-other']}, #{cat => ['gnome', 'GNOME Applications', 'gnome-applications']}, #{cat => ['consoleonly', 'CLI Applications', 'applications-utilities']},

{submenu => 'Openbox Settings'}, {sep => undef},

{item => [$items{lock_command}, 'Lock', 'slock']}, {exit => [$items{exit_command}, 'Exit', 'openbox-logout']}, ];

Войдите или зарегистрируйтесь, чтобы ответить.