disallow zoom on maximized clients
b79b5fac
4 file(s) · +8 −21
| 197 | 197 | } |
|
| 198 | 198 | ||
| 199 | 199 | void |
|
| 200 | - | lower(Client *c) |
|
| 201 | - | { |
|
| 202 | - | XLowerWindow(dpy, c->title); |
|
| 203 | - | XLowerWindow(dpy, c->win); |
|
| 204 | - | } |
|
| 205 | - | ||
| 206 | - | void |
|
| 207 | 200 | manage(Window w, XWindowAttributes *wa) |
|
| 208 | 201 | { |
|
| 209 | 202 | Client *c; |
| 96 | 96 | .B window |
|
| 97 | 97 | while dragging. |
|
| 98 | 98 | .TP |
|
| 99 | - | .B Mod1-Button2 |
|
| 100 | - | Lowers current |
|
| 101 | - | .B window. |
|
| 102 | - | .TP |
|
| 103 | 99 | .B Mod1-Button3 |
|
| 104 | 100 | Resizes current |
|
| 105 | 101 | .B window |
| 91 | 91 | extern void gravitate(Client *c, Bool invert); |
|
| 92 | 92 | extern void higher(Client *c); |
|
| 93 | 93 | extern void killclient(Arg *arg); |
|
| 94 | - | extern void lower(Client *c); |
|
| 95 | 94 | extern void manage(Window w, XWindowAttributes *wa); |
|
| 96 | 95 | extern void resize(Client *c, Bool sizehints, Corner sticky); |
|
| 97 | 96 | extern void setsize(Client *c); |
| 127 | 127 | default: |
|
| 128 | 128 | break; |
|
| 129 | 129 | case Button1: |
|
| 130 | - | if(!c->ismax && (arrange == dofloat || c->isfloat)) { |
|
| 131 | - | higher(c); |
|
| 132 | - | movemouse(c); |
|
| 130 | + | if(!c->ismax) { |
|
| 131 | + | if(arrange == dofloat || c->isfloat) { |
|
| 132 | + | higher(c); |
|
| 133 | + | movemouse(c); |
|
| 134 | + | } |
|
| 135 | + | else |
|
| 136 | + | zoom(NULL); |
|
| 133 | 137 | } |
|
| 134 | - | else |
|
| 135 | - | zoom(NULL); |
|
| 136 | - | break; |
|
| 137 | - | case Button2: |
|
| 138 | - | lower(c); |
|
| 139 | 138 | break; |
|
| 140 | 139 | case Button3: |
|
| 141 | 140 | if(!c->ismax && (arrange == dofloat || c->isfloat)) { |
|
| 225 | 224 | Client *c; |
|
| 226 | 225 | XCrossingEvent *ev = &e->xcrossing; |
|
| 227 | 226 | ||
| 228 | - | if(ev->detail == NotifyInferior) |
|
| 227 | + | if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) |
|
| 229 | 228 | return; |
|
| 230 | 229 | ||
| 231 | 230 | if((c = getclient(ev->window)) || (c = getctitle(ev->window))) |
|