/*
 * Root Menu definition for WindowMaker
 *
 * Syntax is:
 *
 * <Title> [SHORTCUT <Shortcut>] <Command> <Parameters>
 *
 * <Title> is any string to be used as title. Must be enclosed with " if it
 * 	has spaces
 * 
 * SHORTCUT specifies a shortcut for that item. <Shortcut> has the
 * same syntax of the shortcuts key options in the 
 * $HOME/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey.
 *
 * You can't specify a shortcut for a MENU or OPEN_MENU entry.
 * 
 * <Command> one of the valid commands: 
 *	MENU - starts (sub)menu definition
 *	END  - end (sub)menu definition
 *	OPEN_MENU - opens a menu from a file, pipe or directory(ies) contents
 *		    and eventually precede each with a command.
 *	WORKSPACE_MENU - adds a submenu for workspace operations. Only one
 *		    workspace_menu is allowed. 		
 *	EXEC <program> - executes an external program
 *	SHEXEC <command> - executes a shell command (like gimp > /dev/null)
 *	EXIT - exits the window manager
 *	RESTART [<window manager>] - restarts WindowMaker or start another
 *			window manager
 *	REFRESH - refreshes the desktop
 *	ARRANGE_ICONS - rearranges the icons on the workspace
 *	SHUTDOWN - kills all clients (and close the X window session)
 *	SHOW_ALL - unhides all windows on workspace
 *	HIDE_OTHERS - hides all windows on the workspace, except the
 *		focused one (or the last one that received focus)
 *	SAVE_SESSION - saves the current state of the desktop, which include
 *		       all running applications, all their hints (geometry,
 *		       position on screen, workspace they live on, the dock
 *		       or clip from where they were launched, and
 *		       if minimized, shaded or hidden. Also saves the current
 *		       workspace the user is on. All will be restored on every
 *		       start of windowmaker until another SAVE_SESSION or
 *		       CLEAR_SESSION is used. If SaveSessionOnExit = Yes; in
 *		       WindowMaker domain file, then saving is automatically
 *		       done on every windowmaker exit, overwriting any
 *		       SAVE_SESSION or CLEAR_SESSION (see below).
 *	CLEAR_SESSION - clears any previous saved session. This will not have
 *		       any effect if SaveSessionOnExit is True.
 *	INFO - shows the Info Panel
 *
 * OPEN_MENU syntax:
 *   1. File menu handling.
 *	// opens file.menu which must contain a valid menu file and inserts
 *	// it in current position
 *	OPEN_MENU file.menu
 *   2. Pipe menu handling.
 *	// opens command and uses it's stdout to construct menu.
 *	// Command's output must be a valid menu description.
 *	// The space between '|' and command itself is optional.
 *      // Use '||' instead of '|' if you want the menu to always update
 *	// when opened. It might be slow.
 *	OPEN_MENU | command
 *      OPEN_MENU || command
 *   3. Directory handling.
 *	// Opens one or more directories and construct a menu with all
 *	// the subdirectories and executable files in them sorted
 *	// alphabetically.
 *	OPEN_MENU /some/dir [/some/other/dir ...]
 *   4. Directory handling with command.
 *	// Opens one or more directories and construct menu with all
 *	// subdirectories and readable files in them sorted alphabetically,
 *	// preceding each of them with command.
 *	OPEN_MENU [options] /some/dir [/some/other/dir ...] WITH command -options
 *		Options:
 * 			-noext 	strip whatever is after the last dot in the
 *				file name
 *
 * <Parameters> is the program to execute.
 *
 * ** Options for command line in EXEC:
 * %s - substitute with current selection
 * %a(title[,prompt]) - opens a input box with the specified title and the
 *			optional prompt	and do substitution with what you typed
 * %w - substitute with XID for the current focused window
 * %W - substitute with the number of the current workspace
 * 
 * You can override special characters (as % and ") with the \ character:
 * ex: xterm -T "\"Hello World\""
 *
 * You can also use character escapes, like \n
 *
 * Each MENU statement must have one mathching END statement at the end.
 *
 * Example:
 *
 * "Test" MENU
 *	"XTerm" EXEC xterm
 *		// creates a submenu with the contents of /usr/openwin/bin
 *	"XView apps" OPEN_MENU "/usr/openwin/bin"
 *		// some X11 apps in different directories
 *	"X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
 *		// set some background images
 *	"Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t
 *		// inserts the style.menu in this entry
 *	"Style" OPEN_MENU style.menu
 * "Test" END
 */

#include "wmmacros"

