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

       *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  05 September	2019 (2.6.9)		  FvwmEvent(1)


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

home | help