diff options
Diffstat (limited to 'src/terminal-screen.c')
-rw-r--r-- | src/terminal-screen.c | 177 |
1 files changed, 17 insertions, 160 deletions
diff --git a/src/terminal-screen.c b/src/terminal-screen.c index 3bf57b1..6bb338d 100644 --- a/src/terminal-screen.c +++ b/src/terminal-screen.c @@ -119,11 +119,7 @@ static gboolean terminal_screen_popup_menu (GtkWidget *widget); static gboolean terminal_screen_button_press (GtkWidget *widget, GdkEventButton *event); static void terminal_screen_launch_child_on_idle (TerminalScreen *screen); -#if VTE_CHECK_VERSION (0, 38, 0) static void terminal_screen_child_exited (VteTerminal *terminal, int status); -#else -static void terminal_screen_child_exited (VteTerminal *terminal); -#endif static void terminal_screen_window_title_changed (VteTerminal *vte_terminal, TerminalScreen *screen); @@ -138,12 +134,7 @@ static void terminal_screen_cook_title (TerminalScreen *screen); static void terminal_screen_cook_icon_title (TerminalScreen *screen); static char* terminal_screen_check_match (TerminalScreen *screen, -#if VTE_CHECK_VERSION (0, 38, 0) GdkEvent *event, -#else - int column, - int row, -#endif int *flavor); static guint signals[LAST_SIGNAL] = { 0 }; @@ -292,38 +283,10 @@ terminal_screen_get_window (TerminalScreen *screen) return TERMINAL_WINDOW (toplevel); } -#if !VTE_CHECK_VERSION (0, 38, 0) -static gboolean -window_uses_argb_visual (TerminalScreen *screen) -{ - TerminalWindow *window; - - window = terminal_screen_get_window (screen); - if (window == NULL || !gtk_widget_get_realized (GTK_WIDGET (window))) - return FALSE; - - return terminal_window_uses_argb_visual (window); -} -#endif - static void terminal_screen_realize (GtkWidget *widget) { -#if !VTE_CHECK_VERSION (0, 38, 0) - TerminalScreen *screen = TERMINAL_SCREEN (widget); - TerminalScreenPrivate *priv = screen->priv; - TerminalBackgroundType bg_type; -#endif - GTK_WIDGET_CLASS (terminal_screen_parent_class)->realize (widget); - -#if !VTE_CHECK_VERSION (0, 38, 0) - /* FIXME: Don't enable this if we have a compmgr. */ - bg_type = terminal_profile_get_property_enum (priv->profile, TERMINAL_PROFILE_BACKGROUND_TYPE); - vte_terminal_set_background_transparent (VTE_TERMINAL (screen), - bg_type == TERMINAL_BACKGROUND_TRANSPARENT && - !window_uses_argb_visual (screen)); -#endif } static void @@ -923,9 +886,6 @@ terminal_screen_profile_notify_cb (TerminalProfile *profile, GObject *object = G_OBJECT (screen); VteTerminal *vte_terminal = VTE_TERMINAL (screen); const char *prop_name; -#if !VTE_CHECK_VERSION (0, 38, 0) - TerminalBackgroundType bg_type; -#endif TerminalWindow *window; if (pspec) @@ -969,10 +929,8 @@ terminal_screen_profile_notify_cb (TerminalProfile *profile, prop_name == I_(TERMINAL_PROFILE_USE_THEME_COLORS) || prop_name == I_(TERMINAL_PROFILE_FOREGROUND_COLOR) || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_COLOR) || -#if VTE_CHECK_VERSION (0, 38, 0) prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE) || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_DARKNESS) || -#endif prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG) || prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR) || prop_name == I_(TERMINAL_PROFILE_PALETTE)) @@ -981,15 +939,10 @@ terminal_screen_profile_notify_cb (TerminalProfile *profile, if (!prop_name || prop_name == I_(TERMINAL_PROFILE_SILENT_BELL)) vte_terminal_set_audible_bell (vte_terminal, !terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_SILENT_BELL)); - if (!prop_name || prop_name == I_(TERMINAL_PROFILE_WORD_CHARS)) #if VTE_CHECK_VERSION (0, 40, 0) + if (!prop_name || prop_name == I_(TERMINAL_PROFILE_WORD_CHARS)) vte_terminal_set_word_char_exceptions (vte_terminal, terminal_profile_get_property_string (profile, TERMINAL_PROFILE_WORD_CHARS)); -#elif !VTE_CHECK_VERSION (0, 38, 0) - vte_terminal_set_word_chars (vte_terminal, - terminal_profile_get_property_string (profile, TERMINAL_PROFILE_WORD_CHARS)); -#else - {} #endif if (!prop_name || prop_name == I_(TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE)) vte_terminal_set_scroll_on_keystroke (vte_terminal, @@ -1032,51 +985,6 @@ terminal_screen_profile_notify_cb (TerminalProfile *profile, } #endif /* ENABLE_SKEY */ -/* Background image support was removed in vte 0.38. - * Transparency for 0.38+ is handled above next to TERMINAL_PROFILE_BACKGROUND_COLOR. */ -#if !VTE_CHECK_VERSION (0, 38, 0) - if (!prop_name || - prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE) || - prop_name == I_(TERMINAL_PROFILE_BACKGROUND_IMAGE) || - prop_name == I_(TERMINAL_PROFILE_BACKGROUND_DARKNESS) || - prop_name == I_(TERMINAL_PROFILE_SCROLL_BACKGROUND)) - { - bg_type = terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKGROUND_TYPE); - - if (bg_type == TERMINAL_BACKGROUND_IMAGE) - { - vte_terminal_set_background_image (vte_terminal, - terminal_profile_get_property_object (profile, TERMINAL_PROFILE_BACKGROUND_IMAGE)); - vte_terminal_set_scroll_background (vte_terminal, - terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_SCROLL_BACKGROUND)); - } - else - { - vte_terminal_set_background_image (vte_terminal, NULL); - vte_terminal_set_scroll_background (vte_terminal, FALSE); - } - - if (bg_type == TERMINAL_BACKGROUND_IMAGE || - bg_type == TERMINAL_BACKGROUND_TRANSPARENT) - { - vte_terminal_set_background_saturation (vte_terminal, - 1.0 - terminal_profile_get_property_double (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS)); - vte_terminal_set_opacity (vte_terminal, - 0xffff * terminal_profile_get_property_double (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS)); - } - else - { - vte_terminal_set_background_saturation (vte_terminal, 1.0); /* normal color */ - vte_terminal_set_opacity (vte_terminal, 0xffff); - } - - /* FIXME: Don't enable this if we have a compmgr. */ - vte_terminal_set_background_transparent (vte_terminal, - bg_type == TERMINAL_BACKGROUND_TRANSPARENT && - !window_uses_argb_visual (screen)); - } -#endif - if (!prop_name || prop_name == I_(TERMINAL_PROFILE_BACKSPACE_BINDING)) vte_terminal_set_backspace_binding (vte_terminal, terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKSPACE_BINDING)); @@ -1101,7 +1009,6 @@ terminal_screen_profile_notify_cb (TerminalProfile *profile, } /* TODO: Once Gtk2 support is dropped, mate-terminal should be converted to use GdkRGBA everywhere instead of GdkColor. */ -#if VTE_CHECK_VERSION (0, 38, 0) static GdkRGBA * gdk_color_to_rgba (const GdkColor *color, double alpha, @@ -1115,7 +1022,6 @@ gdk_color_to_rgba (const GdkColor *color, rgba->alpha = alpha; return rgba; } -#endif static void update_color_scheme (TerminalScreen *screen) @@ -1152,33 +1058,23 @@ update_color_scheme (TerminalScreen *screen) n_colors = G_N_ELEMENTS (colors); terminal_profile_get_palette (priv->profile, colors, &n_colors); -#if VTE_CHECK_VERSION (0, 38, 0) - { - GdkRGBA colors_rgba[TERMINAL_PALETTE_SIZE]; - GdkRGBA fg_rgba, bg_rgba, bold_rgba; - double alpha = 1.0; - int i; - - for (i = 0; i < n_colors; i++) - gdk_color_to_rgba (&colors[i], 1.0, &colors_rgba[i]); - - if (terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKGROUND_TYPE) == TERMINAL_BACKGROUND_TRANSPARENT) - alpha = terminal_profile_get_property_double (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS); - vte_terminal_set_colors (VTE_TERMINAL (screen), - gdk_color_to_rgba (&fg, 1.0, &fg_rgba), - gdk_color_to_rgba (&bg, alpha, &bg_rgba), - colors_rgba, n_colors); - if (bold_color) - vte_terminal_set_color_bold (VTE_TERMINAL (screen), - gdk_color_to_rgba (bold_color, 1.0, &bold_rgba)); - } -#else - vte_terminal_set_colors (VTE_TERMINAL (screen), &fg, &bg, - colors, n_colors); + GdkRGBA colors_rgba[TERMINAL_PALETTE_SIZE]; + GdkRGBA fg_rgba, bg_rgba, bold_rgba; + double alpha = 1.0; + int i; + + for (i = 0; i < n_colors; i++) + gdk_color_to_rgba (&colors[i], 1.0, &colors_rgba[i]); + + if (terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKGROUND_TYPE) == TERMINAL_BACKGROUND_TRANSPARENT) + alpha = terminal_profile_get_property_double (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS); + vte_terminal_set_colors (VTE_TERMINAL (screen), + gdk_color_to_rgba (&fg, 1.0, &fg_rgba), + gdk_color_to_rgba (&bg, alpha, &bg_rgba), + colors_rgba, n_colors); if (bold_color) - vte_terminal_set_color_bold (VTE_TERMINAL (screen), bold_color); - vte_terminal_set_background_tint_color (VTE_TERMINAL (screen), &bg); -#endif + vte_terminal_set_color_bold (VTE_TERMINAL (screen), + gdk_color_to_rgba (bold_color, 1.0, &bold_rgba)); } void @@ -1564,11 +1460,7 @@ terminal_screen_launch_child_cb (TerminalScreen *screen) pty_flags |= VTE_PTY_NO_UTMP | VTE_PTY_NO_WTMP; if (!get_child_command (screen, shell, &spawn_flags, &argv, &err) || -#if VTE_CHECK_VERSION (0, 38, 0) !vte_terminal_spawn_sync ( -#else - !vte_terminal_fork_command_full ( -#endif terminal, pty_flags, working_dir, @@ -1577,9 +1469,7 @@ terminal_screen_launch_child_cb (TerminalScreen *screen) spawn_flags, NULL, NULL, &pid, -#if VTE_CHECK_VERSION (0, 38, 0) NULL, -#endif &err)) { GtkWidget *info_bar; @@ -1693,25 +1583,10 @@ terminal_screen_button_press (GtkWidget *widget, char *matched_string; int matched_flavor = 0; guint state; -#if !VTE_CHECK_VERSION (0, 38, 0) - int char_width, char_height, row, col; - GtkBorder *inner_border = NULL; -#endif state = event->state & gtk_accelerator_get_default_mod_mask (); -#if VTE_CHECK_VERSION (0, 38, 0) matched_string = terminal_screen_check_match (screen, event, &matched_flavor); -#else - terminal_screen_get_cell_size (screen, &char_width, &char_height); - - gtk_widget_style_get (widget, "inner-border", &inner_border, NULL); - row = (event->x - (inner_border ? inner_border->left : 0)) / char_width; - col = (event->y - (inner_border ? inner_border->top : 0)) / char_height; - gtk_border_free (inner_border); - - matched_string = terminal_screen_check_match (screen, row, col, &matched_flavor); -#endif if (matched_string != NULL && (event->button == 1 || event->button == 2) && @@ -1947,11 +1822,7 @@ terminal_screen_icon_title_changed (VteTerminal *vte_terminal, } static void -#if VTE_CHECK_VERSION (0, 38, 0) terminal_screen_child_exited (VteTerminal *terminal, int status) -#else -terminal_screen_child_exited (VteTerminal *terminal) -#endif { TerminalScreen *screen = TERMINAL_SCREEN (terminal); TerminalScreenPrivate *priv = screen->priv; @@ -1979,11 +1850,6 @@ terminal_screen_child_exited (VteTerminal *terminal) case TERMINAL_EXIT_HOLD: { GtkWidget *info_bar; -#if !VTE_CHECK_VERSION (0, 38, 0) - int status; - - status = vte_terminal_get_child_exit_status (terminal); -#endif info_bar = terminal_info_bar_new (GTK_MESSAGE_INFO, _("_Relaunch"), RESPONSE_RELAUNCH, @@ -2350,12 +2216,7 @@ terminal_screen_skey_match_remove (TerminalScreen *screen) static char* terminal_screen_check_match (TerminalScreen *screen, -#if VTE_CHECK_VERSION (0, 38, 0) GdkEvent *event, -#else - int column, - int row, -#endif int *flavor) { TerminalScreenPrivate *priv = screen->priv; @@ -2363,11 +2224,7 @@ terminal_screen_check_match (TerminalScreen *screen, int tag; char *match; -#if VTE_CHECK_VERSION (0, 38, 0) match = vte_terminal_match_check_event (VTE_TERMINAL (screen), event, &tag); -#else - match = vte_terminal_match_check (VTE_TERMINAL (screen), column, row, &tag); -#endif for (tags = priv->match_tags; tags != NULL; tags = tags->next) { TagData *tag_data = (TagData*) tags->data; |