Man Linux: Main Page and Category List

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

              The toggle_paging event will be  supported,  as  soon,  as  it’s
              resurrected by fvwm:

                   *FvwmEvent: toggle_paging fwop.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)