The fvwm animate module
Module FvwmAnimate [ModuleAlias]
FvwmAnimate can only be invoked by fvwm. Command line invocation of the FvwmAnimate module will not work.
From within the .fvwm2rc file, FvwmAnimate is spawned as follows:
Module FvwmAnimate
or from within an fvwm pop-up menu:
DestroyMenu Module-Popup AddToMenu Module-Popup "Modules" Title + "Fvwm Animate Icons" Module FvwmAnimate ModuleAlias
The FvwmAnimate module animates iconification and de-iconification or on command. There are currently 6 different animation effects.
FvwmAnimate must be invoked by the fvwm window manager. When invoked with the OptionalName argument, the ModuleAlias is used to find configuration commands, configuration files, and name the internally generated menus and forms instead of "FvwmAnimate". During startup, FvwmAnimate defines menus and forms for configuring and controlling FvwmAnimate. The default menu name is "MenuFvwmAnimate" and the form name is "FormFvwmAnimate". If the optional name is used, the menu would be "Menu<ModuleAlias>" and the form would be "Form<ModuleAlias>".
Assuming you already had a builtin menu called "Module-Popup", you could use FvwmAnimate by configuring it like this:
AddToFunc "StartFunction" "I" Module FvwmAnimate AddToMenu "Module-Popup" "Control Animation" Popup MenuFvwmAnimate
Since the pop up menu "MenuFvwmAnimate" allows complete control of the FvwmAnimate module, you don't really have to know what any of the configuration commands are. This section describes them anyway.
FvwmAnimate gets configuration info from fvwm's module configuration database (see fvwm(1), section MODULE COMMANDS). In addition, FvwmAnimate reads the file $HOME/.FvwmAnimate, and accepts commands from fvwm and its modules as it runs.
If ModuleAlias is used to start FvwmAnimate, the optional name is used in all commands, messages, menus and forms generated by FvwmAnimate and in the configuration file name. Unlike other fvwm modules, there is little reason to use the optional name.
Tells FvwmAnimate what color to draw with. The color is "XOR'ed" (exclusive ORed) onto the background. Depending on the display type you are using, the effect this causes will vary. Especially on 8-bit displays, it helps if the background is a solid color. You have to experiment with this to see how it works.
The default color is not really a color and can be entered as "Black^White", or more simply "None". This is the same as the default XOR mask used by fvwm for move and resize frames.
Other colors can be specified using standard X color notation. Ie. color names like "LightBlue", or RGB values like "#FFFFFF".
Tells FvwmAnimate to use pixmap to draw with. This can be useful if *FvwmAnimate: Color gives poor results.
Tells FvwmAnimate how many milliseconds to sleep between frames of animation.
Tells FvwmAnimate how many steps to break the animation into.
Tells FvwmAnimate how many revolutions to twist the iconification frame.
Tells FvwmAnimate how wide a line to draw with. The default width of 0 (zero) is a fast line of Width 1.
Tells FvwmAnimate which animation effect to use. Currently the effects are: Frame, Lines, Flip, Turn, Zoom3D, Twist Random, and None. None is normally set in the configuration file, in-case FvwmAnimate is started automatically, but an individual user doesn't want it running.
Tells FvwmAnimate to stop.
Tells FvwmAnimate to save the current configuration in a file named ".FvwmAnimate" in the users home directory. This same file is read automatically by FvwmAnimate during startup.
FvwmAnimate can be asked to produce an animation thru the "SendToModule" command. The format of the command is:
SendToModule FvwmAnimate animate sx sy sw sh dx dy dw dh
The second word must match the name FvwmAnimate is started with. The 8 fields after animate must be numbers. The first 4 are for the source (or starting) location of the animation. The last 4 are for the destination of the animation. The 2 pairs of 4 numbers, represent rectangles. The first 2 numbers are the x and y location of the upper right corner. The next 2 numbers are the width and height. One or more spaces can separate the fields in the command.
Modules can use the "SendToModule" command to animate "NoIcon" windows, or you can think up your own ways to have all kinds of fun with this command.
Additional available commands are: pause, play, push, pop and reset. These may be space separated.
pause causes a module to not temporarily produce any animations. play causes a module to produce an animation again. push stores the current playing state for a future and pop restores it. reset removes all stored states and sets playing on.
Suppose, we don't want to wait for all 40 xterms to be animated:
SendToModule FvwmAnimate pause All (XTerm) Iconify on
And if we don't want to damage the current playing state, then:
SendToModule FvwmAnimate push pause All (XTerm) Iconify on SendToModule FvwmAnimate pop
FvwmAnimate is based on the Animate module from Afterstep 1.5pre6. Porting to fvwm and lots of other changes were done by Dan Espen <[email protected]>. Below are the original author and acknowledgments.
Alfredo Kengi Kojima <[email protected]>
These people have contributed to FvwmAnimate:
Twisty iconification, configuration file parsing, man page.