summaryrefslogtreecommitdiffstats
path: root/source/xap
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xsource/xap/rxvt-unicode/rxvt-unicode.SlackBuild7
-rw-r--r--source/xap/rxvt-unicode/rxvt.tmux.patch21
2 files changed, 26 insertions, 2 deletions
diff --git a/source/xap/rxvt-unicode/rxvt-unicode.SlackBuild b/source/xap/rxvt-unicode/rxvt-unicode.SlackBuild
index 2ab0bf31e..0135cdab3 100755
--- a/source/xap/rxvt-unicode/rxvt-unicode.SlackBuild
+++ b/source/xap/rxvt-unicode/rxvt-unicode.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2018, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2018, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=rxvt-unicode
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -88,6 +88,9 @@ find . \
# Fix special character rendering with perl-5.38.0:
zcat $CWD/rxvt-unicode.perl5.38.0.diff.gz | patch -p1 --verbose || exit 1
+# Fix using recent tmux:
+cat $CWD/rxvt.tmux.patch | patch -p0 --verbose || exit 1
+
run_configure() {
# Configure:
CFLAGS="$SLKCFLAGS" \
diff --git a/source/xap/rxvt-unicode/rxvt.tmux.patch b/source/xap/rxvt-unicode/rxvt.tmux.patch
new file mode 100644
index 000000000..1ca9cfa25
--- /dev/null
+++ b/source/xap/rxvt-unicode/rxvt.tmux.patch
@@ -0,0 +1,21 @@
+OSC commands returning the colour sequence must be terminated by either
+of ST, ESC \, or BEL. rxvt-unicode tries to use the same type of termination
+as was in the query but doesn't correctly handle the multiple-char sequence
+used for 7-bit queries. Force to using ESC \ instead for now.
+
+Index: src/command.C
+--- src/command.C.orig
++++ src/command.C
+@@ -3426,9 +3426,9 @@ rxvt_term::process_color_seq (int report, int color, c
+ snprintf (rgba_str, sizeof (rgba_str), "rgb:%04x/%04x/%04x", c.r, c.g, c.b);
+
+ if (IN_RANGE_INC (color, minCOLOR, maxTermCOLOR))
+- tt_printf ("\033]%d;%d;%s%c", report, color - minCOLOR, rgba_str, resp);
++ tt_printf ("\033]%d;%d;%s\033\\", report, color - minCOLOR, rgba_str);
+ else
+- tt_printf ("\033]%d;%s%c", report, rgba_str, resp);
++ tt_printf ("\033]%d;%s\033\\", report, rgba_str, resp);
+ }
+ else
+ set_window_color (color, str);
+