netwm_def.h
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
00026
#ifndef __netwm_def_h
00027
#define __netwm_def_h
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
00151 struct NETExtendedStrut {
00155 NETExtendedStrut() :
left_width(0),
left_start(0),
left_end(0),
00156
right_width(0),
right_start(0),
right_end(0),
top_width(0),
top_start(0),
top_end(0),
00157
bottom_width(0),
bottom_start(0),
bottom_end(0) {}
00158
00162 int left_width,
left_start,
left_end;
00163
00167 int right_width,
right_start,
right_end;
00168
00172 int top_width,
top_start,
top_end;
00173
00177 int bottom_width,
bottom_start,
bottom_end;
00178
00179 };
00180
00181
00193 struct NETStrut {
00197 NETStrut() :
left(0),
right(0),
top(0),
bottom(0) { }
00198
00202 int left;
00203
00207 int right;
00208
00212 int top;
00213
00217 int bottom;
00218 };
00219
00220
00233 class NET {
00234
public:
00245 enum Role {
00246 Client,
00247 WindowManager
00248 };
00249
00280 enum WindowType {
00281 Unknown = -1,
00282 Normal = 0,
00283 Desktop = 1,
00284 Dock = 2,
00285 Toolbar = 3,
00286 Menu = 4,
00287 Dialog = 5,
00288 Override = 6,
00289 TopMenu = 7,
00290 Tool = Toolbar,
00291
Utility = 8,
00292
Splash = 9
00293 };
00294
00300 enum WindowTypeMask {
00301 NormalMask = 1<<0,
00302 DesktopMask = 1<<1,
00303 DockMask = 1<<2,
00304 ToolbarMask = 1<<3,
00305 MenuMask = 1<<4,
00306 DialogMask = 1<<5,
00307 OverrideMask = 1<<6,
00308 TopMenuMask = 1<<7,
00309 UtilityMask = 1<<8,
00310 SplashMask = 1<<9
00311 };
00312
00313
00314
enum { AllTypesMask = -1LU };
00315
00320
static bool typeMatchesMask( WindowType type,
unsigned long mask );
00321
00363 enum State {
00364 Modal = 1<<0,
00365 Sticky = 1<<1,
00366 MaxVert = 1<<2,
00367 MaxHoriz = 1<<3,
00368 Max = MaxVert | MaxHoriz,
00369 Shaded = 1<<4,
00370 SkipTaskbar = 1<<5,
00371
KeepAbove = 1<<6,
00372 StaysOnTop = KeepAbove,
00373 SkipPager = 1<<7,
00374
Hidden = 1<<8,
00375
FullScreen = 1<<9,
00376
KeepBelow = 1<<10,
00377
DemandsAttention = 1<<11
00378 };
00379
00399 enum Direction {
00400 TopLeft = 0,
00401 Top = 1,
00402 TopRight = 2,
00403 Right = 3,
00404 BottomRight = 4,
00405 Bottom = 5,
00406 BottomLeft = 6,
00407 Left = 7,
00408 Move = 8,
00412
KeyboardSize = 9,
00416
KeyboardMove = 10
00417 };
00418
00433
00434 enum MappingState {
00435 Visible,
00436 Withdrawn,
00437 Iconic
00438 };
00439
00444 enum Action {
00445 ActionMove = 1<<0,
00446 ActionResize = 1<<1,
00447 ActionMinimize = 1<<2,
00448 ActionShade = 1<<3,
00449 ActionStick = 1<<4,
00450 ActionMaxVert = 1<<5,
00451 ActionMaxHoriz = 1<<6,
00452 ActionMax = ActionMaxVert | ActionMaxHoriz,
00453 ActionFullScreen = 1<<7,
00454 ActionChangeDesktop = 1<<8,
00455 ActionClose = 1<<9
00456 };
00457
00504 enum Property {
00505
00506 Supported = 1<<0,
00507 ClientList = 1<<1,
00508 ClientListStacking = 1<<2,
00509 NumberOfDesktops = 1<<3,
00510 DesktopGeometry = 1<<4,
00511 DesktopViewport = 1<<5,
00512 CurrentDesktop = 1<<6,
00513 DesktopNames = 1<<7,
00514 ActiveWindow = 1<<8,
00515 WorkArea = 1<<9,
00516 SupportingWMCheck = 1<<10,
00517 VirtualRoots = 1<<11,
00518 KDESystemTrayWindows = 1<<12,
00519 CloseWindow = 1<<13,
00520 WMMoveResize = 1<<14,
00521
00522
00523 WMName = 1<<15,
00524 WMVisibleName = 1<<16,
00525 WMDesktop = 1<<17,
00526 WMWindowType = 1<<18,
00527 WMState = 1<<19,
00528 WMStrut = 1<<20,
00529 WMIconGeometry = 1<<21,
00530 WMIcon = 1<<22,
00531 WMPid = 1<<23,
00532 WMHandledIcons = 1<<24,
00533 WMPing = 1<<25,
00534 WMKDESystemTrayWinFor = 1<<26,
00535 XAWMState = 1<<27,
00536 WMKDEFrameStrut = 1<<28,
00537
00538
00539 WMIconName = 1<<29,
00540 WMVisibleIconName = 1<<30,
00541 WMGeometry = 1<<31
00542 };
00543
00566 enum Property2 {
00567 WM2UserTime = 1<<0,
00568 WM2StartupId = 1<<1,
00569 WM2TransientFor = 1<<2,
00570 WM2GroupLeader = 1<<3,
00571 WM2AllowedActions = 1<<4,
00572 WM2RestackWindow = 1<<5,
00573 WM2MoveResizeWindow = 1<<6,
00574 WM2ExtendedStrut = 1<<7,
00575 WM2TakeActivity = 1<<8,
00576 WM2KDETemporaryRules = 1<<9,
00577
WM2WindowClass = 1<<10,
00578
WM2WindowRole = 1<<11,
00579
WM2ClientMachine = 1<<12
00580 };
00581
00587
enum { OnAllDesktops = -1 };
00588
00595
00596 enum RequestSource {
00597 FromUnknown,
00598 FromApplication,
00599 FromTool
00600 };
00601 };
00602
00603
00604
#endif // __netwm_def_h
This file is part of the documentation for kdecore Library Version 3.3.1.