cairo-util: Fix geometry for frames with buttons but without title

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@126.com>
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 @@
 	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 @@
 	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;