diff --git a/x11/xfce4-terminal/Makefile b/x11/xfce4-terminal/Makefile index 8639ef912cc4..3413f142a433 100644 --- a/x11/xfce4-terminal/Makefile +++ b/x11/xfce4-terminal/Makefile @@ -1,39 +1,40 @@ PORTNAME= xfce4-terminal PORTVERSION= 1.2.0 +PORTREVISION= 1 CATEGORIES= x11 xfce MASTER_SITES= XFCE/apps DIST_SUBDIR= xfce4 MAINTAINER= xfce@FreeBSD.org COMMENT= Terminal emulator for the X windowing system WWW= https://docs.xfce.org/apps/xfce4-terminal/start LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${LOCALBASE}/share/xml/docbook/4.4/catalog.xml:textproc/docbook-xml \ ${LOCALBASE}/share/xsl/docbook/html/refentry.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt LIB_DEPENDS= libpcre2-8.so:devel/pcre2 USES= compiler:c11 gettext-tools gnome meson pkgconfig tar:xz xfce \ xorg USE_GNOME= cairo gdkpixbuf glib20 gtk30 vte3 USE_XFCE= libmenu xfconf USE_XORG= ice sm x11 MESON_ARGS= -Dlibutempter=enabled OPTIONS_DEFINE= NLS WAYLAND OPTIONS_DEFAULT= WAYLAND OPTIONS_SUB= yes NLS_USES= gettext-runtime WAYLAND_LIB_DEPENDS= libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell WAYLAND_MESON_ENABLED= gtk-layer-shell wayland post-patch-NLS-off: @${REINPLACE_CMD} -e "/^subdir('po')/d" ${WRKSRC}/meson.build .include diff --git a/x11/xfce4-terminal/files/patch-revert-mmb-handling b/x11/xfce4-terminal/files/patch-revert-mmb-handling new file mode 100644 index 000000000000..1bda729a82ed --- /dev/null +++ b/x11/xfce4-terminal/files/patch-revert-mmb-handling @@ -0,0 +1,51 @@ +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);