summary refs log tree commit diff stats
path: root/src/fe-gtk/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-gtk/setup.c')
-rw-r--r--src/fe-gtk/setup.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index 4c2d4d11..41b50ac7 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -159,19 +159,11 @@ static const setting appearance_settings[] =
 	{ST_HEADER,	N_("Text Box"),0,0,0},
 	{ST_TOGGLE, N_("Colored nick names"), P_OFFINTNL(hex_text_color_nicks), N_("Give each person on IRC a different color"),0,0},
 	{ST_TOGGLR, N_("Indent nick names"), P_OFFINTNL(hex_text_indent), N_("Make nick names right-justified"),0,0},
-#if defined(USE_XLIB) || defined(WIN32)
-	{ST_TOGGLE, N_("Transparent background"), P_OFFINTNL(hex_text_transparent),0,0,0},
-	{ST_TOGGLR, N_("Show marker line"), P_OFFINTNL(hex_text_show_marker), N_("Insert a red line after the last read text."),0,0},
-	{ST_EFILE,  N_("Background image:"), P_OFFSETNL(hex_text_background), 0, 0, sizeof prefs.hex_text_background},
+	{ST_TOGGLE, N_ ("Show marker line"), P_OFFINTNL (hex_text_show_marker), N_ ("Insert a red line after the last read text."), 0, 0},
+	{ST_EFILE, N_ ("Background image:"), P_OFFSETNL (hex_text_background), 0, 0, sizeof prefs.hex_text_background},
 
 	{ST_HEADER, N_("Transparency Settings"), 0,0,0},
-	{ST_HSCALE, N_("Red:"), P_OFFINTNL(hex_text_tint_red),0,0,0},
-	{ST_HSCALE, N_("Green:"), P_OFFINTNL(hex_text_tint_green),0,0,0},
-	{ST_HSCALE, N_("Blue:"), P_OFFINTNL(hex_text_tint_blue),0,0,0},
-#else
-	{ST_TOGGLE, N_("Show marker line"), P_OFFINTNL(hex_text_show_marker), N_("Insert a red line after the last read text."),0,0},
-	{ST_EFILE,  N_("Background image:"), P_OFFSETNL(hex_text_background), 0, 0, sizeof prefs.hex_text_background},
-#endif
+	{ST_HSCALE, N_("Window Opacity:"), P_OFFINTNL(hex_gui_transparency),0,0,0},
 
 	{ST_HEADER,	N_("Time Stamps"),0,0,0},
 	{ST_TOGGLE, N_("Enable time stamps"), P_OFFINTNL(hex_stamp_text),0,0,1},
@@ -839,12 +831,13 @@ setup_create_spin (GtkWidget *table, int row, const setting *set)
 }
 
 static gint
-setup_apply_tint (int *tag)
+setup_apply_trans (int *tag)
 {
-	prefs.hex_text_tint_red = setup_prefs.hex_text_tint_red;
-	prefs.hex_text_tint_green = setup_prefs.hex_text_tint_green;
-	prefs.hex_text_tint_blue = setup_prefs.hex_text_tint_blue;
-	mg_update_xtext (current_sess->gui->xtext);
+	prefs.hex_gui_transparency = setup_prefs.hex_gui_transparency;
+	gtk_window_set_opacity (GTK_WINDOW (current_sess->gui->window),
+							(prefs.hex_gui_transparency / 255.));
+
+	/* mg_update_xtext (current_sess->gui->xtext); */
 	*tag = 0;
 	return 0;
 }
@@ -858,7 +851,7 @@ setup_hscale_cb (GtkHScale *wid, const setting *set)
 
 	if (tag == 0)
 	{
-		tag = g_idle_add ((GSourceFunc) setup_apply_tint, &tag);
+		tag = g_idle_add ((GSourceFunc) setup_apply_trans, &tag);
 	}
 }
 
@@ -879,6 +872,12 @@ setup_create_hscale (GtkWidget *table, int row, const setting *set)
 							G_CALLBACK (setup_hscale_cb), (gpointer)set);
 	gtk_table_attach (GTK_TABLE (table), wid, 3, 6, row, row + 1,
 							GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+
+#ifndef WIN32 /* Windows always supports this */
+	/* Only used for transparency currently */
+	if (!gtk_widget_is_composited (current_sess->gui->window))
+		gtk_widget_set_sensitive (wid, FALSE);
+#endif
 }