dvd-menu - Creates a DVD navigation menu with buttons.
dvd-menu -t <ButtonText1> ... -t <ButtonTextN> -f <XML_file1 | MPEG_file1> ... -f <XML_fileN | MPEG_fileN> [-o <output directory>] [-n <DVD Title>] [-b <background jpeg>] [-e <embed image>] [-a <audiofile>] [-p] [-c] [-D] [-W] [-mp2] [-iso] [-nomenu] [-L]
Creates a simple top-level DVD menu with buttons that link to movies. Accepts the output XML files from dvd-slideshow or your own self-defined MPEG movies.
-t <Button text> The button text visible on the menu which will link to each corresponding (in order passed) -f option. Use this option multiple times with -f to define multiple titles/buttons.
-f <Input file> Can be an XML file output from dvd-slidshow or a full-scale mpeg2 video in the proper format (.vob). No error checking is done if you pass a MPEG2 .vob input file, so you are on your own. Use this option multiple times with -t to define multiple titles/buttons.
[-o <Output directory>] Directory where the final DVD filesystem files VIDEO_TS/ will be written.
[-n <DVD Title>] This will be printed at the top of the DVD menu page.
[-b <Background jpeg>] Image to use for the background DVD menu. If no file is specified, a blue gradient will be used for the menu background.
[-e <embed image>] Embed an image in the menu screen. This image will show up to the left of the menu buttons.
[-a <Audio file>] Audio file to play while the menu is active. Supports mp3, ogg, or wav formats at this point.
[-mp2] Use mp2 audio by default (requires ffmpeg with ac3 encoding). The default audio format is now AC3 instead of mpeg2 sinceI have found that many DVD players do not play the audio when it is in mp2 format, so this may be a better, more compatible option for most people.
[-p] Use PAL output video format instead of NTSC.
[-c] Use continuous <post> commands within dvdauthor. This will make each video play one after another without going back up to the main menu until the last video is finished. If this option is not used, the dvd will return to the top menu after playing each track.
[-D] Do not call dvdauthor. This will tell dvd-menu to create the menu and output xml files to pass to dvdauthor, but will not actually run dvdauthor. Useful for people who want to modify their xml file before running dvdauthor.
[-W] Do not generate 50% transparent white background overlays under the title and menu buttons.
[-iso] Create iso image with mkisofs when finished.
[-nomenu] Do not create a menu. Useful for just finishing the dvdauthor xml file from one video that you want to just start playing when the user puts it into a dvd player.
[-L] Create a low quality, half-slize menu. This works with dvd-slideshow so you can render your whole project in low-quality mode and still test everything quickly.
[-theme <themefile>] Use the given theme when setting variables/colors/etc. Themes are installed in /opt/dvd-slideshow/themes or in a local directory ~/.dvd-slideshow/themes
[-fadein] Fade in from background before menu
[-fadeout] Fade to background after menu buttons are pressed.
[-vcd] (alpha) Create vcd .cue and .bin files (requires vcdimager) [-svcd] (alpha) Create svcd .cue and .bin files (requires vcdimager)
-h Prints help file (basically this manpage).
Settings can be passed on the command line, in a default ~/.dvd-slideshow/dvd-slideshowrc file, or in a theme file. The order in which the script reads the settings is as follows:
Default script settings --> ~/.dvd-slideshow/dvd-slideshowrc --> theme --> command line
so each successive setting will over-ride the previous settings if they are already set.
With the syntax shown below, the following variables can be specified in the ~/.dvd-slideshow/dvd-slideshowrc file. All lines are optional, and everything after the # character is not read.
menu_continuous_play=0 # set to 1 to play one file after another without going back up to menu.
menu_fadein=0 # set to 1 to fade in to menu
menu_fadeout=0 # set to 1 to fade out from menu after a button is pressed.
menu_background=steelblue # or, use hex #RRGGBB
#menu_background="#882211" # use a hex RGB color if you wish
#menu_background="mybackground.jpg" # specify a real image if you want
## pick other colors here: 
menu_fade_to_image="black" # image to fade to/from before/after menu
#menu_title_font="/usr/share/fonts/default/Type1/n019004l.pfb" # Helvetical bold URW font
menu_panel_location_y=175 # distance of the top of the first menu item to the top of the screen
#menu_button_font="/usr/share/fonts/default/Type1/n019004l.pfb" # Helvetical bold URW font
A theme is just a file containing a list of configuration variables, and possibly also background images, fonts, or audio in the same directory.
Any of the configuration variables can be placed in a dvd-slideshow theme file to control dvd-menu also.
This will be explained more later...
There are a few heavily-commented examples available in the examples section of the dvd-slideshow webpage, which you can find at 
Scott Dylewski <scott at dylewski dot com>