Subject: FVWM 2.4.0 (fwd)
To: None <>
From: Hubert Feyrer <>
List: tech-pkg
Date: 07/03/2001 22:48:34
any takers?

 - Hubert

Hubert Feyrer <>

---------- Forwarded message ----------
Date: 03 Jul 2001 15:25:34 -0500
From: Jason L Tibbitts III <>
Subject: FVWM 2.4.0

Over two busy years have passed since FVWM 2.2 was released. Bugs,
floods, and cats had to be mastered, but:

The people on the FVWM-Workers list are very pleased to announce

  ___  __  __ __      __   _  _        ___       __ __      _
 | __| ||  || ||      ||  /\\//\      // \\      || ||     | |
 ||_   ||  || ||      || // \/ \\        //      ||_||     | |
 | _|  ||  || ||      || ||    ||       //       \__ |     |_|
 ||     \\//   \\ /\ //  ||    ||      //__   _     ||      _
 ||      \/     \//\\/   ||    ||     /____| |_|    ||     |_|

Available at it includes the following


 ** A new "Theme" module called FvwmTheme and "colour sets"
    including 8 kinds of gradients and pixmap support controlling
    the appearance of borders, title bars, frames, 3D shadows,
    menus and modules.

 ** GNOME compliance.
    GNOME hints can be turned on and off for individual windows.

 ** Mouse stroke support.
    You will need the libstroke library, found at

 ** Much more flexibility and control in menu definition and menu
    styles including dynamically generated menus and some menu
    generating scripts.

 ** Almost all commands, including Key, Mouse and Style, take
    effect immediately.  The Recapture command is no longer needed
    to activate most changes.

 ** The old StaysOnTop style option has been generalised into the
    concept of layers.  See the fvwm2 man page for details.

 ** Using Alt-Tab now works exactly like the other one.

 ** A derived package fvwm-themes standardises FVWM Themes issues.
    More info is available at

 ** Improved multi head support.

 ** A follow up release supporting Xinerama is planned soon.

And more:

 ** The root cursor now indicates when Fvwm is busy.

 ** New module FvwmGtk for Gtk style menus and dialogs.

 ** FvwmAnimate support in FvwmIconBox, FvwmIconMan, FvwmTaskBar,
    and FvwmWinList.

 ** Control over mouse pointer colours and pixmap pointers.
    More CursorStyle contexts.

 ** New command to configure a way to abort Fvwm waiting.
    Look at EscapeFunc in the fvwm2 man page.

 ** Animated window shading with the WindowShadeSteps window

 ** Title-bars at the bottom or the top of windows with the
    TitleAtBottom and TitleAtTop styles.

 ** The WindowList command has options to allow better
    control of which windows are shown.

 ** Session management support.

 ** Experimental multi byte font support with the
    --enable-multibyte configure option.

 ** A shell script to convert old 2.2 configuration files into
    2.4 syntax: fvwm24_convert.

 ** User configuration is now searched in $HOME/.fvwm by default.

 ** A non conflicting and more readable syntax for module
    configs: "*FvwmPager: DeskTopScale 32"

 ** For most of users, the ModulePath and ImagePath commands will
    become unnecessary.  Both can be built in.  User specified
    ModulePath and ImagePath can add on to the built in paths.

 ** Most users can remove the ColorLimit command.  It takes the
    best setting depending on the colour depth.

 ** Output of the configure script is more understandable.

 ** When fvwm is run remotely, startup is noticeably faster.

 ** VMS port.

 ** Killing modules running under an alias now works.

 ** ICCCM2 compliance.

More detailed information on the contents of this release can be
found at:

A full list of all new and changed features follows at the end of
this document.


Suggested changes to your configuration file:

 - All fvwm user configurations should be moved to $HOME/.fvwm
   directory; Read command supports $HOME/.fvwm by default, but
   not $HOME.

 - Recapture can be removed from any style changing code.

 - "HilightColor fore/back" becomes
   "Style * Hilightfore fore, HilightBack back"

 - "HilightColorset colorset" becomes
   "Style * HilightColorset colorset"

 - "WindowShadeAnimate steps" becomes
   "Style * WindowShadeSteps steps"

 - "WindowFont font" becomes
   "Style * Font font"

 - "IconPath" / "PixmapPath" becomes
   The directories from both statements should be merged, any
   directories built in could be removed, and a plus sign should
   be added to the end.

 - In most cases, the ModulePath statement can be removed or
   treated like the ImagePath.

 - Users should consider removing any alt-tab binding they have
   over the builtin binding.

 - The Colorlimit command can be removed.

 - The FvwmGoodStuff module is obsoleted by FvwmButtons.  If you
   are using FvwmGoodStuff, you need to recode this part of your

 - The GlobalOpts command has become Style options and the BugOpts
   command.  Please refer to the GlobalOpts command in the man
   page for details.

 - Most of these configuration files changes can be done using the
   new fvwm24_convert command that comes with fvwm.


