summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/matchbox-desktop
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-sato/matchbox-desktop')
-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 @@
1commit 2ef9a98cbda46b5a52e20ce292eebd6ba1f3c3a8
2Author: Yu Ke <ke.yu@intel.com>
3Date: Sun Mar 6 17:58:45 2011 +0800
4
5 desktop: Add configure event handler for desktop resize
6
7 desktop need to resize its work area when window manager decorate its
8 window. Originally it is done by the hook in root window PropertyNotify
9 event handler, i.e. net_workarea_changed () routine. However, for unknown
10 reason, the PropertyNotify event does not deliver to the root window,
11 thus this routine does not work.
12
13 this patch fix this issue from another side. Since window manager will also
14 send configure event to desktop window after decoration, it also works to do
15 it in configure event handler.
16
17 Signed-off-by: Yu Ke <ke.yu@intel.com>
18
19diff --git a/src/desktop.c b/src/desktop.c
20index d4fc2fb..5aa2cfc 100644
21--- a/src/desktop.c
22+++ b/src/desktop.c
23@@ -130,6 +130,15 @@ workarea_changed (int x, int y, int w, int h)
24 gtk_fixed_move (GTK_FIXED (fixed), box, x, y);
25 }
26
27+static gboolean
28+desktop_configure_callback(GtkWindow *window,
29+ GdkEvent *event, gpointer data)
30+{
31+ gtk_widget_set_size_request (box, event->configure.width, event->configure.height);
32+ gtk_widget_queue_resize (box);
33+ return FALSE;
34+}
35+
36 GtkWidget *
37 create_desktop (void)
38 {
39@@ -176,6 +185,9 @@ create_desktop (void)
40 /* Set a sane default in case there is no work area defined yet */
41 workarea_changed (0, 0, screen_w, screen_h);
42
43+ g_signal_connect(G_OBJECT(window), "configure-event",
44+ G_CALLBACK(desktop_configure_callback), NULL);
45+
46 #ifdef STANDALONE
47 /* TODO: fake workarea_changed calls on window resize */
48 #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 \
11DEPENDS = "gtk+ startup-notification dbus" 11DEPENDS = "gtk+ startup-notification dbus"
12SECTION = "x11/wm" 12SECTION = "x11/wm"
13PV = "2.0+git${SRCPV}" 13PV = "2.0+git${SRCPV}"
14PR = "r0" 14PR = "r1"
15 15
16SRC_URI = "git://git.pokylinux.org/${BPN}-2;protocol=git \ 16SRC_URI = "git://git.pokylinux.org/${BPN}-2;protocol=git \
17 file://dso_linking_change_build_fix.patch" 17 file://dso_linking_change_build_fix.patch \
18 file://window-resize-fix.patch"
18 19
19EXTRA_OECONF = "--enable-startup-notification --with-dbus" 20EXTRA_OECONF = "--enable-startup-notification --with-dbus"
20 21