ICEWM-PROGRAMS(5)
π NAME π
okay so bestie, welcome to icewm-programs β the icewm programs configuration file β¨ it's the whole vibe of your menu, fr.
π«Ά SYNOPSIS π«Ά
$ICEWM_PRIVCFG/programs
$XDG_CONFIG_HOME/icewm/programs
$HOME/.icewm/programs
/usr/etc/icewm/programs
/usr/share/icewm/programs
like, those are the places it lives. noted π
πΈ DESCRIPTION πΈ
so the programs file is an automatically generated menu configuration file full of your installed programs. key word: automatically. you're not supposed to hand-craft this bad boy β it "should be automatically generated" by xdg_menu, wmconfig (that's the Redhat one), menu (the Debian one), or icewm-menu-fdo, probably as part of your login or X startup sequence. it's giving "set it and forget it" energy π
π FORMAT π
the format of the file contains one of the following line syntaxes, and honestly they're all slay in their own way:
prog "title" icon program optionsβ specifies a program to execute when the menu item is selected. the classic. the moment. β¨restart "title" icon program optionsβ specifies a program to replace the window manager when the menu item is selected. this one's for launching other window managers from withinicewm(1), so like, main character energy but make it a hostile takeover π«Άrunonce "title" icon "[name][.class]" program optionsβ specifies a program to execute when the menu item is selected; however β and this is the whole point bestie β if a window of the specified name and class is present, the program will not be run again. no double-launching. we don't do that here πmenu "title" icon { # contained items }β specifies a sub-menu. the lines that appear between the braces can be any menu item described here. nesting! iconic! π¦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, and they'll be collected and placed in the sub-menu at this point π₯menuprogreload "title" icon timeout program optionsβ similar tomenuprog, but after at least timeout seconds the menu is regenerated. it refreshes itself, we love a self-care queen π§include "filename"β read additional entries from the file filenameincludeprog program optionsβ read additional entries from the output of program optionsseparatorβ a separator for menu items. a little line. a lil breather. the pause before the drop π
β¨ Where β¨
let's break down the pieces, because vocabulary check is important:
prog,restart,runonce,menu,menufile,menuprog,menuprogreload,include,includeprog,separatorβ these are literal string keywords. type them exactly, no cap π- "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 (
"""). yes the manpage really does style it like that. we don't question the ancestors π - 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. it is used with the
runoncekeyword. iykyk π¦ - 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
menuprogkeyword, 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 β no editing, no "fixing", just vibes passed straight through π - 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 themenufilekeyword and specifies the file from which to read further menu items π
π EXAMPLES π
following is the example programs file that ships with icewm(1) β and bestie, it is literally a time capsule. look at these icons. look at tuxracer. we stan a retro moment π
# 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 vim vim gvim
prog emacs emacs emacs
prog Lyx emacs lyx
}
menu "WWW" folder {
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 "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 Xboard xboard xboard
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
}
okay but the # mostly obsolete, fixme comment in there is so real. the original authors knew. respect π«‘
π FILES π
locations for the programs file are as follows:
$ICEWM_PRIVCFG/programs
$XDG_CONFIG_HOME/icewm/programs
$HOME/.icewm/programs
/usr/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. so like, first come first served, bestie. don't expect a merge. there is no merge. π
π SEE ALSO π
icewm(1), icewm-menu(5), icewm-menu-fdo(1). go read them, they're the supporting cast and they ate π«Ά
π AUTHOR π
Brian Bidulock <mailto:bidulock@openss7.org> β legend behaviour, fr fr β
πΈ LICENSE πΈ
IceWM is licensed under the GNU Library General Public License. see the COPYING file in the distribution for the full tea π
and that's the whole page bestie!! π this gem is from icewm 4.1.0, dated 2026-08-06 β go forth and configure your menu, you absolute icon πβ¨π
π¦ where this page comes from
- arch rolling: icewm 4.1.0-1 Β· LGPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms