From 5b0ef347d520df0c9f477d48fced588bc043a57a Mon Sep 17 00:00:00 2001 From: Linux User Date: Sun, 14 Aug 2022 16:43:36 +0000 Subject: [PATCH] Mono to Just font for normal icons --- config.def.h | 23 +++++---- config.def.h.save | 123 +++++++++++++++++++++++++++++++++++++++++++++ config.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++ dwm | Bin 67200 -> 67152 bytes dwm.o | Bin 58088 -> 57992 bytes 5 files changed, 259 insertions(+), 11 deletions(-) create mode 100644 config.def.h.save create mode 100644 config.h diff --git a/config.def.h b/config.def.h index f178e35..e174a6c 100644 --- a/config.def.h +++ b/config.def.h @@ -2,7 +2,7 @@ /* appearance */ -#define FONT "JetBrainsMono Nerd Font Mono" +#define FONT "JetBrainsMono Nerd Font" #define FONTSIZE "10" static const unsigned int borderpx = 4; @@ -12,7 +12,7 @@ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ static const int horizpadbar = 5; static const int vertpadbar = 6; -static const char *fonts[] = { FONT":size=10" }; +static const char *fonts[] = { FONT":size=10", "Symbols Nerd Font:size=20" }; static const char dmenufont[] = FONT":size="FONTSIZE; static const char col_gray1[] = "#222222"; static const char col_gray2[] = "#444444"; @@ -26,7 +26,7 @@ static const char *colors[][3] = { }; /* tagging */ -static const char *tags[] = { "", "", "3", "4", "5", "6", "7", "8", "" }; +static const char *tags[] = { "", "", "3", "4", "5", "6", "7", "8", "" }; static const Rule rules[] = { /* xprop(1): @@ -52,7 +52,8 @@ static const Layout layouts[] = { }; /* key definitions */ -#define MODKEY Mod1Mask +#define MODKEY Mod4Mask +#define MODKEY2 Mod1Mask #define TAGKEYS(KEY,TAG) \ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ @@ -70,21 +71,21 @@ static const char *termcmd[] = { "st", NULL }; static Key keys[] = { /* modifier key function argument */ { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_Return, spawn, {.v = termcmd } }, { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, + { MODKEY2, XK_Tab, 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_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY|ShiftMask, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {.i = +1} }, + { 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, XK_space, setlayout, {0} }, +/* { MODKEY, XK_space, setlayout, {0} }, */ { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, { MODKEY, XK_0, view, {.ui = ~0 } }, { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, diff --git a/config.def.h.save b/config.def.h.save new file mode 100644 index 0000000..c1b5cc8 --- /dev/null +++ b/config.def.h.save @@ -0,0 +1,123 @@ +/* See LICENSE file for copyright and license details. */ + +/* appearance */ + +#define FONT "JetBrainsMono Nerd Font Mono" +#define FONTSIZE "10" + +static const unsigned int borderpx = 4; +static const unsigned int gappx = 10; +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 horizpadbar = 5; +static const int vertpadbar = 6; +static const char *fonts[] = { FONT":size=10" }; +static const char dmenufont[] = FONT":size="FONTSIZE; +static const char col_gray1[] = "#222222"; +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 *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, +}; + +/* tagging */ +static const char *tags[] = { "", "", "3", "4", "5", "6", "7", "8", "" }; + +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 }, + { "Firefox", NULL, NULL, 1 << 8, 0, -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 */ + +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", "-g", "10", /* "-z", "20", */ "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; +static const char *termcmd[] = { "st", NULL }; + +static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { 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|ShiftMask, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, + { MODKEY|ShiftMask, XK_c, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XK_space, setlayout, {0} }, + { MODKEY|ShiftMask, XK_space, togglefloating, {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 } }, + 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} }, +}; + +/* 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 new file mode 100644 index 0000000..e174a6c --- /dev/null +++ b/config.h @@ -0,0 +1,124 @@ +/* See LICENSE file for copyright and license details. */ + +/* appearance */ + +#define FONT "JetBrainsMono Nerd Font" +#define FONTSIZE "10" + +static const unsigned int borderpx = 4; +static const unsigned int gappx = 10; +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 horizpadbar = 5; +static const int vertpadbar = 6; +static const char *fonts[] = { FONT":size=10", "Symbols Nerd Font:size=20" }; +static const char dmenufont[] = FONT":size="FONTSIZE; +static const char col_gray1[] = "#222222"; +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 *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, +}; + +/* tagging */ +static const char *tags[] = { "", "", "3", "4", "5", "6", "7", "8", "" }; + +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 }, + { "Firefox", NULL, NULL, 1 << 8, 0, -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 */ + +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 MODKEY2 Mod1Mask +#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", "-g", "10", /* "-z", "20", */ "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; +static const char *termcmd[] = { "st", NULL }; + +static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY, XK_Return, spawn, {.v = termcmd } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY2, XK_Tab, 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|ShiftMask, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {.i = +1} }, + { 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, XK_space, setlayout, {0} }, */ + { MODKEY|ShiftMask, XK_space, togglefloating, {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 } }, + 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} }, +}; + +/* 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/dwm b/dwm index db3c187b83d13b9bcad3dad354c81de6e9b18d04..eddc1cf2182c4d8b7538dacb7b061bfda2b4c5f9 100755 GIT binary patch delta 9694 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 WD(B$ijThDWZ(^b~ETiD01OEVzKF1CK delta 2077 zcmZ`)O>7%Q7@f~f+uh)Zb%V4v5%M|&;UJX8rL6-3>~O%|v;n69^~8@sk=mwm96&&! z2P1?OI3TAV5^$mQt%pju+C$R|kVCKsWg>KsWwDfEP-CnWu33^R^`^~nfN5DZ63 zASB0g!a+z5LUIsNf~a$(1X1Tm`san7ko1J4CnUY7b0oc}i*su{|8`K{y$?p&Yj4cW z&J^ixTHjCKy^nU#jniuoU@Bfb`zg#=@!8)4(VBO+{YR(v&<0@&D`UKv1qaU*WAKpm zaq-VX@V9mTD?JDWYq5Ij9vZf;e%%XKtuL>q4!{Lm{pJ<;%u0TnRmpX}zQ%J-Hb!Xj zK_iQ`2JOE_0-c6(v6(=vsYELQ_c;R%{4{mco!2ng)DPMcJ2Z%&G)I8pjpiX$bCqlq zmz#QYEa*;oqYvq4xKozrER^sLX)3!kyz?I;uBe9b6&-AxBJ6TBHM#-(@Rv1s%$<+! zQO`?tzjFz%tx&GSE^X&_h_xlw_jZL>+vg_xEAhRfSp89t<|WqmmT;cfip2Wfn(*2Z z>wCMxtL@(_x9}6?O04fKVUpO2#O~yBuPw2@w=2BbfxU9$w!_0g2cYcw1hP>b)4Y z`yb$nK2H&m6dI0`!rS7!6H7>new?@UWJYj|jY+KT_08<6e?(dXt9Czz>=5K}(bn;{ z9l|H+*R_Z6oE?gmB)xaJ^yfk9=z_!=UU~(WiTy%ieeY$wW9x8*W7z+5^6$_|G*{Q) z8H~4dG+Ih{$?NFz&*D@|S99Lg)N!123oT7O;Z<(qJXMxj8sx1;>+@dN#KQUy@D2{Q zQ*a6k?KCW5wVfs0YNyn(y4(L<9NtLLXSlGD26}-u((2`DmpO-98!1(L!JS2L-lPw! zW2gzQ(u2udKVEQ#)JMI_Vg8}S?;HbO#*UMQS25m6Lj?