[PATCH 1/2] cairo-util: Fix geometry for frames with buttons but without title

Boyan Ding stu_dby at 126.com
Fri Jul 4 00:19:22 PDT 2014


There exist frames which have buttons without title such as a simple
X application piped through xwayland which doesn't specify a title.
We draw the title bar with buttons, but hide it under the window
because geometry thinks a window needs titlebar only if it has title.

This patch change the condition, making it titlebar is needed if a
frame has title or has button(s), which makes more sense.

Signed-off-by: Boyan Ding <stu_dby at 126.com>
---
 shared/frame.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/shared/frame.c b/shared/frame.c
index 35e6b65..aacca60 100644
--- a/shared/frame.c
+++ b/shared/frame.c
@@ -426,7 +426,7 @@ frame_resize_inside(struct frame *frame, int32_t width, int32_t height)
 	struct theme *t = frame->theme;
 	int decoration_width, decoration_height, titlebar_height;
 
-	if (frame->title)
+	if (frame->title || !wl_list_empty(&frame->buttons))
 		titlebar_height = t->titlebar_height;
 	else
 		titlebar_height = t->width;
@@ -467,7 +467,7 @@ frame_refresh_geometry(struct frame *frame)
 	if (!frame->geometry_dirty)
 		return;
 
-	if (frame->title)
+	if (frame->title || !wl_list_empty(&frame->buttons))
 		titlebar_height = t->titlebar_height;
 	else
 		titlebar_height = t->width;
-- 
2.0.1




More information about the wayland-devel mailing list