dwm-meillo
changeset 749:6692d7e7e156
added maxlayout by mitch, moved config.h to config.meillo.h, some smaller modifications
author | meillo@marmaro.de |
---|---|
date | Sun, 11 Feb 2007 17:20:22 +0100 |
parents | 61821891835c |
children | 3d957a703ce2 |
files | Makefile config.arg.h config.default.h config.h config.meillo.h draw.c dwm.h tag.c view.c |
diffstat | 9 files changed, 306 insertions(+), 66 deletions(-) [+] |
line diff
1.1 --- a/Makefile Sun Feb 11 12:20:54 2007 +0100 1.2 +++ b/Makefile Sun Feb 11 17:20:22 2007 +0100 1.3 @@ -21,8 +21,8 @@ 1.4 ${OBJ}: dwm.h config.h config.mk 1.5 1.6 config.h: 1.7 - @echo creating $@ from config.default.h 1.8 - @cp config.default.h $@ 1.9 + @echo creating $@ from config.meillo.h 1.10 + @cp config.meillo.h $@ 1.11 1.12 dwm: ${OBJ} 1.13 @echo CC -o $@
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/config.arg.h Sun Feb 11 17:20:22 2007 +0100 2.3 @@ -0,0 +1,94 @@ 2.4 +/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com> 2.5 + * See LICENSE file for license details. 2.6 + */ 2.7 + 2.8 +#define TAGS \ 2.9 +const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL }; 2.10 + 2.11 +#define BORDERPX 1 2.12 +#define DEFMODE dotile /* dofloat */ 2.13 +#define FLOATSYMBOL "><>" 2.14 +#define TILESYMBOL "[]=" 2.15 + 2.16 +#define FONT "-*-terminus-medium-r-*-*-14-*-*-*-*-*-*-*" 2.17 +#define NORMBORDERCOLOR "#333" 2.18 +#define NORMBGCOLOR "#222" 2.19 +#define NORMFGCOLOR "#ccc" 2.20 +#define SELBORDERCOLOR "#69c" 2.21 +#define SELBGCOLOR "#555" 2.22 +#define SELFGCOLOR "#fff" 2.23 + 2.24 +#define MASTER 600 /* per thousand */ 2.25 +#define MODKEY Mod1Mask 2.26 +#define NMASTER 1 /* clients in master area */ 2.27 +#define SNAP 40 /* pixel */ 2.28 +#define TOPBAR True /* False */ 2.29 + 2.30 +#define KEYS \ 2.31 +static Key key[] = { \ 2.32 + /* modifier key function argument */ \ 2.33 + { MODKEY|ShiftMask, XK_Return, spawn, \ 2.34 + { .cmd = "exec uxterm -bg '#222' -fg '#eee' -cr '#eee' +sb -fn '"FONT"'" } }, \ 2.35 + { MODKEY, XK_p, spawn, \ 2.36 + { .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \ 2.37 + " | dmenu -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' " \ 2.38 + "-sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"')\" && exec $exe" } }, \ 2.39 + { MODKEY, XK_j, focusnext, { 0 } }, \ 2.40 + { MODKEY, XK_k, focusprev, { 0 } }, \ 2.41 + { MODKEY, XK_Return, zoom, { 0 } }, \ 2.42 + { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ 2.43 + { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ 2.44 + { MODKEY, XK_i, incnmaster, { .i = 1 } }, \ 2.45 + { MODKEY, XK_d, incnmaster, { .i = -1 } }, \ 2.46 + { MODKEY|ShiftMask, XK_0, tag, { .i = -1 } }, \ 2.47 + { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ 2.48 + { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ 2.49 + { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ 2.50 + { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \ 2.51 + { MODKEY|ShiftMask, XK_5, tag, { .i = 4 } }, \ 2.52 + { MODKEY|ShiftMask, XK_6, tag, { .i = 5 } }, \ 2.53 + { MODKEY|ShiftMask, XK_7, tag, { .i = 6 } }, \ 2.54 + { MODKEY|ShiftMask, XK_8, tag, { .i = 7 } }, \ 2.55 + { MODKEY|ShiftMask, XK_9, tag, { .i = 8 } }, \ 2.56 + { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \ 2.57 + { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \ 2.58 + { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \ 2.59 + { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \ 2.60 + { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, { .i = 4 } }, \ 2.61 + { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, { .i = 5 } }, \ 2.62 + { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, { .i = 6 } }, \ 2.63 + { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \ 2.64 + { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \ 2.65 + { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \ 2.66 + { MODKEY, XK_space, togglemode, { 0 } }, \ 2.67 + { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \ 2.68 + { MODKEY, XK_0, view, { .i = -1 } }, \ 2.69 + { MODKEY, XK_1, view, { .i = 0 } }, \ 2.70 + { MODKEY, XK_2, view, { .i = 1 } }, \ 2.71 + { MODKEY, XK_3, view, { .i = 2 } }, \ 2.72 + { MODKEY, XK_4, view, { .i = 3 } }, \ 2.73 + { MODKEY, XK_5, view, { .i = 4 } }, \ 2.74 + { MODKEY, XK_6, view, { .i = 5 } }, \ 2.75 + { MODKEY, XK_7, view, { .i = 6 } }, \ 2.76 + { MODKEY, XK_8, view, { .i = 7 } }, \ 2.77 + { MODKEY, XK_9, view, { .i = 8 } }, \ 2.78 + { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \ 2.79 + { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \ 2.80 + { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \ 2.81 + { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \ 2.82 + { MODKEY|ControlMask, XK_5, toggleview, { .i = 4 } }, \ 2.83 + { MODKEY|ControlMask, XK_6, toggleview, { .i = 5 } }, \ 2.84 + { MODKEY|ControlMask, XK_7, toggleview, { .i = 6 } }, \ 2.85 + { MODKEY|ControlMask, XK_8, toggleview, { .i = 7 } }, \ 2.86 + { MODKEY|ControlMask, XK_9, toggleview, { .i = 8 } }, \ 2.87 + { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ 2.88 +}; 2.89 + 2.90 +#define RULES \ 2.91 +static Rule rule[] = { \ 2.92 + /* class:instance:title regex tags regex isfloat */ \ 2.93 + { "Firefox.*", "3", False }, \ 2.94 + { "Gimp.*", NULL, True }, \ 2.95 + { "MPlayer.*", NULL, True }, \ 2.96 + { "Acroread.*", NULL, True }, \ 2.97 +};
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/config.default.h Sun Feb 11 17:20:22 2007 +0100 3.3 @@ -0,0 +1,90 @@ 3.4 +/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com> 3.5 + * See LICENSE file for license details. 3.6 + */ 3.7 + 3.8 +#define TAGS \ 3.9 +const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL }; 3.10 + 3.11 +#define BORDERPX 1 3.12 +#define DEFMODE dotile /* dofloat */ 3.13 +#define FLOATSYMBOL "><>" 3.14 +#define TILESYMBOL "[]=" 3.15 + 3.16 +#define FONT "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*" 3.17 +#define NORMBORDERCOLOR "#dddddd" 3.18 +#define NORMBGCOLOR "#eeeeee" 3.19 +#define NORMFGCOLOR "#222222" 3.20 +#define SELBORDERCOLOR "#ff0000" 3.21 +#define SELBGCOLOR "#006699" 3.22 +#define SELFGCOLOR "#ffffff" 3.23 + 3.24 +#define MASTER 600 /* per thousand */ 3.25 +#define MODKEY Mod1Mask 3.26 +#define NMASTER 1 /* clients in master area */ 3.27 +#define SNAP 20 /* pixel */ 3.28 +#define TOPBAR True /* False */ 3.29 + 3.30 +#define KEYS \ 3.31 +static Key key[] = { \ 3.32 + /* modifier key function argument */ \ 3.33 + { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "exec xterm" } }, \ 3.34 + { MODKEY, XK_Tab, focusnext, { 0 } }, \ 3.35 + { MODKEY|ShiftMask, XK_Tab, focusprev, { 0 } }, \ 3.36 + { MODKEY, XK_Return, zoom, { 0 } }, \ 3.37 + { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ 3.38 + { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ 3.39 + { MODKEY, XK_i, incnmaster, { .i = 1 } }, \ 3.40 + { MODKEY, XK_d, incnmaster, { .i = -1 } }, \ 3.41 + { MODKEY|ShiftMask, XK_0, tag, { .i = -1 } }, \ 3.42 + { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ 3.43 + { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ 3.44 + { MODKEY|ShiftMask, XK_3, tag, { .i = 2 } }, \ 3.45 + { MODKEY|ShiftMask, XK_4, tag, { .i = 3 } }, \ 3.46 + { MODKEY|ShiftMask, XK_5, tag, { .i = 4 } }, \ 3.47 + { MODKEY|ShiftMask, XK_6, tag, { .i = 5 } }, \ 3.48 + { MODKEY|ShiftMask, XK_7, tag, { .i = 6 } }, \ 3.49 + { MODKEY|ShiftMask, XK_8, tag, { .i = 7 } }, \ 3.50 + { MODKEY|ShiftMask, XK_9, tag, { .i = 8 } }, \ 3.51 + { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, { .i = 0 } }, \ 3.52 + { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, { .i = 1 } }, \ 3.53 + { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, { .i = 2 } }, \ 3.54 + { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, { .i = 3 } }, \ 3.55 + { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, { .i = 4 } }, \ 3.56 + { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, { .i = 5 } }, \ 3.57 + { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, { .i = 6 } }, \ 3.58 + { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, { .i = 7 } }, \ 3.59 + { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, { .i = 8 } }, \ 3.60 + { MODKEY|ShiftMask, XK_c, killclient, { 0 } }, \ 3.61 + { MODKEY, XK_space, togglemode, { 0 } }, \ 3.62 + { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \ 3.63 + { MODKEY, XK_0, view, { .i = -1 } }, \ 3.64 + { MODKEY, XK_1, view, { .i = 0 } }, \ 3.65 + { MODKEY, XK_2, view, { .i = 1 } }, \ 3.66 + { MODKEY, XK_3, view, { .i = 2 } }, \ 3.67 + { MODKEY, XK_4, view, { .i = 3 } }, \ 3.68 + { MODKEY, XK_5, view, { .i = 4 } }, \ 3.69 + { MODKEY, XK_6, view, { .i = 5 } }, \ 3.70 + { MODKEY, XK_7, view, { .i = 6 } }, \ 3.71 + { MODKEY, XK_8, view, { .i = 7 } }, \ 3.72 + { MODKEY, XK_9, view, { .i = 8 } }, \ 3.73 + { MODKEY|ControlMask, XK_1, toggleview, { .i = 0 } }, \ 3.74 + { MODKEY|ControlMask, XK_2, toggleview, { .i = 1 } }, \ 3.75 + { MODKEY|ControlMask, XK_3, toggleview, { .i = 2 } }, \ 3.76 + { MODKEY|ControlMask, XK_4, toggleview, { .i = 3 } }, \ 3.77 + { MODKEY|ControlMask, XK_5, toggleview, { .i = 4 } }, \ 3.78 + { MODKEY|ControlMask, XK_6, toggleview, { .i = 5 } }, \ 3.79 + { MODKEY|ControlMask, XK_7, toggleview, { .i = 6 } }, \ 3.80 + { MODKEY|ControlMask, XK_8, toggleview, { .i = 7 } }, \ 3.81 + { MODKEY|ControlMask, XK_9, toggleview, { .i = 8 } }, \ 3.82 + { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ 3.83 +}; 3.84 + 3.85 +/* Query class:instance:title for regex matching info with following command: 3.86 + * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */ 3.87 +#define RULES \ 3.88 +static Rule rule[] = { \ 3.89 + /* class:instance:title regex tags regex isfloat */ \ 3.90 + { "Gimp.*", NULL, True }, \ 3.91 + { "MPlayer.*", NULL, True }, \ 3.92 + { "Acroread.*", NULL, True }, \ 3.93 +};
4.1 --- a/config.h Sun Feb 11 12:20:54 2007 +0100 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,60 +0,0 @@ 4.4 -/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com> 4.5 - * See LICENSE file for license details. 4.6 - */ 4.7 - 4.8 -#define TAGS \ 4.9 -const char *tags[] = { "Das Alles", "Das Nichts", NULL }; 4.10 - 4.11 -#define BORDERPX 1 4.12 -#define DEFMODE dotile /* dofloat */ 4.13 -#define FLOATSYMBOL "" 4.14 -#define TILESYMBOL "" 4.15 - 4.16 -#define FONT "-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*" 4.17 -#define NORMBGCOLOR "#333333" 4.18 -#define NORMFGCOLOR "#bbbbbb" 4.19 -#define SELBGCOLOR "#eec900" 4.20 -#define SELFGCOLOR "#000000" 4.21 -#define NORMBORDERCOLOR NORMBGCOLOR 4.22 -#define SELBORDERCOLOR SELBGCOLOR 4.23 - 4.24 -#define MASTER 500 /* per thousand */ 4.25 -#define MODKEY Mod1Mask 4.26 -#define NMASTER 1 /* clients in master area */ 4.27 -#define SNAP 5 /* pixel */ 4.28 -#define TOPBAR True /* False */ 4.29 - 4.30 -#define KEYS \ 4.31 -static Key key[] = { \ 4.32 - /* modifier key function argument */ \ 4.33 - { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "exec urxvt" } }, \ 4.34 - { MODKEY, XK_F1, viewnext, { .i = 0 } }, \ 4.35 - { MODKEY, XK_Tab, focusnext, { 0 } }, \ 4.36 - { MODKEY, XK_asciicircum, spawn, \ 4.37 - { .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \ 4.38 - " | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -normfg '"NORMFGCOLOR"' " \ 4.39 - "-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exec $exe" } }, \ 4.40 - { MODKEY, XK_1, zoom, { 0 } }, \ 4.41 - { MODKEY, XK_2, killclient, { 0 } }, \ 4.42 - { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ 4.43 - { MODKEY|ShiftMask, XK_F4, spawn, { .cmd = "exec sudo halt" } }, \ 4.44 - { MODKEY, XK_space, togglefloat, { 0 } }, \ 4.45 - { MODKEY|ShiftMask, XK_space, togglemode, { 0 } }, \ 4.46 - { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ 4.47 - { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ 4.48 - { MODKEY, XK_i, incnmaster, { .i = 1 } }, \ 4.49 - { MODKEY, XK_d, incnmaster, { .i = -1 } }, \ 4.50 - { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ 4.51 - { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ 4.52 -}; 4.53 - 4.54 -/* Query class:instance:title for regex matching info with following command: 4.55 - * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */ 4.56 -#define RULES \ 4.57 -static Rule rule[] = { \ 4.58 - /* class:instance:title regex tags regex isfloat */ \ 4.59 - { "URxvt.*", "Das Nichts", False }, \ 4.60 - { "MPlayer.*", NULL, True }, \ 4.61 - { "Gimp.*", "Das Alles", True }, \ 4.62 - { ".*", "Das Alles", False }, \ 4.63 -};
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/config.meillo.h Sun Feb 11 17:20:22 2007 +0100 5.3 @@ -0,0 +1,60 @@ 5.4 +/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com> 5.5 + * See LICENSE file for license details. 5.6 + */ 5.7 + 5.8 +#define TAGS \ 5.9 +const char *tags[] = { "Das Alles", "Das Nichts", NULL }; 5.10 + 5.11 +#define BORDERPX 1 5.12 +#define DEFMODE domax /* dotile */ 5.13 +#define FLOATSYMBOL "" 5.14 +#define TILESYMBOL "" 5.15 + 5.16 +#define FONT "-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*" 5.17 +#define NORMBGCOLOR "#333333" 5.18 +#define NORMFGCOLOR "#bbbbbb" 5.19 +#define SELBGCOLOR "#eec900" 5.20 +#define SELFGCOLOR "#000000" 5.21 +#define NORMBORDERCOLOR NORMBGCOLOR 5.22 +#define SELBORDERCOLOR SELBGCOLOR 5.23 + 5.24 +#define MASTER 500 /* per thousand */ 5.25 +#define MODKEY Mod1Mask 5.26 +#define NMASTER 1 /* clients in master area */ 5.27 +#define SNAP 5 /* pixel */ 5.28 +#define TOPBAR True /* False */ 5.29 + 5.30 +#define KEYS \ 5.31 +static Key key[] = { \ 5.32 + /* modifier key function argument */ \ 5.33 + { MODKEY|ShiftMask, XK_Return, spawn, { .cmd = "exec urxvt" } }, \ 5.34 + { MODKEY, XK_F1, viewnext, { .i = 0 } }, \ 5.35 + { MODKEY, XK_Tab, focusnext, { 0 } }, \ 5.36 + { MODKEY, XK_asciicircum, spawn, \ 5.37 + { .cmd = "exe=\"$(lsx `echo $PATH | sed 's/:/ /g'` | sort -u " \ 5.38 + " | dmenu -font '"FONT"' -normbg '"NORMBGCOLOR"' -normfg '"NORMFGCOLOR"' " \ 5.39 + "-selbg '"SELBGCOLOR"' -selfg '"SELFGCOLOR"')\" && exec $exe" } }, \ 5.40 + { MODKEY, XK_1, zoom, { 0 } }, \ 5.41 + { MODKEY, XK_2, killclient, { 0 } }, \ 5.42 + { MODKEY|ShiftMask, XK_q, quit, { 0 } }, \ 5.43 + { MODKEY|ShiftMask, XK_F4, spawn, { .cmd = "exec sudo halt" } }, \ 5.44 + { MODKEY, XK_space, togglemode, { 0 } }, \ 5.45 + { MODKEY|ShiftMask, XK_space, togglefloat, { 0 } }, \ 5.46 + { MODKEY, XK_g, resizemaster, { .i = 15 } }, \ 5.47 + { MODKEY, XK_s, resizemaster, { .i = -15 } }, \ 5.48 + { MODKEY, XK_i, incnmaster, { .i = 1 } }, \ 5.49 + { MODKEY, XK_d, incnmaster, { .i = -1 } }, \ 5.50 + { MODKEY|ShiftMask, XK_1, tag, { .i = 0 } }, \ 5.51 + { MODKEY|ShiftMask, XK_2, tag, { .i = 1 } }, \ 5.52 +}; 5.53 + 5.54 +/* Query class:instance:title for regex matching info with following command: 5.55 + * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { printf("%s\n",$2) }' */ 5.56 +#define RULES \ 5.57 +static Rule rule[] = { \ 5.58 + /* class:instance:title regex tags regex isfloat */ \ 5.59 + { "URxvt.*", "Das Nichts", False }, \ 5.60 + { "MPlayer.*", NULL, True }, \ 5.61 + { "Gimp.*", "Das Alles", True }, \ 5.62 + { ".*", "Das Alles", False }, \ 5.63 +};
6.1 --- a/draw.c Sun Feb 11 12:20:54 2007 +0100 6.2 +++ b/draw.c Sun Feb 11 17:20:22 2007 +0100 6.3 @@ -90,7 +90,7 @@ 6.4 dc.x += dc.w + 1; 6.5 } 6.6 dc.w = bmw; 6.7 - drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.norm, False, False); 6.8 + drawtext("", dc.norm, False, False); 6.9 x = dc.x + dc.w; 6.10 dc.w = textw(stext); 6.11 dc.x = sw - dc.w;
7.1 --- a/dwm.h Sun Feb 11 12:20:54 2007 +0100 7.2 +++ b/dwm.h Sun Feb 11 17:20:22 2007 +0100 7.3 @@ -132,7 +132,7 @@ 7.4 extern void settags(Client *c, Client *trans); /* sets tags of c */ 7.5 extern void tag(Arg *arg); /* tags c with arg's index */ 7.6 extern void toggletag(Arg *arg); /* toggles c tags with arg's index */ 7.7 -extern void viewnext(Arg *arg); /* view next tag(s) [code by jukka] */ 7.8 +extern void viewnext(Arg *arg); /* view next tag(s) */ 7.9 7.10 /* util.c */ 7.11 extern void *emallocz(unsigned int size); /* allocates zero-initialized memory, exits on error */ 7.12 @@ -143,6 +143,7 @@ 7.13 extern void detach(Client *c); /* detaches c from global client list */ 7.14 extern void dofloat(void); /* arranges all windows floating */ 7.15 extern void dotile(void); /* arranges all windows tiled */ 7.16 +extern void domax(void); /* arranges all windows fullscreen */ 7.17 extern void focusnext(Arg *arg); /* focuses next visible client, arg is ignored */ 7.18 extern void focusprev(Arg *arg); /* focuses previous visible client, arg is ignored */ 7.19 extern void incnmaster(Arg *arg); /* increments nmaster with arg's index value */
8.1 --- a/tag.c Sun Feb 11 12:20:54 2007 +0100 8.2 +++ b/tag.c Sun Feb 11 17:20:22 2007 +0100 8.3 @@ -134,6 +134,7 @@ 8.4 arrange(); 8.5 } 8.6 8.7 +/* begin code by jukka */ 8.8 void 8.9 viewnext(Arg *arg) { 8.10 unsigned int i; 8.11 @@ -144,3 +145,4 @@ 8.12 seltag[0] = last; 8.13 arrange(); 8.14 } 8.15 +/* end code by jukka */
9.1 --- a/view.c Sun Feb 11 12:20:54 2007 +0100 9.2 +++ b/view.c Sun Feb 11 17:20:22 2007 +0100 9.3 @@ -117,6 +117,48 @@ 9.4 restack(); 9.5 } 9.6 9.7 +/* begin code by mitch */ 9.8 +void 9.9 +arrangemax(Client *c) { 9.10 + if(c == sel) { 9.11 + c->ismax = True; 9.12 + c->x = sx; 9.13 + c->y = bh; 9.14 + c->w = sw - 2 * BORDERPX; 9.15 + c->h = sh - bh - 2 * BORDERPX; 9.16 + XRaiseWindow(dpy, c->win); 9.17 + } else { 9.18 + c->ismax = False; 9.19 + XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); 9.20 + XLowerWindow(dpy, c->win); 9.21 + } 9.22 +} 9.23 + 9.24 +void 9.25 +domax(void) { 9.26 + Client *c; 9.27 + 9.28 + for(c = clients; c; c = c->next) { 9.29 + if(isvisible(c)) { 9.30 + if(c->isfloat) { 9.31 + resize(c, True); 9.32 + continue; 9.33 + } 9.34 + arrangemax(c); 9.35 + resize(c, False); 9.36 + } else { 9.37 + XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); 9.38 + } 9.39 + 9.40 + } 9.41 + if(!sel || !isvisible(sel)) { 9.42 + for(c = stack; c && !isvisible(c); c = c->snext); 9.43 + focus(c); 9.44 + } 9.45 + restack(); 9.46 +} 9.47 +/* end code by mitch */ 9.48 + 9.49 void 9.50 focusnext(Arg *arg) { 9.51 Client *c; 9.52 @@ -192,7 +234,17 @@ 9.53 return; 9.54 if(sel->isfloat || arrange == dofloat) 9.55 XRaiseWindow(dpy, sel->win); 9.56 - if(arrange != dofloat) { 9.57 + 9.58 + /* begin code by mitch */ 9.59 + if(arrange == domax) { 9.60 + for(c = nexttiled(clients); c; c = nexttiled(c->next)) { 9.61 + arrangemax(c); 9.62 + resize(c, False); 9.63 + } 9.64 + 9.65 + } else if (arrange == dotile) { 9.66 + /* end code by mitch */ 9.67 + 9.68 if(!sel->isfloat) 9.69 XLowerWindow(dpy, sel->win); 9.70 for(c = nexttiled(clients); c; c = nexttiled(c->next)) { 9.71 @@ -215,7 +267,8 @@ 9.72 9.73 void 9.74 togglemode(Arg *arg) { 9.75 - arrange = (arrange == dofloat) ? dotile : dofloat; 9.76 + /* only toggle between tile and max - float is just available through togglefloat */ 9.77 + arrange = (arrange == dotile) ? domax : dotile; 9.78 if(sel) 9.79 arrange(); 9.80 else