diff --git a/config.def.h b/config.def.h index c87fd19..618ffbf 100644 --- a/config.def.h +++ b/config.def.h @@ -18,10 +18,12 @@ static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; static const char col_gray4[] = "#eeeeee"; static const char col_cyan[] = "#005577"; +static const char col_urgborder[] = "#ff0000"; static const char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + [SchemeUrg] = { col_gray4, col_cyan, col_urgborder }, }; /* staticstatus */ diff --git a/config.h b/config.h index c7ab64b..0fce2a3 100644 --- a/config.h +++ b/config.h @@ -19,11 +19,13 @@ static const char col_gray3[] = "#bbbbbb"; static const char col_gray4[] = "#eeeeee"; static const char col_cyan[] = "#005577"; static const char col_green[] = "#384f00"; +static const char col_urgborder[] = "#ff0000"; static const char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, [SchemeSelMon] = { col_gray3, col_green, col_green }, // for selected monitor [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + [SchemeUrg] = { col_gray4, col_cyan, col_urgborder }, }; /* static status will always be on this monitor */ @@ -38,7 +40,7 @@ static const Rule rules[] = { * WM_NAME(STRING) = title */ /* class instance title tags mask isfloating monitor */ - { "Gimp", NULL, NULL, 0, 1, -1 }, + // { "Gimp", NULL, NULL, 0, 1, -1 }, { NULL, "slack", NULL, 0, 0, 0 }, { NULL, "zoom", NULL, 1 << 1, 0, 0 }, { NULL, "joplin", NULL, 0, 0, 2 }, @@ -101,13 +103,14 @@ static const Key keys[] = { { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY, XK_Tab, focusstack, {.i = +1 } }, + { MODKEY|ShiftMask, XK_Tab, focusstack, {.i = -1 } }, { MODKEY, XK_i, incnmaster, {.i = +1 } }, { MODKEY, XK_d, incnmaster, {.i = -1 } }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, { MODKEY, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, diff --git a/dwm.c b/dwm.c index 7cebeb4..7f775d1 100644 --- a/dwm.c +++ b/dwm.c @@ -59,7 +59,7 @@ /* enums */ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -enum { SchemeNorm, SchemeSelMon, SchemeSel }; /* color schemes */ +enum { SchemeNorm, SchemeSelMon, SchemeSel, SchemeUrg }; /* color schemes */ enum { NetSupported, NetWMName, NetWMState, NetWMCheck, NetWMFullscreen, NetActiveWindow, NetWMWindowType, NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ @@ -2017,8 +2017,11 @@ updatewmhints(Client *c) if (c == selmon->sel && wmh->flags & XUrgencyHint) { wmh->flags &= ~XUrgencyHint; XSetWMHints(dpy, c->win, wmh); - } else + } else { c->isurgent = (wmh->flags & XUrgencyHint) ? 1 : 0; + if (c->isurgent) + XSetWindowBorder(dpy, c->win, scheme[SchemeUrg][ColBorder].pixel); + } if (wmh->flags & InputHint) c->neverfocus = !wmh->input; else