1XDE-MENU(1)                      User Commands                     XDE-MENU(1)
2
3
4

NAME

6       xde-menu - XDG compliant menus for XDE
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

USAGE

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

X RESOURCES

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

ENVIRONMENT

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

PROPERTIES

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

FILES

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

HISTORY

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

AUTHOR

1394       Brian Bidulock <mailto:bidulock@openss7.org>.
1395

SEE ALSO

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)
Impressum