X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=tests%2Ffocusout.c;h=1cc7259d09c255a266a9ab5ec9b006326077aa08;hb=5e9e266722826fbd5907df1bf900864ab23f6539;hp=1f31a8aa9084ea930a9a01c792c2226ee5659546;hpb=4a45cabd4fb99ac787a3f84f89541e1c76e578b4;p=chaz%2Fopenbox diff --git a/tests/focusout.c b/tests/focusout.c index 1f31a8aa..1cc7259d 100644 --- a/tests/focusout.c +++ b/tests/focusout.c @@ -47,7 +47,8 @@ int main () { XSetWindowBackground(display,win,WhitePixel(display,0)); XSetWindowBackground(display,child,BlackPixel(display,0)); - XSelectInput(display, win, FocusChangeMask); + XSelectInput(display, win, + FocusChangeMask|EnterWindowMask|LeaveWindowMask); XMapWindow(display, win); XMapWindow(display, child); @@ -157,8 +158,62 @@ int main () { printf("mode : %s\n", mode); printf("detail : %s\n", detail); printf("---\n"); - } + break; + case EnterNotify: + switch (report.xcrossing.mode) { + case NotifyNormal: mode = "NotifyNormal"; break; + case NotifyGrab: mode = "NotifyGrab"; break; + case NotifyUngrab: mode = "NotifyUngrab"; break; + } + + switch (report.xcrossing.detail) { + case NotifyAncestor: detail = "NotifyAncestor"; break; + case NotifyVirtual: detail = "NotifyVirtual"; break; + case NotifyInferior: detail = "NotifyInferior"; break; + case NotifyNonlinear: detail = "NotifyNonlinear"; break; + case NotifyNonlinearVirtual: detail = "NotifyNonlinearVirtual"; break; + case NotifyPointer: detail = "NotifyPointer"; break; + case NotifyPointerRoot: detail = "NotifyPointerRoot"; break; + case NotifyDetailNone: detail = "NotifyDetailNone"; break; + } + printf("enternotify\n"); + printf("type : %d\n", report.xcrossing.type); + printf("serial : %d\n", report.xcrossing.serial); + printf("send_event: %d\n", report.xcrossing.send_event); + printf("display : 0x%x\n", report.xcrossing.display); + printf("window : 0x%x\n", report.xcrossing.window); + printf("mode : %s\n", mode); + printf("detail : %s\n", detail); + printf("---\n"); + break; + case LeaveNotify: + switch (report.xcrossing.mode) { + case NotifyNormal: mode = "NotifyNormal"; break; + case NotifyGrab: mode = "NotifyGrab"; break; + case NotifyUngrab: mode = "NotifyUngrab"; break; + } + switch (report.xcrossing.detail) { + case NotifyAncestor: detail = "NotifyAncestor"; break; + case NotifyVirtual: detail = "NotifyVirtual"; break; + case NotifyInferior: detail = "NotifyInferior"; break; + case NotifyNonlinear: detail = "NotifyNonlinear"; break; + case NotifyNonlinearVirtual: detail = "NotifyNonlinearVirtual"; break; + case NotifyPointer: detail = "NotifyPointer"; break; + case NotifyPointerRoot: detail = "NotifyPointerRoot"; break; + case NotifyDetailNone: detail = "NotifyDetailNone"; break; + } + printf("leavenotify\n"); + printf("type : %d\n", report.xcrossing.type); + printf("serial : %d\n", report.xcrossing.serial); + printf("send_event: %d\n", report.xcrossing.send_event); + printf("display : 0x%x\n", report.xcrossing.display); + printf("window : 0x%x\n", report.xcrossing.window); + printf("mode : %s\n", mode); + printf("detail : %s\n", detail); + printf("---\n"); + break; + } } return 1;