00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __netwm_def_h
00026 #define __netwm_def_h
00027
00028
00042 struct NETPoint {
00046 NETPoint() : x(0), y(0) { }
00047
00048
00049
00050
00051 int x,
00052 y;
00053 };
00054
00055
00069 struct NETSize {
00073 NETSize() : width(0), height(0) { }
00074
00075
00076
00077
00078 int width,
00079 height;
00080 };
00081
00092 struct NETRect {
00098 NETPoint pos;
00099
00105 NETSize size;
00106 };
00107
00108
00120 struct NETIcon {
00124 NETIcon() : data(0) { }
00125
00131 NETSize size;
00132
00138 unsigned char *data;
00139 };
00140
00141
00150 struct NETStrut {
00154 NETStrut() : left(0), right(0), top(0), bottom(0) { }
00155
00159 int left;
00160
00164 int right;
00165
00169 int top;
00170
00174 int bottom;
00175 };
00176
00177
00190 class NET {
00191 public:
00202 enum Role {
00203 Client,
00204 WindowManager
00205 };
00206
00237 enum WindowType {
00238 Unknown = -1,
00239 Normal = 0,
00240 Desktop = 1,
00241 Dock = 2,
00242 Toolbar = 3,
00243 Menu = 4,
00244 Dialog = 5,
00245 Override = 6,
00246 TopMenu = 7,
00247 Tool = Toolbar
00248 };
00249
00274 enum State {
00275 Modal = 1<<0,
00276 Sticky = 1<<1,
00277 MaxVert = 1<<2,
00278 MaxHoriz = 1<<3,
00279 Max = MaxVert | MaxHoriz,
00280 Shaded = 1<<4,
00281 SkipTaskbar = 1<<5,
00282 StaysOnTop = 1<<6,
00283 SkipPager = 1<<7
00284 };
00285
00303 enum Direction {
00304 TopLeft = 0,
00305 Top = 1,
00306 TopRight = 2,
00307 Right = 3,
00308 BottomRight = 4,
00309 Bottom = 5,
00310 BottomLeft = 6,
00311 Left = 7,
00312 Move = 8
00313 };
00314
00327 enum MappingState {
00328 Visible,
00329 Withdrawn,
00330 Iconic
00331 };
00332
00377 enum Property {
00378
00379 Supported = 1<<0,
00380 ClientList = 1<<1,
00381 ClientListStacking = 1<<2,
00382 NumberOfDesktops = 1<<3,
00383 DesktopGeometry = 1<<4,
00384 DesktopViewport = 1<<5,
00385 CurrentDesktop = 1<<6,
00386 DesktopNames = 1<<7,
00387 ActiveWindow = 1<<8,
00388 WorkArea = 1<<9,
00389 SupportingWMCheck = 1<<10,
00390 VirtualRoots = 1<<11,
00391 KDESystemTrayWindows = 1<<12,
00392 CloseWindow = 1<<13,
00393 WMMoveResize = 1<<14,
00394
00395
00396 WMName = 1<<15,
00397 WMVisibleName = 1<<16,
00398 WMDesktop = 1<<17,
00399 WMWindowType = 1<<18,
00400 WMState = 1<<19,
00401 WMStrut = 1<<20,
00402 WMIconGeometry = 1<<21,
00403 WMIcon = 1<<22,
00404 WMPid = 1<<23,
00405 WMHandledIcons = 1<<24,
00406 WMPing = 1<<25,
00407 WMKDESystemTrayWinFor = 1<<26,
00408 XAWMState = 1<<27,
00409 WMKDEFrameStrut = 1<<28,
00410
00411
00412 WMIconName = 1<<29,
00413 WMVisibleIconName = 1<<30,
00414 WMGeometry = 1<<31
00415 };
00416 };
00417
00418
00419 #endif // __netwm_def_h