Date: Sat, 21 Mar 2026 16:59:56 +0000 From: Guido Falsi <madpilot@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 86491afd1ece - main - x11/xfce4-terminal: Import middle mouse paste fix from upstream Message-ID: <69bece8c.318a8.41dd4888@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by madpilot: URL: https://cgit.FreeBSD.org/ports/commit/?id=86491afd1ece22a6aea0faee20bf730879892607 commit 86491afd1ece22a6aea0faee20bf730879892607 Author: Guido Falsi <madpilot@FreeBSD.org> AuthorDate: 2026-03-21 16:58:27 +0000 Commit: Guido Falsi <madpilot@FreeBSD.org> CommitDate: 2026-03-21 16:58:27 +0000 x11/xfce4-terminal: Import middle mouse paste fix from upstream Replace custom revert with upstream provided patch. Related upstream bug report: https://gitlab.xfce.org/apps/xfce4-terminal/-/issues/385 Obtained from: https://gitlab.xfce.org/apps/xfce4-terminal/-/commit/765c984f680469f32cd30fe5cea63fa3af6fc1df --- x11/xfce4-terminal/Makefile | 2 +- x11/xfce4-terminal/files/patch-revert-mmb-handling | 51 ---------------------- .../files/patch-terminal_terminal-widget.c | 37 ++++++++++++++++ 3 files changed, 38 insertions(+), 52 deletions(-) diff --git a/x11/xfce4-terminal/Makefile b/x11/xfce4-terminal/Makefile index 3413f142a433..d6a81ae09056 100644 --- a/x11/xfce4-terminal/Makefile +++ b/x11/xfce4-terminal/Makefile @@ -1,6 +1,6 @@ PORTNAME= xfce4-terminal PORTVERSION= 1.2.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11 xfce MASTER_SITES= XFCE/apps DIST_SUBDIR= xfce4 diff --git a/x11/xfce4-terminal/files/patch-revert-mmb-handling b/x11/xfce4-terminal/files/patch-revert-mmb-handling deleted file mode 100644 index 1bda729a82ed..000000000000 --- a/x11/xfce4-terminal/files/patch-revert-mmb-handling +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/terminal/terminal-widget.c b/terminal/terminal-widget.c -index 6c0f97b8..130c6a68 100644 ---- terminal/terminal-widget.c -+++ terminal/terminal-widget.c -@@ -575,7 +575,6 @@ terminal_widget_button_press_event (GtkWidget *widget, - const GdkModifierType modifiers = gtk_accelerator_get_default_mod_mask (); - gboolean committed = FALSE; - gboolean intercept = FALSE; -- gboolean handled = FALSE; - gboolean middle_click_opens_uri; - guint signal_id = 0; - -@@ -598,7 +597,13 @@ terminal_widget_button_press_event (GtkWidget *widget, - } - } - -- if (event->button == 3) -+ /* intercept middle button click that would paste the selection */ -+ if (event->button == 2) -+ { -+ g_signal_emit (G_OBJECT (widget), widget_signals[PASTE_SELECTION_REQUEST], 0, NULL); -+ return TRUE; -+ } -+ else if (event->button == 3) - { - if ((event->state & modifiers) == GDK_SHIFT_MASK) - intercept = TRUE; -@@ -609,21 +614,9 @@ terminal_widget_button_press_event (GtkWidget *widget, - } - - if (!intercept) -- handled = (*GTK_WIDGET_CLASS (terminal_widget_parent_class)->button_press_event) (widget, event); -+ (*GTK_WIDGET_CLASS (terminal_widget_parent_class)->button_press_event) (widget, event); - -- if (event->button == 2 && event->type == GDK_BUTTON_PRESS) -- { -- /* if handled is true, it means the VteTerminal's handler either already -- * pasted the selection on its own or passed the middle button click event -- * to the terminal application. In both cases we are done. Otherwise, -- * we need to paste the selection now. -- */ -- if (!handled) -- { -- g_signal_emit (G_OBJECT (widget), widget_signals[PASTE_SELECTION_REQUEST], 0, NULL); -- } -- } -- else if (event->button == 3 && event->type == GDK_BUTTON_PRESS) -+ if (event->button == 3 && event->type == GDK_BUTTON_PRESS) - { - if (signal_id != 0) - g_signal_handler_disconnect (G_OBJECT (widget), signal_id); diff --git a/x11/xfce4-terminal/files/patch-terminal_terminal-widget.c b/x11/xfce4-terminal/files/patch-terminal_terminal-widget.c new file mode 100644 index 000000000000..8be9a25d245a --- /dev/null +++ b/x11/xfce4-terminal/files/patch-terminal_terminal-widget.c @@ -0,0 +1,37 @@ +From 765c984f680469f32cd30fe5cea63fa3af6fc1df Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org> +Date: Fri, 20 Mar 2026 12:02:17 +0100 +Subject: [PATCH] Be sure to handle primary paste ourselves + +Fixes: #385 +Amends: fd3bd9b02d81b19e10e4f9a68ff9c0dc19d06804 +--- + terminal/terminal-widget.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/terminal/terminal-widget.c b/terminal/terminal-widget.c +index 6c0f97b8..46756688 100644 +--- terminal/terminal-widget.c ++++ terminal/terminal-widget.c +@@ -609,7 +609,17 @@ terminal_widget_button_press_event (GtkWidget *widget, + } + + if (!intercept) +- handled = (*GTK_WIDGET_CLASS (terminal_widget_parent_class)->button_press_event) (widget, event); ++ { ++ GtkSettings *settings = gtk_settings_get_default (); ++ gboolean primary_paste_enabled; ++ g_object_get (settings, "gtk-enable-primary-paste", &primary_paste_enabled, NULL); ++ ++ /* don't let vte handle primary paste; we want to do it ourselves later, especially ++ * to trigger the unsafe paste dialog if necessary */ ++ g_object_set (settings, "gtk-enable-primary-paste", FALSE, NULL); ++ handled = (*GTK_WIDGET_CLASS (terminal_widget_parent_class)->button_press_event) (widget, event); ++ g_object_set (settings, "gtk-enable-primary-paste", primary_paste_enabled, NULL); ++ } + + if (event->button == 2 && event->type == GDK_BUTTON_PRESS) + { +-- +GitLab +home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69bece8c.318a8.41dd4888>
