DOKK / manpages / debian 11 / icewm-common / icewm-menu.5.en
ICEWM-MENU(5) Standards, Environments and Macros ICEWM-MENU(5)

 icewm-menu - icewm menu configuration file

 $ICEWM_PRIVCFG/menu
 $XDG_CONFIG_HOME/icewm/menu
 $HOME/.icewm/menu
 /etc/icewm/menu
 /usr/share/icewm/menu

The menu file is responsible for configuring most of the icewm(1) root menu and start menu.

A menu of applications; usually customized by the user. icewm provides the icewm-menu-fdo(1) program to generate a default menu. Similar programs are xdg_menu(1), mmaker(1) (MenuMaker), xde-menu(1), xdgmenumaker(1).

The format of the file contains one of the following line syntax:

Specifies a program to execute when the menu item is selected.
Specifies a program to replace the window manager when the menu item is selected. This is for launching other window managers from within icewm(1).
Specifies a program to execute when the menu item is selected; however, if a window of the specified res_name and res_class is present, the program will not be run again.
Specifies a sub-menu. The lines that appear between the braces can be any menu item described here.
Specifies a file from which to collect sub-menu items (lines) and place them at this point in the menu.
Specifies a program that will print sub-menu items on standard output and will be collected and placed in the sub-menu at this point.
Similar to menuprog, but after at least timeout seconds the menu is regenerated.
Read additional entries from the file filename
Read additional entries from the output of program options.
A separator for menu items.

Where

These are literal string keywords.
["]title["]
This is the title string associated with the menu item which is displayed in the menu. When the title contains spaces, the title must be surrounded by double quotes ("""), although the title may always be surrounded by double quotes if preferred.
Is the name of the icon file (with or without extension) or the full path to an icon file.
"[res_name][.res_class]"
res_name is the resource name of a window launched by program and res_class is the resource class of the window. Only one of res_name or res_class need be specified. This is used to identify whether the program is already running and is for use with the runonce keyword.
program is the name of the executable or full path to the executable file that will be run in response to selecting the menu item. When used with the menuprog keyword, the program must print on standard output the contents of the menu and is used for dynamic menus.

options is the options and arguments passed to the program verbatim.

filename is the name of the file relative to one of the icewm(1) configuration directories, or the full path to a file. The file is used with the menufile keyword and specifies the file from which to read further menu items.

Following is the example menu file that ships with icewm(1):

 # This is an example for IceWM's menu definition file.
 #
 # Place your variants in @CFGDIR@ or in $HOME/.icewm
 # since modifications to this file will be discarded when you
 # (re)install icewm.
 #
 prog xterm xterm xterm
 prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500
 prog fte fte fte
 prog NEdit nedit nedit
 prog Mozilla mozilla mozilla
 prog XChat xchat xchat
 prog Gimp gimp gimp
 separator
 menuprog "Desktop Apps" folder icewm-menu-fdo
 menufile Programs folder programs
 menufile Tool_bar folder toolbar

Locations for the menu file are as follows:

 $ICEWM_PRIVCFG/menu
 $XDG_CONFIG_HOME/icewm/menu
 $HOME/.icewm/menu
 /etc/icewm/menu
 /usr/share/icewm/menu

The locations are searched in the order listed; the first file found is read and the remainder ignored.

icewm(1), icewm-menu-fdo(1).

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

IceWM is licensed under the GNU Library General Public License. See the COPYING file in the distribution.

2021-02-09 icewm 2.1.2