In the best tradition of the "great style flag rewrite" I'm now
planning the "great focus policy rewrite" (GFPR) :-)  I'd like to
introduce a whole lot of new options to fine tune focus policies.
These may become sub options of a new "FocusPolicy" style instead
of independent styles:

Acquiring and releasing focus:

 1) Focus when pointer enters window
 2) Unfocus when pointer leaves window
 3) Focus when unfocused and client window clicked
 4) Focus when unfocused and decorations clicked
 5) Focus programmatically (with Focus or FlipFocus command)
 6) Focus when application graps the focus.

Overriding application specified focus model:

 7) Lenience

Raising windows:

 8a) Raise when client window is clicked
 8b) Raise when client window is clicked and window is unfocused
 9a) Raise when decorations are clicked
 9b) Raise when decorations are clicked and window is unfocused

Recyclicng raise/focus clicks:

 10) Pass focus clicks to application
 11) Pass raise clicks to application
 12) Allow bindings on focus clicks
 13) Allow bindings on raise clicks

Configuring the buttons to use:

 14) Buttons to use for raise/focus clicks
 15) Modifiers to use for raise/focus clicks

Currently,

  MouseFocus   = 1 + 2 + 5 + 6 + 12 + 13
  SloppyFocus  = 1 + 5 + 6 + 12 + 13
  ClickToFocus = 3 + 4 + 5 + 6 + 12 + 13
  NeverFocus   = (forbid all)
  Lenience     = 7

  ClickToFocusClickRaises = 8b + 9b
  <other>FocusClickRaises = 8a + 9a
  ...PassesClick = 10 + 11

The old styles can be translated to sets of other options.  New
proposed focus policies:

  ManualFocus  = 5 + 6 + ...
  ClickClientFocus = ClickToFocus - 4

Also, I suppose to add 3 and 4 to MouseFocus and Sloppy focus for
the (unavoidable) situations where you end up with the pointer
over and unfocused window.

All this not only allows a lot more flexibility for specific
windows.  It also simplifies the code in HandeButtonPress()
because we don't have to distinguish between abstract focus
policies anymore.  Instead the switches can be made on a
per-feature basis.

Do you have additional suggestions?  Did I miss anything that
could be added (I left out auto raising when the pointer enters a
window on purpose).

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: [EMAIL PROTECTED], phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe
--
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