Sync from SUSE:SLFO:Main xterm revision 3907598245a855702f9fae6ecbdb93f6

This commit is contained in:
Adrian Schröter 2024-05-04 02:17:31 +02:00
commit 49b227c297
22 changed files with 5397 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
20x20ja.bdf.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
20x20ko.bdf.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

42
Backarrow2BackSpace Normal file
View File

@ -0,0 +1,42 @@
#!/bin/bash
#
# Backarrow2BackSpace: Switch Backarrow key to BackSpace
#
# Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany.
# please send bugfixes or comments to feedback@suse.de.
#
# Author: Werner Fink, <werner@suse.de>
#
# Some checks
#
case "$TERM" in
xterm*) ;;
*) echo "${0##*/}: TERM=$TERM is not for an xterm!" 1>&2
exit 1
esac
tty -s || { echo "{0##*/}: Not a tty!" 1>&2 ; exit 1; }
#
# Restore default X key mapping for standard PC keyboards
#
case "$(uname -s)" in
Linux)
xmodmap -e 'keycode 22 = BackSpace BackSpace 3270_DeleteWord'
xmodmap -e 'keycode 107 = Delete'
;;
*)
# Don't know
esac
#
# Switch to Ctrl-H (ASCII BackSpace) for Backarrow key
#
echo -en '\033[?67h' > /dev/tty
#
# Change terminal settings accordingly
#
stty erase '^H' < /dev/tty
exit 0

42
Backarrow2Delete Normal file
View File

@ -0,0 +1,42 @@
#!/bin/bash
#
# Backarrow2Delete: Switch Backarrow key to Delete
#
# Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany.
# please send bugfixes or comments to feedback@suse.de.
#
# Author: Werner Fink, <werner@suse.de>
#
# Some checks
#
case "$TERM" in
xterm*) ;;
*) echo "${0##*/}: TERM=$TERM is not for an xterm!" 1>&2
exit 1
esac
tty -s || { echo "{0##*/}: Not a tty!" 1>&2 ; exit 1; }
#
# Restore default X key mapping for standard PC keyboards
#
case "$(uname -s)" in
Linux)
xmodmap -e 'keycode 22 = BackSpace BackSpace 3270_DeleteWord'
xmodmap -e 'keycode 107 = Delete'
;;
*)
# Don't know
esac
#
# Switch to Ctrl-? (ASCII Delete) for Backarrow key
#
echo -en '\033[?67l' > /dev/tty
#
# Change terminal settings accordingly
#
stty erase '^?' < /dev/tty
exit 0

5
README.SUSE Normal file
View File

@ -0,0 +1,5 @@
Backarrow2Backspace / Backarrow2Delete
--------------------------------------
Command line tools to switch BackArrow-Key inside xterm to Backspace
or Delete.

2
luitx Normal file
View File

@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/bin/luit -x ${1+"$@"}

BIN
snooper.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
terminal.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
xterm-387.tgz (Stored with Git LFS) Normal file

Binary file not shown.

15
xterm-387.tgz.asc Normal file
View File

@ -0,0 +1,15 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmUsfEIACgkQzCr0RyFn
vgPPFQwA7OTtw6xmM2WVXNpfsi5t75Pnd+fJQ5m/RhC1nE/8ML+RrdwcVn0K7PA6
iplg3zPFgGi1qL5B/WyKN5nu6s9CCnHXHpjb3nYqI4lBx0H6NI768VELnbQd36yf
16ugUIXe8rlWBzy6UQH7ucUtiuhQIvYl1knswOC2nZPLRPL6GaLOImJ9HdFKPvDa
Q48/9WkVlJmCDWHV7F5T7chvPDG763SHxPXDzBCm9phJ3/KXBCHdYNb2Ov6I4Mkb
KEJcThW4Gsn14WIyFkaWRanZpYogm8VA69AiPESmVq3IcXU35kQtX+Kh3U7h0SdZ
a9u9FBbN+/EH4M9wELApJB6+uoKky7IiVzdT5kqjjhHTLmWVyyBwW9SRA+JpSsV6
2ISPszL4z2PgJr3o0zgOw0pWkiLP4MBnH7bXCaiO358jecNCRxuFsWXQxFXbnMo6
XX0D69sG6T3iIu5RVfe1E8BrAo61q2faxbpUPOJfTZ3iuVMfEWWoa67ltgmlPune
/RHCg2Iz
=pInd
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,26 @@
# HG changeset patch
# Parent 0bdc9a50b149b2f85acde8e6b22b63259f36e057
# allow UTF-8 fonts (iso-10464) as well
diff --git a/XTerm.ad b/XTerm.ad
--- a/XTerm.ad
+++ b/XTerm.ad
@@ -29,17 +29,17 @@
! holders shall not be used in advertising or otherwise to promote the
! sale, use or other dealings in this Software without prior written
! authorization.
! -----------------------------------------------------------------------------
*saveLines: 1024
*SimpleMenu*BackingStore: NotUseful
-*SimpleMenu*menuLabel.font: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*
+*SimpleMenu*menuLabel.font: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso*-*
*SimpleMenu*menuLabel.vertSpace: 100
*SimpleMenu*HorizontalMargins: 16
*SimpleMenu*Sme.height: 16
*SimpleMenu*Cursor: left_ptr
*mainMenu.Label: Main Options
*mainMenu*toolbar*Label: Toolbar

View File

@ -0,0 +1,33 @@
From: Egbert Eich <eich@suse.de>
Date: Tue Jun 3 18:17:07 2014 +0200
Subject: [PATCH]Fix number of colormap entries for DirectColor and TrueColor visuals
Patch-mainline: to be upstreamed
Git-commit: 071525466531009223f1c21a40aa2e081d5ef99a
Git-repo:
References: bnc#
Signed-off-by: Egbert Eich <eich@suse.com>
DirectColor and TrueColor have a decomposed colormap,
therefore the colormap_size field in the XVisualInfo
structure is meant per sub-field (take a look at the output
of xdpyinfo).
With 3 sub-fields there are colormap_size^3 entires.
Signed-off-by: Egbert Eich <eich@suse.de>
---
xterm-299/misc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: xterm-385/misc.c
===================================================================
--- xterm-385.orig/misc.c
+++ xterm-385/misc.c
@@ -2698,6 +2698,8 @@ getColormapInfo(XtermWidget xw, unsigned
if (getVisualInfo(xw)) {
*typep = (unsigned) xw->visInfo->class;
*sizep = (unsigned) xw->visInfo->colormap_size;
+ if (*typep > 3)
+ *sizep = (*sizep)*(*sizep)*(*sizep);
} else {
*typep = 0;
*sizep = 0;

View File

@ -0,0 +1,17 @@
# HG changeset patch
# Parent eb22ea61e475efde1f9576b471f4a4597523b1f4
Group the desktop file into the Utilities folder in the GNOME
shell application overview.
Index: xterm-373/xterm.desktop
===================================================================
--- xterm-373.orig/xterm.desktop
+++ xterm-373/xterm.desktop
@@ -39,6 +39,6 @@ Terminal=false
Type=Application
Encoding=UTF-8
Icon=terminal
-Categories=System;TerminalEmulator;
+Categories=System;TerminalEmulator;X-GNOME-Utilities;
Keywords=shell;prompt;command;commandline;cmd;
StartupWMClass=XTerm

View File

@ -0,0 +1,17 @@
# HG changeset patch
# Parent fa7b175db269546b9408d1af03d9c04dddbc4d9b
# use system stock icon for XTerm
Index: xterm-385/xterm.desktop
===================================================================
--- xterm-385.orig/xterm.desktop
+++ xterm-385/xterm.desktop
@@ -38,7 +38,7 @@ Exec=xterm
Terminal=false
Type=Application
Encoding=UTF-8
-Icon=xterm-color_48x48
+Icon=terminal
Categories=System;TerminalEmulator;
Keywords=shell;prompt;command;commandline;cmd;
StartupWMClass=XTerm

View File

@ -0,0 +1,81 @@
# HG changeset patch
# Parent 682df5267f4b25286ab78bfbbfd91fe664cbbd21
Index: xterm-385/fontutils.c
===================================================================
--- xterm-385.orig/fontutils.c
+++ xterm-385/fontutils.c
@@ -883,67 +883,19 @@ is_double_width_font(XFontStruct *fs)
#endif
#if OPT_WIDE_CHARS && OPT_RENDERFONT && defined(HAVE_TYPE_FCCHAR32)
-#define HALF_WIDTH_TEST_STRING "1234567890"
-/* '1234567890' in Chinese characters in UTF-8 */
-#define FULL_WIDTH_TEST_STRING "\xe4\xb8\x80\xe4\xba\x8c\xe4\xb8\x89" \
- "\xe5\x9b\x9b\xe4\xba\x94" \
- "\xef\xa7\x91\xe4\xb8\x83\xe5\x85\xab" \
- "\xe4\xb9\x9d\xef\xa6\xb2"
-
-/* '1234567890' in Korean script in UTF-8 */
-#define FULL_WIDTH_TEST_STRING2 "\xec\x9d\xbc\xec\x9d\xb4\xec\x82\xbc" \
- "\xec\x82\xac\xec\x98\xa4" \
- "\xec\x9c\xa1\xec\xb9\xa0\xed\x8c\x94" \
- "\xea\xb5\xac\xec\x98\x81"
-
-#define HALF_WIDTH_CHAR1 0x0031 /* '1' */
-#define HALF_WIDTH_CHAR2 0x0057 /* 'W' */
#define FULL_WIDTH_CHAR1 0x4E00 /* CJK Ideograph 'number one' */
#define FULL_WIDTH_CHAR2 0xAC00 /* Korean script syllable 'Ka' */
static Bool
is_double_width_font_xft(Display *dpy, XftFont *font)
{
- XGlyphInfo gi1, gi2;
- FcChar32 c1 = HALF_WIDTH_CHAR1, c2 = HALF_WIDTH_CHAR2;
- String fwstr = FULL_WIDTH_TEST_STRING;
- String hwstr = HALF_WIDTH_TEST_STRING;
-
- /* Some Korean fonts don't have Chinese characters at all. */
- if (!XftCharExists(dpy, font, FULL_WIDTH_CHAR1)) {
- if (!XftCharExists(dpy, font, FULL_WIDTH_CHAR2))
- return False; /* Not a CJK font */
- else /* a Korean font without CJK Ideographs */
- fwstr = FULL_WIDTH_TEST_STRING2;
- }
-
- XftTextExtents32(dpy, font, &c1, 1, &gi1);
- XftTextExtents32(dpy, font, &c2, 1, &gi2);
- if (gi1.xOff != gi2.xOff) /* Not a fixed-width font */
- return False;
-
- XftTextExtentsUtf8(dpy,
- font,
- (_Xconst FcChar8 *) hwstr,
- (int) strlen(hwstr),
- &gi1);
- XftTextExtentsUtf8(dpy,
- font,
- (_Xconst FcChar8 *) fwstr,
- (int) strlen(fwstr),
- &gi2);
-
- /*
- * fontconfig and Xft prior to 2.2(?) set the width of half-width
- * characters identical to that of full-width character in CJK double-width
- * (bi-width / monospace) font even though the former is half as wide as
- * the latter. This was fixed sometime before the release of fontconfig
- * 2.2 in early 2003. See
- * http://bugzilla.mozilla.org/show_bug.cgi?id=196312
- * In the meantime, we have to check both possibilities.
- */
- return ((2 * gi1.xOff == gi2.xOff) || (gi1.xOff == gi2.xOff));
+ /* Some Korean fonts don't have Chinese characters at all. */
+ if (XftCharExists(dpy, font, FULL_WIDTH_CHAR1) ||
+ XftCharExists(dpy, font, FULL_WIDTH_CHAR2))
+ return True; /* CJK font */
+ else
+ return False; /* Not a CJK font */
}
#else
#define is_double_width_font_xft(dpy, xftfont) 0

View File

@ -0,0 +1,33 @@
# HG changeset patch
# Parent d5ffae3ffb4d7bccf09feb476eed67e7688d73cf
# forbid dangerous escape sequences (font loading)
Index: xterm-385/XTerm.ad
===================================================================
--- xterm-385.orig/XTerm.ad
+++ xterm-385/XTerm.ad
@@ -269,6 +269,11 @@
! Alternatively,
!*on2Clicks: regex [[:alpha:]]+://([[:alnum:]!#+,./=?@_~-]|(%[[:xdigit:]][[:xdigit:]]))+
+! Security: Disallow operations that might allow raw text being pasted to xterm to
+! execute code.
+*allowWindowOps: false
+*allowFontOps: false
+
!! We want a 8bit clean xterm
*eightBitInput: true
*eightBitOutput: true
Index: xterm-385/xterm.man
===================================================================
--- xterm-385.orig/xterm.man
+++ xterm-385/xterm.man
@@ -2277,7 +2277,7 @@ The default is \*(``true\*(''.
.TP
.B "allowFontOps\fP (class\fB AllowFontOps\fP)"
Specifies whether control sequences that set/query the font should be allowed.
-The default is \*(``true\*(''.
+The default is \*(``false\*(''.
.TP
.B "allowMouseOps\fP (class\fB AllowMouseOps\fP)"
Specifies whether control sequences that enable \fI\*n\fP to send

16
xterm-sigwinch.patch Normal file
View File

@ -0,0 +1,16 @@
# HG changeset patch
# Parent 547d2ea5029c2c3edd129a9d23e424877c6f29f0
Index: xterm-385/screen.c
===================================================================
--- xterm-385.orig/screen.c
+++ xterm-385/screen.c
@@ -2257,7 +2257,7 @@ ScreenResize(XtermWidget xw,
#ifdef TTYSIZE_STRUCT
if (update_winsize(screen, rows, cols, height, width) == 0) {
-#if defined(SIGWINCH) && defined(TIOCGPGRP)
+#if defined(SIGWINCH) && (defined(TIOCGPGRP) || defined(linux))
if (screen->pid > 1) {
int pgrp;

219
xterm-suse.patch Normal file
View File

@ -0,0 +1,219 @@
# from c7753810ca3026190c5da0536ecf86e9b13800d3
# various distribution configuration tweaks
# from 7ecf75281e09a29875b61f38bb66920529368050:
# improve display of chinese letters (bsc#1089049)
Index: xterm-385/UXTerm.ad
===================================================================
--- xterm-385.orig/UXTerm.ad
+++ xterm-385/UXTerm.ad
@@ -35,10 +35,20 @@
! to set resources for UTF-8 mode with corresponding fonts.
! See the uxterm script for an example.
+! You need to have efont-unicode.rpm installed in order to use the
+! efont-fixed fonts!
#include "XTerm"
*fontMenu.Label: Unicode Fonts
*VT100.utf8: 1
+! always use iso10646-1 fonts and luit for non-UTF-8 locales:
+*locale: true
+
+! don't use the compiled in default of "*" for ximFont because this
+! leads to very slow startup times for zh_CN.UTF-8 and zh_HK.UTF-8 locales
+! (For details see https://bugzilla.novell.com/show_bug.cgi?id=464930):
+*ximFont: fixed
+
! This includes "XTerm-color" which includes "XTerm", which defines fonts.
! Why set them here?
@@ -60,13 +70,28 @@
! Making the wide fonts associated with *VT100.font in this file allows uxterm
! to skip that step. It will use the fonts that the XTerm file gives for the
! *VT100.uft8Fonts.font pattern.
-*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
-*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
-*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
-*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
-*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
-*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
-*VT100.font7: -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1
+*VT100.fontMenu*fontdefault*Label: Default
+*VT100.font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
+*VT100.wideFont: -misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
+
+*fontMenu*font1.Label: efont 10 pixel
+*VT100.font1: -efont-fixed-medium-r-normal--10-100-75-75-c-50-iso10646-1
+*VT100.wideFont1: -efont-fixed-medium-r-normal--10-100-75-75-c-100-iso10646-1
+*fontMenu*font2.Label: efont 12 pixel
+*VT100.font2: -efont-fixed-medium-r-normal-*-12-120-75-75-c-60-iso10646-1
+*VT100.wideFont2: -efont-fixed-medium-r-normal-*-12-120-75-75-c-120-iso10646-1
+*fontMenu*font3.Label: efont 14 pixel
+*VT100.font3: -efont-fixed-medium-r-normal-*-14-140-75-75-c-70-iso10646-1
+*VT100.wideFont3: -efont-fixed-medium-r-normal-*-14-140-75-75-c-140-iso10646-1
+*fontMenu*font4.Label: efont 16 pixel
+*VT100.font4: -efont-fixed-medium-r-normal-*-16-160-75-75-c-80-iso10646-1
+*VT100.wideFont4: -efont-fixed-medium-r-normal-*-16-160-75-75-c-160-iso10646-1
+*fontMenu*font5.Label: misc 18 pixel
+*VT100.font5: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
+*VT100.wideFont5: -misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
+*fontMenu*font6.Label: efont 24 pixel
+*VT100.font6: -efont-fixed-medium-r-normal-*-24-240-75-75-c-120-iso10646-1
+*VT100.wideFont6: -efont-fixed-medium-r-normal-*-24-240-75-75-c-240-iso10646-1
! Here is an alternate set of fonts with better support for bold:
!*VT100.font2: -efont-biwidth-medium-r-normal--10-100-75-75-p-50-iso10646-1
Index: xterm-385/XTerm-col.ad
===================================================================
--- xterm-385.orig/XTerm-col.ad
+++ xterm-385/XTerm-col.ad
@@ -76,15 +76,15 @@
*VT100*color1: red3
*VT100*color2: green3
*VT100*color3: yellow3
-*VT100*color4: blue2
+*VT100*color4: blue3
*VT100*color5: magenta3
*VT100*color6: cyan3
*VT100*color7: gray90
-*VT100*color8: gray50
+*VT100*color8: gray30
*VT100*color9: red
*VT100*color10: green
*VT100*color11: yellow
-*VT100*color12: rgb:5c/5c/ff
+*VT100*color12: blue
*VT100*color13: magenta
*VT100*color14: cyan
*VT100*color15: white
Index: xterm-385/XTerm.ad
===================================================================
--- xterm-385.orig/XTerm.ad
+++ xterm-385/XTerm.ad
@@ -106,21 +106,37 @@
*vtMenu*sixelScrolling*Label: Sixel Scrolling
*vtMenu*privateColorRegisters*Label: Private Color Registers
+! always use iso10646-1 fonts and luit for non-UTF-8 locales:
+*locale: checkfont
+*localeFilter: /usr/bin/luitx
+
+! don't use the compiled in default of "*" for ximFont because this
+! leads to very slow startup times for zh_CN.UTF-8 and zh_HK.UTF-8 locales
+! (For details see https://bugzilla.novell.com/show_bug.cgi?id=464930):
+*ximFont: fixed
+
*fontMenu.Label: VT Fonts
*fontMenu*fontdefault*Label: Default
-*fontMenu*font1*Label: Unreadable
-*VT100.font1: nil2
+*VT100*font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
+*VT100*boldfont: -misc-fixed-bold-r-normal-*-18-120-100-100-c-90-iso10646-1
+*VT100*wideFont: -misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
+
+*fontMenu*font1*Label: Unicode Best
+*VT100.font1: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
+*VT100.wideFont1: -misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1
*IconFont: nil2
*fontMenu*font2*Label: Tiny
-*VT100.font2: 5x7
+*VT100.font2: -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso10646-1
*fontMenu*font3*Label: Small
-*VT100.font3: 6x10
+*VT100.font3: -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso10646-1
*fontMenu*font4*Label: Medium
-*VT100.font4: 7x13
+*VT100.font4: -misc-fixed-medium-r-semicondensed-*-13-120-75-75-c-60-iso10646-1
+*VT100.wideFont4: -misc-fixed-medium-r-normal-*-13-120-75-75-c-120-iso10646-1
*fontMenu*font5*Label: Large
-*VT100.font5: 9x15
+*VT100.font5: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1
*fontMenu*font6*Label: Huge
-*VT100.font6: 10x20
+*VT100.font6: -misc-fixed-medium-r-normal-*-20-200-75-75-c-100-iso10646-1
+*VT100.wideFont6: -misc-fixed-medium-r-normal-*-20-200-75-75-c-200-iso10646-1
*fontMenu*font7*Label: Enormous
!*VT100.font7: 12x24
*VT100.font7: -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1
@@ -253,6 +269,59 @@
! Alternatively,
!*on2Clicks: regex [[:alpha:]]+://([[:alnum:]!#+,./=?@_~-]|(%[[:xdigit:]][[:xdigit:]]))+
+!! We want a 8bit clean xterm
+*eightBitInput: true
+*eightBitOutput: true
+
+!! Default Settings
+*termName: xterm-256color
+*pointerShape: top_left_arrow
+*scrollKey: true
+
+!! Newer XTerms can guess the value of the BackarrowKey by
+!! reading the terminfo or the pty initial value.
+!! We use the terminfo value.
+*backarrowKeyIsErase: true
+*ptyInitialErase: true
+*deleteIsDEL: false
+
+!! To be compatible with the original X Consortium XTerm.
+!! *oldXtermFKeys: true
+
+!! Some symbol mappings of the keyboard for foreign Motif. Some of these
+!! mappings are virtual osfKeySym's. Extend this list if necessary,
+!! more information in VirtualBindings(3) and /usr/include/Xm/XmStrDefs.h.
+*defaultVirtualBindings: #override \
+ Help : osfHelp\n\
+ DRemove : osfCut\n\
+ Prior : osfPageUp\n\
+ Next : osfPageDown\n\
+ Select : osfSelect\n\
+ Insert : osfPaste\
+
+!! If Alt is not Meta use it for emacs line editing of e.g. bash,
+!! define Pause key, and ignore DRemove on foreign displays.
+*altIsNotMeta: true
+*altSendsEscape: true
+*metaSendsEscape: true
+*VT100.Translations: #override \
+ <Key>Pause: string("\033[P") \n\
+ <Key>DRemove: ignore()
+
+*multiScroll: on
+*jumpScroll: on
+*ScrollBar: on
+*Scrollbar*width: 16
+*Scrollbar*height: 16
+*Scrollbar*shadowWidth: 2
+*Scrollbar*borderWidth: 3
+*SaveLines: 2000
+
+!! Fix broken charClass, the doubleclick separators
+*charClass: 33:48,37:48,43:48,45-47:48,64:48,126:48,95:48
+!! Bug #52655
+*utf8Title: true
+
! VT100s and similar terminals recognize escape sequences and control
! characters to which they reply to the host with other escape sequences,
! to provide information. The "resize" program uses this feature.
Index: xterm-385/xterm.man
===================================================================
--- xterm-385.orig/xterm.man
+++ xterm-385/xterm.man
@@ -5584,9 +5584,13 @@ It is the XIM server's responsibility to
The XIM client must inform the XIM server of the cursor position.
For best results, the preedit string must be displayed with a proper font.
Therefore, \fI\*n\fP informs the XIM server of the proper font.
-The font is be supplied by a "fontset", whose default value is \*(``*\*(''.
-This matches every font, the X library automatically chooses fonts with
-proper charsets.
+The font is to be supplied by a "fontset", whose default value is
+"fixed" on openSUSE. The upstream default value is \*(``*\*(''
+which matches every font, the X library automatically chooses fonts with
+proper charsets. But this can be extremely slow in some locales and
+at least for the XIM servers "scim" and "kinput2" it doesn't improve
+anything, it just slows down the startup time of xterm.
+
The \fBximFont\fP resource is provided to override this default font setting.
.\"
.SS Tek4014 Widget Resources

4583
xterm.changes Normal file

File diff suppressed because it is too large Load Diff

42
xterm.keyring Normal file
View File

@ -0,0 +1,42 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
P46cd3aSov0rfNS/zg==
=cr15
-----END PGP PUBLIC KEY BLOCK-----

186
xterm.spec Normal file
View File

@ -0,0 +1,186 @@
#
# spec file for package xterm
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define splitbin 0%{?suse_version} >= 1300
Name: xterm
Version: 387
Release: 0
Summary: The basic X terminal program
License: MIT
Group: System/X11/Utilities
URL: https://invisible-island.net/xterm/xterm.html
Source: https://invisible-mirror.net/archives/xterm/xterm-%{version}.tgz
Source1: https://invisible-mirror.net/archives/xterm/xterm-%{version}.tgz.asc
Source2: luitx
Source3: Backarrow2Delete
Source4: Backarrow2BackSpace
Source5: README.SUSE
Source6: terminal.png
Source8: 20x20ja.bdf.bz2
Source9: 20x20ko.bdf.bz2
Source11: xterm.keyring
# Snoop for the escape sequence assignment of the keypad
Source20: snooper.tar.bz2
Patch1: xterm-suse.patch
Patch2: xterm-sigwinch.patch
Patch3: xterm-double_width_fonts.patch
Patch4: xterm-desktop_file_icon.patch
Patch5: xterm-forbid_window_and_font_ops.patch
Patch7: xterm-allow_iso-utf_fonts_in_menu.patch
Patch8: xterm-decomposed_bitmaps.patch
Patch9: xterm-desktop-item-in-gnome-utilities-appfolder.patch
BuildRequires: bdftopcf
BuildRequires: groff
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: utempter-devel
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xft)
Requires: luit
Recommends: xorg-x11-fonts-legacy
Provides: XFree86:%{_prefix}/X11R6/bin/xterm
Provides: xorg-x11:%{_prefix}/X11R6/bin/xterm
%if %{splitbin}
Requires: %{name}-bin
%endif
%if 0%{?suse_version} > 1220
BuildRequires: fontpackages-devel
%endif
%if 0%{?suse_version} > 1220
%reconfigure_fonts_prereq
%endif
%description
%if %{splitbin}
This package contains the basic X.Org terminal program desktop launcher.
%package bin
Summary: The basic X terminal program
Group: System/X11/Utilities
Requires: xterm-resize = %{version}-%{release}
%description bin
%endif
This package contains the basic X.Org terminal program.
%package resize
Summary: Set environment and terminal settings to current window size
Group: System/X11/Utilities
%description resize
Prints a shell command for setting the appropriate environment variables to
indicate the current size of the window from which the command is run.
%prep
%autosetup -p1
cp -t . %{SOURCE8} %{SOURCE9}
bunzip2 %{basename:%{SOURCE8}} %{basename:%{SOURCE9}}
%build
%define xappdefs %{_datadir}/X11/app-defaults
%define xfontsd %{_datadir}/fonts
%define xterminfo %{_prefix}/lib/X11%{_sysconfdir}
%configure \
--enable-256-color \
--enable-dec-locator \
--enable-hp-fkeys \
--enable-luit \
--enable-mini-luit \
--enable-sco-fkeys \
--enable-wide-chars \
--with-utempter \
--with-tty-group=tty \
--with-app-defaults=%{xappdefs} \
--enable-backarrow-is-erase \
--enable-sixel-graphics \
#ensure we do not lose FreeType support (boo#911683)
grep "#define XRENDERFONT 1" xtermcfg.h
%make_build
if ! which bdftopcf &> /dev/null; then exit 1; fi
for i in *.bdf
do
bdftopcf "$i" | gzip -n -9 >"${i%.bdf}.pcf.gz"
done
%install
%make_install
mkdir -p %{buildroot}%{xterminfo}
install -m 644 terminfo %{buildroot}%{xterminfo}/xterm.terminfo
install -m 644 termcap %{buildroot}%{xterminfo}/xterm.termcap
install -m 755 $RPM_SOURCE_DIR/luitx %{buildroot}%{_bindir}
install -m 755 $RPM_SOURCE_DIR/Backarrow2Delete %{buildroot}%{_bindir}
install -m 755 $RPM_SOURCE_DIR/Backarrow2BackSpace %{buildroot}%{_bindir}
install -m 644 $RPM_SOURCE_DIR/README.SUSE .
mkdir -p %{buildroot}%{_datadir}/pixmaps
install -m 644 $RPM_SOURCE_DIR/terminal.png \
%{buildroot}%{_datadir}/pixmaps
mkdir -p %{buildroot}%{xfontsd}/misc/
install -m 644 *.pcf.gz %{buildroot}%{xfontsd}/misc/
%suse_update_desktop_file -i xterm TerminalEmulator
%if 0%{?suse_version} > 1220
%reconfigure_fonts_scriptlets
%endif
%files
%{_datadir}/applications/xterm.desktop
%{_datadir}/pixmaps/*
%if %{splitbin}
%files bin
%endif
%doc README README.i18n README.SUSE
%{_bindir}/luitx
%attr(755,root,root) %{_bindir}/xterm
%{_bindir}/uxterm
%{_bindir}/koi8rxterm
%{_bindir}/Backarrow2Delete
%{_bindir}/Backarrow2BackSpace
%{_mandir}/man1/xterm.1.gz
%{_mandir}/man1/koi8rxterm.1.gz
%{_mandir}/man1/uxterm.1.gz
%dir %{xterminfo}
%{xterminfo}/xterm.termcap
%{xterminfo}/xterm.terminfo
%dir %{xfontsd}/misc
%{xfontsd}/misc/20x20ja.pcf.gz
%{xfontsd}/misc/20x20ko.pcf.gz
%dir %{xappdefs}
%{xappdefs}/KOI8RXTerm
%{xappdefs}/KOI8RXTerm-color
%{xappdefs}/UXTerm
%{xappdefs}/UXTerm-color
%{xappdefs}/XTerm
%{xappdefs}/XTerm-color
%files resize
%{_bindir}/resize
%{_mandir}/man1/resize.1%{?ext_man}
%changelog