Update build instructions for XClock, remove hard Xaw dependency, package neXtaw, etc.
This commit is contained in:
parent
70094bdf79
commit
d440edee3b
0
mbase/ROX-Filer
Normal file
0
mbase/ROX-Filer
Normal file
0
mbase/alsa-lib
Normal file
0
mbase/alsa-lib
Normal file
0
mbase/alsa-plugins
Normal file
0
mbase/alsa-plugins
Normal file
0
mbase/alsa-utils
Normal file
0
mbase/alsa-utils
Normal file
0
mbase/epic
Normal file
0
mbase/epic
Normal file
0
mbase/fbv-git
Normal file
0
mbase/fbv-git
Normal file
11
mbase/gnugrep/build
Executable file
11
mbase/gnugrep/build
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
export CFLAGS="$CFLAGS -Wno-error -static"
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr
|
||||||
|
|
||||||
|
make
|
||||||
|
make DESTDIR="$1" install
|
||||||
|
|
||||||
|
install -Dm755 src/grep "$1/usr/bin/ggrep"
|
1
mbase/gnugrep/checksums
Normal file
1
mbase/gnugrep/checksums
Normal file
@ -0,0 +1 @@
|
|||||||
|
667e15e8afe189e93f9f21a7cd3a7b3f776202f417330b248c2ad4f997d9373e
|
1
mbase/gnugrep/sources
Normal file
1
mbase/gnugrep/sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://ftp.gnu.org/gnu/grep/grep-3.6.tar.xz
|
1
mbase/gnugrep/version
Normal file
1
mbase/gnugrep/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.6 1
|
0
mbase/liberation-fonts
Normal file
0
mbase/liberation-fonts
Normal file
1
mbase/neXtaw
Symbolic link
1
mbase/neXtaw
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ports/neXtaw
|
1
mbase/norm.txt
Normal file
1
mbase/norm.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
9base-mod 9wm ROX-Filer alsa-lib alsa-plugins alsa-utils atk autoconf automake axel baselayout bash binutils bison bzip2 cairo cmake curl cyrus-sasl diffutils dropbear dtach-git epic eudev expat fbv-git ffmpeg file flex fontconfig freetype-harfbuzz fribidi fvwm3-git gavin-bc-git gcc gccmakedep-git gdk-pixbuf gettext-tiny giblib giflib git glib gmp gnugrep gnutls gperf gtk+2 gtk2-engines-clearlooks gv gzip hicolor hummingbird-git iana-etc imake-git imlib2 inetutils intltool kiss-mod lame leafpad less libICE libSM libX11 libXScrnSaver libXau libXaw3d-git libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXfont2 libXft libXi libXinerama libXmu libXpm libXrandr libXrender libXt libXtst libXxf86vm libarchive libass libbson-git libdrm libelf libepoxy liberation-fonts libevdev libevent libexif libffi libfontenc libgcrypt libgpg-error libinput libjpeg-turbo libmbim libmpc libnl libogg libpcap libpciaccess libpng libressl libtheora libtool libusb libvorbis libvpx libxcb libxkbfile libxml2 libxshmfence links2 linux-headers llvm lxtask lz4 m4 make man-pages-posix mandoc mesa meson mpfr mtdev mtm-git mtpaint-git nasm ncurses net-tools nettle nilfs-utils nmap oksh opus otawk-git pango patch pciutils pcre perl perl-xml pidgin pixman pkgconf procps-ng purple-discord-git python ruby samurai sbase-git-mod scrot sdl2 sed shadow shared-mime-info shellcheck-bin slock sqlite ssu stalonetray sxiv sysklogd-git syslinux sysmgr tabbed tcpdump tine-git tt++ tzdata ubase-git-mod usbutils util-linux x265 xbitmaps xcalc xcb-proto xcb-util xcb-util-image xcb-util-keysyms xcb-util-wm xcompmgr xdm xev xf86-input-libinput xf86-video-amdgpu xfsprogs xinit xinput xkbcomp xkeyboard-config xless xmessage xorg-cf xorg-fontutil xorg-server xorg-util-macros xorgproto xosview xrdb xset xsetroot xssstart xterm xtrans xvidcore xvkbd xwallpaper xz zlib zstd
|
@ -1 +0,0 @@
|
|||||||
../ports/psmisc-git
|
|
0
mbase/scrot
Normal file
0
mbase/scrot
Normal file
0
mbase/sxiv
Normal file
0
mbase/sxiv
Normal file
0
mbase/tzdata
Normal file
0
mbase/tzdata
Normal file
0
mbase/xf86-input-libinput
Normal file
0
mbase/xf86-input-libinput
Normal file
0
mbase/xorg-server
Normal file
0
mbase/xorg-server
Normal file
0
mbase/xwallpaper
Normal file
0
mbase/xwallpaper
Normal file
9
ports/ffmpeg/diffutils/build
Executable file
9
ports/ffmpeg/diffutils/build
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
export CFLAGS="$CFLAGS -static"
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr
|
||||||
|
|
||||||
|
make
|
||||||
|
make DESTDIR="$1" install
|
1
ports/ffmpeg/diffutils/checksums
Normal file
1
ports/ffmpeg/diffutils/checksums
Normal file
@ -0,0 +1 @@
|
|||||||
|
b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26 diffutils-3.7.tar.xz
|
1
ports/ffmpeg/diffutils/sources
Normal file
1
ports/ffmpeg/diffutils/sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://ftp.gnu.org/gnu/diffutils/diffutils-3.7.tar.xz
|
1
ports/ffmpeg/diffutils/version
Normal file
1
ports/ffmpeg/diffutils/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.7 1
|
@ -1,2 +1,3 @@
|
|||||||
|
perl-xml make
|
||||||
gtk+2
|
gtk+2
|
||||||
intltool make
|
intltool make
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
perl-xml make
|
||||||
gettext-tiny make
|
gettext-tiny make
|
||||||
gtk+2
|
gtk+2
|
||||||
intltool make
|
intltool make
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
ghostscript
|
||||||
freetype-harfbuzz
|
freetype-harfbuzz
|
||||||
libICE
|
libICE
|
||||||
libSM
|
libSM
|
||||||
|
@ -5,3 +5,7 @@
|
|||||||
|
|
||||||
make
|
make
|
||||||
make DESTDIR="$1" install
|
make DESTDIR="$1" install
|
||||||
|
|
||||||
|
#ln -s "/usr/include/X11/Xaw3d" "$1/usr/include/X11/Xaw"
|
||||||
|
#ln -s "/usr/lib/pkgconfig/xaw3d.pc" "/usr/lib/pkgconfig/xaw7.pc"
|
||||||
|
#ln -s "/usr/lib/libXaw3d.so" "$1/usr/lib/libXaw7.so"
|
||||||
|
8
ports/neXtaw/build
Executable file
8
ports/neXtaw/build
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
|
||||||
|
make
|
||||||
|
make DESTDIR="$1" install
|
||||||
|
install -Dm644 nextaw.pc "$1/usr/lib/pkgconfig/nextaw.pc"
|
1
ports/neXtaw/checksums
Normal file
1
ports/neXtaw/checksums
Normal file
@ -0,0 +1 @@
|
|||||||
|
7cfe6706b9a76620389e04a7a87f06786c8a6606829c3157c3e9e45a805bb584
|
12
ports/neXtaw/files/nextaw.pc
Normal file
12
ports/neXtaw/files/nextaw.pc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${exec_prefix}/lib
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: neXtaw
|
||||||
|
Description: Xaw with N*XTSTEP look and feel
|
||||||
|
Version: 1.0.13
|
||||||
|
Requires: xproto xt
|
||||||
|
Requires.private: x11 xext xt xmu xpm
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
Libs: -L${libdir} -lneXtaw
|
2
ports/neXtaw/sources
Normal file
2
ports/neXtaw/sources
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
http://siag.nu/pub/neXtaw/neXtaw-0.15.1.tar.gz
|
||||||
|
files/nextaw.pc
|
1
ports/neXtaw/version
Normal file
1
ports/neXtaw/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
0.15.1 1
|
12
ports/neXtaw/xaw7.pc
Normal file
12
ports/neXtaw/xaw7.pc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${exec_prefix}/lib
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: Xaw
|
||||||
|
Description: X Athena Widgets Library, version 7
|
||||||
|
Version: 1.0.13
|
||||||
|
Requires: xproto xt
|
||||||
|
Requires.private: x11 xext xt xmu xpm
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
Libs: -L${libdir} -lneXtaw
|
@ -1,5 +1,8 @@
|
|||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Patch Clock.c to compile with other Xaws
|
||||||
|
sed -e 's/XpmReadFileToPixmap(dpy, RootWindowOfScreen(screen), name, &pmap,//g' clock.c.new | sed -e 's/&shapemask, NULL);//g' > Clock.c.new ; mv Clock.c.new Clock.c
|
||||||
|
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr
|
--prefix=/usr
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ libICE
|
|||||||
libSM
|
libSM
|
||||||
libX11
|
libX11
|
||||||
libXau
|
libXau
|
||||||
libXaw make
|
|
||||||
libXext
|
libXext
|
||||||
libXft
|
libXft
|
||||||
libXmu
|
libXmu
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
libX11
|
libX11
|
||||||
libXaw make
|
|
||||||
libXmu
|
libXmu
|
||||||
|
libXaw
|
||||||
libXt
|
libXt
|
||||||
|
@ -3,6 +3,5 @@ automake make
|
|||||||
libICE
|
libICE
|
||||||
libSM
|
libSM
|
||||||
libX11
|
libX11
|
||||||
libXaw
|
|
||||||
libXt
|
libXt
|
||||||
xorg-server
|
xorg-server
|
||||||
|
BIN
ports/xterm/xterm-359.tgz
Normal file
BIN
ports/xterm/xterm-359.tgz
Normal file
Binary file not shown.
250
ports/xterm/xterm-359/256colres.h
Normal file
250
ports/xterm/xterm-359/256colres.h
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
/*
|
||||||
|
* This header file was generated by ./256colres.pl
|
||||||
|
*/
|
||||||
|
/* $XTermId: 256colres.h,v 1.11 2007/06/12 00:44:23 tom Exp $ */
|
||||||
|
|
||||||
|
#ifndef included_256colres_h
|
||||||
|
#define included_256colres_h
|
||||||
|
|
||||||
|
COLOR_RES("16", screen.Acolors[16], DFT_COLOR("rgb:00/00/00")),
|
||||||
|
COLOR_RES("17", screen.Acolors[17], DFT_COLOR("rgb:00/00/5f")),
|
||||||
|
COLOR_RES("18", screen.Acolors[18], DFT_COLOR("rgb:00/00/87")),
|
||||||
|
COLOR_RES("19", screen.Acolors[19], DFT_COLOR("rgb:00/00/af")),
|
||||||
|
COLOR_RES("20", screen.Acolors[20], DFT_COLOR("rgb:00/00/d7")),
|
||||||
|
COLOR_RES("21", screen.Acolors[21], DFT_COLOR("rgb:00/00/ff")),
|
||||||
|
COLOR_RES("22", screen.Acolors[22], DFT_COLOR("rgb:00/5f/00")),
|
||||||
|
COLOR_RES("23", screen.Acolors[23], DFT_COLOR("rgb:00/5f/5f")),
|
||||||
|
COLOR_RES("24", screen.Acolors[24], DFT_COLOR("rgb:00/5f/87")),
|
||||||
|
COLOR_RES("25", screen.Acolors[25], DFT_COLOR("rgb:00/5f/af")),
|
||||||
|
COLOR_RES("26", screen.Acolors[26], DFT_COLOR("rgb:00/5f/d7")),
|
||||||
|
COLOR_RES("27", screen.Acolors[27], DFT_COLOR("rgb:00/5f/ff")),
|
||||||
|
COLOR_RES("28", screen.Acolors[28], DFT_COLOR("rgb:00/87/00")),
|
||||||
|
COLOR_RES("29", screen.Acolors[29], DFT_COLOR("rgb:00/87/5f")),
|
||||||
|
COLOR_RES("30", screen.Acolors[30], DFT_COLOR("rgb:00/87/87")),
|
||||||
|
COLOR_RES("31", screen.Acolors[31], DFT_COLOR("rgb:00/87/af")),
|
||||||
|
COLOR_RES("32", screen.Acolors[32], DFT_COLOR("rgb:00/87/d7")),
|
||||||
|
COLOR_RES("33", screen.Acolors[33], DFT_COLOR("rgb:00/87/ff")),
|
||||||
|
COLOR_RES("34", screen.Acolors[34], DFT_COLOR("rgb:00/af/00")),
|
||||||
|
COLOR_RES("35", screen.Acolors[35], DFT_COLOR("rgb:00/af/5f")),
|
||||||
|
COLOR_RES("36", screen.Acolors[36], DFT_COLOR("rgb:00/af/87")),
|
||||||
|
COLOR_RES("37", screen.Acolors[37], DFT_COLOR("rgb:00/af/af")),
|
||||||
|
COLOR_RES("38", screen.Acolors[38], DFT_COLOR("rgb:00/af/d7")),
|
||||||
|
COLOR_RES("39", screen.Acolors[39], DFT_COLOR("rgb:00/af/ff")),
|
||||||
|
COLOR_RES("40", screen.Acolors[40], DFT_COLOR("rgb:00/d7/00")),
|
||||||
|
COLOR_RES("41", screen.Acolors[41], DFT_COLOR("rgb:00/d7/5f")),
|
||||||
|
COLOR_RES("42", screen.Acolors[42], DFT_COLOR("rgb:00/d7/87")),
|
||||||
|
COLOR_RES("43", screen.Acolors[43], DFT_COLOR("rgb:00/d7/af")),
|
||||||
|
COLOR_RES("44", screen.Acolors[44], DFT_COLOR("rgb:00/d7/d7")),
|
||||||
|
COLOR_RES("45", screen.Acolors[45], DFT_COLOR("rgb:00/d7/ff")),
|
||||||
|
COLOR_RES("46", screen.Acolors[46], DFT_COLOR("rgb:00/ff/00")),
|
||||||
|
COLOR_RES("47", screen.Acolors[47], DFT_COLOR("rgb:00/ff/5f")),
|
||||||
|
COLOR_RES("48", screen.Acolors[48], DFT_COLOR("rgb:00/ff/87")),
|
||||||
|
COLOR_RES("49", screen.Acolors[49], DFT_COLOR("rgb:00/ff/af")),
|
||||||
|
COLOR_RES("50", screen.Acolors[50], DFT_COLOR("rgb:00/ff/d7")),
|
||||||
|
COLOR_RES("51", screen.Acolors[51], DFT_COLOR("rgb:00/ff/ff")),
|
||||||
|
COLOR_RES("52", screen.Acolors[52], DFT_COLOR("rgb:5f/00/00")),
|
||||||
|
COLOR_RES("53", screen.Acolors[53], DFT_COLOR("rgb:5f/00/5f")),
|
||||||
|
COLOR_RES("54", screen.Acolors[54], DFT_COLOR("rgb:5f/00/87")),
|
||||||
|
COLOR_RES("55", screen.Acolors[55], DFT_COLOR("rgb:5f/00/af")),
|
||||||
|
COLOR_RES("56", screen.Acolors[56], DFT_COLOR("rgb:5f/00/d7")),
|
||||||
|
COLOR_RES("57", screen.Acolors[57], DFT_COLOR("rgb:5f/00/ff")),
|
||||||
|
COLOR_RES("58", screen.Acolors[58], DFT_COLOR("rgb:5f/5f/00")),
|
||||||
|
COLOR_RES("59", screen.Acolors[59], DFT_COLOR("rgb:5f/5f/5f")),
|
||||||
|
COLOR_RES("60", screen.Acolors[60], DFT_COLOR("rgb:5f/5f/87")),
|
||||||
|
COLOR_RES("61", screen.Acolors[61], DFT_COLOR("rgb:5f/5f/af")),
|
||||||
|
COLOR_RES("62", screen.Acolors[62], DFT_COLOR("rgb:5f/5f/d7")),
|
||||||
|
COLOR_RES("63", screen.Acolors[63], DFT_COLOR("rgb:5f/5f/ff")),
|
||||||
|
COLOR_RES("64", screen.Acolors[64], DFT_COLOR("rgb:5f/87/00")),
|
||||||
|
COLOR_RES("65", screen.Acolors[65], DFT_COLOR("rgb:5f/87/5f")),
|
||||||
|
COLOR_RES("66", screen.Acolors[66], DFT_COLOR("rgb:5f/87/87")),
|
||||||
|
COLOR_RES("67", screen.Acolors[67], DFT_COLOR("rgb:5f/87/af")),
|
||||||
|
COLOR_RES("68", screen.Acolors[68], DFT_COLOR("rgb:5f/87/d7")),
|
||||||
|
COLOR_RES("69", screen.Acolors[69], DFT_COLOR("rgb:5f/87/ff")),
|
||||||
|
COLOR_RES("70", screen.Acolors[70], DFT_COLOR("rgb:5f/af/00")),
|
||||||
|
COLOR_RES("71", screen.Acolors[71], DFT_COLOR("rgb:5f/af/5f")),
|
||||||
|
COLOR_RES("72", screen.Acolors[72], DFT_COLOR("rgb:5f/af/87")),
|
||||||
|
COLOR_RES("73", screen.Acolors[73], DFT_COLOR("rgb:5f/af/af")),
|
||||||
|
COLOR_RES("74", screen.Acolors[74], DFT_COLOR("rgb:5f/af/d7")),
|
||||||
|
COLOR_RES("75", screen.Acolors[75], DFT_COLOR("rgb:5f/af/ff")),
|
||||||
|
COLOR_RES("76", screen.Acolors[76], DFT_COLOR("rgb:5f/d7/00")),
|
||||||
|
COLOR_RES("77", screen.Acolors[77], DFT_COLOR("rgb:5f/d7/5f")),
|
||||||
|
COLOR_RES("78", screen.Acolors[78], DFT_COLOR("rgb:5f/d7/87")),
|
||||||
|
COLOR_RES("79", screen.Acolors[79], DFT_COLOR("rgb:5f/d7/af")),
|
||||||
|
COLOR_RES("80", screen.Acolors[80], DFT_COLOR("rgb:5f/d7/d7")),
|
||||||
|
COLOR_RES("81", screen.Acolors[81], DFT_COLOR("rgb:5f/d7/ff")),
|
||||||
|
COLOR_RES("82", screen.Acolors[82], DFT_COLOR("rgb:5f/ff/00")),
|
||||||
|
COLOR_RES("83", screen.Acolors[83], DFT_COLOR("rgb:5f/ff/5f")),
|
||||||
|
COLOR_RES("84", screen.Acolors[84], DFT_COLOR("rgb:5f/ff/87")),
|
||||||
|
COLOR_RES("85", screen.Acolors[85], DFT_COLOR("rgb:5f/ff/af")),
|
||||||
|
COLOR_RES("86", screen.Acolors[86], DFT_COLOR("rgb:5f/ff/d7")),
|
||||||
|
COLOR_RES("87", screen.Acolors[87], DFT_COLOR("rgb:5f/ff/ff")),
|
||||||
|
COLOR_RES("88", screen.Acolors[88], DFT_COLOR("rgb:87/00/00")),
|
||||||
|
COLOR_RES("89", screen.Acolors[89], DFT_COLOR("rgb:87/00/5f")),
|
||||||
|
COLOR_RES("90", screen.Acolors[90], DFT_COLOR("rgb:87/00/87")),
|
||||||
|
COLOR_RES("91", screen.Acolors[91], DFT_COLOR("rgb:87/00/af")),
|
||||||
|
COLOR_RES("92", screen.Acolors[92], DFT_COLOR("rgb:87/00/d7")),
|
||||||
|
COLOR_RES("93", screen.Acolors[93], DFT_COLOR("rgb:87/00/ff")),
|
||||||
|
COLOR_RES("94", screen.Acolors[94], DFT_COLOR("rgb:87/5f/00")),
|
||||||
|
COLOR_RES("95", screen.Acolors[95], DFT_COLOR("rgb:87/5f/5f")),
|
||||||
|
COLOR_RES("96", screen.Acolors[96], DFT_COLOR("rgb:87/5f/87")),
|
||||||
|
COLOR_RES("97", screen.Acolors[97], DFT_COLOR("rgb:87/5f/af")),
|
||||||
|
COLOR_RES("98", screen.Acolors[98], DFT_COLOR("rgb:87/5f/d7")),
|
||||||
|
COLOR_RES("99", screen.Acolors[99], DFT_COLOR("rgb:87/5f/ff")),
|
||||||
|
COLOR_RES("100", screen.Acolors[100], DFT_COLOR("rgb:87/87/00")),
|
||||||
|
COLOR_RES("101", screen.Acolors[101], DFT_COLOR("rgb:87/87/5f")),
|
||||||
|
COLOR_RES("102", screen.Acolors[102], DFT_COLOR("rgb:87/87/87")),
|
||||||
|
COLOR_RES("103", screen.Acolors[103], DFT_COLOR("rgb:87/87/af")),
|
||||||
|
COLOR_RES("104", screen.Acolors[104], DFT_COLOR("rgb:87/87/d7")),
|
||||||
|
COLOR_RES("105", screen.Acolors[105], DFT_COLOR("rgb:87/87/ff")),
|
||||||
|
COLOR_RES("106", screen.Acolors[106], DFT_COLOR("rgb:87/af/00")),
|
||||||
|
COLOR_RES("107", screen.Acolors[107], DFT_COLOR("rgb:87/af/5f")),
|
||||||
|
COLOR_RES("108", screen.Acolors[108], DFT_COLOR("rgb:87/af/87")),
|
||||||
|
COLOR_RES("109", screen.Acolors[109], DFT_COLOR("rgb:87/af/af")),
|
||||||
|
COLOR_RES("110", screen.Acolors[110], DFT_COLOR("rgb:87/af/d7")),
|
||||||
|
COLOR_RES("111", screen.Acolors[111], DFT_COLOR("rgb:87/af/ff")),
|
||||||
|
COLOR_RES("112", screen.Acolors[112], DFT_COLOR("rgb:87/d7/00")),
|
||||||
|
COLOR_RES("113", screen.Acolors[113], DFT_COLOR("rgb:87/d7/5f")),
|
||||||
|
COLOR_RES("114", screen.Acolors[114], DFT_COLOR("rgb:87/d7/87")),
|
||||||
|
COLOR_RES("115", screen.Acolors[115], DFT_COLOR("rgb:87/d7/af")),
|
||||||
|
COLOR_RES("116", screen.Acolors[116], DFT_COLOR("rgb:87/d7/d7")),
|
||||||
|
COLOR_RES("117", screen.Acolors[117], DFT_COLOR("rgb:87/d7/ff")),
|
||||||
|
COLOR_RES("118", screen.Acolors[118], DFT_COLOR("rgb:87/ff/00")),
|
||||||
|
COLOR_RES("119", screen.Acolors[119], DFT_COLOR("rgb:87/ff/5f")),
|
||||||
|
COLOR_RES("120", screen.Acolors[120], DFT_COLOR("rgb:87/ff/87")),
|
||||||
|
COLOR_RES("121", screen.Acolors[121], DFT_COLOR("rgb:87/ff/af")),
|
||||||
|
COLOR_RES("122", screen.Acolors[122], DFT_COLOR("rgb:87/ff/d7")),
|
||||||
|
COLOR_RES("123", screen.Acolors[123], DFT_COLOR("rgb:87/ff/ff")),
|
||||||
|
COLOR_RES("124", screen.Acolors[124], DFT_COLOR("rgb:af/00/00")),
|
||||||
|
COLOR_RES("125", screen.Acolors[125], DFT_COLOR("rgb:af/00/5f")),
|
||||||
|
COLOR_RES("126", screen.Acolors[126], DFT_COLOR("rgb:af/00/87")),
|
||||||
|
COLOR_RES("127", screen.Acolors[127], DFT_COLOR("rgb:af/00/af")),
|
||||||
|
COLOR_RES("128", screen.Acolors[128], DFT_COLOR("rgb:af/00/d7")),
|
||||||
|
COLOR_RES("129", screen.Acolors[129], DFT_COLOR("rgb:af/00/ff")),
|
||||||
|
COLOR_RES("130", screen.Acolors[130], DFT_COLOR("rgb:af/5f/00")),
|
||||||
|
COLOR_RES("131", screen.Acolors[131], DFT_COLOR("rgb:af/5f/5f")),
|
||||||
|
COLOR_RES("132", screen.Acolors[132], DFT_COLOR("rgb:af/5f/87")),
|
||||||
|
COLOR_RES("133", screen.Acolors[133], DFT_COLOR("rgb:af/5f/af")),
|
||||||
|
COLOR_RES("134", screen.Acolors[134], DFT_COLOR("rgb:af/5f/d7")),
|
||||||
|
COLOR_RES("135", screen.Acolors[135], DFT_COLOR("rgb:af/5f/ff")),
|
||||||
|
COLOR_RES("136", screen.Acolors[136], DFT_COLOR("rgb:af/87/00")),
|
||||||
|
COLOR_RES("137", screen.Acolors[137], DFT_COLOR("rgb:af/87/5f")),
|
||||||
|
COLOR_RES("138", screen.Acolors[138], DFT_COLOR("rgb:af/87/87")),
|
||||||
|
COLOR_RES("139", screen.Acolors[139], DFT_COLOR("rgb:af/87/af")),
|
||||||
|
COLOR_RES("140", screen.Acolors[140], DFT_COLOR("rgb:af/87/d7")),
|
||||||
|
COLOR_RES("141", screen.Acolors[141], DFT_COLOR("rgb:af/87/ff")),
|
||||||
|
COLOR_RES("142", screen.Acolors[142], DFT_COLOR("rgb:af/af/00")),
|
||||||
|
COLOR_RES("143", screen.Acolors[143], DFT_COLOR("rgb:af/af/5f")),
|
||||||
|
COLOR_RES("144", screen.Acolors[144], DFT_COLOR("rgb:af/af/87")),
|
||||||
|
COLOR_RES("145", screen.Acolors[145], DFT_COLOR("rgb:af/af/af")),
|
||||||
|
COLOR_RES("146", screen.Acolors[146], DFT_COLOR("rgb:af/af/d7")),
|
||||||
|
COLOR_RES("147", screen.Acolors[147], DFT_COLOR("rgb:af/af/ff")),
|
||||||
|
COLOR_RES("148", screen.Acolors[148], DFT_COLOR("rgb:af/d7/00")),
|
||||||
|
COLOR_RES("149", screen.Acolors[149], DFT_COLOR("rgb:af/d7/5f")),
|
||||||
|
COLOR_RES("150", screen.Acolors[150], DFT_COLOR("rgb:af/d7/87")),
|
||||||
|
COLOR_RES("151", screen.Acolors[151], DFT_COLOR("rgb:af/d7/af")),
|
||||||
|
COLOR_RES("152", screen.Acolors[152], DFT_COLOR("rgb:af/d7/d7")),
|
||||||
|
COLOR_RES("153", screen.Acolors[153], DFT_COLOR("rgb:af/d7/ff")),
|
||||||
|
COLOR_RES("154", screen.Acolors[154], DFT_COLOR("rgb:af/ff/00")),
|
||||||
|
COLOR_RES("155", screen.Acolors[155], DFT_COLOR("rgb:af/ff/5f")),
|
||||||
|
COLOR_RES("156", screen.Acolors[156], DFT_COLOR("rgb:af/ff/87")),
|
||||||
|
COLOR_RES("157", screen.Acolors[157], DFT_COLOR("rgb:af/ff/af")),
|
||||||
|
COLOR_RES("158", screen.Acolors[158], DFT_COLOR("rgb:af/ff/d7")),
|
||||||
|
COLOR_RES("159", screen.Acolors[159], DFT_COLOR("rgb:af/ff/ff")),
|
||||||
|
COLOR_RES("160", screen.Acolors[160], DFT_COLOR("rgb:d7/00/00")),
|
||||||
|
COLOR_RES("161", screen.Acolors[161], DFT_COLOR("rgb:d7/00/5f")),
|
||||||
|
COLOR_RES("162", screen.Acolors[162], DFT_COLOR("rgb:d7/00/87")),
|
||||||
|
COLOR_RES("163", screen.Acolors[163], DFT_COLOR("rgb:d7/00/af")),
|
||||||
|
COLOR_RES("164", screen.Acolors[164], DFT_COLOR("rgb:d7/00/d7")),
|
||||||
|
COLOR_RES("165", screen.Acolors[165], DFT_COLOR("rgb:d7/00/ff")),
|
||||||
|
COLOR_RES("166", screen.Acolors[166], DFT_COLOR("rgb:d7/5f/00")),
|
||||||
|
COLOR_RES("167", screen.Acolors[167], DFT_COLOR("rgb:d7/5f/5f")),
|
||||||
|
COLOR_RES("168", screen.Acolors[168], DFT_COLOR("rgb:d7/5f/87")),
|
||||||
|
COLOR_RES("169", screen.Acolors[169], DFT_COLOR("rgb:d7/5f/af")),
|
||||||
|
COLOR_RES("170", screen.Acolors[170], DFT_COLOR("rgb:d7/5f/d7")),
|
||||||
|
COLOR_RES("171", screen.Acolors[171], DFT_COLOR("rgb:d7/5f/ff")),
|
||||||
|
COLOR_RES("172", screen.Acolors[172], DFT_COLOR("rgb:d7/87/00")),
|
||||||
|
COLOR_RES("173", screen.Acolors[173], DFT_COLOR("rgb:d7/87/5f")),
|
||||||
|
COLOR_RES("174", screen.Acolors[174], DFT_COLOR("rgb:d7/87/87")),
|
||||||
|
COLOR_RES("175", screen.Acolors[175], DFT_COLOR("rgb:d7/87/af")),
|
||||||
|
COLOR_RES("176", screen.Acolors[176], DFT_COLOR("rgb:d7/87/d7")),
|
||||||
|
COLOR_RES("177", screen.Acolors[177], DFT_COLOR("rgb:d7/87/ff")),
|
||||||
|
COLOR_RES("178", screen.Acolors[178], DFT_COLOR("rgb:d7/af/00")),
|
||||||
|
COLOR_RES("179", screen.Acolors[179], DFT_COLOR("rgb:d7/af/5f")),
|
||||||
|
COLOR_RES("180", screen.Acolors[180], DFT_COLOR("rgb:d7/af/87")),
|
||||||
|
COLOR_RES("181", screen.Acolors[181], DFT_COLOR("rgb:d7/af/af")),
|
||||||
|
COLOR_RES("182", screen.Acolors[182], DFT_COLOR("rgb:d7/af/d7")),
|
||||||
|
COLOR_RES("183", screen.Acolors[183], DFT_COLOR("rgb:d7/af/ff")),
|
||||||
|
COLOR_RES("184", screen.Acolors[184], DFT_COLOR("rgb:d7/d7/00")),
|
||||||
|
COLOR_RES("185", screen.Acolors[185], DFT_COLOR("rgb:d7/d7/5f")),
|
||||||
|
COLOR_RES("186", screen.Acolors[186], DFT_COLOR("rgb:d7/d7/87")),
|
||||||
|
COLOR_RES("187", screen.Acolors[187], DFT_COLOR("rgb:d7/d7/af")),
|
||||||
|
COLOR_RES("188", screen.Acolors[188], DFT_COLOR("rgb:d7/d7/d7")),
|
||||||
|
COLOR_RES("189", screen.Acolors[189], DFT_COLOR("rgb:d7/d7/ff")),
|
||||||
|
COLOR_RES("190", screen.Acolors[190], DFT_COLOR("rgb:d7/ff/00")),
|
||||||
|
COLOR_RES("191", screen.Acolors[191], DFT_COLOR("rgb:d7/ff/5f")),
|
||||||
|
COLOR_RES("192", screen.Acolors[192], DFT_COLOR("rgb:d7/ff/87")),
|
||||||
|
COLOR_RES("193", screen.Acolors[193], DFT_COLOR("rgb:d7/ff/af")),
|
||||||
|
COLOR_RES("194", screen.Acolors[194], DFT_COLOR("rgb:d7/ff/d7")),
|
||||||
|
COLOR_RES("195", screen.Acolors[195], DFT_COLOR("rgb:d7/ff/ff")),
|
||||||
|
COLOR_RES("196", screen.Acolors[196], DFT_COLOR("rgb:ff/00/00")),
|
||||||
|
COLOR_RES("197", screen.Acolors[197], DFT_COLOR("rgb:ff/00/5f")),
|
||||||
|
COLOR_RES("198", screen.Acolors[198], DFT_COLOR("rgb:ff/00/87")),
|
||||||
|
COLOR_RES("199", screen.Acolors[199], DFT_COLOR("rgb:ff/00/af")),
|
||||||
|
COLOR_RES("200", screen.Acolors[200], DFT_COLOR("rgb:ff/00/d7")),
|
||||||
|
COLOR_RES("201", screen.Acolors[201], DFT_COLOR("rgb:ff/00/ff")),
|
||||||
|
COLOR_RES("202", screen.Acolors[202], DFT_COLOR("rgb:ff/5f/00")),
|
||||||
|
COLOR_RES("203", screen.Acolors[203], DFT_COLOR("rgb:ff/5f/5f")),
|
||||||
|
COLOR_RES("204", screen.Acolors[204], DFT_COLOR("rgb:ff/5f/87")),
|
||||||
|
COLOR_RES("205", screen.Acolors[205], DFT_COLOR("rgb:ff/5f/af")),
|
||||||
|
COLOR_RES("206", screen.Acolors[206], DFT_COLOR("rgb:ff/5f/d7")),
|
||||||
|
COLOR_RES("207", screen.Acolors[207], DFT_COLOR("rgb:ff/5f/ff")),
|
||||||
|
COLOR_RES("208", screen.Acolors[208], DFT_COLOR("rgb:ff/87/00")),
|
||||||
|
COLOR_RES("209", screen.Acolors[209], DFT_COLOR("rgb:ff/87/5f")),
|
||||||
|
COLOR_RES("210", screen.Acolors[210], DFT_COLOR("rgb:ff/87/87")),
|
||||||
|
COLOR_RES("211", screen.Acolors[211], DFT_COLOR("rgb:ff/87/af")),
|
||||||
|
COLOR_RES("212", screen.Acolors[212], DFT_COLOR("rgb:ff/87/d7")),
|
||||||
|
COLOR_RES("213", screen.Acolors[213], DFT_COLOR("rgb:ff/87/ff")),
|
||||||
|
COLOR_RES("214", screen.Acolors[214], DFT_COLOR("rgb:ff/af/00")),
|
||||||
|
COLOR_RES("215", screen.Acolors[215], DFT_COLOR("rgb:ff/af/5f")),
|
||||||
|
COLOR_RES("216", screen.Acolors[216], DFT_COLOR("rgb:ff/af/87")),
|
||||||
|
COLOR_RES("217", screen.Acolors[217], DFT_COLOR("rgb:ff/af/af")),
|
||||||
|
COLOR_RES("218", screen.Acolors[218], DFT_COLOR("rgb:ff/af/d7")),
|
||||||
|
COLOR_RES("219", screen.Acolors[219], DFT_COLOR("rgb:ff/af/ff")),
|
||||||
|
COLOR_RES("220", screen.Acolors[220], DFT_COLOR("rgb:ff/d7/00")),
|
||||||
|
COLOR_RES("221", screen.Acolors[221], DFT_COLOR("rgb:ff/d7/5f")),
|
||||||
|
COLOR_RES("222", screen.Acolors[222], DFT_COLOR("rgb:ff/d7/87")),
|
||||||
|
COLOR_RES("223", screen.Acolors[223], DFT_COLOR("rgb:ff/d7/af")),
|
||||||
|
COLOR_RES("224", screen.Acolors[224], DFT_COLOR("rgb:ff/d7/d7")),
|
||||||
|
COLOR_RES("225", screen.Acolors[225], DFT_COLOR("rgb:ff/d7/ff")),
|
||||||
|
COLOR_RES("226", screen.Acolors[226], DFT_COLOR("rgb:ff/ff/00")),
|
||||||
|
COLOR_RES("227", screen.Acolors[227], DFT_COLOR("rgb:ff/ff/5f")),
|
||||||
|
COLOR_RES("228", screen.Acolors[228], DFT_COLOR("rgb:ff/ff/87")),
|
||||||
|
COLOR_RES("229", screen.Acolors[229], DFT_COLOR("rgb:ff/ff/af")),
|
||||||
|
COLOR_RES("230", screen.Acolors[230], DFT_COLOR("rgb:ff/ff/d7")),
|
||||||
|
COLOR_RES("231", screen.Acolors[231], DFT_COLOR("rgb:ff/ff/ff")),
|
||||||
|
COLOR_RES("232", screen.Acolors[232], DFT_COLOR("rgb:08/08/08")),
|
||||||
|
COLOR_RES("233", screen.Acolors[233], DFT_COLOR("rgb:12/12/12")),
|
||||||
|
COLOR_RES("234", screen.Acolors[234], DFT_COLOR("rgb:1c/1c/1c")),
|
||||||
|
COLOR_RES("235", screen.Acolors[235], DFT_COLOR("rgb:26/26/26")),
|
||||||
|
COLOR_RES("236", screen.Acolors[236], DFT_COLOR("rgb:30/30/30")),
|
||||||
|
COLOR_RES("237", screen.Acolors[237], DFT_COLOR("rgb:3a/3a/3a")),
|
||||||
|
COLOR_RES("238", screen.Acolors[238], DFT_COLOR("rgb:44/44/44")),
|
||||||
|
COLOR_RES("239", screen.Acolors[239], DFT_COLOR("rgb:4e/4e/4e")),
|
||||||
|
COLOR_RES("240", screen.Acolors[240], DFT_COLOR("rgb:58/58/58")),
|
||||||
|
COLOR_RES("241", screen.Acolors[241], DFT_COLOR("rgb:62/62/62")),
|
||||||
|
COLOR_RES("242", screen.Acolors[242], DFT_COLOR("rgb:6c/6c/6c")),
|
||||||
|
COLOR_RES("243", screen.Acolors[243], DFT_COLOR("rgb:76/76/76")),
|
||||||
|
COLOR_RES("244", screen.Acolors[244], DFT_COLOR("rgb:80/80/80")),
|
||||||
|
COLOR_RES("245", screen.Acolors[245], DFT_COLOR("rgb:8a/8a/8a")),
|
||||||
|
COLOR_RES("246", screen.Acolors[246], DFT_COLOR("rgb:94/94/94")),
|
||||||
|
COLOR_RES("247", screen.Acolors[247], DFT_COLOR("rgb:9e/9e/9e")),
|
||||||
|
COLOR_RES("248", screen.Acolors[248], DFT_COLOR("rgb:a8/a8/a8")),
|
||||||
|
COLOR_RES("249", screen.Acolors[249], DFT_COLOR("rgb:b2/b2/b2")),
|
||||||
|
COLOR_RES("250", screen.Acolors[250], DFT_COLOR("rgb:bc/bc/bc")),
|
||||||
|
COLOR_RES("251", screen.Acolors[251], DFT_COLOR("rgb:c6/c6/c6")),
|
||||||
|
COLOR_RES("252", screen.Acolors[252], DFT_COLOR("rgb:d0/d0/d0")),
|
||||||
|
COLOR_RES("253", screen.Acolors[253], DFT_COLOR("rgb:da/da/da")),
|
||||||
|
COLOR_RES("254", screen.Acolors[254], DFT_COLOR("rgb:e4/e4/e4")),
|
||||||
|
COLOR_RES("255", screen.Acolors[255], DFT_COLOR("rgb:ee/ee/ee")),
|
||||||
|
|
||||||
|
#endif /* included_256colres_h */
|
93
ports/xterm/xterm-359/256colres.pl
Executable file
93
ports/xterm/xterm-359/256colres.pl
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
#! /usr/bin/perl
|
||||||
|
# $XTermId: 256colres.pl,v 1.16 2007/06/08 23:58:37 tom Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 1999-2002,2007 by Thomas E. Dickey
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Construct a header file defining default resources for the 256-color model
|
||||||
|
# of xterm. This is modeled after the 256colors2.pl script.
|
||||||
|
|
||||||
|
# use the resources for colors 0-15 - usually more-or-less a
|
||||||
|
# reproduction of the standard ANSI colors, but possibly more
|
||||||
|
# pleasing shades
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
our ( $line1, $line2, $line3 );
|
||||||
|
our ( $red, $green, $blue, $gray );
|
||||||
|
our ( $level, $code, @steps );
|
||||||
|
|
||||||
|
print <<EOF;
|
||||||
|
/*
|
||||||
|
* This header file was generated by $0
|
||||||
|
*/
|
||||||
|
/* \$XTermId\$ */
|
||||||
|
|
||||||
|
#ifndef included_256colres_h
|
||||||
|
#define included_256colres_h
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
$line1="COLOR_RES(\"%d\",";
|
||||||
|
$line2="\tscreen.Acolors[%d],";
|
||||||
|
$line3="\tDFT_COLOR(\"rgb:%2.2x/%2.2x/%2.2x\")),\n";
|
||||||
|
|
||||||
|
# colors 16-231 are a 6x6x6 color cube
|
||||||
|
for ($red = 0; $red < 6; $red++) {
|
||||||
|
for ($green = 0; $green < 6; $green++) {
|
||||||
|
for ($blue = 0; $blue < 6; $blue++) {
|
||||||
|
$code = 16 + ($red * 36) + ($green * 6) + $blue;
|
||||||
|
printf($line1, $code);
|
||||||
|
printf($line2, $code);
|
||||||
|
printf($line3,
|
||||||
|
($red ? ($red * 40 + 55) : 0),
|
||||||
|
($green ? ($green * 40 + 55) : 0),
|
||||||
|
($blue ? ($blue * 40 + 55) : 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# colors 232-255 are a grayscale ramp, intentionally leaving out
|
||||||
|
# black and white
|
||||||
|
$code=232;
|
||||||
|
for ($gray = 0; $gray < 24; $gray++) {
|
||||||
|
$level = ($gray * 10) + 8;
|
||||||
|
$code = 232 + $gray;
|
||||||
|
printf($line1, $code);
|
||||||
|
printf($line2, $code);
|
||||||
|
printf($line3,
|
||||||
|
$level, $level, $level);
|
||||||
|
}
|
||||||
|
|
||||||
|
print <<EOF;
|
||||||
|
|
||||||
|
#endif /* included_256colres_h */
|
||||||
|
EOF
|
82
ports/xterm/xterm-359/88colres.h
Normal file
82
ports/xterm/xterm-359/88colres.h
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
/*
|
||||||
|
* This header file was generated by ./88colres.pl
|
||||||
|
*/
|
||||||
|
/* $XTermId: 88colres.h,v 1.11 2007/06/12 00:44:21 tom Exp $ */
|
||||||
|
|
||||||
|
#ifndef included_88colres_h
|
||||||
|
#define included_88colres_h
|
||||||
|
|
||||||
|
COLOR_RES("16", screen.Acolors[16], DFT_COLOR("rgb:00/00/00")),
|
||||||
|
COLOR_RES("17", screen.Acolors[17], DFT_COLOR("rgb:00/00/8b")),
|
||||||
|
COLOR_RES("18", screen.Acolors[18], DFT_COLOR("rgb:00/00/cd")),
|
||||||
|
COLOR_RES("19", screen.Acolors[19], DFT_COLOR("rgb:00/00/ff")),
|
||||||
|
COLOR_RES("20", screen.Acolors[20], DFT_COLOR("rgb:00/8b/00")),
|
||||||
|
COLOR_RES("21", screen.Acolors[21], DFT_COLOR("rgb:00/8b/8b")),
|
||||||
|
COLOR_RES("22", screen.Acolors[22], DFT_COLOR("rgb:00/8b/cd")),
|
||||||
|
COLOR_RES("23", screen.Acolors[23], DFT_COLOR("rgb:00/8b/ff")),
|
||||||
|
COLOR_RES("24", screen.Acolors[24], DFT_COLOR("rgb:00/cd/00")),
|
||||||
|
COLOR_RES("25", screen.Acolors[25], DFT_COLOR("rgb:00/cd/8b")),
|
||||||
|
COLOR_RES("26", screen.Acolors[26], DFT_COLOR("rgb:00/cd/cd")),
|
||||||
|
COLOR_RES("27", screen.Acolors[27], DFT_COLOR("rgb:00/cd/ff")),
|
||||||
|
COLOR_RES("28", screen.Acolors[28], DFT_COLOR("rgb:00/ff/00")),
|
||||||
|
COLOR_RES("29", screen.Acolors[29], DFT_COLOR("rgb:00/ff/8b")),
|
||||||
|
COLOR_RES("30", screen.Acolors[30], DFT_COLOR("rgb:00/ff/cd")),
|
||||||
|
COLOR_RES("31", screen.Acolors[31], DFT_COLOR("rgb:00/ff/ff")),
|
||||||
|
COLOR_RES("32", screen.Acolors[32], DFT_COLOR("rgb:8b/00/00")),
|
||||||
|
COLOR_RES("33", screen.Acolors[33], DFT_COLOR("rgb:8b/00/8b")),
|
||||||
|
COLOR_RES("34", screen.Acolors[34], DFT_COLOR("rgb:8b/00/cd")),
|
||||||
|
COLOR_RES("35", screen.Acolors[35], DFT_COLOR("rgb:8b/00/ff")),
|
||||||
|
COLOR_RES("36", screen.Acolors[36], DFT_COLOR("rgb:8b/8b/00")),
|
||||||
|
COLOR_RES("37", screen.Acolors[37], DFT_COLOR("rgb:8b/8b/8b")),
|
||||||
|
COLOR_RES("38", screen.Acolors[38], DFT_COLOR("rgb:8b/8b/cd")),
|
||||||
|
COLOR_RES("39", screen.Acolors[39], DFT_COLOR("rgb:8b/8b/ff")),
|
||||||
|
COLOR_RES("40", screen.Acolors[40], DFT_COLOR("rgb:8b/cd/00")),
|
||||||
|
COLOR_RES("41", screen.Acolors[41], DFT_COLOR("rgb:8b/cd/8b")),
|
||||||
|
COLOR_RES("42", screen.Acolors[42], DFT_COLOR("rgb:8b/cd/cd")),
|
||||||
|
COLOR_RES("43", screen.Acolors[43], DFT_COLOR("rgb:8b/cd/ff")),
|
||||||
|
COLOR_RES("44", screen.Acolors[44], DFT_COLOR("rgb:8b/ff/00")),
|
||||||
|
COLOR_RES("45", screen.Acolors[45], DFT_COLOR("rgb:8b/ff/8b")),
|
||||||
|
COLOR_RES("46", screen.Acolors[46], DFT_COLOR("rgb:8b/ff/cd")),
|
||||||
|
COLOR_RES("47", screen.Acolors[47], DFT_COLOR("rgb:8b/ff/ff")),
|
||||||
|
COLOR_RES("48", screen.Acolors[48], DFT_COLOR("rgb:cd/00/00")),
|
||||||
|
COLOR_RES("49", screen.Acolors[49], DFT_COLOR("rgb:cd/00/8b")),
|
||||||
|
COLOR_RES("50", screen.Acolors[50], DFT_COLOR("rgb:cd/00/cd")),
|
||||||
|
COLOR_RES("51", screen.Acolors[51], DFT_COLOR("rgb:cd/00/ff")),
|
||||||
|
COLOR_RES("52", screen.Acolors[52], DFT_COLOR("rgb:cd/8b/00")),
|
||||||
|
COLOR_RES("53", screen.Acolors[53], DFT_COLOR("rgb:cd/8b/8b")),
|
||||||
|
COLOR_RES("54", screen.Acolors[54], DFT_COLOR("rgb:cd/8b/cd")),
|
||||||
|
COLOR_RES("55", screen.Acolors[55], DFT_COLOR("rgb:cd/8b/ff")),
|
||||||
|
COLOR_RES("56", screen.Acolors[56], DFT_COLOR("rgb:cd/cd/00")),
|
||||||
|
COLOR_RES("57", screen.Acolors[57], DFT_COLOR("rgb:cd/cd/8b")),
|
||||||
|
COLOR_RES("58", screen.Acolors[58], DFT_COLOR("rgb:cd/cd/cd")),
|
||||||
|
COLOR_RES("59", screen.Acolors[59], DFT_COLOR("rgb:cd/cd/ff")),
|
||||||
|
COLOR_RES("60", screen.Acolors[60], DFT_COLOR("rgb:cd/ff/00")),
|
||||||
|
COLOR_RES("61", screen.Acolors[61], DFT_COLOR("rgb:cd/ff/8b")),
|
||||||
|
COLOR_RES("62", screen.Acolors[62], DFT_COLOR("rgb:cd/ff/cd")),
|
||||||
|
COLOR_RES("63", screen.Acolors[63], DFT_COLOR("rgb:cd/ff/ff")),
|
||||||
|
COLOR_RES("64", screen.Acolors[64], DFT_COLOR("rgb:ff/00/00")),
|
||||||
|
COLOR_RES("65", screen.Acolors[65], DFT_COLOR("rgb:ff/00/8b")),
|
||||||
|
COLOR_RES("66", screen.Acolors[66], DFT_COLOR("rgb:ff/00/cd")),
|
||||||
|
COLOR_RES("67", screen.Acolors[67], DFT_COLOR("rgb:ff/00/ff")),
|
||||||
|
COLOR_RES("68", screen.Acolors[68], DFT_COLOR("rgb:ff/8b/00")),
|
||||||
|
COLOR_RES("69", screen.Acolors[69], DFT_COLOR("rgb:ff/8b/8b")),
|
||||||
|
COLOR_RES("70", screen.Acolors[70], DFT_COLOR("rgb:ff/8b/cd")),
|
||||||
|
COLOR_RES("71", screen.Acolors[71], DFT_COLOR("rgb:ff/8b/ff")),
|
||||||
|
COLOR_RES("72", screen.Acolors[72], DFT_COLOR("rgb:ff/cd/00")),
|
||||||
|
COLOR_RES("73", screen.Acolors[73], DFT_COLOR("rgb:ff/cd/8b")),
|
||||||
|
COLOR_RES("74", screen.Acolors[74], DFT_COLOR("rgb:ff/cd/cd")),
|
||||||
|
COLOR_RES("75", screen.Acolors[75], DFT_COLOR("rgb:ff/cd/ff")),
|
||||||
|
COLOR_RES("76", screen.Acolors[76], DFT_COLOR("rgb:ff/ff/00")),
|
||||||
|
COLOR_RES("77", screen.Acolors[77], DFT_COLOR("rgb:ff/ff/8b")),
|
||||||
|
COLOR_RES("78", screen.Acolors[78], DFT_COLOR("rgb:ff/ff/cd")),
|
||||||
|
COLOR_RES("79", screen.Acolors[79], DFT_COLOR("rgb:ff/ff/ff")),
|
||||||
|
COLOR_RES("80", screen.Acolors[80], DFT_COLOR("rgb:2e/2e/2e")),
|
||||||
|
COLOR_RES("81", screen.Acolors[81], DFT_COLOR("rgb:5c/5c/5c")),
|
||||||
|
COLOR_RES("82", screen.Acolors[82], DFT_COLOR("rgb:73/73/73")),
|
||||||
|
COLOR_RES("83", screen.Acolors[83], DFT_COLOR("rgb:8b/8b/8b")),
|
||||||
|
COLOR_RES("84", screen.Acolors[84], DFT_COLOR("rgb:a2/a2/a2")),
|
||||||
|
COLOR_RES("85", screen.Acolors[85], DFT_COLOR("rgb:b9/b9/b9")),
|
||||||
|
COLOR_RES("86", screen.Acolors[86], DFT_COLOR("rgb:d0/d0/d0")),
|
||||||
|
COLOR_RES("87", screen.Acolors[87], DFT_COLOR("rgb:e7/e7/e7")),
|
||||||
|
|
||||||
|
#endif /* included_88colres_h */
|
96
ports/xterm/xterm-359/88colres.pl
Executable file
96
ports/xterm/xterm-359/88colres.pl
Executable file
@ -0,0 +1,96 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# $XTermId: 88colres.pl,v 1.17 2007/06/08 23:57:23 tom Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 1999-2005,2007 by Thomas E. Dickey
|
||||||
|
# Copyright 1999-2000 by Steve Wall
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Made from 256colres.pl
|
||||||
|
|
||||||
|
# Construct a header file defining default resources for the
|
||||||
|
# 88-color model of xterm.
|
||||||
|
|
||||||
|
# use the resources for colors 0-15 - usually more-or-less a
|
||||||
|
# reproduction of the standard ANSI colors, but possibly more
|
||||||
|
# pleasing shades
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
our ( $line1, $line2, $line3 );
|
||||||
|
our ( $red, $green, $blue, $gray );
|
||||||
|
our ( $level, $code, @steps );
|
||||||
|
|
||||||
|
print <<EOF;
|
||||||
|
/*
|
||||||
|
* This header file was generated by $0
|
||||||
|
*/
|
||||||
|
/* \$XTermId\$ */
|
||||||
|
|
||||||
|
#ifndef included_88colres_h
|
||||||
|
#define included_88colres_h
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
$line1="COLOR_RES(\"%d\",";
|
||||||
|
$line2="\tscreen.Acolors[%d],";
|
||||||
|
$line3="\tDFT_COLOR(\"rgb:%2.2x/%2.2x/%2.2x\")),\n";
|
||||||
|
@steps=(0,139,205,255);
|
||||||
|
|
||||||
|
# colors 16-79 are a 4x4x4 color cube
|
||||||
|
for ($red = 0; $red < 4; $red++) {
|
||||||
|
for ($green = 0; $green < 4; $green++) {
|
||||||
|
for ($blue = 0; $blue < 4; $blue++) {
|
||||||
|
$code = 16 + ($red * 16) + ($green * 4) + $blue;
|
||||||
|
printf($line1, $code);
|
||||||
|
printf($line2, $code);
|
||||||
|
printf($line3,
|
||||||
|
int (@steps[$red]),
|
||||||
|
int (@steps[$green]),
|
||||||
|
int (@steps[$blue]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# colors 80-87 are a grayscale ramp, intentionally leaving out
|
||||||
|
# black and white
|
||||||
|
for ($gray = 0; $gray < 8; $gray++) {
|
||||||
|
$level = ($gray * 23.18181818) + 46.36363636;
|
||||||
|
if( $gray > 0 ) { $level += 23.18181818; }
|
||||||
|
$code = 80 + $gray;
|
||||||
|
printf($line1, $code);
|
||||||
|
printf($line2, $code);
|
||||||
|
printf($line3,
|
||||||
|
int($level), int($level), int($level));
|
||||||
|
}
|
||||||
|
|
||||||
|
print <<EOF;
|
||||||
|
|
||||||
|
#endif /* included_88colres_h */
|
||||||
|
EOF
|
48
ports/xterm/xterm-359/AAA_README_VMS.txt
Normal file
48
ports/xterm/xterm-359/AAA_README_VMS.txt
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
http://dickey.his.com/xterm/xterm.html
|
||||||
|
|
||||||
|
Downloaded 1.22 variant (current Linux version) on 18-JAN-2000.
|
||||||
|
|
||||||
|
Port stalled for a few days because OpenVMS X11 lacks XtGravity.
|
||||||
|
|
||||||
|
X11KIT shared libraries almost work, but missing _XA_ symbols
|
||||||
|
for some reason.
|
||||||
|
|
||||||
|
Copied X11KIT [.xaw3d] and [.xmu] into [.lib], put together simplified
|
||||||
|
build procedures. Made a few mods. Merged in some changes from
|
||||||
|
Patrick Young. Now these build mostly ok except for tons of bcopy
|
||||||
|
related warnings and problems with LAYOUT.C.
|
||||||
|
|
||||||
|
Merged changes from Xterm021 into here.
|
||||||
|
|
||||||
|
Made changes here and there to get it all to work.
|
||||||
|
|
||||||
|
25-JAN-2000, more or less done. Logging doesn't work but PRINT
|
||||||
|
does, as does regular VT emulation, TEK emulation, 80 and 132 wide
|
||||||
|
modes. The resource file needs work. Cleaned up a really nasty problem
|
||||||
|
with infinite loops on copy/paste in button.c (see tt_pasting).
|
||||||
|
|
||||||
|
To build this, if you have DECC, DW 1.2-5 and VMS 7.2-1 (the latter
|
||||||
|
probably doesn't matter) do:
|
||||||
|
|
||||||
|
$ @make
|
||||||
|
|
||||||
|
in the top directory. Expect a bunch of I and W warnings, but nothing
|
||||||
|
worse. Then define a foreign symbol for xterm for the resulting .exe.
|
||||||
|
|
||||||
|
26-JAN-2000. Enabled logging. When this is turned on from the menu
|
||||||
|
it creates a new file SYS$SCRATCH:XTERM_LOG.TXT and writes everything that
|
||||||
|
goes to the screen into it. This may slow down output a bit as each block
|
||||||
|
of data read must be copied to disk. The log file has RMS format stream-lf
|
||||||
|
and typically has a <CR> at the end of each line.
|
||||||
|
|
||||||
|
27-JAN-2000. Discovered a bug when doing an X11 paste into an EDT session,
|
||||||
|
had to add a tt_start_read() in button.c after the paste to reenable the
|
||||||
|
read AST. Rearranged code in VMS.C to make the compiler happy and
|
||||||
|
eliminate warnings.
|
||||||
|
|
||||||
|
David Mathog
|
||||||
|
mathog@seqaxp.bio.caltech.edu
|
||||||
|
Manager, sequence analysis facility, biology division, Caltech
|
||||||
|
|
||||||
|
|
||||||
|
$XFree86: xc/programs/xterm/AAA_README_VMS.txt,v 1.2 2000/06/13 02:28:37 dawes Exp $
|
75
ports/xterm/xterm-359/COPYING
Normal file
75
ports/xterm/xterm-359/COPYING
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
--- $XTermId: COPYING,v 1.3 2020/01/12 22:53:35 tom Exp $
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Copyright 1996-2019,2020 by Thomas E. Dickey
|
||||||
|
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
holders shall not be used in advertising or otherwise to promote the
|
||||||
|
sale, use or other dealings in this Software without prior written
|
||||||
|
authorization.
|
||||||
|
|
||||||
|
Copyright 1987, 1988 X Consortium
|
||||||
|
|
||||||
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of the X Consortium shall not be
|
||||||
|
used in advertising or otherwise to promote the sale, use or other dealings
|
||||||
|
in this Software without prior written authorization from the X Consortium.
|
||||||
|
|
||||||
|
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||||
|
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
|
documentation for any purpose and without fee is hereby granted,
|
||||||
|
provided that the above copyright notice appear in all copies and that
|
||||||
|
both that copyright notice and this permission notice appear in
|
||||||
|
supporting documentation, and that the name of Digital Equipment
|
||||||
|
Corporation not be used in advertising or publicity pertaining to
|
||||||
|
distribution of the software without specific, written prior permission.
|
||||||
|
|
||||||
|
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||||
|
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||||
|
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||||
|
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
-- vile: txtmode
|
||||||
|
-------------------------------------------------------------------------------
|
875
ports/xterm/xterm-359/INSTALL
Normal file
875
ports/xterm/xterm-359/INSTALL
Normal file
@ -0,0 +1,875 @@
|
|||||||
|
-- $XTermId: INSTALL,v 1.184 2020/07/25 17:58:05 tom Exp $
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Copyright 1997-2019,2020 by Thomas E. Dickey
|
||||||
|
--
|
||||||
|
-- All Rights Reserved
|
||||||
|
--
|
||||||
|
-- Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
-- copy of this software and associated documentation files (the
|
||||||
|
-- "Software"), to deal in the Software without restriction, including
|
||||||
|
-- without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
-- distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
-- permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
-- the following conditions:
|
||||||
|
--
|
||||||
|
-- The above copyright notice and this permission notice shall be included
|
||||||
|
-- in all copies or substantial portions of the Software.
|
||||||
|
--
|
||||||
|
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
-- IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
-- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
--
|
||||||
|
-- Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
-- holders shall not be used in advertising or otherwise to promote the
|
||||||
|
-- sale, use or other dealings in this Software without prior written
|
||||||
|
-- authorization.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Xterm was originally built as part of the X Window System source tree, using
|
||||||
|
imake to generate a Makefile from Imakefile.
|
||||||
|
|
||||||
|
An example Imakefile is provided for legacy use.
|
||||||
|
|
||||||
|
The preferred method uses the configure script to generate a Makefile from
|
||||||
|
Makefile.in
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-------
|
||||||
|
|
||||||
|
Autoconf configure scripts recognize two types of application-defined
|
||||||
|
options, enable/disable and with/without. The latter, by convention, are
|
||||||
|
used for denoting inclusion of external packages, while the former denote
|
||||||
|
enabling/disabling of internal features. The configure --help option lists
|
||||||
|
the available options. This script uses "enable" and "disable" to indicate
|
||||||
|
the sense of the default behavior.
|
||||||
|
|
||||||
|
The options (in alphabetic order):
|
||||||
|
|
||||||
|
--disable-256-color disable 256-color support
|
||||||
|
|
||||||
|
Do not compile-in code that interprets SGR 38 and 48 for 256-colors.
|
||||||
|
If this feature is disabled, the 88-color feature will be used.
|
||||||
|
|
||||||
|
--disable-88-color disable 88-color support
|
||||||
|
|
||||||
|
Do not compile-in code that interprets SGR 38 and 48 for 88-colors.
|
||||||
|
The 256-color option overrides this.
|
||||||
|
|
||||||
|
--disable-16-color disable 16-color support
|
||||||
|
|
||||||
|
Do not compile-in code to recognize aixterm-style control sequences
|
||||||
|
that support color values 8-15.
|
||||||
|
|
||||||
|
Most color applications know only about 8 ANSI colors, but some
|
||||||
|
(e.g., ones built with ncurses) do.
|
||||||
|
|
||||||
|
--disable-active-icon disable X11R6.3 active-icon feature
|
||||||
|
|
||||||
|
Do not compile-in code to support the active-icon feature. This is
|
||||||
|
not configured on systems (e.g., X11R5) which lack the library
|
||||||
|
support needed.
|
||||||
|
|
||||||
|
Xterms with an active icon continue to respond to input and update
|
||||||
|
their display when iconified. Not all window managers support
|
||||||
|
active icons. Those that do include fvwm, olvwm and mwm.
|
||||||
|
|
||||||
|
--disable-ansi-color disable ANSI color
|
||||||
|
|
||||||
|
Do not compile-in code for ANSI colors.
|
||||||
|
|
||||||
|
--disable-blink-cursor disable support for blinking cursor
|
||||||
|
|
||||||
|
Do not compile-in code that implements a blinking cursor. The blinking
|
||||||
|
cursor is enabled either by resource setting or by popup menu entry.
|
||||||
|
|
||||||
|
--disable-bold-color disable PC-style mapping of bold colors
|
||||||
|
|
||||||
|
Do not compile-in code that maps colors 8-15 to bold versions of
|
||||||
|
colors 0-7.
|
||||||
|
|
||||||
|
Some applications have hardcoded logic that assumes this. It does
|
||||||
|
not interfere with the 16-color support.
|
||||||
|
|
||||||
|
--disable-boxchars disable fallback-support for box chars
|
||||||
|
|
||||||
|
Do not compile-in code to generate approximations for box/graphic
|
||||||
|
characters.
|
||||||
|
|
||||||
|
Most fonts do not contain the vt100-style graphic characters in
|
||||||
|
positions 0-31. Many applications use the line-drawing characters,
|
||||||
|
e.g., to make boxes. When xterm loads a font, it checks if those
|
||||||
|
characters are present, and draws its own if they are missing.
|
||||||
|
|
||||||
|
--disable-broken-st disallow broken string-terminators,
|
||||||
|
|
||||||
|
Do not compile-in code that works around a bug in some ISDN routers
|
||||||
|
(and possibly other applications written by the same people): they
|
||||||
|
send an unterminated control string in their banner text, making xterm
|
||||||
|
freeze.
|
||||||
|
|
||||||
|
The workaround tells xterm to stop processing the control string when
|
||||||
|
it receives one of the whitespace control characters such as newline.
|
||||||
|
That was the behavior before patch #171.
|
||||||
|
|
||||||
|
See also --enable-broken-osc
|
||||||
|
|
||||||
|
--disable-c1-print disallow -k8 option for printable 128-159,
|
||||||
|
|
||||||
|
Use this option to suppress support for nonstandard use of codes
|
||||||
|
128-159, which normally are considered control characters. Some users
|
||||||
|
have fonts which use those positions. The default value for the
|
||||||
|
allowC1Printable resource is false, so this feature does not impact
|
||||||
|
normal users.
|
||||||
|
|
||||||
|
--disable-color-class disable color class resources
|
||||||
|
|
||||||
|
Use this option to change most of the color resources to use Foreground
|
||||||
|
as the color class. This is the older (before patch #157) behavior
|
||||||
|
which has the drawback that setting the Foreground resource on most
|
||||||
|
platforms prevents use of color since the class is evaluated before
|
||||||
|
the instance.
|
||||||
|
|
||||||
|
--disable-color-mode disable default colorMode resource
|
||||||
|
|
||||||
|
Do not compile-in code that sets the default value of the colorMode
|
||||||
|
resource to ``true''.
|
||||||
|
|
||||||
|
--disable-desktop disable install of xterm desktop files
|
||||||
|
|
||||||
|
Do not install the xterm desktop files, used in menus.
|
||||||
|
These use the icons installed in the --with-icondir option.
|
||||||
|
Use the environment variable $DESKTOP_FLAGS to supply options
|
||||||
|
required by desktop-file-install.
|
||||||
|
|
||||||
|
Note: If desktop-utils is not found they will not be installed anyway.
|
||||||
|
|
||||||
|
--disable-direct-color disable direct color support
|
||||||
|
|
||||||
|
Do not compile-in code that interprets SGR 38 and 48 for direct colors.
|
||||||
|
This feature extends the 256-color feature.
|
||||||
|
|
||||||
|
--disable-doublechars disable support for double-size chars
|
||||||
|
|
||||||
|
Do not compile-in code that supports font-manipulation needed to
|
||||||
|
implement vt100-style double-sized characters.
|
||||||
|
|
||||||
|
--disable-echo test: display "compiling" commands
|
||||||
|
|
||||||
|
Modify the generated Makefile so that most compiler options are
|
||||||
|
not shown. This makes it simpler to read a build log and see the
|
||||||
|
actual warning messages.
|
||||||
|
|
||||||
|
--disable-fifo-lines enable FIFO-storage for saved-lines
|
||||||
|
|
||||||
|
With patch #244, xterm by default stores saved-lines in a FIFO
|
||||||
|
(circular buffer), which improves performance when the number of saved
|
||||||
|
lines is large. Disable this option to revert to the pre-244 layout.
|
||||||
|
|
||||||
|
--disable-freetype disable freetype library-support
|
||||||
|
|
||||||
|
Do not use freetype libraries if they are found. Normally they will
|
||||||
|
be used automatically.
|
||||||
|
|
||||||
|
--disable-full-tgetent disable check for termcap library
|
||||||
|
|
||||||
|
Do not look for the tgetent() function specifically in the termcap
|
||||||
|
library, accept the first library (from termlib, ncurses and curses)
|
||||||
|
which contains this function rather than continuing to search for
|
||||||
|
a termcap implementation rather than terminfo. The former would
|
||||||
|
supply the complete $TERMCAP data needed for some legacy programs.
|
||||||
|
|
||||||
|
--disable-highlighting disable support for color highlighting
|
||||||
|
|
||||||
|
Do not compile-in code that allows the selected region to be a
|
||||||
|
different color than the reverse of foreground/background colors.
|
||||||
|
|
||||||
|
See the discussion of highlightColor in the manual.
|
||||||
|
|
||||||
|
--disable-i18n disable internationalization
|
||||||
|
|
||||||
|
Do not compile-in code to handle multi-byte characters. This is
|
||||||
|
related to, but not identical with the input method logic.
|
||||||
|
|
||||||
|
--disable-imake disable use of imake for definitions
|
||||||
|
|
||||||
|
Do not attempt to use imake to determine compiler options.
|
||||||
|
|
||||||
|
The main.c file has many ifdef's which rely on obscure combinations
|
||||||
|
known only to imake. The configure script implements only a
|
||||||
|
portion of the tests needed to supplant imake.
|
||||||
|
|
||||||
|
--disable-initial-erase disable setup for stty erase
|
||||||
|
|
||||||
|
Do not compile-in code which aligns the stty erase and the backarrow
|
||||||
|
key. When compiled-in, xterm will optionally use the pty's sense
|
||||||
|
of stty erase and apply that to the backarrow mode (sending 8 or 127),
|
||||||
|
or go the other way, setting stty erase to match xterm's configuration.
|
||||||
|
|
||||||
|
--disable-input-method disable input-method
|
||||||
|
|
||||||
|
Do not compile-in code for "input method". This is an X11R6
|
||||||
|
feature which deals with translation of composite characters.
|
||||||
|
|
||||||
|
Some users report problems with their configuration, e.g., messages
|
||||||
|
stating that there is no input method defined for the given preedit
|
||||||
|
type. If you do not need input method (and are troubled by the
|
||||||
|
warning messages), it is safe to disable this option.
|
||||||
|
|
||||||
|
--disable-leaks test: free permanent memory, analyze leaks
|
||||||
|
|
||||||
|
Compile-in code which frees memory which might confuse a leak-testing
|
||||||
|
tool. Normally these chunks of memory are retained as long as xterm
|
||||||
|
is running.
|
||||||
|
|
||||||
|
--disable-luit disable support for luit filter (Unicode translation)
|
||||||
|
|
||||||
|
Luit is a filter that can be run between an arbitrary application and a
|
||||||
|
UTF-8 terminal emulator. It will convert application output from the
|
||||||
|
locale's encoding into UTF-8, and convert terminal input from UTF-8
|
||||||
|
into the locale's encoding.
|
||||||
|
|
||||||
|
This is normally enabled, relying upon "--enable-wide-chars".
|
||||||
|
|
||||||
|
--disable-maximize disable actions for iconify/deiconify/maximize/restore
|
||||||
|
|
||||||
|
Do not compile-in code that implements runtime 'actions' for
|
||||||
|
iconifying, maximizing, etc.
|
||||||
|
|
||||||
|
Most users will find that the window manager is more suitable for
|
||||||
|
this sort of manipulation than putting the capabilities into xterm.
|
||||||
|
|
||||||
|
--disable-num-lock disable NumLock keypad support
|
||||||
|
|
||||||
|
Do not compile-in code that looks for the actual NumLock key to
|
||||||
|
support vt100/vt220 keypad translation.
|
||||||
|
|
||||||
|
This is used in xterm to simplify logic, and to workaround some
|
||||||
|
quirks of the keyboard tables. Use the ``numLock'' resource to
|
||||||
|
disable this feature if you must customize xterm in some other way.
|
||||||
|
|
||||||
|
(The same ifdef controls the metaSendsEscape support).
|
||||||
|
|
||||||
|
--disable-openpty disable openpty, prefer other interfaces
|
||||||
|
|
||||||
|
Do not check for, or use openpty(). Instead, use other interfaces such
|
||||||
|
as posix_openpt(). Modern (sic) BSD systems should have a workable
|
||||||
|
openpty() interface. Older systems may not.
|
||||||
|
|
||||||
|
--disable-paste64 disable support for bracketed paste mode
|
||||||
|
|
||||||
|
Do not compile-in code to support bracketed paste mode, along with
|
||||||
|
functions for setting/getting the selection data, termed "paste64".
|
||||||
|
|
||||||
|
(see ctlseqs.ms description of OSC 52, and DECSET 2004).
|
||||||
|
|
||||||
|
--disable-pty-handshake disable support for pty handshakes
|
||||||
|
|
||||||
|
This feature is used to ensure that the child process's terminal modes
|
||||||
|
match the parent's. In particular, it addresses a problem where the
|
||||||
|
terminal size is not defined in the stty settings.
|
||||||
|
|
||||||
|
--disable-rectangles disable VT420 rectangle support
|
||||||
|
|
||||||
|
Do not compile-in code to support VT420 rectangle control-sequences.
|
||||||
|
|
||||||
|
--disable-regex disable regular-expression selections
|
||||||
|
|
||||||
|
Do not compile-in code to support the "regex" option for multiple
|
||||||
|
mouse clicks.
|
||||||
|
|
||||||
|
--disable-rightbar disable right-scrollbar support
|
||||||
|
|
||||||
|
Do not compile-in code that supports a scrollbar on the right.
|
||||||
|
|
||||||
|
Left/right scrollbars are a matter of taste. Some older libraries
|
||||||
|
(e.g., X11R5) do not perform the geometry computation correctly,
|
||||||
|
leaving the right scrollbar incorrectly positioned after changing
|
||||||
|
the font size.
|
||||||
|
|
||||||
|
--disable-rpath-hack don't add rpath options for additional libraries
|
||||||
|
|
||||||
|
By default, the configure script looks for libraries in unusual places
|
||||||
|
and adds an rpath linker option to help.
|
||||||
|
|
||||||
|
--disable-samename disable check for redundant name-change
|
||||||
|
|
||||||
|
Do not compile-in code that suppresses redundant updates to the
|
||||||
|
titlebar when the text has not changed.
|
||||||
|
|
||||||
|
--disable-screen-dumps disable XHTML and SVG screen dumps
|
||||||
|
|
||||||
|
Do not compile-in code that provides XHTML and SVG screen dumps.
|
||||||
|
|
||||||
|
--disable-selection-ops disable selection operations
|
||||||
|
|
||||||
|
Do not compile-in code to support the actions which allow users
|
||||||
|
to bind keys that use the selection or extract data from the screen.
|
||||||
|
|
||||||
|
--disable-session-mgt enable support for session management
|
||||||
|
|
||||||
|
Do not compile-in code which adds simple session management hooks
|
||||||
|
which are used when closing an xterm. Normally the code is
|
||||||
|
compiled-in, except for systems which do not support it.
|
||||||
|
|
||||||
|
--disable-setgid disable setgid
|
||||||
|
|
||||||
|
Do not install xterm using setuid/setgid permissions. Drop setgid
|
||||||
|
permissions on startup.
|
||||||
|
|
||||||
|
--disable-setuid disable setuid
|
||||||
|
|
||||||
|
Do not install xterm using setuid/setgid permissions. Drop setuid
|
||||||
|
permissions on startup.
|
||||||
|
|
||||||
|
--disable-sixel-graphics disable support for sixel-graphics
|
||||||
|
|
||||||
|
Do not compile-in code to support sixel-graphics
|
||||||
|
|
||||||
|
--disable-sun-fkeys
|
||||||
|
|
||||||
|
Do not compile-in code to support Sun-style function keys.
|
||||||
|
|
||||||
|
--disable-tcap-fkeys disable termcap function-keys
|
||||||
|
|
||||||
|
Do not compile-in code to support feature which allows xterm to use the
|
||||||
|
function-key definitions from the termcap/terminfo entry which it used
|
||||||
|
to set the $TERM variable on startup.
|
||||||
|
|
||||||
|
--disable-tcap-query disable termcap query/report
|
||||||
|
|
||||||
|
Do not compile-in code to support DCS '+' control sequence, which
|
||||||
|
allows an application to ask xterm what control sequences it would
|
||||||
|
transmit for specified function keys, given the termcap or terminfo
|
||||||
|
names.
|
||||||
|
|
||||||
|
--disable-tek4014 disable tek4014 emulation
|
||||||
|
|
||||||
|
Do not compile-in code to support Tektronix 4014 emulation.
|
||||||
|
|
||||||
|
This reduces the executable size by 17% (checked 1999/3/13).
|
||||||
|
|
||||||
|
Some people use the Tektronix emulation (which has been in xterm
|
||||||
|
for many years) as an example of code bloat, though this is not an
|
||||||
|
accurate impression.
|
||||||
|
|
||||||
|
--disable-vt52 disable VT52 emulation
|
||||||
|
|
||||||
|
Do not compile-in code to support vt52 emulation.
|
||||||
|
|
||||||
|
A genuine vt100 emulates a vt52.
|
||||||
|
|
||||||
|
--disable-wide-attrs disable wide-attribute support
|
||||||
|
|
||||||
|
Xterm's base attributes include all of those used in DEC terminals.
|
||||||
|
ISO 6429 defines a few more which historically have found little use.
|
||||||
|
Some people find these amusing.
|
||||||
|
|
||||||
|
This is normally enabled. The direct-colors feature relies upon it.
|
||||||
|
|
||||||
|
--disable-wide-chars disable wide-character support
|
||||||
|
|
||||||
|
The wide-character code supports Unicode and UTF-8.
|
||||||
|
|
||||||
|
This is normally enabled.
|
||||||
|
|
||||||
|
--disable-ziconbeep disable -ziconbeep option
|
||||||
|
|
||||||
|
Do not compile-in code that modifies the icon's title and sounds a
|
||||||
|
beep when they receive output.
|
||||||
|
|
||||||
|
--enable-16bit-chars enable 16-bit characters support
|
||||||
|
|
||||||
|
Enable wide-character support, but store only 16-bits for each wide
|
||||||
|
character. Unicode values can be larger than 16-bits, up to 21-bits.
|
||||||
|
This uses less memory, but is less complete. However, most languages
|
||||||
|
are covered by the 16-bit encoding.
|
||||||
|
|
||||||
|
--enable-alt-sends-esc set default altSendsEscape resource (default: no)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-backarrow-key set default backarrowKey resource (default: true)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-backarrow-is-erase set default backarrowKeyIsErase resource (default: false)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-broken-osc allow broken Linux OSC-strings
|
||||||
|
|
||||||
|
Compile-in code to accommodate scripts that write Linux's malformed
|
||||||
|
palette control strings without checking. The result makes xterm
|
||||||
|
appear to freeze. This workaround makes xterm ignore the strings,
|
||||||
|
and is compiled-in by default for Linux.
|
||||||
|
|
||||||
|
--enable-builtin-xpms compile-in icon data
|
||||||
|
|
||||||
|
Compile-in X pixmap data for these icons:
|
||||||
|
filled-xterm
|
||||||
|
mini.xterm
|
||||||
|
xterm-color
|
||||||
|
xterm
|
||||||
|
at these sizes
|
||||||
|
16x16
|
||||||
|
32x32
|
||||||
|
48x48
|
||||||
|
|
||||||
|
--enable-dabbrev enable dynamic-abbreviation support
|
||||||
|
|
||||||
|
Compile-in support for "dabbrev-expand()" action and related key
|
||||||
|
translation.
|
||||||
|
|
||||||
|
--enable-dec-locator enable DECterm Locator support
|
||||||
|
Add support for DEC Locator control sequences for xterm:
|
||||||
|
|
||||||
|
DECEFR - Enable Filter Rectangle
|
||||||
|
DECELR - Enable Locator Reports
|
||||||
|
DECSLE - Select Locator Events
|
||||||
|
DECRQLP - Request Locator Position
|
||||||
|
|
||||||
|
This allows the xterm mouse to be used with applications that use the
|
||||||
|
DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
|
||||||
|
|
||||||
|
--enable-delete-is-del set default deleteIsDEL resource (default: maybe)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-double-buffer enable double-buffering
|
||||||
|
|
||||||
|
Set the initial value of the "buffered" resource, which tells
|
||||||
|
xterm to use double-buffering for display to reduce flicker.
|
||||||
|
|
||||||
|
--enable-env-terminfo setenv $TERMINFO if --with-own-terminfo gives value
|
||||||
|
|
||||||
|
Use the custom terminfo directory specified in "--with-own-terminfo"
|
||||||
|
as the $TERMINFO variable for the shells spawned by xterm. Setting
|
||||||
|
this variable makes most curses (and termcap) applications look in
|
||||||
|
that directory for terminal descriptions.
|
||||||
|
|
||||||
|
--enable-exec-xterm enable "spawn-new-terminal" action
|
||||||
|
|
||||||
|
If your platform supports the process filesystem "cwd" link,
|
||||||
|
compile-in support for the "spawn-new-terminal" action, which
|
||||||
|
allows you to define a key translation that runs a new xterm
|
||||||
|
using the same working directory as the current process within
|
||||||
|
xterm.
|
||||||
|
|
||||||
|
--enable-hp-fkeys enable support for HP-style function keys
|
||||||
|
|
||||||
|
Compile-in code to support HP-style function keys.
|
||||||
|
|
||||||
|
--enable-load-vt-fonts enable load-vt-fonts() action
|
||||||
|
|
||||||
|
Compile-in code that allows user to define load different VT-font
|
||||||
|
definitions at runtime.
|
||||||
|
|
||||||
|
--enable-logfile-exec enable exec'd logfile filter
|
||||||
|
|
||||||
|
Compile-in code that allows logging piped via an external filter.
|
||||||
|
|
||||||
|
--enable-logging enable logging
|
||||||
|
|
||||||
|
Compile-in code that allows logging.
|
||||||
|
|
||||||
|
Logging was disabled in X11R5 xterm because of security problems.
|
||||||
|
They were addressed in X11R6, but the feature was not reinstated
|
||||||
|
because of concerns (long past) about xterm running as root-setuid.
|
||||||
|
|
||||||
|
--enable-meta-sends-esc set default metaSendsEscape resource (default: no)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-mini-luit enable support for poor man's luit filter (Latin-9)
|
||||||
|
|
||||||
|
Provide built-in support for Latin-9, relying on having specified
|
||||||
|
Unicode (ISO10646) fonts and setting the locale resource to "checkfont".
|
||||||
|
|
||||||
|
This sets "--enable-luit" as a side-effect.
|
||||||
|
|
||||||
|
--enable-narrowproto enable narrow prototypes for X libraries
|
||||||
|
|
||||||
|
Originally xterm was built using imake rather than a configure script.
|
||||||
|
One feature of imake that is not possible to guess within the
|
||||||
|
configure script is the wide-prototype compile-time definition
|
||||||
|
NARROWPROTO. When this is not set properly, the Athena widget
|
||||||
|
scrollbars do not work properly. xterm's configure script has a
|
||||||
|
fallback case which allows disabling imake. However, this is moot
|
||||||
|
with the X.org "modular" build, whose compiler options are unrelated to
|
||||||
|
imake or older versions of any libraries that it may distribute. In
|
||||||
|
this case, the configure script needs some help. Use this option to
|
||||||
|
enable or disable NARROW proto (and disable imake with the
|
||||||
|
--disable-imake option) to match the whims of X.org hackers.
|
||||||
|
|
||||||
|
For instance
|
||||||
|
|
||||||
|
configure --disable-imake --disable-narrowproto
|
||||||
|
|
||||||
|
--enable-pty-erase set default ptyInitialErase resource (default: false)
|
||||||
|
|
||||||
|
This sets the default resource value, which is shown in the manpage.
|
||||||
|
|
||||||
|
--enable-readline-mouse enable support for mouse in readline applications
|
||||||
|
|
||||||
|
Compile-in code to support predecessor to bracketed paste mode, i.e.,
|
||||||
|
provide functions for setting/getting the selection data. Essentially
|
||||||
|
this puts xterm into a mode that sends special function-key strings to
|
||||||
|
bracket the data.
|
||||||
|
|
||||||
|
(The "paste64" feature, which fits xterm's protocol better, is
|
||||||
|
configured by default).
|
||||||
|
|
||||||
|
--enable-sco-fkeys enable support for SCO-style function keys
|
||||||
|
|
||||||
|
Compile-in code to support SCO-style function keys.
|
||||||
|
|
||||||
|
--enable-regis-graphics enable support for ReGIS graphics
|
||||||
|
|
||||||
|
Compile-in code to support experimental ReGIS graphics
|
||||||
|
|
||||||
|
--enable-toolbar enable pulldown menus on toolbar
|
||||||
|
|
||||||
|
Compile-in code that builds a toolbar with pulldown menus. The
|
||||||
|
normal popup menus are still available.
|
||||||
|
|
||||||
|
This is an experimental option. As of patch #206, it is known to
|
||||||
|
work well with fvwm, but not as well with some other window managers,
|
||||||
|
e.g., KDE's Kwin and IceWM.
|
||||||
|
|
||||||
|
In addition to isolated layout problems, it is reported that some
|
||||||
|
flavors of the Athena widget library perform badly with ISO-10646
|
||||||
|
fonts. You can work around those by setting the menu fonts to
|
||||||
|
an ISO-8859 variant in your X resources.
|
||||||
|
|
||||||
|
--enable-trace test: set to enable debugging traces
|
||||||
|
|
||||||
|
Compile-in code to trace xterm's internal states.
|
||||||
|
|
||||||
|
This is a debugging feature. It causes xterm to produce two files
|
||||||
|
(Trace-parent.out and Trace-child.out).
|
||||||
|
|
||||||
|
--enable-warnings test: turn on GCC compiler warnings
|
||||||
|
|
||||||
|
Modify the generate Makefile to turn on gcc compiler warnings.
|
||||||
|
|
||||||
|
I use this option regularly, and correct all but a few (difficult)
|
||||||
|
problems.
|
||||||
|
|
||||||
|
--enable-xmc-glitch test: enable xmc magic-cookie emulation
|
||||||
|
|
||||||
|
Compile-in code that simulates the terminfo "magic cookie" glitch.
|
||||||
|
|
||||||
|
This is for testing ncurses.
|
||||||
|
|
||||||
|
--with-Xaw3d link with Xaw 3d library
|
||||||
|
|
||||||
|
Look for, compile and link with the Xaw 3d widget library.
|
||||||
|
|
||||||
|
--with-Xaw3dxft link with Xaw 3d xft library
|
||||||
|
|
||||||
|
Look for, compile and link with the Xaw 3d xft widget library.
|
||||||
|
|
||||||
|
--with-XawPlus link with Athena-Plus library
|
||||||
|
|
||||||
|
Look for, compile and link with the Xaw Plus widget library.
|
||||||
|
|
||||||
|
--with-app-class=XXX X resource class (default: XTerm)
|
||||||
|
|
||||||
|
Rename the X resource class, e.g., for packaging a development version
|
||||||
|
of xterm with different result names.
|
||||||
|
|
||||||
|
--with-app-defaults=DIR directory in which to install resource files (default: EPREFIX/lib/X11/app-defaults)
|
||||||
|
|
||||||
|
autoconf scripts assume that all of the files should be installed
|
||||||
|
under the same top-level directory. But X applications defaults
|
||||||
|
must be installed into a special directory, e.g.,
|
||||||
|
|
||||||
|
/usr/X11/lib/app-defaults
|
||||||
|
|
||||||
|
However, there is no standard for this pathname. The manual page
|
||||||
|
for X notes that the environment variable $XUSERFILESEARCHPATH can
|
||||||
|
specify a list of places where X searches for applications defaults.
|
||||||
|
Also, it may look in $XAPPLRESDIR, but that usually is not related
|
||||||
|
to where xterm might be installed. To keep it simple, the configure
|
||||||
|
script uses
|
||||||
|
|
||||||
|
EPREFIX/lib/X11/app-defaults
|
||||||
|
|
||||||
|
as the default (EPREFIX is --prefix). That makes it work normally
|
||||||
|
for most systems if --prefix is /usr. For other installs, e.g., to
|
||||||
|
/usr/local, you should use this option to customize the location to
|
||||||
|
match your system configuration.
|
||||||
|
|
||||||
|
Use --with-app-defaults=auto to ask the configure script to look in
|
||||||
|
a list of well-known locations for an existing directory.
|
||||||
|
|
||||||
|
Use --without-app-defaults or --with-app-defaults=no to disable the
|
||||||
|
feature.
|
||||||
|
|
||||||
|
--with-dmalloc test: use Gray Watson's dmalloc library
|
||||||
|
|
||||||
|
Check for and link with dmalloc.
|
||||||
|
|
||||||
|
--with-dbmalloc test: use Conor Cahill's dbmalloc library
|
||||||
|
|
||||||
|
Check for and link with dbmalloc.
|
||||||
|
|
||||||
|
--with-desktop-category=XXX one or more desktop categories or auto
|
||||||
|
This is a list of names. The configure script maps blanks and commas
|
||||||
|
to semicolons (";") which are used by the desktop utilities as a
|
||||||
|
separator.
|
||||||
|
|
||||||
|
The default value "auto" tells the configure script to look
|
||||||
|
at existing ".desktop" files for xterm and common terminal
|
||||||
|
emulators, to use those. If none are found, the script uses this
|
||||||
|
default:
|
||||||
|
System;TerminalEmulator;
|
||||||
|
|
||||||
|
--with-freetype-config configure script to use for FreeType
|
||||||
|
|
||||||
|
Use a specific option value to tell the configure script to try
|
||||||
|
just one of the variations:
|
||||||
|
|
||||||
|
"pkg*", e.g., pkg-config or pkgconfig uses whatever pkg-config
|
||||||
|
script was found.
|
||||||
|
|
||||||
|
otherwise, the parameter value is used as the name of the script
|
||||||
|
to try, using --cflags and --libs options.
|
||||||
|
|
||||||
|
Use --without-freetype-config to enable the --with-freetype-cflags
|
||||||
|
and --with-freetype-libs options.
|
||||||
|
|
||||||
|
The default value "auto" tells the configure script to try the
|
||||||
|
pkg-config script first, then freetype-config and finally xft-config.
|
||||||
|
|
||||||
|
--with-freetype-cflags -D/-I options for compiling with FreeType library
|
||||||
|
|
||||||
|
Override options provided by xft-config or freetype-config.
|
||||||
|
|
||||||
|
--with-freetype-libs -L/-l options for linking with FreeType library
|
||||||
|
|
||||||
|
Override options provided by xft-config or freetype-config.
|
||||||
|
|
||||||
|
--with-icon-name=NAME override icon name (default: xterm-color)
|
||||||
|
|
||||||
|
xterm comes with a choice of icons:
|
||||||
|
|
||||||
|
xterm-color: depicts a conventional terminal image, and is the default
|
||||||
|
icon used for icon-themes.
|
||||||
|
|
||||||
|
mini.xterm: a more iconic choice which is readily identifiable at
|
||||||
|
small sizes. This is used for window decoration, e.g., the
|
||||||
|
icon at the upper left corner in many window managers.
|
||||||
|
|
||||||
|
--with-icon-symlink=NAME create symbolic links to icon name (default: NONE)
|
||||||
|
|
||||||
|
This is a workaround for certain systems which translate icon names
|
||||||
|
containing "xterm", e.g., "xterm-color" into the single icon "xterm".
|
||||||
|
The option should also be harmless on a properly configured system.
|
||||||
|
|
||||||
|
If the option is used, its default value is "xterm". For each icon,
|
||||||
|
the makefile will strip the suffix (e.g., ".png"), as well as the part
|
||||||
|
of the filename which denotes the size (e.g., "_32x32" in an xpm file),
|
||||||
|
and constructs a link with that name to the icon.
|
||||||
|
|
||||||
|
If the option is unused, its default value is "NONE" (no link is made).
|
||||||
|
|
||||||
|
--with-icondir=DIR directory in which to install icon files (default: no)
|
||||||
|
|
||||||
|
The X libraries may automatically search these locations:
|
||||||
|
|
||||||
|
$HOME/.icons
|
||||||
|
$XDG_DATA_DIRS/icons
|
||||||
|
/usr/share/pixmaps
|
||||||
|
|
||||||
|
Alternatively, the last may be actually
|
||||||
|
/usr/X11R6/share/pixmaps
|
||||||
|
|
||||||
|
Use --with-icondir=auto to tell the configure script to search for
|
||||||
|
an existing directory from its list of well-known system locations.
|
||||||
|
|
||||||
|
See also
|
||||||
|
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||||
|
http://www.freedesktop.org/software/icon-theme/
|
||||||
|
|
||||||
|
By default, the option is disabled; it is useful only for the
|
||||||
|
--with-icon-theme option.
|
||||||
|
|
||||||
|
--with-icon-theme=XXX install icons into desktop theme (hicolor)
|
||||||
|
|
||||||
|
Install png and svg icons into the given desktop theme and customize
|
||||||
|
the .desktop files to use that theme. If no theme name is given,
|
||||||
|
the default is "hicolor". If this option is not given, the desktop
|
||||||
|
file will use the pixmap files.
|
||||||
|
|
||||||
|
--with-man2html[=XXX] use XXX rather than groff
|
||||||
|
|
||||||
|
Specify an alternative program to use for converting manpages and
|
||||||
|
control sequences document to html. The default value for the option
|
||||||
|
is "man2html". If the "man2html" script is not found, then "groff" is
|
||||||
|
used with groff's special options.
|
||||||
|
|
||||||
|
The "man2html" script reads formatted nroff output from its standard
|
||||||
|
input, and writes html to its standard output. Other input/output
|
||||||
|
conventions are not currently supported.
|
||||||
|
|
||||||
|
See
|
||||||
|
http://invisible-island.net/scripts
|
||||||
|
http://invisible-island.net/scripts/man2html.html
|
||||||
|
|
||||||
|
for an up-to-date version of "man2html".
|
||||||
|
|
||||||
|
--with-neXtaw link with neXT Athena library
|
||||||
|
|
||||||
|
Look for, compile and link with the neXT Athena widget library.
|
||||||
|
|
||||||
|
--with-own-terminfo=P set default $TERMINFO (default: from environment)
|
||||||
|
|
||||||
|
Modify the generated Makefile to set the target for the 'install-ti'
|
||||||
|
rule to point to the given directory.
|
||||||
|
|
||||||
|
If you have the $TERMINFO variable defined in your environment, the
|
||||||
|
configure script may use that value, if it matches an existing
|
||||||
|
directory. If no option and no variable are are given, the configure
|
||||||
|
script uses /usr/lib/terminfo, if it exists.
|
||||||
|
|
||||||
|
You do not have to run "make install-ti", if there is already a
|
||||||
|
workable terminfo description. Be advised, however, that the
|
||||||
|
common variety of "xterm-color" is not suited for xterm, but is
|
||||||
|
directed to other variations (such as nxterm) which do not
|
||||||
|
support the background-color erase capability.
|
||||||
|
|
||||||
|
--with-pixmapdir=DIR directory in which to install pixmaps (DATADIR/pixmaps)
|
||||||
|
|
||||||
|
Specify directory in which to install ".xpm" files.
|
||||||
|
|
||||||
|
--with-pcre use PCRE for regular-expressions
|
||||||
|
|
||||||
|
If regular expressions are not disabled (--disable-regex), use PCRE
|
||||||
|
rather than the POSIX regular expressions.
|
||||||
|
|
||||||
|
--with-pcre2 use PCRE2 for regular-expressions
|
||||||
|
|
||||||
|
If regular expressions are not disabled (--disable-regex), use PCRE2
|
||||||
|
rather than the POSIX regular expressions.
|
||||||
|
|
||||||
|
--with-pkg-config{=path} enable/disable use of pkg-config
|
||||||
|
|
||||||
|
The configure script looks for certain libraries which have well
|
||||||
|
established pkg-config scripts, and will use those settings if
|
||||||
|
available. Not all pkg-config scripts work; this option suppresses
|
||||||
|
the check and relies on normal library search paths.
|
||||||
|
|
||||||
|
--with-reference=XXX program to use as permissions-reference
|
||||||
|
|
||||||
|
To install xterm with setuid permissions, the scripts usually compare
|
||||||
|
it with a previous install. That works well for individual
|
||||||
|
maintainers, but can be a problem for packagers who may be
|
||||||
|
cross-compiling, etc. This option lets the package builder specify
|
||||||
|
the file used for permissions reference.
|
||||||
|
|
||||||
|
--with-setuid=XXX use the given setuid user
|
||||||
|
|
||||||
|
Install xterm setuid'd to the given user. If no parameter value
|
||||||
|
is given, assume it is root.
|
||||||
|
|
||||||
|
See also --with-utmp-setgid and --with-utempter, which manipulate
|
||||||
|
the setgid group.
|
||||||
|
|
||||||
|
--with-tty-group=XXX use XXX for the tty-group
|
||||||
|
|
||||||
|
If xterm is installed setuid'd to root, change the group of the tty
|
||||||
|
device to the given value on startup. Three cases are possible:
|
||||||
|
|
||||||
|
a) If this option is not given, the configure script will attempt to
|
||||||
|
find a suitable value (usually "tty"), and verify that it exists in
|
||||||
|
the group database.
|
||||||
|
|
||||||
|
b) If the option value is given, it will use the value even if it does
|
||||||
|
not exist in the group database (allowing packagers to work about
|
||||||
|
deficient environments).
|
||||||
|
|
||||||
|
c) If the option is disabled, e.g., --without-tty-group, the
|
||||||
|
permissions change will use the group-id of the process.
|
||||||
|
|
||||||
|
If xterm is not installed setuid'd to root, this option is not needed,
|
||||||
|
since it cannot change the tty device's ownership.
|
||||||
|
|
||||||
|
--with-valgrind test: use valgrind
|
||||||
|
|
||||||
|
Activate the --disable-leaks option, and ensure that "-g" is added to
|
||||||
|
CFLAGS.
|
||||||
|
|
||||||
|
--without-xinerama do not use Xinerama extension for multiple screens
|
||||||
|
|
||||||
|
Xinerama is an X server extension that allows multiple physical
|
||||||
|
screens to behave as a single screen. If you do not need the feature
|
||||||
|
(or do not want the extra library dependency), use this option to
|
||||||
|
suppress it.
|
||||||
|
|
||||||
|
--with-xpm=DIR use Xpm library for colored icon, may specify path
|
||||||
|
|
||||||
|
Use Xpm library to show colored icon in window decoration, e.g.,
|
||||||
|
title area.
|
||||||
|
|
||||||
|
Use --without-xpm to suppress this feature.
|
||||||
|
|
||||||
|
--with-xterm-symlink=XXX make symbolic link to installed xterm
|
||||||
|
|
||||||
|
If any of the configure options to modify the program name i.e.,
|
||||||
|
--program-prefix, --program-suffix or --program-transform-name
|
||||||
|
are given, this option allows the makefile to create a symbolic link,
|
||||||
|
e.g., to "xterm" on install. The option value gives the name for
|
||||||
|
the link, which defaults to "xterm".
|
||||||
|
|
||||||
|
Use --without-xterm-symlink to disable a link to "xterm" if none
|
||||||
|
is wanted.
|
||||||
|
|
||||||
|
Corresponding links are also made for "resize", "uxterm" and
|
||||||
|
"koi8rxterm", as well as the xterm manpage.
|
||||||
|
|
||||||
|
--with-terminal-id[=V] set default decTerminalID (default: vt100)
|
||||||
|
|
||||||
|
Set the default emulation level.
|
||||||
|
|
||||||
|
DEC terminals vt52/vt100/vt220/etc form a series where succeeding
|
||||||
|
models emulate features of the older terminals. While most
|
||||||
|
features of these terminals are recognized by xterm at all levels,
|
||||||
|
a few behave differently according to the emulation level.
|
||||||
|
|
||||||
|
You can always override this with the command-line option "-ti".
|
||||||
|
|
||||||
|
--with-terminal-type=T set default $TERM (default: xterm)
|
||||||
|
|
||||||
|
Set the default value for $TERM. Xterm supports legacy termcap
|
||||||
|
applications by constructing a modified version of the $TERMCAP
|
||||||
|
variable at initialization, which supplies the resulting screen
|
||||||
|
size. It also sets $TERM, if not already set, for use by programs
|
||||||
|
running within xterm.
|
||||||
|
|
||||||
|
The default value "xterm", can be overridden to avoid conflict
|
||||||
|
with older versions of xterm, e.g., those that do not implement
|
||||||
|
vt220 emulation.
|
||||||
|
|
||||||
|
You can always override this with the command-line option "-tn".
|
||||||
|
|
||||||
|
--with-utempter use utempter library for access to utmp
|
||||||
|
|
||||||
|
The utempter library is a set-uid wrapper for the utmp facility.
|
||||||
|
On systems with Unix98 pty's, xterm can use this library when
|
||||||
|
available so it need not be installed set-uid.
|
||||||
|
|
||||||
|
--with-utmp-setgid=XXX use setgid for access to utmp
|
||||||
|
|
||||||
|
The option value specifies a group to use when installing.
|
||||||
|
xterm will be installed with setgid privilege to this group.
|
||||||
|
At runtime, xterm will drop the setuid privilege immediately
|
||||||
|
after opening the pseudo-terminal, and will have only the
|
||||||
|
group privilege needed to access the utmp file. This relies
|
||||||
|
on having POSIX setuid behavior.
|
||||||
|
|
||||||
|
-- vile:txtmode
|
338
ports/xterm/xterm-359/Imakefile
Normal file
338
ports/xterm/xterm-359/Imakefile
Normal file
@ -0,0 +1,338 @@
|
|||||||
|
XCOMM $XTermId: Imakefile,v 1.123 2019/11/02 21:50:51 tom Exp $
|
||||||
|
XCOMM
|
||||||
|
XCOMM Attention xterm porters
|
||||||
|
XCOMM
|
||||||
|
XCOMM
|
||||||
|
XCOMM Xterm assumes that bcopy can handle overlapping arguments. If your
|
||||||
|
XCOMM bcopy (or memcpy) cannot, write a routine called bcopy and link it in
|
||||||
|
XCOMM or add -Dbcopy=mybcopy to the DEFINES list below.
|
||||||
|
XCOMM
|
||||||
|
|
||||||
|
/* Uncomment SCROLLBAR_RIGHT if you want the scroll bar to be on the right */
|
||||||
|
SCROLLBAR_RIGHT = -DSCROLLBAR_RIGHT
|
||||||
|
|
||||||
|
/* Define UTF8support to compile-in support for UTF-8 */
|
||||||
|
#define UTF8support
|
||||||
|
|
||||||
|
/*
|
||||||
|
* setgid mode works for systems that do not require setuid to open pty.
|
||||||
|
*
|
||||||
|
* This feature could also be applied to FreeBSD, but requires the installer
|
||||||
|
* to define a "utmp" group as well as chgrp the utmp file to match.
|
||||||
|
*
|
||||||
|
* Note: InstallXtermSetUID is always defined; InstallXtermSetGID is defined
|
||||||
|
* in newer imake configurations.
|
||||||
|
*/
|
||||||
|
#if !defined(InstallXtermSetGID) && !InstallXtermSetUID
|
||||||
|
#if defined(OpenBSDArchitecture) || \
|
||||||
|
(defined(LinuxArchitecture) && \
|
||||||
|
(LinuxCLibMajorVersion == 6))
|
||||||
|
#define InstallXtermSetGID YES
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Override the set uid/gid flags to use the utempter library.
|
||||||
|
*/
|
||||||
|
#if defined(UseUtempter)
|
||||||
|
#undef InstallXtermSetUID /* imake sets this */
|
||||||
|
#undef InstallXtermSetGID /* we set this */
|
||||||
|
#define InstallXtermSetUID NO
|
||||||
|
#define InstallXtermSetGID NO
|
||||||
|
UTMPLIB = -lutempter
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fixes to allow compile with X11R5, etc.
|
||||||
|
*/
|
||||||
|
#ifndef InstGidFlags
|
||||||
|
#define InstGidFlags -m 2755 -g utmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef InstUidFlags
|
||||||
|
#define InstUidFlags -m 4711
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef XkbClientDefines
|
||||||
|
#define XkbClientDefines /**/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef InstallXtermSetUID
|
||||||
|
#define InstallXtermSetUID NO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef InstallXtermSetGID
|
||||||
|
#define InstallXtermSetGID NO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef XkbClientDepLibs
|
||||||
|
#define XkbClientDepLibs /**/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef XkbClientLibs
|
||||||
|
#define XkbClientLibs /**/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This must come before setting DEFINES */
|
||||||
|
#if InstallXtermSetGID
|
||||||
|
CSGIDFLAGS = -DUSE_UTMP_SETGID
|
||||||
|
INSTSETIDFLAGS = InstGidFlags
|
||||||
|
#elif InstallXtermSetUID
|
||||||
|
INSTSETIDFLAGS = InstUidFlags
|
||||||
|
#else
|
||||||
|
INSTSETIDFLAGS = NullParameter
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compensate for broken imake configuration.
|
||||||
|
*/
|
||||||
|
#ifdef LinuxGnuSourceDefines
|
||||||
|
# ifdef UseInstalled
|
||||||
|
IMAKEDEFINES = -D_DEFAULT_SOURCE -U_XOPEN_SOURCE -D_XOPEN_SOURCE=600
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef SpecialCObjectRule
|
||||||
|
#define SpecialCObjectRule(module,ignore,defines) \
|
||||||
|
module.o: ; $(CC) -c defines $(CFLAGS) module.c
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ProgramTargetName
|
||||||
|
#define ProgramTargetName(program) program
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* add -DWTMP and -DLASTLOG if you want them; make sure that bcopy can
|
||||||
|
* handle overlapping copies before using it.
|
||||||
|
*/
|
||||||
|
#if SetTtyGroup /* turn on in config/machine.cf */
|
||||||
|
TTYGROUPDEF = -DUSE_TTY_GROUP
|
||||||
|
#endif
|
||||||
|
#ifdef UsePUCCPtyd /* turn on in config/site.def */
|
||||||
|
PUCCPTYDDEF = -DPUCC_PTYD /* does not need to be setuid */
|
||||||
|
PTYLIB = -lpucc
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(NetBSDArchitecture) || \
|
||||||
|
defined(OpenBSDArchitecture) || \
|
||||||
|
defined(FreeBSDArchitecture) || \
|
||||||
|
(defined(LinuxArchitecture) && \
|
||||||
|
(LinuxCLibMajorVersion == 6) && (LinuxCLibMinorVersion < 1))
|
||||||
|
PTYLIB = -lutil
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef DarwinArchitecture
|
||||||
|
/* dyld can deadlock if a signal comes in when it is looking up a symbol */
|
||||||
|
LOCAL_LDFLAGS = -Wl,-bind_at_load
|
||||||
|
#endif
|
||||||
|
|
||||||
|
OSMAJORVERSION = OSMajorVersion
|
||||||
|
OSMINORVERSION = OSMinorVersion
|
||||||
|
|
||||||
|
/* none of these can be expected to use termcap unless emulated by terminfo */
|
||||||
|
#if defined(NTOArchitecture) || \
|
||||||
|
defined(OpenBSDArchitecture) || \
|
||||||
|
defined(SGIArchitecture) || \
|
||||||
|
defined(SunArchitecture) || \
|
||||||
|
defined(NetBSDArchitecture) || \
|
||||||
|
defined(OpenBSDArchitecture) || \
|
||||||
|
defined(FreeBSDArchitecture) || \
|
||||||
|
defined(LinuxArchitecture)
|
||||||
|
TERMCAPDEFINES=-DUSE_TERMINFO -DHAVE_TIGETSTR -DHAVE_TERM_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(OS2Architecture) && !defined(__GNU__) && !defined(Minix3Architecture)
|
||||||
|
#if defined(UseUtempter)
|
||||||
|
UTMPDEF = -DUSE_UTEMPTER
|
||||||
|
#else
|
||||||
|
UTMPDEF = -DUTMP
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef UTF8support
|
||||||
|
UTF8_OPTION = -DOPT_WIDE_CHARS -DOPT_LUIT_PROG
|
||||||
|
UTF8SRC = charclass.c precompose.c wcwidth.c xutf8.c
|
||||||
|
UTF8OBJ = charclass.o precompose.o wcwidth.o xutf8.o
|
||||||
|
#endif
|
||||||
|
#if BuildXftLibrary
|
||||||
|
#define XRenderSupport
|
||||||
|
#endif
|
||||||
|
#ifdef XRenderSupport
|
||||||
|
XRFDEF = -DXRENDERFONT -DXFREE86_FT2
|
||||||
|
XRFLIBS = XftClientLibs
|
||||||
|
XRFDEPLIBS = XftClientDepLibs
|
||||||
|
XRFINCLUDES = $(XFTINCLUDES)
|
||||||
|
#endif
|
||||||
|
#if !HasPutenv
|
||||||
|
PUTENVDEF = -DNOPUTENV
|
||||||
|
#endif
|
||||||
|
#ifdef RegisXTerm
|
||||||
|
SIXELDEF = -DOPT_REGIS_GRAPHICS=1
|
||||||
|
#endif
|
||||||
|
#ifdef SixelXTerm
|
||||||
|
SIXELDEF = -DOPT_SIXEL_GRAPHICS=1
|
||||||
|
#endif
|
||||||
|
#ifdef TraceXTerm
|
||||||
|
TRACEDEF = -DOPT_TRACE=1
|
||||||
|
#endif
|
||||||
|
MAIN_DEFINES = $(UTMPDEF) $(TTYGROUPDEF) $(PUCCPTYDDEF) $(CSGIDFLAGS) \
|
||||||
|
-DOSMAJORVERSION=$(OSMAJORVERSION) \
|
||||||
|
-DOSMINORVERSION=$(OSMINORVERSION)
|
||||||
|
MISC_DEFINES = /* -DALLOWLOGGING -DALLOWLOGFILEEXEC */
|
||||||
|
XKB_DEFINES = XkbClientDefines
|
||||||
|
PATH_DEFINES = -DPROJECTROOT=$(PROJECTROOT)
|
||||||
|
DEFINES = $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION) $(XRFDEF) $(PATH_DEFINES) $(PUTENVDEF) $(IMAKEDEFINES) $(SIXELDEF) $(TRACEDEF)
|
||||||
|
INCLUDES = -I. $(XRFINCLUDES)
|
||||||
|
|
||||||
|
MAINSRC = main.c
|
||||||
|
MAINOBJ = main.o
|
||||||
|
DUMPSSRC = html.c svg.c
|
||||||
|
DUMPSOBJ = html.o svg.o
|
||||||
|
#ifdef RegisXTerm
|
||||||
|
SIXELSRC = graphics_regis.c
|
||||||
|
SIXELOBJ = graphics_regis.o
|
||||||
|
#endif
|
||||||
|
#ifdef SixelXTerm
|
||||||
|
SIXELSRC = graphics_sixel.c
|
||||||
|
SIXELOBJ = graphics_sixel.o
|
||||||
|
#endif
|
||||||
|
#ifdef TraceXTerm
|
||||||
|
TRACESRC = trace.c
|
||||||
|
TRACEOBJ = trace.o
|
||||||
|
#endif
|
||||||
|
SRCS1 = button.c cachedGCs.c charproc.c charsets.c cursor.c \
|
||||||
|
data.c doublechr.c fontutils.c input.c \
|
||||||
|
linedata.c menu.c misc.c print.c ptydata.c scrollback.c \
|
||||||
|
screen.c scrollbar.c tabs.c util.c version.c xstrings.c \
|
||||||
|
xtermcap.c TekPrsTbl.c Tekproc.c VTPrsTbl.c \
|
||||||
|
$(MAINSRC) $(EXTRASRC) $(UTF8SRC) $(SIXELSRC) $(TRACESRC) $(DUMPSSRC)
|
||||||
|
OBJS1 = button.o cachedGCs.o charproc.o charsets.o cursor.o \
|
||||||
|
data.o doublechr.o fontutils.o input.o \
|
||||||
|
linedata.o menu.o misc.o print.o ptydata.o scrollback.o \
|
||||||
|
screen.o scrollbar.o tabs.o util.o version.o xstrings.o \
|
||||||
|
xtermcap.o TekPrsTbl.o Tekproc.o VTPrsTbl.o \
|
||||||
|
$(MAINOBJ) $(EXTRAOBJ) $(UTF8OBJ) $(SIXELOBJ) $(TRACEOBJ) $(DUMPSOBJ)
|
||||||
|
SRCS2 = resize.c version.c xstrings.c
|
||||||
|
OBJS2 = resize.o version.o xstrings.o
|
||||||
|
SRCS = $(SRCS1) $(SRCS2)
|
||||||
|
OBJS = $(OBJS1) $(OBJS2)
|
||||||
|
PROGRAMS = ProgramTargetName(resize) ProgramTargetName(xterm)
|
||||||
|
DEPLIBS1 = XkbClientDepLibs XawClientDepLibs $(XRFDEPLIBS)
|
||||||
|
DEPLIBS2 =
|
||||||
|
|
||||||
|
#ifndef TermcapLibrary
|
||||||
|
#if SystemV && !defined(MacIIArchitecture)
|
||||||
|
#if defined(CrayArchitecture) || \
|
||||||
|
(defined(HPArchitecture) && (OSMajorVersion < 10)) || \
|
||||||
|
defined(RsArchitecture) || \
|
||||||
|
defined(SCOArchitecture) || \
|
||||||
|
defined(USLArchitecture)
|
||||||
|
#define TermcapLibrary -lcurses /* special cases of System V */
|
||||||
|
#else
|
||||||
|
#define TermcapLibrary -ltermlib /* usually in here */
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define TermcapLibrary -ltermcap /* bsd puts it here */
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
TERMCAPLIB = TermcapLibrary
|
||||||
|
|
||||||
|
AllTarget($(PROGRAMS))
|
||||||
|
|
||||||
|
VTPARSE_H = VTparse.h VTparse.hin
|
||||||
|
TEKPARSE_H = Tekparse.h Tekparse.hin
|
||||||
|
|
||||||
|
VTPARSE_C = VTparse.h VTparse.cin
|
||||||
|
TEKPARSE_C = Tekparse.h Tekparse.cin
|
||||||
|
|
||||||
|
.SUFFIXES : .def .cin .hin
|
||||||
|
.def.cin :
|
||||||
|
awk '/^CASE_/{printf "{ %d, \"%s\" },\n", n++, $$1; }' < $< >$@
|
||||||
|
.def.hin :
|
||||||
|
awk '/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
|
||||||
|
|
||||||
|
SpecialCObjectRule(main,$(_NOOP_),$(MAIN_DEFINES))
|
||||||
|
SpecialCObjectRule(menu,$(_NOOP_),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(misc,$(VTPARSE_H),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(VTPrsTbl,$(VTPARSE_H),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(charproc,$(VTPARSE_H),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(data,$(_NOOP_),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(TekPrsTbl,$(TEKPARSE_H),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(TekProc,$(TEKPARSE_H),$(MISC_DEFINES))
|
||||||
|
SpecialCObjectRule(trace,$(VTPARSE_C) $(TEKPARSE_C),$(MISC_DEFINES))
|
||||||
|
|
||||||
|
#if InstallXtermSetUID
|
||||||
|
SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
|
||||||
|
#else
|
||||||
|
NormalProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(UTMPLIB) $(PTYLIB))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(OpenBSDArchitecture) || defined(MirBSDArchitecture)
|
||||||
|
/* On OpenBSD xterm is now setgid utmp */
|
||||||
|
INSTUIDFLAGS= -m 2555 -g utmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries && (OSMajorVersion < 5)
|
||||||
|
#if AlternateUsrLibDir
|
||||||
|
#if ((OSMajorVersion == 4) && (OSMinorVersion >= 1))
|
||||||
|
LDOVERRIDE = -L$(DESTDIR)$(USRLIBDIR)
|
||||||
|
#else
|
||||||
|
#if HasGcc
|
||||||
|
LDOVERRIDE = -static -L$(DESTDIR)$(USRLIBDIR)
|
||||||
|
#else
|
||||||
|
LDOVERRIDE = -Bstatic -L$(DESTDIR)$(USRLIBDIR)
|
||||||
|
LDRESUME = -Bdynamic
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
install::
|
||||||
|
MakeDir($(DESTDIR)$(BINDIR))
|
||||||
|
RemoveFile(ProgramTargetName(xterm.inst))
|
||||||
|
LinkRule(ProgramTargetName(xterm.inst),$(CDEBUGFLAGS) $(CCOPTIONS)
|
||||||
|
$(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE)
|
||||||
|
$(XRFLIBS) XawClientLibs $(LDRESUME) $(LDLIBS) $(TERMCAPLIB)
|
||||||
|
$(PTYLIB))
|
||||||
|
$(INSTALL) -c $(INSTPGMFLAGS) $(INSTSETIDFLAGS) ProgramTargetName(xterm.inst) $(DESTDIR)$(BINDIR)/ProgramTargetName(xterm)
|
||||||
|
RemoveFile(ProgramTargetName(xterm.inst))
|
||||||
|
#else
|
||||||
|
InstallProgramWithFlags(xterm,$(BINDIR),$(INSTSETIDFLAGS))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
InstallNamedProg(uxterm,uxterm,$(BINDIR))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Link with the termcap library if USE_TERMCAP is defined in resize.c
|
||||||
|
*/
|
||||||
|
#if defined(NTOArchitecture) || \
|
||||||
|
defined(LinuxArchitecture) || \
|
||||||
|
defined(OpenBSDArchitecture) || \
|
||||||
|
defined(SGIArchitecture) || \
|
||||||
|
defined(SunArchitecture)
|
||||||
|
NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,NullParameter)
|
||||||
|
#else
|
||||||
|
NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,$(TERMCAPLIB))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
InstallProgramWithFlags(resize,$(BINDIR),NullParameter)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* termcap is a special name that does not install correctly with
|
||||||
|
* InstallNamedNonExec()
|
||||||
|
*/
|
||||||
|
install::
|
||||||
|
MakeDir($(DESTDIR)$(LIBDIR)/etc)
|
||||||
|
$(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) termcap \
|
||||||
|
$(DESTDIR)$(LIBDIR)/etc/xterm.termcap
|
||||||
|
InstallNamedNonExec(terminfo,xterm.terminfo,$(LIBDIR)/etc)
|
||||||
|
|
||||||
|
InstallAppDefaults(XTerm)
|
||||||
|
InstallAppDefaults(UXTerm)
|
||||||
|
InstallAppDefaultsLong(XTerm-col,XTerm-color)
|
||||||
|
InstallManPage(xterm,$(MANDIR))
|
||||||
|
InstallManPage(resize,$(MANDIR))
|
||||||
|
|
||||||
|
cleandir::
|
||||||
|
$(RM) *parse.hin *parse.cin
|
||||||
|
|
||||||
|
DependTarget()
|
50
ports/xterm/xterm-359/KOI8RXTerm.ad
Normal file
50
ports/xterm/xterm-359/KOI8RXTerm.ad
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
! $XTermId: KOI8RXTerm.ad,v 1.4 2010/03/04 01:17:49 tom Exp $
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! this file is part of xterm
|
||||||
|
!
|
||||||
|
! Copyright 2007,2010 by Thomas E. Dickey
|
||||||
|
!
|
||||||
|
! All Rights Reserved
|
||||||
|
!
|
||||||
|
! Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
! copy of this software and associated documentation files (the
|
||||||
|
! "Software"), to deal in the Software without restriction, including
|
||||||
|
! without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
! distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
! permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
! the following conditions:
|
||||||
|
!
|
||||||
|
! The above copyright notice and this permission notice shall be included
|
||||||
|
! in all copies or substantial portions of the Software.
|
||||||
|
!
|
||||||
|
! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
! IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
!
|
||||||
|
! Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
! holders shall not be used in advertising or otherwise to promote the
|
||||||
|
! sale, use or other dealings in this Software without prior written
|
||||||
|
! authorization.
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! This is based on the UXTerm app-defaults file.
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! Use
|
||||||
|
! xterm -class KOI8RXTerm
|
||||||
|
! to set resources for KOI8-R mode with corresponding fonts.
|
||||||
|
|
||||||
|
#include "XTerm"
|
||||||
|
|
||||||
|
*fontMenu.Label: KOI8-R Fonts
|
||||||
|
*VT100*allowC1Printable: true
|
||||||
|
|
||||||
|
! Use Cyrillic instead of Latin fonts.
|
||||||
|
*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r
|
||||||
|
*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r
|
||||||
|
*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r
|
||||||
|
*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r
|
||||||
|
*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r
|
||||||
|
*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r
|
228
ports/xterm/xterm-359/MANIFEST
Normal file
228
ports/xterm/xterm-359/MANIFEST
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
MANIFEST for xterm-359, version xterm-359
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
MANIFEST this file
|
||||||
|
256colres.h resource-definitions for 256-color mode
|
||||||
|
256colres.pl script to generate 256colres.h
|
||||||
|
88colres.h resource definitions for 88-color mode
|
||||||
|
88colres.pl script to generate 88colres.h
|
||||||
|
AAA_README_VMS.txt note for VMS port of 'xterm'
|
||||||
|
COPYING license for this program
|
||||||
|
INSTALL configure script: options and related install instructions
|
||||||
|
Imakefile imake template for Makefile
|
||||||
|
KOI8RXTerm.ad resources for koi8rxterm
|
||||||
|
Makefile.in configure script template for Makefile
|
||||||
|
README overview & caveats for 'xterm'
|
||||||
|
README.i18n i18n readme:
|
||||||
|
README.os390 overview for os390 (EBCDIC) port of 'xterm'
|
||||||
|
THANKS list of direct contributors
|
||||||
|
TekPrsTbl.c Tek4014 parser state tables
|
||||||
|
Tekparse.def template for generating Tekparse.h
|
||||||
|
Tekparse.h Tek4014 parser-state definitions
|
||||||
|
Tekproc.c Tek4014 parser-state functions
|
||||||
|
Tests Useful tests for xterm-developers
|
||||||
|
UXTerm.ad alternate resources for UTF-8
|
||||||
|
VTPrsTbl.c VT100 parser state tables
|
||||||
|
VTparse.def template for generating VTparse.h
|
||||||
|
VTparse.h VT100 parser-state definitions
|
||||||
|
XTerm-col.ad color resource definitions for XTerm class
|
||||||
|
XTerm.ad resource definitions for XTerm class
|
||||||
|
aclocal.m4 configure script: custom macros
|
||||||
|
button.c mouse button and selection processing
|
||||||
|
cachedGCs.c maintain cache of GC's
|
||||||
|
charclass.c compact character-class module
|
||||||
|
charclass.h interface of charclass.c
|
||||||
|
charproc.c VT100 parser functions
|
||||||
|
charsets.c module to translate character-sets
|
||||||
|
config.guess configure script: guess the system type
|
||||||
|
config.sub configure script: validate system type
|
||||||
|
configure generated
|
||||||
|
configure.in template for generating configure script
|
||||||
|
ctlseqs.ms documentation: Xterm Control Sequences
|
||||||
|
ctlseqs.txt generated rendition of ctlseqs.ms
|
||||||
|
cursor.c VT100 low-level cursor movement
|
||||||
|
data.c global data declarations
|
||||||
|
data.h global data external-definitions
|
||||||
|
df-install.in utility script for desktop-files
|
||||||
|
doublechr.c VT100 double-size character support
|
||||||
|
error.h error-code definitions for 'xterm'
|
||||||
|
fontutils.c xterm functions for (re)loading fonts
|
||||||
|
fontutils.h interface of fontutils.c
|
||||||
|
gen-charsets.pl script to convert codepages into code
|
||||||
|
gen-pc-fkeys.pl script to generate extended function-key terminfo
|
||||||
|
graphics.c graphics support functions for 'xterm'
|
||||||
|
graphics.h interface of graphics.c
|
||||||
|
graphics_regis.c support for ReGIS
|
||||||
|
graphics_regis.h interface of graphics_regis.c
|
||||||
|
graphics_sixel.c support for Sixels
|
||||||
|
graphics_sixel.h interface of graphics_sixel.c
|
||||||
|
html.c format HTML-screendumps
|
||||||
|
input.c VT100 key-symbol and function-key translation
|
||||||
|
install-sh install-script (needed by configure)
|
||||||
|
keysym2ucs.c lookup-table for UTF-8 to keysyms
|
||||||
|
keysym2ucs.h interface of keysym2ucs.c
|
||||||
|
koi8rxterm KOI-8 wrapper from Debian (originally me)
|
||||||
|
koi8rxterm.man manpage for koi8rxterm
|
||||||
|
linedata.c manage all line-data for VT100 widget
|
||||||
|
link_axp.com build-script for VMS port of xterm
|
||||||
|
main.c main program of 'xterm'
|
||||||
|
main.h default definitions for 'xterm'
|
||||||
|
make.com build-script for VMS port of 'xterm'
|
||||||
|
menu.c popup/pulldown menus for 'xterm'
|
||||||
|
menu.h interface of menu.c
|
||||||
|
minstall.in script for installing manpages
|
||||||
|
misc.c miscellaneous utility functions for 'xterm'
|
||||||
|
plink.sh script to prune unneeded libraries from link
|
||||||
|
precompose.c table of precompose sequences
|
||||||
|
precompose.h interface of precompose.c
|
||||||
|
print.c VT100+ print support functions
|
||||||
|
ptydata.c functions to manipulate data read from pty
|
||||||
|
ptyx.h structure-definitions for 'xterm'
|
||||||
|
resize.c program to compute/modify xterm's window size
|
||||||
|
resize.man manual page for 'resize'
|
||||||
|
run-tic.sh run tic, filtering out harmless messages
|
||||||
|
screen.c VT100 screen update functions
|
||||||
|
scrollback.c manage scrollback (a big FIFO)
|
||||||
|
scrollbar.c VT100 scrollbar support functions
|
||||||
|
sinstall.sh install setuid if existing program was
|
||||||
|
svg.c format SVG-screendumps
|
||||||
|
tabs.c VT100 tabstop support-functions
|
||||||
|
termcap termcap entries for 'xterm'
|
||||||
|
terminfo terminfo entries for 'xterm'
|
||||||
|
testxmc.c testing: xmc/magic-cookies
|
||||||
|
trace.c debugging trace functions for 'xterm'
|
||||||
|
trace.h interface of trace.c
|
||||||
|
util.c miscellaneous utility functions for 'xterm'
|
||||||
|
uxterm wrapper script to make unicode-xterm
|
||||||
|
uxterm.desktop sample desktop file for uxterm
|
||||||
|
uxterm.man manpage for uxterm, from Debian
|
||||||
|
version.c xterm package version, used also in resize
|
||||||
|
version.h version of xterm
|
||||||
|
vms.c VMS version of xterm's spawn(), etc.
|
||||||
|
vms.h system headers and definitions for vms.c
|
||||||
|
wcwidth.c wide-character utility functions
|
||||||
|
wcwidth.h interface of wcwidth.c
|
||||||
|
xcharmouse.h Jason Bacon's mouse-defs, cleaned up a little
|
||||||
|
xstrings.c a few common string functions
|
||||||
|
xstrings.h interface of xstrings.c
|
||||||
|
xterm.appdata.xml sample "appdata.xml" file
|
||||||
|
xterm.dat application defaults for VMS port of 'xterm'
|
||||||
|
xterm.desktop sample desktop file for xterm.
|
||||||
|
xterm.h common includes, definitions and prototypes for 'xterm'
|
||||||
|
xterm.log.html changelog for xterm
|
||||||
|
xterm.man manual page for 'xterm'
|
||||||
|
xterm_axp.opt linker options file for VMS port of 'xterm'
|
||||||
|
xterm_io.h split-out definitions of termio/termios/sgtty and winsize from main.c, os2main.c, screen.c and resize.c
|
||||||
|
xtermcap.c termcap-related functions.
|
||||||
|
xtermcap.h interface of xtermcap.c
|
||||||
|
xtermcfg.hin configure script: template for xtermcfg.h
|
||||||
|
xutf8.c JC's cleanup of UTF8
|
||||||
|
xutf8.h JC's cleanup of UTF8
|
||||||
|
icons subdirectory
|
||||||
|
icons/filled-xterm.png filled-xterm variants
|
||||||
|
icons/filled-xterm.svg filled-xterm variants
|
||||||
|
icons/filled-xterm.xpms filled-xterm variants
|
||||||
|
icons/filled-xterm_16x16.xpm filled-xterm variants
|
||||||
|
icons/filled-xterm_32x32.xpm filled-xterm variants
|
||||||
|
icons/filled-xterm_48x48.xpm filled-xterm variants
|
||||||
|
icons/make-xpms script to make combined xpm-icons
|
||||||
|
icons/mini.xterm.svg svg format for mini-icon
|
||||||
|
icons/mini.xterm.xpms collection of mini-icons
|
||||||
|
icons/mini.xterm_16x16.png mini-icon 16x16 png
|
||||||
|
icons/mini.xterm_16x16.xpm mini-icon 16x16 pixmap
|
||||||
|
icons/mini.xterm_256x256.png mini-icon 256x256 png
|
||||||
|
icons/mini.xterm_32x32.png mini-icon 32x32 png
|
||||||
|
icons/mini.xterm_32x32.xpm mini-icon 32x32 pixmap
|
||||||
|
icons/mini.xterm_48x48.png mini-icon 48x48 png
|
||||||
|
icons/mini.xterm_48x48.xpm mini-icon 48x48 pixmap
|
||||||
|
icons/terminal_48x48.svg svg-format of "terminal"
|
||||||
|
icons/terminal_48x48.xpm xpm-format of "terminal"
|
||||||
|
icons/xterm-color.png xterm-color 48x48, in png-format
|
||||||
|
icons/xterm-color.svg xterm-color icon
|
||||||
|
icons/xterm-color.xpms collection of color icons
|
||||||
|
icons/xterm-color_16x16.xpm 16x16 color icon
|
||||||
|
icons/xterm-color_32x32.xpm 32x32 color icon
|
||||||
|
icons/xterm-color_48x48.xpm 48x48 color icon
|
||||||
|
icons/xterm.png xterm 48x48, in png-format
|
||||||
|
icons/xterm.svg xterm icon
|
||||||
|
icons/xterm.xpms collection of icons
|
||||||
|
icons/xterm_16x16.xpm normal icon 16x16 pixmap
|
||||||
|
icons/xterm_32x32.xpm 32x32 monochrome icon
|
||||||
|
icons/xterm_48x48.xpm 48x48 monochrome icon
|
||||||
|
package/debian subdirectory
|
||||||
|
package/debian/changelog build-script
|
||||||
|
package/debian/color.sed build-script
|
||||||
|
package/debian/compat build-script
|
||||||
|
package/debian/control build-script
|
||||||
|
package/debian/copyright build-script
|
||||||
|
package/debian/postinst post-install script for update-alternatives
|
||||||
|
package/debian/prerm pre-remove script for update-alternatives
|
||||||
|
package/debian/rules build-script
|
||||||
|
package/debian/source subdirectory
|
||||||
|
package/debian/source/format build-script
|
||||||
|
package/debian subdirectory
|
||||||
|
package/debian/watch build-script
|
||||||
|
package/debian/xterm-dev.docs build-script
|
||||||
|
package/debian/xterm-dev.lintian-overrides ignore useless warnings from lintian
|
||||||
|
package/debian/xterm-dev.menu Debian menu-file for xterm-dev package.
|
||||||
|
package/debian/xterm-xres.sed build-script
|
||||||
|
package/freebsd subdirectory
|
||||||
|
package/freebsd/Makefile build-script
|
||||||
|
package/freebsd/distinfo generated sums
|
||||||
|
package/freebsd/pkg-descr build-script
|
||||||
|
package/freebsd/pkg-message build-script
|
||||||
|
package/freebsd/pkg-message.wchar build-script
|
||||||
|
package/freebsd/pkg-plist build-script
|
||||||
|
package/pkgsrc subdirectory
|
||||||
|
package/pkgsrc/DESCR build-script
|
||||||
|
package/pkgsrc/Makefile build-script
|
||||||
|
package/pkgsrc/PLIST build-script
|
||||||
|
package/pkgsrc/distinfo build-script
|
||||||
|
package/pkgsrc/options.mk build-script
|
||||||
|
package subdirectory
|
||||||
|
package/xterm.spec build-script
|
||||||
|
tektests subdirectory
|
||||||
|
tektests/aitest.tek tek4014 demo: draw a globe
|
||||||
|
tektests/dmerc.tek tek4014 demo: draws a Mercator projection with orbit
|
||||||
|
tektests/fotest.tek tek4014 demo: draw a scatterplot on log scale
|
||||||
|
tektests/imtest.tek tek4014 demo: draw a test pattern
|
||||||
|
tektests/imtesth.tek tek4014 demo: draw a test pattern
|
||||||
|
tektests/ocpred.tek tek4014 demo: an occultation prediction
|
||||||
|
tektests/usmap.tek tek4014 demo: a US map
|
||||||
|
unicode subdirectory
|
||||||
|
unicode/README description of files in ./unicode
|
||||||
|
unicode/convmap.pl perl script for generating the lookup table for UTF-8 to keysym
|
||||||
|
unicode/keysym.map keysym mapping from UTF-8
|
||||||
|
unicode/make-precompose.sh make precompose.c
|
||||||
|
unicode/precompose.c.head header of precompose.c
|
||||||
|
unicode/precompose.c.tail tail of precompose.c
|
||||||
|
vttests subdirectory
|
||||||
|
vttests/16colors.sh test-script to show 16-colors
|
||||||
|
vttests/256colors.pl script to illustrate 256-colors
|
||||||
|
vttests/256colors2.pl fancy test-script for 256-colors
|
||||||
|
vttests/88colors.pl sample script showing 88-colors
|
||||||
|
vttests/88colors2.pl sample script showing 88-colors
|
||||||
|
vttests/8colors.sh test-script to illustrate 8-colors
|
||||||
|
vttests/acolors.sh demonstrate changing the ANSI colors
|
||||||
|
vttests/closest-rgb.pl demo of color-distances
|
||||||
|
vttests/doublechars.sh test script to demonstrate doublesize chars
|
||||||
|
vttests/dynamic.pl demo for dynamic colors
|
||||||
|
vttests/dynamic.sh script to illustrate the dynamic colors control sequence
|
||||||
|
vttests/dynamic2.sh complete example of dynamic colors
|
||||||
|
vttests/fonts.sh script to demonstrate font-switching sequences
|
||||||
|
vttests/modify-keys.pl illustrate modifyOtherKeys with a table
|
||||||
|
vttests/mouse-codes demo script for mouse-codes
|
||||||
|
vttests/other-sgr.sh demonstrate non-VTxx SGRs
|
||||||
|
vttests/paste64.pl script to test base64-selection option
|
||||||
|
vttests/print-vt-chars.pl demo-script
|
||||||
|
vttests/query-color.pl demonstrate OSC 4
|
||||||
|
vttests/query-dynamic.pl demonstrate OSC 10 to OSC 19
|
||||||
|
vttests/query-fonts.pl script to demo/test font-querying
|
||||||
|
vttests/query-status.pl query DECRQSS status
|
||||||
|
vttests/query-xres.pl test/demo for DCS+Q
|
||||||
|
vttests/report-sgr.pl demonstrate report-sgr
|
||||||
|
vttests/resize.pl translated resize.sh to perl since it is easy to test, and I needed
|
||||||
|
vttests/resize.sh script to demonstrate resizing
|
||||||
|
vttests/sgrPushPop.pl demonstrate xterm SGR push/pop
|
||||||
|
vttests/sgrPushPop2.pl demonstrate xterm SGR push/pop for colors
|
||||||
|
vttests/tcapquery.pl script to test tcap-query option
|
||||||
|
vttests/title.sh test-script to show title of xterm in action
|
634
ports/xterm/xterm-359/Makefile
Normal file
634
ports/xterm/xterm-359/Makefile
Normal file
@ -0,0 +1,634 @@
|
|||||||
|
## $XTermId: Makefile.in,v 1.253 2020/08/02 19:12:41 tom Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 1997-2019,2020 by Thomas E. Dickey
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
#### Start of system configuration section. ####
|
||||||
|
|
||||||
|
srcdir = .
|
||||||
|
|
||||||
|
|
||||||
|
x =
|
||||||
|
o = .o
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CPP = gcc -E
|
||||||
|
AWK = awk
|
||||||
|
LINK = $(CC) $(CFLAGS)
|
||||||
|
|
||||||
|
CTAGS =
|
||||||
|
ETAGS =
|
||||||
|
|
||||||
|
LN_S = ln -s
|
||||||
|
RM = rm -f
|
||||||
|
LINT =
|
||||||
|
LINT_OPTS =
|
||||||
|
|
||||||
|
INSTALL = /bin/install -c
|
||||||
|
INSTALL_PROGRAM = ${INSTALL}
|
||||||
|
INSTALL_SCRIPT = ${INSTALL}
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
transform = s,x,x,
|
||||||
|
|
||||||
|
EXTRA_CFLAGS =
|
||||||
|
EXTRA_CPPFLAGS = -DPROJECTROOT='"/usr"' -D__vendorversion__='"Version 7.7.0 X.Org"'
|
||||||
|
EXTRA_LOADFLAGS =
|
||||||
|
|
||||||
|
CPPFLAGS = -I. -I$(srcdir) -DHAVE_CONFIG_H -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFUNCPROTO=15 -DNARROWPROTO -DHAVE_TERM_H -DXFREE86_FT2 -D_DEFAULT_SOURCE -U_XOPEN_SOURCE -D_XOPEN_SOURCE=600 -DUTMP -DOSMAJORVERSION=5 -DOSMINORVERSION=11 -I/usr/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -DDEFCLASS=\"XTerm\" $(EXTRA_CPPFLAGS)
|
||||||
|
CFLAGS = -g -O2 $(EXTRA_CFLAGS)
|
||||||
|
LDFLAGS =
|
||||||
|
LIBS = -lXft -lfontconfig -lfreetype -lutil -lneXtaw -lXmu -lSM -lICE -lXext -lXinerama -lXpm -lXt -lX11 -lSM -lICE -lncurses
|
||||||
|
|
||||||
|
prefix = /usr/local
|
||||||
|
exec_prefix = ${prefix}
|
||||||
|
datarootdir = ${prefix}/share
|
||||||
|
datadir = ${datarootdir}
|
||||||
|
|
||||||
|
manext = 1
|
||||||
|
bindir = ${exec_prefix}/bin
|
||||||
|
libdir = ${exec_prefix}/lib
|
||||||
|
mandir = ${datarootdir}/man/man$(manext)
|
||||||
|
appsdir = ${exec_prefix}/lib/X11/app-defaults
|
||||||
|
icondir = no
|
||||||
|
pixmapdir = ${datadir}/pixmaps
|
||||||
|
|
||||||
|
#### End of system configuration section. ####
|
||||||
|
|
||||||
|
ICON_NAME = mini.xterm
|
||||||
|
ICON_SYMLINK = NONE
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
BINDIR = $(DESTDIR)$(bindir)
|
||||||
|
LIBDIR = $(DESTDIR)$(libdir)
|
||||||
|
MANDIR = $(DESTDIR)$(mandir)
|
||||||
|
APPSDIR = $(DESTDIR)$(appsdir)
|
||||||
|
|
||||||
|
#ICONDIR = $(DESTDIR)$(icondir)
|
||||||
|
PIXMAPDIR = $(DESTDIR)$(pixmapdir)
|
||||||
|
|
||||||
|
INSTALL_DIRS = $(BINDIR) $(APPSDIR) $(ICONDIR) $(PIXMAPDIR) $(MANDIR)
|
||||||
|
|
||||||
|
CLASS = XTerm
|
||||||
|
EXTRAHDR = 256colres.h Tekparse.h charclass.h precompose.h wcwidth.h graphics_sixel.h graphics.h
|
||||||
|
EXTRASRC = TekPrsTbl.c Tekproc.c charclass.c precompose.c wcwidth.c html.c svg.c graphics_sixel.c graphics.c
|
||||||
|
EXTRAOBJ = TekPrsTbl.o Tekproc.o charclass.o precompose.o wcwidth.o html.o svg.o graphics_sixel.o graphics.o
|
||||||
|
|
||||||
|
AUTO_SOURCE = \
|
||||||
|
builtin_icons.h \
|
||||||
|
VTparse.cin \
|
||||||
|
Tekparse.cin \
|
||||||
|
VTparse.hin \
|
||||||
|
Tekparse.hin
|
||||||
|
|
||||||
|
SRCS1 = button.c cachedGCs.c charproc.c charsets.c cursor.c \
|
||||||
|
data.c doublechr.c fontutils.c input.c \
|
||||||
|
linedata.c main.c menu.c misc.c \
|
||||||
|
print.c ptydata.c scrollback.c \
|
||||||
|
screen.c scrollbar.c tabs.c util.c version.c xstrings.c \
|
||||||
|
xtermcap.c VTPrsTbl.c $(EXTRASRC)
|
||||||
|
OBJS1 = button$o cachedGCs$o charproc$o charsets$o cursor$o \
|
||||||
|
data$o doublechr$o fontutils$o input$o \
|
||||||
|
linedata$o main$o menu$o misc$o \
|
||||||
|
print$o ptydata$o scrollback$o \
|
||||||
|
screen$o scrollbar$o tabs$o util$o version$o xstrings$o \
|
||||||
|
xtermcap$o VTPrsTbl$o $(EXTRAOBJ)
|
||||||
|
SRCS2 = resize.c version.c xstrings.c
|
||||||
|
OBJS2 = resize$o version$o xstrings$o
|
||||||
|
SRCS = $(SRCS1) $(SRCS2)
|
||||||
|
OBJS = $(OBJS1) $(OBJS2)
|
||||||
|
HDRS = VTparse.h data.h error.h fontutils.h main.h menu.h \
|
||||||
|
ptyx.h version.h xstrings.h xterm.h xtermcap.h $(EXTRAHDR)
|
||||||
|
PROGRAMS = xterm$x resize$x
|
||||||
|
TEST_PROGRAMS = test_charclass$x test_ptydata$x test_wcwidth$x
|
||||||
|
|
||||||
|
all : $(PROGRAMS)
|
||||||
|
################################################################################
|
||||||
|
.SUFFIXES : .i .def .cin .hin .$(manext) .ms .man .txt .html .ps .pdf
|
||||||
|
|
||||||
|
.c$o :
|
||||||
|
|
||||||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/$*.c
|
||||||
|
|
||||||
|
.c.i :
|
||||||
|
|
||||||
|
$(CPP) -C $(CPPFLAGS) $*.c >$@
|
||||||
|
|
||||||
|
.def.cin :
|
||||||
|
@echo "making $@ from $<"
|
||||||
|
@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "{ %d, \"%s\" },\n", n++, $$1; }' < $< >$@
|
||||||
|
|
||||||
|
.def.hin :
|
||||||
|
@echo "making $@ from $<"
|
||||||
|
@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
|
||||||
|
|
||||||
|
.man.$(manext) :
|
||||||
|
$(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $(appsdir) $(CLASS) $* $* $(pixmapdir)
|
||||||
|
|
||||||
|
#.$(manext).txt :
|
||||||
|
# $(SHELL) -c "tbl $*.$(manext) | nroff -man | col -bx" >$@
|
||||||
|
#
|
||||||
|
#.ms.txt :
|
||||||
|
# $(SHELL) -c "tbl $*.$(manext) | nroff -ms | col -bx" >$@
|
||||||
|
#
|
||||||
|
|
||||||
|
.$(manext).html :
|
||||||
|
./man2html.tmp $* $(manext) man >$@
|
||||||
|
|
||||||
|
.$(manext).ps :
|
||||||
|
$(SHELL) -c "tbl $*.$(manext) | groff -man" >$@
|
||||||
|
|
||||||
|
.$(manext).txt :
|
||||||
|
GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | groff -Tascii -man | col -bx" >$@
|
||||||
|
|
||||||
|
.ms.html :
|
||||||
|
./man2html.tmp $* ms ms >$@
|
||||||
|
|
||||||
|
.ms.ps :
|
||||||
|
$(SHELL) -c "tbl $< | groff -ms" >$@
|
||||||
|
|
||||||
|
.ms.txt :
|
||||||
|
GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -Tascii -ms | col -bx" >$@
|
||||||
|
|
||||||
|
.ps.pdf :
|
||||||
|
ps2pdf $*.ps
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
VTPARSE_H = VTparse.h VTparse.hin
|
||||||
|
TEKPARSE_H = Tekparse.h Tekparse.hin
|
||||||
|
|
||||||
|
main$o : main.h
|
||||||
|
misc$o : version.h
|
||||||
|
|
||||||
|
$(OBJS1) : xterm.h ptyx.h xtermcfg.h
|
||||||
|
main$o resize$o screen$o : xterm_io.h
|
||||||
|
|
||||||
|
xterm$x : $(OBJS1)
|
||||||
|
$(SHELL) $(srcdir)/plink.sh $(LINK) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS) $(EXTRA_LOADFLAGS)
|
||||||
|
|
||||||
|
resize$x : $(OBJS2)
|
||||||
|
$(SHELL) $(srcdir)/plink.sh $(LINK) $(LDFLAGS) -o $@ $(OBJS2) $(LIBS)
|
||||||
|
|
||||||
|
256colres.h :
|
||||||
|
-$(RM) $@
|
||||||
|
perl $(srcdir)/256colres.pl > $@
|
||||||
|
|
||||||
|
88colres.h :
|
||||||
|
-$(RM) $@
|
||||||
|
perl $(srcdir)/88colres.pl > $@
|
||||||
|
|
||||||
|
charproc$o : $(VTPARSE_H) main.h 256colres.h
|
||||||
|
graphics_regis$o : $(VTPARSE_H)
|
||||||
|
graphics_sixel$o : $(VTPARSE_H)
|
||||||
|
misc$o : $(VTPARSE_H)
|
||||||
|
VTPrsTbl$o : $(VTPARSE_H)
|
||||||
|
|
||||||
|
TekPrsTbl$o : $(TEKPARSE_H)
|
||||||
|
Tekproc$o : $(TEKPARSE_H)
|
||||||
|
|
||||||
|
misc$o : builtin_icons.h
|
||||||
|
|
||||||
|
trace$o : VTparse.cin Tekparse.cin
|
||||||
|
|
||||||
|
# do this to quiet gcc -Wcast-qual warnings
|
||||||
|
builtin_icons.h :
|
||||||
|
@echo "#if OPT_BUILTIN_XPMS" >$@
|
||||||
|
@echo "#include <icons/mini.xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/filled-xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/xterm-color.xpms>" >>$@
|
||||||
|
@echo "#else" >>$@
|
||||||
|
@sed -e 's/static char \* /static const char * /' $(srcdir)/icons/mini.xterm_48x48.xpm >>$@
|
||||||
|
@echo "#endif" >>$@
|
||||||
|
@echo "made $@"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_charclass$x : $(srcdir)/charclass.c
|
||||||
|
$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/charclass.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_ptydata$x : $(srcdir)/ptydata.c
|
||||||
|
$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/ptydata.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_wcwidth$x : $(srcdir)/wcwidth.c
|
||||||
|
$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/wcwidth.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
actual_xterm = `echo xterm| sed '$(transform)'`
|
||||||
|
actual_resize = `echo resize| sed '$(transform)'`
|
||||||
|
actual_uxterm = `echo uxterm| sed '$(transform)'`
|
||||||
|
actual_k8term = `echo koi8rxterm| sed '$(transform)'`
|
||||||
|
|
||||||
|
binary_xterm = $(actual_xterm)$x
|
||||||
|
binary_resize = $(actual_resize)$x
|
||||||
|
binary_uxterm = $(actual_uxterm)
|
||||||
|
binary_k8term = $(actual_k8term)
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-bin \
|
||||||
|
install-full :: xterm$x resize$x $(BINDIR)
|
||||||
|
$(SHELL) $(srcdir)/sinstall.sh "$(INSTALL_PROGRAM)" xterm$x /bin/xterm $(BINDIR)/$(binary_xterm)
|
||||||
|
# $(INSTALL_PROGRAM) xterm$x $(BINDIR)/$(binary_xterm)
|
||||||
|
$(INSTALL_PROGRAM) -m 755 resize$x $(BINDIR)/$(binary_resize)
|
||||||
|
|
||||||
|
EDIT_SCRIPT = sed -e s,=xterm,=\$$name, -e s,XTerm,$(CLASS),
|
||||||
|
|
||||||
|
InstallLink = \
|
||||||
|
if test NONE != NONE \
|
||||||
|
&& test \$$source != NONE \
|
||||||
|
&& test \$$source != \$$target ; then \
|
||||||
|
cd \$$TARGET && ( \
|
||||||
|
$(RM) \$$source ; \
|
||||||
|
$(LN_S) \$$target \$$source ; \
|
||||||
|
echo \"... created symbolic link:\" ; \
|
||||||
|
ls -l \$$target \$$source ) ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
InstallBinLink = TARGET=$(BINDIR); $(InstallLink)
|
||||||
|
InstallManLink = TARGET=$(MANDIR); $(InstallLink)
|
||||||
|
|
||||||
|
InstallScript = \
|
||||||
|
echo \"... installing $(BINDIR)/\$$target\"; \
|
||||||
|
name=$(binary_xterm); \
|
||||||
|
$(EDIT_SCRIPT) $(srcdir)/\$$source >\$$source.tmp; \
|
||||||
|
$(INSTALL_SCRIPT) -m 755 \$$source.tmp $(BINDIR)/\$$target; \
|
||||||
|
$(RM) \$$source.tmp
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-bin \
|
||||||
|
install-scripts \
|
||||||
|
install-full :: $(BINDIR)
|
||||||
|
@$(SHELL) -c "source=\"NONE\"; \
|
||||||
|
target=\"$(binary_xterm)\"; \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"resize\"; \
|
||||||
|
target=\"$(binary_resize)\"; \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"uxterm\"; \
|
||||||
|
target=\"$(binary_uxterm)\"; \
|
||||||
|
$(InstallScript); \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"koi8rxterm\"; \
|
||||||
|
target=\"$(binary_k8term)\"; \
|
||||||
|
$(InstallScript); \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-man \
|
||||||
|
install-full :: $(MANDIR)
|
||||||
|
@-$(SHELL) -c "for source in xterm resize uxterm koi8rxterm ; \
|
||||||
|
do \
|
||||||
|
target=\`echo \"\$$source\" | sed 's,x,x,'\`; \
|
||||||
|
$(SHELL) ./minstall \"$(INSTALL_DATA)\" \
|
||||||
|
$(srcdir)/\$$source.man \
|
||||||
|
$(MANDIR)/\$$target.$(manext) \
|
||||||
|
$(appsdir) \
|
||||||
|
$(CLASS) \
|
||||||
|
\$$source \
|
||||||
|
\$$target \
|
||||||
|
$(pixmapdir); \
|
||||||
|
done"
|
||||||
|
@-$(SHELL) -c "if test NONE != NONE ; then \
|
||||||
|
source=$(actual_xterm).$(manext); \
|
||||||
|
target=NONE.$(manext); \
|
||||||
|
cd $(MANDIR) && ( \
|
||||||
|
$(RM) \$$target ; \
|
||||||
|
$(LN_S) \$$source \$$target ; \
|
||||||
|
echo '... created symbolic link:' ; \
|
||||||
|
ls -l \$$source \$$target ; \
|
||||||
|
) \
|
||||||
|
fi"
|
||||||
|
|
||||||
|
APP_NAMES = XTerm UXTerm KOI8RXTerm
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-app \
|
||||||
|
install-full :: $(APPSDIR)
|
||||||
|
@-$(SHELL) -c 'for s in $(APP_NAMES); \
|
||||||
|
do \
|
||||||
|
echo "** $$s"; \
|
||||||
|
d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
|
||||||
|
echo installing $(APPSDIR)/$$d; \
|
||||||
|
sed -e s/XTerm/$(CLASS)/ $(srcdir)/$$s.ad >XTerm.tmp; \
|
||||||
|
$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d; \
|
||||||
|
echo installing $(APPSDIR)/$$d-color; \
|
||||||
|
sed -e s/XTerm/$$d/ $(srcdir)/XTerm-col.ad >XTerm.tmp; \
|
||||||
|
$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d-color; \
|
||||||
|
done'
|
||||||
|
@$(RM) XTerm.tmp
|
||||||
|
# @echo "... installed app-defaults"
|
||||||
|
|
||||||
|
#ICON_LIST = icons/mini.xterm_48x48.png icons/mini.xterm_48x48.xpm
|
||||||
|
#ICON_THEME = no
|
||||||
|
#install \
|
||||||
|
#install-icon \
|
||||||
|
#install-full :: $(ICONDIR)
|
||||||
|
# ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
|
||||||
|
# h=$(ICONDIR)/$(ICON_THEME); \
|
||||||
|
# for n in $(ICON_LIST); \
|
||||||
|
# do \
|
||||||
|
# x=$$ACTUAL_XTERM; \
|
||||||
|
# l=`echo "$$n" | cut -f1 -d:`; \
|
||||||
|
# r=`echo "$$n" | cut -f2 -d: |sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
# test -z "$$r" && continue; \
|
||||||
|
# d=$$h/`echo "$$r" | sed -e "s,/[^/]*$$,,"`; \
|
||||||
|
# test -d "$$d" || mkdir -p "$$d"; \
|
||||||
|
# echo "installing icon $$h/$$r"; \
|
||||||
|
# $(INSTALL_DATA) $$l $$h/$$r; \
|
||||||
|
# s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
|
||||||
|
# t=$(ICON_SYMLINK)$$s; \
|
||||||
|
# b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
|
||||||
|
# if test "$(ICON_SYMLINK)" != NONE ; then \
|
||||||
|
# if test "$$r" != "$$t" ; then \
|
||||||
|
# if test "x$$b" = "x$(ICON_NAME)" ; then \
|
||||||
|
# echo "linking $$r -> $$t"; \
|
||||||
|
# ( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
|
||||||
|
# fi \
|
||||||
|
# fi \
|
||||||
|
# fi \
|
||||||
|
# done'
|
||||||
|
# @echo "... installed icons"
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-icon \
|
||||||
|
install-full :: $(PIXMAPDIR)
|
||||||
|
ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
|
||||||
|
h=$(PIXMAPDIR); \
|
||||||
|
for n in $(srcdir)/icons/*xterm*_32x32.xpm $(srcdir)/icons/*xterm*_48x48.xpm; \
|
||||||
|
do \
|
||||||
|
l=`basename $$n`; \
|
||||||
|
r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
echo "installing pixmap $$h/$$r"; \
|
||||||
|
$(INSTALL_DATA) $(srcdir)/icons/$$l $$h/$$r; \
|
||||||
|
s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
|
||||||
|
t=$(ICON_SYMLINK)$$s; \
|
||||||
|
b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
|
||||||
|
if test "$(ICON_SYMLINK)" != NONE ; then \
|
||||||
|
if test "x$$r" != "$$t" ; then \
|
||||||
|
if test "x$$b" = "x$(ICON_NAME)" ; then \
|
||||||
|
echo "linking $$r -> $$t"; \
|
||||||
|
( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
|
||||||
|
fi \
|
||||||
|
fi \
|
||||||
|
fi \
|
||||||
|
done'
|
||||||
|
@echo "... installed icons"
|
||||||
|
|
||||||
|
install ::
|
||||||
|
@echo 'Completed installation of executables and documentation.'
|
||||||
|
@echo 'Use "make install-ti" to install terminfo description.'
|
||||||
|
|
||||||
|
TERMINFO_DIR = $(DESTDIR)/usr/lib/terminfo
|
||||||
|
SET_TERMINFO = TERMINFO=$(TERMINFO_DIR)
|
||||||
|
|
||||||
|
install-full \
|
||||||
|
install-ti :: $(TERMINFO_DIR)
|
||||||
|
@$(SHELL) -c "$(SET_TERMINFO) $(srcdir)/run-tic.sh $(srcdir)/terminfo"
|
||||||
|
@echo 'Completed installation of terminfo description.'
|
||||||
|
|
||||||
|
install-full \
|
||||||
|
install-tc ::
|
||||||
|
@-$(SHELL) -c "if test -f /etc/termcap ; then echo 'You must install the termcap entry manually by editing /etc/termcap'; fi"
|
||||||
|
|
||||||
|
installdirs : $(INSTALL_DIRS)
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
UninstallLink = \
|
||||||
|
if test NONE != NONE \
|
||||||
|
&& test \$$source != NONE \
|
||||||
|
&& test \$$source != \$$target \
|
||||||
|
&& test -h \$$TARGET/\$$source ; then \
|
||||||
|
echo \"... removing \$$TARGET/\$$source\"; \
|
||||||
|
cd \$$TARGET && \
|
||||||
|
$(RM) \$$source; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
UninstallBinLink = TARGET=$(BINDIR); $(UninstallLink)
|
||||||
|
UninstallManLink = TARGET=$(MANDIR); $(UninstallLink)
|
||||||
|
|
||||||
|
UninstallBinary = \
|
||||||
|
echo \"... removing $(BINDIR)/\$$target\"; \
|
||||||
|
$(RM) $(BINDIR)/\$$target
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-bin \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "source=\"NONE\"; \
|
||||||
|
target=\"$(binary_xterm)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
@-$(SHELL) -c "source=\"resize\"; \
|
||||||
|
target=\"$(binary_resize)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-bin \
|
||||||
|
uninstall-scripts \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "source=\"uxterm\"; \
|
||||||
|
target=\"$(binary_uxterm)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
@-$(SHELL) -c "source=\"koi8rxterm\"; \
|
||||||
|
target=\"$(binary_k8term)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-man \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "\
|
||||||
|
source=NONE.$(manext); \
|
||||||
|
target=$(actual_xterm).$(manext); \
|
||||||
|
$(UninstallManLink)"
|
||||||
|
@-$(SHELL) -c "for source in \
|
||||||
|
$(actual_xterm).$(manext) \
|
||||||
|
$(actual_resize).$(manext) \
|
||||||
|
$(actual_uxterm).$(manext) \
|
||||||
|
$(actual_k8term).$(manext); \
|
||||||
|
do \
|
||||||
|
echo \"... removing $(MANDIR)/\$$source\"; \
|
||||||
|
$(RM) $(MANDIR)/\$$source; \
|
||||||
|
done"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-app \
|
||||||
|
uninstall-full ::
|
||||||
|
-$(SHELL) -c 'for s in $(APP_NAMES); \
|
||||||
|
do \
|
||||||
|
echo "** $$s"; \
|
||||||
|
d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
|
||||||
|
echo uninstalling $(APPSDIR)/$$d; \
|
||||||
|
$(RM) $(APPSDIR)/$$d; \
|
||||||
|
echo uninstalling $(APPSDIR)/$$d-color; \
|
||||||
|
$(RM) $(APPSDIR)/$$d-color; \
|
||||||
|
done'
|
||||||
|
|
||||||
|
#uninstall \
|
||||||
|
#uninstall-icon \
|
||||||
|
#uninstall-full ::
|
||||||
|
# -$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
|
||||||
|
# for n in $(ICON_LIST); \
|
||||||
|
# do \
|
||||||
|
# r=`echo "$$n" | sed -e s,\^.\*:,, -e s,xterm,$$ACTUAL_XTERM,`; \
|
||||||
|
# test -z "$$r" && continue; \
|
||||||
|
# h=$(ICONDIR)/$(ICON_THEME); \
|
||||||
|
# test -f $$h/$$r || continue; \
|
||||||
|
# echo removing $$h/$$r; \
|
||||||
|
# $(RM) $$h/$$r; \
|
||||||
|
# done'
|
||||||
|
# @echo "... removed icons"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-icon \
|
||||||
|
uninstall-full ::
|
||||||
|
-@$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
|
||||||
|
for n in $(srcdir)/icons/*xterm*_32x32.xpm $(srcdir)/icons/*xterm*_48x48.xpm; \
|
||||||
|
do \
|
||||||
|
l=`basename $$n`; \
|
||||||
|
r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
echo removing $(PIXMAPDIR)/$$r; \
|
||||||
|
$(RM) $(PIXMAPDIR)/$$r; \
|
||||||
|
done'
|
||||||
|
@echo "... removed icons"
|
||||||
|
################################################################################
|
||||||
|
# Desktop-utils does not provide an uninstall, and is not uniformly available.
|
||||||
|
#DESKTOP_FILES = $(srcdir)/xterm.desktop $(srcdir)/uxterm.desktop
|
||||||
|
#DESKTOP_FLAGS =
|
||||||
|
#install-desktop \
|
||||||
|
#install-full ::
|
||||||
|
# ACTUAL_XTERM=$(actual_xterm) \
|
||||||
|
# $(SHELL) -c 'for n in $(DESKTOP_FILES); \
|
||||||
|
# do $(SHELL) df-install $$ACTUAL_XTERM $(ICON_NAME) DESTDIR="$(DESTDIR)" $(DESKTOP_FLAGS) $$n; \
|
||||||
|
# done'
|
||||||
|
################################################################################
|
||||||
|
check : $(TEST_PROGRAMS)
|
||||||
|
@ echo "See demos in vttests/* (use vttest for system-level testing)"
|
||||||
|
@ $(SHELL) -c 'echo "** executing test_charclass"; \
|
||||||
|
./test_charclass'
|
||||||
|
@ $(SHELL) -c 'echo "** executing test_wcwidth"; \
|
||||||
|
for range in 32-126 160-0xff00 0x10000-0x11000; \
|
||||||
|
do echo ".. range $$range"; \
|
||||||
|
./test_wcwidth -s $$range; \
|
||||||
|
./test_wcwidth -s $$range -w; \
|
||||||
|
done'
|
||||||
|
################################################################################
|
||||||
|
mostlyclean :
|
||||||
|
-$(RM) *$o *.[is] XTerm[1-9]*.* Xterm.log.* XtermLog.* .pure core *~ *.bak *.BAK *.out *.tmp
|
||||||
|
|
||||||
|
clean : mostlyclean
|
||||||
|
-$(RM) $(PROGRAMS) $(TEST_PROGRAMS) $(AUTO_SOURCE)
|
||||||
|
|
||||||
|
sources : $(AUTO_SOURCE)
|
||||||
|
|
||||||
|
distclean :: clean
|
||||||
|
-$(RM) Makefile config.status config.cache config.log xtermcfg.h
|
||||||
|
-$(RM) df-install minstall
|
||||||
|
|
||||||
|
distclean \
|
||||||
|
docs-clean ::
|
||||||
|
-$(RM) *.ps *.pdf *.png
|
||||||
|
-$(SHELL) -c 'for p in xterm resize uxterm koi8rxterm; \
|
||||||
|
do \
|
||||||
|
$(RM) $$p.html $$p.$(manext) $$p.txt; \
|
||||||
|
done'
|
||||||
|
-$(RM) ctlseqs.html ctlseqs.$(manext)
|
||||||
|
|
||||||
|
distclean ::
|
||||||
|
-$(RM) man2html.tmp
|
||||||
|
|
||||||
|
realclean : distclean
|
||||||
|
-$(RM) tags TAGS
|
||||||
|
|
||||||
|
maintainer-clean : realclean
|
||||||
|
-$(RM) 256colres.h 88colres.h
|
||||||
|
################################################################################
|
||||||
|
terminfo.out : terminfo ; tic -a -I -1 terminfo >$@
|
||||||
|
termcap.out : termcap ; tic -a -C -U termcap >$@
|
||||||
|
################################################################################
|
||||||
|
docs-ctlseqs \
|
||||||
|
docs :: $(srcdir)/ctlseqs.txt ctlseqs.html ctlseqs.pdf ctlseqs.ps
|
||||||
|
|
||||||
|
ctlseqs.html : $(srcdir)/ctlseqs.ms
|
||||||
|
ctlseqs.pdf : ctlseqs.ps
|
||||||
|
ctlseqs.ps : $(srcdir)/ctlseqs.ms
|
||||||
|
ctlseqs.txt : $(srcdir)/ctlseqs.ms
|
||||||
|
################################################################################
|
||||||
|
docs-resize \
|
||||||
|
docs :: resize.txt resize.html resize.pdf resize.ps
|
||||||
|
resize.html : resize.$(manext)
|
||||||
|
resize.pdf : resize.ps
|
||||||
|
resize.ps : resize.$(manext)
|
||||||
|
resize.txt : resize.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-xterm \
|
||||||
|
docs :: xterm.txt xterm.html xterm.pdf xterm.ps
|
||||||
|
xterm.html : xterm.$(manext)
|
||||||
|
xterm.pdf : xterm.ps
|
||||||
|
xterm.ps : xterm.$(manext)
|
||||||
|
xterm.txt : xterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-uxterm \
|
||||||
|
docs :: uxterm.txt uxterm.html uxterm.pdf uxterm.ps
|
||||||
|
uxterm.html : uxterm.$(manext)
|
||||||
|
uxterm.pdf : uxterm.ps
|
||||||
|
uxterm.ps : uxterm.$(manext)
|
||||||
|
uxterm.txt : uxterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-koi8rxterm \
|
||||||
|
docs :: koi8rxterm.txt koi8rxterm.html koi8rxterm.pdf koi8rxterm.ps
|
||||||
|
koi8rxterm.html : koi8rxterm.$(manext)
|
||||||
|
koi8rxterm.pdf : koi8rxterm.ps
|
||||||
|
koi8rxterm.ps : koi8rxterm.$(manext)
|
||||||
|
koi8rxterm.txt : koi8rxterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
lint :
|
||||||
|
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS1)
|
||||||
|
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS2)
|
||||||
|
|
||||||
|
tags :
|
||||||
|
$(CTAGS) $(SRCS) $(HDRS)
|
||||||
|
|
||||||
|
TAGS :
|
||||||
|
$(ETAGS) $(SRCS) $(HDRS)
|
||||||
|
|
||||||
|
$(TERMINFO_DIR) $(INSTALL_DIRS) :
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
ALWAYS :
|
||||||
|
|
||||||
|
depend : $(TABLES)
|
||||||
|
makedepend -- $(CPPFLAGS) -- $(SRCS)
|
||||||
|
|
||||||
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
634
ports/xterm/xterm-359/Makefile.in
Normal file
634
ports/xterm/xterm-359/Makefile.in
Normal file
@ -0,0 +1,634 @@
|
|||||||
|
## $XTermId: Makefile.in,v 1.253 2020/08/02 19:12:41 tom Exp $
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 1997-2019,2020 by Thomas E. Dickey
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
#### Start of system configuration section. ####
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
|
||||||
|
x = @EXEEXT@
|
||||||
|
o = .@OBJEXT@
|
||||||
|
|
||||||
|
CC = @CC@
|
||||||
|
CPP = @CPP@
|
||||||
|
AWK = @AWK@
|
||||||
|
LINK = $(CC) $(CFLAGS)
|
||||||
|
|
||||||
|
CTAGS = @CTAGS@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
|
|
||||||
|
LN_S = @LN_S@
|
||||||
|
RM = rm -f
|
||||||
|
LINT = @LINT@
|
||||||
|
LINT_OPTS = @LINT_OPTS@
|
||||||
|
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
transform = @program_transform_name@
|
||||||
|
|
||||||
|
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||||
|
EXTRA_CPPFLAGS = @EXTRA_CPPFLAGS@
|
||||||
|
EXTRA_LOADFLAGS = @IMAKE_LOADFLAGS@
|
||||||
|
|
||||||
|
CPPFLAGS = -I. -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@ -DDEFCLASS=\"@APP_CLASS@\" $(EXTRA_CPPFLAGS)
|
||||||
|
CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
|
||||||
|
LDFLAGS = @LDFLAGS@ @EXTRA_LDFLAGS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
|
||||||
|
manext = 1
|
||||||
|
bindir = @bindir@
|
||||||
|
libdir = @libdir@
|
||||||
|
mandir = @mandir@/man$(manext)
|
||||||
|
appsdir = @APPSDIR@
|
||||||
|
icondir = @ICONDIR@
|
||||||
|
pixmapdir = @PIXMAPDIR@
|
||||||
|
|
||||||
|
#### End of system configuration section. ####
|
||||||
|
|
||||||
|
ICON_NAME = @ICON_NAME@
|
||||||
|
ICON_SYMLINK = @ICON_SYMLINK@
|
||||||
|
|
||||||
|
DESTDIR =
|
||||||
|
BINDIR = $(DESTDIR)$(bindir)
|
||||||
|
LIBDIR = $(DESTDIR)$(libdir)
|
||||||
|
MANDIR = $(DESTDIR)$(mandir)
|
||||||
|
APPSDIR = $(DESTDIR)$(appsdir)
|
||||||
|
|
||||||
|
@no_icondir@ICONDIR = $(DESTDIR)$(icondir)
|
||||||
|
@no_pixmapdir@PIXMAPDIR = $(DESTDIR)$(pixmapdir)
|
||||||
|
|
||||||
|
INSTALL_DIRS = $(BINDIR) $(APPSDIR) $(ICONDIR) $(PIXMAPDIR) $(MANDIR)
|
||||||
|
|
||||||
|
CLASS = @APP_CLASS@
|
||||||
|
EXTRAHDR = @EXTRAHDRS@
|
||||||
|
EXTRASRC = @EXTRASRCS@
|
||||||
|
EXTRAOBJ = @EXTRAOBJS@
|
||||||
|
|
||||||
|
AUTO_SOURCE = \
|
||||||
|
builtin_icons.h \
|
||||||
|
VTparse.cin \
|
||||||
|
Tekparse.cin \
|
||||||
|
VTparse.hin \
|
||||||
|
Tekparse.hin
|
||||||
|
|
||||||
|
SRCS1 = button.c cachedGCs.c charproc.c charsets.c cursor.c \
|
||||||
|
data.c doublechr.c fontutils.c input.c \
|
||||||
|
linedata.c main.c menu.c misc.c \
|
||||||
|
print.c ptydata.c scrollback.c \
|
||||||
|
screen.c scrollbar.c tabs.c util.c version.c xstrings.c \
|
||||||
|
xtermcap.c VTPrsTbl.c $(EXTRASRC)
|
||||||
|
OBJS1 = button$o cachedGCs$o charproc$o charsets$o cursor$o \
|
||||||
|
data$o doublechr$o fontutils$o input$o \
|
||||||
|
linedata$o main$o menu$o misc$o \
|
||||||
|
print$o ptydata$o scrollback$o \
|
||||||
|
screen$o scrollbar$o tabs$o util$o version$o xstrings$o \
|
||||||
|
xtermcap$o VTPrsTbl$o $(EXTRAOBJ)
|
||||||
|
SRCS2 = resize.c version.c xstrings.c
|
||||||
|
OBJS2 = resize$o version$o xstrings$o
|
||||||
|
SRCS = $(SRCS1) $(SRCS2)
|
||||||
|
OBJS = $(OBJS1) $(OBJS2)
|
||||||
|
HDRS = VTparse.h data.h error.h fontutils.h main.h menu.h \
|
||||||
|
ptyx.h version.h xstrings.h xterm.h xtermcap.h $(EXTRAHDR)
|
||||||
|
PROGRAMS = xterm$x resize$x
|
||||||
|
TEST_PROGRAMS = test_charclass$x test_ptydata$x test_wcwidth$x
|
||||||
|
|
||||||
|
all : $(PROGRAMS)
|
||||||
|
################################################################################
|
||||||
|
.SUFFIXES : .i .def .cin .hin .$(manext) .ms .man .txt @MAN2HTML_NOTE@ .html @GROFF_NOTE@ .ps .pdf
|
||||||
|
|
||||||
|
.c$o :
|
||||||
|
@RULE_CC@
|
||||||
|
@ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/$*.c
|
||||||
|
|
||||||
|
.c.i :
|
||||||
|
@RULE_CC@
|
||||||
|
@ECHO_CC@$(CPP) -C $(CPPFLAGS) $*.c >$@
|
||||||
|
|
||||||
|
.def.cin :
|
||||||
|
@echo "making $@ from $<"
|
||||||
|
@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "{ %d, \"%s\" },\n", n++, $$1; }' < $< >$@
|
||||||
|
|
||||||
|
.def.hin :
|
||||||
|
@echo "making $@ from $<"
|
||||||
|
@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
|
||||||
|
|
||||||
|
.man.$(manext) :
|
||||||
|
$(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $(appsdir) $(CLASS) $* $* $(pixmapdir)
|
||||||
|
|
||||||
|
@NROFF_NOTE@.$(manext).txt :
|
||||||
|
@NROFF_NOTE@ $(SHELL) -c "tbl $*.$(manext) | nroff -man | col -bx" >$@
|
||||||
|
@NROFF_NOTE@
|
||||||
|
@NROFF_NOTE@.ms.txt :
|
||||||
|
@NROFF_NOTE@ $(SHELL) -c "tbl $*.$(manext) | nroff -ms | col -bx" >$@
|
||||||
|
@NROFF_NOTE@
|
||||||
|
|
||||||
|
@MAN2HTML_NOTE@.$(manext).html :
|
||||||
|
@MAN2HTML_NOTE@ ./@MAN2HTML_TEMP@ $* $(manext) man >$@
|
||||||
|
@MAN2HTML_NOTE@
|
||||||
|
@GROFF_NOTE@.$(manext).ps :
|
||||||
|
@GROFF_NOTE@ $(SHELL) -c "tbl $*.$(manext) | groff -man" >$@
|
||||||
|
@GROFF_NOTE@
|
||||||
|
@GROFF_NOTE@.$(manext).txt :
|
||||||
|
@GROFF_NOTE@ GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | groff -Tascii -man | col -bx" >$@
|
||||||
|
@GROFF_NOTE@
|
||||||
|
@MAN2HTML_NOTE@.ms.html :
|
||||||
|
@MAN2HTML_NOTE@ ./@MAN2HTML_TEMP@ $* ms ms >$@
|
||||||
|
@MAN2HTML_NOTE@
|
||||||
|
@GROFF_NOTE@.ms.ps :
|
||||||
|
@GROFF_NOTE@ $(SHELL) -c "tbl $< | groff -ms" >$@
|
||||||
|
@GROFF_NOTE@
|
||||||
|
@GROFF_NOTE@.ms.txt :
|
||||||
|
@GROFF_NOTE@ GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -Tascii -ms | col -bx" >$@
|
||||||
|
@GROFF_NOTE@
|
||||||
|
@GROFF_NOTE@.ps.pdf :
|
||||||
|
@GROFF_NOTE@ ps2pdf $*.ps
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
VTPARSE_H = VTparse.h VTparse.hin
|
||||||
|
TEKPARSE_H = Tekparse.h Tekparse.hin
|
||||||
|
|
||||||
|
main$o : main.h
|
||||||
|
misc$o : version.h
|
||||||
|
|
||||||
|
$(OBJS1) : xterm.h ptyx.h xtermcfg.h
|
||||||
|
main$o resize$o screen$o : xterm_io.h
|
||||||
|
|
||||||
|
xterm$x : $(OBJS1)
|
||||||
|
@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(LINK) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS) $(EXTRA_LOADFLAGS)
|
||||||
|
|
||||||
|
resize$x : $(OBJS2)
|
||||||
|
@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(LINK) $(LDFLAGS) -o $@ $(OBJS2) $(LIBS)
|
||||||
|
|
||||||
|
256colres.h :
|
||||||
|
-$(RM) $@
|
||||||
|
perl $(srcdir)/256colres.pl > $@
|
||||||
|
|
||||||
|
88colres.h :
|
||||||
|
-$(RM) $@
|
||||||
|
perl $(srcdir)/88colres.pl > $@
|
||||||
|
|
||||||
|
charproc$o : $(VTPARSE_H) main.h @CHARPROC_DEPS@
|
||||||
|
graphics_regis$o : $(VTPARSE_H)
|
||||||
|
graphics_sixel$o : $(VTPARSE_H)
|
||||||
|
misc$o : $(VTPARSE_H)
|
||||||
|
VTPrsTbl$o : $(VTPARSE_H)
|
||||||
|
|
||||||
|
TekPrsTbl$o : $(TEKPARSE_H)
|
||||||
|
Tekproc$o : $(TEKPARSE_H)
|
||||||
|
|
||||||
|
misc$o : builtin_icons.h
|
||||||
|
|
||||||
|
trace$o : VTparse.cin Tekparse.cin
|
||||||
|
|
||||||
|
# do this to quiet gcc -Wcast-qual warnings
|
||||||
|
builtin_icons.h :
|
||||||
|
@echo "#if OPT_BUILTIN_XPMS" >$@
|
||||||
|
@echo "#include <icons/mini.xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/filled-xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/xterm.xpms>" >>$@
|
||||||
|
@echo "#include <icons/xterm-color.xpms>" >>$@
|
||||||
|
@echo "#else" >>$@
|
||||||
|
@sed -e 's/static char \* /static const char * /' $(srcdir)/icons/mini.xterm_48x48.xpm >>$@
|
||||||
|
@echo "#endif" >>$@
|
||||||
|
@echo "made $@"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_charclass$x : $(srcdir)/charclass.c
|
||||||
|
@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/charclass.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_ptydata$x : $(srcdir)/ptydata.c
|
||||||
|
@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/ptydata.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
test_wcwidth$x : $(srcdir)/wcwidth.c
|
||||||
|
@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/wcwidth.c $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
actual_xterm = `echo xterm| sed '$(transform)'`
|
||||||
|
actual_resize = `echo resize| sed '$(transform)'`
|
||||||
|
actual_uxterm = `echo uxterm| sed '$(transform)'`
|
||||||
|
actual_k8term = `echo koi8rxterm| sed '$(transform)'`
|
||||||
|
|
||||||
|
binary_xterm = $(actual_xterm)$x
|
||||||
|
binary_resize = $(actual_resize)$x
|
||||||
|
binary_uxterm = $(actual_uxterm)
|
||||||
|
binary_k8term = $(actual_k8term)
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-bin \
|
||||||
|
install-full :: xterm$x resize$x $(BINDIR)
|
||||||
|
@MAY_SETUID@ $(SHELL) $(srcdir)/sinstall.sh @SINSTALL_OPTS@ "$(INSTALL_PROGRAM)" xterm$x @XTERM_PATH@ $(BINDIR)/$(binary_xterm)
|
||||||
|
@NOT_SETUID@ $(INSTALL_PROGRAM) xterm$x $(BINDIR)/$(binary_xterm)
|
||||||
|
$(INSTALL_PROGRAM) -m 755 resize$x $(BINDIR)/$(binary_resize)
|
||||||
|
|
||||||
|
EDIT_SCRIPT = sed -e s,=xterm,=\$$name, -e s,XTerm,$(CLASS),
|
||||||
|
|
||||||
|
InstallLink = \
|
||||||
|
if test @XTERM_SYMLINK@ != NONE \
|
||||||
|
&& test \$$source != NONE \
|
||||||
|
&& test \$$source != \$$target ; then \
|
||||||
|
cd \$$TARGET && ( \
|
||||||
|
$(RM) \$$source ; \
|
||||||
|
$(LN_S) \$$target \$$source ; \
|
||||||
|
echo \"... created symbolic link:\" ; \
|
||||||
|
ls -l \$$target \$$source ) ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
InstallBinLink = TARGET=$(BINDIR); $(InstallLink)
|
||||||
|
InstallManLink = TARGET=$(MANDIR); $(InstallLink)
|
||||||
|
|
||||||
|
InstallScript = \
|
||||||
|
echo \"... installing $(BINDIR)/\$$target\"; \
|
||||||
|
name=$(binary_xterm); \
|
||||||
|
$(EDIT_SCRIPT) $(srcdir)/\$$source >\$$source.tmp; \
|
||||||
|
$(INSTALL_SCRIPT) -m 755 \$$source.tmp $(BINDIR)/\$$target; \
|
||||||
|
$(RM) \$$source.tmp
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-bin \
|
||||||
|
install-scripts \
|
||||||
|
install-full :: $(BINDIR)
|
||||||
|
@$(SHELL) -c "source=\"@XTERM_SYMLINK@\"; \
|
||||||
|
target=\"$(binary_xterm)\"; \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"resize\"; \
|
||||||
|
target=\"$(binary_resize)\"; \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"uxterm\"; \
|
||||||
|
target=\"$(binary_uxterm)\"; \
|
||||||
|
$(InstallScript); \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
@$(SHELL) -c "source=\"koi8rxterm\"; \
|
||||||
|
target=\"$(binary_k8term)\"; \
|
||||||
|
$(InstallScript); \
|
||||||
|
$(InstallBinLink)"
|
||||||
|
|
||||||
|
install \
|
||||||
|
install-man \
|
||||||
|
install-full :: $(MANDIR)
|
||||||
|
@-$(SHELL) -c "for source in xterm resize uxterm koi8rxterm ; \
|
||||||
|
do \
|
||||||
|
target=\`echo \"\$$source\" | sed '@program_transform_name@'\`; \
|
||||||
|
$(SHELL) ./minstall \"$(INSTALL_DATA)\" \
|
||||||
|
$(srcdir)/\$$source.man \
|
||||||
|
$(MANDIR)/\$$target.$(manext) \
|
||||||
|
$(appsdir) \
|
||||||
|
$(CLASS) \
|
||||||
|
\$$source \
|
||||||
|
\$$target \
|
||||||
|
$(pixmapdir); \
|
||||||
|
done"
|
||||||
|
@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then \
|
||||||
|
source=$(actual_xterm).$(manext); \
|
||||||
|
target=@XTERM_SYMLINK@.$(manext); \
|
||||||
|
cd $(MANDIR) && ( \
|
||||||
|
$(RM) \$$target ; \
|
||||||
|
$(LN_S) \$$source \$$target ; \
|
||||||
|
echo '... created symbolic link:' ; \
|
||||||
|
ls -l \$$source \$$target ; \
|
||||||
|
) \
|
||||||
|
fi"
|
||||||
|
|
||||||
|
APP_NAMES = XTerm UXTerm KOI8RXTerm
|
||||||
|
|
||||||
|
@no_appsdir@install \
|
||||||
|
@no_appsdir@install-app \
|
||||||
|
@no_appsdir@install-full :: $(APPSDIR)
|
||||||
|
@no_appsdir@ @-$(SHELL) -c 'for s in $(APP_NAMES); \
|
||||||
|
@no_appsdir@ do \
|
||||||
|
@no_appsdir@ echo "** $$s"; \
|
||||||
|
@no_appsdir@ d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
|
||||||
|
@no_appsdir@ echo installing $(APPSDIR)/$$d; \
|
||||||
|
@no_appsdir@ sed -e s/XTerm/$(CLASS)/ $(srcdir)/$$s.ad >XTerm.tmp; \
|
||||||
|
@no_appsdir@ $(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d; \
|
||||||
|
@no_appsdir@ echo installing $(APPSDIR)/$$d-color; \
|
||||||
|
@no_appsdir@ sed -e s/XTerm/$$d/ $(srcdir)/XTerm-col.ad >XTerm.tmp; \
|
||||||
|
@no_appsdir@ $(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d-color; \
|
||||||
|
@no_appsdir@ done'
|
||||||
|
@no_appsdir@ @$(RM) XTerm.tmp
|
||||||
|
@no_icondir@ @echo "... installed app-defaults"
|
||||||
|
|
||||||
|
@no_icondir@ICON_LIST = @ICON_LIST@
|
||||||
|
@no_icondir@ICON_THEME = @ICON_THEME@
|
||||||
|
@no_icondir@install \
|
||||||
|
@no_icondir@install-icon \
|
||||||
|
@no_icondir@install-full :: $(ICONDIR)
|
||||||
|
@no_icondir@ @ECHO_CC@ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
|
||||||
|
@no_icondir@ h=$(ICONDIR)/$(ICON_THEME); \
|
||||||
|
@no_icondir@ for n in $(ICON_LIST); \
|
||||||
|
@no_icondir@ do \
|
||||||
|
@no_icondir@ x=$$ACTUAL_XTERM; \
|
||||||
|
@no_icondir@ l=`echo "$$n" | cut -f1 -d:`; \
|
||||||
|
@no_icondir@ r=`echo "$$n" | cut -f2 -d: |sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
@no_icondir@ test -z "$$r" && continue; \
|
||||||
|
@no_icondir@ d=$$h/`echo "$$r" | sed -e "s,/[^/]*$$,,"`; \
|
||||||
|
@no_icondir@ test -d "$$d" || mkdir -p "$$d"; \
|
||||||
|
@no_icondir@ echo "installing icon $$h/$$r"; \
|
||||||
|
@no_icondir@ $(INSTALL_DATA) $$l $$h/$$r; \
|
||||||
|
@no_icondir@ s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
|
||||||
|
@no_icondir@ t=$(ICON_SYMLINK)$$s; \
|
||||||
|
@no_icondir@ b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
|
||||||
|
@no_icondir@ if test "$(ICON_SYMLINK)" != NONE ; then \
|
||||||
|
@no_icondir@ if test "$$r" != "$$t" ; then \
|
||||||
|
@no_icondir@ if test "x$$b" = "x$(ICON_NAME)" ; then \
|
||||||
|
@no_icondir@ echo "linking $$r -> $$t"; \
|
||||||
|
@no_icondir@ ( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
|
||||||
|
@no_icondir@ fi \
|
||||||
|
@no_icondir@ fi \
|
||||||
|
@no_icondir@ fi \
|
||||||
|
@no_icondir@ done'
|
||||||
|
@no_icondir@ @echo "... installed icons"
|
||||||
|
|
||||||
|
@no_pixmapdir@install \
|
||||||
|
@no_pixmapdir@install-icon \
|
||||||
|
@no_pixmapdir@install-full :: $(PIXMAPDIR)
|
||||||
|
@no_pixmapdir@ @ECHO_CC@ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
|
||||||
|
@no_pixmapdir@ h=$(PIXMAPDIR); \
|
||||||
|
@no_pixmapdir@ for n in $(srcdir)/icons/*xterm*_32x32.xpm $(srcdir)/icons/*xterm*_48x48.xpm; \
|
||||||
|
@no_pixmapdir@ do \
|
||||||
|
@no_pixmapdir@ l=`basename $$n`; \
|
||||||
|
@no_pixmapdir@ r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
@no_pixmapdir@ echo "installing pixmap $$h/$$r"; \
|
||||||
|
@no_pixmapdir@ $(INSTALL_DATA) $(srcdir)/icons/$$l $$h/$$r; \
|
||||||
|
@no_pixmapdir@ s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
|
||||||
|
@no_pixmapdir@ t=$(ICON_SYMLINK)$$s; \
|
||||||
|
@no_pixmapdir@ b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
|
||||||
|
@no_pixmapdir@ if test "$(ICON_SYMLINK)" != NONE ; then \
|
||||||
|
@no_pixmapdir@ if test "x$$r" != "$$t" ; then \
|
||||||
|
@no_pixmapdir@ if test "x$$b" = "x$(ICON_NAME)" ; then \
|
||||||
|
@no_pixmapdir@ echo "linking $$r -> $$t"; \
|
||||||
|
@no_pixmapdir@ ( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
|
||||||
|
@no_pixmapdir@ fi \
|
||||||
|
@no_pixmapdir@ fi \
|
||||||
|
@no_pixmapdir@ fi \
|
||||||
|
@no_pixmapdir@ done'
|
||||||
|
@no_pixmapdir@ @echo "... installed icons"
|
||||||
|
|
||||||
|
install ::
|
||||||
|
@echo 'Completed installation of executables and documentation.'
|
||||||
|
@echo 'Use "make install-ti" to install terminfo description.'
|
||||||
|
|
||||||
|
TERMINFO_DIR = @TERMINFO_DIR@
|
||||||
|
SET_TERMINFO = @SET_TERMINFO@
|
||||||
|
|
||||||
|
@no_ticprog@install-full \
|
||||||
|
@no_ticprog@install-ti :: $(TERMINFO_DIR)
|
||||||
|
@no_ticprog@ @$(SHELL) -c "$(SET_TERMINFO) $(srcdir)/run-tic.sh $(srcdir)/terminfo"
|
||||||
|
@no_ticprog@ @echo 'Completed installation of terminfo description.'
|
||||||
|
|
||||||
|
install-full \
|
||||||
|
install-tc ::
|
||||||
|
@-$(SHELL) -c "if test -f /etc/termcap ; then echo 'You must install the termcap entry manually by editing /etc/termcap'; fi"
|
||||||
|
|
||||||
|
installdirs : $(INSTALL_DIRS)
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
UninstallLink = \
|
||||||
|
if test @XTERM_SYMLINK@ != NONE \
|
||||||
|
&& test \$$source != NONE \
|
||||||
|
&& test \$$source != \$$target \
|
||||||
|
&& test -h \$$TARGET/\$$source ; then \
|
||||||
|
echo \"... removing \$$TARGET/\$$source\"; \
|
||||||
|
cd \$$TARGET && \
|
||||||
|
$(RM) \$$source; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
UninstallBinLink = TARGET=$(BINDIR); $(UninstallLink)
|
||||||
|
UninstallManLink = TARGET=$(MANDIR); $(UninstallLink)
|
||||||
|
|
||||||
|
UninstallBinary = \
|
||||||
|
echo \"... removing $(BINDIR)/\$$target\"; \
|
||||||
|
$(RM) $(BINDIR)/\$$target
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-bin \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "source=\"@XTERM_SYMLINK@\"; \
|
||||||
|
target=\"$(binary_xterm)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
@-$(SHELL) -c "source=\"resize\"; \
|
||||||
|
target=\"$(binary_resize)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-bin \
|
||||||
|
uninstall-scripts \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "source=\"uxterm\"; \
|
||||||
|
target=\"$(binary_uxterm)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
@-$(SHELL) -c "source=\"koi8rxterm\"; \
|
||||||
|
target=\"$(binary_k8term)\"; \
|
||||||
|
$(UninstallBinLink); \
|
||||||
|
$(UninstallBinary)"
|
||||||
|
|
||||||
|
uninstall \
|
||||||
|
uninstall-man \
|
||||||
|
uninstall-full ::
|
||||||
|
@-$(SHELL) -c "\
|
||||||
|
source=@XTERM_SYMLINK@.$(manext); \
|
||||||
|
target=$(actual_xterm).$(manext); \
|
||||||
|
$(UninstallManLink)"
|
||||||
|
@-$(SHELL) -c "for source in \
|
||||||
|
$(actual_xterm).$(manext) \
|
||||||
|
$(actual_resize).$(manext) \
|
||||||
|
$(actual_uxterm).$(manext) \
|
||||||
|
$(actual_k8term).$(manext); \
|
||||||
|
do \
|
||||||
|
echo \"... removing $(MANDIR)/\$$source\"; \
|
||||||
|
$(RM) $(MANDIR)/\$$source; \
|
||||||
|
done"
|
||||||
|
|
||||||
|
@no_appsdir@uninstall \
|
||||||
|
@no_appsdir@uninstall-app \
|
||||||
|
@no_appsdir@uninstall-full ::
|
||||||
|
@no_appsdir@ -@ECHO_CC@$(SHELL) -c 'for s in $(APP_NAMES); \
|
||||||
|
@no_appsdir@ do \
|
||||||
|
@no_appsdir@ echo "** $$s"; \
|
||||||
|
@no_appsdir@ d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
|
||||||
|
@no_appsdir@ echo uninstalling $(APPSDIR)/$$d; \
|
||||||
|
@no_appsdir@ $(RM) $(APPSDIR)/$$d; \
|
||||||
|
@no_appsdir@ echo uninstalling $(APPSDIR)/$$d-color; \
|
||||||
|
@no_appsdir@ $(RM) $(APPSDIR)/$$d-color; \
|
||||||
|
@no_appsdir@ done'
|
||||||
|
|
||||||
|
@no_icondir@uninstall \
|
||||||
|
@no_icondir@uninstall-icon \
|
||||||
|
@no_icondir@uninstall-full ::
|
||||||
|
@no_icondir@ -@ECHO_CC@$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
|
||||||
|
@no_icondir@ for n in $(ICON_LIST); \
|
||||||
|
@no_icondir@ do \
|
||||||
|
@no_icondir@ r=`echo "$$n" | sed -e s,\^.\*:,, -e s,xterm,$$ACTUAL_XTERM,`; \
|
||||||
|
@no_icondir@ test -z "$$r" && continue; \
|
||||||
|
@no_icondir@ h=$(ICONDIR)/$(ICON_THEME); \
|
||||||
|
@no_icondir@ test -f $$h/$$r || continue; \
|
||||||
|
@no_icondir@ echo removing $$h/$$r; \
|
||||||
|
@no_icondir@ $(RM) $$h/$$r; \
|
||||||
|
@no_icondir@ done'
|
||||||
|
@no_icondir@ @echo "... removed icons"
|
||||||
|
|
||||||
|
@no_pixmapdir@uninstall \
|
||||||
|
@no_pixmapdir@uninstall-icon \
|
||||||
|
@no_pixmapdir@uninstall-full ::
|
||||||
|
@no_pixmapdir@ -@$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
|
||||||
|
@no_pixmapdir@ for n in $(srcdir)/icons/*xterm*_32x32.xpm $(srcdir)/icons/*xterm*_48x48.xpm; \
|
||||||
|
@no_pixmapdir@ do \
|
||||||
|
@no_pixmapdir@ l=`basename $$n`; \
|
||||||
|
@no_pixmapdir@ r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
|
||||||
|
@no_pixmapdir@ echo removing $(PIXMAPDIR)/$$r; \
|
||||||
|
@no_pixmapdir@ $(RM) $(PIXMAPDIR)/$$r; \
|
||||||
|
@no_pixmapdir@ done'
|
||||||
|
@no_pixmapdir@ @echo "... removed icons"
|
||||||
|
################################################################################
|
||||||
|
# Desktop-utils does not provide an uninstall, and is not uniformly available.
|
||||||
|
@desktop_utils@DESKTOP_FILES = $(srcdir)/xterm.desktop $(srcdir)/uxterm.desktop
|
||||||
|
@desktop_utils@DESKTOP_FLAGS = @DESKTOP_FLAGS@
|
||||||
|
@desktop_utils@install-desktop \
|
||||||
|
@desktop_utils@install-full ::
|
||||||
|
@desktop_utils@ ACTUAL_XTERM=$(actual_xterm) \
|
||||||
|
@desktop_utils@ $(SHELL) -c 'for n in $(DESKTOP_FILES); \
|
||||||
|
@desktop_utils@ do $(SHELL) df-install $$ACTUAL_XTERM $(ICON_NAME) DESTDIR="$(DESTDIR)" $(DESKTOP_FLAGS) $$n; \
|
||||||
|
@desktop_utils@ done'
|
||||||
|
################################################################################
|
||||||
|
check : $(TEST_PROGRAMS)
|
||||||
|
@ echo "See demos in vttests/* (use vttest for system-level testing)"
|
||||||
|
@ $(SHELL) -c 'echo "** executing test_charclass"; \
|
||||||
|
./test_charclass'
|
||||||
|
@ $(SHELL) -c 'echo "** executing test_wcwidth"; \
|
||||||
|
for range in 32-126 160-0xff00 0x10000-0x11000; \
|
||||||
|
do echo ".. range $$range"; \
|
||||||
|
./test_wcwidth -s $$range; \
|
||||||
|
./test_wcwidth -s $$range -w; \
|
||||||
|
done'
|
||||||
|
################################################################################
|
||||||
|
mostlyclean :
|
||||||
|
-$(RM) *$o *.[is] XTerm[1-9]*.* Xterm.log.* XtermLog.* .pure core *~ *.bak *.BAK *.out *.tmp
|
||||||
|
|
||||||
|
clean : mostlyclean
|
||||||
|
-$(RM) $(PROGRAMS) $(TEST_PROGRAMS) $(AUTO_SOURCE)
|
||||||
|
|
||||||
|
sources : $(AUTO_SOURCE)
|
||||||
|
|
||||||
|
distclean :: clean
|
||||||
|
-$(RM) Makefile config.status config.cache config.log xtermcfg.h
|
||||||
|
-$(RM) df-install minstall
|
||||||
|
|
||||||
|
distclean \
|
||||||
|
docs-clean ::
|
||||||
|
-$(RM) *.ps *.pdf *.png
|
||||||
|
-$(SHELL) -c 'for p in xterm resize uxterm koi8rxterm; \
|
||||||
|
do \
|
||||||
|
$(RM) $$p.html $$p.$(manext) $$p.txt; \
|
||||||
|
done'
|
||||||
|
-$(RM) ctlseqs.html ctlseqs.$(manext)
|
||||||
|
|
||||||
|
distclean ::
|
||||||
|
-$(RM) man2html.tmp
|
||||||
|
|
||||||
|
realclean : distclean
|
||||||
|
-$(RM) tags TAGS
|
||||||
|
|
||||||
|
maintainer-clean : realclean
|
||||||
|
-$(RM) 256colres.h 88colres.h
|
||||||
|
################################################################################
|
||||||
|
terminfo.out : terminfo ; tic -a -I -1 terminfo >$@
|
||||||
|
termcap.out : termcap ; tic -a -C -U termcap >$@
|
||||||
|
################################################################################
|
||||||
|
docs-ctlseqs \
|
||||||
|
docs :: $(srcdir)/ctlseqs.txt @MAN2HTML_NOTE@ ctlseqs.html @GROFF_NOTE@ ctlseqs.pdf ctlseqs.ps
|
||||||
|
|
||||||
|
ctlseqs.html : $(srcdir)/ctlseqs.ms
|
||||||
|
ctlseqs.pdf : ctlseqs.ps
|
||||||
|
ctlseqs.ps : $(srcdir)/ctlseqs.ms
|
||||||
|
ctlseqs.txt : $(srcdir)/ctlseqs.ms
|
||||||
|
################################################################################
|
||||||
|
docs-resize \
|
||||||
|
docs :: resize.txt @MAN2HTML_NOTE@ resize.html @GROFF_NOTE@ resize.pdf resize.ps
|
||||||
|
resize.html : resize.$(manext)
|
||||||
|
resize.pdf : resize.ps
|
||||||
|
resize.ps : resize.$(manext)
|
||||||
|
resize.txt : resize.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-xterm \
|
||||||
|
docs :: xterm.txt @MAN2HTML_NOTE@ xterm.html @GROFF_NOTE@ xterm.pdf xterm.ps
|
||||||
|
xterm.html : xterm.$(manext)
|
||||||
|
xterm.pdf : xterm.ps
|
||||||
|
xterm.ps : xterm.$(manext)
|
||||||
|
xterm.txt : xterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-uxterm \
|
||||||
|
docs :: uxterm.txt @MAN2HTML_NOTE@ uxterm.html @GROFF_NOTE@ uxterm.pdf uxterm.ps
|
||||||
|
uxterm.html : uxterm.$(manext)
|
||||||
|
uxterm.pdf : uxterm.ps
|
||||||
|
uxterm.ps : uxterm.$(manext)
|
||||||
|
uxterm.txt : uxterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
docs-koi8rxterm \
|
||||||
|
docs :: koi8rxterm.txt @MAN2HTML_NOTE@ koi8rxterm.html @GROFF_NOTE@ koi8rxterm.pdf koi8rxterm.ps
|
||||||
|
koi8rxterm.html : koi8rxterm.$(manext)
|
||||||
|
koi8rxterm.pdf : koi8rxterm.ps
|
||||||
|
koi8rxterm.ps : koi8rxterm.$(manext)
|
||||||
|
koi8rxterm.txt : koi8rxterm.$(manext)
|
||||||
|
################################################################################
|
||||||
|
lint :
|
||||||
|
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS1)
|
||||||
|
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS2)
|
||||||
|
|
||||||
|
tags :
|
||||||
|
$(CTAGS) $(SRCS) $(HDRS)
|
||||||
|
|
||||||
|
TAGS :
|
||||||
|
$(ETAGS) $(SRCS) $(HDRS)
|
||||||
|
|
||||||
|
$(TERMINFO_DIR) $(INSTALL_DIRS) :
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
ALWAYS :
|
||||||
|
|
||||||
|
depend : $(TABLES)
|
||||||
|
makedepend -- $(CPPFLAGS) -- $(SRCS)
|
||||||
|
|
||||||
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
27
ports/xterm/xterm-359/NEWS
Normal file
27
ports/xterm/xterm-359/NEWS
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
The NEWS file was generated from xterm.log.html, which serves as the changelog
|
||||||
|
for xterm.
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Patch #359 - 2020/08/17
|
||||||
|
|
||||||
|
* add special case in WriteText to allow colors 8-15 to override
|
||||||
|
colorBDMode (patch by Ingo Brückl).
|
||||||
|
* add utf8Weblike resource, to provide an alternate scheme for
|
||||||
|
handling ill-formed UTF-8 sequences (adapted from patch by Dan
|
||||||
|
Gohman).
|
||||||
|
* improve computation for the number of lines needed to scroll-up a
|
||||||
|
SIXEL graphic (report/patch by Ben Wong).
|
||||||
|
* correct manpage description for default value of disallowWindowOps
|
||||||
|
from changes in xterm #331 (patch by Ben Wong).
|
||||||
|
* correct a loop starting-point in refresh_graphics from optimization
|
||||||
|
in patch #358 changes (report by Ben Wong).
|
||||||
|
* add a new mouse mode 1016, which uses the same format as mode 1006,
|
||||||
|
but sends the mouse's position in pixels (suggested by Igor van den
|
||||||
|
Hoven).
|
||||||
|
* fix an issue from patch #338 changes where only the first selection
|
||||||
|
buffer specified in the request would be updated using OSC 52
|
||||||
|
(patch by Michael Gulick).
|
||||||
|
* modify makefile/scripts to allow DESTDIR to prefix the target
|
||||||
|
directory for desktop-file-install (report by Fred Heitkamp).
|
||||||
|
* enable SIXEL feature by default.
|
||||||
|
* update config.guess, config.sub
|
||||||
|
|
19
ports/xterm/xterm-359/README
Normal file
19
ports/xterm/xterm-359/README
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-- $XTermId: README,v 1.3 2007/05/24 19:49:19 tom Exp $
|
||||||
|
-- Below is the original README for xterm from 1991, for your amusement.
|
||||||
|
-- For a better overview, see http://invisible-island.net/xterm/
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Abandon All Hope, Ye Who Enter Here
|
||||||
|
|
||||||
|
|
||||||
|
This is undoubtedly the most ugly program in the distribution. It was one of
|
||||||
|
the first "serious" programs ported, and still has a lot of historical baggage.
|
||||||
|
Ideally, there would be a general tty widget and then vt102 and tek4014
|
||||||
|
subwidgets so that they could be used in other programs. We are trying to
|
||||||
|
clean things up as we go, but there is still a lot of work to do.
|
||||||
|
|
||||||
|
If you are porting this to a machine that has problems with overlapping
|
||||||
|
bcopy's, watch out!
|
||||||
|
|
||||||
|
There are two documents on xterm: the man page, xterm.man, which describes
|
||||||
|
how to use it, and ctlseqs.ms, which describes the control sequences it
|
||||||
|
understands.
|
199
ports/xterm/xterm-359/README.i18n
Normal file
199
ports/xterm/xterm-359/README.i18n
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
-- $XFree86: xc/programs/xterm/README.i18n,v 1.1 2003/11/13 01:16:37 dickey Exp $
|
||||||
|
|
||||||
|
Using xterm in your language
|
||||||
|
============================
|
||||||
|
|
||||||
|
Since XFree86 version 4.0, the internationalization (i18n) feature of
|
||||||
|
xterm is gradually improved. Xterm is being improved even now. You
|
||||||
|
need only set the standard locale environment variables such as
|
||||||
|
LC_CTYPE, LC_ALL, LC_CTYPE, or LANG. Once the locale is set up you can
|
||||||
|
use xterm in your favorite character encoding.
|
||||||
|
|
||||||
|
This document explains how the i18n feature is realized and how to
|
||||||
|
configure xterm for your character encoding.
|
||||||
|
|
||||||
|
Refer to locale(7) for details of the locale mechanism.
|
||||||
|
|
||||||
|
|
||||||
|
Basic i18n-related settings and resources
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
These settings apply to XFree86 xterm patch #181, and the program luit
|
||||||
|
which is distributed with XFree86 4.4
|
||||||
|
|
||||||
|
1. Usage of "locale mode"
|
||||||
|
|
||||||
|
On startup, xterm must be in "locale mode" to make it follow the
|
||||||
|
current locale. You can invoke xterm in locale mode in these ways:
|
||||||
|
|
||||||
|
a. Set "vt100.locale" resource "true". This resource was
|
||||||
|
introduced since XFree86 4.3. The default value of the "locale"
|
||||||
|
resource is "medium", which means xterm follows the locale only
|
||||||
|
in Chinese, Japanese, Korean, or Thai locales. For example,
|
||||||
|
|
||||||
|
XTerm*locale: true
|
||||||
|
|
||||||
|
in your ~/.Xresources file.
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
b. Invoke xterm with the "-lc" option.
|
||||||
|
|
||||||
|
2. Converter program "luit"
|
||||||
|
|
||||||
|
The "luit" must be available in the standard XFree86 binary
|
||||||
|
directory. It is usually available because it is part of the
|
||||||
|
XFree86 distribution. The standard binary directory may differ from
|
||||||
|
system to system. /usr/X11R6/bin/luit is an example.
|
||||||
|
|
||||||
|
"luit" is used to convert between Unicode and the character encoding
|
||||||
|
for your locale. When built for XFree86, xterm includes logic for
|
||||||
|
invoking luit.
|
||||||
|
|
||||||
|
3. Locale setting
|
||||||
|
|
||||||
|
Finally, you will need to configure your locale. We expect that you
|
||||||
|
have already configured your locale for other software. For example,
|
||||||
|
|
||||||
|
LANG=de_DE@euro
|
||||||
|
export LANG
|
||||||
|
|
||||||
|
in your ~/.xsession file. There are many ways to configure locale.
|
||||||
|
For example, your display manager may have a mechanism to invoke a
|
||||||
|
window manager in your favorite locale, or you may have system-wide
|
||||||
|
locale setting in /etc/environment. You may also have set the
|
||||||
|
LC_ALL variable instead of the LANG variable.
|
||||||
|
|
||||||
|
|
||||||
|
How to use xterm in different locale temporarily
|
||||||
|
================================================
|
||||||
|
|
||||||
|
You may sometimes need to invoke xterm in a different character encoding
|
||||||
|
than your current locale. For example, use xterm to login remote systems
|
||||||
|
in different locale.
|
||||||
|
|
||||||
|
Do this by invoking xterm in the target locale. For example,
|
||||||
|
|
||||||
|
$ LANG=ru_RU.KOI8-R xterm &
|
||||||
|
|
||||||
|
Previously, font setting has been used in such cases.
|
||||||
|
|
||||||
|
$ xterm -fn -misc-fixed-medium-r-normal--10-*-*-*-*-*-koi8-r &
|
||||||
|
|
||||||
|
This does not work well in conjunction with the "locale" resource,
|
||||||
|
because luit and xterm combined rely upon Unicode fonts.
|
||||||
|
|
||||||
|
|
||||||
|
How to set fonts for UTF-8/locale modes
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Since xterm patch #181, xterm can automatically use Unicode fonts in
|
||||||
|
UTF-8 mode and locale mode. Few of you will need to modify the default
|
||||||
|
setting to display your language. In particular, Unicode fonts in
|
||||||
|
combination with locale mode will satisfy the needs of not only
|
||||||
|
ISO-8859-1 users but also East Asian and other non-ISO-8859-1 users.
|
||||||
|
|
||||||
|
If you want to set your favorite Unicode font for UTF-8 and locale
|
||||||
|
modes, you should add a line such as the following in your ~/.Xresources
|
||||||
|
file:
|
||||||
|
|
||||||
|
XTerm*VT100.utf8Fonts.font: \
|
||||||
|
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
|
||||||
|
|
||||||
|
The leading "XTerm*" pattern is more specific than the system's
|
||||||
|
app-defaults file, therefore it overrides the corresponding line
|
||||||
|
beginning with
|
||||||
|
|
||||||
|
*VT100.utf8Fonts.font:
|
||||||
|
|
||||||
|
Here is an additional note. If you want to display East Asian
|
||||||
|
doublewidth characters (CJK Ideogram, Hiragana, Katakana, Hangul,
|
||||||
|
and so on), we recommend using
|
||||||
|
|
||||||
|
-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-iso10646-1
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
-misc-fixed-medium-r-normal--18-*-*-*-*-*-iso10646-1
|
||||||
|
|
||||||
|
because these two fonts have corresponding doublewidth fonts. These
|
||||||
|
fonts are used as default font and default "Large" font, respectively.
|
||||||
|
|
||||||
|
|
||||||
|
The internals of xterm i18n
|
||||||
|
===========================
|
||||||
|
|
||||||
|
You do not need to read this section if you only want to configure your
|
||||||
|
xterm. Here we describe how xterm is implemented to support i18n.
|
||||||
|
|
||||||
|
The original version of xterm does not support locale or character
|
||||||
|
encoding. Its I/O stream is interpreted as a mere 8-bit index for a
|
||||||
|
font.
|
||||||
|
|
||||||
|
Beginning with XFree86 4.0, xterm supported UTF-8. It was implemented
|
||||||
|
as a separate UTF-8 mode from the conventional 8-bit mode. Character
|
||||||
|
encodings had no effect on the 8-bit mode. The UTF-8 mode has been
|
||||||
|
extended to support doublewidth characters (for East Asian characters)
|
||||||
|
and combining characters (such as accents for Latin alphabets and Thai
|
||||||
|
vowels/tone marks).
|
||||||
|
|
||||||
|
Doublewidth characters are characters that occupy two continuing
|
||||||
|
columns on the terminal. Xterm uses separate fonts for normal
|
||||||
|
(singlewidth) characters and doublewidth characters. Though xterm has
|
||||||
|
configuration items for specifying doublewidth fonts, it will
|
||||||
|
automatically search for a font with exactly twice as wide and the same
|
||||||
|
name as the specified normal font.
|
||||||
|
|
||||||
|
The default behavior of xterm was modified to use this UTF-8 mode in
|
||||||
|
UTF-8 locales. A command line option of "-u8" and a resource of "utf8"
|
||||||
|
were introduced to choose UTF-8 mode.
|
||||||
|
|
||||||
|
"luit" was introduced to XFree86 at version 4.2. It converts between
|
||||||
|
UTF-8 and other encodings. When luit is invoked in a UTF-8 terminal,
|
||||||
|
the terminal acts as if it is really running in the other encoding.
|
||||||
|
|
||||||
|
Since XFree86 version 4.3, xterm provides a new mode to invoke luit
|
||||||
|
automatically to support various encodings. The mode where xterm
|
||||||
|
invokes luit is called "locale mode". It is the third mode following
|
||||||
|
conventional 8-bit mode and UTF-8 mode. In the locale mode, xterm is
|
||||||
|
aware of the current locale and character encoding. Since locale mode
|
||||||
|
uses luit, it is based on the UTF-8 mode. That is, xterm works in UTF-8
|
||||||
|
mode and luit works as a converter between UTF-8 and the character
|
||||||
|
encoding for your locale. This is why the locale mode always needs
|
||||||
|
Unicode fonts. The default behavior of xterm is modified so that the
|
||||||
|
"locale mode" will be adopted in Chinese (Big5 and GB2312), Japanese
|
||||||
|
(EUC-JP), Korean (EUC-KR), and Thai (ISO-8859-11, as known as TIS-620)
|
||||||
|
locales. Locale mode is chosen for these character encodings because
|
||||||
|
these encodings are not supported by conventional 8-bit mode even by
|
||||||
|
changing fonts (ISO-8859-11 needs combining characters and others need
|
||||||
|
doublewidth characters).
|
||||||
|
|
||||||
|
To control the locale mode, command line options of "-lc" and "-en" and
|
||||||
|
a resource of "locale" were introduced. The command line option of
|
||||||
|
"-u8" and a resource of "utf8" were made obsolete by them, though
|
||||||
|
retained for compatibility.
|
||||||
|
|
||||||
|
Since XFree86 version 4.4, xterm can have two sets of default fonts,
|
||||||
|
one for conventional 8-bit mode and another for UTF-8 and locale modes,
|
||||||
|
by introducing the "utf8Fonts" subresource.
|
||||||
|
|
||||||
|
|
||||||
|
Future TODO Items
|
||||||
|
=================
|
||||||
|
|
||||||
|
We anticipate that xterm's locale mode will be used increasingly in the
|
||||||
|
future. Since the UTF-8 and locale modes use more resources than
|
||||||
|
conventional 8-bit mode (because it needs larger fonts and another
|
||||||
|
process "luit"), faster hardware may be needed to gain complete
|
||||||
|
acceptance by users. However, the locale mechanism allows users
|
||||||
|
to manipulate data in a standard form. Its usefulness compensates
|
||||||
|
in part for reduced performance.
|
||||||
|
|
||||||
|
Xterm supports antialiased fonts ("-fa" and "-fs" command line options).
|
||||||
|
Currently UTF-8 nor locale modes do not work with antialiased fonts.
|
||||||
|
|
||||||
|
Xterm does not support bi-directional or RTL languages such as Hebrew
|
||||||
|
and Arab. A simple standard how terminal should behave for these
|
||||||
|
languages is needed.
|
||||||
|
|
||||||
|
Xterm does not support Unicode characters above U+10000.
|
74
ports/xterm/xterm-359/README.os390
Normal file
74
ports/xterm/xterm-359/README.os390
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
-- $XFree86: xc/programs/xterm/README.os390,v 1.3 2000/09/22 10:42:05 alanh Exp $
|
||||||
|
|
||||||
|
Below are install instructions for os/390 2.5 & below and
|
||||||
|
for os/390 2.6 & above. The basic reasons for exporting
|
||||||
|
the LIBS and CFLAGS variables is to get the configure
|
||||||
|
script to run properly under os/390. configure, when
|
||||||
|
checking for X, attempts to compile a program something like
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
XtMalloc()
|
||||||
|
; return 0; }
|
||||||
|
|
||||||
|
using 'cc -o conftest conftest.c -lXt'. However this results
|
||||||
|
in a number of linkedit messages such as:
|
||||||
|
|
||||||
|
IEW2456E 9207 SYMBOL xcatd UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE
|
||||||
|
DESIGNATED CALL LIBRARY. NAME SPACE = 3
|
||||||
|
IEW2456E 9207 SYMBOL XrmQGetResource UNRESOLVED. MEMBER COULD NOT BE INCLUDED
|
||||||
|
FROM THE DESIGNATED CALL LIBRARY.
|
||||||
|
IEW2456E 9207 SYMBOL XrmGetDatabase UNRESOLVED. MEMBER COULD NOT BE INCLUDED
|
||||||
|
FROM THE DESIGNATED CALL LIBRARY.
|
||||||
|
|
||||||
|
The only way I can get this program to compile and link is to
|
||||||
|
use 'cc -o conftest conftest.c -lXt -lX11 -lSM -lICE'.
|
||||||
|
With os/390 2.6 and above, IBM has provided X functions in dlls;
|
||||||
|
this is the reason for the separate install steps. In fact,
|
||||||
|
trying to use the X archive files (eg -lX11) when linking xterm
|
||||||
|
results in an abend0C1 in low storage when X tries to call the
|
||||||
|
initialize function (at least on my system). This has something
|
||||||
|
to do with the calling X routine thinking it has a function pointer
|
||||||
|
descriptor (c++) when it actually has just a function pointer (c).
|
||||||
|
Unfortunately, I have been unable to recreate the problem in a
|
||||||
|
simple testcase, so I haven't reported it to IBM. Anyway, for os/390
|
||||||
|
2.6 and above, configure will build a Makefile with the following line:
|
||||||
|
|
||||||
|
LIBS = -lXaw -lXext -lXmu -lXt -lSM -lICE -lX11 /usr/lib/Xaw.x /usr/lib/SM.x /usr/lib/ICE.x /usr/lib/X11.x -lcurses
|
||||||
|
|
||||||
|
The '-lXaw -lXext -lXmu -lXt -lSM -lICE -lX11' should be manually removed;
|
||||||
|
this isn't strictly necessary, but will reduce the size of the executable
|
||||||
|
by about 4M.
|
||||||
|
|
||||||
|
The '-Wl,EDIT=NO' causes the Binder to produce a non-editable executable,
|
||||||
|
dramatically reducing the size of the executable file.
|
||||||
|
|
||||||
|
Good Luck!!
|
||||||
|
Greg Smith
|
||||||
|
rys@trex.rtpnc.epa.gov
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Install instructions for os/390 2.5 and *below*:
|
||||||
|
------------------------------------------------
|
||||||
|
gunzip xterm.tar.gz
|
||||||
|
pax -o from=ISO8859-1,to=IBM-1047 -rf xterm.tar
|
||||||
|
cd xterm
|
||||||
|
export LIBS='-lXt -lX11 -lSM -lICE'
|
||||||
|
export CFLAGS='-D_ALL_SOURCE -Wl,EDIT=NO'
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
export DISPLAY=my.xserver.name:0
|
||||||
|
./xterm
|
||||||
|
|
||||||
|
|
||||||
|
Install instructions for os/390 2.6 and *above*:
|
||||||
|
------------------------------------------------
|
||||||
|
gunzip xterm.tar.gz
|
||||||
|
pax -o from=ISO8859-1,to=IBM-1047 -rf xterm.tar
|
||||||
|
cd xterm
|
||||||
|
./configure # LIBS, CFLAGS, and CC are defined by configure for os/390 2.6.
|
||||||
|
[optional: edit the Makefile and remove '-lXaw -lXext -lXmu -lXt -lSM -lICE -lX11'
|
||||||
|
from the LIBS assignment]
|
||||||
|
make
|
||||||
|
export DISPLAY=my.xserver.name:0
|
||||||
|
./xterm
|
241
ports/xterm/xterm-359/THANKS
Normal file
241
ports/xterm/xterm-359/THANKS
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
-- $XTermId: THANKS,v 1.26 2020/07/03 17:42:57 tom Exp $
|
||||||
|
-- vile:txtmode fk=utf-8
|
||||||
|
There's no AUTHORS file in this distribution; it would be redundant since
|
||||||
|
I (Thomas E. Dickey) have done more than 80% of the work on xterm since 1996.
|
||||||
|
|
||||||
|
There is no reliable history before that point.
|
||||||
|
For some insight, see
|
||||||
|
|
||||||
|
https://invisible-island.net/xterm/xterm.faq.html#who_did_it
|
||||||
|
https://invisible-island.net/personal/changelogs.html#categories
|
||||||
|
|
||||||
|
Here is a list from xterm.log.html of people who have contributed changes,
|
||||||
|
or whose suggested change could be adapted:
|
||||||
|
|
||||||
|
Adam M Costello
|
||||||
|
Adam Sulmicki
|
||||||
|
Ailin Nemui
|
||||||
|
Al Poole
|
||||||
|
Alan Coopersmith
|
||||||
|
Alex Hornung
|
||||||
|
Alexander Pohoyda
|
||||||
|
Alexander V Lukyanov
|
||||||
|
Andrea Odetti
|
||||||
|
Andreas Jaeger
|
||||||
|
Andreas Schwab
|
||||||
|
Andres Perera
|
||||||
|
Andrew Sumner
|
||||||
|
Andrew Tipton
|
||||||
|
Andrey Panov
|
||||||
|
Andries E Brouwer
|
||||||
|
Anton Kovalenko
|
||||||
|
Balazs Kezes
|
||||||
|
Ben Wiley Sittler
|
||||||
|
Ben Wong
|
||||||
|
Ben Yoshino
|
||||||
|
Bernhard R Link
|
||||||
|
Bernhard Rosenkraenzer
|
||||||
|
Bertram Felgenhauer
|
||||||
|
Bill Nottingham
|
||||||
|
Bjarni Ingi Gislason
|
||||||
|
Bob Maynard
|
||||||
|
Brad Town
|
||||||
|
Bradd W Szonye
|
||||||
|
Bram Moolenaar
|
||||||
|
Branden Robinson
|
||||||
|
Bruno Haible
|
||||||
|
Cade Foster
|
||||||
|
Caetano Jimenez Carezzato
|
||||||
|
Chris Adams
|
||||||
|
Chris Clayton
|
||||||
|
Christian Biere
|
||||||
|
Christian Weisgerber
|
||||||
|
Chuck Blake
|
||||||
|
Chuck Silvers
|
||||||
|
Colum Paget
|
||||||
|
D Roland Walker
|
||||||
|
Dan Church
|
||||||
|
Dan Gohman
|
||||||
|
Dan Thompson
|
||||||
|
Daniel Colascione
|
||||||
|
Daniel Drake
|
||||||
|
Daniel Jacobowitz
|
||||||
|
Dave Coffin
|
||||||
|
Dave Simmons
|
||||||
|
David Dawes
|
||||||
|
David Krause
|
||||||
|
David Madore
|
||||||
|
David Martínez Moreno
|
||||||
|
David Mathog
|
||||||
|
David Michael
|
||||||
|
David Wolfskill
|
||||||
|
David Wood
|
||||||
|
David Yeo
|
||||||
|
Denis Zaitsev
|
||||||
|
Dennis Preiser
|
||||||
|
Dennis Schneider
|
||||||
|
Dimitrios Christidis
|
||||||
|
Ed Schouten
|
||||||
|
Eddy De Greef
|
||||||
|
Edward S Arthur
|
||||||
|
Egbert Eich
|
||||||
|
Egmont Koblinger
|
||||||
|
Emanuele Giaquinta
|
||||||
|
Eugene Konev
|
||||||
|
Fabrice Bellard
|
||||||
|
Frank Giessler
|
||||||
|
Frank Guangxin Liu
|
||||||
|
Frank Liu
|
||||||
|
Gael Roualland
|
||||||
|
George Kouryachy
|
||||||
|
George Nachman
|
||||||
|
George Peter Staplin
|
||||||
|
Gertjan Halkes
|
||||||
|
Greg Badros
|
||||||
|
Greg Klanderman
|
||||||
|
Greg Smith
|
||||||
|
H Merijn Brand
|
||||||
|
Hasso Tepper
|
||||||
|
Holger Veit
|
||||||
|
Ilya Zakharevich
|
||||||
|
Ingo Brückl
|
||||||
|
Iwamoto Kouichi
|
||||||
|
James Armstrong
|
||||||
|
Jan Engelhardt
|
||||||
|
Jason Bacon
|
||||||
|
Jason Vas Dias
|
||||||
|
Jeff Chua
|
||||||
|
Jeff Uphoff
|
||||||
|
Jens Schweikhardt
|
||||||
|
Jeremy Buhler
|
||||||
|
Jeremy Huddleston
|
||||||
|
Jeroen Ruigrok
|
||||||
|
Jess Thrysoee
|
||||||
|
Jim Paris
|
||||||
|
Jimmy Aguilar Mena
|
||||||
|
Jochen Voss
|
||||||
|
Joe Allen
|
||||||
|
Joe Peterson
|
||||||
|
Johnny Billquist
|
||||||
|
Jonathan Irwin
|
||||||
|
Julien Cristau
|
||||||
|
Juliusz Chroboczek
|
||||||
|
Jungshik Shin
|
||||||
|
Jürgen Keil
|
||||||
|
KUGA Tsutomu
|
||||||
|
Kean Johnston
|
||||||
|
Keith Packard
|
||||||
|
Ken Martin
|
||||||
|
Kevin Buhr
|
||||||
|
Kevin Ryde
|
||||||
|
Kevin Schoedel
|
||||||
|
Kiyokazu Suto
|
||||||
|
Larry Hynes
|
||||||
|
Larry Riedel
|
||||||
|
Lauri Tirkkonen
|
||||||
|
Lee Olsen
|
||||||
|
Loïc Minier
|
||||||
|
Marc Bevand
|
||||||
|
Marc La France
|
||||||
|
Marco Peereboom
|
||||||
|
Marius Tolzmann
|
||||||
|
Mark Waggoner
|
||||||
|
Markus Kuhn
|
||||||
|
Martin Hostettler
|
||||||
|
Martin Pirker
|
||||||
|
Martin Tournoij
|
||||||
|
Matthew Green
|
||||||
|
Matthias Baake
|
||||||
|
Matthias Scheler
|
||||||
|
Matthieu Herrb
|
||||||
|
Matthieu Lagouge
|
||||||
|
Mattias Engdegård
|
||||||
|
Max Mikhanosha
|
||||||
|
Michael Riepe
|
||||||
|
Michael Rohleder
|
||||||
|
Michael Schroeder
|
||||||
|
Mike Castle
|
||||||
|
Mike Fabian
|
||||||
|
Mike Frysinger
|
||||||
|
Mike Hopkirk
|
||||||
|
Mike Thornburg
|
||||||
|
Mikulas Patocka
|
||||||
|
Milan Mehner
|
||||||
|
Min Sik Kim
|
||||||
|
Miroslav Lichvar
|
||||||
|
Nam SungHyun
|
||||||
|
Nelson Beebe
|
||||||
|
Nicholas Marriott
|
||||||
|
Nicolas George
|
||||||
|
Németh Márton
|
||||||
|
Olaf Rogalsky
|
||||||
|
Ovidiu Gheorghioiu
|
||||||
|
Paul Bolle
|
||||||
|
Paul Gilmartin
|
||||||
|
Paul Giordano
|
||||||
|
Paul Lampert
|
||||||
|
Paul Maier
|
||||||
|
Paul Szabo
|
||||||
|
Paul Vojta
|
||||||
|
Paul Williams
|
||||||
|
Pavel Roskin
|
||||||
|
Peder Stray
|
||||||
|
Per Hedeland
|
||||||
|
Peter Berg Larsen
|
||||||
|
Phil Sidler
|
||||||
|
Pierre Lombard
|
||||||
|
Pierre Pronchery
|
||||||
|
Quinn Strahl
|
||||||
|
Rajesh Mandalemula
|
||||||
|
Richard Braakman
|
||||||
|
Richard Griswold
|
||||||
|
Richard Tollerton
|
||||||
|
Rob Braun
|
||||||
|
Robert Brady
|
||||||
|
Robert Earl
|
||||||
|
Robert Ross
|
||||||
|
Robin Cutshaw
|
||||||
|
Romain Francoise
|
||||||
|
Ross Combs
|
||||||
|
Ross Paterson
|
||||||
|
Ryan Johnson
|
||||||
|
Sam Stephenson
|
||||||
|
Samuel Thibault
|
||||||
|
Scott Sewall
|
||||||
|
Semen A Ustimenko
|
||||||
|
Sergei Laskavy
|
||||||
|
Sergey Vlasov
|
||||||
|
Slava Semushin
|
||||||
|
Stefan Assmann
|
||||||
|
Stefan Dirsch
|
||||||
|
Stephen P Wall
|
||||||
|
Stuart Lissaman
|
||||||
|
Sven Joachim
|
||||||
|
Sven Verdoolaege
|
||||||
|
Taketo Kabe
|
||||||
|
Taneli Huuskonen
|
||||||
|
Ted Phelps
|
||||||
|
Thierry Reding
|
||||||
|
Thomas Wolff
|
||||||
|
Thorsten Glaser
|
||||||
|
Tim Adye
|
||||||
|
Tim Pope
|
||||||
|
Tobias Stoeckmann
|
||||||
|
Todd Eigenschink
|
||||||
|
Todd Larason
|
||||||
|
Todd Miller
|
||||||
|
Tomas Vanhala
|
||||||
|
Tomasz Cholewo
|
||||||
|
Tomohiro Kubota
|
||||||
|
Tor Lillqvist
|
||||||
|
Torrey Lyons
|
||||||
|
Victor Stinner
|
||||||
|
Victor Vaile
|
||||||
|
Vincent Lefèvre
|
||||||
|
Walter Harms
|
||||||
|
Werner Fink
|
||||||
|
Werner Lemberg
|
||||||
|
Will Day
|
||||||
|
YOKOTA Hiroshi
|
||||||
|
Zarick Lau
|
||||||
|
Zdenek Sekera
|
2648
ports/xterm/xterm-359/TekPrsTbl.c
Normal file
2648
ports/xterm/xterm-359/TekPrsTbl.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/TekPrsTbl.o
Normal file
BIN
ports/xterm/xterm-359/TekPrsTbl.o
Normal file
Binary file not shown.
74
ports/xterm/xterm-359/Tekparse.def
Normal file
74
ports/xterm/xterm-359/Tekparse.def
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# $XTermId: Tekparse.def,v 1.4 2006/02/12 22:43:56 tom Exp $
|
||||||
|
#
|
||||||
|
# vile:confmode rs=lf
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 2002,2006 by Thomas E. Dickey
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# List of symbols that need to be defined for Tekparse.h. If you need to
|
||||||
|
# change any of the CASE_ macros, make the change here and rerun the command
|
||||||
|
# shown in Tekparse.h.
|
||||||
|
#
|
||||||
|
|
||||||
|
CASE_REPORT
|
||||||
|
CASE_VT_MODE
|
||||||
|
CASE_SPT_STATE
|
||||||
|
CASE_GIN
|
||||||
|
CASE_BEL
|
||||||
|
CASE_BS
|
||||||
|
CASE_PT_STATE
|
||||||
|
CASE_PLT_STATE
|
||||||
|
CASE_TAB
|
||||||
|
CASE_IPL_STATE
|
||||||
|
CASE_ALP_STATE
|
||||||
|
CASE_UP
|
||||||
|
CASE_COPY
|
||||||
|
CASE_PAGE
|
||||||
|
CASE_BES_STATE
|
||||||
|
CASE_BYP_STATE
|
||||||
|
CASE_IGNORE
|
||||||
|
CASE_ASCII
|
||||||
|
CASE_APL
|
||||||
|
CASE_CHAR_SIZE
|
||||||
|
CASE_BEAM_VEC
|
||||||
|
CASE_CURSTATE
|
||||||
|
CASE_PENUP
|
||||||
|
CASE_PENDOWN
|
||||||
|
CASE_IPL_POINT
|
||||||
|
CASE_PLT_VEC
|
||||||
|
CASE_PT_POINT
|
||||||
|
CASE_SPT_POINT
|
||||||
|
CASE_CR
|
||||||
|
CASE_ESC_STATE
|
||||||
|
CASE_LF
|
||||||
|
CASE_SP
|
||||||
|
CASE_PRINT
|
||||||
|
CASE_OSC
|
55
ports/xterm/xterm-359/Tekparse.h
Normal file
55
ports/xterm/xterm-359/Tekparse.h
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/* $XTermId: Tekparse.h,v 1.8 2016/10/06 00:32:30 tom Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 1998-2006,2016 by Thomas E. Dickey
|
||||||
|
*
|
||||||
|
* All Rights Reserved
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the
|
||||||
|
* "Software"), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
* holders shall not be used in advertising or otherwise to promote the
|
||||||
|
* sale, use or other dealings in this Software without prior written
|
||||||
|
* authorization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef included_Tekparse_h
|
||||||
|
#define included_Tekparse_h 1
|
||||||
|
|
||||||
|
#ifndef Const
|
||||||
|
# if defined(__STDC__) && !defined(__cplusplus)
|
||||||
|
# define Const const
|
||||||
|
# else
|
||||||
|
# define Const /**/
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern Const int Talptable[];
|
||||||
|
extern Const int Tbestable[];
|
||||||
|
extern Const int Tbyptable[];
|
||||||
|
extern Const int Tesctable[];
|
||||||
|
extern Const int Tipltable[];
|
||||||
|
extern Const int Tplttable[];
|
||||||
|
extern Const int Tpttable[];
|
||||||
|
extern Const int Tspttable[];
|
||||||
|
|
||||||
|
#include <Tekparse.hin>
|
||||||
|
|
||||||
|
#endif /* included_Tekparse_h */
|
35
ports/xterm/xterm-359/Tekparse.hin
Normal file
35
ports/xterm/xterm-359/Tekparse.hin
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* vile:cmode */
|
||||||
|
#define CASE_REPORT 0
|
||||||
|
#define CASE_VT_MODE 1
|
||||||
|
#define CASE_SPT_STATE 2
|
||||||
|
#define CASE_GIN 3
|
||||||
|
#define CASE_BEL 4
|
||||||
|
#define CASE_BS 5
|
||||||
|
#define CASE_PT_STATE 6
|
||||||
|
#define CASE_PLT_STATE 7
|
||||||
|
#define CASE_TAB 8
|
||||||
|
#define CASE_IPL_STATE 9
|
||||||
|
#define CASE_ALP_STATE 10
|
||||||
|
#define CASE_UP 11
|
||||||
|
#define CASE_COPY 12
|
||||||
|
#define CASE_PAGE 13
|
||||||
|
#define CASE_BES_STATE 14
|
||||||
|
#define CASE_BYP_STATE 15
|
||||||
|
#define CASE_IGNORE 16
|
||||||
|
#define CASE_ASCII 17
|
||||||
|
#define CASE_APL 18
|
||||||
|
#define CASE_CHAR_SIZE 19
|
||||||
|
#define CASE_BEAM_VEC 20
|
||||||
|
#define CASE_CURSTATE 21
|
||||||
|
#define CASE_PENUP 22
|
||||||
|
#define CASE_PENDOWN 23
|
||||||
|
#define CASE_IPL_POINT 24
|
||||||
|
#define CASE_PLT_VEC 25
|
||||||
|
#define CASE_PT_POINT 26
|
||||||
|
#define CASE_SPT_POINT 27
|
||||||
|
#define CASE_CR 28
|
||||||
|
#define CASE_ESC_STATE 29
|
||||||
|
#define CASE_LF 30
|
||||||
|
#define CASE_SP 31
|
||||||
|
#define CASE_PRINT 32
|
||||||
|
#define CASE_OSC 33
|
2103
ports/xterm/xterm-359/Tekproc.c
Normal file
2103
ports/xterm/xterm-359/Tekproc.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/Tekproc.o
Normal file
BIN
ports/xterm/xterm-359/Tekproc.o
Normal file
Binary file not shown.
42
ports/xterm/xterm-359/Tests
Normal file
42
ports/xterm/xterm-359/Tests
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
Tests for xterm:
|
||||||
|
|
||||||
|
If system supports window size (i.e., some combination of SIGWINCH,
|
||||||
|
TIOCSSIZE, TIOCSWINSZ), start a full-screen program (e.g., Emacs,
|
||||||
|
Jove, vi) and resize the xterm window. The program must immediately
|
||||||
|
update its screen image for the new size.
|
||||||
|
|
||||||
|
If compiled with -DUTMP, starting a new xterm should create a new utmp
|
||||||
|
entry. ("who" will show this info.) Exiting xterm should remove the
|
||||||
|
entry. Killing the xterm window (or other unnatural exit) should also
|
||||||
|
remove the entry. When should entries be made in the wtmp file?
|
||||||
|
|
||||||
|
Process group stuff should be correct.
|
||||||
|
|
||||||
|
Should work without access to /dev/tty, say started from an xdm
|
||||||
|
started from a boot-time script.
|
||||||
|
|
||||||
|
If "xterm -help" offers the -C option, it should work.
|
||||||
|
|
||||||
|
echo "test" > /dev/tty
|
||||||
|
|
||||||
|
vi with lines that wrap.
|
||||||
|
|
||||||
|
Exec'ing things other than shells.
|
||||||
|
|
||||||
|
Another thing that has caused problems in the past is process groups,
|
||||||
|
especially w.r.t. signal propagation to the child.
|
||||||
|
|
||||||
|
Popup menu signals: running only a shell, click on "Send INT Signal."
|
||||||
|
Do you get a new prompt from the shell? (Same as typing ^C at it.)
|
||||||
|
|
||||||
|
Should scroll *fast* with jumpScroll enabled.
|
||||||
|
|
||||||
|
While a mouse button is down tracing out a selection, output to the
|
||||||
|
screen should be suspended.
|
||||||
|
|
||||||
|
Selections more than one screen long.
|
||||||
|
|
||||||
|
start xterm running only Tek widget: "xterm -t"
|
||||||
|
|
||||||
|
|
||||||
|
Please add to this list if you find xterm failing in some way.
|
76
ports/xterm/xterm-359/UXTerm.ad
Normal file
76
ports/xterm/xterm-359/UXTerm.ad
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
! $XTermId: UXTerm.ad,v 1.13 2010/03/04 01:17:07 tom Exp $
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! this file is part of xterm
|
||||||
|
!
|
||||||
|
! Copyright 2000-2006,2010 by Thomas E. Dickey
|
||||||
|
!
|
||||||
|
! All Rights Reserved
|
||||||
|
!
|
||||||
|
! Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
! copy of this software and associated documentation files (the
|
||||||
|
! "Software"), to deal in the Software without restriction, including
|
||||||
|
! without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
! distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
! permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
! the following conditions:
|
||||||
|
!
|
||||||
|
! The above copyright notice and this permission notice shall be included
|
||||||
|
! in all copies or substantial portions of the Software.
|
||||||
|
!
|
||||||
|
! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
! IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
!
|
||||||
|
! Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
! holders shall not be used in advertising or otherwise to promote the
|
||||||
|
! sale, use or other dealings in this Software without prior written
|
||||||
|
! authorization.
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! Use
|
||||||
|
! xterm -class UXTerm
|
||||||
|
! to set resources for UTF-8 mode with corresponding fonts.
|
||||||
|
! See the uxterm script for an example.
|
||||||
|
|
||||||
|
#include "XTerm"
|
||||||
|
|
||||||
|
*fontMenu.Label: Unicode Fonts
|
||||||
|
*VT100.utf8: 1
|
||||||
|
|
||||||
|
! This includes "XTerm-color" which includes "XTerm", which defines fonts.
|
||||||
|
! Why set them here?
|
||||||
|
!
|
||||||
|
! Here is a simple description. A technically precise one would be very long.
|
||||||
|
! When xterm starts up, it uses the
|
||||||
|
!
|
||||||
|
! *VT100.font
|
||||||
|
!
|
||||||
|
! resource, and if it is told to switch to wide-character (UTF-8) mode, it
|
||||||
|
! checks if the given font is "wide", and if not looks for the
|
||||||
|
!
|
||||||
|
! *VT100.utf8Fonts.font
|
||||||
|
!
|
||||||
|
! to obtain a wide font. A "wide" font has more than 256 glyphs. Typical
|
||||||
|
! wide fonts have 10,000 glyphs. If the original "*VT100.font" is not wide,
|
||||||
|
! and xterm can load the *VT100.utf8Fonts.font, it will use that.
|
||||||
|
!
|
||||||
|
! 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
|
||||||
|
|
||||||
|
! 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
|
||||||
|
!*VT100.font: -efont-biwidth-medium-r-normal--10-100-75-75-p-50-iso10646-1
|
||||||
|
!*VT100.font3: -efont-biwidth-medium-r-normal--12-120-75-75-p-60-iso10646-1
|
||||||
|
!*VT100.font4: -efont-biwidth-medium-r-normal--14-140-75-75-p-70-iso10646-1
|
||||||
|
!*VT100.font5: -efont-biwidth-medium-r-normal--16-160-75-75-p-80-iso10646-1
|
||||||
|
!*VT100.font6: -efont-biwidth-medium-r-normal--24-240-75-75-p-120-iso10646-1
|
9507
ports/xterm/xterm-359/VTPrsTbl.c
Normal file
9507
ports/xterm/xterm-359/VTPrsTbl.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/VTPrsTbl.o
Normal file
BIN
ports/xterm/xterm-359/VTPrsTbl.o
Normal file
Binary file not shown.
219
ports/xterm/xterm-359/VTparse.def
Normal file
219
ports/xterm/xterm-359/VTparse.def
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
# $XTermId: VTparse.def,v 1.63 2020/06/23 20:17:35 tom Exp $
|
||||||
|
#
|
||||||
|
# vile:confmode rs=lf
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# this file is part of xterm
|
||||||
|
#
|
||||||
|
# Copyright 1996-2019,2020 by Thomas E. Dickey
|
||||||
|
#
|
||||||
|
# All Rights Reserved
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
# copy of this software and associated documentation files (the
|
||||||
|
# "Software"), to deal in the Software without restriction, including
|
||||||
|
# without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
# permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
# the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included
|
||||||
|
# in all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
# holders shall not be used in advertising or otherwise to promote the
|
||||||
|
# sale, use or other dealings in this Software without prior written
|
||||||
|
# authorization.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# List of symbols that need to be defined for VTparse.h. If you need to
|
||||||
|
# change any of the CASE_ macros, make the change here and rerun the command
|
||||||
|
# shown in VTparse.h.
|
||||||
|
#
|
||||||
|
|
||||||
|
CASE_GROUND_STATE
|
||||||
|
CASE_IGNORE
|
||||||
|
CASE_BELL
|
||||||
|
CASE_BS
|
||||||
|
CASE_CR
|
||||||
|
CASE_ESC
|
||||||
|
CASE_VMOT
|
||||||
|
CASE_TAB
|
||||||
|
CASE_SI
|
||||||
|
CASE_SO
|
||||||
|
CASE_SCR_STATE
|
||||||
|
CASE_SCS0_STATE
|
||||||
|
CASE_SCS1_STATE
|
||||||
|
CASE_SCS2_STATE
|
||||||
|
CASE_SCS3_STATE
|
||||||
|
CASE_ESC_IGNORE
|
||||||
|
CASE_ESC_DIGIT
|
||||||
|
CASE_ESC_SEMI
|
||||||
|
CASE_DEC_STATE
|
||||||
|
CASE_ICH
|
||||||
|
CASE_CUU
|
||||||
|
CASE_CUD
|
||||||
|
CASE_CUF
|
||||||
|
CASE_CUB
|
||||||
|
CASE_CUP
|
||||||
|
CASE_ED
|
||||||
|
CASE_EL
|
||||||
|
CASE_IL
|
||||||
|
CASE_DL
|
||||||
|
CASE_DCH
|
||||||
|
CASE_DA1
|
||||||
|
CASE_TRACK_MOUSE # XTHIMOUSE
|
||||||
|
CASE_TBC
|
||||||
|
CASE_SET
|
||||||
|
CASE_RST
|
||||||
|
CASE_SGR
|
||||||
|
CASE_CPR
|
||||||
|
CASE_DECSTBM
|
||||||
|
CASE_DECREQTPARM
|
||||||
|
CASE_DECSET
|
||||||
|
CASE_DECRST
|
||||||
|
CASE_DECALN
|
||||||
|
CASE_GSETS
|
||||||
|
CASE_DECSC
|
||||||
|
CASE_DECRC
|
||||||
|
CASE_DECKPAM
|
||||||
|
CASE_DECKPNM
|
||||||
|
CASE_IND
|
||||||
|
CASE_NEL
|
||||||
|
CASE_HTS
|
||||||
|
CASE_RI
|
||||||
|
CASE_SS2
|
||||||
|
CASE_SS3
|
||||||
|
CASE_CSI_STATE
|
||||||
|
CASE_OSC
|
||||||
|
CASE_RIS
|
||||||
|
CASE_LS2
|
||||||
|
CASE_LS3
|
||||||
|
CASE_LS3R
|
||||||
|
CASE_LS2R
|
||||||
|
CASE_LS1R
|
||||||
|
CASE_PRINT
|
||||||
|
CASE_XTERM_SAVE # XTSAVE
|
||||||
|
CASE_XTERM_RESTORE # XTRESTORE
|
||||||
|
CASE_DECID
|
||||||
|
CASE_HP_MEM_LOCK # HPMEMLOCK
|
||||||
|
CASE_HP_MEM_UNLOCK # HPMEMUNLOCK
|
||||||
|
CASE_HP_BUGGY_LL # HPBUGGYLL
|
||||||
|
CASE_HPA
|
||||||
|
CASE_VPA
|
||||||
|
CASE_XTERM_WINOPS # XTWINOPS
|
||||||
|
CASE_ECH
|
||||||
|
CASE_CHT
|
||||||
|
CASE_CPL
|
||||||
|
CASE_CNL
|
||||||
|
CASE_CBT
|
||||||
|
CASE_SU
|
||||||
|
CASE_SD
|
||||||
|
CASE_S7C1T
|
||||||
|
CASE_S8C1T
|
||||||
|
CASE_ESC_SP_STATE
|
||||||
|
CASE_ENQ
|
||||||
|
CASE_DECSCL
|
||||||
|
CASE_DECSCA
|
||||||
|
CASE_DECSED
|
||||||
|
CASE_DECSEL
|
||||||
|
CASE_DCS
|
||||||
|
CASE_PM
|
||||||
|
CASE_SOS
|
||||||
|
CASE_ST
|
||||||
|
CASE_APC
|
||||||
|
CASE_EPA
|
||||||
|
CASE_SPA
|
||||||
|
CASE_CSI_QUOTE_STATE
|
||||||
|
CASE_DSR
|
||||||
|
CASE_ANSI_LEVEL_1
|
||||||
|
CASE_ANSI_LEVEL_2
|
||||||
|
CASE_ANSI_LEVEL_3
|
||||||
|
CASE_MC
|
||||||
|
CASE_DEC2_STATE
|
||||||
|
CASE_DA2
|
||||||
|
CASE_DEC3_STATE
|
||||||
|
CASE_DECRPTUI
|
||||||
|
CASE_VT52_CUP
|
||||||
|
CASE_REP
|
||||||
|
CASE_CSI_EX_STATE
|
||||||
|
CASE_DECSTR
|
||||||
|
CASE_DECDHL
|
||||||
|
CASE_DECSWL
|
||||||
|
CASE_DECDWL
|
||||||
|
CASE_DEC_MC
|
||||||
|
CASE_ESC_PERCENT
|
||||||
|
CASE_UTF8
|
||||||
|
CASE_CSI_TICK_STATE
|
||||||
|
CASE_DECELR
|
||||||
|
CASE_DECRQLP
|
||||||
|
CASE_DECEFR
|
||||||
|
CASE_DECSLE
|
||||||
|
CASE_CSI_IGNORE
|
||||||
|
CASE_VT52_IGNORE
|
||||||
|
CASE_VT52_FINISH
|
||||||
|
CASE_CSI_DOLLAR_STATE
|
||||||
|
CASE_DECCRA
|
||||||
|
CASE_DECERA
|
||||||
|
CASE_DECFRA
|
||||||
|
CASE_DECSERA
|
||||||
|
CASE_DECSACE
|
||||||
|
CASE_DECCARA
|
||||||
|
CASE_DECRARA
|
||||||
|
CASE_CSI_STAR_STATE
|
||||||
|
CASE_SET_MOD_FKEYS # XTMODKEYS
|
||||||
|
CASE_SET_MOD_FKEYS0
|
||||||
|
CASE_HIDE_POINTER # XTSMPOINTER
|
||||||
|
CASE_SCS1A_STATE
|
||||||
|
CASE_SCS2A_STATE
|
||||||
|
CASE_SCS3A_STATE
|
||||||
|
CASE_CSI_SPACE_STATE
|
||||||
|
CASE_DECSCUSR
|
||||||
|
CASE_XTERM_SM_TITLE # XTSMTITLE
|
||||||
|
CASE_XTERM_RM_TITLE # XTRMTITLE
|
||||||
|
CASE_DECSMBV
|
||||||
|
CASE_DECSWBV
|
||||||
|
CASE_DECLL
|
||||||
|
CASE_DECRQM
|
||||||
|
CASE_RQM
|
||||||
|
CASE_CSI_DEC_DOLLAR_STATE
|
||||||
|
CASE_SL
|
||||||
|
CASE_SR
|
||||||
|
CASE_DECDC
|
||||||
|
CASE_DECIC
|
||||||
|
CASE_DECBI
|
||||||
|
CASE_DECFI
|
||||||
|
CASE_DECRQCRA
|
||||||
|
CASE_HPR
|
||||||
|
CASE_VPR
|
||||||
|
CASE_ANSI_SC
|
||||||
|
CASE_ANSI_RC
|
||||||
|
CASE_ESC_COLON
|
||||||
|
CASE_SCS_PERCENT
|
||||||
|
CASE_GSETS_PERCENT
|
||||||
|
CASE_GRAPHICS_ATTRIBUTES # XTSMGRAPHICS
|
||||||
|
CASE_DECRQPSR
|
||||||
|
CASE_DECSCPP
|
||||||
|
CASE_DECSNLS
|
||||||
|
CASE_CSI_HASH_STATE
|
||||||
|
CASE_XTERM_PUSH_SGR # XTPUSHSGR
|
||||||
|
CASE_XTERM_REPORT_SGR # XTREPORTSGR
|
||||||
|
CASE_XTERM_POP_SGR # XTPOPSGR
|
||||||
|
CASE_XTERM_CHECKSUM # XTCHECKSUM
|
||||||
|
CASE_GSETS3
|
||||||
|
CASE_GSETS5
|
||||||
|
CASE_SCS_DQUOTE
|
||||||
|
CASE_GSETS_DQUOTE
|
||||||
|
CASE_SCS_AMPRSND
|
||||||
|
CASE_GSETS_AMPRSND
|
||||||
|
CASE_REPORT_VERSION # XTVERSION
|
||||||
|
CASE_XTERM_PUSH_COLORS # XTPUSHCOLORS
|
||||||
|
CASE_XTERM_REPORT_COLORS # XTREPORTCOLORS
|
||||||
|
CASE_XTERM_POP_COLORS # XTPOPCOLORS
|
95
ports/xterm/xterm-359/VTparse.h
Normal file
95
ports/xterm/xterm-359/VTparse.h
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/* $XTermId: VTparse.h,v 1.69 2019/02/10 23:34:21 tom Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 1996-2018,2019 by Thomas E. Dickey
|
||||||
|
*
|
||||||
|
* All Rights Reserved
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the
|
||||||
|
* "Software"), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
* holders shall not be used in advertising or otherwise to promote the
|
||||||
|
* sale, use or other dealings in this Software without prior written
|
||||||
|
* authorization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef included_VTparse_h
|
||||||
|
#define included_VTparse_h 1
|
||||||
|
|
||||||
|
#include <xterm.h>
|
||||||
|
|
||||||
|
#ifndef Const
|
||||||
|
# if defined(__STDC__) && !defined(__cplusplus)
|
||||||
|
# define Const const
|
||||||
|
# else
|
||||||
|
# define Const /**/
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PARSE_T has to be large enough to handle the number of cases enumerated here.
|
||||||
|
*/
|
||||||
|
typedef unsigned char PARSE_T;
|
||||||
|
|
||||||
|
extern Const PARSE_T ansi_table[];
|
||||||
|
extern Const PARSE_T cigtable[];
|
||||||
|
extern Const PARSE_T csi2_table[];
|
||||||
|
extern Const PARSE_T csi_ex_table[];
|
||||||
|
extern Const PARSE_T csi_quo_table[];
|
||||||
|
extern Const PARSE_T csi_sp_table[];
|
||||||
|
extern Const PARSE_T csi_table[];
|
||||||
|
extern Const PARSE_T dec2_table[];
|
||||||
|
extern Const PARSE_T dec3_table[];
|
||||||
|
extern Const PARSE_T dec_table[];
|
||||||
|
extern Const PARSE_T eigtable[];
|
||||||
|
extern Const PARSE_T esc_sp_table[];
|
||||||
|
extern Const PARSE_T esc_table[];
|
||||||
|
extern Const PARSE_T scrtable[];
|
||||||
|
extern Const PARSE_T scs96table[];
|
||||||
|
extern Const PARSE_T scstable[];
|
||||||
|
extern Const PARSE_T sos_table[];
|
||||||
|
extern Const PARSE_T csi_dec_dollar_table[];
|
||||||
|
extern Const PARSE_T csi_tick_table[];
|
||||||
|
|
||||||
|
#if OPT_DEC_RECTOPS
|
||||||
|
extern Const PARSE_T csi_dollar_table[];
|
||||||
|
extern Const PARSE_T csi_star_table[];
|
||||||
|
#endif /* OPT_DEC_LOCATOR */
|
||||||
|
|
||||||
|
#if OPT_VT52_MODE
|
||||||
|
extern Const PARSE_T vt52_table[];
|
||||||
|
extern Const PARSE_T vt52_esc_table[];
|
||||||
|
extern Const PARSE_T vt52_ignore_table[];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
extern Const PARSE_T esc_pct_table[];
|
||||||
|
extern Const PARSE_T scs_amp_table[];
|
||||||
|
extern Const PARSE_T scs_pct_table[];
|
||||||
|
extern Const PARSE_T scs_2qt_table[];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if OPT_XTERM_SGR
|
||||||
|
extern Const PARSE_T csi_hash_table[];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <VTparse.hin>
|
||||||
|
|
||||||
|
#endif /* included_VTparse_h */
|
180
ports/xterm/xterm-359/VTparse.hin
Normal file
180
ports/xterm/xterm-359/VTparse.hin
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
/* vile:cmode */
|
||||||
|
#define CASE_GROUND_STATE 0
|
||||||
|
#define CASE_IGNORE 1
|
||||||
|
#define CASE_BELL 2
|
||||||
|
#define CASE_BS 3
|
||||||
|
#define CASE_CR 4
|
||||||
|
#define CASE_ESC 5
|
||||||
|
#define CASE_VMOT 6
|
||||||
|
#define CASE_TAB 7
|
||||||
|
#define CASE_SI 8
|
||||||
|
#define CASE_SO 9
|
||||||
|
#define CASE_SCR_STATE 10
|
||||||
|
#define CASE_SCS0_STATE 11
|
||||||
|
#define CASE_SCS1_STATE 12
|
||||||
|
#define CASE_SCS2_STATE 13
|
||||||
|
#define CASE_SCS3_STATE 14
|
||||||
|
#define CASE_ESC_IGNORE 15
|
||||||
|
#define CASE_ESC_DIGIT 16
|
||||||
|
#define CASE_ESC_SEMI 17
|
||||||
|
#define CASE_DEC_STATE 18
|
||||||
|
#define CASE_ICH 19
|
||||||
|
#define CASE_CUU 20
|
||||||
|
#define CASE_CUD 21
|
||||||
|
#define CASE_CUF 22
|
||||||
|
#define CASE_CUB 23
|
||||||
|
#define CASE_CUP 24
|
||||||
|
#define CASE_ED 25
|
||||||
|
#define CASE_EL 26
|
||||||
|
#define CASE_IL 27
|
||||||
|
#define CASE_DL 28
|
||||||
|
#define CASE_DCH 29
|
||||||
|
#define CASE_DA1 30
|
||||||
|
#define CASE_TRACK_MOUSE 31
|
||||||
|
#define CASE_TBC 32
|
||||||
|
#define CASE_SET 33
|
||||||
|
#define CASE_RST 34
|
||||||
|
#define CASE_SGR 35
|
||||||
|
#define CASE_CPR 36
|
||||||
|
#define CASE_DECSTBM 37
|
||||||
|
#define CASE_DECREQTPARM 38
|
||||||
|
#define CASE_DECSET 39
|
||||||
|
#define CASE_DECRST 40
|
||||||
|
#define CASE_DECALN 41
|
||||||
|
#define CASE_GSETS 42
|
||||||
|
#define CASE_DECSC 43
|
||||||
|
#define CASE_DECRC 44
|
||||||
|
#define CASE_DECKPAM 45
|
||||||
|
#define CASE_DECKPNM 46
|
||||||
|
#define CASE_IND 47
|
||||||
|
#define CASE_NEL 48
|
||||||
|
#define CASE_HTS 49
|
||||||
|
#define CASE_RI 50
|
||||||
|
#define CASE_SS2 51
|
||||||
|
#define CASE_SS3 52
|
||||||
|
#define CASE_CSI_STATE 53
|
||||||
|
#define CASE_OSC 54
|
||||||
|
#define CASE_RIS 55
|
||||||
|
#define CASE_LS2 56
|
||||||
|
#define CASE_LS3 57
|
||||||
|
#define CASE_LS3R 58
|
||||||
|
#define CASE_LS2R 59
|
||||||
|
#define CASE_LS1R 60
|
||||||
|
#define CASE_PRINT 61
|
||||||
|
#define CASE_XTERM_SAVE 62
|
||||||
|
#define CASE_XTERM_RESTORE 63
|
||||||
|
#define CASE_DECID 64
|
||||||
|
#define CASE_HP_MEM_LOCK 65
|
||||||
|
#define CASE_HP_MEM_UNLOCK 66
|
||||||
|
#define CASE_HP_BUGGY_LL 67
|
||||||
|
#define CASE_HPA 68
|
||||||
|
#define CASE_VPA 69
|
||||||
|
#define CASE_XTERM_WINOPS 70
|
||||||
|
#define CASE_ECH 71
|
||||||
|
#define CASE_CHT 72
|
||||||
|
#define CASE_CPL 73
|
||||||
|
#define CASE_CNL 74
|
||||||
|
#define CASE_CBT 75
|
||||||
|
#define CASE_SU 76
|
||||||
|
#define CASE_SD 77
|
||||||
|
#define CASE_S7C1T 78
|
||||||
|
#define CASE_S8C1T 79
|
||||||
|
#define CASE_ESC_SP_STATE 80
|
||||||
|
#define CASE_ENQ 81
|
||||||
|
#define CASE_DECSCL 82
|
||||||
|
#define CASE_DECSCA 83
|
||||||
|
#define CASE_DECSED 84
|
||||||
|
#define CASE_DECSEL 85
|
||||||
|
#define CASE_DCS 86
|
||||||
|
#define CASE_PM 87
|
||||||
|
#define CASE_SOS 88
|
||||||
|
#define CASE_ST 89
|
||||||
|
#define CASE_APC 90
|
||||||
|
#define CASE_EPA 91
|
||||||
|
#define CASE_SPA 92
|
||||||
|
#define CASE_CSI_QUOTE_STATE 93
|
||||||
|
#define CASE_DSR 94
|
||||||
|
#define CASE_ANSI_LEVEL_1 95
|
||||||
|
#define CASE_ANSI_LEVEL_2 96
|
||||||
|
#define CASE_ANSI_LEVEL_3 97
|
||||||
|
#define CASE_MC 98
|
||||||
|
#define CASE_DEC2_STATE 99
|
||||||
|
#define CASE_DA2 100
|
||||||
|
#define CASE_DEC3_STATE 101
|
||||||
|
#define CASE_DECRPTUI 102
|
||||||
|
#define CASE_VT52_CUP 103
|
||||||
|
#define CASE_REP 104
|
||||||
|
#define CASE_CSI_EX_STATE 105
|
||||||
|
#define CASE_DECSTR 106
|
||||||
|
#define CASE_DECDHL 107
|
||||||
|
#define CASE_DECSWL 108
|
||||||
|
#define CASE_DECDWL 109
|
||||||
|
#define CASE_DEC_MC 110
|
||||||
|
#define CASE_ESC_PERCENT 111
|
||||||
|
#define CASE_UTF8 112
|
||||||
|
#define CASE_CSI_TICK_STATE 113
|
||||||
|
#define CASE_DECELR 114
|
||||||
|
#define CASE_DECRQLP 115
|
||||||
|
#define CASE_DECEFR 116
|
||||||
|
#define CASE_DECSLE 117
|
||||||
|
#define CASE_CSI_IGNORE 118
|
||||||
|
#define CASE_VT52_IGNORE 119
|
||||||
|
#define CASE_VT52_FINISH 120
|
||||||
|
#define CASE_CSI_DOLLAR_STATE 121
|
||||||
|
#define CASE_DECCRA 122
|
||||||
|
#define CASE_DECERA 123
|
||||||
|
#define CASE_DECFRA 124
|
||||||
|
#define CASE_DECSERA 125
|
||||||
|
#define CASE_DECSACE 126
|
||||||
|
#define CASE_DECCARA 127
|
||||||
|
#define CASE_DECRARA 128
|
||||||
|
#define CASE_CSI_STAR_STATE 129
|
||||||
|
#define CASE_SET_MOD_FKEYS 130
|
||||||
|
#define CASE_SET_MOD_FKEYS0 131
|
||||||
|
#define CASE_HIDE_POINTER 132
|
||||||
|
#define CASE_SCS1A_STATE 133
|
||||||
|
#define CASE_SCS2A_STATE 134
|
||||||
|
#define CASE_SCS3A_STATE 135
|
||||||
|
#define CASE_CSI_SPACE_STATE 136
|
||||||
|
#define CASE_DECSCUSR 137
|
||||||
|
#define CASE_XTERM_SM_TITLE 138
|
||||||
|
#define CASE_XTERM_RM_TITLE 139
|
||||||
|
#define CASE_DECSMBV 140
|
||||||
|
#define CASE_DECSWBV 141
|
||||||
|
#define CASE_DECLL 142
|
||||||
|
#define CASE_DECRQM 143
|
||||||
|
#define CASE_RQM 144
|
||||||
|
#define CASE_CSI_DEC_DOLLAR_STATE 145
|
||||||
|
#define CASE_SL 146
|
||||||
|
#define CASE_SR 147
|
||||||
|
#define CASE_DECDC 148
|
||||||
|
#define CASE_DECIC 149
|
||||||
|
#define CASE_DECBI 150
|
||||||
|
#define CASE_DECFI 151
|
||||||
|
#define CASE_DECRQCRA 152
|
||||||
|
#define CASE_HPR 153
|
||||||
|
#define CASE_VPR 154
|
||||||
|
#define CASE_ANSI_SC 155
|
||||||
|
#define CASE_ANSI_RC 156
|
||||||
|
#define CASE_ESC_COLON 157
|
||||||
|
#define CASE_SCS_PERCENT 158
|
||||||
|
#define CASE_GSETS_PERCENT 159
|
||||||
|
#define CASE_GRAPHICS_ATTRIBUTES 160
|
||||||
|
#define CASE_DECRQPSR 161
|
||||||
|
#define CASE_DECSCPP 162
|
||||||
|
#define CASE_DECSNLS 163
|
||||||
|
#define CASE_CSI_HASH_STATE 164
|
||||||
|
#define CASE_XTERM_PUSH_SGR 165
|
||||||
|
#define CASE_XTERM_REPORT_SGR 166
|
||||||
|
#define CASE_XTERM_POP_SGR 167
|
||||||
|
#define CASE_XTERM_CHECKSUM 168
|
||||||
|
#define CASE_GSETS3 169
|
||||||
|
#define CASE_GSETS5 170
|
||||||
|
#define CASE_SCS_DQUOTE 171
|
||||||
|
#define CASE_GSETS_DQUOTE 172
|
||||||
|
#define CASE_SCS_AMPRSND 173
|
||||||
|
#define CASE_GSETS_AMPRSND 174
|
||||||
|
#define CASE_REPORT_VERSION 175
|
||||||
|
#define CASE_XTERM_PUSH_COLORS 176
|
||||||
|
#define CASE_XTERM_REPORT_COLORS 177
|
||||||
|
#define CASE_XTERM_POP_COLORS 178
|
163
ports/xterm/xterm-359/XTerm-col.ad
Normal file
163
ports/xterm/xterm-359/XTerm-col.ad
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
! $XTermId: XTerm-col.ad,v 1.22 2009/08/15 15:56:29 tom Exp $
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! this file is part of xterm
|
||||||
|
!
|
||||||
|
! Copyright 2002-2006,2009 by Thomas E. Dickey
|
||||||
|
!
|
||||||
|
! All Rights Reserved
|
||||||
|
!
|
||||||
|
! Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
! copy of this software and associated documentation files (the
|
||||||
|
! "Software"), to deal in the Software without restriction, including
|
||||||
|
! without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
! distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
! permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
! the following conditions:
|
||||||
|
!
|
||||||
|
! The above copyright notice and this permission notice shall be included
|
||||||
|
! in all copies or substantial portions of the Software.
|
||||||
|
!
|
||||||
|
! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
! IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
!
|
||||||
|
! Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
! holders shall not be used in advertising or otherwise to promote the
|
||||||
|
! sale, use or other dealings in this Software without prior written
|
||||||
|
! authorization.
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "XTerm"
|
||||||
|
|
||||||
|
*VT100*colorMode: on
|
||||||
|
*VT100*boldColors: on
|
||||||
|
*VT100*dynamicColors: on
|
||||||
|
|
||||||
|
! Uncomment this for "white" text on a dark background.
|
||||||
|
!*VT100*foreground: gray90
|
||||||
|
!*VT100*background: black
|
||||||
|
|
||||||
|
! - OR -
|
||||||
|
! Uncomment this for black text on a "white" background.
|
||||||
|
!*VT100*foreground: black
|
||||||
|
!*VT100*background: gray90
|
||||||
|
|
||||||
|
! - OR -
|
||||||
|
! leave the foreground/background colors alone (at the mercy of your desktop
|
||||||
|
! designer).
|
||||||
|
|
||||||
|
! Color the popup/pulldown menu border to match the text widget foreground.
|
||||||
|
!*SimpleMenu*borderColor: gray15
|
||||||
|
|
||||||
|
! Uncomment this to use color for underline attribute
|
||||||
|
!*VT100*colorULMode: on
|
||||||
|
*VT100*colorUL: yellow
|
||||||
|
|
||||||
|
!*VT100*italicULMode: on
|
||||||
|
|
||||||
|
! Uncomment this to disable underlining, e.g., if colorULMode is set.
|
||||||
|
!*VT100*underLine: off
|
||||||
|
|
||||||
|
! Uncomment this to use color for the bold attribute
|
||||||
|
!*VT100*colorBDMode: on
|
||||||
|
*VT100*colorBD: white
|
||||||
|
|
||||||
|
! Uncomment this to use the bold/underline colors in preference to other colors
|
||||||
|
!*VT100*colorAttrMode: on
|
||||||
|
|
||||||
|
! These are the 8 ANSI colors and their bright equivalents. Depending on
|
||||||
|
! other resource settings, xterm may use the bright colors when displaying
|
||||||
|
! bold text (see the boldColors resource).
|
||||||
|
*VT100*color0: black
|
||||||
|
*VT100*color1: red3
|
||||||
|
*VT100*color2: green3
|
||||||
|
*VT100*color3: yellow3
|
||||||
|
*VT100*color4: blue2
|
||||||
|
*VT100*color5: magenta3
|
||||||
|
*VT100*color6: cyan3
|
||||||
|
*VT100*color7: gray90
|
||||||
|
*VT100*color8: gray50
|
||||||
|
*VT100*color9: red
|
||||||
|
*VT100*color10: green
|
||||||
|
*VT100*color11: yellow
|
||||||
|
*VT100*color12: rgb:5c/5c/ff
|
||||||
|
*VT100*color13: magenta
|
||||||
|
*VT100*color14: cyan
|
||||||
|
*VT100*color15: white
|
||||||
|
|
||||||
|
! Disclaimer: there are no standard colors used in terminal emulation.
|
||||||
|
!
|
||||||
|
! The choice for color4 and color12 is a tradeoff between contrast, depending
|
||||||
|
! on whether they are used for text or backgrounds. Note that either color4 or
|
||||||
|
! color12 would be used for text, while only color4 would be used for a
|
||||||
|
! background. These are treated specially, since the luminosity of blue is
|
||||||
|
! only about half that of red/green, and is typically not accounted for in the
|
||||||
|
! RGB scheme.
|
||||||
|
!
|
||||||
|
! Blue text on a black background should be readable.
|
||||||
|
! Blue backgrounds should not be "too" bright.
|
||||||
|
!
|
||||||
|
! Originally color4/color12 were set to the names blue3/blue
|
||||||
|
!*VT100*color4: blue3
|
||||||
|
!*VT100*color12: blue
|
||||||
|
!
|
||||||
|
! They are from rgb.txt respectively:
|
||||||
|
! 0 0 205 blue3
|
||||||
|
! 0 0 255 blue
|
||||||
|
! However, blue3 is not readable on a black background.
|
||||||
|
!
|
||||||
|
! Another choice was from the Debian settings:
|
||||||
|
!*VT100*color4: DodgerBlue1
|
||||||
|
!*VT100*color12: SteelBlue1
|
||||||
|
!
|
||||||
|
! From rgb.txt:
|
||||||
|
! 30 144 255 DodgerBlue1
|
||||||
|
! 99 184 255 SteelBlue1
|
||||||
|
!
|
||||||
|
! Some users object to this choice because the background (color4) is brighter
|
||||||
|
! than they are accustomed. Others point out that the different weights for
|
||||||
|
! the red/green components make it appear to be not really blue. Finally, it
|
||||||
|
! provides poor contrast against color13 and color14.
|
||||||
|
!
|
||||||
|
! The current choice uses equal weights for red/green (effectively adding a
|
||||||
|
! gray to the result). It is brighter than the original choice, and provides
|
||||||
|
! more contrast between color12 and color13, color14 than SteelBlue1 did.
|
||||||
|
! Contrast of color4 against black is slightly improved over the original.
|
||||||
|
!
|
||||||
|
! Some refinement is certainly possible (you are welcome to try) -TD
|
||||||
|
|
||||||
|
|
||||||
|
#if PLANES > 8
|
||||||
|
! Color the popup menus and the menubar to match:
|
||||||
|
*SimpleMenu*background: AntiqueWhite
|
||||||
|
*SimpleMenu*foreground: gray15
|
||||||
|
|
||||||
|
! Color the menubar to match:
|
||||||
|
*Form.menubar.background: AntiqueWhite
|
||||||
|
*Form.menubar*background: AntiqueWhite
|
||||||
|
*Form.menubar.foreground: gray15
|
||||||
|
*Form.menubar*foreground: gray15
|
||||||
|
*Form.background: AntiqueWhite
|
||||||
|
*form.background: AntiqueWhite
|
||||||
|
|
||||||
|
! The following two sections take advantage of new features in version 7
|
||||||
|
! of the Athena widget library. Comment them out if you have a shallow
|
||||||
|
! color depth.
|
||||||
|
!*SimpleMenu*backgroundPixmap: gradient:vertical?dimension=350&start=gray90&end=gray60
|
||||||
|
!*SimpleMenu*foreground: gray15
|
||||||
|
|
||||||
|
!*VT100.scrollbar.thumb: vlines2
|
||||||
|
!*VT100.scrollbar.width: 14
|
||||||
|
!*VT100.scrollbar.background: gray60
|
||||||
|
!*VT100.scrollbar.foreground: rgb:a/5/5
|
||||||
|
!*VT100.scrollbar.borderWidth: 0
|
||||||
|
!*VT100.scrollbar.displayList:\
|
||||||
|
!foreground gray90;\
|
||||||
|
!lines 1,-1,-1,-1,-1,1;\
|
||||||
|
!foreground gray60;\
|
||||||
|
!lines -1,0,0,0,0,-1
|
||||||
|
#endif
|
261
ports/xterm/xterm-359/XTerm.ad
Normal file
261
ports/xterm/xterm-359/XTerm.ad
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
! $XTermId: XTerm.ad,v 1.102 2016/12/22 02:07:39 tom Exp $
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! this file is part of xterm
|
||||||
|
!
|
||||||
|
! Copyright 1996-2011,2016 by Thomas E. Dickey
|
||||||
|
!
|
||||||
|
! All Rights Reserved
|
||||||
|
!
|
||||||
|
! Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
! copy of this software and associated documentation files (the
|
||||||
|
! "Software"), to deal in the Software without restriction, including
|
||||||
|
! without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
! distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
! permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
! the following conditions:
|
||||||
|
!
|
||||||
|
! The above copyright notice and this permission notice shall be included
|
||||||
|
! in all copies or substantial portions of the Software.
|
||||||
|
!
|
||||||
|
! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
! IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
!
|
||||||
|
! Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
! 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.vertSpace: 100
|
||||||
|
*SimpleMenu*HorizontalMargins: 16
|
||||||
|
*SimpleMenu*Sme.height: 16
|
||||||
|
|
||||||
|
*SimpleMenu*Cursor: left_ptr
|
||||||
|
|
||||||
|
*mainMenu.Label: Main Options
|
||||||
|
*mainMenu*toolbar*Label: Toolbar
|
||||||
|
*mainMenu*fullscreen*Label: Full Screen
|
||||||
|
*mainMenu*securekbd*Label: Secure Keyboard
|
||||||
|
*mainMenu*allowsends*Label: Allow SendEvents
|
||||||
|
*mainMenu*redraw*Label: Redraw Window
|
||||||
|
*mainMenu*logging*Label: Log to File
|
||||||
|
*mainMenu*print-immediate*Label: Print-All Immediately
|
||||||
|
*mainMenu*print-on-error*Label: Print-All on Error
|
||||||
|
*mainMenu*print*Label: Print Window
|
||||||
|
*mainMenu*print-redir*Label: Redirect to Printer
|
||||||
|
*mainMenu*dump-html*Label: XHTML Screen Dump
|
||||||
|
*mainMenu*dump-svg*Label: SVG Screen Dump
|
||||||
|
*mainMenu*8-bit control*Label: 8-Bit Controls
|
||||||
|
*mainMenu*backarrow key*Label: Backarrow Key (BS/DEL)
|
||||||
|
*mainMenu*num-lock*Label: Alt/NumLock Modifiers
|
||||||
|
*mainMenu*alt-esc*Label: Alt Sends Escape
|
||||||
|
*mainMenu*meta-esc*Label: Meta Sends Escape
|
||||||
|
*mainMenu*delete-is-del*Label: Delete is DEL
|
||||||
|
*mainMenu*oldFunctionKeys*Label: Old Function-Keys
|
||||||
|
*mainMenu*sunFunctionKeys*Label: Sun Function-Keys
|
||||||
|
*mainMenu*sunKeyboard*Label: VT220 Keyboard
|
||||||
|
*mainMenu*hpFunctionKeys*Label: HP Function-Keys
|
||||||
|
*mainMenu*scoFunctionKeys*Label: SCO Function-Keys
|
||||||
|
*mainMenu*tcapFunctionKeys*Label: Termcap Function-Keys
|
||||||
|
*mainMenu*suspend*Label: Send STOP Signal
|
||||||
|
*mainMenu*continue*Label: Send CONT Signal
|
||||||
|
*mainMenu*interrupt*Label: Send INT Signal
|
||||||
|
*mainMenu*hangup*Label: Send HUP Signal
|
||||||
|
*mainMenu*terminate*Label: Send TERM Signal
|
||||||
|
*mainMenu*kill*Label: Send KILL Signal
|
||||||
|
*mainMenu*quit*Label: Quit
|
||||||
|
|
||||||
|
*vtMenu.Label: VT Options
|
||||||
|
*vtMenu*scrollbar*Label: Enable Scrollbar
|
||||||
|
*vtMenu*jumpscroll*Label: Enable Jump Scroll
|
||||||
|
*vtMenu*reversevideo*Label: Enable Reverse Video
|
||||||
|
*vtMenu*autowrap*Label: Enable Auto Wraparound
|
||||||
|
*vtMenu*reversewrap*Label: Enable Reverse Wraparound
|
||||||
|
*vtMenu*autolinefeed*Label: Enable Auto Linefeed
|
||||||
|
*vtMenu*appcursor*Label: Enable Application Cursor Keys
|
||||||
|
*vtMenu*appkeypad*Label: Enable Application Keypad
|
||||||
|
*vtMenu*scrollkey*Label: Scroll to Bottom on Key Press
|
||||||
|
*vtMenu*scrollttyoutput*Label: Scroll to Bottom on Tty Output
|
||||||
|
*vtMenu*allow132*Label: Allow 80/132 Column Switching
|
||||||
|
*vtMenu*keepSelection*Label: Keep Selection
|
||||||
|
*vtMenu*selectToClipboard*Label: Select to Clipboard
|
||||||
|
*vtMenu*cursesemul*Label: Enable Curses Emulation
|
||||||
|
*vtMenu*visualbell*Label: Enable Visual Bell
|
||||||
|
*vtMenu*bellIsUrgent*Label: Enable Bell Urgency
|
||||||
|
*vtMenu*poponbell*Label: Enable Pop on Bell
|
||||||
|
*vtMenu*cursorblink*Label: Enable Blinking Cursor
|
||||||
|
*vtMenu*titeInhibit*Label: Enable Alternate Screen Switching
|
||||||
|
*vtMenu*activeicon*Label: Enable Active Icon
|
||||||
|
*vtMenu*softreset*Label: Do Soft Reset
|
||||||
|
*vtMenu*hardreset*Label: Do Full Reset
|
||||||
|
*vtMenu*clearsavedlines*Label: Reset and Clear Saved Lines
|
||||||
|
*vtMenu*tekshow*Label: Show Tek Window
|
||||||
|
*vtMenu*tekmode*Label: Switch to Tek Mode
|
||||||
|
*vtMenu*vthide*Label: Hide VT Window
|
||||||
|
*vtMenu*altscreen*Label: Show Alternate Screen
|
||||||
|
*vtMenu*sixelScrolling*Label: Sixel Scrolling
|
||||||
|
*vtMenu*privateColorRegisters*Label: Private Color Registers
|
||||||
|
|
||||||
|
*fontMenu.Label: VT Fonts
|
||||||
|
*fontMenu*fontdefault*Label: Default
|
||||||
|
*fontMenu*font1*Label: Unreadable
|
||||||
|
*VT100.font1: nil2
|
||||||
|
*IconFont: nil2
|
||||||
|
*fontMenu*font2*Label: Tiny
|
||||||
|
*VT100.font2: 5x7
|
||||||
|
*fontMenu*font3*Label: Small
|
||||||
|
*VT100.font3: 6x10
|
||||||
|
*fontMenu*font4*Label: Medium
|
||||||
|
*VT100.font4: 7x13
|
||||||
|
*fontMenu*font5*Label: Large
|
||||||
|
*VT100.font5: 9x15
|
||||||
|
*fontMenu*font6*Label: Huge
|
||||||
|
*VT100.font6: 10x20
|
||||||
|
*fontMenu*fontescape*Label: Escape Sequence
|
||||||
|
*fontMenu*fontsel*Label: Selection
|
||||||
|
!fontescape and fontsel overridden by application
|
||||||
|
*fontMenu*allow-bold-fonts*Label: Bold Fonts
|
||||||
|
*fontMenu*font-linedrawing*Label: Line-Drawing Characters
|
||||||
|
*fontMenu*font-doublesize*Label: Doublesized Characters
|
||||||
|
*fontMenu*font-loadable*Label: VT220 Soft Fonts
|
||||||
|
*fontMenu*font-packed*Label: Packed Font
|
||||||
|
*fontMenu*render-font*Label: TrueType Fonts
|
||||||
|
*fontMenu*utf8-mode*Label: UTF-8 Encoding
|
||||||
|
*fontMenu*utf8-fonts*Label: UTF-8 Fonts
|
||||||
|
*fontMenu*utf8-title*Label: UTF-8 Titles
|
||||||
|
|
||||||
|
*fontMenu*allow-color-ops*Label: Allow Color Ops
|
||||||
|
*fontMenu*allow-font-ops*Label: Allow Font Ops
|
||||||
|
*fontMenu*allow-mouse-ops*Label: Allow Mouse Ops
|
||||||
|
*fontMenu*allow-tcap-ops*Label: Allow Termcap Ops
|
||||||
|
*fontMenu*allow-title-ops*Label: Allow Title Ops
|
||||||
|
*fontMenu*allow-window-ops*Label: Allow Window Ops
|
||||||
|
|
||||||
|
*VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
|
||||||
|
*VT100.utf8Fonts.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
|
||||||
|
*VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
|
||||||
|
*VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
|
||||||
|
*VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
|
||||||
|
*VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
|
||||||
|
|
||||||
|
*tekMenu.Label: Tek Options
|
||||||
|
*tekMenu*tektextlarge*Label: Large Characters
|
||||||
|
*tekMenu*tektext2*Label: #2 Size Characters
|
||||||
|
*tekMenu*tektext3*Label: #3 Size Characters
|
||||||
|
*tekMenu*tektextsmall*Label: Small Characters
|
||||||
|
*tekMenu*tekpage*Label: PAGE
|
||||||
|
*tekMenu*tekreset*Label: RESET
|
||||||
|
*tekMenu*tekcopy*Label: COPY
|
||||||
|
*tekMenu*vtshow*Label: Show VT Window
|
||||||
|
*tekMenu*vtmode*Label: Switch to VT Mode
|
||||||
|
*tekMenu*tekhide*Label: Hide Tek Window
|
||||||
|
|
||||||
|
*tek4014*fontLarge: 9x15
|
||||||
|
*tek4014*font2: 8x13
|
||||||
|
*tek4014*font3: 6x13
|
||||||
|
*tek4014*fontSmall: 6x10
|
||||||
|
|
||||||
|
! If xterm is built with a toolbar, the widget hierarchy looks like this,
|
||||||
|
! showing widget name / class names. The complete menu hierarchy is built
|
||||||
|
! at startup because it is needed to make the layout work for the menubar:
|
||||||
|
!
|
||||||
|
! xterm/XTerm
|
||||||
|
! form/Form
|
||||||
|
! menubar/Box
|
||||||
|
! mainMenuButton/MenuButton
|
||||||
|
! mainMenu/SimpleMenu
|
||||||
|
! menuLabel/SmeBSB
|
||||||
|
! toolbar/SmeBSB
|
||||||
|
! ...
|
||||||
|
! vtMenu/SimpleMenu
|
||||||
|
! menuLabel/SmeBSB
|
||||||
|
! scrollbar/SmeBSB
|
||||||
|
! ...
|
||||||
|
! fontMenu/SimpleMenu
|
||||||
|
! menuLabel/SmeBSB
|
||||||
|
! fontdefault/SmeBSB
|
||||||
|
! ...
|
||||||
|
! tekMenu/SimpleMenu
|
||||||
|
! menuLabel/SmeBSB
|
||||||
|
! fontdefault/SmeBSB
|
||||||
|
! ...
|
||||||
|
! vt100/VT100
|
||||||
|
! tektronix/TopLevelShell
|
||||||
|
! shellext/VendorShellExt
|
||||||
|
! tek4014/Tek4014
|
||||||
|
!
|
||||||
|
! If built without a toolbar, the widget hierarchy is simpler, because there
|
||||||
|
! is no form, and the popup menu widgets are created only when they are first
|
||||||
|
! used.
|
||||||
|
!
|
||||||
|
! xterm/XTerm
|
||||||
|
! shellext/VendorShellExt
|
||||||
|
! mainMenu/SimpleMenu
|
||||||
|
! menuLabel/SmeBSB
|
||||||
|
! ...
|
||||||
|
! ...
|
||||||
|
! vt100/VT100
|
||||||
|
! tektronix/TopLevelShell
|
||||||
|
! shellext/VendorShellExt
|
||||||
|
! tek4014/Tek4014
|
||||||
|
!
|
||||||
|
! A more complete list of the widget/class names can be obtained using editres
|
||||||
|
! to dump a file. Some widget names are not available until the corresponding
|
||||||
|
! menu has been created.
|
||||||
|
|
||||||
|
! These resources reduce space around the menubar, by eliminating padding in
|
||||||
|
! the enclosing form (Thickness) and the border of the Box which represents
|
||||||
|
! the menubar widget.
|
||||||
|
*form.Thickness: 0
|
||||||
|
*menubar.borderWidth: 0
|
||||||
|
|
||||||
|
! If we wanted to eliminate the border of the popup menus, we could do this
|
||||||
|
! instead, since they are children of the menubar:
|
||||||
|
!*menubar*borderWidth: 0
|
||||||
|
|
||||||
|
! Eliminate the border of the buttons in the menubar, so the only line around
|
||||||
|
! the text is for the highlighted button:
|
||||||
|
*MenuButton*borderWidth: 0
|
||||||
|
|
||||||
|
! Set a border for the menus to make them simpler to distinguish against the
|
||||||
|
! vt100 widget:
|
||||||
|
*SimpleMenu*borderWidth: 2
|
||||||
|
|
||||||
|
! xterm can switch at runtime between bitmap (default) and TrueType fonts.
|
||||||
|
! The "faceSize" resource controls the size of the latter. However, it was
|
||||||
|
! originally given with a size that makes the two types of fonts different
|
||||||
|
! sizes. Uncomment this line to use the same size as "fixed".
|
||||||
|
!*faceSize: 8
|
||||||
|
|
||||||
|
! Here is a pattern that is useful for double-clicking on a URL:
|
||||||
|
!*charClass: 33:48,35:48,37-38:48,43-47:48,58:48,61:48,63-64:48,95:48,126:48
|
||||||
|
!
|
||||||
|
! Alternatively,
|
||||||
|
!*on2Clicks: regex [[:alpha:]]+://([[:alnum:]!#+,./=?@_~-]|(%[[:xdigit:]][[:xdigit:]]))+
|
||||||
|
|
||||||
|
! 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.
|
||||||
|
!
|
||||||
|
! In addition, xterm recognizes several escape sequences which can be used to
|
||||||
|
! set fonts, window properties, return settings via escape sequences. Some
|
||||||
|
! find these useful; others are concerned with the possibility of unexpected
|
||||||
|
! inputs.
|
||||||
|
!
|
||||||
|
! All of these features can be enabled or disabled via menus.
|
||||||
|
!
|
||||||
|
! Depending on your environment, you may wish to disable those by default by
|
||||||
|
! uncommenting one or more of the resource settings below:
|
||||||
|
!*allowFontOps: false
|
||||||
|
!*allowTcapOps: false
|
||||||
|
!*allowTitleOps: false
|
||||||
|
!*allowWindowOps: false
|
5159
ports/xterm/xterm-359/aclocal.m4
vendored
Normal file
5159
ports/xterm/xterm-359/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
271
ports/xterm/xterm-359/builtin_icons.h
Normal file
271
ports/xterm/xterm-359/builtin_icons.h
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
#if OPT_BUILTIN_XPMS
|
||||||
|
#include <icons/mini.xterm.xpms>
|
||||||
|
#include <icons/filled-xterm.xpms>
|
||||||
|
#include <icons/xterm.xpms>
|
||||||
|
#include <icons/xterm-color.xpms>
|
||||||
|
#else
|
||||||
|
/* XPM */
|
||||||
|
static const char * mini_xterm_48x48_xpm[] = {
|
||||||
|
"48 48 213 2",
|
||||||
|
" c None",
|
||||||
|
". c #FF0000",
|
||||||
|
"+ c #FF5300",
|
||||||
|
"@ c #FF5E00",
|
||||||
|
"# c #FF4800",
|
||||||
|
"$ c #FF4200",
|
||||||
|
"% c #FF4000",
|
||||||
|
"& c #FF4B00",
|
||||||
|
"* c #FF5200",
|
||||||
|
"= c #FF5400",
|
||||||
|
"- c #FF3500",
|
||||||
|
"; c #FF5100",
|
||||||
|
"> c #FF5C00",
|
||||||
|
", c #FF3000",
|
||||||
|
"' c #FF4500",
|
||||||
|
") c #FF2000",
|
||||||
|
"! c #FF0300",
|
||||||
|
"~ c #FF1600",
|
||||||
|
"{ c #FF5D00",
|
||||||
|
"] c #FF3800",
|
||||||
|
"^ c #FF0200",
|
||||||
|
"/ c #FF0900",
|
||||||
|
"( c #FF2B00",
|
||||||
|
"_ c #FF3300",
|
||||||
|
": c #FF1A00",
|
||||||
|
"< c #FF1300",
|
||||||
|
"[ c #FF1200",
|
||||||
|
"} c #FF5700",
|
||||||
|
"| c #4577BA",
|
||||||
|
"1 c #874E78",
|
||||||
|
"2 c #887577",
|
||||||
|
"3 c #887E77",
|
||||||
|
"4 c #887977",
|
||||||
|
"5 c #875078",
|
||||||
|
"6 c #566CA9",
|
||||||
|
"7 c #5E70A1",
|
||||||
|
"8 c #884E77",
|
||||||
|
"9 c #887677",
|
||||||
|
"0 c #7C5B83",
|
||||||
|
"a c #795686",
|
||||||
|
"b c #008DFE",
|
||||||
|
"c c #0012F3",
|
||||||
|
"d c #000BF2",
|
||||||
|
"e c #008FFE",
|
||||||
|
"f c #006CFA",
|
||||||
|
"g c #0000F1",
|
||||||
|
"h c #0001F1",
|
||||||
|
"i c #0020F4",
|
||||||
|
"j c #0040F6",
|
||||||
|
"k c #0959F0",
|
||||||
|
"l c #1158E8",
|
||||||
|
"m c #1159E8",
|
||||||
|
"n c #0058F9",
|
||||||
|
"o c #001DF4",
|
||||||
|
"p c #0023F4",
|
||||||
|
"q c #005BFA",
|
||||||
|
"r c #0060FA",
|
||||||
|
"s c #0E58EB",
|
||||||
|
"t c #0651F3",
|
||||||
|
"u c #0033F5",
|
||||||
|
"v c #000EF2",
|
||||||
|
"w c #006EFA",
|
||||||
|
"x c #0092FF",
|
||||||
|
"y c #001FF4",
|
||||||
|
"z c #000FF2",
|
||||||
|
"A c #0C51EC",
|
||||||
|
"B c #326AC9",
|
||||||
|
"C c #7A6583",
|
||||||
|
"D c #CA6234",
|
||||||
|
"E c #FC5F03",
|
||||||
|
"F c #FF5800",
|
||||||
|
"G c #FF0800",
|
||||||
|
"H c #F4060B",
|
||||||
|
"I c #007CFB",
|
||||||
|
"J c #0013F3",
|
||||||
|
"K c #007EFB",
|
||||||
|
"L c #FF1800",
|
||||||
|
"M c #F3590C",
|
||||||
|
"N c #AB6152",
|
||||||
|
"O c #4F4EAD",
|
||||||
|
"P c #175CE4",
|
||||||
|
"Q c #0036F5",
|
||||||
|
"R c #0022F4",
|
||||||
|
"S c #0095FD",
|
||||||
|
"T c #0084FD",
|
||||||
|
"U c #0004F1",
|
||||||
|
"V c #0051F8",
|
||||||
|
"W c #345AC7",
|
||||||
|
"X c #E61519",
|
||||||
|
"Y c #FF5900",
|
||||||
|
"Z c #FF4600",
|
||||||
|
"` c #FF0100",
|
||||||
|
" . c #446EB9",
|
||||||
|
".. c #0034F6",
|
||||||
|
"+. c #0032F5",
|
||||||
|
"@. c #FF2200",
|
||||||
|
"#. c #006FFA",
|
||||||
|
"$. c #002DF5",
|
||||||
|
"%. c #0086FD",
|
||||||
|
"&. c #0046F7",
|
||||||
|
"*. c #0015F3",
|
||||||
|
"=. c #0076FC",
|
||||||
|
"-. c #FF0400",
|
||||||
|
";. c #FF2300",
|
||||||
|
">. c #FF2900",
|
||||||
|
",. c #9E3E61",
|
||||||
|
"'. c #0039F6",
|
||||||
|
"). c #FF2A00",
|
||||||
|
"!. c #FF4300",
|
||||||
|
"~. c #0071FB",
|
||||||
|
"{. c #005EF9",
|
||||||
|
"]. c #004DF7",
|
||||||
|
"^. c #008CFE",
|
||||||
|
"/. c #0008F2",
|
||||||
|
"(. c #001DF3",
|
||||||
|
"_. c #007DFB",
|
||||||
|
":. c #FF4100",
|
||||||
|
"<. c #FF5B00",
|
||||||
|
"[. c #A3425C",
|
||||||
|
"}. c #994C66",
|
||||||
|
"|. c #FF1100",
|
||||||
|
"1. c #0072FB",
|
||||||
|
"2. c #000AF2",
|
||||||
|
"3. c #006EFC",
|
||||||
|
"4. c #0017F3",
|
||||||
|
"5. c #007FFB",
|
||||||
|
"6. c #FF0600",
|
||||||
|
"7. c #FF5600",
|
||||||
|
"8. c #A56A5A",
|
||||||
|
"9. c #A53B5A",
|
||||||
|
"0. c #FF4F00",
|
||||||
|
"a. c #0076FB",
|
||||||
|
"b. c #0076FA",
|
||||||
|
"c. c #0093FF",
|
||||||
|
"d. c #007DFC",
|
||||||
|
"e. c #FF1C00",
|
||||||
|
"f. c #A5765A",
|
||||||
|
"g. c #A55D5A",
|
||||||
|
"h. c #006FFB",
|
||||||
|
"i. c #002CF5",
|
||||||
|
"j. c #008AFD",
|
||||||
|
"k. c #006BF9",
|
||||||
|
"l. c #FF3A00",
|
||||||
|
"m. c #FF5000",
|
||||||
|
"n. c #007BFB",
|
||||||
|
"o. c #008BFD",
|
||||||
|
"p. c #A5755A",
|
||||||
|
"q. c #9A5565",
|
||||||
|
"r. c #A43A5B",
|
||||||
|
"s. c #FF4D00",
|
||||||
|
"t. c #80507F",
|
||||||
|
"u. c #FF0F00",
|
||||||
|
"v. c #7A5485",
|
||||||
|
"w. c #A5555A",
|
||||||
|
"x. c #FF0A00",
|
||||||
|
"y. c #A53D5A",
|
||||||
|
"z. c #A4515B",
|
||||||
|
"A. c #A5685A",
|
||||||
|
"B. c #A5735A",
|
||||||
|
"C. c #FF0700",
|
||||||
|
"D. c #FF2E00",
|
||||||
|
"E. c #FF1500",
|
||||||
|
"F. c #A3705C",
|
||||||
|
"G. c #FF0500",
|
||||||
|
"H. c #9A4965",
|
||||||
|
"I. c #FF0E00",
|
||||||
|
"J. c #FF3B00",
|
||||||
|
"K. c #FF2D00",
|
||||||
|
"L. c #A13C5E",
|
||||||
|
"M. c #FF4C00",
|
||||||
|
"N. c #62649D",
|
||||||
|
"O. c #FF0B00",
|
||||||
|
"P. c #FF4700",
|
||||||
|
"Q. c #FF1D00",
|
||||||
|
"R. c #A56D5A",
|
||||||
|
"S. c #FF2C00",
|
||||||
|
"T. c #A4465B",
|
||||||
|
"U. c #FF1400",
|
||||||
|
"V. c #A03E61",
|
||||||
|
"W. c #FF3100",
|
||||||
|
"X. c #FF1B00",
|
||||||
|
"Y. c #FF1000",
|
||||||
|
"Z. c #0029F5",
|
||||||
|
"`. c #0027F4",
|
||||||
|
" + c #4571BA",
|
||||||
|
".+ c #FF3900",
|
||||||
|
"++ c #FF3200",
|
||||||
|
"@+ c #008EFD",
|
||||||
|
"#+ c #0019F3",
|
||||||
|
"$+ c #0090FD",
|
||||||
|
"%+ c #FF0D00",
|
||||||
|
"&+ c #FF1E00",
|
||||||
|
"*+ c #FF4E00",
|
||||||
|
"=+ c #0088FC",
|
||||||
|
"-+ c #0087FC",
|
||||||
|
";+ c #FF1900",
|
||||||
|
">+ c #0036F6",
|
||||||
|
",+ c #FF2100",
|
||||||
|
"'+ c #0073FB",
|
||||||
|
")+ c #0062FA",
|
||||||
|
"!+ c #001AF3",
|
||||||
|
"~+ c #2463D8",
|
||||||
|
"{+ c #3E58BE",
|
||||||
|
"]+ c #2A7FD3",
|
||||||
|
"^+ c #807B7F",
|
||||||
|
"/+ c #008EFB",
|
||||||
|
"(+ c #006AFA",
|
||||||
|
"_+ c #004CF8",
|
||||||
|
":+ c #717B8D",
|
||||||
|
"<+ c #EE0B11",
|
||||||
|
"[+ c #F73E08",
|
||||||
|
"}+ c #FF1F00",
|
||||||
|
"|+ c #FF5500",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||||
|
" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . # @ @ @ @ @ @ @ @ @ @ @ @ $ . ",
|
||||||
|
" . % & & & * @ @ @ @ @ = & & & & & . . - & & & & & ; @ > & & & & , . ",
|
||||||
|
" . . . . . . * @ @ @ @ ; . . . . . . . . . . . . . ' @ ) . . . . . . ",
|
||||||
|
" ! ~ { @ @ @ @ ] ^ / ( @ $ . ",
|
||||||
|
" ^ _ @ @ @ @ @ : ! < [ > } ^ . ",
|
||||||
|
" | 1 2 3 3 3 3 4 5 6 7 8 9 3 0 a ",
|
||||||
|
" b c d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d c e ",
|
||||||
|
" f g g g g g g h i j k l m n o g g g g g g p q r s t u v g g g g g g g w ",
|
||||||
|
" x y g g g g z A B C D E F G H I c g g g g J K L / M N O P Q h g g g g R S ",
|
||||||
|
" T g g g U V W X Y @ @ @ @ Z ` ...g g g g +. ` ' @ @.. #.$.g g g g %. ",
|
||||||
|
" &.g g *.=. -.;.@ @ @ @ @ >.,.'.g g g g '. / ).@ !.. ~.{.U g g ]. ",
|
||||||
|
" ^./.g (._. ` :.@ @ @ @ <.[.'.g g g g '.}.|.<.} ^ . 1.2.g d e ",
|
||||||
|
" 3.g 4.5. 6.7.@ @ @ @ 8.'.g g g g '.9.0.@ [ . a./.g b. ",
|
||||||
|
" c.R /.d. -.e.@ @ @ @ f.'.g g g g '.g.@ - . h.h i. ",
|
||||||
|
" j.k.%. ^ l.@ @ @ f.'.g g g g '.f.m.` n.f o. ",
|
||||||
|
" ! * @ @ f.'.g g g g '.p.G . ",
|
||||||
|
" ! ~ { @ f.'.g g g g '.q.. ",
|
||||||
|
" ^ _ @ f.'.g g g g '.r. ",
|
||||||
|
" ^ s.f.'.g g g g '.t. ",
|
||||||
|
" ^ u.p.'.g g g g '.v. ",
|
||||||
|
" ^ w.'.g g g g '.r. ",
|
||||||
|
" x.y.'.g g g g '.z.^ ",
|
||||||
|
" ` A.'.g g g g '.B.x.. ",
|
||||||
|
" C.D.f.'.g g g g '.f.# ` ",
|
||||||
|
" < E.{ F.'.g g g g '.f.@ ( ^ ",
|
||||||
|
" : G.; @ H.'.g g g g '.f.@ <.I.^ ",
|
||||||
|
" -.J.@ K.L.'.g g g g '.f.@ @ s.` ",
|
||||||
|
" I.) @ M.. N.'.g g g g '.f.@ @ @ _ ^ ",
|
||||||
|
" L O.F <.6.. '.g g g g '.f.@ @ @ { E.! ",
|
||||||
|
" ^ P.@ Q.. '.g g g g '.R.@ @ @ @ * ! ",
|
||||||
|
" G S.@ % . '.g g g g '.T.{ @ @ @ @ l.^ ",
|
||||||
|
" < U.> 7.^ ..g g g g u V.W.@ @ @ @ @ e.! ",
|
||||||
|
" X.-.m.@ Y.. Z.g g g g `. +` M.@ @ @ @ 7.6. ",
|
||||||
|
" -..+@ ++. @+#+g g g g #+$+^ %+<.@ @ @ @ :.` ",
|
||||||
|
" I.&+@ *+. =+h g g g g h -+ ! >.@ @ @ @ @ ;.^ ",
|
||||||
|
" ;+x.} > C.. >+g g g g g g >+ ` Z @ @ @ @ Y / . ",
|
||||||
|
" ` ' @ ,+. %.1.'+)+!+g g g g g g g g #+)+~+{+]+^+@ @ @ P.` ",
|
||||||
|
" / ).@ !.. /+(+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+(+:+@ @ @ @ ).^ ",
|
||||||
|
" I.[ > F . . <+[+@ @ @ @ <.I.` ",
|
||||||
|
" . . . . . . 0.@ }+. . . . . . . . . . . . . |+@ @ @ @ s.. . . . . . ",
|
||||||
|
" O.@ @ @ @ @ @ @ @ @ @ @ @ @ ^ ! $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ . ",
|
||||||
|
" . & & & & & & & & & & & & & . . , & & & & & & & & & & & & & & & , . ",
|
||||||
|
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
|
||||||
|
" ",
|
||||||
|
" "};
|
||||||
|
#endif
|
5658
ports/xterm/xterm-359/button.c
Normal file
5658
ports/xterm/xterm-359/button.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/button.o
Normal file
BIN
ports/xterm/xterm-359/button.o
Normal file
Binary file not shown.
888
ports/xterm/xterm-359/cachedGCs.c
Normal file
888
ports/xterm/xterm-359/cachedGCs.c
Normal file
@ -0,0 +1,888 @@
|
|||||||
|
/* $XTermId: cachedGCs.c,v 1.79 2019/11/13 23:07:08 tom Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2018,2019 by Thomas E. Dickey
|
||||||
|
*
|
||||||
|
* All Rights Reserved
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the
|
||||||
|
* "Software"), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
* holders shall not be used in advertising or otherwise to promote the
|
||||||
|
* sale, use or other dealings in this Software without prior written
|
||||||
|
* authorization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <data.h>
|
||||||
|
#include <xstrings.h>
|
||||||
|
#include <fontutils.h>
|
||||||
|
|
||||||
|
#include <X11/Xmu/Drawing.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* hide (or eliminate) calls to
|
||||||
|
* XCreateGC()
|
||||||
|
* XFreeGC()
|
||||||
|
* XGetGCValues()
|
||||||
|
* XSetBackground()
|
||||||
|
* XSetFont()
|
||||||
|
* XSetForeground()
|
||||||
|
* XtGetGC()
|
||||||
|
* XtReleaseGC()
|
||||||
|
* by associating an integer with each GC, maintaining a cache which
|
||||||
|
* reflects frequency of use rather than most recent usage.
|
||||||
|
*
|
||||||
|
* FIXME: XTermFonts should hold gc, font, fs.
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
GC gc;
|
||||||
|
unsigned used;
|
||||||
|
unsigned cset;
|
||||||
|
XTermFonts *font;
|
||||||
|
Pixel tile;
|
||||||
|
Pixel fg;
|
||||||
|
Pixel bg;
|
||||||
|
} CgsCacheData;
|
||||||
|
|
||||||
|
#define DEPTH 8
|
||||||
|
#define ITEM() (int) (me->data - me->list)
|
||||||
|
#define LIST(item) me->list[item]
|
||||||
|
#define LINK(item) me->data = (me->list + (item))
|
||||||
|
#define THIS(field) me->data->field
|
||||||
|
#define NEXT(field) me->next.field
|
||||||
|
|
||||||
|
#define HaveFont(font) (Boolean) ((font) != 0 && (font)->fs != 0)
|
||||||
|
|
||||||
|
#define GC_CSet GCFunction
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
CgsCacheData list[DEPTH];
|
||||||
|
CgsCacheData *data; /* points to current list[] entry */
|
||||||
|
XtGCMask mask; /* changes since the last getCgsGC() */
|
||||||
|
CgsCacheData next; /* updated values, apply in getCgsGC() */
|
||||||
|
} CgsCache;
|
||||||
|
|
||||||
|
#if OPT_TRACE
|
||||||
|
#define CASE(name) case gc##name: result = #name; break
|
||||||
|
static const char *
|
||||||
|
traceCgsEnum(CgsEnum value)
|
||||||
|
{
|
||||||
|
const char *result = "?";
|
||||||
|
switch (value) {
|
||||||
|
CASE(Norm);
|
||||||
|
CASE(Bold);
|
||||||
|
CASE(NormReverse);
|
||||||
|
CASE(BoldReverse);
|
||||||
|
CASE(Border);
|
||||||
|
CASE(Filler);
|
||||||
|
#if OPT_BOX_CHARS
|
||||||
|
CASE(Line);
|
||||||
|
CASE(Dots);
|
||||||
|
#endif
|
||||||
|
#if OPT_DEC_CHRSET
|
||||||
|
CASE(CNorm);
|
||||||
|
CASE(CBold);
|
||||||
|
#endif
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
CASE(Wide);
|
||||||
|
CASE(WBold);
|
||||||
|
CASE(WideReverse);
|
||||||
|
CASE(WBoldReverse);
|
||||||
|
#endif
|
||||||
|
CASE(VTcursNormal);
|
||||||
|
CASE(VTcursFilled);
|
||||||
|
CASE(VTcursReverse);
|
||||||
|
CASE(VTcursOutline);
|
||||||
|
#if OPT_TEK4014
|
||||||
|
CASE(TKcurs);
|
||||||
|
#endif
|
||||||
|
CASE(MAX);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef CASE
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
traceVTwin(XtermWidget xw, VTwin *value)
|
||||||
|
{
|
||||||
|
const char *result = "?";
|
||||||
|
if (value == 0)
|
||||||
|
result = "null";
|
||||||
|
else if (value == &(TScreenOf(xw)->fullVwin))
|
||||||
|
result = "fullVwin";
|
||||||
|
#ifndef NO_ACTIVE_ICON
|
||||||
|
else if (value == &(TScreenOf(xw)->iconVwin))
|
||||||
|
result = "iconVwin";
|
||||||
|
#endif
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if OPT_TRACE > 1
|
||||||
|
static String
|
||||||
|
traceCSet(unsigned cset)
|
||||||
|
{
|
||||||
|
static char result[80];
|
||||||
|
switch (cset) {
|
||||||
|
case CSET_SWL:
|
||||||
|
strcpy(result, "SWL");
|
||||||
|
break;
|
||||||
|
case CSET_DHL_TOP:
|
||||||
|
strcpy(result, "DHL_TOP");
|
||||||
|
break;
|
||||||
|
case CSET_DHL_BOT:
|
||||||
|
strcpy(result, "DHL_BOT");
|
||||||
|
break;
|
||||||
|
case CSET_DWL:
|
||||||
|
strcpy(result, "DWL");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sprintf(result, "%#x", cset);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static String
|
||||||
|
traceFont(XTermFonts * font)
|
||||||
|
{
|
||||||
|
static char result[80];
|
||||||
|
|
||||||
|
if (HaveFont(font)) {
|
||||||
|
XFontStruct *fs = font->fs;
|
||||||
|
sprintf(result, "%p(%dx%d %d %#lx)",
|
||||||
|
fs,
|
||||||
|
fs->max_bounds.width,
|
||||||
|
fs->max_bounds.ascent + fs->max_bounds.descent,
|
||||||
|
fs->max_bounds.descent,
|
||||||
|
(unsigned long) (fs->fid));
|
||||||
|
} else {
|
||||||
|
strcpy(result, "null");
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static String
|
||||||
|
tracePixel(XtermWidget xw, Pixel value)
|
||||||
|
{
|
||||||
|
#define CASE(name) { name, #name }
|
||||||
|
static struct {
|
||||||
|
TermColors code;
|
||||||
|
String name;
|
||||||
|
} t_colors[] = {
|
||||||
|
CASE(TEXT_FG),
|
||||||
|
CASE(TEXT_BG),
|
||||||
|
CASE(TEXT_CURSOR),
|
||||||
|
CASE(MOUSE_FG),
|
||||||
|
CASE(MOUSE_BG),
|
||||||
|
#if OPT_TEK4014
|
||||||
|
CASE(TEK_FG),
|
||||||
|
CASE(TEK_BG),
|
||||||
|
#endif
|
||||||
|
#if OPT_HIGHLIGHT_COLOR
|
||||||
|
CASE(HIGHLIGHT_BG),
|
||||||
|
CASE(HIGHLIGHT_FG),
|
||||||
|
#endif
|
||||||
|
#if OPT_TEK4014
|
||||||
|
CASE(TEK_CURSOR),
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
TScreen *screen = TScreenOf(xw);
|
||||||
|
String result = 0;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
for (n = 0; n < NCOLORS; ++n) {
|
||||||
|
if (value == T_COLOR(screen, t_colors[n].code)) {
|
||||||
|
result = t_colors[n].name;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
for (n = 0; n < MAXCOLORS; ++n) {
|
||||||
|
#if OPT_COLOR_RES
|
||||||
|
if (screen->Acolors[n].mode > 0
|
||||||
|
&& value == screen->Acolors[n].value) {
|
||||||
|
result = screen->Acolors[n].resource;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if (value == screen->Acolors[n]) {
|
||||||
|
char temp[80];
|
||||||
|
sprintf(temp, "Acolors[%d]", n);
|
||||||
|
result = x_strdup(temp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
char temp[80];
|
||||||
|
sprintf(temp, "%#lx", value);
|
||||||
|
result = x_strdup(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef CASE
|
||||||
|
|
||||||
|
#endif /* OPT_TRACE > 1 */
|
||||||
|
#endif /* OPT_TRACE */
|
||||||
|
|
||||||
|
static CgsCache *
|
||||||
|
allocCache(void **cache_pointer)
|
||||||
|
{
|
||||||
|
if (*cache_pointer == 0) {
|
||||||
|
*cache_pointer = TypeCallocN(CgsCache, gcMAX);
|
||||||
|
TRACE(("allocCache %p\n", *cache_pointer));
|
||||||
|
}
|
||||||
|
return *((CgsCache **) cache_pointer);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define ALLOC_CACHE(p) ((*(p) == 0) ? allocCache(p) : *(p))
|
||||||
|
|
||||||
|
static int
|
||||||
|
dataIndex(CgsCache * me)
|
||||||
|
{
|
||||||
|
return ITEM();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
relinkData(CgsCache * me, int item)
|
||||||
|
{
|
||||||
|
LINK(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns the appropriate cache pointer.
|
||||||
|
*/
|
||||||
|
static CgsCache *
|
||||||
|
myCache(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId)
|
||||||
|
{
|
||||||
|
CgsCache *result = 0;
|
||||||
|
|
||||||
|
if ((int) cgsId >= 0 && cgsId < gcMAX) {
|
||||||
|
#ifdef NO_ACTIVE_ICON
|
||||||
|
(void) xw;
|
||||||
|
(void) cgsWin;
|
||||||
|
#else
|
||||||
|
if (cgsWin == &(TScreenOf(xw)->iconVwin))
|
||||||
|
result = ALLOC_CACHE(&(TScreenOf(xw)->icon_cgs_cache));
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
result = ALLOC_CACHE(&(TScreenOf(xw)->main_cgs_cache));
|
||||||
|
|
||||||
|
result += cgsId;
|
||||||
|
if (result->data == 0) {
|
||||||
|
result->data = result->list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Display *
|
||||||
|
myDisplay(XtermWidget xw)
|
||||||
|
{
|
||||||
|
return TScreenOf(xw)->display;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Drawable
|
||||||
|
myDrawable(XtermWidget xw, VTwin *cgsWin)
|
||||||
|
{
|
||||||
|
Drawable drawable = 0;
|
||||||
|
|
||||||
|
if (cgsWin != 0 && cgsWin->window != 0)
|
||||||
|
drawable = cgsWin->window;
|
||||||
|
if (drawable == 0)
|
||||||
|
drawable = RootWindowOfScreen(XtScreen(xw));
|
||||||
|
return drawable;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GC
|
||||||
|
newCache(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, CgsCache * me)
|
||||||
|
{
|
||||||
|
XGCValues xgcv;
|
||||||
|
XtGCMask mask;
|
||||||
|
|
||||||
|
THIS(font) = NEXT(font);
|
||||||
|
THIS(cset) = NEXT(cset);
|
||||||
|
THIS(fg) = NEXT(fg);
|
||||||
|
THIS(bg) = NEXT(bg);
|
||||||
|
|
||||||
|
memset(&xgcv, 0, sizeof(xgcv));
|
||||||
|
xgcv.font = NEXT(font)->fs->fid;
|
||||||
|
mask = (GCForeground | GCBackground | GCFont);
|
||||||
|
|
||||||
|
switch (cgsId) {
|
||||||
|
case gcFiller:
|
||||||
|
case gcBorder:
|
||||||
|
mask &= (XtGCMask) ~ GCFont;
|
||||||
|
/* FALLTHRU */
|
||||||
|
case gcNorm:
|
||||||
|
case gcBold:
|
||||||
|
case gcNormReverse:
|
||||||
|
case gcBoldReverse:
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
case gcWide:
|
||||||
|
case gcWBold:
|
||||||
|
case gcWideReverse:
|
||||||
|
case gcWBoldReverse:
|
||||||
|
#endif
|
||||||
|
mask |= (GCGraphicsExposures | GCFunction);
|
||||||
|
xgcv.graphics_exposures = True; /* default */
|
||||||
|
xgcv.function = GXcopy;
|
||||||
|
break;
|
||||||
|
#if OPT_BOX_CHARS
|
||||||
|
case gcLine:
|
||||||
|
mask |= (GCGraphicsExposures | GCFunction);
|
||||||
|
xgcv.graphics_exposures = True; /* default */
|
||||||
|
xgcv.function = GXcopy;
|
||||||
|
break;
|
||||||
|
case gcDots:
|
||||||
|
xgcv.fill_style = FillTiled;
|
||||||
|
xgcv.tile =
|
||||||
|
XmuCreateStippledPixmap(XtScreen((Widget) xw),
|
||||||
|
THIS(fg),
|
||||||
|
THIS(bg),
|
||||||
|
xw->core.depth);
|
||||||
|
THIS(tile) = xgcv.tile;
|
||||||
|
mask = (GCForeground | GCBackground);
|
||||||
|
mask |= (GCGraphicsExposures | GCFunction | GCTile | GCFillStyle);
|
||||||
|
xgcv.graphics_exposures = True; /* default */
|
||||||
|
xgcv.function = GXcopy;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#if OPT_DEC_CHRSET
|
||||||
|
case gcCNorm:
|
||||||
|
case gcCBold:
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
case gcVTcursNormal: /* FALLTHRU */
|
||||||
|
case gcVTcursFilled: /* FALLTHRU */
|
||||||
|
case gcVTcursReverse: /* FALLTHRU */
|
||||||
|
case gcVTcursOutline: /* FALLTHRU */
|
||||||
|
break;
|
||||||
|
#if OPT_TEK4014
|
||||||
|
case gcTKcurs: /* FALLTHRU */
|
||||||
|
/* FIXME */
|
||||||
|
#endif
|
||||||
|
case gcMAX: /* should not happen */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
xgcv.foreground = NEXT(fg);
|
||||||
|
xgcv.background = NEXT(bg);
|
||||||
|
|
||||||
|
THIS(gc) = XCreateGC(myDisplay(xw), myDrawable(xw, cgsWin), mask, &xgcv);
|
||||||
|
TRACE(("getCgsGC(%s) created gc %p(%d)\n",
|
||||||
|
traceCgsEnum(cgsId), (void *) THIS(gc), ITEM()));
|
||||||
|
|
||||||
|
THIS(used) = 0;
|
||||||
|
return THIS(gc);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define SameFont(a, b) \
|
||||||
|
(Boolean) (HaveFont(a) \
|
||||||
|
&& HaveFont(b) \
|
||||||
|
&& (((a)->fs == (b)->fs) \
|
||||||
|
|| !memcmp((a)->fs, (b)->fs, sizeof(*((a)->fs)))))
|
||||||
|
|
||||||
|
#define SameColor(a,b) ((a) == (b))
|
||||||
|
#define SameCSet(a,b) ((a) == (b))
|
||||||
|
|
||||||
|
static GC
|
||||||
|
chgCache(XtermWidget xw, CgsEnum cgsId GCC_UNUSED, CgsCache * me, Bool both)
|
||||||
|
{
|
||||||
|
XGCValues xgcv;
|
||||||
|
XtGCMask mask = (GCForeground | GCBackground | GCFont);
|
||||||
|
|
||||||
|
memset(&xgcv, 0, sizeof(xgcv));
|
||||||
|
|
||||||
|
TRACE2(("chgCache(%s) old data fg=%s, bg=%s, font=%s cset %s\n",
|
||||||
|
traceCgsEnum(cgsId),
|
||||||
|
tracePixel(xw, THIS(fg)),
|
||||||
|
tracePixel(xw, THIS(bg)),
|
||||||
|
traceFont(THIS(font)),
|
||||||
|
traceCSet(THIS(cset))));
|
||||||
|
#if OPT_TRACE > 1
|
||||||
|
if (!SameFont(THIS(font), NEXT(font)))
|
||||||
|
TRACE2(("...chgCache new font=%s\n", traceFont(NEXT(font))));
|
||||||
|
if (!SameCSet(THIS(cset), NEXT(cset)))
|
||||||
|
TRACE2(("...chgCache new cset=%s\n", traceCSet(NEXT(cset))));
|
||||||
|
if (!SameColor(THIS(fg), NEXT(fg)))
|
||||||
|
TRACE2(("...chgCache new fg=%s\n", tracePixel(xw, NEXT(fg))));
|
||||||
|
if (!SameColor(THIS(bg), NEXT(bg)))
|
||||||
|
TRACE2(("...chgCache new bg=%s\n", tracePixel(xw, NEXT(bg))));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (both) {
|
||||||
|
THIS(font) = NEXT(font);
|
||||||
|
THIS(cset) = NEXT(cset);
|
||||||
|
}
|
||||||
|
THIS(fg) = NEXT(fg);
|
||||||
|
THIS(bg) = NEXT(bg);
|
||||||
|
|
||||||
|
xgcv.font = THIS(font)->fs->fid;
|
||||||
|
xgcv.foreground = THIS(fg);
|
||||||
|
xgcv.background = THIS(bg);
|
||||||
|
|
||||||
|
XChangeGC(myDisplay(xw), THIS(gc), mask, &xgcv);
|
||||||
|
TRACE2(("...chgCache(%s) updated gc %p(%d)\n",
|
||||||
|
traceCgsEnum(cgsId), THIS(gc), ITEM()));
|
||||||
|
|
||||||
|
THIS(used) = 0;
|
||||||
|
return THIS(gc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use the "setCgsXXXX()" calls to initialize parameters for a new GC.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
setCgsFore(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, Pixel fg)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
NEXT(fg) = fg;
|
||||||
|
me->mask |= GCForeground;
|
||||||
|
TRACE2(("setCgsFore(%s) %s\n",
|
||||||
|
traceCgsEnum(cgsId),
|
||||||
|
tracePixel(xw, NEXT(fg))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
setCgsBack(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, Pixel bg)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
NEXT(bg) = bg;
|
||||||
|
me->mask |= GCBackground;
|
||||||
|
TRACE2(("setCgsBack(%s) %s\n",
|
||||||
|
traceCgsEnum(cgsId),
|
||||||
|
tracePixel(xw, NEXT(bg))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if OPT_DEC_CHRSET
|
||||||
|
void
|
||||||
|
setCgsCSet(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, unsigned cset)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
NEXT(cset) = cset;
|
||||||
|
me->mask |= GC_CSet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define setCgsCSet(xw, cgsWin, dstCgsId, cset) /* nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
setCgsFont2(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, XTermFonts * font, unsigned which)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
TScreen *screen = TScreenOf(xw);
|
||||||
|
if (!HaveFont(font)) {
|
||||||
|
if (cgsId != gcNorm)
|
||||||
|
(void) getCgsGC(xw, cgsWin, gcNorm);
|
||||||
|
#ifndef NO_ACTIVE_ICON
|
||||||
|
if (cgsWin == &(TScreenOf(xw)->iconVwin))
|
||||||
|
font = getIconicFont(screen);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
font = GetNormalFont(screen, which);
|
||||||
|
}
|
||||||
|
if (HaveFont(font) && okFont(font->fs)) {
|
||||||
|
TRACE2(("setCgsFont next: %s for %s slot %p, gc %p\n",
|
||||||
|
traceFont(font), traceCgsEnum(cgsId),
|
||||||
|
me, THIS(gc)));
|
||||||
|
TRACE2(("...next font was %s\n", traceFont(NEXT(font))));
|
||||||
|
NEXT(font) = font;
|
||||||
|
me->mask |= GCFont;
|
||||||
|
} else {
|
||||||
|
/* EMPTY */
|
||||||
|
TRACE2(("...NOT updated font for %s\n",
|
||||||
|
traceCgsEnum(cgsId)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
setCgsFont(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId, XTermFonts * font)
|
||||||
|
{
|
||||||
|
setCgsFont2(xw, cgsWin, cgsId, font, fNorm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Discard all of the font information, e.g., we are resizing the font.
|
||||||
|
* Keep the GC's so we can simply change them rather than creating new ones.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
clrCgsFonts(XtermWidget xw, VTwin *cgsWin, XTermFonts * font)
|
||||||
|
{
|
||||||
|
if (HaveFont(font)) {
|
||||||
|
int j;
|
||||||
|
for_each_gc(j) {
|
||||||
|
CgsCache *me;
|
||||||
|
if ((me = myCache(xw, cgsWin, (CgsEnum) j)) != 0) {
|
||||||
|
int k;
|
||||||
|
for (k = 0; k < DEPTH; ++k) {
|
||||||
|
if (SameFont(LIST(k).font, font)) {
|
||||||
|
TRACE2(("clrCgsFonts %s gc %p(%d) %s\n",
|
||||||
|
traceCgsEnum((CgsEnum) j),
|
||||||
|
LIST(k).gc,
|
||||||
|
k,
|
||||||
|
traceFont(font)));
|
||||||
|
LIST(k).font = 0;
|
||||||
|
LIST(k).cset = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (SameFont(NEXT(font), font)) {
|
||||||
|
TRACE2(("clrCgsFonts %s next %s\n",
|
||||||
|
traceCgsEnum((CgsEnum) j),
|
||||||
|
traceFont(font)));
|
||||||
|
NEXT(font) = 0;
|
||||||
|
NEXT(cset) = 0;
|
||||||
|
me->mask &= (unsigned) ~(GCFont | GC_CSet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return a GC associated with the given id, allocating if needed.
|
||||||
|
*/
|
||||||
|
GC
|
||||||
|
getCgsGC(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
GC result = 0;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
TRACE2(("getCgsGC(%s, %s)\n",
|
||||||
|
traceVTwin(xw, cgsWin), traceCgsEnum(cgsId)));
|
||||||
|
if (me->mask != 0) {
|
||||||
|
int j;
|
||||||
|
unsigned used = 0;
|
||||||
|
|
||||||
|
/* fill in the unchanged fields */
|
||||||
|
if (!(me->mask & GC_CSet))
|
||||||
|
NEXT(cset) = 0; /* OPT_DEC_CHRSET */
|
||||||
|
if (!(me->mask & GCFont))
|
||||||
|
NEXT(font) = THIS(font);
|
||||||
|
if (!(me->mask & GCForeground))
|
||||||
|
NEXT(fg) = THIS(fg);
|
||||||
|
if (!(me->mask & GCBackground))
|
||||||
|
NEXT(bg) = THIS(bg);
|
||||||
|
|
||||||
|
if (NEXT(font) == 0) {
|
||||||
|
setCgsFont(xw, cgsWin, cgsId, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
TRACE2(("...Cgs new data fg=%s, bg=%s, font=%s cset %s\n",
|
||||||
|
tracePixel(xw, NEXT(fg)),
|
||||||
|
tracePixel(xw, NEXT(bg)),
|
||||||
|
traceFont(NEXT(font)),
|
||||||
|
traceCSet(NEXT(cset))));
|
||||||
|
|
||||||
|
/* try to find the given data in an already-created GC */
|
||||||
|
for (j = 0; j < DEPTH; ++j) {
|
||||||
|
if (LIST(j).gc != 0
|
||||||
|
&& SameFont(LIST(j).font, NEXT(font))
|
||||||
|
&& SameCSet(LIST(j).cset, NEXT(cset))
|
||||||
|
&& SameColor(LIST(j).fg, NEXT(fg))
|
||||||
|
&& SameColor(LIST(j).bg, NEXT(bg))) {
|
||||||
|
LINK(j);
|
||||||
|
result = THIS(gc);
|
||||||
|
TRACE2(("getCgsGC existing %p(%d)\n", result, ITEM()));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
/* try to find an empty slot, to create a new GC */
|
||||||
|
used = 0;
|
||||||
|
for (j = 0; j < DEPTH; ++j) {
|
||||||
|
if (LIST(j).gc == 0) {
|
||||||
|
LINK(j);
|
||||||
|
result = newCache(xw, cgsWin, cgsId, me);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (used < LIST(j).used)
|
||||||
|
used = LIST(j).used;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == 0) {
|
||||||
|
int k;
|
||||||
|
/* if none were empty, pick the least-used slot, to modify */
|
||||||
|
for (j = 0, k = -1; j < DEPTH; ++j) {
|
||||||
|
if (used >= LIST(j).used) {
|
||||||
|
used = LIST(j).used;
|
||||||
|
k = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (k >= 0) {
|
||||||
|
LINK(k);
|
||||||
|
TRACE2(("...getCgsGC least-used(%d) was %d\n", k, THIS(used)));
|
||||||
|
result = chgCache(xw, cgsId, me, True);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
me->next = *(me->data);
|
||||||
|
} else {
|
||||||
|
result = THIS(gc);
|
||||||
|
}
|
||||||
|
me->mask = 0;
|
||||||
|
THIS(used) += 1;
|
||||||
|
TRACE2(("...getCgsGC(%s, %s) gc %p(%d), used %d\n",
|
||||||
|
traceVTwin(xw, cgsWin),
|
||||||
|
traceCgsEnum(cgsId), result, ITEM(), THIS(used)));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the font for the given GC.
|
||||||
|
*/
|
||||||
|
CgsEnum
|
||||||
|
getCgsId(XtermWidget xw, VTwin *cgsWin, GC gc)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
CgsEnum result = gcNorm;
|
||||||
|
|
||||||
|
for_each_gc(n) {
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, (CgsEnum) n)) != 0) {
|
||||||
|
if (THIS(gc) == gc) {
|
||||||
|
result = (CgsEnum) n;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the font for the given GC.
|
||||||
|
*/
|
||||||
|
XTermFonts *
|
||||||
|
getCgsFont(XtermWidget xw, VTwin *cgsWin, GC gc)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
XTermFonts *result = 0;
|
||||||
|
|
||||||
|
for_each_gc(n) {
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, (CgsEnum) n)) != 0) {
|
||||||
|
if (THIS(gc) == gc) {
|
||||||
|
result = THIS(font);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the foreground color for the given GC.
|
||||||
|
*/
|
||||||
|
Pixel
|
||||||
|
getCgsFore(XtermWidget xw, VTwin *cgsWin, GC gc)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
Pixel result = 0;
|
||||||
|
|
||||||
|
for_each_gc(n) {
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, (CgsEnum) n)) != 0) {
|
||||||
|
if (THIS(gc) == gc) {
|
||||||
|
result = THIS(fg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return the background color for the given GC.
|
||||||
|
*/
|
||||||
|
Pixel
|
||||||
|
getCgsBack(XtermWidget xw, VTwin *cgsWin, GC gc)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
Pixel result = 0;
|
||||||
|
|
||||||
|
for_each_gc(n) {
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, (CgsEnum) n)) != 0) {
|
||||||
|
if (THIS(gc) == gc) {
|
||||||
|
result = THIS(bg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy the parameters (except GC of course) from one cache record to another.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
copyCgs(XtermWidget xw, VTwin *cgsWin, CgsEnum dstCgsId, CgsEnum srcCgsId)
|
||||||
|
{
|
||||||
|
if (dstCgsId != srcCgsId) {
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, srcCgsId)) != 0) {
|
||||||
|
TRACE(("copyCgs from %s to %s\n",
|
||||||
|
traceCgsEnum(srcCgsId),
|
||||||
|
traceCgsEnum(dstCgsId)));
|
||||||
|
TRACE2(("copyCgs from %s (me %p, fg %s, bg %s, cset %s) to %s {{\n",
|
||||||
|
traceCgsEnum(srcCgsId),
|
||||||
|
me,
|
||||||
|
tracePixel(xw, THIS(fg)),
|
||||||
|
tracePixel(xw, THIS(bg)),
|
||||||
|
traceCSet(THIS(cset)),
|
||||||
|
traceCgsEnum(dstCgsId)));
|
||||||
|
setCgsCSet(xw, cgsWin, dstCgsId, THIS(cset));
|
||||||
|
setCgsFore(xw, cgsWin, dstCgsId, THIS(fg));
|
||||||
|
setCgsBack(xw, cgsWin, dstCgsId, THIS(bg));
|
||||||
|
setCgsFont(xw, cgsWin, dstCgsId, THIS(font));
|
||||||
|
TRACE2(("...copyCgs }}\n"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Interchange colors in the cache, e.g., for reverse-video.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
redoCgs(XtermWidget xw, Pixel fg, Pixel bg, CgsEnum cgsId)
|
||||||
|
{
|
||||||
|
VTwin *cgsWin = WhichVWin(TScreenOf(xw));
|
||||||
|
CgsCache *me = myCache(xw, cgsWin, cgsId);
|
||||||
|
|
||||||
|
if (me != 0) {
|
||||||
|
CgsCacheData *save_data = me->data;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
for (n = 0; n < DEPTH; ++n) {
|
||||||
|
if (LIST(n).gc != 0 && HaveFont(LIST(n).font)) {
|
||||||
|
LINK(n);
|
||||||
|
|
||||||
|
if (LIST(n).fg == fg
|
||||||
|
&& LIST(n).bg == bg) {
|
||||||
|
setCgsFore(xw, cgsWin, cgsId, bg);
|
||||||
|
setCgsBack(xw, cgsWin, cgsId, fg);
|
||||||
|
} else if (LIST(n).fg == bg
|
||||||
|
&& LIST(n).bg == fg) {
|
||||||
|
setCgsFore(xw, cgsWin, cgsId, fg);
|
||||||
|
setCgsBack(xw, cgsWin, cgsId, bg);
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
(void) chgCache(xw, cgsId, me, False);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
me->data = save_data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Swap the cache records, e.g., when doing reverse-video.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
swapCgs(XtermWidget xw, VTwin *cgsWin, CgsEnum dstCgsId, CgsEnum srcCgsId)
|
||||||
|
{
|
||||||
|
if (dstCgsId != srcCgsId) {
|
||||||
|
CgsCache *src;
|
||||||
|
|
||||||
|
if ((src = myCache(xw, cgsWin, srcCgsId)) != 0) {
|
||||||
|
CgsCache *dst;
|
||||||
|
|
||||||
|
if ((dst = myCache(xw, cgsWin, dstCgsId)) != 0) {
|
||||||
|
CgsCache tmp;
|
||||||
|
int srcIndex = dataIndex(src);
|
||||||
|
int dstIndex = dataIndex(dst);
|
||||||
|
|
||||||
|
EXCHANGE(*src, *dst, tmp);
|
||||||
|
|
||||||
|
relinkData(src, dstIndex);
|
||||||
|
relinkData(dst, srcIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Free any GC associated with the given id.
|
||||||
|
*/
|
||||||
|
GC
|
||||||
|
freeCgs(XtermWidget xw, VTwin *cgsWin, CgsEnum cgsId)
|
||||||
|
{
|
||||||
|
CgsCache *me;
|
||||||
|
|
||||||
|
if ((me = myCache(xw, cgsWin, cgsId)) != 0) {
|
||||||
|
int j;
|
||||||
|
|
||||||
|
for (j = 0; j < DEPTH; ++j) {
|
||||||
|
if (LIST(j).gc != 0) {
|
||||||
|
TRACE(("freeCgs(%s, %s) gc %p(%d)\n",
|
||||||
|
traceVTwin(xw, cgsWin),
|
||||||
|
traceCgsEnum(cgsId), (void *) LIST(j).gc, j));
|
||||||
|
clrCgsFonts(xw, cgsWin, LIST(j).font);
|
||||||
|
#if OPT_BOX_CHARS
|
||||||
|
if (cgsId == gcDots) {
|
||||||
|
XmuReleaseStippledPixmap(XtScreen((Widget) xw), LIST(j).tile);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
XFreeGC(TScreenOf(xw)->display, LIST(j).gc);
|
||||||
|
memset(&LIST(j), 0, sizeof(LIST(j)));
|
||||||
|
}
|
||||||
|
LINK(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef NO_LEAKS
|
||||||
|
void
|
||||||
|
noleaks_cachedCgs(XtermWidget xw)
|
||||||
|
{
|
||||||
|
#ifndef NO_ACTIVE_ICON
|
||||||
|
free(TScreenOf(xw)->icon_cgs_cache);
|
||||||
|
#endif
|
||||||
|
free(TScreenOf(xw)->main_cgs_cache);
|
||||||
|
}
|
||||||
|
#endif
|
BIN
ports/xterm/xterm-359/cachedGCs.o
Normal file
BIN
ports/xterm/xterm-359/cachedGCs.o
Normal file
Binary file not shown.
514
ports/xterm/xterm-359/charclass.c
Normal file
514
ports/xterm/xterm-359/charclass.c
Normal file
@ -0,0 +1,514 @@
|
|||||||
|
/* $XTermId: charclass.c,v 1.41 2020/07/06 20:00:12 tom Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2002-2017,2020 by Thomas E. Dickey
|
||||||
|
*
|
||||||
|
* All Rights Reserved
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the
|
||||||
|
* "Software"), to deal in the Software without restriction, including
|
||||||
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
* permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
* the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included
|
||||||
|
* in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
* holders shall not be used in advertising or otherwise to promote the
|
||||||
|
* sale, use or other dealings in this Software without prior written
|
||||||
|
* authorization.
|
||||||
|
*
|
||||||
|
*----------------------------------------------------------------------------
|
||||||
|
* Compact and efficient reimplementation of the
|
||||||
|
* xterm character class mechanism for large character sets
|
||||||
|
*
|
||||||
|
* Markus Kuhn -- mkuhn@acm.org -- 2000-07-03
|
||||||
|
*
|
||||||
|
* xterm allows users to select entire words with a double-click on the left
|
||||||
|
* mouse button. Opinions might differ on what type of characters are part of
|
||||||
|
* separate words, therefore xterm allows users to configure a class code for
|
||||||
|
* each 8-bit character. Words are maximum length sequences of neighboring
|
||||||
|
* characters with identical class code. Extending this mechanism to Unicode
|
||||||
|
* naively would create an at least 2^16 entries (128 kB) long class code
|
||||||
|
* table.
|
||||||
|
*
|
||||||
|
* Instead, we transform the character class table into a list of intervals,
|
||||||
|
* that will be accessed via a linear search. Changes made to the table by the
|
||||||
|
* user will be appended. A special class code IDENT (default) marks
|
||||||
|
* characters who have their code number as the class code.
|
||||||
|
*
|
||||||
|
* We could alternatively use a sorted table of non-overlapping intervals that
|
||||||
|
* can be accessed via binary search, but merging in new intervals is
|
||||||
|
* significantly more hassle and not worth the effort here.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <xterm.h>
|
||||||
|
#include <charclass.h>
|
||||||
|
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
|
||||||
|
#ifdef TEST_DRIVER
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
#include <wctype.h>
|
||||||
|
|
||||||
|
#if OPT_TRACE
|
||||||
|
#define Trace if (opt_v) printf
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef OPT_REPORT_CCLASS
|
||||||
|
#define OPT_REPORT_CCLASS 1
|
||||||
|
#endif /* TEST_DRIVER */
|
||||||
|
|
||||||
|
static struct classentry {
|
||||||
|
int cclass;
|
||||||
|
int first;
|
||||||
|
int last;
|
||||||
|
} *classtab;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
IDENT = -1,
|
||||||
|
OTHER = 0,
|
||||||
|
CNTRL = 1,
|
||||||
|
ALNUM = 48,
|
||||||
|
BLANK = 32,
|
||||||
|
U_CJK = 0x4e00,
|
||||||
|
U_SUP = 0x2070,
|
||||||
|
U_SUB = 0x2080,
|
||||||
|
U_HIR = 0x3040,
|
||||||
|
U_KAT = 0x30a0,
|
||||||
|
U_HAN = 0xac00
|
||||||
|
} Classes;
|
||||||
|
|
||||||
|
#ifdef TEST_DRIVER
|
||||||
|
static int opt_all;
|
||||||
|
static int opt_check;
|
||||||
|
static int opt_quiet;
|
||||||
|
static int opt_v;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
init_classtab(void)
|
||||||
|
{
|
||||||
|
const int size = 50;
|
||||||
|
|
||||||
|
TRACE(("init_classtab {{\n"));
|
||||||
|
|
||||||
|
classtab = TypeMallocN(struct classentry, (unsigned) size);
|
||||||
|
if (!classtab)
|
||||||
|
abort();
|
||||||
|
classtab[0].cclass = size;
|
||||||
|
classtab[0].first = 1;
|
||||||
|
classtab[0].last = 0;
|
||||||
|
|
||||||
|
/* old xterm default classes */
|
||||||
|
SetCharacterClassRange(0, 0, BLANK);
|
||||||
|
SetCharacterClassRange(1, 31, CNTRL);
|
||||||
|
SetCharacterClassRange('\t', '\t', BLANK);
|
||||||
|
SetCharacterClassRange('0', '9', ALNUM);
|
||||||
|
SetCharacterClassRange('A', 'Z', ALNUM);
|
||||||
|
SetCharacterClassRange('_', '_', ALNUM);
|
||||||
|
SetCharacterClassRange('a', 'z', ALNUM);
|
||||||
|
SetCharacterClassRange(127, 159, CNTRL);
|
||||||
|
SetCharacterClassRange(160, 191, IDENT);
|
||||||
|
SetCharacterClassRange(192, 255, ALNUM);
|
||||||
|
SetCharacterClassRange(215, 215, IDENT);
|
||||||
|
SetCharacterClassRange(247, 247, IDENT);
|
||||||
|
|
||||||
|
/* added Unicode classes */
|
||||||
|
SetCharacterClassRange(0x0100, 0xffdf, ALNUM); /* mostly characters */
|
||||||
|
SetCharacterClassRange(0x037e, 0x037e, IDENT); /* Greek question mark */
|
||||||
|
SetCharacterClassRange(0x0387, 0x0387, IDENT); /* Greek ano teleia */
|
||||||
|
SetCharacterClassRange(0x055a, 0x055f, IDENT); /* Armenian punctuation */
|
||||||
|
SetCharacterClassRange(0x0589, 0x0589, IDENT); /* Armenian full stop */
|
||||||
|
SetCharacterClassRange(0x0700, 0x070d, IDENT); /* Syriac punctuation */
|
||||||
|
SetCharacterClassRange(0x104a, 0x104f, IDENT); /* Myanmar punctuation */
|
||||||
|
SetCharacterClassRange(0x10fb, 0x10fb, IDENT); /* Georgian punctuation */
|
||||||
|
SetCharacterClassRange(0x1361, 0x1368, IDENT); /* Ethiopic punctuation */
|
||||||
|
SetCharacterClassRange(0x166d, 0x166e, IDENT); /* Canadian Syl. punctuation */
|
||||||
|
SetCharacterClassRange(0x17d4, 0x17dc, IDENT); /* Khmer punctuation */
|
||||||
|
SetCharacterClassRange(0x1800, 0x180a, IDENT); /* Mongolian punctuation */
|
||||||
|
SetCharacterClassRange(0x2000, 0x200a, BLANK); /* spaces */
|
||||||
|
SetCharacterClassRange(0x200b, 0x27ff, IDENT); /* punctuation and symbols */
|
||||||
|
SetCharacterClassRange(0x2070, 0x207f, U_SUP); /* superscript */
|
||||||
|
SetCharacterClassRange(0x2080, 0x208f, U_SUB); /* subscript */
|
||||||
|
SetCharacterClassRange(0x3000, 0x3000, BLANK); /* ideographic space */
|
||||||
|
SetCharacterClassRange(0x3001, 0x3020, IDENT); /* ideographic punctuation */
|
||||||
|
SetCharacterClassRange(0x3040, 0x309f, U_HIR); /* Hiragana */
|
||||||
|
SetCharacterClassRange(0x30a0, 0x30ff, U_KAT); /* Katakana */
|
||||||
|
SetCharacterClassRange(0x3300, 0x9fff, U_CJK); /* CJK Ideographs */
|
||||||
|
SetCharacterClassRange(0xac00, 0xd7a3, U_HAN); /* Hangul Syllables */
|
||||||
|
SetCharacterClassRange(0xf900, 0xfaff, U_CJK); /* CJK Ideographs */
|
||||||
|
SetCharacterClassRange(0xfe30, 0xfe6b, IDENT); /* punctuation forms */
|
||||||
|
SetCharacterClassRange(0xff00, 0xff0f, IDENT); /* half/fullwidth ASCII */
|
||||||
|
SetCharacterClassRange(0xff1a, 0xff20, IDENT); /* half/fullwidth ASCII */
|
||||||
|
SetCharacterClassRange(0xff3b, 0xff40, IDENT); /* half/fullwidth ASCII */
|
||||||
|
SetCharacterClassRange(0xff5b, 0xff64, IDENT); /* half/fullwidth ASCII */
|
||||||
|
|
||||||
|
TRACE(("}} init_classtab\n"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
CharacterClass(int c)
|
||||||
|
{
|
||||||
|
int i, cclass = IDENT;
|
||||||
|
|
||||||
|
for (i = classtab[0].first; i <= classtab[0].last; i++)
|
||||||
|
if (classtab[i].first <= c && classtab[i].last >= c)
|
||||||
|
cclass = classtab[i].cclass;
|
||||||
|
|
||||||
|
if (cclass < 0)
|
||||||
|
cclass = c;
|
||||||
|
|
||||||
|
return cclass;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if OPT_REPORT_CCLASS
|
||||||
|
#define charFormat(code) ((code) > 255 ? "0x%04X" : "%d")
|
||||||
|
static const char *
|
||||||
|
class_name(Classes code)
|
||||||
|
{
|
||||||
|
static char buffer[80];
|
||||||
|
const char *result = "?";
|
||||||
|
switch (code) {
|
||||||
|
case ALNUM:
|
||||||
|
result = "ALNUM";
|
||||||
|
break;
|
||||||
|
case BLANK:
|
||||||
|
result = "BLANK";
|
||||||
|
break;
|
||||||
|
case CNTRL:
|
||||||
|
result = "CNTRL";
|
||||||
|
break;
|
||||||
|
case OTHER:
|
||||||
|
result = "OTHER";
|
||||||
|
break;
|
||||||
|
case IDENT:
|
||||||
|
result = "IDENT";
|
||||||
|
break;
|
||||||
|
case U_SUP:
|
||||||
|
result = "superscript";
|
||||||
|
break;
|
||||||
|
case U_SUB:
|
||||||
|
result = "subscript";
|
||||||
|
break;
|
||||||
|
case U_CJK:
|
||||||
|
result = "CJK Ideographs";
|
||||||
|
break;
|
||||||
|
case U_HIR:
|
||||||
|
result = "Hiragana";
|
||||||
|
break;
|
||||||
|
case U_KAT:
|
||||||
|
result = "Katakana";
|
||||||
|
break;
|
||||||
|
case U_HAN:
|
||||||
|
result = "Hangul Syllables";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sprintf(buffer, charFormat(code), code);
|
||||||
|
result = buffer;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special convention for classtab[0]:
|
||||||
|
* - classtab[0].cclass is the allocated number of entries in classtab
|
||||||
|
* - classtab[0].first = 1 (first used entry in classtab)
|
||||||
|
* - classtab[0].last is the last used entry in classtab
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
SetCharacterClassRange(int low, int high, int value)
|
||||||
|
{
|
||||||
|
TRACE(("...SetCharacterClassRange (U+%04X .. U+%04X) = %s\n",
|
||||||
|
low, high, class_name(value)));
|
||||||
|
|
||||||
|
if (high < low)
|
||||||
|
return -1; /* nothing to do */
|
||||||
|
|
||||||
|
/* make sure we have at least one free entry left at table end */
|
||||||
|
if (classtab[0].last > classtab[0].cclass - 2) {
|
||||||
|
classtab[0].cclass += 5 + classtab[0].cclass / 4;
|
||||||
|
classtab = TypeRealloc(struct classentry,
|
||||||
|
(unsigned) classtab[0].cclass, classtab);
|
||||||
|
if (!classtab)
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* simply append new interval to end of interval array */
|
||||||
|
classtab[0].last++;
|
||||||
|
classtab[classtab[0].last].first = low;
|
||||||
|
classtab[classtab[0].last].last = high;
|
||||||
|
classtab[classtab[0].last].cclass = value;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
report_wide_char_class(void)
|
||||||
|
{
|
||||||
|
static const Classes known_classes[] =
|
||||||
|
{IDENT, ALNUM, CNTRL, BLANK, U_SUP, U_SUB, U_HIR, U_KAT, U_CJK, U_HAN};
|
||||||
|
int i;
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
printf("Unicode charClass data uses the last match\n");
|
||||||
|
printf("from these overlapping intervals of character codes:\n");
|
||||||
|
for (i = classtab[0].first; i <= classtab[0].last; i++) {
|
||||||
|
printf("\tU+%04X .. U+%04X %s\n",
|
||||||
|
classtab[i].first,
|
||||||
|
classtab[i].last,
|
||||||
|
class_name(classtab[i].cclass));
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
printf("These class-names are used internally (the first character code in a class):\n");
|
||||||
|
for (i = 0; i < (int) XtNumber(known_classes); ++i) {
|
||||||
|
printf("\t");
|
||||||
|
printf(charFormat(known_classes[i]), known_classes[i]);
|
||||||
|
printf(" = %s\n", class_name(known_classes[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* OPT_REPORT_CCLASS */
|
||||||
|
|
||||||
|
#ifdef NO_LEAKS
|
||||||
|
void
|
||||||
|
noleaks_CharacterClass(void)
|
||||||
|
{
|
||||||
|
if (classtab != 0) {
|
||||||
|
free(classtab);
|
||||||
|
classtab = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* OPT_WIDE_CHARS */
|
||||||
|
|
||||||
|
#ifdef TEST_DRIVER
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
static void
|
||||||
|
usage(void)
|
||||||
|
{
|
||||||
|
static const char *msg[] =
|
||||||
|
{
|
||||||
|
"Usage: test_charclass [options] [c1[-c1b] [c2-[c2b] [...]]]",
|
||||||
|
"",
|
||||||
|
"Options:",
|
||||||
|
" -a show all data",
|
||||||
|
" -s show only summary",
|
||||||
|
" -v verbose"
|
||||||
|
};
|
||||||
|
size_t n;
|
||||||
|
for (n = 0; n < sizeof(msg) / sizeof(msg[0]); ++n) {
|
||||||
|
fprintf(stderr, "%s\n", msg[n]);
|
||||||
|
}
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
expected_class(int wch)
|
||||||
|
{
|
||||||
|
int result = wch;
|
||||||
|
wint_t ch = (wint_t) wch;
|
||||||
|
if (ch == '\0' || ch == '\t') {
|
||||||
|
result = BLANK;
|
||||||
|
} else if (iswcntrl(ch)) {
|
||||||
|
result = CNTRL;
|
||||||
|
} else if (iswspace(ch)) {
|
||||||
|
result = BLANK;
|
||||||
|
} else if (ch < 127) {
|
||||||
|
if (isalnum(ch) || ch == '_') {
|
||||||
|
result = ALNUM;
|
||||||
|
}
|
||||||
|
} else if (ch == 170 || ch == 181 || ch == 186) {
|
||||||
|
;
|
||||||
|
} else if (iswalnum(ch)) {
|
||||||
|
result = ALNUM;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
show_cclass_range(int lo, int hi)
|
||||||
|
{
|
||||||
|
int cclass = CharacterClass(lo);
|
||||||
|
int ident = (cclass == lo);
|
||||||
|
int more = 0;
|
||||||
|
if (ident) {
|
||||||
|
int ch;
|
||||||
|
for (ch = lo + 1; ch <= hi; ch++) {
|
||||||
|
if (CharacterClass(ch) != ch) {
|
||||||
|
ident = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ident && (hi < 255)) {
|
||||||
|
ch = hi + 1;
|
||||||
|
if (CharacterClass(ch) == ch) {
|
||||||
|
if (ch >= 255 || CharacterClass(ch + 1) != ch) {
|
||||||
|
more = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!more) {
|
||||||
|
if (lo == hi) {
|
||||||
|
printf("\t%d", lo);
|
||||||
|
} else {
|
||||||
|
printf("\t%d-%d", lo, hi);
|
||||||
|
}
|
||||||
|
if (!ident)
|
||||||
|
printf(":%d", cclass);
|
||||||
|
if (hi < 255)
|
||||||
|
printf(", \\");
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
return !more;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
report_resource(int first, int last)
|
||||||
|
{
|
||||||
|
int class_p;
|
||||||
|
int ch;
|
||||||
|
int dh;
|
||||||
|
|
||||||
|
class_p = CharacterClass(dh = first);
|
||||||
|
for (ch = first; ch < last; ++ch) {
|
||||||
|
int class_c = CharacterClass(ch);
|
||||||
|
if (class_c != class_p) {
|
||||||
|
if (show_cclass_range(dh, ch - 1)) {
|
||||||
|
dh = ch;
|
||||||
|
class_p = class_c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (dh < last - 1) {
|
||||||
|
show_cclass_range(dh, last - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
decode_one(const char *source, char **target)
|
||||||
|
{
|
||||||
|
int result = -1;
|
||||||
|
long check;
|
||||||
|
int radix = 0;
|
||||||
|
if ((source[0] == 'u' || source[0] == 'U') && source[1] == '+') {
|
||||||
|
source += 2;
|
||||||
|
radix = 16;
|
||||||
|
}
|
||||||
|
check = strtol(source, target, radix);
|
||||||
|
if (*target != NULL && *target != source)
|
||||||
|
result = (int) check;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
decode_range(const char *source, int *lo, int *hi)
|
||||||
|
{
|
||||||
|
int result = 0;
|
||||||
|
char *after1;
|
||||||
|
char *after2;
|
||||||
|
if ((*lo = decode_one(source, &after1)) >= 0) {
|
||||||
|
after1 += strspn(after1, ":-.\t ");
|
||||||
|
if ((*hi = decode_one(after1, &after2)) < 0) {
|
||||||
|
*hi = *lo;
|
||||||
|
}
|
||||||
|
result = 1;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
do_range(const char *source)
|
||||||
|
{
|
||||||
|
int lo, hi;
|
||||||
|
if (decode_range(source, &lo, &hi)) {
|
||||||
|
if (opt_all) {
|
||||||
|
while (lo <= hi) {
|
||||||
|
int other_rc = CharacterClass(lo);
|
||||||
|
if (!opt_quiet)
|
||||||
|
printf("U+%04X\t%s\n", lo, class_name(other_rc));
|
||||||
|
++lo;
|
||||||
|
}
|
||||||
|
} else if (opt_check) {
|
||||||
|
while (lo <= hi) {
|
||||||
|
int expect = expected_class(lo);
|
||||||
|
int actual = CharacterClass(lo);
|
||||||
|
if (actual != expect)
|
||||||
|
printf("U+%04X\t%s ->%s\n", lo,
|
||||||
|
class_name(expect),
|
||||||
|
class_name(actual));
|
||||||
|
++lo;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
printf("\"charClass\" resource for [%d..%d]:\n", lo, hi);
|
||||||
|
report_resource(lo, hi + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* OPT_WIDE_CHARS */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: add option to show do_range in hex
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
main(int argc, char **argv ENVP_ARG)
|
||||||
|
{
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
int ch;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
(void) argc;
|
||||||
|
(void) argv;
|
||||||
|
|
||||||
|
#if OPT_WIDE_CHARS
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
while ((ch = getopt(argc, argv, "acsv")) != -1) {
|
||||||
|
switch (ch) {
|
||||||
|
case 'a':
|
||||||
|
opt_all = 1;
|
||||||
|
break;
|
||||||
|
case 'c':
|
||||||
|
opt_check = 1;
|
||||||
|
break;
|
||||||
|
case 's':
|
||||||
|
opt_quiet = 1;
|
||||||
|
break;
|
||||||
|
case 'v':
|
||||||
|
opt_v = 1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
usage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
init_classtab();
|
||||||
|
|
||||||
|
if (optind >= argc) {
|
||||||
|
do_range("0-255");
|
||||||
|
} else {
|
||||||
|
while (optind < argc) {
|
||||||
|
do_range(argv[optind++]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
report_wide_char_class();
|
||||||
|
#else
|
||||||
|
printf("wide-character support is not configured\n");
|
||||||
|
#endif /* OPT_WIDE_CHARS */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* TEST_DRIVER */
|
23
ports/xterm/xterm-359/charclass.h
Normal file
23
ports/xterm/xterm-359/charclass.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/* $XTermId: charclass.h,v 1.8 2020/01/18 18:29:41 tom Exp $ */
|
||||||
|
|
||||||
|
/* $XFree86: xc/programs/xterm/charclass.h,v 1.3 2006/02/13 01:14:58 dickey Exp $ */
|
||||||
|
|
||||||
|
#ifndef CHARCLASS_H
|
||||||
|
#define CHARCLASS_H
|
||||||
|
|
||||||
|
extern void init_classtab(void);
|
||||||
|
/* initialise the table. needs calling before either of the
|
||||||
|
others. */
|
||||||
|
|
||||||
|
extern int SetCharacterClassRange(int low, int high, int value);
|
||||||
|
extern int CharacterClass(int c);
|
||||||
|
|
||||||
|
#if OPT_REPORT_CCLASS
|
||||||
|
extern void report_wide_char_class(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef NO_LEAKS
|
||||||
|
extern void noleaks_CharacterClass(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
BIN
ports/xterm/xterm-359/charclass.o
Normal file
BIN
ports/xterm/xterm-359/charclass.o
Normal file
Binary file not shown.
13071
ports/xterm/xterm-359/charproc.c
Normal file
13071
ports/xterm/xterm-359/charproc.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/charproc.o
Normal file
BIN
ports/xterm/xterm-359/charproc.o
Normal file
Binary file not shown.
1681
ports/xterm/xterm-359/charsets.c
Normal file
1681
ports/xterm/xterm-359/charsets.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ports/xterm/xterm-359/charsets.o
Normal file
BIN
ports/xterm/xterm-359/charsets.o
Normal file
Binary file not shown.
1687
ports/xterm/xterm-359/config.guess
vendored
Executable file
1687
ports/xterm/xterm-359/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
2218
ports/xterm/xterm-359/config.log
Normal file
2218
ports/xterm/xterm-359/config.log
Normal file
File diff suppressed because it is too large
Load Diff
1180
ports/xterm/xterm-359/config.status
Executable file
1180
ports/xterm/xterm-359/config.status
Executable file
File diff suppressed because it is too large
Load Diff
1851
ports/xterm/xterm-359/config.sub
vendored
Executable file
1851
ports/xterm/xterm-359/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
24825
ports/xterm/xterm-359/configure
vendored
Executable file
24825
ports/xterm/xterm-359/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1179
ports/xterm/xterm-359/configure.in
Normal file
1179
ports/xterm/xterm-359/configure.in
Normal file
File diff suppressed because it is too large
Load Diff
4057
ports/xterm/xterm-359/ctlseqs.ms
Normal file
4057
ports/xterm/xterm-359/ctlseqs.ms
Normal file
File diff suppressed because it is too large
Load Diff
3032
ports/xterm/xterm-359/ctlseqs.txt
Normal file
3032
ports/xterm/xterm-359/ctlseqs.txt
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user