diff options
author | Carsten Haitzler <raster@rasterman.com> | 2013-02-17 14:45:00 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2013-02-17 14:45:00 +0000 |
commit | 94e1f82e232a1be3615e0f5c702b521609ec7624 (patch) | |
tree | 109eb3184a0ca0e4e0cb600f2cda9e04fbee932d /src/modules/contact/e_mod_main.c | |
parent | cb2b3508721f4af66c9be1e858c65cca4e662883 (diff) | |
download | enlightenment-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.c | 48 |
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 |