ICEWM-PROGRAMS(5) Standards, Environments and Macros ICEWM-PROGRAMS(5)

icewm-programs - icewm programs configuration file

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

The programs file is an automatically generated menu configuration file of installed programs. This file should be automatically generated by xdg_menu, wmconfig (Redhat), menu (Debian), or icewm-menu-fdo, perhaps as part of the login or X startup sequence.

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 that 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 programs file that ships with icewm(1):

# This file is intended to be customized by the distributions.
# (they should place it in /etc/X11/icewm)
#
# mostly obsolete, fixme
menu Editors folder {
    prog fte fte fte
    prog vim vim gvim
    prog xemacs xemacs xemacs
    prog emacs emacs emacs
    prog NEdit nedit nedit
    prog xedit xedit xedit
    prog Lyx emacs lyx
}
menu "WWW" folder {
    prog Netscape netscape netscape
    prog Mozilla mozilla mozilla
    prog Galeon galeon galeon
    prog Arena arena arena
    prog Lynx lynx xterm -e lynx
    prog Links lynx xterm -e links
}
menu "Document Viewers" folder {
    prog "Acrobat Reader" pdf acroread
    prog "DVI Previewer" xdvi xdvi
    prog "Ghostview" ghostview gv
}
menu Graphics folder {
    prog Gimp gimp gimp
    prog XV xv xv
    prog XPaint xpaint xpaint
    prog XFig xfig xfig
}
menu Games folder {
    prog "Koules for X" koules xkoules -f
    prog Xboing xboing xboing
    prog Xboard xboard xboard
    prog XGalaga xgalaga xgal
    prog XDemineur xdemineur xdemineur
    prog "Tux Racer" tuxracer tuxracer
}
menu System folder {
    prog "Control Panel" redhat control-panel
}
menu Utilities folder {
    prog XPlayCD xplaycd xplaycd
    prog XMixer xmixer xmixer
    prog Clock xclock xclock
    prog Magnify xmag xmag
    prog Calculator xcalc xcalc
    prog Colormap xcolormap xcmap
    prog Clipboard xclipboard xclipboard
    prog xkill bomb xkill
    prog xload xload xload
    prog xosview xosview xosview
    separator
    prog "Screen Saver" xlock xlock -nolock
    prog "Screen Lock" xlock xlock
}
menu "Window Managers" folder {
    restart icewm - icewm
    restart metacity - metacity
    restart wmaker - wmaker
    restart fluxbox - fluxbox
    restart blackbox - blackbox
    restart enlightenment - enlightenment
    restart fvwm2 - fvwm2
    restart fvwm - fvwm
    restart sawfish - sawfish
    restart sawfish2 - sawfish2
}

Locations for the programs file are as follows:

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

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

icewm(1), icewm-menu(5), 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.

2024-06-16 icewm 3.6.0