Style for sticky windows?

You want FvwmEvent for this:

DestroyFunc FvwmToggleStickyPixmap
AddToFunc   FvwmToggleStickyPixmap
+ I ThisWindow (sticky)  WindowStyle UseDecor StickyDecor
+ I ThisWindow (!sticky) WindowStyle UseDecor NormalDecor

This function changes a window’s decor depending on whether it is stick or not — so you’ll have to ensure you use two separate decors if you decide this is how you want to do it. Here’s the event(s):

DestroyModuleConfig FvwmEvent-Sticky: *
*FvwmEvent-Sticky: PassId
*FvwmEvent-Sticky: Delay 1
*FvwmEvent-Sticky: configure_window FvwmToggleStickyPixmap
*FvwmEvent-Sticky: focus_change     FvwmToggleStickyPixmap
*FvwmEvent-Sticky: add_window       FvwmToggleStickyPixmap

AddToFunc StartFunction Module FvwmEvent FvwmEvent-Sticky

Yes. I patched it ages ago:

– Thomas Adam

This old thread describes a mechanism for exactly what I want to do (a bespoke style for sticky windows, in my case using WindowStyle BorderColorset… rather than a decor).
However, two of the FvwmEvents appear to cause fvwm/X to thrash (50%+ cpu)

configure_window - a constant stream of events for each of stalonetray & gkrellm (not xterm, emacs,…)
focus_change - a constant stream of events for the currently/most recently focused window

So … is the event mapping above still correct and expected to work in fvwm 2.6.5 or have I made a mistake somewhere, or possibly elsewhere in my config?

rgds all,


Of course, the WindowStyle command caused a new configure_window event, and thus an endless cycle.

*FvwmEvent-Sticky: Delay 1

which I had somehow missed in the original code sample, solved it.