From 262f8dae34fde0246f452d81b79ccb77a0c906f8 Mon Sep 17 00:00:00 2001 From: Dave Andreoli Date: Sun, 15 Jan 2017 16:05:21 +0100 Subject: [PATCH] net gadget: try to improve the theme * make the 2 monitors fill based on tx/rx percentage vals * try a more bluish version (still need a bit of love) Note that this is not working atm (okra need to fix in E) --- data/elementary/themes/Makefile.am | 7 +- data/elementary/themes/edc/netstatus.edc | 158 ++++++++++---------------- data/elementary/themes/img/idle.png | Bin 1264 -> 0 bytes data/elementary/themes/img/netstatus_base.png | Bin 0 -> 1339 bytes data/elementary/themes/img/netstatus_over.png | Bin 0 -> 1101 bytes data/elementary/themes/img/netstatus_rx.png | Bin 0 -> 1196 bytes data/elementary/themes/img/netstatus_tx.png | Bin 0 -> 1304 bytes data/elementary/themes/img/rx.png | Bin 1253 -> 0 bytes data/elementary/themes/img/tx.png | Bin 1110 -> 0 bytes 9 files changed, 66 insertions(+), 99 deletions(-) delete mode 100644 data/elementary/themes/img/idle.png create mode 100644 data/elementary/themes/img/netstatus_base.png create mode 100644 data/elementary/themes/img/netstatus_over.png create mode 100644 data/elementary/themes/img/netstatus_rx.png create mode 100644 data/elementary/themes/img/netstatus_tx.png delete mode 100644 data/elementary/themes/img/rx.png delete mode 100644 data/elementary/themes/img/tx.png diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index 81d7d5a..42e0b28 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -489,7 +489,6 @@ elementary/themes/img/icon_wallpaper_within.png \ elementary/themes/img/icon_warning.png \ elementary/themes/img/ic_win_move.png \ elementary/themes/img/ic_win_resize.png \ -elementary/themes/img/idle.png \ elementary/themes/img/img_example_1.png \ elementary/themes/img/img_example_2.png \ elementary/themes/img/inset_bar_horiz_base.png \ @@ -574,6 +573,10 @@ elementary/themes/img/mini_blue_glow_arrow_3.png \ elementary/themes/img/mini_box_bevel_shadow.png \ elementary/themes/img/mini_box_glow.png \ elementary/themes/img/music_control_icon.png \ +elementary/themes/img/netstatus_base.png \ +elementary/themes/img/netstatus_over.png \ +elementary/themes/img/netstatus_tx.png \ +elementary/themes/img/netstatus_rx.png \ elementary/themes/img/outline_glow.png \ elementary/themes/img/packagekit_base.png \ elementary/themes/img/pointer_entry_bar.png \ @@ -589,7 +592,6 @@ elementary/themes/img/runner_glow_horiz.png \ elementary/themes/img/runner_glow_vert.png \ elementary/themes/img/runner_horiz.png \ elementary/themes/img/runner_vert.png \ -elementary/themes/img/rx.png \ elementary/themes/img/screen_base.png \ elementary/themes/img/screen_bg.png \ elementary/themes/img/screen_circular_shadow.png \ @@ -679,7 +681,6 @@ elementary/themes/img/tooltip-edge-bottom-tip.png \ elementary/themes/img/tooltip-edge-left-tip.png \ elementary/themes/img/tooltip-edge-right-tip.png \ elementary/themes/img/tooltip-edge-top-tip.png \ -elementary/themes/img/tx.png \ elementary/themes/img/vert_bar_inset.png \ elementary/themes/img/vert_glow_run.png \ elementary/themes/img/vert_glow_range.png \ diff --git a/data/elementary/themes/edc/netstatus.edc b/data/elementary/themes/edc/netstatus.edc index 5ad072d..cd3cc29 100644 --- a/data/elementary/themes/edc/netstatus.edc +++ b/data/elementary/themes/edc/netstatus.edc @@ -1,119 +1,85 @@ group { name: "e/modules/netstatus/main"; - image: "rx.png" COMP; - image: "tx.png" COMP; - image: "idle.png" COMP; + image: "netstatus_rx.png" COMP; + image: "netstatus_tx.png" COMP; + image: "netstatus_base.png" COMP; + image: "netstatus_over.png" COMP; + script { + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 1)) { + // new rxcur = getarg(2); + new rxper = getarg(3); + // new rxmax = getarg(4); + // new txcur = getarg(5); + new txper = getarg(6); + // new txmax = getarg(7); + + new Float:val = rxper / 100.0; + custom_state(PART:"rx_clip", "default", 0.0); + set_state_val(PART:"rx_clip", STATE_REL1, 0.0, 1.0 - val); + set_state(PART:"rx_clip", "custom", 0.0); + + val = txper / 100.0; + custom_state(PART:"tx_clip", "default", 0.0); + set_state_val(PART:"tx_clip", STATE_REL1, 0.0, 1.0 - val); + set_state(PART:"tx_clip", "custom", 0.0); + } + } + } parts { - part { name: "fade_clip"; type: RECT; + part { name: "base"; description { state: "default" 0.0; - color: 255 255 255 255; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image.normal: "netstatus_base.png"; } } - part { name: "rx"; type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - rel1.to: "base"; - rel2.to: "base"; - image.normal: "rx.png"; - color: 255 255 255 0; - } - description { state: "active" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } + part { name: "rx_spacer"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: 0.32 0.33; + rel2.relative: 0.98 0.78; + } } - part { name: "tx"; type: IMAGE; - mouse_events: 0; + part { name: "rx_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "rx_spacer"; + rel2.to: "rx_spacer"; + } + } + part { name: "rx"; type: IMAGE; + clip_to: "rx_clip"; description { state: "default" 0.0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; rel1.to: "base"; rel2.to: "base"; - image.normal: "tx.png"; - color: 255 255 255 0; - } - description { state: "active" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; + image.normal: "netstatus_rx.png"; } } - part { name: "base"; - clip_to: "fade_clip"; + part { name: "tx_spacer"; type: SPACER; description { state: "default" 0.0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image.normal: "idle.png"; + rel1.relative: 0.04 0.08; + rel2.relative: 0.68 0.50; } } - part { name: "e.text.received"; type: TEXT; mouse_events: 0; - scale: 1; - effect: SHADOW BOTTOM; - clip_to: "fade_clip"; + part { name: "tx_clip"; type: RECT; description { state: "default" 0.0; - color_class: "module_label"; - color3: 255 255 255 255; - rel1.relative: 0.1 0.0; - rel2.relative: 0.9 0.5; - text { font: FNBOLD; - fit: 1 1; - elipsis: -1; - align: 0.5 0.5; - text_class: "module_small"; - } + rel1.to: "tx_spacer"; + rel2.to: "tx_spacer"; } } - part { name: "e.text.transmitted"; type: TEXT; mouse_events: 0; - scale: 1; - effect: SHADOW BOTTOM; - clip_to: "fade_clip"; + part { name: "tx"; type: IMAGE; + clip_to: "tx_clip"; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "netstatus_tx.png"; + } + } + part { name: "over"; description { state: "default" 0.0; - color_class: "module_label"; - color3: 255 255 255 255; - rel1.relative: 0.1 0.5; - rel2.relative: 0.9 1.0; - text { font: FNBOLD; - fit: 1 1; - elipsis: -1; - align: 0.5 0.5; - text_class: "module_small"; - } + rel1.to: "base"; + rel2.to: "base"; + image.normal: "netstatus_over.png"; } } } - programs { - program { name: "received"; - signal: "e,state,received,active"; - source: "e"; - action: STATE_SET "active" 0.0; - target: "rx"; - transition: SINUSOIDAL 0.25; - } - program { name: "received_idle"; - signal: "e,state,received,idle"; - source: "e"; - action: STATE_SET "default" 0.0; - target: "rx"; - transition: SINUSOIDAL 0.25; - } - program { name: "transmitted"; - signal: "e,state,transmitted,active"; - source: "e"; - action: STATE_SET "active" 0.0; - target: "tx"; - transition: SINUSOIDAL 0.25; - } - program { name: "transmitted_idle"; - signal: "e,state,transmitted,idle"; - source: "e"; - action: STATE_SET "default" 0.0; - target: "tx"; - transition: SINUSOIDAL 0.25; - } - } } diff --git a/data/elementary/themes/img/idle.png b/data/elementary/themes/img/idle.png deleted file mode 100644 index 7c988163af867d5d6400e2dcc5016d949e0a1785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1264 zcmVFV00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru*8&O+FEHwluAu+`1bskCBm4e`aD$y$!{s4{$2_YeIL*h?BD(Zy; z2X5TTjT_?JLsdY9id3bTARMcSDMr}4_If{NhC{|~=vNZ&CQ>WE(#n$Mnc3gWyubIE zG0bBgnZnSYTfi8I4te|n-~!9Dc3|tzG4L_)>mdtR1ukakU?Ly}egkeCvH(+$ovDK- zI_3iA0_Fnd0_Fnd0-orwGq%qPfd$~$3=B4fz^nqYLg4C*ZKn{JRX|nKOy?g28)VNG<^?2LT@d-d-A5 zmi210*?b>hV`Bp$#JO6n_EVasBuPRX$4I%$)cT5W9qwj)`JDnT?_tpkz={weQA)kL zw6x^hxpN001m$v>D2fn5>}}Kyh&B{o9S{rIKp7|j&j81PH%!w!Zy3f)Kw)!p(@xVA zrMBl!2tkr0BuRo{7+97CfRu9jo5M(A184%z>b+eAE|{kIW~o#&r ziVy|LZ(WQ=%whI2<0hfD-UBu%fN?q~kbmFD@>=R$8j(WWBRgD6cNWU zz20`t`@T=HSfo;^;JPk_LIKm1!I12|qTmp?pp>eR92 zS(P2xDF-|y4w_3(Y4Fbw}5kH;+`#ESr<(TLG#M8Dt1bzLfz3ZCcDXf#+@SOB2e zY|?7A=yW=J&y{@$2sG0#0Ovi=t4C3k+`M@+^nHIc7!3YZO5K%G-cm~auFnAi_-yAk zoaBM;`)qA(ar^ddN~IEwMg!0DIC0_xN-5gycJ2bUw4a{^zUy>4E$whaEv^TQ9^rcF z!#b8yBBi9?@6+%1Cl);2ig^nVKt~HX3Oo-~b#4^$LXJGQ&ZBHJ1^!~Y#uT)jxk(hv2sLf~w14+8DH1k4J7v&B6KT)YHzm4kqpATW+& zCh)fd0@tLJpYH<#zs_R?W`e*;B@e@JCj<_FK5%^-_ZUBLVt5Dy8ae0FVaxv@S>~A1H1b z0>j~Ocop~-_*1V)PuHqHbnVJ4U?vC*fMF5bLa)rG|!l(dAd|8)f$b) zQP1<-VzFqfudl0iyL}n>Miav?z^$wTEVgf#&jKg)vsVawTr6lNYXFOuWi1t#qiLfp(wZp>^SD ai2ne{O+P^dnuBWq0000FV00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;Qq-=?{@5a709)X0^oj|KV8WDTAh8UXzz*Uh?!SEpPt`g$4xbxKPkJvc zSq{NTPMuTdRCNRAbzcAPrTF6U@$vVuhsJTN_xWr2cg`8!d&C&wy|0&Z4qeyP_hXC* zAt0rMr>CdeQvle{{<#$RJos@OQA)uu3g4g7+Q( z&@>G$E-ny4KnMZOIe70;N|^v(4Zysd^9sm2DMKnS!>j@+!|#nT)=H3O!!UeE)X5Y& zMjQE>Kh8j7j3}i{xJ`bSQcy~%m2l1hKz)8y3b6u9SsBL>!!XpKm}yQK891rLKtl+K zF+yvN&1M6wb*0g&6k6gvgXWL10loK=U_%J#`yM&xNh32*S*c+d&@|0IGhC_l0mz`4 zS(comQjSOOJwgZ*4dC+x!HZQMh5^Qybt#l{u9@bK#~3SZB)6Gi3KA=`L_a1&URvv# zsMP?F0krv9#=sbZoHL9ulO~tE*IKU!fFi@7bL|ld)f9~oq@@5d4GR@i+_1l0Bze=0W!uQ#t5aj0_Av~4+|@~EtOa)g`6|2wUw())4*E$p)Y@>Ls!`;4WZ-f%vJ!N`a&JzmDW%r!0m;c@CeT`orfDhwIeonMwHFwCDFs?oWiKq++cctxIENY2kE-LZp! zlL7qt_3MKPn436 xc{~@UuePdd90;G+d7amJo!5Dt*LnR{)*p|)bX`*mpYH$w002ovPDHLkV1h8WY6AcO literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/netstatus_over.png b/data/elementary/themes/img/netstatus_over.png new file mode 100644 index 0000000000000000000000000000000000000000..62d5dcf10c9da01fb6700477121f357c4038b757 GIT binary patch literal 1101 zcmV-T1hV^yP)FV00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;QOBWx>aC`QCyd%Yhs!yyy54Jb)>)3B-bl~yaQJiGJk%)IZj zV<@7COkwEr9bf{4C;a>pPzIW5Z(!^51b83#`Gf&hfRD1=U=JVyegSTsFo3C_o#_Ur zItqXSpa3WU3V;IOREM3heO3u90gEXdY$}0S0kTTqO3JoV3Cs$RRRV8inEFw%hzo!M z;4!NMHsGY#6tMFE-~k^1{fBJt0pH~T;2pp{N(0NXUR+vQdK;kI?IMJ@4E*qa1FRll zs+5415F%Dey}7Wk;B0PgB814D3)w&or~*#_=YUsC)4XCB#&bYvYir9+k_4qxt`@NY zECEmIxm^LSnx^?`wOYL}Gc#jZmNorx9LGp0a|2KXo(EbwwVrnz=k@vd`IkJ;vmM95 zFm`t#g%E^cNEAi%`~BPiwDj9IfOEB4?cL?&<;7;RX_%%-6h-Xp?9lJ`84ia8LGb5f zGT9J9JewB)UpxIQaK&|9FAT$YeSJL`4u|8xVDPt6>aLXXwo>X>{T(2HkMmLo?&y4e z3HYYh>umrE7-_gZFxJ=hN0J8s0rWJ;S>S1)uGdB>&&px{$J_h^xT`x})1Pj08m6YN zmvmc|H-NoR`g3t|Nc#^@`$v6R2}~D;KIFZAX9Y+rf$8F+fqT{9tUud6T$(o1Kb3iZAv(;5gUQff8t0R@w7BqgJbtBnd$f5Cj3f?<1vDx|mL+l;10*t^qfIZJiZ; zU{VbRGB__+5`kU)QSNbnVIvkV*o5-xuTY z*cU=1l}e>vuh*S&xlE~4!Zdelrcw&u_tp0H_GmB|tSY6h>rs#z7H_s8*|I8jZ$T*LBO4O2ufm z+p5#)tO8$YWB3WUofW`hcX#;`a9$rrmB52yRy$b(n71seX&8o+B*``4M_>);0FiNw z8R$_+pwwAstY1h+XQk*-q|y8H{$UbmKOhFX(<;#&3-t(&bZwaE&i}hEJPz>>$Y#7| T+F#$800000NkvXXu0mjf_m=I9 literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/netstatus_rx.png b/data/elementary/themes/img/netstatus_rx.png new file mode 100644 index 0000000000000000000000000000000000000000..2877ff69af7e027abdf303b028dd39fad9176e5e GIT binary patch literal 1196 zcmV;d1XKHoP)FV00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;Q5 zyvdU&k-PvdE&v-gY}l}2!-fqTHf-4NKSlV|2YmN~+5I(Lu81FIfX<%!%RMd7O>)(w>n|1B56-M{)UWuBp=b~ zNK1RHoROM8diN&>pzZB!Ux@RDWHM+ntR>oX@F4O5fH*wRJ$&X;NoQKxqtgLx6-+QG znAG(GxR884?=4EfbQ?*XL+M${8JBT>t5WX~jfdy>t}`-IKm0 ze#v?PE1)GK#r15hVlBI_Yr-UfDb_05D*e;vXg*=%9x$v`f6&c~KD`3%j_{5COJPWwu7Tzqa>TS@CZH=;VA1yN_l2}IFfk;bF)6c_ z3zGKOY>hI$%yJq%7_FXZQ&)%7c&&81`&w7SMkE7l5VL(&;-6IPRd z&IdG~+%oggWi?C68?~WQoc!Vx(g?AC#rl&2ki2BuT}7q2e`}kyTrf$Ph+Cyptc_^) z?ApcG!^iffhM8S0uIuM&tSF(nKV7X&8&W1vowZugn&&JE+UgukBgBpn2N-|~aR6eE z_Jar2?Fdq^R?s={%lgoDE6#zme@)sHYsJfc)7jc8rmk(9n=p1gbUhk6mrfL-cIaI- zB6uY(frJ%pH1>46Czp#hP=!t)Mh{8~rsA2e*@E37~Q)GO( z_DW6b1#tT5{p>2@PGsuD&72%MpXM_`>t#s!=w42JrTN!wHv4`E9_*Su@a~&$uUYE` zv?gRaP!GSL(}8yW8wE6*zKyQA%ne_D?ZZhLS~D>O;_yK1 zdg|~8p&zLG-@Gp@L0c+N=RoS)q+coSKClfNHf-3iVZ(+E0RI4*_*&nJBUEqz0000< KMNUMnLSTa3P&YFG literal 0 HcmV?d00001 diff --git a/data/elementary/themes/img/netstatus_tx.png b/data/elementary/themes/img/netstatus_tx.png new file mode 100644 index 0000000000000000000000000000000000000000..1387226652971cc58ae962c3a14bd77c4d7e1142 GIT binary patch literal 1304 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 P00000NkvXXu0mjfw<9xz diff --git a/data/elementary/themes/img/tx.png b/data/elementary/themes/img/tx.png deleted file mode 100644 index 46d355d0cfbb8b542224c4a185ec99fa7e9674dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1110 zcmV-c1gZOpP)FV000CXNkl;K%7$6h zUEOR02M!!KaNxj!0|yQqIPgD3^Q%7~%<2AJit)w$zb+vHO%wc&A7EoZ^NcW#2-5^V zj#wTaLB@cLfnOH*WdS*dzdwCy0HE758m|$*UrPvJtr49=czS{mAv%ZXJ)-wuYe8BA z0N6PMV?fS01^Udp21q@%NVdRNHHReBlMRq2=fd-P4LqMH%$n} zfW3dQ_b&^O5MCw!BJxCFtwGa-=p1OCLCXS~X8=Gu3^+YJfV4(f7Px7Gn`cBKBoS~3 zh|Ir7z-#xdW$N7+gmKIn*jT327RXxIafH_z-WV_uBu2zNE%dX<-wO~TL~EbzqBUq) z^81bFqxTSI2oZ!C!@~povcOIgLC=h|WPmsGg7BSJGh|L0W^fh9Ae;CfT`6vIq&r zAQ*$lj3k177?4uhw+l(xEXA1Hptbq#TozMovUZy2eJ;>xLRgmEB9{eZEn)~@?-7Zf zFXl=(iJA%L8_@qVM!eggdUdP6#iRFd0B zZAC~S(GF4FSZeKuD6teH`J3TTHRZ(b}@g(#I%zpaDfb16l+b{t`@RuX13 zN}<18ZX(_GJ$mm!&LKFrqk!}IIkjzz=v=;U<{7pYWXuiGHKMV!VcA$DiB$hLN}=uh zO!jobA8+60qW=7O9|4V0P-TPa~P_fOrS<|)H_XTxp+zJB}&cfG;3!cS=IMoYvHE}%h#`P(*$$9!W#ppHDs-olx~E?7$F