Full list of changes:

New commands:

 * New command UnsetEnv unsets environment variables, complements
 * New command UpdateStyles forces an immediate style update, even
   within a complex function.
 * New command ResizeMove combines Move and Resize commands.
 * New command PointerKey.  Similar to the Key command but binds
   keystrokes to the window under the pointer instead of the
   window that has the keyboard focus.
 * New commands DefaultColorset and HilightColorset.
 * New command StrokeFunc to handle mouse stroke.
 * New command BusyCursor to control a busy cursor during
   execution of certain commands.
 * New command EscapeFunc to configure an aborting key sequence
   (default is Ctrl-Alt-Escape).
 * New command HideGeometryWindow to hide the size/position when
   moving or resizing windows.
 * New command BugOpts enables various former bug fixing
   compile time options to be changed at run time.
 * The new commands QuitSession, SaveSession, SaveQuitSession
   control the session management feature.
 * New command MaxWindowSize limits the initial dimensions of a
 * The MoveThreshold command lets the user fine tune the threshold
   when a click becomes a move.  It works in FvwmPager too.
 * IgnoreModifiers command for ignoring the pesky num-lock
   key with key and mouse bindings.
 * ImagePath and ModulePath commands now expand '+' to be the
   previous value of the path.
 * New command: DefaultIcon to set the default icon.
 * New command: RecaptureWindow captures a single window.
 * GotoDesk command replaces former command Desk (the old name is
   still supported.
 * New function PlaceAgain: moves a window to where it would be
 * New commands All and Pick.
 * New command XORPixmap for increased visibility of the rubber
   band lines and general spangly-ness.
 * New command: Silent.  Suppresses user interaction when a window
   is needed but none is selected.

New command features:

 * New BugOpts option FlickeringQtDialogsWorkaround.
 * WindowId and WarpToFunction have been enhanced to handle
   windows on different screens and unmanaged windows.
 * New expanding variables: $., $[page.nx], $[page.ny].
 * Pressing mouse button 2 in an FvwmIdent window restarts
   FvwmIdent and asks for a new window.
 * New window styles GNOMEIgnoreHints and GNOMEUseHints to disable
   GNOME hints for specific windows even if GNOME compliance is
   compiled in.
 * SendToModule can accept aliases too.
 * KillModule supports an optional alias parameter as given in
     Module FvwmModule Alias
     KillModule FvwmModule Alias
 * Implemented "$*" in complex functions.  This works like in a
   shell and is replaced by all arguments of a function.
 * Implemented several new parameters:
     $[desk.width], $[desk.height], $[vp.x], $[vp.y], $[vp.width],
     $[vp.height], $[w.x], $[w.y], $[w.width], $[w.height],
     $[screen], $[<env-var>]
 * New options GrowUp, GrowDown, GrowLeft, GrowRight to the
   Maximize command.
 * New options "keep" to Move command to leave either coordinate
 * New options "bottomright" and "br" to Resize command.
 * Resize command can take negative arguments.  A "keep" argument
   leaves the corresponding dimension untouched.
 * New condition PlacedByButton3 that is true if the last
   interactive Move command was finished by pressing mouse button
 * Wait command supports quoted window names.
 * New parameter "prev" for GotoDesk, GotoDeskAndPage and
   MoveToDesk commands.
 * New WindowList options NoOnBottom, OnBottom and OnlyOnBottom.
 * New option NoHotkeys to WindowList command.
 * The CursorStyle command accepts two new cursors: "None" for no
   cursor and "Tiny" for a single pixel cursor.
 * New "flat" and "sunk" options to BorderStyle command.
 * New options for the WindowList command: UseListSkip and
 * New function variable $v.
 * A new special fvwm function StartFunction is introduced.  It is
   supposed to be used to start modules and for other start
   commands.  This function is executed before InitFunction and
   RestartFunction.  Any commands currently in both the InitFunction
   and RestartFuction can be moved to the new StartFunction.
 * New function variables $c, $r, $n.
 * The Restart function has been partially rewritten.  If you were
   using Restart without any parameters and wonder why changes
   in your configuration file are not used during a restart you
   should use "Restart --dont-preserve-state" instead.
 * New special functions Session{Init|Restart|Exit}Function are
   called instead of {Init|Restart|Exit}Function when running
   under a session manager.
 * The behaviour of the Raised and Visible flags for Next,
   Circulate, ...  commands has been changed.  They now do what
   their names suggest, i.e.  visible = partially visible and
   raised = fully visible.
 * A new action type 'H' for "Hold" can be assigned to complex
   fvwm functions.  It is triggered when the button is pressed and
   held longer than ClickTime milliseconds.
 * Colour gradients may use up to 1000 colours.  The old limit was
   128 colours.
 * New button states ToggledActiveUp, ToggledActiveDown,
   ToggledInactive for customizing, as an example, the "maximised"
   appearance of the maximise button.
 * New button style flag MWMDecorStick to support toggle buttons
   for the Stick function.
 * New condition [!]shaded for Current and other commands taking
 * New button style flag MWMDecorShade to support toggle buttons
   for shaded windows.
 * The NoWarp option to the Focus command for focusing a window on
   a different page without switching to that page.
 * Enhancements to MoveToPage and GotoPage: "prev" option to refer
   to the last visited page, negative numbers refer to lower/right
   page, suffix 'p' indicates page number relative to current
 * WindowID command now takes conditions like Current.
 * Improved cursor support: CursorStyle now supports changing
   cursor colours and creating cursors from xpm files.

New styles:

 * New option "recreate" to DestroyDecor and DestroyMenu commands.
 * New option None to the IconBox style.
 * New styles IconifyWindowGroupsTogether and
 * New styles KeepWindowGroupsOnDesk and ScatterWindowGroups to
   cope with applications using the window group hint incorrectly
 * We have two "clever" placement algorithms: MinOverlapPlacement
   (the old one) and MinOverlapPercentPlacement.
 * New styles UseIconPosition (default) and NoIconPosition.
 * New style option ParentalRelativity to enable Fvwm modules to
   use "Transparent" colour sets from FvwmTheme.  "Opacity" turns
   it off.
 * The GlobalOpts command was removed in favour of individual
   window styles.  Please look for GlobalOpts in the man page to
   find out how to get the old functionality.
 * New style option IconFont.
 * New style option Font replaces the old WindowFont command.
 * New window styles HilightFore, HilightBack and HilightColorset
   replace the old commands HilightColor and HilightColorset.
 * New styles BackingStore/BackingStoreOff and
 * New styles TitleAtBottom and TitleAtTop.
 * New Style options ResizeOpaque and ResizeOutline.
 * The new styles LowerTransient and DontLowerTransient allow to
   control if the transients of a window are lowered when the
   window itself is lowered (default) or not.
 * The new styles RaiseTransient and DontRaiseTransient allow to
   control if the transients of a window are raised when the
   window itself is raised (default) or not.
 * New style DepressableBorder/FirmBorder to influence the
   appearance of the window border under button presses.
 * New style IconOverride/NoIconOverride/NoActiveIconOverride to
   influence the overriding behaviour of the Icon style.
 * GrabFocusTransient is a new style that does the same as
   GrabFocus, but only for transient windows.
 * StaysOnBottom style.
 * NeverFocus style: windows with this style never receive the
 * FixedPosition style: disables moving the window.
 * IgnoreRestack style: forbids clients to change their own
   stacking order position.
 * New style options: StartsLowered, StartsRaised.

New menu features:

 * New menu styles PopdownImmediately, PopdownDelayed and
 * New command CopyMenuStyle.
 * New MenuStyle option SelectOnRelease to better emulate
   Alt-Tab.  Same option for WindowList command.
 * More menu Shortcut keys: Tab moves down, Shift Tab moves up,
   Space executes.  You can now reasonably operate the built-in
   windowlist with one hand.
 * New menu styles VerticalItemSpacing and VerticalTitleSpacing
   allow control over the height of menu items and titles.
 * Dynamic menus enhancement: The special menu item name
   MissingSubmenuFunc allows to create sub menus on the fly.
   See man page on AddToMenu for details.
 * There can be two mini icons per menu label instead of one now.
 * Menu enhancements: the layout of the menu items can be
   controlled in detail with the ItemFormat option for the
   MenuStyle command.  The width of the borders around menus and
   hilighted items can be controlled with the options BorderWidth
   and Hilight3DThickness (MenuStyle).  Menu behaviour can be
   mirrored with the SumbenusLeft option (hard to describe, it's
   best to try it out).  A menu item can get up to three different
   labels.  The first two are left aligned, the third is right
   aligned by default.
 * New menu styles HoldSubmenus/DeleteSubmenus.  HoldSubmenus is
   the new default for mwm and fvwm menus.  When you move back
   from a submenu to its parent menu the submenu remains visible.
 * Menus can be visible multiple times at once.
 * Dynamic menus are provided by the special menu items
   DynamicPopupAction and DynamicPopdownAction.  See the man page
   under AddToMenu for details.
 * New MenuStyle options: PopupAsRootmenu, PopupAsSubmenu

Mew module options and features:

 * Several modules and fvwm itself support $FVWM_USERDIR environment
   variable to search for user files.  It defaults to $HOME/.fvwm.
 * New FvwmIconMan options: IconButton and IconColorset to control
   colors for iconified windows.
 * New FvwmIconBox option: FvwmIconBoxUseSkipList.
 * FvwmBacker is now page-aware, using a new configuration syntax.
 * New FvwmPager options SolidSeparators and NoSeparators.
 * Colour names from colour sets can be used in fvwm command
   ($[fg.cs<n>], $[bg.cs<n>], $[hilite.cs<n>] and
 * The old Panels feature of FvwmButtons has been removed.  A
   re-implementation has been written.
 * FvwmAnimate accepts "animate" commands from other modules or
   other sources of commands through SendToModule.
 * Geometry (-g) command line option to FvwmButtons.
 * *FvwmPagerSloppyFocus option: To focus a window, simply move
   the pointer over the window's mini window in the pager.
 * FvwmWinList option *FvwmWinListFollowWindowList to display the
   order that fvwm keeps windows in.  You can now see the order
   that Next/Prev will take, Prev goes down the list, Next goes up
   (from the bottom).
 * Mailcheck interval option for FvwmTaskBar.
 * Made FvwmPager a bit simpler.  Added -transient options to bind
   a transient pager to mouse buttons (see FvwmPager man page for
   an example).
 * FvwmPager can now handle pixmaps as desk backgrounds.
 * Lots of changes to FvwmForm:
   No limits of form size.
   Fonts and colors can change anywhere in the form.
   Form appearance can be configured globally:
     Form defaults are read from .FvwmForm.
     There is a built in Default setting/saving dialogue.
   Forms can be read in directly from a file.
   Some forms are installed automatically.
   Tab to previous field.
   You can control vertical spacing on text so spacing is OK for
   help panels.
   A button can execute a synchronous shell command.
   You can paste into a form
   Forms can read configuration data.

New utilities:

 * New utility fvwm-config allows to query an existing installation.
 * New configurable script fvwm-menu-headlines to show headlines
   of some popular web sites in your fvwm menus.  Supported sites:
   FreshMeat, LinuxToday, Slashdot, Segfault, AppWatch and more.
 * New configurable script fvwm-menu-directory to create a file
   system browser using fvwm menus.
 * New configurable script fvwm-menu-desktop to support GNOME and
   KDE menus as fvwm or FvwmGtk menus.
 * New configurable script fvwm-menu-xlock replaces old
 * Include fvwmbug script for reporting bugs.
 * New utility xselection which can be used with PipeRead to feed
   the content of the X Selection as commands to fvwm.

New command line and configure options:

 * New configure option --disable-package-subdirs, see
   INSTALL.fvwm for info.
 * New temporary option -debug_stack_ring.
 * New command line arguments -visual and -visualId.
 * New command line argument -replace.  fvwm will try to take
   over from a running window manager only if it is given.


 * Icons have been removed from the fvwm package and are available
   at the fvwm web site.
 * Sub windows can have a private colourmap too.
 * FvwmConfig module has been removed.
 * FvwmPipe module has been removed.
 * The FvwmCommand module is now much faster and can thus
   comfortably be used in shell scripts.  The tradeoff is that it
   does not report errors any more.  To get the old behaviour run
   FvwmCommand with the "-i 1" option.

Contact information:

 * The official fvwm homepage:

 * Questions about the release can be asked on our mailing list:

 * Bugs can be reported either at the fvwm-workers mailing list or
   through our bug tracking system:

Visit the official FVWM web page at <URL:>.
To unsubscribe from the list, send "unsubscribe fvwm-announce" in the
body of a message to
To report problems, send mail to