3 # obmenu-generator - schema file
7 item: add an item inside the menu {item => ["command", "label", "icon"]},
8 cat: add a category inside the menu {cat => ["name", "label", "icon"]},
9 sep: horizontal line separator {sep => undef}, {sep => "label"},
10 pipe: a pipe menu entry {pipe => ["command", "label", "icon"]},
11 file: include the content of an XML file {file => "/path/to/file.xml"},
12 raw: any XML data supported by Openbox {raw => q(xml data)},
13 begin_cat: beginning of a category {begin_cat => ["name", "icon"]},
14 end_cat: end of a category {end_cat => undef},
15 obgenmenu: generic menu settings {obgenmenu => ["label", "icon"]},
16 exit: default "Exit" action {exit => ["label", "icon"]},
20 require "$ENV{HOME}/.config/obmenu-generator/config.pl";
23 my $editor = $CONFIG->{editor};
26 # Format: NAME, LABEL, ICON
27 {sep => "Manjaro Openbox"},
28 {item => ['exo-open --launch TerminalEmulator', 'Terminal', 'terminal-emulator']},
29 {item => ['exo-open --launch WebBrowser ', 'Web Browser', 'web-browser']},
30 {item => ['exo-open --launch FileManager', 'File Manager', 'file-manager']},
31 {item => ['exo-open --launch MailReader', 'Mail Reader', 'mail-reader']},
33 {cat => ['utility', 'Accessories', 'applications-utilities']},
34 {cat => ['development', 'Development', 'applications-development']},
35 {cat => ['education', 'Education', 'applications-science']},
36 {cat => ['game', 'Games', 'applications-games']},
37 {cat => ['graphics', 'Graphics', 'applications-graphics']},
38 {cat => ['audiovideo', 'Multimedia', 'applications-multimedia']},
39 {cat => ['network', 'Network', 'applications-internet']},
40 {cat => ['office', 'Office', 'applications-office']},
41 {cat => ['other', 'Other', 'applications-other']},
42 {cat => ['settings', 'Settings', 'gnome-settings']},
43 {cat => ['system', 'System', 'applications-system']},
45 {pipe => ['manjaro-places-pipemenu --recent ~/', 'Places', 'folder']},
47 {begin_cat => ['Preferences', 'theme']},
48 {begin_cat => ['Openbox', 'openbox']},
49 {item => ['obconf', 'Openbox Configuration', 'theme']},
50 {item => ['kickshaw', 'GUI Menu Editor', 'openbox']},
51 {item => ['obkey', 'GUI Keybind Editor', 'openbox']},
52 {item => ['ob-autostart', 'GUI Autostart Editor', 'openbox']},
54 {item => ["exo-open ~/.config/openbox/menu.xml", 'Edit menu.xml', 'text-xml']},
55 {item => ["exo-open ~/.config/openbox/rc.xml", 'Edit rc.xml', 'text-xml']},
56 {item => ["exo-open ~/.config/openbox/autostart", 'Edit autostart', 'text-xml']},
58 {item => ['openbox --restart', 'Openbox Restart', 'openbox']},
59 {item => ['openbox --reconfigure', 'Openbox Reconfigure', 'openbox']},
61 {pipe => ['manjaro-polybar-pipemenu', 'Polybar', 'polybar']},
62 {pipe => ['manjaro-conky-pipemenu', 'Conky', 'conky']},
63 {pipe => ['manjaro-tint2-pipemenu', 'Tint2', 'tint2']},
64 {pipe => ['manjaro-compositor', 'Compositor', 'compton']},
65 {begin_cat => ['System', 'system-settings']},
66 {item => ['lxappearance', 'Customize Look and Feel', 'theme']},
67 {item => ['xfce4-appearance-settings', 'Apperance', 'theme']},
68 {item => ['pavucontrol', 'Audio Settings', 'multimedia-volume-control']},
69 {item => ['pamac-manager', 'Add/Remove Software', 'pamac-manager']},
70 {item => ['arandr', 'Screen Layout', 'xfce4-display-settings']},
71 {item => ['xfce4-settings-manager', 'Settings Manager', 'xfce4-settings-manager']},
74 {item => ['nitrogen', 'Change Wallpaper', 'nitrogen']},
75 {item => ['rofi-theme-selector', 'Rofi Theme', 'theme']},
76 {item => ['manjaro-panel-chooser', 'Panel Chooser', 'panel']},
79 {begin_cat => ['Menu Generator', 'menu-editor']},
80 {item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Layout', 'text-x-source']},
82 {item => ['obmenu-generator -p', 'Generate a pipe menu', 'menu-editor']},
83 {item => ['obmenu-generator -s -c', 'Generate a static menu', 'menu-editor']},
85 {item => ['switchmenu --static', 'Switch Menu', 'menu-editor']},
86 {pipe => ['manjaro-kb-pipemenu', 'Display Keybinds', 'cs-keyboard']},
87 {pipe => ['manjaro-help-pipemenu', 'Help and Info', 'info']},
89 {item => ['lockscreen -- scrot', 'Lock Screen', 'lock']},
90 {item => ['rofr.sh -l', 'Exit Openbox', 'exit']},