|wmconfig --output=manager [ --rootmenu=root_menu_name ]|
[ --flag=flags ] [ --sysdir=system_directory ]
wmconfig 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 dynamic configurations.
wmconfig will read all the files located in /usr/local/etc/wmconfig. It will then read the files from the .wmconfig directory in the users home directory. Therefore, the users 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, heres the gv package:
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:
<package> <tag string>
denotes the name of the package, and is used internally by wmconfig to 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:
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 group setting.
name This is the name of the application, as it should be displayed in the menu.
Example: name "My Cute Application"
icon 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"
mini-icon 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. copy This will result in the configuration (entries) for this application being completed (by copying) from another application.
Example: copy anotherpackage
exec This is the command that will be excuted by the window manager when this menu entry is selected.
Example: exec "pine"
group 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 entry.
mimetype 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"
terminal This option describes that Wmconfig should append a terminal line to the exec entry. If you dont want to start the application with a terminal, delete the line. Wmconfig only checks if the terminal line exists.
Example: terminal "yup"
restart 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"
--output=manager 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, sawfish.
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.
--flag=flags 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 dont want to have Icon styles applied to your application in your window manager. For instance, if you dont 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 ...
--sysdir=system_directory This switch is used to set the system directory instead of using the default (which is /usr/local/etc/wmconfig).
--userdir=user_directory 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 value. --rootmenu=root_menu_name 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.
--outputdir=output_directory 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.
--terminal=terminal_name 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.
--no-icons Does the same thing as --flag=no-icons --no-mini-icons Does the same thing as --flag=no-mini-icons --directories Does the same thing as --flag=directories --newstyle-directories Does the same thing as --flag=newstyle-directories --promote Does the same thing as --flag=no-promote --no-sysdir Do not parse the files from the system-wide settings (/usr/local/etc/wmconfig) directory. --no-userdir Do not parse the files from the users $HOME/.wmconfig directory.
--help This is the popular "show me the help-screen !" switch.
--version This is the popular "what version was that ?" switch.
Probably the source code of the whole thing is far more useful than this man page.
The BUGS section of this man page might be inaccurate.
/usr/local/etc/wmconfig The default system directory containing wmconfig files $HOME/.wmconfig The default user directory containing wmconfig files
Cristian Gafton <email@example.com> Red Hat Software, Inc.
|-->||WMCONFIG (1x)||Sun Mar 28 1999|