patch-config.h - pkgsrc-localpatches - leot's pkgsrc LOCALPATCHES
(HTM) hg clone https://bitbucket.org/iamleot/pkgsrc-localpatches
(DIR) Log
(DIR) Files
(DIR) Refs
---
patch-config.h
---
1 --- /dev/null 2015-11-09 10:41:47.000000000 +0100
2 +++ config.h 2015-11-09 10:40:39.000000000 +0100
3 @@ -0,0 +1,159 @@
4 +/* See LICENSE file for copyright and license details. */
5 +
6 +/* appearance */
7 +static const char *fonts[] = { "Droid Sans Mono:size=9" };
8 +static const char dmenufont[] = "Droid Sans Mono:size=9";
9 +static const char normbordercolor[] = "#777777";
10 +static const char normbgcolor[] = "#000000";
11 +static const char normfgcolor[] = "#777777";
12 +static const char selbordercolor[] = "#ffffff";
13 +static const char selbgcolor[] = "#000000";
14 +static const char selfgcolor[] = "#ffffff";
15 +static const char *colors[][3] = {
16 + /* fg bg border */
17 + [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
18 + [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
19 +};
20 +static const unsigned int borderpx = 1; /* border pixel of windows */
21 +static const unsigned int snap = 32; /* snap pixel */
22 +static const int showbar = 1; /* 0 means no bar */
23 +static const int topbar = 1; /* 0 means bottom bar */
24 +
25 +/* tagging */
26 +static const char *tags[] = { "F1", "F2", "F3", "F4", "F5" };
27 +
28 +static const Rule rules[] = {
29 + /* xprop(1):
30 + * WM_CLASS(STRING) = instance, class
31 + * WM_NAME(STRING) = title
32 + */
33 + /* class instance title tags mask isfloating monitor */
34 + { "mpv", NULL, NULL, 0, 1, -1 },
35 + { "xterm-float", NULL, NULL, 0, 1, -1 },
36 + { NULL, "Navigator",NULL, 1 << 1, 0, -1 },
37 + { "Vimb", NULL, NULL, 1 << 1, 0, -1 },
38 + { "Midori", NULL, NULL, 1 << 1, 0, -1 },
39 + { "Surf", NULL, NULL, 1 << 1, 0, -1 },
40 + { "Links", NULL, NULL, 1 << 1, 0, -1 },
41 + { "Netsurf-gtk", NULL, NULL, 1 << 1, 0, -1 },
42 + { "Luakit", NULL, NULL, 1 << 1, 0, -1 },
43 + { "tabbed", NULL, NULL, 1 << 1, 0, -1 },
44 + { "MuPDF", NULL, NULL, 1 << 2, 0, -1 },
45 + { "Zathura", NULL, NULL, 1 << 2, 0, -1 },
46 + { "Emacs", NULL, NULL, 1 << 3, 0, -1 },
47 + { "Gimp", NULL, NULL, 1 << 3, 0, -1 },
48 + { "SDL_App", "SDL_App", NULL, 0, 1, -1 },
49 +};
50 +
51 +/* layout(s) */
52 +static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
53 +static const int nmaster = 1; /* number of clients in master area */
54 +static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
55 +
56 +static const Layout layouts[] = {
57 + /* symbol arrange function */
58 + { "[M]", monocle }, /* first entry is default */
59 + { "[]=", tile },
60 + { "><>", NULL }, /* no layout function means floating behavior */
61 +};
62 +
63 +static void
64 +moveresize(const Arg *arg) {
65 + XEvent ev;
66 + Monitor *m = selmon;
67 +
68 + if(!(m->sel && arg && arg->v && m->sel->isfloating))
69 + return;
70 +
71 + resize(m->sel, m->sel->x + ((int *)arg->v)[0],
72 + m->sel->y + ((int *)arg->v)[1],
73 + m->sel->w + ((int *)arg->v)[2],
74 + m->sel->h + ((int *)arg->v)[3],
75 + True);
76 +
77 + while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
78 +}
79 +
80 +/* key definitions */
81 +#define MODKEY Mod5Mask
82 +#define TAGKEYS(KEY,TAG) \
83 + { 0, KEY, view, {.ui = 1 << TAG} }, \
84 + { ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
85 + { ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
86 + { ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
87 +
88 +/* helper for spawning shell commands in the pre dwm-5.0 fashion */
89 +#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
90 +
91 +/* commands */
92 +static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
93 +static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
94 +static const char *lockcmd[] = { "slock", NULL };
95 +static const char *passmenucmd[] = { "passmenu", "--type", NULL };
96 +static const char *xplumbcmd[] = { "xplumb", NULL };
97 +static const char *termcmd[] = { "xterm", NULL };
98 +static const char *termfloatcmd[] = { "xterm-float", NULL };
99 +static const char *tmuxtermcmd[] = { "mxterm", NULL };
100 +static const char *srmenucmd[] = { "srmenu", NULL };
101 +static const char *webbrowsercmd[] = { "webbrowser", NULL };
102 +
103 +static Key keys[] = {
104 + /* modifier key function argument */
105 + { 0, XK_Menu, spawn, {.v = dmenucmd } },
106 + { MODKEY, XK_e, spawn, {.v = dmenucmd } },
107 + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
108 + { MODKEY|Mod1Mask, XK_Return, spawn, {.v = termfloatcmd } },
109 + { MODKEY, XK_a, spawn, {.v = tmuxtermcmd } },
110 + { 0, XK_Multi_key, spawn, {.v = webbrowsercmd} },
111 + { MODKEY, XK_w, spawn, {.v = webbrowsercmd} },
112 + { MODKEY, XK_Multi_key, spawn, {.v = srmenucmd} },
113 + { MODKEY|ShiftMask, XK_s, spawn, {.v = srmenucmd} },
114 + { MODKEY, XK_p, spawn, {.v = xplumbcmd } },
115 + { MODKEY|ShiftMask, XK_p, spawn, {.v = passmenucmd } },
116 + { MODKEY, XK_s, spawn, {.v = lockcmd } },
117 + { MODKEY, XK_b, togglebar, {0} },
118 + { MODKEY, XK_j, focusstack, {.i = +1 } },
119 + { MODKEY, XK_k, focusstack, {.i = -1 } },
120 + { MODKEY, XK_i, incnmaster, {.i = +1 } },
121 + { MODKEY, XK_d, incnmaster, {.i = -1 } },
122 + { MODKEY, XK_h, setmfact, {.f = -0.05} },
123 + { MODKEY, XK_l, setmfact, {.f = +0.05} },
124 + { MODKEY, XK_Return, zoom, {0} },
125 + { MODKEY, XK_Tab, view, {0} },
126 + { MODKEY|ShiftMask, XK_c, killclient, {0} },
127 + { MODKEY, XK_m, setlayout, {.v = &layouts[0]} },
128 + { MODKEY, XK_t, setlayout, {.v = &layouts[1]} },
129 + { MODKEY, XK_f, setlayout, {.v = &layouts[2]} },
130 + { MODKEY, XK_space, setlayout, {0} },
131 + { MODKEY|ShiftMask, XK_space, togglefloating, {0} },
132 + { MODKEY, XK_0, view, {.ui = ~0 } },
133 + { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
134 + { MODKEY, XK_comma, focusmon, {.i = -1 } },
135 + { MODKEY, XK_period, focusmon, {.i = +1 } },
136 + { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
137 + { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
138 + TAGKEYS( XK_F1, 0)
139 + TAGKEYS( XK_F2, 1)
140 + TAGKEYS( XK_F3, 2)
141 + TAGKEYS( XK_F4, 3)
142 + TAGKEYS( XK_F5, 4)
143 + { MODKEY|ShiftMask, XK_q, quit, {0} },
144 + { MODKEY, XK_Down, moveresize, {.v = (int []){0, 25, 0, 0}}},
145 + { MODKEY, XK_Up, moveresize, {.v = (int []){0, -25, 0, 0}}},
146 + { MODKEY, XK_Right, moveresize, {.v = (int []){25, 0, 0, 0}}},
147 + { MODKEY, XK_Left, moveresize, {.v = (int []){-25, 0, 0, 0}}},
148 + { MODKEY|ShiftMask, XK_Down, moveresize, {.v = (int []){0, 0, 0, 25}}},
149 + { MODKEY|ShiftMask, XK_Up, moveresize, {.v = (int []){0, 0, 0, -25}}},
150 + { MODKEY|ShiftMask, XK_Right, moveresize, {.v = (int []){0, 0, 25, 0}}},
151 + { MODKEY|ShiftMask, XK_Left, moveresize, {.v = (int []){0, 0, -25, 0}}},
152 +};
153 +
154 +/* button definitions */
155 +/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
156 +static Button buttons[] = {
157 + /* click event mask button function argument */
158 + { ClkWinTitle, 0, Button2, zoom, {0} },
159 + { ClkClientWin, MODKEY, Button1, movemouse, {0} },
160 + { ClkClientWin, MODKEY, Button2, togglefloating, {0} },
161 + { ClkClientWin, MODKEY, Button3, resizemouse, {0} },
162 +};