From d92c684bcff10740459b4e0902b9400cfe778f99 Mon Sep 17 00:00:00 2001 From: bitheaven Date: Fri, 10 Nov 2023 18:42:24 +0500 Subject: [PATCH] add pertag patch --- config.h | 2 +- dwm | Bin 80656 -> 80656 bytes dwm.c | 109 +++++++++++++++++++++++++++++++++++++++++-------------- dwm.o | Bin 74824 -> 75272 bytes 4 files changed, 83 insertions(+), 28 deletions(-) diff --git a/config.h b/config.h index a654d76..9aa4658 100644 --- a/config.h +++ b/config.h @@ -34,7 +34,7 @@ static char *colors[][3] = { }; /* tagging */ -static const char *tags[] = { "", "", "", "", "", "", "", "", "", "?", "-", "=" }; +static const char *tags[] = { "", "", "", "", "", "", "", "", "", "0", "-", "=" }; static const Rule rules[] = { /* xprop(1): diff --git a/dwm b/dwm index 2dbee3dd0b4a1d9cafbe895324fd99db96722208..d325c2f34a9b40aceba33976223722a0c00074ba 100755 GIT binary patch delta 17519 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 X4rxvT4&_hi!k6$*i=txqUxfbw)sYiV delta 17026 zcmZ`=349Fa-=CRelMOjZ))tdM;(h5tdR;2qHbD8 z4;4~p9U&y8&QNt%kAFK6)#!n?YToZNGf(Kg@4KH*_V>*9cRtteIW|-H$g}W~XR(p5 zW1r5cANzDtk5Bd~jM5$pOS1V^LU3{4s>Lb0ETis~jav8-nK?1)>)mHdmUzT9;Iql@ z@KAi84sRuFUQhlCPj-ymtLfJKsZpawxU*}tLf~Kj#*MqR=hkj`{D&HDb;CDo(eOMs ze2j)CafNP-XkDS$4M)6{5y>=cp`l9JXyi4GEZ4{hjr^*S*hZ>kUyaOblswY9P75dS zsYY3K8Q$6rFJ;wo!<*}N^4xI}6dCF`u~xHQ?8asIMK}ERE=|714QGuS_|LziWq9lV z8*k28-5CDsH3NBWcs98d*$M-KZ%n^a)bEk%_p-*V9Bd4)ADUdD z8?KK`@>5h$HnVxrO@`U5al@I-K#o^~W-&(-b988}HLDw!S<7?7nYBVUJeq8N!P-SP zF0)qShBIq{ynAeX%nPx(ahbI|H=J23bi<>`$QP_#bmKB>HEuYw7AUyKcKiivRyQuQ zmgj~uYlUujG>M6QUek+iTxPAt4QJK@J=|lP`+_yA8<$zjbHkanLN`2`eEWj6i*8(I zt;P*!)&f135-UQ??Zms!hm!b1#1`GxXfCO8_ui+8r);!<3fd+86^>M z$sS}xf-%Ty{I|q!WMo1sK9ej<2+i)WU7P)dZZehIG<>xio}=SC-0%qUFd@{jwMf&F z-MFoFtr|D{$yQCC^Z9p#OZ7}1=!U1iugQnG;cq!qoGfe>lyYLDCNthmW}BYx^4##I zC8wK3d4~USN>j_N_wP_r2;VZ4pIH*#a(ENr+&J=%wYM;9964j1;PYlG$E7IpzF1=F zlP9bmOLq0i625Cv@~F>sUYIt9T*{f?{hv6Flb3fX>C$fu@3TBvRWSD?#r-!KKj_DC z)pcbX$$fRAPb=*~Ng(H69UwgILlOpz7w%ffvH?l_&Y35|!6q#;j)*uf-zXa_+aTrzU#XfI(-KTPO}S6G}yj=X)*VLiH|*373_948i}u3H9jh#IDU;=yxgeLJhAg4uzhOT?emioe{7 zj1d&B$jA(!a<1alDmk!;k_xU#lO`Y;YJMJ6_FF*Xzxu-X?~0-v3xb54e@#)u7D}nz zUo0?v+Y8N7Dko)vJaS%8RQEE0NPel~=iD+;GIZNaj@v?nR-4H+Tas9BGfen>4HMGd zLh4X5DR3Noh}lH0 z+7s%$_fS!)vk<&Oyr(48-SsPVdjij=NcxoMS7*}rohJi_mYH8Q_c!Q?g z4B&qSWJKfKfpmUp!2I9P>X30jMl7(!d1j^jAh)Shlx){2SkB!@c1?*E_^#yAl-Ghz zTv8O*kT}mw>CHG#QHnf4GN-Oc>sSN7(%Lzwtyw9{cAoI9USvr(_;27iySK&VXF$Q? zsxT|3`H$>9Q%bAerLE>P&7fN&yRSU= zZ(2*kL_8wQu^>`NCM-&Z4jahMY2jUa{X*Rv(lmh>N?e9m5cw;3L%9LU2k6+Uj+LV{ zYjpvcmGY|8XNn@%{hRnqZ^Rdqrqg5iqePsZEHup~)26p~j9mv~qYUjKEro>RJ5%b~ zNj!enTl82c!=U761X$3vo=49{9yx9MkLT;aZemTQWncEOEZ-^s%^pl!Gpi@)@zAw=rHUuAk&Fpyi%Pa6dCHOnyw1 z8R7MhV2~oljKM?AL(2N21LD?@q?uhD|LwtXL#yZz9;)UKb3Y`I&$6ipQ)o9d17=IJ ze@zq2TX{KR$#$I-^Goevu$8k)l~0De{1|OgMfbL1!JFt2R|V{)f`QrYx+lMP7P+a^ z_9YSn@D|8BWQUoDl-`V z(9Bh>&Y-NecaG@#yN@XCFVxaXJ1QAN{UXS5q7>o>K%}XK6VnIf+2aEa-8D{*n)Aam zjCfr~P(|*Et}IS&cZtL}TJc*+A4jaQ3uQ>AwPc2)lklH2r_pu z9c}nh(s)i={^OFIIh}d_FGA*;VzO2soH+=#x*Kh&oia+DBy)x+^=S>uO;?bIb6doT z71XBbA$lU^k^Ih=|A&W_#5^ya-$lmFixFC$Ba7#~B&3y-WAh?>&O!^ysf2ttFA3?* z-x*3%i!*U(`EuAht*u4P5rbHePis7ZN3#gfvSNJAgG^S+>4PyC0kA^wXg&~)2YCm= z$Q=Zc1nPjUHan2K=t2nfoaN*bXG(K%D#!H=*f+IbN~NXX{Y^+lu+aoI&@Gwf3LZf8Z zh9XLV&MyRzV0kRmM9EH5+D!<{`$$H9WTVw6W-I09gEVo2wFA#)HH*vV$n^Ypq5T(R zQ+^nKn;guy!~}wSh?`UEqZrRG`lumI7sNL>vy^6HWZ~Ukz$IO83nCXxCL z6L@*#7i8OlrtN&_AbHgL`|05NX$oyLh3N|beQ=U`u%YPY z!A2DpoFeAM;mH4k7k5kYr1DX!ypj)ji|er*c$|(2w@g*HjGSHEM+iGXqNLC_mZFiX z4dt0}A~X~^qf}8c3-WlX{rgec)~9IBrn|wRX$YcJ9@moEeuyz^aXtI(0}JMVU0tcy zs7F-qu&RflNj0(Nn3_OSZq<@(mb!)|E~e^_%<3N5)h{kubXnqzSaY6AiA{=O$jqOr zF3jfdWThz8`D3&46?;95+w(3}P5zjOOLBbQ#*+wTqulE{*}kNSP`8wvT@n_Vs7gJM zy|589^C#7+JHJ#UYbVL@72yjSH-Cn{g}I+pk{2i&kbPZuwCR!Qs>0yArAeG3*#%Ab zt7KwU|fHBL$%$cc7ff+v38^!*jC=X7Ls&wdo>KRWOWymx%AS z^}C9MUG+Ko0%lhd*So1g=uuMoZY2MN+<7;Kzq)*BlLk>({piH6t`7@B_9#Wzkv7`hWksf zK5Tea!ED6V@;XT^94T}@OjZ}ZDvPaKKDl1ljxQ&H%c8MHq%4aS=6z23FN+R2 z2dO~=tLwpn7TYg!ug}TiWf6|o=WA`!4ZAGWV=jP{%A8CLw=|?)*Kr9ABmaa&6LsjQ zN2_ehYtD%-~_HeH6SLQ=SvgIh`|1 z>>Gs0=yoMg4m(I%EpO1U@N<2vOBtPLhRjTqL0U+Lsq@K*}Qrp5xYF;4$B*gnXwn83;5|Tv1ldjLhZg3?|2Bu@Qw69W>+Fq1zAeBpo zSul4{K;OC^fWMKvMHV`DgO~&2~QX4ai@Jl@0<0u!FfPPr&f?FubBUo(9m2 z4Vq+_jgly}mJ47(GPDMJ0xGH2)jR;|y}^GkQ!+$=Lo1f)`j%Gu76LI#!#fRgof@8* z*t0sZEIslGL}z8fW|C^t6s((mNi}^QPZ$CZVC#a$|9uXEP?sunf0=ax@47CBoF=VS zM!vLClQ;wkxro-y=@`P<2BKMt0NJfl>SRbDg{d0@bnc?L#IZ80LtmgcM|9QH$3qrF zs2N+0u-vwXv42BlIXIKGn?o+G%=5cK_nXH`XuGvMKzgr=^Ln2m?~-Y&TKG*uG3Ak1 zFeI*-{0G^+s&_yGAfl`4&R=wjk;&^CsE0x;ej+Tv}Z}d=fYZ zJz-bdbiqy(5V^xX^3Q5(=v9onfxt>T3mN@hO#O?%YL%RLkT;Ok?+uP@ z4INSXd=XElz~HK07|Dax;|B)U0}{BVMdQu-?szKQ9!Tb9Vn>4)^z9}{_{}7P)^x0U zZ3doW@H~75*|a8JNSi?_*2D;rGswL)R=$jMTpPo0CPUYz3U9naR;+E|XhshQlBwN0 z95<+H9*)79OV<-@%}vojr2!V&z=@({6!TBpVq90nj!Pcn48Yk#aF&z0gI#G05nU@P zC|F(B`77^Ib?kS+JVeI?hJwnZb8f{RICM_SLtj+bygCf3@`uyhst%9zEvoB@n6KCd z!~6TwHSf}juc>9x`HqpZb@?qIki(zfKV;LoP{&uzIXn&eVr)RGOH+gK?e`^+sdat} z2J_SNB{w9J^{M zRxf<2_FA3;=-{fuf3fYoVK@L$nwCe~a5lOy^%($}{Gd+BH(=*g`uy$3P%kiLp-OW8 zZq?Mwz;T2L{e(Ul!c;S+M3rP96&KUy1mvGGt?Y{xQkh7#98v z9ZgSNZd=iXpOVcR}BnKN5Mwv8+pzXh^M#g4u-u> zg_GWzQWh!Nlqf8)lM|bo2A#yTbIwTP1Lo6BoQ$K=pPQOF{=SWV`4v~D)%~4E)XP@8 zh2D3neoYB$%bo?BQ%}KtscWvor-*s zy2nS9x;7J?PZDfCNMV66hcg`#?2Q|=dWHnvPBw3j2_8+yqVr@JIssje6)WT&8@al9 z=!Awg81ISux_T&7cfqioOYiUUZ`yC7S^k(z9hm&VV;%jrI;cW&072l2Ch#+eETSu_ z$2dP9Pb0I{!BU5Ii@F7CpnFe}^;;T?L%vtT`b1M(uM+(RA_Hep3^O0vp-|X#SCxE? zinwy~23N)YRy#9$O(q`iw+?9to;kN_>>n)CN(SR(BEBE*`1WnA6;&;tGg2=AkpiS{ z;@oeQ0GM=^21~&U($Cl$rkoj&qPT(=$O+nhXDcLOwFX_L%{uv*8nkI07+C5l{}9$c zERCr#Z=v4thiIgxS=qP%N`I(LAAOXH6nAuSg+dAg$h2(%VmU z`!gH}@-R%eU;axh%y{8-&IfS~cW1^3B$kjt_AHm9OC|3&THu6YNS0tq2p5T+7og7v$j| zz)*py3@1_9L(O+=GVO&(N~P?-gL=|H9N>}ffvan${QdisRiID4d@BD)y}^*DQ%fVI zBb0?nVE&T|nntS<^3OE(0@GrgFXUxv!ZGy#N49SRj>$H0t6H7+u=ZhQZ3GKb!>AHd z3>BOS0c?Z}dF1}KMhW8pnbjRKy?i>2F{Iu+)ox_IrlacD9i-Lvh|rpcRMRcLjoeN~ zY!4G&IYHjp-Y_BqsVU{rpsFm4-&}RbVzF{GlOs-$UE7l#0<76b_Q!7lIep~Y^oXw> z(vdHu)ik428|97XDN28!x&0qH6tCGr>B6TbKe-DMj_8Uk1E;#Kwt?&TMxL$iAk-W^ z*Axq;n%nikOjHZqqwTNeNK-8bc`{^&Z$=nS>Y9Ti6RCqTTQj;+gZqrKpYbWJ2XcC>et(&HVpk~B+ys+O+V8a)qn7}LHDo}8ohq2UshlV(MW z9S_jqZSRcVT2gLW3Q{vha9mHR?T_eZ8kM~M2+rrytPBssY&hr3%<10*%=-u`*~-am z=TkE5L!YiA)QZpxCA-mllz&LfCO5FyLOleGpS+xe8tpKE9 zo#c5?NQxXck-YX%6GsQ?L{0PTeo!3`7?dIv?=1BY&8{crxp&nZ=sGVtj|WShi_Ph! zwn@%Myt$84d1lLYW$v-!A|;3~Rbw)7fyg^u%d7pB3VXmM`6y?^b7r~Ab8)o~CaTRd z6Gcqt;c0ZJNT%CwVB1}l_y7+Do%VQiw}LHAwVGX}_?0HHJk!SyWW&xj{`QU77)Ybznu!I5RT1RQ&Zx|0)F!<<$d;zy^6HVzk6wvw zfgl~FW3r`o6!ce@^d&m_3S_bOhb&#=rfekUPrE0C492l6y(S=k68gGV{tq@IJy=a$ zOPgaRuDq~UGsxrDl3kxJ6&{Zx8M`tZ29;^pH%^UlJ0LCTndn30g>tuTfR`>Sbb+|s5`J;%N|arx zA>WQ=X{^*-K(K?P}wSzL}hc{+YeKx}D{)gzUCQF{!= zMS9{CU)&g81P}8A`3m#nW%UAG9fbXHb)GebmKswRE!SOcYx&EXc_cptkbjx zkDNVRlx8%OmmVN_yCa3dF=XlP7ER9VgWdEpdoXsCbXk=TQUIeAiuk$l8#!PfxwAXG z!{!wR0xeia9gzE3#!zg3xa?`EpNdA77kcAl7p<@hnMh z^!+IGqE)-(S8wKi1)#LXef_}Iq<2Y^sFQf^g_}3mCHnJuTlMF2?K{mXk6T9yOB_Pe zQ6%WI22pp`z_NPfX7YfRrC@Yi+EL4#K=jpj^0GCg+h>Wws{UlsXP1PVBT44o3BsWL zqOr5?0mX+x$?A#{JpP* z@Mt(m+~2zEr{7@5v!0G!++RsseNn*5ZTRnSIsx#Y|3*TaFSQWhK?^XYHR9cZCq!R& z1zER0yydZ@bSMSP_r{8lh1pin^5wn=Tr!P=n56*ONN=sbH(B-(2ZQm^L+Ee<_z;`A!r|y$G<=yxzCGiykP&#Zul z_B$2j6VS_`XF=QI9Q8Zs9nj#q9JhNnb|;`ExRW~!y6H1Txexj~sIM=_`Cy*51-%Q} z53~n%%S%8ngO-9$J^*{5^2 z2fYHi1@u1XH=v%u9A~Ct|eG8fgI;ILO0$K@r7}WP30s@`zKv8U=Xo-gi zAdKT)`BhP-m8?H=(<>crxm#Ww=eI>s#?v8Z_74=s`Wq?!JMf{vU#57Lf8aEKBi9H; zUvD%%Iew|3R|}MsE#$jPv4(yqrV*dYhF&(5PP|W=SH5gGfMOpqv2wUqBkY)d*-k1e zn>V$f_z6xZ{is>ETObIQI{wD2x@Lc49H2MBzq^CPUXJxzf#SIjNsr4BhR;x(PhP+L zlGlBd_I*UQTuwGb`*2)c^3~;5hJGkbB|cXYyyl>^VJB&KCE4&9iUY{&SDHlJLTL?V zM04sBpSJj`0apAe*>_6FE<3xE%1+nU!PZ1c7D}4q7!DAtr+8rs^F7>KP#}}V&Zl6Wy1;-BS`kuGOr<+ zT2Bv=dS9=JeTw21OrB`S(spqQ!_eRy*9?DQm{{A6kn>+R^~yx?!BO(p*G;?Sp|}jw z33prA$omKOtqqG)JBm)rRp5`He6^*AsuD9{w-caZ@UI>tW3P3Hs6nwBTl)kmicd8D zJTXh3m6Ai(8atYy_&QEblPM1$%uB8lurGkoKBFHxWURpG>2($bgiQay$^J$@K1r8C_dUhFb6oT-)P{Mfe)j&R=<8=acLaq&0!zGg?vHU-E8M| z7{&Uh$=f$O^mvM5?ir*EU1hXd>#ntRr&W(e9()rrO>~(7wOrLSmjV7;XULE5tLaqLQ$Mt6wWi7S(A2fKjYE~V#v{5{fJ;Tl^ z$}g0UehTd6Z;VE<5%6Emku$d%du5;)e4aeG^{Ur86kn+%J#Hs^T}1KqN;3O)gjWrU z=PJpD+f8E|A*cEyspFpouuS*|_C&+1L$NLJ*1(5(k~?3<5brzoIy4PGKpy{IP@(O2 zQVnepkx0J1-U9F?V?k%~qcKT!YIU>3AH zzb1%rG`;$Y5o3(wn0~1nKS<*{Y6a%F2?%ZmqTTo&ZhX#-U(b!7q4P7e__#ckVo$&# zoTIk@6Yz6u0oHwt|C(-yz4ycFZ`N^lKI=}}_4MOI?bAfaUJzmiGJw&~>l)#jlRo#O z_~vBN{ixd4g3g__9HHzCUFJ=lve$#aSJMOwhE;~WCZvnk>Z`#3WG|&KKGWCvU1|js ze5g>SF6nLnyHk~)q4Ou{)SvYEnNEyJ>i07Bd$;<1N&S9^@3Z9LgHT5cU4y+U#5^*K z$!>hsd@N+9&t4s3`i#%?8Q)F64yQICoa`W%9)$YXba$zEimH8qNC#`%@q|8T*o#E& z{1hEv?aZ9AW@LQ!;sfKepmlyM$KHTo0_q|H@{*eu#%Ep_pLtsFbUc5Yr6pLtL%$0FO1K;Fh29b_{qX}?FN}}6{2mp<=DxbufMw=|rL_$t=#S7u_Ec+A zpB~I6<0JAvqUf7dZT@KB;q&m67V2-L&y%PQnNB@$ov`<+7|PzKV((8eJi4}Nl*54r$|4K@kj9swxYKUd@|pin7+ zMa#kG4MoSj_|WiMvo!VuU2L{4)~)Cv*usU`MRmOSpgqS&wF zyXI;58@kz29girQ>&=JqnMLn;^W9VS=zS~cQs3)RruiCBrQ`Q?ylGL85!&XWL?hoS zqTd3IZPld$5F2gC4;B=?ZREG{eT%|<`0m2fWks*~@KeIOtkmS9b@4U2_-jQEefZGq ztE)8pg3jKhv$qy$K)jCc)A2JpK0?RouRzp$^P)a=_~$PHv-9f>oy~^QQe92f@zgaM zpbr}EFCEw4HCFd>R6@WGo4R59cD?(!ARW(E&pvo%WxDR5q0V5NxA8h2r{nBRahz(^ zPb(c~J5Tjs3r@O@`xlw(qJC^+`--mCLuc2l*MKQH-dD%RZqNYce!PyK*KwlD&(QIa z8#Q30jxW)1{UyZaTnfen{aAFyZ=2LdPCX2xxK_ubi+Eo?w9S|;8k?o$tvZ_}U6zXK z>+ODXOHmJBKH0$%LI>Slg|0XG1I=E(j$hPqmSETdb4$lr0&1eEarbnbr7ee!KhkkM ztrb1?}lz7YE}WL+E*M|C&a8J5M3|!2Zf;epmxRe7&em cdp^0&_=B30@dt}0wCBtDn*Awh{5Qh?0KzR~3jhEB diff --git a/dwm.c b/dwm.c index 13faf69..ec76b23 100644 --- a/dwm.c +++ b/dwm.c @@ -128,6 +128,7 @@ typedef struct { void (*arrange)(Monitor *); } Layout; +typedef struct Pertag Pertag; struct Monitor { char ltsymbol[16]; float mfact; @@ -151,6 +152,7 @@ struct Monitor { Window barwin; Window extrabarwin; const Layout *lt[2]; + Pertag *pertag; }; typedef struct { @@ -302,6 +304,15 @@ static Window root, wmcheckwin; /* configuration, allows nested code to access above variables */ #include "config.h" +struct Pertag { + unsigned int curtag, prevtag; /* current and previous tag */ + int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */ + float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */ + unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */ + const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */ + int showbars[LENGTH(tags) + 1]; /* display bar for the current tag */ +}; + /* compile-time check if all tags fit into an unsigned int bit array. */ struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; @@ -667,6 +678,7 @@ Monitor * createmon(void) { Monitor *m; + unsigned int i; m = ecalloc(1, sizeof(Monitor)); m->tagset[0] = m->tagset[1] = 1; @@ -679,6 +691,19 @@ createmon(void) m->lt[0] = &layouts[0]; m->lt[1] = &layouts[1 % LENGTH(layouts)]; strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); + m->pertag = ecalloc(1, sizeof(Pertag)); + m->pertag->curtag = m->pertag->prevtag = 1; + + for (i = 0; i <= LENGTH(tags); i++) { + m->pertag->nmasters[i] = m->nmaster; + m->pertag->mfacts[i] = m->mfact; + + m->pertag->ltidxs[i][0] = m->lt[0]; + m->pertag->ltidxs[i][1] = m->lt[1]; + m->pertag->sellts[i] = m->sellt; + + m->pertag->showbars[i] = m->showbar; + } return m; } @@ -1230,7 +1255,7 @@ grabkeys(void) void incnmaster(const Arg *arg) { - selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); + selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] = MAX(selmon->nmaster + arg->i, 0); arrange(selmon); } @@ -1845,9 +1870,9 @@ void setlayout(const Arg *arg) { if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) - selmon->sellt ^= 1; + selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag] ^= 1; if (arg && arg->v) - selmon->lt[selmon->sellt] = (Layout *)arg->v; + selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v; strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); if (selmon->sel) arrange(selmon); @@ -1866,7 +1891,7 @@ setmfact(const Arg *arg) f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; if (f < 0.05 || f > 0.95) return; - selmon->mfact = f; + selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag] = f; arrange(selmon); } @@ -2016,7 +2041,7 @@ void togglebar(const Arg *arg) { if (arg->i == 1 || arg->i == 0) { - selmon->showbar = !selmon->showbar; + selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; updatebarpos(selmon); XMoveResizeWindow(dpy, selmon->barwin, selmon->wx + hpb, selmon->by + vpb, selmon->ww - 2 * hpb, bh); } @@ -2094,9 +2119,33 @@ void toggleview(const Arg *arg) { unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); + int i; if (newtagset) { selmon->tagset[selmon->seltags] = newtagset; + + if (newtagset == ~0) { + selmon->pertag->prevtag = selmon->pertag->curtag; + selmon->pertag->curtag = 0; + } + + /* test if the user did not select the same tag */ + if (!(newtagset & 1 << (selmon->pertag->curtag - 1))) { + selmon->pertag->prevtag = selmon->pertag->curtag; + for (i = 0; !(newtagset & 1 << i); i++) ; + selmon->pertag->curtag = i + 1; + } + + /* apply settings for this view */ + selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; + selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; + selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; + selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; + selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; + + if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) + togglebar(NULL); + focus(NULL); arrange(selmon); } @@ -2426,31 +2475,37 @@ updatewmhints(Client *c) void view(const Arg *arg) { + int i; + unsigned int tmptag; + if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) return; - - if (arg->ui != -2) - selmon->tagset[selmon->seltags ^ 1] = selmon->tagset[selmon->seltags]; - - if (arg->ui == 0) { - if (selmon->tagset[selmon->seltags] << 1 > TAGMASK) - selmon->tagset[selmon->seltags] = 1; - else - selmon->tagset[selmon->seltags] <<= 1; - } - else if (arg->ui == -1) { - if (selmon->tagset[selmon->seltags] >> 1 < 1) - selmon->tagset[selmon->seltags] = (TAGMASK + 1) >> 1; - else - selmon->tagset[selmon->seltags] >>= 1; - } - else if (arg->ui == -2) { - selmon->tagset[selmon->seltags] += selmon->tagset[selmon->seltags ^ 1]; - selmon->tagset[selmon->seltags ^ 1] = selmon->tagset[selmon->seltags] - selmon->tagset[selmon->seltags ^ 1]; - selmon->tagset[selmon->seltags] -= selmon->tagset[selmon->seltags ^ 1]; - } - else if (arg->ui & TAGMASK) + selmon->seltags ^= 1; /* toggle sel tagset */ + if (arg->ui & TAGMASK) { selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; + selmon->pertag->prevtag = selmon->pertag->curtag; + + if (arg->ui == ~0) + selmon->pertag->curtag = 0; + else { + for (i = 0; !(arg->ui & 1 << i); i++); + selmon->pertag->curtag = i + 1; + } + } + else { + tmptag = selmon->pertag->prevtag; + selmon->pertag->prevtag = selmon->pertag->curtag; + selmon->pertag->curtag = tmptag; + } + + selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; + selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; + selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; + selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; + selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; + + if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) + togglebar(NULL); focus(NULL); arrange(selmon); diff --git a/dwm.o b/dwm.o index d973de11a3966bde0e8f5684141a6183a41c3e72..47da3d8ba47aaeb406d0386d146123f7ae72d39a 100644 GIT binary patch delta 20376 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 NXy0H?d}CJV{{!~_4yphE delta 19809 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