The purpose of this section is to give a detailed step-by-step recipe for building the Advanced Root Menu pictured on the right. Links or copies for all pipemenus and submenus will be included, as well as ways to use wget to download pertinent files from this website. Setting up should be no harder than frying water. We assume you have installed and are using a recent Openbox Window Manager with or without an official desktop.
There are at least 2 paths to install obmenu-generator. See the top of Openbox Dynamical Menu for the recipe using the github files, or the bottom (Addendum) of this same website for using the special Sparky Linux Repository. To activate the dynamical menu, run the following terminal command:
obmenu-generator -p -i .
Leave out "-i" if you want an icon-less menu.
Your new menu will be a skeleton version of the Advanced Root Menu. It will include 4 of the 8 items in the second group, with launchers possibly not installed on your operating system. All the Categories except possibly "Wine" will be present, completely functional and be dynamical in nature. An Advanced Settings" with the 3 main Openbox configuration files, the Obmenu files, the Refresh files and 2 or 3 Conky and Tint2 configuration files are present. Finally the "Lock" and "Exit" items will be listed, but may not work. All of this is in the schema.pl file, which can be read at github. If you are happy with this essentially pure category menu, which lists all the linux apps installed (.desktop files) and will automatically add new apps provided .desktop files are generated with their installation, then you can quit now, that is, after configuring "Lock", "Exit" and the individual static items in the second section so that all are compatible with your system. However, if you are interested in the other 35 or so pipe menus, submenus and items in the advanced menu on the right, then read on.
The schema.pl for the menu pictured on the right can be downloaded from this website by using wget:
Replace the original ~/.config/obmenu-generator/schema.pl with the newly downloaded schema.pl. Make sure it is executable.
Your new menu will look like Advanced Root Menu, but probably missing several icons. If you want a complete set of icons, you will have to download or locate suitable ones already on your computer and enter their location in the appropriate field in schema.pl, which has been configured to first look for icons in the ultra-flat-icons folder. It has also been configured to use the generic alternative bl-text-editor (See the next section.).
Advanced Root Menu is set-up using alternative applications, which are just generic names that perform the services of the real apps that are assigned to their names. This has the advantage that when one of these service apps (for example, thunar for pcmanfm) is changed, the only requirement to configure the menu to the new app (thunar) is to reassign the alternative for that generic group (file-manager group). The following alternatives are used in Advanced Root Menu:
All that remains to completely activate Advanced Root Menu is to install the pipe menus, sub-menus and special items all formulated in terms of these generic alternatives. We will discuss each of these next. If there is any of these that you do not want on your Root Menu, then just delete its section in the schema.pl, and skip the corresponding section below.
Places-Home is generated by a pipe menu found as /usr/bin/cbpp-places-pipemenu in the Crunchbang++ distro. A copy of cbpp-places-pipemenu set-up using generic alternatives can be downloaded from this website:
To install, put cbpp-places-pipemenu in /usr/bin, replacing any cbpp-places-pipemenu already there. Make executable.
Places Comp is generated by a pipe menu generally found as /opt/menu/dir-menu.py in distros that offer it. A copy of dir-menu.py set-up using generic alternatives can be downloaded from this website:
To install, put dir-menu.py in /opt/menu, replacing any dir-menu.py already there. Make executable. An image of an open Places Comp, labeled as "Directories", can be seen at Openbox Menu.
An image of the items section of schema.pl is shown on the left. You will need to replace the icons with your own. The Run Program is the standard gexec program: sudo apt-get install gexec, if not already installed. Radio Player is a slightly modified Hakerdefo Poor-Mans-Radio shell script, which can be downloaded from this website:
To install, put pmrp-bl-media-player in /usr/local/bin, and make it executable.
Scrot and Sox are terminal apps; scrot takes pictures of screen objects (screenshooter) and sox records any sound coming from your computer's sound card and edits audio. To install:
sudo apt-get install scrot sudo apt-get install sox
Bash scripts launch the 5 screen situations shown in the scrot menu image on the right. They can be downloaded using wget:
wget http://lxlinux.com/menu/scrot-0 wget http://lxlinux.com/menu/scrot-15 wget http://lxlinux.com/menu/scrot-area wget http://lxlinux.com/menu/scrot-window wget http://lxlinux.com/menu/scrot-multimon
Each is set up to save the image in /usr/home/me/Pictures/scrots. Edit this path to your destination folder of choice, then move each script to /usr/local/bin and make it executable.
Trim and Concatenate are simply gimmicks to enter in a terminal a skeleton of the often used sox commands that trim an audio file and join multiple audio files in sequence, respectively. Click them after launching a terminal to enter the skeleton command in that terminal. A simple command guide for sox is "How to use sox".
Pictured on the left is the Terminal Menu, which is simply a cheat sheat for remembering basic terminal commands, not very interesting to a professional but very helpful for beginners. The user opens a terminal, launches the menu and left clicks the desired command, which immediately launches a skeleton of the command in the terminal. The user completes the specifics of the command and launches it without needing to remember every exact word, spelling, etc of the command. The Image Magick Menu is a similar tool for the most-used commands in using it to edit images, and Char Menu prints any special character in the program on any open text document by just left- or right-clicking (capital version) the character. For a picture of the Char Menu and information on downloading the character icons, necessary for seeing the menu, go to Openbox Menu.
Pictured on the right is a Systeminfo Menu based mostly on the information supplied by the lightweight tool, inxi, which can be installed with sudo apt-get install inxi. Other apps used here to display system information are boxinfo, jdiskreport, fly info, screenfetch and geoclue-2.0.
These 4 menus can be downloaded using wget:
wget http://lxlinux.com/menu/char.xml wget http://lxlinux.com/menu/html.xml wget http://lxlinux.com/menu/systeminfo.xml wget http://lxlinux.com/menu/terminal.xml
Move each script to ~/.config/openbox and make it executable. The launch scripts for these 4 menus and an additional script needed to make terminal apps launchable from a menu context can be downloaded using wget:
wget http://lxlinux.com/menu/char-menu wget http://lxlinux.com/menu/imagemagick-menu wget http://lxlinux.com/menu/systeminfo-menu wget http://lxlinux.com/menu/terminal-menu wget http://lxlinux.com/menu/tlaunch
Move each script to /usr/local/bin, and make it executable. These require that xdotool be installed.
To complete the sub-menu installation two edits need to be made in ~/.config/openbox/rc.xml. Copy and paste the yellow-highlited text in Chart 1 on the right into the <menu> section of rc.xml, which is near the bottom. Copy and paste the yellow-highlited text in Chart 2 on the right into the bottom of "keybindings for running applications" section of rc.xml. If you are already using any of these key binding combinations, then pick an unused combination and make the corresponding change in the associated *-menu.
The 8 entries below Advanced Settings are special pipe menus of which Dropbox Install, Help and Libre-Office Install are mostly for beginners. The files for these menus and bl-exit can be downloaded using wget:
wget http://lxlinux.com/menu/bl-exit wget http://lxlinux.com/menu/bl-kb wget http://lxlinux.com/menu/bl-kb.py wget http://lxlinux.com/menu/bl-kb-pipemenu wget http://lxlinux.com/menu/bl-dropbox-pipemenu wget http://lxlinux.com/menu/bl-help-pipemenu wget http://lxlinux.com/menu/bl-libreoffice-pipemenu
Move each script to /usr/bin, and make it executable. These files are from the Bunsen-Lab distro.
The remaining 4 pipe menus are from the Sparky Linux distro and are configured in terms of the 6 generic alternatives mentioned above:
wget http://lxlinux.com/menu/obdevicemenu wget http://lxlinux.com/menu/ob-randr.py wget http://lxlinux.com/menu/obrecent.sh wget http://lxlinux.com/menu/gweather3.py
Move each script to /opt/menu, and make it executable. You will need to edit the weather entry in schema.pl (see the pipe menu image on the left) to reflect the code for your area. To find the code for your city, refer to edge3, and use it in place of the "USMT0231". Replace "Fahrenheit" by "Centigrade" to have the report in centigrade units.