FvwmWharf
Section: Fvwm Modules (1)
Updated: 20 April 2012 (2.6.5)
Page Index
NAME
FvwmWharf - the AfterStep application "dock" module ported to
Fvwm.
SYNOPSIS
FvwmWharf is spawned by Fvwm, so no command line invocation will work.
DESCRIPTION
The FvwmWharf module is a free-floating application loader that can
execute programs, "Swallow" running programs, and contain "Folders" of
more applications, among other things. The user can press the first
button at any time to trigger invocation of one of these functions, or
the user can press button two in order to cause the entire Wharf
to withdraw to the nearest corner in an iconified state. FvwmWharf only
works when fvwm is used as the window manager.
COPYRIGHTS
The FvwmWharf module is copyright 1995 and 1996 by a variety of contributors.
They are, in alphabetical order, Beat Christen, Frank Fejes, Alfredo
Kenji Kojima, Dan Weeks, and Bo Yang
The GoodStuff program, and the concept for
interfacing this module to the Window Manager, are all original work
by Robert Nation
No guarantees or warranties or anything
are provided or implied in any way whatsoever. Use this program at your
own risk. Permission to use this program for any purpose is given,
as long as the copyright is kept intact.
INITIALIZATION
During initialization,
FvwmWharf gets config info from
fvwm's
module configuration database (see
fvwm(1),
section
MODULE COMMANDS)
to obtain a description of button panel geometry, color, icons, and
actions.
If the FvwmWharf executable is linked to another name, ie ln -s
FvwmWharf Pier, then another module called Pier can be
started, with a completely different configuration than FvwmWharf,
simply by changing the keywords FvwmWharf... to Pier.... This way multiple
button-bars can be used.
INVOCATION
FvwmWharf should be invoked in the same way as other
fvwm modules.
CONFIGURATION OPTIONS
- *FvwmWharfAnimate
-
If specified, the opening and closing of Folders will be animated,
rather than simply drawn in one frame.
- *FvwmWharfAnimateMain
-
Designates that full-length Wharf windows will be animated.
- *FvwmWharfBgColor color
-
If *FvwmWharfTextureType 0 is specified, FvwmWharf's buttons
will be filled with color.
- *FvwmWharfColorset colorset
-
Tells the module to use colorset colorset for the background
of all buttons. This option disables the options 'BgColor', 'TextureType'
and 'TextureColor' if specified after these and is
disabled by them if used before any of them in the configuration.
Please refer to the man page of the FvwmTheme module for details
about colorsets.
- *FvwmWharfColumns columns
-
Specifies the number of columns of buttons to be created. If unspecified,
the number of columns will be set to 1.
If the columns are set to a number greater than 1 then there will be
that number
of columns with enough rows to satisfy the requested number of buttons.
- *FvwmWharfForceSize
-
If specified, will force pixmaps larger than 64x64 to the default
size. Pixmaps smaller than 64x64 are not supported.
- *FvwmWharfFullPush
-
If specified, the entire FvwmWharf button background will be moved down
and to the right when pushed. Especially useful with *FvwmWharfNoBorder
textures.
- *FvwmWharfGeometry geometry
-
Specifies the FvwmWharf window location and/or size. If the size is
not specified, FvwmWharf will auto-size itself in a reasonable manner.
The geometry is a standard X11 window geometry specification. This option is
pre-set in the Nextstep(tm) style section for a consistent look and
feel with NEXTSTEP(tm). Secondary FvwmWharf invocations from links
may have their own geometry.
- *FvwmWharfMaxColors number
-
Specifies the maximum number of colors to use on a gradient
fill.
- *FvwmWharfNoBorder
-
Denotes that beveled borders should not be drawn around the FvwmWharf button.
Useful with textures that include their own bevels.
- *FvwmWharfPixmap pixmap
-
Sets the pixmap file to be used as FvwmWharf's button. To be used
with *FvwmWharfTextureType 128.
- *FvwmWharfTextureColor from to
-
When used with a *FvwmWharfTextureType of 1 to 5, designates the
ends of the gradient range to be used on FvwmWharf's buttons.
- *FvwmWharfTextureType type
-
Specifies the type of gradient fill to be used on
FvwmWharf's buttons. Valid values are:
0 - No texture - use FvwmWharfBgColor to set the desired color
1 - Gradient from upper-left to lower right
2 - Horizontal one way gradient from top to bottom
3 - Horizontal cylindrical gradient from top/bottom to center
4 - Vertical one way gradient from left to right
5 - Vertical cylindrical gradient from left/right to center
128 - User specified pixmap
The default is the builtin FvwmWharf texture pixmap.
- *FvwmWharf label icon command
-
Specifies a window manager built-in command or folder to activate
(folders will be discussed below), as described in the Fvwm
man page, which should be executed when a button is pressed. The label
field is an internal item that is still around from the GoodStuff module.
The icon field
specifies an X11 bitmap file, XPM color icon file, or a comma-delimited
set of pixmaps containing the
icon(s) to display on the button. FvwmWharf will search through the path
specified in the ImagePath configuration item to
find the icon file.
NOTE: Icons must have one transparent pixel or the definition of
a transparent color in order to be valid.
If command is an fvwm Exec command, then the button will
appear pushed in until the mouse button is released.
A single extension to the fvwm built-in command set is provided.
A command of the form:
*FvwmWharf junk clock.xpm Swallow "Clock" asclock -shape -12
will cause FvwmWharf to spawn an asclock process, and capture
the first window whose name or resource is "Clock", and display it in
the button-bar. This is handy for applications like xclock, xbiff,
xload, asclock, and asmail.
Modules can be swallowed by specifying the word Module:
*FvwmWharf pager nil Swallow "Desktop" Module FvwmPager 0 0
NOTE: if you use xclock for this application, you will want
to specify xclock -padding 0.
Swallow
option tries to force an application to be 48 by 48 pixels.
A special option
MaxSwallow
can be used to leave an application at its own size (but less then 64x64).
MaxSwallow is invoked the same way Swallow is. If you want an application
to fill all the button place, you should start it with a proper geometry flag,
like "xload -g 64x64" or, if you want to leave a 3d-look: "xload -g 60x60".
Note, not all applications are good for swallowing, some can't be
resized at all, some can't be resized exactly to 48x48 or 64x64,
you are responsible for choosing suitable applications to be swallowed.
To create folder "slide-outs" in
FvwmWharf
the following format must be used:
*FvwmWharf files Folders.xpm Folder
*FvwmWharf xftp 3DRings.xpm Exec xftp
*FvwmWharf xdir FolderDeposit.xpm Exec xdir
*FvwmWharf moxfm FilingCabinet.xpm Exec moxfm
*FvwmWharf ~Folders
The first line of this set tells FvwmWharf that this button definition
will be a folder. All of the button definitions between the
Folder
and the line with the definition of
*FvwmWharf ~Folders
will appear on the "files" folder when it is exposed. To expose the "files"
folder simply click on the FvwmWharf button with the Folders.xpm icon
showing. A button bar will appear perpendicular to your FvwmWharf bar
and toward the center of the screen. On this smaller bar will be the
three icons that were configured between the
Folder
and
~Folder
parts of the FvwmWharf configuration. As many folder buttons may be configured as
is room on your screen. The only items that may not be configured within
folders are Swallowed applications and more folders.
DRAG AND DROP
FvwmWharf supports the OffiX Drag and Drop standard. In order to
have Drag and Drop enabled on a particular button, the following syntax
must be adhered to:
*FvwmWharf nil nil DropExec "program" program %s
*FvwmWharf program iconname Exec "program" program
The button will call program when pushed. If a file is dragged
onto into it, program will be called with %s being replaced by
the dropped filename.
AUTHORS
Beat Christen (bchriste@iiic.ethz.ch)
Frank Fejes (frank@ssax.com)
Alfredo Kengi Kojima (kojima@inf.ufrgs.br)
Dan Weeks (dan@mango.sfasu.edu)
Bo Yang (eric@coeus.ucsd.edu)