#!/usr/bin/perl # obmenu-generator - schema file =for comment item: add an item inside the menu {item => ["command", "label", "icon"]}, cat: add a category inside the menu {cat => ["name", "label", "icon"]}, sep: horizontal line separator {sep => undef}, {sep => "label"}, pipe: a pipe menu entry {pipe => ["command", "label", "icon"]}, file: include the content of an XML file {file => "/path/to/file.xml"}, raw: any XML data supported by Openbox {raw => q(xml data)}, begin_cat: beginning of a category {begin_cat => ["name", "icon"]}, end_cat: end of a category {end_cat => undef}, obgenmenu: generic menu settings {obgenmenu => ["label", "icon"]}, exit: default "Exit" action {exit => ["label", "icon"]}, =cut require "$ENV{HOME}/.config/obmenu-generator/config.pl"; ## Text editor my $editor = $CONFIG->{editor}; our $SCHEMA = [ # Format: NAME, LABEL, ICON {sep => "ArchLabs"}, {item => ['exo-open --launch TerminalEmulator', 'Terminal', 'terminal']}, {item => ['exo-open --launch WebBrowser ', 'Web Browser', 'firefox']}, {item => ['exo-open --launch FileManager', 'File Manager', 'file-manager']}, {sep => undef}, {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 => ['other', 'Other', 'applications-other']}, {cat => ['settings', 'Settings', 'gnome-settings']}, {cat => ['system', 'System', 'applications-system']}, {sep => undef}, {pipe => ['al-places-pipemenu --recent ~/', 'Places', 'folder']}, {sep => undef}, {begin_cat => ['Preferences', 'theme']}, {begin_cat => ['Openbox', 'openbox']}, {item => ['obconf', 'Settings Editor', 'theme']}, {item => ['kickshaw', 'Menu Editor', 'openbox']}, {item => ['obkey', 'Keybind Editor', 'openbox']}, {item => ['ob-autostart', 'Autostart Editor', 'openbox']}, {sep => undef}, {item => ["exo-open ~/.config/openbox/menu.xml", 'Edit menu.xml', 'text-xml']}, {item => ["exo-open ~/.config/openbox/rc.xml", 'Edit rc.xml', 'text-xml']}, {item => ["exo-open ~/.config/openbox/autostart", 'Edit autostart', 'text-xml']}, {sep => undef}, {item => ['openbox --restart', 'Openbox Restart', 'openbox']}, {item => ['openbox --reconfigure', 'Openbox Reconfigure', 'openbox']}, {end_cat => undef}, {item => ['xfce4-appearance-settings', 'GTK Appearance', 'preferences-desktop-theme']}, {item => ['nitrogen', 'Change Wallpaper', 'nitrogen']}, {sep => undef}, {pipe => ['al-compositor', 'Compositor', 'compton']}, {pipe => ['al-polybar-pipemenu', 'Polybar', 'polybar']}, {pipe => ['al-conky-pipemenu', 'Conky', 'conky']}, {pipe => ['al-tint2-pipemenu', 'Tint2', 'tint2']}, {item => ['rofi-theme-selector', 'Rofi Theme', 'theme']}, {item => ['al-panel-chooser', 'Panel Chooser', 'panel']}, {sep => undef}, {item => ['xfce4-settings-manager', 'Xfce4 Settings Manager', 'preferences-desktop']}, {item => ['pavucontrol', 'Pulseaudio Preferences', 'multimedia-volume-control']}, {item => ['exo-preferred-applications', 'Preferred Applications', 'preferred-applications']}, {item => ['arandr', 'Screen Layout Editor', 'display']}, {end_cat => undef}, {sep => undef}, {begin_cat => ['Menu Generator', 'menu-editor']}, {item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Layout', 'text-x-source']}, {sep => undef}, {item => ['obmenu-generator -p', 'Generate a pipe menu', 'menu-editor']}, {item => ['obmenu-generator -s -c', 'Generate a static menu', 'menu-editor']}, {end_cat => undef}, {item => ["switchmenu --static", 'Switch Menu', 'menu-editor']}, {pipe => ['al-kb-pipemenu', 'Display Keybinds', 'cs-keyboard']}, {pipe => ['al-help-pipemenu', 'Help and Info', 'info']}, {sep => undef}, {item => ['i3lock-fancy -p', 'Lock Screen', 'lock']}, {item => ['oblogout', 'Exit Openbox', 'exit']}, ]