Last Edit: Feb. 22, 2014, 11:43 a.m.

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 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.