FvwmEvent is spawned by fvwm, so no command line invocation will work. From within the .fvwm2rc file, FvwmEvent is spawned as follows:
Module FvwmEventor 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
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)
Invoking FvwmEvent as FvwmAudio (either by using an alias or creating a symlink) enables FvwmAudio compatibility mode.
# play sounds *FvwmEvent: Cmd builtin-rplay # execute distinct fvwm functions *FvwmEvent: Cmd # execute distinct external programs *FvwmEvent: Cmd execThis 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.
*FvwmEvent: Cmd builtin-rplay *FvwmEvent: add_window drip.aurplay 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"'
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.auThe 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.auThe toggle_paging event will be supported, as soon, as it's resurrected by fvwm:
*FvwmEvent: toggle_paging fwop.au
When invoked in FvwmAudio compatibility mode (see above), FvwmEvent accepts the following options to provide backwards compatibility for FvwmAudio:
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.
1994 FvwmSound Mark Boyns (email@example.com) 1994 FvwmAudio Mark Scott (firstname.lastname@example.org) 1996 FvwmAudio Albrecht Kadlec 1998 FvwmEvent Albrecht Kadlec (email@example.com)