So what is it?
I'm not entirely sure what the "start" menu is called, be it in Windows, or contextually in OpenBox, JWM, SithWM, etc. but essentially, it's a launcher in a familiar menu form. For an equivalent, take a look at mygtkmenu.
Why did I create it?
I settled on DWM as my window manager. While I like dmenu, I prefer a graphical launcher. The closest I could find was mygtkmenu, but the configuration file wasn't in XML, and certain shell commands have to be escaped rather peculiarly. Dissatisfied, I tinkered until this was made.
What are its goals?
Menu generation from an xml sheet
Font size can be altered
Expanders (the tiny arrows that appear before submenus) can be changed
Should hide/unhide itself due to a keybinding
Color scheme can be changed
Why Java, not C?
I don't know C. I'm familiar with Java.
What are the dependencies?
The java runtime environment.
What's the set up?
Download jrootmenu.tar.bz2 (116.56 KB), and extract the contents. The help.html file is located in jrootmenu/menu/root/docs/ and explains pretty much everything, or it should anyhow.
Are you going to provide the source?
The source is included, though it is not heavily commented. The license provides for the modification of the source code but not for (re)distribution of changes or even the original code, therefore, no forking. The source code for the custom look and feel is not provided. However, removing it in no way affects the functionality of JRootMenu.
Can you make a PKGBUILD?
I've read through the PKGBUILD pages on the wiki, and I can't surmise where to even begin. Those pages seem geared for people who are Linux/Arch devs as opposed to just a guy who cobbled together some code to do what he wanted.
I'm satisfied with how it works, functionally-speaking. I made this for myself, and I'm sharing it with the intent that there may be someone out there who was seeking something similar. Or perhaps, it will prompt a competent someone to take this idea and make it in C. If you have suggestions for improving it, feel free to add them to the thread, particularly if they involve some way of decreasing CPU/RAM usage.
21 October 2013
Visual appearance is now controlled by a custom look and feel.
Parameters that alter the visual appearance can be defined within the configuration file (various example themes can be viewed here).
Code changes to simplify certain classes and improve their performance.
Help documentation corrected/updated accordingly with new changes.
3 November 2013
Additional expander icons
Allows for creation of Yes/No dialogs
New sample themes in the configuration file
6 November 2013
Added support for custom icons
Structure of XML configuration file has been changed slightly
11 November 2013
Supports different fonts
Last edited by grimpirate (2013-11-13 22:45:44)
Posted pics of the different chevrons in the imgur album.
Updated as of 16 October 2013 to include the source code.
Last edited by grimpirate (2013-10-16 22:15:05)
thanks for postiing this - i use 9menu at the moment but this has submenus and looks great.
You can like linux without becoming a fanatic!
Not at all chickenPie4tea, thanks for the interest.
I also wanted to take the opportunity to expound on the newest feature I've implemented. I had an issue while testing alternate themes wherein I meant to restart JRootMenu but instead inadvertently selected the option to restart my system. So as to avoid the same mistake twice, I figured the user should be prompted before executing a command if it happens to be a particularly important one (logout/restart/shutdown for instance). The way this is accomplished from the configuration file is by adding a caption="" attribute to the <Shell> element. Thus, when a user clicks that particular item in the menu, a dialog will appear with the user-defined message asking if he wishes to proceed with the action or decline it. Here's an example from the configuration file:
<Shell caption="Shut down computer?">sudo systemctl poweroff</Shell>
Last edited by grimpirate (2013-11-03 19:07:20)
Screenshot of JRootMenu's newest feature - icon support
Now supports different fonts. When you launch the documentation via jrootmenu -h there will be a new Fonts tab available that lists all the fonts available on the system. Furthermore, non-system fonts can be loaded by including a <File></File> element (the actual file itself must be located within the menu/root/fonts/ directory) within the <Root></Root> element of the configuration file and then loaded via its name.
Last edited by grimpirate (2013-11-13 22:48:56)
I would really like to try out jrootmenu but the posted link says that the file is no longer available. From your posted screenshots it looks really nice. Is jrootmenu available somewhere else?
Thanks in advance,
Thank you very much! I have just downloaded the files and will be trying it out!!