diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/tabpopup.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/ui/tabpopup.c b/src/ui/tabpopup.c index 57973fb0..abd37b6d 100644 --- a/src/ui/tabpopup.c +++ b/src/ui/tabpopup.c @@ -234,6 +234,13 @@ tab_entry_new (const MetaTabEntry *entry, return te; } +static gboolean +screen_use_osd_style (MetaScreen *screen) +{ + return (meta_prefs_get_compositing_manager () && screen && + !!(meta_display_get_compositor (meta_screen_get_display (screen)))); +} + MetaTabPopup* meta_ui_tab_popup_new (const MetaTabEntry *entries, MetaScreen *meta_screen, @@ -287,8 +294,7 @@ meta_ui_tab_popup_new (const MetaTabEntry *entries, gtk_window_set_resizable (GTK_WINDOW (popup->window), TRUE); /* This style should only be set for composited mode. */ - if (meta_prefs_get_compositing_manager () && meta_screen && - !!(meta_display_get_compositor (meta_screen_get_display (meta_screen)))) + if (screen_use_osd_style (meta_screen)) { frame_shadow = GTK_SHADOW_NONE; gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (popup->window)), @@ -872,10 +878,13 @@ meta_select_image_draw (GtkWidget *widget, if (META_SELECT_IMAGE (widget)->selected) { + MetaScreen *screen; GtkRequisition requisition; GdkRGBA color; int x, y, w, h; + screen = meta_screen_for_x_screen (GDK_SCREEN_XSCREEN (gtk_widget_get_screen (widget))); + gtk_widget_get_preferred_size (widget, &requisition, 0); x = INSIDE_SELECT_RECT; @@ -885,7 +894,10 @@ meta_select_image_draw (GtkWidget *widget, h = requisition.height - OUTSIDE_SELECT_RECT * 2; gtk_style_context_set_state (context, GTK_STATE_FLAG_SELECTED); - meta_gtk_style_get_light_color (context, GTK_STATE_FLAG_SELECTED, &color); + if (screen_use_osd_style (screen)) + meta_gtk_style_get_light_color (context, GTK_STATE_FLAG_SELECTED, &color); + else + meta_gtk_style_get_dark_color (context, GTK_STATE_FLAG_SELECTED, &color); /* We set the line width absurdly high to overflow it behind the icon. */ cairo_set_line_width (cr, 256.0); @@ -1127,8 +1139,7 @@ meta_select_workspace_draw (GtkWidget *widget, gtk_style_context_set_state (context, gtk_widget_get_state_flags (widget)); - if (meta_prefs_get_compositing_manager () && screen && - !!(meta_display_get_compositor (meta_screen_get_display (screen)))) + if (screen_use_osd_style (screen)) { /* compositing manager creates a dark background: show the selection in a light color */ meta_gtk_style_get_light_color (context, GTK_STATE_FLAG_SELECTED, &color); |