With GNOME and EWMH we now have a flood of different methods to
specify style and state of a window that compete against each
other.  Since there already are a lot of problems, I think we need
to redesign how hints/styles/states are applied to a window.
Right now we have:

  GNOME hints set by the application
  GNOME hints set by fvwm
  EWMH hints set by the application
  EWMH hints set by fvwm
  Hints set by the application
  Fvwm's styles
  Fvwm's window states

For some styles/states it's already almost impossible to keep
track of the proper hint to use.  The latest example is the GNOME
layer hint:  when fvwm creates a window, it sets that hint.
Later, if you recapture the window or restart fvwm, fvwm finds the
layer property on the window and overrides the style, even if it
changed.  Note that this happens for windows that never set any
GNOME hints themselves.

I propose the following solution for the external hints (GNOME,
EWMH and possibly others in the future):

Every window property that is defined externally is duplicated
with an FVWM prefix.  E.g.

  NET_WM_FOOBAR --> FVWM_NET_WM_FOOBAR

When application provides a hint, e.g. the layer hint, that new
property is deleted from its window.  If fvwm sets a hint it sets
the original property and the FVWM_ property to the according
value.  Now, whenever fvwm checks for a hint (recapture, restart,
etc.) it prefers to use its own styles over any GNOME/EWMH hints
that were set by itself (or another fvwm).  So, the normal order
of preference would be:

  EWMH hints (by application)
  GNOME hints (by application)
  Styles
  Application hints
  EWMH hints (by fvwm)
  GNOME hints (by fvwm)

I feel positive that I could do that with the GNOME code, but I
don't understand the EWMH code enough to make the proper changes.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to