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 FullScreen = 1<<9
00286 };
00287
00305 enum Direction {
00306 TopLeft = 0,
00307 Top = 1,
00308 TopRight = 2,
00309 Right = 3,
00310 BottomRight = 4,
00311 Bottom = 5,
00312 BottomLeft = 6,
00313 Left = 7,
00314 Move = 8
00315 };
00316
00329 enum MappingState {
00330 Visible,
00331 Withdrawn,
00332 Iconic
00333 };
00334
00379 enum Property {
00380
00381 Supported = 1<<0,
00382 ClientList = 1<<1,
00383 ClientListStacking = 1<<2,
00384 NumberOfDesktops = 1<<3,
00385 DesktopGeometry = 1<<4,
00386 DesktopViewport = 1<<5,
00387 CurrentDesktop = 1<<6,
00388 DesktopNames = 1<<7,
00389 ActiveWindow = 1<<8,
00390 WorkArea = 1<<9,
00391 SupportingWMCheck = 1<<10,
00392 VirtualRoots = 1<<11,
00393 KDESystemTrayWindows = 1<<12,
00394 CloseWindow = 1<<13,
00395 WMMoveResize = 1<<14,
00396
00397
00398 WMName = 1<<15,
00399 WMVisibleName = 1<<16,
00400 WMDesktop = 1<<17,
00401 WMWindowType = 1<<18,
00402 WMState = 1<<19,
00403 WMStrut = 1<<20,
00404 WMIconGeometry = 1<<21,
00405 WMIcon = 1<<22,
00406 WMPid = 1<<23,
00407 WMHandledIcons = 1<<24,
00408 WMPing = 1<<25,
00409 WMKDESystemTrayWinFor = 1<<26,
00410 XAWMState = 1<<27,
00411 WMKDEFrameStrut = 1<<28,
00412
00413
00414 WMIconName = 1<<29,
00415 WMVisibleIconName = 1<<30,
00416 WMGeometry = 1<<31
00417 };
00418 };
00419
00420
00421 #endif // __netwm_def_h