From 7e75d4051f575d601f8b140cc72425d8b5d32db9 Mon Sep 17 00:00:00 2001 From: krolyxon Date: Sat, 28 Jan 2023 13:11:56 +0530 Subject: [PATCH] toggle mpc keybind --- Makefile | 2 +- README.md | 5 +- config.def.h | 147 --------------------------------------------------- config.h | 1 + dwm | Bin 80288 -> 75264 bytes 5 files changed, 5 insertions(+), 150 deletions(-) delete mode 100644 config.def.h diff --git a/Makefile b/Makefile index 9ae64c5..0b3d26c 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ dwm: ${OBJ} ${CC} -o $@ ${OBJ} ${LDFLAGS} clean: - rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz + rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz *.orig *.rej dist: clean mkdir -p dwm-${VERSION} diff --git a/README.md b/README.md index a860733..85f8b17 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,9 @@ |mod+shift+enter|open scratchpad(st)| |mod+r|open dmenu| |mod+shift+x|kill window| -|mod+Tab|cycle through windows| -|mod+b|toggle statusbar| +| mod+Tab | cycle through windows | +| mod+b | toggle statusbar | +| mod+p | mpc toggle | |mod+F5|xrdb| |mod+h/l|resize windows horizontally| |mod+space|move the focused window to master| diff --git a/config.def.h b/config.def.h deleted file mode 100644 index c1f5131..0000000 --- a/config.def.h +++ /dev/null @@ -1,147 +0,0 @@ -/* See LICENSE file for copyright and license details. */ - -/* Constants */ -#define BROWSER "librewolf" -#define TERMINAL "st" - -/* appearance */ -static const unsigned int borderpx = 2; /* border pixel of windows */ -static const unsigned int gappx = 3; /* gaps between windows */ -static const unsigned int snap = 32; /* snap pixel */ -static const int showbar = 1; /* 0 means no bar */ -static const int topbar = 1; /* 0 means bottom bar */ -static const int user_bh = 17; /* 0 means that dwm will calculate bar height, >= 1 means dwm will user_bh as bar height */ -static const char *fonts[] = { "JetBrainsMono Nerd Font:size=11", "FontAwesome:size=10", "NotoColorEmoji:pixelsize=11:antialias=true:autohint=true" }; - -static char normbgcolor[] = "#222222"; -static char normbordercolor[] = "#444444"; -static char normfgcolor[] = "#bbbbbb"; -static char selfgcolor[] = "#eeeeee"; -static char selbordercolor[] = "#224488"; -static char selbgcolor[] = "#224488"; -static char *colors[][3] = { -/* fg bg border */ -[SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor }, -[SchemeSel] = { selfgcolor, selbgcolor, selbordercolor }, -}; -/* tagging */ -//static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; -static const char *tags[] = { " ", " ", " ", " ", " ", " ", " ", " ", " " }; - -static const Rule rules[] = { - /* xprop(1): - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ - /* class instance title tags mask isfloating monitor */ - { "Gimp", NULL, NULL, 0, 1, -1 }, -}; - -/* layout(s) */ -static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ -static const int nmaster = 1; /* number of clients in master area */ -static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ -static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ - -#include "fibonacci.c" -static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "[M]", monocle }, - { "[@]", spiral }, - { "[\\]", dwindle }, - { "><>", NULL }, /* no layout function means floating behavior */ -}; - -/* 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" }; -static const char *termcmd[] = { "st", NULL }; -static const char scratchpadname[] = "scratchpad"; -static const char *scratchpadcmd[] = { "st", "-t", scratchpadname, "-g", "120x34", NULL }; - -#include // this is to support XF86 keys - -static Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_grave, spawn, {.v = (const char*[]){ "unicode_emoji", NULL } } }, - { MODKEY, XK_r, spawn, {.v = dmenucmd } }, - { MODKEY, XK_Return, spawn, {.v = termcmd } }, - { MODKEY|ShiftMask, XK_Return, togglescratch, {.v = scratchpadcmd } }, - { MODKEY, XK_F5, xrdb, {.v = NULL } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_Tab, focusstack, {.i = +1 } }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, 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_space, zoom, {0} }, - /* { MODKEY, XK_Tab, view, {0} }, */ - { MODKEY|ShiftMask, XK_x, killclient, {0} }, - { MODKEY, XK_w, spawn, {.v = (const char*[]){ BROWSER, NULL } } }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, // tile - { MODKEY|ShiftMask, XK_u, setlayout, {.v = &layouts[1]} }, // monocle - { MODKEY, XK_y, setlayout, {.v = &layouts[2]} }, // spiral - { MODKEY|ShiftMask, XK_y, setlayout, {.v = &layouts[3]} }, // dwindle - { MODKEY|ShiftMask, XK_f, setlayout, {.v = &layouts[4]} }, - { MODKEY|ShiftMask, XK_r, togglefloating, {0} }, - { MODKEY, XK_f, togglefullscr, {0} }, - { MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_0, 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 } }, - // { MODKEY|ShiftMask, XK_h, layoutscroll, {.i = -1 } }, - { MODKEY|ShiftMask, XK_Tab, layoutscroll, {.i = +1 } }, - { MODKEY, XK_minus, setgaps, {.i = -1 } }, - { MODKEY, XK_equal, setgaps, {.i = +1 } }, - { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - TAGKEYS( XK_6, 5) - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - { MODKEY|ShiftMask, XK_q, quit, {0} }, - { 0, XK_Print, spawn, SHCMD("maimshot") }, - { MODKEY, XK_Escape, spawn, SHCMD("system_action") }, - { MODKEY, XK_m, spawn, {.v = (const char*[]){ TERMINAL, "-e", "ncmpcpp", NULL } } }, - { 0, XF86XK_AudioMute, spawn, SHCMD("pamixer -t; kill -34 $(cat ~/.cache/pidofbar") }, - { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pamixer -i 2; kill -34 $(cat ~/.cache/pidofbar)") }, - { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pamixer -d 2; kill -34 $(cat ~/.cache/pidofbar)") }, -}; - -/* button definitions */ -/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ -static Button buttons[] = { - /* click event mask button function argument */ - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, MODKEY, Button1, tag, {0} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, -}; - diff --git a/config.h b/config.h index c1f5131..561ccb1 100644 --- a/config.h +++ b/config.h @@ -126,6 +126,7 @@ static Key keys[] = { { 0, XF86XK_AudioMute, spawn, SHCMD("pamixer -t; kill -34 $(cat ~/.cache/pidofbar") }, { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pamixer -i 2; kill -34 $(cat ~/.cache/pidofbar)") }, { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pamixer -d 2; kill -34 $(cat ~/.cache/pidofbar)") }, + { MODKEY, XK_p, spawn, {.v = (const char*[]){ "mpc", "toggle", NULL } } }, }; /* button definitions */ diff --git a/dwm b/dwm index 1cac6dbb577f659be55fe1ccd17b4445b30624fb..d7cc387a8514390bf17aa2af2b6a47ebed54b247 100755 GIT binary patch delta 13351 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 J;Fs=@{{fSFT{Qpz delta 17924 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