Introduction
Introduction Statistics Contact Development Disclaimer Help
tusing execl now, argv changed, using cmd and const char defs directly in the K…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 9955ddc978c2e6acfe246f29f1d317b55d860757
parent 0dfe729f90069de070495c82ddc72cc476a4f3ab
Author: [email protected] <unknown>
Date: Fri, 4 Aug 2006 12:00:55 +0200
using execl now, argv changed, using cmd and const char defs directly in the KE…
Diffstat:
M config.arg.h | 17 ++++++-----------
M config.default.h | 6 ++++--
M dwm.h | 2 +-
M util.c | 11 +++++++----
4 files changed, 18 insertions(+), 18 deletions(-)
---
diff --git a/config.arg.h b/config.arg.h
t@@ -17,13 +17,6 @@ const char *tags[] = { "fnord", "dev", "net", "work", "misc…
#define MASTERW 60 /* percent */
#define KEYS \
- const char *browse[] = { "firefox", NULL }; \
- const char *gimp[] = { "gimp", NULL }; \
- const char *term[] = { \
- "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", …
- "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NUL…
- }; \
- const char *xlock[] = { "xlock", NULL }; \
static Key key[] = { \
/* modifier key function argument…
{ MODKEY, XK_0, view, { .…
t@@ -50,10 +43,12 @@ static Key key[] = { \
{ MODKEY|ShiftMask, XK_4, replacetag, { .…
{ MODKEY|ShiftMask, XK_c, killclient, { 0…
{ MODKEY|ShiftMask, XK_q, quit, {…
- { MODKEY|ShiftMask, XK_Return, spawn, { .…
- { MODKEY|ShiftMask, XK_g, spawn, …
- { MODKEY|ShiftMask, XK_l, spawn, …
- { MODKEY|ShiftMask, XK_w, spawn, …
+ { MODKEY|ShiftMask, XK_x, spawn, \
+ { .cmd = "exec `ls -lL /usr/bin /usr/local/bin 2>/dev/null |" \
+ " awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq | dm…
+ { MODKEY|ShiftMask, XK_Return, spawn, \
+ { .cmd = "exec urxvt -tr +sb -bg black -fg white -cr white " \
+ "-fn '-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*…
};
#define RULES \
diff --git a/config.default.h b/config.default.h
t@@ -17,7 +17,6 @@ const char *tags[] = { "0", "1", "2", "3", "4", NULL };
#define MASTERW 60 /* percent */
#define KEYS \
- const char *term[] = { "xterm", NULL }; \
static Key key[] = { \
/* modifier key function argument…
{ MODKEY, XK_0, view, { .…
t@@ -44,7 +43,10 @@ static Key key[] = { \
{ MODKEY|ShiftMask, XK_4, replacetag, { .…
{ MODKEY|ShiftMask, XK_c, killclient, { 0…
{ MODKEY|ShiftMask, XK_q, quit, {…
- { MODKEY|ShiftMask, XK_Return, spawn, { .…
+ /* { MODKEY|ShiftMask, XK_x, spawn, */ \
+ /* { .cmd = "exec `ls -lL /usr/bin /usr/local/bin 2>/dev/null |…
+ /* " awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq | …
+ { MODKEY|ShiftMask, XK_Return, spawn, { .…
};
#define RULES \
diff --git a/dwm.h b/dwm.h
t@@ -17,7 +17,7 @@ typedef struct DC DC;
typedef struct Fnt Fnt;
union Arg {
- const char **argv;
+ const char *cmd;
int i;
};
diff --git a/util.c b/util.c
t@@ -43,17 +43,20 @@ eprint(const char *errstr, ...)
void
spawn(Arg *arg)
{
- char **argv = (char **)arg->argv;
+ static char *shell = NULL;
- if(!argv || !argv[0])
+ if(!shell && !(shell = getenv("SHELL")))
+ shell = "/bin/sh";
+
+ if(!arg->cmd)
return;
if(fork() == 0) {
if(fork() == 0) {
if(dpy)
close(ConnectionNumber(dpy));
setsid();
- execvp(argv[0], argv);
- fprintf(stderr, "dwm: execvp %s", argv[0]);
+ execl(shell, shell, "-c", arg->cmd, NULL);
+ fprintf(stderr, "dwm: execl '%s'", arg->cmd);
perror(" failed");
}
exit(0);
You are viewing proxied material from mx1.adamsgaard.dk. 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.