Enlightenment CVS committal

Author  : urandom
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h e_config.c e_config.h 
        e_int_config_window_manipulation.c e_int_shelf_config.c 
        e_shelf.c 


Log Message:
add an option to automatically re-maximize windows on shelf hide/show, and move 
away windows that are on top of the shelf away while the shelf is visible.
add more options to fine-tune the autohide in the shelf's config dialog. it 
needs some UI love though.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.585
retrieving revision 1.586
diff -u -3 -r1.585 -r1.586
--- e_border.c  6 Apr 2007 12:18:38 -0000       1.585
+++ e_border.c  11 Apr 2007 15:37:03 -0000      1.586
@@ -175,7 +175,7 @@
    handlers = evas_list_append(handlers, 
ecore_event_handler_add(EFREET_EVENT_DESKTOP_CHANGE, 
_e_border_cb_efreet_desktop_change, NULL));
 
    handlers = evas_list_append(handlers, 
ecore_event_handler_add(E_EVENT_CONFIG_ICON_THEME, 
_e_border_cb_config_icon_theme, NULL));
-   
+
    E_EVENT_BORDER_ADD = ecore_event_type_new();
    E_EVENT_BORDER_REMOVE = ecore_event_type_new();
    E_EVENT_BORDER_DESK_SET = ecore_event_type_new();
@@ -4743,6 +4743,9 @@
                                           x, y, bd->w, bd->h,
                                           &new_x, &new_y, &new_w, &new_h);
        evas_list_free(skiplist);
+       bd->shelf_fix.x = 0;
+       bd->shelf_fix.y = 0;
+       bd->shelf_fix.modified = 0;
        e_border_move(bd, new_x, new_y);
        e_zone_flip_coords_handle(bd->zone, ev->root.x, ev->root.y);
      }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -3 -r1.157 -r1.158
--- e_border.h  25 Mar 2007 17:23:48 -0000      1.157
+++ e_border.h  11 Apr 2007 15:37:04 -0000      1.158
@@ -408,6 +408,11 @@
       Ecore_Animator *anim;
    } shade;
    
+   struct {
+      int x, y;
+      int modified;
+   } shelf_fix;
+
    Evas_List *stick_desks;
    E_Menu *border_menu;
    E_Config_Dialog *border_locks_dialog;
@@ -636,7 +641,7 @@
 EAPI void e_border_signal_resize_begin(E_Border *bd, const char *dir, const 
char *sig, const char *src);
 EAPI void e_border_signal_resize_end(E_Border *bd, const char *dir, const char 
*sig, const char *src);
 EAPI void e_border_resize_limit(E_Border *bd, int *w, int *h);
-    
+
 extern EAPI int E_EVENT_BORDER_RESIZE;
 extern EAPI int E_EVENT_BORDER_MOVE;
 extern EAPI int E_EVENT_BORDER_ADD;
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -3 -r1.236 -r1.237
--- e_config.c  5 Apr 2007 17:20:09 -0000       1.236
+++ e_config.c  11 Apr 2007 15:37:04 -0000      1.237
@@ -126,6 +126,8 @@
    E_CONFIG_VAL(D, T, size, INT);
    E_CONFIG_VAL(D, T, overlap, INT);
    E_CONFIG_VAL(D, T, autohide, INT);
+   E_CONFIG_VAL(D, T, hide_timeout, FLOAT);
+   E_CONFIG_VAL(D, T, hide_duration, FLOAT);
    
    _e_config_desktop_bg_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Background", 
E_Config_Desktop_Background);
 #undef T
@@ -425,6 +427,7 @@
    E_CONFIG_VAL(D, T, winlist_pos_max_h, INT); /**/
    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, kill_if_close_not_possible, INT); /**/
    E_CONFIG_VAL(D, T, kill_process, INT); /**/
    E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); /**/
@@ -659,6 +662,7 @@
    e_config->winlist_pos_max_h = 320;
    e_config->maximize_policy = E_MAXIMIZE_SMART | E_MAXIMIZE_BOTH;
    e_config->allow_manip = 0;
