wmconfig - Window Manager Config helper program
- wmconfig --output=manager [
[ --flag=flags ] [ --sysdir=system_directory ]
[ --userdir=user_directory ]
[ --outputdir=output_directory ]
[ --no-icons ] [ --no-mini-icons ]
[ --directories ] [ --promote ]
[ --newstyle-directories ]
[ --no-sysdir ] [ --no-userdir ]
[ --terminal ]
[ --help ]
[ --version ]
[ file ... ]
is a program that will produce output consisting of menu
definitions compatible with the selected window manager. You can include that
output in your .rc
file or have the output read through a pipe for
will read all the files located in
. It will then read the files from the
directory in the user's home directory. Therefore, the user's
settings will override the system-wide settings. If optionally any extra files
are given as an argument on the command line, those will be read last and
merged with the others (possibly overriding the settings in system and user
home dir files)
Each of these files have the following format. For example, here's the gv
gv name "Ghostview"
gv icon "ghostview.bmp"
gv mini-icon "mini-gv.xpm"
gv exec "gv &"
gv group "Graphics/Viewers"
gv terminal "true"
gv restart "quit"
The format of the config file is:
> <tag string
denotes the name of the package, and is used internally by wmconfig
group together multiple tags
intended for the same application. This
item does not have any other special meaning.
This can have several possible values. Among them:
- This is the name of the application, as it should be displayed in the
Example: name "My Cute Application"
- This is the filename of an icon for this application. Use of full paths is
discouraged because not all window managers can read and cope with full
paths in icon names. Try to put your icons in a place where your window
manager can find them by default.
Example: icon "my-icon.xpm"
- Some window managers support mini icons in menus or title bars, etc. This
tag is intended for those kind of window managers (among them, mwm, fvwm2,
fvwm95, icewm). The same remarks from the icon tag apply here. See
the example from icon.
- This will result in the configuration (entries) for this application being
completed (by copying) from another application.
Example: copy anotherpackage
- This is the command that will be excuted by the window manager when this
menu entry is selected.
Example: exec "pine"
- This is the group you want to have you application listed under. The group
items are separated by / (that is a forward slash). Groups are
created on the fly, so you do have to be careful with typos!.
Example: group "Applications/Graphics Utilities/Viewers"
The above example will generate code (for the window manager of your choice)
to generate a menu entry named Applications with another menu entry
under it named Graphics Utilities and finaly a menu entry under
that one named Viewers containing your application as an
- The Mimetype description is used for KDE, KDE2, KDE3 and KDE4 output to
describe that the Application can be used for several Filetypes. Use
semicolons for more than one mimetype. The last semicolon is not needed.
Example: mimetype "text/enligsh;text/x-csrc"
- This option describes that Wmconfig should append a terminal line to the
exec entry. If you don't want to start the application with a terminal,
delete the line. Wmconfig only checks if the terminal line exists.
Example: terminal "yup"
- This option signals Wmconfig to create a special quit,
restart or restart with Windowmanager menu entry. If the
quit option is specified, Wmconfig will create a Quit entry. A restart
entry is created with the restart option. Other options will be used as a
name of a Windowmanager. A restart entry for the specified Windowmanager
will be created.
Examples: restart "quit"
User config files in $HOME/.wmconfig
can have multiple packages defined
in there; order does not matter. The only way to have an app in two different
groups is to use copy
to copy another package and override the
- Where manager can currently be one of: debug, fvwm95,
fvwm2, afterstep, mwm, icewm, blackbox,
wmaker, kde1, twm, olwm, fvwm,
mlvwm, kde2, kde3, kde4, qvwm,
pekwm, golem, fluxbox, gnome2, openbox,
aewm, amiwm, kahakai, pwm, e16,
enlightenment, e17, ede, equinox, ude,
xfce, wmx, flwm, tvtwm, vtwm,
piewm, ctwm, freedesktop, jvm, sithwm,
The only entry which is special in this list is the debug entry,
which will produce a nice tree-like output to debug your settings and show
you how the data is represented internally by wmconfig.
- Where flags can be one of:
no-icons - this will tell wmconfig not to produce any
icon-related output. You might want to do this if you don't want to have
Icon styles applied to your application in your window manager. For
instance, if you don't want to have iconified windows on the desktop.
no-mini-icons - the same thing, except for mini-icons (currently
only supported by fvwm2, fvwm95 and afterstep).
directories - some window managers are expecting their menu
configuration as a hierarchy of directories/files. This option is working
together with --output setting. Currently it is known to work only
when invoked with --output=afterstep, and it will create the
directories/files in ~/GNUstep/Library/AfterStep/start. This path
can be changed using --outputdir switch.
newstyle-directories - enhanced version of directories. Menu
has mini-icons. Only for AfterStep >= 1.5.
no-check-existence - By default, Wmconfig checks if the app defined
in the configuration file exists. If not, no menu entry is created. By
using this flag, you can turn off this behaviour.
promote - Some people find it irritating to have menus with only one
app in. This flag entry will be promoted to the higher level menu.
If you want to specify more than one flag at a time, you can either repeat
the --flag switch, or list all the flags comma-separated with no
spacing in between.
--flag=flag1 --flag=flag2 ...
- This switch is used to set the system directory instead of using the
default (which is /usr/local/etc/wmconfig).
- The default value for this switch is .wmconfig. This means that a
directory called $HOME/.wmconfig will be searched for files
containing valid wmconfig entries, and will be read after the system
directory is read. By using --userdir you have a way to change that
- By default, the name of the root menu is RootStart. If you want
wmconfig to begin generating entryies starting at a certain point in your
already-existing menu tree, you will want to use this switch.
- The default output directory is ~/GNUstep/Library/AfterStep/start.
For the Enlightenment DR16 directory output the default directory is
~/.enlightenment/wmconfig. For the Freedesktop output this switch
describes where the menu XML configuration will be created. This enhances
compatiblity with several XDG configuration scenarios. As example if
/etc/xdg/menus/e17-applications.menu is the E17 system menu
configuration choosing ~/.config/menus/e17-merged as option will
let Wmconfig create the menu definition at the given place. This enhances
compatiblity with several desktop environments and should ensure the
Wmconfig menu is always shown. Using this switch you can tell wmconfig to
generate menu tree in specified path. Works only for
--output=afterstep with directories or
newstyle-directories flags, for --output=enlightenment, for
--output=kde1, --output=kde2, --output=kde3,
--output=freedesktop and for --output=kde4.
- This option is used for menu entries that require a terminal to start. If
Wmconfig finds the terminal option, it automatically appends xterm
to the exec line. If you do not want to use xterm, you may specify an
alternative terminal with this option.
- Does the same thing as --flag=no-icons
- Does the same thing as --flag=no-mini-icons
- Does the same thing as --flag=directories
- Does the same thing as --flag=newstyle-directories
- Does the same thing as --flag=no-promote
- Do not parse the files from the system-wide settings
- Do not parse the files from the user's $HOME/.wmconfig directory.
- This is the popular "show me the help-screen !" switch.
- This is the popular "what version was that ?" switch.
Probably the source code of the whole thing is far more useful than this man
section of this man page might be inaccurate.
- The default system directory containing wmconfig files
- The default user directory containing wmconfig files
Cristian Gafton <firstname.lastname@example.org>
Red Hat Software, Inc.
Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.