Hello,

Now the ewmh support should be configurable (and tested).
At present time the only new configuration stuff is that there
is a new context "D" for bindings onto an application of Desktop
type as kdesktop and Nautilus desktop (I've never tested the
Nautilus desktop).
Here my plan. I need to know if the chosen name as well as the
behavior of these config commands are acceptable. Maybe there are
to many styles.
Also, as ewmh is off by default, most of the defaults cause fvwm
to enable some features. However, maybe in the future (when GNOME 2
will be widely used) ewmh will be on by default (this happened with
GNOME 1 support) and the default should be changed. This is a bit
problematic.

This is just a "first" draft (sorry for the English) I will try
to be more careful with the manual page.

New styles:
----------

* RejectStayOnTopHints / AcceptStayOnTopHints
RejectStayOnTopHints causes fvwm to ignore initial (ewmh) hints which ask
to put an application into the default StaysOnTop Layer. AcceptStayOnTopHints
which is the default causes fvwm to accept this hint.
(note: this hint is not a part of the ewmh spec but it is used by KDE).

* MiniIconOverride / NoMiniIconOverride
MiniIconOverride causes fvwm to ignore the mini icon provided by the
application and to use the mini icon defined by the MiniIcon style.
NoMiniIconOverride reestablish the default which is to use the mini
icon provided by the application.

* IgnoreEwmhIcon / ForceEwmhIcon / UseEwmhIcon
These styles extends the  IconOverride / NoIconOverride / 
NoActiveIconOverride styles.
ForceEwmhIcon causes fvwm to use the ewmh icon hint (if any)
in priority even if the IconOverride style is used or the application have
an icon window (and NoIconOverride or NoActiveIconOverride is used).
IgnoreEwmhIcon causes fvwm to do as if the application has no ewmh icon
hint at all.
UseEwmhIcon is the default and causes fvwm to use the ewmh icon hint
if the application have no icon window and the IconOverride style is
not used.

* DoNotSetMiniIcon / SetMiniIcon
If an application does not provide an ewmh (mini) icon hint, then
fvwm sets such hint with the mini icon provided by the MiniIcon style.
This cause ewmh compliant pager and taskbar to use the same mini
icon as fvwm use.
DoNotSetMiniIcon disable this feature and SetMiniIcon reestablish the
default.

* DoNotSetIcon / SetIcon
As above for icon, but the icon used is the icon that use fvwm
(determined by the IconOverride / NoIconOverride / NoActiveIconOverride
style) but the icon window that can provide an application is ignored.

* NoEwmhAnimate / EwmhAnimate
If the NoIcon style is used and an ewmh compliant taskbar provide
an icon position hint, then fvwm2 ask FvwmAnimate to animate the
(de)iconification using this hint. NoEwmhAnimate disable this feature
and EwmhAnimate (the default) enable it.

* IgnoreEwmhWMStateHints / UseEwmhWMStateHints
IgnoreEwmhWMStateHints causes fvwm to ignore the ewmh _NET_WM_STATE when
an application is mapped. Such hints may ask to map the application sticked,
shaded and/or maximized, to put the window in the window SkipList and/or
to consider the application as a modal application. UseEwmhWMStateHints
reestablish the default which is of course to use these hints

* IgnoreEwmhWindowTypeHints args
Where args is a space separated list constitued by the following key word
Desktop, Dialog, Dock, Menu, ToolBar. This cause fvwm2 to ignore the
correspondig _NET_WINDOW_TYPE hints (see my future email on  window
type config). This style is destructive: to reestablish the default
which is to do not ignore any of these hints just give an empty args
and the two lines:
IgnoreEwmhWindowTypeHints Menu Dialog
IgnoreEwmhWindowTypeHints ToolBar
cause to ignore only the ToolBar window type.
Is this really needed??

* Note on working area:
Without ewmh support the working area is the full visible screen
(or all your screens if you have a multi head setup and you use Xinerama).
However, a compliant application as a panel can ask to reserve space
at the edge of the screen. If it is the case, the Working Area is  your
full visible screen minus these reserved space. If the panel can be
hidden by clicking by a button the Working Area does not change (as
you can unhide the panel at any time), but the Dynamic Working Area
is updated so that the reserved space by the panel is removed (and readded
if you unhide the panel). Note that an autohide panel has a fixed reserved
space.  

* NoWorkingAreaPlacement/ DynamicWorkingAreaPlacement / WorkingAreaPlacement
DynamicWorkingAreaPlacement causes fvwm to use the Dynamic Working Area
for window placement as NoWorkingAreaPlacement causes fvwm to ignore
the concept of working area. The default WorkingAreaPlacement causes fvwm to
use the Working Area for window placement.

* MaximizeIgnoreWorkingArea / MaximizeUseWorkingArea /
        MaximizeUseDynamicWorkingArea
MaximizeUseWorkingArea causes fvwm to use the Working Area when you
maximize a window as MaximizeIgnoreWorkingArea causes fvwm to ignore
the concept of working area. The default MaximizeUseDynamicWorkingArea
cause to use the Dynamic Working Area when you maximize a window.

* FixedMaximizing / DynamicMaximizing
If the MaximizeUseDynamicWorkingArea (respectively, MaximizeUseWorkingArea)
style is used then when the (Dynamic) Working Area change the maximized
window are maximized again to respect the new area. FixedMaximizing
disabled this feature as DynamicMaximizing reestablish the default

* IgnoreWMStut / UseWMStrut
IgnoreWMStut cause fvwm to ignore the reserved space that an application ask
to fvwm for computing the Working Area. UseWMStrut (the default) causes fvwm2
to take in account this space in its computation.
 
Command:
-------

* EwmhNumberOfDesktop d
Where d is an integer > 0 and define the number of desktop you want to see
in a compliant pager. Note that this number is automatically updated
if you go to a Desk k > d. On the other hands, negative Desk are not
supported and can put some compliant pager and taskbar into big trouble.

* EwmhActivateWindow [cmd]
Where  cmd  is  a fvwm2 command (complex or builtin function) to be used
when a  compliant  application ask  to activate a window. The default is
is to Iconify Off, Focus and Raise. If no argument is given the default
is reestablished.

* EwmhFvwmStrut left right top bottom
Where left, right, top and bottom are  positive  or null integer which
represent an area in pixels from the left of the screen to left, from the
right  of the  screen to right, from the top of the screen to top and from
the bottom of the  screen  to  bottom. Default is 0 0 0 0.
This area define  an additional reserved space to the reserved space
defined by some applications.
You can override the Working area by using this command together
with the command "Style * IgnoreWmStrut"

* EwmhKdeSupport [bool]
Disable/Enabled special support for kde (On by default).
Maybe a style?

* EwmhGnomeSupport [bool]
Disable/Enabled special support for gnome (On by default)
Maybe a style?

Window Type Configuration:
-------------------------

This is problematic. I will come on this in an others email.


Regards, Olivier
--
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