252 lines
7.8 KiB
Groff
252 lines
7.8 KiB
Groff
|
.\" t
|
||
|
.\" @(#)FvwmEvent.1 3/28/94
|
||
|
.TH FvwmEvent 1.0 "Apr 22 1998"
|
||
|
.UC
|
||
|
.SH NAME
|
||
|
\fBFvwmEvent\fP \- the FVWM Event module
|
||
|
.SH SYNOPSIS
|
||
|
\fBFvwmEvent\fP is a more versatile replacement for \fBFvwmAudio\fP.
|
||
|
It can in general be used to hook any \fBfvwm2\fP function or program to any
|
||
|
window manager event. e.g: Delete unwanted netscape-popups or
|
||
|
application error popups as they appear, play sounds, log events to a
|
||
|
file and the like. Be creative, You'll find a use for it.
|
||
|
|
||
|
\fBFvwmEvent\fP is spawned by \fBfvwm2(1)\fP, so no command line invocation will
|
||
|
work. From within the \fI.fvwm2rc\fP file, \fBFvwmEvent\fP is spawned as
|
||
|
follows:
|
||
|
.nf
|
||
|
.sp
|
||
|
Module FvwmEvent
|
||
|
.sp
|
||
|
.fi
|
||
|
or from within an \fBfvwm2\fP pop-up menu:
|
||
|
.nf
|
||
|
.sp
|
||
|
DestroyMenu Module-Popup
|
||
|
AddToMenu Module-Popup "Modules" Title
|
||
|
+ "Event" Module FvwmEvent
|
||
|
+ "Auto" Module FvwmAuto 200
|
||
|
+ "Buttons" Module FvwmButtons
|
||
|
+ "Ident" Module FvwmIdent
|
||
|
+ "Banner" Module FvwmBanner
|
||
|
+ "Pager" Module FvwmPager 0 3
|
||
|
.sp
|
||
|
.fi
|
||
|
.SH DESCRIPTION
|
||
|
The \fBFvwmEvent\fP module communicates with the \fBfvwm2\fP window manager
|
||
|
to bind \fIactions\fP to window manager \fIevents\fP. Different actions
|
||
|
may be assigned to distinct window manager events.
|
||
|
|
||
|
\fBFvwmEvent\fP can be used to bind sound files to events like
|
||
|
\fBFvwmAudio\fP (RiP) did. It can be used for logging event traces to
|
||
|
a log file, while debugging \fBfvwm2\fP.
|
||
|
|
||
|
\fBFvwmEvent\fP can also have builtin support for the rplay library.
|
||
|
(heritage of FvwmAudio)
|
||
|
|
||
|
.SH CONFIGURATION OPTIONS
|
||
|
\fBFvwmEvent\fP reads the same \fI.fvwm2rc\fP file as \fBfvwm2\fP
|
||
|
reads when it starts up, and looks for certain configuration options:
|
||
|
|
||
|
.IP "*FvwmEventCmd \fIcommand\fP"
|
||
|
This determines the \fBfvwm2\fP function that is to be called with the
|
||
|
event parameters.
|
||
|
You might want to do one of the following (details below):
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEventCmd \fIbuiltin-rplay\fP
|
||
|
play sounds
|
||
|
*FvwmEventCmd
|
||
|
execute distinct fvwm2 functions
|
||
|
*FvwmEventCmd exec
|
||
|
execute distinct external programs
|
||
|
.sp
|
||
|
.fi
|
||
|
This version of \fBFvwmEvent\fP has builtin \fBrplay\fP support which does not
|
||
|
need to invoke an external audio player to play sounds. The rplay
|
||
|
support is enabled when \fBFvwmEvent\fP is compiled with \fIHAVE_RPLAY\fP defined
|
||
|
(see the Imakefile) and when \fBFvwmEventCmd\fP is set to \fIbuiltin-rplay\fP.
|
||
|
|
||
|
For example:
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEventCmd \fIbuiltin-rplay\fP
|
||
|
*FvwmEvent add_window drip.au
|
||
|
|
||
|
rplay can be obtained via anonymous ftp at
|
||
|
<URL:ftp://ftp.sdsu.edu/pub/rplay>
|
||
|
or <URL:ftp://ftp.x.org/contrib/Event/rplay>
|
||
|
.sp
|
||
|
.fi
|
||
|
\fBFvwmEvent\fP also has support for any other external program.
|
||
|
e.g: the rsynth 'say' command:
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEventCmd /rsynth/say
|
||
|
*FvwmEvent destroy_window "window closed"
|
||
|
.sp
|
||
|
.fi
|
||
|
You can also use \fBfvwm2\fP's builtin \fIEcho\fP command as
|
||
|
\fIFvwmEventCmd\fP to obtain debug output for \fBfvwm2\fP events quietly.
|
||
|
I used this setup to debug FvwmAuto:
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEventCmd \fIEcho\fP
|
||
|
*FvwmEvent focus_change "focus change"
|
||
|
*FvwmEvent raise_window "raise window"
|
||
|
.sp
|
||
|
.fi
|
||
|
You can even call different shell commands for each event just by setting
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEventCmd exec
|
||
|
*FvwmEvent add_window killname "APPL ERROR"
|
||
|
.sp
|
||
|
.fi
|
||
|
.IP "*FvwmEvent \fIwindow-manager-event action-or-filename\fP"
|
||
|
Binds particular actions to window manager events.
|
||
|
.nf
|
||
|
.sp
|
||
|
e.g. for audio-events:
|
||
|
|
||
|
*FvwmEvent startup TaDa.au
|
||
|
*FvwmEvent shutdown Elvis_Left.au
|
||
|
*FvwmEvent unknown doh.au
|
||
|
|
||
|
*FvwmEvent new_page beam_trek.au
|
||
|
*FvwmEvent new_desk beam_trek.au
|
||
|
*FvwmEvent add_window drip.au
|
||
|
*FvwmEvent raise_window swoosh.au
|
||
|
*FvwmEvent lower_window swoosh.au
|
||
|
*FvwmEvent configure_window hammer.au
|
||
|
*FvwmEvent focus_change boing.au
|
||
|
*FvwmEvent destroy_window explosion.au
|
||
|
*FvwmEvent iconify ploop.au
|
||
|
*FvwmEvent deiconify ploop.au
|
||
|
*FvwmEvent window_name huh.au
|
||
|
*FvwmEvent icon_name beep.au
|
||
|
*FvwmEvent res_class beep.au
|
||
|
*FvwmEvent res_name beep.au
|
||
|
*FvwmEvent end_windowlist twang.au
|
||
|
|
||
|
*FvwmEvent icon_location beep.au
|
||
|
*FvwmEvent map beep.au
|
||
|
*FvwmEvent error beep.au
|
||
|
*FvwmEvent config_info beep.au
|
||
|
*FvwmEvent end_config_info beep.au
|
||
|
*FvwmEvent icon_file beep.au
|
||
|
*FvwmEvent default_icon beep.au
|
||
|
*FvwmEvent string plapper.au
|
||
|
|
||
|
*FvwmEvent mini_icon beep.au
|
||
|
*FvwmEvent windowshade beep.au
|
||
|
*FvwmEvent dewindowshade beep.au
|
||
|
.sp
|
||
|
.fi
|
||
|
Provided \fBfvwm2\fP supports it (not yet), there's an additional event to
|
||
|
replace all \fBfvwm2\fP beeps with a sound:
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEvent beep beep.au
|
||
|
.sp
|
||
|
.fi
|
||
|
The toggle_paging event will be supported, as soon, as it's
|
||
|
resurrected by \fBfvwm2\fP:
|
||
|
.nf
|
||
|
.sp
|
||
|
*FvwmEvent toggle_paging fwop.au
|
||
|
.sp
|
||
|
.fi
|
||
|
.IP "*FvwmEventDelay \fI5\fP"
|
||
|
Specifies that an event-action will only be executed if it occurs at
|
||
|
least 5 seconds after the previous event. Events that occur during
|
||
|
the delay period are ignored. This option is useful if you don't want
|
||
|
several sounds playing at the same time. The default delay is 0 which
|
||
|
disables the Event delay.
|
||
|
|
||
|
|
||
|
.SH RPLAY OPTIONS
|
||
|
The following options are only valid with builtin rplay support.
|
||
|
i.e: when \fBFvwmEvent\fP was compiled with \fIHAVE_RPLAY\fP defined
|
||
|
(see the Imakefile). They are used only if \fBFvwmEventCmd\fP is set
|
||
|
to \fIbuiltin-rplay\fP.
|
||
|
|
||
|
|
||
|
.IP "*FvwmEventRplayHost \fIhostname\fP"
|
||
|
Specifies what host the rplay sounds will play on. The \fIhostname\fP
|
||
|
can also be an environment variable such as $HOSTDISPLAY.
|
||
|
|
||
|
.IP "*FvwmEventRplayPriority \fI0\fP"
|
||
|
Specifies what priority will be assigned to the rplay sounds when they
|
||
|
are played.
|
||
|
|
||
|
.IP "*FvwmEventRplayVolume \fI127\fP"
|
||
|
Specifies what volume will be assigned to the sounds when they are
|
||
|
played.
|
||
|
|
||
|
.SH INVOCATION
|
||
|
The invocation method was shown in the synopsis section. No command
|
||
|
line invocation is possible. \fBFvwmEvent\fP must be invoked by the
|
||
|
\fBfvwm2\fP window manager.
|
||
|
.sp
|
||
|
|
||
|
.SH FvwmAudio Compatibility
|
||
|
|
||
|
FvwmAudioPlayCmd used to call an external program.
|
||
|
FvwmEventCmd calls an \fBfvwm2\fP function. External programs can be called
|
||
|
using the \fBfvwm2\fP exec function "exec program".
|
||
|
|
||
|
FvwmAudioDir has been removed due to the fact that the parameters
|
||
|
don't have to be files any more.
|
||
|
use:
|
||
|
.nf
|
||
|
.sp
|
||
|
DestroyFunc mysay
|
||
|
AddToFunc mysay "I" exec /rsynth/say /rsynth/audiofiles/$1
|
||
|
|
||
|
*FvwmEventCmd mysay
|
||
|
.sp
|
||
|
.fi
|
||
|
.SH BUGS
|
||
|
It's REALLY noisy when \fBfvwm2\fP starts and restarts using an audio player.
|
||
|
FvwmEventDelay helps a little bit.
|
||
|
|
||
|
The parameters inherent to several events are not accessible. This
|
||
|
might be implemented in the future so that the command executed by
|
||
|
fvwm2 looks like FvwmEventCmd FvwmEvent-parameters
|
||
|
event-specific-parameters.
|
||
|
|
||
|
Simple \fBFvwmAuto\fP could then be emulated by:
|
||
|
.nf
|
||
|
*FvwmEventCmd
|
||
|
*FvwmEvent raise-window Raise
|
||
|
.sp
|
||
|
.fi
|
||
|
.SH COPYRIGHTS
|
||
|
This module has evolved of \fBFvwmAudio\fP, which in term is heavily based
|
||
|
on a similar Fvwm module called \fBFvwmSound\fP by Mark
|
||
|
Boyns. \fBFvwmAudio\fP simply took Mark's original program and
|
||
|
extended it to make it generic enough to work with any Audio
|
||
|
player. Due to different requests to do specific things on specific events,
|
||
|
\fBFvwmEvent\fP took this one step further and now calls any
|
||
|
\fBfvwm2\fP function, or builtin-rplay. If \fBfvwm2\fP's Exec function
|
||
|
is used, any external program can be called with any parameter.
|
||
|
|
||
|
The concept for interfacing this module to the Window Manager, is
|
||
|
original work by Robert Nation.
|
||
|
|
||
|
Copyright 1998 Albrecht Kadlec.
|
||
|
Copyright 1994, Mark Boyns and Mark Scott. No guarantees or
|
||
|
warranties or anything are provided or implied in any way whatsoever.
|
||
|
Use this program at your own risk. Permission to use and modify this
|
||
|
program for any purpose is given, as long as the copyright is kept intact.
|
||
|
|
||
|
|
||
|
.sp
|
||
|
.SH AUTHORS
|
||
|
.nf
|
||
|
1994 FvwmSound Mark Boyns (\fIboyns@sdsu.edu\fP)
|
||
|
1994 FvwmAudio Mark Scott (\fImscott@mcd.mot.com\fP)
|
||
|
1996 FvwmAudio Albrecht Kadlec
|
||
|
1998 FvwmEvent Albrecht Kadlec (\fIalbrecht@auto.tuwien.ac.at\fP)
|