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 the start menu.
A menu that gives access to applications; usually customized by the
user. The icewm-menu-fdo(1) program generates a default menu that
contains most of the systems desktop applications. Similar programs
are xdg_menu(1), mmaker(1), xde-menu(1) and xdgmenumaker(1).
The file contains lines with the following syntax:
prog "title" icon program options
Specifies a program to execute when the menu item is selected.
restart "title" icon program options
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).
runonce "title" icon "[name][.class]" program options
Specifies a program to execute when the menu item is selected;
however, if a window of the specified name and class is present,
the program will not be run again.
menu "title" icon { # contained items }
Specifies a sub-menu. The lines that appear between the braces
can be any menu item described here.
menufile "title" icon "filename"
Specifies a file from which to collect sub-menu items (lines) and
place them at this point in the menu.
menuprog "title" icon program options
Specifies a program that will print sub-menu items on standard
output, which will be collected and placed in the sub-menu at
this point.
menuprogreload "title" icon timeout program options
Similar to menuprog, but after at least timeout seconds the menu
is regenerated.
include "filename"
Read additional entries from the file filename
includeprog program options
Read additional entries from the output of program options.
separator
A separator for menu items.
Where
prog, restart, runonce, menu, menufile, menuprog, menuprogreload,
include, includeprog, separator
These are literal string keywords.
"title"
This is the title string associated with the menu item that is
displayed in the menu. When the title contains spaces, the title
must be surrounded by double quotes ("").
icon
Is the name of the icon file (with or without extension) or the
full path to an icon file.
"[name][.class]"
name is the resource name of a window launched by program and
class is the resource class of the window. Only one of name or
class need be specified. This is used to determine whether the
program is already running and is used with the runonce keyword.
program options
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 are the options and arguments passed to the program
verbatim.
filename
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 /etc/icewm 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.
icewm 3.9.0 2025-08-31 ICEWM-MENU(5)
NAME
icewm-menu - icewm menu configuration file
SYNOPSIS
$ICEWM_PRIVCFG/menu
$XDG_CONFIG_HOME/icewm/menu
$HOME/.icewm/menu
/etc/icewm/menu
/usr/share/icewm/menu
DESCRIPTION
The menu file is responsible for configuring most of the icewm(1)
root menu and the start menu.
A menu that gives access to applications; usually customized by the
user. The icewm-menu-fdo(1) program generates a default menu that
contains most of the systems desktop applications. Similar programs
are xdg_menu(1), mmaker(1), xde-menu(1) and xdgmenumaker(1).
FORMAT
The file contains lines with the following syntax:
prog "title" icon program options
Specifies a program to execute when the menu item is selected.
restart "title" icon program options
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).
runonce "title" icon "[name][.class]" program options
Specifies a program to execute when the menu item is selected;
however, if a window of the specified name and class is present,
the program will not be run again.
menu "title" icon { # contained items }
Specifies a sub-menu. The lines that appear between the braces
can be any menu item described here.
menufile "title" icon "filename"
Specifies a file from which to collect sub-menu items (lines) and
place them at this point in the menu.
menuprog "title" icon program options
Specifies a program that will print sub-menu items on standard
output, which will be collected and placed in the sub-menu at
this point.
menuprogreload "title" icon timeout program options
Similar to menuprog, but after at least timeout seconds the menu
is regenerated.
include "filename"
Read additional entries from the file filename
includeprog program options
Read additional entries from the output of program options.
separator
A separator for menu items.
Where
prog, restart, runonce, menu, menufile, menuprog, menuprogreload,
include, includeprog, separator
These are literal string keywords.
"title"
This is the title string associated with the menu item that is
displayed in the menu. When the title contains spaces, the title
must be surrounded by double quotes ("").
icon
Is the name of the icon file (with or without extension) or the
full path to an icon file.
"[name][.class]"
name is the resource name of a window launched by program and
class is the resource class of the window. Only one of name or
class need be specified. This is used to determine whether the
program is already running and is used with the runonce keyword.
program options
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 are the options and arguments passed to the program
verbatim.
filename
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.
EXAMPLES
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 /etc/icewm 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
FILES
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.
SEE ALSO
icewm(1), icewm-menu-fdo(1).
AUTHOR
Brian Bidulock <mailto:bidulock@openss7.org>.
LICENSE
IceWM is licensed under the GNU Library General Public License. See
the COPYING file in the distribution.
icewm 3.9.0 2025-08-31 ICEWM-MENU(5)