Re: [E-devel] Community Building

2008-08-02 Thread lok
Viktor Kojouharov wrote:
 imho, it both lua and javascript are good choices for this. Though I
 haven't used lua personally, I only hear good things about it, and the
 syntax is very C-ish. As far as js is concerned, there's probably a lot
 more people familiar with it (including me) than lua. And js is not just
 a dom language. As far as integration is concerned, I know that lua is
 quite easy to integrate, thought I think that integrating JavascriptCore
 from webkit will not be too difficult either (judging by reports of
 integrating it in gtk).
   
I feel the same about lua and javascript. But nowadays lua seems to be 
much more easier to integrate than a javascript engine. Even if the 
later got recently a lot of improvements on this.
 But couldn't we support more than one language (and thus also preserve
 embryo, if there are people that need it)? Something like how IE is able
 to use both js and vscript in html.
   
I don't think supporting (in the long run) several different scripting 
languages is a good thing. Compatibility problems will increase, and 
reading someone else theme's code will become even harder.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community Building

2008-08-02 Thread lok
Toma wrote:
 As crazy as it might seem, id like to hear from mekius and devilhorns
 about how easy and useful embryo was to them in regards to them in
 various projects in cvs. As an e17 themer, it hasnt proven much use to
 me, but i consider myself further to the edje when it comes to embryo
 and edje talk!
 Toma
   
I don't use embryo in a commercial product, I'm not mekius nor 
devilhorns. But I do use embryo quite often when making edj. And unlike 
you I do feel limited currently with embryo.

Dealing with generic parts inside an edc is a real pain. Imagine for 
example a bunch of squares aligned from a small one to a bigger one. You 
need to describe every one of them, which means a macro and a lot of 
numbers at best, whereas a simple function could do it. Sure it could be 
done in C, but doing so will restrict the theming possibility for other 
themers. But this can be solved with the script-only object in any language.

Handling edje's parts/programs when using embryo calls can't be done 
dynamically. You need to know which part is to be used, and hardcode 
it's name. Again, this leads to macro voodoo.

And finally the language itself is not that pleasant. Having a few 
things to ease strings manipulation, and anonymous function to shorten 
some timer call wouldn't hurt. I do like the idea to change for lua or 
js or whatever for this. But even so, there's quite a few themes which 
needs embryo. So in case of a change, I think the transition should be 
as gustavo and raster describe it.

Samuel

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community Building

2008-08-02 Thread lok
Viktor Kojouharov wrote:
 On Sat, 2008-08-02 at 23:07 +0200, lok wrote:
   
 Viktor Kojouharov wrote:
 
 imho, it both lua and javascript are good choices for this. Though I
 haven't used lua personally, I only hear good things about it, and the
 syntax is very C-ish. As far as js is concerned, there's probably a lot
 more people familiar with it (including me) than lua. And js is not just
 a dom language. As far as integration is concerned, I know that lua is
 quite easy to integrate, thought I think that integrating JavascriptCore
 from webkit will not be too difficult either (judging by reports of
 integrating it in gtk).
   
   
 I feel the same about lua and javascript. But nowadays lua seems to be 
 much more easier to integrate than a javascript engine. Even if the 
 later got recently a lot of improvements on this.
 
 But couldn't we support more than one language (and thus also preserve
 embryo, if there are people that need it)? Something like how IE is able
 to use both js and vscript in html.
   
   
 I don't think supporting (in the long run) several different scripting 
 languages is a good thing. Compatibility problems will increase, and 
 reading someone else theme's code will become even harder.
 

 I disagree. 'Compatibility problems' are non-existent, since they will
 all interact with edje parts, not with one another. And reading
 someone's code will always be harder if you don't know the language
 which is used. That holds true now, if you don't know embryo, and will
 hold true in the future, regardless of what language(s) we pick.
 However, it will be easier to write a theme, since the likelihood of
 knowing a supported language will increase.

   
What I had in mind for the compatibility issues, is if you make it 
possible to build separately different script engines. And you didn't 
built all of them. You can have a theme with a dependency problem. If 
the build can only be done with all script engines, then obviously it 
will be heavier and need more external deps.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] FreeBSD 7.0 easy_17

2008-05-06 Thread lok
I've replaced the function (strndup was gnu only) by similar 
non-gnu-only code.
It should works again on FreeBSD now.

thanks for the report.

lok

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Systray - Ideas for a new spec

2008-03-10 Thread lok
Hi,

I took time to talk to this subject because I wanted to write my proof 
of concept before replying. In my opinion, a systray is a bad idea. For 
the last two weeks I kept asking myself, Why do people want a systray ? 
What exactly is a systray ? How can I provide it ?.  For the first  
question I've directly asked to anybody I know was using trayer, or 
wanted a tray on E. The answers were about having a way to be notified, 
a quick way to show/hide some windows. A few were about using direct 
actions and each time with the same example, an audio player. And the 
last one that nobody say directly but somehow is always there, because 
they are simply used to it.

For the second question, the easiest way to find out what exactly is a 
systray, it's to look at the source. A systray on windows is the only 
way to move an app outside the taskbar, the only way to keep visible an 
application running in the background but needs a GUI sometimes and was 
the only way to provide a pseudo gadget. Nowadays a huge amout of 
applications running on windows put something in the tray. Most of the 
time the systray have more applications than the taskbar, and 3/4 of 
them being hidden to take less place within the bar (so much for the 
monitoring). So what exactly is a systray ? I dunno, if it's a way to 
continuously notify why hide the icons and show a bubble ? If it's a way 
to lighten the taskbar why only the application as the power to choose ? 
And if it's a way to provide quick actions why do we still need this 
under our WMs were any one of them can use modules for years ?

Well, here is the problem. A systray is a mess in it's basic design. 
Some half done thing wishing to compete with OS X dock. So write a spec, 
even good, about something doing a bit of (continuous ?) notification, a 
bit of quick action and a bit of docking isn't, in my opinion, the 
greatest thing to do. Of course it will works, but why redo half of the 
job instead of finishing it once and for all ?

First let's have a _real_ fdo specification about notifications, 
galago's one was refused. It still miss some details, but I think it's a 
good base. And I believe it's something far more useful than just a 
common way to blink an icon somewhere in the screen (the urgent flag can 
already be used to do it). By pushing it a little I did the notification 
boxes :
http://lok.eadrax.org/images/notification_box-3.png
http://lok.eadrax.org/images/notification_box-4.png
Which means than a good notification spec could cover all the aspect of 
notifications, popups and icons. Moreover I didn't implemented it but 
this spec handle actions, their purpose is to reply to an event.

A docking specification doesn't seems necessary, we already have 
everything we need to dock an application like it would be in a tray. 
IIirk is the proof and IBox is also a solution.

And finally for quick actions there is no common way possible. Depending 
on the purpose of the applications you will not wish to display it the 
same way. For an audio player, having a module giving you the 
possibility to play/pause/next/prev with a single click is better than 
openning a menu and choosing the good action in it. See 
http://www.kuliniewicz.org/music-applet/ for example. Whereas to quickly 
change a network like with network-manager you would rather have a popup 
with a list showing directly the name of the network, if it's protected 
and how good you catch it. All that using the same look than your WM. 
Redoing a module for each WM takes more work but end up nicer than 
reducing everything to a menu.

Mixing iiirk and notification together would provide over 90% of what a 
tray does. Add to that IBar/IBox and you get something near OS X dock. 
Of course any other combination is possible. All this relying only on 
the .desktop spec, a notification one and the old NetWM's skip flags, 
breaking nothing and just requiring sometimes to install a notification 
plugin.

