| treversed Andreas Amann's fullscreen fix with the approach proposed by Gary Lan… | |
| git clone git://src.adamsgaard.dk/dwm | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 820cbb3545e60e4d2bad120fb6e691c80058a98c | |
| parent 90f3238301c85ffad459cb871d70ebea569ecbb3 | |
| Author: [email protected] <unknown> | |
| Date: Sat, 23 Jun 2012 09:06:00 +0200 | |
| reversed Andreas Amann's fullscreen fix with the approach proposed by Gary Lang… | |
| - idea is not supporting movemouse/resizemouse/togglefloating for fullscreen wi… | |
| - as fullscreen windows are broken anyways, they should only be adjusted by the… | |
| Diffstat: | |
| M dwm.c | 21 ++++++++++----------- | |
| 1 file changed, 10 insertions(+), 11 deletions(-) | |
| --- | |
| diff --git a/dwm.c b/dwm.c | |
| t@@ -575,8 +575,9 @@ configurenotify(XEvent *e) { | |
| XConfigureEvent *ev = &e->xconfigure; | |
| Bool dirty; | |
| + // TODO: updategeom handling sucks, needs to be simplified | |
| if(ev->window == root) { | |
| - dirty = (sw != ev->width); | |
| + dirty = (sw != ev->width || sh != ev->height); | |
| sw = ev->width; | |
| sh = ev->height; | |
| if(updategeom() || dirty) { | |
| t@@ -1235,6 +1236,8 @@ movemouse(const Arg *arg) { | |
| if(!(c = selmon->sel)) | |
| return; | |
| + if(c->isfullscreen) /* no support moving fullscreen windows by mouse */ | |
| + return; | |
| restack(selmon); | |
| ocx = c->x; | |
| ocy = c->y; | |
| t@@ -1268,11 +1271,8 @@ movemouse(const Arg *arg) { | |
| && (abs(nx - c->x) > snap || abs(ny - c->y) > … | |
| togglefloating(NULL); | |
| } | |
| - if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| - if(c->isfullscreen) | |
| - setfullscreen(c, False); | |
| + if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| resize(c, nx, ny, c->w, c->h, True); | |
| - } | |
| break; | |
| } | |
| } while(ev.type != ButtonRelease); | |
| t@@ -1382,6 +1382,8 @@ resizemouse(const Arg *arg) { | |
| if(!(c = selmon->sel)) | |
| return; | |
| + if(c->isfullscreen) /* no support resizing fullscreen windows by mouse… | |
| + return; | |
| restack(selmon); | |
| ocx = c->x; | |
| ocy = c->y; | |
| t@@ -1407,11 +1409,8 @@ resizemouse(const Arg *arg) { | |
| && (abs(nw - c->w) > snap || abs(nh - c->h) > … | |
| togglefloating(NULL); | |
| } | |
| - if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| - if(c->isfullscreen) | |
| - setfullscreen(c, False); | |
| + if(!selmon->lt[selmon->sellt]->arrange || c->isfloatin… | |
| resize(c, c->x, c->y, nw, nh, True); | |
| - } | |
| break; | |
| } | |
| } while(ev.type != ButtonRelease); | |
| t@@ -1759,12 +1758,12 @@ void | |
| togglefloating(const Arg *arg) { | |
| if(!selmon->sel) | |
| return; | |
| + if(selmon->sel->isfullscreen) /* no support for fullscreen windows */ | |
| + return; | |
| selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isf… | |
| if(selmon->sel->isfloating) | |
| resize(selmon->sel, selmon->sel->x, selmon->sel->y, | |
| selmon->sel->w, selmon->sel->h, False); | |
| - else if(selmon->sel->isfullscreen) | |
| - setfullscreen(selmon->sel, False); | |
| arrange(selmon); | |
| } | |