diff options
Diffstat (limited to 'meta/recipes-sato')
-rw-r--r-- | meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch | 48 | ||||
-rw-r--r-- | meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb | 5 |
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 000000000..87fbd5020 --- /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 9e95df4e8..4a80ff92b 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" |