ICESOUND(1)
π icesound(1) β the User Commands era π
okay so bestie, picture this: it's a User Commands situation, the manual page is called icesound, and it's about to make your desktop make noise. like, the good kind. periodt. π
β¨ NAME β¨
icesound β play audio files when interesting GUI events happen π΅π¦
πΈ SYNOPSIS πΈ
icesound [OPTIONS]
π DESCRIPTION π
So icewm(1) β the window manager, you know her β generates what we call GUI events whenever something interesting happens. opening an app window? closing it? switching workspace? yeah. all of that. these GUI events are literally a property of the X root window, and icewm(1) updates that property every single time a new GUI event goes down. interested applications can justβ¦ listen for changes to that property. and there are nearly twenty GUI events defined. twenty! iconic. π
icesound responds to these GUI events by playing audio files. which sound files, you ask? they're .wav files, and they live in a sounds sub-directory inside one of the icewm(1) configuration directories. so organized. ποΈβ¨
icesound supports several common audio interfaces. the lineup is: ALSA, OSS and libAO. these must be enabled during configuration. and heads up β ALSA, OSS and libAO all require support for libsndfile, which is a very common library for reading audio files. no libsndfile, no vibes. π
π§ ALSA
ALSA is rather involved to program and it works, but this could use more testing. it plays at most one sound at a time. one at a time, bestie. she does not multitask. π
π LibAO
LibAO is a cross-platform audio output library which is a convenient wrapper around a significant number of common audio interfaces. it has a simple configuration file, and that config file is documented in the libao.conf(5) manual page. go read it, iykyk. π«Ά
π OSS
The Open Sound System (OSS) is a cross-platform sound interface, which is fully supported by icesound. she ate. π₯
When multiple audio interfaces are available, icesound will examine them all until it finds one which it can connect to, and then use that one. by default it prefers them in the order of: AO, ALSA, OSS. first match wins, no cap. β¨
π OPTIONS π
π SPECIFIC OPTIONS π
-d,--display=DISPLAYβ the X11 display used byicewm(1)(default:$DISPLAY). π₯οΈ-s,--sample-dir=DIRECTORYβ specifies a directory with sound files. the default is:$HOME/.config/icewm/sounds,$HOME/.icewm/sounds,CFGDIR/soundsandLIBDIR/sounds. see the output of"icewm --directories". ππΆ-i,--interface={AO|ALSA|OSS}[,{AO|ALSA|OSS}]*β specifies the audio output interfaces. one or more of:AO,ALSA,OSSseparated by comma's (","). ποΈ-D,--device=DEVICEβ backwards compatibility only: the default device. please prefer one of the-A,-Oor-Soptions. (yes, she's a legacy icon, but she said prefer the others, so listen π )-O,--oss=DEVICEβ specifies the OSS device (default:/dev/dsp). π-A,--alsa=DEVICEβ specifies the ALSA device (default:"default"). the quotes are part of the vibe. π-z,--snooze=MILLISECONDSβ specifies the snooze interval between sound events in milliseconds. default is500milliseconds. she naps, respectfully. π΄-p,--play=SOUNDβ plays the given sound (name or number) and exits. one and done. π΅-l,--list-filesβ lists the available sound file paths and exits. π--list-soundsβ lists the supported sound file names and exits. π--list-interfacesβ lists the supported audio interfaces and exits. π-o,--output=FILEβ redirect all output to FILE. a leading tilde or environment variable is expanded. πͺ-v,--verboseβ be verbose and print some information when sound events occur. she'll narrate. π£οΈβ¨
π§ GENERAL OPTIONS π§
-h,--helpβ print a brief usage statement to stdout and exit. π-V,--versionβ print the program version to stdout and exit. π·οΈ-C,--copyingβ print copying permissions to stdout for the program and exit. π
π¦ EXIT STATUS π¦
0β Success. slay. π1β General error. π2β Command line error. π3β Subsystems error (i.e cannot connect to server). π
β SEE ALSO β
icewm(1), libao.conf(5), padsp(1), aplay(1), alsamixer(1).
go read the whole friend group. π«Άπ
π BUGS π
Please report bugs at <https://github.com/ice-wm/icewm/issues>. we love a bug report, fr fr. πβ‘οΈπ₯
π AUTHOR π
Brian Bidulock <mailto:bidulock@openss7.org>.
See --copying for full copyright notice and copying permissions. π
π LICENSE π
IceWM is licensed under the GNU Library General Public License. See the COPYING file in the distribution or use the --copying flag to display copying permissions. πβ¨
bestie reminder: none of these flags are optional-knowledge. every single one is in here for a reason, so don't come for me if you forget -p takes a sound name or number. i warned you. π
and that's the whole page, mwah π β this little beauty is from icewm 4.1.0, dated 2026-08-06, and it's the ICESOUND(1) page out of the User Commands manual. go make your desktop noisy. πππ¦
π¦ 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