From 5093449316ad25be1eae6eb8e0493252b2eb255f Mon Sep 17 00:00:00 2001 From: Adam Fedor Date: Sat, 10 Jul 2004 03:23:44 +0000 Subject: [PATCH] New file git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@19704 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++ Documentation/Back/Standards.txt | 112 +++++++++++++++++++++++++++++++ INSTALL | 8 +-- README | 2 +- 4 files changed, 121 insertions(+), 5 deletions(-) create mode 100644 Documentation/Back/Standards.txt diff --git a/ChangeLog b/ChangeLog index 1a9b4aa..5f8eabd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-07-09 Adam Fedor + + * Documentation/Back/Standards.txt: New EWMH file. + 2004-07-06 Fred Kiefer * Source/winlib/Win32GState.m (-_compositeGState:...fraction:): diff --git a/Documentation/Back/Standards.txt b/Documentation/Back/Standards.txt new file mode 100644 index 0000000..f3b2035 --- /dev/null +++ b/Documentation/Back/Standards.txt @@ -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). + + diff --git a/INSTALL b/INSTALL index d4d654e..80c68ed 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Installation Introduction ============ - This file documents the installation of the GNUstep Backend Library, +This file documents the installation of the GNUstep Backend Library, `gnustep-back'. If you are installing this package as part of the GNUstep core package, read the file GNUstep-HOWTO for more complete instructions on how to install the entire GNUstep package (including @@ -15,7 +15,7 @@ this library). GNUstep-HOWTO is located at Configuration ============= - Configuration is performed by running the `configure' program at a +Configuration is performed by running the `configure' program at a shell prompt. You may want to use some of the optional arguments to the `configure' program. Type `configure --help' for a list. GNUstep specific options are at the end of this list (if any). @@ -50,7 +50,7 @@ program: Compilation =========== - To compile this library, type make. After this is complete, type make +To compile this library, type make. After this is complete, type make install (make sure you are the root user). Some additional options you can use with make are `debug=yes' to make a debugging version of the library and `shared=no' to make a static version of the library. See @@ -59,7 +59,7 @@ the gstep-make package for more information on these options. Installing ========== - To install, type +To install, type make install diff --git a/README b/README index b19411b..c20eb03 100644 --- a/README +++ b/README @@ -3,7 +3,7 @@ README This is version 0.9.3 of the GNUstep GUI Backend (`gnustep-back'). - Here is some introductory info to get you started: +Here is some introductory info to get you started: Initial reading ===============