From 92bc846ce16fe5fb63c2b4b38a780489e2979b11 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 3 Feb 2003 10:37:16 +0000 Subject: add some tests --- tests/modal2.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/modal2.c (limited to 'tests/modal2.c') diff --git a/tests/modal2.c b/tests/modal2.c new file mode 100644 index 00000000..52c1b85f --- /dev/null +++ b/tests/modal2.c @@ -0,0 +1,56 @@ +#include +#include +#include +#include + +int main () { + Display *display; + Window parent, child; + XEvent report; + Atom state, modal; + int x=10,y=10,h=400,w=400; + XEvent ce; + + display = XOpenDisplay(NULL); + + if (display == NULL) { + fprintf(stderr, "couldn't connect to X server :0\n"); + return 0; + } + + state = XInternAtom(display, "_NET_WM_STATE", True); + modal = XInternAtom(display, "_NET_WM_STATE_MODAL", True); + + parent = XCreateWindow(display, RootWindow(display, 0), + x, y, w, h, 10, CopyFromParent, CopyFromParent, + CopyFromParent, 0, 0); + child = XCreateWindow(display, RootWindow(display, 0), + x, y, w/2, h/2, 10, CopyFromParent, CopyFromParent, + CopyFromParent, 0, 0); + + XSetWindowBackground(display,parent,WhitePixel(display,0)); + XSetWindowBackground(display,child,BlackPixel(display,0)); + + XSetTransientForHint(display, child, parent); + + XMapWindow(display, parent); + XMapWindow(display, child); + XFlush(display); + + ce.xclient.type = ClientMessage; + ce.xclient.message_type = state; + ce.xclient.display = display; + ce.xclient.window = child; + ce.xclient.format = 32; + ce.xclient.data.l[0] = 1; + ce.xclient.data.l[1] = modal; + ce.xclient.data.l[2] = 0; + XSendEvent(display, RootWindow(display, DefaultScreen(display)), + False, SubstructureNotifyMask | SubstructureRedirectMask, &ce); + + while (1) { + XNextEvent(display, &report); + } + + return 1; +} -- cgit v1.2.3