diff options
Diffstat (limited to 'source')
-rwxr-xr-x | source/xap/rxvt-unicode/rxvt-unicode.SlackBuild | 7 | ||||
-rw-r--r-- | source/xap/rxvt-unicode/rxvt.tmux.patch | 21 |
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); + |