summaryrefslogtreecommitdiff
path: root/src/modules/contact/e_mod_main.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2013-02-17 14:45:00 +0000
committerCarsten Haitzler <raster@rasterman.com>2013-02-17 14:45:00 +0000
commit94e1f82e232a1be3615e0f5c702b521609ec7624 (patch)
tree109eb3184a0ca0e4e0cb600f2cda9e04fbee932d /src/modules/contact/e_mod_main.c
parentcb2b3508721f4af66c9be1e858c65cca4e662883 (diff)
downloadenlightenment-94e1f82e232a1be3615e0f5c702b521609ec7624.tar.gz
some work on contact...
SVN revision: 84024
Diffstat (limited to 'src/modules/contact/e_mod_main.c')
-rw-r--r--src/modules/contact/e_mod_main.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/modules/contact/e_mod_main.c b/src/modules/contact/e_mod_main.c
index bdad7e4ec7..186e34c569 100644
--- a/src/modules/contact/e_mod_main.c
+++ b/src/modules/contact/e_mod_main.c
@@ -7,6 +7,30 @@ _cb_in_left(void *data, int d, double v)
{
// show PREV window in list from urrent focused window on top of current
// window but in an inital "off to the right" state in comp
+ Eina_List *borders = (Eina_List *)e_policy_borders_get();
+ E_Border *bd_active = (E_Border *)e_polict_border_active_get();
+ E_Border *bd = NULL;
+ Eina_List *bd_active_l = NULL;
+ if (!bd_active)
+ {
+ if (!borders) return;
+ bd = eina_list_last(borders)->data;
+ }
+ if (!bd)
+ {
+ if (bd_active)
+ bd_active_l = eina_list_data_find_list(borders, bd_active);
+ if ((bd_active_l) && (bd_active_l->prev)) bd = bd_active_l->prev->data;
+ }
+ if ((!bd) && (bd_active))
+ {
+ e_border_iconify(bd_active);
+ return;
+ }
+ if (!bd) return;
+ e_border_uniconify(bd);
+ e_border_raise(bd);
+ e_border_show(bd);
}
static void
@@ -21,6 +45,30 @@ _cb_in_right(void *data, int d, double v)
{
// show NEXT window in list from urrent focused window on top of current
// window but in an inital "off to the right" state in comp
+ Eina_List *borders = (Eina_List *)e_policy_borders_get();
+ E_Border *bd_active = (E_Border *)e_polict_border_active_get();
+ E_Border *bd = NULL;
+ Eina_List *bd_active_l = NULL;
+ if (!bd_active)
+ {
+ if (!borders) return;
+ bd = borders->data;
+ }
+ if (!bd)
+ {
+ if (bd_active)
+ bd_active_l = eina_list_data_find_list(borders, bd_active);
+ if ((bd_active_l) && (bd_active_l->next)) bd = bd_active_l->next->data;
+ }
+ if ((!bd) && (bd_active))
+ {
+ e_border_iconify(bd_active);
+ return;
+ }
+ if (!bd) return;
+ e_border_uniconify(bd);
+ e_border_raise(bd);
+ e_border_show(bd);
}
static void