From 0cfa97b4c8ac2ddfee559340c070532fb102ec21 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Thu, 3 Mar 2022 20:20:32 +1100 Subject: [PATCH] import module --- go-next.png | Bin 0 -> 1462 bytes go-previous.png | Bin 0 -> 1616 bytes init.lua | 124 +++++++++++++++++++++++++++++++++++++++++++++++ remove.png | Bin 0 -> 907 bytes tag-new.png | Bin 0 -> 1484 bytes window-close.png | Bin 0 -> 3804 bytes 6 files changed, 124 insertions(+) create mode 100644 go-next.png create mode 100644 go-previous.png create mode 100644 init.lua create mode 100644 remove.png create mode 100644 tag-new.png create mode 100644 window-close.png diff --git a/go-next.png b/go-next.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c2f65b5293f881f9ca5e0d8c7a46860c30095f GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/go-previous.png b/go-previous.png new file mode 100644 index 0000000000000000000000000000000000000000..d21b1fa7012e19d52c41d9e2e13ac5109a291f28 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..b20cb72 --- /dev/null +++ b/init.lua @@ -0,0 +1,124 @@ +local awful = require("awful") +local wibox = require("wibox") +local gears = require("gears") +local beautiful = require("beautiful") +local switcherpopup = { + iconSize = 128, + systraySize = 64, + buttonSize = 96, + spacing = 5, + defaultLayout = awful.layout.suit.max, + iconPath = gears.filesystem.get_configuration_dir() .. "/switcherpopup/" +} +function switcherpopup.nextTagName(s) + print(#s.tags, #s.tags+1) + return tostring(#s.tags+1) +end +local systray = wibox.widget.systray() +systray:set_base_size(switcherpopup.systraySize) +function switcherpopup.new(s) + local popup = false + local tasklistWidget = wibox.widget{ + layout = wibox.layout.grid.vertical(5) + } + local clock = wibox.container.place(wibox.widget.textclock("%H:%M %Y-%m-%d"), "center", "center") + local tagindex = wibox.widget({widget = wibox.widget.textbox, align = "center"}) + local function updateSwitcherpopup() + tagindex.text = "Tag: "..tostring(awful.screen.focused().selected_tag.name) + local fp, fs = io.open("/sys/class/power_supply/axp20x-battery/capacity","rb"), io.open("/sys/class/power_supply/axp20x-battery/status","rb") + if fp and fs then + local status = fs:read() + tagindex.text = string.format("Battery: %s%%%s\n%s", fp:read(), status == "Charging" and "+" or "-", tagindex.text) + fp:close() + fs:close() + end + tasklistWidget:reset() + for k,v in pairs(awful.screen.focused().selected_tag:clients()) do + local clientIcon = awful.widget.clienticon(v) + clientIcon:set_forced_width(switcherpopup.iconSize) + clientIcon:set_forced_height(switcherpopup.iconSize) + clientIcon: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}) + else + tasklistWidget:add(clientIcon) + 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") + close_button:buttons(gears.table.join( + close_button:buttons(), + awful.button({}, 1, nil, function() + if s.clients[1] then + s.clients[1]:kill() + popup.visible = false + end + end) + )) + local create_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/tag-new.png"}), "center", "center") + create_tag_button:buttons(gears.table.join( + create_tag_button:buttons(), + awful.button({}, 1, nil, function() + awful.tag.add(switcherpopup.nextTagName(s), { + screen = s, + layout = switcherpopup.defaultLayout + }):view_only() + popup.visible = false + end) + )) + local destroy_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "remove.png"}), "center", "center") + destroy_tag_button:buttons(gears.table.join( + destroy_tag_button:buttons(), + awful.button({}, 1, nil, function() + if #s.tags > 1 then + s.selected_tag:delete() + popup.visible = false + end + end) + )) + local prev_tag_button = wibox.container.place(awful.widget.button({image = switcherpopup.iconPath .. "/go-previous.png"}), "center", "center") + 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") + 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}) + systray:set_screen(s) + systray:set_horizontal(true) + popup = awful.popup { + widget = {layout = wibox.layout.fixed.vertical, clock, tagindex, systray, tasklistWidget, wibox.container.constraint(tagbuttons, min, switcherpopup.buttonSize*5, switcherpopup.buttonSize)}, + border_color = beautiful.border_focus, + border_width = 2, + ontop = true, + placement = awful.placement.centered, + visible = false, + } + function popup.show(self) + updateSwitcherpopup() + self.visible = true + end + function popup.hide(self) + self.visible = false + end + function popup.toggle(self) + updateSwitcherpopup() + self.visible = not self.visible + end + return popup +end +return switcherpopup diff --git a/remove.png b/remove.png new file mode 100644 index 0000000000000000000000000000000000000000..d551e78a398f7acabb1b06927c79f2d0fa4ed0fe GIT binary patch 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)VPH7GUBC! 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( literal 0 HcmV?d00001 diff --git a/window-close.png b/window-close.png new file mode 100644 index 0000000000000000000000000000000000000000..1357d5430f5d3c3efc5ab92c7c92e3563fb82db6 GIT binary patch literal 3804 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