diff options
Diffstat (limited to 'xfce/terminal/terminal.patch')
-rw-r--r-- | xfce/terminal/terminal.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/xfce/terminal/terminal.patch b/xfce/terminal/terminal.patch deleted file mode 100644 index a992a90c52..0000000000 --- a/xfce/terminal/terminal.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- terminal/terminal-screen.c -+++ terminal/terminal-screen.c -@@ -90,6 +90,7 @@ static gchar *terminal_screen_parse_title (TerminalScreen - const gchar *title); - static gchar **terminal_screen_get_child_environment (TerminalScreen *screen); - static void terminal_screen_update_background (TerminalScreen *screen); -+static void terminal_screen_update_background_fast (TerminalScreen *screen); - static void terminal_screen_update_binding_backspace (TerminalScreen *screen); - static void terminal_screen_update_binding_delete (TerminalScreen *screen); - static void terminal_screen_update_colors (TerminalScreen *screen); -@@ -141,6 +142,8 @@ struct _TerminalScreen - - guint session_id; - -+ gulong background_signal_id; -+ - GPid pid; - gchar *working_directory; - -@@ -243,7 +246,6 @@ terminal_screen_init (TerminalScreen *screen) - "signal::selection-changed", G_CALLBACK (terminal_screen_vte_selection_changed), screen, - "signal::window-title-changed", G_CALLBACK (terminal_screen_vte_window_title_changed), screen, - "signal::resize-window", G_CALLBACK (terminal_screen_vte_resize_window), screen, -- "swapped-signal::size-allocate", G_CALLBACK (terminal_screen_timer_background), screen, - "swapped-signal::style-set", G_CALLBACK (terminal_screen_update_colors), screen, - NULL); - gtk_box_pack_start (GTK_BOX (screen), screen->terminal, TRUE, TRUE, 0); -@@ -712,6 +714,18 @@ terminal_screen_get_child_environment (TerminalScreen *screen) - - - static void -+terminal_screen_update_background_fast (TerminalScreen *screen) -+{ -+ if (G_UNLIKELY (screen->background_timer_id == 0)) -+ { -+ screen->background_timer_id = g_idle_add_full (G_PRIORITY_LOW, terminal_screen_timer_background, -+ screen, terminal_screen_timer_background_destroy); -+ } -+} -+ -+ -+ -+static void - terminal_screen_update_background (TerminalScreen *screen) - { - if (G_UNLIKELY (screen->background_timer_id != 0)) -@@ -1222,9 +1236,25 @@ terminal_screen_timer_background (gpointer user_data) - if (G_LIKELY (image != NULL)) - g_object_unref (G_OBJECT (image)); - g_object_unref (G_OBJECT (loader)); -+ -+ /* refresh background on size changes */ -+ if (screen->background_signal_id == 0) -+ { -+ screen->background_signal_id = -+ g_signal_connect_swapped (G_OBJECT (screen->terminal), "size-allocate", -+ G_CALLBACK (terminal_screen_update_background_fast), screen); -+ } - } - else - { -+ /* stop updating on size changes */ -+ if (screen->background_signal_id != 0) -+ { -+ g_signal_handler_disconnect (G_OBJECT (screen->terminal), screen->background_signal_id); -+ screen->background_signal_id = 0; -+ } -+ -+ /* WARNING: the causes a resize too! */ - vte_terminal_set_background_image (VTE_TERMINAL (screen->terminal), NULL); - } - -@@ -1365,7 +1395,7 @@ terminal_screen_launch_child (TerminalScreen *screen) - - if (!vte_terminal_fork_command_full (VTE_TERMINAL (screen->terminal), - update ? VTE_PTY_DEFAULT : VTE_PTY_NO_LASTLOG | VTE_PTY_NO_UTMP | VTE_PTY_NO_WTMP, -- screen->working_directory, argv2, env, -+ screen->working_directory, argv2, env, - spawn_flags, - NULL, NULL, - &screen->pid, &error)) |