Introduction
Introduction Statistics Contact Development Disclaimer Help
treverting to old resize policy - dwm - [fork] customized build of dwm, the dyn…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 57871415c16664cce494b68dd3e985bcb32942c5
parent 52021851d1fd78970dfe63380d51b87f57d1ee1b
Author: [email protected] <unknown>
Date: Wed, 2 Aug 2006 10:48:58 +0200
reverting to old resize policy
Diffstat:
M client.c | 30 +++++++++++++++++++-----------
M event.c | 23 +++++++++++++----------
2 files changed, 32 insertions(+), 21 deletions(-)
---
diff --git a/client.c b/client.c
t@@ -271,7 +271,7 @@ resize(Client *c, Bool sizehints, Corner sticky)
{
int bottom = c->y + c->h;
int right = c->x + c->w;
- XWindowChanges wc;
+ XConfigureEvent e;
if(sizehints) {
if(c->incw)
t@@ -287,22 +287,30 @@ resize(Client *c, Bool sizehints, Corner sticky)
if(c->maxh && c->h > c->maxh)
c->h = c->maxh;
}
+ if(c->x > sw) /* might happen on restart */
+ c->x = sw - c->w;
+ if(c->y > sh)
+ c->y = sh - c->h;
if(sticky == TopRight || sticky == BotRight)
c->x = right - c->w;
if(sticky == BotLeft || sticky == BotRight)
c->y = bottom - c->h;
resizetitle(c);
-
- if(c->tags[tsel])
- wc.x = c->x;
- else
- wc.x = c->x + 2 * sw;
- wc.y = c->y;
- wc.width = c->w;
- wc.height = c->h;
- wc.border_width = 1;
- XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, …
+ XSetWindowBorderWidth(dpy, c->win, 1);
+ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
+
+ e.type = ConfigureNotify;
+ e.event = c->win;
+ e.window = c->win;
+ e.x = c->x;
+ e.y = c->y;
+ e.width = c->w;
+ e.height = c->h;
+ e.border_width = c->border;
+ e.above = None;
+ e.override_redirect = False;
+ XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e);
XSync(dpy, False);
}
diff --git a/event.c b/event.c
t@@ -153,6 +153,7 @@ configurerequest(XEvent *e)
XConfigureRequestEvent *ev = &e->xconfigurerequest;
XWindowChanges wc;
+ ev->value_mask &= ~CWSibling;
if((c = getclient(ev->window))) {
gravitate(c, True);
if(ev->value_mask & CWX)
t@@ -168,16 +169,18 @@ configurerequest(XEvent *e)
gravitate(c, False);
resize(c, True, TopLeft);
}
- else {
- wc.x = ev->x;
- wc.y = ev->y;
- wc.width = ev->width;
- wc.height = ev->height;
- wc.border_width = 1;
- XConfigureWindow(dpy, ev->window,
- CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
- XSync(dpy, False);
- }
+
+ wc.x = ev->x;
+ wc.y = ev->y;
+ wc.width = ev->width;
+ wc.height = ev->height;
+ wc.border_width = 1;
+ wc.sibling = None;
+ wc.stack_mode = Above;
+ ev->value_mask &= ~CWStackMode;
+ ev->value_mask |= CWBorderWidth;
+ XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
+ XSync(dpy, False);
}
static void
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.