So no I don't think we should change the tray spec, we should forget 
about it. Even if we do change it, even if we also manage to make the 
applications following the new one. All we will get is a bunch of icons 
stacked at their own will in a corner with the ability to open a menu. I 
would rather like to see a clean and complete notification spec accepted 
by FDO.

Samuel 'lok' Mendes

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [PATCH] Skip pager/taskbar and remember for those two

2008-03-07 Thread lok

Hi,
here is a little patch to add the remember taskbar in the window menu.
It also add them to the remember possibilities. And the skip window list is
modified to trigger a E_EVENT_BORDER_PROPERTY when changed.

lok
Index: src/bin/e_border.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.629
diff -u -r1.629 e_border.c
--- src/bin/e_border.c	7 Mar 2008 11:51:31 -	1.629
+++ src/bin/e_border.c	7 Mar 2008 12:19:29 -
@@ -5204,7 +5204,6 @@
 
 	if (bd-client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK)
 	  {
-	 /* TODO: Make this user options */
 	 if (!bd-client.netwm.state.skip_pager)
 	   {
 		  bd-client.netwm.state.skip_pager = 1;
@@ -5837,6 +5836,10 @@
 	   }
 	 if (rem-apply  E_REMEMBER_APPLY_SKIP_WINLIST)
 	   bd-user_skip_winlist = rem-prop.skip_winlist;
+	 if (rem-apply  E_REMEMBER_APPLY_SKIP_PAGER)
+	   bd-client.netwm.state.skip_pager = rem-prop.skip_pager;
+	 if (rem-apply  E_REMEMBER_APPLY_SKIP_TASKBAR)
+	   bd-client.netwm.state.skip_taskbar = rem-prop.skip_taskbar;
 	 if (rem-apply  E_REMEMBER_APPLY_ICON_PREF)
 	   bd-icon_preference = rem-prop.icon_preference;
 	 if (rem-apply  E_REMEMBER_SET_FOCUS_ON_START)
Index: src/bin/e_remember.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_remember.c,v
retrieving revision 1.24
diff -u -r1.24 e_remember.c
--- src/bin/e_remember.c	15 Jul 2007 08:28:03 -	1.24
+++ src/bin/e_remember.c	7 Mar 2008 12:19:34 -
@@ -288,6 +288,8 @@
  rem-prop.shaded = 50 + bd-shade.dir;

rem-prop.skip_winlist = bd-user_skip_winlist;
+   rem-prop.skip_pager   = bd-client.netwm.state.skip_pager;
+   rem-prop.skip_taskbar = bd-client.netwm.state.skip_taskbar;
rem-prop.icon_preference = bd-icon_preference;
 
e_desk_xy_get(bd-desk, rem-prop.desk_x, rem-prop.desk_y);
Index: src/bin/e_remember.h
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_remember.h,v
retrieving revision 1.12
diff -u -r1.12 e_remember.h
--- src/bin/e_remember.h	28 Dec 2007 03:18:37 -	1.12
+++ src/bin/e_remember.h	7 Mar 2008 12:19:34 -
@@ -23,8 +23,10 @@
 #define E_REMEMBER_APPLY_ZONE (1  8)
 #define E_REMEMBER_APPLY_RUN (1  9)
 #define E_REMEMBER_APPLY_SKIP_WINLIST (1  10)
-#define E_REMEMBER_APPLY_ICON_PREF (1  11)
-#define E_REMEMBER_SET_FOCUS_ON_START (1  12)
+#define E_REMEMBER_APPLY_SKIP_PAGER (1  11)
+#define E_REMEMBER_APPLY_SKIP_TASKBAR (1  12)
+#define E_REMEMBER_APPLY_ICON_PREF (1  13)
+#define E_REMEMBER_SET_FOCUS_ON_START (1  14)
 
 #else
 #ifndef E_REMEMBER_H
@@ -81,6 +83,8 @@
 	unsigned char sticky;
 	unsigned char shaded;
 	unsigned char skip_winlist;
+	unsigned char skip_pager;
+	unsigned char skip_taskbar;
 	unsigned char icon_preference;
   
 	int   desk_x, desk_y;
Index: src/bin/e_int_border_menu.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.78
diff -u -r1.78 e_int_border_menu.c
--- src/bin/e_int_border_menu.c	12 Jan 2008 07:58:18 -	1.78
+++ src/bin/e_int_border_menu.c	7 Mar 2008 12:19:36 -
@@ -24,6 +24,7 @@
 static void _e_border_menu_cb_fullscreen(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_skip_winlist(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_skip_pager(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_border_menu_cb_skip_taskbar(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_pin(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -660,6 +661,7 @@
  bd-user_skip_winlist = e_menu_item_toggle_get(mi);
else
  bd-user_skip_winlist = 0;
+   bd-changed = 1;
if (bd-remember) e_remember_update(bd-remember, bd);
 }
 
@@ -680,6 +682,22 @@
 }
 
 static void
+_e_border_menu_cb_skip_taskbar(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd) return;
+
+   if ((bd-client.icccm.accepts_focus) || (bd-client.icccm.take_focus))
+ bd-client.netwm.state.skip_taskbar = e_menu_item_toggle_get(mi);
+   else
+ bd-client.netwm.state.skip_taskbar = 0;
+   bd-changed = 1;
+   if (bd-remember) e_remember_update(bd-remember, bd);
+}
+
+static void
 _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi)
 {
E_Menu *subm;
@@ -985,6 +1003,16 @@
 			 e_theme_edje_file_get(base/theme/borders,
 		   e/widgets/border/default/skip_pager),
 			 e/widgets/border/default/skip_pager);
+
+   submi = e_menu_item_new(subm);
+   e_menu_item_label_set(submi, _(Taskbar));
+   e_menu_item_check_set(submi, 1);
+   e_menu_item_toggle_set(submi, bd-client.netwm.state.skip_taskbar

Re: [E-devel] [PATCH]: e_dbus configure bug

2008-03-07 Thread lok
In CVS. Thanks

lok

Stanislav Sedov wrote:
 Hi!
  
 I discovered a small bug in e_dbus configure script. Due to the fact it
 doesn't check the value of option passed to configure and explicitly
 sets the value to no, passing, for example, --enable_ehal to it,
 effectively disables ehal. The same for other configure options.
  
 The patch is attached.
  
 Thanks!

   
 

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e_module-notification installation location

2008-02-27 Thread lok
Michael Jennings wrote:
 On Wednesday, 27 February 2008, at 09:20:59 (+0100),
 Sebastian Dransfeld wrote:

   
 Or just ./configure --enable-homedir-install

 I did some work so that the modules should end up in either the
 current homedir, or the path enlightenment-config points to. And
 that everything the module installs ends up in the same moduledir.
 

 Exactly.  --prefix doesn't really make sense for modules.  They either
 go into E's module directory or the user's module directory.  Nothing
 else makes sense.

 Michael

   
What doesn't makes sense here ? Someone can set up the search path for the
modules to use only /foo and remove the defaults dirs. Block the
installation to the default path would be like forcing the installation of
any application to either be in / or /usr and nowhere else.

I agree that set up e's dir as a default path to install a module is useful
but the --prefix is only an option, blocking it just reduce the
posssibilities when installing.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e_module-notification installation location

2008-01-24 Thread lok
It's not a bug the configure.in are set up this way in most (all?) modules.
They will be installed in `enlightenment-config --module-dir`.
Unless you use the --enable-homedir-install option.
Morlenxus pointed me than the --prefix was ignored, and I thought that it
might be a handful option for package maintainers (or people with 
various reasons).

I added it, with a little resume when the configure ends, so that people 
notice
where the module will be installed. If you run the configure with no 
prefix option
the behaviour is still the same, and the module will be installed in 
your E's dir.

I didn't updated all the modules because I don't know what the other 
devs are thinking
about this. And I don't want to impose such a thing to them without even 
asking.
Personnaly I don't care to keep or not this option (it's maybe better if 
every modules act
in the same manner ?). So what do you think about this ?

Brian 'morlenxus' Miculcy wrote:
 This seems to be a bug with the autofoo stuff,
 some recent commit to all modules autofoo break the --prefix rule, it
 isn't respected anymore and so modules are installed in a default path.
 Someone should fix that...

 Greets,
 Brian 'morlenxus' Miculcy

 On Thu, Jan 24, 2008 at 12:50:21PM -0800, Eric Sandall wrote:
   
 Hey all,

 After updating lately (2008-01-24 at 10:30 PST, though the last update  
 was a week ago or so), I noticed that notification no longer loads  
 (E17 complains it cannot find the module). I looked at the  
 installation path and it is now installing to /usr/notification/  
 instead of /usr/lib/enlightenment/modules/notification/ where all of  
 the other modules install given the same ./configure --prefix=/usr. I  
 recall a recent (last few days) CVS update to notification to change  
 installation paths, but I've already deleted it. :(

 Thanks,

 -sandalle

 -- 
 Eric Sandall |  Source Mage GNU/Linux Developer
 [EMAIL PROTECTED] PGP: 0xA8EFDD61  |  http://www.sourcemage.org/
 http://eric.sandall.us/  |  http://counter.li.org/  #196285


 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

   


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [Patch] evas stringshare and e modules

2008-01-23 Thread lok

Hello,
while working on a module I somehow screwed up my E config.
After that my E was trying to load a NULL module, which caused various 
segfaults.

So I added a few more security checks and everything ran fine.

Samuel 'lok' Mendes
Index: e_module.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_module.c,v
retrieving revision 1.85
diff -u -r1.85 e_module.c
--- e_module.c	31 Oct 2007 12:21:01 -	1.85
+++ e_module.c	23 Jan 2008 09:42:28 -
@@ -198,7 +198,7 @@
 	E_Config_Module *em;
 	
 	em = l-data;
-	if (!strcmp(em-name, m-name))
+	if (em  em-name  !strcmp(em-name, m-name))
 	  {
 	 in_list = 1;
 	 break;
@@ -440,7 +440,7 @@
 	E_Config_Module *em;
 	
 	em = l-data;
-	if (!strcmp(em-name, m-name))
+	if (em  em-name  !strcmp(em-name, m-name))
 	  {
 	 e_config-modules = evas_list_remove(e_config-modules, em);
 	 if (em-name) evas_stringshare_del(em-name);
Index: evas_stringshare.c
===
RCS file: /cvs/e/e17/libs/evas/src/lib/data/evas_stringshare.c,v
retrieving revision 1.12
diff -u -r1.12 evas_stringshare.c
--- evas_stringshare.c	4 May 2007 08:18:05 -	1.12
+++ evas_stringshare.c	23 Jan 2008 09:41:52 -
@@ -58,6 +58,8 @@
char *el_str;
Evas_Stringshare_El *el, *pel = NULL;
 
+   if (!str) return NULL;
+
hash_num = _evas_stringshare_hash_gen(str, slen);
for (el = share.buckets[hash_num]; el; pel = el, el = el-next)
  {
@@ -90,6 +92,8 @@
int hash_num, slen;
char *el_str;
Evas_Stringshare_El *el, *pel = NULL;
+
+   if (!str) return NULL;
 
hash_num = _evas_stringshare_hash_gen(str, slen);
for (el = share.buckets[hash_num]; el; pel = el, el = el-next)
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] evas stringshare and e modules

2008-01-23 Thread lok
Carsten Haitzler (The Rasterman) wrote:
 On Wed, 23 Jan 2008 10:48:42 +0100 lok [EMAIL PROTECTED] babbled:

   
 Hello,
 while working on a module I somehow screwed up my E config.
 After that my E was trying to load a NULL module, which caused various 
 segfaults.
 So I added a few more security checks and everything ran fine.
 

 that is truly... bizarre. how did a NULL module entry get into your config?
 actually... eet probably shouldn't have encoded such an entry to disk - 
 letalone
 loaded it as a NULL list entry...

   
Well I don't exactly know how I end up in this case in the first place,
but it was around the time when I changed my config struct, and forgot 
to update the eet descriptor.
I suspect that the module segfaulted at the wrong moment.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: libs/e_dbus lok

2008-01-16 Thread lok
Michael 'Mickey' Lauer wrote:
 Gustavo Sverzut Barbieri wrote:
   
 On Jan 16, 2008 4:47 PM, Enlightenment CVS
 [EMAIL PROTECTED] wrote:
 
 Enlightenment CVS committal

 Author  : lok
 Project : e17
 Module  : libs/e_dbus

 Dir : e17/libs/e_dbus


 Modified Files:
 configure.in


 Log Message:
 Added a dependency to Evas.
   

   
 we really should split e_dbus into lib and apps, damn, having the
 e_dbus to depend on evas is a bit insane... maybe one just want to use
 it with a daemon and this will pull many useless things.
 

 This is just a matter of appropriate packaging. The library itself won't link 
 to
 evas.

 Regards,

 :M:

   
Actually libenotify will link to it. It provides a method to convert a gdk
pixbuf data to an Evas_Object. The whole build was grouped that's why I 
added
that dep this way.

But I agree we should split e_dbus. Or at least make the build of the other
componants (hal, nm and notify) optional.

lok

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Configuration module for theme doens't work in advanced mode

2007-11-15 Thread lok
Don't worry (be happy :) ), it's a normal output which help tracking the 
efm-hal part.
By the way, I'm not sure that those printf are still usefull.
Maybe we can comment or remove them ?

lok

Massimiliano Calamelli wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Hi devs, it seems that config module for themes doesn't work in
 advanced mode, every theme you choose the module uses the theme file
 that's currently used.
 I've just printf-ed the module (e_int_config_theme.c) to see what
 happens.

 After changing theme in basic mode, i saw this output from xnest.sh:

 STO+
   udi: /org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S
   bus: scsi
   drive_type: cdrom
   model: DVDRW SOSW-833S
   vendor: Slimtype
   serial: (null)
   removable: 1
   media_available: 0
   media_size: 0
   requires_eject: 1
   hotpluggable: 0
   media_check_enabled: 1
   icon.drive: (null)
   icon.volume: (null)

 STO+
   udi: /org/freedesktop/Hal/devices/storage_serial_1ATA_ST9808210A_3LF0ZX4R
   bus: scsi
   drive_type: disk
   model: ST9808210A
   vendor: ATA
   serial: 1ATA_ST9808210A_3LF0ZX4R
   removable: 0
   media_available: 0
   media_size: 0
   requires_eject: 0
   hotpluggable: 0
   media_check_enabled: 0
   icon.drive: (null)
   icon.volume: (null)

   Ignore this storage
 VOL+
   udi: /org/freedesktop/Hal/devices/volume_uuid_3007_17F2
   uuid: 3007-17F2
   fstype: vfat
   size: 3150249984
   label: PQSERVICE
   partition: 1
   partition_number: 1
   partition_label: (null)
   mounted: 1
   mount_point: /media/hda1
   parent: /org/freedesktop/Hal/devices/storage_serial_1ATA_ST9808210A_3LF0ZX4R
 vol write storage_serial_1ATA_ST9808210A_3LF0ZX4R
 Sending TERM signal to /opt/e17/bin/enlightenment_thumb --nice=0
 (10539).
 - ---del init client
 E17: Begin shutdown procedure!
 calloc: 0x805faa8
 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/Manager',interface='org.freedesktop.Hal.Manager',member='DeviceAdded'
 calloc: 0x805fe20 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/Manager',interface='org.freedesktop.Hal.Manager',member='DeviceRemoved'
 calloc: 0x805ffe8 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/Manager',interface='org.freedesktop.Hal.Manager',member='NewCapability'
 VOL
 + 
 /org/freedesktop/Hal/devices/volume_uuid_9f5f5897_7eae_4d0d_bffb_83e26c49f535
 calloc: 0x8093a90 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/devices/volume_uuid_9f5f5897_7eae_4d0d_bffb_83e26c49f535',interface='org.freedesktop.Hal.Device',member='PropertyModified'
 VOL+ /org/freedesktop/Hal/devices/volume_part3_size_1024 calloc:
 0x8094318 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/devices/volume_part3_size_1024',interface='org.freedesktop.Hal.Device',member='PropertyModified'
 VOL
 + 
 /org/freedesktop/Hal/devices/volume_uuid_176a85e4_c815_4f4a_beb4_a9685e6442f7
 calloc: 0x8094b80 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/devices/volume_uuid_176a85e4_c815_4f4a_beb4_a9685e6442f7',interface='org.freedesktop.Hal.Device',member='PropertyModified'
 VOL+ /org/freedesktop/Hal/devices/volume_uuid_3007_17F2 calloc:
 0x8095408 MATCH ON:
 type='signal',sender='org.freedesktop.Hal',path='/org/freedesktop/Hal/devices/volume_uuid_3007_17F2',interface='org.freedesktop.Hal.Device',member='PropertyModified'
 Error getting serial
 for /org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S S6 +
 +STO: udi: /org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S
 bus: scsi drive_type: cdrom model: DVDRW SOSW-833S
   vendor: Slimtype
   serial: (null)
   icon.drive: (null)
   icon.volume: (null)

 S6
 ++STO:
   udi: /org/freedesktop/Hal/devices/storage_serial_1ATA_ST9808210A_3LF0ZX4R
   bus: scsi
   drive_type: disk
   model: ST9808210A
   vendor: ATA
   serial: 1ATA_ST9808210A_3LF0ZX4R
   icon.drive: (null)
   icon.volume: (null)

 ++VOL:
   udi: /org/freedesktop/Hal/devices/volume_uuid_3007_17F2
   uuid: 3007-17F2
   fstype: vfat
   size: 3150249984
  label: PQSERVICE
   partition: 1
   partition_number: 1
  partition_label: 
   mounted: 1
   mount_point: /media/hda1
   for
 storage: /org/freedesktop/Hal/devices/storage_serial_1ATA_ST9808210A_3LF0ZX4R

 It seems efm-related, dunno if it's wrong or right, this is just a
 notice.

 Regards

 Massimiliano
 - -- 
 Massimiliano Calamelli
 http://mcalamelli.netsons.org
 [EMAIL PROTECTED]
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.4 (MingW32)

 iD8DBQFHPGkDleGEL56NNP4RAnjoAKDuuVjga1CVZm1bBGnfECH4LIlniQCfcohW
 F7XCG23Gn3zwUCJeqX9UOWw=
 =GAgt
 -END PGP SIGNATURE-

 -
 This SF.net email is sponsored by: Splunk Inc.
 Still grepping through log files to find problems?  Stop.
 Now Search log events and configuration files using AJAX and a browser.
 Download your FREE copy of Splunk now  http

[E-devel] [PATCH] E Button Widget

2007-09-17 Thread lok

Hi,

I've got a small problem recently on a theme. If the theme use a min 
size for

it's buttons, way larger than the default theme's. It's impossible to
have the icon centered on a button with no text. (For exemple into the File
Properties dialog in EFM).

Currently the button theme only know when an icon is visible or not. My 
patch

replace the two e,action,show/hide,icon signals by e,state,icon/text/combo.
That way the theme knows how justify the icon.

Any comments is welcome.

lok
Index: e/data/themes/default_button.edc
===
RCS file: /cvs/e/e17/apps/e/data/themes/default_button.edc,v
retrieving revision 1.12
diff -u -r1.12 default_button.edc
--- e/data/themes/default_button.edc	7 Jul 2007 02:04:19 -	1.12
+++ e/data/themes/default_button.edc	18 Sep 2007 00:33:09 -
@@ -78,7 +78,7 @@
 	}
 	 }
 	 description {
-	state: visible 0.0;
+	state: combo 0.0;
 	inherit: default 0.0;
 	aspect: 1.0 1.0;
 	aspect_preference: VERTICAL;
@@ -94,6 +94,23 @@
 	   to: button_image;
 	}
 	 }
+	 description {
+	state: icon 0.0;
+	inherit: default 0.0;
+	aspect: 1.0 1.0;
+	aspect_preference: BOTH;
+	align: 0.5 0.5;
+	rel1 {
+	   relative: 0.0 0.0;
+	   offset:   8  8;
+	   to: button_image;
+	}
+	rel2 {
+	   relative: 1.0 1.0;
+	   offset:   -9   -9;
+	   to: button_image;
+	}
+	 }
   }
   part {
 	 name:  e.text.label;
@@ -117,7 +134,7 @@
 	color3: 255 255 255 128;
 	color_class: button_text;
 	text {
-	   text: OK;
+	   text: ;
 	   font: Edje-Vera;
 	   size: 10;
 	   min:  1 1;
@@ -132,6 +149,11 @@
 	color3: 255 255 255 64;
 	color_class: button_text_disabled;
 	 }
+	 description {
+	state:icon 0.0;
+	inherit:  default 0.0;
+	visible: 0;
+	 }
   }
   part {
 	 name: glint_clip;
@@ -330,18 +352,28 @@
 	 action: SIGNAL_EMIT e,action,click ;
   }
   program {
-	 name:   icon_visible;
-	 signal: e,action,show,icon;
+	 name: text_state;
+	 signal: e,state,text;
 	 source: e;
-	 action: STATE_SET visible 0.0;
+	 action: STATE_SET default 0.0;
 	 target: e.swallow.icon;
+	 target: e.text.label;
   }
   program {
-	 name:   icon_invisible;
-	 signal: e,action,hide,icon;
+	 name: icon_state;
+	 signal: e,state,icon;
 	 source: e;
-	 action: STATE_SET default 0.0;
+	 action: STATE_SET icon 0.0;
+	 target: e.swallow.icon;
+	 target: e.text.label;
+  }
+  program {
+	 name: combo_state;
+	 signal: e,state,combo;
+	 source: e;
+	 action: STATE_SET combo 0.0;
 	 target: e.swallow.icon;
+	 target: e.text.label;
   }
   program {
 	 name: button_in;
Index: e/src/bin/e_widget_button.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_button.c,v
retrieving revision 1.16
diff -u -r1.16 e_widget_button.c
--- e/src/bin/e_widget_button.c	7 Aug 2007 14:20:47 -	1.16
+++ e/src/bin/e_widget_button.c	18 Sep 2007 00:33:49 -
@@ -3,6 +3,13 @@
  */
 #include e.h
 
+typedef enum _E_Widget_Button_Type E_Widget_Button_Type;
+enum _E_Widget_Button_Type
+{
+   E_WIDGET_BUTTON_TEXT = 1  0,
+   E_WIDGET_BUTTON_ICON = 1  1
+};
+
 typedef struct _E_Widget_Data E_Widget_Data;
 struct _E_Widget_Data
 {
@@ -11,6 +18,7 @@
void (*func) (void *data, void *data2);
void *data;
void *data2;   
+   E_Widget_Button_Type type;
 };
 
 static void _e_wid_del_hook(Evas_Object *obj);
@@ -19,6 +27,7 @@
 static void _e_wid_disable_hook(Evas_Object *obj);
 static void _e_wid_signal_cb1(void *data, Evas_Object *obj, const char *emission, const char *source);
 static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void _e_wid_button_state_send(E_Widget_Data *wd);
 /* local subsystem functions */
 
 /* externally accessible functions */
@@ -46,7 +55,11 @@
e_theme_edje_object_set(o, base/theme/widgets,
 			   e/widgets/button);
edje_object_signal_callback_add(o, e,action,click, , _e_wid_signal_cb1, obj);
-   edje_object_part_text_set(o, e.text.label, label);
+   if (label  label[0] != 0)
+ {
+	edje_object_part_text_set(o, e.text.label, label);
+	wd-type |= E_WIDGET_BUTTON_TEXT;
+ }
evas_object_show(o);

e_widget_sub_object_add(obj, o);
@@ -59,12 +72,12 @@
 	wd-o_icon = o;
 	e_util_edje_icon_set(o, icon);
 	edje_object_part_swallow(wd-o_button, e.swallow.icon, o);
-	edje_object_signal_emit(wd-o_button, e,action,show,icon, e);
-	edje_object_message_signal_process(wd-o_button);
 	evas_object_show(o);
 	e_widget_sub_object_add(obj, o);
+	wd-type |= E_WIDGET_BUTTON_ICON;
  }
-   
+
+   _e_wid_button_state_send(wd);
edje_object_size_min_calc(wd-o_button, mw, mh);
e_widget_min_size_set(obj, mw, mh);

@@ -78,6 +91,11 @@
 
wd = e_widget_data_get(obj);
edje_object_part_text_set(wd-o_button, e.text.label, label

[E-devel] skip pager property and vdesk drag and drop

2007-06-13 Thread lok
Hi,

I was working on two things recently.
The first one was the skip pager property, raster was faster than me adding it
to the pager, but it still miss from the border menu. The patch change the
Skip Window List into a Skip menu with two subelements Window List and
Pager.

The second one new drag to the pager that allow to drag a vdesk from the pager
to a pager. This will switch the two vdesks (moving all the windows from one to
the other, and also switching there name and background property). By default
this drag is unset. I find it helpful to reorganize the desktop order.

lokIndex: pager/e_mod_config.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v
retrieving revision 1.30
diff -u -u -r1.30 e_mod_config.c
--- pager/e_mod_config.c	19 Apr 2007 16:57:47 -	1.30
+++ pager/e_mod_config.c	14 Jun 2007 02:15:17 -
@@ -5,7 +5,8 @@
 enum _Pager_Grab_Button
 {
GRAB_BUTTON_DRAG,
-   GRAB_BUTTON_NOPLACE
+   GRAB_BUTTON_NOPLACE,
+   GRAB_BUTTON_DESK
 };
 
 struct _E_Config_Dialog_Data
@@ -16,8 +17,9 @@
int popup_urgent_stick;
double popup_urgent_speed;
int drag_resist;
-   unsigned char btn_drag;
-   unsigned char btn_noplace;
+   unsigned int btn_drag;
+   unsigned int btn_noplace;
+   unsigned int btn_desk;
int flip_desk;
 
struct {
@@ -32,6 +34,7 @@
   Evas_Object *o_urgent_speed;
   Evas_Object *o_btn1;
   Evas_Object *o_btn2;
+  Evas_Object *o_btn3;
} gui;
 };
 
@@ -85,6 +88,7 @@
cfdata-drag_resist = pager_config-drag_resist;
cfdata-btn_drag = pager_config-btn_drag;
cfdata-btn_noplace = pager_config-btn_noplace;
+   cfdata-btn_desk = pager_config-btn_desk;
cfdata-flip_desk = pager_config-flip_desk;
 }
 
@@ -144,17 +148,22 @@
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 1);
ob = e_widget_label_add(evas, _(Drag and Drop button (Keeps rel. loc.)));
e_widget_frametable_object_append(of, ob, 1, 3, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_label_add(evas, _(Drag whole desktop (Move every windowsof a desk)));
+   e_widget_frametable_object_append(of, ob, 1, 4, 1, 1, 1, 1, 1, 1);
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DRAG, cfdata);
e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn1 = ob;
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_NOPLACE, cfdata);
e_widget_frametable_object_append(of, ob, 2, 3, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn2 = ob;
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DESK, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 4, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn3 = ob;
_advanced_update_button_label(cfdata);
ob = e_widget_label_add(evas, _(Resistance to dragging));
-   e_widget_frametable_object_append(of, ob, 1, 4, 1, 1, 1, 1, 0, 0);
+   e_widget_frametable_object_append(of, ob, 1, 5, 1, 1, 1, 1, 0, 0);
ob = e_widget_slider_add(evas, 1, 0, _(%.0f px), 0.0, 10.0, 1.0, 0, NULL, (cfdata-drag_resist), 200);
-   e_widget_frametable_object_append(of, ob, 1, 5, 2, 1, 1, 1, 0, 0);
+   e_widget_frametable_object_append(of, ob, 1, 6, 2, 1, 1, 1, 0, 0);
e_widget_list_object_append(o, of, 1, 1, 0.5);
 
of = e_widget_framelist_add(evas, _(Pager Popup Settings), 0);   
@@ -196,6 +205,7 @@
pager_config-drag_resist = cfdata-drag_resist;
pager_config-btn_drag = cfdata-btn_drag;
pager_config-btn_noplace = cfdata-btn_noplace;
+   pager_config-btn_desk = cfdata-btn_desk;
pager_config-flip_desk = cfdata-flip_desk;
_pager_cb_config_updated();
e_config_save_queue();
@@ -218,6 +228,12 @@
else
  snprintf(label, sizeof(label), _(Click to set));
e_widget_button_label_set(cfdata-gui.o_btn2, label);
+   
+   if (cfdata-btn_desk)
+ snprintf(label, sizeof(label), _(Button %i), cfdata-btn_desk);
+   else
+ snprintf(label, sizeof(label), _(Click to set));
+   e_widget_button_label_set(cfdata-gui.o_btn3, label);
 }
 
 static void
@@ -231,6 +247,8 @@
 
if ((Pager_Grab_Button)data1 == GRAB_BUTTON_DRAG)
  cfdata-grab.btn = 1;
+   else if ((Pager_Grab_Button)data1 == GRAB_BUTTON_NOPLACE)
+ cfdata-grab.btn = 2;
else
  cfdata-grab.btn = 0;
 
@@ -290,8 +308,10 @@
  {
 	if (cfdata-grab.btn == 1)
 	  cfdata-btn_drag = ev-button;
-	else
+	else if (cfdata-grab.btn == 2)
 	  cfdata-btn_noplace = ev-button;
+	else
+	  cfdata-btn_desk = ev-button;
  }
else
  {
@@ -320,8 +340,10 @@
  {
 	if (cfdata-grab.btn == 1)
 	  cfdata-btn_drag = 0;
-	else
+	else if (cfdata-grab.btn == 2)
 	  cfdata-btn_noplace = 0;
+	else
+	  cfdata-btn_desk = 0;
 	_grab_wnd_hide(cfdata);
  }
return 1;
Index: pager/e_mod_main.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.213
diff 

[E-devel] Pager's desktop dnd + small fix on e_remember.c e_zone.c

2007-02-20 Thread lok
Hi there,

I've done a small patch for the pager, it allow the user to drag a desktop from
the pager, and drop it on the pager or on the current desktop. At the drop the
two desktops are switched. By default the button is desactivate.

More exactly, windows move from one desk to the other, and if there is a name
or a specific background setted on one of the desk. e_config is updated and
saved. Dnd across different zones is supported.

I found that useful when it come to sort desktops. I just hope that I'm not
the only one to think that :)

This patch also fix the warning at build time.
Also attached there's two small patch for little checks missing in e_remember.c
and e_zone.c

Any comments is welcome.

lokIndex: e_remember.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_remember.c,v
retrieving revision 1.22
diff -u -r1.22 e_remember.c
--- e_remember.c	4 Jan 2007 10:30:55 -	1.22
+++ e_remember.c	20 Feb 2007 22:47:47 -
@@ -206,6 +206,7 @@
 EAPI void
 e_remember_update(E_Remember *rem, E_Border *bd)
 {
+   if (!rem) return;
if (bd-new_client) return;
if (rem-name) evas_stringshare_del(rem-name);
if (rem-class) evas_stringshare_del(rem-class);
Index: e_zone.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.108
diff -u -r1.108 e_zone.c
--- e_zone.c	28 Jan 2007 07:22:50 -	1.108
+++ e_zone.c	20 Feb 2007 22:47:29 -
@@ -440,8 +440,8 @@
E_OBJECT_CHECK(zone);
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);

-   *x_count = zone-desk_x_count;
-   *y_count = zone-desk_y_count;
+   if (x_count) *x_count = zone-desk_x_count;
+   if (y_count) *y_count = zone-desk_y_count;
 }
 
 EAPI void
? pager.patch
Index: e_mod_config.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v
retrieving revision 1.27
diff -u -r1.27 e_mod_config.c
--- e_mod_config.c	3 Feb 2007 02:02:49 -	1.27
+++ e_mod_config.c	20 Feb 2007 22:50:30 -
@@ -5,7 +5,8 @@
 enum _Pager_Grab_Button
 {
GRAB_BUTTON_DRAG,
-   GRAB_BUTTON_NOPLACE
+   GRAB_BUTTON_NOPLACE,
+   GRAB_BUTTON_DESK
 };
 
 struct _E_Config_Dialog_Data
@@ -15,6 +16,7 @@
int drag_resist;
unsigned char btn_drag;
unsigned char btn_noplace;
+   unsigned char btn_desk;
int flip_desk;
 
struct {
@@ -27,6 +29,7 @@
struct {
   Evas_Object *o_btn1;
   Evas_Object *o_btn2;
+  Evas_Object *o_btn3;
} gui;
 };
 
@@ -76,6 +79,7 @@
cfdata-drag_resist = pager_config-drag_resist;
cfdata-btn_drag = pager_config-btn_drag;
cfdata-btn_noplace = pager_config-btn_noplace;
+   cfdata-btn_desk = pager_config-btn_desk;
cfdata-flip_desk = pager_config-flip_desk;
 }
 
@@ -146,12 +150,17 @@
e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 1, 1);
ob = e_widget_label_add(evas, _(Drag no place button));
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_label_add(evas, _(Drag desktop button));
+   e_widget_frametable_object_append(of, ob, 1, 3, 1, 1, 1, 1, 1, 1);
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DRAG, cfdata);
e_widget_frametable_object_append(of, ob, 2, 1, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn1 = ob;
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_NOPLACE, cfdata);
e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn2 = ob;
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DESK, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 3, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn3 = ob;
_advanced_update_button_label(cfdata);
e_widget_list_object_append(o, of, 1, 1, 0.5);   

@@ -171,6 +180,7 @@
pager_config-drag_resist = cfdata-drag_resist;
pager_config-btn_drag = cfdata-btn_drag;
pager_config-btn_noplace = cfdata-btn_noplace;
+   pager_config-btn_desk = cfdata-btn_desk;
pager_config-flip_desk = cfdata-flip_desk;
_pager_cb_config_updated();
e_config_save_queue();
@@ -193,6 +203,12 @@
else
  snprintf(label, sizeof(label), _(Click to set));
e_widget_button_label_set(cfdata-gui.o_btn2, label);
+   
+   if (cfdata-btn_desk)
+ snprintf(label, sizeof(label), _(Button %i), cfdata-btn_desk);
+   else
+ snprintf(label, sizeof(label), _(Click to set));
+   e_widget_button_label_set(cfdata-gui.o_btn3, label);
 }
 
 static void
@@ -206,6 +222,8 @@
 
if ((Pager_Grab_Button)data1 == GRAB_BUTTON_DRAG)
  cfdata-grab.btn = 1;
+   else if ((Pager_Grab_Button)data1 == GRAB_BUTTON_NOPLACE)
+ cfdata-grab.btn = 2;
else
  cfdata-grab.btn = 0;
 
@@ -265,8 +283,10 @@
  {
 	if (cfdata-grab.btn == 1)
 	  cfdata-btn_drag = ev-button;
-	else
+	else if (cfdata-grab.btn == 2)
 	  cfdata-btn_noplace = 

Re: [E-devel] E CVS: test lok

2007-02-13 Thread lok
On Tue, 13 Feb 2007 22:56:34 +0100 (CET)
Vincent Torri [EMAIL PROTECTED] wrote:

 
 It's not a typo. raster wants to let the user giving his own CFLAGS. See 
 line 34 (where an error lives. FLAGS, and not FALGS). Btw, that error is 
 also in embryo's Makefile
 
 Vincent

Sorry, my bad.
Everything is fixed as in eet's Makefile now.

Thanks

lok.

 
 On Tue, 13 Feb 2007, Enlightenment CVS wrote:
 
  Enlightenment CVS committal
 
  Author  : lok
  Project : e17
  Module  : test
 
  Dir : e17/test/orig/edje
 
 
  Modified Files:
  Makefile
 
 
  Log Message:
  small typo fixed
 
  ===
  RCS file: /cvs/e/e17/test/orig/edje/Makefile,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -3 -r1.1 -r1.2
  --- Makefile28 Oct 2006 09:01:59 -  1.1
  +++ Makefile14 Feb 2007 03:04:21 -  1.2
  @@ -1,4 +1,4 @@
  -FLAGS = `edje-config --cflags` `ecore-config --cflags` `evas-config 
  --cflags` `eet-config --cflags`
  +CFLAGS = `edje-config --cflags` `ecore-config --cflags` `evas-config 
  --cflags` `eet-config --cflags`
  LIBS  = `edje-config --libs` `ecore-config --libs` `evas-config --libs` 
  `eet-config --libs`
 
  BINS  = edje edje_ls edje_test edje_thumb
 
 
 
  -
  Using Tomcat but need to do more? Need to support web services, security?
  Get stuff done quickly with pre-integrated technology to make your job 
  easier.
  Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
  http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
  ___
  enlightenment-cvs mailing list
  enlightenment-cvs@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
 
  -- 
  Ce message a été vérifié par MailScanner
  pour des virus ou des polluriels et rien de
  suspect n'a été trouvé.
  Message délivré par le serveur de messagerie de l'Université d'Evry.
 
 

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Pager's defaut e_desk_show button

2007-01-21 Thread lok
Hello, 
I use the pager with btn_drag (the drag and select button) set on button 2 and
btn_noplace on button 1. And that commit : 
http://e.kevb.net/cgi-bin/viewvc.cgi/e17/apps/e/src/modules/pager/e_mod_main.c?r1=1.202r2=1.203
Force me to use button 2 to select the active desktop when I click on the pager.
I dont' think someone would likely use another button than the button 1 for
that action. Plus if he set the btn_drag on 0, he lost the ability to switch
desktop by clicking on the pager. 

Can't we just re-set the test on ev-button == 1 ?

lok

(And there is an empty if on the function _pager_desk_cb_mouse_down
that should be cleaned imho)

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Mixer control key bindings

2006-12-29 Thread lok
On Fri, 29 Dec 2006 19:52:31 +
Aleksej Struk [EMAIL PROTECTED] wrote:

 
 Hi Nick,
 
 The implementation of the key binding in mixer module is similar to
 the implementation in language module. iirc, it was taken exactly from
 that module.
 
 The idea is, that module has to define the following things:
 
 1) the action, which will be executed on key press, For example
 mixer_mute
 2) the function, which is associated with the action.
 3) The 'human readable' name of the action. For example Mute The
 Mixer. This name will appear in keybinding dialog.
 4) The keybinding that uses the mixer_mute action. Actually this is 
 optional. And has to be
 done if you want to have default binding.
 5) Finally, you have to do reverse actions on module unload.
 
 1) and 2) are done by those several lines of code:
 
 E_Actoin *a;
 a = e_action_add(mixer_mute);
 if (a) a-func.go = _some_binding_callback_funcition
 
 3) is done basically by calling e_action_predef_name_set function (see
 e_action.h)
 
 4) You have to define a E_Config_Binding_Key *eb variable and fill it
 in with the correct values. After doing that, you have to: (i) insert
 eb into e_config-key_bindings, and (ii) call to e_bindings_key_add to
 make the binding active. Note, that you have to enclose (i) and (ii)
 between e_manager_keys_ungrab() and e_managers_keys_grab() after.
 
 
 For further information look into language madule e_mod_keybindigs.c
 file. 
 
 Feel free to contact me on IRC if you need more detailed explanation.
 
 sndev
 
 
 
 On Fri, Dec 29, 2006 at 04:12:15PM +0100, Nikolas Arend wrote:
  Hi,
  
  the key bindings for Decrease/Increase Volume and Mute mixer don't 
  seem to work for me (SuSE 10.1). Could somebody give me a short 
  explanation of how they are implemented? I guess they are supposed to 
  work and it's a problem on my side?
  
  
  Thanks a lot,  Nick.
  

Hi,
as sndev said, the keybinding code in mixer was taken from the language module.
The bindings in the mixer modules need at least one gadcon instance of the mixer
in order to work. The mixer initialize is configuration only if an instance is 
created.
Once the configuration is filled with the right mixer then the keybinding can 
works.
So you need to put the mixer module in a shelf to have keybindings working.

I could have move a part of the configuration code in order to make it works 
right 
after the module is loaded. But at that time I wasn't really seeing the point.

The other issue can be because of the default value of the keybindings. 
I used some default keycodes for the media keys. Since I don't really know if 
there's 
some kind of specs making keyboards. I've asked a few people with different 
keyboards to give me there keysymbols and keycodes for this media keys.
None of them had a keysymbols and the keycodes was the same.

And so I set the keybindings by default on keycodes 160 174 and 176.
It might not be always that values but you can change them on E keybindings 
config.

lok

  -
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share your
  opinions on IT  business topics through brief surveys - and earn cash
  http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Pager patch

2006-11-16 Thread lok
Hi,

I've made some changement on the pager config.
The first one let the user choose the mouse button he wants for the two
type of drag.
And the second disable the wheel callback on the pager. The wheel
callback on the pager works only if the pager is in a shelf above
everything. By default it's disabled because scrolling above the pager
in this case make you switch by a step of 2 desktops (one is done by
the pager's callback and the other by the E's default mousebinding).

The pager is probably the most used module, so I prefere to not commit
this patch directly. (just to be sure to not be hunt down if I've made
a mistake). And the patch also fix a small warning.

LokIndex: pager/e_mod_config.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v
retrieving revision 1.22
diff -u -u -r1.22 e_mod_config.c
--- pager/e_mod_config.c	3 Sep 2006 07:40:45 -	1.22
+++ pager/e_mod_config.c	16 Nov 2006 18:14:57 -
@@ -1,11 +1,37 @@
 #include e.h
 #include e_mod_main.h
 
+typedef enum _Pager_Grab_Button Pager_Grab_Button;
+enum _Pager_Grab_Button
+{
+   GRAB_BUTTON_DRAG,
+   GRAB_BUTTON_NOPLACE
+};
+
 struct _E_Config_Dialog_Data
 {
int show_popup;
double popup_speed;
int drag_resist;
+   unsigned char btn_drag;
+   unsigned char btn_noplace;
+   int flip_desk;
+
+   struct
+ {
+	Ecore_X_Window bind_win;
+	E_Dialog *dia;
+	Evas_List *handlers;
+
+	unsigned char *button1;
+	unsigned char *button2;
+ } grab;
+
+   struct
+ {
+	Evas_Object *o_btn1;
+	Evas_Object *o_btn2;
+ } gui;
 };
 
 /* Protos */
@@ -15,6 +41,11 @@
 static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
 static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
 static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+static void _advanced_update_button_label(E_Config_Dialog_Data *cfdata);
+static void _grab_wnd_show(void *data1, void *data2);
+static void _grab_wnd_hide(E_Config_Dialog_Data *cfdata);
+static int _grab_mouse_down_cb(void *data, int type, void *event);
+static int _grab_key_down_cb(void *data, int type, void *event);
 
 void 
 _config_pager_module(Config_Item *ci)
@@ -47,6 +78,9 @@
cfdata-show_popup = pager_config-popup;
cfdata-popup_speed = pager_config-popup_speed;
cfdata-drag_resist = pager_config-drag_resist;
+   cfdata-btn_drag = pager_config-btn_drag;
+   cfdata-btn_noplace = pager_config-btn_noplace;
+   cfdata-flip_desk = pager_config-flip_desk;
 }
 
 static void *
@@ -111,6 +145,25 @@
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);   
 
+   of = e_widget_frametable_add(evas, _(Buttons Settings), 0);
+   ob = e_widget_label_add(evas, _(Drag and select button));
+   e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_label_add(evas, _(Drag no place button));
+   e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DRAG, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 1, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn1 = ob;
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_NOPLACE, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn2 = ob;
+   _advanced_update_button_label(cfdata);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);   
+   
+   of = e_widget_framelist_add(evas, _(Wheel callback), 0);   
+   ob = e_widget_check_add(evas, _(Flip desktop on mouse wheel), (cfdata-flip_desk));
+   e_widget_framelist_object_append(of, ob);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);   
+
return o;
 }
 
