tAdding a way for configuring the position and size. - svkbd - Simple X11 onscreen keyboard.
 (HTM) git clone git://r-36.net/svkbd
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit c1e26829155248eb68e09ca6f8e7d5ff2585d1ad
 (DIR) parent 13f7f8ffb273df1dfb6884ebd8642312733ccc51
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Thu, 24 Mar 2011 18:14:07 +0100
       
       Adding a way for configuring the position and size.
       Diffstat:
         svkbd.c                             |      21 +++++++++++++++------
       
       1 file changed, 15 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/svkbd.c b/svkbd.c
       t@@ -75,7 +75,6 @@ static void updatekeys();
        
        /* variables */
        static int screen;
       -static int wx, wy, ww, wh;
        static void (*handler[LASTEvent]) (XEvent *) = {
                [ButtonPress] = buttonpress,
                [ButtonRelease] = buttonrelease,
       t@@ -211,7 +210,7 @@ expose(XEvent *e) {
        Key *
        findkey(int x, int y) {
                int i;
       -        
       +
                for(i = 0; i < LENGTH(keys); i++)
                        if(keys[i].keysym && x > keys[i].x &&
                                        x < keys[i].x + keys[i].w &&
       t@@ -317,10 +316,20 @@ setup(void) {
                initfont(font);
        
                /* init appearance */
       -        ww = DisplayWidth(dpy, screen);
       -        wh = 200;
       -        wx = 0;
       -        wy = DisplayHeight(dpy, screen) - wh;
       +        if (!ww)
       +                ww = DisplayWidth(dpy, screen);
       +        if (ww < 0)
       +                ww = DisplayWidth(dpy, screen) / (ww * -1);
       +
       +        if (wh < 0)
       +                wh = DisplayHeight(dpy, screen) / (wh * -1); 
       +
       +        if (wy < 0)
       +                wy = DisplayHeight(dpy, screen) + wy;
       +
       +        if (wx < 0)
       +                wx = DisplayWidth(dpy, screen) + wx;
       +
                dc.norm[ColBG] = getcolor(normbgcolor);
                dc.norm[ColFG] = getcolor(normfgcolor);
                dc.press[ColBG] = getcolor(pressbgcolor);