summaryrefslogtreecommitdiff
path: root/src/modules/ibar/e_mod_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/ibar/e_mod_main.c')
-rw-r--r--src/modules/ibar/e_mod_main.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 88d6dae246..2efde053d2 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -1948,10 +1948,22 @@ _ibar_cb_icon_move(void *data, Evas *e, Evas_Object *obj, void *event_info EINA_
if (!zone)
zone = eina_list_data_get(e_comp->zones);
}
- if (chx - (len / 2) < zone->x)
+ if ((ic->ibar->inst->orient == E_GADCON_ORIENT_LEFT) ||
+ (ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_LT) ||
+ (ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_LB))
sig = "e,origin,left";
- else if ((chx + (len / 2) > cw) || ((chx + (len / 2) > zone->x + zone->w)))
+ else if ((ic->ibar->inst->orient == E_GADCON_ORIENT_RIGHT) ||
+ (ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_RT) ||
+ (ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_RB))
sig = "e,origin,right";
+ else
+ {
+ if (chx - (len / 2) < zone->x)
+ sig = "e,origin,left";
+ else if ((chx + (len / 2) > cw) || ((chx + (len / 2) > zone->x + zone->w)))
+ sig = "e,origin,right";
+ }
+ printf("EMIT: %p %s\n", ic, sig);
_ibar_icon_signal_emit(ic, sig, "e");
}