wmgmenu is a small application that uses gnome-menus (or one of its various forks) to produce a proplist menu for Window Maker that follows the freedesktop.org Desktop Menu Specification.
To use wmgmenu, edit ~/GNUstep/Default/WMRootMenu
to include a line
such as:
(Applications, OPEN_PLMENU, "|| wmgmenu"),
Alternatively, using WPrefs, navigate to "Applications Menu Definition", drag "Generated PL Menu" to the menu that pops up, enter "wmgmenu" under "Command", and then click "Save".
Note that gtk-launch
is used to launch each application from the menu.
By default, wmgmenu will load ${XDG_MENU_PREFIX}applications.menu
.
If you would like to load another file, then you may specify it
with the -f
or --filename
commandline arguments, e.g.,
wmgmenu -f /etc/xdg/menus/mate-settings.menu
If the file exists in the menus
subdirectory of the user or system
configuration directories (by default, ~/.config
or /etc/xdg
and
possibly given by the XDG_CONFIG_HOME
and XDG_CONFIG_DIRS
environment variables -- see the XDG Base Directory Specification for more
information), then a full path need not be given. For example:
wmgmenu -f mate-settings.menu
There are also a number of commandline options that set flags used by gnome-menus to determine how it decides which entries to include in the menu and in what order.
-x
,--include-excluded
: Include excluded entries.-n
,--include-nodisplay
: Include entries marked 'NoDisplay'.-u
,--include-unallocated
: Include unallocated entries.-e
,--show-empty
: Show empty directories.-s
,--sort-display-name
: By default, gnome-menus determines how to sort an entry based on theName
given in its.desktop
file. With this flag set, it usesX-GNOME-FullName
instead, falling back toName
if this key doesn't exist. Note thatX-GNOME-FullName
is not very common, and setting this flag will likely have little to no effect.
Finally, several commandline options can be used to print information about wmgmenu instead of the proplist menu.
-h
,--help
: Show help options.-v
,--version
: Print the version number.-p
,--path
: Print the path to the.menu
file that is loaded.-l
,--library
: Print the menu library that wmgmenu is using (gnome-menus
,cinnamon-menus
, ormate-menus
).
wmgmenu is available in Ubuntu using a PPA:
sudo add-apt-repository ppa:profzoom/dockapps
sudo apt install wmgmenu
Prerequisites:
If building from a tarball from the releases page, then unpack it, change to the corresponding directory, and run:
./configure
make
sudo make install
If building from a git repository, first run
./autogen.sh
and then proceed as above.
Alternatively, wmgmenu can be built using cinnamon-menus or mate-menus instead of gnome-menus. To do this, start with
./configure --with-cinnamon-menus
or
./configure --with-mate-menus
and then proceed as above.
The test suite uses Bats. It expects to find some menu files on the system:
- a default menu file (
${XDG_MENU_PREFIX}applications.menu
), /etc/xdg/menus/gnome-applications.menu
, for testing the-f
commandline option, ande-applications.menu
(the Enlightment menu), for testingXDG_MENU_PREFIX
support with a non-default value.
To run the test suite:
make check
Found a bug? Open an issue at https://github.com/d-torrance/wmgmenu.