Patches - List, discussion, contribution to fvwm

(I’m not good at those things….)

A while ago there’re a discussion on the mailing list about fvwm patches and their contribution to the worker-mailing-list/integration to fvwm.
Maybe it’s somehow good to discuss it also in the forums…There’re floating several patches around in the net…

Especially on the following sites. (frogb?) (Jesús Guerrero) (Thomas Adam)

Don’t know about the gentoo patches…but J. Guerrero does :wink:

I’ start a list:

1.) Conditional: HasTitle, HasBorders
(This patch allows for two new conditionals that’s matched within condition commands: HasTitle checks whether a window has a titlebar or not. hasBorders checks to see if a window has a border.)

2.) WindowStyle: Multicoloured-borders
(This patch allows for the user to define different colorsets for the different areas of the border, including the handles. This works for both the focused and any or all unfocused windows.)

3.) FvwmButtons: Tooltip patch
(This patch (currently a work in progress) allows for the generation of tooltips for buttons.)

4.) FvwmButtons: ActiveAction patch
(This patch allows for actions to happen as soon as the mouse enters into a specific button.)

5.) MenuTranslucency

6.) 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.)

7.) 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.)

8.) 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.)

9.) InactiveFont
(You can set the font of the inactive windows. This is useful for removing the shadow on inactive titles.)

10.) 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.)

11.) 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.)

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

13.) 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.)

14.) 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.)

15.) 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.)

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

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)

(The geometry window and proxy windows have a single pixel border)

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

If I forgot any please feel free to add.

On the discussion about the patches I guess it’s important to talk about the use, it’s behaviour, their documentation, bugs etc. Furthermore about their relative pros and cons of contribution to fvwm.

But will likely get rejected, as I have already pointed out a few times to Guerrero. The reason is that the list of conditionals is incomplete and the wrong approach when/if styles ever become conditional in their own right.

And is a complete hack. I need to clean it up considerably. One thing I would love to do is to change BorderColorset and HilightBorderColorset to support this, as well as cleaning up the code to support structs rather than free-form variables. Not good.

Works, but I need to sort out a bug in the EnterWindow XEvent handling.

But doesn’t timeout when a mouse button leaves a button (a la tooltip approach).

Rejected upstream. Please see the fvwm-workers mailing list archive for this month.

There is some movement to get some of these integrated upstream, but…

– Thomas Adam

Most info is on the mailing list, so I will not duplicate it all here.

Just add something about FlatSeparators: I would like to get that patch into fvwm and I have already cleaned it and added the documentation, the main problem is that I need to review it because of the latest changes that have been merged into cvs (my VerticalMargins menustyle patch). I also need to review that as soon as I can, since Dominik Vogt reported a found bug.

Just to add something about the patches in my site: while I modified some of them, none at all was created by me (except for the VerticalMargins one that has already been merged). Thomas Adam has some interesting stuff and it would be cool to have some of them added into the official cvs tree.

With the time, I might clean some of the other patches if I am on the mood to do it and provided that I have the time to do so (which is the main problem), since I don’t know the author of the patches.

I thought there would be more disussion about the patches, although a lot has been said in the mailing list.

From the patches above I personally use the one from

Imho the most important ones are:

  • translucency patch
  • inactive font
  • rounded corners
  • button width
  • hover

There’s one thing on the rounded corners patch, that makes me really sad…the corners are in some way round, but for me it’s unusuable because their not antialiazed an therefore ugly as hell :wink:

two of these links do not work. (Jesús Guerrero) (Thomas Adam)

are these patches available elsewhere?



Works just fine.

– Thomas Adam

Sorry. Just remove “fvwm.php” or change it into “index.php”.

Anyway I symlinked it, so now it should work as-is, with “fvwm.php”.

I haven’t used these patches for a long long time. The latest version should work (as in “should patch”) against current cvs, how good/stable they are is another story.

oops my bad.

just this one.

Obsoleted by the patches referenced at: – they’ve been made to work with recent versions of the CVS FVWM.

– Thomas Adam