From 203dc1b9e464857663458bd00699ef3d05838114 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Fri, 26 Aug 2022 14:40:43 +1000 Subject: [PATCH] add window labels, fix tag button layout and switch to SVG icons --- folder-tag.svg | 147 +++++++++++++++++++++++ go-next.png | Bin 1462 -> 0 bytes go-next.svg | 151 +++++++++++++++++++++++ go-previous.png | Bin 1616 -> 0 bytes go-previous.svg | 151 +++++++++++++++++++++++ init.lua | 59 ++++----- remove.png | Bin 907 -> 0 bytes tag-create.svg | 244 +++++++++++++++++++++++++++++++++++++ tag-destroy-inkscape.svg | 251 +++++++++++++++++++++++++++++++++++++++ tag-destroy.svg | 230 +++++++++++++++++++++++++++++++++++ tag-new.png | Bin 1484 -> 0 bytes window-close.png | Bin 3804 -> 0 bytes window-close.svg | 145 ++++++++++++++++++++++ 13 files changed, 1350 insertions(+), 28 deletions(-) create mode 100644 folder-tag.svg delete mode 100644 go-next.png create mode 100644 go-next.svg delete mode 100644 go-previous.png create mode 100644 go-previous.svg delete mode 100644 remove.png create mode 100644 tag-create.svg create mode 100644 tag-destroy-inkscape.svg create mode 100644 tag-destroy.svg delete mode 100644 tag-new.png delete mode 100644 window-close.png create mode 100644 window-close.svg diff --git a/folder-tag.svg b/folder-tag.svg new file mode 100644 index 0000000..5b33820 --- /dev/null +++ b/folder-tag.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/go-next.png b/go-next.png deleted file mode 100644 index e8c2f65b5293f881f9ca5e0d8c7a46860c30095f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1462 zcmZuwdo%OH6;?^V)K0svqy z(FN}UiUt ziY%q@UJ9T1m|4A+mUFFt!%g7be_9^Z2d*7Pw$WCwn^OUG<|k&+1a%xg^IcLFFdJCz zA73K+sgLp-&`q9kjoPl;8!XIQPYlRB0Qxf7_3TQ3&nNo8f#8)FO!x6SjHWb45EWY) z#REZFaH3*<%bOD(2)gpd;VTe5J#Zy~7xXzH-jh7N^N_M3f;}?5?9Yy_yDnRce2AMf z9+2*y@{ap?GDq=}i+_x4gZy299F192nF)&}x)WeRuslowT2v&j1ptsnBHqE5IR|lZ2XMLROVmWNM(T z8XWka9#fu~n>0{6qcZa}=Pp*7t`K67XQ`L}XNT#Voze0t^07}HkgK50c>>XTyEYOU zlOG3;0ZFFi+6At!ip1$Q-Nqon8Jg{8Akli`RV4JFGo7v2ebdG0+*nqZP=#ca_A|bi z7G$oKB36U5(Z7>>mo`ftDrkc&5oWhbv+a%+Cg8Jj6TRdlO`4yAQmX>PRU&1$XJi$k;yGZI?~q48YAB> z4Sz`@z`x@*hrLI{>vR^BDHsS^Xzm}3N>qe~3R0A;r)2X(!~?5k&YdAy7TcZHu3s2Ck&L;j zW{99Wh(Gqh4wlAE_4`3f$3e=x9DZt^hYg!-#K?v+tCJ8+Sr&yy>1z(hGbOC9xC>R{ z+Q_Biq)EPo#e7poG<5!L4n6;3n&G*yJOulCwsi#Sp{|3uw6W%$C&+J}tp^Jr_e?2T zZ)pSv(%OTz=08l;+G9{%4U%6t=%YVw`CMhu+_sJ^;aeb!%M%Wy+K_;PvR-}wVaJG= znOpn4Duc;=B00HI+mVVCz);vPyM)G0?UE7pt9b}px~ojMn4FZ9{+w%?@YOa;FcZ-( z`KJtOfR&0s%&4P)fP9j+(5W>X{n(wyPH?&*iQFApsY}H`1xC_Lmt^b9!Bkci0dX}1 zN1O8mnL^CAT2Z*?^DKQ(|8ZL|Gs+4OV8G0mKEP^(2F*s{jB1 diff --git a/go-next.svg b/go-next.svg new file mode 100644 index 0000000..cfe6f2f --- /dev/null +++ b/go-next.svg @@ -0,0 +1,151 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/go-previous.png b/go-previous.png deleted file mode 100644 index d21b1fa7012e19d52c41d9e2e13ac5109a291f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1616 zcmZXTeOS_m7RP@-AW*v|GiB!6BxRa*jb={Qlld-TNaTD;X-Tu0`F=;b18lA+ z?+*VIW&h6UHNWy;9MYOO3S>QFg#(kLQ1QNnKsS-kPl3NA)}Ec~0xl z*K^a=bGtDa#a8h>seMcf)g_gDoX!39KK8lU4QScCqm$o|m^Ccclq^W#NtC9O9vKFSg};)>5CU z`=w>BvD2&S+~@lcZhgufaqty1j6_YT`l6~6fC@L5GCKcHxjTd%c3ly<}7GjbO ze($%YmLYEUE3cc;duR&$L;l_6?7Yl=&C%(|{%E*!AEf42r`C)m|MhXQ2>aEam{7|A zMeY>mI`HQ=cjDOPs>D881<*yE3}<{0nNwy9SJKJ34&dfkXKxDm>s7AYfwCm!M~oEl znzDnyRR1c541|gURAmbB?_Uu=Xz)yqd%zT3 zHJ%0j?NM9^VA%3I?e_|e#Pq_ExQoUMDz*d$x!p=NLIevR5sH|Fz!8W8zJIv0000(& z4+)G)9bLSAl(93`=1M{pw&^Bs4!#a-i`kA%@R~8ypmCCA6D1E4$LjvRa zkL)#-hi;HRsm`>4kEtDkPm>RWSWh8fQ+y1#E_Vffnb`?UsZF^|Ev&OZ_cm!4*swQq zc0cGQe_VE3m0i71u)3-$mk4O@%%wl3Wai9oASfpzzkX4{=X@$KIMysUaGChJ|FSaz z>u?#*q1Z-_ZALoihEe8ot0AQL!}^z|ofoC901ZZ&i`wTRM3E{UJ|${6YN+1Txg(5@ zEn#h#zV@B19ZDAv*EZxqqX)*&mrS0pG zt`vNt-5q-K(C^9!z|C^}vd)u3g#obspLlK)U6I%ff zbQU+{;ujE|`c~=pyNVg7QIkcP)ulAW8E>`lD7{ymdurc|+2l7;uin1=Vct zC4xkbJGim@g&L8E*Vr0acY%IUIdW+9w}kE8Gp!~wu_?qogAf$P!L}9_o0rn`6nh54 z$X1Ke+lLsiw6Va2RGeu0KpV$H%xgzK$=I!!$57)XKMz9M&`+3OC}bFFjHEd)s~x?r zkE$O|qee=4y)RE7br%jQWNo68l3aphIJD9Td^c+yqA&^hQgNHxkR4BW_hQ{iR=*FD zOEE$D%Z4R$g#I@_fR~ZF=!H-wOSj-Oq@0W&)0s zXGS_<`j_yzW{&5vIdC=k!0v;^Sy@E^1*Z((weBEzhk1VRR}C^rkGAF<%jL~1iBIz2 z)eShs4`vsG+DtzmkvFgw_H=Uj!qnT}ud$o~Xlg8KbM^h`qi_mzFsW zXw2@V^TPlhdVT7pw_o`J{Ee1RG`1%;YR6(ttu!@c2AQeK?q6yE*u86uBlUt0W1x#2chZVEvs^!VY0cE>(vI*AGBn}K(KStpsyJA@a=f-d zie928Ab~M7fBo%=muO(>qv$4JVIRHl-+*sv07opkr#Tpc(-y^t5<}{PD7^mz+s*RI diff --git a/go-previous.svg b/go-previous.svg new file mode 100644 index 0000000..e55cb62 --- /dev/null +++ b/go-previous.svg @@ -0,0 +1,151 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/init.lua b/init.lua index 37c301a..d04a3cc 100644 --- a/init.lua +++ b/init.lua @@ -40,20 +40,41 @@ function switcherpopup.new(s) local clientIcon = awful.widget.clienticon(v) clientIcon:set_forced_width(switcherpopup.iconSize) clientIcon:set_forced_height(switcherpopup.iconSize) - clientIcon:buttons(gears.table.join( + clientName = wibox.container.constraint(wibox.widget{ + widget = wibox.widget.textbox, + valign = center, + halign = center, + text = v.name + },nil,switcherpopup.iconSize,switcherpopup.iconSize * 0.5) + clientWidget = wibox.widget{ + layout = wibox.layout.fixed.vertical + } + clientWidget:add(clientIcon,clientName) + clientWidget:buttons(gears.table.join( awful.button({ }, 1, function (c) v:raise() popup.visible = false end))) if v == client.focus then - tasklistWidget:add(wibox.widget{clientIcon,bg=beautiful.get().tasklist_bg_focus or beautiful.get().bg_focus,widget=wibox.container.background}) + tasklistWidget:add(wibox.widget{wibox.container.constraint(clientWidget,nil,switcherpopup.iconSize,switcherpopup.iconSize * 1.5),bg=beautiful.get().tasklist_bg_focus or beautiful.get().bg_focus,widget=wibox.container.background}) else - tasklistWidget:add(clientIcon) + tasklistWidget:add(wibox.container.constraint(clientWidget,nil,switcherpopup.iconSize,switcherpopup.iconSize * 1.5)) end end end screen.connect_signal("arrange",updateSwitcherpopup) - local close_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/window-close.png"}), "center", "center") + local function pictureButton(icon) + local rc = wibox.container.place(wibox.container.constraint(wibox.widget({ + widget=wibox.widget.imagebox, + forced_width = switcherpopup.buttonSize, + forced_height = switcherpopup.buttonSize, + image = switcherpopup.iconPath .. "/" .. icon + }),nil,switcherpopup.buttonSize,switcherpopup.buttonSize), "center", "top") + rc.content_fill_vertical = true + rc.content_fill_horizontal = true + return rc + end + local close_button = pictureButton("window-close.svg") close_button:buttons(gears.table.join( close_button:buttons(), awful.button({}, 1, nil, function() @@ -63,7 +84,7 @@ function switcherpopup.new(s) end end) )) - local create_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/tag-new.png"}), "center", "center") + local create_tag_button = pictureButton("tag-create.svg") create_tag_button:buttons(gears.table.join( create_tag_button:buttons(), awful.button({}, 1, nil, function() @@ -74,7 +95,7 @@ function switcherpopup.new(s) popup.visible = false end) )) - local destroy_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "remove.png"}), "center", "center") + local destroy_tag_button = pictureButton("tag-destroy.svg") destroy_tag_button:buttons(gears.table.join( destroy_tag_button:buttons(), awful.button({}, 1, nil, function() @@ -84,7 +105,7 @@ function switcherpopup.new(s) end end) )) - local prev_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-previous.png"}), "center", "center") + local prev_tag_button = pictureButton("go-previous.svg") longpress.add(prev_tag_button, function() awful.tag.viewprev(s) popup.visible = false @@ -99,16 +120,7 @@ function switcherpopup.new(s) error("move failed?") end) - --[[ - prev_tag_button:buttons(gears.table.join( - prev_tag_button:buttons(), - awful.button({}, 1, nil, function() - awful.tag.viewprev(s) - popup.visible = false - end) - )) - ]] - local next_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-next.png"}), "center", "center") + local next_tag_button = pictureButton("go-next.svg") longpress.add(next_tag_button, function() awful.tag.viewnext(s) popup.visible = false @@ -122,16 +134,7 @@ function switcherpopup.new(s) end error("move failed?") end) - --[[ - next_tag_button:buttons(gears.table.join( - next_tag_button:buttons(), - awful.button({}, 1, nil, function() - awful.tag.viewnext(s) - popup.visible = false - end) - )) - ]] - local tagbuttons = wibox.widget({layout = wibox.layout.fixed.horizontal, spacing = (switcherpopup.iconSize + switcherpopup.spacing) - switcherpopup.buttonSize, prev_tag_button, create_tag_button, destroy_tag_button, next_tag_button, close_button}) + local tagbuttons = wibox.widget({layout = wibox.layout.ratio.horizontal, spacing=0, prev_tag_button,create_tag_button,destroy_tag_button,next_tag_button,close_button}) systray:set_screen(s) systray:set_horizontal(true) popup = awful.popup { @@ -140,7 +143,7 @@ function switcherpopup.new(s) border_width = 2, ontop = true, placement = awful.placement.centered, - visible = false, + visible = true, } function popup.show(self) updateSwitcherpopup() diff --git a/remove.png b/remove.png deleted file mode 100644 index d551e78a398f7acabb1b06927c79f2d0fa4ed0fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 907 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)MBDvkSGz)F-Y7hpu+S<}K(z3RmdHY<6{1n420Op-&oWWb)az@?K6r5c z(N)deo7eHJYf|{Z{OHA#B`=gz>!yoD9jQ28$p60f{pq{q4Hs4zoaO3eo|QNIWs1|8 zXJJP_XtR_k`xvVjpPn&!iAc@y>$Xfa`@28u{NH8oK7ZDB2?2r5^qGmbjz}N5JbT;0 z%J~+jyf%5&_}QdgV(paQxvt{Rv7IkA9WY*;re^Ceqbk-dyQaiId#2P!kwTxVC8xwU z$*rEV-6DIcRQBD;`wb>t51+QvFI&P>Cy7(YMPtRn95{gZ+=Y(W?zCAF8?vIb834T+_qwFm^#?`JDI3$1~?K987=UmH&G+ zZ^E<5U#gmbbNq%pe!D9B#o>Fdh=jERk1l0SCRpMGFWc6hothE&{od)?40CQyX! zLA*i463@hmwM))Qv3Q3IoG8-K(P7eDc1}%a>&8<|Izj?19;?ngiIAM6W@YjG*S#OL z9}*JU%-`QD{#TtQ1hfJdSa90!a_xO}OV3ZY#PW}vSCOAQ=j_u)anDm*FJ@m1Tyb|9 z+mGV=<@w+L*DgO&DJy<|eRTHL+j|>6FK#{?x__2kOfUb}BdYIZ>hsq6S2L&Vj7ip) z?r+bsYFo8&H`|?VOyQCg`|J!|eb$+7p zUW?^yKPEjfIC<}k`QJ39^M$jYT)t!WK6H|K6F07)VPH7GUB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/tag-destroy-inkscape.svg b/tag-destroy-inkscape.svg new file mode 100644 index 0000000..978c213 --- /dev/null +++ b/tag-destroy-inkscape.svg @@ -0,0 +1,251 @@ + +image/svg+xml diff --git a/tag-destroy.svg b/tag-destroy.svg new file mode 100644 index 0000000..26a244c --- /dev/null +++ b/tag-destroy.svg @@ -0,0 +1,230 @@ + +image/svg+xml diff --git a/tag-new.png b/tag-new.png deleted file mode 100644 index ddb0d165af3997f0cc99d0f4c2b43e575a59eb76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 zcmZ`&Ydq6?9RB^sTviUna?f)6xTQsPqQ-J*HX2d6B}7FWvLC! z-s;H}Sd<~%LeULN(zJb=x`rvS0j;g{j)!r{Pnf?jV^Lp4#-}EVr_{Bs=E%9VQ`jNW zf@lGU7e?(XL%%}Y7NG^@@qI0NCQo(D>x+^#?2I*yIk}m|a#8F-3@nP3ylC*_nK_P5 zt5cAXNxX2^d#GKx{Y~EQt>N^8-GmxK6!GwRE<91Kfk|0^*)UbpVqA1y8)L7cwIf-z zl8n~BtF#~&V%JaZmao}akzaQ(AWJELm&rnB3_52w5CatO24^L=Tj`V)+(HDl`w!x) z(@GZOQ)4=pZ6_Q%Pl{=0v|mXu3`BCAGZH} z(0XBv5WH3){pj=j%{t&O*UDCR}M-H=EfRzMr9 z8!#cNQMWGZg^H-Cz>2K9&#Z=r*<9c}`!NE;J7CL#94N;toKV~gH2@?}nRKse`&Hy0Ng||9#f-*G6V+F{1tFRY( zAMp1ORHvt;=hsDAwlssG4`Xe&bfPN4_+_%45+ z%#mnSTJ5fqt~Vndq}7o%_%*IJ?(^rxD7wJI&{=ZB`R8hom-A8$wvFhkW@_{8>3{vI zb<(ZZJ!|P&?u7f(r^YwK1HUzg5a2GX28G9-^B8chcd&QJ{4~pX;0wnU@A&9!5)H?i z>f+JNSW;W|TK~P1%5bhTJ~SG`BEAy+0Z-5cqW=%nYL5hPb47vwM&}dK@l$W@5Jk+< z<#0o2-pf`GEY~J7V2jY9B^^YI6L}Cpi=^;$Zo7uv5_i zVY%0u&z&@n2qJzXm3bF&)xp~W4tA{;QIF=16RUl3?)h*{%$Fv~7BsTu22V5lOK0jrVdYMj6b8)Y;^L=z zTDQ+0cFq22oI9kx`c$QhSS^QZo*`8_AW;ps(+K#wk7w>pMee2RWBr1ZUpT5PYXlkW zE`aB%K?y7*d!XlBdG*p98hvzG)zdiV!Aqk(5ama`*~)DhI~#dHPUv{-a1%W&Cbzj+ z0y$u}Odts~E)rhx0##*7kkmNYcX<`w+NWx3etWh;?$-5F);|{QE}ga4`#!8no1aq5 zuMBKD+TWyB?(7u4B~IvsA6+LzWS4^H8MVy7)6(;JZh7Y~_5>-t7asEQl<(#u+*xS) z5xd@cuB|a*V!+qx^!7X6q~h;2_}=2+E-?`N1TypCf^k2b2qYUJlZSalLlXhx_6R>*R`c&rUzFTwx~bE8lMqtOTEi{Sg*}Dxvc*4JN>(N7RCtso$AtM`%i4%cx$2+)50tE EAK!O|m;e9( diff --git a/window-close.png b/window-close.png deleted file mode 100644 index 1357d5430f5d3c3efc5ab92c7c92e3563fb82db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3804 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 + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + +