applied Jukka Salmi's setmwfact patch a923298d
Anselm R. Garbe · 2007-08-17 21:10 4 file(s) · +16 −10
config.arg.h +2 −2
48 48
	{ MODKEY,			XK_b,		togglebar,	NULL }, \
49 49
	{ MODKEY,			XK_j,		focusnext,	NULL }, \
50 50
	{ MODKEY,			XK_k,		focusprev,	NULL }, \
51 -
	{ MODKEY,			XK_h,		addtomwfact,	"-0.05" }, \
52 -
	{ MODKEY,			XK_l,		addtomwfact,	"0.05" }, \
51 +
	{ MODKEY,			XK_h,		setmwfact,	"-0.05" }, \
52 +
	{ MODKEY,			XK_l,		setmwfact,	"+0.05" }, \
53 53
	{ MODKEY,			XK_m,		togglemax,	NULL }, \
54 54
	{ MODKEY,			XK_Return,	zoom,		NULL }, \
55 55
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL }, \
config.default.h +2 −2
46 46
	{ MODKEY,			XK_b,		togglebar,	NULL }, \
47 47
	{ MODKEY,			XK_j,		focusnext,	NULL }, \
48 48
	{ MODKEY,			XK_k,		focusprev,	NULL }, \
49 -
	{ MODKEY,			XK_h,		addtomwfact,	"-0.05" }, \
50 -
	{ MODKEY,			XK_l,		addtomwfact,	"0.05" }, \
49 +
	{ MODKEY,			XK_h,		setmwfact,	"-0.05" }, \
50 +
	{ MODKEY,			XK_l,		setmwfact,	"+0.05" }, \
51 51
	{ MODKEY,			XK_m,		togglemax,	NULL }, \
52 52
	{ MODKEY,			XK_Return,	zoom,		NULL }, \
53 53
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL }, \
tile.c +11 −5
9 9
/* extern */
10 10
11 11
void
12 -
addtomwfact(const char *arg) {
13 -
	double delta;
12 +
setmwfact(const char *arg) {
13 +
	double delta, newfact;
14 14
15 15
	if(!isarrange(tile))
16 16
		return;
17 -
18 17
	/* arg handling, manipulate mwfact */
19 18
	if(arg == NULL)
20 19
		mwfact = MWFACT;
21 20
	else if(1 == sscanf(arg, "%lf", &delta)) {
22 -
		if(delta + mwfact > 0.1 && delta + mwfact < 0.9)
23 -
			mwfact += delta;
21 +
		if(arg[0] != '+' && arg[0] != '-')
22 +
			newfact = delta;
23 +
		else
24 +
			newfact = mwfact + delta;
25 +
		if(newfact < 0.1)
26 +
			newfact = 0.1;
27 +
		else if(newfact > 0.9)
28 +
			newfact = 0.9;
29 +
		mwfact = newfact;
24 30
	}
25 31
	arrange();
26 32
}
tile.h +1 −1
1 1
/* See LICENSE file for copyright and license details. */
2 2
3 3
/* tile.c */
4 -
void addtomwfact(const char *arg);	/* adds arg value [0.1 .. 0.9] to master width factor */
4 +
void setmwfact(const char *arg);	/* sets master width factor */
5 5
void tile(void);			/* arranges all windows tiled */
6 6
void zoom(const char *arg);		/* zooms the focused client to master area, arg is ignored */