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