FvwmTaskBar - the FVWM taskbar module - with plugins


SYNOPSIS

       FvwmTaskBar is spawned by FVWM, so no command line invoca-
       tion will work.



DESCRIPTION

       The FvwmTaskBar module provides a taskbar made up of  but-
       tons arranged by rows, each corresponding to a window that
       FVWM is managing.  Clicking on first button gives focus to
       the  corresponding toplevel window; clicking on the middle
       button will hide a toplevel window; third mouse button  is
       reserved  for a future extension (context menu).  Like the
       other modules, FvwmTaskBar only works when fvwm is used as
       the window manager.

       When started, the taskbar shows up as a single row of but-
       tons filling the full width of the screen, but during  the
       work  can  be  resized to accomodate up to 8 rows. In adi-
       tion, if the AutoStick option is used,  the  taskbar  will
       autoposition  itself  at  the top or bottom of the screen,
       and can be dragged from one position  to  another  with  a
       normal move operation.

       The  first button of the taskbar, labelled "Start" sends a
       "Popup StartMenu" command to the FVWM, which can  be  used
       to  pop-up  a  general-purpose  menu  when  the  button is
       pressed.

       The FvwmTaskBar also displays at the right side  a  window
       showing  the  current  time and the built-in incoming mail
       indicator.



COPYRIGHTS

       The FvwmTaskBar module is  derivated  from  Mike  Finger's
       FvwmWinList.

       Copyright  1994,  Mike Finger. The author makes no guaran-
       tees or warranties of any kind about the use of this  mod-
       ule.   Use  this modules at your own risk.  You may freely
       use this module or any portion of it for  any  purpose  as
       long as the copyright is kept intact.



INITIALIZATION

       During initialization, FvwmTaskBar will scan the same con-
       figuration file that FVWM used during startup to find  the
       options  that  pertain to it.  These options are discussed
       in a later section.

       FvwmTaskBar can be invoked by fvwm  during  initialization
       by  inserting the line 'Module FvwmTaskBar' in the .fvwmrc
       file.

       FvwmTaskBar must reside in a directory that is  listed  in
       the  ModulePath  option  of  FVWM for it to be executed by
       FVWM.



CONFIGURATION OPTIONS

       The following options can be placed in the .fvwm95rc file


       *FvwmTaskBarGeometry {+-}<X>x{+-}<Y>
              Specifies the location and  gravity  of  the  Fvwm-
              TaskBar  window.   At  the current version, size is
              not supported and the taskbar will resize itself to
              fill the full witdh of the screen. If the AutoStick
              option is also specified, the module will automati-
              cally  "stick"  to  the  top  or  the bottom of the
              screen, whichever is closest to the geometry speci-
              fication.


       *FvwmTaskBarFont font
              Specifies  the default font to be used for labeling
              the buttons, when they are not  depressed.  If  not
              specified, fixed font is assumed.


       *FvwmTaskBarSelFont font
              Specifies  the  font  to  be used for the depressed
              buttons. Note that the Start button will use always
              this font even if is not pressed. If this option is
              not specified, the default font is used instead.


       *FvwmTaskBarStatusFont font
              Specifies the font to be used for the clock and tip
              windows.  If  this  option  is not specified, fixed
              font is used.


       *FvwmTaskBarFore color
              Specifies the color to use for the button names.


       *FvwmTaskBarBack color
              Specifies the background color for the bar and but-
              tons.


              Specifies  the color to be used for the text in the
              tips windows.


       *FvwmTaskBarTipsBack color
              Specifies the background color for  the  tips  win-
              dows.


       *FvwmTaskBarGeometry geometry
              This  option  specifies  the geometry of the window
              (only the Y coordinate is useful)


       *FvwmTaskBarAutoStick
              This option causes the taskbar to "stick" either to
              the top or bottom of the screen, whichever is clos-
              est to the initial window  placement.  Any  further
              move operation is also subject to that behaviour.


       *FvwmTaskBarAutoHide
              This option causes the taskbar to disappear leaving
              a narrow strip at the bottom  of  the  screen,  and
              reappears  only  when  the  mouse  is moved to that
              strip. This option automatically enables AutoStick.


       *FvwmTaskBarUseSkipList
              Tells  FvwmTaskBar to not show the windows that are
              listed on a WindowListSkip line in  the  configura-
              tion file.


       *FvwmTaskBarDeskOnly
              Tells FvwmTaskBar to show the windows that are only
              on  the  current  desktop.    When   desktops   are
              switched,  the list of windows changes accordingly.


       *FvwmTaskBarUseIconNames
              Tells FvwmTaskBar to use the icon name of the  win-
              dow  instead of the full window name.  This is use-
              ful to keep the width of the buttons small.


       *FvwmTaskBarShowTransients
              Tells FvwmTaskBar to show the application transient
              windows also. By default they are not shown.


       *FvwmTaskBarAction action response[,response...]
              Click2,  Click3.  The currently supported responses
              are any fvwm built-in commands,  including  modules
              and  functions.   The  configuration  example below
              shows the default values.


       *FvwmTaskBarButtonWidth width
              Indicates the maximum  width  that  window  buttons
              should reach.  (the minimum is hardcoded at 32).


       *FvwmTaskBarHighlightFocus
              If  the mouse pointer is over the taskbar, the win-
              dow under the current button is active. This behav-
              ior  is like the TVTWM Icon Manager or FvwmIconMan.
              Note: If you use this option combined with  Follow-
              Mouse  focus  style,  you'll want the taskbar to be
              ClickToFocus.


       *FvwmTaskBarShowTips
              Enables the tips windows (by default disabled).


       *FvwmTaskBarMaxTipLines [num]
              This controls the maximum number of  lines  allowed
              in  a  multi-line  tip window.  The first [num] are
              displayed, and if more than [num] lines are in  the
              tip  text,  the  last line will read "(more...)" to
              indicate it.  The default for this is 30


       *FvwmTaskBarUpdateInterval seconds
              Specifies how often the  clock  display  should  be
              refreshed,  so  that times of the form HH:MM:SS can
              be used. By default 60 seconds.





       The following options deal with the Start  button  at  the
       left of the taskbar:


       *FvwmTaskBarStartName string
              This  option  specifies the string displayed in the
              Start button.  ('Start' by default).


       *FvwmTaskBarStartMenu string
              This option specifies the popup to invoke when  the
              fvwm window manager.


       *FvwmTaskBarStartIcon icon-name
              This  option specifies the name of the icon to dis-
              play at the left of the Start button.





       The following options deal with the goodies and modules of
       the taskbar:



       *FvwmTaskBarGoodyLoadablePlugins directory
              Specifies  a directory to search for plugins. After
              each occurence of this  command  FvwmTaskBar  scans
              the  directory  for files with ".so" at the end and
              attempts   to   load   them.   The    default    is
              "/usr/local/lib/X11/fvwm95"


       *FvwmTaskBarGoodyLoadableQuiet
              Tells  FvwmTaskBar to skip information about loaded
              modules. This information is  extremely  useful  in
              determining  if FvwmTaskBar loads them at all. How-
              ever once you got a stable  configuration  you  may
              want to omit it.


       *FvwmTaskBarGoodyLoadableSymbol Symbol
              Create  a  new  goody. Symbol is the name of struct
              GoodyLoadable in one of the modules. Note that  you
              can  use  the  same  module  more than once and you
              don't have to know which module has this symbol.


       *FvwmTaskBarGoodyLoadableId id
              "Id" is an arbitrary character string passed to the
              initialization  routine  of the module. The idea is
              that since the module can be used more the once  we
              need  a  mean  to  distinguish  between  strings in
              .fvwmrc corresponding to  different  goodies.  It's
              recommended   not   to  use  dots,spaces  or  empty
              strings..


       *FvwmTaskBarGoodyModuleIcon<id> mini-icon name
              Specifies which mini-icon should be inserted in the
              taskbar for goody <id>.  Default path is "IconPath"
              Sets the tip for goody <Id>


       *FvwmTaskBarGoodyModuleCommand<id> command
              Sets the command to be executed when  double-click-
              ing on goody <id>'s icon.



          Date Module: ShowDateModule


       *FvwmTaskBarShowDateModuleClockFormat<id> format-string
              This option specifies the time format for the digi-
              tal clock.  It is a stfrtime(3)  compatible  format
              string  (see the manual page of the 'date' command)
              By default it is "%R".


       *FvwmTaskBarShowDateModuleHourlyCommand<id> command
              Specifies a command to be executed every hour.



          Mail Module: MailCheckModule


       *FvwmTaskBarMailCheckModuleNewMailCommand<id> command
              Specifies which command is to be executed when  new
              mail arrives.


       *FvwmTaskBarMailCheckModuleAutoMailTip<id> [type]
              This  option  controls the auto-display of new mail
              in a multi-line tip window.  Three possible  values
              are  allowed  for the optional type argument: Mail-
              FileTouched, MailFileBigger, or  MailFileAnyChange.
              MailFileTouched  means the mail spool file has been
              modified since the last access,  MailFileBigger  is
              when  the  mail spool file gets larger in size, and
              Mail-FileAnyChang is when the mail spool file  gets
              larger  or smaller.  These  conditions control when
              the AutoMailTip  window is displayed.  The  default
              is Mail-FileAnyChange.


       *FvwmTaskBarMailCheckModuleMailTipFormat.MAIL  [l] [if]
              [wf] [is] [ws]
              This options allows specification of how to display
              the mail information in the tip.  [l] can be either
              1  for  a  single line per mail message, or 2 for a
              double line format where the From: info appears  on
              From:  info,  and  [wf]  is the max width. [is] and
              [ws] are the indent and width of the Subject: info.
              The default is 1 0 20 2 30.


       *FvwmTaskBarMailCheckModuleMailTipNoSmartFrom
              If  set,  this  flag  shuts  off the automatic name
              extraction for the From: field.  The format seen in
              email  is largely formatted by convention, and this
              allows this process to be shut off when it does not
              work.  The smart name extraction algorithm works as
              follows.  Step 1: all substrings  delimited  by  <>
              and  []  are removed, since they usually contain an
              email address.  If nothing is left,  this  step  is
              reversed.  Step 2: if any string delimited by "" or
              () is found, it is used as the smart name.   Other-
              wise  the result from Step 1 is used at the result.
              For most email I have, this results in nicely  for-
              matted names.


       *FvwmTaskBarMailCheckModuleMailTipUnblankScreen<id>
              If set, the screen will be un-blanked when the mail
              tip is drawn.


       *FvwmTaskBarShowDateModuleHourlyCommand<id> command
              Executes the command every hour.



          Modem Module: CheckLockModule

       To be done ....




