FvwmEvent(1) Fvwm Modules FvwmEvent(1)
NAME
FvwmEvent - the fvwm event module
SYNOPSIS
FvwmEvent is a more versatile replacement for
FvwmAudio. It can in
general be used to hook any
fvwm function or program to any window
manager event. E.g: Delete unwanted Netscape Pop ups or application
error pop ups as they appear, play sounds, log events to a file and
the like. Be creative, you'll find a use for it.
FvwmEvent is spawned by
fvwm, so no command line invocation will
work. From within the
.fvwm2rc file,
FvwmEvent is spawned as
follows:
Module FvwmEvent
or from within an
fvwm pop-up menu:
DestroyMenu Module-Popup
AddToMenu Module-Popup "Modules" Title
+ "Event" Module FvwmEvent
+ "Auto" Module FvwmAuto 200
+ "Buttons" Module FvwmButtons
+ "Console" Module FvwmConsole
+ "Ident" Module FvwmIdent
+ "Banner" Module FvwmBanner
+ "Pager" Module FvwmPager 0 3
DESCRIPTION
The
FvwmEvent module communicates with the
fvwm window manager to
bind
actions to window manager
events. Different actions may be
assigned to distinct window manager events.
FvwmEvent can be used to bind sound files to events like
FvwmAudio (RiP) did. It can be used for logging event traces to a log file,
while debugging
fvwm.
FvwmEvent can also have builtin support for the rplay library.
(heritage of FvwmAudio)
INVOCATION
The invocation method was shown in the synopsis section. No command
line invocation is possible.
FvwmEvent must be invoked by the
fvwm window manager.
FvwmEvent accepts a single argument:
-audio Enables FvwmAudio compatibility mode.
alias Makes FvwmEvent use
alias as its name. This affects which
lines from the user's configuration file are used.
Invoking FvwmEvent as
FvwmAudio (either by using an alias or
creating a symlink) enables FvwmAudio compatibility mode.
CONFIGURATION OPTIONS
FvwmEvent gets config info from
fvwm's module configuration database
(see
fvwm(1), section
MODULE COMMANDS), and looks for certain
configuration options:
*FvwmEvent: Cmd
command This determines the
fvwm function that is to be called with
the event parameters. You might want to do one of the
following (details below):
# play sounds
*FvwmEvent: Cmd
builtin-rplay # execute distinct fvwm functions
*FvwmEvent: Cmd
# execute distinct external programs
*FvwmEvent: Cmd exec
This version of
FvwmEvent has builtin
rplay support which does
not need to invoke an external audio player to play sounds.
The rplay support is enabled when
FvwmEvent is compiled with
HAVE_RPLAY defined and when
FvwmEvent: Cmd is set to
builtin- rplay. See remarks below if
FvwmEvent is invoked in FvwmAudio
compatibility mode.
For example:
*FvwmEvent: Cmd
builtin-rplay *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/audio/rplay>
FvwmEvent also has support for any other external program.
e.g: the rsynth 'say' command:
*FvwmEvent: Cmd "Exec /rsynth/say"
*FvwmEvent: destroy_window "window closed"
You can also use
fvwm's builtin
Echo command as
FvwmEvent: Cmd to obtain debug output for
fvwm events quietly. I used this
setup to debug FvwmAuto:
*FvwmEvent: Cmd
Echo *FvwmEvent: focus_change "focus change"
*FvwmEvent: raise_window "raise window"
You can even call different shell commands for each event just
by setting
*FvwmEvent: Cmd exec
*FvwmEvent: add_window 'killname "APPL ERROR"'
*FvwmEvent: PassId
Specifies that the event action will have an ID parameter
added to the end of the command line. Most events will have
the windowID of the window that the event refers to, new_desk
will have the new desk number. The windowID is a hexadecimal
string preceded by 0x, desk numbers are decimal.
*FvwmEvent:
window-manager-event action-or-filename Binds particular actions to window manager events.
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: old_add_window drip.au
*FvwmEvent: raise_window swoosh.au
*FvwmEvent: lower_window swoosh.au
*FvwmEvent: old_configure_window hammer.au
*FvwmEvent: focus_change boing.au
*FvwmEvent: enter_window boing.au
*FvwmEvent: leave_window 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: visible_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
*FvwmEvent: visible_name beep.au
*FvwmEvent: sendconfig beep.au
*FvwmEvent: restack beep.au
*FvwmEvent: add_window beep.au
*FvwmEvent: configure_window beep.au
*FvwmEvent: visible_icon_name beep.au
*FvwmEvent: enter_window beep.au
*FvwmEvent: leave_window beep.au
*FvwmEvent: property_change beep.au
The window related event handlers are executed within a window
context. Previously PassId was used for this purpose, but now
using PassId is not needed.
Note: The enter_window event is generated when the pointer
enters a window. With the -passid option, that window's id is
passed to fvwm. An enter_window event is generated too when
the pointer leaves a window and moves into the root window.
In this case, the id passed is 0.
Note: When the shutdown event arrives, FvwmEvent may be killed
before it can trigger the associated action.
Provided
fvwm supports it (not yet), there's an additional
event to replace all
fvwm beeps with a sound:
*FvwmEvent: beep beep.au
*FvwmEvent: Delay
5 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.
*FvwmEvent: StartDelay
delay Specifies that an event-action will only be executed if it
occurs at least
delay seconds after the startup event. Events
that occur during the delay period are ignored. This option
is useful when
fvwm starts and restarts using an audio player.
The default delay is 0.
RPLAY OPTIONS
The following options are only valid with builtin rplay support.
i.e: when
FvwmEvent was compiled with
HAVE_RPLAY defined. They are
used only if
FvwmEvent: Cmd is set to
builtin-rplay.
*FvwmEvent: RplayHost
hostname Specifies what host the rplay sounds will play on. The
hostname can also be an environment variable such as
$HOSTDISPLAY.
*FvwmEvent: RplayPriority
0 Specifies what priority will be assigned to the rplay sounds
when they are played.
*FvwmEvent: RplayVolume
127 Specifies what volume will be assigned to the sounds when they
are played.
FvwmAudio Compatibility Mode When invoked in FvwmAudio compatibility mode (see above), FvwmEvent
accepts the following options to provide backwards compatibility for
FvwmAudio:
*FvwmEvent: PlayCmd
command This is equivalent to using *FvwmEvent: Cmd to Exec commands.
This determines the independent audio player program that will
actually play the sounds. If the play command is set to
builtin-rplay then the builtin rplay support will be used.
*FvwmAudio: Dir
directory Specifies the directory to look for the audio files. This
option is ignored when rplay is used.
BUGS
It's REALLY noisy when
fvwm starts and restarts using an audio
player. You can use FvwmEvent: StartDelay to fix this problem.
COPYRIGHTS
This module has evolved of
FvwmAudio, which in term is heavily based
on a similar Fvwm module called
FvwmSound by Mark Boyns.
FvwmAudio 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,
FvwmEvent took
this one step further and now calls any
fvwm function, or builtin-
rplay. If
fvwm'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.
AUTHORS
1994 FvwmSound Mark Boyns (
boyns@sdsu.edu)
1994 FvwmAudio Mark Scott (
mscott@mcd.mot.com)
1996 FvwmAudio Albrecht Kadlec
1998 FvwmEvent Albrecht Kadlec (
albrecht@auto.tuwien.ac.at)
3rd Berkeley Distribution 19 October 2022 (2.7.0) FvwmEvent(1)