From 7da92bf04c90e7225ec827c39f19a364ec0b9fc7 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Wed, 2 Mar 2011 16:05:51 +0900 Subject: [PATCH] Make the window not maximizable (RHBZ#680406). --- src/server-context.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/server-context.c b/src/server-context.c index e7a6ad23..9056db7a 100644 --- a/src/server-context.c +++ b/src/server-context.c @@ -175,6 +175,22 @@ on_notify_visible (GObject *object, GParamSpec *spec, gpointer user_data) } } +static void +on_realize (GtkWidget *widget, + gpointer user_data) +{ + ServerContext *context = user_data; + + g_assert (context && context->window == widget); + + /* make the window not maximizable */ + gdk_window_set_functions (gtk_widget_get_window (widget), + GDK_FUNC_RESIZE | + GDK_FUNC_MOVE | + GDK_FUNC_MINIMIZE | + GDK_FUNC_CLOSE); +} + static void update_widget (ServerContext *context) { @@ -226,6 +242,9 @@ update_widget (ServerContext *context) gtk_window_set_icon_name (GTK_WINDOW(context->window), "eekboard"); gtk_window_set_keep_above (GTK_WINDOW(context->window), TRUE); + g_signal_connect (context->window, "realize", + G_CALLBACK(on_realize), context); + screen = gdk_screen_get_default (); root = gtk_widget_get_root_window (context->window); monitor = gdk_screen_get_monitor_at_window (screen, root);