+   e_config->border_fix_on_shelf_toggle = 0;
    e_config->kill_if_close_not_possible = 1;
    e_config->kill_process = 1;
    e_config->kill_timer_wait = 10.0;
@@ -1151,7 +1155,7 @@
      {
        E_Config_Shelf *cf_es;
        
-#define CFG_SHELF(_name, _con, _zone, _pop, _lay, _orient, _fita, _fits, 
_style, _size, _overlap, _autohide) \
+#define CFG_SHELF(_name, _con, _zone, _pop, _lay, _orient, _fita, _fits, 
_style, _size, _overlap, _autohide, _hide_timeout, _hide_duration) \
    cf_es = E_NEW(E_Config_Shelf, 1); \
    cf_es->name = evas_stringshare_add(_name); \
    cf_es->container = _con; \
@@ -1165,30 +1169,32 @@
    cf_es->size = _size; \
    cf_es->overlap = _overlap; \
    cf_es->autohide = _autohide; \
+   cf_es->hide_timeout = _hide_timeout; \
+   cf_es->hide_duration = _hide_duration; \
    e_config->shelves = evas_list_append(e_config->shelves, cf_es)
        /* shelves for 4 zones on head 0 by default */
        CFG_SHELF("shelf", 0, 0,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        CFG_SHELF("shelf", 0, 1,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        CFG_SHELF("shelf", 0, 2,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        CFG_SHELF("shelf", 0, 3,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        /* shelves for heada 1, 2, and 3 by default */
        CFG_SHELF("shelf", 1, 0,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        CFG_SHELF("shelf", 2, 0,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
        CFG_SHELF("shelf", 3, 0,
                  1, 200, E_GADCON_ORIENT_BOTTOM,
-                 1, 0, "default", 40, 0, 0);
+                 1, 0, "default", 40, 0, 0, 1.0, 1.0);
      }
    IFCFGEND;
    
@@ -1433,6 +1439,7 @@
    E_CONFIG_LIMIT(e_config->winlist_pos_max_h, 8, 4000);
    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->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);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -3 -r1.150 -r1.151
--- e_config.h  5 Apr 2007 17:20:09 -0000       1.150
+++ e_config.h  11 Apr 2007 15:37:04 -0000      1.151
@@ -168,6 +168,7 @@
    int         winlist_pos_max_h; // GUI
    int         maximize_policy; // GUI
    int         allow_manip; // GUI
+   int         border_fix_on_shelf_toggle; // GUI
    int         kill_if_close_not_possible;
    int         kill_process;
    double      kill_timer_wait;
@@ -401,6 +402,8 @@
    int           size;
    int           overlap;
    int          autohide;
+   float        hide_timeout;
+   float        hide_duration;
 };
 
 struct _E_Config_Mime_Icon
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_window_manipulation.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- e_int_config_window_manipulation.c  15 Jan 2007 17:43:19 -0000      1.17
+++ e_int_config_window_manipulation.c  11 Apr 2007 15:37:04 -0000      1.18
@@ -25,6 +25,7 @@
    int window_resist;
    int gadget_resist;
    int allow_manip;
+   int border_fix_on_shelf_toggle;
    int border_raise_on_mouse_action;
    int border_raise_on_focus;
 };
@@ -71,6 +72,7 @@
    if (!cfdata->maximize_direction)
      cfdata->maximize_direction = E_MAXIMIZE_BOTH;
    cfdata->allow_manip = e_config->allow_manip;
+   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;
 }
@@ -120,6 +122,7 @@
    e_config->gadget_resist = cfdata->gadget_resist;
    e_config->maximize_policy = cfdata->maximize_policy | 
cfdata->maximize_direction;
    e_config->allow_manip = cfdata->allow_manip;
