diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/window_manager.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp index 2a50e76..1ab0291 100644 --- a/src/window_manager.cpp +++ b/src/window_manager.cpp @@ -883,6 +883,9 @@ WMError WindowManager::startTransition(unsigned req_num) for (const auto &x : actions) { this->lc->visibilityChange(x); + string old_role = this->rolenew2old[x.role]; + emit_deactivated(old_role.c_str()); + /* if (g_app_list.contains(x.appid)) { auto client = g_app_list.lookUpClient(x.appid); @@ -923,6 +926,18 @@ WMError WindowManager::doEndDraw(unsigned req_num) return ret; } ret = this->lc->visibilityChange(act); + + // Emit active/deactive event + string old_role = this->rolenew2old[act.role]; + if(act.visible == VISIBLE) + { + emit_activated(old_role.c_str()); + } + else + { + emit_deactivated(old_role.c_str()); + } + if (ret != WMError::SUCCESS) { HMI_SEQ_WARNING(req_num, |