Commit d6c866b6 authored by Matthias Clasen's avatar Matthias Clasen

csd: add style classes for tiled and maximized

This lets us change the border radius when the window is
in one of these states.

https://bugzilla.gnome.org/show_bug.cgi?id=709215
parent 757ae6f1
......@@ -6252,6 +6252,25 @@ add_window_frame_style_class (GtkStyleContext *context)
gtk_style_context_add_class (context, "window-frame");
}
static void
update_window_style_classes (GtkWindow *window)
{
GtkWindowPrivate *priv = window->priv;
GtkStyleContext *context;
context = gtk_widget_get_style_context (GTK_WIDGET (window));
if (priv->tiled)
gtk_style_context_add_class (context, "tiled");
else
gtk_style_context_remove_class (context, "tiled");
if (gtk_window_get_maximized (window))
gtk_style_context_add_class (context, "maximized");
else
gtk_style_context_remove_class (context, "maximized");
}
static void
get_decoration_size (GtkWidget *widget,
GtkBorder *decorations)
......@@ -6878,6 +6897,7 @@ gtk_window_state_event (GtkWidget *widget,
if (event->changed_mask & (GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_TILED))
{
update_window_style_classes (window);
update_window_buttons (window);
gtk_widget_queue_resize (widget);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment