Fix segfault when SwitchPanelImages = None and user press Alt+tab.
[wmaker-crm.git] / WindowMaker / menu
blob7491f8d024518bacfb7591f3c5b1d9f9c042a663
1 /*
2  * Root Menu definition for WindowMaker
3  *
4  * Syntax is:
5  *
6  * <Title> [SHORTCUT <Shortcut>] <Command> <Parameters>
7  *
8  * <Title> is any string to be used as title. Must be enclosed with " if it
9  *      has spaces
10  * 
11  * SHORTCUT specifies a shortcut for that item. <Shortcut> has the
12  * same syntax of the shortcuts key options in the 
13  * $HOME/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey.
14  *
15  * You can't specify a shortcut for a MENU or OPEN_MENU entry.
16  * 
17  * <Command> one of the valid commands: 
18  *      MENU - starts (sub)menu definition
19  *      END  - end (sub)menu definition
20  *      OPEN_MENU - opens a menu from a file, pipe or directory(ies) contents
21  *                  and eventually precede each with a command.
22  *      WORKSPACE_MENU - adds a submenu for workspace operations. Only one
23  *                  workspace_menu is allowed.          
24  *      EXEC <program> - executes an external program
25  *      SHEXEC <command> - executes a shell command (like gimp > /dev/null)
26  *      EXIT - exits the window manager
27  *      RESTART [<window manager>] - restarts WindowMaker or start another
28  *                      window manager
29  *      REFRESH - refreshes the desktop
30  *      ARRANGE_ICONS - rearranges the icons on the workspace
31  *      SHUTDOWN - kills all clients (and close the X window session)
32  *      SHOW_ALL - unhides all windows on workspace
33  *      HIDE_OTHERS - hides all windows on the workspace, except the
34  *              focused one (or the last one that received focus)
35  *      SAVE_SESSION - saves the current state of the desktop, which include
36  *                     all running applications, all their hints (geometry,
37  *                     position on screen, workspace they live on, the dock
38  *                     or clip from where they were launched, and
39  *                     if minimized, shaded or hidden. Also saves the current
40  *                     workspace the user is on. All will be restored on every
41  *                     start of windowmaker until another SAVE_SESSION or
42  *                     CLEAR_SESSION is used. If SaveSessionOnExit = Yes; in
43  *                     WindowMaker domain file, then saving is automatically
44  *                     done on every windowmaker exit, overwriting any
45  *                     SAVE_SESSION or CLEAR_SESSION (see below).
46  *      CLEAR_SESSION - clears any previous saved session. This will not have
47  *                     any effect if SaveSessionOnExit is True.
48  *      INFO - shows the Info Panel
49  *
50  * OPEN_MENU syntax:
51  *   1. File menu handling.
52  *      // opens file.menu which must contain a valid menu file and inserts
53  *      // it in current position
54  *      OPEN_MENU file.menu
55  *   2. Pipe menu handling.
56  *      // opens command and uses its stdout to construct menu.
57  *      // Command's output must be a valid menu description.
58  *      // The space between '|' and command itself is optional.
59  *      // Use '||' instead of '|' if you want the menu to always update
60  *      // when opened. It might be slow.
61  *      OPEN_MENU | command
62  *      OPEN_MENU || command
63  *   3. Directory handling.
64  *      // Opens one or more directories and constructs a menu with all
65  *      // the subdirectories and executable files in them sorted
66  *      // alphabetically.
67  *      OPEN_MENU /some/dir [/some/other/dir ...]
68  *   4. Directory handling with command.
69  *      // Opens one or more directories and constructs menu with all
70  *      // subdirectories and readable files in them sorted alphabetically,
71  *      // preceding each of them with command.
72  *      OPEN_MENU [options] /some/dir [/some/other/dir ...] WITH command -options
73  *              Options:
74  *                      -noext  strip whatever is after the last dot in the
75  *                              file name
76  *
77  * <Parameters> is the program to execute.
78  *
79  * ** Options for command line in EXEC:
80  * %s - substitute with current selection
81  * %a(title[,prompt]) - opens an input box with the specified title and the
82  *                      optional prompt and do substitution with what you typed
83  * %w - substitute with XID for the current focused window
84  * %W - substitute with the number of the current workspace
85  * 
86  * You can override special characters (as % and ") with the \ character:
87  * ex: xterm -T "\"Hello World\""
88  *
89  * You can also use character escapes, like \n
90  *
91  * Each MENU statement must have one mathching END statement at the end.
92  *
93  * Example:
94  *
95  * "Test" MENU
96  *      "XTerm" EXEC xterm
97  *              // creates a submenu with the contents of /usr/openwin/bin
98  *      "XView apps" OPEN_MENU "/usr/openwin/bin"
99  *              // some X11 apps in different directories
100  *      "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
101  *              // set some background images
102  *      "Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t
103  *              // inserts the style.menu in this entry
104  *      "Style" OPEN_MENU style.menu
105  * "Test" END
106  */
108 #include "wmmacros"
110 "Applications" MENU
111         "Info" MENU
112                 "Info Panel" INFO_PANEL
113                 "Legal" LEGAL_PANEL
114                 "System Console" EXEC xconsole
115                 "System Load" SHEXEC xosview || xload
116                 "Process List" EXEC xterm -e top
117                 "Manual Browser" EXEC xman
118         "Info" END
119         "Run..." SHEXEC %a(Run,Type command to run:)
120         "XTerm" EXEC xterm -sb 
121         "Mozilla Firefox" EXEC firefox
122         "Workspaces" WORKSPACE_MENU
123         "Applications" MENU
124                 "Gimp" SHEXEC gimp >/dev/null
125                 "Ghostview" EXEC ghostview %a(GhostView,Enter file to view)
126                 "Xpdf" EXEC xpdf %a(Xpdf,Enter PDF to view)
127                 "Abiword" EXEC abiword
128                 "Dia" EXEC dia
129                 "OpenOffice.org" MENU
130                         "OpenOffice.org" EXEC ooffice
131                         "Writer" EXEC oowriter
132                         "Spreadsheet" EXEC oocalc
133                         "Draw" EXEC oodraw
134                         "Impress" EXEC ooimpress
135                 "OpenOffice.org" END 
137                 "Editors" MENU
138                         "XEmacs" EXEC xemacs
139                         "Emacs" EXEC emacs
140                         "XJed" EXEC xjed 
141                         "VI" EXEC xterm -e vi
142                         "GVIM" EXEC gvim
143                         "NEdit" EXEC nedit
144                         "Xedit" EXEC xedit
145                 "Editors" END
147                 "Multimedia" MENU
148                         "XMMS" MENU
149                                 "XMMS" EXEC xmms
150                                 "XMMS play/pause" EXEC xmms -t
151                                 "XMMS stop" EXEC xmms -s
152                         "XMMS" END
153                         "Xine video player" EXEC xine
154                         "MPlayer" EXEC mplayer
155                 "Multimedia" END
156         "Applications" END
158         "Utils" MENU
159                 "Calculator" EXEC xcalc
160                 "Window Properties" SHEXEC xprop | xmessage -center -title 'xprop' -file -
161                 "Font Chooser" EXEC xfontsel
162                 "Magnify" EXEC wmagnify
163                 "Colormap" EXEC xcmap
164                 "Kill X Application" EXEC xkill
165         "Utils" END
167         "Selection" MENU
168                 "Copy" SHEXEC echo '%s' | wxcopy
169                 "Mail To" EXEC xterm -name mail -T "Pine" -e pine %s
170                 "Navigate" EXEC netscape %s
171                 "Search in Manual" SHEXEC MANUAL_SEARCH(%s)
172         "Selection" END
174         "Commands" MENU
175                 "Hide Others" HIDE_OTHERS
176                 "Show All" SHOW_ALL
177                 "Arrange Icons" ARRANGE_ICONS
178                 "Refresh" REFRESH
179                 "Lock" EXEC xlock -allowroot -usefirst
180         "Commands" END
182         "Appearance" MENU
183                 "Themes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
184                 "Styles" OPEN_MENU -noext STYLES_DIR $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle
185                 "Icon Sets" OPEN_MENU -noext ICON_SETS_DIR $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons
186                 "Background" MENU
187                         "Solid" MENU
188                                 "Black" WS_BACK '(solid, black)'
189                                 "Blue"  WS_BACK '(solid, "#505075")'
190                                 "Indigo" WS_BACK '(solid, "#243e6c")'
191                                 "Bluemarine" WS_BACK '(solid, "#224477")'
192                                 "Purple" WS_BACK '(solid, "#554466")'
193                                 "Wheat"  WS_BACK '(solid, "wheat4")'
194                                 "Dark Gray"  WS_BACK '(solid, "#333340")'
195                                 "Wine" WS_BACK '(solid, "#400020")'
196                                 "Solid" END
197                         "Gradient" MENU
198                                 "Sunset" WS_BACK '(mvgradient, deepskyblue4, black, deepskyblue4, tomato4)'
199                                 "Sky" WS_BACK '(vgradient, blue4, white)'
200                         "Blue Shades" WS_BACK '(vgradient, "#7080a5", "#101020")'
201                                 "Indigo Shades" WS_BACK '(vgradient, "#746ebc", "#242e4c")'
202                             "Purple Shades" WS_BACK '(vgradient, "#654c66", "#151426")'
203                         "Wheat Shades" WS_BACK '(vgradient, "#a09060", "#302010")'
204                         "Grey Shades" WS_BACK '(vgradient, "#636380", "#131318")'
205                         "Wine Shades" WS_BACK '(vgradient, "#600040", "#180010")'
206                         "Gradient" END
207                         "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
208                 "Background" END
209                 "Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
210                 "Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
211                 "Preferences Utility" EXEC /usr/local/GNUstep/Applications/WPrefs.app/WPrefs
212         "Appearance" END
214         "Session" MENU
215                 "Save Session" SAVE_SESSION
216                 "Clear Session" CLEAR_SESSION
217                 "Restart Window Maker" RESTART
218                 "Start BlackBox" RESTART blackbox
219                 "Start IceWM" RESTART icewm
220                 "Exit"  EXIT
221         "Session" END
222 "Applications" END