diff options
Diffstat (limited to 'src/fe-gtk/setup.c')
-rw-r--r-- | src/fe-gtk/setup.c | 33 |
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 } |