On Mon, Aug 18, 2014 at 12:39:51PM -0400, Dan Espen wrote:
> Dominik Vogt <[email protected]> writes:
> > It works perfectly for me too. But I wish it was easier to
> > introduce new features, and I'm still dreaming about some kind of
> > "database" approach to window configuration where you can just
> > dump configuration into, e.g. specific to window id, resource
> > pattern, class pattern, for all windows, for windows with certain
> > properties etc. When a window needs information about it's style,
> > a lookup in the database spits out the most specific style
> > information for each style. This would be so much more
> > configurable (and hence able to get funny applications under
> > control) than that mess of the style logic we have now.
>
> Easy enough to do if you're willing to accept the overhead of
> reading multiple files at startup.
But with the existing implementation you cannot do dynamic things
like the following in the core without adding new code:
* if window is in the top right corner, make the default shading
direction northeast, i.e.
Style ($[w.x] == -0 && $[w.y] == 0) DefaultShadeDirection NE
* if the window uses ewmh hints, and uses static gravity, use the
alternative resize algorithm,
* if the window is sticky, use a different coulour set for the
decorations.
Style (Sticky) Colorset <n>, HilightColorset <n+1>
This could all come mostly for free with a priority based style
database. At the moment, such features have to be hard coded
manually.
> My borders vary by window type. I could have a file, HandleWidths
> containing:
>
> Style * HandleWidth 7
> Style "sun-awt-X11-XWindowPeer" HandleWidth 0
> Style "*xbiff" HandleWidth 6
> Style "XSysStats" HandleWidth 6
>
> Writing an FvwmForm or FvwmScript to update the file is trivial.
>
> And so on, for Lenience, Key bindings, Mouse bindings.
> Personally I don't need it and I'd prefer to keep my various
> customizations organized by Style.
The user interface for this isn't affected, only the internal
representation. The user does not see the database.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt