aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch48
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb5
2 files changed, 51 insertions, 2 deletions
diff --git a/meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch b/meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch
new file mode 100644
index 0000000000..87fbd50205
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch
@@ -0,0 +1,48 @@
+commit 2ef9a98cbda46b5a52e20ce292eebd6ba1f3c3a8
+Author: Yu Ke <ke.yu@intel.com>
+Date: Sun Mar 6 17:58:45 2011 +0800
+
+ desktop: Add configure event handler for desktop resize
+
+ desktop need to resize its work area when window manager decorate its
+ window. Originally it is done by the hook in root window PropertyNotify
+ event handler, i.e. net_workarea_changed () routine. However, for unknown
+ reason, the PropertyNotify event does not deliver to the root window,
+ thus this routine does not work.
+
+ this patch fix this issue from another side. Since window manager will also
+ send configure event to desktop window after decoration, it also works to do
+ it in configure event handler.
+
+ Signed-off-by: Yu Ke <ke.yu@intel.com>
+
+diff --git a/src/desktop.c b/src/desktop.c
+index d4fc2fb..5aa2cfc 100644
+--- a/src/desktop.c
++++ b/src/desktop.c
+@@ -130,6 +130,15 @@ workarea_changed (int x, int y, int w, int h)
+ gtk_fixed_move (GTK_FIXED (fixed), box, x, y);
+ }
+
++static gboolean
++desktop_configure_callback(GtkWindow *window,
++ GdkEvent *event, gpointer data)
++{
++ gtk_widget_set_size_request (box, event->configure.width, event->configure.height);
++ gtk_widget_queue_resize (box);
++ return FALSE;
++}
++
+ GtkWidget *
+ create_desktop (void)
+ {
+@@ -176,6 +185,9 @@ create_desktop (void)
+ /* Set a sane default in case there is no work area defined yet */
+ workarea_changed (0, 0, screen_w, screen_h);
+
++ g_signal_connect(G_OBJECT(window), "configure-event",
++ G_CALLBACK(desktop_configure_callback), NULL);
++
+ #ifdef STANDALONE
+ /* TODO: fake workarea_changed calls on window resize */
+ #else
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
index 9e95df4e88..4a80ff92bc 100644
--- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
@@ -11,10 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
DEPENDS = "gtk+ startup-notification dbus"
SECTION = "x11/wm"
PV = "2.0+git${SRCPV}"
-PR = "r0"
+PR = "r1"
SRC_URI = "git://git.pokylinux.org/${BPN}-2;protocol=git \
- file://dso_linking_change_build_fix.patch"
+ file://dso_linking_change_build_fix.patch \
+ file://window-resize-fix.patch"
EXTRA_OECONF = "--enable-startup-notification --with-dbus"