When the quickpanel uniconifies it stays put and obscures the indicator
window.  This happens it gets uniconify in another way than through clicking
on the indicator.  With this patch it always moves to its regular position.

diff --git a/e/src/modules/illume2/e_mod_quickpanel.c 
b/e/src/modules/illume2/e_mod_quickpanel.c
index 5b56e32..a0629b9 100644
--- a/e/src/modules/illume2/e_mod_quickpanel.c
+++ b/e/src/modules/illume2/e_mod_quickpanel.c
@@ -7,6 +7,7 @@ static Eina_Bool _e_mod_quickpanel_cb_mouse_up(void *data, int 
type __UNUSED__,
 static Eina_Bool _e_mod_quickpanel_cb_border_add(void *data __UNUSED__, int 
type __UNUSED__, void *event);
 static Eina_Bool _e_mod_quickpanel_cb_border_remove(void *data __UNUSED__, int 
type __UNUSED__, void *event);
 static Eina_Bool _e_mod_quickpanel_cb_border_resize(void *data __UNUSED__, int 
type __UNUSED__, void *event);
+static Eina_Bool _e_mod_quickpanel_cb_border_uniconify(void *data __UNUSED__, 
int type __UNUSED__, void *event);
 static void _e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void 
*data2);
 static void _e_mod_quickpanel_cb_free(E_Illume_Quickpanel *qp);
 static Eina_Bool _e_mod_quickpanel_cb_delay_hide(void *data);
@@ -48,6 +49,11 @@ e_mod_quickpanel_init(void)
                       ecore_event_handler_add(E_EVENT_BORDER_RESIZE, 
                                               
_e_mod_quickpanel_cb_border_resize, 
                                               NULL));
+   _qp_hdls =
+     eina_list_append(_qp_hdls,
+                      ecore_event_handler_add(E_EVENT_BORDER_UNICONIFY,
+                                              
_e_mod_quickpanel_cb_border_uniconify,
+                                              NULL));
 
    /* add hook for new borders so we can test for qp borders */
    _qp_hook = e_border_hook_add(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, 
@@ -340,6 +346,23 @@ _e_mod_quickpanel_cb_border_resize(void *data __UNUSED__, 
int type __UNUSED__, v
    return ECORE_CALLBACK_PASS_ON;
 }
 
+static Eina_Bool
+_e_mod_quickpanel_cb_border_uniconify(void *data __UNUSED__, int type 
__UNUSED__, void *event)
+{
+   E_Event_Border_Uniconify *ev;
+   E_Illume_Quickpanel *qp;
+
+   ev = event;
+   if (!ev->border->client.illume.quickpanel.quickpanel)
+     return ECORE_CALLBACK_PASS_ON;
+   if (!(qp = e_illume_quickpanel_by_zone_get(ev->border->zone)))
+     return ECORE_CALLBACK_PASS_ON;
+
+   e_mod_quickpanel_show(qp);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
 static void 
 _e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void *data2) 
 {
-- 
1.7.2.3

Attachment: signature.asc
Description: Digital signature

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to