diff options
Diffstat (limited to 'endless')
-rw-r--r-- | endless/eostopbar.c | 7 | ||||
-rw-r--r-- | endless/eoswindow.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/endless/eostopbar.c b/endless/eostopbar.c index 735ba6c..85f4753 100644 --- a/endless/eostopbar.c +++ b/endless/eostopbar.c @@ -18,6 +18,7 @@ * The action buttons area contain "minimize", "maximize" and "close" buttons. */ #define _EOS_STYLE_CLASS_TOP_BAR "top-bar" +#define _EOS_STYLE_CLASS_UNMAXIMIZED "unmaximized" #define _EOS_TOP_BAR_HEIGHT_PX 36 #define _EOS_TOP_BAR_BUTTON_PADDING_PX 4 #define _EOS_TOP_BAR_ICON_SIZE_PX 16 @@ -344,4 +345,10 @@ eos_top_bar_update_window_maximized (EosTopBar *self, gtk_image_set_from_icon_name (GTK_IMAGE (priv->maximize_icon), icon_name, GTK_ICON_SIZE_SMALL_TOOLBAR); + + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self)); + if (!is_maximized) + gtk_style_context_add_class (context, _EOS_STYLE_CLASS_UNMAXIMIZED); + else + gtk_style_context_remove_class (context, _EOS_STYLE_CLASS_UNMAXIMIZED); } diff --git a/endless/eoswindow.c b/endless/eoswindow.c index cdf0fc7..ce95ae8 100644 --- a/endless/eoswindow.c +++ b/endless/eoswindow.c @@ -760,7 +760,7 @@ on_close_clicked_cb (GtkWidget *top_bar, gtk_window_close (GTK_WINDOW (self)); } -static void +static gboolean on_window_state_event_cb (GtkWidget *widget, GdkEventWindowState *event) { @@ -769,6 +769,7 @@ on_window_state_event_cb (GtkWidget *widget, GdkWindowState window_state = event->new_window_state; priv->maximized = window_state & GDK_WINDOW_STATE_MAXIMIZED; eos_top_bar_update_window_maximized (EOS_TOP_BAR (priv->top_bar), priv->maximized); + return FALSE; } /* Make sure that the edge finishing does not catch input events */ |