summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2014-01-17 11:30:41 +0000
committerTom Hacohen <tom@stosb.com>2014-01-30 15:22:01 +0000
commit711b9b823ef0c7e3fe345ae01534d3c95cf5ed50 (patch)
treee0b6bf95c8eb0f89fb7ba5315ecfdfa5481e9b41
parent00a4f6f1ecee995de500eb5e60c9b6ee36d21ebf (diff)
downloadenlightenment-711b9b823ef0c7e3fe345ae01534d3c95cf5ed50.tar.gz
Tiling2: Fixed moving non-tiled windows.
-rw-r--r--src/modules/tiling2/e_mod_tiling.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/modules/tiling2/e_mod_tiling.c b/src/modules/tiling2/e_mod_tiling.c
index 29364b5a02..89697333ac 100644
--- a/src/modules/tiling2/e_mod_tiling.c
+++ b/src/modules/tiling2/e_mod_tiling.c
@@ -815,6 +815,26 @@ _resize_hook(void *data __UNUSED__, int type __UNUSED__, E_Event_Client *event)
static Eina_Bool
_move_hook(void *data __UNUSED__, int type __UNUSED__, E_Event_Client*event)
{
+ E_Client *ec = event->ec;
+ if (!ec) {
+ return true;
+ }
+ if (!is_tilable(ec)) {
+ return true;
+ }
+
+ if (!desk_should_tile_check(ec->desk))
+ return true;
+
+ Client_Extra *extra = eina_hash_find(_G.client_extras, &ec);
+ if (!extra) {
+ ERR("No extra for %p", ec);
+ return true;
+ }
+
+ if (is_ignored_window(extra))
+ return true;
+
e_client_act_move_end(event->ec, NULL);
_reapply_tree();