"Applications" MENU
	"Info" MENU
		"Info Panel" INFO_PANEL
		"Legal" LEGAL_PANEL
		"System Console" EXEC xconsole
		"System Load" SHEXEC xosview || xload
		"Process List" EXEC xterm -e top
		"Manual Browser" EXEC xman
	"Info" END
	"Run..." SHEXEC %a(Run,Type command to run:)
	"XTerm" EXEC xterm -sb 
	"Mozilla Firefox" EXEC firefox
	"Workspaces" WORKSPACE_MENU
	"Applications" MENU
		"Gimp" SHEXEC gimp >/dev/null
  		"Ghostview" EXEC ghostview %a(GhostView,Enter file to view)
		"Xpdf" EXEC xpdf %a(Xpdf,Enter PDF to view)
		"Abiword" EXEC abiword
		"Dia" EXEC dia
		"OpenOffice.org" MENU
			"OpenOffice.org" EXEC ooffice
			"Writer" EXEC oowriter
			"Spreadsheet" EXEC oocalc
			"Draw" EXEC oodraw
			"Impress" EXEC ooimpress
		"OpenOffice.org" END 

		"Editors" MENU
			"XEmacs" EXEC xemacs
			"Emacs" EXEC emacs
			"XJed" EXEC xjed 
			"VI" EXEC xterm -e vi
			"GVIM" EXEC gvim
			"NEdit" EXEC nedit
			"Xedit" EXEC xedit
		"Editors" END

		"Multimedia" MENU
			"XMMS" MENU
				"XMMS" EXEC xmms
				"XMMS play/pause" EXEC xmms -t
				"XMMS stop" EXEC xmms -s
			"XMMS" END
			"Xine video player" EXEC xine
			"MPlayer" EXEC mplayer
		"Multimedia" END
	"Applications" END

	"Utils" MENU
		"Calculator" EXEC xcalc
		"Window Properties" SHEXEC xprop | xmessage -center -title 'xprop' -file -
		"Font Chooser" EXEC xfontsel
		"Magnify" EXEC wmagnify
		"Colormap" EXEC xcmap
		"Kill X Application" EXEC xkill
	"Utils" END

	"Selection" MENU
		"Copy" SHEXEC echo '%s' | wxcopy
		"Mail To" EXEC xterm -name mail -T "Pine" -e pine %s
		"Navigate" EXEC netscape %s
		"Search in Manual" SHEXEC MANUAL_SEARCH(%s)
	"Selection" END

	"Commands" MENU
		"Hide Others" HIDE_OTHERS
		"Show All" SHOW_ALL
		"Arrange Icons" ARRANGE_ICONS
		"Refresh" REFRESH
		"Lock" EXEC xlock -allowroot -usefirst
	"Commands" END

	"Appearance" MENU
		"Themes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
		"Styles" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
		"Icon Sets" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
		"Background" MENU
			"Solid" MENU
				"Black" WS_BACK '(solid, black)'
				"Blue"  WS_BACK '(solid, "#505075")'
				"Indigo" WS_BACK '(solid, "#243e6c")'
				"Bluemarine" WS_BACK '(solid, "#224477")'
				"Purple" WS_BACK '(solid, "#554466")'
				"Wheat"  WS_BACK '(solid, "wheat4")'
				"Dark Gray"  WS_BACK '(solid, "#333340")'
				"Wine" WS_BACK '(solid, "#400020")'
				"Solid" END
			"Gradient" MENU
				"Sunset" WS_BACK '(mvgradient, deepskyblue4, black, deepskyblue4, tomato4)'
				"Sky" WS_BACK '(vgradient, blue4, white)'
    			"Blue Shades" WS_BACK '(vgradient, "#7080a5", "#101020")'
				"Indigo Shades" WS_BACK '(vgradient, "#746ebc", "#242e4c")'
			    "Purple Shades" WS_BACK '(vgradient, "#654c66", "#151426")'
    			"Wheat Shades" WS_BACK '(vgradient, "#a09060", "#302010")'
    			"Grey Shades" WS_BACK '(vgradient, "#636380", "#131318")'
    			"Wine Shades" WS_BACK '(vgradient, "#600040", "#180010")'
			"Gradient" END
			"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
		"Background" END
		"Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
		"Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
		"Preferences Utility" EXEC /usr/local/GNUstep/Applications/WPrefs.app/WPrefs
	"Appearance" END

	"Session" MENU
		"Save Session" SAVE_SESSION
		"Clear Session" CLEAR_SESSION
		"Restart Window Maker" RESTART
		"Start BlackBox" RESTART blackbox
		"Start IceWM" RESTART icewm
		"Exit"  EXIT
	"Session" END
"Applications" END


