=pod =head2 NAME icewm-programs - icewm programs configuration file =head2 SYNOPSIS $ICEWM_PRIVCFG/programs $XDG_CONFIG_HOME/icewm/programs $HOME/.icewm/programs /etc/icewm/programs /usr/share/icewm/programs =head2 DESCRIPTION The F 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. =head2 FORMAT The format of the file contains one of the following line syntax: =over =item B [B<">]I[B<">] I<icon> I<program> I<options> Specifies a program to execute when the menu item is selected. =item B<restart> [B<">]I<title>[B<">] I<icon> I<program> I<options> Specifies a program to replace the window manager when the menu item is selected. This is for launching other window managers from within L<icewm(1)>. =item B<runonce> [B<">]I<title>[B<">] I<icon> B<">[I<res_name>][B<.>I<res_class>]B<"> I<program> I<options> Specifies a program to execute when the menu item is selected; however, if a window of the specified I<res_name> and I<res_class> is present, the program will not be run again. =item B<menu> [B<">]I<title>[B<">] I<icon> B<{> # contained items B<}> Specifies a sub-menu. The lines that appear between the braces can be any menu item described here. =item B<menufile> [B<">]I<title>[B<">] I<icon> [B<">]I<filename>[B<">] Specifies a file from which to collect sub-menu items (lines) and place them at this point in the menu. =item B<menuprog> [B<">]I<title>[B<">] I<icon> I<program> I<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. =item B<menuprogreload> [B<">]I<title>[B<">] I<icon> I<timeout> I<program> I<options> Similar to B<menuprog>, but after at least I<timeout> seconds the menu is regenerated. =item B<include> [B<">]I<filename>[B<">] Read additional entries from the file I<filename> =item B<includeprog> I<program> I<options> Read additional entries from the output of I<program> I<options>. =item B<separator> A separator for menu items. =back Where =over =item B<prog>, B<restart>, B<runonce>, B<menu>, B<menufile>, B<menuprog>, B<menuprogreload>, B<include>, B<includeprog>, B<separator> These are literal string keywords. =item [B<">]I<title>[B<">] This is the I<title> string associated with the menu item that is displayed in the menu. When the I<title> contains spaces, the title must be surrounded by double quotes (C<">), although the I<title> may always be surrounded by double quotes if preferred. =item I<icon> Is the name of the icon file (with or without extension) or the full path to an icon file. =item B<">[I<res_name>][B<.>I<res_class>]B<"> I<res_name> is the resource name of a window launched by I<program> and I<res_class> is the resource class of the window. Only one of I<res_name> or I<res_class> need be specified. This is used to identify whether the program is already running and is for use with the B<runonce> keyword. =item I<program> I<options> I<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 B<menuprog> keyword, the I<program> must print on standard output the contents of the menu and is used for dynamic menus. I<options> is the options and arguments passed to the I<program> verbatim. =item I<filename> I<filename> is the name of the file relative to one of the L<icewm(1)> configuration directories, or the full path to a file. The file is used with the B<menufile> keyword and specifies the file from which to read further menu items. =back =head2 EXAMPLES Following is the example F<programs> file that ships with L<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 } =head2 FILES Locations for the F<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. =head2 SEE ALSO L<icewm(1)>, L<icewm-menu(5)>, L<icewm-menu-fdo(1)>. =head2 AUTHOR Brian Bidulock L<mailto:bidulock@openss7.org>. =head2 LICENSE B<IceWM> is licensed under the GNU Library General Public License. See the F<COPYING> file in the distribution. =cut # vim: set sw=4 tw=72 nocin spell spelllang=en_ca: