From 517f54add446a79f02b1a9f72517d1f56ecbe4d8 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Mon, 16 Nov 2009 19:37:33 +0000 Subject: [PATCH] Add illume-home module. SVN revision: 43731 --- src/modules/Makefile.am | 3 +- src/modules/illume-home/Makefile.am | 29 ++ .../illume-home/e-module-illume-home.edj | Bin 0 -> 20407 bytes src/modules/illume-home/e_mod_main.c | 282 ++++++++++++++++++ src/modules/illume-home/e_mod_main.h | 10 + src/modules/illume-home/module.desktop.in | 6 + 6 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 src/modules/illume-home/Makefile.am create mode 100644 src/modules/illume-home/e-module-illume-home.edj create mode 100644 src/modules/illume-home/e_mod_main.c create mode 100644 src/modules/illume-home/e_mod_main.h create mode 100644 src/modules/illume-home/module.desktop.in diff --git a/src/modules/Makefile.am b/src/modules/Makefile.am index a6dc651d7..54c9b9542 100644 --- a/src/modules/Makefile.am +++ b/src/modules/Makefile.am @@ -239,7 +239,7 @@ SUBDIRS += connman endif if USE_MODULE_ILLUME -SUBDIRS += illume illume2 +SUBDIRS += illume illume2 illume-home endif if USE_MODULE_SYSCON @@ -317,6 +317,7 @@ mixer \ connman \ illume \ illume2 \ +illume-home \ syscon \ everything \ systray diff --git a/src/modules/illume-home/Makefile.am b/src/modules/illume-home/Makefile.am new file mode 100644 index 000000000..a80d63ee8 --- /dev/null +++ b/src/modules/illume-home/Makefile.am @@ -0,0 +1,29 @@ +MAINTAINERCLEANFILES = Makefile.in +MODULE = illume-home + +# data files for the module +filesdir = $(libdir)/enlightenment/modules/$(MODULE) +files_DATA = \ +e-module-$(MODULE).edj module.desktop + +EXTRA_DIST = $(files_DATA) + +# the module .so file +INCLUDES = -I. \ + -I$(top_srcdir) \ + -I$(top_srcdir)/src/modules/$(MODULE) \ + -I$(top_srcdir)/src/bin \ + -I$(top_srcdir)/src/lib \ + -I$(top_srcdir)/src/modules \ + @e_cflags@ +pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH) +pkg_LTLIBRARIES = module.la +module_la_SOURCES = e_mod_main.c \ + e_mod_main.h + +module_la_LIBADD = @e_libs@ @dlopen_libs@ +module_la_LDFLAGS = -module -avoid-version +module_la_DEPENDENCIES = $(top_builddir)/config.h + +uninstall: + rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE) diff --git a/src/modules/illume-home/e-module-illume-home.edj b/src/modules/illume-home/e-module-illume-home.edj new file mode 100644 index 0000000000000000000000000000000000000000..8a32ce34a77dbc7e4335367cdf9c56a11f53b309 GIT binary patch literal 20407 zcmai+3p~?b`1qAjiB)nbp;D=DAxW;IQb~$RQn@U|+=sbrh9#BcR;k>nREm%gav8!> znB1?M``l+P+nCM&41K@q_xrv6>-#v*^ZuOcbDr~@59%vPhMeN!;^GIA%EcvmiHmEk z0~eQgI~SLr3t)mk)^KrcF91au7Z;x%Kz{#mabKWcSQfz$P;LMMKH^neT)e@{BKRDD z6~5;x7uV*s%OaTYA3u5x=*i0>$SGIqA7z1YYgfko1o+B)j{W4~5<9Rgg2n&Uzc3B- zP0J#P2jw;(;B#RStZO$H7X*wg*a3h55U?(TU7(Bv&#D0*0{X^f&c&%W1@!empo`!G zN*=)GLCKlh?iFSU`s4;Sr=Io-%K?lZ*qnI;uCNP$i2{2w$L4&1{sJ%=Q1UL5C8h(I zEMT0rsw?%tm=IN9bLOnK!b|`=3vBLHZLI;*1xy@B%1S*~z-|MZGruD%j0Bh?ur~wQ zy24Tb^8vQNs{X*fL4r8-Rcs)Z1WbGtBY>%i044>*Z>2pLZ?h7xAwWK?Fc4>(PXn7X z7w;AJ8Zdoeub#_6zzjJI$nBMSD8R1&RS&Ffvl(D~D|I;gB>@=6&zwC9SmDnA1ODd{ zMDhXJDkwrN${KES}){G-1OTwGf? zzFWO-;B0N-oY~dmMgYdyx7F+sV3HgLej1fxKF&2mG+* z*a~x6VZiTO)HrO#=Is3)z)o-&5abHi0_-fXSFcwYu!|f91iezv7ch{!{-{?9m|`U^#$Y01UFye<0Ae1IF2-)v*im=~novdVD~?44CI{w$dKN+}8Vman@(K z!d?OPn8Q}h8RV+1v46F_0a(gk4Aj}0|5sa%U&?|4lvFhtsbKhuy(*!ufrO! zLBKe%{SF9cyduEB8TsRE4FksDFd!}~>j3*G1k69`f&CTY)LA;0pgalWJ7AkZx!U)= zfC0b$!G-|a^B0={?9gAV1TfB7UESXZV9>u;r&h{>63x#A_ykxshpid|jULd9s(t&U$7V3K&<|eo50<%jkBKBc?g)o8~$S8TnTdm|MziL}j3h`}7H5zJM+H z0F>%L4g&TRluPe~pu7!)Ge#sRm(DaOp95I~*c(v(ez)NC4fa-qlYf85DJQQ0pNN1s z`ge~wIcXTMZ=n30V_ksG@e5~nR zA4JfMA)Jx&N4Zv8N4V^qEa28i`D4Eo zh2P4*j}-rC@$d7aT-LYktzk%nhntl(%m(4??quPznjx1B8#_nqWzEV8^yK6MY&R}X zYd0jA50{O#g}aBFH4NBXPKetcj@B?cD}=M0i!+?d+S%O=&9yRsJKDwix9(!$X5qwT zcbn@BX9l{Q6~Ip0xq&4j+|aNyOU*cq?W~bpc8-o7PS&!v2q){MPH)>;z~F8cxBoTV z5iUsERkkI<{a^ck>wnolu-kTST%4IM&*74Vn>$SVUpN1c*;u+eFRg23jY#=b(~|eH zbH0u6`u}vaY7>^mUYgojj&Ch3kk(wz7Eab&OFpu;u>p<%19>2=Vb-3&4@fRIYZu_> z-D9s!)OEISU*2|@lQnR)6_V?=wT*>`qdOPU9Xyg-n$Z!|5tl+Wx5{35zPi7oa;y70D)+m;B@MkCU;uJiBHV6UyU98JR@{Co?!Ohw z--gH2r?9{Abf_OiYdk|5(C+~nLiAq-0RN@=-LS}d2qWxth`8b{?;svMPD zsiXM2j^giL6o1!I1a;i4QSNd`J8y6jIGT+eXaD|H(aS0bjo*}`{-zeFe<@H`=6 z>SNhhc>=a)1}+5f+R`gi?*`?o}(SoZ9Lqvi{r2RYWe#3<6c!;-aP2J@;B7(<>1E;Qi13mFx2ijE4<~_uE8op( zsdThMf}3U8fGruESB_;3)jl3&XJB}8+XM2I(?aY!TLjiW++%+t<)ll7<*T!opX719 zzQ%vk>ZHK>19?3gC-ykMEQ3(_7;A7$gLB=T`9;ynh+{^Er!Ky$(j`|#4^(&Nqw61( zJsAqucuV}}?Wvw~WALymgd$J(o9%=`&xx&bk`dQOTuZE#pW%Z=tLR6A?m*B{H^M%h zD&0x34fDCT_TF=qkC!a3Y5ILW5FJ9}@4EO!sJ@tcHsk35nhJiPY3n{o^@+U>dv|K( zUwgexEpmJFq4aO<%~nq0)h~|WWaN}{9MX3Y&#?{(jGjLp{aFd|&dH~w)~FF3Yym|p z$zIbgeEz7z<~kwQY|r{>%8`#u${T9ILocDghxBu|OMNgOif{J%mRo#<{ zluTA)7)yEpve%1DhFmH3uatTnp?cxDpFgA7AyM@;T8mz}}4wH^6 zL8=DTh1A`(x~YKN_)4HByZj~YiQ>%q+C8VY)b5VcdAK{fFVnLQ<6Zj6oVCa7y^2}4 z-b`!du!8A3eAG+Pl!!{NUyMV?*#8tAX&JhC;Zjl8RRm<5t~Q<<*-S}lpy=fJy9oW< z`O=!#F4`o!+UaW={fO%6c#0vJFUsd!ywn!0cii5m{t>H$hVIh1cxp`j+(d``Ui$OB zVye5bYCxN9uvhfcQ|_u8A2@&B8rete%{hE1XHnn2bla6!f6Jpi zktScB$1MG6_tABF^hRXY2kXUa_F>OsSn5-WZyv;Xeo)0q=j_tGxZHU{-cv-in?2`o=2qBz#?0vAKeKDW+t%Q=`gheK2Nl7`G?{NG z`eugmAuQ`$(rg3Dh8>7U;;gFhF1 zyv@cXF8g{!QOI6uec@sF>+E%{ac^!IT{!D>@V%^2?i-a*6*C9pxRY_Z%&cRF_Nmr? z_D3qE9-q>{zl@vvs#C!eV>ET@pKGU0FZ7;2mg@6%@4E|G?J#|+aQX9c!QOxB4KJE% zo9d0dVH(NYx-yIEmW#Q-9a{86&0!B#u_E^|?s;#=IXiXNK%0GEggSt-CG{6lsbZR_a7WC zldDsZt#6GSYJD-xbMqC$=n*W5;o*Jq_|Oi=r$pKMf{Uz)OSpoo*zk9_aF;tS508ew zuU2@j`s!%1ySjWGS~oVsc3MddVLL5Ll@J(8&}2bc8>GvG-l5-SBg!cW?_}A#2DJ(d z?#Xkr*9d40bdIwnKAr&I6@i}|E&Vhfd}sN`2eroPmKaac?jx_Y?`#-iJ_)(u&z7o+ z5*=E65@LM^sI6;<7Pkbik?-EIhSS$A(3&Hhe*R})<8e0-U8lt!n7sHbFKl#Pca3o7 zh7Z|xTZ*{d0{+R|mglcGFH^tIZkq4$=GQydDL=&cUHM{T_w-#`th;V~kMCo?_`bf= z_#odf_*Cf3kB)Lb99cZvcg$6A=O@c`A$PVMS$no*z1SM*TmQqb-Q{vgZz%J$U;eA7 zvfK1a6tSkDbG2s=(aldFBi9cm+<`+z;crFXehZ3%OLQFOyL-vSA3DxFIL!0G!Np~g ztP?J&TCOqr)T!}RdOUb~;sbo~DUBY3S{!L(4$qFZAU<7u9X4=c^Tq>qv@XlVj^^eU zKeu+cS36g^eez;l9BZm{xY0S^tk5%q>4$|;fuo(IKSi%BSpJiCF?|gK`L(6j}_QuK_oR?&e-3&)orjw zW1ny54?iOcG^qID=*f=@9c9GnYl3W%pVNM5&@ld4o}`OJ_g4uMJ4+IY1S`NU79TQH ztJF#xgMBj4GmXvXEw98$kD2sLj6Ot%m-}9JTu^Ky6?hShbe~K??n1|Ronl9iwY0RD z2@7vu{PGEAVuCz#a1UU?y;qz4_Vkd-*&|J`_yo`AeV=QF}4O9^90=C)dviL-KssfP@Yw#m!O7l>V@?mS&X%uReW zxGREHU;i}tvhYvPgI=UulZdFOS@oW?v-3t`eHH4e#L%OX(@{QM52G=@j^*d8b;sgS zS{FLtrd;$2oqlrU{rfz*iKnZ}6OP!@#WpaeV<+c|i;EL!LiG9TK@z+h_@lB@>*x!3 zm?81Wl=>6$zQps1da!daJ<@rSo+z12Hak~_?2Q+Dct7f4sF>E%htaLjMbEG&?kuV*>@2uTb;qbT6 z?%?UIi43h4L7H0anPI+R_2IjxahdV0`p}WZC|a^dHU^AHN0r}um~r09-B~VG$FGsK8UWCnBSS^TpW0$FvuYc=fTM3Vg-0>svC7GrRc{vqft= z6o(lUyxAP%&&0&>c||uv)H%exol}$ zI$_dRhn4*bdjZo>T)&`g8Q#Ln&dSP4cN~tIIoL6~o$SbQC(>RZVJYVMpRIg`QNh4#|>AM&~6B1wi@Zq5GmvYAz z`l218QVUxQR2_y7=DR&DQq&N(8`z zUI{Z4^`9e76CpuRb7~w)hSzdKT6eU9O-RF__>^J2Og(y7Z}^a1L1xvsdAO)Xk3cx8 zLXjA>`!qX5!OBsMC1aHr6u9`I3Vo6EV|wiCRA1d$f@OMx>Y@n6_9M`xpRZDQrR`fJL0nX z!qm;{GGMr$^iCv!2Q!w5uO}8^8UNB@UZ0O7=S!%2YN%Uj zd}`}+%wT_Mw@*bwy=UIf&kP$1h#&vBt(w~i&<*C7cu{lrctDv zS<29*Gg$0_ zWNNW%j=pHh{owsTUKKKv1W)v}*L=*+m_Fmcj#u+YnGE-`J(8Ed+o6FNw$*@G37eo4 z(TNUovCK(j<@)yyE$KOozC@)HJ=oK+VejL`M=u4wjqi*k*sG^o;lt7@aE)5i*yzRc ztV3+P*2Ra5`R)IVf0>?4ygXegRvQZ+lgK4{kLve){_KKBm)+a&d=9~w>}l#Q4QTN` zDf`mk24A%N&^3DLc_%x=j(ODC0LSD=etQ4-i>f&%!=IJG2hH3t z|b+w&N&J_ft78huFnZaU%=?00EpnRo3Oec|K+As2;d&JQVuL20d{ zHnnm2y>;3U-`nlkc1B)J&9K@ffYOs2%8LKE@GM3)lc0e!n)+fgm{Z)NHm+VOACP(%#v^Ku z>QPEg^qc<-!rPgufZvJyHrAF!iBfWCKEF7{nh?@g>7fZ3Xt<);vQdig+ULf6k-W%& zM83dvHxy|EjZDLlQ^}$GAm_&__91U%pnMtdyHY%Pi*k7?CHEyo*WuRtNp)Vr*T2<6 zn18-q<-vb9k%wU}RM%Ztf`P5SB7b&&vS%cpcmUr`ye7JXVqKcMb|+T6`%VL5ZHo^* zU**JN<*o%p6>e0NN0f)r5GKji#Dz7654R~pTCZ!|!4-;P@}mnScE}Sn50!{w6CYr$ zyA2my%Vy{A@G|60^Cs02x`lVJ)Vd`SwKfz^x9#$9TbC#d5&LF%zV*2Gb)4HJBHXWi zHzpryzQaf9hu=C*$B)Rle;l^)b6A|CTy;X`A*tg(x%bi9A{=Y5ZQsV{(z_X4S_zzfW4bfZO^|ytpzv zBXeF(xsfk1J(XW;J;O}$UbD}Ki5(CsgS_KX`@lihMfVbuHl3Xj&;~J&I@8t!hu*Ci z%`AKl5o3J^r@9^6CufcqHP&>I`YffkZEpz+<-jpyTkhDbFaKK{oD`l%vnR+LSL(9AN-=Y12JudX)4`{ zVSgqfMM}L!!l~4M(%lR@U43CCqf>oFrI@?YYp=cB5;nEnb%7F`X4>s!uw)dR`<>7qr@wYy9c9Kh)=`bG0QNi3`>m&DslXFFZb>NZtk= zs*xSW6Xe5)2gMcnC1NnC!sDBTW-lj9p0DMCc$jHagxL59E`%tWA9GK{>6v8k+a3_z z!E`f=t?X%wlMU}9d@+T*_?mptL6(@i_|F3M@MZ^Blu=1+9y`9w-q<$>S-meJBJ|kFX zAUojez*_KAqTOG^o=?gze37(ZhMJ#{tmVlIPRi_iC{NN3%7+R}xZT5+H(?kKIv;0w zrb@-)REzdbhOmDo+<~PTC8qNg8jmEjb|Cr?8L0+TQ3yIPHB&5Ap}w4<(Wf?<0(Zq5 z`wC$uCHjw>p-4!}G3fY1rENty8CV58DJm|sO*EEY96EVb$#xu*NdTjg`KF`@Wq4G- zf94(6pjYUOeTstW)n0y{W})BOG~mR*qh#u-4;1^g(85&Tms!Wr-%0bm2Me3tOhuET zbxa`7)pmucIGvL{&^f-Z+zeWSXvU;6-C$CvUZN zkE``7os-I5$gzErwF^$Hy*M5`E-)UH_GDbt);j&oE7M=fP{t|0$-DWwA)hs*EMX4= zZszUYam+1Ji&lWS$Ost9YT$J;998weuytr5jP|R7wg^zl&Yx#k=_No0m%$tAm^1jW1~5 z{p1VF{8Xd^_t(1EiOO=B=EsH6q?qIsW8by7$cHilF5Ae>`IjtV&5YXFIK}C&S?e|5 zEFg4*QaXq!0*1hB|CQh=uGAx{`HBZS z$s?tv_yu-Ni?v@mjD{b~oE;Z9KQ???-a*$R3h#CSso*=XzeX>PA8vK@xWZu{*OCnt z%)870zPo&**K-7)VG^bnuxlv}I+!yM)?|>MU9GtLW4L{g*av0Hch_1o+Qi@URB)&D zh2t>x@20oS)sFfFUJkbH_#Q8V&YCPfbfmbfz@>6SQ{dge0G$z(yTk#y1{qC3<1X{F z>%!SXC5X!1A|t#43_}4UEo3?>VeUtJ&RBSp|11@u(Q)}(yg^WrDS_gyH(c%Io{Ur3 zmZ-JGtMih%#K#YPnY?=)9o+UZuJ46K95acp(>fJ+R=~D>h=(O2wXpAq9Pt@{ZF79) zbO!poCSpBSvPT%1ptuoE@hfPMMEr`Zoq4Cu8n6k%F(waFL~wm~^nSg}5zNoof7~QO z@srX)aw>A&S2e@IBx=XECn%#B%n3}pQwYv)mK4Qpx%b*Y?%wHlvs?zj<&Ng_% zBwRI9Me6)3=ll4OTomdp>N?mDLNEVp-2PttH_Nsi=>gn8Vg+#^;*TEHW|YX1afNR)b`!QwcN?6}idTTPDr zN42EmDXJq$RI$jNmm@=ShRS5@c?nbebsq*g#vRB$gkMkI1TkgjybSZ?$*SWGX4ny* zp2N+}kiFu`oL*Z`-2`!yLni#;6p~ z3c^%dTTz#bABHP5$e7w6fh(`ga5L~j>l9HneVe3m7$0}(q{&QM-5_^6rbR5~T1H*( zktGc%$Op^l=LNY+lbT6g^f=X1X)nbkK1%i9L!V~)O~1|590q@*fMU03J#LNND@o&} zDO8R+9>VwF$q%RZQl~&<(uyVZQkJflY zDx|2y%OyN4;ahn6R9K}C98w$L79&L+xQMpDP-zoVIq#0nZGJga0y)EUIbF)h2k-0ky|A!5I(7^OReZn8%@TA&1!h!&;yy{wac>_qSA;jJ*@F}QH;NI~Y* zr%Y|>i+qZaRfXGW+FC<2c-z+5fc;z{%J|4C0i(k9Ve;S&7MS*lv_u_a?8pO2X z1a4kAjMiPKnf6FTb9mD{pVgYawN~r;WRI{tUUkyjrmpehUc8Vbe@J{`E)|}c`4LfA zlb62Oe89?a;TTQkRA1HrX4I3_wMl=x3ICO$VG_sYZ$FwV^!q0OyZ-N=07R&7{B~k< zMWt5A2C=O!eU%qeveO%wY?;sX16&=$vhO9XwYQ~w{ZS)|Rg_`dXfk5aeTcylQgs+E zS^%pkzhE+bdr&KloEt+g==+E4kBjEPDk`#V_Ak_gFk-h)LWsOj3gX>2tv4qv&dGt6OX&)N&`Cf@aws(PY>3f?EaKj zpl;m56}Q3L+p}H^`}D_*o`(@DWnz25x8cvsjnu>UKB>ng;g0WiuFe_NNzbUs!6o|O z&hZ~<>$vspURAN?l*ECWj=Q^N)=A%6|DAeX_0*QK&1DLQPqiod9EQKa563*srre+w$r8yn^HYJ`0 zx4m}$^Be26aEEJ7g_y9Dsz~?nN8pz#{phQQ6Z7tr3)^3tdvxwXrcDm+Uawxz&xhmX z1C`MyiZ|99>zbY!d&xACy>&$i)vX_MK{k{Xpq46)g;pp(#y#ncJ!hxr8Vr7wBHUrC zSb4it=9Ky=zEd*$hfWQh9V(47pPAV`BfaSy(xi;fu3vk-+&znXTkc)Hr?9h6#WzwY z#%Nae>j^`5i{#;`V%srAcgL)mH8qzPG%DmTE$s2#rROeCtV=mMZ1&2}_yb8P1*hLY zI?;N%^;C4n)yj+3p6{#Wx@x)ICF=*J+kHZ6h1z}2`<&%gONK4-(AnF=%MO94?^cZ;$_nrBnD+x>w9OGaic>u##=dda`^nZ zwPatCnWpjFh9)z5z`=rDufHDco5{fBkF;Go(Gl-vr|08xINnU9ToPp(KA$c3Ty3y2 zZ=xji0albBZM21a>J0ea!O2l25XyVjqQ~S={v(w=M=G!=S8udY<$8Ut(C!#D)h$m& z@vvC~G1L0IlE7!teU``3r{_NQ%3XW>X%KsF8uxzqdt3Qk)2G{?8zf` z5vsXbA5I0iY#F)&&(nEyKyomBhxo(w)kDz&JAX>u$W_iX#BaTl#!vZ>l|r+4{IBMc3%-?R~KMb;oi~(a+{$K0w5~6*2_f-&_#BG_d%F zuWVjQVeBFVed#Bqo&O(~T~St6qt$8(C2JIM>2LKJjlc9S%pb^5J6-y`b-w(wfQ-b} z5Am8$0}@njA)76b-vZ~~TNMv=h_D{=nL2V^flsOHNR@H%Lg(Q0IHRjrtM?D~_tg_N zu@xjQ=MUPf^}Uxb6*K6Ln4FN5wSOeK_qDiGez2TcH^k=k{K0c&w)@MT)dn^EEL8m# zU|Jj0)1K46(b2D5CN$a9!k84HpLfNooHuoHhJPZX`60|aVSceIPJ_fM9+)NE)RH1E zB1v6%QVWvG$jYW-ybB`d`0*K|EFMxsmBU_e7Tz9}4?O5D-rt6`!lWSW_0c`!8AbuDMV?@gE+VzufB>J_fwfqdv7*d zIkXejGuTOc8DA>uxvtjsfQ+2oucZ6|fd!f?iZ{}sg!`N7W@MlsZAhxHpqX^VK0aKg zJTzCUw?y8Vs%JoK3RL~z5Z>!ndvgj_)T+zeY-4jNboOUqn_ga4ctR$82ewFt$&DyH zj~qWt%+38#r8i$KaA7iz4+$N*8EzgK=qEjO+u+b~kvL)z652r9Ai)-4Uuhu@C@`G~ zUE%o)NI5T-Zrg#>`$1#HsM=P;8Khfoto2L#7;(fn~&MJE|kpaxc1?v z6EQXjNUIbi|1F&qea3v4B~wfD3#M%~2pcJ2`aIVf6ligJ*IO_J`}7UwXQ;P{R7{`4 zQ>36B1U%BS^g1Gl5kT3vP#rVxyC3D2m?P+jiB^RO+OE^?D%{{xuI&?=SlC57XO5AP zL4jZH7sJ2wt0*&+!i&d;N*fq!lijmmbEElRh0+XIo@-X zQJC?g3^ucqZIa>MU4e_{pYJu?lsou_kCDCKGq%k{nYnkr=|q0@doQ^QR=$E6EL|PH zX~`IgLh2p!#6$H4Iy3rm1^2yb??t~da%J;AkS}-%v1Q1>>Khm8*DOwc)%Tk@FB3IA z{xO{1ANzwFszk0oBuCw6>_s~do7Ocznq_B3xa_i&>Wr8-99<}D(84H0pt1uzY=|Bc z&E9dc=)R;;$)Yn&>6rK4L(`y- zQZhx37Bq;tKU=sZ+Zg7MpI*c-y%Uvo#yK9d_@ND-5KQbK(Sm&MD(CB&vir?usgDYL z6k6Kbx*EL}^E0Y#r5YO@(K6$Oc~_FcCRsGvSKq?8(Wb)hFdL!|GWU`m7T%zi%IPa;lyjKV8E{=Y!Hzu1BwUjzT z{pCD`d?&W5;_y?Oh%r%{*}bb z@ad;N{kj_#sI3~mj_fbkYvBFe+PAm71v#UyW1^WYGf`(sHt&HzvmgmoG8Ag6*Lpu< z2&TV!zSx^Rb{jJtU2sAo3x1q=CvnWAc$PgWn}$yI%jj)ti!0efmOO*J_TWi5=I_f;g!~Gti$oX<%B8mYUivKX>iu;^08odnpplKCvde z=!@3qfHSLyz`kclgqBQ&y0k?59oNcMet?NnRTYQ!36%JY)jXQ?nBh;-9NIBTWb}QU zs0q6}Adb$R+AlB;cc>I{FEku!ZlBg*KF|wrT%(Wf@U*w#%o3ptGCFcBk=Tw1riZIJ>EUfW_lxv zLoqVS-WBw+B-O>ttw|_85|@;( z7knL)&PIj3DBKWull+TMBQHiCJ|^GU7pu|>m7e2mQLM*5cW}Tbqlc_eLkF2DF{p;b z0wUZhQ;S_^qB-}opm)NDQYSX?eKtX1UKoy_q!`%AVvz&rr>w_kqR3LUcuWT+E@Ek#8N_WAnZDS3i;*(mOlrKb@ydl4ur>eKPGg(?YTA-_=00BWZ9>%cyV|B&!*`^!GSs{qTHrlX`#YwQf}Qi$Upj@q zDXX|$BcK{?V2-ByP-9OXJC3U8sY$p(_$XvBPF3C+!7q{{Iy)AUc_b+Mpa7)#|vwOpxzR%BJqVzB(Jx0f}G{aCEop{(2=MdR81kQRkR4@*6Y5g zA{j|&$&fOu?f!f;&YM@quRs3Aw*ZE4XHMW4Kl73V8hJfYtbZ(`Kw6U(6tL#F_q4=^ zghHQPUNjjgQ}+Sw>&@M35O%PXV1xX!cI82ViDu;3T9sK3LQGMSrB{tvj4HXK3`+Ew zQ1=Y*V|c=Bs-2%JS29&`ZKHno_aRgwbr=)zXA;>Off$BFW4_m!@TOq3xsL%Fs3BR8 z>VeMQzRp1nn_c^hrexw>f)SLn(`y_^wA~?Ylj*Dn9Yp_{O_KpgR9^77nV*WZeR*a0 zeD8C`SOZo1>p-NuTp{!xNb9~p$-c8EVBwj_M(9RfnX6c3cM+BEK z4f~GRiT;_Ly}=JM8;^NX9xxLmzH?8Mv`fvF7@`-aoT=iJ?{J%5G$hi-0IHDJb;#G& z8`gb;nIz}XErLb0b}-ZY=$-}>Q58kQPXZbD{oJ=uCEIj~ybEf%n&^Ol2hbBgbIQNP zqF)QicdDwswyR}?6YGDOmYl(A>{OaKnD=P#D(MF-Pbo{KL&gg|UMhLE!0R-u(niqs zH1-TNHff5*TOt;T!zZLE=`f=XE>KIEwmYxil0%_(z>+e(TwU%hmLYHTTH|q#!dpf# z!`9Oo)6B_eCF(qpnJ_JMJV&cSp8a6)9%jhot&J`o=IC@Z!!WU(Nyu~O$q zyWJG^1be7xisJi52jPlMalUq3IQh=^Qp?R~oUi4J`bMwK2Hy{owwQh| zmG%~E5@oqGc%ekSh&d$m_)Bz4*xf!2BEPTqi=hMU>a+bt@SCb5w-Xy%VqJ8~t=}mv zw#VDZ%FaxY&1NLf;~R_H#R(;X?2q>eth&?T(uBgFqWOlSL(2b{(yyh#wI#i}yCQNM zB|5)l%<&rF`bGA8oFz2DF`I3ASZ1ejs$+rd6yuxTvEpCyMdjW4zbvXzD9J_mWUnLW zS#s?;15p7CzaZO#cjA#5U5Vs0n2@Y7*>SnB_hwe!e4+P~4s?8E;C*NjZ^U}mbS^q0 zXK@Z%P>2c%r=yCjjxouiaXo&*ZS=X$wnJn6S|plAj>~rBfH{2}orpVJ9ZxSy%ugj> z6hul!%}7!$zR;$lcO)_;YF02mK|HQ!n#Ba?3IE2Ywl(4HS_ZO=HG;=j!l|CC*_r>T`pirDi`EvwE)J zJX3S`iKsR67GoP>l9{<>y7CGh%wb<6UuMttsQ%?>?%`*;a zF!iu8l4MI;h*MJEUQFwmdl_MF58v-?ge}~P-<}-k(}rX9kALQ-IuP3VJOu2U+{u0uRZwbLS2SO7zIe?A_FIpUm&qfS!kH5>Fy%YM8h@8Zs%;v+{hLU-8_J75@WL^g7oM zFFB@53L=_PFl`78+9qldBa^>bFA#oa+%B<;TYu^uC1|wT8V|Li4E})8dnG$3<1kW? zDb>7DFZWdW#oTscgE*O?H-<}U3TST}^=WHM@A462mSeuj)nM(J>Wl(H;>;p0oSD&{ zT#rXIY0ZU1AxFNFRHJc|I|~cG5YimveFMLEXzo5cEd?wNO|wtN4Q^SyQNXLT_5>;N|_T3Ovm7CGpLF+`z<2%4%6 zO-+IM8Ya}cLV4f7Uo5wB?yF0cBy1(3xRl+h<6Z+X0Awl?L(SUPJO_XebYUD0(?{AeZ7KLl!!xp~q zk!Wd@!;0ha`{*`@(g1C2y6qJ^UWcqXryCfD@$`=(-`h;5WJugLXJv2enunVlrPiXErnEGH(Jhgv^B)Lf2Eeb>1l28=h#D}1kC{EDUIID6M;m)RS ziO_e-Syv0`=L|^+FPMq$-EZ@w4@tlY43}6vV0C%jSG<0Orj(FU^rd-_I#h2 zbd7LYL`>1m;KH^I?k^oK&L5VT#dzXmY3Jg*_@OOrSzZ>n-sTHa3Gx3-`Nn+n@gQhc zq^f(t#|B?hXs>;1^~XB=Y|f5ac@i?_`ghMqBW8~1d0Kp=P`w$Ye$#T%5i#|FwL~xa zyFgc(mo44oy+jI&_AJri+CWxqP3MHBAa$V0_Jhiit?T%=kZuoK+Z zP~%SvuE$L&YF3>Ir?tmT2|=h`Tjo*0WqjIlGY#S+w6k%O-qI~~4hgg>^{JE~Eb8@r z)v^r4es-dJ&2weh&?2~fxgvOv44?T@>=2&UJ05?+FyUD6e7gDD_!!S^TJ6%Pry1+b zY|CLSCA$wZhqaMEbi70R*d=|ElS;X6dFZr8;wjYCgn2<~Faha%zUAYOGg>ce13N zQPDEtst|dH7c<8F#JmF3y~rjU!yAtgDO9DlO8HbkEU9mJYkEf{qUljQnqzi^`Yf1t zzeLQht}WgvvnE2xaSY^(7Hy%T8E3)T`<>Ni*ulxDUzor}$+^J}!e9`^jL@bu*5CcG zrBSFsbkQTRxKMcTrev(c_*=9{Iu$qXVz-i+y+ ze4gM{o;!c_XTmW&j>|&@b5Z-8-fhnR*MRfy^}#>adeIdYabg=je}AQeyg?rPMRTaa zti4l+QbBBt?dQnb8~M&3J#ugRmyrj2RGtOY8maGmlWPjycpYCA_+;<5aT?RzkBpiQ z@%dbt_D#iSXV0YAr`w<03FUQnjvBm1@!<6)pKxeXV zZqJvd?%Ig8MyR2UG>r?hrxnO-OO)te7Oehl4wUbnsVeGYZk=J#J{ z5r$&VLK~?Ep-qoDte?^j4qP5AJWN$y=cgRWn$WITGG==9;%xCN`GsjZ@7 zVWjvHaoiy5NGPl@ZT>B)9Z8$iS1l_q*;QLo(mmEwQ?usH_U*g4zQcK`(J#d+;SW;Q zOd0BPZC`tdCb=tCs!SikRd0I9RdiQP&~42_o3nOB;~yM>RKs=pkh?my>r9=u)>!YY zHx?z^uP-q-JsvY$Q-8{qwxRc-{HghSuH}5Y PefL~16X()bhGPC7&aHUU literal 0 HcmV?d00001 diff --git a/src/modules/illume-home/e_mod_main.c b/src/modules/illume-home/e_mod_main.c new file mode 100644 index 000000000..ab3f17c30 --- /dev/null +++ b/src/modules/illume-home/e_mod_main.c @@ -0,0 +1,282 @@ +#include "e.h" + +#define IL_HOME_WIN_TYPE 0xE0b0102f + +/* local structures */ +typedef struct _Instance Instance; +typedef struct _Il_Home_Win Il_Home_Win; + +struct _Instance +{ + E_Gadcon_Client *gcc; + Evas_Object *o_btn; + E_Menu *menu; + Il_Home_Win *hwin; +}; +struct _Il_Home_Win +{ + E_Object e_obj_inherit; + + E_Win *win; + Evas_Object *o_bg; +}; + +/* local function prototypes */ +static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style); +static void _gc_shutdown(E_Gadcon_Client *gcc); +static void _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient); +static char *_gc_label(E_Gadcon_Client_Class *cc); +static Evas_Object *_gc_icon(E_Gadcon_Client_Class *cc, Evas *evas); +static const char *_gc_id_new(E_Gadcon_Client_Class *cc); + +static void _il_home_btn_cb_click(void *data, void *data2); +static void _il_home_btn_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event); +static void _il_home_menu_cb_post(void *data, E_Menu *mn); + +static void _il_home_win_new(Il_Home_Win *hwin); +static void _il_home_win_cb_free(Il_Home_Win *hwin); +static void _il_home_win_cb_delete(E_Win *win); +static void _il_home_win_cb_resize(E_Win *win); + +/* local variables */ +static Eina_List *instances = NULL; +static E_Module *mod; + +static const E_Gadcon_Client_Class _gc_class = +{ + GADCON_CLIENT_CLASS_VERSION, "illume-home", + { _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL, + e_gadcon_site_is_not_toolbar + }, E_GADCON_CLIENT_STYLE_PLAIN +}; + +/* public functions */ +EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume Home" }; + +EAPI void * +e_modapi_init(E_Module *m) +{ + mod = m; + e_gadcon_provider_register(&_gc_class); + return m; +} + +EAPI int +e_modapi_shutdown(E_Module *m) +{ + e_gadcon_provider_unregister(&_gc_class); + mod = NULL; + return 1; +} + +EAPI int +e_modapi_save(E_Module *m) +{ + return 1; +} + +/* local functions */ +static E_Gadcon_Client * +_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) +{ + Instance *inst; + Evas_Object *icon; + char buff[PATH_MAX]; + + snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", mod->dir); + inst = E_NEW(Instance, 1); + inst->o_btn = e_widget_button_add(gc->evas, NULL, NULL, + _il_home_btn_cb_click, inst, NULL); + icon = e_icon_add(evas_object_evas_get(inst->o_btn)); + e_icon_file_edje_set(icon, buff, "btn_icon"); + e_widget_button_icon_set(inst->o_btn, icon); + + inst->gcc = e_gadcon_client_new(gc, name, id, style, inst->o_btn); + inst->gcc->data = inst; + + evas_object_event_callback_add(inst->o_btn, EVAS_CALLBACK_MOUSE_DOWN, + _il_home_btn_cb_mouse_down, inst); + + instances = eina_list_append(instances, inst); + return inst->gcc; +} + +static void +_gc_shutdown(E_Gadcon_Client *gcc) +{ + Instance *inst; + + if (!(inst = gcc->data)) return; + instances = eina_list_remove(instances, inst); + if (inst->menu) + { + e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL); + e_object_del(E_OBJECT(inst->menu)); + inst->menu = NULL; + } + if (inst->o_btn) + { + evas_object_event_callback_del(inst->o_btn, EVAS_CALLBACK_MOUSE_DOWN, + _il_home_btn_cb_mouse_down); + evas_object_del(inst->o_btn); + } + if (inst->hwin) e_object_del(E_OBJECT(inst->hwin)); + E_FREE(inst); +} + +static void +_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient) +{ + e_gadcon_client_aspect_set(gcc, 16, 16); + e_gadcon_client_min_size_set(gcc, 16, 16); +} + +static char * +_gc_label(E_Gadcon_Client_Class *cc) +{ + return "Illume-Home"; +} + +static Evas_Object * +_gc_icon(E_Gadcon_Client_Class *cc, Evas *evas) +{ + Evas_Object *o; + char buff[PATH_MAX]; + + snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", mod->dir); + o = edje_object_add(evas); + edje_object_file_set(o, buff, "icon"); + return o; +} + +static const char * +_gc_id_new(E_Gadcon_Client_Class *cc) +{ + char buff[PATH_MAX]; + + snprintf(buff, sizeof(buff), "%s.%d", _gc_class.name, + eina_list_count(instances)); + return strdup(buff); +} + +static void +_il_home_btn_cb_click(void *data, void *data2) +{ + Instance *inst; + + if (!(inst = data)) return; + if (!inst->hwin) + { + inst->hwin = E_OBJECT_ALLOC(Il_Home_Win, IL_HOME_WIN_TYPE, + _il_home_win_cb_free); + } + if (!inst->hwin) return; + _il_home_win_new(inst->hwin); +} + +static void +_il_home_btn_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event) +{ + Instance *inst; + Evas_Event_Mouse_Down *ev; + + if (!(inst = data)) return; + ev = event; + if (ev->button == 1) return; + if ((ev->button == 3) && (!inst->menu)) + { + E_Menu *mn; + E_Zone *zone; + int x = 0, y = 0; + + zone = e_util_zone_current_get(e_manager_current_get()); + mn = e_menu_new(); + inst->menu = mn; + e_menu_post_deactivate_callback_set(inst->menu, + _il_home_menu_cb_post, inst); + e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); + e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); + } +} + +static void +_il_home_menu_cb_post(void *data, E_Menu *mn) +{ + Instance *inst; + + if (!(inst = data)) return; + if (!inst->menu) return; + e_object_del(E_OBJECT(inst->menu)); + inst->menu = NULL; +} + +static void +_il_home_win_new(Il_Home_Win *hwin) +{ + E_Container *con; + + if (!hwin) return; + if (hwin->win) + { + e_win_show(hwin->win); + return; + } + + con = e_container_current_get(e_manager_current_get()); + + hwin->win = e_win_new(con); + if (!hwin->win) return; + + e_win_delete_callback_set(hwin->win, _il_home_win_cb_delete); + e_win_resize_callback_set(hwin->win, _il_home_win_cb_resize); + hwin->win->data = hwin; + + hwin->o_bg = edje_object_add(e_win_evas_get(hwin->win)); + if (!e_theme_edje_object_set(hwin->o_bg, "base/theme/modules/illume-home", + "modules/illume-home/window")) + { + char buff[PATH_MAX]; + + snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj", mod->dir); + edje_object_file_set(hwin->o_bg, buff, "modules/illume-home/window"); + } + evas_object_show(hwin->o_bg); + + e_win_title_set(hwin->win, "Illume Home"); + e_win_name_class_set(hwin->win, "Illume-Home", "Home"); + e_win_size_min_set(hwin->win, 24, 24); + e_win_resize(hwin->win, 200, 200); + e_win_show(hwin->win); +} + +static void +_il_home_win_cb_free(Il_Home_Win *hwin) +{ + if (hwin->win) e_object_del(E_OBJECT(hwin->win)); + e_object_del(E_OBJECT(hwin)); +} + +static void +_il_home_win_cb_delete(E_Win *win) +{ + Il_Home_Win *hwin; + + hwin = win->data; + e_object_del(E_OBJECT(hwin)); +} + +static void +_il_home_win_cb_resize(E_Win *win) +{ + Il_Home_Win *hwin; + + hwin = win->data; + if (hwin->o_bg) + { + if (hwin->win) + evas_object_resize(hwin->o_bg, + hwin->win->w, hwin->win->h); + } +} diff --git a/src/modules/illume-home/e_mod_main.h b/src/modules/illume-home/e_mod_main.h new file mode 100644 index 000000000..f884cc0aa --- /dev/null +++ b/src/modules/illume-home/e_mod_main.h @@ -0,0 +1,10 @@ +#ifndef E_MOD_MAIN_H +#define E_MOD_MAIN_H + +EAPI extern E_Module_Api e_modapi; + +EAPI void *e_modapi_init(E_Module *m); +EAPI int e_modapi_shutdown(E_Module *m); +EAPI int e_modapi_save(E_Module *m); + +#endif diff --git a/src/modules/illume-home/module.desktop.in b/src/modules/illume-home/module.desktop.in new file mode 100644 index 000000000..439e59379 --- /dev/null +++ b/src/modules/illume-home/module.desktop.in @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Link +Name=Illume-Home +Icon=e-module-illume-home +X-Enlightenment-ModuleType=system +Comment=Illume Home for Embedded