chore: metaws keybinds update

This commit is contained in:
Arthur Khachaturov 2024-08-21 03:57:31 +03:00
parent 11e5640955
commit 2a78d9b17c
No known key found for this signature in database
GPG key ID: CAC2B7EB6DF45D55
2 changed files with 30 additions and 60 deletions

View file

@ -72,20 +72,21 @@ static const Layout layouts[] = {
/* key definitions */
#define MODKEY Mod4Mask
#define AltMask Mod1Mask
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|ShiftMask, KEY, tagview, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|Mod1Mask, KEY, toggletag, {.ui = 1 << TAG} }, \
{ MODKEY|AltMask, KEY, toggletag, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask|ShiftMask, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|Mod1Mask|ControlMask, KEY, tagmetaws, {.i = TAG} }, \
{ MODKEY|Mod1Mask|ShiftMask|ControlMask, KEY, tagviewmetaws, {.i = TAG} },
{ AltMask, KEY, viewmetaws, {.ui = TAG} }, \
{ AltMask|ShiftMask, KEY, tagviewmetaws, {.ui = TAG} }, \
{ AltMask|ControlMask, KEY, tagmetaws, {.ui = TAG} }, \
#define SHCMD(...) { .v = (const char*[]){ __VA_ARGS__, NULL } }
/* commands */
static char dmenumon[2] = "0";
// static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_accent, "-sf", col_gray4, NULL };
static const char *dmenucmd[] = { "dmenu_run", NULL };
static const char *termcmd[] = { "alacritty", NULL };
@ -118,32 +119,26 @@ static const Key keys[] = {
{ MODKEY|ControlMask, XK_0, tag, {.ui = ~0 } },
{ MODKEY|ControlMask, XK_p, invertdir, {0} },
// metaws
{ MODKEY|Mod1Mask, XK_i, traversemetaws, {.i = +1} },
{ MODKEY|Mod1Mask, XK_u, traversemetaws, {.i = -1} },
{ MODKEY|Mod1Mask, XK_m, tagmetaws, {.i = -1} },
{ MODKEY|ControlMask|Mod1Mask, XK_i, moveviewmetaws, {.i = +1} },
{ MODKEY|ControlMask|Mod1Mask, XK_u, moveviewmetaws, {.i = -1} },
{ MODKEY|ShiftMask|ControlMask|Mod1Mask, XK_i, movemetaws, {.i = +1} },
{ MODKEY|ShiftMask|ControlMask|Mod1Mask, XK_u, movemetaws, {.i = -1} },
// apps
{ MODKEY, XK_w, spawn, SHCMD("firefox") },
{ MODKEY|ShiftMask, XK_p, spawn, SHCMD("cast") },
{ MODKEY, XK_t, spawn, SHCMD("ayugram-desktop") },
{ MODKEY|ShiftMask, XK_s, spawn, SHCMD("flameshot", "gui") },
{ MODKEY|ShiftMask, XK_r, spawn, SHCMD("xr") },
// dunst
{ MODKEY, XK_i, spawn, SHCMD("dunstctl", "history-pop") },
{ MODKEY, XK_o, spawn, SHCMD("dunstctl", "close") },
{ MODKEY|ControlMask, XK_i, spawn, SHCMD("dunstctl", "set-paused", "false") },
{ MODKEY|ControlMask, XK_o, spawn, SHCMD("dunstctl", "set-paused", "true") },
{ MODKEY|ShiftMask, XK_i, spawn, SHCMD("dunstctl", "context") },
{ MODKEY|ShiftMask, XK_o, spawn, SHCMD("dunstctl", "action") },
{ MODKEY|ShiftMask, XK_r, spawn, SHCMD("xr") },
{ MODKEY, XK_x, spawn, SHCMD("vesktop") },
// vpn
{ MODKEY, XK_v, spawn, SHCMD("vpn", "msk") },
{ MODKEY|ControlMask, XK_v, spawn, SHCMD("vpn", "-d") },
{ MODKEY|ShiftMask, XK_v, spawn, SHCMD("vpn") },
{ MODKEY|AltMask, XK_v, spawn, SHCMD("vpn", "-d", "msk") },
// volume
{ MODKEY|ShiftMask, XK_Up, spawn, SHCMD("volume", "+1") },
{ MODKEY|ShiftMask, XK_Down, spawn, SHCMD("volume", "-1") },
{ MODKEY, XK_Up, spawn, SHCMD("volume", "+5") },
@ -182,9 +177,9 @@ static const Button buttons[] = {
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, ShiftMask, Button1, tagview, {0} },
{ ClkTagBar, ControlMask, Button1, tag, {0} },
{ ClkTagBar, Mod1Mask, Button1, toggletag, {0} },
{ ClkTagBar, AltMask, Button1, toggletag, {0} },
{ ClkTagBar, ControlMask|ShiftMask, Button1, toggleview, {0} },
{ ClkMwSymbol, 0, Button1, traversemetaws, {.i = +1} },
{ ClkMwSymbol, 0, Button3, traversemetaws, {.i = -1} },
{ ClkMwSymbol, 0, Button1, cyclemetaws, {.i = +1} },
{ ClkMwSymbol, 0, Button3, cyclemetaws, {.i = -1} },
};

