From f4a5f7a8322949c2c6ddc296aaeabfd38f586721 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sat, 1 Dec 2012 04:22:28 +0000 Subject: [PATCH] dark theme -> battery done. SVN revision: 79959 --- data/themes/Makefile.am | 9 + data/themes/default.edc | 3 +- data/themes/edc/battery.edc | 342 +++++++++++++++++++++++++++++ data/themes/img/bat_base.png | Bin 0 -> 155 bytes data/themes/img/bat_bottom0.png | Bin 0 -> 1719 bytes data/themes/img/bat_bottom1.png | Bin 0 -> 492 bytes data/themes/img/bat_shadow.png | Bin 0 -> 1626 bytes data/themes/img/bat_shine.png | Bin 0 -> 1214 bytes data/themes/img/bat_top0.png | Bin 0 -> 2745 bytes data/themes/img/bat_top1.png | Bin 0 -> 855 bytes data/themes/img/glow_med_white.png | Bin 0 -> 348 bytes 11 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 data/themes/edc/battery.edc create mode 100644 data/themes/img/bat_base.png create mode 100644 data/themes/img/bat_bottom0.png create mode 100644 data/themes/img/bat_bottom1.png create mode 100644 data/themes/img/bat_shadow.png create mode 100644 data/themes/img/bat_shine.png create mode 100644 data/themes/img/bat_top0.png create mode 100644 data/themes/img/bat_top1.png create mode 100644 data/themes/img/glow_med_white.png diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 625ac993e..93e734f96 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -20,6 +20,7 @@ edc/about-e.edc \ edc/about-theme.edc \ edc/background.edc \ edc/backlight.edc \ +edc/battery.edc \ edc/border.edc \ edc/button.edc \ edc/check.edc \ @@ -98,6 +99,13 @@ edc/O/winlist.edc \ edc/O/wizard.edc \ img/ball_small_glow_intense.png \ img/ball_small_glow.png \ +img/bat_base.png \ +img/bat_bottom0.png \ +img/bat_bottom1.png \ +img/bat_shadow.png \ +img/bat_shine.png \ +img/bat_top0.png \ +img/bat_top1.png \ img/bevel_curved_horiz_out.png \ img/bevel_dark_out.png \ img/bevel_horiz_out.png \ @@ -158,6 +166,7 @@ img/glow_exclam.png \ img/glow_lock_double.png \ img/glow_lock_locked.png \ img/glow_lock_unlocked.png \ +img/glow_med_white.png \ img/glow_round_corners.png \ img/glow_round_corners_small.png \ img/glow_small.png \ diff --git a/data/themes/default.edc b/data/themes/default.edc index 000635965..3189be2a0 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -56,9 +56,9 @@ collections { #include "edc/temperature.edc" #include "edc/backlight.edc" #include "edc/mixer.edc" +#include "edc/battery.edc" // port unchanged stuff so this can work as a replacement -#include "edc/O/battery.edc" #include "edc/O/border_icons.edc" #include "edc/O/conf_gad.edc" #include "edc/O/efm_icons.edc" @@ -66,6 +66,7 @@ collections { #include "edc/O/icons.edc" #include "edc/O/illume_gad.edc" #include "edc/O/wallpaper.edc" +//#include "edc/O/battery.edc" //#include "edc/O/mixer.edc" //#include "edc/O/backlight.edc" //#include "edc/O/temperature.edc" diff --git a/data/themes/edc/battery.edc b/data/themes/edc/battery.edc new file mode 100644 index 000000000..e04f2f886 --- /dev/null +++ b/data/themes/edc/battery.edc @@ -0,0 +1,342 @@ +group { name: "e/modules/battery/main"; + images.image: "bat_shadow.png" COMP; + images.image: "bat_base.png" COMP; + images.image: "bat_shine.png" COMP; + images.image: "bat_bottom0.png" COMP; + images.image: "bat_bottom1.png" COMP; + images.image: "bat_top0.png" COMP; + images.image: "bat_top1.png" COMP; + images.image: "glow_med_white.png" COMP; + min: 16 16; + max: 160 160; + script { + public message(Msg_Type:type, id, ...) { + if ((type == MSG_FLOAT) && (id == 1)) { + new Float:val; + new r = 51, g = 153, b = 255; + new lr = 255, lg = 0, lb = 0; + + val = getfarg(2); + if (val < 0.35) { + new Float:val1, Float:val2; + + val1 = (val - 0.10) / 0.25; + val2 = 1.0 - val1; + r = round((r * val1) + (lr * val2), ROUND); + g = round((g * val1) + (lg * val2), ROUND); + b = round((b * val1) + (lb * val2), ROUND); + } + custom_state(PART:"fill", "default", 0.0); + set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255); + set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255); + set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255); + set_state_val(PART:"fill", STATE_REL1, 0.0, 1.0 - val); + set_state(PART:"fill", "custom", 0.0); + } + } + } + parts { + part { name: "fade_clip"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "faded" 0.0; + color: 128 128 128 255; + } + } + part { name: "info_clip"; type: RECT; + clip_to: "fade_clip"; + description { state: "default" 0.0; + color: 255 255 255 0; + } + description { state: "visible" 0.0; + color: 255 255 255 255; + } + } + part { name: "pulse_clip"; type: RECT; + clip_to: "fade_clip"; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "faded" 1.0; + color: 255 255 255 255; + } + description { state: "faded" 0.0; + color: 255 255 255 64; + } + } + part { name: "fill_region"; type: SPACER; + description { state: "default" 0.0; + rel1.to: "bg"; + rel2.to: "bg"; + } + } + part { name: "pwr"; type: SPACER; + description { state: "default" 0.0; + rel1.to: "bg"; + rel1.relative: 0.40 0.40; + rel2.to: "bg"; + rel2.relative: 0.60 0.60; + aspect: 1.0 1.0; aspect_preference: BOTH; + min: 5 5; + step: 5 5; + } + } + part { name: "base"; type: SPACER; + description { state: "default" 0.0; + aspect: 1.0 1.0; aspect_preference: BOTH; + } + } + part { name: "shadow"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.relative: (15/160) (15/160); + rel2.to: "base"; + rel2.relative: (145/160) (160/160); + image.normal: "bat_shadow.png"; + } + } + part { name: "bg"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "top"; + rel1.relative: 0.0 1.0; + rel2.to: "bottom"; + rel2.relative: 1.0 0.0; + image.normal: "bat_base.png"; + fill.smooth: 0; + } + } + part { name: "top"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.relative: (24/160) (16/160); + rel2.to: "base"; + rel2.relative: (136/160) (40/160); + image.normal: "bat_top0.png"; + } + } + part { name: "bottom"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.relative: (24/160) (132/160); + rel2.to: "base"; + rel2.relative: (136/160) (144/160); + image.normal: "bat_bottom0.png"; + } + } + part { name: "fill"; mouse_events: 0; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "fill_region"; + rel1.offset: -5 -5; + rel2.to: "fill_region"; + rel2.offset: 4 4; + image.normal: "glow_med_white.png"; + image.border: 10 10 10 10; + color: 51 153 255 255; + } + } + part { name: "top-shine"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "top"; + rel2.to: "top"; + image.normal: "bat_top1.png"; + } + } + part { name: "bottom-shine"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "bottom"; + rel2.to: "bottom"; + image.normal: "bat_bottom1.png"; + } + } + part { name: "shine"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "bg"; + rel1.offset: 0 -6; + rel2.to: "bg"; + rel2.offset: -1 5; + image.normal: "bat_shine.png"; + image.border: 0 0 7 7; + } + } + part { name: "pwr1"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "pwr"; + rel1.relative: (2/5) 0.0; + rel1.offset: -5 -5; + rel2.to: "pwr"; + rel2.relative: (3/5) 1.0; + rel2.offset: 4 4; + image.normal: "glow_med_white.png"; + image.border: 5 5 5 5; + fill.smooth: 0; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "pwr2"; + clip_to: "pulse_clip"; + description { state: "default" 0.0; + rel1.to: "pwr"; + rel1.relative: 0.0 (2/5); + rel1.offset: -5 -5; + rel2.to: "pwr"; + rel2.relative: 1.0 (3/5); + rel2.offset: 4 4; + image.normal: "glow_med_white.png"; + image.border: 5 5 5 5; + fill.smooth: 0; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "e.text.reading"; type: TEXT; mouse_events: 0; + scale: 1; + clip_to: "info_clip"; + description { state: "default" 0.0; + align: 0.5 0.0; + rel1.to: "bg"; + rel1.offset: 0 -2; + rel2.relative: 1.0 0.0; + rel2.to_x: "bg"; + rel2.to_y: "pwr"; + color: 255 255 255 255; + color_class: "module_label"; + text { font: "Sans"; size: 6; + min: 0 1; + text_class: "module_small"; + } + } + } + part { name: "e.text.time"; type: TEXT; mouse_events: 0; + scale: 1; + clip_to: "info_clip"; + description { state: "default" 0.0; + align: 0.5 1.0; + rel1.relative: 0.0 1.0; + rel1.to_x: "bg"; + rel1.to_y: "pwr"; + rel2.offset: -1 1; + rel2.to: "bg"; + color: 255 255 255 255; + color_class: "module_label"; + text { font: "Sans"; size: 6; + min: 0 1; + text_class: "module_small"; + } + } + } + part { name: "over"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + } + programs { + program { + signal: "mouse,in"; source: "over"; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.3; + target: "info_clip"; + } + program { + signal: "mouse,out"; source: "over"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.3; + target: "info_clip"; + } + program { + signal: "e,state,charging"; source: "e"; + action: STATE_SET "visible" 0.0; + target: "pwr1"; + target: "pwr2"; + } + program { + signal: "e,state,discharging"; source: "e"; + action: STATE_SET "default" 0.0; + target: "pwr1"; + target: "pwr2"; + } + program { + signal: "e,state,unknown"; source: "e"; + action: STATE_SET "faded" 0.0; + target: "fade_clip"; + } + program { name: "pulse"; + signal: "e,action,pulse,start"; source: "e"; + action: STATE_SET "faded" 0.0; + transition: ACCELERATE 0.3; + after: "pulse2"; + target: "pulse_clip"; + } + program { name: "pulse2"; + action: STATE_SET "faded" 1.0; transition: ACCELERATE 0.1; + target: "pulse_clip"; + } + program { + signal: "e,action,pulse,stop"; source: "e"; + action: STATE_SET "default" 0.0; + target: "pulse_clip"; + } + } +} + +group { name: "e/modules/battery/popup"; + min: 240 60; + parts { + part { name: "e.swallow.battery"; type: SWALLOW; + description { state: "default" 0.0; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + min: 1 1; + max: 160 160; + align: 0.0 0.5; + } + } + part { name: "e.text.title"; type: TEXT; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 1.0 0.0; + rel1.to_x: "e.swallow.battery"; + rel2.relative: 1.0 0.5; + color: 255 255 255 255; + color3: 0 0 0 128; + text { font: "Sans:style=Bold"; size: 10; + text: "Your battery is low!"; + min: 1 1; + text_class: "module_large"; + } + } + } + part { name: "e.text.label"; type: TEXT; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 1.0 0.5; + rel1.to_x: "e.swallow.battery"; + color: 255 255 255 255; + color3: 0 0 0 128; + text { font: "Sans"; size: 10; + text: "AC power is recommended."; + min: 1 1; + text_class: "module_normal"; + } + } + } + } +} diff --git a/data/themes/img/bat_base.png b/data/themes/img/bat_base.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec3421079189184a331498c7bcaf0d1b4d5a5e6 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^1whQg!3HG5f_KjWQc0dJjv*GO-(K9vcgTRp_2T3U z&&q$F&FSIc5oJ2%(5~U^yjwvf{$$nlZ$E_8<`f-n-sne@p`tL?r%9GSA}RZQa=XSrTX)gQu&X%Q~lo FCICI?JS_kK literal 0 HcmV?d00001 diff --git a/data/themes/img/bat_bottom0.png b/data/themes/img/bat_bottom0.png new file mode 100644 index 0000000000000000000000000000000000000000..277972e06362a6b8e225dec9b03c810cea6703df GIT binary patch literal 1719 zcmV;o21xmdP)UeZHzZN6pmjnhkdYn~($JKMtoASAm@TK;UyqzDq&*_oY%{qoD- z<8MFz%uj#)i68&+1Mlzeyu7?}xm-A(PLx`yrBG|7)PiAHEf`R&fbro7^0FczKyo4i zg@}NV@?0Vmc^^S2hzOdu92a@tyf=c@8X=(wTteCOFAF>p(p`I)VY+1WgBE`EvlqU}X=sLdk$0ymc;e zXK#&t+b1K(Z@#jF7ZBkc@P_-&zBSJE%(u56xcZfw-;VJUv@wsKNOb0Qh9@Iq>dbt1 zUlRmj<59;mpFHFwV-Wn%H3F-0&K4FQF;Cg`7&;CfNHg1g0Lil~gtfa^a#?gV78c4yyr_HEBPhxJT`QVS84QU%zoeF@+v#cwR4f6Da$*pN^?fiPLN zw@+m87=xaJK9s}p*0|s9)KdBOJFSW2lGe|Vh6gcN$nX7|Pbx0Et}0cx$78Kr#2K${{l z0_5Gq#H?$={gFi<8I=Iddihl2Cx(J4v1o)Ncxx^wepVuTwT#{j4n}3 zL@ButGbGJAk%hP9B6_OCQ|68HSv!{cH!_|sL(xr=CZnDV#4sjmxaa3~-zk=f_4Vy5 zcir)DcHbWv8{MS2CQwqZcYf4aZwcO!(0vV~26dKc*2~qbeT44=54~HM+5roILP4nH zg<=I2Vd766C&@c#t6^|L1(htQlmb#Ow&Zzd=Kv}eF2*7yG42Zx!WPMjB_IzBoG$XP z*&*lq^@>G0wqlhpuV?OlN1@5`sU%bCx*PTAbB=B}wJdhiliygTFu+KlhsRr zyL0;W*MH#N`0clU^7i(H%gcrH>CE|Dv(|L^vQm0ef3y#48*#SNgM_Y?eQWo**}-!o zyj&kFb=TYtIb@Axr$$QvnYBp^YusB0_HoNfG3p}8Kn@pBaaV2}c+2E*SH9biK6!6D{{|QfO)?K@1494+ N002ovPDHLkV1gr}NHqWe literal 0 HcmV?d00001 diff --git a/data/themes/img/bat_bottom1.png b/data/themes/img/bat_bottom1.png new file mode 100644 index 0000000000000000000000000000000000000000..197a8bf0fa35dc983ea47944e089ffb70a4f8e43 GIT binary patch literal 492 zcmVP&#v)wiy$ja zL0K-HY9FhM<@@FpTZ_-*@`#95ZV|Yf)dsTyKCJE(cq6Yz;0AaA-fc`Vh~CJ+^AJO| zLA|xozg5$=yQ>jYt|1Q4CP{WKNvJrv_6D-m(DT6L1gQS)azik;u;T z61U585H(U4TX56?87H+p{Zh`=!m(3xNv-G0Nd~V27>1_M$&H25l?#a}Er2=j47>sx zHvtJ?5dkJWz+&*E2e20GWZg2o?{=xOZ_vD|u0mB~19TAA2BIkdxVEsnvJkqCj9DVx zvONXhckQc(m_r|=l&Vx`gBr%|ocznav)?%O&$WwV52b1kWBzy#4A}wyU6VbHI|3UR z!0>ZC7eYsX0|Kb-tXT3DTD!B*sDbRj*1#+Zj}i5_6NmE=qjrRNw?q21{aQP5{Wo^V ipIe({aQ+*$Cw&4~q%4)MV0(7}00000u%6 zZJi7?QQn)Jwmjw$!%`EOCUNyZ9=q-z(GQ=`=bXB18M9!Z*B{)j5g{`a2mMT(a|Ls?@d8G-0+Crd z{`P)`dA$}q#n@tw%{Dg~hu4fL6I<=b#fw%9eS<|&+t!)$VE(;xoB5>jxcywK@(&sT zAf6z;q9zjDty9DhDU|KCRplTJI=&M<1ry^%vY6zka6?=5LJBKX(1=WR6fQi@Wg{Ru z07DEnw|VA`gef~6A8piY`HfCxqC_nu+g7`^PU30?KVpf>RQ9ydZC6QFGp$^-PS5p3K_m#1{MFD+jCI2$v+- zN>d5J^{M=!$T(*PP9%Gx76l(@lf~bvqxia7~9dTp1QljC5wpc0xPxeqp<6d z7mIceboTl}bM1T&^J$t{ah)bRNkWKEScQ6QDojI=R61Rbb_%=NY^expca32Z_dLIg zFP%)QYzmACpUGTzR4$y&pR87MP|f~1xD*jYQVs>{HcuE_ioO3`dA%Mpg~L2BM`*g9 z3@pFsSY6YIJy!7|%HPZRY5ybVev4S$a)X=uN3L|BUy`|@tXNfFeRgFpHbwT$$)luj zeWPb0=OADatFuj?m0}*!?fHpkcy?-oV&u)mH)eLe+={<-XelX0BPP(h@1a2mkGo9ueWGp=!hb5 z;pqeMdnajRT%>cwU`J0!xadUuem>V$rnAwffN%|1Wxl=L<@7VNL+!aV4O8mANaA94tLK(vhkN%fkLB@( zw`F~7SB@jZ!EZev0vrS(2#+Tc84N&63kHM#NaII#|G!{a^Kx55qobi4`TfRsxzURT z+MH@F(ZS1m=rhCL&&O|Z5LRwEYYYnJd>_4rvzBu-oq>ILDiWWs&5;T~)Snay0h-%p zbZjV3ZjaALaqRZ}m6QQx)WMhr$M^|?ISMfWnBY6RU#q;D}05#69H77fX02B2=4}X4!nrR8*}~Vsdz>{wELOC#m(B-vmyae6>@8j`<8E=7) z|G4HS;12j4#~tt`j{E3NTks4OLI1_yOGKT`Q1tBOKWB=Us|nY<>g7i_a&2iLfPHvf z5wo3G^lS&JRHs{A9^jA*w-W(wdH|)u0KOQpHLOgwT-Sz;oA<3WZR6(|sa9xv!BBN=6t}@zPKqc*(Tb9M_O$07ym-^b_1H z6=)-Ji=h~U=b*t;= zz!WEGC8Dt$n6o192Z|u6f&(wv*qd6tN((qJHH4}MY%~X^v;%&`iBe&JITO;k)vL5% z8dBb2*8{z6NtxVD4&!@?S#$ zQl0+`YkC#lsos>RC zFb@;1`Dh@@ft4ND?T0x;FyAL!^G5`DkPDZW8?|2u4%h-a;2CfWyawI?uj2FT`1XAS z_YJrQzQ*T|(Y+_$M5JKo69t_ZZ zgtRjuxXY7!GY;|fAotaCpshkN`S2;ibG;t1t5#D!jwUUU1ADo!dv6ELj()%R*Pa-; cPm<2)H*nRpuvhrlu>b%707*qoM6N<$f`985w*UYD literal 0 HcmV?d00001 diff --git a/data/themes/img/bat_top0.png b/data/themes/img/bat_top0.png new file mode 100644 index 0000000000000000000000000000000000000000..7a15b96a40baac72d12ceeff6ab47842498ad829 GIT binary patch literal 2745 zcmV;q3P$ybP)zal|R0yDgZsCR-yIH zYy=U3X-qeM>*P6kG7G{hTYmf7|B7Gz>eu}6!w=lw-!lvYIcG$`J#cqa6$m1N2v9Ak z7KS_!fQS$Q5y3c)eE$4|;Cz03VkuYNe|XQ+<1-&WeB^q$aG5V$o=3*>h55QLmxWRa zIVYxh=5iSsuOs6)^1J{3oxG;;O1#P?paCILfpFixODQ2zZ#}|+;BYvSawes;uByt% zj}IJ%L{Y^;QIw?=o}bQ`8%7Wwm^pzE?byV;2wwwMHl}1m%nj$I-sgt=Lt!{=MSH;#UO$l0#xwuxCxv*4E^740RFS0 zP+67{kp`OY0Bn1u1SBFLB`2b@Gbp9-x4*vU&6_()DU8#EB! zF@nGy5Y}s(**5@x+9FLpx3zy?8M0BM=EhW|mSC9|K7D%N{_c)a7OvBTNHEVc<7MRX zd|3k`BADj_?wdp-42O(Fd;{<&LAL_-a;*#$;VXbvV>6B;)3k6p9$4m?^LWL@S<1}Q z!!y%$W?2eom0vT%EijKJp^%4~`%GUyc&`$`QVQ;V1Ll{2HDeQjsd2ql;8KDlRYEV* z6-mZ2O+0>jWS$qU*NJ%=F`S~tGA+=Ytv6N!~}xhT^(V`{h=MYYwE!QJsl9)>md{+Pk~ z2H-zf#`DPI!y^gMw{JP!ofvYh%c6BnN-313%BH(hN2ybu8Xz?weqM|G$AA7Ne)-FP=NG^DH@^S=d)~c!$Nl{qPRA3+FZ_ih2?uf-Xk7r@ooSkw=b29*Kk|IJ zays0RQy@6%juxeq!t*#17#;@Vs417HGf$7_+8odtSWl17RpKMivT(VaIh>A|dhIlY zV_L^R7e&obRZREWhFTpn)7GJ~dd(zAeSp^dji^yx1*>&IqIW>z2B^Qc67ix7wg1lB zKCFGmwLKO$t+A|{YXv&l7f^3Z_foa_lm?;o)S%#tyintSggC$|7)27ND#6;>pn$%(H53{5w)+V zWRuW-e?8J;t!-<)mFPDl>y6bWv)^2;pM#Z++h-4iXyDb@h}+}a=a7fpF|pQvsWq8< zK`$bhSH=^LS>Z4ok=F2*Q~|5t^<0)(&!qw>Eud;t8_TkAI-RPC5+MmFTkY9_T0s<0 zb#&1>J}vmo{AR!-oI@T^tbOri1D};TU;XJtPKFc>pw1E^>R=G74ANNnHMaGpa*h7Z zq*%B2Ag&uT9&odj zpi4#Pl1>^d}+HT9fEDHEr=ds41IC8;2V1F6er3*Ba1kft_f%@8SX-@aoQGC5V2 zyKSmeR0$E1c$<5y%?B-|CmjedtLIurI-KL-z!J+X&0+)ipX(Mk2~D!)kefWXV^T^L zL=gd(>eWO@i51M->7Mus^Lz!bv#p=M*6OM0LEPko-dqE$Hw3WFkOMFA={eiRYHpzWiB`Q{zg8j z<9EnM3|j+dEpA_EX1rk8SDD#x>tRT0gR`-&u_tUz?(V*>vD@yeHOc+jKGFJ(o#h^_ zg%#`y_1GklYA!bLHq%n2bAJsZC1J<|k}^qB1)%4;dT<4lZM%pDDx8 z!E5t~v6IYxY?I!!E6Ckz?lU#U^T_ddBIQI9NCLLY(Q_&5#4!;_0@Ye)uFzSm`7n0P ziR0l!iOSM=0fw9J4BRbN!q=H8s|$@?)VHRtAVjz3?ua<4NoVgyNRy{7C$anUQbOIk zRQh^xk<@0~8|(KOU4$%&oQDm7?gp*rRl_4#%E;a6O*JY>s{2d=9u>4CM6>{CjO?t8 z)|OM#TKhdbaCiS5Io0&A-Cuhj$GqjxjWMdqJTI+D+s%vLXrQ}uIvi1aCzrAPz5{EG z-*~~mUDdMr4jB5myfee9B-Q#aH>l%gil<+0ebqts@*iu@(s%iEmF+$ljXnMMtyD-1 zN!pCNZ1aCjHdk49r<5yq$NTm5hm`V`_fj)E^hDhOjJ2HT@~%aBdV1n?ystS_giKJH z+469fQd-^$#33XoMbV`+*Ul=l(=@kgu#Urcx$v*={sk@9R*!O1Zv0raAYY&EUimsq z*DI<@=^g#!!ZbGqdSGtkG?0f(&S{k*pho*@^lw9EUn{C|`kF^OnN%^An#Q9(i;B zhH%A6XjEpJJ6eosnji;=H<#?p)66(t+r)6473uStl?2i1(gS0en_Sl*TpRMmh(4v& zgSw@hHQmH!qa+7{;jLfPY0T#|O z*BSah{P7RG{q9|TULYrG+f22+cCnzYt!vW^n=039eNCeexE5nx7PRPEA8RS377!k` zK1T=L)M}n}uVd2sx9U!)*W+ww7R?)&wdwGGMm~dpS1wAC00000NkvXXu0mjfASO^j literal 0 HcmV?d00001 diff --git a/data/themes/img/bat_top1.png b/data/themes/img/bat_top1.png new file mode 100644 index 0000000000000000000000000000000000000000..37685ba621022589b383c0a3535f34f78f5d6cc7 GIT binary patch literal 855 zcmV-d1E~CoP)uFoi~tL)+tcReG3VKyK0e|LJp0m2(9 zz&5IuHUs*=yol79N1Ql7Q|AT^Y!v`{6_WyOAA^f!_o!8YwJHG51Nsc`RR*!FO&Dzi zINAtswEuh$dGtf_&w zsfx%Q;9eoXJ?+tI(^yX;sVkPff&t!|{?9hsjniUSU>@XDqGF&HvN-3O1f(Vb##49t z=28IrOrKn-6!k+ZtOFNU-%W)#1D^H(d}knfUkW^ryfh3x@nYkonyi}Z2sx{7ZKdd-a^zAqWZYkuFJ#!0qqx;m{R8_9}CXNIa5^71Z z4~$fnSSo7^B(-*lc{ag`xwpRDO)7~vDt;^Uwi0Z0tSg8$t-?Or1wLpM+D|>D`=G5t zuPQCTkdVT}sbVil6ejAtiIvP+BqQOa#y@W2PPC|^1mh%op>cDC-Dms2cdhK7kwzH` zMse1&j6zfLw`8iC0?kwkuG_aB`Xs=d!c>`)zk)<0L@yuqyI7xfx}^Qy7B3(LClr7Q zOM>JAekT|GKmS(#t8y0=kq0fMbtiPRzj>WRb^4_3Hxk#cK@7Nd(OB5@|Lo!!