diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | config.h | 72 | ||||
| -rw-r--r-- | dwm.c | 52 | 
3 files changed, 2 insertions, 124 deletions
| @@ -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 @@ -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:<signame> [<type> <value>]"` */ -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 }, -}; @@ -129,11 +129,6 @@ typedef struct {  } Key;  typedef struct { -	const char * sig; -	void (*func)(const Arg *); -} Signal; - -typedef struct {  	const char *symbol;  	void (*arrange)(Monitor *);  } Layout; @@ -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))) { | 
