This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
window decoration for multiwindow mode
- From: Ralf Habacker <ralf dot habacker at freenet dot de>
- To: cygwin-xfree at cygwin dot com
- Date: Sun, 4 Jan 2004 01:03:07 +0100
- Subject: window decoration for multiwindow mode
- Reply-to: cygwin-xfree at cygwin dot com
Hi,
i just saw the xfree development page and recognized a missing feature in the
multi window mode, which is is at least interesting for kde, but I assume
also for other x applications.
Currently the server does not handle modal dialogs like expected (currently
modal dialogs are independed windows) and does not support windows without
regular windows title border. (This could be verifyed for example with
kicker, the KDE panel, which is bordered with a regular window title, while
it is shown without any additional border as expected using an X-window
manager like kwin.
The relating standards for this topic could be found at
http://www.freedesktop.org/standards/wm-spec/1.3/ar01s05.html
_NET_WM_WINDOW_TYPE, ATOM[]/32
This SHOULD be set by the Client before mapping to a list of atoms indicating
the functional type of the window. This property SHOULD be used by the window
manager in determining the decoration, stacking position and other behavior
of the window. The Client SHOULD specify window types in order of preference
(the first being most preferable) but MUST include at least one of the basic
window type atoms from the list below. This is to allow for extension of the
list of types whilst providing default behavior for Window Managers that do
not recognize the extensions.
Rationale: This hint is intended to replace the MOTIF hints. One of the
objections to the MOTIF hints is that they are a purely visual description of
the window decoration. By describing the function of the window, the Window
Manager can apply consistent decoration and behavior to windows of the same
type. Possible examples of behavior include keeping dock/panels on top or
allowing pinnable menus / toolbars to only be hidden when another window has
focus (NextStep style).
_NET_WM_WINDOW_TYPE_DESKTOP, ATOM
_NET_WM_WINDOW_TYPE_DOCK, ATOM
_NET_WM_WINDOW_TYPE_TOOLBAR, ATOM
_NET_WM_WINDOW_TYPE_MENU, ATOM
_NET_WM_WINDOW_TYPE_UTILITY, ATOM
_NET_WM_WINDOW_TYPE_SPLASH, ATOM
_NET_WM_WINDOW_TYPE_DIALOG, ATOM
_NET_WM_WINDOW_TYPE_NORMAL, ATOM
_NET_WM_WINDOW_TYPE_DESKTOP indicates a desktop feature. This can include a
single window containing desktop icons with the same dimensions as the
screen, allowing the desktop environment to have full control of the desktop,
without the need for proxying root window clicks.
_NET_WM_WINDOW_TYPE_DOCK indicates a dock or panel feature. Typically a Window
Manager would keep such windows on top of all other windows.
_NET_WM_WINDOW_TYPE_TOOLBAR and _NET_WM_WINDOW_TYPE_MENU indicate toolbar and
pinnable menu windows, respectively (i.e. toolbars and menus "torn off" from
the main application). Windows of this type may set the WM_TRANSIENT_FOR hint
indicating the main application window.
_NET_WM_WINDOW_TYPE_UTILITY indicates a small persistent utility window, such
as a palette or toolbox. It is distinct from type TOOLBAR because it does not
correspond to a toolbar torn off from the main application. It's distinct
from type DIALOG because it isn't a transient dialog, the user will probably
keep it open while they're working. Windows of this type may set the
WM_TRANSIENT_FOR hint indicating the main application window.
_NET_WM_WINDOW_TYPE_SPLASH indicates that the window is a splash screen
displayed as an application is starting up.
_NET_WM_WINDOW_TYPE_DIALOG indicates that this is a dialog window. If
_NET_WM_WINDOW_TYPE is not set, then windows with WM_TRANSIENT_FOR set MUST
be taken as this type.
_NET_WM_WINDOW_TYPE_NORMAL indicates that this is a normal, top-level window.
Windows with neither _NET_WM_WINDOW_TYPE nor WM_TRANSIENT_FOR set MUST be
taken as this type.