Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FvwmEvent(1)			 FVWM Modules			  FvwmEvent(1)

       FvwmEvent - the FVWM Event module

       FvwmEvent  is  a	 more  versatile replacement for FvwmAudio.  It	can in
       general be used to hook any fvwm	function or program to any window man-
       ager  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

       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.	 (her-
       itage of	FvwmAudio)

       The  invocation	method	was  shown in the synopsis section. No command
       line invocation is possible. FvwmEvent must be invoked by the fvwm win-
       dow 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.

       FvwmEvent  gets	config	info from fvwm's module	configuration database
       (see fvwm(1), section MODULE COMMANDS), and looks for certain  configu-
       ration 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 (de-
	      tails 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

	      rplay can	be obtained via	anonymous ftp at

		   <URL:> or

	      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 win-
	      dowID of the window that the event refers	to, new_desk will have
	      the  new	desk number. The windowID is a hexadecimal string pre-
	      ceded 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
		   *FvwmEvent: shutdown
		   *FvwmEvent: unknown

		   *FvwmEvent: new_page
		   *FvwmEvent: new_desk
		   *FvwmEvent: old_add_window
		   *FvwmEvent: raise_window
		   *FvwmEvent: lower_window
		   *FvwmEvent: old_configure_window
		   *FvwmEvent: focus_change
		   *FvwmEvent: enter_window
		   *FvwmEvent: leave_window
		   *FvwmEvent: destroy_window
		   *FvwmEvent: iconify
		   *FvwmEvent: deiconify
		   *FvwmEvent: window_name
		   *FvwmEvent: icon_name
		   *FvwmEvent: visible_icon_name
		   *FvwmEvent: res_class
		   *FvwmEvent: res_name
		   *FvwmEvent: end_windowlist

		   *FvwmEvent: icon_location
		   *FvwmEvent: map
		   *FvwmEvent: error
		   *FvwmEvent: config_info
		   *FvwmEvent: end_config_info
		   *FvwmEvent: icon_file
		   *FvwmEvent: default_icon
		   *FvwmEvent: string
		   *FvwmEvent: mini_icon
		   *FvwmEvent: windowshade
		   *FvwmEvent: dewindowshade

		   *FvwmEvent: visible_name
		   *FvwmEvent: sendconfig
		   *FvwmEvent: restack
		   *FvwmEvent: add_window
		   *FvwmEvent: configure_window

		   *FvwmEvent: visible_icon_name
		   *FvwmEvent: enter_window
		   *FvwmEvent: leave_window
		   *FvwmEvent: property_change

	      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  en-
	      ters  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

	      The toggle_paging	event will be supported, as soon, as it's res-
	      urrected by fvwm:

		   *FvwmEvent: toggle_paging

       *FvwmEvent: Delay 5
	      Specifies	 that  an event-action will only be executed if	it oc-
	      curs at least 5 seconds after the	previous event.	  Events  that
	      occur  during the	delay period are ignored.  This	option is use-
	      ful 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 oc-
	      curs at least delay seconds after	the startup event. Events that
	      occur  during the	delay period are ignored.  This	option is use-
	      ful when fvwm starts and restarts	using an  audio	 player.   The
	      default delay is 0.

       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 ac-
       cepts the following options to provide backwards	compatibility for Fvw-

       *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 op-
	      tion is ignored when rplay is used.

       It's REALLY noisy when fvwm starts and restarts using an	audio  player.
       You can use FvwmEvent: StartDelay to fix	this problem.

       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 orig-
       inal 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	 (
       1994  FvwmAudio	Mark Scott	 (
       1996  FvwmAudio	Albrecht Kadlec
       1998  FvwmEvent	Albrecht Kadlec	 (

3rd Berkeley Distribution (not released	yet) (2.5.20)		  FvwmEvent(1)


Want to link to this manual page? Use this URL:

home | help