tmerging christophs "Fixing border and sizes now for real."-patch - svkbd - Simple X11 onscreen keyboard.
 (HTM) git clone git://r-36.net/svkbd
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 6f0e75ccc00c28ea26b4657b845ceb31e7f04bbe
 (DIR) parent 7223d564281e401478a591c217b22a6accf84125
 (HTM) Author: Enno Boland (Gottox) <tox@s01.de>
       Date:   Sun, 10 Apr 2011 13:36:41 +0200
       
       merging christophs "Fixing border and sizes now for real."-patch
       Diffstat:
         svkbd.c                             |      16 ++++++++--------
       
       1 file changed, 8 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/svkbd.c b/svkbd.c
       t@@ -340,8 +340,8 @@ setup(void) {
                /* init screen */
                screen = DefaultScreen(dpy);
                root = RootWindow(dpy, screen);
       -        sw = DisplayWidth(dpy, screen) - 1;
       -        sh = DisplayHeight(dpy, screen) - 1;
       +        sw = DisplayWidth(dpy, screen);
       +        sh = DisplayHeight(dpy, screen);
                initfont(font);
        
                /* init atoms */
       t@@ -356,7 +356,7 @@ setup(void) {
                if(!ww)
                        ww = sw - wx;
                if(ww < 0)
       -                ww = sw + ww;
       +                ww = sw + ww + 1;
                if(!wx)
                        wx = 0;
                if(wx < 0)
       t@@ -364,7 +364,7 @@ setup(void) {
                if(!wh)
                        wh = sh * rows / 32;
                if(wh < 0)
       -                wh = sh + wh;
       +                wh = sh + wh + 1;
                if(!wy)
                        wy = sh - wh;
                if(wy < 0)
       t@@ -454,22 +454,22 @@ updatekeys() {
                int i, j;
                int x = 0, y = 0, h, base, r = 0;
        
       -        h = wh / rows;
       +        h = (wh - 1) / rows;
                for(i = 0; i < LENGTH(keys); i++) {
                        for(j = i, base = 0; j < LENGTH(keys) && keys[j].keysym != 0; j++)
                                base += keys[j].width;
                        for(x = 0; i < LENGTH(keys) && keys[i].keysym != 0; i++, r++) {
                                keys[i].x = x;
                                keys[i].y = y;
       -                        keys[i].w = keys[i].width * ww / base;
       +                        keys[i].w = keys[i].width * (ww - 1) / base;
                                if(rows == r - 1)
       -                                keys[i].h = wh - y;
       +                                keys[i].h = wh - 1 - y;
                                else
                                        keys[i].h = h;
                                x += keys[i].w;
                        }
                        if(base != 0)
       -                        keys[i - 1].w = ww - keys[i - 1].x;
       +                        keys[i - 1].w = ww - 1 - keys[i - 1].x;
                        y += h;
                }
        }