diff --git a/Makefile b/Makefile index 302a8cf..b111d81 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ dist: clean install: all mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f dwm dwmc ${DESTDIR}${PREFIX}/bin + cp -f dwm ${DESTDIR}${PREFIX}/bin chmod 755 ${DESTDIR}${PREFIX}/bin/dwm mkdir -p ${DESTDIR}${MANPREFIX}/man1 sed "s/VERSION/${VERSION}/g" < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1 diff --git a/config.h b/config.h index 3e760e8..23e796d 100644 --- a/config.h +++ b/config.h @@ -282,75 +282,3 @@ static Button buttons[] = { { ClkTagBar, 0, Button4, shiftview, {.i = -1} }, { ClkTagBar, 0, Button5, shiftview, {.i = 1} }, }; - -void -setlayoutex(const Arg *arg) -{ - setlayout(&((Arg) { .v = &layouts[arg->i] })); -} - -void -viewex(const Arg *arg) -{ - view(&((Arg) { .ui = 1 << arg->ui })); -} - -void -viewall(const Arg *arg) -{ - view(&((Arg){.ui = ~0})); -} - -void -toggleviewex(const Arg *arg) -{ - toggleview(&((Arg) { .ui = 1 << arg->ui })); -} - -void -tagex(const Arg *arg) -{ - tag(&((Arg) { .ui = 1 << arg->ui })); -} - -void -toggletagex(const Arg *arg) -{ - toggletag(&((Arg) { .ui = 1 << arg->ui })); -} - -void -tagall(const Arg *arg) -{ - tag(&((Arg){.ui = ~0})); -} - -/* signal definitions */ -/* signum must be greater than 0 */ -/* trigger signals using `xsetroot -name "fsignal: [ ]"` */ -static Signal signals[] = { - /* signum function */ - { "focusstack", focusstack }, - { "setmfact", setmfact }, - { "togglebar", togglebar }, - { "incnmaster", incnmaster }, - { "togglefloating", togglefloating }, - { "focusmon", focusmon }, - { "tagmon", tagmon }, - { "zoom", zoom }, - { "view", view }, - { "viewall", viewall }, - { "viewex", viewex }, - { "toggleview", view }, - { "toggleviewex", toggleviewex }, - { "tag", tag }, - { "tagall", tagall }, - { "tagex", tagex }, - { "toggletag", tag }, - { "toggletagex", toggletagex }, - { "killclient", killclient }, - { "quit", quit }, - { "setlayout", setlayout }, - { "setlayoutex", setlayoutex }, - { "xrdb", xrdb }, -}; diff --git a/dwm.c b/dwm.c index 22dd0ca..db5a164 100644 --- a/dwm.c +++ b/dwm.c @@ -128,11 +128,6 @@ typedef struct { const Arg arg; } Key; -typedef struct { - const char * sig; - void (*func)(const Arg *); -} Signal; - typedef struct { const char *symbol; void (*arrange)(Monitor *); @@ -179,7 +174,6 @@ static void arrange(Monitor *m); static void arrangemon(Monitor *m); static void attach(Client *c); static void attachstack(Client *c); -static int fake_signal(void); static void buttonpress(XEvent *e); static void checkotherwm(void); static void cleanup(void); @@ -1088,49 +1082,6 @@ keypress(XEvent *e) keys[i].func(&(keys[i].arg)); } -int -fake_signal(void) -{ - char fsignal[256]; - char indicator[9] = "fsignal:"; - char str_sig[50]; - char param[16]; - int i, len_str_sig, n, paramn; - size_t len_fsignal, len_indicator = strlen(indicator); - Arg arg; - - // Get root name property - if (gettextprop(root, XA_WM_NAME, fsignal, sizeof(fsignal))) { - len_fsignal = strlen(fsignal); - - // Check if this is indeed a fake signal - if (len_indicator > len_fsignal ? 0 : strncmp(indicator, fsignal, len_indicator) == 0) { - paramn = sscanf(fsignal+len_indicator, "%s%n%s%n", str_sig, &len_str_sig, param, &n); - - if (paramn == 1) arg = (Arg) {0}; - else if (paramn > 2) return 1; - else if (strncmp(param, "i", n - len_str_sig) == 0) - sscanf(fsignal + len_indicator + n, "%i", &(arg.i)); - else if (strncmp(param, "ui", n - len_str_sig) == 0) - sscanf(fsignal + len_indicator + n, "%u", &(arg.ui)); - else if (strncmp(param, "f", n - len_str_sig) == 0) - sscanf(fsignal + len_indicator + n, "%f", &(arg.f)); - else return 1; - - // Check if a signal was found, and if so handle it - for (i = 0; i < LENGTH(signals); i++) - if (strncmp(str_sig, signals[i].sig, len_str_sig) == 0 && signals[i].func) - signals[i].func(&(arg)); - - // A fake signal was sent - return 1; - } - } - - // No fake signal was sent, so proceed with update - return 0; -} - void killclient(const Arg *arg) { @@ -1411,8 +1362,7 @@ propertynotify(XEvent *e) XPropertyEvent *ev = &e->xproperty; if ((ev->window == root) && (ev->atom == XA_WM_NAME)) { - if (!fake_signal()) - updatestatus(); + updatestatus(); } else if (ev->state == PropertyDelete) { return; /* ignore */ } else if ((c = wintoclient(ev->window))) {