aboutsummaryrefslogtreecommitdiffstats
path: root/src/window_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/window_manager.cpp')
-rw-r--r--src/window_manager.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index abd4552..c7b6741 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -265,10 +265,11 @@ void WindowManager::api_activate_window(char const *appid, char const *drawing_n
if(!g_app_list.contains(id))
{
- reply("app doesn't request 'requestSurface' or 'setRole' yet");
+ reply("app doesn't request 'requestSurface' yet");
return;
}
auto client = g_app_list.lookUpClient(id);
+ client->activate();
Task task = Task::TASK_ALLOCATE;
unsigned req_num = 0;
@@ -306,8 +307,15 @@ void WindowManager::api_activate_window(char const *appid, char const *drawing_n
void WindowManager::api_deactivate_window(char const *appid, char const *drawing_name,
const reply_func &reply)
{
- // Check Phase
string id = appid;
+ if(!g_app_list.contains(id))
+ {
+ reply("app doesn't request 'requestSurface' yet");
+ return;
+ }
+ auto client = g_app_list.lookUpClient(id);
+ client->deactivate();
+ // Check Phase
string role = drawing_name;
string area = ""; //drawing_area;
Task task = Task::TASK_RELEASE;
@@ -804,7 +812,6 @@ WMError WindowManager::startTransition(unsigned req_num)
for (const auto &x : actions)
{
this->lc->visibilityChange(x);
- x.client->emitActive(false);
x.client->emitVisible(false);
}
this->lc->renderLayers();
@@ -841,8 +848,6 @@ WMError WindowManager::doEndDraw(unsigned req_num)
return ret;
}
ret = this->lc->visibilityChange(act);
-
- act.client->emitActive((act.visible == VISIBLE));
act.client->emitVisible((act.visible == VISIBLE));
if (ret != WMError::SUCCESS)