raster pushed a commit to branch master.

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

commit 9243554dd809e2d61a5173d748e33405e7b66488
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue May 18 12:14:28 2021 +0100

    pager - allow pager popup action to stay up and dnd windows
---
 src/bin/e_deskmirror.c           |   4 +
 src/modules/pager/e_mod_config.c |   4 +-
 src/modules/pager/e_mod_main.c   | 313 ++++++++++++++++-----------------------
 3 files changed, 133 insertions(+), 188 deletions(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index d602143df..25a091612 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -990,11 +990,15 @@ e_deskmirror_util_wins_print(Evas_Object *obj)
 E_API void
 e_deskmirror_update_force(Evas_Object *obj)
 {
+   Mirror *m;
+
    API_ENTRY(obj);
 
    e_layout_freeze(sd->layout);
    sd->force = EINA_TRUE;
    _e_deskmirror_smart_hide(obj);
+   EINA_INLIST_FOREACH(sd->mirrors, m)
+     _e_deskmirror_mirror_reconfigure(m);
    _e_deskmirror_smart_reconfigure(sd);
    _e_deskmirror_smart_show(obj);
    sd->force = EINA_FALSE;
diff --git a/src/modules/pager/e_mod_config.c b/src/modules/pager/e_mod_config.c
index b70bb988c..5f13a628e 100644
--- a/src/modules/pager/e_mod_config.c
+++ b/src/modules/pager/e_mod_config.c
@@ -221,7 +221,7 @@ _adv_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
    cfdata->gui.popup_list = eina_list_append(cfdata->gui.popup_list, ow);
    e_widget_disabled_set(ow, !cfdata->popup.show);
    e_widget_list_object_append(ol, ow, 1, 0, 0.5);
-   ow = e_widget_slider_add(evas, 1, 0, _("%.0f pixels"), 20.0, 200.0, 1.0, 0, 
NULL,
+   ow = e_widget_slider_add(evas, 1, 0, _("%.0f pixels"), 20.0, 1000.0, 1.0, 
0, NULL,
                             &(cfdata->popup.height), 100);
    cfdata->gui.popup_list = eina_list_append(cfdata->gui.popup_list, ow);
    e_widget_disabled_set(ow, !cfdata->popup.show);
@@ -240,7 +240,7 @@ _adv_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
                                cfdata->gui.popup_list);
    ow = e_widget_label_add(evas, _("Pager action popup height"));
    e_widget_list_object_append(ol, ow, 1, 0, 0.5);
-   ow = e_widget_slider_add(evas, 1, 0, _("%.0f pixels"), 20.0, 200.0, 1.0, 0, 
NULL,
+   ow = e_widget_slider_add(evas, 1, 0, _("%.0f pixels"), 20.0, 1000.0, 1.0, 
0, NULL,
                             &(cfdata->popup.act_height), 100);
    e_widget_list_object_append(ol, ow, 1, 0, 0.5);
    e_widget_toolbook_page_append(otb, NULL, _("Popup"), ol, 1, 1, 1, 0,
diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c
index 5aefc284b..b7b317cf6 100644
--- a/src/modules/pager/e_mod_main.c
+++ b/src/modules/pager/e_mod_main.c
@@ -144,7 +144,7 @@ static Pager_Desk      *_pager_desk_find(Pager *p, E_Desk 
*desk);
 static void             _pager_desk_switch(Pager_Desk *pd1, Pager_Desk *pd2);
 static Pager_Win       *_pager_window_new(Pager_Desk *pd, Evas_Object *mirror, 
E_Client *client);
 static void             _pager_window_free(Pager_Win *pw);
-static Pager_Popup     *_pager_popup_new(E_Zone *zone, int keyaction);
+static Pager_Popup     *_pager_popup_new(E_Zone *zone, int keyaction, 
Eina_Bool pass_events);
 static void             _pager_popup_free(Pager_Popup *pp);
 static Pager_Popup     *_pager_popup_find(E_Zone *zone);
 
@@ -153,11 +153,8 @@ static int              _pager_popup_show(void);
 static void             _pager_popup_hide(int switch_desk);
 static Eina_Bool        _pager_popup_cb_mouse_wheel(void *data EINA_UNUSED, 
int type EINA_UNUSED, void *event);
 static void             _pager_popup_desk_switch(int x, int y);
-static void             _pager_popup_modifiers_set(int mod);
-static Eina_Bool        _pager_popup_cb_key_down(void *data EINA_UNUSED, int 
type EINA_UNUSED, void *event);
-static Eina_Bool        _pager_popup_cb_key_up(void *data EINA_UNUSED, int 
type EINA_UNUSED, void *event);
 static void             _pager_popup_cb_action_show(E_Object *obj EINA_UNUSED, 
const char *params EINA_UNUSED, Ecore_Event_Key *ev EINA_UNUSED);
-static void             _pager_popup_cb_action_switch(E_Object *obj 
EINA_UNUSED, const char *params, Ecore_Event_Key *ev);
+static void             _pager_popup_cb_action_switch(E_Object *obj 
EINA_UNUSED, const char *params, Ecore_Event_Key *ev EINA_UNUSED);
 
 /* variables for pager popup on key actions */
 static E_Action     *act_popup_show = NULL;
@@ -165,8 +162,6 @@ static E_Action     *act_popup_switch = NULL;
 static Ecore_Window  input_window = 0;
 static Eina_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 Eina_List    *pagers = NULL;
 static double        _pager_start_time = 0.0;
@@ -303,7 +298,6 @@ _gc_shutdown(E_Gadcon_Client *gcc)
    inst = gcc->data;
    if (pager_config)
      instances = eina_list_remove(instances, inst);
-   e_drop_handler_del(inst->pager->drop_handler);
    if (inst->o_base)
      {
         evas_object_del(inst->o_base);
@@ -458,6 +452,8 @@ _pager_free(Pager *p)
 {
    pagers = eina_list_remove(pagers, p);
    _pager_empty(p);
+   if (p->drop_handler) e_drop_handler_del(p->drop_handler);
+   p->drop_handler = NULL;
    evas_object_del(p->o_table);
    p->o_table = NULL;
    ecore_job_del(p->recalc);
@@ -811,8 +807,76 @@ _pager_popup_cb_del(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSE
    free(pp);
 }
 
+static void
+_popup_autoclose_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED)
+{
+   if (act_popup) _pager_popup_hide(0);
+}
+
+static Eina_Bool
+_popup_autoclose_key_cb(void *data EINA_UNUSED, Ecore_Event_Key *ev)
+{
+   if (!strcmp(ev->key, "Up"))          _pager_popup_desk_switch(0, -1);
+   else if (!strcmp(ev->key, "Down"))   _pager_popup_desk_switch(0, 1);
+   else if (!strcmp(ev->key, "Left"))   _pager_popup_desk_switch(-1, 0);
+   else if (!strcmp(ev->key, "Right"))  _pager_popup_desk_switch(1, 0);
+   else if (!strcmp(ev->key, "Escape")) return EINA_FALSE;
+   else if ((!strcmp(ev->key, "Return")) ||
+            (!strcmp(ev->key, "KP_Enter")) ||
+            (!strcmp(ev->key, "space")))
+     {
+        Pager_Popup *pp = act_popup;
+
+        if (pp)
+          {
+             E_Desk *desk = e_desk_at_xy_get(pp->pager->zone,
+                                             current_desk->x,
+                                             current_desk->y);
+             if (desk) e_desk_show(desk);
+          }
+        return EINA_FALSE;
+     }
+   else
+     {
+        E_Config_Binding_Key *binding;
+        Eina_List *l;
+
+        EINA_LIST_FOREACH(e_bindings->key_bindings, l, binding)
+          {
+             E_Binding_Modifier mod = 0;
+
+             if ((binding->action) && (strcmp(binding->action, 
"pager_switch")))
+               continue;
+
+             if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)
+               mod |= E_BINDING_MODIFIER_SHIFT;
+             if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)
+               mod |= E_BINDING_MODIFIER_CTRL;
+             if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)
+               mod |= E_BINDING_MODIFIER_ALT;
+             if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN)
+               mod |= E_BINDING_MODIFIER_WIN;
+
+             if (binding->key && (!strcmp(binding->key, ev->key)) &&
+                 ((binding->modifiers == mod)))
+               {
+                  E_Action *act;
+
+                  act = e_action_find(binding->action);
+
+                  if (act)
+                    {
+                       if (act->func.go_key)
+                         act->func.go_key(NULL, binding->params, ev);
+                    }
+               }
+          }
+     }
+   return EINA_TRUE;
+}
+
 static Pager_Popup *
-_pager_popup_new(E_Zone *zone, int keyaction)
+_pager_popup_new(E_Zone *zone, int keyaction, Eina_Bool pass_events)
 {
    Pager_Popup *pp;
    Evas_Coord w, h, zx, zy, zw, zh;
@@ -831,8 +895,8 @@ _pager_popup_new(E_Zone *zone, int keyaction)
 
    e_zone_desk_count_get(zone, &x, &y);
 
-   if (keyaction) height = pager_config->popup_act_height;
-   else           height = pager_config->popup_height;
+   if (keyaction) height = pager_config->popup_act_height * e_scale;
+   else           height = pager_config->popup_height * e_scale;
 
    pd = eina_list_data_get(pp->pager->desks);
    if (!pd)
@@ -869,13 +933,32 @@ _pager_popup_new(E_Zone *zone, int keyaction)
 
    pp->popup = e_comp_object_util_add(pp->o_bg, E_COMP_OBJECT_TYPE_POPUP);
    evas_object_layer_set(pp->popup, E_LAYER_CLIENT_POPUP);
-   evas_object_pass_events_set(pp->popup, 1);
+   evas_object_pass_events_set(pp->popup, pass_events);
    e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
    evas_object_geometry_set(pp->popup, zx, zy, w, h);
    e_comp_object_util_center(pp->popup);
    evas_object_event_callback_add(pp->popup, EVAS_CALLBACK_DEL, 
_pager_popup_cb_del, pp);
    evas_object_show(pp->popup);
 
+   if (!pass_events)
+     {
+        const char *drop[] = {
+           "enlightenment/pager_win",
+           "enlightenment/border",
+           "enlightenment/vdesktop"
+        };
+
+        evas_object_geometry_get(pp->pager->o_table, &x, &y, &w, &h);
+        pp->pager->drop_handler =
+          e_drop_handler_add(E_OBJECT(zone), NULL, pp->pager,
+                             _pager_drop_cb_enter, _pager_drop_cb_move,
+                             _pager_drop_cb_leave, _pager_drop_cb_drop,
+                             drop, 3, x, y, w, h);
+        e_comp_object_util_autoclose(pp->popup,
+                                     _popup_autoclose_cb,
+                                     _popup_autoclose_key_cb, NULL);
+     }
+
    pp->timer = NULL;
 
    return pp;
@@ -897,6 +980,7 @@ _pager_popup_find(E_Zone *zone)
 
    EINA_LIST_FOREACH(pagers, l, p)
      {
+        if (!p->inst) continue;
         if ((p->popup) && (p->zone == zone)) return p->popup;
      }
    return NULL;
@@ -1111,7 +1195,7 @@ _pager_cb_event_desk_show(void *data EINA_UNUSED, int 
type EINA_UNUSED, void *ev
         if ((pp = _pager_popup_find(ev->desk->zone)))
           evas_object_show(pp->popup);
         else
-          pp = _pager_popup_new(ev->desk->zone, 0);
+          pp = _pager_popup_new(ev->desk->zone, 0, EINA_TRUE);
         if (pp->timer)
           ecore_timer_loop_reset(pp->timer);
         else
@@ -1168,7 +1252,7 @@ _pager_cb_event_client_urgent_change(void *data 
EINA_UNUSED, int type EINA_UNUSE
 
         if ((!pp) && (ev->ec->urgent || ev->ec->icccm.urgent) && 
(!ev->ec->iconic))
           {
-             pp = _pager_popup_new(ev->ec->zone, 0);
+             pp = _pager_popup_new(ev->ec->zone, 0, EINA_TRUE);
              if (!pp) return ECORE_CALLBACK_RENEW;
 
              if (!pager_config->popup_urgent_stick)
@@ -1387,10 +1471,10 @@ _pager_window_cb_drag_finished(E_Drag *drag, int 
dropped)
    if (act_popup)
      {
         if (e_comp->comp_type == E_PIXMAP_TYPE_X)
-          e_grabinput_get(input_window, 0, input_window);
+          e_grabinput_get(0, 0, input_window);
         else
-          e_comp_grab_input(1, 1);
-        if (!hold_count) _pager_popup_hide(1);
+          e_comp_grab_input(0, 1);
+        if (p->inst) _pager_popup_hide(1);
      }
 }
 
@@ -1589,6 +1673,23 @@ _pager_drop_cb_drop(void *data, const char *type, void 
*event_info)
              if (max) e_client_maximize(ec, max);
              if (fullscreen) e_client_fullscreen(ec, fs);
              e_deskmirror_update_force(pd->o_layout);
+             if (!p->inst)
+               {
+                  Instance *inst;
+                  Eina_List *ll;
+
+                  EINA_LIST_FOREACH(instances, l, inst)
+                    {
+                       EINA_LIST_FOREACH(inst->pager->desks, ll, pd2)
+                         {
+                            if (pd2->desk == pd->desk)
+                              {
+                                 printf("update pager desk %p\n", pd2);
+                                 e_deskmirror_update_force(pd2->o_layout);
+                              }
+                         }
+                    }
+               }
           }
      }
 
@@ -1744,10 +1845,10 @@ _pager_desk_cb_drag_finished(E_Drag *drag, int dropped)
    if (act_popup)
      {
         if (e_comp->comp_type == E_PIXMAP_TYPE_X)
-          e_grabinput_get(input_window, 0, input_window);
+          e_grabinput_get(0, 0, input_window);
         else
-          e_comp_grab_input(1, 1);
-        if (!hold_count) _pager_popup_hide(1);
+          e_comp_grab_input(0, 1);
+        if (pd->pager->inst) _pager_popup_hide(1);
      }
 }
 
@@ -1799,11 +1900,6 @@ _pager_popup_show(void)
    E_Zone *zone;
    int x, y, w, h;
    Pager_Popup *pp;
-//   const char *drop[] = {
-//      "enlightenment/pager_win",
-//      "enlightenment/border",
-//      "enlightenment/vdesktop"
-//   };
 
    if ((act_popup) || (input_window)) return 0;
 
@@ -1816,7 +1912,7 @@ _pager_popup_show(void)
      {
         input_window = ecore_x_window_input_new(e_comp->win, 0, 0, 1, 1);
         ecore_x_window_show(input_window);
-        if (!e_grabinput_get(input_window, 0, input_window))
+        if (!e_grabinput_get(0, 0, input_window))
           {
              ecore_x_window_free(input_window);
              input_window = 0;
@@ -1827,20 +1923,14 @@ _pager_popup_show(void)
    if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
      {
         input_window = e_comp->ee_win;
-        e_comp_grab_input(1, 1);
+        e_comp_grab_input(0, 1);
      }
 
-   handlers = eina_list_append
-       (handlers, ecore_event_handler_add
-         (ECORE_EVENT_KEY_DOWN, _pager_popup_cb_key_down, NULL));
-   handlers = eina_list_append
-       (handlers, ecore_event_handler_add
-         (ECORE_EVENT_KEY_UP, _pager_popup_cb_key_up, NULL));
    handlers = eina_list_append
        (handlers, ecore_event_handler_add
          (ECORE_EVENT_MOUSE_WHEEL, _pager_popup_cb_mouse_wheel, NULL));
 
-   act_popup = _pager_popup_new(zone, 1);
+   act_popup = _pager_popup_new(zone, 1, EINA_FALSE);
    evas_object_geometry_get(act_popup->pager->o_table, &x, &y, &w, &h);
    current_desk = e_desk_current_get(zone);
    return 1;
@@ -1849,8 +1939,6 @@ _pager_popup_show(void)
 static void
 _pager_popup_hide(int switch_desk)
 {
-   hold_count = 0;
-   hold_mod = 0;
    while (handlers)
      {
         ecore_event_handler_del(handlers->data);
@@ -1864,18 +1952,6 @@ _pager_popup_hide(int switch_desk)
    act_popup = NULL;
 }
 
-static void
-_pager_popup_modifiers_set(int mod)
-{
-   if (!act_popup) return;
-   hold_mod = mod;
-   hold_count = 0;
-   if (hold_mod & ECORE_EVENT_MODIFIER_SHIFT) hold_count++;
-   if (hold_mod & ECORE_EVENT_MODIFIER_CTRL) hold_count++;
-   if (hold_mod & ECORE_EVENT_MODIFIER_ALT) hold_count++;
-   if (hold_mod & ECORE_EVENT_MODIFIER_WIN) hold_count++;
-}
-
 static void
 _pager_popup_desk_switch(int x, int y)
 {
@@ -1905,22 +1981,16 @@ _pager_popup_desk_switch(int x, int y)
 static void
 _pager_popup_cb_action_show(E_Object *obj EINA_UNUSED, const char *params 
EINA_UNUSED, Ecore_Event_Key *ev EINA_UNUSED)
 {
-   if (_pager_popup_show())
-     _pager_popup_modifiers_set(ev->modifiers);
+   _pager_popup_show();
 }
 
 static void
-_pager_popup_cb_action_switch(E_Object *obj EINA_UNUSED, const char *params, 
Ecore_Event_Key *ev)
+_pager_popup_cb_action_switch(E_Object *obj EINA_UNUSED, const char *params, 
Ecore_Event_Key *ev EINA_UNUSED)
 {
    int max_x, max_y, desk_x;
    int x = 0, y = 0;
 
-   if (!act_popup)
-     {
-        if (_pager_popup_show())
-          _pager_popup_modifiers_set(ev->modifiers);
-        else return;
-     }
+   if (!act_popup) _pager_popup_show();
 
    e_zone_desk_count_get(act_popup->pager->zone, &max_x, &max_y);
    desk_x = current_desk->x /* + x <=this is always 0 */;
@@ -1958,135 +2028,6 @@ _pager_popup_cb_mouse_wheel(void *data EINA_UNUSED, int 
type EINA_UNUSED, void *
    return ECORE_CALLBACK_PASS_ON;
 }
 
-static Eina_Bool
-_pager_popup_cb_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event)
-{
-   Ecore_Event_Key *ev = event;
-
-   if (ev->window != input_window) return ECORE_CALLBACK_PASS_ON;
-   if (!strcmp(ev->key, "Up"))          _pager_popup_desk_switch(0, -1);
-   else if (!strcmp(ev->key, "Down"))   _pager_popup_desk_switch(0, 1);
-   else if (!strcmp(ev->key, "Left"))   _pager_popup_desk_switch(-1, 0);
-   else if (!strcmp(ev->key, "Right"))  _pager_popup_desk_switch(1, 0);
-   else if (!strcmp(ev->key, "Escape")) _pager_popup_hide(0);
-   else if ((!strcmp(ev->key, "Return")) ||
-            (!strcmp(ev->key, "KP_Enter")) ||
-            (!strcmp(ev->key, "space")))
-     {
-        Pager_Popup *pp = act_popup;
-
-        if (pp)
-          {
-             E_Desk *desk = e_desk_at_xy_get(pp->pager->zone,
-                                             current_desk->x,
-                                             current_desk->y);
-             if (desk) e_desk_show(desk);
-          }
-        _pager_popup_hide(0);
-     }
-   else
-     {
-        E_Config_Binding_Key *binding;
-        Eina_List *l;
-
-        EINA_LIST_FOREACH(e_bindings->key_bindings, l, binding)
-          {
-             E_Binding_Modifier mod = 0;
-
-             if ((binding->action) && (strcmp(binding->action, 
"pager_switch")))
-               continue;
-
-             if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)
-               mod |= E_BINDING_MODIFIER_SHIFT;
-             if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)
-               mod |= E_BINDING_MODIFIER_CTRL;
-             if (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)
-               mod |= E_BINDING_MODIFIER_ALT;
-             if (ev->modifiers & ECORE_EVENT_MODIFIER_WIN)
-               mod |= E_BINDING_MODIFIER_WIN;
-
-             if (binding->key && (!strcmp(binding->key, ev->key)) &&
-                 ((binding->modifiers == mod)))
-               {
-                  E_Action *act;
-
-                  act = e_action_find(binding->action);
-
-                  if (act)
-                    {
-                       if (act->func.go_key)
-                         act->func.go_key(NULL, binding->params, ev);
-                    }
-               }
-          }
-     }
-   return ECORE_CALLBACK_PASS_ON;
-}
-
-static Eina_Bool
-_pager_popup_cb_key_up(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event)
-{
-   Ecore_Event_Key *ev;
-
-   ev = event;
-   if (!(act_popup)) return ECORE_CALLBACK_PASS_ON;
-
-   if (hold_mod)
-     {
-        if ((hold_mod & ECORE_EVENT_MODIFIER_SHIFT) &&
-            (!strcmp(ev->key, "Shift_L"))) hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_SHIFT) &&
-                 (!strcmp(ev->key, "Shift_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_CTRL) &&
-                 (!strcmp(ev->key, "Control_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_CTRL) &&
-                 (!strcmp(ev->key, "Control_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Alt_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Alt_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Meta_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Meta_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Super_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_ALT) &&
-                 (!strcmp(ev->key, "Super_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_WIN) &&
-                 (!strcmp(ev->key, "Super_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_WIN) &&
-                 (!strcmp(ev->key, "Super_R")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_WIN) &&
-                 (!strcmp(ev->key, "Mode_switch")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_WIN) &&
-                 (!strcmp(ev->key, "Meta_L")))
-          hold_count--;
-        else if ((hold_mod & ECORE_EVENT_MODIFIER_WIN) &&
-                 (!strcmp(ev->key, "Meta_R")))
-          hold_count--;
-        if ((hold_count <= 0) && (!act_popup->pager->dragging))
-          {
-             _pager_popup_hide(1);
-             return ECORE_CALLBACK_PASS_ON;
-          }
-     }
-
-   return ECORE_CALLBACK_PASS_ON;
-}
-
 /***************************************************************************/
 /* module setup */
 E_API E_Module_Api e_modapi =

-- 


Reply via email to