typo fix, removing hover.

master
Enno Boland (tox) 15 years ago
parent 6436823105
commit d002c1dd3a
  1. 38
      svkbd.c

@ -28,7 +28,6 @@ typedef unsigned long ulong;
typedef struct {
ulong norm[ColLast];
ulong press[ColLast];
ulong hover[ColLast];
Drawable drawable;
GC gc;
struct {
@ -67,7 +66,6 @@ static Key *findkey(int x, int y);
static ulong getcolor(const char *colstr);
static void initfont(const char *fontstr);
static void leavenotify(XEvent *e);
static void motionnotify(XEvent *e);
static void press(Key *k, KeySym mod);
static void run(void);
static void setup(void);
@ -85,13 +83,11 @@ static void (*handler[LASTEvent]) (XEvent *) = {
[UnmapNotify] = unmapnotify,
[Expose] = expose,
[LeaveNotify] = leavenotify,
[MotionNotify] = motionnotify,
};
static Display *dpy;
static DC dc;
static Window root, win;
static Bool running = True;
static Key *hover = NULL;
static KeySym pressedmod = 0;
/* configuration, allows nested code to access above variables */
#include "config.h"
@ -177,8 +173,6 @@ drawkey(Key *k) {
if(k->pressed)
col = dc.press;
else if(hover == k)
col = dc.hover;
else
col = dc.norm;
XSetForeground(dpy, dc.gc, col[ColBG]);
@ -278,30 +272,7 @@ initfont(const char *fontstr) {
void
leavenotify(XEvent *e) {
Key *oh = hover;
unpress(NULL);
if(!hover)
return;
hover = NULL;
drawkey(oh);
}
void
motionnotify(XEvent *e) {
XMotionEvent *ev = &e->xmotion;
Key *h = findkey(ev->x, ev->y), *oh;
if(h != hover) {
oh = hover;;
hover = h;
if(oh) {
drawkey(oh);
}
if(hover) {
drawkey(hover);
}
}
}
void
@ -353,8 +324,6 @@ setup(void) {
dc.norm[ColFG] = getcolor(normfgcolor);
dc.press[ColBG] = getcolor(pressbgcolor);
dc.press[ColFG] = getcolor(pressfgcolor);
dc.hover[ColBG] = getcolor(hovbgcolor);
dc.hover[ColFG] = getcolor(hovfgcolor);
dc.drawable = XCreatePixmap(dpy, root, ww, wh, DefaultDepth(dpy, screen));
dc.gc = XCreateGC(dpy, root, 0, 0);
if(!dc.font.set)
@ -363,9 +332,8 @@ setup(void) {
keys[i].pressed = 0;
win = XCreateSimpleWindow(dpy, root, wx, wy, ww, wh, 0, dc.norm[ColFG], dc.norm[ColBG]);
XSelectInput(dpy, win, StructureNotifyMask|PointerMotionMask|
ButtonReleaseMask|ButtonPressMask|ExposureMask|
LeaveWindowMask);
XSelectInput(dpy, win, StructureNotifyMask|ButtonReleaseMask|
ButtonPressMask|ExposureMask|LeaveWindowMask);
wmh = XAllocWMHints();
wmh->input = False;
wmh->flags = InputHint;
@ -443,7 +411,7 @@ updatekeys() {
int
main(int argc, char *argv[]) {
if(argc == 2 && !strcmp("-v", argv[1]))
die("svkc-"VERSION", © 2006-2008 svkbd engineers, see LICENSE for details\n");
die("svkbd-"VERSION", © 2006-2010 svkbd engineers, see LICENSE for details\n");
else if(argc != 1)
die("usage: svkbd [-v]\n");
if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())

Loading…
Cancel
Save