NAME
FvwmTaskBar - the FVWM taskbar module - with plugins
SYNOPSIS
FvwmTaskBar is spawned by FVWM, so no command line invocation will work.
DESCRIPTION
The FvwmTaskBar module provides a taskbar made up of buttons 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 buttons filling the
full width of the screen, but during the work can be resized to accomodate
up to 8 rows. In adition, 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 guarantees or warranties of
any kind about the use of this module. 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 configuration
file that FVWM used during startup to find the options that pertain to it.
These options are discussed in a later section.
INVOCATION
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 FvwmTaskBar 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 automatically "stick" to the top or the bottom
of the screen, whichever is closest to the geometry specification.
- *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 buttons.
- *FvwmTaskBarTipsFore color
- Specifies the color to be used for the text in the tips windows.
- *FvwmTaskBarTipsBack color
- Specifies the background color for the tips windows.
- *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 closest 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 configuration 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 window instead of the full
window name. This is useful 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...]
- Tells FvwmTaskBar to do response when action is done. The
currently supported actions are: Click1, 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 window under the current
button is active. This behavior is like the TVTWM Icon Manager or
FvwmIconMan. Note: If you use this option combined with FollowMouse
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 start button is pressed.
('StartMenu' by default). The module send a 'Popup StartMenu' command to
the fvwm window manager.
- *FvwmTaskBarStartIcon icon-name
- This option specifies the name of the icon to display 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. However 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" .
- *FvwmTaskBarGoodyModuleTip.<id> tip
- Sets the tip for goody <Id>
- *FvwmTaskBarGoodyModuleCommand<id> command
- Sets the command to be executed when double-clicking on goody <id>'s icon.
Date Module: ShowDateModule
- *FvwmTaskBarShowDateModuleClockFormat<id> format-string
- This option specifies the time format for the digital 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 one line, and the
Subject: appears on the next line. [if] is the number of spaces to indent
the 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.
Otherwise the result from Step 1 is used at the result. For most email I
have, this results in nicely formatted 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
- *FvwmTaskBarCheckLockModuleIcon<id> mini-icon name
- Specifies which mini-icon should be inserted in the taskbar when the
modem is active.
Default path is "IconPath" .
- *FvwmTaskBarCheckLockModuleTip<id> tip
-
- *FvwmTaskBarCheckLockModuleCommand<id> command
- Specifies which command is to be executed when you double-click
on the icon.
- *FvwmTaskBarCheckLockModuleLockFile<id> filename
- Specifies which file is your modem's lock file.
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
# windows
#
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
*FvwmTaskBarShowDateModuleTip.DATE Date
*FvwmTaskBarShowDateModuleCommand.DATE Exec xmessage `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)