+   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_save_queue();
@@ -222,6 +225,8 @@
    e_widget_framelist_object_append(of, ob);
 
    ob = e_widget_check_add(evas, _("Allow window manipulation"), 
&(cfdata->allow_manip));
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_check_add(evas, _("Automatically move/resize windows on shelf 
autohide"), &(cfdata->border_fix_on_shelf_toggle));
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
    
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_shelf_config.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- e_int_shelf_config.c        6 Apr 2007 20:23:45 -0000       1.26
+++ e_int_shelf_config.c        11 Apr 2007 15:37:04 -0000      1.27
@@ -36,6 +36,8 @@
    int layering;
    int overlapping;
    int autohiding;
+   double hide_timeout;
+   double hide_duration;
 };
 
 /* a nice easy setup function that does the dirty work */
@@ -117,6 +119,8 @@
    cfdata->size = cfdata->escfg->size;
    cfdata->overlapping = cfdata->escfg->overlap;
    cfdata->autohiding = cfdata->escfg->autohide;
+   cfdata->hide_timeout = cfdata->escfg->hide_timeout;
+   cfdata->hide_duration = cfdata->escfg->hide_duration;
    if (cfdata->size <= 24)
      cfdata->basic_size = 24;
    else if (cfdata->size <= 32)
@@ -337,7 +341,10 @@
      }
 
    cfdata->escfg->overlap = cfdata->overlapping;
+
    cfdata->escfg->autohide = cfdata->autohiding;
+   cfdata->escfg->hide_timeout = cfdata->hide_timeout;
+   cfdata->escfg->hide_duration = cfdata->hide_duration;
    if (cfdata->escfg->autohide && !cfdata->es->hidden)
      e_shelf_toggle(cfdata->es, 0);
    else if (!cfdata->escfg->autohide && cfdata->es->hidden)
@@ -453,8 +460,6 @@
    e_widget_framelist_object_append(of, ob);
    ob = e_widget_check_add(evas, _("Allow windows to overlap the shelf"), 
&(cfdata->overlapping));
    e_widget_framelist_object_append(of, ob);
-   ob = e_widget_check_add(evas, _("Auto-hide the shelf"), 
&(cfdata->autohiding));
-   e_widget_framelist_object_append(of, ob);
    e_widget_list_object_append(o2, of, 1, 1, 0.5);
    
    of = e_widget_frametable_add(evas, _("Layout"), 1);
@@ -485,6 +490,19 @@
    e_widget_frametable_object_append(of, ob, 4, 3, 1, 1, 1, 1, 1, 1);
    e_widget_list_object_append(o2, of, 1, 1, 0.5);
    
+   of = e_widget_framelist_add(evas, _("Autohide"), 0);
+   ob = e_widget_check_add(evas, _("Auto-hide the shelf"), 
&(cfdata->autohiding));
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_label_add(evas, _("Hide timeout"));
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_slider_add(evas, 1, 0, _("%.1f seconds"), 0.2, 6.0, 0.2, 0, 
&(cfdata->hide_timeout), NULL, 100);
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_label_add(evas, _("Hide duration"));
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_slider_add(evas, 1, 0, _("%.1f seconds"), 0.1, 2.0, 0.1, 0, 
&(cfdata->hide_duration), NULL, 100);
+   e_widget_framelist_object_append(of, ob);
+   e_widget_list_object_append(o2, of, 1, 1, 0.5);
+
    e_widget_list_object_append(o, o2, 1, 1, 0.5);
    
    o2 = e_widget_list_add(evas, 0, 0);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -3 -r1.55 -r1.56
--- e_shelf.c   8 Apr 2007 21:00:30 -0000       1.55
+++ e_shelf.c   11 Apr 2007 15:37:04 -0000      1.56
@@ -8,6 +8,7 @@
 static void _e_shelf_gadcon_min_size_request(void *data, E_Gadcon *gc, 
Evas_Coord w, Evas_Coord h);
 static void _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord 
w, Evas_Coord h);
 static Evas_Object *_e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client 
*gcc, const char *style);
+static void _e_shelf_toggle_border_fix(E_Shelf *es);
 static void _e_shelf_cb_menu_config(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_shelf_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_shelf_cb_menu_contents(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -77,9 +78,12 @@
                                   cf_es->popup, cf_es->layer, -1);
             if (es)
               {
+                 if (!cf_es->hide_timeout) cf_es->hide_timeout = 1.0; 
+                 if (!cf_es->hide_duration) cf_es->hide_duration = 1.0; 
                  es->cfg = cf_es;
                  es->fit_along = cf_es->fit_along;
                  es->fit_size = cf_es->fit_size;
+
                  e_shelf_orient(es, cf_es->orient);
                  e_shelf_position_calc(es);
                  e_shelf_populate(es);
@@ -269,30 +273,33 @@
 {
    E_OBJECT_CHECK(es);
    E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
-   if (show && 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);
-         }
+   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(1.0, _e_shelf_cb_hide_timer, es);
+       if(!es->hide_timer)
+         es->hide_timer = ecore_timer_add(es->cfg->hide_timeout, 
_e_shelf_cb_hide_timer, es);
      }
 }
 
@@ -389,6 +396,8 @@
        cf_es->fit_size = es->fit_size;
        cf_es->overlap = 0;
        cf_es->autohide = 0; 
+       cf_es->hide_timeout = 1.0; 
+       cf_es->hide_duration = 1.0; 
        es->cfg = cf_es;
      }
    e_config_save_queue();
@@ -565,7 +574,6 @@
    else
      es->instant_delay = -1.0;
    
-   es->hide_origin = -1;
    e_gadcon_unpopulate(es->gadcon);
    e_gadcon_populate(es->gadcon);
 }
@@ -899,6 +907,85 @@
 }
 
 static void
+_e_shelf_toggle_border_fix(E_Shelf *es)
+{
+   Evas_List *l;
+
+   if (es->cfg->overlap || !e_config->border_fix_on_shelf_toggle)
+     return;
+
+   for (l = e_border_client_list(); l; l = l->next)
+     {
+       E_Border *bd;
+
+       bd = l->data;
+       if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_NONE)
+         {
+            if (bd->lock_client_location)
+              continue;
+            if (es->hidden)
+              {
+                 if (!bd->shelf_fix.modified)
+                   continue;
+                 if (!--bd->shelf_fix.modified)
+                   {
+                      e_border_move(bd, bd->shelf_fix.x, bd->shelf_fix.y);
+                      continue;
+                   }
+              }
+
+            if (!E_INTERSECTS(bd->x, bd->y, bd->w, bd->h,
+                     es->x, es->y, es->w, es->h))
+              continue;
+
+            if (!es->hidden)
+              {
+                 if (!bd->shelf_fix.modified++)
+                   bd->shelf_fix.x = bd->x;
+                   bd->shelf_fix.y = bd->y;
+              }
+
+            switch (es->gadcon->orient)
+              {
+               case E_GADCON_ORIENT_TOP:
+               case E_GADCON_ORIENT_CORNER_TL:
+               case E_GADCON_ORIENT_CORNER_TR:
+                  if (!es->hidden)
+                    e_border_move(bd, bd->x, bd->y + es->h);
+                  break;
+               case E_GADCON_ORIENT_BOTTOM:
+               case E_GADCON_ORIENT_CORNER_BL:
+               case E_GADCON_ORIENT_CORNER_BR:
+                  if (!es->hidden)
+                    e_border_move(bd, bd->x, bd->y - es->h);
+                  break;
+               case E_GADCON_ORIENT_LEFT:
+               case E_GADCON_ORIENT_CORNER_LB:
+               case E_GADCON_ORIENT_CORNER_LT:
+                  if (!es->hidden)
+                    e_border_move(bd, bd->x + es->w, bd->y);
+                  break; 
+               case E_GADCON_ORIENT_RIGHT:
+               case E_GADCON_ORIENT_CORNER_RB:
+               case E_GADCON_ORIENT_CORNER_RT:
+                  if (!es->hidden)
+                    e_border_move(bd, bd->x - es->w, bd->y);
+                  break; 
+               default:
+                  break;
+              }
+         }
+       else
+         {
+            E_Maximize max;
+            max = bd->maximized;
+            e_border_unmaximize(bd, E_MAXIMIZE_BOTH);
+            e_border_maximize(bd, max);
+         }
+     }
+}
+
+static void
 _e_shelf_menu_append(E_Shelf *es, E_Menu *mn)
 {
    E_Menu_Item *mi;
@@ -1110,13 +1197,9 @@
        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;
-     }
+   es->hide_timer = NULL;
 
