From 3ed782435326ed8ecb917305721b1b297c607531 Mon Sep 17 00:00:00 2001 From: moetunes Date: Mon, 24 Oct 2011 06:32:35 +1000 Subject: Fix for some apps not returning keyboard control --- src/dminiwm.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/dminiwm.c b/src/dminiwm.c index 0c6dd24..e23cd2c 100644 --- a/src/dminiwm.c +++ b/src/dminiwm.c @@ -696,6 +696,16 @@ void configurerequest(XEvent *e) { void maprequest(XEvent *e) { XMapRequestEvent *ev = &e->xmaprequest; + // For fullscreen mplayer (and maybe some other program) + client *c; + + for(c=head;c;c=c->next) + if(ev->window == c->win) { + XMapWindow(dis,ev->window); + XMoveResizeWindow(dis,c->win,-BORDER_WIDTH,-BORDER_WIDTH,sw+BORDER_WIDTH,sh+BORDER_WIDTH); + return; + } + unsigned long count, j, extra; Atom realType; int realFormat; @@ -707,10 +717,10 @@ void maprequest(XEvent *e) { type = (unsigned long*)temp; for(j=0; jwindow); XMapWindow(dis, ev->window); XSetInputFocus(dis,ev->window,RevertToParent,CurrentTime); @@ -723,16 +733,6 @@ void maprequest(XEvent *e) { XFree(temp); } - // For fullscreen mplayer (and maybe some other program) - client *c; - - for(c=head;c;c=c->next) - if(ev->window == c->win) { - XMapWindow(dis,ev->window); - XMoveResizeWindow(dis,c->win,-BORDER_WIDTH,-BORDER_WIDTH,sw+BORDER_WIDTH,sh+BORDER_WIDTH); - return; - } - XClassHint ch = {0}; static unsigned int len = sizeof convenience / sizeof convenience[0]; int i = 0; @@ -783,6 +783,7 @@ void destroynotify(XEvent *e) { if(i != 0) { remove_window(ev->window); + grabkeys(); select_desktop(tmp); return; } -- cgit v1.3.1