.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ICEWM-PROGRAMS 5"
.TH ICEWM-PROGRAMS 5 "2023-02-05" "icewm\ 3.3.1" "Standards, Environments and Macros"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SS "\s-1NAME\s0"
.IX Subsection "NAME"
.Vb 1
\& icewm\-programs \- icewm programs configuration file
.Ve
.SS "\s-1SYNOPSIS\s0"
.IX Subsection "SYNOPSIS"
.Vb 5
\& $ICEWM_PRIVCFG/programs
\& $XDG_CONFIG_HOME/icewm/programs
\& $HOME/.icewm/programs
\& /etc/X11/icewm/programs
\& /usr/share/icewm/programs
.Ve
.SS "\s-1DESCRIPTION\s0"
.IX Subsection "DESCRIPTION"
The \fIprograms\fR 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.
.SS "\s-1FORMAT\s0"
.IX Subsection "FORMAT"
The format of the file contains one of the following line syntax:
.ie n .IP "\fBprog\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.el .IP "\fBprog\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "prog [""]title[""] icon program options"
Specifies a program to execute when the menu item is selected.
.ie n .IP "\fBrestart\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.el .IP "\fBrestart\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "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
\&\fBicewm\fR\|(1).
.ie n .IP "\fBrunonce\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fB""\fR[\fIres_name\fR][\fB.\fR\fIres_class\fR]\fB""\fR \fIprogram\fR \fIoptions\fR" 4
.el .IP "\fBrunonce\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fB``\fR[\fIres_name\fR][\fB.\fR\fIres_class\fR]\fB''\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "runonce [""]title[""] icon ""[res_name][.res_class]"" program options"
Specifies a program to execute when the menu item is selected; however,
if a window of the specified \fIres_name\fR and \fIres_class\fR is present,
the program will not be run again.
.ie n .IP "\fBmenu\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fB{\fR # contained items \fB}\fR" 4
.el .IP "\fBmenu\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fB{\fR # contained items \fB}\fR" 4
.IX Item "menu [""]title[""] icon { # contained items }"
Specifies a sub-menu.  The lines that appear between the braces can be
any menu item described here.
.ie n .IP "\fBmenufile\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR [\fB""\fR]\fIfilename\fR[\fB""\fR]" 4
.el .IP "\fBmenufile\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR [\fB``\fR]\fIfilename\fR[\fB''\fR]" 4
.IX Item "menufile [""]title[""] icon [""]filename[""]"
Specifies a file from which to collect sub-menu items (lines) and place
them at this point in the menu.
.ie n .IP "\fBmenuprog\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.el .IP "\fBmenuprog\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "menuprog [""]title[""] icon program options"
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.
.ie n .IP "\fBmenuprogreload\fR [\fB""\fR]\fItitle\fR[\fB""\fR] \fIicon\fR \fItimeout\fR \fIprogram\fR \fIoptions\fR" 4
.el .IP "\fBmenuprogreload\fR [\fB``\fR]\fItitle\fR[\fB''\fR] \fIicon\fR \fItimeout\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "menuprogreload [""]title[""] icon timeout program options"
Similar to \fBmenuprog\fR, but after at least \fItimeout\fR seconds
the menu is regenerated.
.ie n .IP "\fBinclude\fR [\fB""\fR]\fIfilename\fR[\fB""\fR]" 4
.el .IP "\fBinclude\fR [\fB``\fR]\fIfilename\fR[\fB''\fR]" 4
.IX Item "include [""]filename[""]"
Read additional entries from the file \fIfilename\fR
.IP "\fBincludeprog\fR \fIprogram\fR \fIoptions\fR" 4
.IX Item "includeprog program options"
Read additional entries from the output of \fIprogram\fR \fIoptions\fR.
.IP "\fBseparator\fR" 4
.IX Item "separator"
A separator for menu items.
.PP
Where
.IP "\fBprog\fR, \fBrestart\fR, \fBrunonce\fR, \fBmenu\fR, \fBmenufile\fR, \fBmenuprog\fR, \fBmenuprogreload\fR, \fBinclude\fR, \fBincludeprog\fR, \fBseparator\fR" 4
.IX Item "prog, restart, runonce, menu, menufile, menuprog, menuprogreload, include, includeprog, separator"
These are literal string keywords.
.ie n .IP "[\fB""\fR]\fItitle\fR[\fB""\fR]" 4
.el .IP "[\fB``\fR]\fItitle\fR[\fB''\fR]" 4
.IX Item "[""]title[""]"
This is the \fItitle\fR string associated with the menu item which is
displayed in the menu.  When the \fItitle\fR contains spaces, the title
must be surrounded by double quotes (\f(CW\*(C`"\*(C'\fR), although the \fItitle\fR may
always be surrounded by double quotes if preferred.
.IP "\fIicon\fR" 4
.IX Item "icon"
Is the name of the icon file (with or without extension) or the full
path to an icon file.
.ie n .IP "\fB""\fR[\fIres_name\fR][\fB.\fR\fIres_class\fR]\fB""\fR" 4
.el .IP "\fB``\fR[\fIres_name\fR][\fB.\fR\fIres_class\fR]\fB''\fR" 4
.IX Item """[res_name][.res_class]"""
\&\fIres_name\fR is the resource name of a window launched by \fIprogram\fR and
\&\fIres_class\fR is the resource class of the window.  Only one of
\&\fIres_name\fR or \fIres_class\fR need be specified.  This is used to identify
whether the program is already running and is for use with the
\&\fBrunonce\fR keyword.
.IP "\fIprogram\fR \fIoptions\fR" 4
.IX Item "program options"
\&\fIprogram\fR 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
\&\fBmenuprog\fR keyword, the \fIprogram\fR must print on standard output the
contents of the menu and is used for dynamic menus.
.Sp
\&\fIoptions\fR is the options and arguments passed to the \fIprogram\fR
verbatim.
.IP "\fIfilename\fR" 4
.IX Item "filename"
\&\fIfilename\fR is the name of the file relative to one of the \fBicewm\fR\|(1)
configuration directories, or the full path to a file.  The file is used
with the \fBmenufile\fR keyword and specifies the file from which to read
further menu items.
.SS "\s-1EXAMPLES\s0"
.IX Subsection "EXAMPLES"
Following is the example \fIprograms\fR file that ships with \fBicewm\fR\|(1):
.PP
.Vb 10
\& # 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
\& }
.Ve
.SS "\s-1FILES\s0"
.IX Subsection "FILES"
Locations for the \fIprograms\fR file are as follows:
.PP
.Vb 5
\& $ICEWM_PRIVCFG/programs
\& $XDG_CONFIG_HOME/icewm/programs
\& $HOME/.icewm/programs
\& /etc/X11/icewm/programs
\& /usr/share/icewm/programs
.Ve
.PP
The locations are searched in the order listed; the first file found is
read and the remainder ignored.
.SS "\s-1SEE ALSO\s0"
.IX Subsection "SEE ALSO"
\&\fBicewm\fR\|(1),
\&\fBicewm\-menu\fR\|(5),
\&\fBicewm\-menu\-fdo\fR\|(1).
.SS "\s-1AUTHOR\s0"
.IX Subsection "AUTHOR"
Brian Bidulock <mailto:bidulock@openss7.org>.
.SS "\s-1LICENSE\s0"
.IX Subsection "LICENSE"
\&\fBIceWM\fR is licensed under the \s-1GNU\s0 Library General Public License.
See the \fI\s-1COPYING\s0\fR file in the distribution.