.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 "ICESOUND 1" .TH ICESOUND 1 "2021-05-11" "icewm\ 2.3.4" "User\ Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" .Vb 1 \& icesound \- play audio files when interesting GUI events happen .Ve .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBicesound\fR [\fI\s-1OPTIONS\s0\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBicewm\fR\|(1) window manager generates so-called \s-1GUI\s0 events in response to interesting actions, like opening or closing of application windows, switching of work space, etc. \s-1GUI\s0 events are a property of the X root window. \fBicewm\fR\|(1) changes this property whenever a new \s-1GUI\s0 event occurs. Interested applications can listen for changes to this property. There are nearly twenty \s-1GUI\s0 events defined. .PP \&\fBicesound\fR is an application, which is one of the \fBicewm\fR\|(1) applications, which responds to these \s-1GUI\s0 events by playing audio files. These sound files are \fI.wav\fR files located in a \fIsounds\fR sub-directory in one of the \fBicewm\fR\|(1) configuration directories. .PP \&\fBicesound\fR supports several common audio interfaces. These are: \s-1ALSA, OSS\s0 and libAO. These must be enabled during configuration. \&\s-1ALSA, OSS\s0 and libAO all require support for libsndfile, which is a very common library to read audio files. .IP "\fB\s-1ALSA\s0\fR" 4 .IX Item "ALSA" \&\fB\s-1ALSA\s0\fR is rather involved to program and it works, but this could use more testing. It plays at most one sound at a time. .IP "\fBLibAO\fR" 4 .IX Item "LibAO" \&\fBLibAO\fR 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 which is documented in the \fBlibao.conf\fR\|(5) manual page. .IP "\fB\s-1OSS\s0\fR" 4 .IX Item "OSS" The \fIOpen Sound System (\s-1OSS\s0)\fR is a cross-platform sound interface, which is fully supported by \fBicesound\fR. .PP When multiple audio interfaces are available \fBicesound\fR 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: \fB\s-1AO\s0\fR, \fB\s-1ALSA\s0\fR, \fB\s-1OSS\s0\fR. .SH "OPTIONS" .IX Header "OPTIONS" .SS "\s-1SPECIFIC OPTIONS\s0" .IX Subsection "SPECIFIC OPTIONS" .IP "\fB\-d\fR, \fB\-\-display\fR=\fI\s-1DISPLAY\s0\fR" 4 .IX Item "-d, --display=DISPLAY" X11 display used by \fBicewm\fR\|(1) (default: \f(CW$DISPLAY\fR). .IP "\fB\-s\fR, \fB\-\-sample\-dir\fR=\fI\s-1DIRECTORY\s0\fR" 4 .IX Item "-s, --sample-dir=DIRECTORY" Specifies a directory with sound files. The default is: \&\fI\f(CI$HOME\fI/.config/icewm/sounds\fR, \fI\f(CI$HOME\fI/.icewm/sounds\fR, \fICFGDIR/sounds\fR and \fILIBDIR/sounds\fR. See the output of \f(CW\*(C`icewm \-\-directories\*(C'\fR. .IP "\fB\-i\fR, \fB\-\-interface\fR={\fB\s-1AO\s0\fR|\fB\s-1ALSA\s0\fR|\fB\s-1OSS\s0\fR}[,{\fB\s-1AO\s0\fR|\fB\s-1ALSA\s0\fR|\fB\s-1OSS\s0\fR}]*" 4 .IX Item "-i, --interface={AO|ALSA|OSS}[,{AO|ALSA|OSS}]*" Specifies the audio output interfaces. One or more of: \fB\s-1AO\s0\fR, \&\fB\s-1ALSA\s0\fR, \fB\s-1OSS\s0\fR separated by commas (\f(CW\*(C`,\*(C'\fR). .IP "\fB\-D\fR, \fB\-\-device\fR=\fI\s-1DEVICE\s0\fR" 4 .IX Item "-D, --device=DEVICE" Backwards compatibility only: the default device. Please prefer one of the \fB\-A\fR, \fB\-O\fR or \fB\-S\fR options. .IP "\fB\-O\fR, \fB\-\-oss\fR=\fI\s-1DEVICE\s0\fR" 4 .IX Item "-O, --oss=DEVICE" Specifies the \s-1OSS\s0 device (default: \f(CW\*(C`default\*(C'\fR). .IP "\fB\-A\fR, \fB\-\-alsa\fR=\fI\s-1DEVICE\s0\fR" 4 .IX Item "-A, --alsa=DEVICE" Specifies the \s-1ALSA\s0 device (default: \fI/dev/dsp\fR). .IP "\fB\-z\fR, \fB\-\-snooze\fR=\fI\s-1MILLISECONDS\s0\fR" 4 .IX Item "-z, --snooze=MILLISECONDS" Specifies the snooze interval between sound events in milliseconds. Default is 500 milliseconds. .IP "\fB\-p\fR, \fB\-\-play\fR=\fI\s-1SOUND\s0\fR" 4 .IX Item "-p, --play=SOUND" Plays the given sound (name or number) and exits. .IP "\fB\-l\fR, \fB\-\-list\-files\fR" 4 .IX Item "-l, --list-files" Lists the available sound file paths and exits. .IP "\fB\-\-list\-sounds\fR" 4 .IX Item "--list-sounds" Lists the supported sound file names and exits. .IP "\fB\-\-list\-interfaces\fR" 4 .IX Item "--list-interfaces" Lists the supported audio interfaces and exits. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Be verbose and print some information when sound events occur. .SS "\s-1GENERAL OPTIONS\s0" .IX Subsection "GENERAL OPTIONS" .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Print a brief usage statement to \fIstdout\fR and exit. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Print the program version to \fIstdout\fR and exit. .IP "\fB\-C\fR, \fB\-\-copying\fR" 4 .IX Item "-C, --copying" Print copying permissions to \fIstdout\fR for the program and exit. .SH "EXIT STATUS" .IX Header "EXIT STATUS" .IP "\fB0\fR" 4 .IX Item "0" Success. .IP "\fB1\fR" 4 .IX Item "1" General error. .IP "\fB2\fR" 4 .IX Item "2" Command line error. .IP "\fB3\fR" 4 .IX Item "3" Subsystems error (i.e cannot connect to server). .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBicewm\fR\|(1), \&\fBlibao.conf\fR\|(5), \&\fBpadsp\fR\|(1), \&\fBaplay\fR\|(1), \&\fBalsamixer\fR\|(1). .SH "BUGS" .IX Header "BUGS" \&\fBicesound\fR had no known bugs at the time of release. Please report bugs for current versions to the source code repository at . .SH "AUTHOR" .IX Header "AUTHOR" Brian Bidulock . .PP See \fB\-\-copying\fR for full copyright notice and copying permissions. .SH "LICENSE" .IX Header "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 or use the \fB\-\-copying\fR flag to display copying permissions.