[EGIT] [core/efl] master 01/01: ecore-x: fix Mode_switch key mapping

2016-12-15 Thread Hannes Janetzek
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1b0690dd9a9e58365601ba6aeda4988998647b1c

commit 1b0690dd9a9e58365601ba6aeda4988998647b1c
Author: Hannes Janetzek <hannes.janet...@gmail.com>
Date:   Thu Dec 15 05:18:39 2016 +0100

ecore-x: fix Mode_switch key mapping

- remove redundant XKeysymToString when sym == sym2

@fix
---
 src/lib/ecore_x/ecore_x_events.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c
index 0049fca..b19d60a 100644
--- a/src/lib/ecore_x/ecore_x_events.c
+++ b/src/lib/ecore_x/ecore_x_events.c
@@ -344,7 +344,7 @@ _ecore_key_press(int event,
char *compose = NULL;
char *tmp = NULL;
char *keyname;
-   char *key;
+   char *key = NULL;
char keyname_buffer[256];
char compose_buffer[256];
KeySym sym, sym2 = 0;
@@ -372,6 +372,12 @@ _ecore_key_press(int event,
sizeof(compose_buffer),
,
);
+
+   if (sym != sym2)
+ key = XKeysymToString(sym2);
+   if (!key)
+ key = keyname;
+
if (val > 0)
  {
 compose_buffer[val] = 0;
@@ -381,13 +387,8 @@ _ecore_key_press(int event,
   ERR("Ecore_X cannot convert input key string '%s' to UTF-8. "
   "Is Eina built with iconv support?", compose_buffer);
 tmp = compose;
-sym = sym2;
  }
 
-   key = XKeysymToString(sym);
-   if (!key)
- key = keyname;
-
key_len = strlen(key);
keyname_len = strlen(keyname);
compose_len = (compose) ? strlen(compose) : 0;

-- 




[EGIT] [core/enlightenment] enlightenment-0.20 14/20: just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action

2016-06-03 Thread Hannes Janetzek
discomfitor pushed a commit to branch enlightenment-0.20.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=ce6da215fd2451d7e0c15cd5f467237a63811f8f

commit ce6da215fd2451d7e0c15cd5f467237a63811f8f
Author: Hannes Janetzek <hannes.janet...@gmail.com>
Date:   Tue May 31 11:41:33 2016 -0400

just a small patch to make sure evry_hide does not get called synchronously 
from an Evry_Action
---
 src/modules/everything/evry.c | 22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index ff7b000..9dab641 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -71,6 +71,7 @@ static Eina_Bool  _evry_cb_selection_notify(void *data, 
int type, void *even
 static Eina_Bool  _evry_cb_mouse(void *data, int type, void *event);
 
 static Eina_Bool  _evry_delay_hide_timer(void *data);
+static Eina_Bool  _evry_focus_out_timer(void *data);
 
 static Eina_List *windows = NULL;
 
@@ -151,17 +152,32 @@ _evry_cb_item_changed(EINA_UNUSED void *data, EINA_UNUSED 
int type, void *event)
return ECORE_CALLBACK_PASS_ON;
 }
 
-static void
-_evry_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+static Eina_Bool
+_evry_focus_out_timer(void *data)
 {
Evry_Window *win = data;
E_Client *ec;
 
-   if (!win->grab) return;
+   win->delay_hide_action = NULL;
 
ec = e_win_client_get(win->ewin);
if (ec && (!e_object_is_del(E_OBJECT(ec
  evry_hide(win, 0);
+
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_evry_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+{
+   Evry_Window *win = data;
+
+   if (!win->grab) return;
+
+   if (win->delay_hide_action)
+ ecore_timer_del(win->delay_hide_action);
+
+   win->delay_hide_action = ecore_timer_add(0.0, _evry_focus_out_timer, win);
 }
 
 Evry_Window *

-- 




[EGIT] [core/enlightenment] master 01/01: just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action

2016-05-31 Thread Hannes Janetzek
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=b3561d764123bd842e55c7c362b7c82c84bb5139

commit b3561d764123bd842e55c7c362b7c82c84bb5139
Author: Hannes Janetzek <hannes.janet...@gmail.com>
Date:   Tue May 31 11:41:33 2016 -0400

just a small patch to make sure evry_hide does not get called synchronously 
from an Evry_Action
---
 src/modules/everything/evry.c | 22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index ff7b000..9dab641 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -71,6 +71,7 @@ static Eina_Bool  _evry_cb_selection_notify(void *data, 
int type, void *even
 static Eina_Bool  _evry_cb_mouse(void *data, int type, void *event);
 
 static Eina_Bool  _evry_delay_hide_timer(void *data);
+static Eina_Bool  _evry_focus_out_timer(void *data);
 
 static Eina_List *windows = NULL;
 
@@ -151,17 +152,32 @@ _evry_cb_item_changed(EINA_UNUSED void *data, EINA_UNUSED 
int type, void *event)
return ECORE_CALLBACK_PASS_ON;
 }
 
-static void
-_evry_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+static Eina_Bool
+_evry_focus_out_timer(void *data)
 {
Evry_Window *win = data;
E_Client *ec;
 
-   if (!win->grab) return;
+   win->delay_hide_action = NULL;
 
ec = e_win_client_get(win->ewin);
if (ec && (!e_object_is_del(E_OBJECT(ec
  evry_hide(win, 0);
+
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_evry_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+{
+   Evry_Window *win = data;
+
+   if (!win->grab) return;
+
+   if (win->delay_hide_action)
+ ecore_timer_del(win->delay_hide_action);
+
+   win->delay_hide_action = ecore_timer_add(0.0, _evry_focus_out_timer, win);
 }
 
 Evry_Window *

-- 




Re: [E-devel] itask-ng issues

2008-07-09 Thread Hannes Janetzek
Hello,

please post issues with itask-ng at
http://code.google.com/p/itask-module/issues/list

Am Wed, 09 Jul 2008 20:03:13 +0200
schrieb Nikolas Arend [EMAIL PROTECTED]:

 Hi,
 
 I have two issues with itask-ng which I'd like to mention, and I hope 
 it's ok to post them to this list.
 
 The first thing I'm experiencing is a white bar over the entire
 bottom of the screen where the instance of itask-ng is located as a
 taskbar (I'm not running a composite manager). It appears only when e
 is started or restarted and there are no applications to show in the
 taskbar. Once the first app is running, the white bar disappears and
 the the icon is shown normally in the taskbar. However, the bar does
 not reappear when I close all applications, only when e is restarted
 subsequently. When I enable composite and run e.g. bling, all is as
 it's supposed to be, only that composite is neither very fast nor
 very stable here (ATI graphics card/driver), so I cannot really use
 it. The behavior described above is there for some time now and 
 unfortunately I cannot link it to a specific date or revision.
 
this should be fixed with the current svn version

 The second issue looks like an itask-ng problem too, but I'm not 
 entirely sure, maybe something changed in e or the libs. It concerns
 the icons for minimized applications in the taskbar which normally
 kind of fade out to show that the app is minimized. Since a few
 revisions they simply disappear, leaving a blank space. The icon
 reappears on mouse-over, i.e. when the icon/bar is zoomed, so it
 seems to affect only the normal, non-enlarged icon.
 

hmm, no idea. does it also happen when using a composite manager?

 Since I prefer itask-ng over the other taskbar/launcher solutions
 it'd be nice to get those issues fixed, so please let me know if you
 need any more information.
 
 
 Thanks and best regards,
 
 Nick.
 

Regards, 
Hannes 'jeffdameth' Janetzek


-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] meanings

2008-01-25 Thread hannes janetzek
Massimo Maiurana wrote:
 there are two things added recently to e17 which I do not understand
 the meaning, can you please enlighten me as I have to translate them
 for italian?

 - keyaction popup height in pager configuration
   
i've added this one and marked in the code that one should find a more 
suitable name for it. i'm not a native english speaker, so maybe someone 
else finds good short name for it. the option describes the height of 
the pager popup which is triggered by a keypress. (see pager section in 
the keybindings configuration)

regards,
Hannes


 - enable thumbscroll in the new interation module

 what are these two option supposed to do?

   


-
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: forecasts jeffdameth

2008-01-06 Thread Hannes Janetzek
Am Sun, 06 Jan 2008 18:09:10 -0500
schrieb Christopher Michael [EMAIL PROTECTED]:

 Enlightenment CVS wrote:
  Enlightenment CVS committal
  
  Author  : jeffdameth
  Project : e_modules
  Module  : forecasts
  
  Dir : e_modules/forecasts
  
  
  Modified Files:
  e_mod_main.c 
  
  
  Log Message:
  forcast fix:
  - initialize inst-popup with NULL
  - only update popup when necessary
  
 --Snip--
 
 Did you check with the author of the module about these changes? CVS 
 access is not a license to go willy-nilly on other people's code.
 
 dh

 
Sorry, no I didnt. I mentioned the patch on irc and mekius said I 
could commit this patch if it fixes a segv. but maybe he just meant
the initialize part. I will ask in future _always_ the author.

regards,
Hannes  


 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 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 2005.
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] keybindings for pager module - update

2007-12-21 Thread Hannes Janetzek
Hi all,

here is a link to a more recent version of my patch, in the case that
someone wants to test it.
http://itask-module.googlecode.com/svn/trunk/patches/pager_keyactions6.patch

regards,
Hannes


Am Thu, 20 Dec 2007 00:34:26 +0100
schrieb Hannes Janetzek [EMAIL PROTECTED]:

 Hi,
 this patch adds the following keybindings to the pager:
 1. show pager popup
 while the pager is visible one can click on desks to switch to them
 and can drag windows around
 2. show the pager and cycle through desks up,down,back and forth. when
 releasing the hold keys(modifiers) one switches to the selected desk
 
 + some bugfixes and cleanups
 e.g. if(pager = inst-pager) and others I dont remeber atm.
 
 I hope someone finds the time to review it. I'm open to suggestions
 and feature requests ;)
 
 
 Regards,
 Hannes 'jeffdameth' Janetzek

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
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] keybindings for pager module

2007-12-19 Thread Hannes Janetzek
Hi,
this patch adds the following keybindings to the pager:
1. show pager popup
while the pager is visible one can click on desks to switch to them and
can drag windows around
2. show the pager and cycle through desks up,down,back and forth. when
releasing the hold keys(modifiers) one switches to the selected desk

+ some bugfixes and cleanups
e.g. if(pager = inst-pager) and others I dont remeber atm.

I hope someone finds the time to review it. I'm open to suggestions and
feature requests ;)


Regards,
Hannes 'jeffdameth' Janetzek
Index: e_mod_main.c
===
RCS file: /var/cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.221
diff -u -r1.221 e_mod_main.c
--- e_mod_main.c	14 Dec 2007 22:30:44 -	1.221
+++ e_mod_main.c	19 Dec 2007 23:30:20 -
@@ -41,7 +41,7 @@
 struct _Pager
 {
Instance *inst;
-   unsigned char is_popup : 1;
+   Pager_Popup  *popup;
Evas_Object  *o_table;
E_Zone   *zone;
int   xnum, ynum;
@@ -157,16 +157,43 @@
 static void _pager_window_move(Pager_Win *pw);
 static Pager_Win *_pager_window_find(Pager *p, E_Border *border);
 static Pager_Win *_pager_desk_window_find(Pager_Desk *pd, E_Border *border);
-static Pager_Popup *_pager_popup_new(E_Zone *zone, int urgent);
+static Pager_Popup *_pager_popup_new(E_Zone *zone);
 static void _pager_popup_free(Pager_Popup *pp);
 static Pager_Popup *_pager_popup_find(E_Zone *zone);
 static E_Config_Dialog *_pager_config_dialog(E_Container *con, const char *params);
 
+/* functions for pager popup on key actions */
+static int _pager_popup_show();
+static void _pager_popup_hide();
+static void _cb_action_pager_popup_show(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev);
+static void _cb_action_pager_popup_switch(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev);
+static int _pager_popup_cb_mouse_down(void *data, int type, void *event);
+static int _pager_popup_cb_mouse_up(void *data, int type, void *event);
+static int _pager_popup_cb_mouse_move(void *data, int type, void *event);
+static void _pager_popup_desk_switch(int x, int y);
+static void _pager_popup_modifiers_set(int mod);
+static int _pager_popup_cb_key_down(void *data, int type, void *event);
+static int _pager_popup_cb_key_up(void *data, int type, void *event);
+static void _pager_popup_cb_action_show(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev);
+static void _pager_popup_cb_action_switch(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev);
+
+/* variables for pager popup on key actions */
+static E_Action *act_popup_show = NULL;
+static E_Action *act_popup_switch = NULL;
+static Ecore_X_Window input_window = 0;
+static Evas_List *handlers = NULL;
+static Pager_Popup *act_popup = NULL; /* active popup */
+static int hold_count = 0;
+static int hold_mod = 0;
+static E_Desk *current_desk = NULL;
+
 static E_Config_DD *conf_edd = NULL;
-static Evas_List *pager_popups = NULL;
+
+static Evas_List *pagers = NULL;
 
 Config *pager_config = NULL;
 
+
 static E_Gadcon_Client *
 _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
 {
@@ -260,10 +287,13 @@
Pager *p;
 
p = E_NEW(Pager, 1);
+   p-inst = NULL;
+   p-popup = NULL;
p-o_table = e_table_add(evas);
e_table_homogenous_set(p-o_table, 1);
p-zone = zone;
_pager_fill(p);
+   pagers = evas_list_append(pagers, p);
return p;
 }
 
@@ -272,6 +302,7 @@
 {
_pager_empty(p);
evas_object_del(p-o_table);
+   pagers = evas_list_remove(pagers, p);
free(p);
 }
 
@@ -303,8 +334,6 @@
 static void
 _pager_empty(Pager *p)
 {
-   // if (p-popup) _pager_popup_free(p-popup);
-
while (p-desks)
  {
 	_pager_desk_free(p-desks-data);
@@ -343,6 +372,7 @@
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, _pager_desk_cb_mouse_up, pd);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, _pager_desk_cb_mouse_move, pd);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_WHEEL, _pager_desk_cb_mouse_wheel, pd);
+
evas_object_show(o);
 
o = e_layout_add(evas_object_evas_get(p-o_table));
@@ -648,7 +678,7 @@
 }
 
 static Pager_Popup *
-_pager_popup_new(E_Zone *zone, int urgent)
+_pager_popup_new(E_Zone *zone)
 {
Pager_Popup *pp;
Evas_Coord w, h;
@@ -668,9 +698,10 @@
e_popup_layer_set(pp-popup, 255);
 
pp-pager = _pager_new(pp-popup-evas, zone);
+   pp-pager-popup = pp;
 
-   pp-pager-is_popup = 1;
-
+   pp-urgent = 0;
+   
e_zone_desk_count_get(zone, x, y);
height = pager_config-popup_pager_height * y;
width = ((zone-w * x)/(zone-h * y)) * height;
@@ -694,28 +725,16 @@
evas_object_move(pp-o_bg, 0, 0);
evas_object_resize(pp-o_bg, w, h);
e_popup_edje_bg_object_set(pp-popup, pp-o_bg);
-   //e_popup_ignore_events_set(pp-popup, 1);
+   e_popup_ignore_events_set(pp-popup, 1);
e_popup_move_resize(pp-popup, ((zone-w - w) / 2),
 		   ((zone-h - h) / 2), w, h);

[E-devel] [patch] pager popup cleanup + pager-popup-size option

2007-12-14 Thread Hannes Janetzek
hi,
this patch fixes the problem that the pager popup always has the same
size as the pager in the shelf. it also solves the problem when having
two pagers in one zone. i.e. it shows only _one_ popup no matter
how many pager instances are running in a zone. it is now also
possible to have a pager popup without having a shelf instance. To make
this comfortable  the pager is now also configurable via
extensions-pager.

I saw a FIXME in the code concerning that there should be a
configuration per zone. I think this approach with putting a config
link in extensions can also work with this. i.e. extensions -
pager (Zone n)

comments and suggestion are welcome. i think i'll work a bit more on
the pager module: adding key actions to show the popup, cycle
through desktops without immediatly switching to them and maybe one
to permute desktops.

I made a whitespace-cleanup and changed the indentaion to e`s
standard (in a few places spaces are replaced by tabs now) sorry if this
makes the patch harder to read.

regards,
Hannes 'jeffdameth' Janetzek  


 Index: e_mod_main.c
===
RCS file: /var/cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.220
diff -u -r1.220 e_mod_main.c
--- e_mod_main.c	10 Nov 2007 18:54:45 -	1.220
+++ e_mod_main.c	14 Dec 2007 21:47:52 -
@@ -1,6 +1,7 @@
 /*
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=5n-3f0^-2{2
  */
+
 #include e.h
 #include e_mod_main.h
 
@@ -19,7 +20,7 @@
GADCON_CLIENT_CLASS_VERSION,
  pager,
  {
-_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL
+	_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL
  },
E_GADCON_CLIENT_STYLE_INSET
 };
@@ -53,7 +54,6 @@
E_Zone   *zone;
int   xnum, ynum;
Evas_List*desks;
-   Pager_Popup  *popup;
unsigned char dragging : 1;
unsigned char just_dragged : 1;
Evas_Coorddnd_x, dnd_y;
@@ -69,6 +69,7 @@
Evas_Object *o_layout;
int  xpos, ypos;
int  current : 1;
+   int  urgent;
struct {
   Pager *from_pager;
   unsigned char  in_pager : 1;
@@ -101,7 +102,7 @@
 struct _Pager_Popup
 {
E_Popup  *popup;
-   Pager*pager, *src_pager;
+   Pager*pager;
Evas_Object  *o_bg;
Ecore_Timer  *timer;
unsigned char urgent : 1;
@@ -164,10 +165,13 @@
 static void _pager_window_move(Pager_Win *pw);
 static Pager_Win *_pager_window_find(Pager *p, E_Border *border);
 static Pager_Win *_pager_desk_window_find(Pager_Desk *pd, E_Border *border);
-static Pager_Popup *_pager_popup_new(Pager *p, int urgent);
+static Pager_Popup *_pager_popup_new(E_Zone *zone, int urgent);
 static void _pager_popup_free(Pager_Popup *pp);
+static Pager_Popup *_pager_popup_find(E_Zone *zone);
+static E_Config_Dialog *_pager_config_dialog(E_Container *con, const char *params);
 
 static E_Config_DD *conf_edd = NULL;
+static Evas_List *pager_popups = NULL;
 
 Config *pager_config = NULL;
 
@@ -180,16 +184,16 @@
Instance *inst;
Evas_Coord x, y, w, h;
const char *drop[] = { enlightenment/pager_win, enlightenment/border, enlightenment/vdesktop};
-   
+
inst = E_NEW(Instance, 1);
-   
+
p = _pager_new(gc-evas, gc-zone);
p-inst = inst;
inst-pager = p;
o = p-o_table;
gcc = e_gadcon_client_new(gc, name, id, style, o);
gcc-data = inst;
-   
+
inst-gcc = gcc;
inst-o_pager = o;
 
@@ -209,11 +213,11 @@
return gcc;
 }
 
-static void 
+static void
 _gc_shutdown(E_Gadcon_Client *gcc)
 {
Instance *inst;
-   
+
inst = gcc-data;
pager_config-instances = evas_list_remove(pager_config-instances, inst);
e_drop_handler_del(inst-drop_handler);
@@ -225,14 +229,14 @@
 _gc_orient(E_Gadcon_Client *gcc)
 {
Instance *inst;
-   
+
inst = gcc-data;
-   e_gadcon_client_aspect_set(gcc, 
-			  inst-pager-xnum * inst-pager-zone-w, 
+   e_gadcon_client_aspect_set(gcc,
+			  inst-pager-xnum * inst-pager-zone-w,
 			  inst-pager-ynum * inst-pager-zone-h);
e_gadcon_client_min_size_set(gcc, 16, 16);
 }
-   
+
 static char *
 _gc_label(void)
 {
@@ -244,7 +248,7 @@
 {
Evas_Object *o;
char buf[4096];
-   
+
o = edje_object_add(evas);
snprintf(buf, sizeof(buf), %s/e-module-pager.edj,
 	e_module_dir_get(pager_config-module));
@@ -267,7 +271,7 @@
 _pager_new(Evas *evas, E_Zone *zone)
 {
Pager *p;
-   
+
p = E_NEW(Pager, 1);
p-o_table = e_table_add(evas);
e_table_homogenous_set(p-o_table, 1);
@@ -288,7 +292,7 @@
 _pager_fill(Pager *p)
 {
int x, y;
-   
+
e_zone_desk_count_get(p-zone, (p-xnum), (p-ynum));
for (x = 0; x  p-xnum; x++)
  {
@@ -312,7 +316,7 @@
 static void
 _pager_empty(Pager *p)
 {
-   if (p-popup) _pager_popup_free(p-popup);
+   // if (p-popup) _pager_popup_free(p-popup);
 
while (p-desks)
  {
@@ -335,6 +339,8 @@
pd-xpos = xpos;
pd-ypos = ypos;
 
+   pd-urgent = 0;

[E-devel] no need for unfullscreen windows on deskchange + patch

2007-12-08 Thread Hannes Janetzek
hi,

the problem is that to fullscreen and to unfullscreen of
fullscreen-windows makes deskswitching a lot slower (and looks ugly
too). I use many programs in fullscreen mode so this really annoyed me
for while.

is there a special reason why e_border_hide does also unfullscreen
windows? since it looks mainly like a workaroung with this
want_fullscreen-flag used in e_desk.


regards,
Hannes JanetzekIndex: e_desk.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.70
diff -u -r1.70 e_desk.c
--- e_desk.c	15 Nov 2007 20:16:25 -	1.70
+++ e_desk.c	8 Dec 2007 18:04:45 -
@@ -244,17 +244,11 @@
 		  if ((bd-desk == desk) || (bd-sticky))
 		{
 		   e_border_show(bd);
-		   if (bd-want_fullscreen)
-			 {
-			e_border_fullscreen(bd, e_config-fullscreen_policy);
-			bd-want_fullscreen = 0;
-			 }
 		}
 		  else if (bd-moving)
 		e_border_desk_set(bd, desk);
 		  else
 		{
-		   if (bd-fullscreen) bd-want_fullscreen = 1;
 		   e_border_hide(bd, 2);
 		}
 	   }
@@ -599,11 +593,6 @@
 		bd-fx.start.y += bd-zone-container-h - (bd-zone-y + bd-zone-h);
 		  e_border_fx_offset(bd, bd-fx.start.x, bd-fx.start.y);
 		  e_border_show(bd);
-		  if (bd-want_fullscreen)
-		{
-		   e_border_fullscreen(bd, e_config-fullscreen_policy);
-		   bd-want_fullscreen = 0;
-		}
 	   }
 	  }
  }
@@ -737,11 +726,6 @@
 		  else
 		bd-fx.start.y += bd-zone-container-h - (bd-zone-y + bd-zone-h);
 		  e_border_fx_offset(bd, 0, 0);
-		  if (bd-want_fullscreen)
-		{
-		   e_border_fullscreen(bd, e_config-fullscreen_policy);
-		   bd-want_fullscreen = 0;
-		}
 	   }
 	  }
  }
@@ -766,7 +750,6 @@
 	 else if ((bd-desk == desk)  (!bd-sticky))
 	   {
 		  e_border_fx_offset(bd, 0, 0);
-		  if (bd-fullscreen) bd-want_fullscreen = 1;
 		  e_border_hide(bd, 2);
 	   }
 	  }
Index: e_border.h
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.167
diff -u -r1.167 e_border.h
--- e_border.h	26 Nov 2007 21:33:23 -	1.167
+++ e_border.h	8 Dec 2007 18:04:45 -
@@ -352,7 +352,6 @@
unsigned intneed_shape_export : 1;
unsigned intfullscreen : 1;
unsigned intneed_fullscreen : 1;
-   unsigned intwant_fullscreen : 1;
unsigned intalready_unparented : 1;
unsigned intneed_reparent : 1;
unsigned intbutton_grabbed : 1;
Index: e_border.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.613
diff -u -r1.613 e_border.c
--- e_border.c	2 Dec 2007 20:03:29 -	1.613
+++ e_border.c	8 Dec 2007 18:04:55 -
@@ -718,8 +718,6 @@
ecore_x_window_shadow_tree_flush();
if (bd-moving)
  _e_border_move_end(bd);
-   if (bd-fullscreen)
- e_border_unfullscreen(bd);
if (bd-resize_mode != RESIZE_NONE)
  {
 	_e_border_pointer_resize_end(bd);
-
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] patch for a better wallpaper dialog layout

2007-07-14 Thread Hannes Janetzek
hi,
if this patch is ok iwould go on and fix some of the other dialog
layouts. 

a screenshot is here:
http://www.informatik.uni-bremen.de/~jeff/conf2.jpg

Regards,
Hannes jeffdameth JanetzekIndex: e_int_config_wallpaper.c
===
RCS file: /var/cvs/e/e17/apps/e/src/modules/conf_wallpaper/e_int_config_wallpaper.c,v
retrieving revision 1.1
diff -u -r1.1 e_int_config_wallpaper.c
--- e_int_config_wallpaper.c	4 Jul 2007 15:09:24 -	1.1
+++ e_int_config_wallpaper.c	14 Jul 2007 18:07:58 -
@@ -57,7 +57,7 @@
 e_int_config_wallpaper_desk(E_Container *con, const char *params)
 {
int con_num, zone_num, desk_x, desk_y;
-   
+
if (!params) return NULL;
con_num = zone_num = desk_x = desk_y = -1;
if (sscanf(params, %i %i %i %i, con_num, zone_num, desk_x, desk_y) != 4)
@@ -75,7 +75,7 @@
if (e_config_dialog_find(E, _config_wallpaper_dialog)) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
cw = E_NEW(E_Config_Wallpaper, 1);
-  
+
v-create_cfdata   = _create_data;
v-free_cfdata = _free_data;
v-basic.apply_cfdata  = _basic_apply_data;
@@ -109,7 +109,7 @@
E_Config_Dialog_Data *cfdata;
char path[4096];
const char *homedir;
-   
+
cfdata = dia-cfdata;
homedir = e_user_homedir_get();
cfdata-fmdir = 1;
@@ -132,7 +132,7 @@
 e_int_config_wallpaper_import_done(E_Config_Dialog *dia)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = dia-cfdata;
cfdata-win_import = NULL;
 }
@@ -141,7 +141,7 @@
 e_int_config_wallpaper_gradient_done(E_Config_Dialog *dia)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = dia-cfdata;
cfdata-dia_gradient = NULL;
 }
@@ -150,7 +150,7 @@
 _cb_button_up(void *data1, void *data2)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = data1;
if (cfdata-o_fm)
  e_fm2_parent_go(cfdata-o_fm);
@@ -162,7 +162,7 @@
 _cb_files_changed(void *data, Evas_Object *obj, void *event_info)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = data;
if (!cfdata-o_fm) return;
if (!e_fm2_has_parent_get(cfdata-o_fm))
@@ -187,7 +187,7 @@
E_Fm2_Icon_Info *ici;
const char *realpath;
char buf[4096];
-   
+
cfdata = data;
if (!cfdata-o_fm) return;
selected = e_fm2_selected_list_get(cfdata-o_fm);
@@ -225,7 +225,7 @@
E_Config_Dialog_Data *cfdata;
const char *p, *homedir;
char buf[4096];
-   
+
cfdata = data;
if (!cfdata-bg) return;
if (!cfdata-o_fm) return;
@@ -247,18 +247,18 @@
 	else
 	  p = cfdata-bg;
  }
-   
+
e_fm2_select_set(cfdata-o_fm, p, 1);
e_fm2_file_show(cfdata-o_fm, p);
 }
 
 static void
-_cb_files_files_deleted(void *data, Evas_Object *obj, void *event_info) 
+_cb_files_files_deleted(void *data, Evas_Object *obj, void *event_info)
 {
E_Config_Dialog_Data *cfdata;
Evas_List *sel, *all, *n;
E_Fm2_Icon_Info *ici, *ic;
-   
+
cfdata = data;
if (!cfdata-bg) return;
if (!cfdata-o_fm) return;
@@ -269,23 +269,23 @@
if (!sel) return;
 
ici = sel-data;
-   
+
all = evas_list_find_list(all, ici);
n = evas_list_next(all);
-   if (!n) 
+   if (!n)
  {
 	n = evas_list_prev(all);
 	if (!n) return;
  }
-   
+
ic = n-data;
if (!ic) return;
-   
+
e_fm2_select_set(cfdata-o_fm, ic-file, 1);
e_fm2_file_show(cfdata-o_fm, ic-file);
-   
+
evas_list_free(n);
-   
+
evas_object_smart_callback_call(cfdata-o_fm, selection_change, cfdata);
 }
 
@@ -294,7 +294,7 @@
 {
E_Config_Dialog_Data *cfdata;
const char *f;
-   
+
cfdata = data;
if (cfdata-use_theme_bg)
  {
@@ -320,7 +320,7 @@
E_Config_Dialog_Data *cfdata;
char path[4096];
const char *homedir;
-   
+
cfdata = data;
if (cfdata-fmdir == 1)
  {
@@ -338,11 +338,11 @@
 _cb_import(void *data1, void *data2)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = data1;
if (cfdata-win_import)
  e_win_raise(cfdata-win_import);
-   else 
+   else
  cfdata-win_import = e_int_config_wallpaper_import(cfdata-cfd);
 }
 
@@ -350,11 +350,11 @@
 _cb_gradient(void *data1, void *data2)
 {
E_Config_Dialog_Data *cfdata;
-   
+
cfdata = data1;
if (cfdata-dia_gradient)
  e_win_raise(cfdata-dia_gradient-win);
-   else 
+   else
  cfdata-dia_gradient = e_int_config_wallpaper_gradient(cfdata-cfd);
 }
 
@@ -364,7 +364,7 @@
char path[4096];
E_Config_Wallpaper *cw;
const E_Config_Desktop_Background *cfbg;
-  
+
cw = cfdata-cfd-data;
 
if (cw-specific_config)
@@ -400,10 +400,10 @@
 	 cfdata-bg = strdup(cfbg-file);
 	  }
  }
-   
-   if ((!cfdata-bg)  e_config-desktop_default_background) 
+
+   if ((!cfdata-bg)  e_config-desktop_default_background)
  cfdata-bg = strdup(e_config-desktop_default_background);
-   
+
if (cfdata-bg)
  {
 	const char *f;
@@ -434,9 +434,9 @@
 static void
 _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
 {
-   if (cfdata-win_import) 
+   if 

Re: [E-devel] patch: no more ghost windows - was 'The default value of 'allow_above_fullscreen''

2007-06-12 Thread Hannes Janetzek
it seems that a border event for border property change doesn't get
freed(though the reason i didn't found). this simple patch fixes all
my problems with ghost windows. For me it is enough to not send the
event if  border-already_unparented(in e_border_eval). Though this
patch causes to not evaluate the border is it's already unparented. I
think this makes sense and i didn't find any problems with this so far.

Can you confirm that this works for you too?

--
Hannes jeffdameth JanetzekIndex: e_border.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.594
diff -u -r1.594 e_border.c
--- e_border.c	10 Jun 2007 04:39:51 -	1.594
+++ e_border.c	12 Jun 2007 14:08:41 -
@@ -4878,6 +4878,8 @@
int change_urgent = 0;
int rem_change = 0;
int send_event = 1;
+ 
+   if(bd-already_unparented) return;

/* fetch any info queued to be fetched */
if (bd-client.icccm.fetch.client_leader)
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] The default value of 'allow_above_fullscreen'

2007-06-11 Thread Hannes Janetzek
Am Mon, 11 Jun 2007 22:51:34 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:

 Wouldn't it be better if the default value of 'allow_above_fullscreen'
 is 0, so that fullscreen windows can stay above the shelves? Since the
 users are pretty much used to fullscreen windows staying above
 everything else, I think it's better to not confuse them, and make
 them write pointless emails to the lists.
 
You are right. I wrote that patch and since i only use invisible shelves
i missed to see this problem. sry 

--
Hannes Janetzek

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ghost windows - was 'The default value of 'allow_above_fullscreen''

2007-06-11 Thread Hannes Janetzek
Am Mon, 11 Jun 2007 22:51:34 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:

 And for some OT. I've noticed that for a few days now, ghost windows
 have been appearing left and right. Every second dialog box tends to
 be left behind as a ghost. Apps that are hidden to a tray also tend
 to get ghosted quite a lot.

This is strange. i thought this was only caused by the itask_ng
module. though i now checked it and saw that all refs become unrefed(in
my module). Still only when the module is enabled gedit
and exactly one of the synaptic dialogs stay as ghost windows after
closing.  

One thing they both have in common is that e dispatches a
border-change-event after the remove-event.
can you confirm this for the apps that you have problems with? 

--
Hannes Janetzek



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ghost windows - was 'The default value of 'allow_above_fullscreen''

2007-06-11 Thread Hannes Janetzek
Am Tue, 12 Jun 2007 00:45:55 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:

 В пн, 2007-06-11 в 23:34 +0200, Hannes Janetzek написа:
  Am Mon, 11 Jun 2007 22:51:34 +0300
  schrieb Виктор Кожухаров [EMAIL PROTECTED]:
  
   And for some OT. I've noticed that for a few days now, ghost
   windows have been appearing left and right. Every second dialog
   box tends to be left behind as a ghost. Apps that are hidden to a
   tray also tend to get ghosted quite a lot.
  
  This is strange. i thought this was only caused by the itask_ng
  module. though i now checked it and saw that all refs become
  unrefed(in my module). Still only when the module is enabled gedit
  and exactly one of the synaptic dialogs stay as ghost windows after
  closing.  
  
  One thing they both have in common is that e dispatches a
  border-change-event after the remove-event.
  can you confirm this for the apps that you have problems with? 
  
 unfortunately, no. after the latest commits today. most of the
 ghosting problems seems to have gotten fixed (as opposed to yesterday
 for instance). Though I still get an occasionaly ghost, it doesn't
 happen as ofter as needed for proper debugging.

AHHH! This is weird. I found now that i get ghost windows only when
itask AND the pager module is enabled, so it does not when only one
is active. 
Do you have tried to disable modules that act on borders?

 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] language module fix - dont unload all modules on restart

2007-06-06 Thread Hannes Janetzek
The langugage module causes that all modules will become unloaded on
restart. it seems that this is directly caused by the call to
e_config_save() in e_mod_keybindings. this is not needed anyway as the
keybinding is still stored without this.


--
Hannes 'jeffdameth' Janetzek? language.patch
Index: e_mod_keybindings.c
===
RCS file: /var/cvs/e/e_modules/language/src/module/e_mod_keybindings.c,v
retrieving revision 1.13
diff -u -r1.13 e_mod_keybindings.c
--- e_mod_keybindings.c	11 Oct 2006 12:17:22 -	1.13
+++ e_mod_keybindings.c	7 Jun 2007 01:10:27 -
@@ -65,7 +65,7 @@
 
e_action_predef_name_del(LANG_ACTION_GROUP, LANG_ACTION_NEXT_LANGUAGE); 
e_action_predef_name_del(LANG_ACTION_GROUP, LANG_ACTION_PREV_LANGUAGE);
-   e_config_save();
+   //e_config_save();
 
return 1;
 }
@@ -98,7 +98,7 @@
_lang_unregister_module_keybinding((language_config-switch_prev_lang_key), 1);
 
e_managers_keys_grab();
-   e_config_save();
+   //e_config_save();
 
return 1;
 }
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] The module list is not correctly remembered upon restart

2007-05-31 Thread Hannes Janetzek
Am Wed, 30 May 2007 00:01:18 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:

 Can anyone else reproduce this? It seems that for some time (I'd say
 about a month), the list of modules is not saved correctly in e.cfg
 when restarting with the ctrl+alt+end combo (or related menu item). I
 didn't have time to dig too deeply into this, but what I've found is
 that e.cfg already contains a smaller number of modules when it is
 read after the restart. And the modules that dissapear (are not
 enabled) are either all, or at least a lot of them (but there doesn't
 seem to be any consistency). When exiting enlightenment, the module
 list is saved correctly. Also, when restarting right after
 enlightenment has started, the list is also saved correctly. 
 

Same problem here. I also have deleted e's config, but there wasnt the
cause either.

--
jeffdameth




 Perhaps someone who has some spare free time can look into this :)

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] efm patch - select application to open directories

2007-05-26 Thread Hannes Janetzek
Hi,
 this patch let the user select which application is used to open a
directory (in the open with... dialog). Later it might be useful to
set one filemanager as default, e.g. if one wants to open
directories on the desktop with entropy, or others. 

i'm not shure if the line
ic-info.mime = evas_stringshare_add(x-directory/normal);
 is correct, since i dont know how stringshare works. intended would
be that only one instance of this string exists(shared between all
directory files).

Regards,
Hannes jeffdameth Janetzek
 Index: e_fm.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_fm.c,v
retrieving revision 1.171
diff -u -r1.171 e_fm.c
--- e_fm.c	21 May 2007 14:12:48 -	1.171
+++ e_fm.c	26 May 2007 15:32:11 -
@@ -2776,6 +2776,10 @@
 	/* FIXME: end go away chunk */
  }

+   if(S_ISDIR(ic-info.statinfo.st_mode))
+ {
+   ic-info.mime = evas_stringshare_add(x-directory/normal);
+ }
if (!ic-info.mime)
  {
 	mime = e_fm_mime_filename_get(ic-info.file);
Index: e_fwin.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_fwin.c,v
retrieving revision 1.46
diff -u -r1.46 e_fwin.c
--- e_fwin.c	21 May 2007 14:12:48 -	1.46
+++ e_fwin.c	26 May 2007 15:32:13 -
@@ -725,8 +725,7 @@
 _e_fwin_file_is_exec(E_Fm2_Icon_Info *ici)
 {
/* special file or dir - can't exec anyway */
-   if ((S_ISDIR(ici-statinfo.st_mode)) ||
-   (S_ISCHR(ici-statinfo.st_mode)) ||
+  if ((S_ISCHR(ici-statinfo.st_mode)) ||
(S_ISBLK(ici-statinfo.st_mode)) ||
(S_ISFIFO(ici-statinfo.st_mode)) ||
(S_ISSOCK(ici-statinfo.st_mode)))
@@ -935,22 +934,16 @@
 	   {
 		  if (ici-link)
 		{
-		   if (!S_ISDIR(ici-statinfo.st_mode))
-			 {
-			f = e_fm_mime_filename_get(ici-link);
-			mimes = evas_hash_del(mimes, f, (void *)1);
-			mimes = evas_hash_direct_add(mimes, f, (void *)1);
-			 }
+		  f = e_fm_mime_filename_get(ici-link);
+		  mimes = evas_hash_del(mimes, f, (void *)1);
+		  mimes = evas_hash_direct_add(mimes, f, (void *)1);
 		}
 		  else
 		{
-		   snprintf(buf, sizeof(buf), %s/%s,
-e_fm2_real_path_get(fwin-fm_obj), ici-file);
-		   if (!S_ISDIR(ici-statinfo.st_mode))
-			 {
-			mimes = evas_hash_del(mimes, ici-mime, (void *)1);
-			mimes = evas_hash_direct_add(mimes, ici-mime, (void *)1);
-			 }
+		  snprintf(buf, sizeof(buf), %s/%s,
+			   e_fm2_real_path_get(fwin-fm_obj), ici-file);
+		  mimes = evas_hash_del(mimes, ici-mime, (void *)1);
+		  mimes = evas_hash_direct_add(mimes, ici-mime, (void *)1);
 		}
 	   }
 	  }
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] fullscreen option patch - allow windows to above a fullscreen window

2007-05-20 Thread Hannes Janetzek
Hi,
this patch adds the option to have windows above fullscreen windows.
This is for example nice to reach the hidden shelves when working with
fullscreen.  For me this behavior could even be the default (without
option) since it is quite irritating to use alt-tab but then the
selected window doesnt appear. 

Regards,
Hannes Index: e_config.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.242
diff -u -r1.242 e_config.c
--- e_config.c	12 May 2007 22:40:03 -	1.242
+++ e_config.c	20 May 2007 22:19:52 -
@@ -428,6 +428,7 @@
E_CONFIG_VAL(D, T, maximize_policy, INT); /**/
E_CONFIG_VAL(D, T, allow_manip, INT); /**/
E_CONFIG_VAL(D, T, border_fix_on_shelf_toggle, INT); /**/
+   E_CONFIG_VAL(D, T, allow_above_fullscreen, INT); /**/
E_CONFIG_VAL(D, T, kill_if_close_not_possible, INT); /**/
E_CONFIG_VAL(D, T, kill_process, INT); /**/
E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); /**/
@@ -1399,7 +1400,11 @@
e_config-menu_favorites_show = 1;
e_config-menu_apps_show = 1;
IFCFGEND;
-   
+
+   IFCFG(0x0119);
+   e_config-allow_above_fullscreen = 1;
+   IFCFGEND;
+
e_config-config_version = E_CONFIG_FILE_VERSION;   
  
 #if 0 /* example of new config */
@@ -1462,6 +1467,7 @@
E_CONFIG_LIMIT(e_config-maximize_policy, E_MAXIMIZE_FULLSCREEN, E_MAXIMIZE_DIRECTION);
E_CONFIG_LIMIT(e_config-allow_manip, 0, 1);
E_CONFIG_LIMIT(e_config-border_fix_on_shelf_toggle, 0, 1);
+   E_CONFIG_LIMIT(e_config-allow_above_fullscreen, 0, 1);
E_CONFIG_LIMIT(e_config-kill_if_close_not_possible, 0, 1);
E_CONFIG_LIMIT(e_config-kill_process, 0, 1);
E_CONFIG_LIMIT(e_config-kill_timer_wait, 0.0, 120.0);
Index: e_config.h
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.155
diff -u -r1.155 e_config.h
--- e_config.h	12 May 2007 22:40:03 -	1.155
+++ e_config.h	20 May 2007 22:19:52 -
@@ -169,6 +169,7 @@
int maximize_policy; // GUI
int allow_manip; // GUI
int border_fix_on_shelf_toggle; // GUI
+   int allow_above_fullscreen; // GUI
int kill_if_close_not_possible;
int kill_process;
double  kill_timer_wait;
Index: e_int_config_window_manipulation.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_int_config_window_manipulation.c,v
retrieving revision 1.18
diff -u -r1.18 e_int_config_window_manipulation.c
--- e_int_config_window_manipulation.c	11 Apr 2007 15:37:04 -	1.18
+++ e_int_config_window_manipulation.c	20 May 2007 22:19:54 -
@@ -28,6 +28,7 @@
int border_fix_on_shelf_toggle;
int border_raise_on_mouse_action;
int border_raise_on_focus;
+   int allow_above_fullscreen; 
 };
 
 /* a nice easy setup function that does the dirty work */
@@ -75,6 +76,7 @@
cfdata-border_fix_on_shelf_toggle = e_config-border_fix_on_shelf_toggle;
cfdata-border_raise_on_mouse_action = e_config-border_raise_on_mouse_action;
cfdata-border_raise_on_focus = e_config-border_raise_on_focus;
+   cfdata-allow_above_fullscreen = e_config-allow_above_fullscreen;
 }
 
 static void *
@@ -125,6 +127,7 @@
e_config-border_fix_on_shelf_toggle = cfdata-border_fix_on_shelf_toggle;
e_config-border_raise_on_mouse_action = cfdata-border_raise_on_mouse_action;
e_config-border_raise_on_focus = cfdata-border_raise_on_focus;
+   e_config-allow_above_fullscreen = cfdata-allow_above_fullscreen;
e_config_save_queue();
return 1; /* Apply was OK */
 }
@@ -186,6 +189,8 @@
e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _(Raise when clicking to focus), (cfdata-border_raise_on_focus));
e_widget_framelist_object_append(of, ob);
+   ob = e_widget_check_add(evas, _(Allow windows to be above fullscreen window), (cfdata-allow_above_fullscreen));
+   e_widget_framelist_object_append(of, ob);
e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);

of = e_widget_framelist_add(evas, _(Resistance), 0);
Index: e_border.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.590
diff -u -r1.590 e_border.c
--- e_border.c	7 May 2007 18:01:42 -	1.590
+++ e_border.c	20 May 2007 22:20:03 -
@@ -1990,8 +1990,9 @@
 	bd-client_inset.b = 0;
 
 	/* e_zone_fullscreen_set(bd-zone, 1); */
+if(!e_config-allow_above_fullscreen)
+	  e_border_layer_set(bd, 200);
 
-	e_border_layer_set(bd, 200);
 	if ((evas_list_count(bd-zone-container-zones)  1) || (policy == E_FULLSCREEN_RESIZE))
 	  {
 	 e_border_move_resize(bd, bd-zone-x, bd-zone-y, bd-zone-w, bd-zone-h);
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 

Re: [E-devel] itask engaged - simple app launcher added

2007-04-28 Thread Hannes Janetzek
Am Tue, 24 Apr 2007 16:20:46 +1000
schrieb Daniel Kasak [EMAIL PROTECTED]:

 Looks good :) Actually I'd like to see the engage-like scaling in an
 app *launcher* as well as a task manager, but anyway ... it's good.

It is now possible to select whether the bar should be a taskmanager or
an app launcher. I like it more to have them both separated, i.e not in
one bar. But later i might add the possibility to have them in one bar.

For those who want to stay up to date with development. there is a
google group mailinglist where commits to itask go to:
e17-taskbar-module-commit-list


Regards,
Hannes

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask engaged - simple app launcher added

2007-04-28 Thread Hannes Janetzek
Am Sat, 28 Apr 2007 23:27:21 +1000
schrieb Daniel Kasak [EMAIL PROTECTED]:

 Hannes Janetzek wrote:
  Am Tue, 24 Apr 2007 16:20:46 +1000
  schrieb Daniel Kasak [EMAIL PROTECTED]:
 

  Looks good :) Actually I'd like to see the engage-like scaling in
  an app *launcher* as well as a task manager, but anyway ... it's
  good. 
 
  It is now possible to select whether the bar should be a
  taskmanager or an app launcher. I like it more to have them both
  separated, i.e not in one bar. But later i might add the
  possibility to have them in one bar.
 
  For those who want to stay up to date with development. there is a
  google group mailinglist where commits to itask go to:
  e17-taskbar-module-commit-list

 
 Cool :) Thanks for adding this. I've just synced with the subversion 
 repository and rebuilt ... unfortunately I'm getting segfaults when I 
 try to activate the launcher mode.
 
 Also, the ALT-Click to activate the configuration menu only works
 when the shelf is 'above everything'.
 
 Sorry to be the bringer of crash reports and stuff. I do like the
 module :)

no no, thanks for telling me. I'm sometimes to lazy to delete the
config-files, so some bugs don't show up and i think it just works. 
This should be fixed now. 

I want to make the config dialog more comfortable, but for now the
launcher config dialog (to select the apps) is only shown when the
other config dialog is not open.
 
--
Hannes
 
 Dan
 
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask engaged - simple app launcher added

2007-04-28 Thread Hannes Janetzek
Am Sat, 28 Apr 2007 15:58:48 +0100
schrieb João Vale [EMAIL PROTECTED]:


 I noticed a bug in the Launcher Configuration dialogue, however. When
 you add an application to a source, it only keeps the newly added
 ones. Any applications previously in the IBar Applications list are
 discarded. 
 

This is a feature, really :)  
the .order files  for itask_ng are stored
in .e/e/modules/itask/apps/source_name/.order 

btw, if you want to change the order in that the icons appear you have
to edit this file atm

--
Hannes


 Keep up the good work! Great module. :)
 
 //Vale
 
 
  
  I want to make the config dialog more comfortable, but for now the
  launcher config dialog (to select the apps) is only shown when the
  other config dialog is not open.
   
  --
  Hannes
   
   Dan
   
   -
   This SF.net email is sponsored by DB2 Express
   Download DB2 Express C - the FREE version of DB2 express and take
   control of your XML. No limits. Just data. Click to get it now.
   http://sourceforge.net/powerbar/db2/
   ___
   enlightenment-devel mailing list
   enlightenment-devel@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
  
  -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask engaged - simple app launcher added

2007-04-28 Thread Hannes Janetzek
 I noticed a bug in the Launcher Configuration dialogue, however. When
 you add an application to a source, it only keeps the newly added
 ones. Any applications previously in the IBar Applications list are
 discarded. 

ah ok, i see now what you've probably meant. you have to restart the
module(or e) if you change the source. I'll have at this.

 
 Keep up the good work! Great module. :)
 
 //Vale

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask engaged - pre alpha release

2007-04-24 Thread Hannes Janetzek
Am Tue, 24 Apr 2007 08:39:06 +0200
schrieb Igor \FeR\ Scabini [EMAIL PROTECTED]:

 Daniel Kasak ha scritto:
  Hannes Janetzek wrote:
  
  Hi,
  itask_ng starts to get usable. So if someone wants to try it's
  available from svn:
  http://itask-module.googlecode.com/svn/trunk/ itask-module/itask_ng
 
  a video is here (it looks better in reality, this was recorded with
  4fps) http://video.google.de/videoplay?docid=-1525947350649682737
 
  there's a README that explains how to set up the shelf correctly.

  
  Looks good :) Actually I'd like to see the engage-like scaling in
  an app *launcher* as well as a task manager, but anyway ... it's
  good. I assume the goal is to drop the 116-pixel requirement for
  making it look nice?
  

hey, it's pre alpha (in the usual meaning of the term). So it should
become configurable once it´s more polished. An app-laucher is also on
the unwritten TODO list 

 
 I still have a problem that I can replicate very well: sometimes when
 I left-click on an icon in itask module the shelv menu open and the
 app too, so this *feature* is only annoing me, not stopping using
 this module.
 
  The README file did spark some questions though:
  
  you need to have composite manager running like for example
  xcompmgr, bling, egloo or bang
  
  I'll be good and not ask when bang is coming :)
  
  But what is egloo? I googled for it and found absolutely nothing.
  Not announced yet?
  
  Dan
 
 You can find egloo here:
 http://mtreny.free.fr/egloo/
 I don't know anything about the author and development plan, from the 
 video it loooks good.
 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask engaged - pre alpha release

2007-04-24 Thread Hannes Janetzek
Am Tue, 24 Apr 2007 08:39:06 +0200
schrieb Igor \FeR\ Scabini [EMAIL PROTECTED]:

 Daniel Kasak ha scritto:

 I still have a problem that I can replicate very well: sometimes when
 I left-click on an icon in itask module the shelv menu open and the
 app too, so this *feature* is only annoing me, not stopping using
 this module.
 

Do you use itask or itask_ng ?

I don't know if this is configurable, but on left-click the shelf menu
should not show up. 



  The README file did spark some questions though:
  
  you need to have composite manager running like for example
  xcompmgr, bling, egloo or bang
  
  I'll be good and not ask when bang is coming :)
  
  But what is egloo? I googled for it and found absolutely nothing.
  Not announced yet?
  
  Dan
 
 You can find egloo here:
 http://mtreny.free.fr/egloo/
 I don't know anything about the author and development plan, from the 
 video it loooks good.
 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] shelf autohide patch

2007-04-22 Thread Hannes Janetzek
a small update to my last patch to show the shelf again if one disables
autohide while the shelf is hidden.

Please tell me if something is not ok with this and I'll try to fix it.


--
Hannes Janetzek Index: e_shelf.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.56
diff -u -r1.56 e_shelf.c
--- e_shelf.c	11 Apr 2007 15:37:04 -	1.56
+++ e_shelf.c	22 Apr 2007 14:06:40 -
@@ -19,7 +19,6 @@
 static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static void _e_shelf_cb_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static void _e_shelf_cb_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info);
-static void _e_shelf_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static int  _e_shelf_cb_id_sort(void *data1, void *data2);
 static int  _e_shelf_cb_hide_timer(void *data);
 static int  _e_shelf_cb_hide_animator(void *data);
@@ -142,8 +141,7 @@
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_DOWN, _e_shelf_cb_mouse_down, es);
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_UP, _e_shelf_cb_mouse_up, es);
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_IN, _e_shelf_cb_mouse_in, es);
-   evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_OUT, _e_shelf_cb_mouse_out, es);
-
+ 
es-o_base = edje_object_add(es-evas);
es-name = evas_stringshare_add(name);
snprintf(buf, sizeof(buf), e/shelf/%s/base, es-style);
@@ -271,36 +269,47 @@
 EAPI void
 e_shelf_toggle(E_Shelf *es, int show)
 {
-   E_OBJECT_CHECK(es);
-   E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
-   if (show)
- {
-	if (es-hide_timer)
-	  {
-	 ecore_timer_del(es-hide_timer);
-	 es-hide_timer = NULL;
-	  }
-	if (es-hidden  !es-instant_timer)
-	  {  
-	 es-hidden = 0;
-	 edje_object_signal_emit(es-o_base, e,state,visible, e);
-	 if (es-instant_delay = 0.0)
-	   {
-		  if (!es-instant_timer)
-		_e_shelf_cb_instant_hide_timer(es);
-	   }
-	 else
-	   {
-		  if(!es-hide_animator)
-		es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
-	   }
-	  }
- }
-   else if (!show  es-cfg-autohide  !es-hidden)
- {
-	if(!es-hide_timer)
-	  es-hide_timer = ecore_timer_add(es-cfg-hide_timeout, _e_shelf_cb_hide_timer, es);
- }
+  E_OBJECT_CHECK(es);
+  E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
+
+  if(!es-cfg-autohide  !es-hidden) return;
+   
+  if (show)
+{
+
+  if(!es-hide_timer) es-hide_timer = ecore_timer_add(0.1, _e_shelf_cb_hide_timer, es);
+
+  if (es-hidden  !es-instant_timer)
+	{  
+	  es-hidden = 0;
+	  edje_object_signal_emit(es-o_base, e,state,visible, e);
+	  if (es-instant_delay = 0.0)
+	{
+	  if (!es-instant_timer)
+		_e_shelf_cb_instant_hide_timer(es);
+	}
+	  else
+	{
+	  if(!es-hide_animator)
+		es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	}
+	}
+}
+  else if (!show  es-cfg-autohide  !es-hidden)  
+{
+  es-hidden = 1; 
+  edje_object_signal_emit(es-o_base, e,state,hidden, e);
+  if (es-instant_delay = 0.0)
+	{
+	  if (!es-instant_timer)
+	es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+	}
+  else
+	{
+	  if (!es-hide_animator)
+	es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	}
+}
 }
 
 EAPI void
@@ -1149,25 +1158,6 @@
e_shelf_toggle(es, 1);
 }
 
-static void
-_e_shelf_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Out *ev;
-   E_Shelf *es;
-
-   es = data;
-   ev = event_info;
-   if (es-cfg-autohide)
- {
-	Evas_Coord x, y, w, h;
-
-	evas_object_geometry_get(es-o_base, x, y, w, h);
-	if (!E_INSIDE(ev-canvas.x, ev-canvas.y, x, y, w, h))
-	  e_shelf_toggle(es, 0);
- }
-   edje_object_signal_emit(es-o_base, e,state,unfocused, e);
-}
-
 static int
 _e_shelf_cb_id_sort(void *data1, void *data2)
 {
@@ -1178,28 +1168,36 @@
return (es1-id)  (es2-id);
 }
 
-static int
+static int 
 _e_shelf_cb_hide_timer(void *data)
 {
-   E_Shelf *es;
+  Evas_Coord x, y, w, h, px, py;
 
-   es = data;
+  E_Shelf *es = data;
 
-   es-hidden = 1; 
-   edje_object_signal_emit(es-o_base, e,state,hidden, e);
-   if (es-instant_delay = 0.0)
- {
-	if (!es-instant_timer)
-	  es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
- }
-   else
- {
-	if (!es-hide_animator)
-	  es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
- }
-   es-hide_timer = NULL;
-
-   return 0;
+  evas_object_geometry_get(es-o_base, x, y, w, h);
+  evas_pointer_canvas_xy_get(es-evas, px, py);
+  
+  if (E_INSIDE(px, py, x, y, w, h))
+{
+  es-last_in = ecore_time_get();
+  return 1;
+}
+  else
+{
+  if(es-last_in + es-cfg-hide_timeout

[E-devel] itask engaged - pre alpha release

2007-04-22 Thread Hannes Janetzek
Hi,
itask_ng starts to get usable. So if someone wants to try it's
available from svn:
http://itask-module.googlecode.com/svn/trunk/ itask-module/itask_ng

a video is here (it looks better in reality, this was recorded with
4fps) http://video.google.de/videoplay?docid=-1525947350649682737

there's a README that explains how to set up the shelf correctly.

--
Hannes Janetzek 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ideas for a new 'desklet'-module api

2007-04-19 Thread Hannes Janetzek
Am Wed, 18 Apr 2007 19:42:22 -0400
schrieb Michael Jennings [EMAIL PROTECTED]:

 On Wednesday, 18 April 2007, at 21:29:05 (+0200),
 Hannes Janetzek wrote:
 
  I would say engage, devian, calendar and all this desklet-stuff
  falls in this category for example.
 
 Devian and calendar are both dead.  The module form of engage is also
 outdated.

These were just examples for the kind of modules that doesnt fit well in
the shelf.  My point is that there are modules which have common
requirements which could be provided by e  to make
developing these modules easier and to make their
configuration/instantiation consistent. 

Regards,
Hannes


 
 Michael
 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] shelf autohide - patch to make sure that the shelf hides on mouseout

2007-04-19 Thread Hannes Janetzek
Hi,
this patch changes the shelfs autohide feature to use polling to detect
when then mouse is out of the shelf.  

There is still one problem left: If a module pops up a menu or if one
drags something out of the shelf the shelf doesn't hide. My Idea for
this would be to add the functions e_gadcon_client_autohide_freeze and
-thaw so that the module can call these before and after a menu is
activated. See the comment in the patch where the shelf would test the
freeze-state to act according to the state. 


Regards,
Hannes

Index: e_shelf.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.56
diff -u -r1.56 e_shelf.c
--- e_shelf.c	11 Apr 2007 15:37:04 -	1.56
+++ e_shelf.c	19 Apr 2007 16:40:06 -
@@ -19,13 +19,13 @@
 static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static void _e_shelf_cb_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static void _e_shelf_cb_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info);
-static void _e_shelf_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static int  _e_shelf_cb_id_sort(void *data1, void *data2);
 static int  _e_shelf_cb_hide_timer(void *data);
 static int  _e_shelf_cb_hide_animator(void *data);
 static int  _e_shelf_cb_instant_hide_timer(void *data);
 static void _e_shelf_menu_del_hook(void *data);
 static void _e_shelf_menu_pre_cb(void *data, E_Menu *m);
+static int  _e_shelf_hide_timer(void *data);
 
 static Evas_List *shelves = NULL;
 
@@ -142,8 +142,7 @@
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_DOWN, _e_shelf_cb_mouse_down, es);
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_UP, _e_shelf_cb_mouse_up, es);
evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_IN, _e_shelf_cb_mouse_in, es);
-   evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_OUT, _e_shelf_cb_mouse_out, es);
-
+ 
es-o_base = edje_object_add(es-evas);
es-name = evas_stringshare_add(name);
snprintf(buf, sizeof(buf), e/shelf/%s/base, es-style);
@@ -271,36 +270,47 @@
 EAPI void
 e_shelf_toggle(E_Shelf *es, int show)
 {
-   E_OBJECT_CHECK(es);
-   E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
-   if (show)
- {
-	if (es-hide_timer)
-	  {
-	 ecore_timer_del(es-hide_timer);
-	 es-hide_timer = NULL;
-	  }
-	if (es-hidden  !es-instant_timer)
-	  {  
-	 es-hidden = 0;
-	 edje_object_signal_emit(es-o_base, e,state,visible, e);
-	 if (es-instant_delay = 0.0)
-	   {
-		  if (!es-instant_timer)
-		_e_shelf_cb_instant_hide_timer(es);
-	   }
-	 else
-	   {
-		  if(!es-hide_animator)
-		es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
-	   }
-	  }
- }
-   else if (!show  es-cfg-autohide  !es-hidden)
- {
-	if(!es-hide_timer)
-	  es-hide_timer = ecore_timer_add(es-cfg-hide_timeout, _e_shelf_cb_hide_timer, es);
- }
+  E_OBJECT_CHECK(es);
+  E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
+
+  if(!es-cfg-autohide) return;
+   
+  if (show)
+{
+
+  if(!es-hide_timer) es-hide_timer = ecore_timer_add(0.1, _e_shelf_hide_timer, es);
+
+  if (es-hidden  !es-instant_timer)
+	{  
+	  es-hidden = 0;
+	  edje_object_signal_emit(es-o_base, e,state,visible, e);
+	  if (es-instant_delay = 0.0)
+	{
+	  if (!es-instant_timer)
+		_e_shelf_cb_instant_hide_timer(es);
+	}
+	  else
+	{
+	  if(!es-hide_animator)
+		es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	}
+	}
+}
+  else if (!show  es-cfg-autohide  !es-hidden)  
+{
+  es-hidden = 1; 
+  edje_object_signal_emit(es-o_base, e,state,hidden, e);
+  if (es-instant_delay = 0.0)
+	{
+	  if (!es-instant_timer)
+	es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+	}
+  else
+	{
+	  if (!es-hide_animator)
+	es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	}
+}
 }
 
 EAPI void
@@ -1149,25 +1159,6 @@
e_shelf_toggle(es, 1);
 }
 
-static void
-_e_shelf_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Out *ev;
-   E_Shelf *es;
-
-   es = data;
-   ev = event_info;
-   if (es-cfg-autohide)
- {
-	Evas_Coord x, y, w, h;
-
-	evas_object_geometry_get(es-o_base, x, y, w, h);
-	if (!E_INSIDE(ev-canvas.x, ev-canvas.y, x, y, w, h))
-	  e_shelf_toggle(es, 0);
- }
-   edje_object_signal_emit(es-o_base, e,state,unfocused, e);
-}
-
 static int
 _e_shelf_cb_id_sort(void *data1, void *data2)
 {
@@ -1178,28 +1169,39 @@
return (es1-id)  (es2-id);
 }
 
-static int
-_e_shelf_cb_hide_timer(void *data)
+static int 
+_e_shelf_hide_timer(void *data)
 {
-   E_Shelf *es;
+  Evas_Coord x, y, w, h, px, py;
 
-   es = data;
+  E_Shelf *es = data;
 
-   es-hidden = 1; 
-   edje_object_signal_emit(es-o_base, e,state,hidden, e);
-   if 

Re: [E-devel] Ideas for a new 'desklet'-module api

2007-04-19 Thread Hannes Janetzek
Am Thu, 19 Apr 2007 15:46:16 GMT
schrieb [EMAIL PROTECTED] [EMAIL PROTECTED]:

 
   Hannes wrote:
  ...
  ...
  
  In short: there are a bunch of other modules that need to control
  how and where they appear on the desk; modules which might have
  multiple instance configurations to store. 
  I would say engage, devian, calendar and all this desklet-stuff
  falls in this category for example.
  
  So what interfaces could be needed by such a module and how should
  the user configure these modules?
  
 
   Out of curiosity I looked up desklet and found references
 to 'gdesklets' and 'SuperKaramba', which it seems are very popular
 projects for gnome and kde respectively.
   But there also came up something called 'adesklets', which
 is a similar independent project that uses imlib2 for its gfx.
 
   To me, an edje based version of adesklets comes to mind
 as natural possibility.. ie. building on whatever groundwork has
 already been covered by the adesklets project/people. :)
 
  ...
  ...
  Are there any objections to add something like this to e?
  I mean, it could simplify the work to create a desklet-like module
  a lot. 
  If there is a better way to achieve what i want, please let me know!
 
   I wonder if it's a good idea to continue putting more and
 more things into e17. 
   Wouldn't it be better to try and work with the adesklet
 people (assuming they'd be interested) and maybe add edje based
 capabilities?  Maybe use edbus for better integration/communication
 with e17..?  Or even provide a 'kparts' like mechanism for these
 desklets so they could be 'loaded' by e17 if desired, but have
 them run independently by themselves in general... etc.
 
   Following Simon's and Brian's suggestions and ideas, I'd
 say that these 'desklets' would also be perfect candidates for
 mixed e-guitoolkit + custom-edje gadgets.

Indeed a desktop independent etk/ewl based desklet framework would be
nice to have =) 

Just an idea: Perhaps one could make a standalone module
loader for e's modules, since a bunch of these could work without e. So
people using another wm are able to use and develop e-modules.  Hehe


I still prefer a tighter integration with e, since some things are
hard to achieve otherwise. For example listing to e's
events. sending all events via dbus is much more work than what I
would propose. Drawing to the desktop is also hard until evoak is in
place or everyone uses xcomposite.

Back to the point why it could be useful to add a new features to e. I
think one can divide the ways a gadcon-client is displayed in these four
categories: floating or edge  and  container or single module.
(Drawing on the desktop or on a popup should be possible for each
of these types)
Atm only the container on an edge is supported by e(the shelf). For the
other kinds one would have to write a lots of module-code for
configuration and placement which _should_ be equal between modules. 

So the pros as far as i can see are: 
1. less duplicated code 
2. consistent configuration / instantiation
3. it's easier to write modules, so probably more people write
modules 
4. If one can't find a hypothetic module that doesn't fit in
these categories then e is complete in one more sense :)


Regards,
Hannes  


 
jose.
 
 
 
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Ideas for a new 'desklet'-module api

2007-04-18 Thread Hannes Janetzek
Hi,
I started to make a new taskbar-module based on engage. For now it
uses gadcon, but this has several disadvantages. The problem is that the
shelf is intended to hold more than one gadcon-client and therefore the
clients should be changed on changes to the shelf. In my case the
module should control the size, hiding and style of the shelf and
futhermore it doesn't make sense to have more than one client in its
shelf.   

In short: there are a bunch of other modules that need to control how
and where they appear on the desk; modules which might have multiple
instance configurations to store. 
I would say engage, devian, calendar and all this desklet-stuff falls in
this category for example.

So what interfaces could be needed by such a module and how should the
user configure these modules?

Ok, one could implement all the window- and
instance-handling-configuration for each module, but i think this
will cause a very incosistent configuration of such modules in the
end. So I would do it like this, as one example: 
'Module Settings' - 'Engage' - Configure - 'add Instance' 

From the user perspective I think it would make more sense if one adds
a module like this just like shelfs.
So the add Button from the shelf settings would show a select-window to
add a shelf or an engage bar, etc.
'Shelf Settings' - add - 'Engage'


On the interface side.
Just some ideas i had so far for this new kind of shelf.
Module provides information to the 'shelf':
- a name (to show in the select window) 
- which orientations are possible (float, edge,..)
- if size is set by the module 
Module can cause the 'shelf' 
- to resize 
- to show/hide 

'Shelf' provides funtionality 
- move window / setting the edge 
- hiding
- 'abstracts' if the module instance draws on the desk or a popup (as is
does now already)

I know there is the gadcon between the client and the shelf. Though for
this kind of shelf  gadcon could be much simplified, since it
has only to handle with one module.  


Are there any objections to add something like this to e?
I mean, it could simplify the work to create a desklet-like module a
lot. 
If there is a better way to achieve what i want, please let me know! 


Best Regards,
Hannes 'jeffdameth' Janetzek





-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] shelf authohide patch

2007-04-08 Thread Hannes Janetzek
Am Fri, 06 Apr 2007 13:22:21 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:

 В чт, 2007-04-05 в 21:09 +0200, Hannes Janetzek написа:
  Hi,
  I made a patch so that hiding of the shelf is done by the shelf and
  not by the theme. I think this will make it easier to have a
  consistent and configurable shelf-hiding behaviour. 
  I added one theme-data item to the shelf group: hidden_state_size
  which sets the height or width for the shelf when it is in hidden
  state. 
  
 The only problem with this patch that i can see is, that it should
 work regardless of whether the theme has a hidden_state_size set.
 Currently, if a theme does not have that, things will mess up, bad.
 And it might be useful to increase the default hidden_state_size from
 2 to 6, so as to minimize the chance of rolling over to another
 virtual desktop.
 
 Other than that, the patch is dandy, and if no one objects, I'll
 commit it.
Thanks.

I think the changes you have made are reasonable but one thing. The
shelf also disappears if i move the mouse out (the hide_timer starts)
and then move the mouse back in(while it is hiding or the hide_timer
is on). The attached patch should fix this.  

  
  Regards,
  Hannes
  
   
  
  -
  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
Index: e_shelf.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.54
diff -u -r1.54 e_shelf.c
--- e_shelf.c	8 Apr 2007 09:32:48 -	1.54
+++ e_shelf.c	8 Apr 2007 19:02:49 -
@@ -291,7 +291,8 @@
  }
else if (!show  es-cfg-autohide  !es-hidden)
  {
-	if(!es-hide_timer)
+   es-hidden = 1;
+   if(!es-hide_timer)
 	  es-hide_timer = ecore_timer_add(1.0, _e_shelf_cb_hide_timer, es);
  }
 }
@@ -1098,24 +1099,26 @@
 
es = data;
 
-   es-hidden = 1; 
-   edje_object_signal_emit(es-o_base, e,state,hidden, e);
-   if (es-instant_delay = 0.0)
+   if(es-hidden)
  {
-	if (!es-instant_timer)
-	  es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+   
+   edje_object_signal_emit(es-o_base, e,state,hidden, e);
+   if (es-instant_delay = 0.0)
+	 {
+	   if (!es-instant_timer)
+	 es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+	 }
+   else
+	 {
+	   if(!es-hide_animator)
+	 es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	 }
+   if (es-hide_timer)
+	 {
+	   ecore_timer_del(es-hide_timer);
+	   es-hide_timer = NULL;
+	 }
  }
-   else
- {
-	if(!es-hide_animator)
-	  es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
- }
-   if (es-hide_timer)
- {
-	ecore_timer_del(es-hide_timer);
-	es-hide_timer = NULL;
- }
-
return 1;
 }
 
-
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] shelf authohide patch

2007-04-08 Thread Hannes Janetzek
This patch is better. Perhaps the names es-hidden and e_shelf-hiding
are a bit misleading since hidden includes the state while the shelf
is hiding, and es-hiding means if the shelf should still hide when
the hide_timer callback fires. Sorry, I think the patch is easier to
understand :)   


Am Sun, 8 Apr 2007 21:25:30 +0200
schrieb Hannes Janetzek [EMAIL PROTECTED]:

 Am Fri, 06 Apr 2007 13:22:21 +0300
 schrieb Виктор Кожухаров [EMAIL PROTECTED]:
 
  В чт, 2007-04-05 в 21:09 +0200, Hannes Janetzek написа:
   Hi,
   I made a patch so that hiding of the shelf is done by the shelf
   and not by the theme. I think this will make it easier to have a
   consistent and configurable shelf-hiding behaviour. 
   I added one theme-data item to the shelf group:
   hidden_state_size which sets the height or width for the shelf
   when it is in hidden state. 
   
  The only problem with this patch that i can see is, that it should
  work regardless of whether the theme has a hidden_state_size set.
  Currently, if a theme does not have that, things will mess up, bad.
  And it might be useful to increase the default hidden_state_size
  from 2 to 6, so as to minimize the chance of rolling over to another
  virtual desktop.
  
  Other than that, the patch is dandy, and if no one objects, I'll
  commit it.
 Thanks.
 
 I think the changes you have made are reasonable but one thing. The
 shelf also disappears if i move the mouse out (the hide_timer starts)
 and then move the mouse back in(while it is hiding or the hide_timer
 is on). The attached patch should fix this.  
 
   
   Regards,
   Hannes
   

   
   -
   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
Index: e_shelf.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.54
diff -u -r1.54 e_shelf.c
--- e_shelf.c	8 Apr 2007 09:32:48 -	1.54
+++ e_shelf.c	8 Apr 2007 19:40:58 -
@@ -272,6 +272,7 @@
if (show  es-hidden  !es-instant_timer)
  {  
 	es-hidden = 0;
+es-hiding = 0;
 	edje_object_signal_emit(es-o_base, e,state,visible, e);
 	if (es-instant_delay = 0.0)
 	  {
@@ -291,7 +292,8 @@
  }
else if (!show  es-cfg-autohide  !es-hidden)
  {
-	if(!es-hide_timer)
+   es-hiding = 1;
+   if(!es-hide_timer)
 	  es-hide_timer = ecore_timer_add(1.0, _e_shelf_cb_hide_timer, es);
  }
 }
@@ -1098,24 +1100,26 @@
 
es = data;
 
-   es-hidden = 1; 
-   edje_object_signal_emit(es-o_base, e,state,hidden, e);
-   if (es-instant_delay = 0.0)
+   if(es-hiding)
  {
-	if (!es-instant_timer)
-	  es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+   es-hidden = 1;
+   edje_object_signal_emit(es-o_base, e,state,hidden, e);
+   if (es-instant_delay = 0.0)
+	 {
+	   if (!es-instant_timer)
+	 es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+	 }
+   else
+	 {
+	   if(!es-hide_animator)
+	 es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	 }
+   if (es-hide_timer)
+	 {
+	   ecore_timer_del(es-hide_timer);
+	   es-hide_timer = NULL;
+	 }
  }
-   else
- {
-	if(!es-hide_animator)
-	  es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
- }
-   if (es-hide_timer)
- {
-	ecore_timer_del(es-hide_timer);
-	es-hide_timer = NULL;
- }
-
return 1;
 }
 
Index: e_shelf.h
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.h,v
retrieving revision 1.20
diff -u -r1.20 e_shelf.h
--- e_shelf.h	8 Apr 2007 09:32:48 -	1.20
+++ e_shelf.h	8 Apr 2007 19:40:58 -
@@ -30,6 +30,7 @@
unsigned charfit_along : 1;
unsigned charfit_size  : 1;
unsigned charhidden: 1;
+   unsigned charhiding: 1;
int  size;
E_Config_Dialog *config_dialog;
E_Menu  *menu;
-
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

Re: [E-devel] shelf authohide patch

2007-04-08 Thread Hannes Janetzek
Ok, one last small fix. 
 

Am Sun, 8 Apr 2007 21:58:41 +0200
schrieb Hannes Janetzek [EMAIL PROTECTED]:

 This patch is better. Perhaps the names es-hidden and e_shelf-hiding
 are a bit misleading since hidden includes the state while the shelf
 is hiding, and es-hiding means if the shelf should still hide when
 the hide_timer callback fires. Sorry, I think the patch is easier to
 understand :)   
 
 
 Am Sun, 8 Apr 2007 21:25:30 +0200
 schrieb Hannes Janetzek [EMAIL PROTECTED]:
 
  Am Fri, 06 Apr 2007 13:22:21 +0300
  schrieb Виктор Кожухаров [EMAIL PROTECTED]:
  
   В чт, 2007-04-05 в 21:09 +0200, Hannes Janetzek написа:
Hi,
I made a patch so that hiding of the shelf is done by the shelf
and not by the theme. I think this will make it easier to have a
consistent and configurable shelf-hiding behaviour. 
I added one theme-data item to the shelf group:
hidden_state_size which sets the height or width for the shelf
when it is in hidden state. 

   The only problem with this patch that i can see is, that it should
   work regardless of whether the theme has a hidden_state_size
   set. Currently, if a theme does not have that, things will mess
   up, bad. And it might be useful to increase the default
   hidden_state_size from 2 to 6, so as to minimize the chance of
   rolling over to another virtual desktop.
   
   Other than that, the patch is dandy, and if no one objects, I'll
   commit it.
  Thanks.
  
  I think the changes you have made are reasonable but one thing. The
  shelf also disappears if i move the mouse out (the hide_timer
  starts) and then move the mouse back in(while it is hiding or the
  hide_timer is on). The attached patch should fix this.  
  

Regards,
Hannes

 

-
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
Index: e_shelf.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.54
diff -u -r1.54 e_shelf.c
--- e_shelf.c	8 Apr 2007 09:32:48 -	1.54
+++ e_shelf.c	8 Apr 2007 20:05:32 -
@@ -271,7 +271,7 @@
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
if (show  es-hidden  !es-instant_timer)
  {  
-	es-hidden = 0;
+es-hidden = 0;
 	edje_object_signal_emit(es-o_base, e,state,visible, e);
 	if (es-instant_delay = 0.0)
 	  {
@@ -291,7 +291,7 @@
  }
else if (!show  es-cfg-autohide  !es-hidden)
  {
-	if(!es-hide_timer)
+   if(!es-hide_timer)
 	  es-hide_timer = ecore_timer_add(1.0, _e_shelf_cb_hide_timer, es);
  }
 }
@@ -1059,6 +1059,7 @@
es = data;
ev = event_info;
edje_object_signal_emit(es-o_base, e,state,focused, e);
+   es-hiding = 0;
e_shelf_toggle(es, 1);
 }
 
@@ -1076,7 +1077,10 @@
 
 	evas_object_geometry_get(es-o_base, x, y, w, h);
 	if (!E_INSIDE(ev-canvas.x, ev-canvas.y, x, y, w, h))
-	  e_shelf_toggle(es, 0);
+  {
+	 es-hiding = 1;
+	 e_shelf_toggle(es, 0);
+	  }
  }
edje_object_signal_emit(es-o_base, e,state,unfocused, e);
 }
@@ -1098,24 +1102,26 @@
 
es = data;
 
-   es-hidden = 1; 
-   edje_object_signal_emit(es-o_base, e,state,hidden, e);
-   if (es-instant_delay = 0.0)
+   if(es-hiding)
  {
-	if (!es-instant_timer)
-	  es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+   es-hidden = 1;
+   edje_object_signal_emit(es-o_base, e,state,hidden, e);
+   if (es-instant_delay = 0.0)
+	 {
+	   if (!es-instant_timer)
+	 es-instant_timer = ecore_timer_add(es-instant_delay, _e_shelf_cb_instant_hide_timer, es);
+	 }
+   else
+	 {
+	   if(!es-hide_animator)
+	 es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
+	 }
+   if (es-hide_timer)
+	 {
+	   ecore_timer_del(es-hide_timer);
+	   es-hide_timer = NULL;
+	 }
  }
-   else
- {
-	if(!es-hide_animator)
-	  es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es);
- }
-   if (es-hide_timer)
- {
-	ecore_timer_del(es-hide_timer);
-	es-hide_timer = NULL;
- }
-
return 1;
 }
 
Index: e_shelf.h
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_shelf.h,v
retrieving revision 1.20
diff -u -r1.20 e_shelf.h
--- e_shelf.h	8 Apr 2007 09:32:48 -	1.20
+++ e_shelf.h	8 Apr 2007 20:05:32 -
@@ -30,6 +30,7 @@
unsigned charfit_along : 1;
unsigned charfit_size  : 1;
unsigned charhidden: 1

[E-devel] shelf authohide patch

2007-04-05 Thread Hannes Janetzek
Hi,
I made a patch so that hiding of the shelf is done by the shelf and not
by the theme. I think this will make it easier to have a consistent and
configurable shelf-hiding behaviour. 
I added one theme-data item to the shelf group: hidden_state_size
which sets the height or width for the shelf when it is in hidden
state. 


Regards,
Hannes

 
 
Index: default_shelf.edc
===
RCS file: /var/cvs/e/e17/apps/e/data/themes/default_shelf.edc,v
retrieving revision 1.16
diff -u -r1.16 default_shelf.edc
--- default_shelf.edc	4 Apr 2007 12:51:51 -	1.16
+++ default_shelf.edc	5 Apr 2007 18:40:31 -
@@ -11,105 +11,16 @@
name: e/shelf/default/base;
data {
   // this tells e the border is shaped
-  item: shaped 1;
+  //item: shaped 1;
+item: hidden_state_size 6;
}
parts {
-  part {
-	 name:  item_clip_bottom;
-	 type:  RECT;
-	 mouse_events:  0;
-	 description {
-	state:default 0.0;
-	color: 255 255 255 0;
-	 }
-	 description {
-	state:hidden 0.0;
-	inherit: default 0.0;
-	rel1 {
-	   relative: 0.0 1.0;
-	   offset: 0 -2;
-	}
-	rel2 {
-	   relative: 1.0 2.0;
-	   offset: -1 -3;
-	}
-	 }
-  }
-  part {
-	 name:  item_clip_top;
-	 type:  RECT;
-	 mouse_events:  0;
-	 description {
-	state:default 0.0;
-	color: 255 255 255 0;
-	 }
-	 description {
-	state:hidden 0.0;
-	inherit: default 0.0;
-	rel1 {
-	   relative: 0.0 -1.0;
-	   offset: 0 2;
-	}
-	rel2 {
-	   relative: 1.0 0.0;
-	   offset: -1 1;
-	}
-	 }
-  }
-  part {
-	 name:  item_clip_left;
-	 type:  RECT;
-	 mouse_events:  0;
-	 description {
-	state:default 0.0;
-	color: 255 255 255 0;
-	 }
-	 description {
-	state:hidden 0.0;
-	inherit: default 0.0;
-	rel1 {
-	   relative: -1.0 0.0;
-	   offset: 2 0;
-	}
-	rel2 {
-	   relative: 0.0 1.0;
-	   offset: 1 -1;
-	}
-	 }
-  }
-  part {
-	 name:  item_clip_right;
-	 type:  RECT;
-	 mouse_events:  0;
-	 description {
-	state:default 0.0;
-	color: 255 255 255 0;
-	 }
-	 description {
-	state:hidden 0.0;
-	inherit: default 0.0;
-	rel1 {
-	   relative: 1.0 0.0;
-	   offset: -2 0;
-	}
-	rel2 {
-	   relative: 2.0 1.0;
-	   offset: -3 -1;
-	}
-	 }
-  }
+ 
   part {
 	 name:  base;
 	 mouse_events:  0;
-//	 clip_to:   item_clip;
 	 description {
 	state:default 0.0;
-	rel1 {
-	   to: item_clip_top;
-	}
-	rel2 {
-	   to: item_clip_top;
-	}
 	image {
 	   normal: e17_shelf_bg_h.png;
 	   border: 19 19 9 9;
@@ -126,12 +37,6 @@
 	 description {
 	state:top_left 0.0;
 	inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_top;
-	}
-	rel2 {
-	   to: item_clip_top;
-	}
 	fill {
 	   origin {
 		  offset: -16 -6;
@@ -144,12 +49,6 @@
 	 description {
 	state:top_right 0.0;
 	inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_top;
-	}
-	rel2 {
-	   to: item_clip_top;
-	}
 	fill {
 	   origin {
 		  offset: 0 -6;
@@ -162,12 +61,6 @@
 	 description {
 	state:bottom 0.0;
 	inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_bottom;
-	}
-	rel2 {
-	   to: item_clip_bottom;
-	}
 	fill {
 	   origin {
 		  offset: 0 0;
@@ -180,12 +73,6 @@
 	 description {
 	state:bottom_left 0.0;
 inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_bottom;
-	}
-	rel2 {
-	   to: item_clip_bottom;
-	}
 	fill {
 	   origin {
 		  offset: -16 0;
@@ -198,12 +85,6 @@
 	 description {
 	state:bottom_right 0.0;
 inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_bottom;
-	}
-	rel2 {
-	   to: item_clip_bottom;
-	}
 	fill {
 	   origin {
 		  offset: 0 0;
@@ -216,12 +97,6 @@
 	 description {
 	state:left 0.0;
 inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_left;
-	}
-	rel2 {
-	   to: item_clip_left;
-	}
 	image {
 	   normal: e17_shelf_bg_v.png;
 	   border: 9 9 19 19;
@@ -238,12 +113,6 @@
 	 description {
 	state:left_top 0.0;
 inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_left;
-	}
-	rel2 {
-	   to: item_clip_left;
-	}
 	image {
 	   normal: e17_shelf_bg_v.png;
 	   border: 9 9 19 19;
@@ -260,12 +129,6 @@
 	 description {
 	state:left_bottom 0.0;
 inherit:  default 0.0;
-	rel1 {
-	   to: item_clip_left;
-	}
-	rel2 {
-	   to: item_clip_left;
-	}
 	image {
 	   normal: e17_shelf_bg_v.png;
 	   border: 9 9 19 19;
@@ -282,12 +145,6 @@
 	 description {
 	state:right 0.0;
 

[E-devel] small patch to correct winlist mouse warp

2007-03-12 Thread Hannes Janetzek
Hi,
i reused parts of e_winlist for a module and encouterd the problem
that the warp-timer wont stop due to roundings to int. This patch fixes
that.

Regards,
HannesIndex: e_winlist.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_winlist.c,v
retrieving revision 1.50
diff -u -r1.50 e_winlist.c
--- e_winlist.c	2 Mar 2007 17:00:20 -	1.50
+++ e_winlist.c	13 Mar 2007 00:28:39 -
@@ -54,10 +54,10 @@
 static Evas_List *handlers = NULL;
 static Ecore_X_Window input_window = 0;
 static int warp_to = 0;
-static int warp_to_x = 0;
-static int warp_to_y = 0;
-static int warp_x = 0;
-static int warp_y = 0;
+static double warp_to_x = 0;
+static double warp_to_y = 0;
+static double warp_x = 0;
+static double warp_y = 0;
 static int scroll_to = 0;
 static double scroll_align_to = 0.0;
 static double scroll_align = 0.0;
@@ -914,7 +914,7 @@
 {
if (warp_to)
  {
-	int x, y;
+	double x, y;
 	double spd;
 	
 	spd = e_config-winlist_warp_speed;
-
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] state of ecore_dbus

2007-02-27 Thread Hannes Janetzek
Am Mon, 26 Feb 2007 13:33:11 -0600
schrieb Brian Mattern [EMAIL PROTECTED]:

 On Mon, Feb 26, 2007 at 08:10:48PM +0100, Sebastian Dransfeld wrote:
  Hannes Janetzek wrote:
   Hi,
   I have started to make a module for e17 to control NetwokManager.
   I would like to use ecore_dbus for that, but it seems
   ecore_dbus_message_new_method_return doesn't work correctly. (I
   need this function since NetworkManager gathers user preferences
   from the client.) so when the return message is sent a
   ECORE_DBUS_EVENT_SERVER_DEL is produced on the sending side and a
   dbus timeout is recieved on the other (method calling side). 
   Am i doing soemthing wrong or is this the expected behavior atm?
   If so, do you have any hints what needs to be
   done to fix this?
  
  Can you show some sample code? And check whether the dbus samples
  work.
  
  Sebastian
  
 
 The ecore_dbus_receive_test sample (in test/orig/ecore) doesn't
 actually send a reply. (Which would definitely cause the other end to
 eventually time out if it was expecting one). So, the method_return
 code probably has never been tested.
 
 Ecore_DBus is pretty young, and still missing some functionality. If
 you want to use it, you'll probably want to get familiar with its
 code so you can fix any bugs you run across and implement any missing
 functionality you need.

ok. i invested already a few hours staring at the code of
ecore_dbus but couldn't find where the problem is exactly. As far as i
can interpret dbus-monitor's output the reply message is not even sent,
but dbus(the daemon) knows that we sent something, since
otherwise the timeout is not recieved.  
 
 As an alternative approach, I started a simple wrapper around dbus
 that hooks it into e's main loop. It provides a few convenience
 functions for setting up method receivers, etc, but requires using
 the lowlevel libdbus api for many things. 

thanks, i'll have a look at this one. using low-level dbus makes porting
simple (ie. just copy n paste). 
 
 I probably won't have any time in the next couple months to work on
 this, so I've put up a tarball at:
   http://rephorm.com/files/code/e_dbus-0.0.1.tar.gz
 
 It includes part of the hal dbus api wrapped up into a lib and a demo
 ewl app using that.
 
 I would love to see someone take this and ecore_dbus and do some
 benchmarks. In my opinion, unless we can get some significant
 speed/memory gain from ecore_dbus as opposed to libdbus, I don't see
 the point of having an independant implementation of the spec.
 

memory and performance wise there is probably not much to gain, but
I have to say that the api of ecore_dbus is really handy.  I would like
to use it for stuff i write from scratch. but anyway, it would probably
be possible to have the same api with your wrapper.

Regards,
Hannes



 rephorm
 
 
 -
 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] state of ecore_dbus

2007-02-26 Thread Hannes Janetzek
Hi,
I have started to make a module for e17 to control NetwokManager. I
would like to use ecore_dbus for that, but it seems
ecore_dbus_message_new_method_return doesn't work correctly. (I need
this function since NetworkManager gathers user preferences from the
client.) so when the return message is sent a
ECORE_DBUS_EVENT_SERVER_DEL is produced on the sending side and a dbus
timeout is recieved on the other (method calling side). 
Am i doing soemthing wrong or is this the expected behavior atm? If so,
do you have any hints what needs to be
done to fix this?

Regards,
Hannes 

-
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] add shelf to the main menu

2006-10-15 Thread Hannes Janetzek
Am Sun, 15 Oct 2006 19:23:25 -0400
schrieb Christopher Michael [EMAIL PROTECTED]:

 I created 2 different versions for this:
 
 http://devilhorns.us/images/shelf_menu.png
 
 Version 1 has the shelves listed as a sub-menu. Clicking on an 
 individual shelf will take you to the config dialog for that shelf. 
 Clicking Add a shelf will add a new shelf, and clicking Delete a 
 shelf will take you to the shelf list dialog, where you can select 
 which one to delete.
 
 Version 2 is just a quick link to the Shelf Configuration list, where 
 you can add/delete/configure shelves.
 
 Which do we want to go with?
 

i would go with the second one, as i don´t like to many too many items
in the main menu, especially when they are seldom used, for aesthetical
and practical reasons.
  
just a quick idea, what about having it like this? 

config - shelves - configure shelves (the old dialog)
 shelf 1 
 shelf 2  (for fast selection, if
   one wants to change
only one shelf)

i think lost windows could also be removed as one
gets these windows also with 'cleanup windows', ok that is probaly not
so obvious.. hm, and 'about this theme' could went to the theme
selector =)

Regards,
Hannes


 Cheers,
 devilhorns
 
 -
 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
 

-
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


Re: [E-devel] add shelf to the main menu

2006-10-15 Thread Hannes Janetzek
Am Sun, 15 Oct 2006 19:48:48 -0400
schrieb Christopher Michael [EMAIL PROTECTED]:

 Hannes Janetzek wrote:
 
  i would go with the second one, as i don´t like to many too many
  items in the main menu, especially when they are seldom used, for
  aesthetical and practical reasons.
 
 But how do you determine seldom used ? Me for instance, I never use
 the Desktops menu item (for switching)...does that mean it's seldom
 used and should be removed? Not necessarily because others may use it.
 
yep, you´re right i can´t remember that i´ve chosen desktops from the
main menu, nut i don´t know a different category to put it in. one
good point to put the shelves item into config is that it is for
configuring shelves. 

  just a quick idea, what about having it like this? 
  
  config - shelves - configure shelves (the old dialog)
   shelf 1 
   shelf 2  (for fast selection,
  if one wants to change
  only one shelf)
  
 IMHO, nested too deep and a pita to get to. Would be just as easy to 
 launch config panel and goto shelves.
 

hm, it´s the same nesting level as to choose an application from a
category. i don´t think that this is too hard to get to there for most
people.


Hannes


 devilhorns
 
 
 -
 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
 

-
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] patch to reach virtual desktop settings by right click on the pager

2006-10-09 Thread Hannes Janetzek
patch attached 

--
HannesIndex: e_mod_main.c
===
RCS file: /var/cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.190
diff -u -r1.190 e_mod_main.c
--- e_mod_main.c	24 Sep 2006 13:37:37 -	1.190
+++ e_mod_main.c	10 Oct 2006 00:44:14 -
@@ -97,6 +97,7 @@
 static void _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void _menu_cb_post(void *data, E_Menu *m);
 static void _pager_inst_cb_menu_configure(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _pager_inst_cb_menu_virtual_desktops_dialog(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _pager_instance_drop_zone_recalc(Instance *inst);
 static int _pager_cb_event_border_resize(void *data, int type, void *event);
 static int _pager_cb_event_border_move(void *data, int type, void *event);
@@ -624,6 +625,11 @@
 	e_util_menu_item_edje_icon_set(mi, enlightenment/configuration);
 	e_menu_item_callback_set(mi, _pager_inst_cb_menu_configure, NULL);
 	
+	mi = e_menu_item_new(mn);
+	e_menu_item_label_set(mi, _(Virtual Desktops));
+	e_util_menu_item_edje_icon_set(mi, enlightenment/desktops);
+	e_menu_item_callback_set(mi, _pager_inst_cb_menu_virtual_desktops_dialog, inst);
+	
 	e_gadcon_client_util_menu_items_append(inst-gcc, mn, 0);
 	
 	e_gadcon_canvas_zone_geometry_get(inst-gcc-gadcon,
@@ -656,6 +662,13 @@
_config_pager_module(NULL);
 }
 
+static void _pager_inst_cb_menu_virtual_desktops_dialog(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Instance *inst;
+   inst = data;
+   e_int_config_desks(inst-gcc-gadcon-zone-container);
+}
+
 static void
 _pager_instance_drop_zone_recalc(Instance *inst)
 {
-
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] Suspend functionality for Entrance

2006-08-24 Thread Hannes Janetzek
Am Thu, 24 Aug 2006 18:43:58 +0300
schrieb Eugen Minciu [EMAIL PROTECTED]:

 Hi,
 
 I'd like to add functionality for a 'suspend to disk' feature in
 Entrance, on Linux boxes. Right now, I'd like to allow this using
 uswsusp, which is the easiest to set up (it does require a very new
 Linux kernel version though). Of course, it should also be easy to
 setup for swsusp2. 
 
 Suspend to RAM could also be used with uswsusp, though I'm not sure
 about swsusp2.
 
 Also, I'm not aware of 'suspend to whatever' status in FreeBSD or any
 other supported operating systems at the moment.
 
Hm, I don´t think entrance would be the best place for this
funtionality, since suspend is normaly used to resume to all open
applications in their current state. 

But a module would be really nice :) I thought about doing such a
module. With config for what should happen on acpi events like
lid-open/close, etc, etc..

If you start making a module, I could do the suspend2 stuff, since it is
the only method that works for me.


Regards,
Hannes 

  


 So as I see it right now, I should code the following.
 
 1) Check to see wether the OS supports suspend to ram or suspend to
 disk. 2) Add two callbacks for each of the operations.
 3) Display two buttons for this functionality. In fact it could even
 be 3 buttons as uswsusp can suspend to both at the same time.
 
 
 Or maybe we shouldn't even bother with extra buttons
 maybe the user should see a menu, or maybe he should be allowed to
 select a 'default mode of operation', where, if he chooses so, the
 power off button would suspend to hard-drive, or to RAM.
 
 I'm waiting on your opinion regarding this entire thing. Also, I
 can't do any graphical stuff (clueless) so if I you guys decide you
 want me to do this, I can't be of any help with the graphics.
 
 Cheers,
 Eugen.
 
 -
 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
 

-
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


Re: [E-devel] e_menu patch for smarter placement

2006-08-14 Thread Hannes Janetzek
Am Sun, 13 Aug 2006 22:11:49 +
schrieb Hannes Janetzek [EMAIL PROTECTED]:

 Hello,
 
 I made a patch for e_menu that minimizes the need for vertical
 scrolling. 
 
 The submenu starts either above or below the actual
 Item, not only below. It works as follows: if the menu is larger than
 the screen then place the menu so that more is shown. e.g. if it
 starts in the lower half of the screen more is shown when the menu is
 above. If the menu is smaller than the screen but it goes offscreen
 then it is also tested if the menu should go above.
 
 The submenu starts of  course direct next to the actual item. The
 terms above and below could be misleading.
 
 If this should be made an option I can change the patch, though i
 could hardly understand why someone would like it less comfortable :) 
  
ok, I see there could also be an aesthetical reason against this
placement method.  Though it would be good if it could be set by the
application. For example the start module when it is at the bottom one
has to scroll for almost all items in favourite applications which
is pretty uncomfortable.

So what about a function like:
e_menu_submenu_placement_set(E_Menu *mn, int placement);
which could enable the functionality.  Default placement would stay the
same. With 0 for default, 1 for two direction placement.


--
Hannes



-
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] e_menu patch for smarter placement

2006-08-13 Thread Hannes Janetzek
Hello,

I made a patch for e_menu that minimizes the need for vertical
scrolling. 

The submenu starts either above or below the actual
Item, not only below. It works as follows: if the menu is larger than
the screen then place the menu so that more is shown. e.g. if its start
in the lower half of the screen more is shown when the menu is above.
If the menu is smaller than the screen but it goes offscreen then it is
also tested if the menu should go above.

The submenu starts of  course direct next to the actual item. The terms
above and below could be misleading.

If this should be made an option I can change the patch, though i could
hardly understand why someone would like it less comfortable :) 


Hannes


 Index: e_menu.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_menu.c,v
retrieving revision 1.58
diff -u -r1.58 e_menu.c
--- e_menu.c	9 Aug 2006 15:24:34 -	1.58
+++ e_menu.c	13 Aug 2006 21:14:34 -
@@ -1823,7 +1823,29 @@

if (!m-parent_item) return;
m-cur.x = m-parent_item-menu-cur.x + m-parent_item-menu-cur.w;
-   m-cur.y = m-parent_item-menu-cur.y + m-parent_item-y - m-container_y;
+
+   int parent_item_bottom = m-parent_item-menu-cur.y + m-parent_item-y;
+   if(m-cur.h  m-zone-h)
+ {
+   /* menu is larger than screen */
+   if(parent_item_bottom  (m-zone-h / 2))
+ /* more is shown if menu goes up */
+ m-cur.y = (parent_item_bottom - (m-container_h + 1)); 
+   else
+ /* more is shown if menu goes down */
+ m-cur.y = parent_item_bottom - m-container_y;
+ }
+   else
+ {  
+   /* menu is smaller than screen */
+   if(((parent_item_bottom + m-cur.h - m-container_y)  m-zone-h)  
+   (parent_item_bottom  (m-zone-h / 2)))
+ /* menu is partially out of screen and more is shown if menu goes up */
+ m-cur.y = (parent_item_bottom - (m-container_h + 1)); 
+   else
+ m-cur.y = parent_item_bottom - m-container_y;
+ }
+   
/* FIXME: this will suck for big menus */
for (l = _e_active_menus; l; l = l-next)
  {
-
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


Re: [E-devel] a solution for modules getting too large?

2006-08-12 Thread Hannes Janetzek
Am Fri, 11 Aug 2006 23:11:35 +
schrieb Aleksej Struk [EMAIL PROTECTED]:

 
 Actually there is no need to make something now, because I'm almost
 finished fixing current gadcon clients positiong algo. So, it will
 solve the problem of correct gadcon clients position in the gadcon.
 Also, it will deal with the size of the gadcon client. Therefore, the
 gadcon clien still will have just to ask for position and size. The
 rest - correct size/position will be done by gadcon itself.
 
 sndev
 

Great :)

if you are working on e_gadcon.c at the moment. there was typo
 _e_gadcon_movereisze_handle when i looked at it.


Hannes









 On Fri, Aug 11, 2006 at 08:39:47PM +, Hannes Janetzek wrote:
  Hello,
  
  how is it possible to get the size to which a gadcon client can
  maximal grow without overlapping with others and also that it
  doesnt get larger as the zone? I thought of implementing a function
  like 
  e_gadcon_client_max_size_get(E_Gadcon_Client *gcc, int *size );
  
  that should go trough the list of clients of its gadcon and
  determine their actual size minus the max size that the gadcon can
  actually get. This would also require a new callback in shelf to
  determine the size that it can maximal provide.
  
  Is this wanted or are there other plans to get rid of the problem
  with modules getting too large? e.g see taskbar.
  
  I will start making this, if it is ok and has a chance to get
  accepted.
  
  
  Regards,
  Hannes 
  
 
  
  -
  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
 

-
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] e_border patch against property change events when moving windows

2006-08-11 Thread Hannes Janetzek
Hello,

I saw that there are property events send if windows were moved, but
for this there is already the border move event. As far as I see it, no
app uses the property change event to listen for window moves, and if
so it probably shouldn´t. 

Here is a 3 liner patch to omit this behavior.


Hannes
Index: e_border.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.521
diff -u -r1.521 e_border.c
--- e_border.c	7 Aug 2006 20:25:34 -	1.521
+++ e_border.c	11 Aug 2006 13:07:10 -
@@ -4663,10 +4663,12 @@
 
 static void
 _e_border_eval(E_Border *bd)
-{
+{	
E_Event_Border_Property *event;
int change_urgent = 0;
int rem_change = 0;
+   int send_event = 1;
+   

/* fetch any info queued to be fetched */
if (bd-client.icccm.fetch.client_leader)
@@ -5834,6 +5836,7 @@
 	e_container_shape_move(bd-shape, bd-x, bd-y);
 	bd-changes.pos = 0;
 	rem_change = 1;
+	send_event = 0;
  }
else if (bd-changes.size)
  {
@@ -6223,11 +6226,13 @@
if ((bd-remember)  (rem_change))
  e_remember_update(bd-remember, bd);
 
-
-   event = calloc(1, sizeof(E_Event_Border_Property));
-   event-border = bd;
-   e_object_ref(E_OBJECT(bd));
-   ecore_event_add(E_EVENT_BORDER_PROPERTY, event, _e_border_event_border_property_free, NULL);
+   if(send_event)
+   {
+   	event = calloc(1, sizeof(E_Event_Border_Property));
+   	event-border = bd;
+   	e_object_ref(E_OBJECT(bd));
+   	ecore_event_add(E_EVENT_BORDER_PROPERTY, event, _e_border_event_border_property_free, NULL);
+   }
 }
 
 static void
-
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] a solution for modules getting too large?

2006-08-11 Thread Hannes Janetzek
Hello,

how is it possible to get the size to which a gadcon client can maximal
grow without overlapping with others and also that it doesnt get larger
as the zone? I thought of implementing a function like 
 
e_gadcon_client_max_size_get(E_Gadcon_Client *gcc, int *size );

that should go trough the list of clients of its gadcon and determine
their actual size minus the max size that the gadcon can actually get.
This would also require a new callback in shelf to determine the size
that it can maximal provide.

Is this wanted or are there other plans to get rid of the problem
with modules getting too large? e.g see taskbar.

I will start making this, if it is ok and has a chance to get accepted.


Regards,
Hannes 

   

-
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


Re: [E-devel] E CVS: engage handyande

2006-08-10 Thread Hannes Janetzek
Am Thu, 10 Aug 2006 13:27:28 +1000
schrieb David Seikel [EMAIL PROTECTED]:

 
 window.c: In function `window_input_shape_rectangle_set':
 window.c:49: error: `ShapeInput' undeclared (first use in this
 function) window.c:49: error: (Each undeclared identifier is reported
 only once window.c:49: error: for each function it appears in.)
 
 At least on my SuSE 9.3 Pro.


Sorry, I forgot that not everyone is on the bleeding edge.
 
patch attached. Index: window.c
===
RCS file: /var/cvs/e/misc/engage/src/window.c,v
retrieving revision 1.32
diff -u -r1.32 window.c
--- window.c	9 Aug 2006 21:38:13 -	1.32
+++ window.c	10 Aug 2006 12:17:22 -
@@ -40,6 +40,7 @@
 static void
 window_input_shape_rectangle_set(Ecore_X_Window win, int x, int y, int w, int h)
 {
+#ifdef ShapeInput
XRectangle rect;

rect.x = x;
@@ -47,6 +48,7 @@
rect.width = w;
rect.height = h;
XShapeCombineRectangles(ecore_x_display_get(), win, ShapeInput, 0, 0, rect, 1, ShapeSet, Unsorted);
+#endif
 }
 
 
@@ -100,12 +102,14 @@
 {
   if (_ee != ee)
 return;
-
+
+#ifdef ShapeInput   
   if(options.use_composite)
   {
 Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
 window_input_shape_rectangle_set(win,0,0,options.width,options.height);
   }
+#endif
   
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
@@ -119,12 +123,14 @@
 {
   if (_ee != ee)
 return;
-  
+
+#ifdef ShapeInput  
   if(options.use_composite) // it should be enough to do this at zoom out, but so it looks less cluttered
   { 
 Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
 window_input_shape_rectangle_set(win,0,options.height-options.size,options.width,options.size);
   }
+#endif
 
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
@@ -236,13 +242,16 @@
 
   ecore_evas_title_set(ee, Engage);
   ecore_evas_name_class_set(ee, engage, engage);
- 
+
+
   if(options.use_composite)
   {
+#ifdef ShapeInput  
 ecore_evas_alpha_set(ee, 1);
 Ecore_X_Window win = ecore_evas_software_x11_window_get(ee);
 ecore_x_window_override_set(win,1);
 window_input_shape_rectangle_set(win,0,options.height-options.size,options.width,options.size);
+#endif  
   }
   else
 ecore_evas_borderless_set(ee, 1);  
@@ -445,11 +454,13 @@
   } else if (dock.state == zoomed || dock.state == zooming)
   	{
   od_dock_zoom_out();
+#ifdef ShapeInput  
   if(options.use_composite)
   {
   	Ecore_X_Window win = ecore_evas_software_x11_window_get(ee);
 window_input_shape_rectangle_set(win, 0, options.height-options.size, options.width, options.size); 
   }
+#endif
   	}
 }
 
-
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] bug with border icon edit dialog

2006-08-07 Thread Hannes Janetzek
Hi,

I found a bug, that if one closes the icon edit dialog, while the icon
chooser is open and then close the filer chooser it segfaults e.  

Another thing is that if one applys changes to an icon by the
border edit dialog, then the icon gets removed from the eap.

Regards,
Hannes

-
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


Re: [E-devel] bug with border icon edit dialog

2006-08-07 Thread Hannes Janetzek
Am Tue, 8 Aug 2006 03:25:30 +
schrieb Hannes Janetzek [EMAIL PROTECTED]:

 Hi,
 
 I found a bug, that if one closes the icon edit dialog, while the icon
 chooser is open and then close the filer chooser it segfaults e.  
 
 Another thing is that if one applys changes to an icon by the
 border edit dialog, then the icon gets removed from the eap.

hm,  I mean if one applys changes to an eap, but
doesn´t select an icon, the old icon gets removed.


 Regards,
 Hannes
 
 -
 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
 

-
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] new taskbar module

2006-08-04 Thread Hannes Janetzek
Hi,
I made a taskbar module based on ibox.  The functionality is
convenient: icons have a menu for the most common task like closing
max/minimize, set sticky, etc. Dragging icons out of the bar brings the
apps from other desktops to the current desktop.  Further details can
be found in the README.   

http://www.informatik.uni-bremen.de/~jeff/itask.tar.gz

this patch needs to be applied to e17before
http://www.informatik.uni-bremen.de/~jeff/border-title-change.patch


Regards,
Hannes


-
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] new taskbar module

2006-08-04 Thread Hannes Janetzek
Am Fri, 04 Aug 2006 23:59:30 +0200
schrieb Sebastian Dransfeld [EMAIL PROTECTED]:

 Hannes Janetzek wrote:
  Hi,
  I made a taskbar module based on ibox.  The functionality is
  convenient: icons have a menu for the most common task like closing
  max/minimize, set sticky, etc. Dragging icons out of the bar brings
  the apps from other desktops to the current desktop.  Further
  details can be found in the README.   
  
  http://www.informatik.uni-bremen.de/~jeff/itask.tar.gz
  
  this patch needs to be applied to e17before
  http://www.informatik.uni-bremen.de/~jeff/border-title-change.patch
 
 Have you implemented the Allowed actions stuff from netwm too?
 Would be nice :)
 
hm, I don´t exactly know what you mean with Allowed actions. The
menu is basically a stripped down version of the border menu with all
its restrictions for different window types, like no maximize option
for windows that can´t be maximized.
I didn´t  include the different maximize options, since I´ve never used
them. For me the menu should only have the most often used funtions,
but everyone is free to include the functions he or she needs. This
should be made as config options.

It would be great to have some feedback what others think is needed for
a taskbar. common give it a try :)

btw is it planned to include a help dialogs in e17? For now I put the
help in the about dialog, which is certainly not the best place.


Hannes



 Sebastian
 
 -
 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


Re: [E-devel] new taskbar module

2006-08-04 Thread Hannes Janetzek
Am Fri, 4 Aug 2006 17:57:43 -0700
schrieb Blake Barnett [EMAIL PROTECTED]:

 
 On Aug 4, 2006, at 5:58 PM, Hannes Janetzek wrote:
 
 snip
 
  It would be great to have some feedback what others think is
  needed for
  a taskbar. common give it a try :)
 
 snip
 
 Here's a couple of my ideas on the subject.  (again)
 
 http://marc.theaimsgroup.com/?l=enlightenment- 
 develm=113513395432378w=2
 

hm, could you write a detailed use case for this? I can´t imagine
how this should work or look like. 

- User opens an image editing/viewing application.
- Taskbar changes to a new mode and displays things like:
  - A small slideshow or bar of recently edited/viewed images
eaps should store mime-types of the applications for this to work.
I would appreciate to have this. 

  -A group of tools that the user put in place that they like to 
  have handy when editing images.
One could use the menu of the favourite category to which the task
icon belongs :)


Hannes



 -Blake
 

-
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] e_border patch for having title change events

2006-08-03 Thread Hannes Janetzek
Hi,
I´m currently working on a taskbar which of course needs to be informaed
when border titles change. I hope this patch is ok, it works just like
the icon change event.  

Regards,
Hannes
? border-title-change.patch
Index: e_border.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.519
diff -u -r1.519 e_border.c
--- e_border.c	29 Jul 2006 15:09:53 -	1.519
+++ e_border.c	3 Aug 2006 14:45:18 -
@@ -67,6 +67,8 @@
 static void _e_border_event_border_desk_set_free(void *data, void *ev);
 static void _e_border_event_border_stack_free(void *data, void *ev);
 static void _e_border_event_border_icon_change_free(void *data, void *ev);
+static void _e_border_title_change(E_Border *border, char* title);
+static void _e_border_event_border_title_change_free(void *data, void *ev);
 static void _e_border_event_border_focus_in_free(void *data, void *ev);
 static void _e_border_event_border_focus_out_free(void *data, void *ev);
 static void _e_border_event_border_resize_free(void *data, void *ev);
@@ -129,6 +131,7 @@
 EAPI int E_EVENT_BORDER_UNSTICK = 0;
 EAPI int E_EVENT_BORDER_STACK = 0;
 EAPI int E_EVENT_BORDER_ICON_CHANGE = 0;
+EAPI int E_EVENT_BORDER_TITLE_CHANGE = 0;
 EAPI int E_EVENT_BORDER_FOCUS_IN = 0;
 EAPI int E_EVENT_BORDER_FOCUS_OUT = 0;
 
@@ -181,6 +184,7 @@
E_EVENT_BORDER_UNSTICK = ecore_event_type_new();
E_EVENT_BORDER_STACK = ecore_event_type_new();
E_EVENT_BORDER_ICON_CHANGE = ecore_event_type_new();
+   E_EVENT_BORDER_TITLE_CHANGE = ecore_event_type_new();
E_EVENT_BORDER_FOCUS_IN = ecore_event_type_new();
E_EVENT_BORDER_FOCUS_OUT = ecore_event_type_new();
 
@@ -4686,8 +4690,7 @@
 	bd-client.icccm.fetch.title = 0;
 	if (bd-bg_object)
 	  {
-	 edje_object_part_text_set(bd-bg_object, title_text,
-   bd-client.icccm.title);
+	  	_e_border_title_change(bd, bd-client.icccm.title);
 	  }
  }
if (bd-client.netwm.fetch.name)
@@ -4698,8 +4701,7 @@
 	bd-client.netwm.fetch.name = 0;
 	if (bd-bg_object)
 	  {
-	 edje_object_part_text_set(bd-bg_object, title_text,
-   bd-client.netwm.name);
+	_e_border_title_change(bd, bd-client.netwm.name);
 	  }
  }
if (bd-client.icccm.fetch.name_class)
@@ -5364,11 +5366,10 @@
 		}
 
 		  if (bd-client.netwm.name)
-		edje_object_part_text_set(o, title_text,
-	  bd-client.netwm.name);
+		_e_border_title_change(bd, bd-client.netwm.name);
 		  else if (bd-client.icccm.title)
-		edje_object_part_text_set(o, title_text,
-	  bd-client.icccm.title);
+		_e_border_title_change(bd, bd-client.icccm.title);
+
 		  evas_object_resize(o, 1000, 1000);
 		  edje_object_calc_force(o);
 		  edje_object_part_geometry_get(o, client, cx, cy, cw, ch);
@@ -6542,6 +6547,31 @@
free(e);
 }
 
+
+static void _e_border_title_change(E_Border *bd, char* title)
+{
+	
+   edje_object_part_text_set(bd-bg_object, title_text,
+   title);
+   E_Event_Border_Title_Change *ev;
+   ev = calloc(1, sizeof(E_Event_Border_Title_Change));
+   ev-border = bd;
+   e_object_ref(E_OBJECT(bd));
+   //e_object_breadcrumb_add(E_OBJECT(bd), border_title_change_event); //hm, for which hungry duck might this be ?
+   ecore_event_add(E_EVENT_BORDER_TITLE_CHANGE, ev,
+	  _e_border_event_border_title_change_free, NULL);
+}
+
+static void
+_e_border_event_border_title_change_free(void *data, void *ev)
+{
+   E_Event_Border_Title_Change *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e-border));
+   free(e);
+}
+
 static void
 _e_border_event_border_focus_in_free(void *data, void *ev)
 {
Index: e_border.h
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.146
diff -u -r1.146 e_border.h
--- e_border.h	17 Jul 2006 19:04:01 -	1.146
+++ e_border.h	3 Aug 2006 14:45:19 -
@@ -87,6 +87,7 @@
 typedef struct _E_Event_Border_Desk_Set  E_Event_Border_Desk_Set;
 typedef struct _E_Event_Border_Stack E_Event_Border_Stack;
 typedef struct _E_Event_Border_Icon_Change   E_Event_Border_Icon_Change;
+typedef struct _E_Event_Border_Title_Change   E_Event_Border_Title_Change;
 typedef struct _E_Event_Border_Focus_In	 E_Event_Border_Focus_In;
 typedef struct _E_Event_Border_Focus_Out E_Event_Border_Focus_Out;
 
@@ -525,6 +526,11 @@
E_Border *border;
 };
 
+struct _E_Event_Border_Title_Change
+{
+   E_Border *border;
+};
+
 struct _E_Event_Border_Focus_In
 {
E_Border *border;
@@ -626,6 +632,7 @@
 extern EAPI int E_EVENT_BORDER_DESK_SET;
 extern EAPI int E_EVENT_BORDER_STACK;
 extern EAPI int E_EVENT_BORDER_ICON_CHANGE;
+extern EAPI int E_EVENT_BORDER_TITLE_CHANGE;
 extern EAPI int E_EVENT_BORDER_FOCUS_IN;
 extern EAPI int E_EVENT_BORDER_FOCUS_OUT;
 
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the 

Re: [E-devel] engage is ready for composite

2006-08-03 Thread Hannes Janetzek
Ok, new patch minus one dumb mistake.
I Should have first look at the the theme data... 

usage is now:
engage -T false -m 0 -t none -B caff -C 1 


? engage-composite-redraw_timer-2.patch
? engage-composite-redraw_timer.patch
? engage-composite.patch
Index: config.c
===
RCS file: /var/cvs/e/misc/engage/src/config.c,v
retrieving revision 1.58
diff -u -r1.58 config.c
--- config.c	25 Feb 2006 18:29:04 -	1.58
+++ config.c	31 Jul 2006 00:31:56 -
@@ -136,7 +136,12 @@
   ignore-running, Ignore running apps);
   ecore_config_boolean_create(engage.options.ignore_iconified, 0, 'I',
   ignore-iconified, Ignore iconified windows);
-
+  
+  
+  ecore_config_boolean_create(engage.options.use_composite, 0, 'C',
+  use-composite,Use with composite manager for nice transparency effects);
+  
+  
   ecore_config_load();
   ret = ecore_config_args_parse();
 
@@ -179,7 +184,8 @@
   options.tray = ecore_config_boolean_get(engage.options.tray);
   options.ignore_run = ecore_config_boolean_get(engage.options.ignore_running);
   options.ignore_min = ecore_config_boolean_get(engage.options.ignore_iconified);
-
+  
+  options.use_composite = ecore_config_boolean_get(engage.options.use_composite);
   return ret;
 }
 
Index: dock.c
===
RCS file: /var/cvs/e/misc/engage/src/dock.c,v
retrieving revision 1.20
diff -u -r1.20 dock.c
--- dock.c	25 Oct 2005 00:54:54 -	1.20
+++ dock.c	31 Jul 2006 00:31:56 -
@@ -118,11 +118,25 @@
   need_redraw = true;
 }
 
+double lasttime = 0;
+
 void
 od_dock_redraw(Ecore_Evas * ee)
 {
-  Evas_List  *item = dock.icons;
+  
 
+double time = ecore_time_get();
+	
+	if(time - lasttime  0.04)
+	{
+	 // need_redraw = false; // 
+	  return;
+	}
+
+lasttime = time;
+
+
+  Evas_List  *item = dock.icons;
   while (item) {
 OD_Icon*icon = (OD_Icon *) item-data;
 
Index: engage.h
===
RCS file: /var/cvs/e/misc/engage/src/engage.h,v
retrieving revision 1.30
diff -u -r1.30 engage.h
--- engage.h	25 Oct 2005 00:54:54 -	1.30
+++ engage.h	31 Jul 2006 00:32:00 -
@@ -104,6 +104,7 @@
   unsignedbg_fore, bg_back; // color - ARGB
   double  icon_appear_duration;
   int tray, ignore_run, ignore_min;
+  int			  use_composite;
 };
 
 struct _OD_Window {
Index: window.c
===
RCS file: /var/cvs/e/misc/engage/src/window.c,v
retrieving revision 1.31
diff -u -r1.31 window.c
--- window.c	13 Jun 2005 18:55:14 -	1.31
+++ window.c	31 Jul 2006 00:32:02 -
@@ -6,6 +6,8 @@
 #include X11/Xlib.h
 #include X11/Xatom.h
 #include X11/Xutil.h
+#include X11/extensions/shape.h
+
 #ifdef XINERAMA
 #include X11/extensions/Xinerama.h
 #endif
@@ -32,6 +34,22 @@
 static void handle_menu_draw(void *data, Evas * e, Evas_Object * obj,
  void *event);
 static void od_window_set_hidden(int hidden);
+static void 	window_input_shape_rectangle_set(Ecore_X_Window win, int x, int y, int w, int h);
+
+
+static void
+window_input_shape_rectangle_set(Ecore_X_Window win, int x, int y, int w, int h)
+{
+   XRectangle rect;
+   
+   rect.x = x;
+   rect.y = y;
+   rect.width = w;
+   rect.height = h;
+   XShapeCombineRectangles(ecore_x_display_get(), win, ShapeInput, 0, 0, rect, 1, ShapeSet, Unsorted);
+}
+
+
 int
 od_window_hide_timer_cb(void *data)
 {
@@ -82,6 +100,13 @@
 {
   if (_ee != ee)
 return;
+
+  if(options.use_composite)
+  {
+Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
+window_input_shape_rectangle_set(win,0,0,options.width,options.height);
+  }
+  
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
   mouse_focus_timer = NULL;
@@ -94,6 +119,13 @@
 {
   if (_ee != ee)
 return;
+  
+  if(options.use_composite) // it should be enough to do this at zoom out, but so it looks less cluttered
+  { 
+Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
+window_input_shape_rectangle_set(win,0,options.height-options.size,options.width,options.size);
+  }
+
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
   mouse_focus_timer = ecore_timer_add(0.5, od_window_hide_timer_cb, NULL);
@@ -188,7 +220,7 @@
   if (!(strcmp(options.engine, gl)))
 ee = ecore_evas_gl_x11_new(NULL, 0,
(int) ((res_x - options.width) / 2.0 + x),
-   (int) (res_y - options.height + y),
+   (int) (res_y - options.height + y), 
options.width, options.height);
   else {
 if (strcmp(options.engine, software)) {
@@ -198,18 +230,33 @@
 }
 ee = 

Re: [E-devel] does alpha_set work together with shaped_set?

2006-07-30 Thread Hannes Janetzek
Am Sat, 29 Jul 2006 20:31:10 +0900
schrieb Carsten Haitzler (The Rasterman) [EMAIL PROTECTED]:

 On Sat, 29 Jul 2006 10:38:01 + Hannes Janetzek
 [EMAIL PROTECTED] babbled:
 
  Hi,
  
  I´m trying to make engage work in a composite environment.
  Everything works fine so far. The Problem is when I use set_alpha
  and then set_shaped, the whole window still recieves input events.
  Does shape_set not work if the window was set up to use alpha
  channel? If so, have somebody an idea how to work around this? 
 
 correct - shaped and alpha are mutually exclusive. you woudl need to
 manually generate a shape mask and set the input event mask (new
 addition to shape extn) to what u want... ie - what u want isnt
 supported in ecore/evas.

hm, I did it manually but the window still gets focus when the
pointer is on the not masked area... I think I have to dig deeper
into this. 

Have you seen any documentation on the ShapeInput option? 
As far as I understand it it should work just like ShapeBounding
- XShapeCombineMask for ShapeBounding gives only mouse events to the
window in the masked area AND make the not masked area fully
transparent. XShapeCombineMask for ShapeInput should do only the former,
right?

Or could it be possible that the wm has to know about ShapeInput to set
focus correctly ?



btw. Is it wanted that in _ecore_evas_x_render()
ecore_x_window_shape_events_select() gets such a complex second
argument if the only thing that it constantly should say is turn on /
turn off ?  Also to me it looks like it says turn on twice.



Regards,
Hannes



 
  I tried to move and resize the window to make it smaller when its
  not in zoomed state, but the results aren´t pleasing..
  
  
  Regards,
  Hannes 
  
  -
  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


Re: [E-devel] engage is ready for composite

2006-07-30 Thread Hannes Janetzek
Am Sun, 30 Jul 2006 22:55:37 +0900
schrieb Carsten Haitzler (The Rasterman) [EMAIL PROTECTED]:

 On Sun, 30 Jul 2006 14:29:29 + Hannes Janetzek
 [EMAIL PROTECTED] babbled:
 
  Am Sat, 29 Jul 2006 20:31:10 +0900
  schrieb Carsten Haitzler (The Rasterman) [EMAIL PROTECTED]:
  
   On Sat, 29 Jul 2006 10:38:01 + Hannes Janetzek
   [EMAIL PROTECTED] babbled:
   
Hi,

I´m trying to make engage work in a composite environment.
Everything works fine so far. The Problem is when I use
set_alpha and then set_shaped, the whole window still recieves
input events. Does shape_set not work if the window was set up
to use alpha channel? If so, have somebody an idea how to work
around this? 
   
   correct - shaped and alpha are mutually exclusive. you woudl need
   to manually generate a shape mask and set the input event mask
   (new addition to shape extn) to what u want... ie - what u want
   isnt supported in ecore/evas.
  
  hm, I did it manually but the window still gets focus when the
  pointer is on the not masked area... I think I have to dig deeper
  into this. 
 
 ooh because it's a managed window and the wm (e) will not understand
 anythng about event shapes - it only handles traditional shapes. so
 you need to set the shape to  the largest region in which you will
 draw pixels (otherwise they might get chopped off/clipped away). e
 doesn't know about event shapes so it wont do it for you :(
 

ok, for this case it isn´t really needed. Shape changes on every zoom
step is in any case to much overhead. Now i just change the
InputShape at mouse in / out. With an override window it works well.

So I finished my composite option for engage. it is not perfect, but if
one of the developers would have a look at it I will send it as patch.


Regards,
Hannes

-
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] engage is ready for composite

2006-07-30 Thread Hannes Janetzek
Ok, new patch minus one dumb mistake.
I Should have first look at the the theme data... 

usage is now:
engage -T false -m 0 -t none -B caff -C 1 


? engage-composite-redraw_timer-2.patch
? engage-composite-redraw_timer.patch
? engage-composite.patch
Index: config.c
===
RCS file: /var/cvs/e/misc/engage/src/config.c,v
retrieving revision 1.58
diff -u -r1.58 config.c
--- config.c	25 Feb 2006 18:29:04 -	1.58
+++ config.c	31 Jul 2006 00:31:56 -
@@ -136,7 +136,12 @@
   ignore-running, Ignore running apps);
   ecore_config_boolean_create(engage.options.ignore_iconified, 0, 'I',
   ignore-iconified, Ignore iconified windows);
-
+  
+  
+  ecore_config_boolean_create(engage.options.use_composite, 0, 'C',
+  use-composite,Use with composite manager for nice transparency effects);
+  
+  
   ecore_config_load();
   ret = ecore_config_args_parse();
 
@@ -179,7 +184,8 @@
   options.tray = ecore_config_boolean_get(engage.options.tray);
   options.ignore_run = ecore_config_boolean_get(engage.options.ignore_running);
   options.ignore_min = ecore_config_boolean_get(engage.options.ignore_iconified);
-
+  
+  options.use_composite = ecore_config_boolean_get(engage.options.use_composite);
   return ret;
 }
 
Index: dock.c
===
RCS file: /var/cvs/e/misc/engage/src/dock.c,v
retrieving revision 1.20
diff -u -r1.20 dock.c
--- dock.c	25 Oct 2005 00:54:54 -	1.20
+++ dock.c	31 Jul 2006 00:31:56 -
@@ -118,11 +118,25 @@
   need_redraw = true;
 }
 
+double lasttime = 0;
+
 void
 od_dock_redraw(Ecore_Evas * ee)
 {
-  Evas_List  *item = dock.icons;
+  
 
+double time = ecore_time_get();
+	
+	if(time - lasttime  0.04)
+	{
+	 // need_redraw = false; // 
+	  return;
+	}
+
+lasttime = time;
+
+
+  Evas_List  *item = dock.icons;
   while (item) {
 OD_Icon*icon = (OD_Icon *) item-data;
 
Index: engage.h
===
RCS file: /var/cvs/e/misc/engage/src/engage.h,v
retrieving revision 1.30
diff -u -r1.30 engage.h
--- engage.h	25 Oct 2005 00:54:54 -	1.30
+++ engage.h	31 Jul 2006 00:32:00 -
@@ -104,6 +104,7 @@
   unsignedbg_fore, bg_back; // color - ARGB
   double  icon_appear_duration;
   int tray, ignore_run, ignore_min;
+  int			  use_composite;
 };
 
 struct _OD_Window {
Index: window.c
===
RCS file: /var/cvs/e/misc/engage/src/window.c,v
retrieving revision 1.31
diff -u -r1.31 window.c
--- window.c	13 Jun 2005 18:55:14 -	1.31
+++ window.c	31 Jul 2006 00:32:02 -
@@ -6,6 +6,8 @@
 #include X11/Xlib.h
 #include X11/Xatom.h
 #include X11/Xutil.h
+#include X11/extensions/shape.h
+
 #ifdef XINERAMA
 #include X11/extensions/Xinerama.h
 #endif
@@ -32,6 +34,22 @@
 static void handle_menu_draw(void *data, Evas * e, Evas_Object * obj,
  void *event);
 static void od_window_set_hidden(int hidden);
+static void 	window_input_shape_rectangle_set(Ecore_X_Window win, int x, int y, int w, int h);
+
+
+static void
+window_input_shape_rectangle_set(Ecore_X_Window win, int x, int y, int w, int h)
+{
+   XRectangle rect;
+   
+   rect.x = x;
+   rect.y = y;
+   rect.width = w;
+   rect.height = h;
+   XShapeCombineRectangles(ecore_x_display_get(), win, ShapeInput, 0, 0, rect, 1, ShapeSet, Unsorted);
+}
+
+
 int
 od_window_hide_timer_cb(void *data)
 {
@@ -82,6 +100,13 @@
 {
   if (_ee != ee)
 return;
+
+  if(options.use_composite)
+  {
+Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
+window_input_shape_rectangle_set(win,0,0,options.width,options.height);
+  }
+  
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
   mouse_focus_timer = NULL;
@@ -94,6 +119,13 @@
 {
   if (_ee != ee)
 return;
+  
+  if(options.use_composite) // it should be enough to do this at zoom out, but so it looks less cluttered
+  { 
+Ecore_X_Window win = ecore_evas_software_x11_window_get(_ee);
+window_input_shape_rectangle_set(win,0,options.height-options.size,options.width,options.size);
+  }
+
   if (mouse_focus_timer)
 ecore_timer_del(mouse_focus_timer);
   mouse_focus_timer = ecore_timer_add(0.5, od_window_hide_timer_cb, NULL);
@@ -188,7 +220,7 @@
   if (!(strcmp(options.engine, gl)))
 ee = ecore_evas_gl_x11_new(NULL, 0,
(int) ((res_x - options.width) / 2.0 + x),
-   (int) (res_y - options.height + y),
+   (int) (res_y - options.height + y), 
options.width, options.height);
   else {
 if (strcmp(options.engine, software)) {
@@ -198,18 +230,33 @@
 }
 ee = 

Re: [E-devel] ecore borderless_set in conflict with alpha_set ?

2006-07-29 Thread Hannes Janetzek
Am Fri, 28 Jul 2006 22:22:31 +0200
schrieb Simon TRENY [EMAIL PROTECTED]:

 On Fri, 28 Jul 2006 00:11:01 +,
 Hannes Janetzek [EMAIL PROTECTED] wrote :
 
  ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 200, 200);
  
  ecore_evas_borderless_set(ee,1);
  ecore_evas_alpha_set(ee, 1);
  
  ecore_evas_show(ee);
 
 If you invert the calling order of ecore_evas_borderless_set() and
 ecore_evas_alpha_set() (so ecore_evas_alpha_set() is called before
 ecore_evas_borderless_set()), it works.
 It's probably a bug of Ecore_Evas. Maybe ecore_evas_alpha_set() resets
 for some reasons the borderless property of the window.
 So for now, just call ecore_evas_alpha_set() before
 ecore_evas_borderless_set(), it should work.
 

Thanks that works. 

It seems not to be a bug. Sebastid told me that
windows get recreated by the call to alpha_set and so they loose
propertys setted before.

Regards,
Hannes



 Regards,
 Simon TRENY MoOm
 
 -
 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] does alpha_set work together with shaped_set?

2006-07-29 Thread Hannes Janetzek
Hi,

I´m trying to make engage work in a composite environment. Everything
works fine so far. The Problem is when I use set_alpha and then
set_shaped, the whole window still recieves input events. Does
shape_set not work if the window was set up to use alpha channel? If
so, have somebody an idea how to work around this? 

I tried to move and resize the window to make it smaller when its not
in zoomed state, but the results aren´t pleasing..


Regards,
Hannes 

-
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] ecore borderless_set in conflict with alpha_set ?

2006-07-28 Thread Hannes Janetzek
Hello,

I found some strange behavior with this ecore calls. If I dont use
alpha_set borderless_set works as expected. With alpha_set the border
gets drawn. This is the code which I have tested.

ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 200, 200);

ecore_evas_borderless_set(ee,1);
ecore_evas_alpha_set(ee, 1);

ecore_evas_show(ee);

Any Ideas what´s wrong?



Regards,
Hannes

-
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] ecore borderless_set in conflict with alpha_set ?

2006-07-28 Thread Hannes Janetzek
Am Fri, 28 Jul 2006 07:47:07 +0200
schrieb Sebastian Dransfeld [EMAIL PROTECTED]:

 Hannes Janetzek wrote:
  Hello,
  
  I found some strange behavior with this ecore calls. If I dont use
  alpha_set borderless_set works as expected. With alpha_set the
  border gets drawn. This is the code which I have tested.
  
  ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 200, 200);
  
  ecore_evas_borderless_set(ee,1);
  ecore_evas_alpha_set(ee, 1);
  
  ecore_evas_show(ee);
 
 alpha_set recreates the window, try change the order of the functions.
 
 Sebastian
 

Ah, ok thanks. This works.


Regards,
Hannes




-
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] ecore borderless_set in conflict with alpha_set ?

2006-07-27 Thread Hannes Janetzek
Hello,

I found some strange behavior with this ecore calls. If I dont use
alpha_set borderless_set works as expected. With alpha_set the border
gets drawn. This is the code which I have tested.

ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 200, 200);

ecore_evas_borderless_set(ee,1);
ecore_evas_alpha_set(ee, 1);

ecore_evas_show(ee);


Regards,
Hannes

-
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] converting modules to 'new' API

2006-07-02 Thread Hannes Janetzek
Am Tue, 27 Jun 2006 12:23:47 -0400
schrieb Mike Russo [EMAIL PROTECTED]:

 Are there any tips on how to convert 3rd party modules to the
 'new' API which eliminates config_menu and icon_file?  I understand
 I'm supposed to create a module.eap, but what about the config_menu?
 I'd really like to get eloquence working again, although I know a 
 gadman-gadcon conversion is still looming anyway, and I can't seem
 to contact the author. :(
 

Hi,
I hacked eloquence up a bit. I got it working for my needs, just tested
with xmms2. The theme selection and some other thins don´t work. 

If this helps further, I could send it to you

--
jeff

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