Здравствуйте! Подскажите, пожалуйста, как сделать сабж?
Порылся в гугле и понял, что freedesktop.menu.build
каким-то хитрым образом находит все необходимые иконки и затем строит меню вместе с ними. Я, честно говоря, не очень хорошо знаю Lua и опыт работы с Awesome WM (а тем более кастомизации с отладкой (кстати, как тут нормально отлаживаться вообще?! Посмотреть значения каких-то переменных, вывести то же меню в виде таблицы/словаря, например…)) не очень большой.
Вот соответствующий кусок кода rc.lua:
-- {{{ Menu
-- Create a launcher widget and a main menu
myawesomemenu = {
{ "hotkeys", function() return false, hotkeys_popup.show_help end, menubar.utils.lookup_icon("preferences-desktop-keyboard-shortcuts") },
{ "manual", terminal .. " -e man awesome", menubar.utils.lookup_icon("system-help") },
{ "edit config", gui_editor .. " " .. awesome.conffile, menubar.utils.lookup_icon("accessories-text-editor") },
{ "restart", awesome.restart, menubar.utils.lookup_icon("system-restart") },
{"open Lua console", function() aluaconsole.toggle_visibility() end},
}
myexitmenu = {
{ "log out", function() awesome.quit() end, menubar.utils.lookup_icon("system-log-out") },
{ "suspend", "systemctl suspend", menubar.utils.lookup_icon("system-suspend") },
{ "hibernate", "systemctl hibernate", menubar.utils.lookup_icon("system-suspend-hibernate") },
{ "reboot", "systemctl reboot", menubar.utils.lookup_icon("system-reboot") },
{ "shutdown", "poweroff", menubar.utils.lookup_icon("system-shutdown") }
}
-- WHERE ARE ALL THE ITEMS MAN?!
mymainmenu = freedesktop.menu.build({
icon_size = 32,
before = {
{ "Terminal", terminal, menubar.utils.lookup_icon("utilities-terminal") },
{ "Browser", browser, menubar.utils.lookup_icon("internet-web-browser") },
{ "Files", filemanager, menubar.utils.lookup_icon("system-file-manager") },
-- other triads can be put here
},
after = {
{ "Awesome", myawesomemenu, "/usr/share/awesome/icons/awesome32.png" },
{ "Exit", myexitmenu, menubar.utils.lookup_icon("system-shutdown") },
-- other triads can be put here
}
})
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })