diff options
Diffstat (limited to 'meta')
-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 0000000000..87fbd50205 --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | commit 2ef9a98cbda46b5a52e20ce292eebd6ba1f3c3a8 | ||
2 | Author: Yu Ke <ke.yu@intel.com> | ||
3 | Date: 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 | |||
19 | diff --git a/src/desktop.c b/src/desktop.c | ||
20 | index 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 \ | |||
11 | DEPENDS = "gtk+ startup-notification dbus" | 11 | DEPENDS = "gtk+ startup-notification dbus" |
12 | SECTION = "x11/wm" | 12 | SECTION = "x11/wm" |
13 | PV = "2.0+git${SRCPV}" | 13 | PV = "2.0+git${SRCPV}" |
14 | PR = "r0" | 14 | PR = "r1" |
15 | 15 | ||
16 | SRC_URI = "git://git.pokylinux.org/${BPN}-2;protocol=git \ | 16 | SRC_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 | ||
19 | EXTRA_OECONF = "--enable-startup-notification --with-dbus" | 20 | EXTRA_OECONF = "--enable-startup-notification --with-dbus" |
20 | 21 | ||