git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@19704 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2004-07-10 03:23:44 +00:00
parent 3c77485016
commit 5093449316
4 changed files with 121 additions and 5 deletions

View file

@ -1,3 +1,7 @@
2004-07-09 Adam Fedor <fedor@gnu.org>
* Documentation/Back/Standards.txt: New EWMH file.
2004-07-06 Fred Kiefer <FredKiefer@gmx.de>
* Source/winlib/Win32GState.m (-_compositeGState:...fraction:):

View file

@ -0,0 +1,112 @@
EWMH hints
==================================
[ ] : not implemented
[*] : partially implemented
[+] : supported
[-] : not applicable/ignored
Root Window Properties (and Related Messages)
[-] _NET_SUPPORTED
[-] _NET_CLIENT_LIST
[-] _NET_NUMBER_OF_DESKTOPS
[ ] _NET_DESKTOP_GEOMETRY // use this in preference to X calls?
[-] _NET_DESKTOP_VIEWPORT
[-] _NET_CURRENT_DESKTOP
[-] _NET_DESKTOP_NAMES
[ ] _NET_ACTIVE_WINDOW // "main" window?
[-] _NET_WORKAREA
[-] _NET_SUPPORTING_WM_CHECK
[-] _NET_VIRTUAL_ROOTS
[-] _NET_DESKTOP_LAYOUT
[-] _NET_SHOWING_DESKTOP
Other Root Window Messages
[-] _NET_CLOSE_WINDOW
[-] _NET_MOVERESIZE_WINDOW
[ ] _NET_WM_MOVERESIZE // use with in-view mouse control?
Application Window Properties
[ ] _NET_WM_NAME // need to implement
[-] _NET_WM_VISIBLE_NAME
[ ] _NET_WM_ICON_NAME // need to implement
[-] _NET_WM_VISIBLE_ICON_NAME
[-] _NET_WM_DESKTOP
[ ] _NET_WM_WINDOW_TYPE // use with or replace Window Level?
[-] _NET_WM_STATE // probably don't need this.
[-] _NET_WM_ALLOWED_ACTIONS
[-] _NET_WM_STRUT
[-] _NET_WM_STRUT_PARTIAL
[-] _NET_WM_ICON_GEOMETRY
[ ] _NET_WM_ICON // would be nice to support
[ ] _NET_WM_PID // need to implement
[-] _NET_WM_HANDLED_ICONS
[ ] _NET_WM_USER_TIME // need to figure this out...
Window Manager Protocols
[ ] _NET_WM_PING // need to implement
WindowMaker Protocols and Client Messages
=========================================
_GNUSTEP_WM_MINIATURIZE_WINDOW
The _GNUSTEP_WM_MINIATURIZE_WINDOW protocol tells the WM that the
application can handle miniaturization of a window. The WM can then
send a CLientMessage of the WM_PROTOCOLS type telling the app to
miniaturize the window.
_GNUSTEP_TITLEBAR_STATE
The app can send a ClientMessage with the _GNUSTEP_TITLEBAR_STATE
message type, telling the WM which state the window is in, allowing the
WM to change the appearance of the title bar appropriately. The states are:
Key Window(0), Normal Window(1), Main Window(2). The main window is the window
the user is currently working in. The key window is the window that has
keyboard focus.
_GNUSTEP_WM_ATTR
Property for setting various attributes about the window. Can also
be sent as a Client Message for faster handling. The structure
passed in the property request is:
typedef struct {
CARD32 flags;
CARD32 window_style;
CARD32 window_level;
CARD32 reserved;
Pixmap miniaturize_pixmap; // pixmap for miniaturize button
Pixmap close_pixmap; // pixmap for close button
Pixmap miniaturize_mask; // miniaturize pixmap mask
Pixmap close_mask; // close pixmap mask
CARD32 extra_flags;
} GNUstepWMAttributes;
where flags is a set of ORed values:
WindowStyle(1<<0), WindowLevel(1<<1), MiniaturizePixmap(1<<3),
ClosePixmap(1<<4), MiniaturizeMask(1<<5), CloseMask(1<<6),
ExtraFlags(1<<7).
If ExtraFlags is set, then extra_flags can be:
DocumentEditedFlag(1<<0), WindowWillResizeNotificationsFlag(1<<1),
WindowWillMoveNotificationsFlag(1<<2), NoApplicationIconFlag(1<<5),
WMFHideOtherApplications(10), WMFHideApplication(12)
Window Style can be an ORed value consiting of any one or more of
NSBorderlessWindowMask(0), NSTitledWindowMask(1),
NSClosableWindowMask(2), NSMiniaturizableWindowMask(4),
NSResizableWindowMask(8), NSIconWindowMask(64) NSMiniWindowMask(128).
Window Level can be one of NSDesktopWindowLevel(-1000),
NSNormalWindowLevel(0), NSFloatingWindowLevel(3),
NSSubmenuWindowLevel(3), NSTornOffMenuWindowLevel(3),
NSMainMenuWindowLevel(20), NSStatusWindowLevel(21),
NSModalPanelWindowLevel(100), NSPopUpMenuWindowLevel(101),
NSScreenSaverWindowLevel(1000).