Skip to contentSkip to conversation

Fix bug 658: bottom icons are cut-off in qemu

PATCH Applied Yu Ke 2 participants 3 messages Mar 12, 2011 – Mar 16, 2011

lore
Share & tools
lore

Yu Ke

author
#0 lore raw

cover Fix bug 658: bottom icons are cut-off in qemu

the reason of the abnormal matchbox desktop icons is that: desktop is not resize after window manager decorate it. there does has resize logic in the root window PropertyNotify event handler, however, for some unknown reason, the PropertyNotify event does not deliver to the root window.

this patch fix this issue from anotehr side. Since window manager also send configure event to desktop window after decoration, it also works to do resize in configure event handler. so this patch add configure event handelr to fix this issue.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: kyu3/bug658-desktop
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kyu3/bug658-desktop

Thanks,
Yu Ke <[email protected]>
---

Yu Ke (1):
matchbox-desktop: add configure event handler to fix bug 658

 .../matchbox-desktop/files/window-resize-fix.patch |   48 ++++++++++++++++++++
 .../matchbox-desktop/matchbox-desktop_git.bb       |    5 +-
 2 files changed, 51 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch
author
#1 lore raw

PATCH 1/1 matchbox-desktop: add configure event handler to fix bug 658

Bug658 - "the bottom icons on Applications and All screen are cut-off in qemu"

the reason is that desktop work area is not resized after window manager decoration. so add configure event handler to resize the desktop work area can fix this issue.

[YOCTO #658]

---
 .../matchbox-desktop/files/window-resize-fix.patch |   48 ++++++++++++++++++++
 .../matchbox-desktop/matchbox-desktop_git.bb       |    5 +-
 2 files changed, 51 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch
meta/recipes-sato/matchbox-desktop/files/window-resize-fix.patch new file +48 -0
new file mode 100644
index 0000000..87fbd50
@@ -0,0 +1,48 @@
+commit 2ef9a98cbda46b5a52e20ce292eebd6ba1f3c3a8
+Author: Yu Ke <[email protected]>
+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 <[email protected]>
+
+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
meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb +3 -2
index 09f7913..38d2d69 100644
@@ -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/${PN}-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"
 
Signature · 1 line
1.7.0.4
#2 lore raw
In reply to Yu Ke
Quoted 14 lines · Yu Ke

the reason of the abnormal matchbox desktop icons is that: desktop is not resize after window manager decorate it. there does has resize logic in the root window PropertyNotify event handler, however, for some unknown reason, the PropertyNotify event does not deliver to the root window.

this patch fix this issue from anotehr side. Since window manager also send configure event to desktop window after decoration, it also works to do resize in configure event handler. so this patch add configure event handelr to fix this issue.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: kyu3/bug658-desktop
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kyu3/bug658-desktop

Quoted 7 lines

Thanks,
Yu Ke <[email protected]>
---

Yu Ke (1):
matchbox-desktop: add configure event handler to fix bug 658

Merged into master, thanks.

Richard