Introduction
Introduction Statistics Contact Development Disclaimer Help
increase spacing, set scheme for window, make window render faster by removing …
git clone git://git.suckless.org/svkbd
Log
Files
Refs
README
LICENSE
---
commit a5cb7d53ce7beaf02acfe4635a83aa801cd4f8c3
parent 2a84ae50f91099ef2575e5c328fba774af26001f
Author: Maarten van Gompel <[email protected]>
Date: Sun, 13 Jun 2021 22:28:00 +0200
increase spacing, set scheme for window, make window render faster by removing …
Diffstat:
M config.def.h | 5 +++--
M svkbd.c | 35 ++++++++++++++++++-----------…
2 files changed, 23 insertions(+), 17 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -4,8 +4,8 @@ static double overlay_delay = 1.0; //in seconds
static double repeat_delay = 0.75; //in seconds, will not work on keys with ov…
static int scan_rate = 50; //scan rate in microseconds, affects key repetition…
static int heightfactor = 14; //one row of keys takes up 1/x of the screen hei…
-static int xspacing = 3;
-static int yspacing = 3;
+static int xspacing = 5;
+static int yspacing = 5;
static const char *defaultfonts[] = {
"DejaVu Sans:bold:size=22"
};
@@ -21,5 +21,6 @@ static const char *defaultcolors[SchemeLast][2] = {
[SchemeHighlightShift] = { "#008ac0", "#005577" },
[SchemeOverlay] = { "#ffffff", "#2b3313" },
[SchemeOverlayShift] = { "#008ac0", "#2b3313" },
+ [SchemeWindow] = { "#bbbbbb", "#132a33" },
};
diff --git a/svkbd.c b/svkbd.c
@@ -38,7 +38,7 @@
enum {
SchemeNorm, SchemeNormABC, SchemeNormABCShift, SchemeNormShift, Scheme…
SchemePressShift, SchemeHighlight, SchemeHighlightShift, SchemeOverlay,
- SchemeOverlayShift, SchemeLast
+ SchemeOverlayShift, SchemeWindow, SchemeLast
};
enum { NetWMWindowType, NetLast };
@@ -70,7 +70,7 @@ static void configurenotify(XEvent *e);
static void countrows();
static int countkeys(Key *layer);
static void drawkeyboard(void);
-static void drawkey(Key *k);
+static void drawkey(Key *k, Bool map);
static void expose(XEvent *e);
static Key *findkey(int x, int y);
static void leavenotify(XEvent *e);
@@ -121,7 +121,7 @@ static int debug = 0;
static int numlayers = 0;
static int numkeys = 0;
-static char *colors[10][2]; /* 10 schemes, 2 colors each */
+static char *colors[11][2]; /* 11 schemes, 2 colors each */
static char *fonts[] = { 0 };
static KeySym ispressingkeysym;
@@ -158,12 +158,12 @@ motionnotify(XEvent *e)
} else {
keys[i].highlighted = True;
}
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
}
continue;
} else if (keys[i].highlighted == True) {
keys[i].highlighted = False;
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
}
}
@@ -173,7 +173,7 @@ motionnotify(XEvent *e)
lostfocus = i;
ispressingkeysym = 0;
keys[i].pressed = 0;
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
}
}
@@ -309,18 +309,17 @@ drawkeyboard(void)
int i;
int row = 0;
- drw_setscheme(drw, scheme[SchemeNorm]);
+ drw_setscheme(drw, scheme[SchemeWindow]);
drw_rect(drw, 0, 0, ww, wh, 1, 1);
- drw_map(drw, win, 0, 0, ww, wh);
for (i = 0; i < numkeys; i++) {
if (keys[i].keysym != 0)
- drawkey(&keys[i]);
+ drawkey(&keys[i], False);
}
drw_map(drw, win, 0, 0, ww, wh);
}
void
-drawkey(Key *k)
+drawkey(Key *k, Bool map)
{
int x, y, w, h;
const char *l;
@@ -377,7 +376,8 @@ drawkey(Key *k)
w = TEXTW(l);
drw_text(drw, x, y, w, h, 0, l, 0);
}
- drw_map(drw, win, k->x, k->y, k->w, k->h);
+ if (map)
+ drw_map(drw, win, k->x, k->y, k->w, k->h);
}
void
@@ -475,7 +475,7 @@ press(Key *k, KeySym buttonmod)
}
}
}
- drawkey(k);
+ drawkey(k, True);
}
int
@@ -625,7 +625,7 @@ unpress(Key *k, KeySym buttonmod)
if (printoutput)
printkey(&keys[i], buttonmod);
keys[i].pressed = 0;
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
}
}
@@ -639,7 +639,7 @@ unpress(Key *k, KeySym buttonmod)
if (!(keys[i].keysym == buttonmod && neutraliz…
simulate_keyrelease(keys[i].keysym);
keys[i].pressed = 0;
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
}
}
}
@@ -786,6 +786,11 @@ readxresources(void)
if (XrmGetResource(xdb, "svkbd.overlayshiftforeground", "*", &…
colors[SchemeOverlayShift][ColFg] = estrdup(xval.addr);
+ if (XrmGetResource(xdb, "svkbd.windowbackground", "*", &type, …
+ colors[SchemeWindow][ColBg] = estrdup(xval.addr);
+ if (XrmGetResource(xdb, "svkbd.windowforeground", "*", &type, …
+ colors[SchemeWindow][ColFg] = estrdup(xval.addr);
+
XrmDestroyDatabase(xdb);
}
}
@@ -1037,7 +1042,7 @@ showoverlay(int idx)
for (i = 0; i < numkeys; i++) {
if (keys[i].pressed && !IsModifierKey(keys[i].keysym)) {
keys[i].pressed = 0;
- drawkey(&keys[i]);
+ drawkey(&keys[i], True);
break;
}
}
You are viewing proxied material from suckless.org. 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.