From 866d2f9d30c63b4c6dfc020aed1d08cb0d9051ad Mon Sep 17 00:00:00 2001 From: BitHeaven Date: Sat, 24 Aug 2024 20:35:10 +0500 Subject: [PATCH] Add toggle bottom bar --- config.def.h | 37 ++++----- config.h | 211 ++++++++++++++++++++++++++------------------------- dwm | Bin 72560 -> 72600 bytes dwm.c | 35 ++++++--- dwm.o | Bin 64056 -> 64176 bytes 5 files changed, 151 insertions(+), 132 deletions(-) diff --git a/config.def.h b/config.def.h index 93d51b9..bd3e56b 100644 --- a/config.def.h +++ b/config.def.h @@ -3,22 +3,23 @@ #include /* appearance */ -static const unsigned int borderpx = 4;/* border pixel of windows */ -static const unsigned int gappx = 15; /* 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 char statussep = ';'; -static const int horizpadbar= 8;/* horizontal padding for statusbar */ -static const int vertpadbar = 12; /* vertical padding for statusbar */ -static const char *fonts[] = { "Ubuntu Mono:size=12" }; -static const char dmenufont[] = "Ubuntu Mono:size=12"; -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] = { +static const unsigned int borderpx = 4; /* border pixel of windows */ +static const unsigned int gappx = 15; /* gaps between windows */ +static const unsigned int snap = 32; /* snap pixel */ +static const int showbar = 1; /* 0 means no bar */ +static const int showextrabar = 1; /* 0 means no extra bar */ +static const int topbar = 1; /* 0 means bottom bar */ +static const char statussep = ';'; +static const int horizpadbar = 8; /* horizontal padding for statusbar */ +static const int vertpadbar = 12; /* vertical padding for statusbar */ +static const char *fonts[] = { "Ubuntu Mono:size=12" }; +static const char dmenufont[] = "Ubuntu Mono:size=12"; +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 }, @@ -116,8 +117,8 @@ static const Key keys[] = { { 0, XF86XK_AudioMute, spawn, {.v = volmute } }, { SUPERKEY, XK_d, spawn, {.v = dmenucmd } }, { SUPERKEY, XK_Return, spawn, {.v = termcmd } }, - { SUPERKEY, XK_b, togglebar, {.i = 1} }, - { SUPERKEY|ShiftMask, XK_b, togglebar, {.i = 2} }, + { SUPERKEY, XK_b, togglebar, {0} }, + { SUPERKEY|ShiftMask, XK_b, toggleextrabar, {0} }, { ALTKEY, XK_Tab, focusstack, {.i = +1 } }, { SUPERKEY, XK_i, incnmaster, {.i = +1 } }, { SUPERKEY, XK_p, incnmaster, {.i = -1 } }, diff --git a/config.h b/config.h index 6c90603..bd3e56b 100644 --- a/config.h +++ b/config.h @@ -3,23 +3,24 @@ #include /* appearance */ -static const unsigned int borderpx = 4; /* border pixel of windows */ -static const unsigned int gappx = 15; /* 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 char statussep = ';'; -static const int horizpadbar = 8; /* horizontal padding for statusbar */ -static const int vertpadbar = 12; /* vertical padding for statusbar */ -static const char *fonts[] = { "Ubuntu Mono:size=12" }; -static const char dmenufont[] = "Ubuntu Mono:size=12"; -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 */ +static const unsigned int borderpx = 4; /* border pixel of windows */ +static const unsigned int gappx = 15; /* gaps between windows */ +static const unsigned int snap = 32; /* snap pixel */ +static const int showbar = 1; /* 0 means no bar */ +static const int showextrabar = 1; /* 0 means no extra bar */ +static const int topbar = 1; /* 0 means bottom bar */ +static const char statussep = ';'; +static const int horizpadbar = 8; /* horizontal padding for statusbar */ +static const int vertpadbar = 12; /* vertical padding for statusbar */ +static const char *fonts[] = { "Ubuntu Mono:size=12" }; +static const char dmenufont[] = "Ubuntu Mono:size=12"; +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 }, }; @@ -32,39 +33,40 @@ static const Rule rules[] = { * WM_CLASS(STRING) = instance, class * WM_NAME(STRING) = title */ - /* class instance title tags mask isfloating monitor */ - // ----- 1 ----- - { "st-256color", NULL, NULL, 0, 0, -1 }, - // ----- 2 ----- - { "Nemo", NULL, NULL, 1 << 1, 0, -1 }, - { "Code", NULL, NULL, 1 << 1, 0, -1 }, - // ----- 3 ----- - { "thunderbird", NULL, NULL, 1 << 2, 0, -1 }, - { "KeePassXC", NULL, NULL, 1 << 2, 0, -1 }, - // ----- 4 ----- - { "vesktop", NULL, NULL, 1 << 3, 0, -1 }, - { "discord", NULL, NULL, 1 << 3, 0, -1 }, - { "KotatogramDesktop", NULL, NULL, 1 << 3, 0, -1 }, - // ----- 5 ----- - { "Steam", NULL, NULL, 1 << 4, 0, -1 }, - { "steam", NULL, NULL, 1 << 4, 0, -1 }, - { "steamwebhelper", NULL, NULL, 1 << 4, 0, -1 }, - // ----- 7 ----- - { "QjackCtl", NULL, NULL, 1 << 6, 1, -1 }, - { "PatchMatrix", NULL, NULL, 1 << 6, 0, -1 }, - { "Blueman-manager", NULL, NULL, 1 << 6, 0, -1 }, - { "corectrl", NULL, NULL, 1 << 6, 0, -1 }, - // ----- 9 ----- - { "firefox", NULL, NULL, 1 << 8, 0, -1 }, - { "librewolf-default", NULL, NULL, 1 << 8, 0, -1 }, - // ----- OTHER ----- - { "xwinwrap", NULL, NULL, 1 << 9, 0, -1 }, + /* class instance title tags mask isfloating monitor */ + // ----- 1 ----- + { "st-256color", NULL, NULL, 0, 0, -1 }, + // ----- 2 ----- + { "Nemo", NULL, NULL, 1 << 1, 0, -1 }, + { "Code", NULL, NULL, 1 << 1, 0, -1 }, + // ----- 3 ----- + { "thunderbird", NULL, NULL, 1 << 2, 0, -1 }, + { "KeePassXC", NULL, NULL, 1 << 2, 0, -1 }, + // ----- 4 ----- + { "vesktop", NULL, NULL, 1 << 3, 0, -1 }, + { "discord", NULL, NULL, 1 << 3, 0, -1 }, + { "KotatogramDesktop", NULL, NULL, 1 << 3, 0, -1 }, + { NULL, "Telegram", NULL, 1 << 3, 0, -1 }, + // ----- 5 ----- + { "Steam", NULL, NULL, 1 << 4, 0, -1 }, + { "steam", NULL, NULL, 1 << 4, 0, -1 }, + { "steamwebhelper", NULL, NULL, 1 << 4, 0, -1 }, + // ----- 7 ----- + { "QjackCtl", NULL, NULL, 1 << 6, 1, -1 }, + { "PatchMatrix", NULL, NULL, 1 << 6, 0, -1 }, + { "Blueman-manager", NULL, NULL, 1 << 6, 0, -1 }, + { "corectrl", NULL, NULL, 1 << 6, 0, -1 }, + // ----- 9 ----- + { "firefox", NULL, NULL, 1 << 8, 0, -1 }, + { "librewolf-default", NULL, NULL, 1 << 8, 0, -1 }, + // ----- OTHER ----- + { "xwinwrap", NULL, NULL, 1 << 9, 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 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 "layouts.c" @@ -81,10 +83,10 @@ static const Layout layouts[] = { #define SUPERKEY Mod4Mask #define ALTKEY Mod1Mask #define TAGKEYS(KEY,TAG) \ - { SUPERKEY, KEY, view, {.ui = 1 << TAG} }, \ - { SUPERKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { SUPERKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { SUPERKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, + { SUPERKEY, KEY, view, {.ui = 1 << TAG} }, \ + { SUPERKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ + { SUPERKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ + { SUPERKEY|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 } } @@ -105,63 +107,62 @@ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, static const char *termcmd[] = { "st", NULL }; static const Key keys[] = { - /* modifier key function argument */ - { 0, XK_Print, spawn, {.v = screenshot } }, - { ShiftMask, XK_Print, spawn, {.v = screenshotarea } }, - { 0, XF86XK_AudioRaiseVolume, spawn, {.v = volup } }, - { 0, XF86XK_AudioLowerVolume, spawn, {.v = voldown } }, - { 0, XF86XK_MonBrightnessUp, spawn, {.v = backlightup } }, - { 0, XF86XK_MonBrightnessDown, spawn, {.v = backlightdown } }, - { 0, XF86XK_AudioMute, spawn, {.v = volmute } }, - { SUPERKEY, XK_d, spawn, {.v = dmenucmd } }, - { SUPERKEY, XK_Return, spawn, {.v = termcmd } }, - { SUPERKEY, XK_b, togglebar, {.i = 1} }, - { SUPERKEY|ShiftMask, XK_b, togglebar, {.i = 2} }, - { ALTKEY, XK_Tab, focusstack, {.i = +1 } }, - { SUPERKEY, XK_i, incnmaster, {.i = +1 } }, - { SUPERKEY, XK_p, incnmaster, {.i = -1 } }, - { SUPERKEY, XK_o, setmfact, {.f = -0.05} }, - { SUPERKEY, XK_l, setmfact, {.f = +0.05} }, - { SUPERKEY|ShiftMask, XK_Return, zoom, {0} }, - { SUPERKEY, XK_q, killclient, {0} }, - { SUPERKEY, XK_g, setlayout, {.v = &layouts[0]} }, - { SUPERKEY, XK_t, setlayout, {.v = &layouts[1]} }, - { SUPERKEY, XK_f, setlayout, {.v = &layouts[2]} }, - { SUPERKEY, XK_m, setlayout, {.v = &layouts[3]} }, - { SUPERKEY|ShiftMask, XK_space, togglefloating, {0} }, -// { SUPERKEY, XK_comma, focusmon, {.i = -1 } }, -// { SUPERKEY, XK_period, focusmon, {.i = +1 } }, -// { SUPERKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, -// { SUPERKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - { SUPERKEY|ShiftMask, XK_f, togglefullscr, {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) - TAGKEYS( XK_0, 9) - TAGKEYS( XK_minus, 10) - TAGKEYS( XK_equal, 11) - { SUPERKEY|ShiftMask, XK_q, quitprompt, {0} }, + /* modifier key function argument */ + { 0, XK_Print, spawn, {.v = screenshot } }, + { ShiftMask, XK_Print, spawn, {.v = screenshotarea } }, + { 0, XF86XK_AudioRaiseVolume, spawn, {.v = volup } }, + { 0, XF86XK_AudioLowerVolume, spawn, {.v = voldown } }, + { 0, XF86XK_MonBrightnessUp, spawn, {.v = backlightup } }, + { 0, XF86XK_MonBrightnessDown, spawn, {.v = backlightdown } }, + { 0, XF86XK_AudioMute, spawn, {.v = volmute } }, + { SUPERKEY, XK_d, spawn, {.v = dmenucmd } }, + { SUPERKEY, XK_Return, spawn, {.v = termcmd } }, + { SUPERKEY, XK_b, togglebar, {0} }, + { SUPERKEY|ShiftMask, XK_b, toggleextrabar, {0} }, + { ALTKEY, XK_Tab, focusstack, {.i = +1 } }, + { SUPERKEY, XK_i, incnmaster, {.i = +1 } }, + { SUPERKEY, XK_p, incnmaster, {.i = -1 } }, + { SUPERKEY, XK_o, setmfact, {.f = -0.05} }, + { SUPERKEY, XK_l, setmfact, {.f = +0.05} }, + { SUPERKEY|ShiftMask, XK_Return, zoom, {0} }, + { SUPERKEY, XK_q, killclient, {0} }, + { SUPERKEY, XK_g, setlayout, {.v = &layouts[0]} }, +// { SUPERKEY, XK_t, setlayout, {.v = &layouts[1]} }, + { SUPERKEY, XK_f, setlayout, {.v = &layouts[2]} }, + { SUPERKEY, XK_m, setlayout, {.v = &layouts[3]} }, + { SUPERKEY|ShiftMask, XK_space, togglefloating, {0} }, +// { SUPERKEY, XK_comma, focusmon, {.i = -1 } }, +// { SUPERKEY, XK_period, focusmon, {.i = +1 } }, +// { SUPERKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, +// { SUPERKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + { SUPERKEY|ShiftMask, XK_f, togglefullscr, {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) + TAGKEYS(XK_0, 9) + TAGKEYS(XK_minus, 10) + TAGKEYS(XK_equal, 11) + { SUPERKEY|ShiftMask, XK_q, quitprompt, {0} }, }; /* button definitions */ /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ static const Button buttons[] = { - /* click event mask button function argument */ - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, SUPERKEY, Button1, movemouse, {0} }, - { ClkClientWin, SUPERKEY, Button2, togglefloating, {0} }, - { ClkClientWin, SUPERKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, SUPERKEY, Button1, tag, {0} }, - { ClkTagBar, SUPERKEY, Button3, toggletag, {0} }, + /* clickevent mask button function argument */ + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, SUPERKEY, Button1, movemouse, {0} }, + { ClkClientWin, SUPERKEY, Button2, togglefloating, {0} }, + { ClkClientWin, SUPERKEY, Button3, resizemouse, {0} }, + { ClkTagBar, 0, Button1, view, {0} }, + { ClkTagBar, 0, Button3, toggleview, {0} }, + { ClkTagBar, SUPERKEY, Button1, tag, {0} }, + { ClkTagBar, SUPERKEY, Button3, toggletag, {0} }, }; - diff --git a/dwm b/dwm index 4a1f49064491ad9b916a8ea8720b70573f9e55c6..20fe67674b149ba19e7167310a6e49ec53f4c20b 100755 GIT binary patch delta 14638 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

Sm)nSOkt3?v3O`cWA zVSNfO_U^wPtB!q}48GOipBnrNgBKb6D}(Pd_(6j&H5@Oef?|7@)01?o+%!nb+<)dj zvg`R!gV*WBPqb2zlP@N7+ODuyO$J)I;Gd;$F8*iUd7++vI+m4gEmqRCU14s4Q*^0~ ze7<_sp6M(IxGo4+=V)3X(i`8_w5X2t#5K1ZTmYfj3yL zY2o#72?9?A@BXf){RBP({2BNc;Gy*e;XZg0xDUY)cu(*};M>991OEy9bMO(XH0?O} zx8Og4KL@`DF06)Qu6WMxvj!C+b{qh=f~T$3v{B&nK6(V)=R;HsK588zvYQ~>0nY;0 zz?XurTCZt`!NWFa+70kO!QBzlgFe!y08a&H_qwIvo_pXq zcrWn7;FG|wf|uZC7K|(3W$+H*6R=q(gZ~Vk1wIGc?@I7H;9J03@5i4mfG^yy*|oDs z)Igwu&pZGJd@xCHnP>+tgHHfI2EG(L3a>Z^zze`t@WqETt$8E#6kcXKfxmJ@(>8+7 z0N)F~4g4(l9Gp~D@OT_5gvNsK+Hp)iL?72x;4 ze>nw*ng~MgZ{ZO5)=KmM_$}}o;QgyK&D&QHT+X2U*QbLKOZraA+Evk?ae_zc~C0r`o+?zKelam>3^k_=JV{_c68K7a;DU zgnjX%I~DAU#A|Z-zCL0b@+b)ajR5UTJxhYbEJ`ow=({6N(=grm$7*!JF20qDN*aqF z(vgx`;x`n#zpZ$YChmXL>1iHq*uOv=L4gN?aQKZq5XKJG2il4sPyr#1{ziDRysfLU-oPErtMUa`uaQ8yL*qQNoH9LKnl(H%JV35<36}0(aKk*XP9_%A}P;6-*(VOJbFfoUUO4*OD zCrZ2Ek3&p{f+D(LwV!5&Y@XhWod$XOIh<{t!A`q8{UEUEhBqRrT%*2+g2Wn{4C+Mr zpyTO_LtVsURDEcS*oyj=MT&cAep!%MP3z0%wtI-he;FMqbocar$0@(V~O@B&V_V#Ww#u`;)PrfHMv)3sxb z1IHqD78+HChSPs^@8_|S8csiXdiV8o?S$m#kT)gU@s1`Hsc4#i zJjmpZ!R|?$jt7|9Ar(jEKqnyOpy$WUrbS4dBL5Q|O=U=ZNrRAjhSWtWI5EVOjP-tj z?wklP%|_}ed7KP0Z9yuAVorW&io@zoqzflgOk0pzOEIScOox%0KtoTxYI=s$Au2d! zHnCN|xcG}xr$l=1+u34fvCru%^~DOR{o$^dN!NbtCT16hoNH7MnGTmnBeV8$3llQC ze+d?|Ddb!bo!MEh_}MQ_L`*ZE8)5z)y{)X_d>u2Mi+@gnmk>++ZsbkGf8*wu-;rlnOT!T0jgkQm#=J)}+ z{Insj1s4VMN}(>-sUSRooasl?CfFQF`))@1uNkPLdBE5gh^fMK0!X}N7Wa_?-4Wy9Y%>LV^=xANNdkqv93!o)ab##VN z_LPCPr`+Gn_PPrY4=vERX`po%CmvcLziY_rE<1{0?WrN(JkYYp^PMR83+$I# z_GNJ@2yTXar7pK)0Q9dB05%u{rdzq7t})FF`3Xb*x}hIs$m`G0^(Pwg9)>*2kf#~) zfrh-&kpIc$uL?pF12~$k8{**(;21;xAV-(mv3IaJ96#t< zjoB^NC_A0R+h%+594kko4IRZmRYP87$O{a4$y{CkTSLCakT031%Xydtw#kssoUhAM zFxT1lnISjM_I9CzE*EwiK;7X#$dDg4(kP&L&CS zEyc!B8~`9^4lOhsT58CBnSMJIXtTu1MRn6T&@fbB$cvF@Uj&ukF(+6IG;X<-OSc=< zcQNF5SLpJE92Eq1Qel%pFebaVA(trRceDQh16^rM6?Ow+wl>kt-2j#`L}@5fG#%doHOjSH_!qq0J_;I8*G%V>(x)G z9B3g&n+aCKLsw&b53t%p{(o(+;H4U4yNIX_!$r7%t=azum-*p`UaL{R&Yn^(&`H>6 zf-x_yUjHZRO#NNWViQhVbK05HL{8u2bOfgvoZ2~km(!`V=|21Qk6GAFl}PX8=?W4b zn8hld{*7`y{iuIKKbQJ&0QdIB_}i%hz%Oyyg;D>$z#3s7zU!wux4;;uHyIi+lA%uC zLgvbUx}I*7dOKd1TgdW9kSKGz>p1;_(=tx0IK9c~eNLZq+K_zyG~?-$(Fjg^kPYd6 zJUyDzY)*4&6Xff8dM8yPUCz^$oL=FymQyE6dl)IUY~ALzWwHM?+{K+_&a;(uLYWpjAhw^7!|$zO0arlL`iu!1U~vzBXq#%UR+ z-;w2s+5dN=l=`oU^%tc*F^l!60Mw7u)||dZ<&bpa={GnX#_2dtXLG7>`Vps}GD?L{ z>(QDgjl?5V^wjKM)sXdIGa>k2p8m{B+~xF7P6e9wmsxDcsJ|Z`7aBQv3BPyI`v%j8 ze^Fe=%4pgEro%!)e_bcv&`B}mosE8FH#qjO2MwnGrZG412MzqoHsrmHQ5$H;^LSlr zIQ^8<5>8KYdWq9&PM>k=Mdi=T{;fRp_6ql{h8>-SGgR!rsl@4EPA76YhttK3`hN%u z%+CQ<-2w)Uf1gp&a|B?ZK7Z@ay72rBw{V5iyPQ7e)QzUSFpIvNw&C=3P6u#0p3_;J zDx7X&)PI+!KJQ)rHER30&IwMx=X3*KMZZviW)^F?MB}tM)k5+zqy90thOrh+eMfK6 zb)!YGTql9kL0mJ<(5!oWeZz<@lUL`8X8-97bwUS3>2?e=!fb9~C8J+m6@PN7pFTT# zdfMo;J-eL6d7gVB8;P5oMR{$dFaDRsy2zBd)~%_yM9f@U&{T}{Dcq}DEZnQxjM`J# tRMeb3{95SwP_PYaFEN{2`aW)s)7uuZ7_oCik3rB z+M)|BZAENBBgC#$R7*E6YPo4BK`m{$|L=3|&HJ|f{BJ*==bY#Joaa1ef6ke7)h@3) zJH6hD@wgMXw9Q5D^q~U((pjJw>s{Ga&sCPCi)o_w2v0pbg01$r-SnNA&ZqXI&x`J= z^LN}lz59DhKw^uswVrQu6r)+Qg!BeK4-ka?@oZ#5Pce;cO|W`APGZLsJ~aO-2}12N z>ILRZoM4`;XY$$2#6Dtg)}`|+;wNlP=jX-1vSXd|Jv<(~T-G*ukr=QbQxGa*Q2l-p zM9pJ|Uu-3IWH(>@RUF06cTErj$^z_lCb0|i=&@HER#wp?T@-`L%+lMUOOhWc*)fVM zONsBgP7o9+&LKZa@&DpTs#uxQ`hYCii?u?plC1ypmopQPw52HaoRS%h{8Ni73meMk zTR(K)_Lqx7DBGYUt5IF8sr6m=ug|(`o|QAhQM_tTou+B6@5-4Wd;H-ZrNXNu#p3n8 zAV|#8GdbYwdq|aJM4F|NtjGYhtZZ1%L{XI4+FsdWAiLjde5b0lf*@x_`s@jV1vw)! zfUBp-DUnU_FGwAJRnsK-KkCz`;7amxsM{W>z1gaa6sym>f{<7@(?{7KfbNk`i|1QE zRebNVdl~b@F|4TfJTaU-=^Z8tEVR#Q>;1=MsY*g~0wiU30g7mc)r(~wFU5)CXRJeJ zry%DeQaMa2frg4hJERUNo15t=in(ll-=U2@zetYE9ID=7cl!45c$&l#UM{qcX7H=B zB6Yo8P#44Hfs*_i+|C=UMft82gj`!?-ry=*C3?q{{I($UljJ`oCA&yUeB`u9vZXb< z`Eo0%F%Y%)C9+?(5Z!_HYAYb>tczyrqMIZ-|DV5WeNUo8Btn%nU080vC~*~=-7hj) zlE-D>UzT*#{T7OcZ?y|Zu0k@7Cp}xXY>7JA*?vXhde$o|;)VUoX~?hdV0c|Is|PguJoVh?ZMl38~rAg6h`{kZmFI>YFfH{2>QoKia{_-ioHlXTzgL% zJ|ohn!Ut}rLh&;;ssFIJze_5?NI1qvjzk$tDxC4w#!D+|x8tb7)oR?t?xxGcc($5`Bj+69i|& z4B3>6M27q|O@t1xW9v{Q#p7lsDKhh;7eqCiZ0~v$M=Tq(0nqibdx{My*B0eZXHUuwyLC zF#hg?{$mBjo{%|KP}%oXP4Yfgkkd4K7eGk~Q2l=vP}aLqa$;;wSEuu_CU&38yaWej1{0AR?y}mOrqopTcwB=sV63_W8i5XMMNr7opgc3b84*Wpx8vwmXj@%#d%WuYe!%YKw|z0CRk&Y4u$lM_r9cuf(@x zj@%yNIkqsjWlK96P?94`!+)e*>I(GJ`3Bl#-cZh7y084H#6|Xx9~V z#~Rof%FYdn5xcS{gPz4!88SFj^kAI_hly8M?%)WqlFdN+C|f%?EOoTP&8vHA4CC1l z*v|G#QBoo!hJ0IHyKG2M561vUe@9mTev4BtIAI0mMz06Jy4Tiw}+KqcGqN~mi%&wcGR;c%F02HGjSq)b%gFk#Mf3LezjJ7zGAxT5z z!>^>Yu5DeF7+ML1nO$Jf6A2W&iFHPX#{|PN46KLPc2@o^6IeB{l3rKz`8ifp1*qf> zOjmZ!Mwg^2J(6t4ZD&&y-|@Ps4NzB$p@SCBN7{+y^fI6f`C+;6t6kVb!=qkdr9&+( z+UP}Ifg1LP7+QXg!Hyx0S86)4%R^hadMQ4ubeRODWPjfSo~w5A1(f3+MboXqS{+|RsAYPeF$e3!6RwTO~DI|+W#%D z-G3gALAZ0Uf~0T@F^M|)49A>J&>d;>;M8FhRFlubsWBDT$q3x<1NYI+##C3gYORlk zF|gcqqlqmmY7L#Xx=sk`gjH+WQPU|XP^a1|Wz%s|4z9RwC_jaL7&MdeUDj_{YJ;`& z;ph$a-mpI60d{Lx=MY~A^2VKgT9b83)6gu6Tjt!n1AFTCto!hnT5Tvs@)SU&yCf;| zs<3Bcw2I7v^8h++9#Dj9$!z!V9&KJA)w-{!liUm8l7y8OURw&a5FoT8$5jN7<#sG) zMB9MN=!gI9)#_X}d_V5;YWP9+-Kb7M(GbF&81>?D@-NwnJRCp6 zqF#N@=hhs6zPo0j++5c0)o9lq2vWpLa%IY*BoB4%X{?}xqt1pYa=QX3AyTM4svUMe zF*|qUpo+gu+{>`;$o~5tsE$Oqp&v1dZ#USrJ&+Duihv9Kk=Y~6*83?yF5p zR+1T5iuWJtNsM6bz}|_!J5Qv$4~3`C`77KTt8*oSuSL{Lo7suct#cgEwjI~k=(iXN zse}*YSP?=0Okmg$;-9!^13z9KA@B{I&yNMvH>#cmzugisIx6+S+6lk z4L(CbRb?e(VjCAx@*Aidy;rl5ogNd^xDSbCw2v0?NED1>kH$Rb(;Q++{y~yG)d{TC z*jO=)4Hz32{yF-~=s&MW#WZ0$?>@8p81{ zIkIeL`%ChZe*QbBX6+R=+Q~@YnP|ph3?72rjKtw)XDh|x%N~tuGmye_=TRPKxLpZ? zvw2@hafPeHa7sz?QEGLA+?sQ^b>&o1AQF0Z2E4*@@RyY71?ry^Z`1yB6VNUL;yY6% zoBmpa_#S)rHAj=T0q6q)SJIJD3t8Q3F9jV#oc9V{JVf5oYv?XVPF{^K%NZZhVx%snE-33v zhDJBm{q>|qzLdpeH!WxK>(3#S+4A~JZMX5@F1h(MK^R!;k9}*wAl)Z3BsF6YyI0|E zi>^t2$XZR9CT6kq6D&C+f1^%%B;h7I7EtyZIB&DDB`rU%Z%Nb4LSf%~{s991`9{Uz zJdZs#rQtpQoV0*iuY3N34&3z*uq37mz;lm{@{g^a+7i?^miZM#i8ZWaLA+ST4i`kZ znjrLbC=){*${QUWiX*9{kAF$Ff4WkNSxv)RTtvZ&Z)Z4=QewZN{(g{##WX+{wZJ-8FQIt)JJw)Qcz}tw&Qnqn5bvwe``HVV+PgyN?yZ;}O(Fm4XWzE#)>4d2Yg$%nw|x1$_x)8b8)EAfkTg%7|6<_)gtg`zpQfL9^v46;>X=V%Q* z>{624F;YTQjw7fDy2cd8{(v*FdaMUsea)F_3DYJ;iJe%~1Z_HOcjfPoL z!qkK>ITCIxe0b4n3Y$7Pv`sWDW2vjJ@{47ZnS7HEJAEtA@w5-B!Sphb*skFeRx!C{ zWUdoyqOs(j858Y%236sTR}*nd)7&!?ME`mFP)1E+roz^)lUVPn6G-g<_g-2eg0uJk zy3QYF`01doK-XYAY~-$4{mBSJR#f`$td!kUuCSS;@HMQ)U=V7}SaNO&a!E;zk=&1> z3%#*&9~Qzs4;2nx<0Iwa=VV_LJ}XXPrwfO;tbhx9;il?`L~S>moq<@W*qoe*isS1h zleOeV!0HF=JEZLQ|am`QdF5#~^T8Y5VVz@mZX5K@tIM(5R(vpY_Ui0L^c z(j{VuZ4caEYx+UA4B6sJ*Dd&OCH>(GF2OI%T-o$BV%m1LGGX zySXIO?5^~YEq!1|Hf4~tsTZjY$@8FOJ6q9qgI!Q#c%LRu)J2^j!bDRW>(V@3n!=@~ zpOI4^(PUPV9Xhg7M_eZfx~N0ZI@Di>$_Y87BfdH^Tt_w%@~Mv8o5($yq9e(Kyrm=G z>qxPV{E3`8MMw7Q$TA=<^hymugLLR49a^UsI!{P99Z__oTt^NQ5~Cv%b>ys$lo8^m zBiTA~T}M745 zAQZ8X3*nI3p&Y6R1nVO?9^#GS#*gT`1`E^IQ~fCkFdK`x7cqljtpak04PQ(@VNu5NF9Y&hR>#5}8>jQ=8MKj|c7Xf{;^l|Bha2KC76%HMF^|(VL%$$wyx!jc7xooGCLd zjk++7&SMoDF+xm-dPYHUWiKJv^Go>- zoNVU`>f@dDVT6lUkQ_s{*bbDy9;|HV{V@Fj8L-R*gg(ALmiveYENmxGkUW*pU)Y#g zp{-J(;NTA}G!`47@V7~VX6>LNm)MqBLDp+H6EX7ogWUj0evBwOMjgd|oE7I0f0FsS z+DKl|cIG2A|GM7*^)I?o=)VkjOUfqdz*@69nhr|5t2v$)?i|ohnVP|0>i9OVxFl7kOB#QksTvI{IEQ1T#HzxUFgq5-j5Dlg zv^p9VZBPyE2eEpJI#LdO6J_!cwkW1}y^a|FVqdt|zaM|c>Z@cYbg}e#3QS2$az11G zG0}7j8UGbkvPDHgHeCc&O=ybu1^;$;oCH45@py;*-s6ic%S+34Fk1CbWpV@@j zvEowp{_LRPL!pBh6>9I0^ZLUu1+{opRvThYD3d!X-RY$l0dI%@Dv#Hd7os+nC%%HrKE#acGd-KF8tktpAID_i4km9_|J$CpF5 z+R+|ofK>dT&=+rCYWJ;r4-A78v*ZC?=_p!jYsh;-ZZ@=UsFtnFJkK5-S7sM75>@}= zDdt3yf?+cOqN9$$eW+%m8;L)`G9vyLVteA#u2SLTZ-?X53J``-Q8nia4Cezve_`(xTN``~P_1Tr zi@P*UMN(g||GhcB%o@#)idYLELoO&tFPTr<##k{^O-C~w%6v1jiscN;oF5f-eHbj| z!=-ekg4FbN*ZC&q4O+03EuSCRv<@2}o*D^;V=JgcCHrcA>(Eh@oCx1ABG0*#pG8)1 z2IH0-qsCRS#tS+&c;Nu1{79Cuz>YC3SrCNV@y83E%~^pft5QsU(5vM~^t)n;@>x?} zL40mLHk}NZGG62H8>Le0!?ENcz-U*6Z{v`}8?JGlYH>JDFR_q?%{`*>S;E37oEJkD zzAnDWPA!ZG8BBwvA5z1H>a)pSkuf_!P+M*(Ya~w=#UpIiqOsylRuPY_g zHf04hRM|moQNEydJzsV5bas|xYU%x$`?1>-KtcPSeHb+gKX7k8yuzWCW-`t2h{ z`JleS zy(c=c-xp_!Pg#$W%lMr(W{J&AFWj*F3(H>;>wPj8#U7|$AF$O+TA1lvmJ&@1*}f$~ zVG{tUHJBuLxV?aJ``=3(ZK-|Py(R6Qdq4+RVwJNgPBHpTSiMF9{WL(U|D$$c-QJ8A z?QHCu6U0gEhd0}fn7={OW_J+^TNCX40Wvc@wa(7w*kIZYK#UiTs??=W!baCou*fx`0NANB^fkvki#fNdZ0uWa`?H~@xNYlVyqN97FB+mK zeeB|ga~&H8+j-`-LH~dLz9FA$@ali*-DT@PiWQr&>W{)AnoZDc*s&+k=fUa!_yQLA zahPafHqdpfFX%8f5maGILCaYw=sZ>p+MU&bLVqJs8>f9aoyh4@PD?qh=CqE}z)fL} z!3B0+FGhfW4ujLmrLP{Z_s*<~1#eAHtW8JqZtbqp?~dd}z<`k|aYoeBareg6Hs-|BG$bpOCJjq>#^3ODd|tn`yG z`~X-Ds<1lHau)b0^`#B8JL?Oou!*4MY$=zQa(OkE*Kv8^X08tkeNgCwLZ8b^xxAXo z>$p5{3)csQJ}C4-q0i-|TwcxPbzC0!8P^AeJ}C4-q0i-|TwcxPbzC0!IoAh;J}C4- zq0i-|TwcxPbzC0!1=k0KJ}C4-q0i-|TwV?O4y*gZ8aOc1&in542Ri?e1#b-#HWB4Y1%pP z$>8_FKLZcJ)^`_N0uN*`1fB{$1AH_1Ti`!|e+WKgxu#Wue+zyN+_VD6Jh&PBuZH-c zpx@i55Szy#@C5KNEAcc4zGgLg1Uz^RDh40DR@3a>g77=|Xz+&bqKClOg6{*5eNWSV z0)GJRg>60jeNBr5&jwEc{|S5qco8=Hb>ImfLeKS#AUr{$BX}R|`dQ%TaT1>a-@F+G zd<22Qx7pyi;A_FH2!SfWe*?b+e&=%-@)d+_h;918Cz=wlh0N;kY zTu=bI82owgp*Sxy!M_6^4L%7c@Ivrw;A_D{_iEZ!@O^tVmv#(^G+fhF@T=fHfoLh+ zvB6h?j|Qjrx3%E()Orj&dq2hwd>&qLgBlBh=V3Sqo&vrK{0;D};JpyH9s>_Lik<>* zcudnCfe*tKtYZ^Fc>DNpj5QKFASeQl!@X}i_;TiLTnsx{L+wU;xEP^omd*s1|AE1v_^b7b1_Q~#OQDxP;n^+pVH4Sr*f03Xm_!q|> z17E@-%A1642HuX)9)1CCkNhe>%sbLqi+}rA-|{rEDO+70Yw9vj)4DRTDw5Tew+wAx zj3x2kQklFI-V22pq9C+qwmmJxZmjp7FtLb@-_xn}E@)%=@eh42c;Nv3>~FF{$bumI zfSuYi6@Sx`y0^*xu66l$u+Olm5X8U&5Ef#Erxe@j3< zf0NCF%u<32n;{DaUj><03G4Iab7EUI@k=XCPWj6)5AQeGr(gCl)xM=^v(RZl%u*36 zhO*R(UicfAr4`Y^#n>w_EfA#p1!TgJ1SCVS*SJ`9MHle`^W7iTx)=73qlV6WkN$o^ zZcm3_xW{LHK`7+#Gt&U9Lz!P$|NUX&edYvxhOGcCU_17A5znx?{loDibpOg&{E}W= zNeBH$mD3w&*iO!Qu+!x&J%@Vwlw};)?PYo2sK;ZqZkJZ`O=dgN!ZZ)5Y}WTkm}wJI zXPEOyC(~7=8nIHKURcC9^^U}v5|A3qOh==8Y8GA zvq579QgPT_Zj*+`PksTt{mj&-%OP*b@{e^gok6MUfMJ<-B66scO)?nJa{F;Z>V zz!Pgs&tpiF+2a#=ro~7tWCKsOFm2(fH%@jiT}5guD?Mp730UY;%TApO~~xL5-z5&i1T4g+t#4$ zuPaSOER4Xb(ZQCUc51v3$EhI90r$Y>n#%fKwTcoOb2Zk+df7QT(a_m!=y+x5@{bJp z9V}NW`w2UKHBF3Xf!D0~OXAkoV$*+mS=VHS<_&PtoX}5~^9c)C9sY?zApdJmBn3MW ze2?*u^j~1>VRI-ezZM(3GRsboP|PWIYfKl?31Q-OtGJs5Ur)nMl84r ztg!~4HqZqIO7^L2e`c$R6%$!LbTY^37N!_FIfl*=wiIa8YdRWXprZ}62Ri_CmVrhY zsLMbxo8$lo&L$nwtzIt?$VXgZ#UGCthAYcdK z?Ve}I;|=)?L%-aRpEcxj4Y@Mi&LyV|`2t<;5^`qfz-)@#$M*$m=fv z^{4JeLtcMD2-DSt9frLAT7kc@;NJm5u3tNz!4_@+rN;n@_4f$;-8}y&{-^P- zzrBn$yD&=QUY3YBGcUaEdRu4I9?t-Y{@W@=6*D_8odT-6mpuHmA-ST+4Nv37h`annA3z z&Wf;aj@c@jSYJ@=)SzvNvOB&(^qztIOPuC$TEMBBXz);+UyacZTf6ABwlb=Hi%^#N zFi8A>>uqnK>;2SK*Q*bctGKNnIlV#D^cb4qxc4^^&1~sCtJs3m=ZOZt*ig6fV;|kh zEMq9Ub2O7sj{qU*Egdyn5eBe``&Mxr>9B-6JvBvI2OXzJ})!b^UDd?2mxb$ZGAQQyYP9OU#2 zTdD=|)ICnUSpEYF`STxG#dbtZbd%Su=CV3SG2cKD*MQ0_;$f`#F;ADXIS;MD2aM7A z)9|*d(O>6Chi!crCu&^Vmjynu1~)^zMr|8x*FCJiZAG%n53RTY5bewT}IjW9D3QSd^S?}N;+#eEhQR!$j~fH(=|H_`u87}|JWLQ(?CBoJkB=IhunfU zTl$!0C}?mr_I>j9Rm0m)49z&MW9PINr`ep2;dBP4Z*lq#ryGf~t$#FV;xGK4Wan1G z3|m#~@*h_5Yp!>R)9akpaf;aiZ@k&WKdoW}bAZ~22B+Y0gFM^RSGQJTSj%A5KnELW zOJkN=4HU86Usn7L64_b6={uZm=5#NoUvc^ar?)s2Si}=6Zr61v8_d&DoF;Ob#%V66 z<2aql>0(y;#2UN?7cla3zOg0;7@mB}F2m-RT=NX4mpHBA^bbxOu!&EtqLtHFPE$C= z^CaYWo&=r2=`v0~Vm8exZsF-YoF3-%O`7My-}vdC+%o1ws^JOl@33=+Q(smG3t>b9 z+u#Tw&+Tv8x#lk`L@^9=lQen|wY_X;)W5X8WX${_hWt_|z2q^R<@60-Q7T&T|Jsp- zIXfmfact = mfact; m->nmaster = nmaster; m->showbar = showbar; + m->showextrabar = showextrabar; m->topbar = topbar; m->lt[0] = &layouts[0]; m->lt[1] = &layouts[1 % LENGTH(layouts)]; @@ -831,7 +834,7 @@ drawbar(Monitor *m) unsigned int i, occ = 0, urg = 0; Client *c; - if (!m->showbar) + if (!m->showbar && !m->showextrabar) return; /* draw status first so it can be overdrawn by tags later */ @@ -1826,6 +1829,14 @@ togglebar(const Arg *arg) selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; updatebarpos(selmon); XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + gappx, selmon->by + gappx, selmon->ww - 2 * gappx, bh); + arrange(selmon); +} + +void +toggleextrabar(const Arg *arg) +{ + selmon->showextrabar = !selmon->showextrabar; + updatebarpos(selmon); XMoveResizeWindow(dpy, selmon->extrabarwin, selmon->wx + gappx, selmon->eby - gappx, selmon->ww - 2 * gappx, bh); arrange(selmon); } @@ -1998,17 +2009,23 @@ updatebarpos(Monitor *m) { m->wy = m->my; m->wh = m->mh; - m->wh -= bh * m->showbar * 2; m->wy = m->showbar ? m->wy + bh + gappx : m->wy; + if (m->showbar) { - m->by = m->topbar ? m->wy - bh - gappx : m->wy + m->wh + gappx; - m->eby = m->topbar ? m->wy + m->wh - gappx : m->wy - bh - gappx * 2; - m->wy = topbar ? m->wy : m->wy - gappx * 2; - m->wh = topbar ? m->wh - gappx * 2 : m->wh + gappx * 2; - } else { - m->by = -bh - gappx; - m->eby = -bh + gappx; + m->wh -= bh * m->showbar; + m->by = m->wy - bh - gappx; + m->wh = m->wh - gappx; } + else + m->by = -bh - gappx; + + if (m->showextrabar) { + m->wh -= bh * m->showextrabar; + m->eby = m->wy + m->wh; + m->wh = m->wh - gappx; + } + else + m->eby = -bh + gappx; } void diff --git a/dwm.o b/dwm.o index 5d8416a364bfec1c691a4968ef87ea77a6de1ca4..6273efd188e1dd636dd0431a82adfd3e3cc4d231 100644 GIT binary patch delta 18927 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 delta 18862 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