Hello, the following is a set of patches I've made for FVWM. To use, you can download the following patch and apply to a recent 2.5 version. Alternatively, you can download each patch individually. They are known to work if applied one after another in the order given, but might work ok on their own.

If you don't want to apply the patches, then you can download a fvwm archive already patched.

Each patch should have no effect until you use the corresponding style commands (see the examples). Styles can be turned off by preceding them with a !. To apply a patch you've downloaded: cd to "fvwm-X.Y.Z" and run "patch -p 0 < /path/to/patch.patch".

MenuTranslucency

This is just the standard translucency patch applied to the latest (20050512) CVS. All I did was make sure it applied cleanly against this version.

Patch

ResizeOutlineThin

You can use this change the move/resize box into a single one pixel rectangle. This is closer to how many other WMs look.

Example:
Style * ResizeOutline, ResizeOutlineThin

Patch

Conditionals

This is a patch by Thomas Adam, found here: http://edulinux.homeunix.org/fvwm/patches.html. I have just added TitleAtLeft/Right/Top/Bottom to it which I use in a windowshade function.

Patch

FlatSeparators

This adds a menustyle called FlatSeparators. It changes the separators so that they are a single pixel thick and colored the same as the text.

Example:
MenuStyle * FlatSeparators

Patch

BorderUnderTitle

With this style, an extra window border is drawn underneath the titlebar using a flat style. It is removed when you shade the window.

Example:
Style * BorderUnderTitle

Patch

InactiveFont

You can set the font of the inactive windows. This is useful for removing the shadow on inactive titles. I found this faster than doing the same with FvwmEvent.

Example:
Style * InactiveFont "xft:sans:size=8"

Patch

FluxboxHandles

This creates a border similar to fluxbox. The colors are taken from the border colorset: hilight is the main color, shadow is used on the edges and bg is used for the outline. Uses cornerwidth as the width of the handles, which can also be set.

Example:
Style * HandleWidth 5
Style * FluxboxHandles
Style * CornerWidth 21
Colorset 10 hi #5884d8, bg black, sh #2858a8

Patch

RoundedCorners

This rounds the corners of the window to match the clearlooks shape. Use the RoundedCorners style to make all corners rounded or the RoundedCornersTop and RoundedCornersBottom styles to round the top or bottom side on its own. You can also use SlightlyRoundedCorners to make the corners less rounded.

Example:
Style * RoundedCornersTop, SlightlyRoundedCorners

Menus now accept a RoundedCorners style

Example

MenuStyle * RoundedCorners, SlightlyRoundedCorners

Patch

TopBorder

This style sets the top border to a single pixel without changing the other sides. This is useful along with multiborder below.

Example:
Style * !TopBorder

Patch

ButtonWidth

You can use this style to set the width of the title buttons. Setting a width of 0 or no width uses the title height, as before.

Example:
TitleStyle ButtonWidth 20

Patch

MultiBorder

You can use this to set a different pixmap for each border. The corner pixmaps are drawn once and then the side pixmaps are tiled along the edges. Each pixmap is aligned to the edge of the window.

You must give 8 valid pixmaps in clockwise order. It does not let you specify tiled/stretched etc.

Example:
BorderStyle Active MultiBorder NW.png N.png NE.png E.png \
SE.png S.png SW.png W.png -- flat

You can now do the same thing with menus.

Example:
MenuStyle * BorderWidth 5
MenuStyle * menuface multiborder NW.png N.png NE.png E.png \
SE.png s.png SW.png W.png
MenuStyle * Background White

Patch

Hover

Allows you to specify button pixmaps that will be shown when you move the mouse over the buttons. You can't use different pixmaps for inactive windows just now, and it might not work well with usetitlestyle.

Example:
Buttonstyle Hover True
AddButtonStyle 4 ActiveHover (Pixmap max-hover.png -- flat)

Patch

TextOffset

Allows you to set the vertical position of the text on the titlebar. This sets the position relative to where the text would normally go.

Example:
TitleStyle TextOffset -1

Patch

FvwmIconMan

Allows you to set rounded corners for the buttons in a FvwmIconMan. Also can set horizontal padding between buttons.

Example:
*FvwmIconMan: RoundedCorners True
*FvwmIconMan: Padding 3

Patch

Others

Here are some simple patches not distributed above. If applied, there is no way to turn them off so only use them if you want this.

Menus with titles are opened so that the first item is under the pointer without warping: FirstItemUnderPointer

The geometry window and proxy windows have a single pixel border: ThinGeometryProxy

FluxboxHandles (with patch above) use the shadow color to fill in the corners: FluxCorner