WPrefs: Display warning when attempting to modify a read-only menu file.
[wmaker-crm.git] / WindowMaker / menu.in
blobf8a209c86fc90a9e9a916e0f6531e52f01988022
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  *      // Use #usergnusteppath# as a placeholder for the path to the user
78  *      // GNUstep directory.  Window Maker will replace this with the value
79  *      // of GNUSTEP_USER_ROOT, if this environment variable is set, or
80  *      // "~/GNUstep" otherwise
81  *
82  * <Parameters> is the program to execute.
83  *
84  * ** Options for command line in EXEC:
85  * %s - substitute with current selection
86  * %a(title[,prompt]) - opens an input box with the specified title and the
87  *                      optional prompt and do substitution with what you typed
88  * %w - substitute with XID for the current focused window
89  * %W - substitute with the number of the current workspace
90  * 
91  * You can override special characters (as % and ") with the \ character:
92  * ex: xterm -T "\"Hello World\""
93  *
94  * You can also use character escapes, like \n
95  *
96  * Each MENU statement must have one mathching END statement at the end.
97  *
98  * Example:
99  *
100  * "Test" MENU
101  *      "XTerm" EXEC xterm
102  *              // creates a submenu with the contents of /usr/openwin/bin
103  *      "XView apps" OPEN_MENU "/usr/openwin/bin"
104  *              // some X11 apps in different directories
105  *      "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
106  *              // set some background images
107  *      "Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t
108  *              // inserts the style.menu in this entry
109  *      "Style" OPEN_MENU style.menu
110  * "Test" END
111  */
113 #include "wmmacros"
115 "Applications" MENU
116         "Info" MENU
117                 "Info Panel" INFO_PANEL
118                 "Legal" LEGAL_PANEL
119                 "System Console" EXEC xconsole
120                 "System Load" SHEXEC xosview || xload
121                 "Process List" EXEC xterm -e top
122                 "Manual Browser" EXEC xman
123         "Info" END
124         "Run..." SHEXEC %a(Run,Type command to run:)
125         "XTerm" EXEC xterm -sb 
126         "Mozilla Firefox" EXEC firefox
127         "Workspaces" WORKSPACE_MENU
128         "Applications" MENU
129                 "Gimp" SHEXEC gimp >/dev/null
130                 "Ghostview" EXEC ghostview %a(GhostView,Enter file to view)
131                 "Xpdf" EXEC xpdf %a(Xpdf,Enter PDF to view)
132                 "Abiword" EXEC abiword
133                 "Dia" EXEC dia
134                 "OpenOffice.org" MENU
135                         "OpenOffice.org" EXEC ooffice
136                         "Writer" EXEC oowriter
137                         "Spreadsheet" EXEC oocalc
138                         "Draw" EXEC oodraw
139                         "Impress" EXEC ooimpress
140                 "OpenOffice.org" END 
142                 "Editors" MENU
143                         "XEmacs" EXEC xemacs
144                         "Emacs" EXEC emacs
145                         "XJed" EXEC xjed 
146                         "VI" EXEC xterm -e vi
147                         "GVIM" EXEC gvim
148                         "NEdit" EXEC nedit
149                         "Xedit" EXEC xedit
150                 "Editors" END
152                 "Multimedia" MENU
153                         "XMMS" MENU
154                                 "XMMS" EXEC xmms
155                                 "XMMS play/pause" EXEC xmms -t
156                                 "XMMS stop" EXEC xmms -s
157                         "XMMS" END
158                         "Xine video player" EXEC xine
159                         "MPlayer" EXEC mplayer
160                 "Multimedia" END
161         "Applications" END
163         "Utils" MENU
164                 "Calculator" EXEC xcalc
165                 "Window Properties" SHEXEC xprop | xmessage -center -title 'xprop' -file -
166                 "Font Chooser" EXEC xfontsel
167                 "Magnify" EXEC wmagnify
168                 "Colormap" EXEC xcmap
169                 "Kill X Application" EXEC xkill
170         "Utils" END
172         "Selection" MENU
173                 "Copy" SHEXEC echo '%s' | wxcopy
174                 "Mail To" EXEC xterm -name mail -T "Pine" -e pine %s
175                 "Navigate" EXEC netscape %s
176                 "Search in Manual" SHEXEC MANUAL_SEARCH(%s)
177         "Selection" END
179         "Commands" MENU
180                 "Hide Others" HIDE_OTHERS
181                 "Show All" SHOW_ALL
182                 "Arrange Icons" ARRANGE_ICONS
183                 "Refresh" REFRESH
184                 "Lock" EXEC xlock -allowroot -usefirst
185         "Commands" END
187         "Appearance" OPEN_MENU "appearance.menu"
189         "Session" MENU
190                 "Save Session" SAVE_SESSION
191                 "Clear Session" CLEAR_SESSION
192                 "Restart Window Maker" RESTART
193                 "Start BlackBox" RESTART blackbox
194                 "Start IceWM" RESTART icewm
195                 "Exit"  EXIT
196         "Session" END
197 "Applications" END