diff options
| -rwxr-xr-x | config.def.h | 140 | ||||
| -rwxr-xr-x | config.h | 22 | ||||
| -rwxr-xr-x | dwm.c | 21 | ||||
| -rwxr-xr-x | quicksearch.c | 14 |
4 files changed, 19 insertions, 178 deletions
diff --git a/config.def.h b/config.def.h deleted file mode 100755 index f93406a..0000000 --- a/config.def.h +++ /dev/null @@ -1,140 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* Constants */ -#define TERMINAL "st" -#define BROWSER "icecat" - -/* appearance */ -static const unsigned int borderpx = 3; /* border pixel of windows */ -static const unsigned int snap = 16; /* snap pixel */ -static const int swallowfloating = 0; /* 1 means swallow floating windows by default */ -static const char *fonts[] = { "Terminess Nerd Font Mono:pixelsize=14, fontawesome:size=16" }; -static const char dmenufont[] = "Terminess Nerd Font Mono:pixelsize=14"; -static const char col_gray1[] = "#000000"; -static const char col_gray2[] = "#000000"; -static const char col_gray3[] = "#bbbbbb"; -static const char col_gray4[] = "#eeeeee"; -static const char col_cyan[] = "#bbbbbb"; -static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, -}; - -/* tagging */ -static const char *tags[] = { "1", "2", "3", "4", "5" }; - -static const Rule rules[] = { - /* xprop(1): - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ - /* class instance title tags mask isfloating isterminal noswallow monitor */ - { "steam", "steamwebhelper", NULL, 0, 1, 0, 0, -1 }, - { "Steam", "Steam", NULL, 0, 1, 0, 0, -1 }, - { "steam", "steamwebhelper", "Steam", 0, 0, 0, 0, -1 }, - { "steam", NULL, "Steam Settings", 0, 1, 0, 0, -1 }, - { "qemu-system-x86_64","qemu-system-x86_64",NULL, 0, 1, 0, 0, -1 }, - { "Virt-manager",NULL, NULL, 0, 0, 0, 0, -1 }, - { "qBittorrent", NULL, NULL, 0, 1, 0, 0, -1 }, - { "qBittorrent", "qbittorrent", NULL, 0, 1, 0, 0, -1 }, - { "St", "st", NULL, 0, 0, 1, 1, -1 }, - { "stfloat", "st", NULL, 0, 1, 1, 1, -1 }, - { "mpv", NULL, NULL, 0, 1, 0, 0, -1 }, - { "Nsxiv", NULL, NULL, 0, 1, 0, 0, -1 }, - { "scrcpy", NULL, NULL, 0, 1, 0, 0, -1 }, - { NULL, NULL, "Event Tester", 0, 0, 0, 1, -1 }, -}; - -/* layout(s) */ -static const float mfact = 0.5; /* factor of master area size [0.05..0.95] */ -static const int nmaster = 1; /* number of clients in master area */ -static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */ -static const int lockfullscreen = 0; /* 1 will force focus on the fullscreen window */ - -static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -}; - -/* key definitions */ -#define MODKEY Mod4Mask -#define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, - -/* helper for spawning shell commands in the pre dwm-5.0 fashion */ -#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } - -/* commands */ -static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ -static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; -static const char *termcmd[] = { "st", NULL }; - -#include <X11/XF86keysym.h> -static const Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_d, spawn, {.v = dmenucmd } }, - { MODKEY, XK_space, spawn, {.v = termcmd } }, - { MODKEY|ShiftMask, XK_space, spawn, SHCMD(TERMINAL" -e su") }, - { Mod1Mask, XK_space, spawn, SHCMD(TERMINAL" -c stfloat") }, - { Mod1Mask|ShiftMask, XK_space, spawn, SHCMD(TERMINAL" -c stfloat -e su") }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, - { MODKEY, XK_i, incnmaster, {.i = +1 } }, - { MODKEY, XK_u, incnmaster, {.i = -1 } }, - { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { Mod1Mask, XK_Tab, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY, XK_q, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - // { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, - { MODKEY|ShiftMask, XK_f, togglefloating, {0} }, - { MODKEY, XK_f, togglefullscr, {0} }, - { MODKEY, XK_grave, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_grave, tag, {.ui = ~0 } }, - { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - { MODKEY|ShiftMask, XK_End, quit, {0} }, - { MODKEY|ShiftMask, XK_r, quit, {1} }, - - { MODKEY, XK_e, spawn, SHCMD(TERMINAL" -e mc --nosubshell") }, - { Mod1Mask, XK_e, spawn, SHCMD(TERMINAL" -c stfloat -e mc --nosubshell") }, - { MODKEY|ShiftMask, XK_m, spawn, SHCMD(TERMINAL" -e neomutt") }, - { MODKEY, XK_n, spawn, SHCMD(TERMINAL" -e newsboat") }, - { MODKEY, XK_Escape, spawn, SHCMD(TERMINAL" -e htop") }, - { Mod1Mask, XK_Escape, spawn, SHCMD(TERMINAL" -c stfloat -e htop") }, - { MODKEY, XK_x, spawn, SHCMD("xkill") }, - { MODKEY, XK_s, spawn, SHCMD("steam") }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("pkill -9 steam") }, - { MODKEY, XK_w, spawn, SHCMD(BROWSER) }, - { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("amixer sset Master 5%+") }, - { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("amixer sset Master 5%-") }, - { 0, XF86XK_AudioMute, spawn, SHCMD("amixer sset Master toggle") }, - { 0, XF86XK_MonBrightnessUp, spawn, SHCMD("xbacklight -inc 10") }, - { 0, XF86XK_MonBrightnessDown, spawn, SHCMD("xbacklight -dec 10") }, - { MODKEY, XK_Print, spawn, SHCMD("maimpick") }, -}; - -/* button definitions */ -/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ -static const Button buttons[] = { - /* click event mask button function argument */ - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, -}; - @@ -77,7 +77,7 @@ static const char *termcmd[] = { TERMINAL, NULL }; #include <X11/XF86keysym.h> static const Key keys[] = { /* modifier key function argument */ - { MODKEY, XK_space, spawn, {.v = termcmd } }, + { MODKEY, XK_space, spawn, {.v = termcmd } }, { MODKEY, XK_d, spawn, SHCMD("dmenu_run") }, { Mod1Mask, XK_space, spawn, SHCMD(TERMINAL" -c stfloat") }, { MODKEY, XK_j, focusstack, {.i = +1 } }, @@ -91,7 +91,7 @@ static const Key keys[] = { { MODKEY, XK_q, killclient, {0} }, { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[1]} }, - { MODKEY|ShiftMask, XK_f, togglefullscr, {0} }, + { MODKEY|ShiftMask, XK_f, togglefullscr, {0} }, { MODKEY, XK_f, togglefloating, {0} }, { MODKEY, XK_grave, view, {.ui = ~0 } }, { MODKEY|ShiftMask, XK_grave, tag, {.ui = ~0 } }, @@ -115,22 +115,20 @@ static const Key keys[] = { { MODKEY, XK_Escape, spawn, SHCMD(TERMINAL" -e htop") }, { Mod1Mask, XK_Escape, spawn, SHCMD(TERMINAL" -c stfloat -e htop") }, { Mod1Mask, XK_t, spawn, SHCMD(TERMINAL" -c stfloat -e gnuwatch -n 1 transmission-remote -l") }, - { MODKEY, XK_x, spawn, SHCMD("xkill") }, - { MODKEY, XK_s, spawn, SHCMD("steam") }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("pkill -9 steam") }, - { MODKEY, XK_w, spawn, SHCMD(BROWSER) }, + { MODKEY, XK_x, spawn, SHCMD("xkill") }, + { MODKEY, XK_s, spawn, SHCMD("steam") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("pkill -9 steam") }, + { MODKEY, XK_w, spawn, SHCMD(BROWSER) }, { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("amixer sset Master 5%+") }, { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("amixer sset Master 5%-") }, { 0, XF86XK_AudioMute, spawn, SHCMD("amixer sset Master toggle") }, { 0, XF86XK_MonBrightnessUp, spawn, SHCMD("xbacklight -inc 10") }, { 0, XF86XK_MonBrightnessDown, spawn, SHCMD("xbacklight -dec 10") }, - { MODKEY, XK_Print, spawn, SHCMD("maimpick") }, - - { MODKEY, XK_c, spawn, SHCMD("pgrep xcompmgr && pkill -9 xcompmgr || xcompmgr &") }, - - { ControlMask, XK_F1, spawn, SHCMD("amixer sset Master toggle") }, + { MODKEY, XK_Print, spawn, SHCMD("maimpick") }, + { MODKEY, XK_c, spawn, SHCMD("pgrep xcompmgr && pkill -9 xcompmgr || xcompmgr &") }, + { ControlMask, XK_F1, spawn, SHCMD("amixer sset Master toggle") }, { ControlMask, XK_F2, spawn, SHCMD("amixer sset Master 5%-") }, - { ControlMask, XK_F3, spawn, SHCMD("amixer sset Master 5%+") }, + { ControlMask, XK_F3, spawn, SHCMD("amixer sset Master 5%+") }, { MODKEY, XK_p, quicksearch, {0} }, }; @@ -206,7 +206,6 @@ static void setfullscreen(Client *c, int fullscreen); static void setlayout(const Arg *arg); static void setmfact(const Arg *arg); static void setup(void); -// static void seturgent(Client *c, int urg); static void showhide(Client *c); static void sighup(int unused); static void sigterm(int unused); @@ -567,10 +566,7 @@ clientmessage(XEvent *e) || cme->data.l[2] == netatom[NetWMFullscreen]) setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */ || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen))); - } // else if (cme->message_type == netatom[NetActiveWindow]) { -// if (c != selmon->sel && !c->isurgent) -// seturgent(c, 1); -// } + } } void @@ -767,8 +763,6 @@ focus(Client *c) if (c) { if (c->mon != selmon) selmon = c->mon; -// if (c->isurgent) -// seturgent(c, 0); detachstack(c); attachstack(c); grabbuttons(c, 1); @@ -1574,19 +1568,6 @@ setup(void) focus(NULL); } -// void -// seturgent(Client *c, int urg) -// { -// XWMHints *wmh; -// -// c->isurgent = urg; -// if (!(wmh = XGetWMHints(dpy, c->win))) -// return; -// wmh->flags = urg ? (wmh->flags | XUrgencyHint) : (wmh->flags & ~XUrgencyHint); -// XSetWMHints(dpy, c->win, wmh); -// XFree(wmh); -// } - void showhide(Client *c) { diff --git a/quicksearch.c b/quicksearch.c index 9cc517c..1f8f248 100755 --- a/quicksearch.c +++ b/quicksearch.c @@ -20,12 +20,13 @@ quicksearch(const Arg *arg) int first = 1; for (int i = 0; i < LENGTH(tags); i++) { if (c->tags & (1 << i)) { - if (!first) tag_len += sprintf(tag_str + tag_len, ","); - tag_len += sprintf(tag_str + tag_len, "%d", i + 1); + + if (!first) tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, ","); + tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, "%d", i + 1); first = 0; } } - tag_len += sprintf(tag_str + tag_len, "] "); + tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, "] "); size_t name_len = strlen(c->name); size_t needed = names_len + tag_len + name_len + 1; @@ -44,9 +45,10 @@ quicksearch(const Arg *arg) die("quicksearch: realloc failed"); } - strcpy(names + names_len, tag_str); - names_len += tag_len; - strcpy(names + names_len, c->name); + strlcpy(names + names_len, tag_str, names_size - names_len); + names_len += tag_len; + strlcpy(names + names_len, c->name, names_size - names_len); + names_len += name_len; names[names_len] = '\n'; names_len++; |
