commit 3a5d2f3ed8e539209c2e07a995532c91b20faf8f
parent cfe0f2d84ec576c3963ecdebe3e38f1006299f42
Author: Christoph Lohmann <20h@r-36.net>
Date: Sun, 9 Oct 2011 17:59:03 +0200
Fixing the geometry parsing.
Diffstat:
svkbd.c | | | 25 | ++++++++++++++----------- |
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/svkbd.c b/svkbd.c
@@ -449,24 +449,27 @@ setup(void) {
initfont(font);
/* init atoms */
- netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
- if(isdock)
+ if(isdock) {
+ netatom[NetWMWindowType] = XInternAtom(dpy,
+ "_NET_WM_WINDOW_TYPE", False);
atype = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False);
+ }
/* init appearance */
countrows();
if(!ww)
- ww = sw - wx;
+ ww = sw;
if(ww < 0)
ww = sw + ww + 1;
- if(!wx)
- wx = 0;
- if(wx < 0)
- wx = sw + wx;
if(!wh)
wh = sh * rows / 32;
if(wh < 0)
wh = sh + wh + 1;
+
+ if(!wx)
+ wx = 0;
+ if(wx < 0)
+ wx = sw + wx - ww;
if(!wy)
wy = sh - wh;
if(wy < 0)
@@ -592,10 +595,10 @@ main(int argc, char *argv[]) {
ww = (int)wr;
if(bitm & HeightValue)
wh = (int)hr;
- if(bitm & XNegative)
- wx *= -1;
- if(bitm & YNegative)
- wy *= -1;
+ if(bitm & XNegative && wx == 0)
+ wx = -1;
+ if(bitm & YNegative && wy == 0)
+ wy = -1;
} else if(!strcmp(argv[i], "-h")) {
usage(argv[0]);
}