Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
dwm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
only buffer keypresses on new kbspawn()
[dwm.git]
/
dwm.c
diff --git
a/dwm.c
b/dwm.c
index
dc9f318
..
7b017cb
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-211,6
+211,7
@@
static void setmfact(const Arg *arg);
static void setup(void);
static void showhide(Client *c);
static void sigchld(int unused);
static void setup(void);
static void showhide(Client *c);
static void sigchld(int unused);
+static void kbspawn(const Arg *arg);
static void spawn(const Arg *arg);
static void tag(const Arg *arg);
static void tagmon(const Arg *arg);
static void spawn(const Arg *arg);
static void tag(const Arg *arg);
static void tagmon(const Arg *arg);
@@
-1269,8
+1270,11
@@
maprequest(XEvent *e) {
if(!XGetWindowAttributes(dpy, ev->window, &wa))
return;
if(!XGetWindowAttributes(dpy, ev->window, &wa))
return;
- if(wa.override_redirect)
+ if(wa.override_redirect) {
+ key_buffer_len = 0;
+ key_buffering = False;
return;
return;
+ }
if(!wintoclient(ev->window))
manage(ev->window, &wa);
}
if(!wintoclient(ev->window))
manage(ev->window, &wa);
}
@@
-1795,6
+1799,14
@@
sigchld(int unused) {
}
void
}
void
+kbspawn(const Arg *arg) {
+ key_buffering = True;
+ key_buffer_len = 0;
+ grab_typing_keys();
+ spawn(arg);
+}
+
+void
spawn(const Arg *arg) {
int tag = 0, i;
if(arg->v == termcmd) {
spawn(const Arg *arg) {
int tag = 0, i;
if(arg->v == termcmd) {
@@
-1809,9
+1821,6
@@
spawn(const Arg *arg) {
}
if(arg->v == dmenucmd)
dmenumon[0] = '0' + selmon->num;
}
if(arg->v == dmenucmd)
dmenumon[0] = '0' + selmon->num;
- key_buffering = True;
- key_buffer_len = 0;
- grab_typing_keys();
if(fork() == 0) {
if(dpy)
close(ConnectionNumber(dpy));
if(fork() == 0) {
if(dpy)
close(ConnectionNumber(dpy));