Difference between revisions of "Window manager"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| Line 8: | Line 8: | ||
|    unsigned long reserved |    unsigned long reserved | ||
|    Pixmap miniaturize_pixmap;    // pixmap for miniaturize button |    Pixmap miniaturize_pixmap;    // pixmap for miniaturize button | ||
| − |    Pixmap close_pixmap;  | + |    Pixmap close_pixmap;          // pixmap for close button. | 
| − |    Pixmap miniaturize_mask;  | + |    Pixmap miniaturize_mask;      // miniaturize pixmap mask | 
| − |    Pixmap close_mask;  | + |    Pixmap close_mask;            // close pixmap mask | 
|    unsigned long extra_flags; |    unsigned long extra_flags; | ||
| + | |||
| + |   #define GSWindowStyleAttr                   (1<<0) | ||
| + |   #define GSWindowLevelAttr                   (1<<1) | ||
| + |   #define GSMiniaturizePixmapAttr             (1<<3) | ||
| + |   #define GSClosePixmapAttr                   (1<<4) | ||
| + |   #define GSMiniaturizeMaskAttr               (1<<5) | ||
| + |   #define GSCloseMaskAttr                     (1<<6) | ||
| + |   #define GSExtraFlagsAttr                    (1<<7) | ||
| + |   #define GSDocumentEditedFlag                (1<<0) | ||
| + |   #define GSWindowWillResizeNotificationsFlag (1<<1) | ||
| + |   #define GSWindowWillMoveNotificationsFlag   (1<<2) | ||
| + |   #define GSNoApplicationIconFlag             (1<<5) | ||
| + |   #define WMFHideOtherApplications            10 | ||
| + |   #define WMFHideApplication                  12 | ||
| + | |||
| + | =Window Level= | ||
| + | GNUstep needs arbitrary window levels. EWMH define these two: | ||
| + |   _NET_WM_STATE_ABOVE, ATOM | ||
| + |   _NET_WM_STATE_BELOW, ATOM | ||
Revision as of 06:30, 29 March 2007
In Windows and Mac OS X the window manager is tied into the OS. That's not the case for Linux or BSD. Window Maker is the recommended window manager for GNUstep, but a standard feature-set is needed. GNUstep-based applications have additional needs beyond traditional window managers, like handling the dock icon or the menus. Collecting the requirements here will lead to a specification, so any window manager can clearly state whether or not it is GNUstep-compliant.
Backend WM Attributes
Headers/x11/XGServerWindow.h defines
unsigned long flags unsigned long window_style unsigned long window_level unsigned long 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 unsigned long extra_flags;
#define GSWindowStyleAttr (1<<0) #define GSWindowLevelAttr (1<<1) #define GSMiniaturizePixmapAttr (1<<3) #define GSClosePixmapAttr (1<<4) #define GSMiniaturizeMaskAttr (1<<5) #define GSCloseMaskAttr (1<<6) #define GSExtraFlagsAttr (1<<7) #define GSDocumentEditedFlag (1<<0) #define GSWindowWillResizeNotificationsFlag (1<<1) #define GSWindowWillMoveNotificationsFlag (1<<2) #define GSNoApplicationIconFlag (1<<5) #define WMFHideOtherApplications 10 #define WMFHideApplication 12
Window Level
GNUstep needs arbitrary window levels. EWMH define these two:
_NET_WM_STATE_ABOVE, ATOM _NET_WM_STATE_BELOW, ATOM