summaryrefslogtreecommitdiffstats
path: root/src/layout.c
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-07-12 19:34:00 +0300
committerScott Murray <scott.murray@konsulko.com>2020-07-29 13:11:59 +0000
commitbf016d20408920f3ef09894ebb9f237e270267e5 (patch)
tree1439085020d6da5ada1c8f4674280d6343b39520 /src/layout.c
parent35f6733fb39bc83cc16652a3da849d9f383263ef (diff)
layout: Advertise state change for other types of surface roles
Given that now other surfaces roles will be active by default, we need to let other application aware of that fact by advertising state change. Print some debug message while at it, to make it more consistent with the desktop role. Bug-AGL: SPEC-3494 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ia9d959a0912e330303fa3d959ce600237edf35b4
Diffstat (limited to 'src/layout.c')
-rw-r--r--src/layout.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/layout.c b/src/layout.c
index c078ac9..d8d0196 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -370,6 +370,7 @@ ivi_layout_fullscreen_committed(struct ivi_surface *surface)
struct weston_desktop_surface *dsurface = surface->dsurface;
struct weston_surface *wsurface =
weston_desktop_surface_get_surface(dsurface);
+ const char *app_id = weston_desktop_surface_get_app_id(dsurface);
struct ivi_output *output = surface->split.output;
struct weston_output *woutput = output->output;
@@ -397,6 +398,12 @@ ivi_layout_fullscreen_committed(struct ivi_surface *surface)
wsurface->is_mapped = true;
surface->view->is_mapped = true;
+
+ shell_advertise_app_state(ivi, app_id,
+ NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED);
+
+ weston_log("Activation completed for app_id %s, role %s, output %s\n",
+ app_id, ivi_layout_get_surface_role_name(surface), output->name);
}
void
@@ -427,6 +434,7 @@ ivi_layout_split_committed(struct ivi_surface *surface)
struct weston_desktop_surface *dsurface = surface->dsurface;
struct weston_surface *wsurface =
weston_desktop_surface_get_surface(dsurface);
+ const char *app_id = weston_desktop_surface_get_app_id(dsurface);
struct ivi_output *output = surface->split.output;
struct weston_output *woutput = output->output;
@@ -502,6 +510,12 @@ ivi_layout_split_committed(struct ivi_surface *surface)
wsurface->is_mapped = true;
surface->view->is_mapped = true;
+
+ shell_advertise_app_state(ivi, app_id,
+ NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED);
+
+ weston_log("Activation completed for app_id %s, role %s, output %s\n",
+ app_id, ivi_layout_get_surface_role_name(surface), output->name);
}
void
@@ -512,6 +526,7 @@ ivi_layout_popup_committed(struct ivi_surface *surface)
struct weston_desktop_surface *dsurface = surface->dsurface;
struct weston_surface *wsurface =
weston_desktop_surface_get_surface(dsurface);
+ const char *app_id = weston_desktop_surface_get_app_id(dsurface);
struct ivi_output *output = surface->popup.output;
struct weston_output *woutput = output->output;
@@ -540,6 +555,12 @@ ivi_layout_popup_committed(struct ivi_surface *surface)
wsurface->is_mapped = true;
surface->view->is_mapped = true;
+
+ shell_advertise_app_state(ivi, app_id,
+ NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED);
+
+ weston_log("Activation completed for app_id %s, role %s, output %s\n",
+ app_id, ivi_layout_get_surface_role_name(surface), output->name);
}
static void