Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
dwm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a8e0772
)
integrated Peter Hartlich's patch, removed const char *c from union, simplified toggl...
author
Anselm R Garbe
<garbeam@gmail.com>
Wed, 11 Jun 2008 08:34:00 +0000
(09:34 +0100)
committer
Anselm R Garbe
<garbeam@gmail.com>
Wed, 11 Jun 2008 08:34:00 +0000
(09:34 +0100)
config.def.h
patch
|
blob
|
history
dwm.c
patch
|
blob
|
history
diff --git
a/config.def.h
b/config.def.h
index
af8f70f
..
6a6f7be
100644
(file)
--- a/
config.def.h
+++ b/
config.def.h
@@
-10,8
+10,8
@@
#define SELFGCOLOR "#ffffff"
static uint borderpx = 1; /* border pixel of windows */
static uint snap = 32; /* snap pixel */
#define SELFGCOLOR "#ffffff"
static uint borderpx = 1; /* border pixel of windows */
static uint snap = 32; /* snap pixel */
-static Bool showbar = True; /* False means no bar */
-static Bool topbar = True; /* False means bottom bar */
+static Bool showbar = True; /* False means no bar */
+static Bool topbar = True; /* False means bottom bar */
/* tagging */
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
/* tagging */
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
@@
-42,8
+42,8
@@
static Layout layouts[] = {
static Key keys[] = {
/* modifier key function argument */
static Key keys[] = {
/* modifier key function argument */
- { MODKEY, XK_p, spawn, {.c = "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" }},
- { MODKEY|ShiftMask, XK_Return, spawn, {.c = "exec uxterm" }},
+ { MODKEY, XK_p, spawn, {.v = (char *[]){"dmenu_run", "-fn", FONT, "-nb", NORMBGCOLOR, "-nf", NORMFGCOLOR, "-sb", SELBGCOLOR, "-sf", SELFGCOLOR, NULL}} },
+ { MODKEY|ShiftMask, XK_Return, spawn, {.v = (char *[]){"uxterm", NULL}} },
{ MODKEY, XK_b, togglebar, {0}},
{ MODKEY, XK_j, focusstack, {.i = +1 }},
{ MODKEY, XK_k, focusstack, {.i = -1 }},
{ MODKEY, XK_b, togglebar, {0}},
{ MODKEY, XK_j, focusstack, {.i = +1 }},
{ MODKEY, XK_k, focusstack, {.i = -1 }},
diff --git
a/dwm.c
b/dwm.c
index
5b8747c
..
1c52d80
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-93,11
+93,10
@@
typedef struct {
} DC; /* draw context */
typedef union {
} DC; /* draw context */
typedef union {
- const char *c;
int i;
uint ui;
float f;
int i;
uint ui;
float f;
- void *aux;
+ void *v;
} Arg;
typedef struct {
} Arg;
typedef struct {
@@
-1388,10
+1387,6
@@
setup(void) {
void
spawn(const Arg *arg) {
void
spawn(const Arg *arg) {
- static char *shell = NULL;
-
- if(!shell && !(shell = getenv("SHELL")))
- shell = "/bin/sh";
/* The double-fork construct avoids zombie processes and keeps the code
* clean from stupid signal handlers. */
if(fork() == 0) {
/* The double-fork construct avoids zombie processes and keeps the code
* clean from stupid signal handlers. */
if(fork() == 0) {
@@
-1399,8
+1394,8
@@
spawn(const Arg *arg) {
if(dpy)
close(ConnectionNumber(dpy));
setsid();
if(dpy)
close(ConnectionNumber(dpy));
setsid();
- execl(shell, shell, "-c", arg->c, (char *)NULL);
- fprintf(stderr, "dwm: execl '%s -c %s'", shell, arg->c);
+ execvp(((char **)arg->v)[0], (char **)arg->v);
+ fprintf(stderr, "dwm: execvp %s", ((char **)arg->v)[0]);
perror(" failed");
}
exit(0);
perror(" failed");
}
exit(0);
@@
-1481,20
+1476,8
@@
togglefloating(const Arg *arg) {
void
togglelayout(const Arg *arg) {
void
togglelayout(const Arg *arg) {
- uint i;
-
- if(!arg->c) {
- if(++lt == &layouts[LENGTH(layouts)])
- lt = &layouts[0];
- }
- else {
- for(i = 0; i < LENGTH(layouts); i++)
- if(!strcmp(arg->c, layouts[i].symbol))
- break;
- if(i == LENGTH(layouts))
- return;
- lt = &layouts[i];
- }
+ if(++lt == &layouts[LENGTH(layouts)])
+ lt = &layouts[0];
if(sel)
arrange();
else
if(sel)
arrange();
else