-   return 1;
+   return 0;
 }
 
 static int
@@ -1132,8 +1215,8 @@
       case E_GADCON_ORIENT_TOP:
       case E_GADCON_ORIENT_CORNER_TL:
       case E_GADCON_ORIENT_CORNER_TR:
-        /* TODO: step coefficient needs to be configurable */
-        step = ((es->h - es->hidden_state_size) / e_config->framerate) * 2;
+        step = ((es->h - es->hidden_state_size) / e_config->framerate) / 
es->cfg->hide_duration;
+        if (!step) step = 1;
         if (es->hidden)
           {
              if (es->hide_origin == -1) es->hide_origin = es->y;
@@ -1175,7 +1258,8 @@
       case E_GADCON_ORIENT_BOTTOM:
       case E_GADCON_ORIENT_CORNER_BL:
       case E_GADCON_ORIENT_CORNER_BR:
-        step = ((es->h - es->hidden_state_size) / e_config->framerate) * 2;
+        step = ((es->h - es->hidden_state_size) / e_config->framerate) / 
es->cfg->hide_duration;
+        if (!step) step = 1;
         if (es->hidden)
           {
              if (es->hide_origin == -1) es->hide_origin = es->y;
@@ -1218,7 +1302,8 @@
       case E_GADCON_ORIENT_LEFT:
       case E_GADCON_ORIENT_CORNER_LB:
       case E_GADCON_ORIENT_CORNER_LT:
-        step = ((es->w - es->hidden_state_size) / e_config->framerate) * 2;
+        step = ((es->w - es->hidden_state_size) / e_config->framerate) / 
es->cfg->hide_duration;
+        if (!step) step = 1;
         if (es->hidden)
           {
              if (es->hide_origin == -1) es->hide_origin = es->x;
@@ -1261,7 +1346,8 @@
       case E_GADCON_ORIENT_RIGHT:
       case E_GADCON_ORIENT_CORNER_RB:
       case E_GADCON_ORIENT_CORNER_RT:
-        step = ((es->w - es->hidden_state_size) / e_config->framerate) * 2;
+        step = ((es->w - es->hidden_state_size) / e_config->framerate) / 
es->cfg->hide_duration;
+        if (!step) step = 1;
         if (es->hidden)
           {
              if (es->hide_origin == -1) es->hide_origin = es->x;
@@ -1306,9 +1392,9 @@
    return 1;
 
 end:
-   ecore_animator_del(es->hide_animator);
    es->hide_animator = NULL;
-   return 1;
+   _e_shelf_toggle_border_fix(es);
+   return 0;
 }
 
 static int
@@ -1323,7 +1409,6 @@
       case E_GADCON_ORIENT_TOP:
       case E_GADCON_ORIENT_CORNER_TL:
       case E_GADCON_ORIENT_CORNER_TR:
-        /* TODO: step coefficient needs to be configurable */
         if (es->hidden)
           e_shelf_move(es, es->x, es->y - es->h + es->hidden_state_size);
         else
@@ -1356,12 +1441,9 @@
       default:
         break;
      }
-   if (es->instant_timer)
-     {
-       ecore_timer_del(es->instant_timer);
-       es->instant_timer = NULL;
-     }
-   return 1;
+   es->instant_timer = NULL;
+   _e_shelf_toggle_border_fix(es);
+   return 0;
 }
 
 static void 



-------------------------------------------------------------------------
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.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to