tasn pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=64f1f7fcffc8d161ebb7de0098700a9bff7ec752

commit 64f1f7fcffc8d161ebb7de0098700a9bff7ec752
Author: Tom Hacohen <t...@stosb.com>
Date:   Mon Apr 13 11:17:25 2015 +0100

    Tiling: don't tile centered windows.
    
    This broke with the change to elm (so within this release cycle). Tiling
    wasn't properly detecting windows who become centered after creation as
    there was no e event for that. This is now fixed, and a blanket solution
    for similar gotchas has been implemented (otherwise known as a hack).
    
    Thanks to Mike for helping out.
---
 src/modules/tiling/e_mod_tiling.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/modules/tiling/e_mod_tiling.c 
b/src/modules/tiling/e_mod_tiling.c
index a4b16d9..92335d0 100644
--- a/src/modules/tiling/e_mod_tiling.c
+++ b/src/modules/tiling/e_mod_tiling.c
@@ -187,7 +187,7 @@ is_tilable(const E_Client *ec)
      return false;
 #endif
 
-   if (ec->e.state.centered)
+   if (ec->e.state.centered || e_win_centered_get(ec->internal_elm_win))
      return false;
 
    if (!tiling_g.config->tile_dialogs && ((ec->icccm.transient_for != 0) ||
@@ -1119,6 +1119,14 @@ _move_hook(void *data EINA_UNUSED, int type EINA_UNUSED, 
E_Event_Client *event)
         return true;
      }
 
+   /* A hack because e doesn't trigger events for all property changes */
+   if (!is_tilable(ec))
+     {
+        toggle_floating(ec);
+
+        return true;
+     }
+
    e_client_act_move_end(event->ec, NULL);
 
    _reapply_tree();

-- 


Reply via email to