1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 21:08:08 +01:00

Added support for client message to set window levels and added partial

support for client message to set window titlebar decoration.
This commit is contained in:
richard
2000-03-02 07:36:02 +00:00
parent f7fe1b2e94
commit 0af2448349
4 changed files with 40 additions and 0 deletions

View File

@@ -85,7 +85,9 @@ extern Atom _XA_WM_COLORMAP_NOTIFY;
extern Atom _XA_WM_CHANGE_STATE;
extern Atom _XA_WM_DELETE_WINDOW;
extern Atom _XA_GNUSTEP_WM_ATTR;
extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
extern Atom _XA_GNUSTEP_TITLEBAR_STATE;
extern Atom _XA_WINDOWMAKER_WM_FUNCTION;
extern Atom _XA_WINDOWMAKER_COMMAND;
@@ -888,6 +890,33 @@ handleClientMessage(XEvent *event)
}
}
}
} else if (event->xclient.message_type == _XA_GNUSTEP_WM_ATTR) {
wwin = wWindowFor(event->xclient.window);
if (!wwin) return;
switch (event->xclient.data.l[0]) {
case GSWindowLevelAttr:
{
int level = (int)event->xclient.data.l[0];
if (WINDOW_LEVEL(wwin) != level) {
ChangeStackingLevel(wwin->frame->core, level);
}
}
break;
}
} else if (event->xclient.message_type == _XA_GNUSTEP_TITLEBAR_STATE) {
wwin = wWindowFor(event->xclient.window);
if (!wwin) return;
switch (event->xclient.data.l[0]) {
case WMTitleBarNormal:
wFrameWindowChangeState(wwin->frame, WS_UNFOCUSED);
break;
case WMTitleBarMain:
wFrameWindowChangeState(wwin->frame, WS_PFOCUSED);
break;
case WMTitleBarKey:
wFrameWindowChangeState(wwin->frame, WS_FOCUSED);
break;
}
#ifdef GNOME_STUFF
} else if (wGNOMEProcessClientMessage(&event->xclient)) {
/* do nothing */