From 0768c314e28a7fccf6042fb19a15f92d63ed5f84 Mon Sep 17 00:00:00 2001 From: Junseok Kim Date: Wed, 26 Apr 2023 13:25:18 +0900 Subject: [PATCH] split_screen_manager: check desk_area is enabled before assign client to region Change-Id: Idde308e6d45f9877efb5fc969eeffdf1355b7c5a --- src/splitscreen/e_mod_split_screen_manager.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/splitscreen/e_mod_split_screen_manager.c b/src/splitscreen/e_mod_split_screen_manager.c index 98bf297..946fcb6 100644 --- a/src/splitscreen/e_mod_split_screen_manager.c +++ b/src/splitscreen/e_mod_split_screen_manager.c @@ -112,6 +112,9 @@ _e_mod_split_screen_manager_cb_hook_eval_fetch(void *data, E_Client *ec) SSMINF("ec is NULL", NULL); return; } + + if (!ec->desk->desk_area.enable) return; + // TODO: FIX blinking issue while launching child window _e_mod_split_screen_manager_ec_relocate(ec); @@ -164,6 +167,8 @@ _e_mod_split_screen_manager_cb_ec_add(void *data EINA_UNUSED, int type EINA_UNUS ev = event; if (!ev) return ECORE_CALLBACK_PASS_ON; + if (!ev->ec->desk->desk_area.enable) return ECORE_CALLBACK_PASS_ON; + _e_mod_split_screen_manager_ec_relocate(ev->ec); return ECORE_CALLBACK_PASS_ON; @@ -312,6 +317,8 @@ _e_mod_split_screen_manager_hint_deactivate(E_Client *ec, const char *name, cons static void _e_mod_split_screen_manager_client_manager_role_set(E_Client *ec, Eina_Bool set) { + E_Desk *desk; + if (!ec) return; if (ec->floating == set) return; @@ -325,7 +332,10 @@ _e_mod_split_screen_manager_client_manager_role_set(E_Client *ec, Eina_Bool set) ec->floating_saved_layer = ec->layer; e_client_layer_set(ec, E_LAYER_CLIENT_ABOVE); ec->netwm.type = E_WINDOW_TYPE_UTILITY; - _e_mod_split_screen_manager_ec_assign_to_region_name(ec, "above"); + + desk = e_desk_current_get(e_zone_current_get()); + if (desk && desk->desk_area.enable) + _e_mod_split_screen_manager_ec_assign_to_region_name(ec, "above"); } else { -- 2.7.4