SYNOPSIS
FvwmTaskBar [name]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 top level window; clicking on the middle button will hide a top level 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 accommodate up to 8 rows. In addition, if the AutoStick option is used, the taskbar will auto position 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 derived 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 module 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 gets configuration information from fvwm 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 .fvwm2rc 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 .fvwm2rc file
- *FvwmTaskBar: Geometry {+-}<X>{+-}<Y>
-
Specifies the location and gravity of the FvwmTaskBar window.
Currently, this option is scanned as a normal X geometry string.
You can include the width and the height in addition to the "x" and
"y" offset. However, only the "x" and "y" offset are used.
To avoid possible future compatibility problems, only code the "x" and
"y" offset.
The actual width of the taskbar is always the full width of the screen and the height is controlled by the *FvwmTaskBar: Rows option.
If the AutoStick option is specified, the taskbar automatically "sticks" to the top or the bottom of the screen, whichever is closest to the geometry specification.
To position the taskbar at the bottom of the screen, use a geometry of "+0-0".
- *FvwmTaskBar: Rows r
-
Specifies the initial number in rows of the FvwmTaskBar window. Default
is 1 and the maximum is 8.
- *FvwmTaskBar: Font font
-
Specifies the default font to be used for labeling the buttons, when they
are not depressed. If not specified, fixed font is assumed.
- *FvwmTaskBar: SelFont font
-
Specifies the font to be used for the depressed buttons. Note that the
Start button will always use this font even if is not pressed. If this
option is not specified, the default font is used instead.
- *FvwmTaskBar: StatusFont font
-
Specifies the font to be used for the clock and tip windows. If this
option is not specified, fixed font is used.
- *FvwmTaskBar: Fore color
-
Specifies the color to use for the button names.
- *FvwmTaskBar: Back color
-
Specifies the background color for the bar and buttons.
- *FvwmTaskBar: Colorset colorset
-
Tells the module to use colorset colorset for the window
background and the foreground color of the buttons. Please refer
to the man page of the FvwmTheme module for details about colorsets.
- *FvwmTaskBar: IconFore color
-
Specifies the color to use for the button names which represent iconified
windows.
- *FvwmTaskBar: IconBack color
-
Specifies the color to use for the buttons which represent iconified windows.
- *FvwmTaskBar: IconColorset colorset
-
Tells the module to use colorset colorset for the
buttons of iconified windows. Please refer to the man page of
the FvwmTheme module for details about colorsets.
- *FvwmTaskBar: FocusFore color
-
Specifies the color to use for the button which represents the window
with the focus. If not specified the color specified by *FvwmTaskBar: Fore or
*FvwmTaskBar: Colorset is used.
- *FvwmTaskBar: FocusBack color
-
Specifies the color to use for the button which represents the window
with the focus. If not specified the color specified by *FvwmTaskBar: Back or
*FvwmTaskBar: Colorset is used. Note that the button which represents the window
with the focus is also highlighted. See "*FvwmTaskBar: NoBrightFocus".
- *FvwmTaskBar: FocusColorset colorset
-
Tells the module to use colorset colorset for the button
which represents the window with the focus. Please refer to the man page of
the FvwmTheme module for details about colorsets.
- *FvwmTaskBar: NoBrightFocus
-
By default the button which represents the window with the focus is
highlighted. This option disables this feature. Note: you will
want this option if you use a pixmap (via FvwmTheme) for the background.
- *FvwmTaskBar: TipsFore color
-
Specifies the color to be used for the text in the tips windows.
- *FvwmTaskBar: TipsBack color
-
Specifies the background color for the tips windows.
- *FvwmTaskBar: TipsColorset colorset
-
Tells the module to use colorset colorset for the tips windows.
Please refer to the man page of the FvwmTheme module for details about
colorsets.
- *FvwmTaskBar: AutoStick
-
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 behavior.
- *FvwmTaskBar: AutoFocus
-
This option causes the taskbar to raise a window if the cursor stays on a
button in taskbar and its tip is open.
- *FvwmTaskBar: AutoHide [pixels]
-
This option causes the taskbar to disappear leaving a narrow strip at the
bottom of the screen, and reappear only when the mouse is moved to that
strip. This option automatically enables AutoStick. The optional
pixels parameter specifies thickness of a strip (3 pixels by default).
- *FvwmTaskBar: UseSkipList
-
Tells FvwmTaskBar to not show the windows that are listed on a WindowListSkip
line in the configuration file.
- *FvwmTaskBar: DeskOnly
-
Tells FvwmTaskBar to show only windows that are on the current desktop.
When desktops are switched, the list of windows changes accordingly.
- *FvwmTaskBar: PageOnly
-
Tells FvwmTaskBar to show only windows that are on the same page
as the task bar.
When a window enters or leaves the page, the list of windows changes
accordingly.
- *FvwmTaskBar: ScreenOnly
-
Tells FvwmTaskBar to show only windows that are only on the same
Xinerama screen as the task bar. When a window enters or leaves the
screen, the list of windows changes accordingly.
- *FvwmTaskBar: UseIconNames
-
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.
- *FvwmTaskBar: ShowTransients
-
Tells FvwmTaskBar to show the application transient windows also. By default
they are not shown.
- *FvwmTaskBar: Action action response
-
Tells FvwmTaskBar to do response when action is done. The
currently supported actions are: Click1, Click2, Click3 and so on.
By default the module supports 5 mouse buttons, but it can be compiled
to support more. The currently
supported responses are any fvwm built-in commands, including modules
and functions. Warning: Use of the former syntax that allowed to use comma
separated lists of commands is strongly discouraged due to synchronization
problems with fvwm. Please use complex fvwm functions instead (defined with
the AddToFunc command of fvwm).
In the response part, you can use a number of predefined variables: $left, $right, $top and $bottom are substituted by the left, right, top and bottom coordinates of the button pressed. $-left, $-right, $-top and $-bottom are substituted likewise, but the coordinates are calculated from the bottom or the right edge of the screen instead (for a button that is 5 pixels away from the right screen border, $-right will be 5). $width and $height are replaced by the width or height of the button. All this is done regardless of any quoting characters. To get a literal '$' use the string '$$'.
- *FvwmTaskBar: Button Title title, Icon icon, Action action
-
Tells FvwmTaskBar to put a shortcut minibutton in the taskbar that does
action when clicked. The icon can have a caption denoted by title,
an icon denoted by icon, or a combination of the two. The icons will
appear to the immediate right of the start button, and will appear in the
order that they are declared in the .fvwm2rc file.
To invoke different commands for different mouse clicks, use this syntax:
*FvwmTaskBar: Button Title title, Icon icon, \ Action (Mouse 1) action1, Action (Mouse 2) action2
- *FvwmTaskBar: ButtonWidth width
-
Indicates the maximum width that window buttons should reach.
(the minimum is hard coded at 32).
- *FvwmTaskBar: Pad width
-
Specifies the space (in pixels) between the window buttons. If this option is
not specified, the default space is 3.
- *FvwmTaskBar: WindowButtonsLeftMargin margin
-
Specifies the space (in pixels) between the left side of the left-most window
button and the right side of the start button or right-most shortcut
minibutton. If this option is not specified, the default margin is 4.
- *FvwmTaskBar: WindowButtonsRightMargin margin
-
Specifies the space (in pixels) between the right side of the right-most
window button and the left side of the clock and tip window. If this option
is not specified, the default margin is 2.
- *FvwmTaskBar: StartButtonRightMargin margin
-
Specifies the space (in pixels) between the right side of the start button
and the left side of the left-most shortcut minibutton. If this option is
not specified, the default margin is 0.
- *FvwmTaskBar: 3DFvwm
-
By default the buttons use a special (asymmetric) 3D look. This option enables
a more classical 3D look (Ie., a la fvwm).
- *FvwmTaskBar: HighlightFocus
-
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.
- *FvwmTaskBar: ShowTips
-
Enables the tips windows (by default disabled).
- *FvwmTaskBar: NoIconAction action
-
Tells FvwmTaskBar to do action is when a NoIcon style window is
iconified or de-iconified. Relevant coordinates are appended to action so
that the icon can be traced to an FvwmTaskBar button. An example action
is "*FvwmTaskBar: NoIconAction SendToModule FvwmAnimate animate". A blank or
null action turns this feature off.
The following options deal more specifically with the status indicators displayed at the right of the taskbar.
- *FvwmTaskBar: ClockFormat format-string
-
This option specifies the time format for the digital clock.
It is a strftime(3) compatible format string.
By default it is "%R". There is a 24 character limit for string
expansion. The string depends of locale settings.
- *FvwmTaskBar: DateFormat format-string
-
This option specifies the date and/or time format for clock tip.
It is a strftime(3) compatible format string.
By default it is "%A, %B %d, %Y". There is 40 characters limit for
string expansion. The string depends of locale settings now.
- *FvwmTaskBar: UpdateInterval 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.
- *FvwmTaskBar: BellVolume volume
-
This sets the volume of the bell when mail is detected.
It is a value between 0 (no bell) and 100 (maximum volume).
By default it is set to 20.
- *FvwmTaskBar: MailBox path
-
This option instructs the module to look for mail at the specified place.
It is a full pathname to the user's mailbox.
By default it is /var/spool/mail/$USER_LOGIN.
A value of 'None' instructs the module not to have a mail indicator.
- *FvwmTaskBar: MailDir
-
By default format of the user's mailbox is mbox. If this option is
specified, the maildir format is used instead.
- *FvwmTaskBar: MailCommand command
-
Specifies a fvwm command to be executed when double-clicking
on the mail icon.
- *FvwmTaskBar: MailCheck seconds
-
Specifies the interval between checks for new mail. The default is
ten seconds. A value of zero or less switches mail checking off.
Note, this value is only relable when greater than the UpdateInterval value. The mail check is done either on any redraw (like a focus change) or every nearest factor of the UpdateInterval value.
- *FvwmTaskBar: IgnoreOldMail
-
If set, draw no bitmap if there is no new mail.
- *FvwmTaskBar: StartCommand command
-
This option specifies a command to run when the start button is
pressed. Some strings are replaced in the command when it is
executed like for the other buttons. See
Action
for details. If both,
StartCommand and StartMenu
have been defined, the command is executed first and the menu is
opened afterwards. The
StartCommand
can be used to exactly place a menu atop a button.
*FvwmTaskBar: StartCommand Popup StartMenu rectangle \ $widthx$height+$left+$top 0 -100m
To invoke different commands for different mouse clicks, use this syntax:
*FvwmTaskBar: StartCommand (Mouse 1) Popup Mouse1Menu *FvwmTaskBar: StartCommand (Mouse 3) Popup Mouse3Menu
- *FvwmTaskBar: StartName string
-
This option specifies the string displayed in the Start button.
('Start' by default). If the string is omitted no string is
displayed.
- *FvwmTaskBar: StartMenu string
-
This option specifies the pop up menu to invoke when the start button is
pressed. ('StartMenu' by default). The module send a 'Popup StartMenu'
command to the fvwm window manager.
To invoke different menus for different mouse clicks, use this syntax:
*FvwmTaskBar: StartMenu (Mouse 1) Mouse1Menu *FvwmTaskBar: StartMenu (Mouse 3) Mouse3Menu
- *FvwmTaskBar: StartIcon icon-name
-
This option specifies the name of the icon to display at the left of the Start
button.
- *FvwmTaskBar: NoDefaultStartButton
-
This option removes the default start button if no start button configuration
options are given. It is useful to remove the start button. Note that this is
the default if you use the Button configuration option.
SAMPLE CONFIGURATION
The following are excerpts from a .fvwm2rc file which describe FvwmTaskBar initialization commands:
# # Start the taskbar on fvwm startup and restart # AddToFunc "StartFunction" "I" Module FvwmTaskBar # # For Click 1 action # AddToFunc DeiconifyRaiseAndFocus + I Iconify off + I Raise + I Focus # # 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 #------------------------------------ taskbar *FvwmTaskBar: Back #c3c3c3 *FvwmTaskBar: Fore black *FvwmTaskBar: TipsBack bisque *FvwmTaskBar: TipsFore black *FvwmTaskBar: Geometry +0-0 *FvwmTaskBar: Font -adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-*-* *FvwmTaskBar: SelFont -adobe-helvetica-bold-r-*-*-14-*-*-*-*-*-*-* *FvwmTaskBar: StatusFont fixed *FvwmTaskBar: Action Click1 DeiconifyRaiseAndFocus *FvwmTaskBar: Action Click2 Iconify On *FvwmTaskBar: Action Click3 Lower *FvwmTaskBar: UseSkipList *FvwmTaskBar: UseIconNames *FvwmTaskBar: AutoStick *FvwmTaskBar: ShowTips *FvwmTaskBar: NoIconAction SendToModule FvwmAnimate animate *FvwmTaskBar: ButtonWidth 180 *FvwmTaskBar: BellVolume 20 *FvwmTaskBar: MailBox /var/spool/mail/ *FvwmTaskBar: MailCommand Exec xterm -e mail *FvwmTaskBar: ClockFormat %I:%M %p *FvwmTaskBar: StartName Start *FvwmTaskBar: StartMenu StartMenu *FvwmTaskBar: StartIcon mini-exp.xpm *FvwmTaskBar: Button Title Mozilla, Action exec exec /usr/local/mozilla/mozilla *FvwmTaskBar: Button Icon mini.term.xpm, Action exec exec xterm *FvwmTaskBar: Button Title Freeamp, Icon mini.cd.xpm, Action exec exec freeamp
BUGS
There is a bug report that FvwmTaskBar doesn't work well with auto hide turned on.
AUTHOR
- David Barth <[email protected]>
-
ACKNOWLEDGMENTS
These people have contributed to FvwmTaskBar:
- Danny Dulai <[email protected]>
- fvwm workers <[email protected]>
-