SAMPLE CONFIGURATION

       The following are excepts  from  a  .fvwm95rc  file  which
       describe FvwmTaskBar initialization commands:


       #
       # Start the taskbar on fvwm startup and restart
       #

       AddToFunc "InitFunction" "I" Module FvwmTaskBar

       AddToFunc "RestartFunction" "I" Module FvwmTaskBar

       #
       # Set the style for the taskbar window, keep always on top of another


       Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,\
                           StaysOnTop,WindowListSkip,CirculateSkip

       *FvwmTaskBarGeometry +0-0
       *FvwmTaskBarFore Black
       *FvwmTaskBarBack #c0c0c0
       *FvwmTaskBarFont -adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*
       *FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*
       *FvwmTaskBarStatusFont fixed
       *FvwmTaskBarTipsFore black
       *FvwmTaskBarTipsBack bisque
       *FvwmTaskBarAction Click1 Iconify -1,Raise,Focus
       *FvwmTaskBarAction Click2 Iconify
       *FvwmTaskBarAction Click3 PopUp Window-Ops2
       *FvwmTaskBarUseSkipList
       *FvwmTaskBarAutoStick
       *FvwmTaskBarStartName Start
       *FvwmTaskBarStartMenu StartMenu
       *FvwmTaskBarStartIcon mini-penguin.xpm
       *FvwmTaskBarShowTips
       *FvwmTaskBarShowTransients
       *FvwmTaskBarHighlightFocus
       *FvwmTaskBarAutoHide
       *FvwmTaskBarDeskOnly
       *FvwmTaskBarMaxTipLines 5


       # Now the goodies....

       *FvwmTaskBarGoodyLoadablePlugins /usr/local/lib/X11/fvwm95/
       *FvwmTaskBarGoodyLoadableQuiet

       # Modem
       *FvwmTaskBarGoodyLoadableSymbol CheckLockModuleSymbol
       *FvwmTaskBarGoodyLoadableId .Modem
       *FvwmTaskBarCheckLockModuleIcon.Modem mini-connect.xpm
       *FvwmTaskBarCheckLockModuleTip.Modem Modem is in use
       *FvwmTaskBarCheckLockModuleCommand.Modem Popup Network
       *FvwmTaskBarCheckLockModuleLockFile.Modem /var/lock/LCK..modem

       # Sound mixer
       *FvwmTaskBarGoodyLoadableSymbol GoodyModuleSymbol
       *FvwmTaskBarGoodyLoadableId .SPEAKER
       *FvwmTaskBarGoodyModuleIcon.SPEAKER mini-speaker.xpm
       *FvwmTaskBarGoodyModuleTip.SPEAKER Audio Control Panel
       *FvwmTaskBarGoodyModuleCommand.SPEAKER Exec OXmixer

       # Date
       *FvwmTaskBarGoodyLoadableSymbol ShowDateModuleSymbol
       *FvwmTaskBarGoodyLoadableId .DATE
       *FvwmTaskBarShowDateModuleClockFormat.DATE %H:%M
       #*FvwmTaskBarShowDateModuleHourlyCommand.DATE exec xmessage hourly command

       # Mail
       *FvwmTaskBarGoodyLoadableSymbol MailCheckModuleSymbol
       *FvwmTaskBarGoodyLoadableId .MAIL
       *FvwmTaskBarMailCheckModuleMailIcon.MAIL mini-mail.xpm
       *FvwmTaskBarMailCheckModuleCommand.MAIL Exec xterm -T Mail -e mail
       *FvwmTaskBarMailCheckModuleNewMailIcon.MAIL mini-newmail.xpm
       *FvwmTaskBarMailCheckModuleNewMailTip.MAIL You have new mail
       #*FvwmTaskBarMailCheckModuleNewMailCommand.MAIL beep
       *FvwmTaskBarMailCheckModuleUnreadMailIcon.MAIL mini-unreadmail.xpm
       *FvwmTaskBarMailCheckModuleMailFile.MAIL /var/spool/mail/$USER
       *FvwmTaskBarMailCheckModuleAutoMailTip.MAIL
       #*FvwmTaskBarMailCheckModuleMailTipUnblankScreen.MAIL
       *FvwmTaskBarMailCheckModuleMailTipFormat.MAIL 1 0 10 2 10




BUGS

       At present the FvwmTaskBar works only with fvwm95.



AUTHOR

       David  Barth  (barth@di.epfl.ch)  Modules  and  plugins by
       Volodya Dergachev and  Michael D. Beynon (beynon@acm.org)



























Man(1) output converted with man2html