pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/0000755000175000017500000000000013025213275021073 5ustar jonathanjonathanpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/max.png0000644000175000017500000001730213025213275022371 0ustar jonathanjonathanPNG  IHDR`fPLTE      !   !# " !# %""$"$%# '#"&(%'$&(%#*&')'%,()+(*,)+-*,-+'/+-.,)0-./-,02.0-*2./1.,3/02/130231-51342/624630845746852:67968973;79:87;=5<9:;96=97>:<=;9@<=?:B>@A?9CD;C?AB@BCA=EACEB?GCDFCEGDAIEFHEGIFHIGCKGIJHJKIEMIJLJENIAPJGOKLNKMOLDRMIQMOQNKSOPROFUOLTPNSUQSPSURIXROWSUVTKZUQYUVXUWYVS[WN]XY[XU]YZ\Y[]ZQ`[V_[T``]_\Ya]^`]Td^aaY`b_\d`^ceac`]eabdaXgadecefd`hdZjdfgeghfhigejl]mghjgjlikmjmolnpmqspsuruwtvxuwyvxzwy{xz|y}|~}~¾ÿ'L pHYs  tIME $; tEXtCommentCreated with GIMPW0IDATxp}f23adn#; [l)"7JSŎx.*{GʕE?%N Q 1?j^[{޿yO0~>3ϓ_Mgљו~_Z'XQQQT,H3~4{3.qb W_6ilEY7:n@@wxY=z:>}޴t]^ַwƌ2wd <УD2Y\<+C]6oxe~^ oG']hb(yݺukZ`+Q2~ze.B 4tUWU8}.!.{?P#(䊲!ihYĕ+-Ytو2ilP ]UcBڱG;AZ>vT?GfeY&Tˎu8Е6e}?w蠯2z{AC|/%_߼iҾo\Z> +挹vYRݧ:j#F߼/[2o̘|7L;;N4tMO;^E褝ܟ3y&~cO'N[+j֟ 7cެiiŅ^z]/ LpqNvfnc;~x4=_ƨ[/\éÆsMW JvzGA;o_gњnaBY 3S=/i{SOU\͵Ʃ/Ԭ hHݢ{:e}dv#-jBcQrakہn~3;u5qǽW-zY-j!/64-<ِ9ۙҪ\:47.%W^2y~ݐFЭ܏WWvm:‘4YjG*y-G+zV}ÓB]}₩WïJgEG/6}cU+2T.۱3Ig_Ƿ tv'Е?Jl!SB_sږ\)nE-ʏZۦa[i/ .٣F|Ġ_dGޏ&>χ9(,D;~b\'=HׄheX?N=oN,.;TTT3ТPU=locdGt6{ʧujoJμ}U_spFtݱKm y񮆔GR5^k)~=u;;7O<;'Gڻ0DU֘O|\9ӧ_3s֣~േw,%^x~ǂ(h:s[84}{AXPYԚkƭ=Q~VQƵOzj^~n h!@>sЦ3Tdƾ~2?NX3EGv6ydO`Yr}(ukY7ou0еE.*/osպE tƲs-o@ 7~ mH}ZG7.a²T7l}3} zaf?{wO++ ',Æ}mԨoM8e۷lEm(V}χQ♹7&lj:=<6eSeW}ֆq †CR*zqjg٭; ;ƤV[;/?̜9(nxìh+fj|=;?Thux[Ff;?T"ƛSF:ay@gO`.ЃƧq3ТC}Vlu>#ptm e FлAG_tN6' ?'Q|O4^H=1)Z0+s;=w(? c~wְt '_2{7x͚0;C0(ڽ5*x\z.UqOf{7u5K⻘jZ%J,uwvUejn\[\vGKܜ_ƿit4P>OkŻo5'iǪZx^eǦ:-_d9U;Wr]v$Г ϴy :r21|B%V ]^ҳW/FG9jGIQA'fֽ5wᏛ{pnS>[\8nox[5QCxdKHGSBg'†(բβ[wtg(\5dSGs9>Vo\Vd&U8l2wƛ&+j#oş'«NAKO}(z' ;Tf_q|xN},*@$B'mC_tRN oXA(>uQ.ܾ h*V}ߎ3\=sۜ9^>zj}SţѼ414dpev3Jj>3#qt`::nui+kVv$Щqi-EXe{/P]UUНԢ.kx6x7Wm,i64 tfZ6~8va鰯S.=gΜ77 ׅ{ߴtfr/#®yKB4+3[2~<|Q5^UmUXJ^4sIyn,tȱ%˳ F\5|NϦ@79ҳ^=?;qլ'ov 7q4c QCW +R?Z8uW8VڱpSТU!%VB. t{W B;?Ihw@O6/r6ܝۄ5my@wRņA~ͩǻ=> - .wd&_<^w~?m pK.߻qwyw-CIA/{׮hږhufr;;h;^ua_d፳[wpg9USϋlO[/UTv52|f3t*BS TgUQ7;ae^UrW1gfn]mT4cá8g}X?5F2 Bce}FQ"DŽ/g-Eg% KSɩHwcsQ2OK>ۏu kW8T9t]\&N*ieIuI哾qhLA)vn'?3o 2od"*I~>B]zñJg |]>g,?,5^2k1?ﯿQ:J.y+/3+|8Ι?{\ţ j^?JuKvϥ˞0v\wDo]pq5Aq|Wr#.h J'_A~xǝ;\ţk p]~7_ &Orw`5S.5/Ɏ 44 _F9  -'Y.%t~vʞ; |9g%qߨҙ{oO7k.5ͭygɚcϝիJj{\^.nz]H+ջO6Y_yLsM.K[OÞ[pn՛M-[EM/Ѕ=aĈ-qƽ}ElsW=?QO,ihyO.eQeEQu7W< {n!йk7H <`ѵύŴ&z$pק9..ԟú侂E9-+y0=6)<;ZWw[ڼvl|c캂E鿎1ɢ[6Jy-hd\&ߌZ][{`Q~NcF'r5YYՉD4%k;S(.n(މ{w-Qtּ{hkzO>2D(J6(?1ѩt@wOA7Txo$@ + dg*ڤڂE9qlZ ?ʵ}pG@v浩kcү8XpclEE-:O^/KkKFѺɩ[k DQŬV2<<:wS"VϏTisS[2kƦW7YIuKjW>!@ tt[SE:7{=w-X8'*{Pma@A{g񌇞Uv dWo^{ݶ[nH/&1?jyG>jeB.NC\"? t4su@t@>w#_Eh@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@@h@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@@h@h@h@h@hh@h@h@@hh@hvh@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@hh@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@hh@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@hh@h@h@!h@h@h@@h@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@@h@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@@h@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@h@h@@hh@h@h@@h@h@h@h@hh@h@h@h@hh@h@h@@hh@h@h@@hh@h@h@@h@h@h@h@hh@h@h@h@rRǰ-ZIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/screenshot.png0000644000175000017500000001054313025213275023761 0ustar jonathanjonathanPNG  IHDRUYPLTE    !   !#!# %"$%# '#"&(%'$&(%#*&%,()+(*,)+-*,-+'/+-.,)0-./-,02.0-/1.,3/02/130231-51342/624630845746852:67968973;79:87;=:;96=97>:<=;9@<=?:B>@A?9CD;C?AB@BCA=EACEB?GCDFCEGDAIEFHEGIFHIGCKGIJHJKIEMIENIAPJGOKLNKMOLDRMIQMOQNKSOPROFUOLTPNSUQSPSURIXROWSUVTKZUQYUVXUWYVS[WN]XY[XU]YZ\Y[]ZQ`[V_[T``]_\Ya]^`]Td^aaY`b_\d`^ceac`]eabdaXgadecefd`hdZjdfgeghfhigejl]mghjgjlikmjmolnpmqspsuruwtvxuwyvxzwy{xz|y}|~}~¾ÿ'[ pHYs  tIME 2i+tEXtCommentCreated with GIMPW IDATx흍_Swr20#iUEE*jE|i +J([Y) +T Q Avڵ ;-\0}>s{7yz6ʾLfkXLD"$AzFɺS&v >{ba%@责L&񰳙0!6;E]ݝm$b buG_Lq4uX"#Lb<$"wq! =Z˯tyMrvqusݕ,wuvXb`cJI'YYYLtgFZR{[iPq"۱)Nyyr?x!y9Y&"+wMY898:MޑA:VɎ mTgPuS_>_9YIqM-ϖ\%8O]gTw?8u=m-ឞS.smR'2X}2;sF@)Lr6 .Qpد?),>kEun_̃}Mݻ M[{v1À8S(j¸ 㮐1Qlx85'aQ%_;k9裏l]v6`1{Jb)pkP5S=XպW?e:ZVVPckz<0 ?$ɦx?`^Xݻ?L\1V| Q_^OC(6#t=+T7*<4nԊe^s_܅Mt&gUw_0-rK[c00FOv2uwsTd>ХiArdWYk%GWDucTOϗ}}_[eaXXdTOKNKl.w:<ӜKK@2,#p%[e %*Ɓi<:F3W/E53ig\i3gl|μ]WzƴWFފOU+ԄM1M it8 Jٔw ˙Z', $]hzDuި#7|V8Yq4$Ijm ꭦRқ$&3urW4}|YQeSxGTVSH]8>!!!zm5)=Kՙ1:cqcRv'Fq!8SMK=jф/E]Rgd)Ҧ:Es3;"Bgi~q'7[~u$'t>Hz1, |oZ'jxF8.31ԵSnMIMp5ݤJ\zz$)-ETf$*d;~@\\-ʹv wr\)d8}i;bXwui]3Iݬ#dx)ڳzP ɮ{~g[jj|'[5;_&JxѡtE6҄R7ea _'f|¦?Jc1yX۬aT{o|}g!3HnNݶmыzN᠎*g.[KG4eCuGta" YxRŗ[ ը>Vj_Hn۾};kiS&:Ψw{3M[RnuoM^kl> ~W#;5.ɂ ғٖlnZ%J݄(յq5TT [kN?}H^c9@?>H>?pQYt|qBRII5m5 IEl ʋ&n//˫x&%H ]99\(lZRF(u Pk)@AʪRUZj)]@⦔~}3+i$-u&(MJ0 (84a9]\K8)Dt9E٠$N*Vm PxkvT/OLܴ.@UjC ]4p_yCUZ`RŵK$%q:hK=vzBvIڪzI_wƝ/E =Yڍ U1G잟U}q]TVVZi1r+ejIz !$reeݳ@\f}q-o3y(d*bs)*b9%^PP8\$- Sw Mt%V,Y_Bh[5eU R% JBZI!K̬T N/vҗ kßÞIXY .6z Za|$׶OFR9Ҡ˧~ x<1P+Uj%P=z0P竿,U T*U @*P T*# @ @ @ 2=%\# T*F5nʻ@"L,GsV\)#T5v(v˫hmynƯ3|g9-T]Z īV/zpOe1eNR{c01T2SH5SuTLUw8P7V:tgde` i1T2KH5"Bb1Pe=bu*j4z9r>BU.#j5UӶPlP=ShV%"X2y{ԯ> "v[d/RkZ[5娚jE)Fquf8I7T *"Q.U,t4B6u#*@afFf?9Z="fWWMO+Ku U!Řņ8ss^/sq'P"2R+u%;3"c]d{WkiJ)r?ɨ@%ff\2ze٪㽕mIVDdH3jDDr>(U#iM&[$ɴs|S{g/L~ The title bar is completely gone and integrated to the activity bar. It is largely inspired by [bios and mathematicalcoffee's Window Buttons Extension](https://github.com/mathematicalcoffee/Gnome-Shell-Window-Buttons-Extension) and [mathematicalcoffee's maximus extension](https://bitbucket.org/mathematicalcoffee/maximus-gnome-shell-extension) and some code come from there. You may want to check theses out, especially if you want something more configurable. Installation ------------ Install it with one click from the [GNOME extension repository](https://extensions.gnome.org/extension/723/pixel-saver/). You can also follow these simply instruction for manual installation : git clone https://github.com/deadalnix/pixel-saver.git cd pixel-saver # Get the last released version git checkout 1.9 # copy to extensions directory cp -r pixel-saver@deadalnix.me -t ~/.local/share/gnome-shell/extensions # activate gnome-shell-extension-tool -e pixel-saver@deadalnix.me For code changes to become effective, you might need to reload GNOME Shell by pressing Alt + F2 and entering r . ### Dependencies Pixel Saver depends on Xorg's xprop and xwininfo utilities. If not already present on your system, these can be installed using: * Debian/Ubuntu: `apt install x11-utils` * Fedora/RHEL: `dnf install xorg-x11-utils` * Arch: `pacman -S xorg-xprop` Configuration ------------- Don't be silly ! Support for older versions of gnome shell ----------- If you use an older version of gnome shell, here are the versions of pixel saver that you should use. | Gnome Shell | Latest recomanded version | |-------------|----------------------------------------------------------------------| | 3.12 | [1.3](https://github.com/deadalnix/pixel-saver/releases/tag/1.3) | | 3.14 | [1.5.1](https://github.com/deadalnix/pixel-saver/releases/tag/1.5.1) | | 3.15 | [1.10](https://github.com/deadalnix/pixel-saver/releases/tag/1.10) | Screenshots ----------- If you want to see what the full desktop look like with this extension, you can check out what a [unmaximized window](https://raw.github.com/deadalnix/pixel-saver/master/unmax.png) looks like, as well as a [maximized one](https://raw.github.com/deadalnix/pixel-saver/master/max.png). pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/icons.png0000644000175000017500000000255013025213275022716 0ustar jonathanjonathanPNG  IHDR4@{}PLTE     !# $%#%'$&(%)+(*,)+-*,-+-.,1303424635746857968979:8:;9<=;=?AB@BCACEBDFCEGDFHEHIGIJHLNKMOLOQNPROQSPUVTWYVY[X[]Z]_\^`]ac`bdadecefdfgeghfhjgkmjmolnpmqspsurwyvxzw}|~}~¾ÿɋ>bKGDH pHYs  tIME *tEXtCommentCreated with GIMPWLIDATx헋WPF5-Lą*I Sдo!,f퍻 )5t~p{AA4_﷩"JzB6}m4]źf62Y2$4iPC ]gv7؅bläJo&ܥJiF;kL{'C5zw vG ;~{X"}2z2P)-ĔqVT!N Dž;Ló |_KXBڋw4ߑ6FY3Ɖ;i)3z2h7zmv@fEglqV"-1)xWi)'f ]9EsB;PSv ҈2$3~r@g;]Y^O)C9>~ֲ%ipqHK~6Ғ5F2A\Aio4ٍf0u4$!N.!ё_kYU85I5mtM+(-r^itzVWJGCKpC/<"$^0*M'jښ;,6岶{]g^=p<`э5w:|h XjGD9QY#zX˖<1lh>=W=1?QRXiQRB -J)Oi/*Ua너ֲ?K;#5y1a@!y!pJ3MI{jTh0i)Q0~=eI^)mس.; aӓNP7CIʻ%E0aG+'=g'f iC0K:=m>xxpFsy             b?_FiaIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/.gitignore0000644000175000017500000000002013025213275023053 0ustar jonathanjonathanpixelsaver.zip pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/title.png0000644000175000017500000000716013025213275022726 0ustar jonathanjonathanPNG  IHDRU@PLTE    !   !#!# %"$%# '#"&(%'$&(%#*&%,()+(*,)+-*,-+'/+-.,)0-./-,02.0-/1.,3/02/130231-51342/624630845746852:67968973;79:87;=:;96=97>:<=;9@<=?:B>@A?9CD;C?AB@BCA=EACEB?GCDFCEGDAIEFHEGIFHIGCKGIJHJKIEMIENIAPJGOKLNKMOLDRMIQMOQNKSOPROFUOLTPNSUQSPSURIXROWSUVTKZUQYUVXUWYVS[WN]XY[XU]YZ\Y[]ZQ`[V_[T``]_\Ya]^`]Td^aaY`b_\d`^ceac`]eabdaXgadecefd`hdZjdfgeghfhigejl]mghjgjlikmjmolnpmqspsuruwtvxuwyvxzwy{xz|y}|~}~¾ÿ+JbKGDH pHYs  tIME  k)`tEXtCommentCreated with GIMPW IDATx획_vR聕@ +H6&J9JD4y P( TB|)SMT0rBA%&:o,rP/tw3s3{ffw~1qR$ $L H\wJ#|V/ (ei NL;Jݴ*UB^λiUl}<\m$!D~RqMuu.SfKjW*ViU[n.nsn.Nၾ V$66v]ho S;MgVĔUBo==}~ڍ*QeV[LՠU;g.ٙVON {\UN~?miSDGV~w߆¿MW{V-U5!:%IJ Y1kKfW:u3gfcNV0/Y ]YKP8WյvDeQ1m_RE4~nc KQ鉈 fݹ+iCQm]G1@|U"jg IQllc$\ :R[4Xtv4 %QѬqSC4c%1L M; ۉPMzD|_>9hhx֟1h9+YD~{9_=Z"#LB@|s)*l{ +=L 8h\-Oô(Ui@0*pbXSw]`B$O:ȡy@ge1@ 3jkwx QM鿨DFJhzzP62vB .wY8 ){7@0,*v,nyP eŠNS"98ma%36iWk}c[alHR[J5=0]ttwqhwZ3V{?ipa+@ lPjBWFF&ڵלasUP edV' ´C,gž;v`j$pKbGE'-LHƗ t.VC!+fNxt̠8iO3̘ Xl.mi2 nJjj7(`zp:TeUGe* %RmV.@Z䚵1۷oߔu Hy'nQ)*Jw[hMŕ"1)))f}8ؘUM朄X4 K`Cj^:t8[у6˄B E\1gFі&\SؕzsL?94x+ߎУ N}?/fnk%x4Upv+ ZU[32>_\ӃfBv ?I:"JӬ(p'@vvf. 8~Y-L&[wrMQXOuUݗsPݬCdxxh?tSKUƿ[o-##Q;Nh^*&vc x0Yӣs4y%JmkTLLڔ>Ìĵ yy+$IJu@H5Q;ORYģJݜm۶cVifqP'N6_VjWF"lpv$Ŭ\xN5plH0Tg~%ZVe5揨V3ر꬙|N1S^*+ZӦ-[Ѳw֤K5UwO9G`ݱew6oޜ&tyGVm%$IzxI($S5RF<4i PHQCa52OO"Uw{JRiS-9˭Auli Za.{z1r?>^p5Y!(p*d6F \+&\wXfZ+7S,NT:tL,Cc7%쎖F(/z4OD%7y|8e!D׍GD sj rcLsNN (1ⴱ(ҾurkPҴ⎓_LQ"`lo; -AY!h7f04Q? 8uqG8; 5ZmUMUb<'Bmn.o;̲,Ig뻀=X9Y2Bs}&漏 ,XG!ߒU"( ݠm&AZ+աh=yWyFlǞ [ #wo딜X!/sU M\jp85ngx|)r-c$L1ίLPApm55+Itq)#"@a>Kqݱ~v+F>⪨qݱBm*`ieROLC\7 ;O&j#ESTX?fS}JKNR+/[ji.!q ]9/3khKǹP5ewKUsT0`::%bǵM-5ˮmZvv˺^@LIENDB`././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/screenshot.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/sc0000644000175000017500000000301413025213275032052 0ustar jonathanjonathanPNG  IHDRgosBITOtEXtSoftwaregnome-screenshot>IDATXOLVlj$?0"J[$(0PSzRMTMjK/a'*0uU&N&TR5jICSHMFBj qR"uZu|~yO?g?8MuzݺnnQ@b!&$=$6WgՑ:2Q2@:9:!}X J(gو#\(kʱ[lL'Up3j7Z/qʭd2B;vѢhY_Wv_\ ͻw^|9f#znd?0UG4d'dE[2FLUS8܌vk:rIr|[14·gTFteµė]]qy0[$X@QMjZVtMLLa`uttiٙ=e:!G^v-~LgE81%<+T*PVm?k2|sk7aV 1o¬lhi"TU?`*5RP*b0p͑ bqV-_ H__xߏ tG I]!a䑡Xڕ9Iی^oIr1`C1N Fmn?1LU.^ ÜxR U0 ݳ+zup"Di}[N(-VVW EHkO(BZW{elEe2hg~6Q&EaQf}Z`u(cE1,٭ (l֑E1,A4As ǫ&2Tu΢TuNE1,xȰdl63bX& L&3 oj"jlk,rWxMH-Y&5瞲 Au; /BF޶L$o5v,e^yE)j@yG\Xfvv{׮zwt͑]@ -Stj15K-IENDB`././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/minimize_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/mi0000644000175000017500000000112013025213275032046 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxUKA~ZihkR- t=wnyصΝ!" B+(]g#,x |0 璠ϫ0"XFh|qC"1ͶıF$7 ؔDL(xْ4&e2K+SXGtX{*w#2g A|'߆Q!"I7ɓz0@6?eXDʾz,8+Itqj2 q;V9hbզk*S1`*c2et"5:p>q;Vԡ0HEk/#ϊ~<=rK>Rf6v<9GوC\>2Ew֢HK7g/9w}`9*[;xU}O #w;?,ْ1e4R -{Yxp8Q̿/%Ф8IENDB`././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/st0000644000175000017500000000147113025213275032100 0ustar jonathanjonathan.box-bin { } .button-box { spacing: 2px; } .window-button { width: 24px; height: 24px; transition-duration: 100; } .minimize { background-image: url("minimize_focused_normal.png"); } .minimize:hover { background-image: url("minimize_focused_prelight.png"); } .minimize:active { background-image: url("minimize_focused_pressed.png"); } .maximize { background-image: url("maximize_focused_normal.png"); } .maximize:hover { background-image: url("maximize_focused_prelight.png"); } .maximize:active { background-image: url("maximize_focused_pressed.png"); } .close { background-image: url("close_focused_normal.png"); } .close:hover { background-image: url("close_focused_prelight.png"); } .close:active { background-image: url("close_focused_pressed.png"); } ././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/minimize_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/mi0000644000175000017500000000074313025213275032060 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<uIDATxU@G`a[+{k3XIRXb*m@|EPz; 8VvgvfGϴѓ ~2 X .'37xtS˲TEQVBy^(4M9RummU5q-&"(6|_Pr,j_‡,˕ ZUU>4O$CB` X8 +ܮuޢ[0%h(7Z+\Z hs$IC΁\Z{xԳpJnZa,Pl6leYFY0yUxH#'>D#;KIENDB`././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/ABOUTpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/AB0000644000175000017500000000024613025213275031733 0ustar jonathanjonathanFiles in this directory are from zuki-themes Upstream: https://github.com/lassekongo83/zuki-themes License: GPL-3 Author: Mattias (https://github.com/lassekongo83) ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/close_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/cl0000644000175000017500000000110213025213275032037 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxU=OA]NB#34 DK:bc?^:)֎Ep&Dr|3 4I^.켙w7;30)%8V.`Lt )qwDM^/ lCd)_Z QFu/$IyǪoAc'{=0cA,y9J.aeNl|>|TO&"sT,9%oD"IC\UPm4j4$8UtS"x LJc=bƭ[ąV \mݦL@, D:۫%@ ݮ ;KƿmWb=hqBm!qVFEK4!3Ǹ^jW4xU+K38{_Zfnie2InFeRɗZv공_ ͫSHIENDB`././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/close_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/cl0000644000175000017500000000107613025213275032051 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxUjA;--AR$ Xڄ">}lb+ӦI2`CE Qo-lBfi.`Lգ,"D v ^](\#j*=) ?R:M?9hT cuOLX 7u"t/C?!8ƹmqQ)20Ǘ?6b:8UPA&wWy !SNG| cjh炂u0t:[""8$@  ?6H4vAbhBbFjeu\禙y8p#Ū8l枙f"d8]vQKL:]8XPJ˽|e*>[{]e}_r[IENDB`././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/maximize_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/ma0000644000175000017500000000074313025213275032050 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<uIDATxU@G`a[+{k3XIRXb*m@|EPz; 8VvgvfGϴѓ ~2 X .'37xtS˲TEQVBy^(4M9RummU5q-&"(6|_Pr,j_‡,˕ ZUU>4O$CB` X8 +ܮuޢ[0%h(7Z+\Z hs$IC΁\Z{xԳpJnZa,Pl6leYFY0yUxH#'>D#;KIENDB`././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/minimize_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/mi0000644000175000017500000000112213025213275032050 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxU;OA8r1ϨBC0饱֎`m? #&F|`A@u,xAƸɗ|3̜9N.글y0м" bq8B[K,k#MUM>"xʠqR T*QV59ל{uSнi;ܝV"? lQ+@;XQ5!ŧ{cyZ v d:_~ueJF⊣\ dco q=e2s2R̘(vJ7@WLɑ\ cmu25,af@\u( ĵ PGz>O^KV׺D#WkU &?:.ʳ Ŋ/XEsw%ja^&_WLv_=IENDB`././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/close_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo-Dark/cl0000644000175000017500000000074313025213275032051 0ustar jonathanjonathanPNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<uIDATxU@G`a[+{k3XIRXb*m@|EPz; 8VvgvfGϴѓ ~2 X .'37xtS˲TEQVBy^(4M9RummU5q-&"(6|_Pr,j_‡,˕ ZUU>4O$CB` X8 +ܮuޢ[0%h(7Z+\Z hs$IC΁\Z{xԳpJnZa,Pl6leYFY0yUxH#'>D#;KIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/0000755000175000017500000000000013025213275030670 5ustar jonathanjonathan././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximize_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximi0000644000175000017500000000106713025213275032103 0ustar jonathanjonathanPNG  IHDREPLTEutm<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7=<8>=9A@;BA=CB=DC?FEAHGCIHCKJELKFMLGNMHPOJRQLVUPXWR`_Ya`Zba\ed^gf_gf`hg`hgajibkjckjdlkenmfnmgongpoiqpiqpjrqkutmvunwvowvpxwpyyrzyrw tRNS !`ux{IDATx]R@E{b($\P\pWpa ,yS]s/ jmqԹ2E*:g@] !`OA.,u7(£:ψ(ƐO18fHIα%o ܦkwg=4D.I?sTPj"k6@ck-{1? c,ա:$:6IENDB`././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/screenshot.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/screen0000644000175000017500000000433513025213275032077 0ustar jonathanjonathanPNG  IHDRY1sBITOtEXtSoftwaregnome-screenshot>pIDATXorREJlˉa[W l!AA{*zEE?>HoA^rhQ4@cQG؎[HJjμ4#n_rf>3}|v艞Qb5L<8E4MӈcEuVVWD@JeTr,Ӵ,3(\[^YK7/ݵё2c 60ҽzgSUGc0c]D\\ZXh] ؟h߾Z:4k`j5ss1RdGP#RVݿ@!}u۷oGຮ:X, қF_ 򕂽 ]oKNǿqV$}pܹsSSS;hZ.]zw8>lvĉR"J35._u_|]̗ܲ_~R)#n`'1vdrPWs/OLT DBdk77{ϋϟ={ֶ~l۞V}^޽cC\NQ"LTI"6~酅i"An-:}t(BIًY{߾f2^޵kh㸋'b?t]ߎeh AkVn1f?2;m^նN}2 cc5˲  "BD"JcsKiXh8snOO_S'$)٪][d-Lʦz׵jPQ{$7xbVG0TJQj_}h,t1bՑ( R)tԫ$I"U{qX eS.Jϟ>C~0 $v4fff0bZR(TJAaQATR*륋=R*nL$R*1Վ U*uw>~z7F[gE}/fffFFFjZ GQ049NQ)b3TcbE++kvg;N˫z^oFH.sAuTr4%_ ƙsrmnC&_f~XHoR_p̙3I=z۲}v<`:"245BEH1wga'-[8 "!bDʛ7/,|0zcGrνtz<_%0lp^#tcǎ{n\8NPaWi8B`LJ;?Os ];qq,D%8swRJdg>?-&1(T#sMoq@ ڝ '|믿x_n@1}0M#ѻ.()o,,,(\׻=&y"Lݻ qoǽvg`}chj@$1FOp27|o4f3vZyq 5"[_r*"r[^)d2sHőr)᭖8EЭka&9&ǎ2?Nǟui{v*-5B7 zOzSسg:ZIo{;k0*]b-]ׅH(w0Jy)m"#W{v?÷l=%~5IENDB`././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimize_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimi0000644000175000017500000000077713025213275032110 0ustar jonathanjonathanPNG  IHDREPLTEutm<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7:95<;7=<8CB=CB>ED@ONIPOJQPKSRM^]Wed^gf_gf`ihbjibkjcnmgqpjrqjrqksrksrltsltsmutmvunvuowvowvpxwpzyr ItRNS !`ux{:IDATx]r0E7F`(zhVj z~ٹ{il0?ڌB˝0q-lHV(V 0oa;ǫvObCNvء8X7>uhBM3i_YGaۨ<4b Na'O >d^"eJY{"za?{|B2&' IENDB`././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/style.0000644000175000017500000000142613025213275032034 0ustar jonathanjonathan.box-bin { } .button-box { spacing: 2px; } .window-button { width: 19px; height: 24px; } .minimize { background-image: url("minimize_focused_normal.png"); } .minimize:hover { background-image: url("minimize_focused_prelight.png"); } .minimize:active { background-image: url("minimize_focused_pressed.png"); } .maximize { background-image: url("maximize_focused_normal.png"); } .maximize:hover { background-image: url("maximize_focused_prelight.png"); } .maximize:active { background-image: url("maximize_focused_pressed.png"); } .close { background-image: url("close_focused_normal.png"); } .close:hover { background-image: url("close_focused_prelight.png"); } .close:active { background-image: url("close_focused_pressed.png"); } ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimize_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimi0000644000175000017500000000150613025213275032077 0ustar jonathanjonathanPNG  IHDREtEXtSoftwareAdobe ImageReadyqe<PLTE$#!$#!$#!$#!$#!$#!$#!$#!0/,/.+10-651541652652763984:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95873874984985:95;:7<;7=<7>=:BB>CB?DC@ED@JIELKFQQKTTOUTOYXTYYSYYTZZU]\W^]X_^Y__Z`_[a`Zba[bb\cb\dc]ee^fe_gf`hgaihbjibkjdlkdmlfnmfnnhongoohpohpoipojqpjqpkrqjsrktsltsnutmvunwvoxwpyxqyxryyrzyszzs{zs|{t}|u}|v~}v~}w~w~xyz{}||}һ)tRNS "(h{~U1(IDATNA󟙝E ژҾ/`2 ,̜TS>Nurwڇya?B}wSݍz-!RTT_T_UD$lnF7ucU_ݏԝ$۾6gr"r8)Jk)FB!|п'B8g HcIExlfqS!M]LE}w 'ɱ:=^-+2" 4<]/FxIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/ABOUT0000644000175000017500000000022513025213275031464 0ustar jonathanjonathanAmbiance elements are from Ubuntu themes. Copyright: 2004-2012, Canonical Ltd. License: CC-BY-SA-3.0 Upstream: https://launchpad.net/ubuntu-themes ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_0000644000175000017500000000117013025213275032056 0ustar jonathanjonathanPNG  IHDREPLTEp;<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7><7@ L&L@9N&NA8QA7SA7VC9wL9yN:yN;zO;~P;I(J(L)M*Y:b?b@a=c>d@Y0Z1[1\2^2d;e;fm?nBln?pCo;q@sAtCp;ps@^ tRNS !`ux{IDATx]i[@(4eijTkY6ҙ/ysf^i;y7L!t]WP Ԛ~dM,*0`OmTQq뚰`H%P| )z/uE8;6\*O+/ K;sT,Jgb.=#ᓔs)[bgRNb%rk:d4ɼb54I ;6=Y?=JIENDB`././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_0000644000175000017500000000162213025213275032060 0ustar jonathanjonathanPNG  IHDREPLTE}<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7=<8<;7<;7<;7<;7<;7<;7<;7=<8><8>=9?;7?=9?>:@ @?;K>5L&L'M'M(N'N?5O(O)V@4ZJB\KB_LCuC+O8P9aOaOgXaIcLfOW9P#LZ1sVqRY.gBoOf_6tU[/xYƆqqQa7ȃioLtTrN|^_1c6b4vVQ\%~\߉m]nvSxMU V WXZyN晁]_!c'g/h0k4l6_f,_r=l5m7s@p;tBtCUXzLzMw[\VWYde`cijnnrsttuzz~.;B+tRNS !`ux{:TIDATx57Bqƿ "Dd'22 YRQRssep^Cbe6W,2f<1l @2?Ye}D3 8X=E#ZAK(7C>Ak]4 "?- +'9Q <5 >zw$#hջG*AvfFg].C$ƮUt{$u+ 1}:7 (G ղoh̿(W֙vM:/tD ePÙ0X3aIENDB`././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximize_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximi0000644000175000017500000000161013025213275032075 0ustar jonathanjonathanPNG  IHDREtEXtSoftwareAdobe ImageReadyqe<PLTE$#!$#!$#!$#!$#!$#!$#!0/,.-*10-651541540651652651763984984:95:95985:95:95:95:95985:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95873874984985:95<;8=<8>=8>=9?>;@?;A@;A@HGBIHCLKFNMHQPLSRNSSMTTNTTOUTPVUPZYUZZT\[V^]W^]X_^Y__Z`_[a`Za`[a`\aa[ba[ba]bb\cb\dc]dc^dd^fe_hgajibkjdlkemlfmlgnmgonipohpoirqjrqksrksrltslutmvunvuowvowvpwvqxwpxwszyszzt{zs|{w}|u~}v~w~xyzz{|}Ex/tRNS "#(hi{~;sI*IDAT=N@ov&1@ с83HQȄ8q3{D reՔ:vۨ?dRqۊ*9s4~麷ő:rU!>LqdN>}.ClzYLs ӧjb,q+wt6oNOfM(m3H{Z`n E rX)Gzd\XL,,O%Eg,oi赨Cc{/[z'̜-~nIXœ+G@ۤJ"_ a&fS*P1IENDB`././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimize_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/minimi0000644000175000017500000000143513025213275032100 0ustar jonathanjonathanPNG  IHDREtEXtSoftwareAdobe ImageReadyqe<ePLTE$#!$#!$#!$#!$#!$#!$#!$#!0/,/.+10-651541652652763984:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95873874984985:95BA>CB>CC?GFDJIGLKHMLIZYXZZXa`^ba^bb_dc`kkillimli{{z~|mj)tRNS "(h{~U1(IDATKnQЪk66S0Bo &Ow놜C q:׫\ J.NrCrϞv{랾8a_cl濶.?>}۸\pLKOp8ArapA@"=KNr{PI +#&KCUWK֪;_iy"*hRm16{!E4sZ3u1Jcj0aHO `/8T'U! U"AEut]XIENDB`././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximize_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/maximi0000644000175000017500000000156413025213275032105 0ustar jonathanjonathanPNG  IHDREtEXtSoftwareAdobe ImageReadyqe<PLTE$#!$#!$#!$#!$#!$#!$#!0/,.-*10-651541540651652651763984984:95:95985:95:95:95:95985:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95:95873874984985:95;:6<;7DDAFEAGFBHGEJIGKJGMLIMLJ_^[__\`_\`_]bb`cb_cb`cc`dcaddafebffchgeiheihfiifjifkjhkki͙/tRNS "#(hi{~;sI%IDATN1ﶝ23Qҍ/`|tƝO`o t~W<Y 6$tuTaLx'Wc65{Pt_^PC[OuUfBݓgF;:J ŏ^+7(βܭ\tCVYkٸOy';G̤6 PUdRQ[ RQץռ n8x+m00T>ikc޳)Ŕپ.uPd,;)yUm׬By…IENDB`././@LongLink0000644000000000000000000000016700000000000011607 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Ambiance/close_0000644000175000017500000000156513025213275032066 0ustar jonathanjonathanPNG  IHDREPLTE$#!}<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7<;7984985:95;95;:6<85<:6<;7@ H;2K;2L%L&L&N&N&N'S<0UE EIDATx}TTe? "tQ5|kQ#Ͱ𬝭ͬV;9m[s6m{/X$ Y/ hiȋ9?f;3=g`}>sG7~Āx*޲&X* j>ʸb_.\<[|1\$-4Y H665|5 YRo_F+}mB…9jr~Edg嶺˽>gEA /c{]$(8ڵijj@xonp0/+B x13gKEjMARY֠7pߧ)/p[Xwe=eZyU$'/5=v}NgglC 6vǏXc+in"۶1 T &݉1_\Rk ܣP;5_|VoRɺh_|`]L Ô}L $%%?}*|wmdg%\lRdj\,FRkk7]Gd|w凉 p|-P("##z}"yQ(-fs ;$DXf6^"(;|B2rD;0_ZxwXXOh! ϡ/ A@ub_\g)CjhK ٳ AkK+Οa (@Q>.ֆ&(_6(N/ax晧fl۶A??n9e3.L&**:.]ҥPW&N@rOr)ʿoߧvBILLp01 h4PFc&6'5kBOCU͈PtƄ=n#%Բ~->? F giZ*[3?`BjjkHa_>ʤ9z[wm[=S-7oM٩Sc:5={3j;PSS˨Q#ӌ! HU(**++4i"(((o+ew:\[H^^˄:]w`.^ةsFOcMgsgmn!'CgBY={Fľ<}wϮcfJ`g@^O!g鯀z 3sAB]]۷$57HNѷp!g[HL?̙s ,YYɶ/)X_ $I?zz0!IRήvsۣ,Wޡ׳ԥg"JKi6l ~3Co0BP4 v6m"hI-GB$<_uwʶ6*ژ§'NPdϴ;K3e )!#" 'ND=cgΔHNBCBPՔWP[['ߌd.]FVsMVVBkk[m=\_ѫ/yRA`Rahի)nl$G?~utx|||~+A#FE]nlenxUVHp@99wOE )J } ڟԟunw=P ?'9rC{{?{C?%,6%AzM~hc!IENDB`././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton-max.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton0000644000175000017500000000126113025213275032176 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<.IDAT8OhAƿ٤[IHHP&`ժɃɃGփB J9hB?Z4RIB&ldc }0~|<`%u^pڷ*dC& juӐZιiܮzݞ_q˔!6Jʼnvsvi>Xnfvb.4inKu{bcmX06>6z9 GNM߻yMU14M,O)+ϙr._`tJ@$4(FjAY˥FwBpA_ejfUm Lo5YI)xT7x@mR"ݼ`-$I8&T뀴$!턼VdtD;:!DV76zjpW!b() >Geb*>?}Ucѝn@7t|!sTЊ1L6.J@W2k a N}ʱrruy$4)$uXlnWLͪL{?*EIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/style.css0000644000175000017500000000227313025213275031554 0ustar jonathanjonathan/* The box-bin element holds the button-box element which holds each window-button. * * Control spacing between each button via .button-box. */ .box-bin { border-width: 0px; padding: 0px; margin: 0px; } .button-box { spacing: 4px; } /* The style for each individual window button */ .window-button { width: 24px; height: 20px; } /* The style for the window button when hovered over */ .window-button:hover { } /* Here you can style each individual button. You need to define style classes * ".minimize", ".maximize" and ".close". * You can additionally define styles for the :hover and :active pseudo classes * if you wish. * See the 'Radiance' style.css for an example of this. */ /* Style for the minimize button */ .minimize { background-image: url('titlebutton-min.png'); } .minimize:hover { background-image: url('titlebutton-min-hover.png'); } /* Style for the maximize button */ .maximize { background-image: url('titlebutton-max.png'); } .maximize:hover { background-image: url('titlebutton-max-hover.png'); } /* Style for the close button */ .close { background-image: url('titlebutton-close.png'); } .close:hover { background-image: url('titlebutton-close-hover.png'); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/ABOUT0000644000175000017500000000027113025213275030473 0ustar jonathanjonathanFiles in this directory are from the Arc theme by Horst3180. Upstream: http://github.com/horst3180/arc-theme Copyright: 2016, horst3180 (https://github.com/horst3180) License: GPL-3+ ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton-max-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton0000644000175000017500000000125413025213275032200 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<)IDAT8SoRa=Q8.H@'ڄTXtU;H(1im 4 IK]~m's#|!9&&f?Ug5"ZuY ňdtY V"N,+A.x!J0UWRAI7 9B[mW\j)ٶ]=[I@.Dψi6ÚViV}d#6Y,Ve%D|kbAtmW6!Pa~b3IUUGor dc€yP4ķ>MJDI> P+=Ӛp?zltW6 ,t~A\W`&mM7Cev` X2bRHYKV^8N;AݶZJ*J=D#qb7ctIi 쵶 nx([ώ4>SukO? + UԨ/IENDB`././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton-close.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton0000644000175000017500000000077413025213275032206 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<yIDAT8JQs'D} X. B 6.}zF,DAWDQ n!41ckLEп9s.IԷh `A`@kPra\[vcưdYsWh ㊈/,#5;JWtn%" B4D?D^9̢ͪI%A3SXE]W`8 puA$9#V2( $o0Bǽoi| _ LG2I ThA̻u)u[ 4>uqUk&YRj57oڰ|v͢745YUptݏi}gY`ԡ)k,/wLaIENDB`././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton-min-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc/titlebutton0000644000175000017500000000110413025213275032172 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8MKQϛtfҍnM] $d' . b~$¡1@ú y]h֯ss/)odJ'ByA]t F%?zd@hD%i e~Sm뮘q~As[m!3ۏ#?ԋlAt2Hs6~:l:Z-{#@-"@.h  UNrCb龷1Dhz#c %w_6@S Ns pZw?؇R0`ںxij )V/t$a@%?z7/\k 3sS90Rq6iހ[mdpX:3wUVoZ/${ Tn1Hd`J`pݬT0ة2tJ%H!*I3pl{٠H=eˢ\YLZ/'mcPa?m݀,7pKh#^ 'ȸ0|?{'Q1_'A/#\|8noa 4 JUW@%/M$S]̆YFRn^DdDeڈdrY#lЃq{CbËk(tIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/0000755000175000017500000000000013025213275030555 5ustar jonathanjonathan././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titlebutton-min.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titleb0000644000175000017500000000110313025213275031756 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8OKAƟ+d9PZwO`Ss؏ Qa@/ hA(lQT٫=,^ HnA MА?,5s;/Hiw/8īLt'sxsދ87\['JiRzc}۸]mm?Q;éGAtS:rn}JɅ#=wɅsj\[<Y]ο-3m'Cl{l6h+H0JY`ˁuPJ aQ8JId1rRRߓafzco~ȥ⮐YHYPKǛ@u`2+43y:M 2/EESW&nݓ/'F!ͧՍ^b+G.SV12=Zk=M`IENDB`././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/screenshot.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/screen0000644000175000017500000000566313025213275031771 0ustar jonathanjonathanPNG  IHDRsBIT|dtEXtSoftwaregnome-screenshot> EIDATx}TTe? "tQ5|kQ#Ͱ𬝭ͬV;9m[s6m{/X$ Y/ hiȋ9?f;3=g`}>sG7~Āx*޲&X* j>ʸb_.\<[|1\$-4Y H665|5 YRo_F+}mB…9jr~Edg嶺˽>gEA /c{]$(8ڵijj@xonp0/+B x13gKEjMARY֠7pߧ)/p[Xwe=eZyU$'/5=v}NgglC 6vǏXc+in"۶1 T &݉1_\Rk ܣP;5_|VoRɺh_|`]L Ô}L $%%?}*|wmdg%\lRdj\,FRkk7]Gd|w凉 p|-P("##z}"yQ(-fs ;$DXf6^"(;|B2rD;0_ZxwXXOh! ϡ/ A@ub_\g)CjhK ٳ AkK+Οa (@Q>.ֆ&(_6(N/ax晧fl۶A??n9e3.L&**:.]ҥPW&N@rOr)ʿoߧvBILLp01 h4PFc&6'5kBOCU͈PtƄ=n#%Բ~->? F giZ*[3?`BjjkHa_>ʤ9z[wm[=S-7oM٩Sc:5={3j;PSS˨Q#ӌ! HU(**++4i"(((o+ew:\[H^^˄:]w`.^ةsFOcMgsgmn!'CgBY={Fľ<}wϮcfJ`g@^O!g鯀z 3sAB]]۷$57HNѷp!g[HL?̙s ,YYɶ/)X_ $I?zz0!IRήvsۣ,Wޡ׳ԥg"JKi6l ~3Co0BP4 v6m"hI-GB$<_uwʶ6*ژ§'NPdϴ;K3e )!#" 'ND=cgΔHNBCBPՔWP[['ߌd.]FVsMVVBkk[m=\_ѫ/yRA`Rahի)nl$G?~utx|||~+A#FE]nlenxUVHp@99wOE )J } ڟԟunw=P ?'9rC{{?{C?%,6%AzM~hc!IENDB`././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titlebutton-max.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titleb0000644000175000017500000000126113025213275031763 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<.IDAT8OhAƿ٤[IHHP&`ժɃɃGփB J9hB?Z4RIB&ldc }0~|<`%u^pڷ*dC& juӐZιiܮzݞ_q˔!6Jʼnvsvi>Xnfvb.4inKu{bcmX06>6z9 GNM߻yMU14M,O)+ϙr._`tJ@$4(FjAY˥FwBpA_ejfUm Lo5YI)xT7x@mR"ݼ`-$I8&T뀴$!턼VdtD;:!DV76zjpW!b() >Geb*>?}Ucѝn@7t|!sTЊ1L6.J@W2k a N}ʱrruy$4)$uXlnWLͪL{?*EIENDB`././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/style.0000644000175000017500000000227313025213275031722 0ustar jonathanjonathan/* The box-bin element holds the button-box element which holds each window-button. * * Control spacing between each button via .button-box. */ .box-bin { border-width: 0px; padding: 0px; margin: 0px; } .button-box { spacing: 4px; } /* The style for each individual window button */ .window-button { width: 24px; height: 20px; } /* The style for the window button when hovered over */ .window-button:hover { } /* Here you can style each individual button. You need to define style classes * ".minimize", ".maximize" and ".close". * You can additionally define styles for the :hover and :active pseudo classes * if you wish. * See the 'Radiance' style.css for an example of this. */ /* Style for the minimize button */ .minimize { background-image: url('titlebutton-min.png'); } .minimize:hover { background-image: url('titlebutton-min-hover.png'); } /* Style for the maximize button */ .maximize { background-image: url('titlebutton-max.png'); } .maximize:hover { background-image: url('titlebutton-max-hover.png'); } /* Style for the close button */ .close { background-image: url('titlebutton-close.png'); } .close:hover { background-image: url('titlebutton-close-hover.png'); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/ABOUT0000644000175000017500000000027113025213275031352 0ustar jonathanjonathanFiles in this directory are from the Arc theme by Horst3180. Upstream: http://github.com/horst3180/arc-theme Copyright: 2016, horst3180 (https://github.com/horst3180) License: GPL-3+ ././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titlebutton-max-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titleb0000644000175000017500000000125413025213275031765 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<)IDAT8SoRa=Q8.H@'ڄTXtU;H(1im 4 IK]~m's#|!9&&f?Ug5"ZuY ňdtY V"N,+A.x!J0UWRAI7 9B[mW\j)ٶ]=[I@.Dψi6ÚViV}d#6Y,Ve%D|kbAtmW6!Pa~b3IUUGor dc€yP4ķ>MJDI> P+=Ӛp?zltW6 ,t~A\W`&mM7Cev` X2bRHYKV^8N;AݶZJ*J=D#qb7ctIi 쵶 nx([ώ4>SukO? + UԨ/IENDB`././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titlebutton-close.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titleb0000644000175000017500000000077413025213275031773 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<yIDAT8JQs'D} X. B 6.}zF,DAWDQ n!41ckLEп9s.IԷh `A`@kPra\[vcưdYsWh ㊈/,#5;JWtn%" B4D?D^9̢ͪI%A3SXE]W`8 puA$9#V2( $o0Bǽoi| _ LG2I ThA̻u)u[ 4>uqUk&YRj57oڰ|v͢745YUptݏi}gY`ԡ)k,/wLaIENDB`././@LongLink0000644000000000000000000000017000000000000011601 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titlebutton-min-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Dark/titleb0000644000175000017500000000110413025213275031757 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8MKQϛtfҍnM] $d' . b~$¡1@ú y]h֯ss/)odJ'ByA]t F%?zd@hD%i e~Sm뮘q~As[m!3ۏ#?ԋlAt2Hs6~:l:Z-{#@-"@.h  UNrCb龷1Dhz#c %w_6@S Ns pZw?؇R0`ںxij )V/t$a@%?z7/\k 3sS90Rq6iހ[mdpX:3wUVoZ/${ Tn1Hd`J`pݬT0ة2tJ%H!*I3pl{٠H=eˢ\YLZ/'mcPa?m݀,7pKh#^ 'ȸ0|?{'Q1_'A/#\|8noa 4 JUW@%/M$S]̆YFRn^DdDeڈdrY#lЃq{CbËk(tIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/0000755000175000017500000000000013025213275031104 5ustar jonathanjonathan././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titlebutton-min.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titl0000644000175000017500000000110313025213275031776 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8OKAƟ+d9PZwO`Ss؏ Qa@/ hA(lQT٫=,^ HnA MА?,5s;/Hiw/8īLt'sxsދ87\['JiRzc}۸]mm?Q;éGAtS:rn}JɅ#=wɅsj\[<Y]ο-3m'Cl{l6h+H0JY`ˁuPJ aQ8JId1rRRߓafzco~ȥ⮐YHYPKǛ@u`2+43y:M 2/EESW&nݓ/'F!ͧՍ^b+G.SV12=Zk=M`IENDB`././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/screenshot.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/scre0000644000175000017500000000566313025213275031775 0ustar jonathanjonathanPNG  IHDRsBIT|dtEXtSoftwaregnome-screenshot> EIDATx}TTe? "tQ5|kQ#Ͱ𬝭ͬV;9m[s6m{/X$ Y/ hiȋ9?f;3=g`}>sG7~Āx*޲&X* j>ʸb_.\<[|1\$-4Y H665|5 YRo_F+}mB…9jr~Edg嶺˽>gEA /c{]$(8ڵijj@xonp0/+B x13gKEjMARY֠7pߧ)/p[Xwe=eZyU$'/5=v}NgglC 6vǏXc+in"۶1 T &݉1_\Rk ܣP;5_|VoRɺh_|`]L Ô}L $%%?}*|wmdg%\lRdj\,FRkk7]Gd|w凉 p|-P("##z}"yQ(-fs ;$DXf6^"(;|B2rD;0_ZxwXXOh! ϡ/ A@ub_\g)CjhK ٳ AkK+Οa (@Q>.ֆ&(_6(N/ax晧fl۶A??n9e3.L&**:.]ҥPW&N@rOr)ʿoߧvBILLp01 h4PFc&6'5kBOCU͈PtƄ=n#%Բ~->? F giZ*[3?`BjjkHa_>ʤ9z[wm[=S-7oM٩Sc:5={3j;PSS˨Q#ӌ! HU(**++4i"(((o+ew:\[H^^˄:]w`.^ةsFOcMgsgmn!'CgBY={Fľ<}wϮcfJ`g@^O!g鯀z 3sAB]]۷$57HNѷp!g[HL?̙s ,YYɶ/)X_ $I?zz0!IRήvsۣ,Wޡ׳ԥg"JKi6l ~3Co0BP4 v6m"hI-GB$<_uwʶ6*ژ§'NPdϴ;K3e )!#" 'ND=cgΔHNBCBPՔWP[['ߌd.]FVsMVVBkk[m=\_ѫ/yRA`Rahի)nl$G?~utx|||~+A#FE]nlenxUVHp@99wOE )J } ڟԟunw=P ?'9rC{{?{C?%,6%AzM~hc!IENDB`././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titlebutton-max.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titl0000644000175000017500000000126113025213275032003 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<.IDAT8OhAƿ٤[IHHP&`ժɃɃGփB J9hB?Z4RIB&ldc }0~|<`%u^pڷ*dC& juӐZιiܮzݞ_q˔!6Jʼnvsvi>Xnfvb.4inKu{bcmX06>6z9 GNM߻yMU14M,O)+ϙr._`tJ@$4(FjAY˥FwBpA_ejfUm Lo5YI)xT7x@mR"ݼ`-$I8&T뀴$!턼VdtD;:!DV76zjpW!b() >Geb*>?}Ucѝn@7t|!sTЊ1L6.J@W2k a N}ʱrruy$4)$uXlnWLͪL{?*EIENDB`././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/styl0000644000175000017500000000227313025213275032026 0ustar jonathanjonathan/* The box-bin element holds the button-box element which holds each window-button. * * Control spacing between each button via .button-box. */ .box-bin { border-width: 0px; padding: 0px; margin: 0px; } .button-box { spacing: 4px; } /* The style for each individual window button */ .window-button { width: 24px; height: 20px; } /* The style for the window button when hovered over */ .window-button:hover { } /* Here you can style each individual button. You need to define style classes * ".minimize", ".maximize" and ".close". * You can additionally define styles for the :hover and :active pseudo classes * if you wish. * See the 'Radiance' style.css for an example of this. */ /* Style for the minimize button */ .minimize { background-image: url('titlebutton-min.png'); } .minimize:hover { background-image: url('titlebutton-min-hover.png'); } /* Style for the maximize button */ .maximize { background-image: url('titlebutton-max.png'); } .maximize:hover { background-image: url('titlebutton-max-hover.png'); } /* Style for the close button */ .close { background-image: url('titlebutton-close.png'); } .close:hover { background-image: url('titlebutton-close-hover.png'); } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/ABOUTpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/ABOU0000644000175000017500000000027113025213275031555 0ustar jonathanjonathanFiles in this directory are from the Arc theme by Horst3180. Upstream: http://github.com/horst3180/arc-theme Copyright: 2016, horst3180 (https://github.com/horst3180) License: GPL-3+ ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titlebutton-max-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titl0000644000175000017500000000125413025213275032005 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<)IDAT8SoRa=Q8.H@'ڄTXtU;H(1im 4 IK]~m's#|!9&&f?Ug5"ZuY ňdtY V"N,+A.x!J0UWRAI7 9B[mW\j)ٶ]=[I@.Dψi6ÚViV}d#6Y,Ve%D|kbAtmW6!Pa~b3IUUGor dc€yP4ķ>MJDI> P+=Ӛp?zltW6 ,t~A\W`&mM7Cev` X2bRHYKV^8N;AݶZJ*J=D#qb7ctIi 쵶 nx([ώ4>SukO? + UԨ/IENDB`././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titlebutton-close.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titl0000644000175000017500000000077413025213275032013 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<yIDAT8JQs'D} X. B 6.}zF,DAWDQ n!41ckLEп9s.IԷh `A`@kPra\[vcưdYsWh ㊈/,#5;JWtn%" B4D?D^9̢ͪI%A3SXE]W`8 puA$9#V2( $o0Bǽoi| _ LG2I ThA̻u)u[ 4>uqUk&YRj57oڰ|v͢745YUptݏi}gY`ԡ)k,/wLaIENDB`././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titlebutton-min-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Arc-Darker/titl0000644000175000017500000000110413025213275031777 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8MKQϛtfҍnM] $d' . b~$¡1@ú y]h֯ss/)odJ'ByA]t F%?zd@hD%i e~Sm뮘q~As[m!3ۏ#?ԋlAt2Hs6~:l:Z-{#@-"@.h  UNrCb龷1Dhz#c %w_6@S Ns pZw?؇R0`ںxij )V/t$a@%?z7/\k 3sS90Rq6iހ[mdpX:3wUVoZ/${ Tn1Hd`J`pݬT0ة2tJ%H!*I3pl{٠H=eˢ\YLZ/'mcPa?m݀,7pKh#^ 'ȸ0|?{'Q1_'A/#\|8noa 4 JUW@%/M$S]̆YFRn^DdDeڈdrY#lЃq{CbËk(tIENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/0000755000175000017500000000000013025213275030645 5ustar jonathanjonathan././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/screenshot.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/screens0000644000175000017500000000304213025213275032231 0ustar jonathanjonathanPNG  IHDR`CsBITOtEXtSoftwaregnome-screenshot>IDATX]LSgs)piKKGZ87%) x3/hBv.4^K&j0 -"Z[L,m"h9?.XH9 fs~ߛ}|@4iҤyoAB\Ŗ C&@ =#fW`S+[H"#QopnA`ν*ߜ]J( AApD"}-i(:tPmmJJzzzZ[[`2E굵L4g S "GZYf`剧lCdFSMd^'mЙ3g,d#G$ Qu%J6~АE@7|zr'\L 7¬9RђOSb2ް{!/Olufm(|חaFox\y2qryoo/㒕Xy~yyWyEd,{ΩsMKީ!#aϽ7:% sf*Н3ڜޡ/g#{ҶƜ*v\5-y8LOۂAtp'b*WX/tet&˞(7y:Z } ,JT l;((kETbs~g<:q ?~]e4&w67s,jN֖,'YJ|W1CYmp$$^ X,s-]ݨXjۏ3\K‚VcJB6kwPO0 ׷}7osϞG u67na< Be8_y|,džR["d1Wsߝx(:#0p|krY )HFddP,`3jE;F;j <^nżuG 0xQF uG4i(HAQûŘ#YHٲmd3;y{b?s.IENDB`././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/style.c0000644000175000017500000000161713025213275032156 0ustar jonathanjonathan.button-box { spacing: 10px; } .window-button { width: 12px; height: 12px; border-radius: 8px; border-width: 2px; border-color: rgba(0,0,0,0); background-gradient-direction: vertical; background-gradient-start: rgba(255,255,255,1); background-gradient-end: rgba(235,235,235,1); transition-duration: 100; } .window-button:active { background-gradient-start: rgba(207,207,207,1); background-gradient-end: rgba(249,249,249,1); } .minimize { } .minimize:hover { border-color: rgba(209,174,51,0.75); } .minimize:active { border-color: rgba(202,169,49,0.75); } .maximize { } .maximize:hover { border-color: rgba(80,209,51,0.75); } .maximize:active { border-color: rgba(85,179,64,0.75); } .close { } .close:hover { border-color: rgba(189,46,46,0.75); } .close:active { border-color: rgba(209,51,51,1); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Zukitwo/ABOUT0000644000175000017500000000024513025213275031443 0ustar jonathanjonathanFiles in this directory are from zuki-themes Upstream: https://github.com/lassekongo83/zuki-themes License: GPL-3 Author: Mattias (https://github.com/lassekongo83) pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/0000755000175000017500000000000013025213275030677 5ustar jonathanjonathan././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximize_focused_pressed.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximi0000644000175000017500000000120413025213275032103 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<&IDATxڤTMkAF xOxA.^IDATX[lTǿss,]߽c -!JETM/ڇ Ȅ$ .wms_sg$˥TbaQhwxk楪:)n $&0 JjxMnYTU-Zmذʊ|uUB:|8yDxFcsӵai*@$Hi#/̤ 9o?PUUL&W/n#D+si ;chyUHn}̊!s޲B8F>R1 ۫-+Bqx"+4pORU0ze5c,T"ֈLPq$=1qc93qIvs+}sU߸ TJZYZ[0L˲J@p׭L%84seEum Ok,94l+#a첬P E>7lk:Ok.IDt\\kCD,D9B╼UEDDDA.^X-8 fPB㱠귺{6m-N" @Io 8GDžsS,˜ǹ@BK~D2i!0!QGD~B.8pM {@7X IK譝cuwwȚ}px VW>Lcg(lA@VVVbB̬F#\jAƼ|I ($FrB"?;sܬžgԅ-+vTN 3L? Y XR()HEjIY]l۷yfXkkk65q4ҪHB(%NԈ$Ɉܘ}&))6c7` \]GJ\  3iB zu+H:? SN:tPD43m N% i{;~xB1i[V2iGJ^ A37kyԵ /1ٵcuնB Ģ̦PyȮ={mۙM |K8. !hZn3\IPV h* QBlAPYH,$VإJȊlq7{s޹qf]6K|̜{|sTY/_߿` N8|>/T/Hb,w@"å <'Ӈ=dΛY:$&DRRtv;.(9(Aud-{=O495 "%v\lol=1:ePR[)xKlP &uQl" l\ 3%ƓQM^ozS5]ƀG)C#|I%*.?(3giJFoRsb;r) J2Ʒ+"Y*<"|fn &?7yN;v82W AtN"Ejo'4]CI@ELe^<*β8(e NT%/~>RSt?c]$RTNOqŭҟ8.}MзdуZjX c aQfƜ`X.۝-F'>;s6upf(ŕmo' τ,2Cۨɰ6WJ225j+NJksN;nmnzMgbm $ZbE)Uieas\{,wV;ɡ S* Z^@՛>HD "ay]?SΊ4'GwTW6]ÿ̐J;ENNKf,jӉtlj+k xY d nS ykc^G-B&XFb_zRnU7 >|MUu-a#n>[Ęɇs+#2-Z--y~%m8<ߠ!$tU {Da(2"ֈS۷͇2 '^7cL{]nѡ8RkT݂ewykWL[ B+uNlzʲb-nWFD6QI~~ R!kzМL3&.:MVqa[K52IHL$YmT m]0BDk]t.C'O=GƠ@Js$RoA..}5.nU/yϔRDzZ~ XzB7_R-6|+IENDB`././@LongLink0000644000000000000000000000017100000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/close_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/close_0000644000175000017500000000217013025213275032066 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<IDATxdTKk\e~3s.e.$MA Cbh Q qF? BA." MR$3d.g;i^9sy/bii BVS .7yWKlKlX< /]ժG B4up(4+& C!l#2;(-#a$rG1fN'G (V%dD?wK}R f ve=8CX|8AdJٔNcw,B1j^W/k[&+MD2oϽy~֭im {鸍V!"<>c#Kף}hxh|Զ%uP-Ψ\>4 R5wiEZ/'D]d # Lm:mDu"v/?[!$`qʪrJFvokƒpB8o?|ø>픘 8hwH%'mUu{PQSR3s}37@;(ANKrIM667q,^#ST(!+ygjH@krR+F= v_[C$}6,9~ԮU"-٦ J)D6Ig?iᗛ$)Z.?=ܴ_ 1y˜Z7 IENDB`././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximize_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximi0000644000175000017500000000151213025213275032105 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<IDATx|TKh@I&ٟQMWAu"(BFWn܉ X)vBt%½`[Vח⹓}'d=s~F˲v_ ˘c;`nn? $}NN$)l麮f!CdQ]0 hq֤?8Lۃ\a2ROQb >SvL?mQ7V9×T cCRT;eaau09N^$Mh ?g{$U,+ډ囦i2~lx|3P[^0IsR1WzzOPkdLCisUUccI*TN۶gnZnE,pvve_HPIENDB`././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/minimize_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/minimi0000644000175000017500000000144413025213275032107 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<IDATx|T;hQ٘ +BB@[ `%6Bl Xh%`a+ jŨIHfv9of&fe޻kyK]2p8X;x<;2N& q IKT,J0Du%MlCg hY81*Cb;)YHecmUbY6ӕeES4;|B 3=ihI* l~i饇sfʴ9ttJ!VS缧nZ pǧZ=~K/ 2odO_:ӳ+H]?܀(K bA%g8H2m1麇ʋ$gH٩v{o1D#E>4;$ff;U6L&Y փI0ٛ*ۚIfEx U}4tಣ,TE@ɊDG Q[ ]uY)+Jɬ*mAeQӀ9!v "F'% CȨ# z~kC6Xs  %N'v]z6-,p MܴwڴLGIENDB`././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximize_focused_prelight.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/maximi0000644000175000017500000000150513025213275032107 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<IDATxڄTMhQ}m[[))z0!=HA(E$(<*T+'w'A^EAZZ/I~۬M {|3JǴX ; Ll65pxhy{w6!EQDUU%!3 P ,a0W*S "jyM5ZY']!f4e)Fo<CIT8"^gSE) 0lDplF4äGp!7S:N;2%_?7FI8GST2O3c~ F(l=y4IN䁪QOrrdtE3vv[^Z[Z c i?Σy e )j"a:ǰ%jI" S1iYci|QJFBr3I)$h'vT!u  D1MNK2e ֖R% x^θժ?X!厱1Y\9+ڟ&(0GBA,m^d $hU727;3kr.R0 o {؇{K,0;U$Sfظ"k7S JA|:2B\r6k !4ۧFf1qUq,q|jf^! LXnymr$8; c\d>i`jܾIENDB`././@LongLink0000644000000000000000000000016700000000000011607 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/close_focused_normal.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/Radiance/close_0000644000175000017500000000215413025213275032070 0ustar jonathanjonathanPNG  IHDRrP6tEXtSoftwareAdobe ImageReadyqe<IDATxdT]kU~fv>vf7Hjzai!5,Q$ Wy#? ^Z+`bhnGlenvf3;3gLÂvaf>{-> \$L1!'^P*z?t3'n1X H2X*X) 'NM=# \7]˘G1򁋸IKARu|sH5'&2+LJaeeWs8K`!BB:GBq1*'! E1?j>IY*yw7F({wUKg;(#?"" 0X$v fMZ}2j(!h*w"EFv1VehBEd8BѶEfSypC\7BMWzTjNyϧ l  Ud>m' Y,-.ڍ}~k[UEQIBCAZl++:P#&^92f_¸dO|i\q˱] ^ZP f gg&]~ Ȝ쐓@ޱ= l߻x9; ;{=4uNJ*lzC8=Nؗ)I:2"sSh~m^xƢD,Ň?rܠ{*) UeȐa82A~jW00W[サ'+73Im!5$21B&t!Q,:> 0 Q&nsƳYƼ;1?ն(AHđi*&[q'A@Ne zX&(zm;2!WJH?Ү#FjMѢFN/LB-nt:n\l ctaID=g3UUimDX & *|rj|q^޿ n7~IENDB`pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/0000755000175000017500000000000013025213275031430 5ustar jonathanjonathan././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-min.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000076713025213275032165 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tIDAT8jPIZ#JMmQWthC 89wqq}>@KS[+ p(_TE{˹w  @jɍ> |bI8w@9ċxf`n xAҼ-@ k.`p d S(i0x<(UU0EB!E8qf\NmZg,n 'ǙR px<^X]Vht^TҥR)U>$0U !mO\ufiu]g? pd7^'LbtF+o~yh@=(#.  ac^nqk,-+(#-?@=>?=675@A>')'  ()'>@=785_a\wzt 787mpj<>;=>;loi(*':<89;9*+)UXTx{u '(&BCBGHGIIHpoq(#-6 IDAT?@:(#-DFC NPN)))tsu ١&&&xywonp]_[NPLᕔbcaMNM ڌ 232vwvkljGHHsvqƽǾsvqƾǾtwqPQN(#-(#-~(#.(#-wtzsow       ^^]ZZX  nqkdgbnqlegbbe`:<9?@=ƽnks/1.e`g   !     poqpoq OQMPQM—a^ed`gIDM72<72<|}y      xt{RMVhdkhck`[c^Zb563     dfacfa񌉏c`hb]ewzt9:7   OPLOPM 231/)6     /)6 IDATL/#g<IENDB`././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-max.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000075513025213275032162 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<jIDAT8AKQyNP#-)t[[8!w\vn%(nD\Cд$Wq`0q9w9W7ց 'gOV|~H\_ C=l N'Y D{?XhۅBaR$ \.lƶB,kTןBhiX Vu]_Vfs`gTvN-@+UbXhYQ,jZ>sg3 oi_ 0ns4MS pa\ x9h l0^M`7a΁o@f; ${'1S 0:?k'dItIENDB`././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/sty0000644000175000017500000000227313025213275032176 0ustar jonathanjonathan/* The box-bin element holds the button-box element which holds each window-button. * * Control spacing between each button via .button-box. */ .box-bin { border-width: 0px; padding: 0px; margin: 0px; } .button-box { spacing: 8px; } /* The style for each individual window button */ .window-button { width: 24px; height: 20px; } /* The style for the window button when hovered over */ .window-button:hover { } /* Here you can style each individual button. You need to define style classes * ".minimize", ".maximize" and ".close". * You can additionally define styles for the :hover and :active pseudo classes * if you wish. * See the 'Radiance' style.css for an example of this. */ /* Style for the minimize button */ .minimize { background-image: url('titlebutton-min.png'); } .minimize:hover { background-image: url('titlebutton-min-hover.png'); } /* Style for the maximize button */ .maximize { background-image: url('titlebutton-max.png'); } .maximize:hover { background-image: url('titlebutton-max-hover.png'); } /* Style for the close button */ .close { background-image: url('titlebutton-close.png'); } .close:hover { background-image: url('titlebutton-close-hover.png'); } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/ABOUTpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/ABO0000644000175000017500000000020513025213275031751 0ustar jonathanjonathanIris-master theme files in this directory by: xyl0n Upstream: https://github.com/xyl0n/iris License: GPL-3.0 ././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-max-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000076513025213275032163 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<rIDAT8Kaw"6HIJbCKCDB[֐AP-5 QPHKPPFDVjBu`qZZg)3}><@'B@pY#Y0:4 uc͸րYz7w>gnЀe0K`t3:뵺kjvt;003"Do\+K2W~sds~t~5_,)UX1Q%->ի|V>^ʁ텠]rLmINU*ݳ<T$4?( bC8!րD N\˔ 0^v@.9N'3BN $3asgIENDB`././@LongLink0000644000000000000000000000016700000000000011607 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-close.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000077213025213275032161 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<wIDAT81Qofw QVj6BP&BTHEie vt- `!hI`2Fٜ9{9'71`Y>s9HOS$8̒{x f;B .IC<d p6s9)Vr|霤B'_2(Fѯ|>Vj6wJJȦW*nDQtF1v c 4d2bfM=%Ba^Zx<0 v#VVbEN_*^x+6y(ٖdbrb xJ`b{0[”1Nz{8be4IENDB`././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-min-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000100613025213275032150 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8oLq{O[IJ#M4SӌIVmX!ؒ2$,bObeBB"(t^xz3:oN9~ q> x;e̻q acH0iY^Tpq".PҙonHp")^t8nOoC}=D)t4UP_OTYh&;Gs+gG! vv4?Wo46''^ϗF0H2x`צͧ~bf3! fOsF3p|8Y/]՞_谇:,廅չA Pu6fXiւ*.#Y6HPVY nKnw1- p_a׀fIENDB`././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/titlebutton-close-hover.pngpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/iris-master/tit0000644000175000017500000000077313025213275032162 0ustar jonathanjonathanPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<xIDAT8ӱkSQK3(ԥI4EtilCࠈ[Ţ`n BN:UI"b 88[3g{ȟ8E̡ث}k{IDATh헽@GAEb,XAm S6-[* (^p YPkA1 ds^oy> eݞ8A7j0Zz =&rZM88NbYѽ=Pa8V A]5v,Ml6ez]y1yÑH$.F/f]f IR'vP(tZ  8JfחL2x< FXR$i $Ij6׉r>w:E׫9ph0 R0 e^kD O "0Xv*_Q^?F㟈dY$REhfdr8,a0 AaTF7JQhz@eBj[DiȫT*Sbfv`&J pTqBz^SZfź!Bg۵Z!t-CEQvd.ڟn@hhX6MV;!m67ɲ?C)lb\.EQ|TC:::::OXzW -XIENDB`././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/min_hover.svgpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/min_hov0000644000175000017500000000670713025213275032211 0ustar jonathanjonathan image/svg+xml Gnome Symbolic Icon Theme Gnome Symbolic Icon Theme pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/min.svg0000644000175000017500000000670713025213275032133 0ustar jonathanjonathan image/svg+xml Gnome Symbolic Icon Theme Gnome Symbolic Icon Theme ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/style.csspixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/style.c0000644000175000017500000000216313025213275032123 0ustar jonathanjonathan/* The box-bin element holds the button-box element which holds each window-button. * * Control spacing between each button via .button-box. */ .box-bin { border-width: 0px; padding: 0px; margin: 0px; } .button-box { spacing: 4px; } /* The style for each individual window button */ .window-button { width: 24px; height: 20px; } /* The style for the window button when hovered over */ .window-button:hover { } /* Here you can style each individual button. You need to define style classes * ".minimize", ".maximize" and ".close". * You can additionally define styles for the :hover and :active pseudo classes * if you wish. * See the 'Radiance' style.css for an example of this. */ /* Style for the minimize button */ .minimize { background-image: url('min.svg'); } .minimize:hover { background-image: url('min_hover.svg'); } /* Style for the maximize button */ .maximize { background-image: url('max.svg'); } .maximize:hover { background-image: url('max_hover.svg'); } /* Style for the close button */ .close { background-image: url('close.svg'); } .close:hover { background-image: url('close_hover.svg'); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/ABOUT0000644000175000017500000000314713025213275031417 0ustar jonathanjonathanFiles from this directory are from the Adwaita theme. Upstream website: https://download.gnome.org/sources/gnome-themes-standard/ Authors: Copyright: Copyright (C) 2010 Aron Xu Copyright (C) 2010 A S Alam Copyright (C) 2010 Carlos Garnacho Copyright (C) 2010 Daniel Nylander Copyright (C) 2010 Fran Diéguez Copyright (C) 2010 Gheyret T.Kenji Copyright (C) 2010 Ivar Smolin Copyright (C) 2010 Jakub Steiner Copyright (C) 2010 Jorge González Copyright (C) 2010 Kenneth Nielsen Copyright (C) 2010 Kjartan Maraas Copyright (C) 2010 Kris Thomsen Copyright (C) 2010 Lapo Calamandrei Copyright (C) 2010 Lucian Adrian Grijincu Copyright (C) 2010 Matej Urbančič Copyright (C) 2010 Matthias Clasen Copyright (C) 2010 Priit Laes Copyright (C) 2010 Theodore Dimitriadis Copyright (C) 2010 Theppitak Karoonboonyanan Copyright (C) 2010 William Jon McCann Copyright (C) 2010 Yaron Shahrabani Copyright (C) 2010 Hylke Bons License: LGPL-2.1+ ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/close.svgpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/close.s0000644000175000017500000000667313025213275032122 0ustar jonathanjonathan Gnome Symbolic Icon Theme image/svg+xml Gnome Symbolic Icon Theme ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/max_hover.svgpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/max_hov0000644000175000017500000000735713025213275032215 0ustar jonathanjonathan image/svg+xml Gnome Symbolic Icon Theme Gnome Symbolic Icon Theme ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/close_hover.svgpixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/close_h0000644000175000017500000000667313025213275032170 0ustar jonathanjonathan Gnome Symbolic Icon Theme image/svg+xml Gnome Symbolic Icon Theme pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/themes/default/max.svg0000644000175000017500000000735713025213275032137 0ustar jonathanjonathan image/svg+xml Gnome Symbolic Icon Theme Gnome Symbolic Icon Theme pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/extension.js0000644000175000017500000000507413025213275030264 0ustar jonathanjonathan/** * @overview * Pixel Saver v1.0 * Amaury SECHET * Other contributors: * - Amy Chan * Sept-- 2013. * * ## Help! It didn't work/I found a bug! * * This extension is based on work by Amy Chan, namely maximus[1] and Window Buttons[2]. * * 1. Make sure you can *reproduce* the bug reliably. * 2. Do 'Ctrl + F2' and 'lg' and see if there are any errors produced by Maximus, * both in the 'Errors' window *and* the 'Extensions' > 'Maximus' > 'Show Errors' * tab (the 'Show Errors' is in GNOME 3.4+ only I think). * 3. Disable all your extensions except Maximus and see if you can still reproduce * the bug. If so, mention this. * 4. If you can't reproduce th bug with all extensions but Maximus disabled, then * gradually enable your extensions one-by-one until you work out which one(s) * together cause the bug, and mention these. * 5. Open a new issue at [4]. * 6. Include how you can reproduce the bug and any relevant information from 2--4. * 7. Also include: * - your version of the extension (in metadata.json) * - list of all your installed extensions (including disabled ones, as * this is no guarantee they won't interfere with other extensions) * - your version of GNOME-shell (gnome-shell --version). * 8. I'll try get back to you with a fix. * (Brownie points: open a terminal, do `gnome-shell --replace` and reproduce the * bug. Include any errors that pop up in this terminal.) * * ## Note: * It's actually possible to get the undecorate-on-maximise behaviour without * needing this extension. See the link [5] and in particular, the bit on editing * your metacity theme metacity-theme-3.xml. ("Method 2: editing the theme"). * * ## References: * [1]:https://launchpad.net/maximus * [2]:https://extensions.gnome.org/extension/59/status-title-bar/ * [3]:https://bitbucket.org/mathematicalcoffee/window-options-gnome-shell-extension * [4]:https://bitbucket.org/mathematicalcoffee/maximus-gnome-shell-extension/issues * [5]:http://www.webupd8.org/2011/05/how-to-remove-maximized-windows.html * */ const ExtensionUtils = imports.misc.extensionUtils; const Me = ExtensionUtils.getCurrentExtension(); const Decoration = Me.imports.decoration; const Buttons = Me.imports.buttons; const AppMenu = Me.imports.app_menu; function init(extensionMeta) { Buttons.init(extensionMeta); Decoration.init(extensionMeta); AppMenu.init(extensionMeta); } function enable() { Buttons.enable(); Decoration.enable(); AppMenu.enable(); } function disable() { AppMenu.disable(); Decoration.disable(); Buttons.disable(); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/buttons.js0000644000175000017500000001340313025213275027741 0ustar jonathanjonathanconst GLib = imports.gi.GLib; const Gio = imports.gi.Gio; const Gtk = imports.gi.Gtk; const Main = imports.ui.main; const Mainloop = imports.mainloop; const Meta = imports.gi.Meta; const St = imports.gi.St; const ExtensionUtils = imports.misc.extensionUtils; const Me = ExtensionUtils.getCurrentExtension(); const Util = Me.imports.util; function LOG(message) { // log("[pixel-saver]: " + message); } function WARN(message) { log("[pixel-saver]: " + message); } /** * Buttons */ const DCONF_META_PATH = 'org.gnome.desktop.wm.preferences'; let actors = [], boxes = []; function createButtons() { // Ensure we do not create buttons twice. destroyButtons(); actors = [ new St.Bin({ style_class: 'box-bin'}), new St.Bin({ style_class: 'box-bin'}) ]; boxes = [ new St.BoxLayout({ style_class: 'button-box' }), new St.BoxLayout({ style_class: 'button-box' }) ]; actors.forEach(function(actor, i) { actor.add_actor(boxes[i]); }); let order = new Gio.Settings({schema_id: DCONF_META_PATH}).get_string('button-layout'); LOG('Buttons layout : ' + order); let orders = order.replace(/ /g, '').split(':'); orders[0] = orders[0].split(','); orders[1] = orders[1].split(','); const callbacks = { minimize : minimize, maximize : maximize, close : close }; for (let bi = 0; bi < boxes.length; ++bi) { let order = orders[bi], box = boxes[bi]; for (let i = 0; i < order.length; ++i) { if (!order[i]) { continue; } if (!callbacks[order[i]]) { // Skip if the button's name is not right... WARN("\'%s\' is not a valid button.".format(order[i])); continue; } let button = new St.Button({ style_class: order[i] + ' window-button', track_hover: true }); button.connect('button-release-event', leftclick(callbacks[order[i]])); box.add(button); } } Mainloop.idle_add(function () { // 1 for activity button and -1 for the menu if (boxes[0].get_children().length) { Main.panel._leftBox.insert_child_at_index(actors[0], 1); } if (boxes[1].get_children().length) { Main.panel._rightBox.insert_child_at_index(actors[1], Main.panel._rightBox.get_children().length - 1); } updateVisibility(); return false; }); } function destroyButtons() { actors.forEach(function(actor, i) { actor.destroy(); boxes[i].destroy(); }); actors = []; boxes = []; } /** * Buttons actions */ function leftclick(callback) { return function(actor, event) { if (event.get_button() !== 1) { return null; } return callback(actor, event); } } function minimize() { let win = Util.getWindow(); if (!win || win.minimized) { WARN('impossible to minimize'); return; } win.minimize(); } function maximize() { let win = Util.getWindow(); if (!win) { WARN('impossible to maximize'); return; } const MAXIMIZED = Meta.MaximizeFlags.BOTH; if (win.get_maximized() === MAXIMIZED) { win.unmaximize(MAXIMIZED); } else { WARN('window shoud already be maximized'); win.maximize(MAXIMIZED); } win.activate(global.get_current_time()); } function close() { let win = Util.getWindow(); if (!win) { WARN('impossible to close'); return; } win.delete(global.get_current_time()); } /** * Theming */ let activeCSS = false; function loadTheme() { let theme = Gtk.Settings.get_default().gtk_theme_name, cssPath = GLib.build_filenamev([extensionPath, 'themes', theme, 'style.css']); LOG('Load theme ' + theme); if (!GLib.file_test(cssPath, GLib.FileTest.EXISTS)) { cssPath = GLib.build_filenamev([extensionPath, 'themes/default/style.css']); } if (cssPath === activeCSS) { return; } unloadTheme(); // Load the new style let cssFile = Gio.file_new_for_path(cssPath); St.ThemeContext.get_for_stage(global.stage).get_theme().load_stylesheet(cssFile); // Force style update. actors.forEach(function(actor) { actor.grab_key_focus(); }); activeCSS = cssPath; } function unloadTheme() { if (activeCSS) { LOG('Unload ' + activeCSS); let cssFile = Gio.file_new_for_path(activeCSS); St.ThemeContext.get_for_stage(global.stage).get_theme().unload_stylesheet(cssFile); activeCSS = false; } } /** * callbacks */ function updateVisibility() { // If we have a window to control, then we show the buttons. let visible = !Main.overview.visible; if (visible) { visible = false; let win = Util.getWindow(); if (win) { visible = win.decorated; } } actors.forEach(function(actor, i) { if (!boxes[i].get_children().length) { return; } if (visible) { actor.show(); } else { actor.hide(); } }); return false; } /** * Subextension hooks */ let extensionPath; function init(extensionMeta) { extensionPath = extensionMeta.path; } let wmCallbackIDs = []; let overviewCallbackIDs = []; let themeCallbackID = 0; function enable() { loadTheme(); createButtons(); overviewCallbackIDs.push(Main.overview.connect('showing', updateVisibility)); overviewCallbackIDs.push(Main.overview.connect('hidden', updateVisibility)); let wm = global.window_manager; wmCallbackIDs.push(wm.connect('switch-workspace', updateVisibility)); wmCallbackIDs.push(wm.connect('map', updateVisibility)); wmCallbackIDs.push(wm.connect('minimize', updateVisibility)); wmCallbackIDs.push(wm.connect('unminimize', updateVisibility)); wmCallbackIDs = wmCallbackIDs.concat(Util.onSizeChange(updateVisibility)); themeCallbackID = Gtk.Settings.get_default().connect('notify::gtk-theme-name', loadTheme); } function disable() { wmCallbackIDs.forEach(function(id) { global.window_manager.disconnect(id); }); overviewCallbackIDs.forEach(function(id) { Main.overview.disconnect(id); }); wmCallbackIDs = []; overviewCallbackIDs = []; if (themeCallbackID !== 0) { Gtk.Settings.get_default().disconnect(0); themeCallbackID = 0; } destroyButtons(); unloadTheme(); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/app_menu.js0000644000175000017500000001147413025213275030055 0ustar jonathanjonathanconst Lang = imports.lang; const Main = imports.ui.main; const Mainloop = imports.mainloop; const Shell = imports.gi.Shell; const St = imports.gi.St; const Tweener = imports.ui.tweener; const ExtensionUtils = imports.misc.extensionUtils; const Me = ExtensionUtils.getCurrentExtension(); const Util = Me.imports.util; function LOG(message) { // log("[pixel-saver]: " + message); } function WARN(message) { log("[pixel-saver]: " + message); } let appMenu = null; /** * AppMenu synchronization */ function updateAppMenu() { let win = global.display.focus_window; if (!win) { return false; } let title = win.title; // Not the topmost maximized window. if (win !== Util.getWindow()) { let app = Shell.WindowTracker.get_default().get_window_app(win); title = app.get_name(); } LOG('Override title ' + title); appMenu._label.set_text(title); tooltip.text = title; return false; } /** * Track the focused window's title */ let activeWindow = null; let awCallbackID = 0; function changeActiveWindow(win) { if (win === activeWindow) { return; } if (activeWindow) { activeWindow.disconnect(awCallbackID); } activeWindow = win; if (win) { awCallbackID = win.connect('notify::title', updateAppMenu); updateAppMenu(); } } /** * Focus change */ function onFocusChange() { let input_mode_check = (global.stage_input_mode === undefined) ? true : global.stage_input_mode == Shell.StageInputMode.FOCUSED; if (!Shell.WindowTracker.get_default().focus_app && input_mode_check) { // If the app has just lost focus to the panel, pretend // nothing happened; otherwise you can't keynav to the // app menu. return false; } changeActiveWindow(global.display.focus_window); return false; } /** * tooltip */ let tooltip = null; let showTooltip = false; let SHOW_DELAY = 350; let SHOW_DURATION = 0.15; let HIDE_DURATION = 0.1; let tooltipDelayCallbackID = 0; let menuCallbackID = 0; function resetMenuCallback() { if (menuCallbackID) { appMenu.menu.disconnect(menuCallbackID); menuCallbackID = 0; } } function onAppMenuHover(actor) { let hover = actor.get_hover(); if (showTooltip === hover) { return false; } // We are not in the right state, let's fix that. showTooltip = hover; if (showTooltip) { tooltipDelayCallbackID = Mainloop.timeout_add(SHOW_DELAY, function() { if (!showTooltip) { WARN('showTooltip is false and delay callback ran.'); } // Something wants us to stop. if (tooltipDelayCallbackID === 0) { return false; } let label = appMenu._label; if (!label.get_clutter_text().get_layout().is_ellipsized()) { // Do not need to hide. tooltipDelayCallbackID = 0; return false; } Main.uiGroup.add_actor(tooltip); resetMenuCallback(); menuCallbackID = appMenu.menu.connect('open-state-changed', function(menu, open) { if (open) { Main.uiGroup.remove_actor(tooltip); } else { Main.uiGroup.add_actor(tooltip); } }); [bx, by] = label.get_transformed_position(); [w, h] = label.get_transformed_size(); let y = by + h + 5; let x = bx - Math.round((tooltip.get_width() - w)/2); tooltip.opacity = 0; tooltip.set_position(x, y); LOG('show title tooltip'); Tweener.removeTweens(tooltip); Tweener.addTween(tooltip, { opacity: 255, time: SHOW_DURATION, transition: 'easeOutQuad', }); return false; }); } else if (tooltipDelayCallbackID > 0) { // If the event ran, then we hide. LOG('hide title tooltip'); resetMenuCallback(); Tweener.removeTweens(tooltip); Tweener.addTween(tooltip, { opacity: 0, time: HIDE_DURATION, transition: 'easeOutQuad', onComplete: function() { Main.uiGroup.remove_actor(tooltip); } }); tooltipDelayCallbackID = 0; } return false; } /** * Subextension hooks */ function init() {} let wmCallbackIDs = []; let focusCallbackID = 0; let tooltipCallbackID = 0; function enable() { appMenu = Main.panel.statusArea.appMenu; tooltip = new St.Label({ style_class: 'tooltip dash-label', text: '', opacity: 0 }); wmCallbackIDs = wmCallbackIDs.concat(Util.onSizeChange(updateAppMenu)); focusCallbackID = global.display.connect('notify::focus-window', onFocusChange); tooltipCallbackID = appMenu.actor.connect('notify::hover', onAppMenuHover); } function disable() { wmCallbackIDs.forEach(function(id) { global.window_manager.disconnect(id); }); wmCallbackIDs = []; global.display.disconnect(focusCallbackID); focusCallbackID = 0; appMenu.actor.disconnect(tooltipCallbackID); tooltipCallbackID = 0; if (activeWindow) { activeWindow.disconnect(awCallbackID); awCallbackID = 0; activeWindow = null; } if (tooltipDelayCallbackID) { Mainloop.source_remove(tooltipDelayCallbackID); tooltipDelayCallbackID = 0; } resetMenuCallback(); tooltip.destroy(); tooltip = null; } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/util.js0000644000175000017500000000204213025213275027215 0ustar jonathanjonathanconst Mainloop = imports.mainloop; const Meta = imports.gi.Meta; const MAXIMIZED = Meta.MaximizeFlags.BOTH; function getWindow() { // get all window in stacking order. let windows = global.display.sort_windows_by_stacking( global.screen.get_active_workspace().list_windows().filter(function (w) { return w.get_window_type() !== Meta.WindowType.DESKTOP; }) ); let i = windows.length; while (i--) { let window = windows[i]; if (window.get_maximized() === MAXIMIZED && !window.minimized) { return window; } } return null; } function onSizeChange(callback) { let callbackIDs = []; let wm = global.window_manager; // Obvious size change callback. callbackIDs.push(wm.connect('size-change', callback)); // Needed for window drag to top panel (this doesn't trigger maximize). callbackIDs.push(wm.connect('hide-tile-preview', callback)); // NB: 'destroy' needs a delay for .list_windows() report correctly callbackIDs.push(wm.connect('destroy', function () { Mainloop.idle_add(callback); })); return callbackIDs; } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/decoration.js0000644000175000017500000002607313025213275030401 0ustar jonathanjonathanconst GLib = imports.gi.GLib; const Mainloop = imports.mainloop; const Meta = imports.gi.Meta; const Util = imports.misc.util; function LOG(message) { // log("[pixel-saver]: " + message); } function WARN(message) { log("[pixel-saver]: " + message); } /** * Guesses the X ID of a window. * * It is often in the window's title, being `"0x%x %10s".format(XID, window.title)`. * (See `mutter/src/core/window-props.c`). * * If we couldn't find it there, we use `win`'s actor, `win.get_compositor_private()`. * The actor's `x-window` property is the X ID of the window *actor*'s frame * (as opposed to the window itself). * * However, the child window of the window actor is the window itself, so by * using `xwininfo -children -id [actor's XID]` we can attempt to deduce the * window's X ID. * * It is not always foolproof, but works good enough for now. * * @param {Meta.Window} win - the window to guess the XID of. You wil get better * success if the window's actor (`win.get_compositor_private()`) exists. */ function guessWindowXID(win) { // We cache the result so we don't need to redetect. if (win._pixelSaverWindowID) { return win._pixelSaverWindowID; } /** * If window title has non-utf8 characters, get_description() complains * "Failed to convert UTF-8 string to JS string: Invalid byte sequence in conversion input", * event though get_title() works. */ try { let m = win.get_description().match(/0x[0-9a-f]+/); if (m && m[0]) { return win._pixelSaverWindowID = m[0]; } } catch (err) { } // use xwininfo, take first child. let act = win.get_compositor_private(); let xwindow = act && act['x-window']; if (xwindow) { let xwininfo = GLib.spawn_command_line_sync('xwininfo -children -id 0x%x'.format(xwindow)); if (xwininfo[0]) { let str = xwininfo[1].toString(); /** * The X ID of the window is the one preceding the target window's title. * This is to handle cases where the window has no frame and so * act['x-window'] is actually the X ID we want, not the child. */ let regexp = new RegExp('(0x[0-9a-f]+) +"%s"'.format(win.title)); let m = str.match(regexp); if (m && m[1]) { return win._pixelSaverWindowID = m[1]; } // Otherwise, just grab the child and hope for the best m = str.split(/child(?:ren)?:/)[1].match(/0x[0-9a-f]+/); if (m && m[0]) { return win._pixelSaverWindowID = m[0]; } } } // Try enumerating all available windows and match the title. Note that this // may be necessary if the title contains special characters and `x-window` // is not available. let result = GLib.spawn_command_line_sync('xprop -root _NET_CLIENT_LIST'); LOG('xprop -root _NET_CLIENT_LIST') if (result[0]) { let str = result[1].toString(); // Get the list of window IDs. let windowList = str.match(/0x[0-9a-f]+/g); // For each window ID, check if the title matches the desired title. for (var i = 0; i < windowList.length; ++i) { let cmd = 'xprop -id "' + windowList[i] + '" _NET_WM_NAME _PIXEL_SAVER_ORIGINAL_STATE'; let result = GLib.spawn_command_line_sync(cmd); LOG(cmd); if (result[0]) { let output = result[1].toString(); let isManaged = output.indexOf("_PIXEL_SAVER_ORIGINAL_STATE(CARDINAL)") > -1; if (isManaged) { continue; } let title = output.match(/_NET_WM_NAME(\(\w+\))? = "(([^\\"]|\\"|\\\\)*)"/); LOG("Title of XID %s is \"%s\".".format(windowList[i], title[2])); // Is this our guy? if (title && title[2] == win.title) { return windowList[i]; } } } } // debugging for when people find bugs.. WARN("Could not find XID for window with title %s".format(win.title)); return null; } const WindowState = { DEFAULT: 'default', HIDE_TITLEBAR: 'hide_titlebar', UNDECORATED: 'undecorated', UNKNOWN: 'unknown' } /** * Get the value of _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED before * pixel saver did its magic. * * @param {Meta.Window} win - the window to check the property */ function getOriginalState(win) { if (win._pixelSaverOriginalState !== undefined) { return win._pixelSaverOriginalState; } if (!win.decorated) { return win._pixelSaverOriginalState = WindowState.UNDECORATED; } let id = guessWindowXID(win); let cmd = 'xprop -id ' + id; LOG(cmd); let xprops = GLib.spawn_command_line_sync(cmd); if (!xprops[0]) { WARN("xprop failed for " + win.title + " with id " + id); return win._pixelSaverOriginalState = State.UNKNOWN; } let str = xprops[1].toString(); let m = str.match(/^_PIXEL_SAVER_ORIGINAL_STATE\(CARDINAL\) = ([0-9]+)$/m); if (m) { return win._pixelSaverOriginalState = !!m[1] ? WindowState.HIDE_TITLEBAR : WindowState.DEFAULT; } m = str.match(/^_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED(\(CARDINAL\))? = ([0-9]+)$/m); if (m) { let state = !!m[1]; cmd = ['xprop', '-id', id, '-f', '_PIXEL_SAVER_ORIGINAL_STATE', '32c', '-set', '_PIXEL_SAVER_ORIGINAL_STATE', (state ? '0x1' : '0x0')]; LOG(cmd.join(' ')); Util.spawn(cmd); return win._pixelSaverOriginalState = state ? WindowState.HIDE_TITLEBAR : WindowState.DEFAULT; } WARN("Can't find original state for " + win.title + " with id " + id); // GTK uses the _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED atom to indicate that the // title bar should be hidden when maximized. If we can't find this atom, the // window uses the default behavior return win._pixelSaverOriginalState = WindowState.DEFAULT; } /** * Tells the window manager to hide the titlebar on maximised windows. * * Does this by setting the _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED hint - means * I can do it once and forget about it, rather than tracking maximize/unmaximize * events. * * **Caveat**: doesn't work with Ubuntu's Ambiance and Radiance window themes - * my guess is they don't respect or implement this property. * * I don't know how to read the inital value, so I'm not sure how to resore it. * * @param {Meta.Window} win - window to set the HIDE_TITLEBAR_WHEN_MAXIMIZED property of. * @param {boolean} hide - whether to hide the titlebar or not. */ function setHideTitlebar(win, hide) { LOG('setHideTitlebar: ' + win.get_title() + ': ' + hide); // Make sure we save the state before altering it. getOriginalState(win); /** * Undecorate with xprop. Use _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED. * See (eg) mutter/src/window-props.c */ let cmd = ['xprop', '-id', guessWindowXID(win), '-f', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED', '32c', '-set', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED', (hide ? '0x1' : '0x0')]; LOG(cmd.join(' ')); // Run xprop [success, pid] = GLib.spawn_async( null, cmd, null, GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, null); // After xprop completes, unmaximize and remaximize any window // that is already maximized. It seems that setting the xprop on // a window that is already maximized doesn't actually take // effect immediately but it needs a focuse change or other // action to force a relayout. Doing unmaximize and maximize // here seems to be an uninvasive way to handle this. This needs // to happen _after_ xprop completes. GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, function () { const MAXIMIZED = Meta.MaximizeFlags.BOTH; let flags = win.get_maximized(); if (flags == MAXIMIZED) { win.unmaximize(MAXIMIZED); win.maximize(MAXIMIZED); } }); } /**** Callbacks ****/ /** * Callback when a window is added in any of the workspaces. * This includes a window switching to another workspace. * * If it is a window we already know about, we do nothing. * * Otherwise, we activate the hide title on maximize feature. * * @param {Meta.Window} win - the window that was added. * * @see undecorate */ function onWindowAdded(ws, win, retry) { if (win.window_type === Meta.WindowType.DESKTOP) { return false; } // If the window is simply switching workspaces, it will trigger a // window-added signal. We don't want to reprocess it then because we already // have. if (win._pixelSaverOriginalState !== undefined) { return false; } /** * Newly-created windows are added to the workspace before * the compositor knows about them: get_compositor_private() is null. * Additionally things like .get_maximized() aren't properly done yet. * (see workspace.js _doAddWindow) */ if (!win.get_compositor_private()) { retry = (retry !== undefined) ? retry : 0; if (retry > 3) { return false; } Mainloop.idle_add(function () { onWindowAdded(ws, win, retry + 1); return false; }); return false; } retry = 3; Mainloop.idle_add(function () { let id = guessWindowXID(win); if (!id) { if (--retry) { return true; } WARN("Finding XID for window %s failed".format(win.title)); return false; } LOG('onWindowAdded: ' + win.get_title()); setHideTitlebar(win, true); return false; }); return false; } let workspaces = []; /** * Callback whenever the number of workspaces changes. * * We ensure that we are listening to the 'window-added' signal on each of * the workspaces. * * @see onWindowAdded */ function onChangeNWorkspaces() { cleanWorkspaces(); let i = global.screen.n_workspaces; while (i--) { let ws = global.screen.get_workspace_by_index(i); workspaces.push(ws); // we need to add a Mainloop.idle_add, or else in onWindowAdded the // window's maximized state is not correct yet. ws._pixelSaverWindowAddedId = ws.connect('window-added', function (ws, win) { Mainloop.idle_add(function () { return onWindowAdded(ws, win); }); }); } return false; } /** * Utilities */ function cleanWorkspaces() { // disconnect window-added from workspaces workspaces.forEach(function(ws) { ws.disconnect(ws._pixelSaverWindowAddedId); delete ws._pixelSaverWindowAddedId; }); workspaces = []; } function forEachWindow(callback) { global.get_window_actors() .map(function (w) { return w.meta_window; }) .filter(function(w) { return w.window_type !== Meta.WindowType.DESKTOP; }) .forEach(callback); } /** * Subextension hooks */ function init() {} let changeWorkspaceID = 0; function enable() { // Connect events changeWorkspaceID = global.screen.connect('notify::n-workspaces', onChangeNWorkspaces); /** * Go through already-maximised windows & undecorate. * This needs a delay as the window list is not yet loaded * when the extension is loaded. * Also, connect up the 'window-added' event. * Note that we do not connect this before the onMaximise loop * because when one restarts the gnome-shell, window-added gets * fired for every currently-existing window, and then * these windows will have onMaximise called twice on them. */ Mainloop.idle_add(function () { forEachWindow(function(win) { onWindowAdded(null, win); }); onChangeNWorkspaces(); return false; }); } function disable() { if (changeWorkspaceID) { global.screen.disconnect(changeWorkspaceID); changeWorkspaceID = 0; } cleanWorkspaces(); forEachWindow(function(win) { let state = getOriginalState(win); LOG('stopUndecorating: ' + win.title + ' original=' + state); if (state == WindowState.DEFAULT) { setHideTitlebar(win, false); } delete win._pixelSaverOriginalState; }); } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pixel-saver@deadalnix.me/metadata.json0000644000175000017500000000041713025213275030361 0ustar jonathanjonathan{ "uuid": "pixel-saver@deadalnix.me", "name": "Pixel Saver", "description": "Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way", "url": "https://github.com/deadalnix/pixel-saver", "shell-version": ["3.18", "3.20", "3.22"] } pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/LICENSE0000644000175000017500000000206313025213275022101 0ustar jonathanjonathanThe MIT License Copyright (C) 2013 Amaury Séchet Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/pack.sh0000755000175000017500000000010513025213275022344 0ustar jonathanjonathan#!/bin/bash cd pixel-saver@deadalnix.me zip ../pixelsaver.zip -r * pixel-saver-49f47bf734a301f54eb7228bb24c8a47477cee72/unmax.png0000644000175000017500000006764213025213275022750 0ustar jonathanjonathanPNG  IHDR`fPLTE        .   * A'$  & 6; # <C6! 1  . T. N+ )&#  'H@ N#<  _X_&76!K J $Y!l%r$1 F"-!Z 'T $B#k+ t*=$#U*e (.0Q),&3M)8f.w 2#&#p/ 6)%$b06q4<6; 3 <@Y1-)(&-**,* <Eo6}6 A;1-,BA:LG610,40?231HQMDA/46HCH@p"=QM MRIFPV797<87S3;7O6:<TNP O T!J?@>C?>:B>=BDFHEKGFBJFEIKRMMHRMOPNPTVNYTUWT[VUU`[b]\]_]aaY]hcegdkfekmkinprmlxsrsusz|y{yz~~ pHYs  tIME 9A}P IDATx x44iK.I/B(wҴ]-P*W?{pFrXI@_ߝ(Mw~IB€χgV==))iȐD""Ğ޽kVU4Q܀NZ5QP0Og޽5lkժe$I4@ 8Awg2dHh^۳{uB;BCh&" UOU-ڷOW-[6oծUQ(.@Iz5(XWw+pwZhKlo ~`k_}Z-9UUU{vMD_1{p]o;*Oi/ ]{ۻkpVujUm?\5O#\;!e:oz#hχ|owovWeo vwĹ8{ ˪VQU=ook[։Eڜ4#hS%{I ItY{Iw쏌݃\K/!)Ity;4PyZ9xя )C{>F,DWn=u༾3U;Nu쓋|~ڡoVi>ڍe:Ok_S}Ӿ=xj֤OWtGϊYݱS⧻Y"o&HC>s9xZtp?]lk;|*x~"xP{.x/x\lgrC:swG[W`@ M@Bۿ/JhLܱ/xо{GlWcղχ&@\o~zӣ}q/"˖U?Oo~xUG`ղ]IW7 _Wۂ_mo]%Ĉ*S 磂[`:Iv; }xYh]Wpũzo!Q}-{KNk?:Im~!m_?;5@w̬[?o{?/wtWںlw`qY[}h7r4!v}ϡU?FP{aMv+ %7= x(<=y81av:N}W]zlT⩎ EQm_W`@ i?e8Lqݕ(V{w_?l]{%."aOi3ב-3Vdq c\~-7a^W{_ωϕݟ{O(>`[6^sbg-?я?֎vw}HRGރEj&{p'{gǐٳ=@w=iWdy'&־;w_Jȸ;LrG[GCGTK0@@S}Ȧ})(tk({#h1llu1yx=dzk}r+8F.n':㌟">'_('~Ľr-wjK ք3Cǡ7xc/obL<;'1h{dp,_%y*=y*w+ktgB֎vV = b =*x\ v$oG=I| fCc9qH+VE8}p?~Kz9`J{-3Vdq,c\ޞu )пP.4Cje1@kio .@_j"cvy0mx =a]SG P(:̗` f^ۗdpQCM+I!1Bk^zd YX.w >}w[:1 >ߖZ,ٖw#qOLa_~_7~*wΫ: E}'7qe--;9#jpvztK}>>// 62 ncy\Dzkt¼qo}[W>24Nص[]"ۂ2nE2 tR`_Tu}"Fʡ9v>ۡm{󩶽߻"Н3Z藿`M2&ܻ{ߞ+ݶguV5''V*X5=9"׎w׶^ݧm'Uu[ZmGÇN٬l%98K% ]LBm;7л$;gJ|-`kr9e݊,e,}A\S1ok!tM&<}>?vhmY,d#߽?>*Lm[e=Wj;Vޮl_WvC>ziێ6xJѽѮIUȬЭ]|$VrVS]_`[bk8_xTF I~]@>#eF /e,f#|/a٩!r v͌ ѿo4Ǐu䰹A۪:NėkW% h,o4?MDzw0832@Dޔ?A[@yft(@2gz#:8V- DDq:<B.h""""`P(%?BD4XAD4yDD h:m9"HTh-R DDJHh"R&"@4@@44@@@44@@4@44@@444@@444@@44@@@44@@@44@@4@44@@444@@44@4@@^1} o=їVv |mƐL4 41gРFQ4tw~р WY|(n'1D@{ۃ纉ۙz/?vg1~.8w~wjӫX~MC3M} d}3gz3W1A#A]{W#O#ڻ t|[~rU?s 4t_a:[G?U-o$a_5?y?Vztr З@ ?jUW.g_umWzיSuSWX ~j/I/9@c>E9kүGqpK'|yh&Z ulӫϿ'yyO_uuryP?;/7/ξzڭG➇jO7Q|1w N/tށ.:''Hu]/MḮJ{ޮ?aŲ?Ouc.սu>|{ϟםzVuC/o|w]]wX^v1w`b9[g"ں/]Ewگ qp tG z]ٯ Я֝|H䭿H"!YU}E!K?=.tO_u? }kR9J>CgqUOCFnz哷{+ЯwIz8A@=~Uj6k x MƘ"znյkO^v+PG~#wTnP-g2z;?S4t@WWN;wܹ_}&78'^'g_PwzJ^Pٯ vܙЇ;zzs~S)rL;˻Ξ8w+ah&:UOuo9v]ٳ{:>{Wu>;(]٫ϟ>}gO}WxڭT뢇jٳ;-CAqc֤s_t(:P>u:vq均ut:y /_#U[>ۧΞ -]tܹu=Ok(1 !Dbzig<>ukW(&:}1fwu;smIȯȍ/8{pNw-WuC>?{er&П:_=?r?eǃr tn^r&#@.N |Ũ$uuW{ ^~t"]nyhN%$AXw1HϽ\>Ͻ_U@ tU;@@"v@@4} o/Dq 8}E/._@@4@4@t"'4@@nB|@U]txѐ:ejٿRIoutuh&}Qm m5_sgr:M=Hپ[PgЍ.+$_WU!Ҵ%ϮCbXs/ Gޥ0*5䵄{/X9h&D@hR.@q|WҪ⻧mkb[c.aP1X&_š{:.m;bڭ-u]-4@@^I8w1񘻢Kbƹ?ƣX:Wv;%햣kcȧwnm+)]pW=N*؟P$hA q TS!wwjDE.a4fU! LJ sFWd/_] /+{Cv<.']~t+@4hл/'$ܿ,1A +фK}MML }|:> M=8n6bhӖD.&^U{)k>K1o=s6!+C4@@ҝ붶U%&jzMJڥ܋]"{gtH{UB! _; 5~pڞڞ]]O.IضE M=vxCU]1w,Y (Q# vD,k)c)JavU;:MuC} 4 h9v=ЃxtmNh& =@44@@44@@4@@44@44@@4@@4@@44@44@@4@@4@@44@44@@4@@44@44@44@@4@@44@44@44@@4@@44@44@@4@@4@@44@44@@4@@@4@@44@44@@4@@44@@44@44@@4@@44@44@44@@4@@44@44@@44@@4@@44@44@@4@@4@@44@44@@4@@4@@44@44@@4@@44@44@44@@4@@44@444@44@@4@@44@44@@44@@4@@44@44@@4@@4@@44@44@@4@@44@@44@44@@4ї  A4@@44@44@@4@@4@@44@44@@4@@44@@44@44@@4ї&hbMDM ڎM h;@@4 J팠 #v;.@4 th&h @I@A 4N2r4@hh `!4@`fM 4NG$FE2&hd@''iiVqihh >=ɘnכ͖)~@OOJ7tJkEM ?i:ѨA 'ǎi^jWoM 7gҥ F{i hҊeL_DTk@@4kQN_n۩6o hNBmp\^ MTQQݪȫspI;hoXbJKdY)@CN hA:44QFh;lX:A] vnؤMMo}R /*L ΀[ihW@gM w]n׳q\EA(V }KݞVkn3hlfh8!g#оm?9 ~ }zY1F h&&B3SSمMڹ#?TPXog'!4@S܏p17-iL w]]nOq2tj!K"h$@9ﮭ.7djvMh_#nwb,hA@SKǙb#Շ7VFD>9p1tSƊY"P](@a&IsSS>~Pd0;TšjB[F@ 0/ZA<9v*V D\Vpє'VMM4@/#|y.O8vhkdRhj2MM4`@/_[YqcSVR ;^%MbYDM4@\/9CgsUBCii^7iզqD]Qq8^mZtŦS쑙g]eh`7i*h_S@^vZX:{Dh&&0Sf|xZ't h}Ubhh8}z9hA;]%JYQKZ2чz甗j{ w\iЀ*v9Ύh`R]pxɋ/66gPb@;"@s4@}]ʍk7j@\;wm7[Wn]}OTE q44рds]%OnrpM[Qi^wOR$vDMd 褤)ejjIomվsKS3U"@;&& c+B@{j]c3MM4@K2N9_jHؼz]E3s<E@+yAs45ѧho U+K._2U1M١hngmǻ)im֮߾nmW.͚i &8>Zkk'\.U7|-Lp$hAUGnԴS{cŝ}%wݒi ]@hܴK;=&zk̝jVF.cGM4SI鹦j@wɎEjm{&h@O ]Ul3g=V@k:RgnYg@˓9h@w='?2K9 ̺h&)Yz\~''̝{9M^4}v_wʤs7(044QNSsҧuz\.qn#s]YJAq@ 4iiYjյ;5[=n~MjtWdR`gh:)i؈4KzVĊfr&{sRjڤ(VbUHM4`#$)-}M\}=}b]ٸ-,)`(453oc}hyQM+oEљLE־Y"m llo+'KgMvb6OA@ 0U%|b4-5P5*KKFhb)s]vS{#pvQ+.-AMu: hmrnǽbS(~W7@hGк4˄8.v"lSx+hmQw v߄TK]-+禤yohx78rKeA W F5dFu@xG.D 'lL*Y&9~{^h}p9kf(oUAMuیV+p+g\a)@ Y%3~] +3s U h'itZgho{QF ⱓ0tniZy_vܞ8p 4@SFCC#tˌ:K%y<@__Q>TK"hLq$)1@=&_gʙMڞn)OQq=@j|zL%@CiZl@ܑK~1n\>A hxij@k{=.mvZKN?4@S|GhW=UB@V7;)@Q BwCŘL h/:8_@:44@S,D@K=^oӴT trNoH]OmN V&h##i- qjoGn/  1iŜf@w.i} hYU{ˍqO/1%4@S<֛GYq.5'44@S[[\,B BiX~&h/"tK}D G !pH wO6sh@4hynm7v팉%EVFMZ^&F3z剄b ݰtTF& Ih7ZMMVҙ{$$hN1& /[o3ӨL5)^@듒쌲-{jkN(JW讀)>@' 6"]z ny7W/ovm&h@Dî ӳ'.m@{ |+_ebUɜtWf)~sbm% OSq{'f: vp&h ՍHW36׻=ntk}7gX5o҄o2A ?z˸Bvr]oNҀv0&& CuӸ+6k@<5%SJR2 bhh8:__fhhz<ݰ|B%+'?u BU 훟yFRvV0Цƙ)~seW>+tMf:SU[J@fh*~>:o|vS UU6Ms 4@S8F.|tM-~,5@lV&hQ5M3n\^dYq -w5t 4J@a} O5s{֌Ja4%סbP&hк ekmhlW.XSSmr,UVA 'ϨyxsCYb\nhNֶN k+7l_:q9I ݁Mqz*?\[__!Yghx]}zwM L3ZPeE@#54}*~J [^d& 5'_m5v@4 W>ڍ<7ժJv 5@oYtyIl':rCA4Q|^_lڴStbl МM 9g?Ҭ ț\ٵ#`)^@l1[埵7VŮAPAqzڵX:{v]mLծp-hx]QSzzZj><{ZQX4@S܀.+3Rg4,:9y$8QH 7O1e.)^@0Ft hd@gIM 4g^ hd@_?,)ighФ$U ~AhA tx ЪEMkdHӥ1M 41"Mhha#$i@ 4niЁiG$'kK"ht1(B4@ӠZ뭽 QI!%6D4@f'!4@@4@@44@44@@4@@4@@44@44@@4@@44@@44@44@@4@@44@44@44@@4@@44@44@44@@4@@44@44@@4@@4@@44@44@@4@@@4@@44@44@@4@@44@@44@44@@4@@44@44@44@@4@@44@44@@44@@4@@44@44@@4@@4@@44@44@@4@@4@@44@44@@4@@44@44@44@@4@@44@444@44@@4@@44@44@@4@@4@@44@44@@4@@4@@44@44@@4@@44@@44@44@@4@@44@44@44@@4@@44@44@44@@4ѵeXBMo{Y,s;XCM4@#ڨhI)hqnw/∂54QF\a힋8h8 }1Ўm!4SD@bNNJhA@c44@hhAv Ghh:|k= )^@ӀV!4!#h^hbkKh:)^@}"hꎠ9v4J!%4}EV zmo ? XbN'D@9Z g鳾_Jh CB_ KMĮi*D_Orz4h@[h,zl  1lf4р$gh辅rM4P%z|&z"~  No3oJ?@cO44pB[,@oJO *=J}) Ӷ>"/\m>yʈ^1G1$ JxN îFr(C~ --ў,QrMᧇoj }Y{נ=P[j3۴UV̙fÖ1qI?}J>3bY6YƮ^9!4Qm4ۃ9ҊRڛQM}@&]̻^R#DMQR-Qp]\\")?@w՜ji&>0?d ,Wj a#U']- .%'jUӬcZ]P8T̀rz:5 ~8|nM133mj~œ)ڰ١#e{hoW?T@ӕ7 ryJ~)y^7y湡# T( ce9g!|?QcZk iq/A`] +=q صGB5=b2224՜Dk"k${h V͡84kJB)}_~i˜ˮbKb]/?/ҥ1@kI UfCO sX{ ?#m]~TxhPs YQc;ڴ:'ly'ZTih6![6\ gry]5UDצ? hlϝ`|!{I{c'B@> c' ub?/YF]b.v&٢Ӧ|CEО̵;"t#4ZW.pX-bcy9#V9{fɘ'^t|$9SH.hmwwMiȿ >FJ?ȱcr_R yB \i0G,G$+#+yC5B}ɜ)9Cvʊ!rȥdۍCJfE!>āQ'jZSUL,sN@9&^fYlimjݛr"֞i |ZZͶ:2IKЩ)LմLSXh7͝5|-zsjQ,~椉}@/~W/aL2@ӕ&7҇zGN!<RIW=Cઓ3԰Wh#B!r'9 sbVٳgWWlSSr #+rDN ,wڪLNt{Ksmx6٤deI]EA~aTpȇib|̑ f||5@8|SKT1 /<-́fA=fus@m t8%GL#4|rCI3g!x^HChЖŴX}"Tm@99Y)6$˱!9Mq(\^ɐ|65*JZfj9B<լSBsڰ)/YyDnT1uشGd)%Ojϛ0f )R"XtLIM5,|J2SSjRMSMzەy`3|v"w]ڦ^X$}x^2qG9{-G*̔ ULVMC,b6{{ǎ9#!xsb%o [{nˆ=C޼eG SJJ7ܓ[*+/{cZWZnyN%K?Ңܨp1hh|sCs=z OV G(<:#ysxzȱ#R 9"~Ҡ;~$hC4\yM%NkGVrm)cn\Me/)jc --۶oX/3Cgy; 嫷mٿ`>ٖ &'?۶i ۟jۧi,TӲg۟X9\fZ̑woھ.[:o?kzn_Xڲ{6Q9]9me{6zM?{^Q,&NOtvhx@ IDATˑA;ϽGǎɣ?|RŠ]{GĒwBWK<-_zOw $Mlx>>Riy⑫ 91 ih|΀Y‘Smf}z~ỹ4~WSYX4G`6;-3*l_3v7>}t1OZ֍s/l}VN~ԂZ+]]40_?|槞nv|:fqټ}Lav/VgQs|io8"SQܢ4eZuwg2t&:@wvv0[ёGɆrļ!9}}-Iǎ|COsuJry]T,˸k7ֻgmm?{Hl-~a7-kchs}v-KWԸN3;ɡgx=Vߴ't;ښ5w,&좬[|;wG>Px.X8f놵NzbQNM+=ES2ҧgfї,:+9So+bz#; k?Ï8t 0!O~ox/-s:oe_pҡRjaIJfPH϶44o*SٖY+-۶mklvkTn-˖#覆} V>::"}Χ6V>SsQ3VWmY{5+g2,Mojty=΍-۶W?bOyrsr7UW?v[7<$km5VoEKxk6zWޔ/4gI<~ѱK1Oi%hE}R>}t/G⋀6; o>Y= ;={yb…+^$U13ƭ>7n[yheE媭\::;߮XfT|/6V?X'9 monXp+ʊ;xMLlQ6:ښ+,likZ6 _\zOy²E[g7hglɞ^41gqĴl[vnbtH͹E65hoɑ{ZA.>#ҽs s{#6*V/:wă9Ͻx.|]s o~,P|X$>tx|Hs]u,q 72i̊QV]w5?rl5g<̘Iƌ4ږMN*۹v6jFMټblFvzzzV~N~oڲjNG }oWI\ FՆQ7Jݾ'v7*yTv_z[iEw੼$f5|ZSٸ||Q_=s^Qt]׶ & rcx1,Jsr+[;8#C-OW8Ui$'_nzÛ'_\zˁcN~2>r%uڣK;pB\^m#0/8Ү<'h헚!v7?1koUgqn{5e3sESnTL}҉SsnU'|2Ը%5% G5/s}w v6j܃->5ٷgn^7b1e[.͛rrrr6حS>a].辭ftSoAgLx3JӋ?QAhtZQo JSks< 89ohņޕqtzvb'9)49s [coӝա GN _:"`e-7n_6h\F_530?=bN.>d]7kum̵ch@Xs-V;FL/J+*SR>3h"t-7(#N |]yB#hvǑwL;4Ith>$8ŋXTR%Ncl UŜiWI^Y7aƶZeͨJvfWsmoo~4V>pZM3eٕT[vı|V_96XGΨi{j{eluk=krnW'>Qk\ʵL}v|.uZ'P3V䅦%@7[@;{֊@;f-=hSDMxyO9EQJC@@?dж,%ٝ3b`./8mx24Zm<ˋ/%ݾգ-%S^'߮@ lߔeU 62qM[[}>4dib$nr򍺌qOZ$grJ%3%S/ktzڇ6rV8MNG| %;+Kͬ? 4]qh@[b/87ٲ Z^6-UdK3ݹ&੭Ffjmh]q@-RvJ!6(rc0cǎ}ۇ ^z6zIoӮʐ5ĐtLd['Z_"|vwUR4=ErD?[z\΀)OT|sSwnxM&ң0Y3f˕{.sr.曊LN*Q#vhKQڨO T4stm#zF#=t!t8rw+UJ Z߶_xȦ\ZZoYЅ5 tqʂj'вn%K^H8h6'>_}ZfW6p:f|.yv?ϚU[֍Y48ۜ&\n Ԍg | hAg3rKgU4 L%eվYYٹl}ϮthFCm[=:X[.@?Hyo--n9*r-.ŮجE?sk%fY٦o3CEVO; 4ͩ6 n樊clǘ~wP*kmZd%[?u?(b.R,|ܕasl#hyڇoϵX'p/(h; K'ѳgg{d'wXOFNGA 77\:mMӀ:7mKwhoW尤TN m>Sɔ&$LEd9gEVosŝgڭf53%UOg77p-̗e+oɝY,Zr],6ӌݲ2#7צlj_zYQjI=:+77Po*7Mϵ,iKnvW Ș{l%Kȭ@_P{qh^F>AGnm0$+Nw_@^>|{{t\1ܵʷTivqh["I QL˿[w,WT<ƥb-Pq(fb4TLo+Ht[. 4cDKQQ%%FeXsLeAny\gkE-U/jFf_m4Xs[px(K4z<Wi)x1J6lr7av&4 C辧8z8NFyů|x#2'Ww6VLZ%n7E ZZ=zӭR)6GiMT3kxgT;avrZYk3nk{6VSt4Tkj~Q9Qr-ƺEӪc,APTveLB t6q vwBq 1V$kY)3՚h@Jl$ZEm#馥HazȩPD!1I"gJT'@hao+u`;vFow X)_͛Exp|zi: M`f=7DMmhh<Cl=<DoyX"=6zs GܒwЖ΄_(@wQmmmyLx~~\@wZ*]--u\iiulwut>wxZ~ <sd=\gHZɡg"Юb+[V7Ԅ!XCVSQܵ~q(&x_"oUdkЍ3 fw Z*n};4ΔK.ѨR)j[wީOVϷG}CbeJe歎8SK'4S _2M|iuUܫuã3Vs__^[[H۶krC$ " v-թ17f~[[voTfJT mnNՐ1)sDR^kʵ󿱲 uѲzZ"^F) @ [@{@_~.l 6:UJ}Fb55SͼG|iO5:|Tf{\ TI?e 9nǼQySk%}Zy4Zx,w Cdu bqy^|% _q#cKKsxxXٚ =kN.,_qw)OO?tJ!&>Ag:Uoܿw//iή}+s4ӭ)-odqvvfꔚRSFtR*ھ~3Yd5f苦/E䮎5a؊fsMqyNjiqibaG"cZԠ!b1A&+ #Ҧ[ɨx'# ü(h' Oк_{y=i8/8򵉴(\GtMMᙪtma7g*;2;{sb(emQhu]%@@utmױ7JݎEb\cɽqlhG1SՖ+%F!^]O$\lrZZ-=Sܥ'cLh]@?my7_o o8R4U<ҭj~KyJJqE$' Xk7/-VN{^>KcGܼ_ma;; QH;_T ^W5s,˥ c}qŵhTKyWڵtjlb=;nOnȵey 񂳳}zox;Vޗ_~pWWNΙM@3Jhg#4TY8cwLfwۻ_W<=Ԯ*Vfye}caCi@O֖*3'lOڔVreq,$dgyN⹱'3;v;;}/^M?]{_z+Z|N|ގ'VbV EO&zrxxX ɩO " -I 4:Tj>.ЭAW?ܿ{>wD bZ^];\sZ9/ w ;;A 4 1kБ'_l8Zzdzߗ|o|@Zs3KKՙ;⚟](}^+-.^rJiϫSCi쥓b65 ݂t{ՙ7Lϵ@[o8~YyjuqO^*Ϯ*k╙jiMѴ }b:\6=;P^4v\zw0!bj\v._+T^/ED-;4&NЛנ_}8Б]+_|w]ymZ`#7_--U奥foOqHS}#EL'gk s]ZTQ5;e6fO h{\mI;Bz=KեZV.^>F\stIXR.UWR9Уt-.T>).|xw#h:{3qGZ|13rv-.lL晄܁>M>{w7Қʽ8B#@߽Gzu@C~5\J-O{%"^}On}w(;^SkܧﻷoH-3GG޺R)͊@.3m1YűZhi#˧7c}Zٮm}WkkƎR9b|q=E Yy%Xhᠧ7ֻ3wy׸+F/Ļ!ԞTݼ.O+LSjwȅRݗ~[?]pkFw]ޗ@&[ݾݭ79W_{yGEZwſo8[#_}ooj oݖk(xnfq˫_wrɣ5xַo=X :Tzynzrz詣ݶЖwyѡn4cJ2uxb~nl1x8 cE\gX,bx:}h_}W tɌoc}ǏK^*~ư koX?y v쥗C3"e)F2DֵtGpxtA#_,/wd1=}g{C*uţaGO؛ հ ycO'+'tGiIfce}x܍@@IKDW7yY1Xs.RG IDAT^H#Ѝ[Z#am{"=2"b\n?ŶWPOn2b4KMw'MS<1 o9)Sјm潂i-G';ۍ~!VڷBW#- {Qŕ'ȣUE9"b lxF)߸*oW yF}hVefLn*8kp|c\_ځ)J)ڊ,_pR9[=.0z4pSQyacӳ=^G^HPq5x:^ Ž#τ);,3zBlzh+Z:b/e4~Z7cGPOrs[PmgHv"rG҈|XSs [*"QPĐ,Xd/91߶zU;F^U1FcYp/9/KUSH#r/yaA^FK<(dc]hӍx=2 u\~nw,(,k䖧&u=Gv;=؉O d?߰CF9͆(,"jOFw1 |dRrDЭ;gmxfس[Y?]EG[M1$L'*zoQ"ˇ:Or?@Pp;h!Bݞ\ArPyB.W(vLR.rq6jz^~w [ܙ󜂯"{nբm{r$ۃ<QAf9%{ JcD^< ;/cZȅR<zTOrR$2ֆh`Z..D=JdqwzufӅ_XQd[\) ,uG޼HxP_ȏ51暢\vD To׍#|ޑ*s#|Bt}A\5ȉ4.JsM^cIm?̔'lhm˱v6ih_A#'X!#HKփf5onʙXzKT'Y&O$/XhܘUj>3lrʵaIzTqɖD,oZpFqzwntuhnˊD_io<4ȋX2--<>@1{S^;-]7T?@347G#[emy7n