How to edit menu in Awesome WM version?

I explored ~/.config/awesome/rc.lua and there is this block of code:

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 })

Can’t actually wrap my head around how to get current menu items and edit them (name, icon, location, program path) as they seem not being displayed in rc.lua anymore…
Apparently this is some how connected with freedesktop being used now, but it’s docs quite poor, I guess.

here is my awesome menu edited… though i dont use icon… may be you get the idea

myawesomemenu = {
    { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
    { "manual", terminal .. " -e man awesome" },
    { "edit config", editor_cmd .. " " .. awesome.conffile },
    { "restart", awesome.restart },
    { "quit", function() awesome.quit() end },
    }

 editormenu = {
     { "gedit",     "gedit" },
     { "micro",     terminal .. " -e micro" },
     { "liri-text",    "liri-text" },
 }
 
 officemenu = {
     { "files",     "pcmanfm" },
     { "writer",    "loffice --writer" },
     { "calc",      "loffice --calc" },
     { "impress",   "loffice --impress" }
 }
 
 networkmenu = {
     { "firefox",   "firefox" },
	{ "falkon",	"falkon" },
     { "w3m",       terminal .. " -e 'w3m google.go.in'" },
     { "nw-manager", terminal .. " -e nmtui" }
 }
 
 grafixmenu = {
     { "viewnior", "viewnior" },
     { "color picker", "agave" },
     { "gimp", "gimp" },
     { "inkscape", "inkscape" }
 }
 
 termmenu = {
    { "termite", "termite" },
    { "terminator", "terminator" },
    { "sakura",    "sakura" },
    { "urxvtc",      "urxvtc" }
 }
 
multimediamenu = {
    { "deadbeef", "deadbeef" },
    { "ncmpcpp" , terminal .. " -e ncmpcpp" },
    { "pulseaudio", "pavucontrol" },
    { "vlc",    "vlc" }
 }
 
settingsmenu = {
    { "gnome settings", "gnome-tweaks" },
    { "manjaro settings", "manjaro-settings-manager" },
    { "lxappearance", "lxappearance" },
    { "qt5 settings", "qt5ct" },
    { "font manager", "font-manager" }
 }
 
systemmenu = {
    { "software-manager", "pamac-manager" },
    { "pacman-mirrors", terminal .. " -e 'sudo pacman-mirrors -f'" },
    { "gtop", terminal .. " -e gtop" },
    { "kill", "xkill" }
 }

utilsmenu = {
    { "screenshot", "scrot -d5 AwSm-Scrot-%d%b%y-%M%S.png -e 'mv $f ~/shots' && viewnior ~/shots/$f" },
    { "toggleConky", "toggleAwesomeConky" },
    { "virt manager", "virt-manager" },    
    { "screengrab", "screengrab" }
 }

myexitmenu = {
	{ "logout", function() awesome.quit() end},
	{ "reboot", "systemctl reboot" },
	{ "shutdown", "systemctl poweroff" }
}
 
 mymainmenu = awful.menu({ 
                items = { 
                    { "editors", editormenu },
                    { "terms" , termmenu },
                    { "network", networkmenu },
                    { "office", officemenu },
                    { "grafix", grafixmenu },
                    { "multimedia", multimediamenu },
                    { "settings", settingsmenu },
                    { "system", systemmenu },
                    { "utils", utilsmenu },
                    { "awesome", myawesomemenu },
                    { "exit options", myexitmenu}
}                         
                         })
 
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
                                      menu = mymainmenu })
1 Like