How To Create a Custom Theme
  • How to Make a Custom Theme:

    To start making a custom theme, it is suggested that you first navigate to /home/pi/pimame/pimame-menu/themes and duplicate the 'default' folder. 

    • Rename the copied folder to whatever you want your theme name to be (all lowercase)
    • go into your newly renamed folder and open 'theme.yaml' in your favorite text editor
    • There is a template file (themes/theme - documented.yaml) that gives additional notes

    The yaml file is divided into sections:

    • First section: main menu defaults (name of theme, header height for logo, logo image, header background color, number of items per row, generic icon [will be used if icon is missing])
    • Second section: Sound files for navigation sounds (must be 16-bit or lower .wav file)
    • Third section: Loading screen image, Font file, popup menu options
    • Fourth section: labels for menu item font specifics
    • Fifth section: Rom count font specifics
    • Sixth section: Rom list -> font, background, romlist menu item
    • Seventh section: boxart size, location, missing boxart image, etc.
    • Eighth section: list menu items and their un/selected icons
    Every menu item has 2 states - selected and unselected. You can use the same icon for both states, but they both have to be specified in the eighth section, otherwise the generic menu icon will be used. The label, romcount, and romlist (4th, 5th, & 6th) sections all have options for selected states as well. This allows you to change the font color, background color, or font boldness when the item is selected. Png files with alpha channel is supported for all icons. Just remember that the size of each file will affect loading time. 

    All images, sound files, and font files should be saved inside of your theme folder. When you are ready to test it out, you can use the popup menu to switch to your theme. As long as your theme folder contains the theme.yaml file and is located within the /home/pi/pimame/pimame-menu/themes/ folder, it should be recognized. 
    image
  • Nice, thanks for the info! One of these days, it would be nice to customize it to my personal taste :)
  • Thank you for this sir!
  • No problem. If anyone creates a custom theme, let me know and we'll find a way to host it!
  • This is a cool 'How to', Thank you

    There's few of these little 'how to's' floating around in the discussions section would a 'Category' for them be a good idea? You know like the 'Solved Issues' one.
  • Ive just skinned the default one with my own graphics but it would be neat to create one from scratch.
  • Ive just skinned the default one with my own graphics but it would be neat to create one from scratch.
  • I have run into a bit of an issue. I was attempting to make a custom theme by using the default and Tron themes as my template. I got it working for the most part but then once when it restarted to change to the theme I got an error "IOError: [Errno2] No such file or directory: u'/home/pi/pimame-menu/themes/\u201cdefault\u201d/theme.yaml'. I went into config.yaml and tried to manually change it to one of the other themes manually but I always get this error with the theme name between"/\u201c". Any ideas what has happened here? I hope to avoid doing a fresh image on the SD Card if possible as my Kickstarter card was lost in the mail. Thanks
  • \u201c and \u201d are unicode characters (left and right double-quotation marks, respectively). I'm guessing that you have an extra double or single quotation mark somewhere in your config.yaml file (or possibly you put a double or single quote in the folder name). If you can't find it anywhere, just copy and paste this.
  • any chance you could stick this in the FAQ thread also as im sure ill get back to it eventually also ^_^
  • yeah, I'll add it with the next update. I"m going to be changing some things around with the next update to support box-art/descriptions as well as possibly a new 'flow' mode rather than the standard grid.
  • Sweet sounds awesome mholgatem!

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!