@@ -120,7 +173,135 @@
pager_config-popup = cfdata-show_popup;
pager_config-popup_speed = cfdata-popup_speed;
pager_config-drag_resist = cfdata-drag_resist;
+   pager_config-btn_drag = cfdata-btn_drag;
+   pager_config-btn_noplace = cfdata-btn_noplace;
+   pager_config-flip_desk = cfdata-flip_desk;
_pager_cb_config_updated();
e_config_save_queue();
+   return 1;
+}
+
+static void
+_advanced_update_button_label(E_Config_Dialog_Data *cfdata)
+{
+   char label[strlen(_(Click to set))];
+   
+   if (cfdata-btn_drag)
+ snprintf(label, strlen(_(Button ))+3, Button %d, cfdata-btn_drag);
+   else
+ snprintf(label, strlen(_(Click to set))+1, _(Click to set));
+   e_widget_button_label_set(cfdata-gui.o_btn1, label);
+   
+   if (cfdata-btn_noplace)
+ snprintf(label, strlen(_(Button ))+3, Button %d, cfdata-btn_noplace);
+   else
+ snprintf(label, strlen(_(Click to set))+1, _(Click to set));
+   e_widget_button_label_set(cfdata-gui.o_btn2, label);
+}
+
+static void
+_grab_wnd_show(void *data1, void *data2)
+{
+   E_Manager *man;
+   E_Config_Dialog_Data *cfdata;
+
+   man = 

Re: [E-devel] Pager patch

2006-11-16 Thread lok
On Thu, 16 Nov 2006 19:40:58 +0100
lok [EMAIL PROTECTED] wrote:

 Hi,
 
 I've made some changement on the pager config.
 The first one let the user choose the mouse button he wants for the two
 type of drag.
 And the second disable the wheel callback on the pager. The wheel
 callback on the pager works only if the pager is in a shelf above
 everything. By default it's disabled because scrolling above the pager
 in this case make you switch by a step of 2 desktops (one is done by
 the pager's callback and the other by the E's default mousebinding).
 
 The pager is probably the most used module, so I prefere to not commit
 this patch directly. (just to be sure to not be hunt down if I've made
 a mistake). And the patch also fix a small warning.
 
 Lok

ok sorry about the double posting. 
I forgot to change two values before making the patch.
This one is the good one. (No need to apply the previous)

LokIndex: pager/e_mod_config.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v
retrieving revision 1.22
diff -u -u -r1.22 e_mod_config.c
--- pager/e_mod_config.c	3 Sep 2006 07:40:45 -	1.22
+++ pager/e_mod_config.c	16 Nov 2006 19:36:54 -
@@ -1,11 +1,37 @@
 #include e.h
 #include e_mod_main.h
 
+typedef enum _Pager_Grab_Button Pager_Grab_Button;
+enum _Pager_Grab_Button
+{
+   GRAB_BUTTON_DRAG,
+   GRAB_BUTTON_NOPLACE
+};
+
 struct _E_Config_Dialog_Data
 {
int show_popup;
double popup_speed;
int drag_resist;
+   unsigned char btn_drag;
+   unsigned char btn_noplace;
+   int flip_desk;
+
+   struct
+ {
+	Ecore_X_Window bind_win;
+	E_Dialog *dia;
+	Evas_List *handlers;
+
+	unsigned char *button1;
+	unsigned char *button2;
+ } grab;
+
+   struct
+ {
+	Evas_Object *o_btn1;
+	Evas_Object *o_btn2;
+ } gui;
 };
 
 /* Protos */
@@ -15,6 +41,11 @@
 static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
 static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
 static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+static void _advanced_update_button_label(E_Config_Dialog_Data *cfdata);
+static void _grab_wnd_show(void *data1, void *data2);
+static void _grab_wnd_hide(E_Config_Dialog_Data *cfdata);
+static int _grab_mouse_down_cb(void *data, int type, void *event);
+static int _grab_key_down_cb(void *data, int type, void *event);
 
 void 
 _config_pager_module(Config_Item *ci)
@@ -47,6 +78,9 @@
cfdata-show_popup = pager_config-popup;
cfdata-popup_speed = pager_config-popup_speed;
cfdata-drag_resist = pager_config-drag_resist;
+   cfdata-btn_drag = pager_config-btn_drag;
+   cfdata-btn_noplace = pager_config-btn_noplace;
+   cfdata-flip_desk = pager_config-flip_desk;
 }
 
 static void *
@@ -111,6 +145,25 @@
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);   
 
+   of = e_widget_frametable_add(evas, _(Buttons Settings), 0);
+   ob = e_widget_label_add(evas, _(Drag and select button));
+   e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_label_add(evas, _(Drag no place button));
+   e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 1);
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DRAG, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 1, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn1 = ob;
+   ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_NOPLACE, cfdata);
+   e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
+   cfdata-gui.o_btn2 = ob;
+   _advanced_update_button_label(cfdata);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);   
+   
+   of = e_widget_framelist_add(evas, _(Wheel callback), 0);   
+   ob = e_widget_check_add(evas, _(Flip desktop on mouse wheel), (cfdata-flip_desk));
+   e_widget_framelist_object_append(of, ob);
+   e_widget_list_object_append(o, of, 1, 1, 0.5);   
+
return o;
 }
 
@@ -120,7 +173,135 @@
pager_config-popup = cfdata-show_popup;
pager_config-popup_speed = cfdata-popup_speed;
pager_config-drag_resist = cfdata-drag_resist;
+   pager_config-btn_drag = cfdata-btn_drag;
+   pager_config-btn_noplace = cfdata-btn_noplace;
+   pager_config-flip_desk = cfdata-flip_desk;
_pager_cb_config_updated();
e_config_save_queue();
+   return 1;
+}
+
+static void
+_advanced_update_button_label(E_Config_Dialog_Data *cfdata)
+{
+   char label[strlen(_(Click to set))];
+   
+   if (cfdata-btn_drag)
+ snprintf(label, strlen(_(Button ))+3, Button %d, cfdata-btn_drag);
+   else
+ snprintf(label, strlen(_(Click to set))+1, _(Click to set));
+   e_widget_button_label_set(cfdata-gui.o_btn1, label);
+   
+   if (cfdata-btn_noplace)
+ snprintf(label, strlen(_(Button ))+3, Button %d, cfdata-btn_noplace);
+   else
+ snprintf(label, strlen(_(Click

Re: [E-devel] itray module

2006-09-19 Thread lok
On Tue, 19 Sep 2006 06:43:25 -0400
Sthithaprajna Garapaty [EMAIL PROTECTED] wrote:

  I think for now we can get away with just a notification module. Is there 
  any spec for this? Anything we should be looking at? (maybe the Gnome  KDE 
  code).
 
 Somewhat. There's libnotify and the Desktop Notification Spec.
 http://trac.galago-project.org/wiki/DesktopNotifications
 http://galago-project.org/specs/notification/index.php
 http://galago-project.org/downloads.php
 
 Unfortunately, its not too widely implemented, and the spec is not too
 comprehensive either.
 But, it does provide a lot more flexiblity than the systray spec in
 that it does not restrict you to single icons in a row and of course,
 it throws out the ugly sub-windowing for actual images (with alpha)
 and text.
 
  Basically, it would be nice if we could, maybe extend the IBox so each 
  minimized application can send notifications. Maybe we could somehow fool 
  other applications into thinking they've been trayed so that they can send 
  notifications and we can capture them.
 
 This seems like a bad idea to me. Applications shouldnt have to be
 minimized to send notifications. In fact, applications shouldn't need
 to have a window open to send notifications.

imho the notification and the tray system must be separated. They're goal are 
too different to make it in one only module.

  These are just my thoughts, dunno if they're good. Waiting to hear your 
  opinions. I might get into this module, in a few days, when I finish my 
  current work. I have other things on my list as well (I have updating the 
  carbon theme, and integrating some power management into E on my list at 
  the moment).
 
  So basically, I'd like to collect some thoughts on these items. But mostly, 
  on this notification thing.

I think that basically we need a notification daemon like describe in the 
spec. But more than that it would be very great if the daemon posses some 
prebuilt widgets and that all we need is to passe a description of the UI by 
dbus (I risk my life saying that but if we want something multidesktop, xml 
should be used here). 

About the daemon :
He has to be able to parse the xml input and make the corresponding UI (seems 
logical). The xml describe the widgets used, their different properties and 
value and their positions (something like the box model of edje would be great 
for that but again if we wan't something multi desktop and not just for e 
maybe this point need some discussion).
Concerning the prebuilt widgets, I'm not talking about remake another toolkit, 
the daemon has just to use already existant basics widgets (i.e: label, button, 
image, progressbar, scrolledview) in the toolkit of his choice.

Thus with a system like that, the theme and toolkit used for the notification 
is not anymore choose by the application but by the user.

Here is my thoughts, whether you took it or not I'm really interested by using 
a notification something so I hope that you are going to start to work on it 
soon :)

lok.

  Cheers,
  Eugen.
  
  
   -
   Take Surveys. Earn Cash. Influence the Future of IT
   Join SourceForge.net's Techsay panel and you'll get the chance to share 
   your
   opinions on IT  business topics through brief surveys -- and earn cash
   http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
   ___
   enlightenment-devel mailing list
   enlightenment-devel@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
  -
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share your
  opinions on IT  business topics through brief surveys -- and earn cash
  http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 
 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys -- and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn