renamed setlayout into togglelayout
349d768b
2 file(s) · +97 −98
| 1 | 1 | /* See LICENSE file for copyright and license details. */ |
|
| 2 | 2 | ||
| 3 | 3 | /* appearance */ |
|
| 4 | - | #define BORDERPX 1 |
|
| 5 | - | #define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*" |
|
| 6 | - | #define NORMBORDERCOLOR "#cccccc" |
|
| 7 | - | #define NORMBGCOLOR "#cccccc" |
|
| 8 | - | #define NORMFGCOLOR "#000000" |
|
| 9 | - | #define SELBORDERCOLOR "#0066ff" |
|
| 10 | - | #define SELBGCOLOR "#0066ff" |
|
| 11 | - | #define SELFGCOLOR "#ffffff" |
|
| 4 | + | #define BORDERPX 1 |
|
| 5 | + | #define FONT "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*" |
|
| 6 | + | #define NORMBORDERCOLOR "#cccccc" |
|
| 7 | + | #define NORMBGCOLOR "#cccccc" |
|
| 8 | + | #define NORMFGCOLOR "#000000" |
|
| 9 | + | #define SELBORDERCOLOR "#0066ff" |
|
| 10 | + | #define SELBGCOLOR "#0066ff" |
|
| 11 | + | #define SELFGCOLOR "#ffffff" |
|
| 12 | 12 | ||
| 13 | 13 | /* tagging */ |
|
| 14 | 14 | const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; |
|
| 15 | 15 | ||
| 16 | 16 | Rule rules[] = { |
|
| 17 | - | /* class instance title tags ref isfloating */ |
|
| 18 | - | { "Gimp", NULL, NULL, NULL, True }, |
|
| 17 | + | /* class instance title tags ref isfloating */ |
|
| 18 | + | { "Gimp", NULL, NULL, NULL, True }, |
|
| 19 | 19 | }; |
|
| 20 | 20 | ||
| 21 | 21 | /* layout(s) */ |
|
| 22 | - | #define MFACT 0.55 /* master width factor [0.1 .. 0.9] */ |
|
| 23 | - | #define RESIZEHINTS True /* False - respect size hints in tiled resizals */ |
|
| 24 | - | #define SNAP 32 /* snap pixel */ |
|
| 22 | + | #define MFACT 0.55 /* master factor [0.1 .. 0.9] */ |
|
| 23 | + | #define RESIZEHINTS True /* False - respect size hints in tiled resizals */ |
|
| 24 | + | #define SNAP 32 /* snap pixel */ |
|
| 25 | 25 | ||
| 26 | 26 | Layout layouts[] = { |
|
| 27 | - | /* symbol function isfloating */ |
|
| 28 | - | { "[]=", tilev, False }, /* first entry is default */ |
|
| 29 | - | { "><>", NULL, True }, |
|
| 30 | - | { "<M>", monocle, True }, |
|
| 27 | + | /* symbol function isfloating */ |
|
| 28 | + | { "[]=", tilev, False }, /* first entry is default */ |
|
| 29 | + | { "><>", NULL, True }, |
|
| 30 | + | { "<M>", monocle, True }, |
|
| 31 | 31 | }; |
|
| 32 | 32 | ||
| 33 | 33 | /* key definitions */ |
|
| 34 | - | #define MODKEY Mod1Mask |
|
| 34 | + | #define MODKEY Mod1Mask |
|
| 35 | 35 | Key keys[] = { |
|
| 36 | - | /* modifier key function argument */ |
|
| 37 | - | { MODKEY, XK_p, spawn, |
|
| 38 | - | "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" }, |
|
| 39 | - | { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" }, |
|
| 40 | - | { MODKEY, XK_j, focusnext, NULL }, |
|
| 41 | - | { MODKEY|ShiftMask, XK_j, focusnext, "exact" }, |
|
| 42 | - | { MODKEY, XK_k, focusprev, NULL }, |
|
| 43 | - | { MODKEY|ShiftMask, XK_k, focusprev, "exact" }, |
|
| 44 | - | { MODKEY, XK_r, reapply, NULL }, |
|
| 45 | - | { MODKEY, XK_h, setmfact, "-0.05" }, |
|
| 46 | - | { MODKEY, XK_l, setmfact, "+0.05" }, |
|
| 47 | - | { MODKEY, XK_Return, zoom, NULL }, |
|
| 48 | - | { MODKEY, XK_m, setlayout, "<M>" }, |
|
| 49 | - | { MODKEY, XK_Tab, viewprevtag, NULL }, |
|
| 50 | - | { MODKEY|ShiftMask, XK_c, killclient, NULL }, |
|
| 51 | - | { MODKEY, XK_space, setlayout, NULL }, |
|
| 52 | - | { MODKEY|ShiftMask, XK_space, togglefloating, NULL }, |
|
| 53 | - | { MODKEY, XK_0, view, NULL }, |
|
| 54 | - | { MODKEY, XK_1, view, tags[0] }, |
|
| 55 | - | { MODKEY, XK_2, view, tags[1] }, |
|
| 56 | - | { MODKEY, XK_3, view, tags[2] }, |
|
| 57 | - | { MODKEY, XK_4, view, tags[3] }, |
|
| 58 | - | { MODKEY, XK_5, view, tags[4] }, |
|
| 59 | - | { MODKEY, XK_6, view, tags[5] }, |
|
| 60 | - | { MODKEY, XK_7, view, tags[6] }, |
|
| 61 | - | { MODKEY, XK_8, view, tags[7] }, |
|
| 62 | - | { MODKEY, XK_9, view, tags[8] }, |
|
| 63 | - | { MODKEY|ControlMask, XK_1, toggleview, tags[0] }, |
|
| 64 | - | { MODKEY|ControlMask, XK_2, toggleview, tags[1] }, |
|
| 65 | - | { MODKEY|ControlMask, XK_3, toggleview, tags[2] }, |
|
| 66 | - | { MODKEY|ControlMask, XK_4, toggleview, tags[3] }, |
|
| 67 | - | { MODKEY|ControlMask, XK_5, toggleview, tags[4] }, |
|
| 68 | - | { MODKEY|ControlMask, XK_6, toggleview, tags[5] }, |
|
| 69 | - | { MODKEY|ControlMask, XK_7, toggleview, tags[6] }, |
|
| 70 | - | { MODKEY|ControlMask, XK_8, toggleview, tags[7] }, |
|
| 71 | - | { MODKEY|ControlMask, XK_9, toggleview, tags[8] }, |
|
| 72 | - | { MODKEY|ShiftMask, XK_0, tag, NULL }, |
|
| 73 | - | { MODKEY|ShiftMask, XK_1, tag, tags[0] }, |
|
| 74 | - | { MODKEY|ShiftMask, XK_2, tag, tags[1] }, |
|
| 75 | - | { MODKEY|ShiftMask, XK_3, tag, tags[2] }, |
|
| 76 | - | { MODKEY|ShiftMask, XK_4, tag, tags[3] }, |
|
| 77 | - | { MODKEY|ShiftMask, XK_5, tag, tags[4] }, |
|
| 78 | - | { MODKEY|ShiftMask, XK_6, tag, tags[5] }, |
|
| 79 | - | { MODKEY|ShiftMask, XK_7, tag, tags[6] }, |
|
| 80 | - | { MODKEY|ShiftMask, XK_8, tag, tags[7] }, |
|
| 81 | - | { MODKEY|ShiftMask, XK_9, tag, tags[8] }, |
|
| 82 | - | { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] }, |
|
| 83 | - | { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] }, |
|
| 84 | - | { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] }, |
|
| 85 | - | { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] }, |
|
| 86 | - | { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] }, |
|
| 87 | - | { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] }, |
|
| 88 | - | { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] }, |
|
| 89 | - | { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] }, |
|
| 90 | - | { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] }, |
|
| 91 | - | { MODKEY|ShiftMask, XK_q, quit, NULL }, |
|
| 36 | + | /* modifier key function argument */ |
|
| 37 | + | { MODKEY, XK_p, spawn, "exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" }, |
|
| 38 | + | { MODKEY|ShiftMask, XK_Return, spawn, "exec uxterm" }, |
|
| 39 | + | { MODKEY, XK_j, focusnext, NULL }, |
|
| 40 | + | { MODKEY|ShiftMask, XK_j, focusnext, "exact" }, |
|
| 41 | + | { MODKEY, XK_k, focusprev, NULL }, |
|
| 42 | + | { MODKEY|ShiftMask, XK_k, focusprev, "exact" }, |
|
| 43 | + | { MODKEY, XK_r, reapply, NULL }, |
|
| 44 | + | { MODKEY, XK_h, setmfact, "-0.05" }, |
|
| 45 | + | { MODKEY, XK_l, setmfact, "+0.05" }, |
|
| 46 | + | { MODKEY, XK_Return, zoom, NULL }, |
|
| 47 | + | { MODKEY, XK_m, togglelayout, "<M>" }, |
|
| 48 | + | { MODKEY, XK_Tab, viewprevtag, NULL }, |
|
| 49 | + | { MODKEY|ShiftMask, XK_c, killclient, NULL }, |
|
| 50 | + | { MODKEY, XK_space, togglelayout, NULL }, |
|
| 51 | + | { MODKEY|ShiftMask, XK_space, togglefloating, NULL }, |
|
| 52 | + | { MODKEY, XK_0, view, NULL }, |
|
| 53 | + | { MODKEY, XK_1, view, tags[0] }, |
|
| 54 | + | { MODKEY, XK_2, view, tags[1] }, |
|
| 55 | + | { MODKEY, XK_3, view, tags[2] }, |
|
| 56 | + | { MODKEY, XK_4, view, tags[3] }, |
|
| 57 | + | { MODKEY, XK_5, view, tags[4] }, |
|
| 58 | + | { MODKEY, XK_6, view, tags[5] }, |
|
| 59 | + | { MODKEY, XK_7, view, tags[6] }, |
|
| 60 | + | { MODKEY, XK_8, view, tags[7] }, |
|
| 61 | + | { MODKEY, XK_9, view, tags[8] }, |
|
| 62 | + | { MODKEY|ControlMask, XK_1, toggleview, tags[0] }, |
|
| 63 | + | { MODKEY|ControlMask, XK_2, toggleview, tags[1] }, |
|
| 64 | + | { MODKEY|ControlMask, XK_3, toggleview, tags[2] }, |
|
| 65 | + | { MODKEY|ControlMask, XK_4, toggleview, tags[3] }, |
|
| 66 | + | { MODKEY|ControlMask, XK_5, toggleview, tags[4] }, |
|
| 67 | + | { MODKEY|ControlMask, XK_6, toggleview, tags[5] }, |
|
| 68 | + | { MODKEY|ControlMask, XK_7, toggleview, tags[6] }, |
|
| 69 | + | { MODKEY|ControlMask, XK_8, toggleview, tags[7] }, |
|
| 70 | + | { MODKEY|ControlMask, XK_9, toggleview, tags[8] }, |
|
| 71 | + | { MODKEY|ShiftMask, XK_0, tag, NULL }, |
|
| 72 | + | { MODKEY|ShiftMask, XK_1, tag, tags[0] }, |
|
| 73 | + | { MODKEY|ShiftMask, XK_2, tag, tags[1] }, |
|
| 74 | + | { MODKEY|ShiftMask, XK_3, tag, tags[2] }, |
|
| 75 | + | { MODKEY|ShiftMask, XK_4, tag, tags[3] }, |
|
| 76 | + | { MODKEY|ShiftMask, XK_5, tag, tags[4] }, |
|
| 77 | + | { MODKEY|ShiftMask, XK_6, tag, tags[5] }, |
|
| 78 | + | { MODKEY|ShiftMask, XK_7, tag, tags[6] }, |
|
| 79 | + | { MODKEY|ShiftMask, XK_8, tag, tags[7] }, |
|
| 80 | + | { MODKEY|ShiftMask, XK_9, tag, tags[8] }, |
|
| 81 | + | { MODKEY|ControlMask|ShiftMask, XK_1, toggletag, tags[0] }, |
|
| 82 | + | { MODKEY|ControlMask|ShiftMask, XK_2, toggletag, tags[1] }, |
|
| 83 | + | { MODKEY|ControlMask|ShiftMask, XK_3, toggletag, tags[2] }, |
|
| 84 | + | { MODKEY|ControlMask|ShiftMask, XK_4, toggletag, tags[3] }, |
|
| 85 | + | { MODKEY|ControlMask|ShiftMask, XK_5, toggletag, tags[4] }, |
|
| 86 | + | { MODKEY|ControlMask|ShiftMask, XK_6, toggletag, tags[5] }, |
|
| 87 | + | { MODKEY|ControlMask|ShiftMask, XK_7, toggletag, tags[6] }, |
|
| 88 | + | { MODKEY|ControlMask|ShiftMask, XK_8, toggletag, tags[7] }, |
|
| 89 | + | { MODKEY|ControlMask|ShiftMask, XK_9, toggletag, tags[8] }, |
|
| 90 | + | { MODKEY|ShiftMask, XK_q, quit, NULL }, |
|
| 92 | 91 | }; |
| 165 | 165 | void run(void); |
|
| 166 | 166 | void scan(void); |
|
| 167 | 167 | void setclientstate(Client *c, long state); |
|
| 168 | - | void setlayout(const char *arg); |
|
| 169 | 168 | void setmfact(const char *arg); |
|
| 170 | 169 | void setup(void); |
|
| 171 | 170 | void spawn(const char *arg); |
|
| 179 | 178 | void tilev(void); |
|
| 180 | 179 | void tilevstack(unsigned int n); |
|
| 181 | 180 | void togglefloating(const char *arg); |
|
| 181 | + | void togglelayout(const char *arg); |
|
| 182 | 182 | void toggletag(const char *arg); |
|
| 183 | 183 | void toggleview(const char *arg); |
|
| 184 | 184 | void unban(Client *c); |
|
| 335 | 335 | } |
|
| 336 | 336 | } |
|
| 337 | 337 | if((ev->x < x + blw) && ev->button == Button1) |
|
| 338 | - | setlayout(NULL); |
|
| 338 | + | togglelayout(NULL); |
|
| 339 | 339 | } |
|
| 340 | 340 | else if((c = getclient(ev->window))) { |
|
| 341 | 341 | focus(c); |
|
| 1376 | 1376 | } |
|
| 1377 | 1377 | ||
| 1378 | 1378 | void |
|
| 1379 | - | setlayout(const char *arg) { |
|
| 1380 | - | unsigned int i; |
|
| 1381 | - | ||
| 1382 | - | if(!arg) { |
|
| 1383 | - | if(++lt == &layouts[LENGTH(layouts)]) |
|
| 1384 | - | lt = &layouts[0]; |
|
| 1385 | - | } |
|
| 1386 | - | else { |
|
| 1387 | - | for(i = 0; i < LENGTH(layouts); i++) |
|
| 1388 | - | if(!strcmp(arg, layouts[i].symbol)) |
|
| 1389 | - | break; |
|
| 1390 | - | if(i == LENGTH(layouts)) |
|
| 1391 | - | return; |
|
| 1392 | - | lt = &layouts[i]; |
|
| 1393 | - | } |
|
| 1394 | - | if(sel) |
|
| 1395 | - | arrange(); |
|
| 1396 | - | else |
|
| 1397 | - | drawbar(); |
|
| 1398 | - | } |
|
| 1399 | - | ||
| 1400 | - | void |
|
| 1401 | 1379 | setmfact(const char *arg) { |
|
| 1402 | 1380 | double d; |
|
| 1403 | 1381 | ||
| 1633 | 1611 | if(sel->isfloating) |
|
| 1634 | 1612 | resize(sel, sel->x, sel->y, sel->w, sel->h, True); |
|
| 1635 | 1613 | arrange(); |
|
| 1614 | + | } |
|
| 1615 | + | ||
| 1616 | + | void |
|
| 1617 | + | togglelayout(const char *arg) { |
|
| 1618 | + | unsigned int i; |
|
| 1619 | + | ||
| 1620 | + | if(!arg) { |
|
| 1621 | + | if(++lt == &layouts[LENGTH(layouts)]) |
|
| 1622 | + | lt = &layouts[0]; |
|
| 1623 | + | } |
|
| 1624 | + | else { |
|
| 1625 | + | for(i = 0; i < LENGTH(layouts); i++) |
|
| 1626 | + | if(!strcmp(arg, layouts[i].symbol)) |
|
| 1627 | + | break; |
|
| 1628 | + | if(i == LENGTH(layouts)) |
|
| 1629 | + | return; |
|
| 1630 | + | lt = &layouts[i]; |
|
| 1631 | + | } |
|
| 1632 | + | if(sel) |
|
| 1633 | + | arrange(); |
|
| 1634 | + | else |
|
| 1635 | + | drawbar(); |
|
| 1636 | 1636 | } |
|
| 1637 | 1637 | ||
| 1638 | 1638 | void |
|