43
dwm.c
View file

@ -179,6 +179,7 @@ static void configure(Client *c);
static void configurenotify(XEvent *e);
static void configurerequest(XEvent *e);
static Monitor *createmon(void);
static void cyclemetaws(const Arg *arg);
static void destroynotify(XEvent *e);
static void detach(Client *c);
static void detachstack(Client *c);
@ -208,8 +209,6 @@ static void maprequest(XEvent *e);
static void monocle(Monitor *m);
static void motionnotify(XEvent *e);
static void movemouse(const Arg *arg);
static void movemetaws(const Arg *arg);
static void moveviewmetaws(const Arg *arg);
static Client *nexttiled(Client *c);
static void pop(Client *c);
static void propertynotify(XEvent *e);
@ -246,7 +245,6 @@ static void togglefloating(const Arg *arg);
static void togglefullscr(const Arg *arg);
static void toggletag(const Arg *arg);
static void toggleview(const Arg *arg);
static void traversemetaws(const Arg *arg);
static void unfocus(Client *c, int setfocus);
static void unmanage(Client *c, int destroyed);
static void unmapnotify(XEvent *e);
@ -784,6 +782,11 @@ createmon(void)
return m;
}
void cyclemetaws(const Arg *arg) {
Arg a = {.ui = (metaws + arg->i + (LENGTH(metaworkspaces))) % LENGTH(metaworkspaces)};
viewmetaws(&a);
}
void
destroynotify(XEvent *e)
{
@ -1331,21 +1334,6 @@ motionnotify(XEvent *e)
mon = m;
}
void
movemetaws(const Arg *arg)
{
const Arg a = {.i = (metaws + arg->i + LENGTH(metaworkspaces)) % LENGTH(metaworkspaces)};
tagmetaws(&a);
}
void
moveviewmetaws(const Arg *arg)
{
const Arg a = {.i = (metaws + arg->i + LENGTH(metaworkspaces)) % LENGTH(metaworkspaces)};
tagmetaws(&a);
viewmetaws(&a);
}
void
movemouse(const Arg *arg)
{
@ -1920,9 +1908,6 @@ spawn(const Arg *arg)
{
struct sigaction sa;
if (arg->v == dmenucmd)
dmenumon[0] = '0' + selmon->num;
if (fork() == 0) {
if (dpy)
close(ConnectionNumber(dpy));
@ -2074,17 +2059,6 @@ toggleview(const Arg *arg)
}
}
void
traversemetaws(const Arg *arg)
{
if (!arg->i) return;
metaws = (metaws + arg->i + (LENGTH(metaworkspaces))) % LENGTH(metaworkspaces);
snprintf(mwsymbol, LENGTH(mwsymbol), "%s", metaworkspaces[metaws]);
focus(NULL);
arrange(NULL);
drawbars();
}
void
unfocus(Client *c, int setfocus)
{
@ -2412,14 +2386,15 @@ view(const Arg *arg)
void
viewmetaws(const Arg *arg)
{
if (arg->ui < LENGTH(metaworkspaces)) {
if (arg->ui >= LENGTH(metaworkspaces))
return;
metaws = arg->ui;
snprintf(mwsymbol, LENGTH(mwsymbol), "%s", metaworkspaces[metaws]);
focus(NULL);
arrange(NULL);
drawbars();
}
}
pid_t
winpid(Window w)