Introduction
Introduction Statistics Contact Development Disclaimer Help
Run XFlush instead of XSync before starting main loop; fixes bug where rending …
git clone git://git.suckless.org/svkbd
Log
Files
Refs
README
LICENSE
---
commit edfd50cdcb093869a94b96c64348bd4e446a5a4b
parent 819f92950e14ca01e097fccfbf47f0039ccf4d90
Author: Miles Alan <[email protected]>
Date: Sun, 2 Aug 2020 15:46:10 +0200
Run XFlush instead of XSync before starting main loop; fixes bug where rending …
Diffstat:
M svkbd.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
---
diff --git a/svkbd.c b/svkbd.c
@@ -258,7 +258,6 @@ drawkeyboard(void) {
if(keys[i].keysym != 0)
drawkey(&keys[i]);
}
- XSync(dpy, False);
}
void
@@ -459,16 +458,24 @@ run(void) {
fd_set fds;
struct timeval tv;
+
xfd = ConnectionNumber(dpy);
- FD_ZERO(&fds);
- FD_SET(xfd, &fds);
tv.tv_usec = 0;
- tv.tv_sec = 1;
+ tv.tv_sec = 2;
+
+ //XSync(dpy, False);
+ XFlush(dpy);
+
while (running) {
- select(xfd + 1, &fds, NULL, NULL, &tv);
- XNextEvent(dpy, &ev);
- if(handler[ev.type]) {
- (handler[ev.type])(&ev); /* call handler */
+ FD_ZERO(&fds);
+ FD_SET(xfd, &fds);
+ if (select(xfd + 1, &fds, NULL, NULL, &tv)) {
+ while (XPending(dpy)) {
+ XNextEvent(dpy, &ev);
+ if(handler[ev.type]) {
+ (handler[ev.type])(&ev); /* call handl…
+ }
+ }
}
}
}
@@ -631,8 +638,8 @@ main(int argc, char *argv[]) {
int i, xr, yr, bitm;
unsigned int wr, hr;
- signal(SIGTERM, sigterm);
memcpy(&keys, &keys_en, sizeof(keys_en));
+ signal(SIGTERM, sigterm);
for (i = 1; argv[i]; i++) {
if(!strcmp(argv[i], "-v")) {
die("svkbd-"VERSION", © 2006-2016 svkbd engineers,"
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.