feat: metaws pin
This commit is contained in:
parent
b4c17e4a80
commit
448eee179a
2 changed files with 22 additions and 8 deletions
9
config.h
9
config.h
|
@ -94,8 +94,6 @@ static const char *termcmd[] = { "alacritty", NULL };
|
||||||
static const Key keys[] = {
|
static const Key keys[] = {
|
||||||
/* modifier key function argument */
|
/* modifier key function argument */
|
||||||
// movement
|
// movement
|
||||||
// { MODKEY|ShiftMask, XK_l, incnmaster, {.i = +1 } },
|
|
||||||
// { MODKEY|ShiftMask, XK_h, incnmaster, {.i = -1 } },
|
|
||||||
{ MODKEY, XK_d, spawn, {.v = dmenucmd } },
|
{ MODKEY, XK_d, spawn, {.v = dmenucmd } },
|
||||||
{ MODKEY, XK_Return, spawn, {.v = termcmd } },
|
{ MODKEY, XK_Return, spawn, {.v = termcmd } },
|
||||||
{ MODKEY|ShiftMask, XK_b, togglebar, {0} },
|
{ MODKEY|ShiftMask, XK_b, togglebar, {0} },
|
||||||
|
@ -103,20 +101,19 @@ static const Key keys[] = {
|
||||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||||
{ MODKEY, XK_n, setmfact, {.f = -0.05} },
|
{ MODKEY, XK_n, setmfact, {.f = -0.05} },
|
||||||
{ MODKEY, XK_m, setmfact, {.f = +0.05} },
|
{ MODKEY, XK_m, setmfact, {.f = +0.05} },
|
||||||
|
{ MODKEY|ShiftMask, XK_n, incnmaster, {.i = -1} },
|
||||||
|
{ MODKEY|ShiftMask, XK_m, incnmaster, {.i = +1} },
|
||||||
{ MODKEY, XK_c, zoom, {0} },
|
{ MODKEY, XK_c, zoom, {0} },
|
||||||
{ MODKEY, XK_q, killclient, {0} },
|
{ MODKEY, XK_q, killclient, {0} },
|
||||||
|
|
||||||
// layout
|
// layout
|
||||||
{ MODKEY|ControlMask, XK_u, setlayout, {.v = &layouts[0]} },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_u, setlayout, {.v = &layouts[1]} },
|
|
||||||
{ MODKEY|ControlMask, XK_m, setlayout, {.v = &layouts[2]} },
|
|
||||||
{ MODKEY|ControlMask|ShiftMask, XK_m, setlayout, {.v = &layouts[3]} },
|
|
||||||
{ MODKEY, XK_f, togglefullscr, {0} },
|
{ MODKEY, XK_f, togglefullscr, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_f, togglefloating, {0} },
|
{ MODKEY|ShiftMask, XK_f, togglefloating, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_j, movestack, {.i = +1 } },
|
{ MODKEY|ShiftMask, XK_j, movestack, {.i = +1 } },
|
||||||
{ MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } },
|
{ MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } },
|
||||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||||
{ MODKEY|ControlMask, XK_0, tag, {.ui = ~0 } },
|
{ MODKEY|ControlMask, XK_0, tag, {.ui = ~0 } },
|
||||||
|
{ AltMask|ControlMask, XK_0, pinmetaws, {0} },
|
||||||
{ MODKEY|ControlMask, XK_p, invertdir, {0} },
|
{ MODKEY|ControlMask, XK_p, invertdir, {0} },
|
||||||
|
|
||||||
// apps
|
// apps
|
||||||
|
|
21
dwm.c
21
dwm.c
|
@ -210,6 +210,7 @@ static void monocle(Monitor *m);
|
||||||
static void motionnotify(XEvent *e);
|
static void motionnotify(XEvent *e);
|
||||||
static void movemouse(const Arg *arg);
|
static void movemouse(const Arg *arg);
|
||||||
static Client *nexttiled(Client *c);
|
static Client *nexttiled(Client *c);
|
||||||
|
static void pinmetaws(const Arg* _);
|
||||||
static void pop(Client *c);
|
static void pop(Client *c);
|
||||||
static void propertynotify(XEvent *e);
|
static void propertynotify(XEvent *e);
|
||||||
static void quit(const Arg *arg);
|
static void quit(const Arg *arg);
|
||||||
|
@ -938,8 +939,11 @@ expose(XEvent *e)
|
||||||
void
|
void
|
||||||
focus(Client *c)
|
focus(Client *c)
|
||||||
{
|
{
|
||||||
if (!c || !ISVISIBLE(c))
|
if (!c || !ISVISIBLE(c)) {
|
||||||
for (c = selmon->stack; c && (!ISVISIBLE(c) || c->isfloating); c = c->snext);
|
for (c = selmon->stack; c && (!ISVISIBLE(c) || (!c->isfullscreen && c->isfloating)); c = c->snext);
|
||||||
|
if (!c) for (c = selmon->stack; c && !ISVISIBLE(c); c = c->snext);
|
||||||
|
}
|
||||||
|
|
||||||
if (selmon->sel && selmon->sel != c)
|
if (selmon->sel && selmon->sel != c)
|
||||||
unfocus(selmon->sel, 0);
|
unfocus(selmon->sel, 0);
|
||||||
if (c) {
|
if (c) {
|
||||||
|
@ -1403,6 +1407,19 @@ nexttiled(Client *c)
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pinmetaws(const Arg *_)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
Client *c = selmon->sel;
|
||||||
|
if (!selmon || !selmon->sel)
|
||||||
|
return;
|
||||||
|
|
||||||
|
c->mwpin = !c->mwpin;
|
||||||
|
for(i = 0; i < LENGTH(metaworkspaces); ++i)
|
||||||
|
c->tags[i] = c->tags[metaws];
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
pop(Client *c)
|
pop(Client *c)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue