summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-05-30 00:14:24 +0300
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-06-15 10:08:05 +0000
commitf235042e4cd88197ade414795382ba227f924332 (patch)
tree826068ede8136e35b2a46178aeb7570df8449578
parent5c90f1639cada9e0d41bd1538bf62c0a12152ace (diff)
layout: Add a wrapper to print out the surface role
With this we add a few more debug statements to the log file. Nothing too spurious but helps debugging more quickly if needed. Bug-AGL: SPEC-3280 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If345903428cbb9c895e22980fdf64aec3c03d3b7
-rw-r--r--src/desktop.c10
-rw-r--r--src/ivi-compositor.h3
-rw-r--r--src/layout.c48
3 files changed, 57 insertions, 4 deletions
diff --git a/src/desktop.c b/src/desktop.c
index b8b88db..a3552e2 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -61,6 +61,7 @@ desktop_surface_added(struct weston_desktop_surface *dsurface, void *userdata)
struct weston_desktop_client *dclient;
struct wl_client *client;
struct ivi_surface *surface;
+ const char *app_id = NULL;
dclient = weston_desktop_surface_get_client(dsurface);
client = weston_desktop_client_get_client(dclient);
@@ -92,14 +93,20 @@ desktop_surface_added(struct weston_desktop_surface *dsurface, void *userdata)
weston_desktop_surface_set_user_data(dsurface, surface);
+ app_id = weston_desktop_surface_get_app_id(dsurface);
+
if (ivi->shell_client.ready) {
ivi_check_pending_desktop_surface(surface);
+ weston_log("Added surface %p, app_id %s, role %s\n", surface,
+ app_id, ivi_layout_get_surface_role_name(surface));
} else {
/*
* We delay creating "normal" desktop surfaces until later, to
* give the shell-client an oppurtunity to set the surface as a
* background/panel.
*/
+ weston_log("Added surface %p, app_id %s to pending list\n",
+ surface, app_id);
wl_list_insert(&ivi->pending_surfaces, &surface->link);
}
}
@@ -182,6 +189,9 @@ desktop_surface_removed(struct weston_desktop_surface *dsurface, void *userdata)
output->background = NULL;
}
+ weston_log("Removed surface %p, app_id %s, role %s\n", surface,
+ weston_desktop_surface_get_app_id(dsurface),
+ ivi_layout_get_surface_role_name(surface));
wl_list_remove(&surface->link);
free(surface);
}
diff --git a/src/ivi-compositor.h b/src/ivi-compositor.h
index b3cc3af..b506ce1 100644
--- a/src/ivi-compositor.h
+++ b/src/ivi-compositor.h
@@ -353,4 +353,7 @@ insert_black_surface(struct ivi_output *output);
void
remove_black_surface(struct ivi_output *output);
+const char *
+ivi_layout_get_surface_role_name(struct ivi_surface *surf);
+
#endif
diff --git a/src/layout.c b/src/layout.c
index 38092cf..a142609 100644
--- a/src/layout.c
+++ b/src/layout.c
@@ -25,6 +25,7 @@
#include "ivi-compositor.h"
#include "policy.h"
+#include "shared/helpers.h"
#include <assert.h>
#include <string.h>
@@ -36,6 +37,27 @@
#define AGL_COMP_DEBUG
+static const char *ivi_roles_as_string[] = {
+ [IVI_SURFACE_ROLE_NONE] = "NONE",
+ [IVI_SURFACE_ROLE_BACKGROUND] = "BACKGROUND",
+ [IVI_SURFACE_ROLE_PANEL] = "PANEL",
+ [IVI_SURFACE_ROLE_DESKTOP] = "DESKTOP",
+ [IVI_SURFACE_ROLE_POPUP] = "POPUP",
+ [IVI_SURFACE_ROLE_SPLIT_H] = "SPLIT_H",
+ [IVI_SURFACE_ROLE_SPLIT_V] = "SPLIT_V",
+ [IVI_SURFACE_ROLE_FULLSCREEN] = "FULLSCREEN",
+ [IVI_SURFACE_ROLE_REMOTE] = "REMOTE",
+};
+
+const char *
+ivi_layout_get_surface_role_name(struct ivi_surface *surf)
+{
+ if (surf->role < 0 || surf->role >= ARRAY_LENGTH(ivi_roles_as_string))
+ return " unknown surface role";
+
+ return ivi_roles_as_string[surf->role];
+}
+
static void
ivi_background_init(struct ivi_compositor *ivi, struct ivi_output *output)
{
@@ -85,7 +107,7 @@ ivi_panel_init(struct ivi_compositor *ivi, struct ivi_output *output,
view = panel->view;
geom = weston_desktop_surface_get_geometry(dsurface);
#ifdef AGL_COMP_DEBUG
- weston_log("geom.width %d, geom.height %d, geom.x %d, geom.y %d\n",
+ weston_log("(panel) geom.width %d, geom.height %d, geom.x %d, geom.y %d\n",
geom.width, geom.height, geom.x, geom.y);
#endif
switch (panel->panel.edge) {
@@ -227,6 +249,10 @@ ivi_layout_activate_complete(struct ivi_output *output,
surf->desktop.last_output = surf->desktop.pending_output;
surf->desktop.pending_output = NULL;
}
+
+ weston_log("Activation completed for app_id %s, role %s\n",
+ weston_desktop_surface_get_app_id(surf->dsurface),
+ ivi_layout_get_surface_role_name(surf));
}
static struct ivi_output *
@@ -285,6 +311,9 @@ ivi_layout_desktop_committed(struct ivi_surface *surf)
const char *app_id =
weston_desktop_surface_get_app_id(dsurf);
if (app_id && ivi_bg_output) {
+ weston_log("Surface with app_id %s, role %s activating by default\n",
+ weston_desktop_surface_get_app_id(surf->dsurface),
+ ivi_layout_get_surface_role_name(surf));
ivi_layout_activate(ivi_bg_output, app_id);
surf->activated_by_default = true;
}
@@ -309,6 +338,9 @@ ivi_layout_desktop_committed(struct ivi_surface *surf)
app_id = weston_desktop_surface_get_app_id(dsurf);
if (app_id) {
+ weston_log("Surface with app_id %s, role %s activating by default\n",
+ weston_desktop_surface_get_app_id(surf->dsurface),
+ ivi_layout_get_surface_role_name(surf));
ivi_layout_activate(output, app_id);
surf->activated_by_default = true;
}
@@ -484,7 +516,7 @@ ivi_layout_popup_committed(struct ivi_surface *surface)
return;
geom = weston_desktop_surface_get_geometry(dsurface);
- weston_log("geom x %d, y %d, width %d, height %d\n", geom.x, geom.y,
+ weston_log("(popup) geom x %d, y %d, width %d, height %d\n", geom.x, geom.y,
geom.width, geom.height);
assert(surface->role == IVI_SURFACE_ROLE_POPUP);
@@ -628,7 +660,8 @@ ivi_layout_activate(struct ivi_output *output, const char *app_id)
}
#ifdef AGL_COMP_DEBUG
- weston_log("Found app_id %s\n", app_id);
+ weston_log("Activating app_id %s, type %s\n", app_id,
+ ivi_layout_get_surface_role_name(surf));
#endif
if (surf->role == IVI_SURFACE_ROLE_POPUP) {
@@ -660,6 +693,9 @@ ivi_layout_activate(struct ivi_output *output, const char *app_id)
output->area.width,
output->area.height);
+ weston_log("Setting app_id %s, role %s, set to maximized (%dx%d)\n",
+ app_id, ivi_layout_get_surface_role_name(surf),
+ output->area.width, output->area.height);
/*
* If the view isn't mapped, we put it onto the hidden layer so it will
* start receiving frame events, and will be able to act on our
@@ -672,6 +708,9 @@ ivi_layout_activate(struct ivi_output *output, const char *app_id)
weston_view_set_output(view, output->output);
weston_layer_entry_insert(&ivi->hidden.view_list, &view->layer_link);
/* force repaint of the entire output */
+
+ weston_log("Placed app_id %s, type %s in hidden layer\n",
+ app_id, ivi_layout_get_surface_role_name(surf));
weston_output_damage(output->output);
}
}
@@ -732,7 +771,8 @@ ivi_layout_deactivate(struct ivi_compositor *ivi, const char *app_id)
}
ivi_output = ivi_layout_get_output_from_surface(surf);
- weston_log("deactiving %s\n", app_id);
+ weston_log("Deactiving %s, role %s\n", app_id,
+ ivi_layout_get_surface_role_name(surf));
if (surf->role == IVI_SURFACE_ROLE_DESKTOP) {
struct ivi_surface *previous_active;