1XDE-MENU(1) User Commands XDE-MENU(1)
2
3
4
6 xde-menu - XDG compliant menus for XDE
7
9 xde-menu [ COMMAND ] [ OPTIONS ]
10 xde-menugen [ OPTIONS ]
11 xde-menu-popmenu [ OPTIONS ]
12 xde-menu-monitor [ OPTIONS ]
13 xde-menu-replace [ OPTIONS ]
14 xde-menu-refresh [ OPTIONS ]
15 xde-menu-restart [ OPTIONS ]
16 xde-menu-quit [ OPTIONS ]
17
19 xde-menu is a command-line program that can be used to generate an XDG
20 compliant menu in a number of formats to support configuration of the
21 root menu for light-weight window managers. It is a menu generator,
22 system tray menu, and pop-up menu that can be used to both generate XDG
23 compliant menus for a number of popular light-weight window managers as
24 well as providing a system tray and pop-up menu.
25
26 xde-menu is capable of generating either a complete menu for a number
27 of well-known window managers, or for generating a sub-menu that can be
28 included in the root menu of those window managers.
29
31 xde-menu uses getopt_long_only(3), so non-ambiguous option
32 abbreviations are permitted. xde-menu recognizes the following
33 options:
34
35 COMMAND OPTIONS
36 Command options affect the primary operating mode of the program. Only
37 one command option can be specified. xde-menu recognizes the following
38 command options:
39
40 [--menugen, -G]
41 Specifies that xde-menu is to generate a window manager root-menu
42 and then exit. No new instance is created: only the root-menu is
43 generated and then the program exits. This option does not cause
44 an error when an instance of xde-menu is running (or not). This is
45 the default when xde-menu is invoked as xde-menugen, or when no
46 command option is specified.
47
48 xde-menu is typically used with the --menugen option to generate an
49 initial window manager root menu as part of the initialization
50 sequence of a particular window manager or panel. The --wmname,
51 --format, --output and --die-on-error options are normally
52 specified in this case.
53
54 --monitor, -g
55 Specifies that xde-menu is not to exit after successfully
56 generating the menu, but to monitor pertinent directories for
57 changes, and regenerate the menu when changes are detected. This
58 option implies the --output option, without an argument (i.e. the
59 default or detected menu file will be used).
60
61 When changes are detected in the application database, the menu is
62 regenerated after an interval of no changes. When changes are
63 detected to the active window manager, the menu is regenerated, to
64 the location and in the format of the new window manager, after an
65 interval of no changes.
66
67 Runs a new instance of xde-menu and specifies that the program is
68 to monitor pertinent directories for changes and regenerate all
69 menus (root, system tray and pop-up) when changes are detected.
70 This option implies the --output option. This option normally
71 requires libinotify(3). This option causes an error when another
72 instance of xde-menu is already running. (See the --replace
73 option, below.) This is the default when xde-menu is invoked as
74 xde-menu-monitor(1).
75
76 When performing background operation with the --monitor command
77 option, the program will add a status icon to the system tray. The
78 status icon will be able to be used to pop up the menu. Addition
79 of a status icon to the system tray can be avoided using the
80 --notray option. The status icon can also be removed using the
81 status icon pop-up configuration menu.
82
83 xde-menu is typically invoked as an XDG autostart item with the
84 --monitor command option at startup of the X11 session. The
85 --wmname and --format options can often be unspecified. An XDG
86 autostart .desktop file is installed when the package installs that
87 will invoke xde-menu and add a status icon to the system tray.
88
89 --popmenu, -P
90 Specifies that xde-menu is to request a running instance to pop-up
91 a menu. The menu to pop up, the location and invocation of the
92 pop-up is controlled by additional general options. Depending on
93 the setting of the --button option, this will either pop up the
94 menu at the current pointer position, or will pop up the menu at
95 the centre of the screen. When multiple monitors are present, the
96 menu will pop up at the centre of the monitor in which the pointer
97 currently resides (which is used by most tiling window managers as
98 the "current" monitor). This option does not cause an error when
99 no current instance of xde-menu is running. This is the default
100 when xde-menu is invoked as xde-menu-popmenu(1).
101
102 For pop-up menu operation, an background instance of xde-menu can
103 be asked to pop up an applications or other menu using the
104 --popmenu command option. The major use of this operation is to
105 pop a menu from another program (such as a panel), or to pop a menu
106 as a result of a button click or button press using window manager
107 bindings.
108
109 --refresh, -E
110 Asks a running instance of xde-menu to refresh the menu. This is
111 normally not required when xde-menu is run with the --monitor
112 option, as xde-menu then detects when .desktop files, icons, theme
113 files or window managers have changed and automatically refreshes
114 the menus in response. This option causes an error when no current
115 instance of xde-menu is running. This is the default when xde-menu
116 is invoked as xde-menu-refresh(1).
117
118 --restart, -S
119 Asks a running instance of xde-menu to restart (re-execute itself
120 with the same options and arguments). This is useful when the xde-
121 menu executables have been upgraded. This option causes an error
122 when no current instance of xde-menu is running. This is the
123 default when xde-menu is invoked as xde-menu-restart(1).
124
125 --replace, -R
126 Replace a currently running instance (that was invoked with the
127 --monitor option). It is not an error if no other instance is
128 running. Runs a new instance of xde-menu and specifies that the
129 program is to monitor pertinent directories for changes and
130 regenerate all menus when changes are detected. This option
131 implies the --output and --monitor option. This option normally
132 requires libinotify(3). This option (unlike --monitor) does not
133 cause an error when another instance of xde-menu is already
134 running, and simply replaces all other instances. This is the
135 default when xde-menu is invoked as xde-menu-replace(1).
136
137 --quit, -q
138 Ask a currently running instance (that was invoked with the
139 --monitor option) to quit. It is not an error if no other instance
140 is running. This is the default when xde-menu is invoked as
141 xde-menu-quit(1).
142
143 --help, -h, -?, --?
144 Print usage information, including the current values of option
145 defaults, and exit.
146
147 --version, -V
148 Print version information and exit.
149
150 --copying, -C
151 Print copying information and exit.
152
153 GENERAL OPTIONS
154 --display DISPLAY
155 Specify the display to use (overriding the "DISPLAY" environment
156 variable). The default is the value of the "DISPLAY" environment
157 variable.
158
159 --filename, -c FILENAME
160 Use a different configuration file from the default. The default
161 is the file $XDG_CONFIG_HOME/xde-menu/rc. Any resources not
162 present in the configuration file will be taken from from the
163 /usr/share/X11/app-defaults/XDE-Menu resource file. Resources
164 present in the display's RESOURCE_MANAGER property will take
165 precedence over any setting in these files.
166
167 --notray
168 Run without installing the menu in the system tray. This is the
169 default when the program in invoked as xde-menu-generate(1) or when
170 the --menugen option is specified.
171
172 This option can be set with the resource xde-menu.systray.
173
174 --nogenerate
175 Do not generate window manager root menus. This option is invalid
176 when no command option is specified, or when the program is invoked
177 as xde-menugen. When combined with the --notray option, the
178 program will background itself and service --popmenu requests only.
179
180 -x, --exit
181 When running in the foreground and generating window manager root
182 menus, exit the main process immediately after generating menus.
183 This permits window manager root menus to be generated before
184 launching the window manager, but not waiting longer than
185 necessary. The default is to run in the foreground and continue to
186 run in the foreground, even after generating window manager root
187 menus.
188
189 --verbose[=LEVEL], -v[LEVEL]
190 When generating output, generate more verbose output. Increments
191 or sets the output verbosity to LEVEL. The default level is 1.
192 Normal output is printed to standard output. This option may be
193 repeated.
194
195 --debug[=LEVEL], -D[LEVEL]
196 Print debugging information to standard error during operation.
197 Increments or sets the debug verbosity to LEVEL. The default level
198 is 0. Debugging output is printed to standard error. This option
199 may be repeated.
200
201 MENU FORMAT OPTIONS
202 The following options affect the formatting and output of the window
203 manager root window menu, system tray menu and pop-up menu. Not all
204 options affect the system tray and pop-up menus.
205
206 --wmname, -w WMNAME
207 Specifies the name of the window manager for which menus are to be
208 generated. Currently recognized window managers are as follows:
209
210 2bwm(1), adwm(1), aewm(1), aewm++(1), afterstep(1), awesome(1),
211 blackbox(1), bspwm(1), ctwm(1), cwm(1), dtwm(1), dwm(1),
212 echinus(1), etwm(1), failsafewm(1), fluxbox(1), flwm(1), fvwm(1),
213 glasswm(1), goomwwm(1), herbstluftwm(1), i3(1), icewm(1), jwm(1),
214 larswm(1), matwm2(1), metacity(1), mvwm(1), mwm(1), openbox(1),
215 pekwm(1), spectrwm(1), twm(1), uwm(1), vtwm(1), waimea(1), wind(1),
216 wm2(1), wmaker(1), wmii(1), wmx(1), xdwm(1) and yeahwm(1).
217
218 When unspecified, or when a window manager change is detected, the
219 setting of the "_XDE_WM_NAME" property on the root window (or the
220 "WM_NAME" or "_NET_WM_NAME" property on the window manager check
221 window, or on the window owning the window manager selection,
222 "WM_S%d") is examined to determine the window manager name. This
223 is accomplished by converting the value of either property to all
224 lowercase. See also, "ENVIRONMENT" and "PROPERTIES".
225
226 When the program is running in monitor mode for the active window
227 manager, the window manager name need not be specified explicitly.
228 However, when using the program in --menugen mode to simply
229 generate a root menu without a "DISPLAY" environment variable, this
230 option (or the --format option) must be specified explicitly.
231
232 --format, -f FORMAT
233 Specify the output format. Recognized output formats are as
234 follows:
235
236 2bwm(1), adwm(1), aewm(1), aewm++(1), afterstep(1), awesome(1),
237 blackbox(1), bspwm(1), ctwm(1), cwm(1), dtwm(1), dwm(1),
238 echinus(1), etwm(1), failsafewm(1), fluxbox(1), flwm(1), fvwm(1),
239 glasswm(1), goomwwm(1), herbstluftwm(1), i3(1), icewm(1), jwm(1),
240 larswm(1), matwm2(1), metacity(1), mvwm(1), mwm(1), openbox(1),
241 pekwm(1), spectrwm(1), twm(1), uwm(1), vtwm(1), waimea(1), wind(1),
242 wm2(1), wmaker(1), wmii(1), wmx(1), xdwm(1), yeahwm(1).
243
244 When unspecified, the setting or implied setting of the --wmname
245 option is used. If the --wmname option is also unspecified, or
246 when a window manager change is detected, the setting of the
247 "_XDE_WM_NAME" property on the root window (or the "WM_NAME" or
248 "_NET_WM_NAME" property on the window manager check window, or on
249 the window owning the window manager selection, "WM_S%d") is
250 examined to determine the window manager name. This is
251 accomplished by converting the first word in the value of either
252 property to all lowercase. See also, "ENVIRONMENT" and
253 "PROPERTIES".
254
255 When the program is running in monitor mode for the active window
256 manager, the format need not be specified explicitly. However,
257 when using the program in --menugen mode to simply generate a root
258 menu without a "DISPLAY" environment variable, this option (or the
259 --wmname option) must be specified explicitly.
260
261 Note that openbox(1) and wmaker(1) support both an old and new menu
262 format. The old formats are only selected when explicitly
263 specified as "openboxold" or "wmakerold".
264
265 Note also that perlpanel(1) format is not associated with a
266 specific window manager; however, the --wmname option is used to
267 determine which entries to place in the perl panel output and the
268 --desktop option is used to determine which application or system
269 entries to include.
270
271 --fullmenu, -F, --nofullmenu, -l
272 When specified, output a full menu and not only the application
273 sub-menu, or not. The default is to output a full menu. This also
274 affects the system tray menu and pop-up menus accordingly.
275
276 --desktop, -d DESKTOP
277 Specify the desktop name for "NotShowIn" and "OnlyShowIn"
278 comparisons. The default is the all uppercase string corresponding
279 to the window manager name, (or the desktop name explicitly
280 specified for the window manager and format), unless the
281 "XDG_CURRENT_DESKTOP" environment variable is defined.
282
283 --root-menu, -r MENU
284 Specify the location of the root menu file. The default is
285 calculated using XDG environment variables (see "ENVIRONMENT"), and
286 defaults to the file ${XDG_MENU_PREFIX}applications.menu in the
287 $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS search path. Note, however, that
288 xde-menu supports both "applications" and "system" menus using the
289 --menu option.
290
291 --output, -o [FILENAME]
292 Write the window manager root menu output to the file, FILENAME.
293 This is particularly useful with option --die-on-error as the
294 output will not be written at all if an error is encountered. If
295 the FILENAME is not specified, the setting of the "_XDE_WM_MENU"
296 property on the root window is examined to determine the location
297 of the menu file. When the property is not set or not available,
298 the default menu location for the current --wmname or --format will
299 be used.
300
301 Note that not all light-weight window managers support a root menu.
302 Note also that at startup, xde-menu will wait several seconds for a
303 window manager to appear if one is not present at initialization
304 and neither the --wmname nor --format options are specified.
305
306 --icons, --noicons, -I
307 Include or do not include icons in the generated menu files. This
308 option has no effect when it is not possible to generate icons for
309 the menu format. That is, when the --format is one such as
310 blackbox(1), or waimea(1), it is not possible to place icons in the
311 root menu and this option is therefore ignored. The default is to
312 place icons in icon capable generated menus.
313
314 This option affects system tray menus and pop-up menus as well.
315 The default for system tray and pop-up menus is to only place icons
316 in the generated menus when the --format also supports icons (to
317 mimic the behaviour of the underlying window manager). When the
318 window manager --format does not support a root menu, (e.g.
319 dwm(1)), icons will be added to the menu.
320
321 --theme THEME
322 Specify the theme name to use when displaying menus. The default
323 is to obtain the theme name from the default locations (such as the
324 $HOME/.gtkrc-2.0 file).
325
326 --icon-theme, -t THEME
327 Specify the icon theme name to use when generating icons. The
328 default is to obtain the icon theme name from the default locations
329 (such as the $HOME/.gtkrc-2.0 file).
330
331 --launch, -L, --nolaunch, -0
332 Specifies whether to use xdg-launch(1) to launch the desktop files
333 directly or not. This option will only be honoured when the
334 xdg-launch(1) program is available and accessible. Also, some
335 window managers (e.g. openbox(1)) provide their own desktop startup
336 launching and some don't. So, the default setting may depend on
337 the active window manager.
338
339 When specified and available, rather than launching programs
340 itself, xde-menu will pass the appropriate command to
341 xdg-launch(1). Note that if a terminal emulation program was also
342 specified with environment variables or X resources, these
343 preferences will be passed to xdg-launch(1) in environment
344 variables.
345
346 --style, -s STYLE
347 Specify which format of window manager menu specification output to
348 generate. STYLE can be one of the following:
349
350 fullmenu
351 The default: output a full menu suitable for use as the root
352 menu specification for the window manager.
353
354 appmenu
355 Output a complete menu; however, only output the applications
356 portion of the menu (no styles, window manager controls,
357 logout, etc.), suitable to reference as an "Applications" menu.
358
359 entries
360 Only output the entries for the menu but not the enclosing menu
361 itself: this is useful for some pipe menu commands.
362
363 This option does not affect the system tray nor pop-up menus.
364
365 --menu, -M MENUNAME
366 Specifies the filename stem of the root menu filename. This
367 defaults to "applications." Another useful value is "system."
368 Other possible values include "information" and "settings." The
369 special value "all" specifies that menus are to be generated for
370 all known stems. This option only affects the automatic
371 determination of the root menu file. When the root menu file is
372 specified with the --root-menu option, the filename is determined
373 verbatim.
374
375 --excluded
376 Include applications that are otherwise excluded in the menu
377 specification. This option will normally make applications that
378 specify multiple categories appear in all categories rather than
379 just the one category.
380
381 --nodisplay
382 Include applications that are marked no-display. Applications that
383 are marked no-display are typically marked thus because they only a
384 mime type for the mime type database, or because they are only to
385 be displayed by applications that understand them (e.g. some window
386 manager applications).
387
388 --unallocated
389 Include applications that would be excluded because they were
390 previously allocated a location in the menu.
391
392 --empty
393 Include empty sub-menus. This is not a particularly useful feature
394 for generation of the pop-up menu. For window manager root menus,
395 it typically does not matter, as most window managers suppress
396 empty sub-menus.
397
398 --separators
399 Include all separators in the generated menu, whether required or
400 not. This option is the only way to achieve multiple separators
401 between items. Without this option, only one separator will occur
402 between any two items, and no separator will occur at the beginning
403 or end of a menu.
404
405 --sort
406 Sort the entries by display name instead of name.
407
408 --actions
409 Provide a sub-menu for selecting actions for an application in
410 those applications that have actions.
411
412 --tooltips
413 Include verbose tool-tips for application menu items.
414
415 POP-UP MENU OPTIONS
416 The following options are only valid when the --popmenu command option
417 has been specified or implied. These options only affect the pop-up
418 menu.
419
420 --screen SCREEN
421 Specify the screen number, SCREEN, to use when positioning the
422 menu. The default is either specified by the "DISPLAY" environment
423 variable (when that variable specifies a screen); otherwise, all
424 screens will be considered, and the screen containing the selected
425 monitor will be used.
426
427 --Monitor MONITOR
428 Specify the monitor number, MONITOR, to use when positioning the
429 menu.
430
431 --timestamp, -T TIMESTAMP
432 Provides the X11 server time stamp of the event that caused the
433 pop-up. This is the X11 server time stamp of the button or key
434 press that invoked the pop-up. When the program is launched with
435 startup notification, the time stamp will be take from the
436 DESKTOP_STARTUP_ID environment variable.
437
438 --button, -b BUTTON
439 Specifies the button that was used to invoke the pop-up. Defaults
440 to "Button3" (3). This should be the button that was used to pop
441 the menu. A window manager that invokes this command in response
442 to a button press should release its passive grab on the button
443 before invoking the pop-up menu so that the popped up menu can grab
444 the button. A BUTTON of zero (0) means that the program was
445 invoked with a key press instead of a button.
446
447 --keypress, -k KEYSPEC
448 Specifies the key specification that was used to invoke the pop-up.
449 Defaults to none. This should be the key that was used to pop the
450 menu. A window manager that invokes this command in response to a
451 key press should release its passive grab on the key before
452 invoking the pop-up menu so that the popped up menu can grab the
453 keyboard. A KEYSPEC of none means that the program was invoked
454 with an unknown key press.
455
456 --pointer, -p
457 An alternate way of specifying --button=1.
458
459 --keyboard, -K
460 An alternate way of specifying --keypress with no option argument.
461
462 --which, -i {active|focused|pointer|MONITOR}
463 Specifies the monitor on which to pop the menu. The default is to
464 determine the monitor based on other options (such as the --button
465 option). The option argument can be one of the following (case
466 insensitive, may be abbreviated):
467
468 "default"
469 When unspecified or specified as "default", the default monitor
470 selection algorithm is used as follows:
471
472 1. When the --button or --pointer option is specified and non-
473 zero, select the monitor containing the pointer.
474
475 2. When neither --button nor --pointer option is specified, or
476 --button is specified as zero, or --keypress or --keyboard
477 is specified, select the monitor with the keyboard focus.
478
479 3. When there is no monitor with the keyboard focus, select
480 the monitor with the active window.
481
482 4. When there is no active window and no window with the
483 keyboard focus, select the monitor containing (or nearest
484 to) the pointer.
485
486 "active"
487 Use the monitor containing the active client.
488
489 "focused"
490 Use the monitor containing the window with the keyboard focus
491 (focused client).
492
493 "pointer"
494 Use the monitor containing (or closest to) the pointer.
495
496 MONITOR
497 Use the specified monitor number, MONITOR, indexed from zero
498 (0), specifying the screen and monitor on which to pop the
499 menu. When there is one screen and multiple monitors (typical
500 case for Xinerama or RANDR multi-head setups), MONITOR
501 specifies the monitor, indexed from zero (0). When there are
502 multiple screens, the --screen option specifies the screen and
503 MONITOR specifies the monitor.
504
505 --where, -W {default|pointer|center|topleft|bottomright|WHERE}
506 Specifies the position for the pop-up menu. This can be one of the
507 following values (case insensitive, may be abbreviated):
508
509 "default"
510 Place the menu automatically based on other information, such
511 as the button or key pressed to invoke the menu. This is the
512 default when unspecified. The default placement algorithm is
513 as follows:
514
515 1. If --button is specified and non-zero, or --pointer is
516 specified, place the menu at the pointer regardless of the
517 screen and monitor currently containing the pointer. If
518 the pointer is positioned outside an active monitor, fall
519 back to the behaviour as if --button or --pointer was not
520 specified.
521
522 2. If --button is unspecified or zero (0), or --keyboard is
523 specified, place the menu in the centre (considering work
524 area) of the screen and monitor which currently contains
525 the keyboard focus or active window.
526
527 "pointer"
528 Place the northwest corner of the menu under the mouse pointer.
529 This will always succeed. This is the default when --button is
530 specified and non-zero.
531
532 "center"
533 Place the menu in the centre of the root window on the current
534 screen and monitor. This is the default when --button is
535 unspecified or zero, or --keyboard is specified.
536
537 "topleft"
538 Place the menu in the top-left corner of the current screen and
539 monitor work area (considering panels and docks).
540
541 "bottomright"
542 Place the menu in the bottom-right corner of the current screen
543 and monitor work area (considering panels and docks).
544
545 WHERE
546 Place the menu at the location specified by WHERE, which should
547 be a string containing a screen geometry that can be parsed by
548 XParseGeometry(3). This is useful when the menu is launched
549 from a menu button in an external program and the menu should
550 be positioned adjacent to the button. The geometry should be
551 the geometry of the widget against which the menu should be
552 placed. When the width and height of the geometry are zero (or
553 unspecified), it describes the point at which the menu should
554 be placed.
555
556 WORKSPACE OPTIONS
557 Often, light-weight window managers will have a workspace and window
558 menu as part of their root menus (e.g. blackbox(1), fluxbox(1),
559 openbox(1)). This provides the same mechanism for the GTK2 menu for
560 window managers that do not support a root menu, or for those that
561 would simply like a consistent look and feel in the root menu. The
562 following options affect how work spaces and clients are shown in such
563 a menu:
564
565 --order, -O ORDER
566 Specifies the order, ORDER, in which clients are shown, as follows:
567
568 "client"
569 Clients are listed in client order. This is the same order
570 that it presented in the "_NET_CLIENT_LIST" property on the
571 root window of EWMH compliant window managers.
572
573 "stacking"
574 Clients are listed in stacking order. This is the same order
575 that is presented in the "_NET_CLIENT_LIST_STACKING" property
576 on the root window of EWMH compliant window managers.
577
578 When unspecified, the default is client order (or whichever order
579 is supported when the window manager does not support both).
580
581 This option can be set with the resource xde-menu.order.
582
583 --normal, -n
584 This option can be set with the resource xde-menu.normal.
585
586 --hidden, -H
587 When listing clients, also list hidden clients. The default is to
588 skip hidden clients or clients that have the skip-window-list
589 attribute.
590
591 This option can be set with the resource xde-menu.hidden.
592
593 --minimized, -m
594 When listing clients, also list minimized clients. The default is
595 to skip minimized clients or clients that have the skip-window-list
596 attribute.
597
598 This option can be set with the resource xde-menu.minimized.
599
600 --all-monitors, -a
601 When listing clients, also list clients displayed on monitors other
602 than the current one. This includes clients on workspaces that are
603 currently visible on a monitor.
604
605 This option can be set with the resource xde-menu.allmonitors.
606
607 --all-workspaces, -A
608 When list clients, also list clients displayed on workspaces other
609 than the current one. As clients are listed, the current workspace
610 may change as clients from other workspaces are listed.
611
612 This option can be set with the resource xde-menu.allworkspaces.
613
614 --noactivate, -N
615 When selecting clients, do not activate them. The default is to
616 activate the selected client. When neither --raise nor --focus are
617 specified, this results in linly highlighting the menu selection.
618 Activation of the window will still occur; however, when the window
619 is selected (e.g. a modifier key is released).
620
621 This option can be set with the resource xde-menu.activate.
622
623 --raise, -U
624 When selecting clients, raise the window. The default is to only
625 activate the selected client and not to explicitly raise it. Some
626 window managers raise windows when activated (others do not). This
627 provides a modicum of control.
628
629 This option can be set with the resource xde-menu.raise.
630
631 SESSION MANAGEMENT OPTIONS
632 X session management options are not used by another user other than
633 the X11 Session Manager. The following options are used by X session
634 management:
635
636 -clientId CLIENTID
637 Specifies the X Session Management client identifier, CLIENTID, of
638 the previously running session of xde-menu.
639
640 -restore SAVEFILE
641 Specifies the X Session Management file name of a file, SAVEFILE,
642 to which to session information was saved for restoration.
643
645 xde-menu currently uses libwnck+ or libwnck both to identify the window
646 manager and to provide the window manager actions menu. The range and
647 format of window manager actions provided by libwnck+ is superior to
648 libwnck. This use means that xde-menu does not currently provide any
649 support for window managers that do not have a modicum of compliance to
650 the EWMH/NetWM specifications. That may change in the future.
651
652 To locate the menu under a button that was pressed in, for example, an
653 external panel, where the button has geometry "55x20+30+0", specify the
654 "--where='55x20+30+0'" option. This will properly position the menu
655 under the button.
656
657 WINDOW MANAGERS
658 The following window managers and menu environments are supported by
659 xde-menu:
660
661 --wmname=2bwm --format=2bwm
662 Like dwm(1), 2bwm(1) does not provide a root menu; however, it does
663 provide a mechanism for invoking an external root menu. This can
664 be used to invoke the GTK+ version of the root menu (i.e. pop-up
665 menu).
666
667 2bwm(1) does not provide a user-settable style mechanism.
668 Therefore, theme sub-menus provide only for the selection of XDE
669 themes.
670
671 --wmname=adwm --format=adwm
672 Like dwm(1), adwm(1) does not provide a root menu; however, it does
673 provide a mechanism for invoking an external root menu. This can
674 be used to invoke the GTK+ version of the root menu (i.e. pop-up
675 menu).
676
677 adwm(1) provides a user-settable style mechanism. Therefore, both
678 style and theme sub-menus can be generated.
679
680 --wmname=aewm --format=aewm
681 aewm(1) is not tested, but should work fine.
682
683 --wmname=aewm++ --format=aewm++
684 aemw++(1) is barely ICCCM compliant and will likely not work well.
685
686 --wmname=afterstep --format=afterstep
687 No support has yet been included for afterstep(1). Only generic
688 applications menu and XDE theme sub-menus will currently be
689 generated. The afterstep(1) root menu is not supported.
690
691 --wmname=awesome --format=awesome
692 No support has yet been included for awesome(1). Only generic
693 applications menu and XDE theme sub-menus will currently be
694 generated. The awesome(1) root menu is not supported.
695
696 --wmname=blackbox --format=blackbox
697 blackbox(1) provides a root menu that is formatted similar to
698 fluxbox(1) and the older openbox(1) ("openboxold") menu style. The
699 primary difference is that blackbox(1) does not support the display
700 of icons.
701
702 Sub-menus of user-settable blackbox(1) styles and corresponding XDE
703 themes can be generated.
704
705 --wmname=bspwm --format=bspwm
706 bspwm(1) has fairly good EWMH/NetWM support and should work fine,
707 but is untested.
708
709 --wmname=ctwm --format=ctwm
710 ctwm(1) provides a root menu that is formatted similar to twm(1).
711 This root menu format does not support the display of icons.
712
713 ctwm(1) when launched with XDE configuration files supports user-
714 settable styles. Sub-menus of user-settable ctwm(1) styles and
715 corresponding XDE themes can be generated.
716
717 --wmname=cwm --format=cwm
718 cwm(1) only provides a rudimentary root menu (with no ability to
719 generate sub-menus); however, it has the ability to specify command
720 actions in response to key bindings or mouse buttons and can easily
721 be configured to launch the GTK+ menu.
722
723 cwm(1) does not really have a user-settable style system; however,
724 the colors of some things can be changed using the configuration
725 file and the window manager can be restarted. xde-style(1) does
726 not fully support cwm(1) yet, so sub-menus of user-settable cwm(1)
727 styles are not generated; however, XDE themes are.
728
729 --wmname=dtwm --format=dtwm
730 dtwm(1) provides a root menu that is formatted similar to twm(1).
731 This root menu format does not support the display of icons.
732
733 dtwm(1) does not really have a user-settable style system. Current
734 support is only for setting XDE themes.
735
736 --wmname=dwm --format=dwm
737 dwm(1) does not provide a root menu; however, it does provide a
738 mechanism for invoking an external root menu. This is used to
739 invoke the GTK+ version of the root menu.
740
741 --wmname=echinus --format=echinus
742 Like dwm(1), echinus(1) does not provide a root menu; however, it
743 does provide a mechanism for invoking an external root menu. This
744 is used to invoke the GTK+ version of the root menu.
745
746 --wmname=etwm --format=etwm
747 etwm(1) provides a root menu that is formatted similar to twm(1).
748 This root menu format does not support the display of icons.
749
750 --wmname=failsafewm --format=failsafewm
751 failsafewm(1) is not supported.
752
753 --wmname=fluxbox --format=fluxbox
754 fluxbox(1) provides a root menu that is formatted similar to
755 blackbox(1). This root menu, however, provides additional support
756 for the display of icons.
757
758 --wmname=flwm --format=flwm
759 flwm(1) uses a directory of executables instead of a file format in
760 the identical fashion to the wmx(1) window manager on which it is
761 based. It does not support the use of icons in menu items. In
762 fact, this is an alias for wmx as the two formats are completely
763 compatible and interoperable.
764
765 --wmname=fvwm --format=fvwm
766 fvwm(1) provides a root menu using its own unique menu format.
767 Although at one time fvwm(1) used a dtwm(1)-like menu format, it
768 now uses its own unique perl(1) interface. fvwm(1) supports the
769 use of icons in menu items.
770
771 --wmname=glasswm --format=glasswm
772 glasswm(1) provides only some ICCCM support and is not supported.
773
774 --wmname=goomwwm --format=goomwwm
775 goomwwm(1) provides EWMH/NetWM support and should work well, but is
776 untested.
777
778 --wmname=herbstluftwm --format=herbstluftwm
779 herbstluftwm(1) provides EWMH/NetWM support and should work well,
780 but is untested.
781
782 --wmname=i3 --format=i3
783 i3(1) provides EWMH/NetWM support and should work well, but is
784 untested.
785
786 --wmname=icewm --format=icewm
787 icewm(1) provides a programs menu using its own unique menu format.
788 It support the display of icons in menu items. icewm(1) does not
789 provide the ability to specify the entire root menu: some items in
790 the root menu are fixed by window manager and do not appear in the
791 menu file.
792
793 --wmname=jwm --format=jwm
794 jwm(1) provides a root menu using its own XML-based menu format.
795 It support the display of icons in menu items. jwm(1) recently had
796 a rework of its configuration files. Unless you are on the most
797 current versions, your mileage may vary.
798
799 --wmname=larswm --format=larswm
800 larswm(1) is barely ICCCM compliant and is, therefore, not
801 supported.
802
803 --wmname=matwm2 --format=matwm2
804 Like dwm(1), matwm2(1) does not provide a root menu; however, it
805 does provide a mechanism for invoking an external root menu. This
806 is used to invoke the GTK+ version of the root menu.
807
808 --wmname=metacity --format=metacity
809 metacity(1) does not provide a root menu; however, it has ample
810 facility for launching the GTK+ menu.
811
812 --wmname=mvwm --format=mvwm
813 mvwm(1) is a derivative of fvwm(1) and should work well.
814
815 --wmname=mwm --format=mwm
816 mwm(1) is the old pre-openmotif window manager that was intended on
817 providing the capabilities of the dtwm(1) OSF/Motif/CDE window
818 manager. It provides a root menu following a similar configuration
819 file format to twm(1), ctwm(1), etwm(1) and vtwm(1). It does not
820 have the ability to display icons in menu items.
821
822 Like dtwm(1), mwm(1) does not really have a user-settable style
823 system. Current support is only for setting XDE themes.
824
825 --wmname=openbox --format=openbox or --format=openboxold
826 Two formats are supported for the openbox(1) window manager: the
827 newer openbox-3 XML format (openbox) and the older fluxbox(1)-like
828 menu format (openboxold). The default for the openbox(1) window
829 manager is the newer style; however, it still supports both
830 formats. Both formats support the use of icons in menu items.
831
832 --wmname=pekwm --format=pekwm
833 pekwm(1) provides a root menu that is formatted using its own file
834 format. It supports dynamic menus and provides support for
835 displaying icons in menu elements.
836
837 --format=perlpanel
838 perlpanel(1) can read a fluxbox(1) or blackbox(1) style menu and
839 generate a GTK+ menu from it. This format generates a
840 fluxbox(1)-like menu for use by perlpanel(1). (Note that this
841 format can be specified in addition to other formats, in which
842 case, this format will be generated as well.) The menu file is
843 typically stored in ~/.perlpanel/menu, ~/.config/perlpanel/menu or
844 /usr/share/perlpanel/menu, independent of which window manager is
845 currently running.
846
847 --wmname=spectrwm --format=spectrwm
848 Like dwm(1), spectrwm(1) does not provide a root menu; however, it
849 does provide a mechanism for invoking an external root menu. This
850 is used to invoke the GTK+ version of the root menu.
851
852 --wmname=twm --format=twm
853 twm(1) provides a root menu that uses its own format. ctwm(1),
854 etwm(1) and vtwm(1) share this format. The format does not support
855 the display of icons in the root menu.
856
857 --wmname=uwm --format=uwm
858 uwm(1) provides a root menu that uses its own format. The format
859 supports the use of icons in menu items.
860
861 --wmname=vtwm --format=vtwm
862 vtwm(1) provides a root menu that is formatted similar to twm(1).
863 This root menu format does not support the display of icons.
864
865 --wmname=waimea --format=waimea
866 waimea(1) provides a root menu that is formatted similar to
867 blackbox(1). As with blackbox(1), this root menu does not support
868 the display of icons.
869
870 --wmname=wind --format=wind
871 wind(1) does not have a root menu: it doesn't have any menus at
872 all. wind(1) window manager is difficult to support: the window
873 manager has no mechanism for launching a menu. However, an
874 external key-binder such as bbkeys(1) can be used to launch the
875 menu. Also, it appears that wind(1) does not grab button clicks on
876 the root window.
877
878 --wmname=wm2 --format=wm2
879 wm2(1) uses a directory of executables instead of a file format in
880 the identical fashion to flwm(1) (which as based on wmx(1), a
881 derivative of wm2(1)). It does not support the use of icons in
882 menu items. In fact, this is an alias for flwm as the two formats
883 are completely compatible and interoperable.
884
885 However, wm2(1) barely provides ICCCM support and is, therefore,
886 poorly supported. Use its EWMH compliant derivative, wmx(1), or
887 its derivative flwm(1).
888
889 --wmname=wmaker --format=wmaker or --format=wmakerold
890 Two formats are supported for the wmaker(1) window manager: the
891 newer window maker lisp-based menu (wmaker) and the older line-
892 based menu (wmakerold). The default for the wmaker(1) window
893 manager is the newer style; however, it still supports both
894 formats. Neither format supports the use of icons in menu items.
895
896 --wmname=wmii --format=wmii
897 wmii(1) provides EWMH/NetWM support and should work well, but is
898 currently untested.
899
900 --wmname=wmx --format=wmx
901 wmx(1) uses a directory of executables instead of a file format in
902 the identical fashion to flwm(1) (which was based on wmx(1)). It
903 does not support the use of icons in menu items. In fact, this is
904 an alias for flwm as the two formats are completely compatible and
905 interoperable.
906
907 --wmname=xdwm --format=xdwm
908 xdwm(1) provides EWMH/NetWM support and should work well, but is
909 currently untested.
910
911 --wmname=yeahwm --format=yeahwm
912 yeahwm(1) does not have a root menu: it doesn't have any menus at
913 all. Therefore, the GTK+ menu must be used. yeahwm(1) is another
914 window manager that is difficult to support without an external key
915 binder (such as bbkeys(1)). Mouse button clicks on the root window
916 are intercepted by the window manager. Support is unlikely.
917
918 TERMINAL PROGRAMS
919 For desktop entries that set "Terminal=true", when they may also set
920 "StartupWMClass" to a class name specific to the program being
921 executed. Most terminal programs (and xterm(1) specifically) can set
922 the "WMCLASS" name and class to something other than that of the
923 terminal program (i.e. instead of "xterm.XTerm"). When the desktop
924 entries do so, xde-menu will set the name attribute on the terminal to
925 the name specified when the terminal is launched, if possible. This
926 also permits, for terminal emulation programs such as xterm(1), the
927 ability to set special terminal resources by application. Because not
928 many desktop entry files do this, when no "StartupWMClass" is
929 specified, the "APPID" or "BINARY" will be used instead and
930 "StartupWMClass" will be automatically populated.
931
932 This procedure provides additional assistance to window managers when
933 terminal emulation programs do not properly observe startup
934 notification. (For example, xterm(1) does not properly observe startup
935 notification, even though it properly observes X11 Session Management,
936 whereas many other terminal emulators support both.)
937
938 It is possible to change the default terminal emulation program used
939 when these applications are launched by using environment variables
940 (see "ENVIRONMENT") or X resources (see "X RESOURCES").
941
942 Terminal programs that are known to xde-menu are: uxterm(1), xterm(1),
943 st(1), aterm(1), rxvt(1), alacritty(1), which do not support startup
944 notification, but do support setting the resource name; pterm(1),
945 Eterm(1), urxvt(1), urxvt-tabbed(1), termit(1), gnome-terminal(1),
946 termite(1), mate-terminal(1), terminology(1), kitty(1), which do
947 support startup notification and do support setting the resource name;
948 roxterm(1), lxterminal(1), xfce4-terminal(1), lilyterm(1), tilix(1),
949 guake(1), terminator(1), which do support startup notification but do
950 not support setting the resource name; x-terminal-emulator(1),
951 deepin-terminal(1), tilda(1), which do support startup notification but
952 do not support setting the resource name, nor setting the window title;
953 qterminal(1), konsole(1), which do not support startup notification,
954 nor setting the resource name, nor setting the window title; and
955 koi8rxterm(1) which is language specific.
956
957 When the TERMINAL environment variable is set to one of these terminals
958 (a terminal known to xde-menu), it will automatically determine the
959 corresponding XDG_TERMINAL and XDG_TERMRESN commands when they are not
960 specified. See "X RESOURCES" and "ENVIRONMENT" below. When no
961 terminal environment variables are specified, terminal programs will be
962 detected in the user's PATH in the order specified above. Note that
963 terminix(1) and hyper(1) are currently unknown. XDG_TERMINAL and
964 XDG_TERMRESN must currently be specified to use those or other unknown
965 terminals.
966
967 See "X RESOURCES" and "ENVIRONMENT" below for more information on
968 selecting the terminal to use for launching applications that need one.
969
971 Most values that affect the look and feel of xde-menu may also be
972 specified as X resources in the RESOURCE_MANAGER database associated
973 with the X server. All of these resources can have the specific
974 resource name and class (xde-menu, XDE-Menu). xde-menu specific
975 resource defaults are contained in the
976 /usr/share/X11/app-defautls/XDE-Menu file, in accordance with the
977 convention for naming applications defaults files after their resource
978 class. See also "FILES".
979
980 xde-menu uses a standard X11 resource file for runtime configuration.
981 xde-menu uses the following X11 Resource Manager resources (note that
982 the window manager name, WMNAME, can optionally be specified before the
983 resource, where indicated, to alter behaviour for only a given window
984 manager):
985
986 xde-menu[.WMNAME].debug: INTEGER
987 Same values as --debug option: an integer between zero (0) and
988 six(6), inclusive.
989
990 xde-menu[.WMNAME].verbose: INTEGER
991 Same values as --verbose option: an integer between zero (0) and
992 six (6), inclusive.
993
994 xde-menu[.WMNAME].timeout: TIME
995 Specifies the amount of time for the pop-up to persist in
996 milliseconds. Not used. No option equivalent.
997
998 xde-menu[.WMNAME].iconsize: UNSIGNED INTEGER
999 Specifies the size of icons. Not used. No option equivalent.
1000
1001 xde-menu[.WMNAME].fontsize: DOUBLE
1002 Specifies the point size of fonts. Not used. No option
1003 equivalent.
1004
1005 xde-menu[.WMNAME].border: INTEGER
1006 Specifies the border around the pop-up in pixels. Not used. No
1007 option equivalent.
1008
1009 xde-menu[.WMNAME].rootmenu: PATH
1010 Same values as --root-menu option: path to the root menu file.
1011
1012 xde-menu[.WMNAME].fileout: {true|false}
1013 Truth value specifying whether to output the window manager root
1014 menu.
1015
1016 xde-menu[.WMNAME].menufile: PATH
1017 Same values as --output option: path to the window manager root
1018 menu file.
1019
1020 xde-menu[.WMNAME].filename: PATH
1021 Same values as --filename option: path to the configuration file to
1022 use.
1023
1024 xde-menu[.WMNAME].noicons: {true|false}
1025 Truth value specifying whether to include icons in the applications
1026 and window list menus.
1027
1028 xde-menu[.WMNAME].theme: NAME
1029 Same values as --theme option: name of the XDE (GTK2+) theme name.
1030 This resource should not be specified in a resource file and will
1031 not be written by a save operation.
1032
1033 -xde-menu[.WMNAME].icontheme: NAME
1034 Same values as --icon-theme option: name of the XDE (GTK2+) icon
1035 theme name. This resource should not be specified in a resource
1036 file and will not be written by a save operation.
1037
1038 xde-menu[.WMNAME].launch: {true|false}
1039 Truth value specifying whether to use xdg-launch(1), if available.
1040 Same as the --launch and --nolaunch options.
1041
1042 xde-menu[.WMNAME].runhist: PATH
1043 Specifies the location of the run history file. The default is
1044 $XDG_CONFIG_HOME/run-history.
1045
1046 xde-menu[.WMNAME].recapps: PATH
1047 Specifies the location of the recent applications file. The
1048 default is $XDG_CONFIG_HOME/recent-applications.
1049
1050 xde-menu[.WMNAME].recently: PATH
1051 Specifies the location of the recently used files list. The
1052 default is $XDG_DATA_HOME/recently-used, and if that file does not
1053 exist, $HOME/.recently-used.
1054
1055 xde-menu[.WMNAME].recent: PATH
1056 Specifies the location of the recently used applications list. The
1057 default is $XDG_DATA_HOME/recent-applications, and if that file
1058 does not exist, $HOME/.recent-applications.
1059
1060 xde-menu[.WMNAME].maximum: INTEGER
1061 Same as the --maximum option to xde-recent(1): specifies the
1062 maximum number of recent applications or files to display in the
1063 recent files and applications menus. The minimum value is one, and
1064 the maximum is 100. The default value when unspecified is 50.
1065 Specified as zero (0) when there is no limit on the number to
1066 display.
1067
1068 xde-menu[.WMNAME].menu: FILESTEM
1069 Specifies the stem name of the menu used when determining the root
1070 menu file for which to build the menu. The default is
1071 "applications". This resource should typically not be used in the
1072 resource file and will not be written by a save operation.
1073
1074 xde-menu[.WMNAME].button: UNSIGNED INTEGER
1075 Same as the --button and --pointer options: specifies the button
1076 that was pressed to launch the menu (or zero (0) when no button was
1077 pressed to launch the menu). This resource should not be used in a
1078 resource file and will not be written by a save operation.
1079
1080 xde-menu[.WMNAME].keypress: KEYSPEC
1081 Same as the --keypress and --keyboard options: specifies that the
1082 menu was launched as a result of a key press instead of a button
1083 click. This resource should not be used in a resource file and
1084 will not be written by a save operation.
1085
1086 xde-menu[.WMNAME].which: {default|active|focused|pointer|SCREEN}
1087 Same as the --which option: specifies which screen to use when
1088 posting the menu. This resource should not be used in a resource
1089 file and will not be written by a save operation.
1090
1091 xde-menu[.WMNAME].where:
1092 {default|pointer|center|topleft|bottomright|GEOMETRY}
1093 Same as the --where option: specifies where on the screen to post
1094 the menu. This resource should not be used in a resource file and
1095 will not be written by a save operation.
1096
1097 xde-menu[.WMNAME].normal: {true|false}
1098 Truth value specifying whether to include normal windows in client
1099 lists.
1100
1101 xde-menu[.WMNAME].hidden: {true|false}
1102 Truth value specifying whether to include hidden windows in client
1103 lists.
1104
1105 xde-menu[.WMNAME].minimized: {true|false}
1106 Truth value specifying whether to include minimized windows in
1107 client lists.
1108
1109 xde-menu[.WMNAME].allmonitors: {true|false}
1110 Truth value indicating whether to include windows from all monitors
1111 in client lists.
1112
1113 xde-menu[.WMNAME].allworkspaces: {true|false}
1114 Truth value indicating whether to include windows from all work
1115 spaces in client lists.
1116
1117 xde-menu[.WMNAME].activate: {true|false}
1118 Truth value specifying whether to activate selected windows from
1119 client lists.
1120
1121 xde-menu[.WMNAME].raise: {true|false}
1122 Truth value specifying whether to raise selected windows from
1123 client lists.
1124
1125 xde-menu[.WMNAME].systray: {true|false}
1126 Truth value specifying whether to install a status icon in the
1127 system tray.
1128
1129 xde-menu[.WMNAME].generate: {true|false}
1130 Truth value specifying whether to generate window manager root
1131 menus when supported.
1132
1133 xde-menu[.WMNAME].excluded: {true|false}
1134 Truth value specifying whether to include excluded applications in
1135 the applications menu.
1136
1137 xde-menu[.WMNAME].nodisplay: {true|false}
1138 Truth value specifying whether to include no-display applications
1139 in the applications menu.
1140
1141 xde-menu[.WMNAME].unallocated: {true|false}
1142 Truth value specifying whether to include unassigned applications
1143 in the applications menu.
1144
1145 xde-menu[.WMNAME].separators: {true|false}
1146 Truth value specifying whether to include all separators in the
1147 applications menus.
1148
1149 xde-menu[.WMNAME].sort: {true|false}
1150 Truth value specifying whether to sort applications by display name
1151 in the applications menu.
1152
1153 xde-menu[.WMNAME].tooltips: {true|false}
1154 Truth value specifying whether to include verbose tooltips for
1155 applications in the applications menu.
1156
1157 xde-menu[.WMNAME].actions: {true|false}
1158 Truth value specifying whether to offer desktop actions in the
1159 applications menu for applications that provide actions.
1160
1161 xde-menu[.WMNAME].exit: {true|false}
1162 Truth value specifying whether to exit once the window manager root
1163 window has been generated.
1164
1165 xde-menu[.WMNAME].termname: TERMINAL-NAME
1166 Word specifying the name of the terminal emulation program
1167 executable to be used to launch, or pass to xdg-launch(1), for
1168 applications that need terminals.
1169
1170 xde-menu[.WMNAME].terminal: EXEC-COMMAND
1171 String specifying the terminal emulation program command to be used
1172 to launch, or pass to xdg-launch(1), for applications that need
1173 terminals. This command can contain "Exec" line substitutions.
1174
1175 xde-menu[.WMNAME].termresn: EXEC-COMMAND
1176 String specifying the terminal emulation program command to be used
1177 when a resource name is available and can be set to launch, or pass
1178 to xdg-launch(1), for applications that need terminals. This
1179 command can contain "Exec" line substitutions; however, their "%"
1180 must be escaped with an additional "%", and somewhere in the
1181 command line there must appear a printf(3) style unescaped %s
1182 expression to be substituted with the resource name.
1183
1185 The following environment variables are significant to the operation of
1186 xde-menu:
1187
1188 $XDG_CURRENT_DESKTOP
1189 Specifies the current desktop. When the --format is not specified,
1190 the format defaults to the value of this environment variable
1191 converted to lower-case. When the --desktop is not specified, the
1192 desktop defaults to the value of this environment variable.
1193
1194 $XDG_MENU_PREFIX
1195 Specifies the prefix to apply to the default menu name to derive
1196 the root menu unless specified with the --root-menu option. When
1197 unspecified, this variable defaults to a null string.
1198
1199 xde-menu finds the root menu using the following logic:
1200
1201 1. If a file name is specified using the --root-menu option, (and
1202 the window manager has not changed since xde-menu was
1203 launched), that file name is used as the root menu.
1204
1205 2. If the window manager has changed since xde-menu was launched,
1206 any --root-menu option that was specified at launch is ignored.
1207
1208 3. If the file specified by --root-menu is not found or
1209 unspecified, the file name ${XDG_MENU_PREFIX}applications.menu
1210 is sought in each of the sub-directories name menu in the path
1211 $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS in accordance with the XDG
1212 menu specification.
1213
1214 Note that the stem applications can be changed using the --menu
1215 option.
1216
1217 4. If not found, the file name applications.menu is sought in each
1218 of the menu sub-directories in the path
1219 $XDG_CONFIG_HOME:$XDG_CONFIG_DIRS in accordance with the XDG
1220 menu specification.
1221
1222 Note that the stem applications can be changed using the --menu
1223 option.
1224
1225 $XDG_CONFIG_HOME
1226 Specifies the user XDG configuration directory. When unspecified,
1227 defaults to $HOME/.config in accordance with XDG specifications.
1228
1229 $XDG_CONFIG_DIRS
1230 Specifies the system XDG configuration directories. When
1231 unspecified, defaults to /etc/xdg in accordance with XDG
1232 specifications.
1233
1234 $XDG_DATA_HOME
1235 Specifies the user XDG data directory. When unspecified, defaults
1236 to $HOME/.local/share in accordance with XDG specifications.
1237
1238 $XDG_DATA_DIRS
1239 Specifies the system XDG data directory search path. When
1240 unspecified, defaults to /usr/local/share:/usr/share in accordance
1241 with XDG specifications.
1242
1243 $XDG_ICON_THEME
1244 Specifies the name of the icon theme. When not specified, the icon
1245 theme will be determined from configuration sources (e.g. the
1246 $HOME/.gtkrc-2.0 file).
1247
1248 $XDG_TERMINAL
1249 Used by xde-menu, or passed to xdg-launch(1), as the command to
1250 prefix to the "Exec" line of terminal applications to launch
1251 applications within a terminal.
1252
1253 $XDG_TERMRESN
1254 Used by xde-menu, or passed to xdg-launch(1), as the command to
1255 prefix to the exec line of terminal applications to launch
1256 applications within a terminal when a resource name is available to
1257 be set on the terminal. (Not necessarily defined for all terminal
1258 types).
1259
1260 $TERMINAL
1261 Use by xde-menu, or passed to xdg-launch(1), as the name of the
1262 preferred terminal program to run. If this terminal is known to
1263 xde-menu, it will automatically determine the corresponding
1264 XDG_TERMINAL and XDG_TERMRESN commands when they are not specified.
1265 See "TERMINAL PROGRAMS", above, for a list of known terminal
1266 emulation programs.
1267
1269 The following X11 window properties are significant to the operation of
1270 xde-menu:
1271
1272 "_XDE_WM_NAME"
1273 When available and set on the root window, specifies the window
1274 manager name used to derive the --wmname and --format options when
1275 the options are unspecified or when the window manager has changed
1276 since the xde-menu command was launched.
1277
1278 "_NET_WM_NAME"
1279 When "_XDE_WM_NAME" is unavailable, and this property is set
1280 properly on the window manager EWMH/NetWM check window, the first
1281 word of the property will be used to derive the --wmname and
1282 --format options when the options are unspecified or when the
1283 window manager has changed since the xde-menu command was launched.
1284
1285 "_XDE_WM_STYLE"
1286 When set on the root window, or XDE check window, used to determine
1287 the location of the window manager style file.
1288
1289 "_XDE_WM_STYLENAME"
1290 When set on the root window, or XDE check window, used to determine
1291 the name of the style set for the window manager.
1292
1293 "_XDE_WM_THEME"
1294 When set on the root window, or XDE check window, used to determine
1295 the name of the theme set for XDE.
1296
1297 "_XDE_WM_THEMEFILE"
1298 When set on the root window or XDE check window, used to determine
1299 the file to use for the theme set for XDE.
1300
1302 Resources for configuration and tweaking the run-time operation of xde-
1303 menu are looked up in the order, below. Resources that are read later
1304 only have an effect if the resource was not already set by some
1305 previous file. The locations are as follows:
1306
1307 RESOURCE_MANAGER
1308 The first place that resource configuration is examined is from the
1309 RESOURCE_MANAGER property on the root window of the screen on which
1310 the menu is to be displayed.
1311
1312 $XDG_CONFIG_HOME/xde-menu/WMNAME/rc
1313 The location of the window-manager specific user configuration
1314 file. The window manager name component, WMNAME, in the path,
1315 above, is the all uppercase window manager name. This location is
1316 used when there is no user file specified.
1317
1318 $XDG_CONFIG_HOME/xde-menu/rc
1319 The default location of the generic user configuration file. This
1320 is used when there is no user file specified.
1321
1322 /usr/share/X11/app-defaults/XDE-Menu
1323 The default location of the generic system configuration file.
1324 This is used when there is no user file available or to provide
1325 defaults when one is available.
1326
1327 The following file locations are scanned for recent files and
1328 applications:
1329
1330 $XDG_CONFIG_HOME/xde/recent-applications
1331 This is the location of a simple recent applications file
1332 maintained by the xde-app(1) launcher application.
1333
1334 $XDG_DATA_HOME/recently-used
1335 $HOME/.recently-used
1336 These are the locations (in order of preference) of a simple XML
1337 formatted recently used files list maintained by legacy
1338 applications (as well as xdg-launch(1)).
1339
1340 $XDG_DATA_HOME/recent-applications
1341 $HOME/.recent-applications
1342 These are the locations (in order of preference) of a simple XML
1343 formatted recently used applications list maintained by legacy
1344 applications (as well as xdg-launch(1)).
1345
1346 $XDG_DATA_HOME/recently-used.xbel
1347 This is the location of the current XBEL formatted recently used
1348 files list maintained by current applications (as well as
1349 xdg-launch(1)).
1350
1351 $XDG_DATA_HOME/recent-applications.xbel
1352 This is the location of the current XBEL formatted recently used
1353 applications lists maintained by current applications (as well as
1354 xdg-launch(1)).
1355
1357 xde-menu was written for a number of reasons:
1358
1359 1. Existing lightweight menu generators that read XDG .desktop files
1360 (e.g. fbmenugen(1), menutray(1)) do not conform to the XDG menu
1361 generation specifications and in particular are incapable of
1362 merging menus.
1363
1364 Many existing light-weight window manager generators that read XDG
1365 .desktop files do not conform to the XDG menu generation
1366 specifications and, in particular, are incapable of merging menus.
1367
1368 2. Existing XDG menu generators (such as the SuSE xdg_menu(1) "perl"
1369 script) do not properly merge default merge directories and do not
1370 observe "<Layout>" commands. Also, they are poor at including
1371 icons in the generated menus. They, of course, do not generate
1372 system tray nor pop-up menus either.
1373
1374 3. Existing XDG menu generators run once and keep cache information,
1375 or have a "regenerate" command placed in the menu. They do not
1376 monitor XDG directories for changes and update menus on changes.
1377
1378 4. The lxpanel(1) and pcmanfm(1) menu generators do not have any of
1379 the above deficiencies; however, they do not create window manager
1380 specific sub-menus. Also, they are buggy and generally fail to
1381 display a menu at all when they have a problem. They do not handle
1382 the "<FileName>" tag within a "<Layout>" tag.
1383
1384 5. None of the menu-generating facilities that I have found can handle
1385 an NFS-mounted home directory. I find this annoying: XDG menus are
1386 host specific.
1387
1388 This program largely incorporates the perl versions of the
1389 xdg-traymenu(1p) and xdg-menugen(1p) programs. The reason for
1390 incorporating both together was to reduce the amount of time that is
1391 taken to read and cache .desktop file information.
1392
1394 Brian Bidulock <mailto:bidulock@openss7.org>.
1395
1397 xde-style(1), xde-menugen(1), xdg-traymenu(1p), xdg-menugen(1p),
1398 xde-identify(1), inotify(7).
1399
1400
1401
1402xde-menu 0.14 2022-02-02 XDE-MENU(1)