openbsd-ports/x11/sakura/patches/patch-src_sakura_c

211 lines
10 KiB
Plaintext

$OpenBSD: patch-src_sakura_c,v 1.2 2014/12/29 07:35:19 bcallah Exp $
https://bugs.launchpad.net/sakura/+bug/1337962
--- src/sakura.c.orig Wed Dec 10 12:19:47 2014
+++ src/sakura.c Mon Dec 29 02:26:38 2014
@@ -225,7 +225,7 @@ static struct {
glong columns;
glong rows;
gint label_count;
- VteTerminalCursorShape cursor_type;
+ VteCursorShape cursor_type;
bool first_tab;
bool show_scrollbar;
bool show_resize_grip;
@@ -283,7 +283,7 @@ struct terminal {
GtkWidget *label;
gchar *label_text;
bool label_set_byuser;
- GtkBorder *border; /* inner-property data */
+ GtkBorder padding; /* inner-property data */
int colorset;
};
@@ -860,7 +860,7 @@ sakura_delete_event (GtkWidget *widget, void *data)
for (i=0; i < npages; i++) {
term = sakura_get_page_term(sakura, i);
- pgid = tcgetpgrp(vte_terminal_get_pty(VTE_TERMINAL(term->vte)));
+ pgid = tcgetpgrp(vte_pty_get_fd(vte_terminal_get_pty(VTE_TERMINAL(term->vte))));
/* If running processes are found, we ask one time and exit */
if ( (pgid != -1) && (pgid != term->pid)) {
@@ -1012,14 +1012,14 @@ sakura_set_colors ()
/* This is needed for set_opacity to have effect. The opacity does
take effect when switching tabs, so this setting to white is
actually needed only in the shown tab.*/
- vte_terminal_set_color_background_rgba(VTE_TERMINAL (term->vte), &white);
- vte_terminal_set_opacity(VTE_TERMINAL (term->vte), (int)((sakura.backcolors[term->colorset].alpha)*65535));
+ vte_terminal_set_color_background(VTE_TERMINAL (term->vte), &white);
+ //vte_terminal_set_opacity(VTE_TERMINAL (term->vte), (int)((sakura.backcolors[term->colorset].alpha)*65535));
}
- vte_terminal_set_colors_rgba(VTE_TERMINAL(term->vte),
+ vte_terminal_set_colors(VTE_TERMINAL(term->vte),
&sakura.forecolors[term->colorset],
&sakura.backcolors[term->colorset],
sakura.palette, PALETTE_SIZE);
- vte_terminal_set_color_cursor_rgba(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
+ vte_terminal_set_color_cursor(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
}
}
@@ -1340,7 +1340,7 @@ sakura_clear (GtkWidget *widget, void *data)
gtk_widget_hide(sakura.item_clear_background);
- vte_terminal_set_background_image(VTE_TERMINAL(term->vte), NULL);
+ //vte_terminal_set_background_image(VTE_TERMINAL(term->vte), NULL);
sakura_set_config_string("background", "none");
@@ -1478,10 +1478,10 @@ sakura_visible_bell (GtkWidget *widget, void *data)
term = sakura_get_page_term(sakura, page);
if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
- vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), TRUE);
+ //vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), TRUE);
sakura_set_config_string("visible_bell", "Yes");
} else {
- vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), FALSE);
+ //vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), FALSE);
sakura_set_config_string("visible_bell", "No");
}
}
@@ -1579,11 +1579,11 @@ sakura_set_palette(GtkWidget *widget, void *data)
for (i = (n_pages - 1); i >= 0; i--) {
term = sakura_get_page_term(sakura, i);
- vte_terminal_set_colors_rgba(VTE_TERMINAL(term->vte),
+ vte_terminal_set_colors(VTE_TERMINAL(term->vte),
&sakura.forecolors[term->colorset],
&sakura.backcolors[term->colorset],
sakura.palette, PALETTE_SIZE);
- vte_terminal_set_color_cursor_rgba(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
+ vte_terminal_set_color_cursor(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
}
sakura_set_config_string("palette", palette);
@@ -1713,7 +1713,7 @@ sakura_close_tab (GtkWidget *widget, void *data)
}
/* Check if there are running processes for this tab. Use tcgetpgrp to compare to the shell PGID */
- pgid = tcgetpgrp(vte_terminal_get_pty(VTE_TERMINAL(term->vte)));
+ pgid = tcgetpgrp(vte_pty_get_fd(vte_terminal_get_pty(VTE_TERMINAL(term->vte))));
if ( (pgid != -1) && (pgid != term->pid) && (!sakura.less_questions) ) {
dialog=gtk_message_dialog_new(GTK_WINDOW(sakura.main_window), GTK_DIALOG_MODAL,
@@ -1769,7 +1769,7 @@ sakura_closebutton_clicked(GtkWidget *widget, void *da
}
/* Check if there are running processes for this tab. Use tcgetpgrp to compare to the shell PGID */
- pgid = tcgetpgrp(vte_terminal_get_pty(VTE_TERMINAL(term->vte)));
+ pgid = tcgetpgrp(vte_pty_get_fd(vte_terminal_get_pty(VTE_TERMINAL(term->vte))));
if ( (pgid != -1) && (pgid != term->pid) && (!sakura.less_questions) ) {
dialog=gtk_message_dialog_new(GTK_WINDOW(sakura.main_window), GTK_DIALOG_MODAL,
@@ -2510,9 +2510,11 @@ sakura_set_size(void)
sakura.resized=FALSE;
}
- gtk_widget_style_get(term->vte, "inner-border", &term->border, NULL);
- pad_x = term->border->left + term->border->right;
- pad_y = term->border->top + term->border->bottom;
+ gtk_style_context_get_padding(gtk_widget_get_style_context(term->vte),
+ gtk_widget_get_state_flags(term->vte),
+ &term->padding);
+ pad_x = term->padding.left + term->padding.right;
+ pad_y = term->padding.top + term->padding.bottom;
SAY("padding x %d y %d", pad_x, pad_y);
char_width = vte_terminal_get_char_width(VTE_TERMINAL(term->vte));
char_height = vte_terminal_get_char_height(VTE_TERMINAL(term->vte));
@@ -2696,7 +2698,7 @@ sakura_add_tab()
vte_terminal_match_add_gregex(VTE_TERMINAL(term->vte), sakura.http_regexp, 0);
vte_terminal_set_mouse_autohide(VTE_TERMINAL(term->vte), TRUE);
- term->scrollbar=gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, vte_terminal_get_adjustment(VTE_TERMINAL(term->vte)));
+ term->scrollbar=gtk_vscrollbar_new(gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(term->vte)));
gtk_box_pack_start(GTK_BOX(term->hbox), term->vte, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(term->hbox), term->scrollbar, FALSE, FALSE, 0);
@@ -2833,8 +2835,8 @@ sakura_add_tab()
if (command_argc > 0) {
path=g_find_program_in_path(command_argv[0]);
if (path) {
- if (!vte_terminal_fork_command_full(VTE_TERMINAL(term->vte), VTE_PTY_NO_HELPER, NULL,
- command_argv, command_env, G_SPAWN_SEARCH_PATH, NULL, NULL, &term->pid, &gerror)) {
+ if (!vte_terminal_spawn_sync(VTE_TERMINAL(term->vte), VTE_PTY_DEFAULT, NULL, command_argv, NULL,
+ G_SPAWN_SEARCH_PATH, NULL, NULL, &term->pid, NULL, &gerror)) {
SAY("error: %s", gerror->message);
}
} else {
@@ -2853,8 +2855,8 @@ sakura_add_tab()
sakura_error("Hold option given without any command");
option_hold=FALSE;
}
- vte_terminal_fork_command_full(VTE_TERMINAL(term->vte), VTE_PTY_NO_HELPER, cwd, sakura.argv, command_env,
- G_SPAWN_SEARCH_PATH|G_SPAWN_FILE_AND_ARGV_ZERO, NULL, NULL, &term->pid, NULL);
+ vte_terminal_spawn_sync(VTE_TERMINAL(term->vte), VTE_PTY_DEFAULT, cwd, sakura.argv, NULL,
+ G_SPAWN_SEARCH_PATH|G_SPAWN_FILE_AND_ARGV_ZERO, NULL, NULL, &term->pid, NULL, NULL);
}
/* Not the first tab */
} else {
@@ -2872,23 +2874,23 @@ sakura_add_tab()
* function in the window is not visible *sigh*. Gtk documentation
* says this is for "historical" reasons. Me arse */
gtk_notebook_set_current_page(GTK_NOTEBOOK(sakura.notebook), index);
- vte_terminal_fork_command_full(VTE_TERMINAL(term->vte), VTE_PTY_NO_HELPER, cwd, sakura.argv, command_env,
- G_SPAWN_SEARCH_PATH|G_SPAWN_FILE_AND_ARGV_ZERO, NULL, NULL, &term->pid, NULL);
+ vte_terminal_spawn_sync(VTE_TERMINAL(term->vte), VTE_PTY_DEFAULT, cwd, sakura.argv, NULL,
+ G_SPAWN_SEARCH_PATH|G_SPAWN_FILE_AND_ARGV_ZERO, NULL, NULL, &term->pid, NULL, NULL);
}
free(cwd);
/* Configuration for the newly created terminal */
GdkRGBA white={255, 255, 255, 1};
- vte_terminal_set_color_background_rgba(VTE_TERMINAL (term->vte), &white);
+ vte_terminal_set_color_background(VTE_TERMINAL (term->vte), &white);
vte_terminal_set_backspace_binding(VTE_TERMINAL(term->vte), VTE_ERASE_ASCII_DELETE);
- vte_terminal_set_colors_rgba(VTE_TERMINAL(term->vte),
+ vte_terminal_set_colors(VTE_TERMINAL(term->vte),
&sakura.forecolors[term->colorset],
&sakura.backcolors[term->colorset],
sakura.palette, PALETTE_SIZE);
- vte_terminal_set_color_cursor_rgba(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
+ vte_terminal_set_color_cursor(VTE_TERMINAL(term->vte), &sakura.curscolors[term->colorset]);
if (sakura.has_rgba) {
- vte_terminal_set_opacity(VTE_TERMINAL (term->vte), (int)((sakura.backcolors[term->colorset].alpha)*65535));
+ //vte_terminal_set_opacity(VTE_TERMINAL (term->vte), (int)((sakura.backcolors[term->colorset].alpha)*65535));
}
if (sakura.background) {
@@ -2896,12 +2898,12 @@ sakura_add_tab()
}
if (sakura.word_chars) {
- vte_terminal_set_word_chars( VTE_TERMINAL (term->vte), sakura.word_chars );
+ //vte_terminal_set_word_chars( VTE_TERMINAL (term->vte), sakura.word_chars );
}
/* Get rid of these nasty bells */
vte_terminal_set_audible_bell (VTE_TERMINAL(term->vte), sakura.audible_bell ? TRUE : FALSE);
- vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), sakura.visible_bell ? TRUE : FALSE);
+ //vte_terminal_set_visible_bell (VTE_TERMINAL(term->vte), sakura.visible_bell ? TRUE : FALSE);
/* Disable stupid blinking cursor */
vte_terminal_set_cursor_blink_mode (VTE_TERMINAL(term->vte), sakura.blinking_cursor ? VTE_CURSOR_BLINK_ON : VTE_CURSOR_BLINK_OFF);
@@ -2986,9 +2988,9 @@ sakura_set_bgimage(char *infile)
if (!pixbuf) {
sakura_error("Error loading image file: %s\n", gerror->message);
} else {
- vte_terminal_set_background_image(VTE_TERMINAL(term->vte), pixbuf);
- vte_terminal_set_background_saturation(VTE_TERMINAL(term->vte), TRUE);
- vte_terminal_set_background_transparent(VTE_TERMINAL(term->vte),FALSE);
+ //vte_terminal_set_background_image(VTE_TERMINAL(term->vte), pixbuf);
+ //vte_terminal_set_background_saturation(VTE_TERMINAL(term->vte), TRUE);
+ //vte_terminal_set_background_transparent(VTE_TERMINAL(term->vte),FALSE);
sakura_set_config_string("background", infile);
}