>Htpcmenu
Last Edit: Feb. 22, 2014, 11:43 a.m.
HTPC menu - A custom HTPC front-end
I recently built an HTPC (essentially a steambox) but found it cumbersome to run non-steam apps (emulators, etc).
There are a few options out there for this already such as Ice or hyperspin, but I wasn't happy with either of these solutions.
I decided to put together a simple menu based on pygame that could be used to launch all kinds of programs using keyboard or joypad inputs.
I based it on MenuClass from the pygame website.
It can be downloaded here
It's a pretty simple system. It has three menus:
- The menu on the left is a menu-of-menus.
- The menu in the middle is the currently selected menu from the left
- The menu on the right is a quick-jump alphanumeric selector for the middle menu

The menus are stored in JSON files and consist of simple tuples of (Item name, command string).
There is menugen.py which mimics ICE and can create menu files from a supplied executable, folder of files to call it with, and optional additional calling parameters. In the example I created a menu of my Pictures folder, opened with eog (eye of gnome image viewer) with the -fullscreen flag.