diff options
author | rbuj <[email protected]> | 2020-12-04 23:18:42 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2020-12-05 13:34:56 +0100 |
commit | 78ea6fd61a3e6d0d4601b2595126eb9b0ed76a42 (patch) | |
tree | 5f8d146a4a3deb583bbdefd5e0ca5add61716aff /mate-panel/panel-properties-dialog.c | |
parent | f577f3b17ff60cc54ef28e7c449e9f0739147bb3 (diff) | |
download | mate-panel-78ea6fd61a3e6d0d4601b2595126eb9b0ed76a42.tar.bz2 mate-panel-78ea6fd61a3e6d0d4601b2595126eb9b0ed76a42.tar.xz |
Fix solid color controls after disabling compositor
Diffstat (limited to 'mate-panel/panel-properties-dialog.c')
-rw-r--r-- | mate-panel/panel-properties-dialog.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/mate-panel/panel-properties-dialog.c b/mate-panel/panel-properties-dialog.c index e9216bec..0475bc72 100644 --- a/mate-panel/panel-properties-dialog.c +++ b/mate-panel/panel-properties-dialog.c @@ -349,8 +349,11 @@ panel_properties_dialog_setup_color_button (PanelPropertiesDialog *dialog, panel_profile_get_background_color (dialog->toplevel, &color); + if (!gdk_screen_is_composited (gdk_screen_get_default ())) + color.alpha = 1.0; + gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (dialog->color_button), - &color); + &color); g_signal_connect_swapped (dialog->color_button, "color_set", G_CALLBACK (panel_properties_dialog_color_changed), @@ -416,7 +419,6 @@ static void panel_properties_dialog_opacity_changed (PanelPropertiesDialog *dialog) { gdouble percentage; - guint16 opacity; percentage = gtk_range_get_value (GTK_RANGE (dialog->opacity_scale)); @@ -425,16 +427,14 @@ panel_properties_dialog_opacity_changed (PanelPropertiesDialog *dialog) else if (percentage <= 2) percentage = 0; - opacity = (percentage / 100) * 65535; - - panel_profile_set_background_opacity (dialog->toplevel, opacity); + panel_profile_set_background_opacity (dialog->toplevel, percentage); } static void panel_properties_dialog_setup_opacity_scale (PanelPropertiesDialog *dialog, GtkBuilder *gui) { - guint16 opacity; + gboolean slider_active; gdouble percentage; dialog->opacity_scale = PANEL_GTK_BUILDER_GET (gui, "opacity_scale"); @@ -444,32 +444,30 @@ panel_properties_dialog_setup_opacity_scale (PanelPropertiesDialog *dialog, dialog->opacity_legend = PANEL_GTK_BUILDER_GET (gui, "opacity_legend"); g_return_if_fail (dialog->opacity_legend != NULL); - opacity = panel_profile_get_background_opacity (dialog->toplevel); + slider_active = gdk_screen_is_composited (gdk_screen_get_default ()); - percentage = (opacity * 100.0) / 65535; + if (slider_active) { + percentage = panel_profile_get_background_opacity (dialog->toplevel); + } else { + percentage = 100.0; + } gtk_range_set_value (GTK_RANGE (dialog->opacity_scale), percentage); - g_signal_connect_swapped (dialog->opacity_scale, "value_changed", - G_CALLBACK (panel_properties_dialog_opacity_changed), - dialog); - - gboolean slider_active = TRUE; - - if ( ! gdk_screen_is_composited(gdk_screen_get_default())) { - slider_active = FALSE; - } - - if ( ! panel_profile_background_key_is_writable (dialog->toplevel, "opacity")) { + if (!panel_profile_background_key_is_writable (dialog->toplevel, "opacity")) { slider_active = FALSE; gtk_widget_show (dialog->writability_warn_background); } - if ( ! slider_active) { + if (!slider_active) { gtk_widget_set_sensitive (dialog->opacity_scale, FALSE); gtk_widget_set_sensitive (dialog->opacity_label, FALSE); gtk_widget_set_sensitive (dialog->opacity_legend, FALSE); } + + g_signal_connect_swapped (dialog->opacity_scale, "value_changed", + G_CALLBACK (panel_properties_dialog_opacity_changed), + dialog); } static void |