aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl/recipes-graphics/wayland/weston/0001-desktop-shell-add-option-to-avoid-creating-the-panel.patch99
-rw-r--r--meta-agl/recipes-graphics/wayland/weston/weston.ini5
-rw-r--r--meta-agl/recipes-graphics/wayland/weston_1.5.0.bbappend1
3 files changed, 105 insertions, 0 deletions
diff --git a/meta-agl/recipes-graphics/wayland/weston/0001-desktop-shell-add-option-to-avoid-creating-the-panel.patch b/meta-agl/recipes-graphics/wayland/weston/0001-desktop-shell-add-option-to-avoid-creating-the-panel.patch
new file mode 100644
index 000000000..5e8c3c9dc
--- /dev/null
+++ b/meta-agl/recipes-graphics/wayland/weston/0001-desktop-shell-add-option-to-avoid-creating-the-panel.patch
@@ -0,0 +1,99 @@
+From e67118c80ad411ac46b7096aae2635510c80ea6d Mon Sep 17 00:00:00 2001
+From: Jonny Lamb <jonny.lamb@collabora.co.uk>
+Date: Tue, 12 Aug 2014 15:07:51 +0200
+Subject: desktop-shell: add option to avoid creating the panel
+
+This option is so we can disable showing any panel at all. The default
+is to continue showing the panel and no example is added to weston.ini
+because it's an uncommon request.
+
+Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
+---
+
+--- a/clients/desktop-shell.c 2015-11-05 11:51:26.272052133 +0000
++++ b/clients/desktop-shell.c 2015-11-05 11:56:19.666887702 +0000
+@@ -1130,7 +1130,8 @@
+ output_destroy(struct output *output)
+ {
+ background_destroy(output->background);
+- panel_destroy(output->panel);
++ if (output->panel)
++ panel_destroy(output->panel);
+ wl_output_destroy(output->output);
+ wl_list_remove(&output->link);
+
+@@ -1160,7 +1161,8 @@
+ {
+ struct output *output = data;
+
+- window_set_buffer_transform(output->panel->window, transform);
++ if (output->panel)
++ window_set_buffer_transform(output->panel->window, transform);
+ window_set_buffer_transform(output->background->window, transform);
+ }
+
+@@ -1187,7 +1189,8 @@
+ {
+ struct output *output = data;
+
+- window_set_buffer_scale(output->panel->window, scale);
++ if (output->panel)
++ window_set_buffer_scale(output->panel->window, scale);
+ window_set_buffer_scale(output->background->window, scale);
+ }
+
+@@ -1198,15 +1201,36 @@
+ output_handle_scale
+ };
+
++static int
++want_panel(struct desktop *desktop)
++{
++ struct weston_config_section *s;
++ char *location = NULL;
++ int ret = 1;
++
++ s = weston_config_get_section(desktop->config, "shell", NULL, NULL);
++ weston_config_section_get_string(s, "panel-location",
++ &location, "top");
++
++ if (strcmp(location, "top") != 0)
++ ret = 0;
++
++ free(location);
++
++ return ret;
++}
++
+ static void
+ output_init(struct output *output, struct desktop *desktop)
+ {
+ struct wl_surface *surface;
+
+- output->panel = panel_create(desktop);
+- surface = window_get_wl_surface(output->panel->window);
+- desktop_shell_set_panel(desktop->shell,
+- output->output, surface);
++ if (want_panel(desktop)) {
++ output->panel = panel_create(desktop);
++ surface = window_get_wl_surface(output->panel->window);
++ desktop_shell_set_panel(desktop->shell,
++ output->output, surface);
++ }
+
+ output->background = background_create(desktop);
+ surface = window_get_wl_surface(output->background->window);
+--- a/man/weston.ini.man 2015-11-05 11:56:36.763111313 +0000
++++ b/man/weston.ini.man 2015-11-05 12:06:57.097226512 +0000
+@@ -186,6 +186,11 @@
+ .fi
+ .RE
+ .TP 7
++.BI "panel-location=" top
++sets the location of the panel (string). Can be
++.B top,
++.B none.
++.TP 7
+ .BI "locking=" true
+ enables screen locking (boolean).
+ .TP 7
diff --git a/meta-agl/recipes-graphics/wayland/weston/weston.ini b/meta-agl/recipes-graphics/wayland/weston/weston.ini
index 3241204b6..b533d8908 100644
--- a/meta-agl/recipes-graphics/wayland/weston/weston.ini
+++ b/meta-agl/recipes-graphics/wayland/weston/weston.ini
@@ -1,2 +1,7 @@
[core]
shell=desktop-shell.so
+
+[shell]
+locking=true
+# Uncomment below to hide panel
+#panel-location=none
diff --git a/meta-agl/recipes-graphics/wayland/weston_1.5.0.bbappend b/meta-agl/recipes-graphics/wayland/weston_1.5.0.bbappend
index fd195e90d..cb8d11ed9 100644
--- a/meta-agl/recipes-graphics/wayland/weston_1.5.0.bbappend
+++ b/meta-agl/recipes-graphics/wayland/weston_1.5.0.bbappend
@@ -1,6 +1,7 @@
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
SRC_URI_append = "\
+ file://0001-desktop-shell-add-option-to-avoid-creating-the-panel.patch \
file://weston.service \
file://weston.ini \
"