From 1a0386d743c1e6ffa823e2158192247509564c88 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 12 Mar 2013 17:35:54 +0100 Subject: [PATCH 001/122] Fix #8661: fcntl(fd, F_GETLK, ...) violates POSIX The standard states that F_GETLK should check whether given lock would be blocked by another one and return description of the conflicting one (or set l_type to F_UNLCK if there is no collision). Current implementation of F_GETLK performs completely different actions, it "Retrieves the first lock that has been set by the current team". Moreover, if there are no locks (advisory_locking == NULL) an error is returned instead of l_type set to F_UNLCK. --- src/system/kernel/fs/vfs.cpp | 95 +++++++++++++++++++++++------------- 1 file changed, 60 insertions(+), 35 deletions(-) diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 27613f88f0..399caf5b78 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -1524,36 +1524,6 @@ create_advisory_locking(struct vnode* vnode) } -/*! Retrieves the first lock that has been set by the current team. -*/ -static status_t -get_advisory_lock(struct vnode* vnode, struct flock* flock) -{ - struct advisory_locking* locking = get_advisory_locking(vnode); - if (locking == NULL) - return B_BAD_VALUE; - - // TODO: this should probably get the flock by its file descriptor! - team_id team = team_get_current_team_id(); - status_t status = B_BAD_VALUE; - - LockList::Iterator iterator = locking->locks.GetIterator(); - while (iterator.HasNext()) { - struct advisory_lock* lock = iterator.Next(); - - if (lock->team == team) { - flock->l_start = lock->start; - flock->l_len = lock->end - lock->start + 1; - status = B_OK; - break; - } - } - - put_advisory_locking(locking); - return status; -} - - /*! Returns \c true when either \a flock is \c NULL or the \a flock intersects with the advisory_lock \a lock. */ @@ -1568,6 +1538,42 @@ advisory_lock_intersects(struct advisory_lock* lock, struct flock* flock) } +/*! Tests whether acquiring a lock would block. +*/ +static status_t +test_advisory_lock(struct vnode* vnode, struct flock* flock) +{ + flock->l_type = F_UNLCK; + + struct advisory_locking* locking = get_advisory_locking(vnode); + if (locking == NULL) + return B_OK; + + team_id team = team_get_current_team_id(); + + LockList::Iterator iterator = locking->locks.GetIterator(); + while (iterator.HasNext()) { + struct advisory_lock* lock = iterator.Next(); + + if (lock->team != team && advisory_lock_intersects(lock, flock)) { + // locks do overlap + if (flock->l_type != F_RDLCK || !lock->shared) { + // collision + flock->l_type = lock->shared ? F_RDLCK : F_WRLCK; + flock->l_whence = SEEK_SET; + flock->l_start = lock->start; + flock->l_len = lock->end - lock->start + 1; + flock->l_pid = lock->team; + break; + } + } + } + + put_advisory_locking(locking); + return B_OK; +} + + /*! Removes the specified lock, or all locks of the calling team if \a flock is NULL. */ @@ -6018,15 +6024,34 @@ common_fcntl(int fd, int op, size_t argument, bool kernel) case F_GETLK: if (vnode != NULL) { + struct flock normalizedLock; + + memcpy(&normalizedLock, &flock, sizeof(struct flock)); + status = normalize_flock(descriptor, &normalizedLock); + if (status != B_OK) + break; + if (HAS_FS_CALL(vnode, test_lock)) { status = FS_CALL(vnode, test_lock, descriptor->cookie, - &flock); + &normalizedLock); } else - status = get_advisory_lock(vnode, &flock); + status = test_advisory_lock(vnode, &normalizedLock); if (status == B_OK) { - // copy back flock structure - status = user_memcpy((struct flock*)argument, &flock, - sizeof(struct flock)); + if (normalizedLock.l_type == F_UNLCK) { + // no conflicting lock found, copy back the same struct + // we were given except change type to F_UNLCK + flock.l_type = F_UNLCK; + status = user_memcpy((struct flock*)argument, &flock, + sizeof(struct flock)); + } else { + // a conflicting lock was found, copy back its range and + // type + if (normalizedLock.l_len == OFF_MAX) + normalizedLock.l_len = 0; + + status = user_memcpy((struct flock*)argument, + &normalizedLock, sizeof(struct flock)); + } } } else status = B_BAD_VALUE; From c5a88cf7e6c5f032e1aecea28cf3d90d0c1b7310 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 12 Mar 2013 17:36:53 +0100 Subject: [PATCH 002/122] nfs4: VFS uses signed offsets while NFS4 expects unsigned --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 8 ++++++-- src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index fe3d60d69c..abebe6f982 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -696,9 +696,13 @@ Inode::TestLock(OpenFileCookie* cookie, struct flock* lock) LockType ltype = sGetLockType(lock->l_type, false); uint64 position = lock->l_start; - uint64 length = lock->l_len; - bool conflict; + uint64 length; + if (lock->l_len + lock->l_start == OFF_MAX) + length = UINT64_MAX; + else + length = lock->l_len; + bool conflict; result = NFS4Inode::TestLock(cookie, <ype, &position, &length, conflict); if (result != B_OK) return result; diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index 271cabb490..1dbcd8d3dd 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -234,7 +234,7 @@ ReplyInterpreter::Lock(LockInfo* linfo) status_t ReplyInterpreter::LockT(uint64* pos, uint64* len, LockType* type) { - status_t res = _OperationError(OpLockU); + status_t res = _OperationError(OpLockT); if (res != B_WOULD_BLOCK || NFS4Error() != NFS4ERR_DENIED) return res; From 21406bd896af2492d09b53e74bb6f4e6c4a7bf01 Mon Sep 17 00:00:00 2001 From: Humdinger Date: Tue, 12 Mar 2013 18:44:01 +0100 Subject: [PATCH 003/122] Added optional package System-sounds. Added the optional package for system sounds that were collected for GCI 2012. Also added the demo packges to the "contents" at the top of OptionalPackages. --- build/jam/OptionalPackages | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 56ed53b027..319a793d40 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -39,11 +39,15 @@ if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 # Ctags - exuberant ctags (source files indexing) # Curl - a client that groks URLs # CVS - the version control system +# DemoPackage_Audio - a collection of audio files suitable for demonstrations +# DemoPackage_Data - a collection of data files suitable for demonstrations +# DemoPackage_Image - a collection of image files suitable for demonstrations +# DemoPackage_Video - a collection of video files suitable for demonstrations # Development - more complete dev environment (including autotools) # DevelopmentBase - basic development environment (gcc, headers, libs,...) # DevelopmentJava - JamVM, a Java Virtual machine, GNU Classpath, ECJ # DevelopmentMin - development headers, libs, tools, from sources only -# DevelopmentPowerPC - Cross compiling environment for PowerPC +# DevelopmentPowerPC - Cross compiling environment for PowerPC # Doxygen - Generate documentation from source code # Droid - Font family from Google's Android project # Expat - XML parsing libraries @@ -90,6 +94,7 @@ if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 # Sed - the ultimate stream editor # SQLite - the database implementation # Subversion - the version control system +# System-sounds - a collection of system sounds # TagLib - id3 tag library # Tar - archiving utility # TimGMSoundFont - a good quality General MIDI Sound Font @@ -2014,6 +2019,14 @@ if [ IsOptionalHaikuImagePackageAdded Subversion ] { } +# System-sounds +if [ IsOptionalHaikuImagePackageAdded System-sounds ] { + InstallOptionalHaikuImagePackage System-sounds-2013-03-12.zip + : $(baseURL)/System-sounds-2013-03-12.zip + : ; +} + + # TagLib if [ IsOptionalHaikuImagePackageAdded TagLib ] { if $(TARGET_ARCH) != x86 { From 723f4b6a43b723101c277ec24158e308b4a1254a Mon Sep 17 00:00:00 2001 From: Gediminas Jarulaitis Date: Sun, 3 Mar 2013 20:12:52 +0200 Subject: [PATCH 004/122] iso9660 fs driver bugfix + code refactoring Signed-off-by: Matt Madia --- .../kernel/file_systems/iso9660/iso9660.cpp | 141 ++++++++++-------- .../kernel/file_systems/iso9660/iso9660.h | 25 ++-- 2 files changed, 94 insertions(+), 72 deletions(-) diff --git a/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp b/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp index 039c57dfed..8012b8756c 100644 --- a/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp +++ b/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp @@ -144,7 +144,7 @@ sanitize_iso_name(iso9660_inode* node, bool removeTrailingPoints) static int init_volume_date(ISOVolDate *date, char *buffer) { - memcpy(date, buffer, 17); + memcpy(date, buffer, ISO_VOL_DATE_SIZE); return 0; } @@ -152,7 +152,7 @@ init_volume_date(ISOVolDate *date, char *buffer) static int init_node_date(ISORecDate *date, char *buffer) { - memcpy(date, buffer, 7); + memcpy(date, buffer, sizeof(struct ISORecDate)); return 0; } @@ -162,121 +162,138 @@ InitVolDesc(iso9660_volume *volume, char *buffer) { TRACE(("InitVolDesc - ENTER\n")); - volume->volDescType = *(uint8 *)buffer++; - - volume->stdIDString[5] = '\0'; - strncpy(volume->stdIDString, buffer, 5); - buffer += 5; + volume->volDescType = *(uint8 *)buffer; + buffer += sizeof(volume->volDescType); + + const size_t kStdIDStringLen = sizeof(volume->stdIDString) - 1; + volume->stdIDString[kStdIDStringLen] = '\0'; + strncpy(volume->stdIDString, buffer, kStdIDStringLen); + buffer += kStdIDStringLen; volume->volDescVersion = *(uint8 *)buffer; - buffer += 2; // 8th byte unused + buffer += sizeof(volume->volDescVersion); + + buffer += sizeof(volume->unused1); // skip unused 8th byte - volume->systemIDString[32] = '\0'; - strncpy(volume->systemIDString, buffer, 32); - buffer += 32; + const size_t kSystemIDStringLen = sizeof(volume->systemIDString) - 1; + volume->systemIDString[kSystemIDStringLen] = '\0'; + strncpy(volume->systemIDString, buffer, kSystemIDStringLen); + buffer += kSystemIDStringLen; TRACE(("InitVolDesc - system id string is %s\n", volume->systemIDString)); - - volume->volIDString[32] = '\0'; - strncpy(volume->volIDString, buffer, 32); - buffer += (32 + 80-73 + 1); // bytes 80-73 unused + + const size_t kVolIDStringLen = sizeof(volume->volIDString) - 1; + volume->volIDString[kVolIDStringLen] = '\0'; + strncpy(volume->volIDString, buffer, kVolIDStringLen); + buffer += kVolIDStringLen; TRACE(("InitVolDesc - volume id string is %s\n", volume->volIDString)); - volume->volSpaceSize[LSB_DATA] = *(uint32 *)buffer; - buffer += 4; - volume->volSpaceSize[MSB_DATA] = *(uint32 *)buffer; - buffer+= (4 + 120-89 + 1); // bytes 120-89 unused + buffer += sizeof(volume->unused2) - 1; // skip unused 73-80 bytes + volume->volSpaceSize[LSB_DATA] = *(uint32 *)buffer; + buffer += sizeof(volume->volSpaceSize[LSB_DATA]); + volume->volSpaceSize[MSB_DATA] = *(uint32 *)buffer; + buffer += sizeof(volume->volSpaceSize[MSB_DATA]); + + buffer += sizeof(volume->unused3) - 1; // skip unused 89-120 bytes + volume->volSetSize[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->volSetSize[LSB_DATA]); volume->volSetSize[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->volSetSize[MSB_DATA]); volume->volSeqNum[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->volSeqNum[LSB_DATA]); volume->volSeqNum[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->volSeqNum[MSB_DATA]); volume->logicalBlkSize[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->logicalBlkSize[LSB_DATA]); volume->logicalBlkSize[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->logicalBlkSize[MSB_DATA]); volume->pathTblSize[LSB_DATA] = *(uint32*)buffer; - buffer += 4; + buffer += sizeof(volume->pathTblSize[LSB_DATA]); volume->pathTblSize[MSB_DATA] = *(uint32*)buffer; - buffer += 4; + buffer += sizeof(volume->pathTblSize[MSB_DATA]); volume->lPathTblLoc[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->lPathTblLoc[LSB_DATA]); volume->lPathTblLoc[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->lPathTblLoc[MSB_DATA]); volume->optLPathTblLoc[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->optLPathTblLoc[LSB_DATA]); volume->optLPathTblLoc[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->optLPathTblLoc[MSB_DATA]); volume->mPathTblLoc[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->mPathTblLoc[LSB_DATA]); volume->mPathTblLoc[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->mPathTblLoc[MSB_DATA]); volume->optMPathTblLoc[LSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->optMPathTblLoc[LSB_DATA]); volume->optMPathTblLoc[MSB_DATA] = *(uint16*)buffer; - buffer += 2; + buffer += sizeof(volume->optMPathTblLoc[MSB_DATA]); // Fill in directory record. volume->joliet_level = 0; InitNode(volume, &volume->rootDirRec, buffer, NULL); volume->rootDirRec.id = ISO_ROOTNODE_ID; - buffer += 34; - - volume->volSetIDString[128] = '\0'; - strncpy(volume->volSetIDString, buffer, 128); - buffer += 128; + buffer += ISO_ROOT_DIR_REC_SIZE; + + const size_t kVolSetIDStringLen = sizeof(volume->volSetIDString) - 1; + volume->volSetIDString[kVolSetIDStringLen] = '\0'; + strncpy(volume->volSetIDString, buffer, kVolSetIDStringLen); + buffer += kVolSetIDStringLen; TRACE(("InitVolDesc - volume set id string is %s\n", volume->volSetIDString)); - volume->pubIDString[128] = '\0'; - strncpy(volume->pubIDString, buffer, 128); - buffer += 128; + const size_t kPubIDStringLen = sizeof(volume->pubIDString) - 1; + volume->pubIDString[kPubIDStringLen] = '\0'; + strncpy(volume->pubIDString, buffer, kPubIDStringLen); + buffer += kPubIDStringLen; TRACE(("InitVolDesc - volume pub id string is %s\n", volume->pubIDString)); - volume->dataPreparer[128] = '\0'; - strncpy(volume->dataPreparer, buffer, 128); - buffer += 128; + const size_t kDataPreparerLen = sizeof(volume->dataPreparer) - 1; + volume->dataPreparer[kDataPreparerLen] = '\0'; + strncpy(volume->dataPreparer, buffer, kDataPreparerLen); + buffer += kDataPreparerLen; TRACE(("InitVolDesc - volume dataPreparer string is %s\n", volume->dataPreparer)); - volume->appIDString[128] = '\0'; - strncpy(volume->appIDString, buffer, 128); - buffer += 128; + const size_t kAppIDStringLen = sizeof(volume->appIDString) - 1; + volume->appIDString[kAppIDStringLen] = '\0'; + strncpy(volume->appIDString, buffer, kAppIDStringLen); + buffer += kAppIDStringLen; TRACE(("InitVolDesc - volume app id string is %s\n", volume->appIDString)); - volume->copyright[38] = '\0'; - strncpy(volume->copyright, buffer, 38); - buffer += 38; + const size_t kCopyrightLen = sizeof(volume->copyright) - 1; + volume->copyright[kCopyrightLen] = '\0'; + strncpy(volume->copyright, buffer, kCopyrightLen); + buffer += kCopyrightLen; TRACE(("InitVolDesc - copyright is %s\n", volume->copyright)); - volume->abstractFName[38] = '\0'; - strncpy(volume->abstractFName, buffer, 38); - buffer += 38; + const size_t kAbstractFNameLen = sizeof(volume->abstractFName) - 1; + volume->abstractFName[kAbstractFNameLen] = '\0'; + strncpy(volume->abstractFName, buffer, kAbstractFNameLen); + buffer += kAbstractFNameLen; - volume->biblioFName[38] = '\0'; - strncpy(volume->biblioFName, buffer, 38); - buffer += 38; + const size_t kBiblioFNameLen = sizeof(volume->biblioFName) - 1; + volume->biblioFName[kBiblioFNameLen] = '\0'; + strncpy(volume->biblioFName, buffer, kBiblioFNameLen); + buffer += kBiblioFNameLen; init_volume_date(&volume->createDate, buffer); - buffer += 17; + buffer += ISO_VOL_DATE_SIZE; init_volume_date(&volume->modDate, buffer); - buffer += 17; + buffer += ISO_VOL_DATE_SIZE; init_volume_date(&volume->expireDate, buffer); - buffer += 17; + buffer += ISO_VOL_DATE_SIZE; init_volume_date(&volume->effectiveDate, buffer); - buffer += 17; + buffer += ISO_VOL_DATE_SIZE; volume->fileStructVers = *(uint8*)buffer; return B_OK; diff --git a/src/add-ons/kernel/file_systems/iso9660/iso9660.h b/src/add-ons/kernel/file_systems/iso9660/iso9660.h index 32da4d8c3b..a98c6d802a 100644 --- a/src/add-ons/kernel/file_systems/iso9660/iso9660.h +++ b/src/add-ons/kernel/file_systems/iso9660/iso9660.h @@ -56,6 +56,9 @@ typedef struct ISOVolDate { int8 offsetGMT; } ISOVolDate; +// Size of volume date and time data +#define ISO_VOL_DATE_SIZE 17 + typedef struct ISORecDate { uint8 year; // Year - 1900 uint8 month; @@ -183,28 +186,28 @@ struct iso9660_volume { uint8 volDescType; // Volume Descriptor type byte1 char stdIDString[6]; // Standard ID, 1 extra for null byte2-6 uint8 volDescVersion; // Volume Descriptor version byte7 - // 8th byte unused + uint8 unused1; // Unused Field byte8 char systemIDString[33]; // System ID, 1 extra for null byte9-40 char volIDString[33]; // Volume ID, 1 extra for null byte41-72 - // bytes 73-80 unused - uint32 volSpaceSize[2]; // #logical blocks, lsb and msb byte81-88 - // bytes 89-120 unused + char unused2[9]; // Unused Field byte73-80 + uint32 volSpaceSize[2]; // #logical blocks, lsb and msb byte81-88 + char unused3[33]; // Unused Field byte89-120 uint16 volSetSize[2]; // Assigned Volume Set Size of Vol byte121-124 uint16 volSeqNum[2]; // Ordinal number of volume in Set byte125-128 uint16 logicalBlkSize[2]; // Logical blocksize, usually 2048 byte129-132 uint32 pathTblSize[2]; // Path table size byte133-149 - uint16 lPathTblLoc[2]; // Loc (Logical block #) of "Type L" path table byte141-144 - uint16 optLPathTblLoc[2]; // Loc (Logical block #) of optional Type L path tbl byte145-148 - uint16 mPathTblLoc[2]; // Loc (Logical block #) of "Type M" path table byte149-152 - uint16 optMPathTblLoc[2]; // Loc (Logical block #) of optional Type M path tbl byte153-156 - iso9660_inode rootDirRec; // Directory record for root directory byte157-190 + uint16 lPathTblLoc[2]; // Loc (Logical block #) of "Type L" path table byte141-144 + uint16 optLPathTblLoc[2]; // Loc (Logical block #) of optional Type L path tbl byte145-148 + uint16 mPathTblLoc[2]; // Loc (Logical block #) of "Type M" path table byte149-152 + uint16 optMPathTblLoc[2]; // Loc (Logical block #) of optional Type M path tbl byte153-156 + iso9660_inode rootDirRec; // Directory record for root directory byte157-190 char volSetIDString[129]; // Name of multi-volume set where vol is member byte191-318 char pubIDString[129]; // Name of publisher byte319-446 char dataPreparer[129]; // Name of data preparer byte447-574 char appIDString[129]; // Identifies data fomrat byte575-702 char copyright[38]; // Copyright string byte703-739 char abstractFName[38]; // Name of file in root that has abstract byte740-776 - char biblioFName[38]; // Name of file in root that has biblio byte777-813 + char biblioFName[38]; // Name of file in root that has biblio byte777-813 ISOVolDate createDate; // Creation date byte ISOVolDate modDate; // Modification date @@ -214,6 +217,8 @@ struct iso9660_volume { uint8 fileStructVers; // File structure version byte882 }; +// Size of root directory record +#define ISO_ROOT_DIR_REC_SIZE 34 status_t ISOMount(const char *path, uint32 flags, iso9660_volume** _newVolume, bool allowJoliet); From d7e5acad3f2c98a3d6b337707f388d6fad5a0d8a Mon Sep 17 00:00:00 2001 From: Matt Madia Date: Tue, 12 Mar 2013 21:10:35 -0400 Subject: [PATCH 005/122] Automatic whitespace cleanup. No functional change. This push (ok, the previous changeset) fixes #9486. --- src/add-ons/kernel/file_systems/iso9660/iso9660.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp b/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp index 8012b8756c..c66ae29058 100644 --- a/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp +++ b/src/add-ons/kernel/file_systems/iso9660/iso9660.cpp @@ -164,7 +164,7 @@ InitVolDesc(iso9660_volume *volume, char *buffer) volume->volDescType = *(uint8 *)buffer; buffer += sizeof(volume->volDescType); - + const size_t kStdIDStringLen = sizeof(volume->stdIDString) - 1; volume->stdIDString[kStdIDStringLen] = '\0'; strncpy(volume->stdIDString, buffer, kStdIDStringLen); @@ -172,7 +172,7 @@ InitVolDesc(iso9660_volume *volume, char *buffer) volume->volDescVersion = *(uint8 *)buffer; buffer += sizeof(volume->volDescVersion); - + buffer += sizeof(volume->unused1); // skip unused 8th byte const size_t kSystemIDStringLen = sizeof(volume->systemIDString) - 1; @@ -180,7 +180,7 @@ InitVolDesc(iso9660_volume *volume, char *buffer) strncpy(volume->systemIDString, buffer, kSystemIDStringLen); buffer += kSystemIDStringLen; TRACE(("InitVolDesc - system id string is %s\n", volume->systemIDString)); - + const size_t kVolIDStringLen = sizeof(volume->volIDString) - 1; volume->volIDString[kVolIDStringLen] = '\0'; strncpy(volume->volIDString, buffer, kVolIDStringLen); @@ -193,9 +193,9 @@ InitVolDesc(iso9660_volume *volume, char *buffer) buffer += sizeof(volume->volSpaceSize[LSB_DATA]); volume->volSpaceSize[MSB_DATA] = *(uint32 *)buffer; buffer += sizeof(volume->volSpaceSize[MSB_DATA]); - + buffer += sizeof(volume->unused3) - 1; // skip unused 89-120 bytes - + volume->volSetSize[LSB_DATA] = *(uint16*)buffer; buffer += sizeof(volume->volSetSize[LSB_DATA]); volume->volSetSize[MSB_DATA] = *(uint16*)buffer; @@ -242,7 +242,7 @@ InitVolDesc(iso9660_volume *volume, char *buffer) volume->rootDirRec.id = ISO_ROOTNODE_ID; buffer += ISO_ROOT_DIR_REC_SIZE; - + const size_t kVolSetIDStringLen = sizeof(volume->volSetIDString) - 1; volume->volSetIDString[kVolSetIDStringLen] = '\0'; strncpy(volume->volSetIDString, buffer, kVolSetIDStringLen); From 187d12c4370f95203c34d65acb433ef21aec83d8 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Wed, 13 Mar 2013 18:35:55 +0100 Subject: [PATCH 006/122] usb_modeswitch: support for some new devices * tested OK with the stick ZTE MF190 --- .../kernel/drivers/common/usb_modeswitch.cpp | 156 ++++++++++++++---- 1 file changed, 123 insertions(+), 33 deletions(-) diff --git a/src/add-ons/kernel/drivers/common/usb_modeswitch.cpp b/src/add-ons/kernel/drivers/common/usb_modeswitch.cpp index 018ea1d29c..f1e3c858fa 100644 --- a/src/add-ons/kernel/drivers/common/usb_modeswitch.cpp +++ b/src/add-ons/kernel/drivers/common/usb_modeswitch.cpp @@ -33,8 +33,7 @@ enum msgType { - MSG_NONE = 0, - MSG_HUAWEI_1, + MSG_HUAWEI_1 = 0, MSG_HUAWEI_2, MSG_HUAWEI_3, MSG_NOKIA_1, @@ -42,6 +41,10 @@ enum msgType { MSG_OLIVETTI_2, MSG_OPTION_1, MSG_ATHEROS_1, + MSG_ZTE_1, + MSG_ZTE_2, + MSG_ZTE_3, + MSG_NONE }; @@ -49,7 +52,7 @@ unsigned char kDevicesMsg[][31] = { { /* MSG_HUAWEI_1 */ 0x55, 0x53, 0x42, 0x43, 0x12, 0x34, 0x56, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { /* MSG_HUAWEI_2 */ @@ -58,10 +61,10 @@ unsigned char kDevicesMsg[][31] = { 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - { /* MSG_HUAWEI_3 */ + { /* MSG_HUAWEI_3 */ 0x55, 0x53, 0x42, 0x43, 0x12, 0x34, 0x56, 0x78, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x06, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, + 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { /* MSG_NOKIA_1 */ @@ -93,8 +96,25 @@ unsigned char kDevicesMsg[][31] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { /* MSG_ZTE_1 */ + 0x55, 0x53, 0x42, 0x43, 0x12, 0x34, 0x56, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { /* MSG_ZTE_2 */ + 0x55, 0x53, 0x42, 0x43, 0x12, 0x34, 0x56, 0x79, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1b, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { /* MSG_ZTE_3 */ + 0x55, 0x53, 0x42, 0x43, 0x12, 0x34, 0x56, 0x70, + 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x85, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }; @@ -110,34 +130,82 @@ unsigned char kDevicesMsg[][31] = { static const struct { usb_support_descriptor desc; - msgType type; + msgType type, type2, type3; } kDevices[] = { + {{ 0, 0, 0, HUAWEI_VENDOR, 0x101e}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1446}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1449}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x14ad}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14b5}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14b7}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14ba}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x14c1}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14c3}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14c4}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14c5}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14d1}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x14fe}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1505}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x151a}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1520}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1521}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1523}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1526}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1553}, MSG_HUAWEI_1}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1557}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x155b}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1c0b}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1c24}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1f11}, MSG_HUAWEI_1}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1030}, MSG_HUAWEI_2}, {{ 0, 0, 0, HUAWEI_VENDOR, 0x1031}, MSG_HUAWEI_2}, - {{ 0, 0, 0, HUAWEI_VENDOR, 0x101e}, MSG_HUAWEI_3}, + {{ 0, 0, 0, HUAWEI_VENDOR, 0x1f01}, MSG_HUAWEI_3}, {{ 0, 0, 0, NOKIA_VENDOR, 0x060c}, MSG_NOKIA_1}, {{ 0, 0, 0, NOKIA_VENDOR, 0x0610}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x061d}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x0622}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x0627}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x062c}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x0632}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOKIA_VENDOR, 0x0637}, MSG_NOKIA_1}, {{ 0, 0, 0, NOVATEL_VENDOR, 0x5010}, MSG_NOKIA_1}, {{ 0, 0, 0, NOVATEL_VENDOR, 0x5020}, MSG_NOKIA_1}, {{ 0, 0, 0, NOVATEL_VENDOR, 0x5030}, MSG_NOKIA_1}, {{ 0, 0, 0, NOVATEL_VENDOR, 0x5031}, MSG_NOKIA_1}, {{ 0, 0, 0, NOVATEL_VENDOR, 0x5041}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOVATEL_VENDOR, 0x5059}, MSG_NOKIA_1}, + {{ 0, 0, 0, NOVATEL_VENDOR, 0x7001}, MSG_NOKIA_1}, {{ 0, 0, 0, ZYDAS_VENDOR, 0x2011}, MSG_NOKIA_1}, {{ 0, 0, 0, ZYDAS_VENDOR, 0x20ff}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0013}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x0026}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0031}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x0083}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x0101}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x0115}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0120}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0169}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0325}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x1001}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x1007}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x1009}, MSG_NOKIA_1}, {{ 0, 0, 0, ZTE_VENDOR, 0x1013}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1017}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1171}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1175}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1179}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1201}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1523}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0xffde}, MSG_NOKIA_1}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0003}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0053}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0103}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0154}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1224}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1517}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x1542}, MSG_ZTE_1, MSG_ZTE_2}, + {{ 0, 0, 0, ZTE_VENDOR, 0x0149}, MSG_ZTE_1, MSG_ZTE_2, MSG_ZTE_3}, + {{ 0, 0, 0, ZTE_VENDOR, 0x2000}, MSG_ZTE_1, MSG_ZTE_2, MSG_ZTE_3}, {{ 0, 0, 0, OLIVETTI_VENDOR, 0xc700}, MSG_OLIVETTI_1}, {{ 0, 0, 0, OLIVETTI_VENDOR, 0xf000}, MSG_OLIVETTI_2}, {{ 0, 0, 0, OPTION_VENDOR, 0x6711}, MSG_OPTION_1}, @@ -152,6 +220,7 @@ static const struct { {{ 0, 0, 0, OPTION_VENDOR, 0x7011}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7031}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7051}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x7071}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7111}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7211}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7251}, MSG_OPTION_1}, @@ -164,14 +233,20 @@ static const struct { {{ 0, 0, 0, OPTION_VENDOR, 0x7501}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7601}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7701}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x7706}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7801}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x7901}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x8006}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8200}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8201}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8300}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8302}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8304}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0x8400}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x8600}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x8800}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x8900}, MSG_OPTION_1}, + {{ 0, 0, 0, OPTION_VENDOR, 0x9000}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0xc031}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0xc100}, MSG_OPTION_1}, {{ 0, 0, 0, OPTION_VENDOR, 0xc031}, MSG_OPTION_1}, @@ -209,7 +284,7 @@ typedef struct _my_device { status_t status; size_t actual_length; - msgType type; + msgType type[3]; } my_device; @@ -263,7 +338,7 @@ my_transfer_data(my_device *device, bool directionIn, void *data, } do { - bigtime_t timeout = directionIn ? 100000 : 100000; + bigtime_t timeout = directionIn ? 500000 : 500000; result = acquire_sem_etc(device->notify, 1, B_RELATIVE_TIMEOUT, timeout); if (result == B_TIMED_OUT) { @@ -287,7 +362,7 @@ my_transfer_data(my_device *device, bool directionIn, void *data, enum msgType -my_get_msg_type(const usb_device_descriptor *desc) +my_get_msg_type(const usb_device_descriptor *desc, int index) { for (uint32 i = 0; i < kDevicesCount; i++) { if (kDevices[i].desc.dev_class != 0x0 @@ -305,8 +380,15 @@ my_get_msg_type(const usb_device_descriptor *desc) if (kDevices[i].desc.product != 0x0 && kDevices[i].desc.product != desc->product_id) continue; - - return kDevices[i].type; + switch (index) { + case 0: + return kDevices[i].type; + case 1: + return kDevices[i].type2; + case 2: + return kDevices[i].type3; + } + } return MSG_NONE; @@ -317,28 +399,34 @@ my_get_msg_type(const usb_device_descriptor *desc) status_t my_modeswitch(my_device* device) { - if (device->type == MSG_NONE) - return B_OK; + status_t err = B_OK; + if (device->type[0] == MSG_NONE) + return B_OK; + for (int i = 0; i < 3; i++) { + if (device->type[i] == MSG_NONE) + break; - status_t err = my_transfer_data(device, false, kDevicesMsg[device->type], - sizeof(kDevicesMsg[device->type])); - if (err != B_OK) { - TRACE_ALWAYS("inquire message failed\n"); - return err; + err = my_transfer_data(device, false, kDevicesMsg[device->type[i]], + sizeof(kDevicesMsg[device->type[i]])); + if (err != B_OK) { + TRACE_ALWAYS("send message %d failed\n", i + 1); + return err; + } + + TRACE("device switched: %p\n", device); + + char data[36]; + err = my_transfer_data(device, true, data, sizeof(data)); + if (err != B_OK) { + TRACE_ALWAYS("receive response %d failed 0x%lx\n", + i + 1, device->status); + return err; + } + TRACE("device switched (response length %ld)\n", device->actual_length); } - + TRACE("device switched: %p\n", device); - char data[36]; - err = my_transfer_data(device, true, data, sizeof(data)); - if (err != B_OK) { - TRACE_ALWAYS("inquire response failed\n"); - return err; - } - - TRACE("device switched: %p %.8s %.16s %.4s\n", device, data + 8, data + 16, - data + 32); - return B_OK; } @@ -417,7 +505,9 @@ my_device_added(usb_device newDevice, void **cookie) free(device); return B_ERROR; } - device->type = my_get_msg_type(descriptor); + for (int i = 0; i < 3; i++) { + device->type[i] = my_get_msg_type(descriptor, i); + } mutex_init(&device->lock, DRIVER_NAME " device lock"); From 04b5e12f729138f5ed5265d79c07ecd010747312 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Thu, 14 Mar 2013 00:06:41 -0500 Subject: [PATCH 007/122] Network Kit: Fix parallel build * HttpAuthentication.cpp wasn't in ssl grist resulting in unmet dependencies. #9523 * md5.c only being used when ssl wasn't available was kind of spaghetti logic. These changes make this more obvious. --- src/kits/network/libnetapi/HttpAuthentication.cpp | 10 +++++----- src/kits/network/libnetapi/Jamfile | 8 ++++++-- src/kits/network/libnetapi/md5.c | 6 ++---- src/kits/network/libnetapi/md5.h | 7 +++---- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/kits/network/libnetapi/HttpAuthentication.cpp b/src/kits/network/libnetapi/HttpAuthentication.cpp index 606e859d09..5a6f5a4e6c 100644 --- a/src/kits/network/libnetapi/HttpAuthentication.cpp +++ b/src/kits/network/libnetapi/HttpAuthentication.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2010 Haiku Inc. All rights reserved. + * Copyright 2010-2013 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -14,12 +14,12 @@ #include #define PRINT(x) printf x -#ifdef OPENSSL_ENABLED -#define HAVE_OPENSSL // Instruct md5.h to include the openssl version -#endif - extern "C" { +#ifdef OPENSSL_ENABLED +#include +#else #include "md5.h" +#endif }; #ifndef MD5_DIGEST_LENGTH diff --git a/src/kits/network/libnetapi/Jamfile b/src/kits/network/libnetapi/Jamfile index 427de08bb2..5d09f54b75 100644 --- a/src/kits/network/libnetapi/Jamfile +++ b/src/kits/network/libnetapi/Jamfile @@ -7,16 +7,20 @@ UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ; local sslSources ; +local md5Sources ; if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { SubDirC++Flags -DOPENSSL_ENABLED ; SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; sslSources = SSL.cpp ; - Includes [ FGristFiles $(sslSources) SecureSocket.cpp ] + md5Sources = ; + Includes [ FGristFiles $(sslSources) SecureSocket.cpp HttpAuthentication.cpp ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; } else { + # As we don't have md5 from ssl, use our own + md5Sources = md5.c ; SetupFeatureObjectsDir no-ssl ; } @@ -53,7 +57,7 @@ SharedLibrary libbnetapi.so : HttpForm.cpp HttpTime.cpp - md5.c + $(md5Sources) Url.cpp UrlContext.cpp diff --git a/src/kits/network/libnetapi/md5.c b/src/kits/network/libnetapi/md5.c index 7d43a603ad..efdf4cd2a3 100644 --- a/src/kits/network/libnetapi/md5.c +++ b/src/kits/network/libnetapi/md5.c @@ -35,11 +35,11 @@ * compile-time configuration. */ -#ifndef HAVE_OPENSSL + +#include "md5.h" #include -#include "md5.h" /* * The basic MD5 functions. @@ -291,5 +291,3 @@ void MD5_Final(unsigned char *result, MD5_CTX *ctx) memset(ctx, 0, sizeof(*ctx)); } - -#endif diff --git a/src/kits/network/libnetapi/md5.h b/src/kits/network/libnetapi/md5.h index f1a6857640..f56a48a2a6 100644 --- a/src/kits/network/libnetapi/md5.h +++ b/src/kits/network/libnetapi/md5.h @@ -22,12 +22,10 @@ * * See md5.c for more information. */ - -#ifdef HAVE_OPENSSL -#include -#elif !defined(_MD5_H) +#ifndef _MD5_H #define _MD5_H + /* Any 32-bit or wider unsigned integer data type will do */ typedef unsigned int MD5_u32plus; @@ -42,4 +40,5 @@ extern void MD5_Init(MD5_CTX *ctx); extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size); extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); + #endif From fb8041a277b54184a9c2ca8dec9816170d72b7c8 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sun, 10 Mar 2013 12:56:31 +0100 Subject: [PATCH 008/122] Termcap.src updated to one shipped with ncurses 5.9 New version of termcap.src was generated using the "master" terminfo.src database taken from the ncurses 5.9 package. This database is looking like only one up-to-date I have found. This update is pre-requisite for lot of Terminal BCE refactoring changes that follow soon; File was generated using "tic -CrtT" command and was fixed for unpaired :fs= and :sp= entries to satisfy ncurses' sanity check. --- src/libs/termcap/termcap.src | 31944 ++++++++++++++++++++------------- 1 file changed, 19890 insertions(+), 12054 deletions(-) diff --git a/src/libs/termcap/termcap.src b/src/libs/termcap/termcap.src index d09491f56c..ba69e28d67 100644 --- a/src/libs/termcap/termcap.src +++ b/src/libs/termcap/termcap.src @@ -1,8 +1,41 @@ ######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE # -# Version 11.0.1 -# $Date: 2009-04-17 11:15:46 +0200 (Fr, 17. Apr 2009) $ -# termcap syntax +# This version of terminfo.src is distributed with ncurses and is maintained +# by Thomas E. Dickey (TD). +# +# Report bugs and new terminal descriptions to +# bug-ncurses@gnu.org +# +# $Revision: 1.383 $ +# $Date: 2011/02/20 20:46:53 $ +# +# The original header is preserved below for reference. It is noted that there +# is a "newer" version which differs in some cosmetic details (but actually +# stopped updates several years ago); we have decided to not change the header +# unless there is also a change in content. +# +# To further muddy the waters, it is noted that changes to this file as part of +# maintenance of ncurses (since 1996) are generally conceded to be copyright +# under the ncurses MIT-style license. That was the effect of the agreement +# which the principal authors of ncurses made in 1998. However, since much of +# the file itself is of unknown authorship (and the disclaimer below makes it +# obvious that Raymond cannot or will not convey rights over those parts), +# there is no explicit copyright notice on the file itself. +# +# It would also be a nuisance to split the file into unknown/known authorship +# and move pieces as they are maintained, since many of the maintenance changes +# have been small corrections to Raymond's translations to/from termcap format, +# correcting the data but not the accompanying annotations. +# +# In any case, note that almost half of this file is not data but annotations +# which reflect creative effort. Furthermore, the structure of entries to +# reuse common chunks also is creative (and subject to copyright). Finally, +# some portions of the data are derivative work under a compatible MIT-style +# license from xterm. +# +#------------------------------------------------------------------------------ +# Version 10.2.1 +# terminfo syntax # # Eric S. Raymond (current maintainer) # John Kunze, Berkeley @@ -35,7 +68,7 @@ # This file assumes a US-ASCII character set. If you need to fix this, start # by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers # for your character set. \E(A and \E)A enables the British character set -# with the pound sign at position 2/3. +# with the pound sign at position 2/3. # # In a Japanese-processing environment using EUC/Japanese or Shift-JIS, # C1 characters are considered the first-byte set of the Japanese encodings, @@ -61,7 +94,7 @@ # string-table limit of archaic termcap libraries except where explicitly # noted below. Note that the termcap translation assumes that your termcap # library can handle multiple tc capabilities in an entry. 4.4BSD has this -# capability. Older versions of GNU termcap, through 1.3, do not. +# capability. Older versions of GNU termcap, through 1.3, do not. # # For details on these formats, see terminfo(5) in the ncurses distribution, # and termcap(5) in the 4.4BSD Unix Programmer's Manual. Be aware that 4.4BSD @@ -93,7 +126,7 @@ # the master format). Individual capabilities are commented out by # placing a period between the colon and the capability name. # -# The file is divided up into major sections (headed by lines beginning with +# The file is divided up into major sections (headed by lines beginning with # the string "########") and minor sections (beginning with "####"); do # # grep "^####" | more @@ -103,7 +136,7 @@ # that important and frequently-encountered terminal types are near the # front (so that you'll get reasonable search efficiency from a linear # search of the termcap form even if you don't use reorder). Minor sections -# usually correspond to manufacturers or standard terminal classes. +# usually correspond to manufacturers or standard terminal classes. # Parenthesized words following manufacturer names are type prefixes or # product line names used by that manufacturers. # @@ -136,18 +169,18 @@ # -s Enable status line. # -vb Use visible bell (:vb:) rather than :bl:. # -w Wide - in 132 column mode. -# If a name has multiple suffixes and one is a line height, that one should -# go first. Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'. -# +# If a name has multiple suffixes and one is a line height, that one should +# go first. Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'. +# # Entries with embedded plus signs are designed to be included through use/tc -# capabilities, not used as standalone entries. +# capabilities, not used as standalone entries. # # To avoid search clashes, some older all-numeric names for terminals have # been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621). # All primary names of terminals now have alphanumeric prefixes. # # Comments marked "esr" are mostly results of applying the termcap-compiler -# code packaged with ncurses and contemplating the resulting error messages. +# code packaged with ncurses and contemplating the resulting error messages. # In many cases, these indicated obvious fixes to syntax garbled by the # composers. In a few cases, I was able to deduce corrected forms for garbled # capabilities by looking at context. All the information in the original @@ -182,14 +215,14 @@ # %c Accept any character # %[...] Accept any number of characters in the given set # -# The cursor position report () string must contain two scanf(3)-style +# The cursor position report () string must contain two scanf(3)-style # %d format elements. The first of these must correspond to the Y coordinate # and the second to the %d. If the string contains the sequence %i, it is # taken as an instruction to decrement each value after reading it (this is # the inverse sense from the cup string). The typical CPR value is # \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals). # -# These capabilities are used by tac(1m), the terminfo action checker +# These capabilities are used by tack(1m), the terminfo action checker # (distributed with ncurses 5.0). # # TABSET FILES @@ -197,12 +230,12 @@ # All the entries in this file have been edited to assume that the tabset # files directory is /usr/share/tabset, in conformance with the File Hierarchy # Standard for Linux and open-source BSD systems. Some vendors (notably Sun) -# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset. +# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset. # # No curses package we know of actually uses these files. If their location # is an issue, you will have to hand-patch the file locations before compiling # this file. -# +# # REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL # # As the ANSI/ECMA-48 standard and variants take firmer hold, and as @@ -224,8 +257,8 @@ # I'm especially interested in identifying the obscure entries listed under # `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal # wisdom about them gets lost. If you know a lot about obscure old terminals, -# please go to the terminfo resource page, grab the UFO file (ufo.ti), and -# eyeball it for things you can identify and describe. +# please go to the terminfo resource page, grab the UFO file (ufo.ti), and +# eyeball it for things you can identify and describe. # # If you have been around long enough to contribute, please read the file # with this in mind and send me your annotations. @@ -236,7 +269,7 @@ # California copyright with dates from 1980 to 1993. # # Some information has been merged in from a terminfo file SCO distributes. -# It has an obnoxious boilerplate copyright which I'm ignoring because they +# It has an obnoxious boilerplate copyright which I'm ignoring because they # took so much of the content from the ancestral BSD versions of this file # and didn't attribute it, thereby violating the BSD Regents' copyright. # @@ -246,7 +279,7 @@ # graffiti -- it's legally dubious, ethically bogus, and patently ridiculous. # # This file deliberately has no copyright. It belongs to no one and everyone. -# If you claim you own it, you will merely succeed in looking like a fool. +# If you claim you own it, you will merely succeed in looking like a fool. # Use it as you like. Use it at your own risk. Copy and redistribute freely. # There are no guarantees anywhere. Svaha! # @@ -280,10 +313,21 @@ glasstty|classic glass tty interpreting ASCII control characters:\ :am:bs:\ :co#80:\ :bl=^G:cl=^L:cr=^M:do=^J:kd=^J:kl=^H:le=^H:nw=^M^J:ta=^I: -vanilla:\ + +vanilla|dumb tty:\ :bs:\ :bl=^G:cr=^M:do=^J:sf=^J: +# This is almost the same as "dumb", but with no prespecified width. +# DEL and ^C are hardcoded to act as kill characters. +# ^D acts as a line break (just like newline). +# It also interprets +# \033];xxx\007 +# for compatibility with xterm -TD +9term|Plan9 terminal emulator for X:\ + :am:\ + :bl=^G:do=^J:nl=^J: + #### ANSI.SYS/ISO 6429/ECMA-48 Capabilities # # See the end-of-file comment for more on these. @@ -297,10 +341,10 @@ ansi+local:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:do=\E[B:le=\E[D:\ :nd=\E[C:up=\E[A: ansi+tabs:\ - :bt=\E[Z:ct=\E[2g:st=\EH:ta=^I: + :bt=\E[Z:ct=\E[3g:st=\EH:ta=^I: ansi+inittabs:\ :it#8:\ - :bt=\E[Z:ct=\E[2g:st=\EH:ta=^I: + :bt=\E[Z:ct=\E[3g:st=\EH:ta=^I: ansi+erase:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J: ansi+rca:\ @@ -308,7 +352,7 @@ ansi+rca:\ ansi+cup:\ :cm=\E[%i%d;%dH:ho=\E[H: ansi+rep:\ - :..rp=%p1%c\E[%p2%{1}%-%db: + : ansi+idl1:\ :al=\E[L:dl=\E[M: ansi+idl:\ @@ -324,13 +368,11 @@ ansi+sgrso|ansi standout only:\ ansi+sgrul|ansi underline only:\ :ue=\E[m:us=\E[4m: ansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:se=\E[m:\ + :so=\E[7m:ue=\E[m:us=\E[4m: ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold:\ - :mb=\E[5m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;m:\ - :se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: + :mb=\E[5m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:se=\E[m:\ + :so=\E[7m:ue=\E[m:us=\E[4m: ansi+pp|ansi printer port:\ :pf=\E[4i:po=\E[5i:ps=\E[0i: ansi+csr|ansi scroll-region plus cursor save & restore:\ @@ -343,31 +385,34 @@ ansi+csr|ansi scroll-region plus cursor save & restore:\ # will work with any Intel console, they all seem to have inherited \E[11m # from the ANSI.SYS de-facto standard. klone+acs|alternate character set for ansi.sys displays:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:as=\E[11m: -# Highlight controls corresponding to the ANSI.SYS standard. Most +# Highlight controls corresponding to the ANSI.SYS standard. Most # console drivers for Intel boxes obey these. Makes the same assumption # about \E[11m as klone+acs. True ANSI/ECMA-48 would have :se=\E[27m:, # :ue=\E[24m:, but this isn't a documented feature of ANSI.SYS. klone+sgr|attribute control for ansi.sys displays:\ :S2=\E[11m:S3=\E[10m:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\ :se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: +# Most Intel boxes do not treat "invis" (invisible) text. +klone+sgr8|attribute control for ansi.sys displays:\ + :S2=\E[11m:S3=\E[10m:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: + # Highlight controls corresponding to the ANSI.SYS standard. *All* # console drivers for Intel boxes obey these. Does not assume \E[11m will # work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS # diamond and arrow characters under curses. klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m):\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[12m:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[12m:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m: # KOI8-R (RFC1489) acs (alternate character set) # From: Qing Long , 24 Feb 1996. @@ -395,11 +440,9 @@ ecma+color|color control for ECMA-48-compatible terminals:\ # Attribute control for ECMA-48-compatible terminals ecma+sgr|attribute capabilities for true ECMA-48 terminals:\ :S2=\E[11m:S3=\E[10m:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :se=\E[27m:so=\E[7m:ue=\E[24m:us=\E[4m: + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:se=\E[27m:so=\E[7m:ue=\E[24m:us=\E[4m: # For comparison, here are all the capabilities implied by the Intel # Binary Compatibility Standard (level 2) that fit within terminfo. @@ -409,8 +452,8 @@ ibcs2|Intel Binary Compatibility Standard prescriptions:\ :AL=\E[%dL:DC=\E[%dP:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RA=\E[?7l:RI=\E[%dC:S1=\E=%dg:SA=\E[?7h:SF=\E[%dS:\ :SR=\E[%dT:UP=\E[%dA:bt=\E[Z:ch=\E[%i%dG:cl=\Ec:\ - :cm=\E[%i%d;%dH:ct=\E[g:cv=\E[%i%dd:ec=\E[%dX:ei=:im=:\ - :rc=\E7:sc=\E7:st=\EH: + :cm=\E[%i%d;%dH:ct=\E[g:cv=\E[%i%dd:do=\E[1B:ec=\E[%dX:\ + :ei=:im=:le=\E[1D:nd=\E[1C:rc=\E7:sc=\E7:st=\EH:up=\E[1A: #### ANSI/ECMA-48 terminals and terminal emulators # @@ -431,15 +474,15 @@ ansi-mr|mem rel cup ansi:\ :bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cr=^M:do=^J:le=\E[D:\ :nd=\E[C:sf=^J:up=\E[A: -# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but +# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but # beware of screen size problems and memory relative cursor addressing. -ansi-mini|minimum ansi standard terminal:\ +ansi-mini|any ansi terminal with pessimistic assumptions:\ :am:bs:xo:\ :co#80:li#24:\ :bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :do=^J:ho=\E[H:sf=^J: -# ansi-mtabs adds relative addressing and minimal tab support +# ansi-mtabs adds relative addressing and minimal tab support ansi-mtabs|any ansi terminal with pessimistic assumptions:\ :am:bs:xo:\ :co#80:it#8:li#24:\ @@ -484,116 +527,100 @@ ansi77|ansi 3.64 standard 1977 version:\ :sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # Procomm and some other ANSI emulations don't recognize all of the ANSI- -# standard capabilities. This entry deletes :UP:, :RI:, :DO:, :LE:, and -# / capabilities, forcing curses to use repetitions of :up:, -# :nd:, :do: and :le:. Also deleted :IC: and :ic:, as QModem up to +# standard capabilities. This entry deletes :UP:, :RI:, :DO:, :LE:, and +# / capabilities, forcing curses to use repetitions of :up:, +# :nd:, :do: and :le:. Also deleted :IC: and :ic:, as QModem up to # 5.03 doesn't recognize these. Finally, we delete :rp: and :sr:, which seem # to confuse many emulators. On the other hand, we can count on these programs -# doing :ae:/:as:/:sa:. Older versions of this entry featured +# doing :ae:/:as:/:sa:. Older versions of this entry featured # , but now seems to be more common under # ANSI.SYS influence. # From: Eric S. Raymond Oct 30 1995 pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode):\ :am:bs:mi:ms:\ :co#80:it#8:li#24:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode):\ :am:bs:mi:ms:\ :co#80:it#8:li#25:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode):\ :am:bs:mi:ms:\ :co#80:it#8:li#33:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode):\ :am:bs:mi:ms:\ :co#80:it#8:li#43:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # The color versions. All PC emulators do color... pcansi|ibm-pc terminal programs claiming to be ansi:\ :am:bs:mi:ms:\ :Co#8:NC#3:co#80:it#8:li#24:pa#64:\ :AB=\E[4%dm:AF=\E[3%dm:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\ + :so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines:\ :am:bs:mi:ms:\ :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ :AB=\E[4%dm:AF=\E[3%dm:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\ + :so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines:\ :am:bs:mi:ms:\ :Co#8:NC#3:co#80:it#8:li#33:pa#64:\ :AB=\E[4%dm:AF=\E[3%dm:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\ + :so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines:\ :am:bs:mi:ms:\ :Co#8:NC#3:co#80:it#8:li#43:pa#64:\ :AB=\E[4%dm:AF=\E[3%dm:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\ :dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\ + :so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color. # If you want pound signs rather than dollars, replace `B' with `A' @@ -604,18 +631,18 @@ ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes:\ :co#80:it#8:li#24:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cb=\E[1K:\ :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ + :cr=^M:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ :ec=\E[%dX:ei=:ho=\E[H:im=:kB=\E[Z:kI=\E[L:kb=^H:kd=\E[B:\ :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:pf=\E[4i:\ - :po=\E[5i:..rp=%p1%c\E[%p2%{1}%-%db:s0=\E(B:s1=\E)B:\ - :s2=\E*B:s3=\E+B:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=\E[I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:pf=\E[4i:\ + :po=\E[5i:s0=\E(B:s1=\E)B:s2=\E*B:s3=\E+B:se=\E[m:sf=^J:\ + :so=\E[7m:st=\EH:ta=\E[I:ue=\E[m:up=\E[A:us=\E[4m: + +ansi+enq|ncurses extension for ANSI ENQ:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u9=\E[c: # ansi -- this terminfo expresses the largest subset of X3.64 that will fit in # standard terminfo. Assumes ANSI.SYS-compatible attributes and color. @@ -626,27 +653,23 @@ ansi|ansi/pc-term compatible with color:\ :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ :DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:S2=\E[11m:\ :S3=\E[10m:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:bt=\E[Z:cb=\E[1K:\ :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ + :cr=^M:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ :ec=\E[%dX:ei=:ho=\E[H:im=:kB=\E[Z:kI=\E[L:kb=^H:kd=\E[B:\ :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:\ - :op=\E[39;49m:pf=\E[4i:po=\E[5i:\ - :..rp=%p1%c\E[%p2%{1}%-%db:s0=\E(B:s1=\E)B:s2=\E*B:\ - :s3=\E+B:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=\E[I:u6=\E[%i%d;%dR:\ - :u7=\E[6n:..u8=\E[?%[;0123456789]c:u9=\E[c:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:s0=\E(B:s1=\E)B:s2=\E*B:\ + :s3=\E+B:se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=\E[I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -# ansi-generic is a vanilla ANSI terminal. This is assumed to implement -# all the normal ANSI stuff with no extensions. It assumes -# insert/delete line/char is there, so it won't work with -# vt100 clones. It assumes video attributes for bold, blink, -# underline, and reverse, which won't matter much if the terminal -# can't do some of those. Padding is assumed to be zero, which +# ansi-generic is a vanilla ANSI terminal. This is assumed to implement +# all the normal ANSI stuff with no extensions. It assumes +# insert/delete line/char is there, so it won't work with +# vt100 clones. It assumes video attributes for bold, blink, +# underline, and reverse, which won't matter much if the terminal +# can't do some of those. Padding is assumed to be zero, which # shouldn't hurt since xon/xoff is assumed. ansi-generic|generic ansi standard terminal:\ :am:bs:xo:\ @@ -654,15 +677,351 @@ ansi-generic|generic ansi standard terminal:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=^J:ei=\E6:ho=\E[H:ic=\E[@:im=\E6:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +#### DOS ANSI.SYS variants +# +# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS +# documentation (except for the keyboard key reassignment feature, which +# doesn't fit the model well). The klone+acs sequences were valid +# though undocumented. The capability is untested but should work for +# keys F1-F10 (%p1 values outside this range will yield unpredictable results). +# From: Eric S. Raymond Nov 7 1995 +ansi.sys-old|ANSI.SYS under PC-DOS 2.1:\ + :am:bs:mi:ms:xo:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:ce=\E[k:cl=\E[2J:cm=\E[%i%d;%dH:\ + :do=\E[B:ho=\E[H:is=\E[m\E[?7h:kd=^J:kh=^^:kl=^H:kr=^L:\ + :ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s"p:rc=\E[u:sc=\E[s:\ + :se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:\ :us=\E[4m: +# Keypad: Home=\0G Up=\0H PrPag=\0I +# ka1,kh kcuu1 kpp,ka3 +# +# Left=\0K 5=\0L Right=\0M +# kcub1 kb2 kcuf1 +# +# End=\0O Down=\0P NxPag=\0Q +# kc1,kend kcud1 kc3,knp +# +# Ins=\0R Del=\0S +# kich1 kdch1 +# +# On keyboard with 12 function keys, +# shifted f-keys: F13-F24 +# control f-keys: F25-F36 +# alt f-keys: F37-F48 +# The shift/control/alt keys do not modify each other, but alt overrides both, +# and control overrides shift. +# +# capability for F1-F48 -TD +ansi.sys|ANSI.SYS 3.1 and later versions:\ + :am:bs:mi:ms:xo:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\ + :F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\ + :FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:\ + :FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\ + :FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\ + :FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\ + :K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ + :do=\E[B:ho=\E[H:is=\E[m\E[?7h:k1=\0;:k2=\0<:k3=\0=:k4=\0>:\ + :k5=\0?:k6=\0@:k7=\0A:k8=\0B:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:\ + :kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:kr=\0M:\ + :ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:\ + :u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:us=\E[4m: + +# +# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS. +# This should only be used when the terminal emulator cannot redefine the keys. +# Since redefining keys with ansi.sys also affects PC-DOS programs, the key +# definitions must be restored. If the terminal emulator is quit while in vi +# or others using :ks:/:ke:, the keypad will not be defined as per PC-DOS. +# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix +# (^U and ^D are already defined for tn3270). The ESC is safe for vi but it +# does "beep". ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab. +# Note that :kl: is always BS, because PC-dos can tolerate this change. +# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi. +# Consequently the End keypad key could not be set (it is relatively safe and +# actually useful because it sends ^@ O, which beeps and opens a line above). +ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi:\ + :am:bs:mi:ms:xo:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\ + :F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\ + :FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:\ + :FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\ + :FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\ + :FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\ + :K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ + :do=\E[B:ho=\E[H:\ + :is=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\ + :k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\ + :k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:\ + :kd=\0P:\ + :ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\ + :kh=\0G:kl=\0K:kr=\0M:\ + :ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\ + :ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:\ + :u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:us=\E[4m: +# +# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer. +nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS:\ + :am:bs:mi:ms:xo:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\ + :F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\ + :FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:\ + :FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\ + :FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\ + :FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\ + :K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[1L:as=\E[11m:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:ho=\E[H:\ + :ic=\E[1@:im=:\ + :is=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n:\ + :k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\ + :k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:\ + :kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E[u:\ + :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ + :up=\E[A:us=\E[4m: +# +# See ansi.sysk and nansi.sys above. +nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi:\ + :am:bs:mi:ms:xo:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\ + :F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\ + :FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:\ + :FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\ + :FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\ + :FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\ + :K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[1L:as=\E[11m:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:ho=\E[H:\ + :ic=\E[1@:im=:\ + :is=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\ + :k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\ + :k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:\ + :kd=\0P:\ + :ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\ + :kh=\0G:kl=\0K:kr=\0M:\ + :ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\ + :ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:\ + :u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:us=\E[4m: + +#### ANSI console types +# + +############################################################################# +# +# Atari ST terminals. +# From Guido Flohr . +# +tw52|tw52-color|Toswin window manager with color:\ + :NP:am:eo:mi:ul:ut:\ + :Co#16:co#80:it#8:li#24:ma#999:pa#256:\ + :#4=\Ed:%1=\EH:%i=\Ec:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:\ + :F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:\ + :cb=\Eo:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:dc=\Ea:\ + :dl=\EM:do=\EB:ho=\EH:is=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0:k1=\EP:\ + :k2=\EQ:k3=\ER:k4=\ES:k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:\ + :k;=\EY:kD=\177:kI=\EI:kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:\ + :kl=\ED:kr=\EC:ku=\EA:le=\ED:md=\Eya:me=\Ez_:mh=\EyB:\ + :mr=\EyP:nd=\EC:nw=^M^J:oc=\Eb?\Ec0:op=\Eb?\Ec0:rc=\Ek:\ + :rs=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0:sc=\Ej:se=\EzQ:sf=^J:\ + :so=\EyQ:sr=\EI:ta=^I:ue=\EzH:up=\EA:us=\EyH:ve=\Ee:vi=\Ef: +tw52-m|Toswin window manager monochrome:\ + :NP:am:eo:mi:ul:\ + :co#80:it#8:li#24:ma#999:\ + :#4=\Ed:%1=\EH:%i=\Ec:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:\ + :F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:\ + :cb=\Eo:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:dc=\Ea:\ + :dl=\EM:do=\EB:ho=\EH:is=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0:k1=\EP:\ + :k2=\EQ:k3=\ER:k4=\ES:k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:\ + :k;=\EY:kD=\177:kI=\EI:kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:\ + :kl=\ED:kr=\EC:ku=\EA:le=\ED:md=\Eya:me=\Ez_:mh=\EyB:\ + :mr=\EyP:nd=\EC:nw=^M^J:rc=\Ek:\ + :rs=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0:sc=\Ej:se=\EzQ:sf=^J:\ + :so=\EyQ:sr=\EI:ta=^I:ue=\EzH:up=\EA:us=\EyH:ve=\Ee:vi=\Ef: +tt52|Atari TT medium and high resolution:\ + :NP:am:eo:mi:ut:\ + :Co#16:co#80:it#8:li#30:pa#256:\ + :#4=\Ed:%1=\EH:%i=\Ec:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:\ + :F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:\ + :cb=\Eo:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:dl=\EM:\ + :do=\EB:ho=\EH:is=\Ev\Eq\Ee\Eb1\Ec0:k1=\EP:k2=\EQ:k3=\ER:\ + :k4=\ES:k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:k;=\EY:kD=\177:\ + :kI=\EI:kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:kl=\ED:kr=\EC:\ + :ku=\EA:le=\ED:me=\Eq:mr=\Ep:nd=\EC:nw=^M^J:rc=\Ek:\ + :rs=\Ev\Eq\Ee\Eb1\Ec0:sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:\ + :ta=^I:up=\EA:ve=\Ee:vi=\Ef: +st52-color|at-color|atari-color|atari_st-color|Atari ST with color:\ + :NP:am:eo:mi:ut:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :#4=\Ed:%1=\EH:%i=\Ec:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:\ + :F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:\ + :cb=\Eo:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:dl=\EM:\ + :do=\EB:ho=\EH:is=\Ev\Eq\Ee\Eb1\Ec0:k1=\EP:k2=\EQ:k3=\ER:\ + :k4=\ES:k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:k;=\EY:kD=\177:\ + :kI=\EI:kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:kl=\ED:kr=\EC:\ + :ku=\EA:le=\ED:me=\Eq:mr=\Ep:nd=\EC:nw=^M^J:rc=\Ek:\ + :rs=\Ev\Eq\Ee\Eb1\Ec0:sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:\ + :ta=^I:up=\EA:ve=\Ee:vi=\Ef: +st52|st52-m|at|at-m|atari|atari-m|atari_st|atarist-m|Atari ST:\ + :NP:am:eo:mi:\ + :co#80:it#8:li#24:\ + :#4=\Ed:%1=\EH:%i=\Ec:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:\ + :F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:\ + :cb=\Eo:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:dl=\EM:\ + :do=\EB:ho=\EH:is=\Ev\Eq\Ee:k1=\EP:k2=\EQ:k3=\ER:k4=\ES:\ + :k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:k;=\EY:kD=\177:kI=\EI:\ + :kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:kl=\ED:kr=\EC:ku=\EA:\ + :le=\ED:me=\Eq:mr=\Ep:nd=\EC:nw=^M^J:rc=\Ek:rs=\Ev\Eq\Ee:\ + :sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:up=\EA:ve=\Ee:\ + :vi=\Ef: +tw100|toswin vt100 window mgr:\ + :eo:mi:ms:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:vt#3:\ + :%1=\EH:&8=\EK:DL=\E[%dM:DO=\E[%dB:F1=\Ep:F2=\Eq:F3=\Er:\ + :F4=\Es:F5=\Et:F6=\Eu:F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\EL:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\Ea:dl=\E[M:do=\EB:ei=\Ei:ho=\E[H:im=\Eh:\ + :is=\E<\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\ + :k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kD=\177:kI=\EI:\ + :kN=\Eb:kP=\E\Ea:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E\EE:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:ll=\E[24H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\EC:nw=\EE:\ + :oc=\E[30;47m:op=\E[30;47m:\ + :r1=\E<\E[20l\E[?3;6;9l\E[r\Eq\E(B\017\E)0\E>:rc=\E8:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?7h:ti=\E[?7l:ue=\E[m:up=\EA:us=\E[4m:ve=\Ee:vi=\Ef: +# The entries for stv52 and stv52pc probably need a revision. +stv52|MiNT virtual console:\ + :am:ms:\ + :co#80:it#8:li#30:\ + :%1=\EH:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:F5=\Et:F6=\Eu:\ + :F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:al=\EL:bl=^G:cd=\EJ:ce=\EK:\ + :cl=\EE:cm=\EY%+ %+ :cr=^M:dl=\EM:do=\EB:ho=\EH:k1=\EP:\ + :k2=\EQ:k3=\ER:k4=\ES:k5=\ET:k6=\EU:k7=\EV:k8=\EW:k9=\EX:\ + :k;=\EY:kD=\177:kI=\EI:kN=\Eb:kP=\Ea:kb=^H:kd=\EB:kh=\EE:\ + :kl=\ED:kr=\EC:ku=\EA:le=^H:mb=\Er:md=\EyA:me=\Ez_:mh=\Em:\ + :mr=\Ep:nd=\EC:nw=2*\r\n:op=\Eb@\EcO:r1=\Ez_\Eb@\EcA:\ + :se=\Eq:sf=2*\n:so=\Ep:sr=2*\EI:ta=^I:te=\Ev\E. \Ee\Ez_:\ + :ti=\Ev\Ee\Ez_:ue=\EzH:up=\EA:us=\EyH:ve=\E. \Ee:vi=\Ef:\ + :vs=\E.": +stv52pc|MiNT virtual console with PC charset:\ + :am:ms:\ + :co#80:it#8:li#30:\ + :%1=\EH:&8=\EK:F1=\Ep:F2=\Eq:F3=\Er:F4=\Es:F5=\Et:F6=\Eu:\ + :F7=\Ev:F8=\Ew:F9=\Ex:FA=\Ey:\ + :ac=+\257,\256-\136.v0\333I\374`\177a\260f\370g\361h\261j\331k\277l\332m\300n\305o\377p-q\304r-s_t+u+v+w+x\263y\363z\362{\343|\366}\234~\371:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dl=\EM:do=\EB:ho=\EH:k1=\EP:k2=\EQ:k3=\ER:k4=\ES:k5=\ET:\ + :k6=\EU:k7=\EV:k8=\EW:k9=\EX:k;=\EY:kD=\177:kI=\EI:kN=\Eb:\ + :kP=\Ea:kb=^H:kd=\EB:kh=\EE:kl=\ED:kr=\EC:ku=\EA:le=^H:\ + :mb=\Er:md=\EyA:me=\Ez_:mh=\Em:mr=\Ep:nd=\EC:nw=2*\r\n:\ + :r1=\Ez_\Eb@\EcA:se=\Eq:sf=2*\n:so=\Ep:sr=2*\EI:ta=^I:\ + :te=\Ev\E. \Ee\Ez_:ti=\Ev\Ee\Ez_:ue=\EzH:up=\EA:us=\EyH:\ + :ve=\E. \Ee:vi=\Ef:vs=\E.": + +#### Atari ST +# + +# From: Simson L. Garfinkel +atari-old|atari st:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :al=\EL:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :dl=\EM:do=\EB:\ + :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=\ED:me=\Eq:nd=\EC:se=\Eq:\ + :so=\Ep:sr=\EI:ta=^I:up=\EA: +# UniTerm terminal program for the Atari ST: 49-line VT220 emulation mode +# From: Paul M. Aoki +uniterm|uniterm49|UniTerm VT220 emulator with 49 lines:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#49:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: +# MiNT VT52 emulation. 80 columns, 25 rows. +# MiNT is Now TOS, the operating system which comes with all Ataris now +# (mainly Atari Falcon). This termcap is for the VT52 emulation you get +# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode +# From: Per Persson , 27 Feb 1996 +st52-old|Atari ST with VT52 emulation:\ + :am:km:\ + :co#80:li#25:\ + :K1=\E#7:K2=\E#9:K3=\E#5:K4=\E#1:K5=\E#3:al=\EL:bl=^G:\ + :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dl=\EM:do=\EB:\ + :ho=\EH:k0=\E#D:k1=\E#;:k2=\E#<:k3=\E#=:k4=\E#>:k5=\E#?:\ + :k6=\E#@:k7=\E#A:k8=\E#B:k9=\E#C:kA=\E#R:kC=\E#7:kF=\E#2:\ + :kR=\E#8:kb=^H:kd=\E#P:kh=\E#G:kl=\E#K:kr=\E#M:ku=\E#H:\ + :l0=f10:le=\ED:me=\Eq:nd=\EC:nw=^M^J:r1=\Ez_\Eb@\EcA:\ + :rc=\Ek:sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:te=:ti=\Ee:\ + :up=\EA:ve=\Ee:vi=\Ef: + +#### BeOS +# +# BeOS entry for Terminal program Seems to be almost ANSI +beterm|BeOS Terminal:\ + :am:eo:mi:ms:xn:xo:\ + :Co#8:NC#5:co#80:it#8:li#25:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[21~:F2=\E[22~:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:Sb=\E[%+(m:Sf=\E[%+^^m:UP=\E[%dA:\ + :al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[11~:k2=\E[12~:k3=\E[13~:\ + :k4=\E[14~:k5=\E[15~:k6=\E[16~:k7=\E[17~:k8=\E[18~:\ + :k9=\E[19~:k;=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:ke=\E[?4l:kh=\E[1~:kl=\E[D:kr=\E[C:\ + :ks=\E[?4h:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:op=\E[m:r1=\Ec:rc=\E8:sc=\E7:se=\E[m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:\ + :ue=\E[24m:up=\E[A:us=\E[4m: + #### Linux consoles # @@ -686,96 +1045,118 @@ ansi-generic|generic ansi standard terminal:\ # * * # *************************************************************************** # -# The 1.3.x kernels add color-change capabilities; if yours doesn't have this -# and it matters, turn off . The %02x escape used to implement this is -# not back-portable to SV curses and not supported in ncurses versions before -# 1.9.9. All linux kernels since 1.2.13 (at least) set the screen size +# All linux kernels since 1.2.13 (at least) set the screen size # themselves; this entry assumes that capability. # -# This entry is good for the 1.2.13 or later version of the Linux console. -# -# *************************************************************************** -# * * -# * WARNING: * -# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in * -# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab * -# * character. Here are the keymap replacement lines that will set this up: * -# * * -# keycode 15 = Tab Tab -# alt keycode 15 = Meta_Tab -# shift keycode 15 = F26 -# string F26 ="\033[Z" -# * * -# * This has to use a key slot which is unfortunate (any unused one will * -# * do, F26 is the higher-numbered one). The change ought to be built * -# * into the kernel tables. * -# * * -# *************************************************************************** -# +linux-basic|linux console:\ + :am:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l: + +linux-m|Linux console no color:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co@:NC#18:it#8:pa@:\ + :&7=^Z:@7=\E[4~:AB@:AF@:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:Sb@:Sf@:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + # The 1.3.x kernels add color-change capabilities; if yours doesn't have this # and it matters, turn off . The %02x escape used to implement this is -# not back-portable to SV curses and not supported in ncurses versions before -# 1.9.9. All linux kernels since 1.2.13 (at least) set the screen size -# themselves; this entry assumes that capability. -# +# not supposedly back-portable to older SV curses (although it has worked fine +# on Solaris for several years) and not supported in ncurses versions before +# 1.9.9. +linux-c-nc|linux console with color-change:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l: +# From: Dennis Henriksen , 9 July 1996 +linux-c|linux console 1.3.6+ for older ncurses:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l: + # The 2.2.x kernels add a private mode that sets the cursor type; use that to # get a block cursor for cvvis. # reported by Frank Heckenbach . linux|linux console:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ - :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K2=\E[G:S2=\E[11m:S3=\E[10m:\ - :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ - :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ - :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: -linux-m|Linux console no color:\ - :am:eo:mi:ms:ut:xn:xo:\ - :NC#2:it#8:\ - :&7=^Z:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:F1=\E[23~:\ - :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ - :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ - :K2=\E[G:S2=\E[11m:S3=\E[10m:\ - :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ - :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ - :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: -linux-c-nc|linux console 1.3.x hack for ncurses only:\ :am:cc:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:\ - :..Ic=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x:\ - :K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ @@ -784,24 +1165,28 @@ linux-c-nc|linux console 1.3.x hack for ncurses only:\ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :oc=\E]R:op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: -# From: Dennis Henriksen , 9 July 1996 -linux-c|linux console 1.3.6+ with private palette for each virtual console:\ - :am:cc:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + +# Subject: linux 2.6.26 vt back_color_erase +# Changes to the Linux console driver broke bce model as reported in +# https://bugzilla.novell.com/show_bug.cgi?id=418613 +# apparently from +# http://lkml.org/lkml/2008/4/26/305 +# http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/87f98338f0d636bb/aa96e8b86cee0d1e?lnk=st&q=#aa96e8b86cee0d1e +linux2.6.26|linux console w/o bce:\ + :am:cc:eo:mi:ms:ut@:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:\ - :..Ic=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p3%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p4%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;:\ - :K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ @@ -810,36 +1195,34 @@ linux-c|linux console 1.3.6+ with private palette for each virtual console:\ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :oc=\E]R:op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file linux-nic|linux with ich/ich1 suppressed for non-curses programs:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:k1=\E[[A:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic@:im=\E[4h:k1=\E[[A:\ :k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:\ - :r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:r1=\Ec\E]R:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: @@ -847,12 +1230,14 @@ linux-nic|linux with ich/ich1 suppressed for non-curses programs:\ # This assumes you have used setfont(8) to load one of the Linux koi8-r fonts. # acsc entry from Pavel Roskin" , 29 Sep 1997. linux-koi8|linux with koi8 alternate character set:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ @@ -861,24 +1246,24 @@ linux-koi8|linux with koi8 alternate character set:\ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: # Another entry for KOI8-r with Qing Long's acsc. # (which one better complies with the standard?) linux-koi8r|linux with koi8-r alternate character set:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ @@ -887,23 +1272,23 @@ linux-koi8r|linux with koi8-r alternate character set:\ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ - :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: # Entry for the latin1 and latin2 fonts linux-lat|linux with latin1 or latin2 alternate character set:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#8:NC#2:it#8:pa#64:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K2=\E[G:S2=\E[11m:S3=\E[10m:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ @@ -912,3154 +1297,323 @@ linux-lat|linux with latin1 or latin2 alternate character set:\ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: + +# This uses graphics from VT codeset instead of from cp437. +# reason: cp437 (aka "straight to font") is not functional under luit. +# from: Andrey V Lukyanov . +linux-vt|linux console using VT codes for graphics:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:S2@:S3@:SA=\E[?7h:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(K:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :me=\E[0m\E(K\017:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :oc=\E]R:op=\E[39;49m:r1=\Ec\E]R:rc=\E8:sa@:sc=\E7:\ + :se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h\E[?0c:\ :vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: -#### NetBSD consoles +# This is based on the Linux console (relies on the console to perform some +# of the functionality), but does not recognize as many control sequences. +# The program comes bundled with an old (circa 1998) copy of the Linux +# console terminfo. It recognizes some non-ANSI/VT100 sequences such as +# \E* move cursor to home, as as \E[H +# \E,X same as \E(X +# \EE move cursor to beginning of row +# \E[y,xf same as \E[y,xH # -# pcvt termcap database entries (corresponding to release 3.31) -# Author's last edit-date: [Fri Sep 15 20:29:10 1995] -# -# (For the terminfo master file, I translated these into terminfo syntax. -# Then I dropped all the pseudo-HP entries. we don't want and can't use -# the :Xs: flag. Then I split :is: into a size-independent :i1: and a -# size-dependent :is:. Finally, I added / -- esr) - -# NOTE: :ic: has been taken out of this entry. for reference, it should -# be . For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below. -# (esr: added :vi: and :ve: to resolve NetBSD Problem Report #4583) -pcvtXX|pcvt vt200 emulator (DEC VT220):\ - :am:km:mi:ms:xn:\ - :it#8:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ - :k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 80 columns -pcvt25|dec vt220 emulation with 25 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#25:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;25r\E[25;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt28|dec vt220 emulation with 28 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#28:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;28r\E[28;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt35|dec vt220 emulation with 35 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#35:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;35r\E[35;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt40|dec vt220 emulation with 40 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#40:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;40r\E[40;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt43|dec vt220 emulation with 43 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#43:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;43r\E[43;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt50|dec vt220 emulation with 50 lines:\ - :am:km:mi:ms:xn:\ - :co#80:it#8:li#50:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;50r\E[50;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 132 columns -pcvt25w|dec vt220 emulation with 25 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#25:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;25r\E[25;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt28w|dec vt220 emulation with 28 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#28:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;28r\E[28;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt35w|dec vt220 emulation with 35 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#35:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;35r\E[35;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt40w|dec vt220 emulation with 40 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#40:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;40r\E[40;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt43w|dec vt220 emulation with 43 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#43:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;43r\E[43;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: -pcvt50w|dec vt220 emulation with 50 lines and 132 cols:\ - :am:km:mi:ms:xn:\ - :co#132:it#8:li#50:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=llmmkkiijjuuttvvwwqqxxnnoosspprr``aaffgg~~..--++,,hh00yyzz:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ - :is=\E[1;50r\E[50;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ - :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ - :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ - :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:\ - :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :ve=\E[?25h:vi=\E[?25l: - -# Terminfo entries to enable the use of the ncurses library in colour on a -# NetBSD-arm32 console (only tested on a RiscPC). -# Created by Dave Millen 22.07.98 -# modified codes for setf/setb to setaf/setab, then to klone+color, corrected -# typo in invis - TD -arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480):\ - :am:ms:ut:xn:xo:\ - :Co#8:NC#3:co#80:it#8:li#30:pa#64:\ - :@8=\E[M:AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\E[q:K2=\E[r:\ - :K3=\E[s:K4=\E[p:K5=\E[n:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :S2=\E[11m:S3=\E[10m:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\E[y:k1=\E[P:k2=\E[Q:k3=\E[R:\ - :k4=\E[S:k5=\E[t:k6=\E[u:k7=\E[v:k8=\E[l:k9=\E[w:k;=\E[x:\ - :kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:ks=\E[?1h\E=:\ - :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mk=\E[8m:\ - :mr=\E[6m:nd=\E[C:op=\E[37;40m:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768):\ - :am:ms:ut:xn:xo:\ - :Co#8:NC#3:co#132:it#8:li#50:pa#64:\ - :@8=\E[M:AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\E[q:K2=\E[r:\ - :K3=\E[s:K4=\E[p:K5=\E[n:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :S2=\E[11m:S3=\E[10m:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\E[y:k1=\E[P:k2=\E[Q:k3=\E[R:\ - :k4=\E[S:k5=\E[t:k6=\E[u:k7=\E[v:k8=\E[l:k9=\E[w:k;=\E[x:\ - :kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:ks=\E[?1h\E=:\ - :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mk=\E[8m:\ - :mr=\E[6m:nd=\E[C:op=\E[37;40m:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine -# manufactured by Sharp for the Japenese market. -# From Minoura Makoto , 12 May 1996 -x68k|x68k-ite|NetBSD/x68k ITE:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#96:it#8:li#32:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kC=\E[9~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ - :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# : -# Entry for the DNARD OpenFirmware console, close to ANSI but not quite. -# -# (still unfinished, but good enough so far.) -ofcons:\ - :bw:\ - :co#80:li#30:\ - :AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:IC=\233%d@:\ - :LE=\233%dD:RI=\233%dC:UP=\233%dA:al=\233L:bl=^G:cd=\233J:\ - :ce=\233K:cl=^L:cm=\233%i%d;%dH:cr=^M:dc=\233P:dl=\233M:\ - :do=\233B:ei=:ic=\233@:im=:k1=\2330P:k2=\2330Q:k3=\2330W:\ - :k4=\2330x:k5=\2330t:k6=\2330u:k7=\2330q:k8=\2330r:\ - :k9=\2330p:k;=\2330M:kD=\233P:kN=\233/:kP=\233?:kb=^H:\ - :kd=\233B:kl=\233D:kr=\233C:ku=\233A:le=\233D:mb=\2337;2m:\ - :md=\2331m:me=\2330m:mh=\2332m:mk=\2338m:mr=\2337m:\ - :nd=\233C:nw=^M^J:se=\2330m:sf=^J:ta=^I:ue=\2330m:up=\233A:\ - :vb=^G: - -# NetBSD "wscons" emulator in vt220 mode -# These are micro-minimal and probably need to be redone for real -# after the manner of the pcvt entries. -wsvt25|NetBSD wscons in 25 line DEC VT220 mode:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#25:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta:\ - :5i:am:bs:km:mi:ms:xn:xo:\ - :co#80:it#8:li#25:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and -# DECstation/pmax. -rcons|BSD rasterconsole:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -# Color version of above. Color currenly only provided by NetBSD. -rcons-color|BSD rasterconsole with ANSI color:\ - :am:km:ms:ut:\ - :Co#8:co#80:li#34:pa#64:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AB=\E[4%dm:\ - :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:F1=\E[234z:\ - :F2=\E[235z:IC=\E[%d@:K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:\ - :ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:\ - :ei=:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ - :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ - :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ - :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[m:rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: - -#### FreeBSD console entries -# -# From: Andrey Chernov 29 Mar 1996 -# Andrey Chernov maintains the FreeBSD termcap distributions. -# -# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade -# or comment out the :cb: capability in the console entry. -# -# Alexander Lukyanov reports: -# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there. -# Now el1 clears not only to the line beginning, but also a large chunk -# of previous line. But there is another bug - ech does not work at all. -# - -# for syscons -# common entry without semigraphics -# Bug: The capability resets attributes. -# Bug? The ech and el1 attributes appear to move the cursor in some cases; for -# instance el1 does if the cursor is moved to the right margin first. Removed -# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K) -# -# Setting colors turns off reverse; we cannot guarantee order, so use ncv. -# Note that this disables standout with color. -cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons25|ansis|ansi80x25|freebsd console (25-line ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#25:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons30|ansi80x30|freebsd console (30-line ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#30:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#30:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons43|ansi80x43|freebsd console (43-line ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#43:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#43:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons50|ansil|ansi80x50|freebsd console (50-line ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#50:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons60|ansi80x60|freebsd console (60-line ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#60:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic:\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#25:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: -cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#50:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: -cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#60:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: -# ISO 8859-1 FreeBSD console -cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars:\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#25:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#50:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: -cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines):\ - :NP:am:bw:eo:ms:ut:\ - :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ - :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:IC=\E[%d@:K2=\E[E:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:\ - :op=\E[x:r1=\E[x\E[m\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: -cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono):\ - :NP:am:bw:eo:ms:ut:\ - :NC#21:co#80:it#8:li#60:\ - :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ - :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:\ - :k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ - :k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:r1=\E[x\E[m\Ec:se=\E[m:\ - :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[=0C:vs=\E[=1C: - -#### 386BSD and BSD/OS Consoles -# - -# This was the original 386BSD console entry (I think). -# Some places it's named oldpc3|oldibmpc3. -# From: Alex R.N. Wetmore -origpc3|origibmpc3|IBM PC 386BSD Console:\ - :am:bw:eo:xo:\ - :co#80:li#25:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[H:\ - :kd=\E[B:kh=\E[Y:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[7m:\ - :me=\E[m\E[1;0x\E[2;7x:nd=\E[C:se=\E[1;0x\E[2;7x:\ - :sf=\E[S:so=\E[1;7x\E[2;0x:sr=\E[T:ue=\E[1;0x\E[2;7x:\ - :up=\E[A:us=\E[1;7x\E[2;0x: - -# description of BSD/386 console emulator in version 1.0 (supplied by BSDI) -oldpc3|oldibmpc3|old IBM PC BSD/386 Console:\ - :km:\ - :li#25:\ - :al=\E[L:bl=^G:cr=^M:dl=\E[M:do=^J:kH=\E[F:kI=\E[L:kN=\E[G:\ - :kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :md=\E[=15F:me=\E[=R:mh=\E[=8F:nw=^M^J:sf=^J:ta=^I: - -# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1 -# Note, the emulator supports many of the additional console features -# listed in the iBCS2 (e.g. character-set selection) though not all -# are described here. This entry really ought to be upgraded. -# Also note, the console will also work with fewer lines after doing -# "stty rows NN", e.g. to use 24 lines. -# (Color support from Kevin Rosenberg , 2 May 1996) -# Bug: The capability resets attributes. -bsdos-pc-nobold|BSD/OS PC console w/o bold:\ - :am:eo:km:xo:\ - :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -bsdos-pc|IBM PC BSD/OS Console:\ - :am:eo:km:xo:\ - :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: - -# Old names for BSD/OS PC console used in releases before 4.1. -pc3|BSD/OS on the PC Console:\ - :am:eo:km:xo:\ - :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline:\ - :am:eo:km:xo:\ - :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: - -# BSD/OS on the SPARC -bsdos-sparc|Sun SPARC BSD/OS Console:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: - -# BSD/OS on the PowerPC -bsdos-ppc|PowerPC BSD/OS Console:\ - :am:eo:km:xo:\ - :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: - -#### DEC VT100 and compatibles -# -# DEC terminals from the vt100 forward are collected here. Older DEC terminals -# and micro consoles can be found in the `obsolete' section. More details on -# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be -# found near the end of this file. -# -# Except where noted, these entries are DEC's official terminfos. -# Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. -# -# In October 1995 DEC sold its terminals business, including the VT and Dorio -# line and trademark, to SunRiver Data Systems. SunRiver has since changed -# its name to Boundless Technologies; see http://www.boundless.com. -# - -# NOTE: Any VT100 emulation, whether in hardware or software, almost -# certainly includes what DEC called the `Level 1 editing extension' codes; -# only the very oldest VT100s lacked these and there probably aren't any of -# those left alive. To capture these, use one of the VT102 entries. -# -# Note that the :xn: glitch in vt100 is not quite the same as on the Concept, -# since the cursor is left in a different position while in the -# weird state (concept at beginning of next line, vt100 at end -# of this line) so all versions of vi before 3.7 don't handle -# :xn: right on vt100. The correct way to handle :xn: is when -# you output the char in column 80, immediately output CR LF -# and then assume you are in column 1 of the next line. If :xn: -# is on, am should be on too. -# -# I assume you have smooth scroll off or are at a slow enough baud -# rate that it doesn't matter (1200? or less). Also this assumes -# that you set auto-nl to "on", if you set it off use vt100-nam -# below. -# -# The padding requirements listed here are guesses. It is strongly -# recommended that xon/xoff be enabled, as this is assumed here. -# -# The vt100 uses and rather than :is:/:ct:/:st: because the -# tab settings are in non-volatile memory and don't need to be -# reset upon login. Also setting the number of columns glitches -# the screen annoyingly. You can type "reset" to get them set. -# -# The VT100 series terminals have cursor ("arrows") keys which can operate -# in two different modes: Cursor Mode and Application Mode. Cursor Mode -# is the reset state, and is assumed to be the normal state. Application -# Mode is the "set" state. In Cursor Mode, the cursor keys transmit -# "Esc [ {code}" sequences, conforming to ANSI standards. In Application -# Mode, the cursor keys transmit "Esc O " sequences. Application Mode -# was provided primarily as an aid to the porting of VT52 applications. It is -# assumed that the cursor keys are normally in Cursor Mode, and expected that -# applications such as vi will always transmit the :ks: string. Therefore, -# the definitions for the cursor keys are made to match what the terminal -# transmits after the :ks: string is transmitted. If the :ks: string -# is a null string or is not defined, then cursor keys are assumed to be in -# "Cursor Mode", and the cursor keys definitions should match that assumption, -# else the appication may fail. It is also expected that applications will -# always transmit the :ke: string to the terminal before they exit. -# -# The VT100 series terminals have an auxilliary keypad, commonly referred to as -# the "Numeric Keypad", because it is a cluster of numeric and function keys. -# The Numeric Keypad which can operate in two different modes: Numeric Mode and -# Application Mode. Numeric Mode is the reset state, and is assumed to be -# the normal state. Application Mode is the "set" state. In Numeric Mode, -# the numeric and punctuation keys transmit ASCII 7-bit characters, and the -# Enter key transmits the same as the Return key (Note: the Return key -# can be configured to send either LF (\015) or CR LF). In Application Mode, -# all the keypad keys transmit "Esc O {code}" sequences. The PF1 - PF4 keys -# always send the same "Esc O {code}" sequences. It is assumed that the keypad -# is normally in Numeric Mode. If an application requires that the keypad be -# in Application Mode then it is expected that the user, or the application, -# will set the TERM environment variable to point to a terminfo entry which has -# defined the :ks: string to include the codes that switch the keypad into -# Application Mode, and the terminfo entry will also define function key -# fields to match the Application Mode control codes. If the :ks: string -# is a null string or is not defined, then the keypad is assumed to be in -# Numeric Mode. If the :ks: string switches the keypad into Application -# Mode, it is expected that the :ke: string will contain the control codes -# necessary to reset the keypad to "Normal" mode, and it is also expected that -# applications which transmit the :ks: string will also always transmit the -# :ke: string to the terminal before they exit. -# -# Here's a diagram of the VT100 keypad keys with their bindings. -# The top line is the name of the key (some DEC keyboards have the keys -# labelled somewhat differently, like GOLD instead of PF1, but this is -# the most "official" name). The second line is the escape sequence it -# generates in Application Keypad mode (where "$" means the ESC -# character). The third line contains two items, first the mapping of -# the key in terminfo, and then in termcap. -# _______________________________________ -# | PF1 | PF2 | PF3 | PF4 | -# | $OP | $OQ | $OR | $OS | -# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| -# | 7 8 9 - | -# | $Ow | $Ox | $Oy | $Om | -# |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________| -# | 4 | 5 | 6 | , | -# | $Ot | $Ou | $Ov | $Ol | -# |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_| -# | 1 | 2 | 3 | | -# | $Oq | $Or | $Os | enter | -# |_ka1__K1_|_kb2__K2_|_ka3__K3_| $OM | -# | 0 | . | | -# | $Op | $On | | -# |___kc1_______K4____|_kc3__K5_|_kent_@8_| -# -# And here, for those of you with orphaned VT100s lacking documentation, is -# a description of the soft switches invoked when you do `Set Up'. -# -# Scroll 0-Jump Shifted 3 0-# -# | 1-Smooth | 1-British pound sign -# | Autorepeat 0-Off | Wrap Around 0-Off -# | | 1-On | | 1-On -# | | Screen 0-Dark Bkg | | New Line 0-Off -# | | | 1-Light Bkg | | | 1-On -# | | | Cursor 0-Underline | | | Interlace 0-Off -# | | | | 1-Block | | | | 1-On -# | | | | | | | | -# 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 <--Standard Settings -# | | | | | | | | -# | | | Auto XON/XOFF 0-Off | | | Power 0-60 Hz -# | | | 1-On | | | 1-50 Hz -# | | Ansi/VT52 0-VT52 | | Bits Per Char. 0-7 Bits -# | | 1-ANSI | | 1-8 Bits -# | Keyclick 0-Off | Parity 0-Off -# | 1-On | 1-On -# Margin Bell 0-Off Parity Sense 0-Odd -# 1-On 1-Even -# -# The following SET-UP modes are assumed for normal operation: -# ANSI_MODE AUTO_XON/XOFF_ON NEWLINE_OFF 80_COLUMNS -# WRAP_AROUND_ON JUMP_SCROLL_OFF -# Other SET-UP modes may be set for operator convenience or communication -# requirements; I recommend -# AUTOREPEAT_ON BLOCK_CURSOR MARGIN_BELL_OFF SHIFTED_3_# -# Unless you have a graphics add-on such as Digital Engineering's VT640 -# (and even then, whenever it can be arranged!) you should set -# INTERLACE_OFF -# -# (vt100: I added / based on the init string, also :bs:. -- esr) -vt100|vt100-am|dec vt100 (w/advanced video):\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt100nam|vt100-nam|vt100 no automargins:\ - :bs:ms:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt100-vb|dec vt100 (w/advanced video) & no beep:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# Ordinary vt100 in 132 column ("wide") mode. -vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video):\ - :am:bs:ms:xn:xo:\ - :co#132:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin):\ - :bs:ms:xo:\ - :co#132:it#8:li#14:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# vt100 with no advanced video. -vt100-nav|vt100 without advanced video option:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:sg#1:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:up=\E[A: -vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option):\ - :am:bs:ms:xn:xo:\ - :co#132:it#8:li#14:sg#1:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:up=\E[A: - -# vt100 with one of the 24 lines used as a status line. -# We put the status line on the top. -vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline:\ - :am:bs:es:hs:ms:xn:xo:\ - :co#80:it#8:li#23:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2;1H\E[J:\ - :cm=\E[%i%+^A;%dH:cr=^M:cs=\E[%i%i%d;%dr:ct=\E[3g:do=^J:\ - :ds=\E7\E[1;24r\E8:eA=\E(B\E)0:fs=\E8:ho=\E[2;1H:\ - :is=\E7\E[2;24r\E8:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[1;%dH\E[1K:ue=\E[m:up=\E[A:us=\E[4m: - -# Status line at bottom. -# Clearing the screen will clobber status line. -vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline:\ - :am:bs:es:hs:ms:xn:xo:\ - :co#80:it#8:li#23:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :ds=\E7\E[1;24r\E8:eA=\E(B\E)0:fs=\E8:ho=\E[H:\ - :is=\E[1;23r\E[23;1H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[24;%dH\E[1K:ue=\E[m:up=\E[A:us=\E[4m: - -# Most of the `vt100' emulators out there actually emulate a vt102 -# This entry (or vt102-nsgr) is probably the right thing to use for -# these. -vt102|dec vt102:\ - :am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ - :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt102-w|dec vt102 in wide mode:\ - :am:bs:mi:ms:xn:xo:\ - :co#132:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ - :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :r3=\E[?3h:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# Many brain-dead PC comm programs that pretend to be `vt100-compatible' -# fail to interpret the ^O and ^N escapes properly. Symptom: the :me: -# string in the canonical vt100 entry above leaves the screen littered -# with little snowflake or star characters (IBM PC ROM character \017 = ^O) -# after highlight turnoffs. This entry should fix that, and even leave -# ACS support working, at the cost of making multiple-highlight changes -# slightly more expensive. -# From: Eric S. Raymond July 22 1995 -vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes):\ - :am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ - :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: - -# VT125 Graphics CRT. Clear screen also erases graphics -vt125|vt125 graphics terminal:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J\EPpS(E)\E\\:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:do=^J:eA=\E(B\E)0:ho=\E[H:\ - :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ - :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# This isn't a DEC entry, it came from University of Wisconsin. -# (vt131: I added / based on the init string, also :bs: -- esr) -vt131|dec vt131:\ - :am:bs:xn:\ - :co#80:it#8:li#24:vt#3:\ - :RA=\E[?7h:SA=\E[?7h:bl=^G:cd=50\E[J:ce=3\E[K:\ - :cl=50\E[;H\E[2J:cm=5\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :do=^J:ho=\E[H:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=2\E[5m:md=2\E[1m:\ - :me=2\E[m:mr=2\E[7m:nd=2\E[C:nw=^M^J:\ - :r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\ - :se=2\E[m:so=2\E[7m:sr=5\EM:ta=^I:ue=2\E[m:up=2\E[A:\ - :us=2\E[4m: - -# vt132 - like vt100 but slower and has ins/del line and such. -# I'm told that :im:/:ei: are backwards in the terminal from the -# manual and from the ANSI standard, this describes the actual -# terminal. I've never actually used a vt132 myself, so this -# is untested. -# -vt132|DEC vt132:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4h:\ - :ho=\E[H:im=\E[4l:ip=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# This vt220 description maps F5--F9 to the second block of function keys -# at the top of the keyboard. The "DO" key is used as F10 to avoid conflict -# with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. -# PF1--PF4 are used as F1--F4. -# -vt220-old|vt200-old|DEC VT220 in vt100 emulation mode:\ - :am:bs:mi:pt:xn:xo:\ - :co#80:li#24:vt#3:\ - :@7=\E[4~:RA=\E[?7l:SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:k9=\E[21~:\ - :k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:\ - :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=20\ED:so=\E[7m:sr=14\EM:ta=^I:\ - :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: - -# A much better description of the VT200/220; used to be vt220-8 -vt220|vt200|dec vt220:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: -vt220-w|vt200-w|DEC vt220 in wide mode:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#132:it#8:li#24:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:r3=\E[?3h:\ - :rc=\E8:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ - :ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: -vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :%0=\23329~:%1=\23328~:*6=\2334~:@0=\2331~:AL=\233%dL:\ - :DC=\233%dP:DL=\233%dM:DO=\233%dB:F1=\23323~:F2=\23324~:\ - :F3=\23325~:F4=\23326~:F7=\23331~:F8=\23332~:F9=\23333~:\ - :FA=\23334~:IC=\233%d@:LE=\233%dD:RA=\233?7l:RI=\233%dC:\ - :SA=\233?7h:UP=\233%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\233L:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ - :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:dl=\233M:do=^J:eA=\E)0:ec=\233%dX:\ - :ei=\2334l:ho=\233H:if=/usr/share/tabset/vt100:\ - :im=\2334h:is=\233?7h\233>\233?1h\E F\233?4l:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k6=\23317~:k7=\23318~:k8=\23319~:\ - :k9=\23320~:k;=\23321~:kI=\2332~:kN=\2336~:kP=\2335~:\ - :kb=^H:kd=\233B:kh=\233H:kl=\233D:kr=\233C:ku=\233A:l1=pf1:\ - :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\2335m:md=\2331m:me=\233m:\ - :mr=\2337m:nd=\233C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:\ - :r1=\233?3l:rc=\E8:sc=\E7:se=\23327m:sf=\ED:so=\2337m:\ - :sr=\EM:st=\EH:ta=^I:ue=\23324m:up=\233A:us=\2334m:\ - :vb=\233?5h\233?5l: - -# -# vt220d: -# This vt220 description regards F6--F10 as the second block of function keys -# at the top of the keyboard. This mapping follows the description given -# in the VT220 Programmer Reference Manual and agrees with the labeling -# on some terminals that emulate the vt220. There is no support for an F5. -# See vt220 for an alternate mapping. -# -vt220d|DEC VT220 in vt100 mode with DEC function key labeling:\ - :am:bs:mi:pt:xn:xo:\ - :co#80:li#24:vt#3:\ - :@7=\E[4~:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:RA=\E[?7l:SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ - :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=20\ED:so=\E[7m:sr=14\EM:ta=^I:\ - :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: - -vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins:\ - :5i:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ - :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko -# (not an official DEC entry!) -# The problem with real vt220 terminals is they don't send escapes when in -# in vt220 mode. This can be gotten around two ways. 1> don't send -# escapes or 2> put the vt220 into vt100 mode and use all the nifty -# features of vt100 advanced video which it then has. -# -# This entry takes the view of putting a vt220 into vt100 mode so -# you can use the escape key in emacs and everything else which needs it. -# -# You probably don't want to use this on a VMS machine since VMS will think -# it has a vt220 and will get fouled up coming out of emacs -# -# From: Alexander Latzko , 30 Dec 1996 -# (Added vt100 :rc:,:sc: to quiet a tic warning -- esr) -vt200-js|vt220-js|dec vt200 series with jump scroll:\ - :am:\ - :co#80:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:dm=:do=^J:ed=:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :nw=^M\ED:r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :rf=/usr/lib/tabset/vt100:sc=\E7:se=5\E[27m:sf=\ED:\ - :so=5\E[7m:sr=\EM:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m: - - -# This was DEC's vt320. Use the purpose-built one below instead -#vt320|DEC VT320 in vt100 emulation mode, -# use=vt220, - -# -# Use v320n for SCO's LYRIX. Otherwise, use Adam Thompson's vt320-nam. -# -vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode:\ - :5i:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ - :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# These entries are not DEC's official ones, they were purpose-built for the -# VT320. Here are the designer's notes: -# is end on a PC kbd. Actually 'select' on a VT. Mapped to -# 'Erase to End of Field'... since nothing seems to use 'end' anyways... -# khome is Home on a PC kbd. Actually 'FIND' on a VT. -# Things that use usually use tab anyways... and things that don't use -# tab usually use instead... -# kprv is same as tab - Backtab is useless... -# I left out :sa: because of its RIDICULOUS complexity, -# and the resulting fact that it causes the termcap translation of the entry -# to SMASH the 1k-barrier... -# From: Adam Thompson Sept 10 1995 -# (vt320: uncommented :fs:, comnmmented out to avoid a conflict --esr) -vt320|vt300|dec vt320 7 bit terminal:\ - :am:es:hs:mi:ms:xn:\ - :co#80:li#24:ws#80:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: -vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy:\ - :es:hs:mi:ms:xn:\ - :co#80:li#24:ws#80:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: -# We have to init 132-col mode, not 80-col mode. -vt320-w|vt300-w|dec vt320 wide 7 bit terminal:\ - :am:es:hs:mi:ms:xn:\ - :co#132:li#24:ws#132:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3h\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3h\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: -vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am:\ - :es:hs:mi:ms:xn:\ - :co#132:li#24:ws#132:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3h\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3h\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: - -# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals -# which are pretty much a superset of the VT320. They have the -# host writable status line, yet another different DRCS matrix size, -# and such, but they add the DEC Technical character set, Multiple text -# pages, selectable length pages, and the like. The difference between -# the vt330 and vt340 is that the latter has only 2 planes and a monochrome -# monitor, the former has 4 planes and a color monitor. These terminals -# support VT131 and ANSI block mode, but as with much of these things, -# termcap/terminfo doesn't deal with these features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap or terminfo entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt340: string capability "sb=\E[M" corrected to "sr"; -# also, added / based on the init string -- esr) -vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page:\ - :am:es:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ds=\E[2$~\r\E[1$}\E[K\E[$}:ei=\E[4l:\ - :fs=\E[$}:ho=\E[H:im=\E[4h:\ - :is=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=^M\ED:\ - :r1=\E[?3l:rc=\E8:rf=/usr/share/tabset/vt300:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[2$~\E[1$}\E[1;%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=200\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# DEC doesn't supply a vt400 description, so we add Daniel Glasser's -# (originally written with vt420 as its primary name, and usable for it). -# -# VT400/420 -- This terminal is a superset of the vt320. It adds the multiple -# text pages and long text pages with selectable length of the vt340, along -# with left and right margins, rectangular area text copy, fill, and erase -# operations, selected region character attribute change operations, -# page memory and rectangle checksums, insert/delete column, reception -# macros, and other features too numerous to remember right now. TERMCAP -# can only take advantage of a few of these added features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:"; -# also, added / based on the init string -- esr) -vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap:\ - :am:es:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:cd=10\E[J:ce=4\E[K:cl=10\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ds=\E[2$~\r\E[1$}\E[K\E[$}:ei=\E[4l:\ - :fs=\E[$}:ho=\E[H:ic=\E[@:im=\E[4h:\ - :is=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=^M\ED:\ - :r1=\E<\E[?3l\E[!p\E[?7h:rc=\E8:\ - :rf=/usr/share/tabset/vt300:sc=\E7:se=\E[27m:sf=\ED:\ - :so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E[2$~\E[1$}\E[1;%dH:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ - :ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# (vt420: I removed :k0:, it collided with . I also restored -# a missing :sc: -- esr) -vt420|DEC VT420:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ - :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# -# DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx) -# takes two parameters, the key and the string. Translating the key is -# straightforward (keys 1-5 are not defined on real terminals, though some -# emulators define these): -# -# if (key < 16) then value = key; -# else if (key < 21) then value = key + 1; -# else if (key < 25) then value = key + 2; -# else if (key < 27) then value = key + 3; -# else if (key < 30) then value = key + 4; -# else value = key + 5; -# -# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". -# There's no provision in terminfo for emitting a string in this format, so the -# application has to know it. -# -vt420pc|DEC VT420 w/PC keyboard:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ - :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ - :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ - :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ - :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ - :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ - :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ - :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ - :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ - :Fc=\E[36;2~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :S6=USR_TERM\:vt420pcdos\::SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ - :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ - :nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -vt420pcdos|DEC VT420 w/PC for DOS Merge:\ - :am:mi:xn:xo:\ - :co#80:li#25:vt#3:\ - :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ - :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ - :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ - :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ - :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ - :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ - :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ - :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ - :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ - :Fc=\E[36;2~:RA=\E[?7l:\ - :..S1=%?%p2%{19}%=%t\E\023\021%e%p2%{32}%<%t\E%p2%c%e%p2%{127}%=%t\E\177%e%p2%c%;:\ - :S4=\E[?1;2r\E[34h:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ - :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ - :nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ +# Note: The status-line support is buggy (dsl does not work). +kon|kon2|jfbterm|Kanji ON Linux console:\ + :am:cc@:eo:hs:mi:ms:ut:xn:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ - :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:l1=\EOP:l2=\EOQ:l3=\EOR:l4=\EOS:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -vt510|DEC VT510:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ - :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt510pc|DEC VT510 w/PC keyboard:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ - :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ - :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ - :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ - :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ - :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ - :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ - :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ - :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ - :Fc=\E[36;2~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :S6=USR_TERM\:vt420pcdos\::SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ - :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ - :nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -vt510pcdos|DEC VT510 w/PC for DOS Merge:\ - :am:mi:xn:xo:\ - :co#80:li#25:vt#3:\ - :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ - :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ - :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ - :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ - :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ - :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ - :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ - :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ - :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ - :Fc=\E[36;2~:RA=\E[?7l:\ - :..S1=%?%p2%{19}%=%t\E\023\021%e%p2%{32}%<%t\E%p2%c%e%p2%{127}%=%t\E\177%e%p2%c%;:\ - :S4=\E[?1;2r\E[34h:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ - :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ - :nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# VT520/VT525 -# -# The VT520 is a monochrome text terminal capable of managing up to -# four independent sessions in the terminal. It has multiple ANSI -# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console) -# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950, -# 925 910+, ADDS A2). This terminfo data is for the ANSI emulations only. -# -# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or -# [Alt]/[Print Screen] depending upon which keyboard and which -# terminal mode is being used. If Set-Up has been disabled or -# assigned to an unknown key, Set-Up may be entered by pressing -# [F3] as the first key after power up, regardless of keyboard type. -# (vt520: I added / based on the init string, also :sc: -- esr) -vt520|DEC VT520:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k0=\E[29~:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ - :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# (vt525: I added / based on the init string; -# removed :se:=\E[m, :ue:=\E[m, added :sc: -- esr) -vt525|DEC VT525:\ - :am:mi:xn:xo:\ - :co#80:li#24:vt#3:\ - :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ - :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :SA=\E[?7h:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ - :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ - :im=\E[4h:is=\E[1;24r\E[24;1H:k0=\E[29~:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ - :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :..px=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\:\ - :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -#### VT100 emulations -# - -# John Hawkinson tells us that the EWAN telnet for Windows -# (the best Windows telnet as of September 1995) presents the name `dec-vt100' -# to telnetd. Michael Deutschmann informs us -# that this works best with a stock vt100 entry. -dec-vt100|EWAN telnet's vt100 emulation:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996 -dec-vt220|DOS tnvt200 terminal emulator:\ - :5i:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# Zstem340 is an (IMHO) excellent VT emulator for PC's. I recommend it to -# anyone who needs PC VT340 emulation. (or anything below that level, for -# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's -# RDBM systems, it includes ReGIS and SiXel support! I'm impressed... -# I can send the address if requested. -# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr) -# From: Adam Thompson Sept 10 1995 -z340|zstem vt340 terminal emulator 132col 42line:\ - :am:es:hs:mi:ms:xn:\ - :co#132:li#42:ws#132:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: -z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins):\ - :es:hs:mi:ms:xn:\ - :co#132:li#42:ws#132:\ - :%5=^I:%8=\E[Z:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ - :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[0$}:ho=\E[H:im=\E[4h:\ - :is=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ - :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: - -# CRT is shareware. It implements some xterm features, including mouse. -crt|crt-vt220|CRT 2.3 emulating VT220:\ - :5i:am:bs:mi:ms:ut:xn:xo:\ - :Co#8:co#80:it#8:li#24:pa#64:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AB=\E[4%dm:\ - :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:Sb=\E[4%dm:Sf=\E[3%dm:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ - :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ - :rc=\E8:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ - :ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: - -# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by -# T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator -# (communication program) which supports: -# -# - Serial port connections. -# - TCP/IP (telnet) connections. -# - VT100 emulation, and selected VT200/300 emulation. -# - TEK4010 emulation. -# - File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and -# Quick-VAN). -# - Scripts using the "Tera Term Language". -# - Japanese and Russian character sets. -# -# The program does not come with terminfo or termcap entries. However, the -# emulation (testing with vttest and ncurses) is reasonably close to vt100 (no -# vt52 or doublesize character support; blinking is done with color). Besides -# the HPA, VPA extensions it also implements CPL and CNL. -# -# All of the function keys can be remapped. This description shows the default -# mapping, as installed. Both vt100 PF1-PF4 keys and quasi-vt220 F1-F4 keys -# are supported. F13-F20 are obtained by shifting F3-F10. The editing keypad -# is laid out like vt220, rather than the face codes on the PC keyboard, i.e, -# kfnd Insert -# kslt Delete -# kich1 Home -# kdch1 PageUp -# kpp End -# knp PageDown -# -# ANSI colors are implemented, but cannot be combined with video attributes -# except for reverse. -# -# No fonts are supplied with the program, so the acsc string is chosen to -# correspond with the default Microsoft terminal font. -# -# Tera Term recognizes some xterm sequences, including those for setting and -# retrieving the window title, and for setting the window size (i.e., using -# "resize -s"), though it does not pass SIGWINCH to the application if the -# user resizes the window with the mouse. -teraterm|Tera Term Pro:\ - :am:bs:km:ms:xn:\ - :Co#8:NC#43:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ - :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ - :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:K1=\EOq:K2=\EOr:\ - :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:Ic@:Ip@:K2=\E[G:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ho=\E[H:k0=\EOy:k1=\E[11~:\ - :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:op=\E[100m:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l: + :do=^J:ds=\E[?H:ec=\E[%dX:ei=\E[4l:fs=\E[?F:ho=\E[H:\ + :ic=\E[@:im=\E[4h:k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:\ + :k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB@:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc@:\ + :op=\E[37;40m:r1=\Ec:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E[?T:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb@:\ + :ve@:vi@:vs@: -# Tested with WinNT 4.0, the telnet application assumes the screensize is -# 25x80. This entry uses the 'Terminal' font, to get line-drawing characters. -ms-vt100|MS telnet imitating dec vt100:\ - :am:bs:ms:xn:xo:\ - :co#80:it#8:li#25:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ +# 16-color linux console entry; this works with a 256-character +# console font but bright background colors turn into dim ones when +# you use a 512-character console font. This uses bold for bright +# foreground colors and blink for bright background colors. +linux-16color|linux console with 16 colors:\ + :am:cc:eo:mi:ms:ut:xn:xo:\ + :Co#16:NC#54:it#8:pa#256:\ + :&7=^Z:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :S2=\E[11m:S3=\E[10m:SA=\E[?7h:UP=\E[%dA:\ :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:do=^J:eA=\E(B\E)0:\ - :ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ - :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -#### X terminal emulators -# -# You can add the following line to your .Xdefaults to change the terminal type -# set by the xterms you start up to my-xterm: -# -# *termName: my-xterm -# -# System administrators can change the default entry for xterm instances -# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm. In either -# case, xterm will detect and reject an invalid terminal type, falling back -# to the default of xterm. -# - -# X10/6.6 11/7/86, minus alternate screen, plus (csr) -# (xterm: ":MT:" changed to ":km:"; added / based on init string; -# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E) -# as these seem not to work -- esr) -x10term|vs100-x10|xterm terminal emulator (X10 window system):\ - :am:bs:km:mi:ms:xn:xo:\ - :co#80:it#8:li#65:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:RA=\E[?7l:SA=\E[?7h:\ - :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ - :cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ - :im=\E[4h:is=\E\E[m\E[?7h\E[?1;4l:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m: -# Compatible with the R5 xterm -# (from the XFree86 3.2 distribution, removed) -# added khome/kend, rmir/smir, rmul/smul based on the R5 xterm code - TD -# corrected typos in rs2 string - TD -xterm-r5|xterm R5 version:\ - :am:bs:km:ms:xn:\ - :co#80:it#8:li#24:\ - :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:\ - :im=\E[4h:k0=\EOq:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kA=\E[30~:kD=\E[3~:kE=\E[8~:kI=\E[2~:kL=\E[31~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: -# Compatible with the R6 xterm -# (from XFree86 3.2 distribution, and :it: added, removed) -# added khome/kend - TD -xterm-r6|xterm-old|xterm X11R6 version:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. -# The name has been changed and some aliases have been removed. -xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System):\ - :am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ - :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ - :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ - :IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:Km=\E[M:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ - :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ - :kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:md=\E[1m:me=\E[m\017:ml=\El:mr=\E[7m:mu=\Em:\ - :nd=\E[C:op=\E[39;49m:r1=^O:\ - :r2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ - :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\ + :r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c: -# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100 -# codes for F1-F4 except while in VT220 mode. -xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System):\ - :am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ - :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ - :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ - :IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:Km=\E[M:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ - :me=\E[m\017:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :r1=^O:r2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ - :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# This version was released in XFree86 3.3.3 (November 1998). -# Besides providing printer support, it exploits a new feature that allows -# xterm to use terminfo-based descriptions with the titeInhibit resource. -xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System):\ - :5i:am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :@1=\EOE:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ - :RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ - :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?1047l\E[?1048l:ti=\E[?1048h\E[?1047h:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h: - -# This beta version will probably be released in XFree86 4.0. -xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System):\ - :5i:am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOH:K2=\EOE:\ - :K3=\E[5~:K4=\EOF:K5=\E[6~:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ - :RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ - :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System):\ - :5i:am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOH:K2=\EOE:\ - :K3=\E[5~:K4=\EOF:K5=\E[6~:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ - :RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ - :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# From: David J. MacKenzie , 14 Nov 1997 -xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1:\ - :am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ - :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ - :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ - :IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:Km=\E[M:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ - :me=\E[m\017:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :r1=^O:r2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ - :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey) -xterm-16color|xterm with 16 colors like aixterm:\ - :5i:am:bs:km:mi:ms:ut:xn:\ - :Co#16:NC#32:co#80:it#8:li#24:pa#256:\ - :@1=\EOE:@7=\EOF:@8=\EOM:\ - :..AB=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm:\ - :..AF=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ - :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ - :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ - :K1=\EOH:K2=\EOE:K3=\E[5~:K4=\EOF:K5=\E[6~:Km=\E[M:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :..Sb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m:\ - :..Sf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ - :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ - :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ - :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - -# This is another variant, for XFree86 4.0 xterm (T.Dickey) -# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color. -# To use it, your decTerminalID resource must be set to 200 or above. +# bterm (bogl 0.1.18) +# Implementation is in bogl-term.c +# Key capabilities from linux terminfo entry # -# HTS \E H \210 -# RI \E M \215 -# SS3 \E O \217 -# CSI \E [ \233 -# -xterm-8bit|xterm terminal emulator 8-bit controls (X Window System):\ - :5i:am:bs:km:mi:ms:ut:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :@1=\217E:@7=\2334~:@8=\217M:AB=\2334%dm:AF=\2333%dm:\ - :AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:F1=\23323~:\ - :F2=\23324~:F3=\23325~:F4=\23326~:F5=\23328~:F6=\23329~:\ - :F7=\23331~:F8=\23332~:F9=\23333~:FA=\23334~:IC=\233%d@:\ - :K1=\217w:K2=\217y:K3=\217u:K4=\217q:K5=\217s:Km=\233M:\ - :LE=\233%dD:RA=\233?7l:RI=\233%dC:SA=\233?7h:\ - :..Sb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\233%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\233L:as=^N:bl=^G:bt=\233Z:cb=\2331K:cd=\233J:\ - :ce=\233K:ch=\233%i%dG:cl=\233H\2332J:cm=\233%i%d;%dH:\ - :cr=^M:cs=\233%i%d;%dr:ct=\2333g:cv=\233%i%dd:dc=\233P:\ - :dl=\233M:do=^J:eA=\E(B\E)0:ec=\233%dX:ei=\2334l:ho=\233H:\ - :im=\2334h:\ - :is=\E7\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>:\ - :k1=\23311~:k2=\23312~:k3=\23313~:k4=\23314~:k5=\23315~:\ - :k6=\23317~:k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:\ - :kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\217B:\ - :ke=\233?1l\E>:kh=\2331~:kl=\217D:kr=\217C:ks=\233?1h\E=:\ - :ku=\217A:le=^H:mb=\2335m:md=\2331m:me=\233m^O:mk=\2338m:\ - :ml=\El:mr=\2337m:mu=\Em:nd=\233C:op=\23339;49m:pf=\2334i:\ - :po=\2335i:ps=\233i:r1=\Ec:\ - :r2=\E7\E[62"p\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>:\ - :rc=\E8:\ - :..sa=\2330%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\23327m:sf=^J:so=\2337m:sr=\215:st=\210:ta=^I:\ - :te=\233?1049l:ti=\233?1049h:u6=\233[%i%d;%dR:u7=\E[6n:\ - :u8=\233[?1;2c:u9=\E[c:ue=\23324m:up=\233A:us=\2334m:\ - :vb=\233?5h\233?5l:ve=\233?25h:vi=\233?25l:vs=\233?25h: - -xterm-24|vs100|xterms|xterm terminal emulator (X Window System):\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# This is xterm for ncurses. -xterm|xterm terminal emulator (X Window System):\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:@7=\EOF:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# These entries allow access to the X titlebar and icon name as a status line. -# Note that twm (and possibly window managers descended from it such as tvtwm, -# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess -# with it. -xterm+sl|access X title line and icon name:\ - :am:bs:hs:km:mi:ms:xn:\ - :co#80:it#8:li#24:ws#40:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ - :me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -xterm+sl-twm|access X title line (pacify twm-descended window managers):\ - :am:bs:hs:km:mi:ms:xn:\ - :co#80:it#8:li#24:ws#40:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ds=\E]2;\007:eA=\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ - :me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# -# The following xterm variants don't depend on your base version -# -# xterm with bold instead of underline -xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[1m: -# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) -# (kterm should not invoke DEC Graphics as the alternate character set -# -- Kenji Rikitake) -kterm|kterm kanji terminal emulator (X window system):\ - :am:bs:es:hs:km:mi:ms:xn:\ - :Co#8:NC#3:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[?H:ei=\E[4l:fs=\E[?F:\ - :ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:ts=\E[?E\E[?%i%dT:u6=\E[%i%d;%dR:\ - :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -xterm-nic|xterm with ich/ich1 suppressed for non-curses programs:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -# From: Mark Sheppard , 4 May 1996 -xterm1|xterm terminal emulator ignoring the alternate screen buffer:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:u6=\E[%i%d;%dR:\ - :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# This describes the capabilities of color_xterm, an xterm variant from -# before ECMA-64 color support was folded into the main-line xterm release. -# This entry is straight from color_xterm's maintainer. -# From: Jacob Mandelson , 09 Nov 1996 -# The README's with the distribution also say that it supports SGR 21, 24, 25 -# and 27, but they are not present in the terminfo or termcap. -color_xterm|cx|cx100|color_xterm color terminal emulator for X:\ - :am:bs:km:mi:ms:xn:\ - :Co#8:co#80:it#8:li#65:pa#64:\ - :@7=\E[8~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:\ - :i1=\E[r\E[m\E[?7h\E[?4;6l\E[4l:im=\E[4h:k1=\E[11~:\ - :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:kh=\E[7~:kl=\EOD:kr=\EOC:\ - :ku=\EOA:le=^H:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :op=\E[39;49m:\ - :r1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<:\ - :rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :te=\E>\E[?41;1r:ti=\E[?1;41s\E[?1;41h\E=:ue=\E[24m:\ - :up=\E[A:us=\E[4m: - -# The 'nxterm' distributed with Redhat Linux is a slight rehack of -# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support -# SGR 39 or 49. SGR 0 does reset colors (along with everything else). This -# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except -# that each of those implements the home, end, delete keys differently. -nxterm|xterm-color|generic color xterm:\ - :am:bs:km:mi:ms:xn:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ - :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[m:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# From: Thomas Dickey 04 Oct 1997 -# Updated: Oezguer Kesim 02 Nov 1997 # Notes: -# rxvt 2.21b uses -# smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O, -# but some applications don't work with that. -# It also has an AIX extension -# box2=lqkxjmwuvtn, -# and -# ech=\E[%p1%dX, -# but the latter does not work correctly. -# -# The distributed terminfo says it implements hpa and vpa, but they are not -# implemented correctly, using relative rather than absolute positioning. -# -# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. -# Since rxvt is not really compatible with xterm, it should be configured as -# "rxvt" (monochrome) and "rxvt-color". -rxvt|rxvt terminal base (X Window System):\ - :am:bs:eo:km:mi:ms:ut:xn:xo:\ - :co#80:it#8:li#24:\ - :#2=\E[7$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:*4=\E[3$:\ - :*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ +# bterm only supports acs using wide-characters, has case for these: qjxamlkut +# bterm does not support sgr, since it only processes one parameter -TD +bterm|bogl virtual terminal:\ + :am:ut:\ + :Co#8:co#80:li#24:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ - :K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ - :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ - :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8^:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m\017:\ - :mr=\E[7m:nd=\E[C:\ - :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ - :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>:\ - :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ - :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: -rxvt-color|rxvt terminal emulator (X Window System):\ - :am:bs:eo:km:mi:ms:ut:xn:xo:\ - :Co#8:co#80:it#8:li#24:pa#64:\ - :#2=\E[7$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:*4=\E[3$:\ - :*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:AB=\E[%+(m:\ - :AF=\E[%+^^m:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ - :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ - :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ - :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ - :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8^:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:\ - :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mr=\E[7m:nd=\E[C:op=\E[39;49m:\ - :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ - :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>:\ - :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ - :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :F8=\E[32~:F9=\E[33~:FA=\E[34~:K2=\E[G:Km=\E[M:\ + :ac=aajjkkllmmqqttuuxx:ae=^O:as=^N:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:do=^J:ho=\E[H:k1=\E[[A:\ + :k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0m:mr=\E[7m:nw=^M^J:\ + :op=\E49;39m:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ue=\E[24m:\ + :us=\E[4m:ve=\E[?25h:vi=\E[?25l: -# These (xtermc and xtermm) are distributed with Solaris. They refer to a -# variant of xterm which is apparently no longer supported, but are interesting -# because they illustrate SVr4 curses mouse controls - T.Dickey -xtermm|xterm terminal emulator (monocrome):\ - :am:bs:km:mi:ms:xn:\ - :BT#3:co#80:it#8:li#24:\ - :@7=\E[Y:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\EOZ:F2=\EOA:Gm=\E[%dY:IC=\E[%d@:K1=\EOq:K2=\EOr:\ - :K3=\EOs:K4=\EOp:K5=\EOn:Km=\E[^_:LE=\E[%dD:RI=\E[%dC:\ - :RQ=\E[492Z:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=:ho=\E[H:\ - :ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kN=\E[U:\ - :kP=\E[V:kb=^H:kd=\EOB:kh=\E[H:kl=\EOD:kr=\EOC:ku=\EOA:\ - :le=\E[1D:mb=@:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ - :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E@0\E[?4r:ti=\E@0\E[?4s\E[?4h\E@1:up=\E[A: - -xtermc|xterm terminal emulator (color):\ - :am:bs:km:mi:ms:xn:\ - :BT#3:Co#8:NC#7:co#80:it#8:li#24:pa#64:\ - :@7=\E[Y:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:F2=\EOA:Gm=\E[%dY:\ - :IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :Km=\E[^_:LE=\E[%dD:RI=\E[%dC:RQ=\E[492Z:\ - :..Sb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :..Sf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=:ho=\E[H:\ - :ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kN=\E[U:\ - :kP=\E[V:kb=^H:kd=\EOB:kh=\E[H:kl=\EOD:kr=\EOC:ku=\EOA:\ - :le=\E[1D:mb=@:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :op=\E[100m:\ - :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ - :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E@0\E[?4r:ti=\E@0\E[?4s\E[?4h\E@1:up=\E[A: - -# From: David J. MacKenzie 20 Apr 1995 -# Here's a termcap entry I've been using for xterm_color, which comes -# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the -# color stuff, I also have a status line defined as the window manager -# title bar. [I have translated it to terminfo -- ESR] -xterm-pcolor|xterm with color used for highlights and status line:\ - :am:bs:hs:km:mi:ms:xn:\ - :co#80:it#8:li#24:ws#40:\ - :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ - :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ - :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :md=\E[1m\E[43m:me=\E[m:ml=\El:mr=\E[7m\E[34m:mu=\Em:\ - :nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m\E[31m:sr=\EM:ta=^I:\ - :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ts=\E]0;:\ - :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ - :up=\E[A:us=\E[4m\E[42m: - -# HP ships this, except for the pb#9600 which was merged in from BSD termcap. -# (hpterm: added empty , we have no idea what ACS chars look like --esr) -hpterm|X-hpterm|hp X11 terminal emulator:\ - :am:da:db:mi:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#9600:sg#0:ug#0:\ - :LF=\E&j@:LO=\E&jB:ac=:ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:\ - :cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:\ - :cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kC=\EJ:kD=\EP:kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:\ - :kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:\ - :ku=\EA:le=^H:md=\E&dB:me=\E&d@:mh=\E&dH:ml=\El:mr=\E&dB:\ - :mu=\Em:nd=\EC:..pk=\E&f%p1%dk%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk%p2%l%dL%p2%s:\ - :..pn=\E&f%p1%dk%p2%l%dd0L%p2%s:\ - :..px=\E&f2a%p1%dk%p2%l%dL%p2%s:\ - :..sa=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=^I:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# This entry describes an xterm with Sun-style function keys enabled -# via the X resource setting "xterm*sunFunctionKeys:true" -# To understand / note that L1,L2 and F11,F12 are the same. -# The ... keys are L3-L10. We don't set -# because we want it to be seen as . -# The ... keys are R1-R15. We treat some of these in accordance -# with their Sun keyboard labels instead. -# From: Simon J. Gerraty 10 Jan 1996 -xterm-sun|xterm with sunFunctionKeys true:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :%1=\E[196z:&8=\E[195z:*6=\E[4~:@0=\E[200z:@5=\E[197z:\ - :@7=\E[220z:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[192z:F2=\E[193z:F3=\E[194z:F4=\E[195z:F5=\E[196z:\ - :F6=\E[29~:F7=\E[198z:F8=\E[199z:F9=\E[200z:FA=\E[201z:\ - :FL=\E[208z:FM=\E[209z:FN=\E[210z:FO=\E[211z:FP=\E[212z:\ - :FQ=\E[213z:FS=\E[215z:FU=\E[217z:FW=\E[219z:FY=\E[221z:\ - :K2=\E[218z:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\E[3~:kI=\E[2z:kN=\E[222z:kP=\E[216z:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kh=\E[214z:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:\ - :nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: -xterms-sun|small (80x24) xterm with sunFunctionKeys true:\ - :am:bs:km:mi:ms:xn:\ - :co#80:it#8:li#24:\ - :%1=\E[196z:&8=\E[195z:*6=\E[4~:@0=\E[200z:@5=\E[197z:\ - :@7=\E[220z:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[192z:F2=\E[193z:F3=\E[194z:F4=\E[195z:F5=\E[196z:\ - :F6=\E[29~:F7=\E[198z:F8=\E[199z:F9=\E[200z:FA=\E[201z:\ - :FL=\E[208z:FM=\E[209z:FN=\E[210z:FO=\E[211z:FP=\E[212z:\ - :FQ=\E[213z:FS=\E[215z:FU=\E[217z:FW=\E[219z:FY=\E[221z:\ - :K2=\E[218z:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ - :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\E[3~:kI=\E[2z:kN=\E[222z:kP=\E[216z:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kh=\E[214z:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:\ - :nd=\E[C:rc=\E8:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:\ - :ti=\E7\E[?47h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ - :u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: - -# This is for the extensible terminal emulator on the X11R6 contrib tape. -emu|emu native mode:\ - :mi:ms:xo:\ - :Co#15:co#80:it#8:li#24:pa#64:vt#200:\ - :*6=\Esel:@0=\Efind:@8=^M:AB=\Es%i%d;:AF=\Er%i%d;:\ - :AL=\EQ%d;:DC=\EI%d;:DL=\ER%d;:DO=\Ep%d;:F1=\EF11:\ - :F2=\EF12:F3=\EF13:F4=\EF14:F5=\EF15:F6=\EF16:F7=\EF17:\ - :F8=\EF18:F9=\EF19:FA=\EF20:LE=\Eq-%d;:RI=\Eq%d;:\ - :UP=\Ep-%d;:\ - :ac=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244:\ - :ae=\0:al=\EQ1;:as=\0:bl=^G:cb=\EL:cd=\EN:ce=\EK:\ - :cl=\EP\EE0;0;:cm=\EE%d;%d;:cr=^M:cs=\Ek%d;%d;:ct=\Ej:\ - :dc=\EI1;:dl=\ER1;:do=\EB:eA=\0:ec=\Ej%d;:ei=\EX:\ - :ho=\EE0;0;:im=\EY:is=\ES\Er0;\Es0;:k0=\EF00:k1=\EF01:\ - :k2=\EF02:k3=\EF03:k4=\EF04:k5=\EF05:k6=\EF06:k7=\EF07:\ - :k8=\EF08:k9=\EF09:k;=\EF10:kD=\177:kI=\Eins:kN=\Enext:\ - :kP=\Eprior:kb=^H:kd=\EB:kl=\EC:kr=\ED:ku=\EA:le=^H:\ - :mb=\ES\EW:md=\ES\EU:me=\ES:mr=\ES\ET:nd=\ED:\ - :oc=\Es0;\Er0;:rs=\ES\Es0;\Er0;:se=\ES:sf=\EG:so=\ES\ET:\ - :sr=\EF:st=\Eh:ta=^I:ue=\ES:up=\EA:us=\ES\EV:ve=\Ea:vi=\EZ:\ - :vs=\Ea: - -######## COMMERCIAL WORKSTATION CONSOLES +#### Mach # -#### Alpha consoles +# From: Matthew Vernon +mach|Mach Console:\ + :am:km:\ + :co#80:it#8:li#25:\ + :@7=\E[Y:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:kN=\E[U:kP=\E[V:\ + :kb=\177:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:se=\E[0m:\ + :sf=^J:so=\E[7m:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m: +mach-bold|Mach Console with bold instead of underline:\ + :am:km:\ + :co#80:it#8:li#25:\ + :@7=\E[Y:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:kN=\E[U:kP=\E[V:\ + :kb=\177:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:se=\E[0m:\ + :sf=^J:so=\E[7m:ta=^I:ue=\E[0m:up=\E[A:us=\E[1m: +mach-color|Mach Console with ANSI color:\ + :am:km:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@7=\E[Y:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:\ + :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:\ + :k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:\ + :kN=\E[U:kP=\E[V:kb=\177:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[27m:sf=^J:\ + :so=\E[7m:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m: + +# From: Marcus Brinkmann +# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/ +# +# Comments in the original are summarized here: +# +# hurd uses 8-bit characters (km). +# +# Although it doesn't do XON/XOFF, we don't want padding characters (xon). +# +# Regarding compatibility to vt100: hurd doesn't specify :xn:, as we don't +# have the eat_newline_glitch. It doesn't support setting or removing tab +# stops (hts/tbc). +# +# hurd uses ^H instead of \E[D for cub1, as only ^H implements :bw: and it is +# one byte instead three. +# +# :ic: is not included because hurd has insert mode. +# +# hurd doesn't use ^J for scrolling, because this could put things into the +# scrollback buffer. +# +# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode. +# This is a GNU extension. +# +# The original has commented-out ncv, but is restored here. +# +# Reading the source, RIS resets cnorm, but not xmous. +hurd|The GNU Hurd console server:\ + :am:bw:eo:km:mi:ms:ut:xo:\ + :Co#8:NC#18:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZH=\E[3m:\ + :ZR=\E[23m:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\Ec:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=\177:kd=\EOB:kh=\E[1~:kl=\EOD:kr=\EOC:ku=\EOA:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:r1=\EM\E[?1000l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\Eg:ve=\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +#### OSF Unix # -# This is from the OSF/1 Release 1.0 termcap file -pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation:\ - :am:xo:\ - :co#80:li#25:\ - :al=\E[L:bl=^G:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:ic=\E[@:im=:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:\ - :nd=\E[C:nw=^M^J:se=\E[m:so=\E[7m:ta=^I:up=\E[A: +# OSF/1 1.1 Snapshot 2 +pmcons|pmconsole|PMAX console:\ + :am:\ + :co#128:li#57:\ + :bl=^G:cl=^L:cr=^M:do=^J:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:sf=^J:ta=^I:up=^K: -#### AT&T consoles +# SCO console and SOS-Syscons console for 386bsd +# (scoansi: had unknown capabilities +# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ +# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: +# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ +# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ +# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ +# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based +# on the :as:=\E[12m -- esr) # +# klone+sgr-dumb is an error since the acsc does not match -TD +# +# In this description based on SCO's keyboard(HW) manpage list of default +# function key values: +# F13-F24 are shifted F1-F12 +# F25-F36 are control F1-F12 +# F37-F48 are shift+control F1-F12 +# +# hpa/vpa work in the console, but not in scoterm: +# hpa=\E[%p1%dG, +# vpa=\E[%p1%dd, +# +# SCO's terminfo uses +# kLFT=\E[d, +# kRIT=\E[c, +# which do not work (console or scoterm). +# +# Console documents only 3 attributes can be set with SGR (so we don't use sgr). +scoansi-old|SCO Extended ANSI standard crt (5.0.5):\ + :am:bs:eo:ut:xo:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:S1=\E[=%dg:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+/,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207:\ + :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[m\E[J:ce=\E[m\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0;37;40m:rc=\E8:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ + :ve=\E[=10;12C:vi=\E[=14;12C:vs=\E[=0;12C: +scoansi-new|SCO Extended ANSI standard crt (5.0.6):\ + :am:bs:eo:km:ut:xo:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:LE=\E[%dD:MC=\E[=r:MR=\E[=3;0m:RA=\E[?7l:\ + :RI=\E[%dC:S1=\E[=%dg:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:Zk=\E[=1;0m:Zl=\E[=1;%i%dm:Zm=\E[=2;%i%dm:\ + :Zn=\E[=3;%i%dm:Zo=\E[=0;0m:Zp=\E[=0;%i%dm:\ + :ac=+/,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207:\ + :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[m\E[J:ce=\E[m\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ + :cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ + :ic=\E[@:im=:k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:\ + :k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ + :mk=\E[8m:mm=\E[=10L:mo=\E[=11L:mr=\E[7m:nd=\E[C:\ + :oc=\E[51m:op=\E[50m:rc=\E8:rp=\E[%d;%db:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m:ve=\E[=1c:vi=\E[=0c:vs=\E[=2c: +# make this easy to change... +scoansi|SCO Extended ANSI standard crt:\ + :am:bs:eo:ut:xo:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:S1=\E[=%dg:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+/,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207:\ + :ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[m\E[J:ce=\E[m\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0;37;40m:rc=\E8:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ + :ve=\E[=10;12C:vi=\E[=14;12C:vs=\E[=0;12C: # This actually describes the generic SVr4 display driver for Intel boxes. # The :mh=\E[2m: isn't documented and therefore may not be reliable. @@ -4073,16 +1627,15 @@ att6386|at386|386at|AT&T WGS 6386 console:\ :ac=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~:\ :ae=\E[10m:al=\E[1L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:\ :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E[2g:cv=\E[%i%dd:dc=\E[P:dl=\E[1M:do=\E[B:ec=\E[%dX:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[1M:do=\E[B:ec=\E[%dX:\ :ei=:ho=\E[H:ic=\E[1@:im=:is=\E[0;10;39m:k1=\EOP:k2=\EOQ:\ :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ :k;=\EOY:kB=^]:kD=\E[P:kI=\E[@:kM=\E0:kN=\E[U:kP=\E[V:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:\ :md=\E[1m:me=\E[0;10m:mh=\E[2m:mk=\E[9m:mr=\E[7m:nd=\E[C:\ - :nw=\r\E[S:op=\E[37;40m:rc=\E8:\ - :..sa=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m:\ - :sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=1C:vi=\E[=C: + :nw=\r\E[S:op=\E[37;40m:rc=\E8:sc=\E7:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ + :ve=\E[=1C:vi=\E[=C: # (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr) pc6300plus|AT&T 6300 plus:\ :am:bs:xo:\ @@ -4102,14 +1655,14 @@ pc6300plus|AT&T 6300 plus:\ # Unfortunately, the UNIX PC terminfo entry that comes with ncurses # is broken. All the special key sequences are broken, making it unusable # with Emacs. The problem stems from the following: -# +# # The UNIX PC has a plethora of keys (103 of them, and there's no numeric # keypad!), loadable fonts, and strange highlighting modes ("dithered" # half-intensity, "smeared" bold, and real strike-out, for example.) It also # uses resizable terminal windows, but the bundled terminal program always # uses an 80x24 window (and doesn't support seem to support a 132-column -# mode.) -# +# mode.) +# # HISTORY: The UNIX PC was one of the first machines with a GUI, and used a # library which was a superset of SVr3.5 curses (called tam, for "terminal # access method".) tam includes support for real, overlapping windows, @@ -4125,44 +1678,44 @@ pc6300plus|AT&T 6300 plus:\ # (If you're interested in adding some of the tam calls to ncurses, btw, I # have the full documentation and several programs which use tam. It also # used an extended terminfo format to describe key sequences, special -# highlighting modes, etc.) -# +# highlighting modes, etc.) +# # KEYS: This means that ncurses would quite painful on the UNIX PC, since # there are two sequences for every key-modifier combination (local keyboard # sequence and remote "VT100" sequence.) But I doubt many people are trying # to use ncurses on the UNIX PC, since ncurses doesn't properly handle the -# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) -# seem to have been built from the manual describing the VT100 sequences. -# This means it doesn't work for a real live UNIX PC. -# +# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) +# seem to have been built from the manual describing the VT100 sequences. +# This means it doesn't work for a real live UNIX PC. +# # FONTS: The UNIX PC also has a strange interpretation of "alternate # character set". Rather than the VT100 graphics you might expect, it allows # up to 8 custom fonts to be loaded at any given time. This means that # programs expecting VT100 graphics will usually be disappointed. For this # reason I have disabled the smacs/rmacs sequences, but they could easily be -# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) -# manpage), should you wish to do so: -# +# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) +# manpage), should you wish to do so: +# # SGR10 - Select font 0 - ESC [ 10 m or SO # SGR11 - Select font 1 - ESC [ 11 m or SI # SGR12 - Select font 2 - ESC [ 12 m # ... (etc.) # SGR17 - Select font 7 - ESC [ 17 m -# +# # Graphics for line drawing are not reliably found at *any* character # location because the UNIX PC has dynamically reloadable fonts. I use font # 0 for regular text and font 1 for italics, but this is by no means # universal. So ASCII line drawing is in order if smacs/rmacs are enabled. -# +# # MISC: The cursor visible/cursor invisible sequences were swapped in the # distributed terminfo. -# +# # To ameliorate these problems (and fix a few highlighting bugs) I rewrote # the UNIX PC terminfo entry. The modified version works great with Lynx, # Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC # attached by serial cable. In Emacs, even the Undo key works, and many -# applications can now use the F1-F8 keys. -# +# applications can now use the F1-F8 keys. +# # esr's notes: # Terminfo entry for the AT&T Unix PC 7300 # from escape(7) in Unix PC 7300 Manual. @@ -4177,8 +1730,8 @@ pc6300plus|AT&T 6300 plus:\ # * into font memory slot #1. Once the font has been loaded, # * it can be used as an alternative character set. # * -# * The call to ioctl with the argument WIOCLFONT is the key -# * to this routine. For more information, see window(7) in +# * The call to ioctl with the argument WIOCLFONT is the key +# * to this routine. For more information, see window(7) in # * the PC 7300 documentation. # ***************************************************************/ # #include /* needed for strcpy call */ @@ -4193,7 +1746,7 @@ pc6300plus|AT&T 6300 plus:\ # * cfont . For further information on fonts see # * cfont(1) in the PC 7300 documentation. # */ -# +# # struct altfdata /* structure for alt font data */ # { # short altf_slot; /* memory slot number */ @@ -4234,72 +1787,6 @@ att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300:\ :nd=\E[C:nw=\EE:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ue=\E[m:\ :up=\E[A:us=\E[4m:ve=\E[=0C:vi=\E[=1C: -#### Hewlett-Packard consoles -# -# These are descriptions for the HP700 series, the workstations formerly -# known as Apollos. HP terminals are described elsewhere in the file -# - -# From: Victor Duchovni -# (hp700-wy: removed obsolete ":nl=^J:"; -# replaced /usr/share/tabset/hp700-wy with std because :it#8:,:st=\E1: -- esr) -hp700-wy|HP700/41 emulating wyse30:\ - :am:bs:bw:mi:ms:\ - :co#80:it#8:li#24:sg#1:ug#1:\ - :al=0.7*\EE:bt=\EI:cd=\EY:ce=10\ET:cl=^Z:cm=\E=%+ %+ :\ - :cr=^M:ct=\E0:cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ei=\Er:ho=^^:\ - :i1=\E~"\EC\Er\E(\EG0\003\E`9\E`1:\ - :if=/usr/share/tabset/stdcrt:im=\Eq:kB=\EI:kC=^Z:kE=\ET:\ - :kI=\Eq:kM=\Er:kS=\EY:kT=\EI:kb=\177:kd=^V:kh=^^:kl=^H:kr=^L:\ - :ku=^K:le=^H:ll=^^^K:me=10\EG0:nd=^L:se=10\EG0:so=10\EG4:\ - :sr=\Ej:st=\E1:ta=^I:ue=10\EG0:up=^K:us=10\EG8: -hp70092|hp70092a|hp70092A|HP 700/92:\ - :am:da:db:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:\ - :LF=\E&j@:LO=\E&jB:ac=0cjgktlrmfn/q,t5u6v8w7x.:ae=^O:\ - :al=\EL:as=^N:bl=^G:bt=\Ei:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ - :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ - :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:mb=\E&dA:\ - :md=\E&dB:me=\E&d@:mh=\E&dH:mr=\E&dB:nd=\EC:se=\E&d@:\ - :so=\E&dJ:sr=\ET:st=\E1:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: - -# HP 700/44 Setup parameters: -# Terminal Mode HP-PCterm -# Inhibit Auto Wrap NO -# Status Line Host Writable -# PC Character Set YES -# Twenty-Five Line Mode YES -# XON/XOFF @128 or 64 (sc) -# Keycode Mode NO or YES (sc) -# Backspace Key BS or BS/DEL -# -# :is: sets pcterm; autowrap; 25 lines; pc char set; prog DEL key; -# \E\\? does not turn off keycode mode -# sets alternate start/stop; keycode on -hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode:\ - :am:eo:xn:xo:\ - :co#80:li#25:\ - :@7=\E[4~:RA=\E[?7l:S4=\E[>11h\EPO**x0/65;1/67\E\\:\ - :S5=\E[>11l\EP1**x0/11;1/13\E[m\E\\:SA=\E[?7h:XF=g:XN=e:\ - :ac=k\277l\332m\300j\331n\305w\302q\304u\264t\303v\301x\263:\ - :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ - :ic=\E[@:im=:\ - :is=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\:\ - :k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ - :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ - :kB=\E[Z:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:me=\E[m:nd=\E[C:se=\E[m:sf=^J:\ - :so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ - :vi=\E[?25l: - -#### Iris consoles -# - # Sent by Stefan Stapelberg , 24 Feb 1997, this is # from SGI's terminfo database. SGI's entry shows F9-F12 with the codes # for the application keypad mode. We have added iris-ansi-ap rather than @@ -4333,7 +1820,6 @@ hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode:\ # # control-tab \[072q # -# iris-ansi-net alias helps with IRIX does when you rsh to a remote system. iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100):\ :am:\ :co#80:it#8:li#40:\ @@ -4397,11 +1883,8425 @@ iris-color|xwsh|IRIX ANSI with color:\ :up=\E[A:us=\E[4m:ve=\E[9/y\E[12/y\E[=6l:\ :vs=\E[10/y\E[=1h\E[=2l\E[=6h: +# The following is a version of the ibm-pc entry distributed with PC/IX, +# (Interactive Systems' System 3 for the Big Blue), modified by Richard +# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, +# (the former is untrue, and the latter failed under UCB/man); standout and +# underline modes have been added. Note: this entry describes the "native" +# capabilities of the PC monochrome display, without ANY emulation; most +# communications packages (but NOT PC/IX connect) do some kind of emulation. +pcix|PC/IX console:\ + :am:bw:eo:\ + :co#80:li#24:\ + :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[H:\ + :le=^H:me=\E[m:nd=\E[C:se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +# (ibmpcx: this entry used to be known as ibmx. +# It formerly included the following extension capabilities: +# :GC=b:GL=v:GR=t:RT=^J:\ +# :GH=\E[196g:GV=\E[179g:\ +# :GU=\E[193g:GD=\E[194g:\ +# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ +# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ +# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ +# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate +# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match +# what was there before. -- esr) +ibmpcx|xenix|ibmx|IBM PC xenix console display:\ + :am:bs:ms:\ + :co#80:li#25:\ + :@7=\E[d:S2=\E[11m:S3=\E[10m:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:\ + :im=:k1=\E[K:k2=\E[L:k3=\E[M:k4=\E[N:kN=\E[e:kP=\E[Z:kb=^H:\ + :kd=\E[B:kh=\E[Y:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:\ + :so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m: + +#### QNX +# + +# QNX 4.0 Console +# Michael's original version of this entry had , :ti=\Ei:, +# :te=\Eh\ER:; this was so terminfo applications could write the lower +# right corner without triggering a scroll. The ncurses terminfo library can +# handle this case with the :ic: capability, and prefers :am: for better +# optimization. Bug: The capability resets attributes. +# From: Michael Hunter 30 Jul 1996 +# (removed: :sa=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,:) +qnx|qnx4|qnx console:\ + :YA:YC:km:mi:ms:xt:\ + :Co#8:NC#3:co#80:it#4:li#25:pa#8:\ + :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ + :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ + :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ + :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ + :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ + :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ + :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ + :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ + :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:Zc=\E!%02:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:ic=\Ee:im=:k1=\377\201:\ + :k2=\377\202:k3=\377\203:k4=\377\204:k5=\377\205:\ + :k6=\377\206:k7=\377\207:k8=\377\210:k9=\377\211:\ + :k;=\377\212:kA=\377\273:kB=\377\0:kC=\377\341:\ + :kD=\377\254:kE=\377\310:kF=\377\261:kI=\377\253:\ + :kL=\377\274:kM=\377\313:kN=\377\252:kP=\377\242:\ + :kR=\377\271:kS=\377\314:kT=\377\342:ka=\377\344:\ + :kd=\377\251:kh=\377\240:kl=\377\244:kr=\377\246:\ + :kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ + :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ + :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sr=\EI:ta=^I:te=\Eh\ER:\ + :ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:vs=\Ey2: +# +# +qnxt|qnxt4|QNX4 terminal:\ + :YA:YB:YC:km:mi:ms:xt:\ + :Co#8:NC#3:co#80:it#4:li#25:pa#8:\ + :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ + :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ + :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ + :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ + :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ + :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ + :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ + :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ + :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:Zc=\E!%02:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:ic=\Ee:im=:k1=\377\201:\ + :k2=\377\202:k3=\377\203:k4=\377\204:k5=\377\205:\ + :k6=\377\206:k7=\377\207:k8=\377\210:k9=\377\211:\ + :k;=\377\212:kA=\377\273:kB=\377\0:kC=\377\341:\ + :kD=\377\254:kE=\377\310:kF=\377\261:kI=\377\253:\ + :kL=\377\274:kM=\377\313:kN=\377\252:kP=\377\242:\ + :kR=\377\271:kS=\377\314:kT=\377\342:ka=\377\344:\ + :kd=\377\251:kh=\377\240:kl=\377\244:kr=\377\246:\ + :kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ + :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ + :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sr=\EI:ta=^I:te=\Eh\ER:\ + :ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:vs=\Ey2: +# +qnxm|QNX4 with mouse events:\ + :YA:YC:km:mi:ms:xt:\ + :Co#8:NC#3:Yd#1:co#80:it#4:li#25:pa#8:\ + :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ + :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ + :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ + :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ + :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ + :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ + :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ + :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ + :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:ZC=\E/:ZD=\E":ZJ=\E/>2h:\ + :ZT=\E/>2l:ZZ=\E/>1l\E/>9h:Za=\E/>7h:Zb=\E/>7l:Zc=\E!%02:\ + :Zd=\E/>6l:Zf=\E/>1h:Zg=\E/>1h:Zh=\E/>1h\E/>9l:Zi=\E/>6h:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:i1=\E/0t:ic=\Ee:im=:\ + :k1=\377\201:k2=\377\202:k3=\377\203:k4=\377\204:\ + :k5=\377\205:k6=\377\206:k7=\377\207:k8=\377\210:\ + :k9=\377\211:k;=\377\212:kA=\377\273:kB=\377\0:\ + :kC=\377\341:kD=\377\254:kE=\377\310:kF=\377\261:\ + :kI=\377\253:kL=\377\274:kM=\377\313:kN=\377\252:\ + :kP=\377\242:kR=\377\271:kS=\377\314:kT=\377\342:\ + :ka=\377\344:kd=\377\251:kh=\377\240:kl=\377\244:\ + :kr=\377\246:kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ + :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ + :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sr=\EI:ta=^I:te=\Eh\ER:\ + :ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:vs=\Ey2: +# +qnxw|QNX4 windows:\ + :YA:YC:YD:km:mi:ms:xt:\ + :Co#8:NC#3:Yd#1:co#80:it#4:li#25:pa#8:\ + :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ + :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ + :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ + :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ + :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ + :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ + :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ + :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ + :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:ZC=\E/:ZD=\E":ZJ=\E/>2h:\ + :ZT=\E/>2l:ZZ=\E/>1l\E/>9h:Za=\E/>7h:Zb=\E/>7l:Zc=\E!%02:\ + :Zd=\E/>6l:Zf=\E/>1h:Zg=\E/>1h:Zh=\E/>1h\E/>9l:Zi=\E/>6h:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:i1=\E/0t:ic=\Ee:im=:\ + :k1=\377\201:k2=\377\202:k3=\377\203:k4=\377\204:\ + :k5=\377\205:k6=\377\206:k7=\377\207:k8=\377\210:\ + :k9=\377\211:k;=\377\212:kA=\377\273:kB=\377\0:\ + :kC=\377\341:kD=\377\254:kE=\377\310:kF=\377\261:\ + :kI=\377\253:kL=\377\274:kM=\377\313:kN=\377\252:\ + :kP=\377\242:kR=\377\271:kS=\377\314:kT=\377\342:\ + :ka=\377\344:kd=\377\251:kh=\377\240:kl=\377\244:\ + :kr=\377\246:kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ + :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ + :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sr=\EI:ta=^I:te=\Eh\ER:\ + :ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:vs=\Ey2: +# +# Monochrome QNX4 terminal or console. Setting this terminal type will +# allow an application running on a color console to behave as if it +# were a monochrome terminal. Output will be through stdout instead of +# console writes because the term routines will recognize that the +# terminal name starts with 'qnxt'. +# +qnxtmono|Monochrome QNX4 terminal or console:\ + :YA:YC:km:mi:ms:xt:\ + :Co@:NC#3:co#80:it#4:li#25:pa@:\ + :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ + :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ + :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ + :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ + :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ + :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ + :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ + :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ + :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:Zc=\E!%02:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:ic=\Ee:im=:k1=\377\201:\ + :k2=\377\202:k3=\377\203:k4=\377\204:k5=\377\205:\ + :k6=\377\206:k7=\377\207:k8=\377\210:k9=\377\211:\ + :k;=\377\212:kA=\377\273:kB=\377\0:kC=\377\341:\ + :kD=\377\254:kE=\377\310:kF=\377\261:kI=\377\253:\ + :kL=\377\274:kM=\377\313:kN=\377\252:kP=\377\242:\ + :kR=\377\271:kS=\377\314:kT=\377\342:ka=\377\344:\ + :kd=\377\251:kh=\377\240:kl=\377\244:kr=\377\246:\ + :kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ + :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ + :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sp@:sr=\EI:ta=^I:\ + :te=\Eh\ER:ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:\ + :vs=\Ey2: + +# From: Federico Bianchi , 1 Jul 1998 +# (esr: commented out and :te: to avoid warnings.) +# (TD: derive from original qnx4 entry) +qnxt2|qnx 2.15 serial terminal:\ + :YA:YC:am:km:mi:ms:xt:\ + :Co#8:NC#3:co#80:it#4:li#25:pa#8:\ + :!1=\377\307:!2=\377\303:!3@:#1=\377\371:#2=\377\260:\ + :#3=\377\340:#4=\377\264:%0=\377\336:%1=\377\350:\ + :%2=\377\355:%3=\377\345:%4=\377\351:%5=\377\312:\ + :%6=\377\357:%7=\377\353:%8=\377\302:%9=\377\255:\ + :%a=\377\304:%b=\377\306:%c=\377\272:%d=\377\372:\ + :%e=\377\262:%f=\377\275:%g=\377\315:%h@:%i=\377\266:%j@:\ + :&0=\377\263:&1=\377\354:&2=\377\347:&3=\377\362:\ + :&4=\377\352:&5=\377\360:&6=\377\361:&7@:&8=\377\365:\ + :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ + :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ + :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ + :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ + :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ + :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ + :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ + :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ + :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ + :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ + :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ + :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ + :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ + :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ + :Fb=\377\316:Fc=\377\317:Sb@:Sf@:Zc=\E!%02:\ + :ac=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263:\ + :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ + :dc@:dl=\EF:do=^J:ho=\EH:ic@:k1=\377\201:k2=\377\202:\ + :k3=\377\203:k4=\377\204:k5=\377\205:k6=\377\206:\ + :k7=\377\207:k8=\377\210:k9=\377\211:k;=\377\212:\ + :kA=\377\273:kB=\377\0:kC=\377\341:kD=\377\254:\ + :kE=\377\310:kF=\377\261:kI=\377\253:kL=\377\274:\ + :kM=\377\313:kN=\377\252:kP=\377\242:kR=\377\271:\ + :kS=\377\314:kT=\377\342:ka=\377\344:kd=\377\251:\ + :kh=\377\240:kl=\377\244:kr=\377\246:kt=\377\237:\ + :ku=\377\241:le=^H:mb=\E{:md=\E<:me=\E}\E]\E>\E):mr=\E(:\ + :nd=\EC:op=\ER:r1=\ER:rp@:se=\E>:sf=^J:so=\E<:sr=\EI:ta=^I:\ + :te@:ti@:ue=\E]:up=\EA:us=\E[:ve@:vi@:vs@: + +# QNX ANSI terminal definition +qansi-g|QNX ANSI:\ + :am:es:hs:xo:\ + :Co#8:NC#19:co#80:it#8:li#25:pa#64:ws#80:\ + :#1=\ENy:#2=\E[h:#4=\E[d:%1=\ENh:%2=\ENm:%3=\ENe:%4=\ENi:\ + :%6=\ENo:%7=\ENk:%c=\E[u:%d=\ENz:%e=\E[v:%i=\E[c:&0=\E[s:\ + :&1=\ENl:&2=\ENg:&3=\ENr:&4=\ENj:&5=\ENp:&6=\ENq:&8=\ENu:\ + :&9=\ENn:*0=\ENx:*1=\E[t:*2=\ENs:*3=\ENt:*5=\ENv:*6=\E[T:\ + :*9=\ENw:@0=\ENf:@2=\E[S:@3=\ENc:@4=\E[G:@5=\E[g:@7=\E[Y:\ + :@9=\E[y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\ + :F2=\EOA:F3=\EOp:F4=\EOq:F5=\EOr:F6=\EOs:F7=\EOt:F8=\EOu:\ + :F9=\EOv:FA=\EOw:FB=\EOx:FC=\EOy:FD=\EOz:FE=\EOa:FF=\E[1~:\ + :FG=\E[2~:FH=\E[3~:FI=\E[4~:FJ=\E[5~:FK=\E[6~:FL=\E[7~:\ + :FM=\E[8~:FN=\E[9~:FO=\E[10~:FP=\E[11~:FQ=\E[12~:\ + :FR=\E[17~:FS=\E[18~:FT=\E[19~:FU=\E[20~:FV=\E[21~:\ + :FW=\E[22~:FX=\E[23~:FY=\E[24~:FZ=\E[25~:Fa=\E[26~:\ + :Fb=\E[27~:Fc=\E[28~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K\E[X:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[1M:do=\E[B:ds=\E[r:\ + :ec=\E[%dX:ei=:fs=\E[?6h\E8:ho=\E[H:i2=\E(B\E)0:ic=\E[1@:\ + :im=:is=\E>\E[?1l\E[?7h\E[0;10;39;49m:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :k;=\EOY:kA=\E[`:kB=\E[Z:kC=\ENa:kD=\E[P:kF=\E[a:kI=\E[@:\ + :kL=\E[p:kN=\E[U:kP=\E[V:kR=\E[b:kT=\ENb:ka=\ENd:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[z:ku=\E[A:le=\E[D:\ + :ll=\E[99H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[9m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\017\E[?7h\E[0;39;49m\E>\E[?1l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ + :ts=\E7\E1;24r\E[?6l\E[25;%i%dH:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :vs=\E[?12;25h: +# +qansi|QNX ansi with console writes:\ + :YA:YC:am:es:hs:xo:\ + :Co#8:NC#19:co#80:it#8:li#25:pa#64:ws#80:\ + :#1=\ENy:#2=\E[h:#4=\E[d:%1=\ENh:%2=\ENm:%3=\ENe:%4=\ENi:\ + :%6=\ENo:%7=\ENk:%c=\E[u:%d=\ENz:%e=\E[v:%i=\E[c:&0=\E[s:\ + :&1=\ENl:&2=\ENg:&3=\ENr:&4=\ENj:&5=\ENp:&6=\ENq:&8=\ENu:\ + :&9=\ENn:*0=\ENx:*1=\E[t:*2=\ENs:*3=\ENt:*5=\ENv:*6=\E[T:\ + :*9=\ENw:@0=\ENf:@2=\E[S:@3=\ENc:@4=\E[G:@5=\E[g:@7=\E[Y:\ + :@9=\E[y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\ + :F2=\EOA:F3=\EOp:F4=\EOq:F5=\EOr:F6=\EOs:F7=\EOt:F8=\EOu:\ + :F9=\EOv:FA=\EOw:FB=\EOx:FC=\EOy:FD=\EOz:FE=\EOa:FF=\E[1~:\ + :FG=\E[2~:FH=\E[3~:FI=\E[4~:FJ=\E[5~:FK=\E[6~:FL=\E[7~:\ + :FM=\E[8~:FN=\E[9~:FO=\E[10~:FP=\E[11~:FQ=\E[12~:\ + :FR=\E[17~:FS=\E[18~:FT=\E[19~:FU=\E[20~:FV=\E[21~:\ + :FW=\E[22~:FX=\E[23~:FY=\E[24~:FZ=\E[25~:Fa=\E[26~:\ + :Fb=\E[27~:Fc=\E[28~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K\E[X:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[1M:do=\E[B:ds=\E[r:\ + :ec=\E[%dX:ei=:fs=\E[?6h\E8:ho=\E[H:i2=\E(B\E)0:ic=\E[1@:\ + :im=:is=\E>\E[?1l\E[?7h\E[0;10;39;49m:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :k;=\EOY:kA=\E[`:kB=\E[Z:kC=\ENa:kD=\E[P:kF=\E[a:kI=\E[@:\ + :kL=\E[p:kN=\E[U:kP=\E[V:kR=\E[b:kT=\ENb:ka=\ENd:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[z:ku=\E[A:le=\E[D:\ + :ll=\E[99H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[9m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\017\E[?7h\E[0;39;49m\E>\E[?1l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ + :ts=\E7\E1;24r\E[?6l\E[25;%i%dH:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :vs=\E[?12;25h: +# +qansi-t|QNX ansi without console writes:\ + :YA:YB:YC:am:es:hs:xo:\ + :Co#8:NC#19:co#80:it#8:li#25:pa#64:ws#80:\ + :#1=\ENy:#2=\E[h:#4=\E[d:%1=\ENh:%2=\ENm:%3=\ENe:%4=\ENi:\ + :%6=\ENo:%7=\ENk:%c=\E[u:%d=\ENz:%e=\E[v:%i=\E[c:&0=\E[s:\ + :&1=\ENl:&2=\ENg:&3=\ENr:&4=\ENj:&5=\ENp:&6=\ENq:&8=\ENu:\ + :&9=\ENn:*0=\ENx:*1=\E[t:*2=\ENs:*3=\ENt:*5=\ENv:*6=\E[T:\ + :*9=\ENw:@0=\ENf:@2=\E[S:@3=\ENc:@4=\E[G:@5=\E[g:@7=\E[Y:\ + :@9=\E[y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\ + :F2=\EOA:F3=\EOp:F4=\EOq:F5=\EOr:F6=\EOs:F7=\EOt:F8=\EOu:\ + :F9=\EOv:FA=\EOw:FB=\EOx:FC=\EOy:FD=\EOz:FE=\EOa:FF=\E[1~:\ + :FG=\E[2~:FH=\E[3~:FI=\E[4~:FJ=\E[5~:FK=\E[6~:FL=\E[7~:\ + :FM=\E[8~:FN=\E[9~:FO=\E[10~:FP=\E[11~:FQ=\E[12~:\ + :FR=\E[17~:FS=\E[18~:FT=\E[19~:FU=\E[20~:FV=\E[21~:\ + :FW=\E[22~:FX=\E[23~:FY=\E[24~:FZ=\E[25~:Fa=\E[26~:\ + :Fb=\E[27~:Fc=\E[28~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K\E[X:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[1M:do=\E[B:ds=\E[r:\ + :ec=\E[%dX:ei=:fs=\E[?6h\E8:ho=\E[H:i2=\E(B\E)0:ic=\E[1@:\ + :im=:is=\E>\E[?1l\E[?7h\E[0;10;39;49m:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :k;=\EOY:kA=\E[`:kB=\E[Z:kC=\ENa:kD=\E[P:kF=\E[a:kI=\E[@:\ + :kL=\E[p:kN=\E[U:kP=\E[V:kR=\E[b:kT=\ENb:ka=\ENd:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[z:ku=\E[A:le=\E[D:\ + :ll=\E[99H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[9m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\017\E[?7h\E[0;39;49m\E>\E[?1l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ + :ts=\E7\E1;24r\E[?6l\E[25;%i%dH:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :vs=\E[?12;25h: +# +qansi-m|QNX ansi with mouse:\ + :YA:YC:am:es:hs:xo:\ + :Co#8:NC#19:Yd#1:co#80:it#8:li#25:pa#64:ws#80:\ + :#1=\ENy:#2=\E[h:#4=\E[d:%1=\ENh:%2=\ENm:%3=\ENe:%4=\ENi:\ + :%6=\ENo:%7=\ENk:%c=\E[u:%d=\ENz:%e=\E[v:%i=\E[c:&0=\E[s:\ + :&1=\ENl:&2=\ENg:&3=\ENr:&4=\ENj:&5=\ENp:&6=\ENq:&8=\ENu:\ + :&9=\ENn:*0=\ENx:*1=\E[t:*2=\ENs:*3=\ENt:*5=\ENv:*6=\E[T:\ + :*9=\ENw:@0=\ENf:@2=\E[S:@3=\ENc:@4=\E[G:@5=\E[g:@7=\E[Y:\ + :@9=\E[y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\ + :F2=\EOA:F3=\EOp:F4=\EOq:F5=\EOr:F6=\EOs:F7=\EOt:F8=\EOu:\ + :F9=\EOv:FA=\EOw:FB=\EOx:FC=\EOy:FD=\EOz:FE=\EOa:FF=\E[1~:\ + :FG=\E[2~:FH=\E[3~:FI=\E[4~:FJ=\E[5~:FK=\E[6~:FL=\E[7~:\ + :FM=\E[8~:FN=\E[9~:FO=\E[10~:FP=\E[11~:FQ=\E[12~:\ + :FR=\E[17~:FS=\E[18~:FT=\E[19~:FU=\E[20~:FV=\E[21~:\ + :FW=\E[22~:FX=\E[23~:FY=\E[24~:FZ=\E[25~:Fa=\E[26~:\ + :Fb=\E[27~:Fc=\E[28~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZC=\E[:\ + :ZD=\E]:ZJ=\E[>2h:ZT=\E[>2l:ZZ=\E[>1l\E[>9h:Za=\E[>7h:\ + :Zb=\E[>7l:Zd=\E[>6l:Zf=\E[>1h:Zg=\E[>1h:Zh=\E[>1h\E[>9l:\ + :Zi=\E[>6h:\ + :ac=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K\E[X:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[1M:do=\E[B:ds=\E[r:\ + :ec=\E[%dX:ei=:fs=\E[?6h\E8:ho=\E[H:i1=\E[0t:i2=\E(B\E)0:\ + :ic=\E[1@:im=:is=\E>\E[?1l\E[?7h\E[0;10;39;49m:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :k9=\EOX:k;=\EOY:kA=\E[`:kB=\E[Z:kC=\ENa:kD=\E[P:kF=\E[a:\ + :kI=\E[@:kL=\E[p:kN=\E[U:kP=\E[V:kR=\E[b:kT=\ENb:ka=\ENd:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[z:ku=\E[A:\ + :le=\E[D:ll=\E[99H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mk=\E[9m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\017\E[?7h\E[0;39;49m\E>\E[?1l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ + :ts=\E7\E1;24r\E[?6l\E[25;%i%dH:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :vs=\E[?12;25h: +# +qansi-w|QNX ansi for windows:\ + :YA:YC:YD:am:es:hs:xo:\ + :Co#8:NC#19:Yd#1:co#80:it#8:li#25:pa#64:ws#80:\ + :#1=\ENy:#2=\E[h:#4=\E[d:%1=\ENh:%2=\ENm:%3=\ENe:%4=\ENi:\ + :%6=\ENo:%7=\ENk:%c=\E[u:%d=\ENz:%e=\E[v:%i=\E[c:&0=\E[s:\ + :&1=\ENl:&2=\ENg:&3=\ENr:&4=\ENj:&5=\ENp:&6=\ENq:&8=\ENu:\ + :&9=\ENn:*0=\ENx:*1=\E[t:*2=\ENs:*3=\ENt:*5=\ENv:*6=\E[T:\ + :*9=\ENw:@0=\ENf:@2=\E[S:@3=\ENc:@4=\E[G:@5=\E[g:@7=\E[Y:\ + :@9=\E[y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\ + :F2=\EOA:F3=\EOp:F4=\EOq:F5=\EOr:F6=\EOs:F7=\EOt:F8=\EOu:\ + :F9=\EOv:FA=\EOw:FB=\EOx:FC=\EOy:FD=\EOz:FE=\EOa:FF=\E[1~:\ + :FG=\E[2~:FH=\E[3~:FI=\E[4~:FJ=\E[5~:FK=\E[6~:FL=\E[7~:\ + :FM=\E[8~:FN=\E[9~:FO=\E[10~:FP=\E[11~:FQ=\E[12~:\ + :FR=\E[17~:FS=\E[18~:FT=\E[19~:FU=\E[20~:FV=\E[21~:\ + :FW=\E[22~:FX=\E[23~:FY=\E[24~:FZ=\E[25~:Fa=\E[26~:\ + :Fb=\E[27~:Fc=\E[28~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZC=\E[:\ + :ZD=\E]:ZJ=\E[>2h:ZT=\E[>2l:ZZ=\E[>1l\E[>9h:Za=\E[>7h:\ + :Zb=\E[>7l:Zd=\E[>6l:Zf=\E[>1h:Zg=\E[>1h:Zh=\E[>1h\E[>9l:\ + :Zi=\E[>6h:\ + :ac=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K\E[X:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[1M:do=\E[B:ds=\E[r:\ + :ec=\E[%dX:ei=:fs=\E[?6h\E8:ho=\E[H:i1=\E[0t:i2=\E(B\E)0:\ + :ic=\E[1@:im=:is=\E>\E[?1l\E[?7h\E[0;10;39;49m:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :k9=\EOX:k;=\EOY:kA=\E[`:kB=\E[Z:kC=\ENa:kD=\E[P:kF=\E[a:\ + :kI=\E[@:kL=\E[p:kN=\E[U:kP=\E[V:kR=\E[b:kT=\ENb:ka=\ENd:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[z:ku=\E[A:\ + :le=\E[D:ll=\E[99H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mk=\E[9m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\017\E[?7h\E[0;39;49m\E>\E[?1l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\ + :ts=\E7\E1;24r\E[?6l\E[25;%i%dH:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :vs=\E[?12;25h: + +#### NetBSD consoles +# +# pcvt termcap database entries (corresponding to release 3.31) +# Author's last edit-date: [Fri Sep 15 20:29:10 1995] +# +# (For the terminfo master file, I translated these into terminfo syntax. +# Then I dropped all the pseudo-HP entries. we don't want and can't use +# the :Xs: flag. Then I split :is: into a size-independent :i1: and a +# size-dependent :is:. Finally, I added / -- esr) + +# NOTE: :ic: has been taken out of this entry. for reference, it should +# be . For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below. +# (esr: added :vi: and :ve: to resolve NetBSD Problem Report #4583) +pcvtXX|pcvt vt200 emulator (DEC VT220):\ + :am:km:mi:ms:xn:\ + :it#8:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ + :k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) +# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and +# 50 lines entries; 80 columns +pcvt25|dec vt220 emulation with 25 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#25:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;25r\E[25;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt28|dec vt220 emulation with 28 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#28:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;28r\E[28;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt35|dec vt220 emulation with 35 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#35:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;35r\E[35;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt40|dec vt220 emulation with 40 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#40:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;40r\E[40;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt43|dec vt220 emulation with 43 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#43:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;43r\E[43;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt50|dec vt220 emulation with 50 lines:\ + :am:km:mi:ms:xn:\ + :co#80:it#8:li#50:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;50r\E[50;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) +# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and +# 50 lines entries; 132 columns +pcvt25w|dec vt220 emulation with 25 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#25:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;25r\E[25;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt28w|dec vt220 emulation with 28 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#28:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;28r\E[28;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt35w|dec vt220 emulation with 35 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#35:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;35r\E[35;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt40w|dec vt220 emulation with 40 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#40:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;40r\E[40;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt43w|dec vt220 emulation with 43 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#43:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;43r\E[43;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +pcvt50w|dec vt220 emulation with 50 lines and 132 cols:\ + :am:km:mi:ms:xn:\ + :co#132:it#8:li#50:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;50r\E[50;1H:k1=\E[17~:k2=\E[18~:k3=\E[19~:\ + :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ + :kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# OpenBSD implements a color variation +pcvt25-color|dec vt220 emulation with 25 lines and color:\ + :am:km:mi:ms:xn:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:vt#3:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:im=\E[4h:\ + :is=\E[1;25r\E[25;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:k9=\E[21~:\ + :k;=\E[29~:kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\ + :r1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\ + :rf=/usr/share/tabset/vt100:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# Terminfo entries to enable the use of the ncurses library in colour on a +# NetBSD-arm32 console (only tested on a RiscPC). +# Created by Dave Millen 22.07.98 +# modified codes for setf/setb to setaf/setab, then to klone+color, corrected +# typo in invis - TD +arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480):\ + :am:ms:ut:xn:xo:\ + :Co#8:NC#3:co#80:it#8:li#30:pa#64:\ + :@8=\E[M:AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\E[q:K2=\E[r:\ + :K3=\E[s:K4=\E[p:K5=\E[n:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :S2=\E[11m:S3=\E[10m:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\E[y:k1=\E[P:k2=\E[Q:k3=\E[R:\ + :k4=\E[S:k5=\E[t:k6=\E[u:k7=\E[v:k8=\E[l:k9=\E[w:k;=\E[x:\ + :kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768):\ + :am:ms:ut:xn:xo:\ + :Co#8:NC#3:co#132:it#8:li#50:pa#64:\ + :@8=\E[M:AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\E[q:K2=\E[r:\ + :K3=\E[s:K4=\E[p:K5=\E[n:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :S2=\E[11m:S3=\E[10m:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\E[y:k1=\E[P:k2=\E[Q:k3=\E[R:\ + :k4=\E[S:k5=\E[t:k6=\E[u:k7=\E[v:k8=\E[l:k9=\E[w:k;=\E[x:\ + :kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine +# manufactured by Sharp for the Japenese market. +# From Minoura Makoto , 12 May 1996 +x68k|x68k-ite|NetBSD/x68k ITE:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#96:it#8:li#32:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kC=\E[9~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:\ + :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# : +# Entry for the DNARD OpenFirmware console, close to ANSI but not quite. +# +# (still unfinished, but good enough so far.) +ofcons|DNARD OpenFirmware console:\ + :bw:\ + :co#80:li#30:\ + :AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:IC=\233%d@:\ + :LE=\233%dD:RI=\233%dC:UP=\233%dA:al=\233L:bl=^G:cd=\233J:\ + :ce=\233K:cl=^L:cm=\233%i%d;%dH:cr=^M:dc=\233P:dl=\233M:\ + :do=\233B:ei=:ic=\233@:im=:k1=\2330P:k2=\2330Q:k3=\2330W:\ + :k4=\2330x:k5=\2330t:k6=\2330u:k7=\2330q:k8=\2330r:\ + :k9=\2330p:k;=\2330M:kD=\233P:kN=\233/:kP=\233?:kb=^H:\ + :kd=\233B:kl=\233D:kr=\233C:ku=\233A:le=\233D:mb=\2337;2m:\ + :md=\2331m:me=\2330m:mh=\2332m:mk=\2338m:mr=\2337m:\ + :nd=\233C:nw=^M^J:se=\2330m:sf=^J:ta=^I:ue=\2330m:up=\233A:\ + :vb=^G: + +# NetBSD "wscons" emulator in vt220 mode. +# This entry is based on the NetBSD termcap entry, correcting the ncv value. +# The emulator renders underlined text in red. Colors are otherwise usable. +# +# Testing the emulator and reading the source code (NetBSD 2.0), it appears +# that "vt220" is inaccurate. There are a few vt220-features, but most of the +# vt220 screens in vttest do not work with this emulator. For instance, it +# identifies itself (primary DA response) as a vt220 with selective erase. But +# the selective erase feature does not work. The secondary response is copied +# from Kermit's emulation of vt220, does not correspond to actual vt220. At +# the level of detail in a termcap, it is a passable emulator, since ECH does +# work. Don't use it on a VMS system -TD +wsvt25|NetBSD wscons in 25 line DEC VT220 mode:\ + :5i:am:bs:mi:ms:ut:xn:xo:\ + :Co#8:NC#2:co#80:it#8:li#25:pa#64:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[8~:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[r\E[25;1H:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kh=\E[7~:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta:\ + :5i:am:bs:km:mi:ms:ut:xn:xo:\ + :Co#8:NC#2:co#80:it#8:li#25:pa#64:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[8~:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[r\E[25;1H:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kh=\E[7~:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and +# DECstation/pmax. +rcons|BSD rasterconsole:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +# Color version of above. Color currently only provided by NetBSD. +rcons-color|BSD rasterconsole with ANSI color:\ + :am:km:ms:ut:\ + :Co#8:co#80:li#34:pa#64:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:F1=\E[234z:\ + :F2=\E[235z:IC=\E[%d@:K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:\ + :ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:\ + :ei=:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ + :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ + :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ + :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[m:rs=\E[s:se=\E[m:sf=^J:\ + :so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: + +# mgterm -- MGL/MGL2, MobileGear Graphic Library +# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k} +# -- the setf/setb are probably incorrect, more likely setaf/setab -TD +# -- compare with cons25w +mgterm:\ + :NP:am:bs:bw:eo:km:ms:pt:ut:\ + :Co#8:co#80:it#8:li#18:pa#64:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:Sb=\E[4%dm:Sf=\E[3%dm:UP=\E[%dA:al=\E[L:bl=^G:\ + :bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A: + +#### FreeBSD console entries +# +# From: Andrey Chernov 29 Mar 1996 +# Andrey Chernov maintains the FreeBSD termcap distributions. +# +# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade +# or comment out the :cb: capability in the console entry. +# +# Alexander Lukyanov reports: +# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there. +# Now el1 clears not only to the line beginning, but also a large chunk +# of previous line. But there is another bug - ech does not work at all. +# + +# for syscons +# common entry without semigraphics +# Bug: The capability resets attributes. +# Bug? The ech and el1 attributes appear to move the cursor in some cases; for +# instance el1 does if the cursor is moved to the right margin first. Removed +# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K) +# +# Setting colors turns off reverse; we cannot guarantee order, so use ncv. +# Note that this disables standout with color. +# +# The emulator sends difference strings based on shift- and control-keys, +# like scoansi: +# F13-F24 are shifted F1-F12 +# F25-F36 are control F1-F12 +# F37-F48 are shift+control F1-F12 +cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:\ + :ic=\E[@:im=:k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:\ + :k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mh=\E[30;1m:mr=\E[7m:nd=\E[C:nw=\E[E:op=\E[x:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:up=\E[A:ve=\E[=0C:vs=\E[=1C: +cons25|ansis|ansi80x25|freebsd console (25-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons25-debian|freebsd console with debian backspace (25-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\E[3~:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=\177:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co@:NC#21:co#80:it#8:li#25:pa@:\ + :@7=\E[F:AB@:AF@:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:\ + :F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:\ + :FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:\ + :FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:\ + :FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:\ + :FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md@:me=\E[m:mh@:mr=\E[7m:nd=\E[C:nw=\E[E:op@:\ + :rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\ + :vs=\E[=1C: +cons30|ansi80x30|freebsd console (30-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#30:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#30:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: +cons43|ansi80x43|freebsd console (43-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#43:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#43:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: +cons50|ansil|ansi80x50|freebsd console (50-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#50:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: +cons60|ansi80x60|freebsd console (60-line ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#60:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: +cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic:\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono):\ + :NP:am:bw:eo:ms:ut:\ + :Co@:NC#21:co#80:it#8:li#25:pa@:\ + :@7=\E[F:AB@:AF@:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:\ + :F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:\ + :FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:\ + :FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:\ + :FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:\ + :FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op@:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\ + :vs=\E[=1C: +cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#50:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\ + :vs=\E[=1C: +cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#60:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\ + :vs=\E[=1C: +# ISO 8859-1 FreeBSD console +cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars:\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#25:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono):\ + :NP:am:bw:eo:ms:ut:\ + :Co@:NC#21:co#80:it#8:li#25:pa@:\ + :@7=\E[F:AB@:AF@:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:\ + :F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:\ + :FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:\ + :FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:\ + :FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:\ + :FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md@:me=\E[m:mh@:mr=\E[7m:nd=\E[C:nw=\E[E:op@:\ + :rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\ + :vs=\E[=1C: +cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#50:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#50:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: +cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines):\ + :NP:am:bw:eo:ms:ut:\ + :Co#8:NC#21:co#80:it#8:li#60:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:F4=\E[Z:\ + :F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:FB=\E[g:\ + :FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:FI=\E[n:\ + :FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:FP=\E[u:\ + :FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:FW=\E[[:\ + :FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ + :IC=\E[%d@:K2=\E[E:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[30;1m:mr=\E[7m:nd=\E[C:\ + :nw=\E[E:op=\E[x:rc=\E8:rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:ve=\E[=0C:\ + :vs=\E[=1C: +cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono):\ + :NP:am:bw:eo:ms:ut:\ + :NC#21:co#80:it#8:li#60:\ + :@7=\E[F:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:\ + :F2=\E[X:F3=\E[Y:F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:\ + :F9=\E[e:FA=\E[f:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:\ + :FG=\E[l:FH=\E[m:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:\ + :FN=\E[s:FO=\E[t:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:\ + :FU=\E[z:FV=\E[@:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:\ + :Fa=\E[_:Fb=\E[`:Fc=\E[{:IC=\E[%d@:K2=\E[E:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+\253,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:kB=\E[Z:kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\E[E:rc=\E8:\ + :rs=\E[x\E[m\Ec:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:vs=\E[=1C: + +#### 386BSD and BSD/OS Consoles +# + +# This was the original 386BSD console entry (I think). +# Some places it's named oldpc3|oldibmpc3. +# From: Alex R.N. Wetmore +origpc3|origibmpc3|IBM PC 386BSD Console:\ + :am:bs:bw:eo:xo:\ + :co#80:li#25:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[H:\ + :kd=\E[B:kh=\E[Y:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[7m:\ + :me=\E[m\E[1;0x\E[2;7x:nd=\E[C:se=\E[1;0x\E[2;7x:\ + :sf=\E[S:so=\E[1;7x\E[2;0x:sr=\E[T:ue=\E[1;0x\E[2;7x:\ + :up=\E[A:us=\E[1;7x\E[2;0x: + +# description of BSD/386 console emulator in version 1.0 (supplied by BSDI) +oldpc3|oldibmpc3|old IBM PC BSD/386 Console:\ + :bs:km:\ + :li#25:\ + :al=\E[L:bl=^G:cr=^M:dl=\E[M:do=^J:kH=\E[F:kI=\E[L:kN=\E[G:\ + :kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ + :md=\E[=15F:me=\E[=R:mh=\E[=8F:nw=^M^J:sf=^J:ta=^I: + +# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1 +# Note, the emulator supports many of the additional console features +# listed in the iBCS2 (e.g. character-set selection) though not all +# are described here. This entry really ought to be upgraded. +# Also note, the console will also work with fewer lines after doing +# "stty rows NN", e.g. to use 24 lines. +# (Color support from Kevin Rosenberg , 2 May 1996) +# Bug: The capability resets attributes. +bsdos-pc|IBM PC BSD/OS Console:\ + :am:bs:eo:km:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +bsdos-pc-nobold|BSD/OS PC console w/o bold:\ + :am:bs:eo:km:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono:\ + :am:bs:eo:km:xo:\ + :co#80:it#8:li#25:\ + :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\ + :S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:rc=\E8:sc=\E7:se=\E[m:sf=^J:\ + :so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +# Old names for BSD/OS PC console used in releases before 4.1. +pc3|BSD/OS on the PC Console:\ + :am:bs:eo:km:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline:\ + :am:bs:eo:km:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +# BSD/OS on the SPARC +bsdos-sparc|Sun SPARC BSD/OS Console:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: + +# BSD/OS on the PowerPC +bsdos-ppc|PowerPC BSD/OS Console:\ + :am:bs:eo:km:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ + :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:kH=\E[F:\ + :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +#### DEC VT52 +# (/:ae:/:as: capabilities aren't in DEC's official entry -- esr) +# +# Actually (TD pointed this out at the time the acsc string was added): +# vt52 shouldn't define full acsc since most of the cells don't match. +# see vt100 manual page A-31. This is the list that does match: +# f degree +# g plus/minus +# h right-arrow +# k down-arrow +# m scan-1 +# o scan-3 +# q scan-5 +# s scan-7 +# The line-drawing happens to work in several terminal emulators, but should +# not be used as a guide to the capabilities of the vt52. Note in particular +# that vt52 does not support line-drawing characters (the scan-X values refer +# to a crude plotting feature) -TD +vt52|dec vt52:\ + :bs:\ + :co#80:it#8:li#24:\ + :ac=+h.k0affggolpnqprrss:ae=\EG:as=\EF:bl=^G:cd=\EJ:\ + :ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:kb=^H:\ + :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=\ED:nd=\EC:nw=^M^J:sf=^J:\ + :sr=\EI:ta=^I:up=\EA: + +#### DEC VT100 and compatibles +# +# DEC terminals from the vt100 forward are collected here. Older DEC terminals +# and micro consoles can be found in the `obsolete' section. More details on +# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be +# found near the end of this file. +# +# Except where noted, these entries are DEC's official terminfos. +# Contact Bill Hedberg of Terminal Support +# Engineering for more information. Updated terminfos and termcaps +# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. +# +# In October 1995 DEC sold its terminals business, including the VT and Dorio +# line and trademark, to SunRiver Data Systems. SunRiver has since changed +# its name to Boundless Technologies; see http://www.boundless.com. +# + +# NOTE: Any VT100 emulation, whether in hardware or software, almost +# certainly includes what DEC called the `Level 1 editing extension' codes; +# only the very oldest VT100s lacked these and there probably aren't any of +# those left alive. To capture these, use one of the VT102 entries. +# +# Note that the :xn: glitch in vt100 is not quite the same as on the Concept, +# since the cursor is left in a different position while in the +# weird state (concept at beginning of next line, vt100 at end +# of this line) so all versions of vi before 3.7 don't handle +# :xn: right on vt100. The correct way to handle :xn: is when +# you output the char in column 80, immediately output CR LF +# and then assume you are in column 1 of the next line. If :xn: +# is on, am should be on too. +# +# I assume you have smooth scroll off or are at a slow enough baud +# rate that it doesn't matter (1200? or less). Also this assumes +# that you set auto-nl to "on", if you set it off use vt100-nam +# below. +# +# The padding requirements listed here are guesses. It is strongly +# recommended that xon/xoff be enabled, as this is assumed here. +# +# The vt100 uses and rather than :is:/:ct:/:st: because the +# tab settings are in non-volatile memory and don't need to be +# reset upon login. Also setting the number of columns glitches +# the screen annoyingly. You can type "reset" to get them set. +# +# The VT100 series terminals have cursor ("arrows") keys which can operate +# in two different modes: Cursor Mode and Application Mode. Cursor Mode +# is the reset state, and is assumed to be the normal state. Application +# Mode is the "set" state. In Cursor Mode, the cursor keys transmit +# "Esc [ {code}" sequences, conforming to ANSI standards. In Application +# Mode, the cursor keys transmit "Esc O " sequences. Application Mode +# was provided primarily as an aid to the porting of VT52 applications. It is +# assumed that the cursor keys are normally in Cursor Mode, and expected that +# applications such as vi will always transmit the :ks: string. Therefore, +# the definitions for the cursor keys are made to match what the terminal +# transmits after the :ks: string is transmitted. If the :ks: string +# is a null string or is not defined, then cursor keys are assumed to be in +# "Cursor Mode", and the cursor keys definitions should match that assumption, +# else the application may fail. It is also expected that applications will +# always transmit the :ke: string to the terminal before they exit. +# +# The VT100 series terminals have an auxiliary keypad, commonly referred to as +# the "Numeric Keypad", because it is a cluster of numeric and function keys. +# The Numeric Keypad which can operate in two different modes: Numeric Mode and +# Application Mode. Numeric Mode is the reset state, and is assumed to be +# the normal state. Application Mode is the "set" state. In Numeric Mode, +# the numeric and punctuation keys transmit ASCII 7-bit characters, and the +# Enter key transmits the same as the Return key (Note: the Return key +# can be configured to send either LF (\015) or CR LF). In Application Mode, +# all the keypad keys transmit "Esc O {code}" sequences. The PF1 - PF4 keys +# always send the same "Esc O {code}" sequences. It is assumed that the keypad +# is normally in Numeric Mode. If an application requires that the keypad be +# in Application Mode then it is expected that the user, or the application, +# will set the TERM environment variable to point to a terminfo entry which has +# defined the :ks: string to include the codes that switch the keypad into +# Application Mode, and the terminfo entry will also define function key +# fields to match the Application Mode control codes. If the :ks: string +# is a null string or is not defined, then the keypad is assumed to be in +# Numeric Mode. If the :ks: string switches the keypad into Application +# Mode, it is expected that the :ke: string will contain the control codes +# necessary to reset the keypad to "Normal" mode, and it is also expected that +# applications which transmit the :ks: string will also always transmit the +# :ke: string to the terminal before they exit. +# +# Here's a diagram of the VT100 keypad keys with their bindings. +# The top line is the name of the key (some DEC keyboards have the keys +# labelled somewhat differently, like GOLD instead of PF1, but this is +# the most "official" name). The second line is the escape sequence it +# generates in Application Keypad mode (where "$" means the ESC +# character). The third line contains two items, first the mapping of +# the key in terminfo, and then in termcap. +# _______________________________________ +# | PF1 | PF2 | PF3 | PF4 | +# | $OP | $OQ | $OR | $OS | +# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| +# | 7 8 9 - | +# | $Ow | $Ox | $Oy | $Om | +# |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________| +# | 4 | 5 | 6 | , | +# | $Ot | $Ou | $Ov | $Ol | +# |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_| +# | 1 | 2 | 3 | | +# | $Oq | $Or | $Os | enter | +# |_ka1__K1_|_kb2__K2_|_ka3__K3_| $OM | +# | 0 | . | | +# | $Op | $On | | +# |___kc1_______K4____|_kc3__K5_|_kent_@8_| +# +# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the +# terminfo guidelines. That is a compromise used to assign the remaining +# keys on the keypad to kf5-kf0, used on older systems with legacy termcap +# support: +vt100+keypad|dec vt100 numeric keypad no fkeys:\ + :K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn: +vt100+pfkeys|dec vt100 numeric keypad:\ + :@8=\EOM:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS: +vt100+fnkeys|dec vt100 numeric keypad:\ + :@8=\EOM:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:k0=\EOy:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:\ + :k8=\EOl:k9=\EOw:k;=\EOx: +# +# A better adaptation to modern keyboards such as the PC's, which have a dozen +# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to +# use the 5-key arrangement to model the arrow keys as suggested in the +# terminfo guidelines: +# _______________________________________ +# | PF1 | PF2 | PF3 | PF4 | +# | $OP | $OQ | $OR | $OS | +# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| +# | 7 8 9 - | +# | $Ow | $Ox | $Oy | $Om | +# |_ka1__K1_|_________|_ka3__K3_|_________| +# | 4 | 5 | 6 | , | +# | $Ot | $Ou | $Ov | $Ol | +# |_________|_kb2__K2_|_________|_________| +# | 1 | 2 | 3 | | +# | $Oq | $Or | $Os | enter | +# |_kc1__K4_|_________|_kc3__K5_| $OM | +# | 0 | . | | +# | $Op | $On | | +# |___________________|_________|_kent_@8_| +# +vt220+keypad|dec vt220 numeric keypad:\ + :@8=\EOM:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS: +# +vt100+enq|ncurses extension for vt100-style ENQ:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c: +vt102+enq|ncurses extension for vt102-style ENQ:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c: +# +# And here, for those of you with orphaned VT100s lacking documentation, is +# a description of the soft switches invoked when you do `Set Up'. +# +# Scroll 0-Jump Shifted 3 0-# +# | 1-Smooth | 1-British pound sign +# | Autorepeat 0-Off | Wrap Around 0-Off +# | | 1-On | | 1-On +# | | Screen 0-Dark Bkg | | New Line 0-Off +# | | | 1-Light Bkg | | | 1-On +# | | | Cursor 0-Underline | | | Interlace 0-Off +# | | | | 1-Block | | | | 1-On +# | | | | | | | | +# 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 <--Standard Settings +# | | | | | | | | +# | | | Auto XON/XOFF 0-Off | | | Power 0-60 Hz +# | | | 1-On | | | 1-50 Hz +# | | Ansi/VT52 0-VT52 | | Bits Per Char. 0-7 Bits +# | | 1-ANSI | | 1-8 Bits +# | Keyclick 0-Off | Parity 0-Off +# | 1-On | 1-On +# Margin Bell 0-Off Parity Sense 0-Odd +# 1-On 1-Even +# +# The following SET-UP modes are assumed for normal operation: +# ANSI_MODE AUTO_XON/XOFF_ON NEWLINE_OFF 80_COLUMNS +# WRAP_AROUND_ON JUMP_SCROLL_OFF +# Other SET-UP modes may be set for operator convenience or communication +# requirements; I recommend +# AUTOREPEAT_ON BLOCK_CURSOR MARGIN_BELL_OFF SHIFTED_3_# +# Unless you have a graphics add-on such as Digital Engineering's VT640 +# (and even then, whenever it can be arranged!) you should set +# INTERLACE_OFF +# +# (vt100: I added / based on the init string, also :bs:. -- esr) +vt100|vt100-am|dec vt100 (w/advanced video):\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: +vt100nam|vt100-nam|vt100 no automargins:\ + :5i:am@:bs:ms:xn@:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: +vt100-vb|dec vt100 (w/advanced video) & no beep:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl@:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# Ordinary vt100 in 132 column ("wide") mode. +vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video):\ + :5i:am:bs:ms:xn:xo:\ + :co#132:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin):\ + :5i:bs:ms:xo:\ + :co#132:it#8:li#14:vt@:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +# vt100 with no advanced video. +vt100-nav|vt100 without advanced video option:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:sg#1:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb@:md@:me@:mr@:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sa@:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue@:up=\E[A:us@: +vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option):\ + :5i:am:bs:ms:xn:xo:\ + :co#132:it#8:li#14:sg#1:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:nd=\E[C:pf=\E[4i:\ + :po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:up=\E[A: + +# vt100 with one of the 24 lines used as a status line. +# We put the status line on the top. +vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline:\ + :5i:am:bs:es:hs:ms:xn:xo:\ + :co#80:it#8:li#23:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2;1H\E[J:\ + :cm=\E[%i%+^A;%dH:cr=^M:cs=\E[%i%i%d;%dr:ct=\E[3g:do=^J:\ + :ds=\E7\E[1;24r\E8:eA=\E(B\E)0:fs=\E8:ho=\E[2;1H:\ + :is=\E7\E[2;24r\E8:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E7\E[1;%dH\E[1K:ue=\E[m:up=\E[A:us=\E[4m: + +# Status line at bottom. +# Clearing the screen will clobber status line. +vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline:\ + :5i:am:bs:es:hs:ms:xn:xo:\ + :co#80:it#8:li#23:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :ds=\E7\E[1;24r\E8:eA=\E(B\E)0:fs=\E8:ho=\E[H:\ + :is=\E[1;23r\E[23;1H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E7\E[24;%dH\E[1K:ue=\E[m:up=\E[A:us=\E[4m: + +# Most of the `vt100' emulators out there actually emulate a vt102 +# This entry (or vt102-nsgr) is probably the right thing to use for +# these. +vt102|dec vt102:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ + :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: +vt102-w|dec vt102 in wide mode:\ + :5i:am:bs:ms:xn:xo:\ + :co#132:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ + :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :r3=\E[?3h:rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +# Many brain-dead PC comm programs that pretend to be `vt100-compatible' +# fail to interpret the ^O and ^N escapes properly. Symptom: the :me: +# string in the canonical vt100 entry above leaves the screen littered +# with little snowflake or star characters (IBM PC ROM character \017 = ^O) +# after highlight turnoffs. This entry should fix that, and even leave +# ACS support working, at the cost of making multiple-highlight changes +# slightly more expensive. +# From: Eric S. Raymond July 22 1995 +vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes):\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ + :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sa@:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[4m: + +# VT125 Graphics CRT. Clear screen also erases graphics +# Some vt125's came configured with vt102 support. +vt125|vt125 graphics terminal:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J\EPpS(E)\E\\:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:do=^J:eA=\E(B\E)0:ho=\E[H:\ + :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ + :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +# This isn't a DEC entry, it came from University of Wisconsin. +# (vt131: I added / based on the init string, also :bs: -- esr) +vt131|dec vt131:\ + :am:bs:xn:\ + :co#80:it#8:li#24:vt#3:\ + :RA=\E[?7h:SA=\E[?7h:bl=^G:cd=50\E[J:ce=3\E[K:\ + :cl=50\E[;H\E[2J:cm=5\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :do=^J:ho=\E[H:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=2\E[5m:md=2\E[1m:\ + :me=2\E[m:mr=2\E[7m:nd=2\E[C:nw=^M^J:\ + :r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\ + :se=2\E[m:so=2\E[7m:sr=5\EM:ta=^I:ue=2\E[m:up=2\E[A:\ + :us=2\E[4m: + +# vt132 - like vt100 but slower and has ins/del line and such. +# I'm told that :im:/:ei: are backwards in the terminal from the +# manual and from the ANSI standard, this describes the actual +# terminal. I've never actually used a vt132 myself, so this +# is untested. +# +vt132|DEC vt132:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4h:\ + :ho=\E[H:im=\E[4l:ip=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# This vt220 description maps F5--F9 to the second block of function keys +# at the top of the keyboard. The "DO" key is used as F10 to avoid conflict +# with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. +# PF1--PF4 are used as F1--F4. +# +vt220-old|vt200-old|DEC VT220 in vt100 emulation mode:\ + :am:bs:mi:pt:xn:xo:\ + :co#80:li#24:vt#3:\ + :@7=\E[4~:RA=\E[?7l:SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:k9=\E[21~:\ + :k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:\ + :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=20\ED:so=\E[7m:sr=14\EM:ta=^I:ue=\E[24m:up=\E[A:\ + :us=\E[4m:ve=\E[?25h:vi=\E[?25l: + +# A much better description of the VT200/220; used to be vt220-8 +# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1 +# designation to accommodate bug in pcvt -TD +vt220|vt200|dec vt220:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: +vt220-w|vt200-w|DEC vt220 in wide mode:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#132:it#8:li#24:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:r3=\E[?3h:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: +vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode:\ + :5i:am:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :%0=\23329~:%1=\23328~:*6=\2334~:@0=\2331~:AL=\233%dL:\ + :DC=\233%dP:DL=\233%dM:DO=\233%dB:F1=\23323~:F2=\23324~:\ + :F3=\23325~:F4=\23326~:F7=\23331~:F8=\23332~:F9=\23333~:\ + :FA=\23334~:IC=\233%d@:LE=\233%dD:RA=\233?7l:RI=\233%dC:\ + :SA=\233?7h:UP=\233%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\233L:as=\E(0:bl=^G:cb=\2331K:cd=\233J:\ + :ce=\233K:cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:\ + :cs=\233%i%d;%dr:ct=\2333g:dc=\233P:dl=\233M:do=^J:\ + :eA=\E)0:ec=\233%dX:ei=\2334l:ho=\233H:\ + :if=/usr/share/tabset/vt100:im=\2334h:\ + :is=\233?7h\233>\233?1h\E F\233?4l:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k6=\23317~:k7=\23318~:k8=\23319~:\ + :k9=\23320~:k;=\23321~:kI=\2332~:kN=\2336~:kP=\2335~:\ + :kb=^H:kd=\233B:kh=\233H:kl=\233D:kr=\233C:ku=\233A:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\2335m:md=\2331m:me=\2330m:\ + :mr=\2337m:nd=\233C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:\ + :r1=\233?3l:rc=\E8:sc=\E7:se=\23327m:sf=\ED:so=\2337m:\ + :sr=\EM:st=\EH:ta=^I:ue=\23324m:up=\233A:us=\2334m:\ + :vb=\233?5h\233?5l: + +# vt220d: +# This vt220 description regards F6--F10 as the second block of function keys +# at the top of the keyboard. This mapping follows the description given +# in the VT220 Programmer Reference Manual and agrees with the labeling +# on some terminals that emulate the vt220. There is no support for an F5. +# See vt220 for an alternate mapping. +# +vt220d|DEC VT220 in vt100 mode with DEC function key labeling:\ + :am:bs:mi:pt:xn:xo:\ + :co#80:li#24:vt#3:\ + :@7=\E[4~:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:RA=\E[?7l:SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5@:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=20\ED:so=\E[7m:sr=14\EM:ta=^I:ue=\E[24m:up=\E[A:\ + :us=\E[4m:ve=\E[?25h:vi=\E[?25l: + +vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins:\ + :5i:am@:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko +# (not an official DEC entry!) +# The problem with real vt220 terminals is they don't send escapes when in +# in vt220 mode. This can be gotten around two ways. 1> don't send +# escapes or 2> put the vt220 into vt100 mode and use all the nifty +# features of vt100 advanced video which it then has. +# +# This entry takes the view of putting a vt220 into vt100 mode so +# you can use the escape key in emacs and everything else which needs it. +# +# You probably don't want to use this on a VMS machine since VMS will think +# it has a vt220 and will get fouled up coming out of emacs +# +# From: Alexander Latzko , 30 Dec 1996 +# (Added vt100 :rc:,:sc: to quiet a tic warning -- esr) +vt200-js|vt220-js|dec vt200 series with jump scroll:\ + :am:\ + :co#80:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:dm=:do=^J:ed=:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :nd=\E[C:nw=^M\ED:r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :rc=\E8:rf=/usr/share/tabset/vt100:sc=\E7:se=5\E[27m:\ + :sf=\ED:so=5\E[7m:sr=\EM:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m: + +# This was DEC's vt320. Use the purpose-built one below instead +#vt320|DEC VT320 in vt100 emulation mode, +# use=vt220, + +# Use v320n for SCO's LYRIX. Otherwise, use Adam Thompson's vt320-nam. +# +vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode:\ + :5i:am@:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# These entries are not DEC's official ones, they were purpose-built for the +# VT320. Here are the designer's notes: +# is end on a PC kbd. Actually 'select' on a VT. Mapped to +# 'Erase to End of Field'... since nothing seems to use 'end' anyways... +# khome is Home on a PC kbd. Actually 'FIND' on a VT. +# Things that use usually use tab anyways... and things that don't use +# tab usually use instead... +# kprv is same as tab - Backtab is useless... +# I left out :sa: because of its RIDICULOUS complexity, +# and the resulting fact that it causes the termcap translation of the entry +# to SMASH the 1k-barrier... +# From: Adam Thompson Sept 10 1995 +# (vt320: uncommented :fs: --esr) +vt320|vt300|dec vt320 7 bit terminal:\ + :am:es:hs:mi:ms:xn:\ + :co#80:li#24:ws#80:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: +vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy:\ + :am@:es:hs:mi:ms:xn:\ + :co#80:li#24:ws#80:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: +# We have to init 132-col mode, not 80-col mode. +vt320-w|vt300-w|dec vt320 wide 7 bit terminal:\ + :am:es:hs:mi:ms:xn:\ + :co#132:li#24:ws#132:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: +vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am:\ + :am@:es:hs:mi:ms:xn:\ + :co#132:li#24:ws#132:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: + +# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals +# which are pretty much a superset of the VT320. They have the +# host writable status line, yet another different DRCS matrix size, +# and such, but they add the DEC Technical character set, Multiple text +# pages, selectable length pages, and the like. The difference between +# the vt330 and vt340 is that the latter has only 2 planes and a monochrome +# monitor, the former has 4 planes and a color monitor. These terminals +# support VT131 and ANSI block mode, but as with much of these things, +# termcap/terminfo doesn't deal with these features. +# +# Note that this entry is are set up in what was the standard way for GNU +# Emacs v18 terminal modes to deal with the cursor keys in that the arrow +# keys were switched into application mode at the same time the numeric pad +# is switched into application mode. This changes the definitions of the +# arrow keys. Emacs v19 is smarter and mines its keys directly out of +# your termcap or terminfo entry, +# +# From: Daniel Glasser , 13 Oct 1993 +# (vt340: string capability "sb=\E[M" corrected to "sr"; +# also, added / based on the init string -- esr) +vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page:\ + :am:es:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:ds=\E[2$~\r\E[1$}\E[K\E[$}:ei=\E[4l:\ + :fs=\E[$}:ho=\E[H:im=\E[4h:\ + :is=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=^M\ED:r1=\E[?3l:rc=\E8:rf=/usr/share/tabset/vt300:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[2$~\E[1$}\E[1;%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=200\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# DEC doesn't supply a vt400 description, so we add Daniel Glasser's +# (originally written with vt420 as its primary name, and usable for it). +# +# VT400/420 -- This terminal is a superset of the vt320. It adds the multiple +# text pages and long text pages with selectable length of the vt340, along +# with left and right margins, rectangular area text copy, fill, and erase +# operations, selected region character attribute change operations, +# page memory and rectangle checksums, insert/delete column, reception +# macros, and other features too numerous to remember right now. TERMCAP +# can only take advantage of a few of these added features. +# +# Note that this entry is are set up in what was the standard way for GNU +# Emacs v18 terminal modes to deal with the cursor keys in that the arrow +# keys were switched into application mode at the same time the numeric pad +# is switched into application mode. This changes the definitions of the +# arrow keys. Emacs v19 is smarter and mines its keys directly out of +# your termcap entry, +# +# From: Daniel Glasser , 13 Oct 1993 +# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:"; +# also, added / based on the init string -- esr) +vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap:\ + :am:es:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:cd=10\E[J:ce=4\E[K:cl=10\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:ds=\E[2$~\r\E[1$}\E[K\E[$}:ei=\E[4l:\ + :fs=\E[$}:ho=\E[H:ic=\E[@:im=\E[4h:\ + :is=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=^M\ED:r1=\E<\E[?3l\E[!p\E[?7h:rc=\E8:\ + :rf=/usr/share/tabset/vt300:sc=\E7:se=\E[27m:sf=\ED:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E[2$~\E[1$}\E[1;%dH:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: + +# (vt420: I removed :k0:, it collided with . I also restored +# a missing :sc: -- esr) +vt420|DEC VT420:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ + :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx) +# takes two parameters, the key and the string. Translating the key is +# straightforward (keys 1-5 are not defined on real terminals, though some +# emulators define these): +# +# if (key < 16) then value = key; +# else if (key < 21) then value = key + 1; +# else if (key < 25) then value = key + 2; +# else if (key < 27) then value = key + 3; +# else if (key < 30) then value = key + 4; +# else value = key + 5; +# +# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". +# There's no provision in terminfo for emitting a string in this format, so the +# application has to know it. +# +vt420pc|DEC VT420 w/PC keyboard:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ + :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ + :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ + :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ + :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ + :Fc=\E[36;2~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :S6=USR_TERM\:vt420pcdos\::SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:r3=\E[?67h\E[64;1"p:rc=\E8:\ + :rf=/usr/share/tabset/vt300:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +vt420pcdos|DEC VT420 w/PC for DOS Merge:\ + :am:mi:xn:xo:\ + :co#80:li#25:vt#3:\ + :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ + :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ + :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ + :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ + :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ + :Fc=\E[36;2~:RA=\E[?7l:S4=\E[?1;2r\E[34h:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:S6@:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:r3=\E[?67h\E[64;1"p:rc=\E8:\ + :rf=/usr/share/tabset/vt300:sa@:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E=:ku=\E[A:l1=\EOP:l2=\EOQ:l3=\EOR:l4=\EOS:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +vt510|DEC VT510:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ + :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :r3=\E[?67h\E[64;1"p:rc=\E8:rf=/usr/share/tabset/vt300:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: +vt510pc|DEC VT510 w/PC keyboard:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ + :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ + :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ + :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ + :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ + :Fc=\E[36;2~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :S6=USR_TERM\:vt420pcdos\::SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:r3=\E[?67h\E[64;1"p:rc=\E8:\ + :rf=/usr/share/tabset/vt300:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +vt510pcdos|DEC VT510 w/PC for DOS Merge:\ + :am:mi:xn:xo:\ + :co#80:li#25:vt#3:\ + :*6=\E[4~:@0=\E[1~:@7=\E[4~:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[23~:FG=\E[24~:FH=\E[25~:FI=\E[26~:FJ=\E[28~:\ + :FK=\E[29~:FL=\E[31~:FM=\E[32~:FN=\E[33~:FO=\E[34~:\ + :FP=\E[35~:FQ=\E[36~:FR=\E[23;2~:FS=\E[24;2~:FT=\E[25;2~:\ + :FU=\E[26;2~:FV=\E[28;2~:FW=\E[29;2~:FX=\E[31;2~:\ + :FY=\E[32;2~:FZ=\E[33;2~:Fa=\E[34;2~:Fb=\E[35;2~:\ + :Fc=\E[36;2~:RA=\E[?7l:S4=\E[?1;2r\E[34h:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:r3=\E[?67h\E[64;1"p:rc=\E8:\ + :rf=/usr/share/tabset/vt300:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +# VT520/VT525 +# +# The VT520 is a monochrome text terminal capable of managing up to +# four independent sessions in the terminal. It has multiple ANSI +# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console) +# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950, +# 925 910+, ADDS A2). This terminfo data is for the ANSI emulations only. +# +# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or +# [Alt]/[Print Screen] depending upon which keyboard and which +# terminal mode is being used. If Set-Up has been disabled or +# assigned to an unknown key, Set-Up may be entered by pressing +# [F3] as the first key after power up, regardless of keyboard type. +# (vt520: I added / based on the init string, also :sc: -- esr) +vt520|DEC VT520:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ + :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:r3=\E[?67h\E[64;1"p:\ + :rc=\E8:rf=/usr/share/tabset/vt300:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +# (vt525: I added / based on the init string; +# removed :se:=\E[m, :ue:=\E[m, added :sc: -- esr) +vt525|DEC VT525:\ + :am:mi:xn:xo:\ + :co#80:li#24:vt#3:\ + :*6=\E[4~:@0=\E[1~:RA=\E[?7l:\ + :S5=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :SA=\E[?7h:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\ + :i2=\E[?67h\E[64;1"p:if=/usr/share/tabset/vt300:\ + :im=\E[4h:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:\ + :k9=\E[21~:k;=\E[29~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:r3=\E[?67h\E[64;1"p:\ + :rc=\E8:rf=/usr/share/tabset/vt300:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +#### VT100 emulations +# + +# John Hawkinson tells us that the EWAN telnet for Windows +# (the best Windows telnet as of September 1995) presents the name `dec-vt100' +# to telnetd. Michael Deutschmann informs us +# that this works best with a stock vt100 entry. +dec-vt100|EWAN telnet's vt100 emulation:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996 +dec-vt220|DOS tnvt200 terminal emulator:\ + :5i:am@:bs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# Zstem340 is an (IMHO) excellent VT emulator for PC's. I recommend it to +# anyone who needs PC VT340 emulation. (or anything below that level, for +# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's +# RDBM systems, it includes ReGIS and SiXel support! I'm impressed... +# I can send the address if requested. +# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr) +# From: Adam Thompson Sept 10 1995 +z340|zstem vt340 terminal emulator 132col 42line:\ + :am:es:hs:mi:ms:xn:\ + :co#132:li#42:ws#132:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: +z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins):\ + :am@:es:hs:mi:ms:xn:\ + :co#132:li#42:ws#132:\ + :%5=^I:%8=\E[Z:*6=\E[4~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[0$}:ho=\E[H:im=\E[4h:\ + :is=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[4~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ + :po=\E[?5i:ps=\E[i:rc=\E8:rf=/usr/share/tabset/vt300:\ + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H:\ + :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[H\E[K:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: + +# CRT is shareware. It implements some xterm features, including mouse. +crt|crt-vt220|CRT 2.3 emulating VT220:\ + :5i:am:bs:mi:ms:ut:xn:xo:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: + +# PuTTY 0.55 (released 3 August 2004) +# http://www.chiark.greenend.org.uk/~sgtatham/putty/ +# +# Comparing with 0.51, vttest is much better (only a few problems with the +# cursor position reports and wrapping). +# +# PuTTY 0.51 (released 14 December 2000) +# +# This emulates vt100 + vt52 (plus a few vt220 features: ech, SRM, DECTCEM, as +# well as SCO and Atari, color palettes from Linux console). Reading the code, +# it is intended to be VT102 plus selected features. By default, it sets $TERM +# to xterm, which is incorrect, since several features are misimplemented: +# +# Alt+key always sends ESC+key, so 'km' capability is removed. +# +# Control responses, wrapping and tabs are buggy, failing a couple of +# screens in vttest. +# +# xterm mouse support is not implemented (unrelease version may). +# +# Several features such as backspace/delete are optional; this entry documents +# the default behavior -TD + +putty|PuTTY terminal emulator:\ + :am:bw:cc:hs:mi:ms:ut:xn:xo:\ + :Co#8:NC#22:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:K2=\E[G:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:S2=\E[11m:S3=\E[10m:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\ED:ds=\E]0;\007:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:fs=^G:\ + :ho=\E[H:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l:s0=\E[10m:\ + :s1=\E[11m:s2=\E[12m:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l:ti=\E[?47h:ts=\E]0;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +vt100-putty|Reset PuTTY to pure vt100:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#24:vt#3:\ + :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:\ + :rs=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: +# palette is hardcoded... +putty-256color|PuTTY 0.58 with xterm 256-colors:\ + :am:bw:cc:hs:mi:ms:ut:xn:xo:\ + :Co#256:NC#22:it#8:pa#32767:\ + :&7=^Z:@7=\E[4~:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Ic@:K2=\E[G:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:S2=\E[11m:S3=\E[10m:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\ED:ds=\E]0;\007:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:fs=^G:\ + :ho=\E[H:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l:s0=\E[10m:\ + :s1=\E[11m:s2=\E[12m:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l:ti=\E[?47h:ts=\E]0;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# One of the keyboard selections is "VT100+". +# pterm (the X11 port) uses shifted F1-F10 as F11-F20 +putty-vt100|VT100+ keyboard layout:\ + :am:bw:cc:hs:mi:ms:ut:xn:xo:\ + :Co#8:NC#22:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\EOZ:F2=\EO[:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:K2=\E[G:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :S2=\E[11m:S3=\E[10m:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\ED:ds=\E]0;\007:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:fs=^G:\ + :ho=\E[H:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:\ + :k8=\EOW:k9=\EOX:k;=\EOY:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:rc=\E8:\ + :rs=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l:s0=\E[10m:\ + :s1=\E[11m:s2=\E[12m:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l:ti=\E[?47h:ts=\E]0;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by +# T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator +# (communication program) which supports: +# +# - Serial port connections. +# - TCP/IP (telnet) connections. +# - VT100 emulation, and selected VT200/300 emulation. +# - TEK4010 emulation. +# - File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and +# Quick-VAN). +# - Scripts using the "Tera Term Language". +# - Japanese and Russian character sets. +# +# The program does not come with terminfo or termcap entries. However, the +# emulation (testing with vttest and ncurses) is reasonably close to vt100 (no +# vt52 or doublesize character support; blinking is done with color). Besides +# the HPA, VPA extensions it also implements CPL and CNL. +# +# All of the function keys can be remapped. This description shows the default +# mapping, as installed. Both vt100 PF1-PF4 keys and quasi-vt220 F1-F4 keys +# are supported. F13-F20 are obtained by shifting F3-F10. The editing keypad +# is laid out like vt220, rather than the face codes on the PC keyboard, i.e, +# kfnd Insert +# kslt Delete +# kich1 Home +# kdch1 PageUp +# kpp End +# knp PageDown +# +# ANSI colors are implemented, but cannot be combined with video attributes +# except for reverse. +# +# No fonts are supplied with the program, so the acsc string is chosen to +# correspond with the default Microsoft terminal font. +# +# Tera Term recognizes some xterm sequences, including those for setting and +# retrieving the window title, and for setting the window size (i.e., using +# "resize -s"), though it does not pass SIGWINCH to the application if the +# user resizes the window with the mouse. +teraterm2.3|Tera Term Pro:\ + :5i:am:bs:km:ms:xn:xo@:\ + :Co#8:NC#43:co#80:it#8:li#24:pa#64:vt@:\ + :*6=\E[4~:@0=\E[1~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ho=\E[H:k0=\EOy:k1=\E[11~:\ + :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[100m:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=200\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# Version 4.59 has regular vt100 line-drawing (so it is no longer necessary +# to choose a Windows OEM font). +# +# Testing with tack: +# - it does not have xenl (suppress that) +# - underline seems to work with color (modify ncv). +# Testing with vttest: +# - wrapping differs from vt100 (menu 1). +# - it recognizes xterm's X10 and normal mouse tracking, but none of the +# other flavors. +# - it recognizes the dtterm window controls for reporting size in +# characters and pixels. +# - it passes SIGWINCH. +teraterm4.59|Tera Term Pro:\ + :5i:am:bs:km:ms:ut:xn@:\ + :Co#8:NC#41:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ho=\E[H:k0=\EOy:k1=\E[11~:\ + :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[100m:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=200\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +teraterm|Tera Term:\ + :5i:am:bs:km:ms:ut:\ + :Co#8:NC#41:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ho=\E[H:k0=\EOy:k1=\E[11~:\ + :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[100m:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=200\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# Tested with WinNT 4.0, the telnet application assumes the screensize is +# 25x80. This entry uses the 'Terminal' font, to get line-drawing characters. +# +# Other notes: +# a) Fails tack's cup (cursor-addressing) test, though cup works well enough +# for casual (occasional) use. Also fails several of the vttest screens, +# but that is not unusual for vt100 "emulators". +# b) Does not implement vt100 keypad +# c) Recognizes a subset of vt52 controls. +ms-vt100|MS telnet imitating dec vt100:\ + :5i:am:bs:ms:xn:xo:\ + :co#80:it#8:li#25:vt#3:\ + :@8@:DO=\E[%dB:K1@:K2@:K3@:K4@:K5@:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct@:do=^J:\ + :eA=\E(B\E)0:ho=\E[H:k0@:k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:k9@:k;@:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# Tested with Windows 2000, the telnet application runs in a console window, +# also using 'Terminal' font. +# +# Other notes: +# a) This version has no function keys or numeric keypad. Unlike the older +# version, the numeric keypad is entirely ignored. +# b) The program sets $TERM to "ansi", which of course is inaccurate. +ms-vt100-color|vtnt|windows 2000 ansi (sic):\ + :5i:am:bs:ms:ut:xn:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:vt#3:\ + :AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dP:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:do=^J:eA=\E(B\E)0:\ + :ei=:ho=\E[H:im=:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# Based on comments from Federico Bianchi: +# +# vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different +# scheme for PF keys. +# +# and PuTTY wishlist: +# +# The modifiers are represented as the codes listed above, prefixed to +# the normal sequences. If the modifier is pressed alone, its sequence +# is transmitted twice in succession. If multiple modifiers apply, +# they're transmitted in the order shift, control, alt. +# +# Shift \E^S +# Alt \E^A, +# Ctrl \E^C, +ms-vt100+|vt100+|windows XP vt100+ (sic):\ + :5i:am:bs:ms:ut:xn:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:vt#3:\ + :@7=\Ek:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dP:DO=\E[%dB:F1=\E!:\ + :F2=\E@:F3=\E\023\E1:F4=\E\023\E2:F5=\E\023\E3:\ + :F6=\E\023\E4:F7=\E\023\E5:F8=\E\023\E6:F9=\E\023\E7:\ + :FA=\E\023\E8:FB=\E\023\E9:FC=\E\023\E0:FD=\E\023\E!:\ + :FE=\E\023\E@:FF=\E\003\E1:FG=\E\003\E2:FH=\E\003\E3:\ + :FI=\E\003\E4:FJ=\E\003\E5:FK=\E\003\E6:FL=\E\003\E7:\ + :FM=\E\003\E8:FN=\E\003\E9:FO=\E\003\E0:FP=\E\003\E!:\ + :FQ=\E\003\E@:FR=\E\001\E1:FS=\E\001\E2:FT=\E\001\E3:\ + :FU=\E\001\E4:FV=\E\001\E5:FW=\E\001\E6:FX=\E\001\E7:\ + :FY=\E\001\E8:FZ=\E\001\E9:Fa=\E\001\E0:Fb=\E\001\E!:\ + :Fc=\E\001\E@:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:do=^J:eA=\E(B\E)0:\ + :ei=:ho=\E[H:im=:k1=\E1:k2=\E2:k3=\E3:k4=\E4:k5=\E5:k6=\E6:\ + :k7=\E7:k8=\E8:k9=\E9:k;=\E0:kD=\E-:kI=\E+:kN=\E/:kP=\E?:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\Eh:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +ms-vt-utf8|vt-utf8|UTF-8 flavor of vt100+:\ + :5i:am:bs:ms:ut:xn:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:vt#3:\ + :@7=\Ek:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dP:DO=\E[%dB:F1=\E!:\ + :F2=\E@:F3=\E\023\E1:F4=\E\023\E2:F5=\E\023\E3:\ + :F6=\E\023\E4:F7=\E\023\E5:F8=\E\023\E6:F9=\E\023\E7:\ + :FA=\E\023\E8:FB=\E\023\E9:FC=\E\023\E0:FD=\E\023\E!:\ + :FE=\E\023\E@:FF=\E\003\E1:FG=\E\003\E2:FH=\E\003\E3:\ + :FI=\E\003\E4:FJ=\E\003\E5:FK=\E\003\E6:FL=\E\003\E7:\ + :FM=\E\003\E8:FN=\E\003\E9:FO=\E\003\E0:FP=\E\003\E!:\ + :FQ=\E\003\E@:FR=\E\001\E1:FS=\E\001\E2:FT=\E\001\E3:\ + :FU=\E\001\E4:FV=\E\001\E5:FW=\E\001\E6:FX=\E\001\E7:\ + :FY=\E\001\E8:FZ=\E\001\E9:Fa=\E\001\E0:Fb=\E\001\E!:\ + :Fc=\E\001\E@:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:do=^J:eA=\E(B\E)0:\ + :ei=:ho=\E[H:im=:k1=\E1:k2=\E2:k3=\E3:k4=\E4:k5=\E5:k6=\E6:\ + :k7=\E7:k8=\E8:k9=\E9:k;=\E0:kD=\E-:kI=\E+:kN=\E/:kP=\E?:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\Eh:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# expect-5.44.1.15/example/tkterm +# a minimal subset of a vt100 (compare with "news-unk). +# +# The missing "=" in smkx is not a typo (here), but an error in tkterm. +tt|tkterm|Don Libes' tk text widget terminal emulator:\ + :cl=\E[H\E[J:cm=\E[%d;%dH:cr=^M:do=^J:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :ke=\E[?1l\E>:ks=\E[?1h\E:le=^H:nd=\E[C:se=\E[m:sf=^J:\ + :so=\E[7m:up=\E[A: + +#### X terminal emulators +# +# You can add the following line to your .Xdefaults to change the terminal type +# set by the xterms you start up to my-xterm: +# +# *termName: my-xterm +# +# System administrators can change the default entry for xterm instances +# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm. In either +# case, xterm will detect and reject an invalid terminal type, falling back +# to the default of xterm. +# + +# X10/6.6 11/7/86, minus alternate screen, plus (csr) +# (xterm: ":MT:" changed to ":km:"; added / based on init string; +# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E) +# as these seem not to work -- esr) +x10term|vs100-x10|xterm terminal emulator (X10 window system):\ + :am:bs:km:mi:ms:xn:xo:\ + :co#80:it#8:li#65:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:RA=\E[?7l:SA=\E[?7h:\ + :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ + :cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :im=\E[4h:is=\E\E[m\E[?7h\E[?1;4l:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[4m: +# Compatible with the R5 xterm +# (from the XFree86 3.2 distribution, removed) +# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD +# corrected typos in rs2 string - TD +# added u6-u9 -TD +xterm-r5|xterm R5 version:\ + :am:bs:km:ms:xn:\ + :co#80:it#8:li#24:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:\ + :im=\E[4h:k0=\EOq:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kA=\E[30~:kD=\E[3~:kE=\E[8~:kI=\E[2~:kL=\E[31~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: +# Compatible with the R6 xterm +# (from XFree86 3.2 distribution, and :it: added, removed) +# added khome/kend, hts based on the R6 xterm code - TD +# (khome/kend do not actually work in X11R5 or X11R6, but many people use this +# for compatibility with other emulators). +xterm-r6|xterm-old|xterm X11R6 version:\ + :am:bs:km:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: +# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. +# The name has been changed and some aliases have been removed. +xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System):\ + :am:bs:km:mi:ms:ut:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:\ + :nd=\E[C:op=\E[39;49m:r1=^O:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100 +# codes for F1-F4 except while in VT220 mode. +xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System):\ + :am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ + :me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :r1=^O:r2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This version was released in XFree86 3.3.3 (November 1998). +# Besides providing printer support, it exploits a new feature that allows +# xterm to use terminfo-based descriptions with the titeInhibit resource. +# -- the distribution contained incorrect khome/kend values -TD +xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System):\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6@:@0@:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic@:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1047l\E[?1048l:\ + :ti=\E[?1048h\E[?1047h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This version was released in XFree86 4.0. +xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\EO5H:#3=\E[2;5~:#4=\EO5D:%c=\E[6;5~:%e=\E[5;5~:\ + :%i=\EO5C:*4=\E[3;5~:*7=\EO5F:@1=\EOE:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:IC=\E[%d@:K1@:\ + :K2=\EOE:K3@:K4@:K5@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This version was released in XFree86 4.3. +xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@1@:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:IC=\E[%d@:K2=\EOE:\ + :Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This version was released in XFree86 4.4. +xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:IC=\E[%d@:K2=\EOE:\ + :Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +xterm-xfree86|xterm terminal emulator (XFree86):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:IC=\E[%d@:K2=\EOE:\ + :Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# This version reflects the current xterm features. +xterm-new|modern xterm terminal emulator:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: +# +# This fragment describes as much of XFree86 xterm's "pc-style" function +# keys as will fit into terminfo's 60 function keys. +# From ctlseqs.ms: +# Code Modifiers +# --------------------------------- +# 2 Shift +# 3 Alt +# 4 Shift + Alt +# 5 Control +# 6 Shift + Control +# 7 Alt + Control +# 8 Shift + Alt + Control +# --------------------------------- +# The meta key may also be used as a modifier in this scheme, adding another +# bit to the parameter. +xterm+pcfkeys|fragment for PC-style fkeys:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:F1=\E[23~:\ + :F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[1;2A:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA: +# +xterm+noapp|fragment with cursor keys in normal mode:\ + :@7=\E[F:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A: + +xterm+app|fragment with cursor keys in application mode:\ + :@7=\EOF:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA: +# +# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27) +# and revised in patch #167 (2002/8/24). Some other terminal emulators copied +# the earlier scheme, as noted in the "use=" clauses in this file. +# +# The original assignments from patch #94 for cursor-keys had some technical +# issues: +# +# A parameter for a function-key to represent a modifier is just more +# bits. But for a cursor-key it may change the behavior of the +# application. For instance, emacs decodes the first parameter of a +# cursor-key as a repeat count. +# +# A parameterized string should (really) not begin with SS3 (\EO). +# Rather, CSI (\E[) should be used. +# +# For these reasons, the original assignments were deprecated. For +# compatibility reasons, they are still available as a setting of xterm's +# modifyCursorKeys resource. These fragments list the modified cursor-keys +# that might apply to xterm+pcfkeys with different values of that resource. +xterm+pcc3|fragment with modifyCursorKeys:3:\ + :#4=\E[>1;2D:%i=\E[>1;2C:kF=\E[>1;2B:kR=\E[>1;2A: + +xterm+pcc2|fragment with modifyCursorKeys:2:\ + :#4=\E[1;2D:%i=\E[1;2C:kF=\E[1;2B:kR=\E[1;2A: + +xterm+pcc1|fragment with modifyCursorKeys:1:\ + :#4=\E[2D:%i=\E[2C:kF=\E[2B:kR=\E[2A: + +xterm+pcc0|fragment with modifyCursorKeys:0:\ + :#4=\EO2D:%i=\EO2C:kF=\EO2B:kR=\EO2A: + +# +# Here are corresponding fragments from xterm patch #216: +# +xterm+pcf0|fragment with modifyFunctionKeys:0:\ + :F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:F6=\EO2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:\ + :FT=\EO6R:FU=\EO6S:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:\ + :FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:\ + :Fc=\E[24;6~:Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:\ + :Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:\ + :Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:\ + :Fp=\EO4P:Fq=\EO4Q:Fr=\EO4R:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~: +# +xterm+pcf2|fragment with modifyFunctionKeys:2:\ + :F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:\ + :F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\E[1;6P:FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~: +# +# Chunks from xterm #230: +xterm+pce2|fragment with modifyCursorKeys:2:\ + :#2=\E[1;2H:#3=\E[2;2~:%c=\E[6;2~:%e=\E[5;2~:*4=\E[3;2~:\ + :*7=\E[1;2F:@7=\E[4~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kh=\E[1~: + +xterm+edit|fragment for 6-key editing-keypad:\ + :@7=\E[4~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kh=\E[1~: + +xterm+pc+edit|fragment for pc-style editing keypad:\ + :@7=\E[4~:kh=\E[1~: + +xterm+vt+edit|fragment for vt220-style editing keypad:\ + :*6=\E[4~:@0=\E[1~: + +# +# Those chunks use the new-style (the xterm oldFunctionKeys resource is false). +# Alternatively, the same scheme with old-style function keys as in xterm-r6 +# is shown here (because that is used in mrxvt and mlterm): +xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2:\ + :F1=\E[23~:F2=\E[24~:F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:\ + :F6=\E[14;2~:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\E[11;5~:FG=\E[12;5~:FH=\E[13;5~:\ + :FI=\E[14;5~:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\E[11;6~:FS=\E[12;6~:FT=\E[13;6~:\ + :FU=\E[14;6~:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:\ + :FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:\ + :Fc=\E[24;6~:Fd=\E[11;3~:Fe=\E[12;3~:Ff=\E[13;3~:\ + :Fg=\E[14;3~:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\E[11;4~:Fq=\E[12;4~:Fr=\E[13;4~:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~: +# +# This chunk is used for building the VT220/Sun/PC keyboard variants. +xterm-basic|modern xterm terminal emulator - common:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:IC=\E[%d@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:kb=^H:ke=\E[?1l\E>:\ + :ks=\E[?1h\E=:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :ml=\El:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# From: David J. MacKenzie , 14 Nov 1997 +# In retrospect, something like xterm-r6 was intended here -TD +xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1:\ + :am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:\ + :me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :r1=^O:r2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey) +# If configured to support 88- or 256-colors (which is fairly common in 2009), +# xterm also recognizes the control sequences for initc -TD +xterm-16color|xterm with 16 colors like aixterm:\ + :5i:NP:am:bs:cc:km:mi:ms:ut:xn:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# 256-colors is a compile-time feature of XFree86 xterm beginning with +# patch #111 (1999/7/10) -TD +xterm+256color|xterm 256-color feature:\ + :cc:\ + :Co#256:pa#32767:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:Sb@:Sf@: + +# 88-colors is a compile-time feature of XFree86 xterm beginning with +# patch #115 (1999/9/18) -TD +# +# Note that the escape sequences used are the same as for 256-colors - xterm +# has a different table of default color resource values. If built for +# 256-colors, it can still handle an 88-color palette by using the initc +# capability. +# +# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals +# which support the xterm+256color feature support the associated initc +# capability. So it is cancelled in the entries which use this and/or the +# xterm+256color block. +# +# The default color palette for the 256- and 88-colors are different. A +# given executable will have one palette (perhaps compiled-in). If the program +# supports xterm's control sequence, it can be programmed using initc. +xterm+88color|xterm 88-color feature:\ + :cc:\ + :Co#88:pa#7744:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm: + +# These variants of XFree86 3.9.16 xterm are built as a configure option. +xterm-256color|xterm with 256 colors:\ + :5i:NP:am:bs:cc:km:mi:ms:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:\ + :F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:\ + :FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: +xterm-88color|xterm with 88 colors:\ + :5i:NP:am:bs:cc:km:mi:ms:ut:xn:\ + :Co#88:co#80:it#8:li#24:pa#7744:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:\ + :F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:\ + :FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# These two are used to demonstrate the any-event mouse support, i.e., by +# using an extended name "XM" which tells ncurses to put the terminal into +# a special mode when initializing the xterm mouse. +xterm-1002|testing xterm-mouse:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: +xterm-1003|testing xterm-mouse:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# This is another variant, for XFree86 4.0 xterm (T.Dickey) +# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color. +# To use it, your decTerminalID resource must be set to 200 or above. +# +# HTS \E H \210 +# RI \E M \215 +# SS3 \E O \217 +# CSI \E [ \233 +# +xterm-8bit|xterm terminal emulator 8-bit controls (X Window System):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@1=\217E:@7=\2334~:@8=\217M:AB=\2334%dm:AF=\2333%dm:\ + :AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:F1=\23323~:\ + :F2=\23324~:F3=\23325~:F4=\23326~:F5=\23328~:F6=\23329~:\ + :F7=\23331~:F8=\23332~:F9=\23333~:FA=\23334~:IC=\233%d@:\ + :K1=\217w:K2=\217y:K3=\217u:K4=\217q:K5=\217s:Km=\233M:\ + :LE=\233%dD:RA=\233?7l:RI=\233%dC:SA=\233?7h:UP=\233%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\233L:as=\E(0:bl=^G:bt=\233Z:cb=\2331K:\ + :cd=\233J:ce=\233K:ch=\233%i%dG:cl=\233H\2332J:\ + :cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:ct=\2333g:\ + :cv=\233%i%dd:dc=\233P:dl=\233M:do=^J:ec=\233%dX:\ + :ei=\2334l:ho=\233H:im=\2334h:\ + :is=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8:\ + :k1=\23311~:k2=\23312~:k3=\23313~:k4=\23314~:k5=\23315~:\ + :k6=\23317~:k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:\ + :kB=\233Z:kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:\ + :kd=\217B:ke=\233?1l\E>:kh=\2331~:kl=\217D:kr=\217C:\ + :ks=\233?1h\E=:ku=\217A:le=^H:mb=\2335m:md=\2331m:\ + :me=\2330m:mk=\2338m:ml=\El:mr=\2337m:mu=\Em:nd=\233C:\ + :op=\23339;49m:pf=\2334i:po=\2335i:ps=\233i:r1=\Ec:\ + :r2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8:\ + :rc=\E8:sc=\E7:se=\23327m:sf=^J:so=\2337m:sr=\215:st=\210:\ + :ta=^I:te=\233?1049l:ti=\233?1049h:u6=\233[%i%d;%dR:\ + :u7=\E[6n:u8=\233[?1;2c:u9=\E[c:ue=\23324m:up=\233A:\ + :us=\2334m:vb=\233?5h\233?5l:ve=\233?25l\233?25h:\ + :vi=\233?25l:vs=\233?12;25h: + +xterm-hp|xterm with hpterm function keys:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\EF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:\ + :k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kC=\EJ:kD=\EP:kI=\EQ:kN=\ES:\ + :kP=\ET:kb=^H:kd=\EB:ke=\E[?1l\E>:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E[?1h\E=:ku=\EA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:ml=\El:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:\ + :mu=\Em:nd=\E[C:op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:\ + :ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: + +xterm-sco|xterm with SCO function keys:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[W:F2=\E[X:F3=\E[Y:\ + :F4=\E[Z:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:\ + :FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:\ + :FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:\ + :FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:\ + :FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[\136:Fa=\E[_:Fb=\E[`:\ + :Fc=\E[{:IC=\E[%d@:Km=\E[>M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\E[M:k2=\E[N:k3=\E[O:\ + :k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:k;=\E[V:\ + :kD=\177:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:\ + :mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# The xterm-new description has all of the features, but is not completely +# compatible with vt220. If you are using a Sun or PC keyboard, set the +# sunKeyboard resource to true: +# + maps the editing keypad +# + interprets control-function-key as a second array of keys, so a +# 12-fkey keyboard can support vt220's 20-fkeys. +# + maps numeric keypad "+" to ",". +# + uses DEC-style control sequences for the application keypad. +# +xterm-vt220|xterm emulating vt220:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:mo=\E[?1034l:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:pf=\E[4i:po=\E[5i:\ + :ps=\E[i:r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:\ + :ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: + +xterm-vt52|xterm emulating dec vt52:\ + :co#80:it#8:li#24:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :\ + :cr=^M:do=\EB:ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:\ + :le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA: + +xterm-noapp|xterm with cursor keys in normal mode:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\E[F:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:mo=\E[?1034l:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:pf=\E[4i:po=\E[5i:\ + :ps=\E[i:r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te@:ti@:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +xterm-24|vs100|xterms|xterm terminal emulator (X Window System):\ + :am:bs:km:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# This is xterm for ncurses. +xterm|xterm terminal emulator (X Window System):\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# This entry assumes that xterm's handling of VT100 SI/SO is disabled by +# setting the vt100Graphics resource to false. +xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# These entries allow access to the X titlebar and icon name as a status line. +# Note that twm (and possibly window managers descended from it such as tvtwm, +# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess +# with it. +xterm+sl|access X title line and icon name:\ + :5i:NP:am:bs:hs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:ws#40:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]0;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:\ + :im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: +xterm+sl-twm|access X title line (pacify twm-descended window managers):\ + :5i:NP:am:bs:hs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:ws#40:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:\ + :im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: + +# +# The following xterm variants don't depend on your base version +# +# xterm with bold instead of underline +xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold:\ + :am:bs:km:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[1m: +# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) +# (kterm should not invoke DEC Graphics as the alternate character set +# -- Kenji Rikitake) +# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics +# -- MATSUMOTO Shoji) +# kterm implements acsc via built-in table of X Drawable's +kterm|kterm kanji terminal emulator (X window system):\ + :am:bs:es:hs:km:mi:ms:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aajjkkllmmnnooppqqrrssttuuvvwwxx~~:ae=\E(B:\ + :al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:ds=\E[?H:eA=:ei=\E[4l:fs=\E[?F:ho=\E[H:\ + :im=\E[4h:is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ts=\E[?E\E[?%i%dT:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: +kterm-color|kterm-co|kterm with ANSI colors:\ + :am:bs:es:hs:km:mi:ms:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aajjkkllmmnnooppqqrrssttuuvvwwxx~~:ae=\E(B:\ + :al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:ds=\E[?H:eA=:ei=\E[4l:fs=\E[?F:ho=\E[H:\ + :im=\E[4h:is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ts=\E[?E\E[?%i%dT:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: +# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file +xterm-nic|xterm with ich/ich1 suppressed for non-curses programs:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic@:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: +# From: Mark Sheppard , 4 May 1996 +xterm1|xterm terminal emulator ignoring the alternate screen buffer:\ + :5i:NP:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:\ + :F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:\ + :FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:\ + :FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:\ + :FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:\ + :FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:\ + :FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:\ + :Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:\ + :Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:\ + :Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:\ + :Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:\ + :Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te@:ti@:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\ + :vs=\E[?12;25h: + +# This describes the capabilities of color_xterm, an xterm variant from +# before ECMA-64 color support was folded into the main-line xterm release. +# This entry is straight from color_xterm's maintainer. +# From: Jacob Mandelson , 09 Nov 1996 +# The README's with the distribution also say that it supports SGR 21, 24, 25 +# and 27, but they are not present in the terminfo or termcap. +color_xterm|cx|cx100|color_xterm color terminal emulator for X:\ + :am:bs:km:mi:ms:xn:\ + :Co#8:NC@:co#80:it#8:li#65:pa#64:\ + :@7=\E[8~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:\ + :i1=\E[r\E[m\E[?7h\E[?4;6l\E[4l:im=\E[4h:k1=\E[11~:\ + :k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:kh=\E[7~:kl=\EOD:kr=\EOC:\ + :ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[39;49m:\ + :r1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ + :te=\E>\E[?41;1r:ti=\E[?1;41s\E[?1;41h\E=:ue=\E[24m:\ + :up=\E[A:us=\E[4m: + +# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of +# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support +# SGR 39 or 49. SGR 0 does reset colors (along with everything else). This +# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except +# that each of those implements the home, end, delete keys differently. +# +# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce +# colors; note that this is not compatible with the 5.2 version. +# csw (2002-05-15): make xterm-color primary instead of nxterm, to +# match XFree86's xterm.terminfo usage and prevent circular links +xterm-color|nxterm|generic color xterm:\ + :am:bs:km:mi:ms:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[m:\ + :rc=\E8:rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0 +gnome-rh62|Gnome terminal:\ + :am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\177:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# GNOME Terminal 1.4.0.4 (Redhat 7.2) +# +# This implements a subset of vt102 with a random selection of features from +# other terminals such as color and function-keys. +# +# shift-f1 to shift-f10 are f11 to f20 +# +# NumLock changes the application keypad to approximate vt100 keypad, except +# that there is no escape sequence matching comma (,). +# +# Other defects observed: +# vt100 LNM mode is not implemented. +# vt100 80/132 column mode is not implemented. +# vt100 DECALN is not implemented. +# vt100 DECSCNM mode is not implemented, so flash does not work. +# vt100 TBC (tab reset) is not implemented. +# xterm alternate screen controls do not restore cursor position properly +# it hangs in tack after running function-keys test. +gnome-rh72|GNOME Terminal:\ + :am:bs:km@:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct@:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# GNOME Terminal 2.0.1 (Redhat 8.0) +# +# Documentation now claims it implements vt220 (which is demonstrably false). +# However, it does implement ECH, which is a vt220 feature. And there are +# workable vt100 LNM, DECALN, DECSNM modes, making it possible to display +# more of its bugs using vttest. +# +# However, note that bce and msgr are broken in this release. Tabs (tbc and +# hts) are broken as well. Sometimes flash (as in xterm-new) works. +# +# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu +# operations. Shift-tab generates a distinct sequence so it can be argued +# that it implements kcbt. +gnome-rh80|GNOME Terminal:\ + :am:bs:mi:ms@:ut@:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E^I:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:\ + :ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# GNOME Terminal 2.2.1 (Redhat 9.0) +# +# bce and msgr are repaired. +gnome-rh90|GNOME Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\EO2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\EO2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:@7=\EOF:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO3P:Fe=\EO3Q:\ + :Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:Fr=\EO4R:K2=\E[E:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# GNOME Terminal 2.14.2 (Fedora Core 5) +# Ed Catmur notes that gnome-terminal has recognized soft-reset since May 2002. +gnome-fc5|GNOME Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\EO2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\EO2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:@7=\EOF:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO3P:Fe=\EO3Q:\ + :Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:Fr=\EO4R:K2=\E[E:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\EO2B:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\EO2A:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:\ + :nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# GNOME Terminal 2.18.1 (2007 snapshot) +# +# For any "recent" version of gnome-terminal, it is futile to attempt to +# support modifiers on cursor- and keypad keys because the program usually +# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset +# of the keys (which more/less correspond to the termcap values), and will +# interpret those according to the $TERM value, but others not in the +# terminfo according to some constantly changing set of hacker guidelines -TD +vte-2007|VTE in GNOME Terminal snapshot 2.18.1:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:K2=\E[E:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +gnome-2007|GNOME Terminal snapshot 2.18.1:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:K2=\E[E:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# GNOME Terminal 2.22.3 (2008 snapshot) +# +# In vttest, it claims to be a vt220 with national replacement character-sets, +# but aside from the identifier string, implements only a small fraction of +# vt220's behavior, which will make it less usable on a VMS system (unclear +# what the intent of the developer is, since the NRC feature exposed in vttest +# by this change does not work). +vte-2008|VTE in GNOME Terminal snapshot 2.22.3:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO1;2P:\ + :F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +gnome-2008|GNOME Terminal snapshot 2.22.3:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO1;2P:\ + :F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# GNOME terminal may automatically use the contents of the "xterm" terminfo to +# supply key information which is not built into the program. With 2.22.3, +# this list is built into the program (which addresses the inadvertant use of +# random terminfo data, though using a set of values which does not correspond +# to any that xterm produces - still not solving the problem that GNOME +# terminal hardcodes the $TERM variable as "xterm"). +# +# terminfo modifier code keys +# kf13-kf24 shift 2 F1 to F12 +# kf25-kf36 control 5 F1 to F12 +# kf37-kf48 shift/control 6 F1 to F12 +# kf49-kf60 alt 3 F1 to F12 +# kf61-kf63 shift-alt 4 F1 to F3 +# +# The parameters with \EO (SS3) are technically an error, since SS3 should have +# no parameters. This appears to be rote copying based on xterm+pcc0. +vte+pcfkeys|VTE's variation on xterm+pcfkeys:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:F1=\E[23~:\ + :F2=\E[24~:F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\EO1;5P:FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[1;2A:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA: +gnome+pcfkeys|VTE's variation on xterm+pcfkeys:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:F1=\E[23~:\ + :F2=\E[24~:F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\EO1;5P:FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[1;2A:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA: + +vte|VTE aka GNOME Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO1;2P:\ + :F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +gnome|GNOME Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO1;2P:\ + :F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# palette is hardcoded... +vte-256color|VTE with xterm 256-colors:\ + :am:bs:cc:mi:ms:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:Ic@:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +gnome-256color|GNOME Terminal with xterm 256-colors:\ + :am:bs:cc:mi:ms:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# XFCE Terminal 0.2.5.4beta2 +# +# This is based on some of the same source code, e.g., the VTE library, as +# gnome-terminal, but has fewer features, fails more screens in vttest. +# Since most of the terminfo-related behavior is due to the VTE library, +# the terminfo is the same as gnome-terminal. +xfce|Xfce Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO1;2P:\ + :F4=\EO1;2Q:F5=\EO1;2R:F6=\EO1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO1;5P:\ + :FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO1;6P:\ + :FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# Multi-Gnome-Terminal 1.6.2 +# +# This does not use VTE, and does have different behavior (compare xfce and +# gnome). +mgt|Multi GNOME Terminal:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@1=\EOE:@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mk=\E[8m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1047l\E[?1048l:\ + :ti=\E[?1048h\E[?1047h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce +# or not is debatable). +kvt|KDE terminal:\ + :am:bs:km@:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:\ + :nd=\E[C:op=\E[m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# Konsole 1.0.1 +# (formerly known as kvt) +# +# This program hardcodes $TERM to 'xterm', which is not accurate. However, to +# simplify this entry (and point out why konsole isn't xterm), we base this on +# xterm-r6. The default keyboard appears to be 'linux'. +# +# Notes: +# a) konsole implements several features from XFree86 xterm, though none of +# that is documented - except of course in its source code - apparently +# because its implementors are unaccustomed to reading documentation - as +# evidenced by the sparse and poorly edited documentation distributed with +# konsole. Some features such as the 1049 private mode are recognized but +# incorrectly implemented as a duplicate of the 47 private mode. +# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad +# sends PC-style escapes rather than vt100. +# c) fails vttest menu 3 (Test of character sets) because it does not properly +# parse some control sequences. Also fails vttest Primary Device Attributes +# by sending a bogus code (in the source it says it's supposed to be a +# vt220, which is doubly incorrect because it does not implement vt220 +# control sequences except for a few special cases). Treat it as a +# mildly-broken vt102. +# +# Update for konsole 1.3.2: +# The 1049 private mode works (but see the other xterm screens in vttest). +# Primary Device Attributes now returns the code for a vt100 with advanced +# video option. Perhaps that's intended to be a "mildly-broken vt102". +# +# Updated for konsole 1.6.4: +# add konsole-solaris +# +# Updated for konsole 1.6.6: +# add control-key modifiers for function-keys, etc. +# +# vttest menu 1 shows that both konsole and gnome terminal do wrapping +# different from xterm (and vt100's). They have the same behavior in this +# detail, but it is unclear which copies the other. +konsole-base|KDE console window:\ + :NP:am:bs:km@:mi:ms:ut:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :*6@:@0@:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1@:F2@:F3@:F4@:F5@:F6@:F7@:F8@:\ + :F9@:FA@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1@:k2@:\ + :k3@:k4@:k5@:k6@:k7@:k8@:k9@:k;@:kD@:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +konsole-linux|KDE console window with linux keyboard:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3@:F4@:F5@:F6@:F7@:\ + :F8@:F9@:FA@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\E[[A:\ + :k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +konsole-solaris|KDE console window with Solaris keyboard:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:\ + :mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather +# than testing the code. +konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:\ + :mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# The value for kbs reflects local customization rather than the settings used +# for XFree86 xterm. +konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# Konsole does not implement shifted cursor-keys. +konsole+pcfkeys|konsole subset of xterm+pcfkeys:\ + :#4@:%i@:F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:\ + :F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO3P:Fe=\EO3Q:\ + :Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:Fr=\EO4R:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kF@:kR@: +# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but +# it is still useful for deriving the other entries. +konsole-vt100|KDE console window with vt100 (sic) keyboard:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3@:F4@:F5@:F6@:F7@:\ + :F8@:F9@:FA@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:\ + :mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +konsole-vt420pc|KDE console window with vt420 pc keyboard:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\177:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:\ + :mu=\Em:nd=\E[C:op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +konsole-16color|klone of xterm-16color:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#16:NC#32:co#80:it#8:li#24:pa#256:\ + :@7=\EOF:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\EO2P:F4=\EO2Q:F5=\EO2R:F6=\EO2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\EO5P:FG=\EO5Q:FH=\EO5R:FI=\EO5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:\ + :FT=\EO6R:FU=\EO6S:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:\ + :FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:\ + :Fc=\E[24;6~:Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:\ + :Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:\ + :Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:\ + :Fp=\EO4P:Fq=\EO4Q:Fr=\EO4R:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# make a default entry for konsole +konsole|KDE console window:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\EOF:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# palette is hardcoded... +konsole-256color|KDE console window with xterm 256-colors:\ + :NP:am:bs:cc:mi:ms:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\EO2P:F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:\ + :FH=\EO5R:FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:Ic@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD +# +# It is nominally a vt102 emulator, with features borrowed from rxvt and +# xterm. +# +# The function keys are numbered based on shift/control/alt modifiers, except +# that the control-modifier itself is used to spawn a new copy of mlterm (the +# "-P" option). So control/F1 to control/F12 may not be usable, depending on +# how it is configured. +# +# kf1 to kf12 \E[11~ to \E[24~ +# shift kf1 to kf12 \E[11;2~ to \E[24;2~ +# alt kf1 to kf12 \E[11;3~ to \E[24;3~ +# shift/alt kf1 to kf12 \E[11;4~ to \E[24;4~ +# control kf1 to kf12 \E[11;5~ to \E[24;5~ (maybe) +# control/shift kf1 to kf12 \E[11;6~ to \E[24;6~ +# control/alt kf1 to kf12 \E[11;7~ to \E[24;7~ +# control/shift/alt kf1 to kf12 \E[11;8~ to \E[24;8~ +# +mlterm|multi lingual terminal emulator:\ + :5i:NP:am:es:km:mi:ms:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#4=\EO1;2D:%c=\E[6;2~:%e=\E[5;2~:%i=\EO1;2C:*6=\E[4~:\ + :@0=\E[1~:@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[11;5~:FG=\E[12;5~:FH=\E[13;5~:FI=\E[14;5~:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\E[11;6~:FS=\E[12;6~:FT=\E[13;6~:FU=\E[14;6~:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\E[11;3~:Fe=\E[12;3~:Ff=\E[13;3~:Fg=\E[14;3~:\ + :Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:\ + :Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:\ + :Fp=\E[11;4~:Fq=\E[12;4~:Fr=\E[13;4~:IC=\E[%d@:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kF=\EO1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\EO1;2A:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:ps=\E[i:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# The insert/delete/home/end keys do not respond to modifiers because mlterm +# looks in its termcap to decide which string to send. If it used terminfo +# (when available), it could use the extended names introduced for xterm. +mlterm+pcfkeys|fragment for PC-style fkeys:\ + :#4=\EO1;2D:%c=\E[6;2~:%e=\E[5;2~:%i=\EO1;2C: + +mlterm-256color|mlterm 3.0 with xterm 256-colors:\ + :am:bs:cc:eo:mi:ms:ut:xn:xo:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# From: Thomas Dickey 04 Oct 1997 +# Updated: Oezguer Kesim 02 Nov 1997 +# Notes: +# rxvt 2.21b uses +# smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O, +# but some applications don't work with that. +# It also has an AIX extension +# box2=lqkxjmwuvtn, +# and +# ech=\E[%p1%dX, +# but the latter does not work correctly. +# +# The distributed terminfo says it implements hpa and vpa, but they are not +# implemented correctly, using relative rather than absolute positioning. +# +# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. +# Since rxvt is not really compatible with xterm, it should be configured as +# "rxvt" or "rxvt-color". +# +# removed dch/dch1 because they are inconsistent with bce/ech -TD +# remove km as per tack test -TD +rxvt-basic|rxvt terminal base (X Window System):\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :co#80:it#8:li#24:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:FC=\E[24$:\ + :FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:FG=\E[14\136:\ + :FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:FK=\E[19\136:\ + :FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:FO=\E[24\136:\ + :FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:FS=\E[29\136:\ + :FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:FW=\E[34\136:\ + :FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:kl=\E[D:\ + :kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# Key Codes from rxvt reference: +# +# Note: Shift + F1-F10 generates F11-F20 +# +# For the keypad, use Shift to temporarily override Application-Keypad +# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock +# is off, escape sequences toggle Application-Keypad setting. +# Also note that values of Home, End, Delete may have been compiled +# differently on your system. +# +# Normal Shift Control Ctrl+Shift +# Tab ^I ESC [ Z ^I ESC [ Z +# BackSpace ^H ^? ^? ^? +# Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ +# Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ +# Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ +# Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @ +# Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @ +# Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @ +# Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @ +# End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @ +# Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ +# F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^ +# F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^ +# F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^ +# F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^ +# F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^ +# F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^ +# F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^ +# F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^ +# F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^ +# F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^ +# F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @ +# F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @ +# F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @ +# F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @ +# F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @ +# F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @ +# F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @ +# F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ +# F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ +# F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ +# +# Application +# Up ESC [ A ESC [ a ESC O a ESC O A +# Down ESC [ B ESC [ b ESC O b ESC O B +# Right ESC [ C ESC [ c ESC O c ESC O C +# Left ESC [ D ESC [ d ESC O d ESC O D +# KP_Enter ^M ESC O M +# KP_F1 ESC O P ESC O P +# KP_F2 ESC O Q ESC O Q +# KP_F3 ESC O R ESC O R +# KP_F4 ESC O S ESC O S +# XK_KP_Multiply * ESC O j +# XK_KP_Add + ESC O k +# XK_KP_Separator , ESC O l +# XK_KP_Subtract - ESC O m +# XK_KP_Decimal . ESC O n +# XK_KP_Divide / ESC O o +# XK_KP_0 0 ESC O p +# XK_KP_1 1 ESC O q +# XK_KP_2 2 ESC O r +# XK_KP_3 3 ESC O s +# XK_KP_4 4 ESC O t +# XK_KP_5 5 ESC O u +# XK_KP_6 6 ESC O v +# XK_KP_7 7 ESC O w +# XK_KP_8 8 ESC O x +# XK_KP_9 9 ESC O y +# +# The source-code for rxvt actually defines mappings for F21-F35, using +# "ESC [ 35 ~" to "ESC [ 49 ~". Keyboards with more than 12 function keys +# are rare, so this entry uses the shift- and control-modifiers as in +# xterm+pcfkeys to define keys past F12. +# +# kIC is normally not used, since rxvt performs a paste for that (shifted +# insert), unless private mode 35 is set. +# +# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD +# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD +rxvt+pcfkeys|fragment for PC-style fkeys:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\ + :FC=\E[24$:FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:\ + :FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:\ + :FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:\ + :FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:\ + :FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:\ + :FW=\E[34\136:FX=\E[23@:FY=\E[24@:k1=\E[11~:k2=\E[12~:\ + :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[8\136:\ + :kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[b:kd=\E[B:\ + :kh=\E[7~:kl=\E[D:kr=\E[C:ku=\E[A: + +rxvt|rxvt terminal emulator (X Window System):\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-color|rxvt terminal emulator (X Window System):\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-256color|rxvt 2.7.9 with xterm 256-colors:\ + :am:bs:cc:eo:mi:ms:ut:xn:xo:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-88color|rxvt 2.7.9 with xterm 88-colors:\ + :am:bs:cc:eo:mi:ms:ut:xn:xo:\ + :Co#88:co#80:it#8:li#24:pa#7744:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-xpm|rxvt terminal emulator (X Window System):\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=+\257,\256-\1360\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=+\257,\256-\1360\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This variant is supposed to work with rxvt 2.7.7 when compiled with +# NO_BRIGHTCOLOR defined. rxvt needs more work... +rxvt-16color|xterm with 16 colors like aixterm:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#16:NC#32:co#80:it#8:li#24:pa#256:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:FC=\E[24$:\ + :FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:FG=\E[14\136:\ + :FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:FK=\E[19\136:\ + :FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:FO=\E[24\136:\ + :FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:FS=\E[29\136:\ + :FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:FW=\E[34\136:\ + :FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\ + :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# mrxvt 0.5.4 +# +# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which +# makes its function-keys different from other flavors of rxvt -TD +mrxvt|multitabbed rxvt:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7;2~:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[8;2~:@0=\E[1~:\ + :@7=\E[8~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[11;2~:\ + :F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[11;5~:\ + :FG=\E[12;5~:FH=\E[13;5~:FI=\E[14;5~:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[11;6~:\ + :FS=\E[12;6~:FT=\E[13;6~:FU=\E[14;6~:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[11;3~:\ + :Fe=\E[12;3~:Ff=\E[13;3~:Fg=\E[14;3~:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[11;4~:\ + :Fq=\E[12;4~:Fr=\E[13;4~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:RI=\E[%dC:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[1;2B:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +mrxvt-256color|multitabbed rxvt with 256 colors:\ + :am:bs:cc:eo:mi:ms:ut:xn:xo:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :#2=\E[7;2~:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[8;2~:@0=\E[1~:\ + :@7=\E[8~:@8=\EOM:AB=\E[48;5;%dm:AF=\E[38;5;%dm:\ + :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[11;5~:FG=\E[12;5~:FH=\E[13;5~:FI=\E[14;5~:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\E[11;6~:FS=\E[12;6~:FT=\E[13;6~:FU=\E[14;6~:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\E[11;3~:Fe=\E[12;3~:Ff=\E[13;3~:Fg=\E[14;3~:\ + :Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:\ + :Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:\ + :Fp=\E[11;4~:Fq=\E[12;4~:Fr=\E[13;4~:IC=\E[%d@:K1=\EOw:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[1;2B:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# From: Michael Jennings +# +# Eterm 0.9.3 +# +# removed kf0 which conflicts with kf10 -TD +# remove cvvis which conflicts with cnorm -TD +# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT +# but does otherwise follow the rxvt+pcfkeys model -TD +# remove nonworking flash -TD +# remove km as per tack test -TD +Eterm|Eterm-color|Eterm with xterm-style color support (X Window System):\ + :5i:am:bw:eo:mi:ms:ut:xn:xo:\ + :BT#5:Co#8:NC@:co#80:it#8:li#24:lm#0:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%1=\E[28~:%c@:%e@:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@1=\EOu:@7=\E[8~:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:\ + :FE=\E[12\136:FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:\ + :FI=\E[17\136:FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:\ + :FM=\E[21\136:FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:\ + :FQ=\E[26\136:FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:\ + :FU=\E[32\136:FV=\E[33\136:FW=\E[34\136:FX=\E[23@:\ + :FY=\E[24@:IC=\E[%d@:K1=\E[7~:K2=\EOu:K3=\E[5~:K4=\E[8~:\ + :K5=\E[6~:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\E[B:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E>\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[b:kb=^H:kd=\E[B:ke=:kh=\E[7~:kl=\E[D:kr=\E[C:ks=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +Eterm-256color|Eterm with xterm 256-colors:\ + :5i:am:bw:cc:eo:mi:ms:ut:xn:xo:\ + :BT#5:Co#256:co#80:it#8:li#24:lm#0:pa#32767:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%1=\E[28~:%i=\E[c:*4=\E[3$:\ + :*6=\E[4~:*7=\E[8$:@0=\E[1~:@1=\EOu:@7=\E[8~:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:\ + :FE=\E[12\136:FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:\ + :FI=\E[17\136:FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:\ + :FM=\E[21\136:FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:\ + :FQ=\E[26\136:FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:\ + :FU=\E[32\136:FV=\E[33\136:FW=\E[34\136:FX=\E[23@:\ + :FY=\E[24@:IC=\E[%d@:K1=\E[7~:K2=\EOu:K3=\E[5~:K4=\E[8~:\ + :K5=\E[6~:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\E[B:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E>\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[b:kb=^H:kd=\E[B:ke=:kh=\E[7~:kl=\E[D:kr=\E[C:ks=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +Eterm-88color|Eterm with 88 colors:\ + :5i:am:bw:cc:eo:mi:ms:ut:xn:xo:\ + :BT#5:Co#88:co#80:it#8:li#24:lm#0:pa#7744:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%1=\E[28~:%i=\E[c:*4=\E[3$:\ + :*6=\E[4~:*7=\E[8$:@0=\E[1~:@1=\EOu:@7=\E[8~:@8=\EOM:\ + :AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:FB=\E[23$:FC=\E[24$:FD=\E[11\136:\ + :FE=\E[12\136:FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:\ + :FI=\E[17\136:FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:\ + :FM=\E[21\136:FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:\ + :FQ=\E[26\136:FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:\ + :FU=\E[32\136:FV=\E[33\136:FW=\E[34\136:FX=\E[23@:\ + :FY=\E[24@:IC=\E[%d@:K1=\E[7~:K2=\EOu:K3=\E[5~:K4=\E[8~:\ + :K5=\E[6~:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\E[B:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E>\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kR=\E[b:kb=^H:kd=\E[B:ke=:kh=\E[7~:kl=\E[D:kr=\E[C:ks=:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[39;49m:pf=\E[4i:po=\E[5i:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# Based on rxvt 2.4.8, it has a few differences in key bindings +aterm|AfterStep terminal:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :FB=\E[23$:FC=\E[24$:FD=\E[11\136:FE=\E[12\136:\ + :FF=\E[13\136:FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:\ + :FJ=\E[18\136:FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:\ + :FN=\E[23\136:FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:\ + :FR=\E[28\136:FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:\ + :FV=\E[33\136:FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kR=\E[b:kb=\177:kd=\E[B:ke=\E>:kh=\E[7~:kl=\E[D:\ + :kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# xiterm 0.5-5.2 +# This is not based on xterm's source... +# vttest shows several problems with keyboard, cursor-movements. +# see also http://invisible-island.net/xterm/xterm.faq.html#bug_xiterm +xiterm|internationalized terminal emulator for X:\ + :am:bs:km@:mi:ms:xn:\ + :Co#8:NC#3:co#80:it#8:li#24:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[37;40m:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +# These (xtermc and xtermm) are distributed with Solaris. They refer to a +# variant of xterm which is apparently no longer supported, but are interesting +# because they illustrate SVr4 curses mouse controls - T.Dickey +xtermm|xterm terminal emulator (monocrome):\ + :am:bs:km:mi:ms:xn:\ + :BT#3:co#80:it#8:li#24:\ + :@7=\E[Y:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\EOZ:F2=\EOA:Gm=\E[%dY:IC=\E[%d@:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:Km=\E[^_:LE=\E[%dD:RI=\E[%dC:\ + :RQ=\E[492Z:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=:ho=\E[H:\ + :ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kN=\E[U:\ + :kP=\E[V:kb=^H:kd=\EOB:kh=\E[H:kl=\EOD:kr=\EOC:ku=\EOA:\ + :le=\E[D:mb@:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E@0\E[?4r:\ + :ti=\E@0\E[?4s\E[?4h\E@1:up=\E[A: + +xtermc|xterm terminal emulator (color):\ + :am:bs:km:mi:ms:xn:\ + :BT#3:Co#8:NC#7:co#80:it#8:li#24:pa#64:\ + :@7=\E[Y:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:F2=\EOA:Gm=\E[%dY:\ + :IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :Km=\E[^_:LE=\E[%dD:RI=\E[%dC:RQ=\E[492Z:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=:ho=\E[H:\ + :ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k;=\EOY:kN=\E[U:\ + :kP=\E[V:kb=^H:kd=\EOB:kh=\E[H:kl=\EOD:kr=\EOC:ku=\EOA:\ + :le=\E[D:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[100m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E@0\E[?4r:\ + :ti=\E@0\E[?4s\E[?4h\E@1:up=\E[A: + +# From: David J. MacKenzie 20 Apr 1995 +# Here's a termcap entry I've been using for xterm_color, which comes +# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the +# color stuff, I also have a status line defined as the window manager +# title bar. [I have translated it to terminfo -- ESR] +xterm-pcolor|xterm with color used for highlights and status line:\ + :5i:NP:am:bs:hs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:ws#40:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*6=\E[4~:*7=\E[1;2F:@0=\E[1~:\ + :@7=\EOF:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:\ + :FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]0;\007:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs=^G:\ + :ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m\E[43m:\ + :me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:mo=\E[?1034l:\ + :mr=\E[7m\E[34m:mu=\Em:nd=\E[C:op=\E[39;49m:pf=\E[4i:\ + :po=\E[5i:ps=\E[i:r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m\E[31m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l:ti=\E[?1049h:ts=\E]0;:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:\ + :us=\E[4m\E[42m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in +# from BSD termcap. (hpterm: added empty , we have no idea what ACS +# chars look like --esr) +hpterm|X-hpterm|hp X11 terminal emulator:\ + :am:da:db:mi:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#9600:sg#0:ug#0:\ + :LF=\E&j@:LO=\E&jB:ac=:ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:\ + :cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:\ + :cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kC=\EJ:kD=\EP:kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:\ + :kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:\ + :ku=\EA:le=^H:md=\E&dB:me=\E&d@:mh=\E&dH:ml=\El:mr=\E&dB:\ + :mu=\Em:nd=\EC:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=^I:\ + :ue=\E&d@:up=\EA:us=\E&dD: +# HPUX 11 provides a color version. +hpterm-color|HP X11 terminal emulator with color:\ + :am:cc:da:db:mi:xs:\ + :Co#64:Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pa#8:pb#9600:sg#0:ug#0:\ + :LF=\E&j@:LO=\E&jB:ac=:ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:\ + :cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:\ + :cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=\EB:ei=\ER:\ + :ho=\E&a0y0C:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ + :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:kE=\EK:kF=\ES:\ + :kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:\ + :kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:kt=\E2:ku=\EA:le=^H:md=\E&dB:me=\E&d@:mh=\E&dH:\ + :ml=\El:mr=\E&dB:mu=\Em:nd=\EC:op=\E&v0S:se=\E&d@:sf=^J:\ + :so=\E&dJ:sr=\ET:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# This entry describes an xterm with Sun-style function keys enabled +# via the X resource setting "xterm*sunFunctionKeys:true" +# To understand / note that L1,L2 and F11,F12 are the same. +# The ... keys are L3-L10. We don't set +# because we want it to be seen as . +# The ... keys are R1-R15. We treat some of these in accordance +# with their Sun keyboard labels instead. +# From: Simon J. Gerraty 10 Jan 1996 +xterm-sun|xterm with sunFunctionKeys true:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :%1=\E[196z:&8=\E[195z:@0=\E[200z:@5=\E[197z:@7=\E[220z:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[192z:F2=\E[193z:F3=\E[194z:\ + :F4=\E[195z:F5=\E[196z:F7=\E[198z:F8=\E[199z:F9=\E[200z:\ + :FA=\E[201z:FL=\E[208z:FM=\E[209z:FN=\E[210z:FO=\E[211z:\ + :FP=\E[212z:FQ=\E[213z:FS=\E[215z:FU=\E[217z:FW=\E[219z:\ + :FY=\E[221z:FZ=\E[222z:Fa=\E[234z:Fb=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\E[224z:k2=\E[225z:\ + :k3=\E[226z:k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:\ + :k8=\E[231z:k9=\E[232z:k;=\E[233z:kD=\E[3z:kI=\E[2z:\ + :kN=\E[222z:kP=\E[216z:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[214z:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: +xterms-sun|small (80x24) xterm with sunFunctionKeys true:\ + :5i:am:bs:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :%1=\E[196z:&8=\E[195z:@0=\E[200z:@5=\E[197z:@7=\E[220z:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[192z:F2=\E[193z:F3=\E[194z:\ + :F4=\E[195z:F5=\E[196z:F7=\E[198z:F8=\E[199z:F9=\E[200z:\ + :FA=\E[201z:FL=\E[208z:FM=\E[209z:FN=\E[210z:FO=\E[211z:\ + :FP=\E[212z:FQ=\E[213z:FS=\E[215z:FU=\E[217z:FW=\E[219z:\ + :FY=\E[221z:FZ=\E[222z:Fa=\E[234z:Fb=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\E[224z:k2=\E[225z:\ + :k3=\E[226z:k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:\ + :k8=\E[231z:k9=\E[232z:k;=\E[233z:kD=\E[3z:kI=\E[2z:\ + :kN=\E[222z:kP=\E[216z:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[214z:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:ml=\El:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\ + :r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\ + :vi=\E[?25l:vs=\E[?12;25h: + +# This is for the extensible terminal emulator on the X11R6 contrib tape. +# It corresponds to emu's internal emulation: +# emu -term emu +# emu's default sets TERM to "xterm", but that doesn't work well -TD +# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD +# fixes: add civis, cnorm, sgr -TD +emu|emu native mode:\ + :am:mi:ms:ut:xo:\ + :Co#15:co#80:it#8:li#24:pa#64:vt#200:\ + :*6=\Esel:@0=\Efind:@8=^M:AB=\Es%i%d;:AF=\Er%i%d;:\ + :AL=\EQ%d;:DC=\EI%d;:DL=\ER%d;:DO=\Ep%d;:F1=\EF11:\ + :F2=\EF12:F3=\EF13:F4=\EF14:F5=\EF15:F6=\EF16:F7=\EF17:\ + :F8=\EF18:F9=\EF19:FA=\EF20:LE=\Eq-%d;:RI=\Eq%d;:\ + :UP=\Ep-%d;:\ + :ac=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244:\ + :al=\EQ1;:bl=^G:cb=\EL:cd=\EN:ce=\EK:cl=\EP\EE0;0;:\ + :cm=\EE%d;%d;:cr=^M:cs=\Ek%d;%d;:ct=\Ej:dc=\EI1;:dl=\ER1;:\ + :do=\EB:ec=\Ej%d;:ei=\EX:ho=\EE0;0;:im=\EY:\ + :is=\ES\Er0;\Es0;:k0=\EF00:k1=\EF01:k2=\EF02:k3=\EF03:\ + :k4=\EF04:k5=\EF05:k6=\EF06:k7=\EF07:k8=\EF08:k9=\EF09:\ + :k;=\EF10:kD=\177:kI=\Eins:kN=\Enext:kP=\Eprior:kb=^H:\ + :kd=\EB:kl=\EC:kr=\ED:ku=\EA:le=^H:mb=\EW:md=\EU:me=\ES:\ + :mr=\ET:nd=\EC:op=\Es0;\Er0;:rs=\ES\Es0;\Er0;:se=\ES:\ + :sf=\EG:so=\ET:sr=\EF:st=\Eh:ta=^I:ue=\ES:up=\EA:us=\EV:\ + :ve=\Ea:vi=\EZ: + +# vt220 Terminfo entry for the Emu emulation, corresponds to +# emu -term vt220 +# with NumLock set (to make the keypad transmit kf0-kf9). +# fixes: add am, xenl, corrected sgr0 -TD +emu-220|Emu-220 (vt200-7bit mode):\ + :am:xn:xo:\ + :co#80:it#8:li#24:vt#200:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@4=\E[29~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOm:F2=\EOn:F3=\EOP:\ + :F4=\EOQ:F5=\EOR:F6=\EOS:FG=\E[17~:FH=\E[18~:FI=\E[19~:\ + :FJ=\E[20~:FK=\E[21~:FO=\E[26~:FR=\E[31~:FS=\E[32~:\ + :FT=\E[33~:FU=\E[34~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=^O:al=\E[1L:\ + :as=^N:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:cl=\E[2J\E[H:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[1P:\ + :dl=\E[1M:do=\E[1B:eA=\E)0:ho=\E[H:\ + :if=/usr/share/tabset/vt300:\ + :is=\E>\E[?1l\E[?3l\E[4l\E[?7h:k0=\EOp:k1=\EOq:k2=\EOr:\ + :k3=\EOs:k4=\EOt:k5=\EOu:k6=\EOv:k7=\EOw:k8=\EOx:k9=\EOy:\ + :k;=\EOl:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=\E[1D:mb=\E[0;5m:\ + :md=\E[0;1m:me=\E[0m:mr=\E[0;7m:nd=\E[1C:rc=\E8:\ + :rs=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[0;7m:sr=\EM:st=\EH:ta=^I:te=\E>:ti=\E[?1l\E=:\ + :ue=\E[m:up=\E[1A:us=\E[0;4m:ve=\E[?25h:vi=\E[?25l: +# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI, +# print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings +# indicate that it emulates more than one terminal, but incompletely. +# +# This is adapted from a FreeBSD bug-report by Daniel Rudy +# It is based on vt102's entry, with some subtle differences, but also +# has status line +# supports ANSI colors (except for 'op' string) +# apparently implements alternate screen like xterm +# does not use padding, of course. +mvterm|vv100|SwitchTerm aka mvTERM:\ + :am:es:hs:km:mi:ms:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[?E:eA=\E(B\E)0:ei=:\ + :fs=\E[?F:ho=\E[H:ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:\ + :k;=\EOx:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:op=\E[100m:rc=\E8:\ + :rs=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ts=\E[?E\E[?%i%dT:\ + :ue=\E[m:up=\E[A:us=\E[4m: + +### MTERM +# +# This application is available by email from . +# +# "mterm -type ansi" sets $TERM to "ansi" +mterm-ansi|ANSI emulation:\ + :am:bw:mi:ms:\ + :it#8:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:\ + :dl=\E[M:do=\E[B:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=:im=\E[4h:\ + :is=\E)0\017:kb=^H:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m: +# mterm normally sets $TERM to "mterm" +mterm|mouse-sun|Der Mouse term:\ + :am:bw:mi:\ + :it#8:\ + :al=^A:bl=^G:cd=^B:ce=^C:cl=^L:cm=\006%d.%d.:cr=^M:dc=^Y:\ + :dl=^K:do=^N:ei=^O:ho=^P:im=^Q:kb=^H:le=^H:ll=^R:nd=^S:\ + :nw=^M^U:se=^T:sf=^U:so=^V:sr=^W:ta=^I:up=^X: +# "mterm -type decansi" sets $TERM to "decansi" +# +# note: kdch1, kfnd, kslt are in the source code, but do not work -TD +decansi|ANSI emulation with DEC compatibility hacks:\ + :am:mi:ms:xn:\ + :Co#8:it#8:pa#64:\ + :*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%d`:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:eA=\E(B\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=:im=\E[4h:is=\E)0\E[r\017:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[0m:rc=\E8:sc=\E7:se=\E[27m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:\ + :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: + +#### VWM +# +# vwmterm is a terminal emulator written for the VWM console window manager +# +vwmterm|(vwm term):\ + :NP:am:cc:mi:ms:ut:xn:xo:\ + :Co#8:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:F1=\E[22~:\ + :F2=\E[23~:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:do=\E[B:ho=\E[H:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kN=\E[6~:kP=\E[5~:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:r1=\E[H\E[J\E[m\Ec:sf=^J:\ + :so=\E[3m:te=\E[?1049l:ti=\E[?1049h:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: + +#### MGR +# +# MGR is a Bell Labs window system lighter-weight than X. +# These entries describe MGR's xterm-equivalent. +# They are courtesy of Vincent Broman 14 Jan 1997 +# + +mgr|Bellcore MGR (non X) window system terminal emulation:\ + :am:km:\ + :AL=\E%da:DC=\E%dE:DL=\E%dd:IC=\E%dA:RA=\E5S:SA=\E5s:\ + :al=\Ea:bl=^G:cd=\EC:ce=\Ec:cl=^L:cm=\E%r%d;%dM:cr=^M:\ + :cs=\E%d;%dt:dc=\EE:dl=\Ed:do=\Ef:ei=:hd=\E1;2f:hu=\E1;2u:\ + :ic=\EA:im=:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :md=\E2n:me=\E0n:mr=\E1n:nd=\Er:nw=^M^J:se=\E0n:sf=^J:\ + :so=\E1n:ta=^I:ue=\E0n:up=\Eu:us=\E4n:ve=\Eh:vi=\E9h:\ + :vs=\E0h: +mgr-sun|Mgr window with Sun keyboard:\ + :am:km:\ + :%1=\E[207z:%6=\E[198z:&8=\E[195z:@0=\E[200z:@5=\E[197z:\ + :@7=\E[220z:@8=\E[250z:AL=\E%da:DC=\E%dE:DL=\E%dd:\ + :F1=\E[234z:F2=\E[235z:IC=\E%dA:K1=\E[214z:K2=\E[218z:\ + :K3=\E[216z:K4=\E[220z:K5=\E[222z:RA=\E5S:SA=\E5s:al=\Ea:\ + :bl=^G:cd=\EC:ce=\Ec:cl=^L:cm=\E%r%d;%dM:cr=^M:cs=\E%d;%dt:\ + :dc=\EE:dl=\Ed:do=\Ef:ei=:hd=\E1;2f:hu=\E1;2u:ic=\EA:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:md=\E2n:me=\E0n:mr=\E1n:nd=\Er:\ + :nw=^M^J:se=\E0n:sf=^J:so=\E1n:ta=^I:ue=\E0n:up=\Eu:us=\E4n:\ + :ve=\Eh:vi=\E9h:vs=\E0h: +mgr-linux|Mgr window with Linux keyboard:\ + :am:km:\ + :@7=\E[4~:AL=\E%da:DC=\E%dE:DL=\E%dd:F1=\E[23~:F2=\E[24~:\ + :IC=\E%dA:K1=\E[H:K2=\E[G:K3=\E[5~:K4=\E[Y:K5=\E[6~:\ + :RA=\E5S:SA=\E5s:al=\Ea:bl=^G:cd=\EC:ce=\Ec:cl=^L:\ + :cm=\E%r%d;%dM:cr=^M:cs=\E%d;%dt:dc=\EE:dl=\Ed:do=\Ef:ei=:\ + :hd=\E1;2f:hu=\E1;2u:ic=\EA:im=:k0=\E[[J:k1=\E[[A:k2=\E[[B:\ + :k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kD=\E[3~:kN=\E[6~:kP=\E[5~:kb=^H:\ + :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E2n:\ + :me=\E0n:mr=\E1n:nd=\Er:nw=^M^J:se=\E0n:sf=^J:so=\E1n:ta=^I:\ + :ue=\E0n:up=\Eu:us=\E4n:ve=\Eh:vi=\E9h:vs=\E0h: + +######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS +# + +# Columbus UNIX virtual terminal. This terminal also appears in +# UNIX 4.0 and successors as line discipline 1 (?), but is +# undocumented and does not really work quite right. +cbunix|cb unix virtual terminal:\ + :am:bs:da:db:\ + :co#80:li#24:lm#0:\ + :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%r%.%.:cr=^M:\ + :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ + :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb^D:sf=^J:so=\Ea^D:\ + :ue=\Eb^A:up=\EA:us=\Ea^A: +# (vremote: removed obsolete ":nl@:" -- esr) +vremote|virtual remote terminal:\ + :am@:bs:da:db:\ + :co#79:li#24:lm#0:\ + :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%r%.%.:cr=^M:\ + :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ + :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb^D:sf=^J:so=\Ea^D:\ + :ue=\Eb^A:up=\EA:us=\Ea^A: + +pty|4bsd pseudo teletype:\ + :am:bs:da:db:\ + :co#80:li#24:lm#0:\ + :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%+ %+ :cr=^M:\ + :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ + :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb$:sf=^J:so=\Ea$:ue=\Eb!:\ + :up=\EA:us=\Ea!: + +# The codes supported by the term.el terminal emulation in GNU Emacs 19.30 +eterm|gnu emacs term.el terminal emulation:\ + :am:mi:xn:\ + :co#80:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:\ + :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :im=\E[4h:le=^H:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:se=\E[m:\ + :sf=^J:so=\E[7m:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :ue=\E[m:up=\E[A:us=\E[4m: + +# The codes supported by the term.el terminal emulation in GNU Emacs 22.2 +eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96:\ + :am:mi:ms:xn:\ + :Co#8:co#80:li#24:pa#64:\ + :@7=\E[4~:AB=\E[%+(m:AF=\E[%+^^m:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:\ + :UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:\ + :dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:im=\E[4h:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[39;49m:r1=\Ec:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=^J:so=\E[7m:sr=\EM:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:ue=\E[24m:up=\E[A:us=\E[4m: + +# Entries for use by the `screen' program by Juergen Weigert, +# Michael Schroeder, Oliver Laumann. The screen and +# screen-w entries came with version 3.7.1. The screen2 and screen3 entries +# come from University of Wisconsin and may be older. +# (screen: added :ve: on ANSI model -- esr) +# +# 'screen' defines extensions to termcap. Some are used in its terminal +# description: +# G0 (bool) Terminal can deal with ISO 2022 font selection sequences. +# AX (bool) Does understand ANSI set default fg/bg color +# (\E[39m / \E[49m). +# S0 (str) Switch charset 'G0' to the specified charset. +# E0 (str) Switch charset 'G0' back to standard charset. +# +# tested with screen 3.09.08 +screen|VT 100/ANSI X3.64 virtual terminal:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#8:NC@:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: +# The bce and status-line entries are from screen 3.9.13 (and require some +# changes to .screenrc). +screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\ + :am:bs:km:mi:ms:pt:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ec@:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: +screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:\ + :ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\ + :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs=\E[34l: + +# ====================================================================== +# Entries for GNU Screen with 16 colors. +# Those variations permit to benefit from 16 colors palette, and from +# bold font and blink attribute separated from bright colors. But they +# are less portable than the generic "screen" 8 color entries: Their +# usage makes real sense only if the terminals you attach and reattach +# do all support 16 color palette. + +screen-16color|GNU Screen with 16 colors:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +screen-16color-s|GNU Screen with 16 colors and status line:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:\ + :ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\ + :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs=\E[34l: + +screen-16color-bce|GNU Screen with 16 colors and BCE:\ + :am:bs:km:mi:ms:pt:ut:xn:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +screen-16color-bce-s|GNU Screen with 16 colors, BCE, and status line:\ + :am:bs:km:mi:ms:pt:ut:xn:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:\ + :ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\ + :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs=\E[34l: + +# ====================================================================== +# Entries for GNU Screen 4.02 with --enable-colors256. + +screen-256color|GNU Screen with 256 colors:\ + :am:bs:cc@:km:mi:ms:pt:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :@7=\E[4~:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +screen-256color-s|GNU Screen with 256 colors and status line:\ + :am:bs:cc@:km:mi:ms:pt:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :@7=\E[4~:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:\ + :ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\ + :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs=\E[34l: + +screen-256color-bce|GNU Screen with 256 colors and BCE:\ + :am:bs:cc@:km:mi:ms:pt:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :@7=\E[4~:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +screen-256color-bce-s|GNU Screen with 256 colors, BCE, and status line:\ + :am:bs:cc@:km:mi:ms:pt:ut:xn:\ + :Co#256:co#80:it#8:li#24:pa#32767:\ + :@7=\E[4~:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:\ + :ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\ + :ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs=\E[34l: + +# ====================================================================== + +# Read the fine manpage: +# When screen tries to figure out a terminal name for +# itself, it first looks for an entry named "screen.", +# where is the contents of your $TERM variable. If +# no such entry exists, screen tries "screen" (or "screen-w" +# if the terminal is wide (132 cols or more)). If even this +# entry cannot be found, "vt100" is used as a substitute. +# +# Notwithstanding the manpage, screen uses its own notion of the termcap +# and some keys from "screen." are ignored. Here is an entry which +# covers those (tested with screen 4.00.02) -TD +screen+fkeys|function-keys according to screen:\ + :*6@:@0@:@7=\E[4~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kh=\E[1~: +# +# Here are a few customized entries which are useful -TD +# +# Notes: +# (a) screen does not support invis. +# (b) screen's implementation of bw is incorrect according to tack. +# (c) screen appears to hardcode the strings for khome/kend, making it +# necessary to override the "use=" clause's values (screen+fkeys). +# (d) screen sets $TERMCAP to a termcap-formatted copy of the 'screen' entry, +# which is NOT the same as the terminfo screen.. +# (e) when screen finds one of these customized entries, it sets $TERM to +# match. Hence, no "screen.xterm" entry is provided, since that would +# create heartburn for people running remote xterm's. +# +# xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV +# since the default translations override the built-in keycode +# translation. They are suppressed here to show what is tested by tack. +screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm:\ + :5i:NP:am:bs:bw:km:mi:ms:ut@:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3@:#4=\E[1;2D:%c@:%e@:%i=\E[1;2C:*4=\E[3;2~:\ + :*7=\E[1;2F:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\ + :F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\ + :FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\ + :FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk@:ml@:mm=\E[?1034h:\ + :mo=\E[?1034l:mr=\E[7m:mu@:nd=\E[C:op=\E[39;49m:pf=\E[4i:\ + :po=\E[5i:ps=\E[i:r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\ + :vs=\E[?12;25h: +# xterm-r6 does not really support khome/kend unless it is propped up by +# the translations resource. +screen.xterm-r6|screen customized for X11R6 xterm:\ + :am:bs:bw:km:mi:ms:xn:\ + :co#80:it#8:li#24:\ + :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:\ + :ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\ + :rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: +# Color applications running in screen and TeraTerm do not play well together +# on Solaris because Sun's curses implementation gets confused. +screen.teraterm|disable ncv in teraterm:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#8:NC#127:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: +# Other terminals +screen.rxvt|screen in rxvt:\ + :am:bs:bw:km:mi:ms:pt:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*7=\E[8$:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\ + :FC=\E[24$:FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:\ + :FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:\ + :FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:\ + :FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:\ + :FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:\ + :FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\EOw:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:sc=\E7:\ + :se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:\ + :ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ + :u9=\E[c:ue=\E[24m:up=\EM:us=\E[4m:vb@:ve=\E[34h\E[?25h:\ + :vi=\E[?25l:vs@: +screen.Eterm|screen in Eterm:\ + :5i:am:bw:eo:mi:ms:ut:xn:xo:\ + :BT#5:Co#8:co#80:it#8:li#24:lm#0:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%1=\E[28~:%i=\E[c:*4=\E[3$:\ + :*7=\E[8$:@1=\EOu:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\ + :FC=\E[24$:FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:\ + :FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:\ + :FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:\ + :FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:\ + :FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:\ + :FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\E[7~:\ + :K2=\EOu:K3=\E[5~:K4=\E[8~:K5=\E[6~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\E[B:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E>\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[8\136:\ + :kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:\ + :ke=:kh=\E[1~:kl=\E[D:kr=\E[C:ks=:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:pf=\E[4i:\ + :po=\E[5i:r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +screen.mrxvt|screen in mrxvt:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7;2~:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[8;2~:@7=\E[4~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:\ + :F6=\E[14;2~:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\E[11;5~:FG=\E[12;5~:FH=\E[13;5~:\ + :FI=\E[14;5~:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\E[11;6~:FS=\E[12;6~:FT=\E[13;6~:\ + :FU=\E[14;6~:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:\ + :FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:\ + :Fc=\E[24;6~:Fd=\E[11;3~:Fe=\E[12;3~:Ff=\E[13;3~:\ + :Fg=\E[14;3~:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\E[11;4~:Fq=\E[12;4~:Fr=\E[13;4~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\E[B:ke=\E>:\ + :kh=\E[1~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen.vte|screen in any VTE-based terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\E[4~:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:\ + :F6=\EO1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO1;5P:FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO1;6P:FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen.gnome|screen in GNOME Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\E[4~:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:\ + :F6=\EO1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO1;5P:FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO1;6P:FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen.konsole|screen in KDE console window:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# fix the backspace key +screen.linux|screen in linux console:\ + :am:bs:bw:km:mi:ms:pt:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB@:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: +screen.mlterm|screen in mlterm:\ + :5i:NP:am:es:km:mi:ms:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#4=\EO1;2D:%c=\E[6;2~:%e=\E[5;2~:%i=\EO1;2C:@7=\E[4~:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[11;2~:\ + :F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[11;5~:\ + :FG=\E[12;5~:FH=\E[13;5~:FI=\E[14;5~:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[11;6~:\ + :FS=\E[12;6~:FT=\E[13;6~:FU=\E[14;6~:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[11;3~:\ + :Fe=\E[12;3~:Ff=\E[13;3~:Fg=\E[14;3~:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[11;4~:\ + :Fq=\E[12;4~:Fr=\E[13;4~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:\ + :ac=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\EO1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\EO1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:nw=\EE:op=\E[39;49m:ps=\E[i:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +# The default "screen" entry is reasonably portable, but not optimal for the +# most widely-used terminal emulators. The "bce" capability is supported in +# screen since 3.9.13, and when used, will require fewer characters to be sent +# to the terminal for updates. +# +# If you are using only terminals which support bce, then you can use this +# feature in your screen configuration. +# +# Adding these lines to your ".screenrc" file will allow using these customized +# entries: +# term screen-bce +# bce on +# defbce on +screen-bce.xterm-new|screen optimized for modern xterm:\ + :5i:NP:am:bs:bw:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#4=\E[1;2D:%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:\ + :@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:\ + :FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\ + :FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\ + :Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\ + :Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:K2=\EOE:Km=\E[M:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ec@:ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mm=\E[?1034h:mo=\E[?1034l:\ + :mr=\E[7m:nd=\E[C:op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :r1=\Ec:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:\ + :ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: +screen-bce.rxvt|screen optimized for rxvt:\ + :am:bs:bw:km:mi:ms:pt:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\ + :*4=\E[3$:*7=\E[8$:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\ + :FC=\E[24$:FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:\ + :FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:\ + :FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:\ + :FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:\ + :FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:\ + :FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\EOw:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ec@:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[a:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:sc=\E7:\ + :se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:\ + :ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:\ + :u9=\E[c:ue=\E[24m:up=\EM:us=\E[4m:ve=\E[34h\E[?25h:\ + :vi=\E[?25l: +screen-bce.Eterm|screen optimized for Eterm:\ + :5i:am:bw:eo:mi:ms:ut:xn:xo:\ + :BT#5:Co#8:co#80:it#8:li#24:lm#0:pa#64:\ + :#2=\E[7$:#3=\E[2$:#4=\E[d:%1=\E[28~:%i=\E[c:*4=\E[3$:\ + :*7=\E[8$:@1=\EOu:@7=\E[4~:@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\ + :FC=\E[24$:FD=\E[11\136:FE=\E[12\136:FF=\E[13\136:\ + :FG=\E[14\136:FH=\E[15\136:FI=\E[17\136:FJ=\E[18\136:\ + :FK=\E[19\136:FL=\E[20\136:FM=\E[21\136:FN=\E[23\136:\ + :FO=\E[24\136:FP=\E[25\136:FQ=\E[26\136:FR=\E[28\136:\ + :FS=\E[29\136:FT=\E[31\136:FU=\E[32\136:FV=\E[33\136:\ + :FW=\E[34\136:FX=\E[23@:FY=\E[24@:IC=\E[%d@:K1=\E[7~:\ + :K2=\EOu:K3=\E[5~:K4=\E[8~:K5=\E[6~:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=\E[B:eA=\E)0:ec@:ei=\E[4l:ho=\E[H:i1=\E[?47l\E>\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[8\136:\ + :kF=\E[a:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[b:kb=^H:kd=\E[B:\ + :ke=:kh=\E[1~:kl=\E[D:kr=\E[C:ks=:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:pf=\E[4i:\ + :po=\E[5i:r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: +screen-bce.mrxvt|screen optimized for mrxvt:\ + :am:bs:eo:mi:ms:ut:xn:xo:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[7;2~:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[8;2~:@7=\E[4~:@8=\EOM:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[11;2~:F4=\E[12;2~:F5=\E[13;2~:\ + :F6=\E[14;2~:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\E[11;5~:FG=\E[12;5~:FH=\E[13;5~:\ + :FI=\E[14;5~:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\E[11;6~:FS=\E[12;6~:FT=\E[13;6~:\ + :FU=\E[14;6~:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:\ + :FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:\ + :Fc=\E[24;6~:Fd=\E[11;3~:Fe=\E[12;3~:Ff=\E[13;3~:\ + :Fg=\E[14;3~:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:\ + :Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:\ + :Fo=\E[24;3~:Fp=\E[11;4~:Fq=\E[12;4~:Fr=\E[13;4~:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:Km=\E[M:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dl=\E[M:do=^J:\ + :eA=\E(B\E)0:ec@:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kB=\E[Z:kD=\E[3~:kE=\E[8\136:kF=\E[1;2B:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=^H:kd=\E[B:ke=\E>:\ + :kh=\E[1~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:op=\E[39;49m:\ + :r1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen-bce.gnome|screen optimized for GNOME-Terminal:\ + :am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\ + :%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\E[4~:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\EO1;2P:F4=\EO1;2Q:F5=\EO1;2R:\ + :F6=\EO1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\ + :FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\ + :FE=\E[24;2~:FF=\EO1;5P:FG=\EO1;5Q:FH=\EO1;5R:FI=\EO1;5S:\ + :FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\ + :FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\ + :FR=\EO1;6P:FS=\EO1;6Q:FT=\EO1;6R:FU=\EO1;6S:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\EO1;3P:\ + :Fe=\EO1;3Q:Ff=\EO1;3R:Fg=\EO1;3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO1;4P:\ + :Fq=\EO1;4Q:Fr=\EO1;4R:K2=\E[E:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec@:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:ml=\El:\ + :mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:r1=\Ec:\ + :r2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen-bce.konsole|screen optimized for KDE console window:\ + :NP:am:bs:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\EO2P:\ + :F4=\EO2Q:F5=\EO2R:F6=\EO2S:F7=\E[15;2~:F8=\E[17;2~:\ + :F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:\ + :FD=\E[23;2~:FE=\E[24;2~:FF=\EO5P:FG=\EO5Q:FH=\EO5R:\ + :FI=\EO5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:\ + :FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:\ + :FQ=\E[24;5~:FR=\EO6P:FS=\EO6Q:FT=\EO6R:FU=\EO6S:\ + :FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:\ + :FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:\ + :Fd=\EO3P:Fe=\EO3Q:Ff=\EO3R:Fg=\EO3S:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\EO4P:Fq=\EO4Q:\ + :Fr=\EO4R:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec@:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:\ + :is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:\ + :op=\E[39;49m:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +screen-bce.linux|screen optimized for linux console:\ + :am:bs:bw:km:mi:ms:pt:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ec@:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: +screen-bce.mlterm|screen optimized for mlterm:\ + :5i:NP:am:es:km:mi:ms:ut:xn:\ + :Co#8:co#80:it#8:li#24:pa#64:\ + :#4=\EO1;2D:%c=\E[6;2~:%e=\E[5;2~:%i=\EO1;2C:@7=\E[4~:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[11;2~:\ + :F4=\E[12;2~:F5=\E[13;2~:F6=\E[14;2~:F7=\E[15;2~:\ + :F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:\ + :FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[11;5~:\ + :FG=\E[12;5~:FH=\E[13;5~:FI=\E[14;5~:FJ=\E[15;5~:\ + :FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\ + :FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[11;6~:\ + :FS=\E[12;6~:FT=\E[13;6~:FU=\E[14;6~:FV=\E[15;6~:\ + :FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\ + :Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[11;3~:\ + :Fe=\E[12;3~:Ff=\E[13;3~:Fg=\E[14;3~:Fh=\E[15;3~:\ + :Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\ + :Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[11;4~:\ + :Fq=\E[12;4~:Fr=\E[13;4~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:\ + :UP=\E[%dA:\ + :ac=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:eA=:ec@:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\ + :kF=\EO1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\EO1;2A:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:nw=\EE:op=\E[39;49m:ps=\E[i:rc=\E8:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[?1049l:ti=\E[?1049h:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[?25h:vi=\E[?25l: + +screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols:\ + :am:bs:km:mi:ms:pt:xn:\ + :Co#8:co#132:it#8:li#24:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ + :rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[34l: + +screen2|old VT 100/ANSI X3.64 virtual terminal:\ + :co#80:it#8:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bt=\E[Z:cd=\E[J:\ + :ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ic=:im=\E[4h:k0=\E~:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :k9=\E0I:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:\ + :me=\E[m:nd=\E[C:nw=^M^J:r1=\Ec:rc=\E8:sc=\E7:se=\E[23m:\ + :sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:\ + :us=\E[4m: +# (screen3: removed unknown ":xv:LP:G0:" -- esr) +screen3|older VT 100/ANSI X3.64 virtual terminal:\ + :km:mi:ms:\ + :co#80:it#8:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ + :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:\ + :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :kb=^H:kd=\EOB:ke=\E>:kl=\EOD:kr=\EOC:ks=\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:r1=\Ec:\ + :rc=\E8:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[24m:up=\EM:us=\E[4m: + +# Francesco Potorti : +# NCSA telnet is one of the most used telnet clients for the Macintosh. It has +# been maintained until recently by the National Center for Supercomputer +# Applications, and it is feature rich, stable and free. It can be downloaded +# from www.ncsa.edu. This terminfo description file is based on xterm-vt220, +# xterm+sl, and the docs at NCSA. It works well. +# +# NCSA Telnet 2.6 for Macintosh in vt220 8-bit emulation mode +# The terminal options should be set as follows: +# Xterm sequences ON +# use VT wrap mode ON +# use Emacs arrow keys OFF +# CTRL-COMND is Emacs meta ON +# 8 bit mode ON +# answerback string: "ncsa-vt220-8" +# setup keys: all disabled +# +# Application mode is not used. +# +# Other special mappings: +# Apple VT220 +# HELP Find +# HOME Insert here +# PAGEUP Remove +# DEL Select +# END Prev Screen +# PAGEDOWN Next Screen +# +# Though it supports ANSI color, NCSA Telnet uses color to represent blinking +# text. +# +# The status-line manipulation is a mapping of the xterm-compatible control +# sequences for setting the window-title. So you must use tsl and fsl in +# pairs, since the latter ends the string that is loaded to the window-title. +ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode:\ + :am:hs:km:mi:ms:xn:\ + :%1=\E[1~:@7=\E[5~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[29~:F2=\E[31~:F3=\E[32~:F4=\E[33~:\ + :F5=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ + :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ + :k1=\E[17~:k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ + :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ + :kD=\E[4~:kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E8:\ + :ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?62;1;6c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: +ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode:\ + :am:hs:km:mi:ms:xn:\ + :Co#8:NC#3:pa#64:\ + :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[29~:F2=\E[31~:\ + :F3=\E[32~:F4=\E[33~:F5=\E[34~:IC=\E[%d@:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ + :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ + :k1=\E[17~:k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ + :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ + :kD=\E[4~:kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E8:\ + :ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?62;1;6c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: +ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode:\ + :am:hs@:km:mi:ms:xn:\ + :Co#8:NC#3:pa#64:\ + :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[29~:F2=\E[31~:\ + :F3=\E[32~:F4=\E[33~:F5=\E[34~:IC=\E[%d@:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds@:eA=\E)0:ei=\E[4l:fs@:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:k1=\E[17~:\ + :k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:k6=\E[23~:\ + :k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:kD=\E[4~:\ + :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E8:\ + :ti=\E7:ts@:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?62;1;6c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: +ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in vt220-8 mode:\ + :am:hs@:km:mi:ms:xn:\ + :%1=\E[1~:@7=\E[5~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[29~:F2=\E[31~:F3=\E[32~:F4=\E[33~:\ + :F5=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds@:eA=\E)0:ei=\E[4l:fs@:\ + :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:k1=\E[17~:\ + :k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:k6=\E[23~:\ + :k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:kD=\E[4~:\ + :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :pf=\E[4i:po=\E[5i:rc=\E8:rf=/usr/share/tabset/vt100:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E8:\ + :ti=\E7:ts@:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?62;1;6c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: +# alternate -TD: +# The documented function-key mapping refers to the Apple Extended Keyboard +# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6). We use the VT220-style +# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on +# some keyboards and many applications require these as F1-F4. +# +ncsa-vt220|NCSA Telnet using vt220-compatible function keys:\ + :am:hs:km:mi:ms:xn:\ + :Co#8:NC#3:pa#64:\ + :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ + :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ + :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[21~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ + :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ + :rf=/usr/share/tabset/vt100:\ + :rs=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>:sc=\E7:\ + :se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E8:\ + :ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?62;1;6c:\ + :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h:vi=\E[?25l: + +#### Pilot Pro Palm-Top +# +# Termcap for Top Gun Telnet and SSH on the Palm Pilot. +# http://www.ai/~iang/TGssh/ +pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional:\ + :am:bs:xn:\ + :co#39:li#16:\ + :bl=^G:cl=\Ec:cm=\Em%+ %+ :cr=^M:do=^J:ho=\Em\s\s:kN=^L:\ + :kP=^K:kb=^H:kd=^J:kl=^H:le=^H:nw=\Em~\s:se=\EB:sf=^J:so=\Eb:\ + :ta=^I: + +# From: Federico Bianchi +# These entries are for the Embeddable Linux Kernel System (ELKS) +# project - an heavily stripped down Linux to be run on 16 bit +# boxes or, eventually, to be used in embedded systems - and have been +# adapted from the stock ELKS termcap. The project itself looks stalled, +# and the latest improvements I know of date back to March 2000. +# +# To cope with the ELKS dumb console I added an "elks-glasstty" entry; +# as an added bonus, this deals with all the capabilities common to +# both VT52 and ANSI (or, eventually, "special") modes. + +elks-glasstty|ELKS glass-TTY capabilities:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :bl=^G:cr=^M:kb=^H:kd=^J:kl=^H:nw=^M^J:sf=^J:ta=^I: + +elks-vt52|ELKS vt52 console:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :bl=^G:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:\ + :kb=^H:kd=^J:kl=^H:le=\ED:nd=\EC:nw=^M^J:sf=^J:ta=^I:up=\EA: + +elks-ansi|ELKS ANSI console:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :bl=^G:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:do=\E[B:\ + :ho=\E[H:kb=^H:kd=^J:kl=^H:le=\E[D:nd=\E[C:nw=^M^J:se=\E[m:\ + :sf=^J:so=\E[7m:ta=^I:up=\E[A: + +# As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation +# instead of VT52, but the "elks" entry still refers to the latter. + +elks|default ELKS console:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :bl=^G:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:\ + :kb=^H:kd=^J:kl=^H:le=\ED:nd=\EC:nw=^M^J:sf=^J:ta=^I:up=\EA: + +# Project SIBO (for Psion 3 palmtops) console is identical to the ELKS +# one but in screen size + +sibo|ELKS SIBO console:\ + :am:bs:\ + :co#61:it#8:li#20:\ + :bl=^G:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:\ + :kb=^H:kd=^J:kl=^H:le=\ED:nd=\EC:nw=^M^J:sf=^J:ta=^I:up=\EA: + +######## COMMERCIAL WORKSTATION CONSOLES +# + +#### Alpha consoles +# + +# This is from the OSF/1 Release 1.0 termcap file +pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation:\ + :am:xo:\ + :co#80:li#25:\ + :al=\E[L:bl=^G:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:ic=\E[@:im=:kb=^H:kd=\E[B:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:se=\E[m:so=\E[7m:ta=^I:up=\E[A: + +#### Sun consoles +# + +# :is1: resets scrolling region in case a previous user had used "tset vt100" +oldsun|Sun Microsystems Workstation console:\ + :am:bs:km:mi:ms:\ + :co#80:it#8:li#34:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:IC=\E[%d@:al=\E[L:bl=^G:\ + :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :dl=\E[M:do=\E[B:ei=:i1=\E[1r:ic=\E[@:im=:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ + :le=^H:me=\E[m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:ta=^I:up=\E[A: +# From: Alexander Lukyanov , 14 Nov 1995 +# :li: capability later corrected by J.T. Conklin +# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998) +sun-il|Sun Microsystems console with working insert-line:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :ue@:up=\E[A: +# On some versions of CGSIX framebuffer firmware (SparcStation 5), :al:/:AL: +# flake out on the last line. Unfortunately, without them the terminal has no +# way to scroll. +sun-cgsix|sun-ss5|Sun SparcStation 5 console:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL@:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al@:bl=^G:cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:\ + :cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:k1=\E[224z:\ + :k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:k6=\E[229z:\ + :k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:kD=\177:\ + :kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: +# If you are using an SS5, change the sun definition to use sun-ss5. +sun|sun1|sun2|Sun Microsystems Inc. workstation console:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: + +# From: Tue Sep 24 13:14:44 1985 +sun-s|Sun Microsystems Workstation window with status line:\ + :am:hs:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E]l\E\\:\ + :ei=:fs=\E\\:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ + :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ + :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ + :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:se=\E[m:sf=^J:so=\E[7m:\ + :ta=^I:ts=\E]l:u8=\E[1t:u9=\E[11t:up=\E[A: +sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs:\ + :am:hs:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E]l\E\\:\ + :ei=:fs=\E\\:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ + :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ + :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ + :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:se=\E[m:sf=^J:so=\E[7m:\ + :ta=^I:ts=\E]l:u8=\E[1t:u9=\E[11t:up=\E[A: +sun-48|Sun 48-line window:\ + :am:km:ms:\ + :co#80:li#48:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-34|Sun 34-line window:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-24|Sun 24-line window:\ + :am:km:ms:\ + :co#80:li#24:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-17|Sun 17-line window:\ + :am:km:ms:\ + :co#80:li#17:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-12|Sun 12-line window:\ + :am:km:ms:\ + :co#80:li#12:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-1|Sun 1-line window for sysline:\ + :am:es:hs:km:ms:\ + :co#80:li#1:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=^L:ei=:\ + :fs=\E[K:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ + :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ + :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ + :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:se=\E[m:sf=^J:so=\E[7m:\ + :ta=^I:ts=^M:u8=\E[1t:u9=\E[11t:up=\E[A: +sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei@:ic@:im@:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:\ + :up=\E[A: +sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history:\ + :am:km:ms:\ + :co#80:li#35:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ + :rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:te=\E[>4h:ti=\E[>4l:\ + :u8=\E[1t:u9=\E[11t:up=\E[A: +sun-type4|Sun Workstation console with type 4 keyboard:\ + :am:km:ms:\ + :co#80:li#34:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ + :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ + :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ + :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ + :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[221z:\ + :kh=\E[214z:kl=\E[217z:kr=\E[219z:ku=\E[215z:le=^H:\ + :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:se=\E[m:sf=^J:so=\E[7m:\ + :ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: + +# Most of the current references to sun-color are from users wondering why this +# is the default on install. Details from reading the wscons manpage, adding +# cub, etc., here (rather than in the base sun-il entry) since it is not clear +# when those were added -TD (2005-05-28) +# +# According to wscons manpage, color is supported only on IA systems. +# Sun's terminfo entry documents bold and smul/rmul capabilities, but wscons +# does not list these. It also sets ncv#3, however that corresponds to +# underline and standout. +# +# Since the documentation and terminfo do not agree, see also current code at +# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/tem_safe.c +# +# That (actually a different driver which "supports" sun-color) also supports +# these features: +# vpa=\E[%i%p1%dd +# hpa=\E[%i%p1%d` +# cbt=\E[Z +# dim=\E[2m +# blink=\E[5m +# It supports bold, but not underline -TD (2009-09-19) +sun-color|Sun Microsystems Workstation console with color support (IA systems):\ + :am:km:ms:\ + :Co#8:NC#3:co#80:li#34:pa#64:\ + :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AB=\E[4%dm:\ + :AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[234z:F2=\E[235z:IC=\E[%d@:K2=\E[218z:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:\ + :ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:\ + :k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:\ + :k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:\ + :kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:\ + :nd=\E[C:op=\E[0m:rs=\E[s:se=\E[m:sf=^J:so=\E[7m:ta=^I:\ + :u8=\E[1t:u9=\E[11t:up=\E[A: + +#### Iris consoles +# + # (wsiris: this had extension capabilities # :HS=\E7F2:HE=\E7F7:\ # :CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite: -# See the note on Iris extensions near the end of this file. -# Finally, removed suboptimal :cl:=\EH\EJ and added :do: & +# See the note on Iris extensions near the end of this file. +# Finally, removed suboptimal :cl:=\EH\EJ and added :do: & # :vb: from BRL -- esr) wsiris|iris40|iris emulating a 40 line visual 50 (approximately):\ :am:bs:nc:pt:\ @@ -4488,250 +10388,342 @@ nextshell|NeXT Shell application:\ :co#80:\ :bl=^G:cr=^M:do=^J:kb=^H:kd=^J:kl=^H:le=^H:nw=^M^J:ta=^I: -#### SCO consoles +#### Sony NEWS workstations # -# SCO console and SOS-Syscons console for 386bsd -# (scoansi: had unknown capabilities -# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ -# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: -# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ -# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ -# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ -# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based -# on the :as:=\E[12m -- esr) -# SCO function keys and corrected by Thomas Dickey. -# In this description based on SCO's keyboard(HW) manpage list of default function key -# values: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -scoansi|SCO Extended ANSI standard crt:\ - :am:eo:xo:\ - :Co#8:co#80:it#8:li#25:pa#64:\ - :@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:F1=\E[W:F2=\E[X:\ - :F3=\E[Y:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:\ - :FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:\ - :FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:\ - :FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:\ - :FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[^:Fa=\E[_:Fb=\E[`:Fc=\E[{:\ - :ac=0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`ja0fxgqh2jYk?lZm@nEqDtCu4vAwBx3~y:\ - :ae=\E[10m:al=\E[L:as=\E[12m:bt=\E[Z:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:\ - :ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:\ - :k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:k;=\E[V:kB=\E[Z:\ - :kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\ - :se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:\ +# (news-unk: this had :KB=news: -- esr) +news-unk|SONY NEWS vt100 emulator common entry:\ + :am:bs:pt:xn:\ + :co#80:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ :us=\E[4m: - -#### Sun consoles # - -# :is1: resets scrolling region in case a previous user had used "tset vt100" -oldsun|Sun Microsystems Workstation console:\ - :am:bs:km:mi:ms:\ - :co#80:it#8:li#34:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:IC=\E[%d@:al=\E[L:bl=^G:\ - :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:i1=\E[1r:ic=\E[@:im=:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:me=\E[m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:ta=^I:up=\E[A: -# From: Alexander Lukyanov , 14 Nov 1995 -# :li: capability later corrected by J.T. Conklin -# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998) -sun-il|Sun Microsystems console with working insert-line:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -# On a SparcStation 5, :al:/:AL: flake out on the last line. -# Unfortunately, without them the terminal has no way to scroll. -sun-ss5|Sun SparcStation 5 console:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:K2=\E[218z:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ - :dl=\E[M:do=^J:ei=:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:\ - :k3=\E[226z:k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:\ - :k8=\E[231z:k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:\ - :kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -# If you are using an SS5, change the sun definition to use sun-ss5. -sun|sun1|sun2|Sun Microsystems Inc. workstation console:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: - -# From: Tue Sep 24 13:14:44 1985 -sun-s|Sun Microsystems Workstation window with status line:\ - :am:hs:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E]l\E\\:\ - :ei=:fs=\E\\:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ - :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ - :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ - :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:ts=\E]l:u8=\E[1t:u9=\E[11t:\ - :up=\E[A: -sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs:\ - :am:hs:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E]l\E\\:\ - :ei=:fs=\E\\:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ - :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ - :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ - :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:ts=\E]l:u8=\E[1t:u9=\E[11t:\ - :up=\E[A: -sun-48|Sun 48-line window:\ - :am:km:ms:\ - :co#80:li#48:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-34|Sun 34-line window:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-24|Sun 24-line window:\ - :am:km:ms:\ +# (news-29: this had :TY=ascii: --esr) +news-29:\ + :am:bs:pt:xn:\ + :co#80:li#29:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-29-euc: this had :TY=euc: --esr) +news-29-euc:\ + :am:bs:pt:xn:\ + :co#80:li#29:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-29-sjis: this had :TY=sjis: --esr) +news-29-sjis:\ + :am:bs:pt:xn:\ + :co#80:li#29:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# +# (news-33: this had :TY=ascii: --esr) +news-33:\ + :am:bs:pt:xn:\ + :co#80:li#33:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-33-euc: this had :TY=euc: --esr) +news-33-euc:\ + :am:bs:pt:xn:\ + :co#80:li#33:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-33-sjis: this had :TY=sjis: --esr) +news-33-sjis:\ + :am:bs:pt:xn:\ + :co#80:li#33:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# +# (news-42: this had :TY=ascii: --esr) +news-42:\ + :am:bs:pt:xn:\ + :co#80:li#42:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-42-euc: this had :TY=euc: --esr) +news-42-euc:\ + :am:bs:pt:xn:\ + :co#80:li#42:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# (news-42-sjis: this had :TY=sjis: --esr) +news-42-sjis:\ + :am:bs:pt:xn:\ + :co#80:li#42:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :dl=\E[M:do=^J:ho=\E[H:if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ + :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ + :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: +# +# NEWS-OS old termcap entry +# +# (news-old-unk: this had :KB=news:TY=sjis: --esr) +news-old-unk|SONY NEWS vt100 emulator common entry:\ + :am:bs:pt:xn:\ + :co#80:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp512: this had :DE=^H:, which I think means :bs: --esr) +nwp512|news|nwp514|news40|vt100-bm|old sony vt100 emulator 40 lines:\ + :am:bs:pt:xn:\ + :co#80:li#40:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr) +nwp512-a|nwp514-a|news-a|news42|news40-a|sony vt100 emulator 42 line:\ + :am:bs:pt:xn:\ + :co#80:li#42:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8:k1=\EOP:k2=\EOQ:\ + :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp-512-o: this had :KB=nwp410:DE=^H: I interpret the latter as :bs:. --esr) +nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|sony vt100 emulator 40 lines:\ + :am:bs:pt:xn:\ + :co#80:li#40:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp513: this had :DE=^H: and the alias vt100-bm --esr) +nwp513|nwp518|nwe501|newscbm|news31|sony vt100 emulator 33 lines:\ + :am:bs:pt:xn:\ + :co#80:li#31:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as :bs:; --esr) +# also the alias vt100-bm. +nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old sony vt100 emulator 33 lines:\ + :am:bs:pt:xn:\ + :co#80:li#33:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (nwp513-o: had :DE=^H:, I think that's :bs:; also the alias vt100-bm --esr) +nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old sony vt100 emulator 33 lines:\ + :am:bs:pt:xn:\ + :co#80:li#31:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (news28: this had :DE=^H:, I think that's :bs:, and :KB=nws1200: --esr) +news28|sony vt100 emulator 28 lines:\ + :am:bs:pt:xn:\ + :co#80:li#28:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (news29: this had :TY=ascii:KB=nws1200:\ --esr) +news29|news28-a|sony vt100 emulator 29 lines:\ + :am:bs:pt:xn:\ + :co#80:li#29:vt#3:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:do=^J:ho=\E[H:\ + :if=/usr/share/tabset/vt100:\ + :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29r\E8:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: +# +# (news511: this had :TY=sjis: --esr) +nwp511|nwp-511|nwp-511 vt100:\ + :am:bs:pt:xn:\ :co#80:li#24:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-17|Sun 17-line window:\ - :am:km:ms:\ - :co#80:li#17:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-12|Sun 12-line window:\ - :am:km:ms:\ - :co#80:li#12:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-1|Sun 1-line window for sysline:\ - :am:es:hs:km:ms:\ - :co#80:li#1:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=^L:ei=:\ - :fs=\E[K:ic=\E[@:im=:k1=\E[224z:k2=\E[225z:k3=\E[226z:\ - :k4=\E[227z:k5=\E[228z:k6=\E[229z:k7=\E[230z:k8=\E[231z:\ - :k9=\E[232z:k;=\E[233z:kD=\177:kN=\E[222z:kP=\E[216z:\ - :kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :me=\E[m:mr=\E[7m:nd=\E[C:rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:ts=^M:u8=\E[1t:u9=\E[11t:\ - :up=\E[A: -sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character:\ - :am:km:ms:\ - :co#80:li#34:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:u8=\E[1t:u9=\E[11t:up=\E[A: -sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history:\ - :am:km:ms:\ - :co#80:li#35:\ - :%7=\E[194z:&5=\E[193z:&8=\E[195z:@7=\E[220z:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:F1=\E[234z:F2=\E[235z:IC=\E[%d@:\ - :K2=\E[218z:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ic=\E[@:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kD=\177:kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :rs=\E[s:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:te=\E[>4h:ti=\E[>4l:u8=\E[1t:\ - :u9=\E[11t:up=\E[A: + :al=\E[L:cd=30\E[J:ce=3\E[K:cl=20\E[;H\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=\E[B:\ + :is=\E[?5l\E[?1l\E>\E[?7h\E[?8h:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:k5=\EOT:k6=\E#W:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ku=\E[A:le=\E[D:nd=\E[C:\ + :rs=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h:se=2\E[m:\ + :so=2\E[7m:sr=5\EM:ue=2\E[m:up=2\E[A:us=2\E[4m:\ + :vb=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l: +# (news517: this had :TY=sjis:. --esr) +nwp517|nwp-517|nwp-517 vt200 80 cols 30 rows:\ + :5i:am:bs:es:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#30:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[1$~:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[0$}:ho=\E[H:i2=\E[2$~\n:\ + :if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[;%df:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l: +# (news517-w: this had :TY=sjis:. --esr) +nwp517-w|nwp-517-w|nwp-517 vt200 132 cols 50 rows:\ + :5i:am:bs:es:hs:mi:ms:xn:xo:\ + :co#132:it#8:li#50:vt#3:\ + :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ + :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[1$~:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[0$}:ho=\E[H:i2=\E[2$~\n:\ + :if=/usr/share/tabset/vt100:im=\E[4h:\ + :is=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\ + :l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:\ + :r2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\ + :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E[1$}\E[;%df:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l: #### Common Desktop Environment # @@ -4740,8 +10732,8 @@ sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history:\ # Corrected Sun Aug 9 1998 by Alexander V. Lukyanov dtterm|CDE desktop terminal:\ :am:mi:ms:xn:xo:\ - :Co#8:co#80:it#8:li#24:lm#0:pa#64:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:AB=\E[%+(m:AF=\E[%+^^m:\ + :Co#8:NC@:co#80:it#8:li#24:lm#0:pa#64:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:AB=\E[4%dm:AF=\E[3%dm:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ @@ -4755,585 +10747,39 @@ dtterm|CDE desktop terminal:\ :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\ - :..sa=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[22;27m:sf=\ED:so=\E[2;7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l: + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:sc=\E7:se=\E[22;27m:\ + :sf=\ED:so=\E[2;7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: -#### Mach +#### Non-Unix Consoles # -# From: Matthew Vernon -mach|Mach Console:\ - :am:km:\ - :co#80:it#8:li#25:\ - :@7=\E[Y:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ - :k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:kN=\E[U:kP=\E[V:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :se=\E[0m:sf=^J:so=\E[7m:ta=^I:up=\E[A: -mach-bold|Mach Console with bold instead of underline:\ - :am:km:\ - :co#80:it#8:li#25:\ - :@7=\E[Y:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\ - :cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:\ - :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ - :k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:kN=\E[U:kP=\E[V:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ - :se=\E[0m:sf=^J:so=\E[7m:ta=^I:ue=\E[0m:up=\E[A:us=\E[1m: - -#### OSF Unix +### EMX termcap.dat compatibility modes # - -# OSF/1 1.1 Snapshot 2 -pmcons|pmconsole|PMAX console:\ - :am:\ - :co#128:li#57:\ - :bl=^G:cl=^L:cr=^M:do=^J:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:sf=^J:ta=^I:up=^K: - -######## UNIX VIRTUAL TERMINALS AND TELNET CLIENTS -# - -#### FSF virtual terminal types -# - -# The codes supported by the term.el terminal emulation in GNU Emacs 19.30 -eterm|gnu emacs term.el terminal emulation:\ - :am:mi:xn:\ - :co#80:li#24:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:\ - :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ - :im=\E[4h:le=^H:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:se=\E[m:\ - :sf=^J:so=\E[7m:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ - :ue=\E[m:up=\E[A:us=\E[4m: - -# Entries for use by the `screen' program by Juergen Weigert, -# Michael Schroeder, Oliver Laumann. The screen and -# screen-w entries came with version 3.7.1. The screen2 and screen3 entries -# come from University of Wisconsin and may be older. -# (screen: added :ve: on ANSI model -- esr) -# (screen: added -- TD) - -screen|VT 100/ANSI X3.64 virtual terminal:\ - :am:km:mi:ms:xn:\ - :Co#8:NC#3:co#80:it#8:li#24:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:\ - :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:\ - :se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[34l: - -screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols:\ - :am:km:mi:ms:xn:\ - :Co#8:NC#3:co#132:it#8:li#24:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:LE=\E[%dD:\ - :RI=\E[%dC:UP=\E[%dA:\ - :ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :k;=\E[21~:kD=\E[3~:kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\ - :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec:sc=\E7:\ - :se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\ - :up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[34l: - -screen2|old VT 100/ANSI X3.64 virtual terminal:\ - :co#80:it#8:li#24:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bt=\E[Z:cd=\E[J:\ - :ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ - :dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ic=:im=\E[4h:k0=\E~:\ - :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ - :k9=\E0I:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:\ - :me=\E[m:nd=\E[C:nw=^M^J:r1=\Ec:rc=\E8:sc=\E7:se=\E[23m:\ - :sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:\ - :us=\E[4m: -# (screen3: removed unknown ":xv:LP:G0:" -- esr) -screen3|older VT 100/ANSI X3.64 virtual terminal:\ - :km:mi:ms:\ - :co#80:it#8:li#24:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ - :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:\ - :ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ - :kb=^H:kd=\EOB:ke=\E>:kl=\EOD:kr=\EOC:ks=\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:r1=\Ec:\ - :rc=\E8:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[24m:up=\EM:us=\E[4m: - -# Francesco Potorti : -# NCSA telnet is one of the most used telnet clients for the Macintosh. It has -# been maintained until recently by the National Center for Supercomputer -# Applications, and it is feature rich, stable and free. It can be downloaded -# from www.ncsa.edu. This terminfo description file is based on xterm-vt220, -# xterm+sl, and the docs at NCSA. It works well. -# -# NCSA Telnet 2.6 for Macintosh in vt220 8-bit emulation mode -# The terminal options should be set as follows: -# Xterm sequences ON -# use VT wrap mode ON -# use Emacs arrow keys OFF -# CTRL-COMND is Emacs meta ON -# 8 bit mode ON -# answerback string: "ncsa-vt220-8" -# setup keys: all disabled -# -# Application mode is not used. -# -# Other special mappings: -# Apple VT220 -# HELP Find -# HOME Insert here -# PAGEUP Remove -# DEL Select -# END Prev Screen -# PAGEDOWN Next Screen -# -# Though it supports ANSI color, NCSA Telnet uses color to represent blinking -# text. -# -# The status-line manipulation is a mapping of the xterm-compatible control -# sequences for setting the window-title. So you must use tsl and fsl in -# pairs, since the latter ends the string that is loaded to the window-title. -ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode:\ - :am:hs:km:mi:ms:xn:\ - :%1=\E[1~:@7=\E[5~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[29~:F2=\E[31~:F3=\E[32~:F4=\E[33~:\ - :F5=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ - :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :k1=\E[17~:k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ - :k6=\E23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ - :kD=\E[4~:kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E8:ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?62;1;6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: -ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode:\ - :am:hs:km:mi:ms:xn:\ - :Co#8:NC#3:pa#64:\ - :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[29~:F2=\E[31~:\ - :F3=\E[32~:F4=\E[33~:F5=\E[34~:IC=\E[%d@:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ - :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :k1=\E[17~:k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ - :k6=\E23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ - :kD=\E[4~:kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mr=\E[7m:nd=\E[C:op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E8:ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?62;1;6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: -ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode:\ - :am:km:mi:ms:xn:\ - :Co#8:NC#3:pa#64:\ - :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[29~:F2=\E[31~:\ - :F3=\E[32~:F4=\E[33~:F5=\E[34~:IC=\E[%d@:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:k1=\E[17~:\ - :k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:k6=\E23~:\ - :k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:kD=\E[4~:\ - :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E8:ti=\E7:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?62;1;6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: -ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in vt220-8 mode:\ - :am:km:mi:ms:xn:\ - :%1=\E[1~:@7=\E[5~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[29~:F2=\E[31~:F3=\E[32~:F4=\E[33~:\ - :F5=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:k1=\E[17~:\ - :k2=\E[18:k3=\E[19~:k4=\E[20~:k5=\E[21~:k6=\E23~:\ - :k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:kD=\E[4~:\ - :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E8:ti=\E7:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?62;1;6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: -# alternate -TD: -# The documented function-key mapping refers to the Apple Extended Keyboard -# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6). We use the VT220-style -# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on -# some keyboards and many applications require these as F1-F4. -# -ncsa-vt220|NCSA Telnet using vt220-compatible function keys:\ - :am:hs:km:mi:ms:xn:\ - :Co#8:NC#3:pa#64:\ - :%1=\E[1~:@7=\E[5~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E]0;\007:eA=\E)0:\ - :ei=\E[4l:fs=^G:ho=\E[H:if=/usr/share/tabset/vt100:\ - :im=\E[4h:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[21~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ - :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:kh=\E[2~:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:op=\E[37;40m:pf=\E[4i:po=\E[5i:rc=\E8:\ - :rf=/usr/share/tabset/vt100:\ - :rs=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[2J\E8:ti=\E7:ts=\E]0;:u6=\E[%i%d;%dR:u7=\E[6n:\ - :u8=\E[?62;1;6c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: - -#### Pilot Pro Palm-Top -# - -# From: Jason Downs , 15 Jun 1997 (Top Gun Telnet's author) -pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional:\ - :am:xn:\ - :co#39:li#16:\ - :bl=^G:cl=\Ec:cm=\Em%+ %+ :cr=^M:do=^J:ho=\Em\s\s:kN=^L:\ - :kP=^K:kb=^H:kd=^J:kl=^H:le=^H:nw=\Em~\s:se=\EB:sf=^J:so=\Eb:\ - :ta=^I: - -######## NON-UNIX CONSOLES -# - -#### MGR -# -# MGR is a Bell Labs window system lighter-weight than X. -# These entries describe MGR's xterm-equivalent. -# They are courtesy of Vincent Broman 14 Jan 1997 -# - -mgr|Bellcore MGR (non X) window system terminal emulation:\ - :am:km:\ - :AL=\E%da:DC=\E%dE:DL=\E%dd:IC=\E%dA:RA=\E5S:SA=\E5s:\ - :al=\Ea:bl=^G:cd=\EC:ce=\Ec:cl=^L:cm=\E%r%d;%dM:cr=^M:\ - :cs=\E%d;%dt:dc=\EE:dl=\Ed:do=\Ef:ei=:hd=\E1;2f:hu=\E1;2u:\ - :ic=\EA:im=:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :md=\E2n:me=\E0n:mr=\E1n:nd=\Er:nw=^M^J:se=\E0n:sf=^J:\ - :so=\E1n:ta=^I:ue=\E0n:up=\Eu:us=\E4n:ve=\Eh:vi=\E9h:\ - :vs=\E0h: -mgr-sun|Mgr window with Sun keyboard:\ - :am:km:\ - :%1=\E[207z:%6=\E[198z:&8=\E[195z:@0=\E[200z:@5=\E197z:\ - :@7=\E[220z:@8=\E[250z:AL=\E%da:DC=\E%dE:DL=\E%dd:\ - :F1=\E[234z:F2=\E[235z:IC=\E%dA:K1=\E[214z:K2=\E[218z:\ - :K3=\E[216z:K4=\E[220z:K5=\E[222z:RA=\E5S:SA=\E5s:al=\Ea:\ - :bl=^G:cd=\EC:ce=\Ec:cl=^L:cm=\E%r%d;%dM:cr=^M:cs=\E%d;%dt:\ - :dc=\EE:dl=\Ed:do=\Ef:ei=:hd=\E1;2f:hu=\E1;2u:ic=\EA:im=:\ - :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\ - :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:k;=\E[233z:\ - :kN=\E[222z:kP=\E[216z:kb=^H:kd=\E[B:kh=\E[214z:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:md=\E2n:me=\E0n:mr=\E1n:nd=\Er:\ - :nw=^M^J:se=\E0n:sf=^J:so=\E1n:ta=^I:ue=\E0n:up=\Eu:us=\E4n:\ - :ve=\Eh:vi=\E9h:vs=\E0h: -mgr-linux|Mgr window with Linux keyboard:\ - :am:km:\ - :@7=\E[4~:AL=\E%da:DC=\E%dE:DL=\E%dd:F1=\E[23~:F2=\E[24~:\ - :IC=\E%dA:K1=\E[H:K2=\E[G:K3=\E[5~:K4=\E[Y:K5=\E[6~:\ - :RA=\E5S:SA=\E5s:al=\Ea:bl=^G:cd=\EC:ce=\Ec:cl=^L:\ - :cm=\E%r%d;%dM:cr=^M:cs=\E%d;%dt:dc=\EE:dl=\Ed:do=\Ef:ei=:\ - :hd=\E1;2f:hu=\E1;2u:ic=\EA:im=:k0=\E[[J:k1=\E[[A:k2=\E[[B:\ - :k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\E[3~:kN=\E[6~:kP=\E[5~:kb=^H:\ - :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E2n:\ - :me=\E0n:mr=\E1n:nd=\Er:nw=^M^J:se=\E0n:sf=^J:so=\E1n:ta=^I:\ - :ue=\E0n:up=\Eu:us=\E4n:ve=\Eh:vi=\E9h:vs=\E0h: - -#### BeOS -# -# BeOS entry for Terminal program Seems to be almost ANSI -beterm|BeOS Terminal:\ - :am:eo:mi:ms:xn:xo:\ - :Co#8:NC#5:co#80:it#8:li#25:pa#64:\ - :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:F1=\E[21~:F2=\E[22~:IC=\E[%d@:Sb=\E[%+(m:\ - :Sf=\E[%+^^m:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ - :ic=\E[@:im=\E[4h:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ - :k5=\E[15~:k6=\E[16~:k7=\E[17~:k8=\E[18~:k9=\E[19~:\ - :k;=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:\ - :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:\ - :me=\E[0;10m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[m:r1=\Ec:\ - :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[24m:up=\E[A:us=\E[4m: - -#### QNX -# - -# QNX 4.0 Console -# Michael's original version of this entry had , :ti=\Ei:, -# :te=\Eh\ER:; this was so terminfo applications could write the lower -# right corner without triggering a scroll. The ncurses terminfo library can -# handle this case with the :ic: capability, and prefers :am: for better -# optimization. Bug: The capability resets attributes. -# From: Michael Hunter 30 Jul 1996 -# (removed: :sa=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,:) -qnx|qnx4|qnx console:\ - :YA:YC:km:mi:ms:xt:\ - :Co#8:NC#3:co#80:it#4:li#25:pa#8:\ - :!1=\377\307:!2=\377\303:!3=\377\337:#1=\377\371:\ - :#2=\377\260:#3=\377\340:#4=\377\264:%0=\377\336:\ - :%1=\377\350:%2=\377\355:%3=\377\345:%4=\377\351:\ - :%5=\377\312:%6=\377\357:%7=\377\353:%8=\377\302:\ - :%9=\377\255:%a=\377\304:%b=\377\306:%c=\377\272:\ - :%d=\377\372:%e=\377\262:%f=\377\275:%g=\377\315:\ - :%h=\377\373:%i=\377\266:%j=\377\374:&0=\377\263:\ - :&1=\377\354:&2=\377\347:&3=\377\362:&4=\377\352:\ - :&5=\377\360:&6=\377\361:&7=\377\335:&8=\377\365:\ - :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ - :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ - :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ - :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ - :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ - :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ - :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ - :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ - :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ - :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ - :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ - :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ - :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ - :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ - :Fb=\377\316:Fc=\377\317:..Sb=\E@%p1%Pb%gb%gf%d%d:\ - :..Sf=\E@%p1%Pf%gb%gf%d%d:Zc=\E!%02:\ - :ac=l\332m\300k\277j\331q\304x\263u\264t\303n\305v\301w\302O\333a\261o\337s\334:\ - :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ - :dc=\Ef:dl=\EF:do=^J:ei=:ho=\EH:ic=\Ee:im=:k1=\377\201:\ - :k2=\377\202:k3=\377\203:k4=\377\204:k5=\377\205:\ - :k6=\377\206:k7=\377\207:k8=\377\210:k9=\377\211:\ - :k;=\377\212:kA=\377\273:kB=\377\0:kC=\377\341:\ - :kD=\377\254:kE=\377\310:kF=\377\261:kI=\377\253:\ - :kL=\377\274:kM=\377\313:kN=\377\252:kP=\377\242:\ - :kR=\377\271:kS=\377\314:kT=\377\342:ka=\377\344:\ - :kd=\377\251:kh=\377\240:kl=\377\244:kr=\377\246:\ - :kt=\377\237:ku=\377\241:le=^H:mb=\E{:md=\E<:\ - :me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ - :rp=\Eg%r%+ %.:se=\E):sf=^J:so=\E(:sr=\EI:ta=^I:te=\Eh\ER:\ - :ti=\Ei:ue=\E]:up=\EA:us=\E[:ve=\Ey1:vi=\Ey0:vs=\Ey2: - -# From: Federico Bianchi , 1 Jul 1998 -# (esr: commented out and :te: to avoid warnings.) -# (TD: derive from original qnx4 entry) -qnxt2|qnx 2.15 serial terminal:\ - :YA:YC:am:km:mi:ms:xt:\ - :Co#8:NC#3:co#80:it#4:li#25:pa#8:\ - :!1=\377\307:!2=\377\303:#1=\377\371:#2=\377\260:\ - :#3=\377\340:#4=\377\264:%0=\377\336:%1=\377\350:\ - :%2=\377\355:%3=\377\345:%4=\377\351:%5=\377\312:\ - :%6=\377\357:%7=\377\353:%8=\377\302:%9=\377\255:\ - :%a=\377\304:%b=\377\306:%c=\377\272:%d=\377\372:\ - :%e=\377\262:%f=\377\275:%g=\377\315:%i=\377\266:\ - :&0=\377\263:&1=\377\354:&2=\377\347:&3=\377\362:\ - :&4=\377\352:&5=\377\360:&6=\377\361:&8=\377\365:\ - :&9=\377\356:*0=\377\370:*1=\377\267:*2=\377\363:\ - :*3=\377\364:*5=\377\366:*6=\377\247:*7=\377\301:\ - :*8=\377\311:*9=\377\367:@0=\377\346:@1=\377\300:\ - :@2=\377\243:@3=\377\343:@4=\377\245:@5=\377\265:\ - :@6=\377\305:@7=\377\250:@8=\377\320:@9=\377\270:\ - :F1=\377\256:F2=\377\257:F3=\377\213:F4=\377\214:\ - :F5=\377\215:F6=\377\216:F7=\377\217:F8=\377\220:\ - :F9=\377\221:FA=\377\222:FB=\377\223:FC=\377\224:\ - :FD=\377\333:FE=\377\334:FF=\377\225:FG=\377\226:\ - :FH=\377\227:FI=\377\230:FJ=\377\231:FK=\377\232:\ - :FL=\377\233:FM=\377\234:FN=\377\235:FO=\377\236:\ - :FP=\377\276:FQ=\377\277:FR=\377\321:FS=\377\322:\ - :FT=\377\323:FU=\377\324:FV=\377\325:FW=\377\326:\ - :FX=\377\327:FY=\377\330:FZ=\377\331:Fa=\377\332:\ - :Fb=\377\316:Fc=\377\317:Zc=\E!%02:\ - :ac=l\332m\300k\277j\331q\304x\263u\264t\303n\305v\301w\302O\333a\261o\337s\334:\ - :al=\EE:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ - :dl=\EF:do=^J:ho=\EH:k1=\377\201:k2=\377\202:k3=\377\203:\ - :k4=\377\204:k5=\377\205:k6=\377\206:k7=\377\207:\ - :k8=\377\210:k9=\377\211:k;=\377\212:kA=\377\273:\ - :kB=\377\0:kC=\377\341:kD=\377\254:kE=\377\310:\ - :kF=\377\261:kI=\377\253:kL=\377\274:kM=\377\313:\ - :kN=\377\252:kP=\377\242:kR=\377\271:kS=\377\314:\ - :kT=\377\342:ka=\377\344:kd=\377\251:kh=\377\240:\ - :kl=\377\244:kr=\377\246:kt=\377\237:ku=\377\241:le=^H:\ - :mb=\E{:md=\E<:me=\E}\E]\E>\E):mr=\E(:nd=\EC:op=\ER:r1=\ER:\ - :se=\E>:sf=^J:so=\E<:sr=\EI:ta=^I:ue=\E]:up=\EA:us=\E[: - -#### DOS ANSI.SYS variants -# -# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS -# documentation (except for the keyboard key reassignment feature, which -# doen't fit the model well). The klone+acs sequences were valid -# though undocumented. The capability is untested but should work for -# keys F1-F10 (%p1 values outside this range will yield unpredictable results). -# From: Eric S. Raymond Nov 7 1995 -ansi.sys-old|ANSI.SYS under PC-DOS 2.1:\ - :am:bs:mi:ms:xo:\ - :Co#8:NC#3:co#80:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ +# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the +# no_color_video to inform the application that standout(1), underline(2) +# reverse(4) and invisible(64) don't work with color. +emx-base|DOS special keys:\ + :am:bs:bw:mi:ms:ut:xo:\ + :Co#8:NC#71:co#80:it#8:li#25:pa#64:\ + :@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\ + :F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\ + :FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:\ + :FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\ + :FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\ + :FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\ + :K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ :SA=\E[?7h:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[11m:ce=\E[k:cl=\E[2J:cm=\E[%i%d;%dH:\ - :do=\E[B:ho=\E[H:is=\E[m\E[?7h:kd=^J:kh=^^:kl=^H:kr=^L:\ - :ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:bl=^G:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:do=\E[B:ho=\E[H:is=\E[m\E[?7h:k1=\0;:\ + :k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:k9=\0C:\ + :k;=\0D:kB=\0^O:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:\ + :kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E[u:\ :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ :up=\E[A:us=\E[4m: -ansi.sys|ANSI.SYS 3.1 and later versions:\ - :am:bs:mi:ms:xo:\ - :Co#8:NC#3:co#80:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ - :SA=\E[?7h:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[11m:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ - :do=\E[B:ho=\E[H:is=\E[m\E[?7h:kd=^J:kh=^^:kl=^H:kr=^L:\ - :ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -# -# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS. -# This should only be used when the terminal emulator cannot redefine the keys. -# Since redefining keys with ansi.sys also affects PC-DOS programs, the key -# definitions must be restored. If the terminal emulator is quit while in vi -# or others using :ks:/:ke:, the keypad will not be defined as per PC-DOS. -# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix -# (^U and ^D are already defined for tn3270). The ESC is safe for vi but it -# does "beep". ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab. -# Note that :kl: is always BS, because PC-dos can tolerate this change. -# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi. -# Consequently the End keypad key could not be set (it is relatively safe and -# actually useful because it sends ^@ O, which beeps and opens a line above). -ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi:\ - :am:bs:mi:ms:xo:\ - :Co#8:NC#3:co#80:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ - :SA=\E[?7h:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=\E[11m:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ - :do=\E[B:ho=\E[H:\ - :is=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\ - :kd=^J:\ - :ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\ - :kh=^^:kl=^H:kr=^L:\ - :ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\ - :ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ - :up=\E[A:us=\E[4m: -# -# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer. -nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS:\ - :am:bs:mi:ms:xo:\ - :Co#8:NC#3:co#80:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ - :SA=\E[?7h:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[1L:as=\E[11m:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%dH:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:ho=\E[H:\ - :ic=\E[1@:im=:\ - :is=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n:kd=^J:\ - :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:\ - :pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ - :up=\E[A:us=\E[4m: -# -# See ansi.sysk and nansi.sys above. -nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi:\ - :am:bs:mi:ms:xo:\ - :Co#8:NC#3:co#80:li#25:pa#64:\ - :AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\ - :SA=\E[?7h:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[1L:as=\E[11m:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%dH:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:ho=\E[H:\ - :ic=\E[1@:im=:\ - :is=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\ - :kd=^J:\ - :ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\ - :kh=^^:kl=^H:kr=^L:\ - :ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\ - :ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ - :up=\E[A:us=\E[4m: - -#### OS/2 -# # Except for the "-emx" suffixes, these are as distributed with EMX 0.9b, # a Unix-style environment used on OS/2. (Note that the suffix makes some @@ -5341,45 +10787,77 @@ nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi # # Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs. ansi-emx|ANSI.SYS color:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#16:co#80:it#8:li#25:pa#64:\ - :&7=^Z:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:IC=\E[%d@:K2=\E[G:\ - :S2=\E[11m:S3=\E[10m:bl=^G:cd=\E[J:ce=\E[K:\ + :am:bs:bw:eo:mi:ms:ut:xo:\ + :Co#8:NC#71:co#80:it#8:li#25:pa#64:\ + :&7=^Z:@7=\0O:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:F1=\0\205:\ + :F2=\0\206:F3=\0T:F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:\ + :FA=\0[:FB=\0\\:FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:\ + :FG=\0_:FH=\0`:FI=\0a:FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:\ + :FO=\0g:FP=\0\211:FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:\ + :FV=\0l:FW=\0m:FX=\0n:FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:\ + :Fc=\0\214:IC=\E[%d@:K1=\0G:K2=\E[G:K3=\0I:K4=\0O:K5=\0Q:\ + :RA=\E[?7l:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:\ :cl=\E[1;33;44m\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ - :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k0=\0D:k1=\0;:\ - :k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:k9=\0C:\ - :kH=\0O:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:\ - :kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0m\E[1;33;44m:mr=\E[5;37;41m:nd=\E[C:nw=^M^J:\ - :r1=\Ec:se=\E[0;44m\E[1;33m:sf=^J:so=\E[0;31;47m:st=\EH:\ - :ta=^I:u8=\E[?6c:u9=\E[c:ue=\E[0;44m\E[1;33m:up=\E[A:\ + :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:is=\E[m\E[?7h:\ + :k0=\0D:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:\ + :k8=\0B:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kH=\0O:kI=\0R:kN=\0Q:\ + :kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m\E[1;33;44m:mk=\E[8m:\ + :mr=\E[5;37;41m:nd=\E[C:nw=^M^J:op=\E[37;40m:r1=\Ec:\ + :rc=\E[u:sc=\E[s:se=\E[0;44m\E[1;33m:sf=^J:\ + :so=\E[0;31;47m:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?6c:u9=\E[c:ue=\E[0;44m\E[1;33m:up=\E[A:\ :us=\E[1;31;44m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +# nice colors for Emacs (white on blue, mode line white on cyan) ansi-color-2-emx|ANSI.SYS color 2:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#16:co#80:it#8:li#25:pa#64:\ - :&7=^Z:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:IC=\E[%d@:K2=\E[G:\ - :S2=\E[11m:S3=\E[10m:bl=^G:cd=\E[J:ce=\E[K:\ + :am:bs:bw:eo:mi:ms:ut:xo:\ + :Co#8:NC#71:co#80:it#8:li#25:pa#64:\ + :&7=^Z:@7=\0O:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:F1=\0\205:\ + :F2=\0\206:F3=\0T:F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:\ + :FA=\0[:FB=\0\\:FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:\ + :FG=\0_:FH=\0`:FI=\0a:FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:\ + :FO=\0g:FP=\0\211:FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:\ + :FV=\0l:FW=\0m:FX=\0n:FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:\ + :Fc=\0\214:IC=\E[%d@:K1=\0G:K2=\E[G:K3=\0I:K4=\0O:K5=\0Q:\ + :RA=\E[?7l:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:\ :cl=\E[0;37;44m\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ - :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k0=\0D:k1=\0;:\ - :k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:k9=\0C:\ - :kH=\0O:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:\ - :kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;37;44m:\ - :mr=\E[1;37;46m:nd=\E[C:nw=^M^J:r1=\Ec:se=\E[0;37;44m:\ - :sf=^J:so=\E[1;37;46m:st=\EH:ta=^I:u8=\E[?6c:u9=\E[c:\ + :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:is=\E[m\E[?7h:\ + :k0=\0D:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:\ + :k8=\0B:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kH=\0O:kI=\0R:kN=\0Q:\ + :kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0;37;44m:mk=\E[8m:\ + :mr=\E[1;37;46m:nd=\E[C:nw=^M^J:op=\E[37;40m:r1=\Ec:\ + :rc=\E[u:sc=\E[s:se=\E[0;37;44m:sf=^J:so=\E[1;37;46m:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ :ue=\E[0;37;44m:up=\E[A:us=\E[1;36;44m:vb=\E[?5h\E[?5l:\ :ve=\E[?25h:vi=\E[?25l: +# nice colors for Emacs (white on black, mode line black on cyan) ansi-color-3-emx|ANSI.SYS color 3:\ - :am:eo:mi:ms:ut:xn:xo:\ - :Co#16:co#80:it#8:li#25:pa#64:\ - :&7=^Z:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:IC=\E[%d@:K2=\E[G:\ - :S2=\E[11m:S3=\E[10m:bl=^G:cd=\E[J:ce=\E[K:\ + :am:bs:bw:eo:mi:ms:ut:xo:\ + :Co#8:NC#71:co#80:it#8:li#25:pa#64:\ + :&7=^Z:@7=\0O:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dp:F1=\0\205:\ + :F2=\0\206:F3=\0T:F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:\ + :FA=\0[:FB=\0\\:FC=\0]:FD=\0\207:FE=\0\210:FF=\0\136:\ + :FG=\0_:FH=\0`:FI=\0a:FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:\ + :FO=\0g:FP=\0\211:FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:\ + :FV=\0l:FW=\0m:FX=\0n:FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:\ + :Fc=\0\214:IC=\E[%d@:K1=\0G:K2=\E[G:K3=\0I:K4=\0O:K5=\0Q:\ + :RA=\E[?7l:S2=\E[11m:S3=\E[10m:SA=\E[?7h:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:\ :cl=\E[0;37;40m\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ - :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k0=\0D:k1=\0;:\ - :k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:k9=\0C:\ - :kH=\0O:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:\ - :kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0;10m:\ - :mr=\E[1;37;46m:nd=\E[C:nw=^M^J:r1=\Ec:se=\E[0;37;40m:\ - :sf=^J:so=\E[1;37;46m:st=\EH:ta=^I:u8=\E[?6c:u9=\E[c:\ + :do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:is=\E[m\E[?7h:\ + :k0=\0D:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:\ + :k8=\0B:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kH=\0O:kI=\0R:kN=\0Q:\ + :kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[1;37;46m:\ + :nd=\E[C:nw=^M^J:op=\E[37;40m:r1=\Ec:rc=\E[u:sc=\E[s:\ + :se=\E[0;37;40m:sf=^J:so=\E[1;37;46m:st=\EH:ta=^I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ :ue=\E[0;37;40m:up=\E[A:us=\E[0;36;40m:vb=\E[?5h\E[?5l:\ :ve=\E[?25h:vi=\E[?25l: mono-emx|stupid monochrome ansi terminal with only one kind of emphasis:\ @@ -5394,27 +10872,306 @@ mono-emx|stupid monochrome ansi terminal with only one kind of emphasis:\ # Use this for cygwin32 (tested with beta 19.1) # underline is colored bright magenta # shifted kf1-kf12 are kf11-kf22 -cygwin|ansi emulation for cygwin32:\ +cygwinB19|ansi emulation for cygwin32:\ :am:bs:mi:ms:xo:\ :Co#8:NC#3:co#80:li#25:pa#64:\ :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:S2=\E[11m:S3=\E[10m:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\0\\:FC=\0]:FD=\0\207:\ + :FE=\0\210:FF=\0\136:FG=\0_:FH=\0`:FI=\0a:FJ=\0b:FK=\0c:\ + :FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:FQ=\0\212:FR=\0h:\ + :FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:FY=\0o:FZ=\0p:\ + :Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:K3=\0I:K4=\0O:\ + :K5=\0Q:RA@:S2=\E[11m:S3=\E[10m:SA@:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ :ae=\E[10m:as=\E[11m:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ :do=\E[B:ho=\E[H:is=\E[m\E[?7h:k1=\E[[A:k2=\E[[B:k3=\E[[C:\ :k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :op=\E[37;40m:pk=\E[0;%+\:;"%s":rc=\E[u:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :k9=\E[20~:k;=\E[21~:kB=\0^O:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[37;40m:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:\ + :u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:us=\E[4m: - -#### Windows NT +# Use this for cygwin (tested with version 1.1.0). +# I've combined pcansi and linux. Some values of course were different and +# I've indicated which of these were and which I used. +# Cheers, earnie_boyd@yahoo.com +# several changes based on running with tack and comparing with older entry -TD +# more changes from csw: +# add cbt [backtab] +# remove eo [erase overstrike with blank] +# change clear was \E[H\E[J now \E[2J (faster?) +# remove cols +# remove lines +# remove ncv#3 [colors collide with highlights, bitmask] not applicable +# to MSDOS box? +# add cub [cursor back param] +# add cuf [cursor forward param] +# add cuu [cursor up param] +# add cud [cursor down param] +# add hs [has status line] +# add fsl [return from status line] +# add tsl [go to status line] +# add smacs [Start alt charset] (not sure if this works) +# add rmacs [End alt charset] (ditto) +# add smcup [enter_ca_mode] (save console; thanks Corinna) +# add rmcup [exit_ca_mode] (restore console; thanks Corinna) +# add kb2 [center of keypad] +# add u8 [user string 8] \E[?6c +# add el [clear to end of line] \E[K +# Notes: +# cnorm [make cursor normal] not implemented +# flash [flash] not implemented +# blink [blink] not implemented very usefully in cygwin? \E[5m +# dim [dim] not implemented very usefully in cygwin? \E[2m +# cub1 [cursor back 1] typically \E[D, but ^H is faster? +# kNXT [shifted next key] not implemented +# kPRV [shifted prev key] not implemented +# khome [home key] really is \E[1~ NOT \E[H +# tbc [clear tab stops] not implemented +# xenl [newline ignnored after 80 cols] messes up last line? Ehud Karni +# smpch [Start PC charset] is \E[11m, same as smacs +# rmpch [End PC charset] is \E[10m, same as rmacs +# mir [move in insert mode] fails in tack? +# bce [back color erase] causes problems with change background color? +# cvvis [make cursor very visible] causes a stackdump when testing with +# testcurs using the output option? \E[?25h\E[?8c +# civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c +# ech [erase characters param] broken \E[%p1%dX +# kcbt [back-tab key] not implemented in cygwin? \E[Z # +# 2005/11/12 -TD +# Remove cbt since it does not work in current cygwin +# Add 'mir' and 'in' flags based on tack +cygwin|ansi emulation for Cygwin:\ + :am:hs:mi:ms:xo:\ + :Co#8:it#8:pa#64:\ + :&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:LE=\E[%dD:\ + :RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:fs=^G:\ + :ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[[A:k2=\E[[B:k3=\E[[C:\ + :k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ + :kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\ + :ts=\E];:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\ + :ue=\E[24m:up=\E[A:us=\E[4m: + +# I've supplied this so that you can help test new values and add other +# features. Cheers, earnie_boyd@yahoo.com. +# +# Some features are from pcansi. The op value is from linux. Function-keys +# are from linux. These have been tested not to cause problems. xenl was in +# this list, but DOES cause problems so it has been removed +cygwinDBG|Debug Version for Cygwin:\ + :am:eo:mi:ms:xo:\ + :Co#8:NC#3:co#80:it#8:li#24:pa#64:\ + :%c=\E[6$:%e=\E[5$:&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:\ + :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ + :F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ + :K2=\E[G:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\ + :ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[[A:k2=\E[[B:\ + :k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:r1=\Ec\E]R:rc=\E8:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:ve=\E[?25h: + +# Key definitions: +# The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc. match the +# encodings used by other x86 environments. All others are invented for DJGPP. +# Oddly enough, while several combinations of modifiers are tabulated, there is +# none for shifted cursor keys. +# +# F1 \E[[A +# F2 \E[[B +# F3 \E[[C +# F4 \E[[D +# F5 \E[[E +# F6 \E[17~ +# F7 \E[18~ +# F8 \E[19~ +# F9 \E[20~ +# F10 \E[21~ +# F11 \E[23~ +# F12 \E[24~ +# +# Delete \E[3~ +# Down Arrow \E[B +# End \E[4~ +# Home \E[1~ +# Insert \E[2~ +# Left Arrow \E[D +# Page Down \E[6~ +# Page Up \E[5~ +# Right Arrow \E[C +# Up Arrow \E[A +# +# Shift-F1 \E[25~ +# Shift-F2 \E[26~ +# Shift-F3 \E[27~ +# Shift-F4 \E[28~ +# Shift-F5 \E[29~ +# Shift-F6 \E[30~ +# Shift-F7 \E[31~ +# Shift-F8 \E[32~ +# Shift-F9 \E[33~ +# Shift-F10 \E[34~ +# Shift-F11 \E[35~ +# Shift-F12 \E[36~ +# +# Ctrl-F1 \E[47~ +# Ctrl-F2 \E[48~ +# Ctrl-F3 \E[49~ +# Ctrl-F4 \E[50~ +# Ctrl-F5 \E[51~ +# Ctrl-F6 \E[52~ +# Ctrl-F7 \E[53~ +# Ctrl-F8 \E[54~ +# Ctrl-F9 \E[55~ +# Ctrl-F10 \E[56~ +# Ctrl-F11 \E[57~ +# Ctrl-F12 \E[58~ +# +# Ctrl-Delete \E[43~ +# Ctrl-Down Arrow \E[38~ +# Ctrl-End \E[44~ +# Ctrl-Home \E[41~ +# Ctrl-Insert \E[42~ +# Ctrl-Left Arrow \E[39~ +# Ctrl-Page Down \E[46~ +# Ctrl-Page Up \E[45~ +# Ctrl-Right Arrow \E[40~ +# Ctrl-Up Arrow \E[37~ +# +# Alt-F1 \E[59~ +# Alt-F2 \E[60~ +# Alt-F3 \E[61~ +# Alt-F4 \E[62~ +# Alt-F5 \E[63~ +# Alt-F6 \E[64~ +# Alt-F7 \E[65~ +# Alt-F8 \E[66~ +# Alt-F9 \E[67~ +# Alt-F10 \E[68~ +# Alt-F11 \E[79~ +# Alt-F12 \E[80~ +# +# Alt-Delete \E[65~ +# Alt-Down Arrow \E[60~ +# Alt-End \E[66~ +# Alt-Home \E[41~ +# Alt-Insert \E[64~ +# Alt-Left Arrow \E[61~ +# Alt-Page Down \E[68~ +# Alt-Page Up \E[67~ +# Alt-Right Arrow \E[62~ +# Alt-Up Arrow \E[59~ +# +# Also: +# Alt-A \E[82~ +# Alt-B \E[82~ +# Alt-C \E[83~ +# Alt-D \E[84~ +# Alt-E \E[85~ +# Alt-F \E[86~ +# Alt-G \E[87~ +# Alt-H \E[88~ +# Alt-I \E[89~ +# Alt-J \E[90~ +# Alt-K \E[91~ +# Alt-L \E[92~ +# Alt-M \E[93~ +# Alt-N \E[94~ +# Alt-O \E[95~ +# Alt-P \E[96~ +# Alt-Q \E[97~ +# Alt-R \E[98~ +# Alt-S \E[99~ +# Alt-T \E[100~ +# Alt-U \E[101~ +# Alt-V \E[102~ +# Alt-W \E[103~ +# Alt-X \E[104~ +# Alt-Y \E[105~ +# Alt-Z \E[106~ +djgpp|ansi emulation for DJGPP alpha:\ + :am:ms:ut:xo:xs:xt:\ + :Co#8:it#8:pa#64:\ + :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:ec=\E[%dX:ei=:ho=\E[H:\ + :ic=\E[@:im=:k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[37;40m:\ + :se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:us=\E[4m:\ + :ve=\E[v:vi=\E[1v:vs=\E[2v: + +djgpp203|Entry for DJGPP 2.03:\ + :am:bs:\ + :co#80:it#8:li#25:\ + :bl=^G:cr=^M:do=^J:kb=^H:kd=^J:kl=^H:le=^H:nw=^M^J:sf=^J:\ + :ta=^I: + +djgpp204|Entry for DJGPP 2.04:\ + :am:bs:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ + :do=\E[B:ec=\E[%dX:ei=:ho=\E[H:ic=\E[@:im=:k0=\E[21~:\ + :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kH=\E[4~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ + :kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:up=\E[A:us=\E[4m:\ + :ve=\E[v:vi=\E[1v:vs=\E[2v: + +# This is tested using U/Win's telnet. Scrolling is omitted because it is +# buggy. Another odd bug appears when displaying "~" in alternate character +# set (the emulator spits out error messages). Compare with att6386 -TD +uwin|U/Win 3.2 console:\ + :am:eo:in:ms:xn:xo:\ + :Co#8:NC#58:it#8:pa#64:\ + :@7=\E[Y:AB=\E[4%dm:AF=\E[3%dm:DC=\E[%dP:F1=\EOZ:F2=\EOA:\ + :IC=\E[%d@:S2=\E[11m:S3=\E[10m:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:as=\E[11m:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:do=^J:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :k9=\EOX:k;=\EOY:kD=\177:kI=\E[@:kb=^H:kd=\E[B:kh=\E[H:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0;10m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[39;49m:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:so=\E[7m:\ + :st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:\ + :us=\E[4m:ve=\E[?25h:vi=\E[?25l: + # This entry fits the Windows NT console when the _POSIX_TERM environment # variable is set to 'on'. While the Windows NT POSIX console is seldom used, # the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP @@ -5427,7 +11184,7 @@ cygwin|ansi emulation for cygwin32:\ # but the termcap entry is actually broken and unusable as given; the :do: # capability is misspelled "d". # -# To use this, you need to a bunch of environment variables: +# To use this, you need to a bunch of environment variables: # # SET _POSIX_TERM=on # SET TERM=ansi @@ -5439,7 +11196,7 @@ cygwin|ansi emulation for cygwin32:\ # Important note: setting the TMP environment variable in POSIX style renders # it incompatible with a lot of other applications, including Visual C++. So # you should have a separate command window just for vi. All the other -# variables may be permanently set in the Control Panel\System applet. +# variables may be permanently set in the Control Panel\System applet. # # You can find out more about the restrictions of this facility at # . @@ -5470,12 +11227,1558 @@ pcmw|PC running Microsoft Works:\ :sf=5\ED:so=2\E[7m:sr=5\EM:st=2\EH:ta=^I:ue=2\E[m:up=2\E[A:\ :us=2\E[4m: +# From: Federico Bianchi +# This is the entry for the OpenNT terminal. +# The ntconsole name is for backward compatability. +# This is for OpenNT 2.0 and later. +# Later OpenNT was renamed to Interix. +# +# Presently it is distributed by Microsoft as Services For Unix (SFU). +# The 3.5 beta contains ncurses 4.2 (that is header files and executables, +# the documentation dates from 1.9.9e) -TD + +interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-35|ntconsole-35|OpenNT-term35 compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#35:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-50|ntconsole-50|OpenNT-term50 compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#50:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-60|ntconsole-60|OpenNT-term60 compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#60:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-100|ntconsole-100|OpenNT-term100 compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#100:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# OpenNT wide terminals +opennt-w|opennt-25-w|ntconsole-w|ntconsole-25-w|OpenNT-term-w compat with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#125:li#25:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-35-w|ntconsole-35-w|OpenNT-term35-w compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#125:li#35:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-50-w|ntconsole-50-w|OpenNT-term50-w compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#125:li#50:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-60-w|ntconsole-60-w|OpenNT-term60-w compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#125:li#60:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +opennt-w-vt|opennt-25-w-vt|ntconsole-w-vt|ntconsole-25-w-vt|OpenNT-term-w-vt compat with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#132:li#25:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te=\E[2b\E[u\r\E[K:ti=\E[s\E[1b:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# OpenNT terminals with no smcup/rmcup (names match termcap entries) +interix-nti|opennt-nti|opennt-25-nti|ntconsole-25-nti|OpenNT-nti compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#25:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:te@:ti@:ue=\E[m:up=\E[A:us=\E[4m: + +opennt-35-nti|ntconsole-35-nti|OpenNT-term35-nti compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#35:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +opennt-50-nti|ntconsole-50-nti|OpenNT-term50-nti compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#50:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +opennt-60-nti|ntconsole-60-nti|OpenNT-term60-nti compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#60:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + +opennt-100-nti|ntconsole-100-nti|OpenNT-term100-nti compatible with color:\ + :am:bw:ms:\ + :Co#8:NC#3:co#80:li#100:pa#64:\ + :@7=\E[U:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\EFB:F2=\EFC:F3=\EFD:F4=\EFE:F5=\EFF:F6=\EFG:\ + :F7=\EFH:F8=\EFI:F9=\EFJ:FA=\EFK:FB=\EFL:FC=\EFM:FD=\EFN:\ + :FE=\EFO:FF=\EFP:FG=\EFQ:FH=\EFR:FI=\EFS:FJ=\EFT:FK=\EFU:\ + :FL=\EFV:FM=\EFW:FN=\EFX:FO=\EFY:FP=\EFZ:FQ=\EFa:FR=\EFb:\ + :FS=\EFc:FT=\EFd:FU=\EFe:FV=\EFf:FW=\EFg:FX=\EFh:FY=\EFi:\ + :FZ=\EFj:Fa=\EFk:Fb=\EFm:Fc=\EFn:Fd=\EFo:Fe=\EFp:Ff=\EFq:\ + :Fg=\EFr:Fh=\EFs:Fi=\EFt:Fj=\EFu:Fk=\EFv:Fl=\EFw:Fm=\EFx:\ + :Fn=\EFy:Fo=\EFz:Fp=\EF+:Fq=\EF-:Fr=\EF\014 kf64=\EF$:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:Sb=\E[%+(m:\ + :Sf=\E[%+^^m:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ + :cm=\E[%i%d;%dH:dl=\E[M:do=^J:ho=\E[H:k0=\EFA:k1=\EF1:\ + :k2=\EF2:k3=\EF3:k4=\EF4:k5=\EF5:k6=\EF6:k7=\EF7:k8=\EF8:\ + :k9=\EF9:k;=\EFA:kB=\E[Z:kD=\E[M:kH=\E[U:kI=\E[L:kN=\E[T:\ + :kP=\E[S:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[U:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[m:r1=\Ec:rc=\E[u:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + ######## COMMON TERMINAL TYPES # # This section describes terminal classes and maker brands that are still # quite common, but have proprietary command sets not blessed by ANSI. # +#### Altos +# +# Altos made a moderately successful line of UNIX boxes. In 1990 they were +# bought out by Acer, a major Taiwanese manufacturer of PC-clones. +# Acer has a web site at http://www.acer.com. +# +# Altos descriptions from Ted Mittelstaedt 4 Sep 1993 +# His comments suggest they were shipped with the system. +# + +# (altos2: had extension capabilities +# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ +# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ +# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ +# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: +# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ +# :YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\ +# :HL=^AP\r:SP=\E[i:\ +# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ +# :LO=\E[0q:LC=\E[5q:LL=\E[6q:\ +# Comparison with the k* capabilities makes it obvious that the c* things are +# shift keys. I have renamed them to keys 32 and up accordingly. Also, +# :sr: was given as a boolean-- esr) +altos2|alt2|altos-2|altos II:\ + :co#80:it#8:li#24:sg#0:ug#0:\ + :*5=^Am\r:*8=^An\r:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:FP=^Ac\r:\ + :FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:FV=^Ai\r:\ + :FW=^Aj\r:FX=^Ak\r:RA=\E[?7l:SA=\E[?7h:al=\E[L:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :dl=\E[M:do=\E[1B:ei=:ho=\E[H:ic=\E[@:\ + :if=/usr/share/tabset/vt100:im=:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:k0=^AI\r:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ + :kD=^AM\r:kE=^AN\r:kF=^AO\r:kb=^H:kd=\E[B:kh=\E[f:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[1C:nw=^M^J:se=\E[m:\ + :sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[1A:us=\E[4m: +# (altos3: had extension capabilities +# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ +# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ +# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ +# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: +# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ +# :HL=^AP\r:SP=\E[i:\ +# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ +altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V:\ + :co#80:it#8:li#24:sg#0:ug#0:\ + :*5=^Am\r:*8=^An\r:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:FP=^Ac\r:\ + :FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:FV=^Ai\r:\ + :FW=^Aj\r:FX=^Ak\r:RA=\E[?7l:SA=\E[?7h:al=\E[L:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :dl=\E[M:do=\E[1B:ei=:ho=\E[H:ic=\E[@:\ + :if=/usr/share/tabset/vt100:im=:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:k0=^AI\r:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ + :kD=^AM\r:kE=^AN\r:kF=^AO\r:kb=^H:kd=\E[B:kh=\E[f:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5p:me=\E[p:nd=\E[1C:nw=^M^J:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[1A:\ + :us=\E[4m: +altos4|alt4|altos-4|altos IV:\ + :5i:am:bw:hs:mi:ms:xo:\ + :Nl#8:co#80:lh#1:li#24:lw#8:ma#1:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ + :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ + :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ + :ho=^^:i1=\E`\:\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ + :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ + :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ + :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ + :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):\ + :mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:\ + :ta=^I:ts=\EF:up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# (altos7: had extension capabilities: +# :GG#0:GI=\EH8:GF=\EH7:\ +# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ +# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ +# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ +# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: +# Comparison with the k* capabilities makes it obvious that the c* things are +# shift keys. I have renamed them to keys 32 and up accordingly. I have +# also made this entry relative to adm12 in order to give it an :sa:. The +# imported by use=adm+sgr may work, let me know. -- esr) +altos7|alt7|altos VII:\ + :am:mi:\ + :co#80:li#24:sg#0:ug#0:\ + :*5=^Am\r:*8=^An\r:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:FP=^Ac\r:\ + :FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:FV=^Ai\r:\ + :FW=^Aj\r:FX=^Ak\r:ac=j5k3l2m1n8q\:t4u9v=w0x6:al=\EE:\ + :cd=\EY:ce=\ET:cl=\E+^^:cm=\E=%+ %+ :cr=^M:dc=\EW:dl=\ER:\ + :do=^J:ei=\Er:ho=^^:im=\Eq:\ + :is=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2:k0=^AI\r:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ + :kD=^AM\r:kE=^AN\r:kF=^AO\r:kN=\EK:kP=\EJ:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EGt:me=\EG0:mh=\EGp:\ + :mk=\EG1:mr=\EG4:nd=^L:nw=^M^J:pf=\EJ:po=\Ed#:se=\EG0:sf=^J:\ + :so=\EG4:sr=\Ej:ta=^I:ue=\EG0:up=^K:us=\EG8: +altos7pc|alt7pc|altos PC VII:\ + :am:mi:\ + :co#80:li#24:sg#0:ug#0:\ + :*5=^Am\r:*8=^An\r:@7=\ET:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:\ + :FP=^Ac\r:FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:\ + :FV=^Ai\r:FW=^Aj\r:FX=^Ak\r:ac=j5k3l2m1n8q\:t4u9v=w0x6:\ + :al=\EE:cd=\EY:ce=\ET:cl=\E+^^:cm=\E=%+ %+ :cr=^M:dc=\EW:\ + :dl=\ER:do=^J:ei=\Er:ho=^^:im=\Eq:\ + :is=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2:k0=^AI\r:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ + :kD=^AM\r:kE=^AN\r:kF=^AO\r:kN=\EK:kP=\EJ:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EGt:me=\EG0:mh=\EGp:\ + :mk=\EG1:mr=\EG4:nd=^L:nw=^M^J:pf=\EJ:po=\Ed#:se=\EG0:sf=^J:\ + :so=\EG4:sr=\Ej:ta=^I:ue=\EG0:up=^K:us=\EG8: + +#### Hewlett-Packard (hp) +# +# Hewlett-Packard +# 8000 Foothills Blvd +# Roseville, CA 95747 +# Vox: 1-(916)-785-4363 (Technical response line for VDTs) +# 1-(800)-633-3600 (General customer support) +# +# +# As of March 1998, HP no longer has any terminals in production. +# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being +# supported (they still have parts). So are the 2392a and 2394a. +# See the WORKSTATION CONSOLES section for the 700s. +# + +# Generic HP terminal - this should (hopefully) work on any HP terminal. +hpgeneric|hp|hewlett-packard generic terminal:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#24:lm#0:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:kB=\Ei:kb=^H:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +hp110|hewlett-packard model 110 portable:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#16:lm#0:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:kB=\Ei:kb=^H:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +hp+pfk+cr|hp function keys with CR:\ + :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ + :k7=\Ev\r:k8=\Ew\r: + +hp+pfk-cr|hp function keys w/o CR:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew: + +# The hp2621s use the same keys for the arrows and function keys, +# but not separate escape sequences. These definitions allow the +# user to use those keys as arrow keys rather than as function +# keys. +hp+pfk+arrows|hp alternate arrow definitions:\ + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kF=\Er\r:kH=\Eq\r:kR=\Es\r:\ + :kd=\Ew\r:kh=\Ep\r:kl=\Eu\r:kr=\Ev\r:ku=\Et\r: + +hp+arrows|hp arrow definitions:\ + :kF=\ES:kH=\EF:kR=\ET:kd=\EB:kh=\Eh:kl=\ED:kr=\EC:ku=\EA: + +# Generic stuff from the HP 262x series +# +hp262x|HP 262x terminals:\ + :xs:\ + :cd=\EJ:dc=\EP:ip=:kA=\EL:kD=\EP:kE=\EK:kF=\ES:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kd=\EB:ke=\E&s0A:kh=\Eh:\ + :kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:mb=\E&dA:me=\E&d@:mk=\E&dS:\ + :mr=\E&dB:se=\E&d@:sf=\ES:so=\E&dB:ta=\011:ue=\E&d@:\ + :us=\E&dD: + +# Note: no :ho: on HPs since that homes to top of memory, not screen. +# Due to severe 2621 braindamage, the only way to get the arrow keys to +# transmit anything at all is to turn on the function key labels +# with :ks:, and even then the user has to hold down shift! +# The default 2621 turns off the labels except when it has to to +# enable the function keys. If your installation prefers labels +# on all the time, or off all the time (at the "expense" of the +# function keys), use 2621-nl or 2621-wl. +# +# Note: there are newer ROMs for 2621's that allow you to set +# strap A so the regular arrow keys xmit \EA, etc, as with the +# 2645. However, even with this strap set, the terminal stops +# xmitting if you reset it, until you unset and reset the strap! +# Since there is no way to set/unset the strap with an escape +# sequence, we don't use it in the default. +# If you like, you can use 2621-ba (brain-damaged arrow keys). +hp2621-ba|2621 w/new rom and strap A set:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kF=\ES:kH=\EF:kR=\ET:kb=^H:kd=\EB:ke@:kh=\Eh:kl=\ED:\ + :kr=\EC:ks@:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ + :so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# hp2621 with function labels. Most of the time they are off, +# but inside vi, the function key labels appear. You have to +# hold down shift to get them to xmit. +hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: +hp2621-fl|hp 2621:\ + :am:bs:da:db:mi:pt:xo:xs@:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:ke=\E&j@:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p +hp2621p|hp 2621 with printer:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ + :pf=\E&p13C:po=\E&p11C:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ + :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +hp2621p-a|hp2621p with fn as arrows:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:kB=\Ei:kF=\Er\r:\ + :kH=\Eq\r:kR=\Es\r:kb=^H:kd=\Ew\r:ke=\E&jA:kh=\Ep\r:\ + :kl=\Eu\r:kr=\Ev\r:ks=\E&jB:ku=\Et\r:le=^H:me=\E&d@:nd=\EC:\ + :pf=\E&p13C:po=\E&p11C:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ + :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# hp2621 with k45 keyboard +hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ + :so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# 2621 using all 48 lines of memory, only 24 visible at any time. +hp2621-48|48 line 2621:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#48:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dR:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:ho=\EH:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:\ + :k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:\ + :k8=\Ew\r:kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:\ + :nd=\EC:se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:\ + :up=\EA:us=\E&dD: + +# 2621 with no labels ever. Also prevents vi delays on escape. +hp2621-nl|hp 2621 with no labels:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:kd@:ke@:kh@:kl@:kr@:ks@:ku@:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# Needed for UCB ARPAVAX console, since lsi-11 expands tabs +# (wrong). +# +hp2621-nt|hp 2621 w/no tabs:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ + :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ + :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta@:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# Hp 2624 B with 4 or 10 pages of memory. +# +# Some assumptions are made with this entry. These settings are +# NOT set up by the initialization strings. +# +# Port Configuration +# RecvPace=Xon/Xoff +# XmitPace=Xon/Xoff +# StripNulDel=Yes +# +# Terminal Configuration +# InhHndShk=Yes +# InhDC2=Yes +# XmitFnctn(A)=No +# InhEolWrp=No +# +# Note: the 2624 DOES have a true :ho:, believe it or not! +# +# The 2624 has an "error line" to which messages can be sent. +# This is CLOSE to what is expected for a "status line". However, +# after a message is sent to the "error line", the next carriage +# return is EATEN and the "error line" is turned back off again! +# So I guess we can't define :hs:, :es:, :ws:, :ds:, :fs:, :ts:. +# +# This entry supports emacs (and any other program that uses raw +# mode) at 4800 baud and less. I couldn't get the padding right +# for 9600. +# +# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr) +hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#96:lw#8:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ + :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ + :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:\ + :l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ + :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:\ + :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:\ + :so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD:\ + :vb=\E&w13F\E&w12F\E&w13F\E&w12F: + +# This hp2626 entry does not use any of the fancy windowing stuff +# of the 2626. +# +# Indeed, terminfo does not yet handle such stuff. Since changing +# any window clears memory, it is probably not possible to use +# this for screen opt. +# +# ed is incredibly slow most of the time - I am guessing at the +# exact padding. Since the terminal uses xoff/xon this is intended +# only for cost computation, so that the terminal will prefer el +# or even dl1 which is probably faster! +# +# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only +# extra slow on the last line of the window. +# +# The padding probably should be changed. +# +hp2626|hp2626a|hp2626p|hp 2626:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ + :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ + :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ + :mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:\ + :nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:\ + :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# This entry is for sysline. It allocates a 23 line window with +# a 115 line workspace for regular use, and a 1 line window for +# the status line. +# +# This assumes port 2 is being used. +# Turn off horizontal line, Create ws #1 with 115 lines, +# Create ws #2 with 1 line, Create window #1 lines 1-23, +# Create window #2 lines 24-24, Attach cursor to workspace #1. +# Note that this clears the tabs so it must be done by tset before +# it sets the tabs. +# +hp2626-s|hp 2626 using only 23 lines:\ + :am:bw:da:db:es:hs:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#23:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ + :fs=\E&d@\E&w7f2p1I\E&w4f1I:ho=\E&a0y0C:\ + :i1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r:\ + :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ + :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ + :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ + :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ + :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ + :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ + :me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:\ + :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:\ + :ts=\E&w7f2p2I\E&w4f2I\r\EK\E&a%dC:ue=\E&d@:up=\EA:\ + :us=\E&dD: +# Force terminal back to 24 lines after being 23. +hp2626-ns|hp 2626 using all 24 lines:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ + :i1=\E&q3t0{0H \E&w0f118n1I \E&w0f1n2I \E&w2f1i0d0u23l0S \E&w3f2I \E&w7f2p1I \r:\ + :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ + :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ + :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ + :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ + :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ + :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ + :me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:\ + :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ + :up=\EA:us=\E&dD: +# Various entries useful for small windows on 2626. +hp2626-12|hewlett-packard 2626 12 lines:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#12:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ + :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ + :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ + :mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:\ + :nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:\ + :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: +hp2626-12x40|hewlett-packard 2626 12 lines 40 columns:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#40:lh#2:li#12:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ + :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ + :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ + :mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:\ + :nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:\ + :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: +hp2626-x40|hewlett-packard 2626 40 columns:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#40:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ + :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ + :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ + :mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:\ + :nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:\ + :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: +hp2626-12-s|hewlett-packard 2626 11 lines plus status:\ + :am:bw:da:db:es:hs:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#11:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ + :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ + :fs=\E&d@\E&w7f2p1I\E&w4f1I:ho=\E&a0y0C:\ + :i1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r:\ + :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ + :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ + :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ + :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ + :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ + :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ + :me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:\ + :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:\ + :ts=\E&w7f2p2I\E&w4f2I\r\EK\E&a%dC:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# +# hp2627 color tubes from University of Wisconsin +# +hp2627a-rev|hp 2627 with reverse video colors:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:\ + :is=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3\r:\ + :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ + :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ + :nd=\EC:nw=^M^J:se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=^I:\ + :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: +hp2627a|hp 2627 color terminal with no labels:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:\ + :is=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r:\ + :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ + :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ + :nd=\EC:nw=^M^J:se=\E&v0S:sf=^J:so=\E&v2S:st=\E1:ta=^I:\ + :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: +hp2627c|hp 2627 color (cyan) terminal with no labels:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:\ + :is=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r:\ + :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ + :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ + :nd=\EC:nw=^M^J:se=\E&v0S:sf=^J:so=\E&v2S:st=\E1:ta=^I:\ + :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: + +# hp2640a doesn't have the Y cursor addressing feature, and C is +# memory relative instead of screen relative, as we need. +# +hp2640a|hp 2640a:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#24:lm#0:pb#9600:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:cm@:cr=\r:\ + :ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:im=\EQ:kA=\EL:\ + :kB=\Ei:kD=\EP:kE=\EK:kF=\ES:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ + :kP=\EV:kR=\ET:kS=\EJ:kT=\E1:kb=^H:kd=\EB:ke@:kh=\Eh:kl=\ED:\ + :kr=\EC:ks@:kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:\ + :mr=\E&dB:nd=\EC:se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:\ + :ue=\E&d@:up=\EA:us=\E&dD: + +hp2640b|hp2644a|hp 264x series:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#24:lm#0:pb#9600:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ + :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ + :kb=^H:kd=\EB:ke@:kh=\Eh:kl=\ED:kr=\EC:ks@:kt=\E2:ku=\EA:\ + :le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:nd=\EC:se=\E&d@:\ + :sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: + +# (hp2641a: removed unknown :gu: -- esr) +hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry:\ + :am:da:db:mi:xs:\ + :co#80:li#24:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%2C:cl=\EH\EJ:\ + :cm=\E&a%r%2c%2Y:cr=^M:cv=\E&a%2Y:dc=\EP:dl=\EM:do=^J:\ + :ei=\ER:if=/usr/share/tabset/std:im=\EQ:is=500\EE:kb=^H:\ + :kd=^J:kl=^H:le=^H:nd=\EC:nw=^M^J:se=\E&d@:sf=^J:so=\E&dB:\ + :ta=^I:up=\EA: + +# This terminal should be used at 4800 baud or less. It needs padding for +# plain characters at 9600, I guessed at an appropriate cr delay. It really +# wants ^E/^F handshaking, but that doesn't work well even if you write +# software to support it. +hp2645|hp45|HP 2645 series:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#24:lm#0:pb#9600:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ + :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ + :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ + :kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:\ + :nd=\EC:se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:\ + :up=\EA:us=\E&dD: +# You should use this terminal at 4800 baud or less. +hp2648|hp2648a|HP 2648a graphics terminal:\ + :am:bs:da:db:mi:pt:xs:\ + :co#80:li#24:lm#0:pb#9600:vt#6:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ + :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ + :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ + :kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:\ + :nd=\EC:se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:\ + :up=\EA:us=\E&dD: + +# The HP 150 terminal is a fairly vanilla HP terminal, with the +# clreol standout problem. It also has graphics capabilities and +# a touch screen, which we don't describe here. +hp150|hewlett packard Model 150:\ + :am:bs:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ + :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ + :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:\ + :sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# HP 2382a terminals, "the little ones." They don't have any +# alternate character set support and sending out ^N/^O will +# leave the screen blank. +hp2382a|hp2382|hewlett packard 2382a:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:ac@:ae@:al=\EL:as@:bl=^G:bt=\Ei:\ + :cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:\ + :cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ + :ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:\ + :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:\ + :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ + :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ + :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ + :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ + :me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:\ + :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ + :up=\EA:us=\E&dD: + +hp2621-a|hp2621a-a|hp2621 with fn as arrows:\ + :am:bs:da:db:mi:pt:xo:\ + :co#80:li#24:lm#0:pb#19200:vt#6:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ + :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:kB=\Ei:kF=\Er\r:\ + :kH=\Eq\r:kR=\Es\r:kb=^H:kd=\Ew\r:ke=\E&j@:kh=\Ep\r:\ + :kl=\Eu\r:kr=\Ev\r:ks=\E&jB:ku=\Et\r:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# newer hewlett packard terminals + +newhpkeyboard|generic entry for HP extended keyboard:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ + :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ + :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA: + +newhp|generic entry for new hewlett packard terminals:\ + :am:bw:mi:xo:xs:\ + :co#80:li#24:pb#4800:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:cr=^M:ct=\E3:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:i1=\E&jB:im=\EQ:ip=:k1=\Ep:\ + :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:mb=\E&dA:\ + :md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:\ + :nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:\ + :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +memhp|memory relative addressing for new HP ttys:\ + :am:bw:mi:xo:xs:\ + :co#80:li#24:pb#4800:vt#6:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:RI=\E&a+%dC:\ + :UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%dr%dC:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:ho=\EH:i1=\E&jB:im=\EQ:ip=:k1=\Ep:\ + :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:\ + :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ + :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:ll=\E&a23R\r:\ + :mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:mk=\E&dS:mr=\E&dB:\ + :nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:\ + :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +scrhp|screen relative addressing for new HP ttys:\ + :am:bw:mi:xo:xs:\ + :co#80:li#24:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:RI=\E&a+%dC:\ + :UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ + :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ + :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:\ + :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:\ + :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:\ + :so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# (hp+labels: added label values from a BRL termcap -- esr) +hp+labels|"standard" label info for new HP ttys:\ + :Nl#8:lh#2:lw#8:\ + :LF=\E&j@:LO=\E&jB:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8: + +hp+printer|"standard" printer info for HP ttys:\ + :ff=\E&p4u0C:pf=\E&p13C:po=\E&p11C:ps=\EH\E&p4dF: + + +# The new hp2621b is kind of a cross between the old 2621 and the +# new 262x series of machines. It has dip-switched options. +# The firmware has a bug in it such that if you give it a null +# length label, the following character is eaten! +hp2621b|hp 2621b with old style keyboard:\ + :am:bs:da:db:mi:pt:xo:\ + :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ + :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:\ + :k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:\ + :k8=\Ew\r:kB=\Ei:kF=\ET:kH=\EF:kR=\ES:kb=^H:kd=\EB:ke=\E&jA:\ + :kh=\Eh:kl=\ED:kr=\EC:ks=\E&jB:ku=\EA:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +hp2621b-p|hp 2621b with printer:\ + :am:bs:da:db:mi:pt:xo:\ + :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ + :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:im=\EQ:ip=:is=\E&jA\r:\ + :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ + :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kF=\ET:kH=\EF:kR=\ES:kb=^H:kd=\EB:\ + :ke=\E&jA:kh=\Eh:kl=\ED:kr=\EC:ks=\E&jB:ku=\EA:le=^H:\ + :me=\E&d@:nd=\EC:pf=\E&p13C:po=\E&p11C:ps=\EH\E&p4dF:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# hp2621b - new 2621b with new extended keyboard +# these are closer to the new 26xx series than the other 2621b +hp2621b-kx|hp 2621b with extended keyboard:\ + :am:bs:da:db:mi:pt:xo:\ + :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ + :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep:k2=\Eq:\ + :k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:\ + :kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:\ + :kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ + :kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +hp2621b-kx-p|hp 2621b with new keyboard & printer:\ + :am:bs:da:db:mi:pt:xo:\ + :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ + :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:im=\EQ:ip=:is=\E&jA\r:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ + :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ + :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:\ + :me=\E&d@:nd=\EC:pf=\E&p13C:po=\E&p11C:ps=\EH\E&p4dF:\ + :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# Some assumptions are made in the following entries. +# These settings are NOT set up by the initialization strings. +# +# Port Configuration +# RecvPace=Xon/Xoff XmitPace=Xon/Xoff StripNulDel=Yes +# +# Terminal Configuration +# InhHndShk(G)=Yes InhDC2(H)=Yes +# XmitFnctn(A)=No InhEolWrp=No +# +# +# Hp 2622a & hp2623a display and graphics terminals +# +hp2622|hp2622a|hp 2622:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ + :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ + :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:\ + :sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +# The 2623 is a 2622 with extra graphics hardware. +hp2623|hp2623a|hp 2623:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ + :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ + :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:\ + :sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ + :us=\E&dD: + +hp2624b-p|hp2624b-4p-p|hewlett packard 2624 B with printer:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#96:lw#8:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ + :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:\ + :kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:\ + :kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ + :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:pf=\E&p13C:\ + :po=\E&p11C:ps=\EH\E&p4dF:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:\ + :sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD:\ + :vb=\E&w13F\E&w12F\E&w13F\E&w12F: + +# The hewlett packard B can have an optional extra 6 pages of memory. +hp2624-10p|hp2624a-10p|hp2624b-10p|hewlett packard 2624 B w/ 10 pages of memory:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#240:lw#8:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ + :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ + :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:\ + :l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ + :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:\ + :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:r1=\Eg:se=\E&d@:sf=^J:\ + :so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD:\ + :vb=\E&w13F\E&w12F\E&w13F\E&w12F: + +hp2624b-10p-p|hewlett packard 2624 B w/ extra memory & printer:\ + :am:bw:da:db:mi:xo:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#240:lw#8:pb#4800:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:ho=\E&a0y0C:\ + :i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ + :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:\ + :kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:\ + :kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ + :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ + :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:pf=\E&p13C:\ + :po=\E&p11C:ps=\EH\E&p4dF:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:\ + :sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD:\ + :vb=\E&w13F\E&w12F\E&w13F\E&w12F: + +# Color manipulations for HP terminals +hp+color|hp with colors:\ + :cc:\ + :Co#16:NC#17:pa#7:\ + :oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I:\ + :op=\E&v0S: + +# :is: sets the screen to be 80 columns wide +hp2397a|hp2397|hewlett packard 2397A color terminal:\ + :am:bw:cc:mi:xo:xs:\ + :Co#16:NC#17:Nl#8:co#80:lh#2:li#24:lw#8:pa#7:pb#4800:vt#6:\ + :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ + :RI=\E&a+%dC:UP=\E&a-%dR:\ + :ac=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.:\ + :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\EH\EJ:cm=\E&a%dr%dC:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:ho=\EH:i1=\E&jB:im=\EQ:ip=:\ + :is=\E&w6f80X:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:\ + :k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:\ + :kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:\ + :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ + :ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ + :ll=\E&a23R\r:mb=\E&dA:md=\E&dF:me=\E&d@:mh=\E&dH:\ + :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ + :oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I:\ + :op=\E&v0S:r1=\Eg:se=\E&d@:sf=^J:so=\E&dJ:\ + :sr=\ET:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: + +# HP 700/44 Setup parameters: +# Terminal Mode HP-PCterm +# Inhibit Auto Wrap NO +# Status Line Host Writable +# PC Character Set YES +# Twenty-Five Line Mode YES +# XON/XOFF @128 or 64 (sc) +# Keycode Mode NO or YES (sc) +# Backspace Key BS or BS/DEL +# +# :is: sets pcterm; autowrap; 25 lines; pc char set; prog DEL key; +# \E\\? does not turn off keycode mode +# sets alternate start/stop; keycode on +hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode:\ + :am:eo:xn:xo:\ + :co#80:li#25:\ + :@7=\E[4~:RA=\E[?7l:S4=\E[>11h\EPO**x0/65;1/67\E\\:\ + :S5=\E[>11l\EP1**x0/11;1/13\E[m\E\\:SA=\E[?7h:XF=g:XN=e:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ + :ic=\E[@:im=:\ + :is=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\:\ + :k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ + :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ + :kB=\E[Z:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=\E[D:me=\E[m:nd=\E[C:se=\E[m:sf=^J:\ + :so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:\ + :vi=\E[?25l: +# +# (hp2392: copied :ei: here from hpex -- esr) +hp2392|239x series:\ + :am:da:db:mi:xo:xs:\ + :co#80:li#24:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%dy%dC:cr=^M:cv=\E&a%dY:dc=\EP:dl=\EM:do=\EB:\ + :ei=\ER:if=/usr/share/tabset/stdcrt:im=\EQ:\ + :is=\E&s1A\E<\E&k0\\:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ + :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kF=\EU:kN=\Eu:kP=\Ev:\ + :kR=\EV:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ + :so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: + +hpsub|hp terminals -- capability subset:\ + :am:da:db:mi:xo:xs:\ + :li#24:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:cr=^M:\ + :dc=\EP:dl=\EM:do=\EB:if=/usr/share/tabset/stdcrt:\ + :is=\E&s1A\E<\E&k0\\:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ + :kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:\ + :sf=^J:so=\E&dB:ta=^I:up=\EA: + +# hpex: +# May be used for most 24 x 80 hp terminals, +# but has no padding added, so may allow runover in some terminals at high +# baud rates. Will not work for hp2640a or hp2640b terminals, hp98x6 and +# hp98x5 terminal emulators or hp98x6 consoles. +# Adds xy-cursor addressing, vertical cursor addressing, home, +# last line, and underline capabilities. +# +# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:", +# moved :ei: here from hpsub -- esr) +hpex|hp extended capabilites:\ + :am:da:db:mi:xo:xs:\ + :li#24:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ + :cm=\E&a%dy%dC:cr=^M:cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ + :if=/usr/share/tabset/stdcrt:im=\EQ:\ + :is=\E&s1A\E<\E&k0\\:kb=^H:kd=^J:ke=\E&s0A:kh=\Eh:kl=^H:\ + :kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:nw=^M^J:\ + :se=\E&d@:sf=^J:so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: + +# From: Ville Sulko , 05 Aug 1996 +hp2|hpex2|hewlett-packard extended capabilities newer version:\ + :am:da:db:mi:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:sg#0:ug#0:\ + :LF=\E&j@:LO=\E&jB:al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ + :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ + :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:me=\E&d@\017:\ + :ml=\El:mu=\Em:nd=\EC:se=\E&d@:sf=^J:so=\E&dB:st=\E1:ta=^I:\ + :ue=\E&d@:up=\EA:us=\E&dD: + +# HP 236 console +# From: +hp236|hp236 internal terminal emulator:\ + :am:bs:\ + :co#80:li#24:\ + :al=\EG:ce=\EK:cl=\EF:cm=\EE%+ %+ :dc=\EJ:dl=\EH:ei=:ic=\EI:\ + :im=:le=^H:me=\ECI:se=\ECI:so=\EBI:up=^K:ve=\EDE:vs=\EDB: + +# This works on a hp300 console running Utah 4.3 BSD +# From: Craig Leres +hp300h|HP Catseye console:\ + :am:bs:da:db:mi:xs:\ + :co#128:li#51:lm#0:sg#0:ug#0:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=\EB:ei=\ER:if=/usr/share/tabset/stdcrt:\ + :im=\EQ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ + :so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: +# From: Greg Couch +hp9837|hp98720|hp98721|HP 9000/300 workstations:\ + :am:bs:da:db:mi:xs:\ + :co#128:it#8:li#46:lm#0:\ + :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:ct=\E3:cv=\E&a%dY:dc=\EP:\ + :dl=\EM:do=\EB:ei=\ER:im=\EQ:is=\E&v0m1b0i&j@:kA=\EL:\ + :kD=\EP:kE=\EK:kI=\EQ:kL=\EM:kN=\EU:kP=\EV:kS=\EJ:kb=^H:\ + :kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:\ + :le=^H:me=\E&d@:nd=\EC:se=\E&v0S:sf=^J:so=\E&v5S:st=\E1:\ + :ta=^I:ue=\E&d@:up=\EA:us=\E&dD: +# HP 9845 desktop computer from BRL +# (hp9845: removed unknown capability :gu: -- esr) +hp9845|HP 9845:\ + :am:bs:da:db:eo:mi:xs:\ + :co#80:li#21:\ + :al=\EL:bc=\ED:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\E&a%r%2c%2Y:\ + :dc=\EP:dl=\EM:do=\EB:ei=\ER:if=/usr/share/tabset/std:\ + :im=\EQ:le=\ED:nd=\EC:se=\E&d@:so=\E&dB:up=\EA: +# From: Charles A. Finnell of MITRE , developed 07SEP90 +# (hp98550: replaced /usr/share/tabset/9837 with std because :it#8:,:st=\E1:; +# added empty to avoid warnings re :as:/:ae: --esr) +hp98550|hp98550a|HP 9000 Series 300 color console:\ + :am:bs:da:db:mi:xs:\ + :co#128:it#8:li#49:lm#0:\ + :ac=:ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:\ + :ch=\E&a%dC:cl=\EH\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ + :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ + :if=/usr/share/tabset/std:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ + :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ + :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:mb=\E&dA:\ + :md=\E&dJ:me=\E&d@:mh=\E&dH:mk=\E&ds:mr=\E&dJ:nd=\EC:\ + :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ + :us=\E&dD:ve=\E*dQ:vi=\E*dR: +# From: Victor Duchovni +# (hp700-wy: removed obsolete ":nl=^J:"; +# replaced /usr/share/tabset/hp700-wy with std because :it#8:,:st=\E1: -- esr) +hp700-wy|HP700/41 emulating wyse30:\ + :am:bs:bw:mi:ms:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :al=0.7*\EE:bt=\EI:cd=\EY:ce=10\ET:cl=^Z:cm=\E=%+ %+ :\ + :cr=^M:ct=\E0:cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ei=\Er:ho=^^:\ + :i1=\E~"\EC\Er\E(\EG0\003\E`9\E`1:\ + :if=/usr/share/tabset/stdcrt:im=\Eq:kB=\EI:kC=^Z:kE=\ET:\ + :kI=\Eq:kM=\Er:kS=\EY:kT=\EI:kb=\177:kd=^V:kh=^^:kl=^H:kr=^L:\ + :ku=^K:le=^H:ll=^^^K:me=10\EG0:nd=^L:se=10\EG0:so=10\EG4:\ + :sr=\Ej:st=\E1:ta=^I:ue=10\EG0:up=^K:us=10\EG8: +hp70092|hp70092a|hp70092A|HP 700/92:\ + :am:da:db:xs:\ + :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:\ + :LF=\E&j@:LO=\E&jB:ac=0cjgktlrmfn/q,t5u6v8w7x.:ae=^O:\ + :al=\EL:as=^N:bl=^G:bt=\Ei:ce=\EK:ch=\E&a%dC:\ + :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ + :dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ + :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ + :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ + :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ + :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:mb=\E&dA:\ + :md=\E&dB:me=\E&d@:mh=\E&dH:mr=\E&dB:nd=\EC:se=\E&d@:\ + :so=\E&dJ:sr=\ET:st=\E1:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: + +bobcat|sbobcat|HP 9000 model 300 console:\ + :am:da:db:mi:xs:\ + :co#128:it#8:li#47:sg#0:ug#0:\ + :al=10*\EL:bt=\Ei:cd=\EJ:ce=\EK:ch=6\E&a%dC:cl=\EH\EJ:\ + :cm=6\E&a%dy%dC:cr=^M:cv=6\E&a%dY:dc=\EP:dl=10*\EM:do=\EB:\ + :ei=\ER:im=\EQ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ + :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:nw=^M^J:se=\E&d@:\ + :sf=^J:so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: +gator-t|HP 9000 model 237 emulating extra-tall AAA:\ + :bw:km:mi:ul:\ + :co#128:it#8:li#94:\ + :AL=1*\E[%dL:DC=4\E[%dP:DL=1*\E[%dM:IC=4\E[%d@:al=\E[L:\ + :bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:\ + :ic=\E[@:im=:kb=^H:kd=^J:kl=^H:le=^H:me=\E[m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rp=1*%.\E[%db:se=\E[m:so=\E[7m:ta=^I:\ + :ue=\E[m:up=\EM:us=\E[4m: +gator|HP 9000 model 237 emulating AAA:\ + :bw:km:mi:ul:\ + :co#128:it#8:li#47:\ + :AL=1*\E[%dL:DC=4\E[%dP:DL=1*\E[%dM:IC=4\E[%d@:al=\E[L:\ + :bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:\ + :ic=\E[@:im=:kb=^H:kd=^J:kl=^H:le=^H:me=\E[m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rp=1*%.\E[%db:se=\E[m:so=\E[7m:ta=^I:\ + :ue=\E[m:up=\EM:us=\E[4m: +gator-52|HP 9000 model 237 emulating VT52:\ + :bs:\ + :co#128:it#8:li#47:\ + :ac=+h.k0affggolpnqprrss:ae=\EG:as=\EF:bl=^G:cd=\EJ:\ + :ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:kb=^H:\ + :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=\ED:nd=\EC:nw=^M^J:sf=^J:\ + :sr=\EI:ta=^I:up=\EA: +gator-52t|HP 9000 model 237 emulating extra-tall VT52:\ + :bs:\ + :co#128:it#8:li#94:\ + :ac=+h.k0affggolpnqprrss:ae=\EG:as=\EF:bl=^G:cd=\EJ:\ + :ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=\EB:ho=\EH:kb=^H:\ + :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=\ED:nd=\EC:nw=^M^J:sf=^J:\ + :sr=\EI:ta=^I:up=\EA: + +#### Honeywell-Bull +# +# From: Michael Haardt 11 Jan 93 +# + +# Honeywell Bull terminal. Its cursor and function keys send single +# control characters and it has standout/underline glitch. Most programs +# do not like these features/bugs. Visual bell is realized by flashing the +# "keyboard locked" LED. +dku7003-dumb|Honeywell Bull DKU 7003 dumb mode:\ + :co#80:li#25:\ + :cd=^_:ce=\E[K:cl=^]^_:cm=\E[%i%d;%dH:cr=^M:do=^K:ho=^]:\ + :kb=^H:kd=^K:kh=^]:kl=^Y:kr=^X:ku=^Z:le=^Y:nd=^X:nw=^M^J:\ + :sf=^J:ta=^I:up=^Z:vb=\E[2h\E[2l: +dku7003|Honeywell Bull DKU 7003 all features described:\ + :ms:\ + :co#80:li#25:sg#1:ug#1:\ + :cd=^_:ce=\E[K:cl=^]^_:cm=\E[%i%d;%dH:cr=^M:do=^K:ho=^]:\ + :kb=^H:kd=^K:kh=^]:kl=^Y:kr=^X:ku=^Z:le=^Y:mb=\E[5m:md=\E[7m:\ + :me=\E[m:mh=\E[2m:mr=\E[7m:nd=^X:nw=^M^J:se=\E[m:sf=^J:\ + :so=\E[7m:ta=^I:ue=\E[m:up=^Z:us=\E[4m:vb=\E[2h\E[2l: + #### Lear-Siegler (adm) # # These guys are long since out of the terminals business, but @@ -5483,13 +12786,12 @@ pcmw|PC running Microsoft Works:\ # emulations (usually their stupidest, and usually labeled adm3, though # these `adm3' emulations normally have adm3a+ capabilities). # -# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a +# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a # `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator') # was being held to ground would trigger a send of the top line on the screen. # A quick fix might be to drop back to a cheesy 4-wire cable with pin 22 # hanging in the air. (Thanks to Eric Fischer, , # for clearing up this point.) -# adm1a|adm1|lsi adm1a:\ :am:\ @@ -5523,21 +12825,20 @@ adm3a|lsi adm3a:\ :am:bs:\ :co#80:li#24:\ :bl=^G:cl=1\032:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:kd=^J:kl=^H:\ - :kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:r1=^N:rs=^N:sf=^J:\ - :up=^K: + :kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:rs=^N:sf=^J:up=^K: adm3a+|adm3a plus:\ :am:bs:\ :co#80:li#24:\ :bl=^G:cl=1\032:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:kb=^H:kd=^J:\ - :kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:r1=^N:rs=^N:\ - :sf=^J:up=^K: + :kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:rs=^N:sf=^J:\ + :up=^K: # (adm5: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" & duplicate ":do=^J:" -- esr) adm5|lsi adm5:\ :am:bs:\ :co#80:li#24:sg#1:\ :bl=^G:cd=\EY:ce=\ET:cl=1\032:cm=\E=%+ %+ :cr=^M:do=^J:\ :ho=^^:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:\ - :nd=^L:nl=^J:r1=^N:rs=^N:se=\EG:sf=^J:so=\EG:up=^K: + :nd=^L:nl=^J:rs=^N:se=\EG:sf=^J:so=\EG:up=^K: # A lot of terminals other than adm11s use these. Wherever you see # use=adm+sgr with some of its capabilities disabled, try the # disabled ones. They may well work but not have been documented or @@ -5565,15 +12866,15 @@ adm11|LSI ADM-11:\ # Supervisor mode info by Ari Wuolle, , 27 Aug 1996 # (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :". This formerly had # :is:=\Eq but that looked wrong; this :is: is from Dave Yost -# via BRL. That entry asserted :sg#1:, but I've left that out because +# via BRL. That entry asserted :sg#1:, but I've left that out because # neither earlier nor later ADMSs have it -- esr) # # You will need to get into the supervisor setup before you can set # baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should # see a lot more setup options. -# +# # While in supervisor setup you can also use following codes: -# +# # Ctrl-P Personality character selections (configure for example what # arrow keys send, if I recall correctly) # Ctrl-T tabs 1-80 use left&right to move and up to set and @@ -5586,15 +12887,15 @@ adm11|LSI ADM-11:\ # Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds. # Ctrl-R Reads both setup and functions keys from NVM. # Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status -# +# # ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to # RTS/CTS used nowadays with virtually every modem and computer. 19200 # bps works fine with hardware flow control. -# +# # The following null-modem cable should fix this and enable you to use # RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also # set ADM-12+ for DTR handshaking from supervisor setup. -# +# # PC Serial ADM-12+ # -------- ------- # 2 - 3 @@ -5628,8 +12929,8 @@ adm21|lear siegler adm21:\ :co#80:li#24:sg#1:ug#1:\ :al=30*\EE:bl=^G:cd=\EY:ce=\ET:cl=1\032:cm=\E=%+ %+ :cr=^M:\ :dc=\EW:dl=30*\ER:do=^J:ei=:ho=^^:ic=\EQ:im=:kb=^H:kd=^J:\ - :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:me=\EG0:mr=\EG4:nd=^L:\ - :nl=^J:r1=^N:rs=^N:se=\EG0:sf=^J:so=\EG4:ue=\EG0:up=^K:\ + :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:me=\EG0:mk@:mr=\EG4:\ + :nd=^L:nl=^J:rs=^N:se=\EG0:sf=^J:so=\EG4:ue=\EG0:up=^K:\ :us=\EG8: # (adm22: ":em=:" was an obvious typo for ":ei=:"; also, # removed obsolete ":kn#7:ma=j^Jk^P^K^Pl ^R^L^L :"; @@ -5664,7 +12965,7 @@ adm22|lsi adm22:\ # + + # +-+ +-+ # + + -# + S5 S6 S7 + +# + S5 S6 S7 + # + == == == + # +----------------------------------------------+ # front of case (keyboard) @@ -5802,36 +13103,36 @@ adm31-old|o31|old adm31:\ :dc=\EW:dl=\ER:do=^J:ei=\Er:ho=^^:im=\Eq:is=\Eu\E0:k0=^A0\r:\ :k1=^A1\r:k2=^A2\r:k3=^A3\r:k4=^A4\r:k5=^A5\r:k6=^A6\r:\ :k7=^A7\r:k8=^A8\r:k9=^A9\r:kd=^J:kl=^H:kr=^L:ku=^K:le=^H:\ - :me=\EG0:nd=^L:se=\EG0:sf=^J:so=\EG4:up=^K: + :me=\EG0:nd=^L:se=\EG0:sf=^J:so=\EG4:ue@:up=^K:us@: # LSI ADM-36 from Col. George L. Sicherman via BRL adm36|LSI ADM36:\ - :am:bs:ms:pt:xn:xo:\ + :5i:am:bs:ms:pt:xn:xo:\ :co#80:it#8:kn#4:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:if=/usr/lib/tabset/vt100:\ + :eA=\E(B\E)0:ho=\E[H:if=/usr/share/tabset/vt100:\ :is=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: # (adm42: removed obsolete ":ma=^K^P:" -- esr) adm42|lsi adm42:\ :am:bs:\ :co#80:li#24:\ :al=\EE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :\ :cr=^M:dc=\EW:dl=\ER:do=^J:ei=\Er:im=\Eq:ip=:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:pc=\177:\ - :se=\EG0:sf=^J:so=\EG4:ta=^I:up=^K:vs=\EC\E3 \E3(: -# The following termcap for the Lear Siegler ADM-42 leaves the -# "system line" at the bottom of the screen blank (for those who + :kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:pc=\177:\ + :se=\EG0:sf=^J:so=\EG4:ta=^I:ue@:up=^K:us@:vs=\EC\E3 \E3(: +# The following termcap for the Lear Siegler ADM-42 leaves the +# "system line" at the bottom of the screen blank (for those who # find it distracting otherwise) adm42-ns|lsi adm-42 with no system line:\ :am:bs:\ @@ -5855,6 +13156,63 @@ adm1178|1178|lsi adm1178:\ :le=^H:md=\E(:me=\E):mr=\EG4:nd=^L:nw=^M^J:pc=\177:se=\EG0:\ :sf=^J:so=\EG4:ta=^I:ue=\EG0:up=^K:us=\EG1:vs=\EC\E3 \E3(: +#### Prime +# +# Yes, Prime made terminals. These entries were posted by Kevin J. Cummings +# on 14 Dec 1992 and lightly edited by esr. +# Prime merged with ComputerVision in the late 1980s; you can reach them at: +# +# ComputerVision Services +# 500 Old Connecticut Path +# Framingham, Mass. +# + +# Standout mode is dim reverse-video. +pt100|pt200|wren|fenix|prime pt100/pt200:\ + :am:bw:mi:ms:\ + :co#80:it#8:li#24:\ + :DC=\E[%dP:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:cl=\E?:\ + :cm=\E0%+!%+!:cr=^M:dc=\E[P:dl=\E[M:do=\ED:ei=\E[4l:\ + :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ + :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ + :nw=^M^J:se=\E[m:sf=^J:so=\E[2;7m:ta=^I:te=:\ + :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ + :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: +pt100w|pt200w|wrenw|fenixw|prime pt100/pt200 in 132-column mode:\ + :am:bw:mi:ms:\ + :co#132:it#8:li#24:\ + :DC=\E[%dP:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:cl=\E?:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\ED:ei=\E[4l:\ + :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ + :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ + :nw=^M^J:se=\E[m:sf=^J:so=\E[2;7m:ta=^I:te=:\ + :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ + :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: +pt250|Prime PT250:\ + :am:bw:mi:ms:\ + :co#80:it#8:li#24:\ + :DC=\E[%dP:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:cl=\E?:\ + :cm=\E0%+!%+!:cr=^M:dc=\E[P:dl=\E[M:do=\ED:ei=\E[4l:\ + :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ + :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ + :nw=^M^J:se@:sf=^J:so@:ta=^I:te=:\ + :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ + :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: +pt250w|Prime PT250 in 132-column mode:\ + :am:bw:mi:ms:\ + :co#132:it#8:li#24:\ + :DC=\E[%dP:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:cl=\E?:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\ED:ei=\E[4l:\ + :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ + :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ + :nw=^M^J:se@:sf=^J:so@:ta=^I:te=:\ + :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ + :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: + #### Qume (qvt) # # Qume, Inc. @@ -5902,11 +13260,11 @@ qvt101|qvt108|qume qvt 101 and QVT 108:\ :up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.4: # This used to have :vs=\E.2: but no :ve: or :vi:. The BSD termcap -# file had :vs=\EM4 \200\200\200:. I've done the safe thing and yanked +# file had :vs=\EM4 \200\200\200:. I've done the safe thing and yanked # both. The :mr: is from BSD, which also claimed bold=\E( and dim=\E). # What seems to be going on here is that this entry was designed so that # the normal highlight is bold and standout is dim plus something else -# (reverse-video maybe? But then, are there two :mr: sequences?) +# (reverse-video maybe? But then, are there two :mr: sequences?) qvt101+|qvt101p|qume qvt 101 PLUS product:\ :am:bw:hs:ul:\ :co#80:li#24:sg#0:ug#0:\ @@ -5915,7 +13273,7 @@ qvt101+|qvt101p|qume qvt 101 PLUS product:\ :ic=\EQ:im=:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:\ :kB=\EI:kE=\ET:kI=\EQ:kL=\ER:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:pf=\EA:po=\E@:\ + :kr=^L:ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:pf=\EA:po=\E@:\ :se=\E(:sf=^J:so=\E0P\E):st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:\ :up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.4: qvt102|qume qvt 102:\ @@ -5939,10 +13297,9 @@ qvt103|qume qvt 103:\ :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: qvt103-w|qume qvt103 132 cols:\ :am:xn:xo:\ :co#132:it#8:li#24:vt#3:\ @@ -5952,10 +13309,8 @@ qvt103-w|qume qvt103 132 cols:\ :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:sc=\E7:se=\E[m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: qvt119+|qvt119p|qvt119|qume qvt 119 and 119PLUS terminals:\ :am:hs:mi:ms:\ :co#80:li#24:sg#0:ug#0:\ @@ -6011,10 +13366,9 @@ qvt203|qvt203+|qume qvt 203 Plus:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[28~:kb=^H:kd=\EOB:\ :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: qvt203-w|qvt203-w-am|qume qvt 203 PLUS in 132 cols (w/advanced video):\ :am:xn:xo:\ :co#132:it#8:li#24:vt#3:\ @@ -6026,10 +13380,8 @@ qvt203-w|qvt203-w-am|qume qvt 203 PLUS in 132 cols (w/advanced video):\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[28~:kb=^H:kd=\EOB:\ :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E>\E[?3h\E[?4l\E[?5l\E[?8h:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # # Since a command is present for enabling 25 data lines, # a specific terminfo entry may be generated for the 203. @@ -6048,10 +13400,9 @@ qvt203-25|QVT 203 PLUS with 25 by 80 column mode:\ :k8=\E[25~:k9=\E[28~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ :me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: qvt203-25-w|QVT 203 PLUS with 25 by 132 columns:\ :am:xn:xo:\ :co#132:it#8:li#25:vt#3:\ @@ -6063,10 +13414,8 @@ qvt203-25-w|QVT 203 PLUS with 25 by 132 columns:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[28~:kb=^H:kd=\EOB:\ :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E[?3h\E[=40h:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :rs=\E[?3h\E[=40h:sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: #### Televideo (tvi) # @@ -6077,11 +13426,8 @@ qvt203-25-w|QVT 203 PLUS with 25 by 132 columns:\ # Vox: (408)-954-8333 # Fax: (408)-954-0623 # -#% TeleVideo: Dick Kelby (408)-955-7494 (Application Mgr) # -# There are some tvi terminals that require incredible amounts of padding and -# some that don't. I'm assuming tvi912 and tvi920 are the old slow ones, and -# tvi912b, tvi912c, tvi920b, tvi920c are the new ones that don't need padding. +# These require incredible amounts of padding. # # All of these terminals (912 to 970 and the tvipt) are discontinued. Newer # Televideo terminals are ANSI and PC-ANSI compatible. @@ -6089,7 +13435,7 @@ qvt203-25-w|QVT 203 PLUS with 25 by 132 columns:\ tvi803|televideo 803:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r:\ @@ -6102,7 +13448,7 @@ tvi803|televideo 803:\ # Vanilla tvi910 -- W. Gish 10/29/86 # Switch settings are: -# +# # S1 1 2 3 4 # D D D D 9600 # D D D U 50 @@ -6120,7 +13466,7 @@ tvi803|televideo 803:\ # U U D U 7200 # U U U D 9600 # U U U U 19200 -# +# # S1 5 6 7 8 # U D X D 7N1 (data bits, parity, stop bits) (X means ignored) # U D X U 7N2 @@ -6132,51 +13478,51 @@ tvi803|televideo 803:\ # D D X U 8N2 # D U D D 8O1 # D U U U 8E2 -# +# # S1 9 Autowrap # U on # D off -# +# # S1 10 CR/LF # U do CR/LF when CR received # D do CR when CR received -# +# # S2 1 Mode # U block # D conversational -# +# # S2 2 Duplex # U half # D full -# +# # S2 3 Hertz # U 50 # D 60 -# +# # S2 4 Edit mode # U local # D duplex -# +# # S2 5 Cursor type # U underline # D block -# +# # S2 6 Cursor down key # U send ^J # D send ^V -# +# # S2 7 Screen colour # U green on black # D black on green -# +# # S2 8 DSR status (pin 6) # U disconnected # D connected -# +# # S2 9 DCD status (pin 8) # U disconnected # D duplex -# +# # S2 10 DTR status (pin 20) # U disconnected # D duplex @@ -6190,7 +13536,7 @@ tvi910|televideo model 910:\ :if=/usr/share/tabset/stdcrt:k0=^AI\r:k1=^A@\r:k2=^AA\r:\ :k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:\ :k9=^AH\r:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:\ - :mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG4:ta=^I:ue=\EG0:up=^K:\ + :mk@:mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG4:ta=^I:ue=\EG0:up=^K:\ :us=\EG8: # From: Alan R. Rogers # as subsequently hacked over by someone at SCO @@ -6208,7 +13554,7 @@ tvi910|televideo model 910:\ # U D X D 7N1 U D X U 7N2 U U D D 7O1 U U D U 7O2 # U U U D 7E1 U U U U 7E2 D D X D 8N1 D D X U 8N2 # D U D D 8O1 D U U U 8E2 -# +# # S1 9 Autowrap (U = on, D = off) # S1 10 CR/LF (U = CR/LF on CR received, D = CR on CR received) # S2 1 Mode (U = block, D = conversational) @@ -6245,45 +13591,140 @@ tvi912|tvi914|tvi920|old televideo 912/914/920:\ :k8=^AG\r:k9=^AH\r:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ :nd=^L:se=\Ek:sf=^J:so=\Ej:st=\E1:ta=^I:ue=\Em:up=^K:us=\El:\ :vb=\Eb\Ed: -# the 912 has a key that's like shift: 8 xmits "^A8\r". -# The 920 has this plus real function keys that xmit different things. -# Terminfo makes you use the funct key on the 912 but the real keys on the 920. -tvi912c|tvi912b|new televideo 912:\ - :am:bs:ms:pt:\ - :co#80:it#8:li#24:sg#1:ug#1:\ - :al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:\ - :dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ - :if=/usr/share/tabset/stdcrt:im=:k0=^AI\r:k1=^A@\r:\ - :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ - :k8=^AG\r:k9=^AH\r:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :nd=^L:se=\Ek:sf=^J:so=\Ej:st=\E1:ta=^I:ue=\Em:up=^K:us=\El:\ - :vb=\Eb\Ed: -# set to page 1 when entering curses application (\E-17 ) -# reset to page 0 when exiting curses application (\E-07 ) -tvi912-2p|tvi920-2p|tvi-2p|televideo w/2 pages:\ - :am:bs:ms:pt:\ - :co#80:it#8:li#24:sg#1:ug#1:\ - :al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:\ - :dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ - :if=/usr/share/tabset/stdcrt:im=:k0=^AI\r:k1=^A@\r:\ - :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ - :k8=^AG\r:k9=^AH\r:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :nd=^L:se=\Ek:sf=^J:so=\Ej:st=\E1:ta=^I:te=\E-07\s:\ - :ti=\E-17\s:ue=\Em:up=^K:us=\El:vb=\Eb\Ed: -# We got some new tvi912c terminals that act really weird on the regular -# termcap, so one of our gurus worked this up. Seems that cursor +# We got some new tvi912c terminals that act really weird on the regular +# termcap, so one of our gurus worked this up. Seems that cursor # addressing is broken. tvi912cc|tvi912 at cowell college:\ - :am:bs:ms:pt:\ - :co#80:it#8:li#24:sg#1:ug#1:\ - :al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=^Z:cr=^M:ct=\E3:dc=\EW:dl=\ER:\ - :do=^J:ei=:ho=^^:ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ - :k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ - :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:nd=^L:se=\Ek:sf=^J:so=\Ej:st=\E1:\ - :ta=^I:ue=\Em:up=^K:us=\El:vb=\Eb\Ed: + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm@:cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):\ + :nd=^L:pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(:\ + :sf=\n:so=\E):st=\E1:ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:\ + :u9=\E?:up=^K: -# Here are the switch settings for the tvi920c: +# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C +# From: Benjamin C. W. Sittler +# +# Someone has put a scanned copy of the manual online at: +# http://vt100.net/televideo/912b-om/ +# +# These terminals were produced ca. 1979, and had a 12" monochrome +# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit +# ASCII, and were generally similar to adm3a but with attributes +# (including some with magic cookies), fancy half-duplex mode, and +# different bugs. +# +# Some operations reqire truly incredible amounts of padding. The +# insert_line (:al:) and delete_line (:dl:) operations in particular +# are so slow as to be nearly unusable. +# +# There may or may not have been a separate, earlier series of 912/920 +# terminals (without the "B" and "C" suffix); I have never seen one, +# and the manual only describes the "B" and "C" series. The 912 and 920 +# are quite distinct from the 914 and 924, which were much nicer non- +# magic-cookie terminals similar to the 950. +# +# This is a new description for the following TeleVideo terminals, +# distinguished chiefly by their keyboards: +# +# TVI-912B - very odd layout, no function keys (84 keys) +# TVI-920B - typewriter layout, no function keys (103 keys) +# TVI-912C - very odd layout, function keys F1-F11 (82 keys) +# TVI-920C - typewriter layout, function keys F1-F11 (101 keys) +# +# To choose a setting for the TERM variable, start with the model: +# +# Model || base name +# ----------||----------- +# TVI-912B || tvi912b +# TVI-912C || tvi912c +# TVI-920B || tvi920b +# TVI-920C || tvi920c +# +# Then add a suffix from the following table describing installed options +# and how you'd like to use the terminal: +# +# Use Video | Second | Visual | Magic | Page || feature +# Attributes | Page | Bell | Cookies | Print || suffix +# ------------|--------|--------|---------|-------||--------- +# No | No | N/A | N/A | No || -unk +# No | No | N/A | N/A | Yes || -p +# No | Yes | No | N/A | No || -2p-unk +# No | Yes | No | N/A | Yes || -2p-p +# No | Yes | Yes | N/A | No || -vb-unk +# No | Yes | Yes | N/A | Yes || -vb-p +# Yes | No | N/A | No | N/A || +# Yes | No | N/A | Yes | N/A || -mc +# Yes | Yes | No | No | N/A || -2p +# Yes | Yes | No | Yes | N/A || -2p-mc +# Yes | Yes | Yes | No | N/A || -vb +# Yes | Yes | Yes | Yes | N/A || -vb-mc +# +# So e.g. a model 920 C with second page memory option, visual bell +# and no magic cookies would be tvi920c-vb; a model 912 B without the +# second page memory option and using magic cookies would be +# tvi912b-mc +# +# PADDING +# +# At 9600 baud, the terminal is prone to overflow its input buffer +# during complex operations (insert/delete +# character/line/screen/page), and it does not signal this over the +# RS232 cable. The typical symptom of an overrun is that the terminal +# starts beeping, and output becomes garbled. +# +# The padding delays in this terminfo were derived using tack(1) +# running on a Linux box connected to a TVI-920C with a later-model +# (A49C1-style) ROM running at 9600 baud, so your mileage may +# vary. The numbers below seem to give the terminal enough time so +# that it doesn't overflow its input buffer and start losing +# characters. +# +# KEYS +# +# If you want to use the FUNCT key on a tvi912[bc], use the +# corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from +# the following table (these also work on the 920 series): +# +# Unshifted Function Keys: +# +# Key | capname|| Equivalent +# -----|--------||------------ +# F1 | :k1: || FUNCT + @ +# F2 | :k2: || FUNCT + A +# F3 | :k3: || FUNCT + B +# F4 | :k4: || FUNCT + C +# F5 | :k5: || FUNCT + D +# F6 | :k6: || FUNCT + E +# F7 | :k7: || FUNCT + F +# F8 | :k8: || FUNCT + G +# F9 | :k9: || FUNCT + H +# F10 | || FUNCT + I +# F11 | || FUNCT + J +# +# Shifted Function Keys: +# +# SHIFT + Key | capname|| Equivalent +# -------------|--------||------------ +# SHIFT + F1 | || FUNCT + ` +# SHIFT + F2 | || FUNCT + a +# SHIFT + F3 | || FUNCT + b +# SHIFT + F4 | || FUNCT + c +# SHIFT + F5 | || FUNCT + d +# SHIFT + F6 | || FUNCT + e +# SHIFT + F7 | || FUNCT + f +# SHIFT + F8 | || FUNCT + g +# SHIFT + F9 | || FUNCT + h +# SHIFT + F10 | || FUNCT + i +# SHIFT + F11 | || FUNCT + j +# +# PORTS AND SWITCH SETTINGS +# +# Here are the switch settings for the TVI-912B/TVI-920B and +# TVI-912C/TVI-920C: # # S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down: # 2: 9600 3: 4800 4: 2400 5: 1200 @@ -6303,7 +13744,7 @@ tvi912cc|tvi912 at cowell college:\ # 9: Even parity Odd parity # 10: Steady cursor Blinking cursor # (On Rev E or lower, use W25 instead of switch 10.) -# +# # S5 UART/Terminal options: # Open Closed # 1: P3-6 Not connected DSR received on P3-6 @@ -6329,22 +13770,462 @@ tvi912cc|tvi912 at cowell college:\ # # S4/W31: Enables automatic LF upon receipt of CR from # remote or keyboard. -# S4/W32: Enables transmission of EOT at the end of Send. If not +# S4/W32: Enables transmission of EOT at the end of Send. If not # installed, a carriage return is sent. # S4/W33: Disables automatic carriage return in column 80. -# S4/W34: Selects Page Print Mode as initial condition. If not +# S4/W34: Selects Page Print Mode as initial condition. If not # installed, Extension Mode is selected. # -tvi920b|tvi920c|new televideo 920:\ - :am:bs:ms:pt:\ +# NON-STANDARD CAPABILITIES +# +# Sending or returns a cursor position report in the format +# YX\r, where Y and X are as in :cm:. This format is described in +# and , but it's not clear how one should write an +# appropriate scanf string, since we need to subtract %' ' from the +# character after reading it. The capability is used by tack(1) +# to synchronize during padding tests, and seems to work for that +# purpose. +# +# This description also includes the obsolete termcap capabilities +# has_hardware_tabs (:pt:) and backspaces_with_bs (:bs:). +# +# FEATURES NOT YET DESCRIBED IN THIS TERMINFO +# +# The FUNCT modifier actually works with every normal key by sending +# ^AX\r, where X is the sequence normally sent by that key. This is a +# sort of meta key not currently describable in terminfo. +# +# There are quite a few other keys (especially on the 920 models,) but +# they are for the most part only useful in block mode. +# +# These terminals have lots of forms manipulation features, mainly +# useful in block mode, including "clear X to nulls" (vs. "clear X to +# spaces"; nulls are sentinels for "send X" operations); "send X" +# operations for uploading all or part of the screen; and block-mode +# editing keys (they don't send escape sequences, but manipulate video +# memory directly). Block mode is used for local editing, and protect +# mode (in conjunction with the "write protect" attribute, +# a.k.a. half-intensity outside of protect mode) is used to control +# which parts of the screen are edited/sent/printed (by ). +# +# There are at least two major families of ROM, "early" and +# A49B1/A49C1; the major difference seems to be that the latter ROMs +# support a few extra escape sequences for manipulating the off-screen +# memory page, and for sending whole pages back to the host (mainly +# useful in block mode.) The descriptions in this file don't use any +# of those sequences: set cursor position including page (\E-PYX, +# where P is \s for page 0 and ! for page 1 [actually only the LSB of +# P is taken into account, so e.g. 0 and 1 work too,] and Y and X are +# as in :cm:); read cursor position (\E/), which is analogous to +# and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX +# are as in :cm:, and some "send page" features mainly useful for +# forms manipulation. +# +# The keyboard enable (\E") and disable (\E#) sequences are unused, +# except that a terminal reset (:is:) enables the keyboard. +# +# Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew) +# enabled in :is:, but auto-flip is very jarring so we don't use it. +# +# BUGS +# +# At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed +# sequences (I infer that in some TeleVideo terminal they may invert +# and uninvert the display) so the :vb: sequence given here is a +# cheesy page-flip instead. +# +# The back_tab (:bt:) sequence (\EI) doesn't work according to +# tack(1), so it is not included in the descriptions below. +# +# It's not clear whether auto_left_margin (:bw:) flag should be set +# for these terminals; tack says yes, so it is set here, but this +# differs from other descriptions I've seen. +# +# Extension print mode () echoes all characters to the printer +# port [in addition to displaying them] except for the page print mode +# sequence (); this is a slight violation of the terminfo +# definition for but I don't expect it to cause problems. We +# reset to page print mode in since it may have been enabled +# accidentally. +# +# The descriptions with plus signs (+) are building blocks. + +tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K: + +# This isn't included in the basic capabilities because it is +# typically unusable in combination with the full range of video +# attributes, since the magic cookie attributes turn into ASCII +# control characters, and the half-intensity ("protected") attribute +# converts all affected characters to spaces. + +tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support:\ + :ps=\EP: + +# This uses half-intensity mode (:mh:) for standout (:so:), and +# exposes no other attributes (half-intensity is the only attribute +# that does not generate a magic cookie.) + +tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support:\ + :ms:\ + :me=\E(:mh=\E):se=\E(:so=\E): + +# Full magic-cookie attribute support, with half-intensity reverse +# video for standout. Note that we add a space in the :mh: sequence +# to give a consistent magic-cookie count. Also note that :sa: uses +# backspacing (in the TVI-supported order) to apply all requested +# attributes with only a single magic cookie. + +tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support:\ + :sg#1:ug#1:\ + :mb=\E\136:me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:\ + :mr=\Ej:se=\E(\Ek:so=\E)\Ej:ue=\Em:us=\El: + +# This uses the second page memory option to save & restore screen +# contents. If your terminal is missing the option, this description +# should still work, but that has not been tested. + +tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :vb=\EK\EK: + +# This simulates flashing by briefly toggling to the other page +# (kludge!) + +tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support:\ + :bl=\EK\EK:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:vb=\EK\EK: + +# Function keys ( .. are shifted :k1: .. ) + +tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support:\ + :F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:\ + :F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r: + +# Combinations of the basic building blocks + +tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:ps=\EP:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:\ + :ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K: + +tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:ps=\EP:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:\ + :ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:ps=\EP:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:\ + :ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):\ + :nd=^L:pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(:\ + :sf=\n:so=\E):st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies):\ + :am:bs:bw:pt:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:\ - :dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ - :if=/usr/share/tabset/stdcrt:im=:k0=^AI\r:k1=^A@\r:\ - :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ - :k8=^AG\r:k9=^AH\r:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :nd=^L:se=\Ek:sf=^J:so=\Ej:st=\E1:ta=^I:ue=\Em:up=^K:us=\El:\ - :vb=\Eb\Ed: + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:ue=\Em:up=^K:us=\El:vb=\EK\EK: + +tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):\ + :nd=^L:pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(:\ + :sf=\n:so=\E):st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :@8=^M:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:ue=\Em:up=^K:us=\El:vb=\EK\EK: + +tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):\ + :nd=^L:pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(:\ + :sf=\n:so=\E):st=\E1:ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:\ + :u9=\E?:up=^K: + +tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :@8=^M:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:\ + :ue=\Em:up=^K:us=\El: + +tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:po=\E@:\ + :r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:u6=%.%.\r:\ + :u7=\E?:u8=%.%.\r:u9=\E?:up=^K: + +tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:po=\E@:\ + :r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:\ + :cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:\ + :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :is=\Ew\EA\E'\E"\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ + :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:po=\E@:ps=\EP:\ + :r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:u6=%.%.\r:\ + :u7=\E?:u8=%.%.\r:u9=\E?:up=^K: + +tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:po=\E@:ps=\EP:\ + :r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:ta=^I:\ + :te=\032\EK\E=7\s:ti=\EK\032\E(\Ek\010\Em\010\Eq\032:\ + :u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:\ + :cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:\ + :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :is=\Ew\EA\E'\E"\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ + :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=^L:pf=\EA:\ + :po=\E@:ps=\EP:r1=\Ek\010\Em\010\Eq\032:sf=\n:st=\E1:\ + :ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):nd=^L:pf=\EA:po=\E@:\ + :r1=\Ek\010\Em\010\Eq\032:se=\E(:sf=\n:so=\E):st=\E1:\ + :ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:ue=\Em:up=^K:us=\El:vb=\EK\EK: + +tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:\ + :cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:\ + :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :is=\Ew\EA\E'\E"\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ + :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):\ + :nd=^L:pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(:\ + :sf=\n:so=\E):st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:up=^K:vb=\EK\EK: + +tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=\EK\EK:cd=\Ey:ce=\ET:cl=\032:\ + :cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:\ + :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :is=\Ew\EA\E'\E"\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ + :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ + :kD=\177:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:te=\032\EK\E=7\s:\ + :ti=\EK\032\E(\Ek\010\Em\010\Eq\032:u6=%.%.\r:u7=\E?:\ + :u8=%.%.\r:u9=\E?:ue=\Em:up=^K:us=\El:vb=\EK\EK: + +tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute):\ + :am:bs:bw:ms:pt:\ + :co#80:it#8:li#24:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:me=\E(:mh=\E):nd=^L:pf=\EA:po=\E@:\ + :r1=\Ek\010\Em\010\Eq\032:se=\E(:sf=\n:so=\E):st=\E1:\ + :ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:up=^K: + +tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies):\ + :am:bs:bw:pt:\ + :co#80:it#8:li#24:sg#1:ug#1:\ + :@8=^M:F1=^AJ\r:F2=^A`\r:F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:\ + :F6=^Ad\r:F7=^Ae\r:F8=^Af\r:F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:\ + :FC=^Aj\r:al=\EE:bl=^G:cd=\Ey:ce=\ET:cl=\032:cm=\E=%+ %+ :\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:ic=\EQ:\ + :if=/usr/share/tabset/stdcrt:im=:is=\Ew\EA\E'\E"\E(:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kD=\177:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:mb=\E\136:\ + :me=\E(\Ek\010\Em\010\Eq:mh=\E)\s:mk=\E_:mr=\Ej:nd=^L:\ + :pf=\EA:po=\E@:r1=\Ek\010\Em\010\Eq\032:se=\E(\Ek:sf=\n:\ + :so=\E)\Ej:st=\E1:ta=^I:u6=%.%.\r:u7=\E?:u8=%.%.\r:u9=\E?:\ + :ue=\Em:up=^K:us=\El: # Televideo 921 and variants # From: Tim Theisen 22 Sept 1995 @@ -6353,32 +14234,32 @@ tvi920b|tvi920c|new televideo 920:\ tvi921|televideo model 921 with sysline same as page & real vi function:\ :am:bs:hs:pt:xn:xs:\ :co#80:li#24:sg#0:ug#0:\ - :ac=:ae=\E%:al=\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:cm=3\E=%+ %+ :\ - :cr=^M:dc=\EW:dl=1*\ER:do=^V:ds=\Ef\r\Eg:ei=:fs=\Eg:ho=^^:\ - :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :ac=:ae=\E%%:al=\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:\ + :cm=3\E=%+ %+ :cr=^M:dc=\EW:dl=1*\ER:do=^V:ds=\Ef\r\Eg:ei=:\ + :fs=\Eg:ho=^^:ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ :is=\El\E"\EF1\E.3\017\EA\E<:kA=\EE:kC=^Z:kD=\EW:kE=\ET:\ :kI=\EQ:kL=1*\ER:kS=\EY:kb=^H:kd=^V:kl=^H:kr=^L:ku=^K:le=^H:\ - :me=\EG0:mr=\EG4:nd=^L:nw=^M^J:se=\EG0:sf=^J:so=\EG4:ta=^I:\ - :ts=\Ef\EG0:ue=\EG0:up=^K:us=\EG8:ve=\E.3:vs=\E.2: + :me=\EG0:mk@:mr=\EG4:nd=^L:nw=^M^J:se=\EG0:sf=^J:so=\EG4:\ + :ta=^I:ts=\Ef\EG0:ue=\EG0:up=^K:us=\EG8:ve=\E.3:vs=\E.2: # without the beeper # (tvi92B: removed :ko=bt: before translation, I see no backtab cap; # also added empty to suppress tic warning -- esr) tvi92B|televideo model 921 with sysline same as page & real vi function & no beeper:\ :am:hs:xn:xs:\ :co#80:li#24:sg#0:ug#0:\ - :ac=:ae=\E%:al=\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:cm=3\E=%+ %+ :\ - :cr=^M:dc=\EW:dl=1*\ER:do=^V:ds=\Ef\r\Eg:ei=:fs=\Eg:ho=^^:\ - :ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ + :ac=:ae=\E%%:al=\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:\ + :cm=3\E=%+ %+ :cr=^M:dc=\EW:dl=1*\ER:do=^V:ds=\Ef\r\Eg:ei=:\ + :fs=\Eg:ho=^^:ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ :is=\El\E"\EF1\E.3\017\EA\E<:kA=\EE:kC=^Z:kD=\EW:kE=\ET:\ :kI=\EQ:kL=1*\ER:kS=\EY:kb=^H:kd=^V:kl=^H:kr=^L:ku=^K:le=^H:\ - :me=\EG0:mr=\EG4:nd=^L:nw=^M^J:se=\EG0:sf=^J:so=\EG4:ta=^I:\ - :ts=\Ef\EG0:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.3:\ + :me=\EG0:mk@:mr=\EG4:nd=^L:nw=^M^J:se=\EG0:sf=^J:so=\EG4:\ + :ta=^I:ts=\Ef\EG0:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.3:\ :vs=\E.2: # (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr) tvi92D|tvi92B with DTR instead of XON/XOFF & better padding:\ :am:hs:xn:xs:\ :co#80:li#24:sg#0:ug#0:\ - :ac=:ae=\E%:al=2*\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:\ + :ac=:ae=\E%%:al=2*\EE:as=\E$:cd=\EY:ce=\ET:cl=^Z:\ :cm=3\E=%+ %+ :cr=^M:dc=\EW:dl=2*\ER:do=^V:ds=\Ef\r\Eg:ei=:\ :fs=\Eg:ho=^^:ic=\EQ:if=/usr/share/tabset/stdcrt:im=:\ :is=\El\E"\EF1\E.3\016\EA\E<:kA=2*\EE:kC=^Z:kD=\EW:\ @@ -6403,7 +14284,7 @@ tvi924|televideo tvi924:\ :k8=^AH\r:k9=^AI\r:k;=^AJ\r:kA=\EE:kC=\E*0:kD=\EW:kE=\Et:\ :kI=\EQ:kL=\ER:kS=\Ey:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:\ :l0=F1:l1=F2:l2=F3:l3=F4:l4=F5:l5=F6:l6=F7:l7=F8:l8=F9:l9=F10:\ - :la=F11:le=^H:mb=\EG2:me=\EG0:mr=\EG4:nd=^L:\ + :la=F11:le=^H:mb=\EG2:me=\EG0:mk@:mr=\EG4:nd=^L:\ :pk=\E|%+1%s\031:se=\EG0:sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:\ :ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.3:vi=\E.0:\ :vs=\E.1: @@ -6432,19 +14313,19 @@ tvi924|televideo tvi924:\ # U U D U 7200 # U U U D 9600 # U U U U 19200 -# -# +# +# # Settings for word length and stop-bits (S1) # # Position Description -# 5 6 +# 5 6 # --------------------------- # U - 7-bit word # D - 8-bit word # - U 2 stop bits # - D 1 stop bit -# -# +# +# # S2 (external) settings # # Position Up Dn Description @@ -6457,19 +14338,19 @@ tvi924|televideo tvi924:\ # -------------------------------------------- # 3 X # 4 X No parity -# 5 X +# 5 X # -------------------------------------------- # 3 X # 4 X Odd parity -# 5 X +# 5 X # -------------------------------------------- # 3 X # 4 X Even parity -# 5 X +# 5 X # -------------------------------------------- -# 3 X +# 3 X # 4 X Mark parity -# 5 X +# 5 X # -------------------------------------------- # 3 X # 4 X Space parity @@ -6482,47 +14363,47 @@ tvi924|televideo tvi924:\ # 8 X # -------------------------------------------- # 7 X Full Duplex -# 8 X +# 8 X # -------------------------------------------- # 7 X Block mode -# 8 X +# 8 X # -------------------------------------------- # 9 X 50 Hz # X 60 Hz # -------------------------------------------- # 10 X CR/LF (Auto LF) # X CR only -# +# # S3 (internal switch) settings: -# +# # Position Up Dn Description # -------------------------------------------- -# 1 X Keyclick off +# 1 X Keyclick off # X Keyclick on # -------------------------------------------- # 2 X English -# 3 X +# 3 X # -------------------------------------------- # 2 X German -# 3 X +# 3 X # -------------------------------------------- # 2 X French -# 3 X +# 3 X # -------------------------------------------- # 2 X Spanish -# 3 X +# 3 X # -------------------------------------------- # 4 X Blinking block cursor -# 5 X +# 5 X # -------------------------------------------- # 4 X Blinking underline cursor -# 5 X +# 5 X # -------------------------------------------- # 4 X Steady block cursor -# 5 X +# 5 X # -------------------------------------------- # 4 X Steady underline cursor -# 5 X +# 5 X # -------------------------------------------- # 6 X Screen blanking timer (ON) # X Screen blanking timer (OFF) @@ -6549,14 +14430,14 @@ tvi925|televideo 925:\ :im=:is=\El\E":k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ :kA=\EE:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kS=\EY:kb=^H:kd=^V:\ - :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:se=\EG0:\ - :sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eh\Ef:ue=\EG0:up=^K:\ - :us=\EG8:vb=\Eb\Ed:ve=\E.4:vs=\E.2: + :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:\ + :se=\EG0:sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eh\Ef:\ + :ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.4:vs=\E.2: # TeleVideo 925 from Mitch Bradley via BRL # to avoid "magic cookie" standout glitch: tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ :am:bs:bw:hs:ul:\ - :co#80:li#24:\ + :co#80:li#24:sg@:ug@:\ :al=\EE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:\ :ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eh:ei=:fs=^M\Eg:ho=^^:ic=\EQ:\ :im=:is=\El\E":k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ @@ -6568,7 +14449,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # From: Todd Litwin 28 May 1993 # Originally Tim Curry, Univ. of Central Fla., 5/21/82 -# for additional capabilities, +# for additional capabilities, # The following tvi descriptions from B:pjphar and virus!mike # is for all 950s. It sets the following attributes: # full duplex (\EDF) write protect off (\E() @@ -6587,11 +14468,11 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # start-protected field delimiter (\Ex2\200\200) # end-protected field delimiter (\Ex3\200\200) # set end of text delimiter to carriage return/null (\Ex4\r\200) -# +# # TVI 950 Switch Setting Reference Charts -# +# # TABLE 1: -# +# # S1 1 2 3 4 5 6 7 8 9 10 # +-----------------------+-----+-----+-----------------------+ # | Computer Baud Rate |Data |Stop | Printer Baud Rate | @@ -6601,8 +14482,8 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # +------+-----------------------+-----+-----+-----------------------+ # | Down | TABLE 2 | 8 | 1 | TABLE 2 | # +------+-----------------------+-----+-----+-----------------------+ -# -# +# +# # S2 1 2 3 4 5 6 7 8 9 10 # +-----+-----+-----------------+-----+-----------+-----+-----+ # |Edit |Cursr| Parity |Video|Transmiss'n| Hz |Click| @@ -6611,9 +14492,9 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # +------+-----+-----+-----------------+-----+-----------+-----+-----+ # | Down |Local|St'dy| TABLE 3 |BkonG| CHART | 50 | On | # +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# +# # TABLE 2: -# +# # +-----------+-----+-----+-----+-----+-----------+ # | Display | 1 | 2 | 3 | 4 | Baud | # +-----------+-----+-----+-----+-----+ | @@ -6636,7 +14517,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # | D | U | U | U | 9600 | # | U | U | U | U | 19200 | # +-----+-----+-----+-----+-----------+ -# +# # TABLE 3: # +-----+-----+-----+-----------+ # | 3 | 4 | 5 | Parity | @@ -6648,7 +14529,7 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # | U | U | U | Space | # +-----+-----+-----+-----------+ # X = don't care -# +# # CHART: # +-----+-----+-----------------+ # | 7 | 8 | Communication | @@ -6658,22 +14539,22 @@ tvi925-hi|TeleVideo Model 925 with half intensity standout mode:\ # | U | D | Block | # | U | U | Local | # +-----+-----+-----------------+ -# -# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:". -# I also inserted :ic: and :kI:; the :ko: string indicated that :IC: +# +# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:". +# I also inserted :ic: and :kI:; the :ko: string indicated that :IC: # should be present and all tvi native modes use the same string for this. -# Finally, note that BSD has cud1=^V. -- esr) +# Finally, note that BSD has cud1=^V. -- esr) tvi950|televideo 950:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r:\ :k0=^A0\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=\E*:\ :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:kb=^H:kd=^V:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:pf=\Ea:po=\E`:\ + :kr=^L:ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:pf=\Ea:po=\E`:\ :se=\EG0:sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:\ :ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed: # @@ -6692,7 +14573,7 @@ tvi950|televideo 950:\ tvi950-2p|televideo950 w/2 pages:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07 \011:\ @@ -6716,7 +14597,7 @@ tvi950-2p|televideo950 w/2 pages:\ tvi950-4p|televideo950 w/4 pages:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07 \011:\ @@ -6736,7 +14617,7 @@ tvi950-4p|televideo950 w/4 pages:\ tvi950-rv|televideo950 rev video:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0:\ @@ -6751,7 +14632,7 @@ tvi950-rv|televideo950 rev video:\ tvi950-rv-2p|televideo950 rev video w/2 pages:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07\s:\ @@ -6767,7 +14648,7 @@ tvi950-rv-2p|televideo950 rev video w/2 pages:\ tvi950-rv-4p|televideo950 rev video w/4 pages:\ :am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Eb\EG0\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07\s:\ @@ -6789,13 +14670,13 @@ tvi950-rv-4p|televideo950 rev video w/4 pages:\ # If the BSD termcap file was right, :cm=\E=%p1%{32}%+%c%p2%{32}%+%c: would # also work. tvi955|televideo 955:\ - :5i:am:bs:hs:mi:xn:xo:\ - :co#80:it#8:li#24:\ + :5i:am:bs:hs:mi:ms@:xn:xo:\ + :co#80:it#8:li#24:sg@:ug@:\ :RA=\E[=7l:RX=^N:SA=\E[=7h:SX=^O:\ - :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%:al=\EE:as=\E$:\ - :bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:\ - :ic=\EQ:im=\Eq:is=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El:\ + :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%%:al=\EE:\ + :as=\E$:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:\ + :ho=^^:ic=\EQ:im=\Eq:is=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El:\ :k0=^A0\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=\E*:\ :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kM=\EQ:kN=\EK:kP=\EJ:kS=\Ey:\ @@ -6803,16 +14684,16 @@ tvi955|televideo 955:\ :le=^H:mb=\EG2:me=\EG0\E[=5l:mh=\E[=5h:mk=\EG1:mr=\EG4:\ :nd=^L:pf=\Ea:po=\E`:ps=\EP:\ :r1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r:\ - :se=\EG0:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:\ + :se=\EG0:sf@:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:\ :up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.2:vi=\E.0:vs=\E.1: tvi955-w|955-w|televideo955 w/132 cols:\ :5i:am:bs:hs:mi:xn:xo:\ :co#132:it#8:li#24:\ :RA=\E[=7l:RX=^N:SA=\E[=7h:SX=^O:\ - :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%:al=\EE:as=\E$:\ - :bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:\ - :ic=\EQ:im=\Eq:is=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El:\ + :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%%:al=\EE:\ + :as=\E$:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:\ + :ho=^^:ic=\EQ:im=\Eq:is=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El:\ :k0=^A0\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=\E*:\ :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kM=\EQ:kN=\EK:kP=\EJ:kS=\Ey:\ @@ -6827,15 +14708,15 @@ tvi955-hb|955-hb|televideo955 half-bright:\ :5i:am:bs:hs:mi:xn:xo:\ :co#80:it#8:li#24:\ :RA=\E[=7l:RX=^N:SA=\E[=7h:SX=^O:\ - :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%:al=\EE:as=\E$:\ - :bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:\ - :ic=\EQ:im=\Eq:is=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El:\ + :ac=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ:ae=\E%%:al=\EE:\ + :as=\E$:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E[%i%d;%dH:\ + :cr=^M:ct=\E3:dc=\EW:dl=\ER:do=^V:ds=\Eg\Ef\r:ei=\Er:fs=^M:\ + :ho=^^:ic=\EQ:im=\Eq:is=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El:\ :k0=^A0\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=\E*:\ :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kM=\EQ:kN=\EK:kP=\EJ:kS=\Ey:\ :kT=\E1:ka=\E3:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:kt=\E2:ku=^K:\ - :le=^H:mb=\EG2:md=\E[=5l:me=\EG0\E[=5h:mk=\EG1:mr=\EG4:\ + :le=^H:mb=\EG2:md=\E[=5l:me=\EG0\E[=5h:mh@:mk=\EG1:mr=\EG4:\ :nd=^L:pf=\Ea:po=\E`:ps=\EP:\ :r1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r:\ :se=\EG0:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:\ @@ -6887,11 +14768,11 @@ tvi970-2p|televideo 970 with using 2 pages of memory:\ :up=\EM:us=\E[4m:vb=\E[5m\E[m:vs=\E[1Q: # Works with vi and rogue. NOTE: Esc v sets autowrap on, Esc u sets 80 chars # per line (rather than 40), Esc K chooses the normal character set. Not sure -# padding is needed, but adapted from the tvi920c termcap. The :so: and +# padding is needed, but adapted from the tvi920c termcap. The :so: and # :us: strings are klutzy, but at least use no screen space. # (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:". I wish we knew , # its absence means =\Ev isn't safe to use. -- esr) -# From: Gene Rochlin 9/19/84. +# From: Gene Rochlin 9/19/84. # The :cd:/:k0:/:k1:/:kh:/, and caps are from BRL, which says: # F1 and F2 should be programmed as ^A and ^B; required for UNIFY. tvipt|televideo personal terminal:\ @@ -6909,8 +14790,8 @@ tvi9065|televideo 9065:\ :F1=^AJ\r:F2=^AK\r:IC=\E[%d@:LE=\E[%dD:LF=\E[4;1v:\ :LO=\E[4;2v:RA=\E[=7l:RI=\E[%dC:RX=^N:SA=\E=7h:SF=\E[%dS:\ :SR=\E[%dT:SX=^O:UP=\E[%dA:\ - :ac=0_'rjhkglfmeniopxjqksqtmulvown:ae=\E%:al=\EE:as=\E$:\ - :bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:\ + :ac='r0_jhkglfmeniopqksqtmulvownxj:ae=\E%%:al=\EE:\ + :as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:\ :cs=\E[%i%d;%dr:ct=\E3:dc=\EW:dl=\ER:dm=\Er:do=^V:\ :ds=\E_30\r:ec=\E[%d@:ed=\0:ei=\Er:fs=^M:ho=^^:\ :i1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er:\ @@ -6918,15 +14799,14 @@ tvi9065|televideo 9065:\ :ip=:is=\EF2\EG0\E\\L:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ :kB=\EI:kD=\EW:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :ll=\E[25;1H:mb=\EG2:md=\EG,:me=\EG0:mh=\EGp:mk=\EG1:\ + :ll=\E[25;1H:mb=\EG2:md=\EG,:me=\EG0\E%:mh=\EGp:mk=\EG1:\ :mp=\E&:mr=\EG4:nd=^L:nw=^M^J:pf=\Ea:pk=\E|%+03%s\031:\ :pl=\E|%+02%s\031:pn=\E_%+?%s\r:po=\E`:ps=\E[0;0i:\ :px=\E|%+01%s\031:r1=\EC\EDF\E[0;0v\E[8;1v\E[=65l:\ :r2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1:\ :r3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0:\ - :rf=/usr/share/tabset/stdcrt:rp=\E[%r%db%.:\ - :..sa=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;:\ - :se=\EG0:sf=^J:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :rf=/usr/share/tabset/stdcrt:rp=\E[%r%db%.:se=\EG0:\ + :sf=^J:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ :te=\E.3\Er\E[1;25r\E[25;0H:ti=\E.2:ts=\E[4;1v\E_30:\ :uc=\EG8\EG0:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.3:\ :vi=\E.0:vs=\E.2: @@ -6943,7 +14823,7 @@ tvi9065|televideo 9065:\ # Visual 50 from Beau Shekita, BTL-Whippany # Recently I hacked together the following termcap for Visual # Technology's Visual 50 terminal. It's a slight modification of -# the vt52 termcap. +# the vt52 termcap. # It's intended to run when the Visual 50 is in vt52 emulation mode # (I know what you're thinking; if it's emulating a vt52, then why # another termcap? Well, it turns out that the Visual 50 can handle @@ -7015,8 +14895,8 @@ vi200-f|visual 200 no function keys:\ :kA=\EL:kC=\Ev:kD=\EO:kE=\Et:kI=\Ei:kL=\EM:kM=\Ej:kS=\EJ:\ :kT=\E1:kb=^H:kd=\EB:ke=\E>:kh=\EH:kl=\ED:kr=\EC:ks=\E=:\ :kt=\E2:ku=\EA:le=^H:me=\E3\Eb:mh=\E4:mk=\Ea:nd=\EC:pf=\EX:\ - :po=\EW:ps=\EH\E]:r1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX:sf=^J:\ - :sr=\EI:st=\E1:ta=^I:up=\EA:ve=\Ec:vs=\Ed: + :po=\EW:ps=\EH\E]:r1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX:se@:\ + :sf=^J:so@:sr=\EI:st=\E1:ta=^I:up=\EA:ve=\Ec:vs=\Ed: vi200-rv|visual 200 reverse video:\ :am:bs:mi:ms:pt:\ :co#80:it#8:kn#10:li#24:\ @@ -7027,8 +14907,8 @@ vi200-rv|visual 200 reverse video:\ :kL=\EM:kM=\Ej:kS=\EJ:kT=\E1:kb=^H:kd=\EB:ke=\E>:kh=\EH:\ :kl=\ED:kr=\EC:ks=\E=:kt=\E2:ku=\EA:le=^H:me=\E3\Eb:mh=\E4:\ :mk=\Ea:nd=\EC:pf=\EX:po=\EW:ps=\EH\E]:\ - :r1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX:se=\E3:sf=^J:so=\E4:\ - :st=\E1:ta=^I:up=\EA: + :r1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX:se=\E3:sf=^J:so=\E4:sr@:\ + :st=\E1:ta=^I:up=\EA:ve@:vs@: # the function keys are programmable but we don't reprogram them to their # default values with :is: because programming them is very verbose. maybe @@ -7099,7 +14979,7 @@ vi550|visual 550 ansi x3.64:\ :ue=\E[m:up=\E[A:us=\E[4m: vi603|visual603|visual 603:\ - :am:bs:hs:mi:ms:xn:xo:\ + :5i:am:bs:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -7111,12 +14991,12 @@ vi603|visual603|visual 603:\ :i1=\E>\E[?3l\E[?4l\E[?7h\E[?8h\E[1;24r:im=\E[4h:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\EP2~:ue=\E[24m:up=\E[A:us=\E[4m: + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[27m:\ + :sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\EP2~:ue=\E[24m:\ + :up=\E[A:us=\E[4m: #### Wyse (wy) # @@ -7158,37 +15038,36 @@ wy30|wyse30|Wyse 30:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ - :ho=^^:im=\Eq:ip=:is=\E'\E(\E^3\E`9\016\024:k1=^A@\r:\ + :ho=^^:im=\Eq:ip=:is=\E'\E(\E\1363\E`9\016\024:k1=^A@\r:\ :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:\ :kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :ll=^^^K:me=\E(\EH\003:mh=\E`7\E):mp=\E`7\E):nd=^L:\ - :nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`7\E):sr=\Ej:st=\E1:ta=\011:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):nd=^L:nw=^M^J:pf=^T:\ + :pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:se=\E(:sf=\n:\ + :so=\E`7\E):sr=\Ej:st=\E1:ta=\011:ts=\EF:up=^K:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # # This terminal description uses the non-hidden attribute mode # (with magic cookie). # # (wy30-mc: added :ti: to suppress tic warning --esr) wy30-mc|wyse30-mc|wyse 30 with magic cookies:\ - :5i:am:bw:hs:mi:xo:\ - :Nl#8:co#80:lh#1:li#24:lw#8:sg#1:ug#1:ws#45:\ + :5i:am:bw:hs:mi:ms@:xo:\ + :Nl#8:co#80:lh#1:li#24:lw#8:ma@:sg#1:ug#1:ws#45:\ :#2=\E{:&3=\Er:@8=\E7:LF=\EA11:LO=\EA10:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ :as=\EG0\EH\002:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:im=\Eq:ip=:is=\E'\E(\E^3\E`9\016\024:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:\ - :kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:\ - :ku=^K:le=^H:ll=^^^K:mb=\EG2:me=\EG0\E(\EH\003:mh=\EGp:\ - :mk=\EG1:mp=\EG0\E):mr=\EG4:nd=^L:nw=^M^J:pf=^T:\ - :pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=\011:te=\EG0:ti=:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :ei=\Er:fs=^M:ho=^^:im=\Eq:ip=:\ + :is=\E'\E(\E\1363\E`9\016\024:k1=^A@\r:k2=^AA\r:\ + :k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:\ + :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ + :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ + :mb=\EG2:me=\EG0\E(\EH\003:mh=\EGp:mk=\EG1:mp=\EG0\E):\ + :mr=\EG4:nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:\ + :ta=\011:te=\EG0:ti=:ts=\EF:ue=\EG0:up=^K:us=\EG8:\ + :vb=\E`8\E`9:ve=\E`1:vi=\E`0: # The mandatory pause used by :vb: does not work with # older versions of terminfo. If you see this effect then # unset xon and delete the / from the delay. @@ -7198,17 +15077,16 @@ wy30-vb|wyse30-vb|wyse 30 visible bell:\ :Nl#8:co#80:lh#1:li#24:lw#8:ma#1:ws#45:\ :#2=\E{:&3=\Er:@8=\E7:LF=\EA11:LO=\EA10:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ - :as=\EH^B:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :cr=^M:\ - :ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:ho=^^:\ - :im=\Eq:ip=:is=\E'\E(\E^3\E`9\016\024:k1=^A@\r:k2=^AA\r:\ - :k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:\ - :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ - :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ - :me=\E(\EH\003:mh=\E`7\E):mp=\E`7\E):nd=^L:nw=^M^J:pf=^T:\ - :pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`7\E):sr=\Ej:st=\E1:ta=\011:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :as=\EH^B:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ + :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ + :ho=^^:im=\Eq:ip=:is=\E'\E(\E\1363\E`9\016\024:k1=^A@\r:\ + :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ + :k8=^AG\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:\ + :kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ + :ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):nd=^L:nw=^M^J:pf=^T:\ + :pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:se=\E(:sf=\n:\ + :so=\E`7\E):sr=\Ej:st=\E1:ta=\011:ts=\EF:up=^K:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # # The Wyse 50 can support one attribute (e.g. Dim, Inverse, # Normal) without magic cookies by using the protect mode. @@ -7231,12 +15109,10 @@ wy50|wyse50|Wyse 50:\ :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(\EH\003:mh=\E`7\E):\ - :mp=\E`7\E):mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:\ - :po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:ta=^I:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):\ + :mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:\ + :ta=^I:ts=\EF:up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0: # # This terminal description uses the non-hidden attribute mode # (with magic cookie). @@ -7247,8 +15123,8 @@ wy50|wyse50|Wyse 50:\ # i.e. change $<100/> to $<100> # (wy50-mc: added :ti: to suppress tic warning --esr) wy50-mc|wyse50-mc|wyse 50 with magic cookies:\ - :5i:am:bw:hs:mi:xo:\ - :Nl#8:co#80:lh#1:li#24:lw#8:sg#1:ug#1:ws#45:\ + :5i:am:bw:hs:mi:ms@:xo:\ + :Nl#8:co#80:lh#1:li#24:lw#8:ma@:sg#1:ug#1:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ @@ -7261,28 +15137,25 @@ wy50-mc|wyse50-mc|wyse 50 with magic cookies:\ :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ :mb=\EG2:me=\EG0\E(\EH\003:mh=\EGp:mk=\EG1:mp=\EG0\E):\ :mr=\EG4:nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ - :px=\Ez%+?%s\177:\ - :..sa=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\EG0:ti=:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\EG0:ti=:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy50-vb|wyse50-vb|wyse 50 visible bell:\ :5i:am:bw:hs:mi:ms:xo:\ :Nl#8:co#80:lh#1:li#24:lw#8:ma#1:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ - :as=\EH^B:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :cr=^M:\ - :ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:ho=^^:\ - :i1=\E`\:\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ + :as=\EH^B:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ + :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ + :ho=^^:i1=\E`\:\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(\EH\003:mh=\E`7\E):\ - :mp=\E`7\E):mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:\ - :po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:ta=^I:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):\ + :mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:\ + :ta=^I:ts=\EF:up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0: wy50-w|wyse50-w|wyse 50 132-column:\ :5i:am:bw:hs:mi:ms:xo:\ :Nl#16:co#132:lh#1:li#24:lw#7:ma#1:ws#97:\ @@ -7295,30 +15168,27 @@ wy50-w|wyse50-w|wyse 50 132-column:\ :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(\EH\003:mh=\E`7\E):\ - :mp=\E`7\E):mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:\ - :po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:ta=^I:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):\ + :mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:\ + :ta=^I:ts=\EF:up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0: wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell:\ :5i:am:bw:hs:mi:ms:xo:\ :Nl#16:co#132:lh#1:li#24:lw#7:ma#1:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ - :as=\EH^B:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\Ea%i%dR%dC:cr=^M:\ - :ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:ho=^^:\ - :i1=\E`;\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ + :as=\EH^B:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\Ea%i%dR%dC:\ + :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ + :ho=^^:i1=\E`;\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(\EH\003:mh=\E`7\E):\ - :mp=\E`7\E):mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:\ - :po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:ta=^I:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(:mh=\E`7\E):mp=\E`7\E):\ + :mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:\ + :px=\Ez%+?%s\177:se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:\ + :ta=^I:ts=\EF:up=^K:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + # # The Wyse 350 is a Wyse 50 with color. # Unfortunately this means that it has magic cookies. @@ -7330,7 +15200,7 @@ wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell:\ # To further complicate things one of the attributes must be # black (either the foreground or the background). In reverse video # the background changes color with black letters. In normal video -# the foreground changes colors on a black background. +# the foreground changes colors on a black background. # This terminfo uses some of the more advanced features of curses # to display both color and blink. In the final analysis I am not # sure that the wy350 runs better with this terminfo than it does @@ -7347,7 +15217,6 @@ wy350|wyse350|Wyse 350:\ :Co#8:NC#55:Nl#8:co#80:lh#1:li#24:lw#8:pa#8:sg#1:ug#1:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:Sb=:\ - :..Sf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ :as=\EG0\EH\002:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ @@ -7356,38 +15225,34 @@ wy350|wyse350|Wyse 350:\ :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ - :mb=\EG2:me=\EG0\E(\EH\003%{0}%PA%{0}%PC:mh=\EGp:\ - :mk=\EG1:mp=\EG0\E):mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:\ - :pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :mb=\EG2:me=%{0}%PA%{0}%PC:mh=\EGp:mk=\EG1:mp=\EG0\E):\ + :mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:pf=^T:pn=\Ez%+/%s\r:\ + :po=^X:ps=\EP:px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EG4:sr=\Ej:\ + :st=\E1:ta=^I:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy350-vb|wyse350-vb|wyse 350 visible bell:\ :5i:am:bw:hs:mi:xo:\ :Co#8:NC#55:Nl#8:co#80:lh#1:li#24:lw#8:pa#8:sg#1:ug#1:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:Sb=:\ - :..Sf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ - :as=\EG0\EH\002:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ - :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ - :ho=^^:i1=\E`\:\E`9:i2=\E%?:im=\Eq:ip=:is=\016\024\E'\E(:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\EG0\E(\EH\003%{0}%PA%{0}%PC:mh=\EGp:mk=\EG1:\ - :mp=\EG0\E):mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:pf=^T:\ - :pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :as=\EG0\EH\002:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\E`\:\E`9:i2=\E%?:im=\Eq:ip=:\ + :is=\016\024\E'\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ + :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ + :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ + :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ + :mb=\EG2:me=%{0}%PA%{0}%PC:mh=\EGp:mk=\EG1:mp=\EG0\E):\ + :mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:pf=^T:pn=\Ez%+/%s\r:\ + :po=^X:ps=\EP:px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EG4:sr=\Ej:\ + :st=\E1:ta=^I:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy350-w|wyse350-w|wyse 350 132-column:\ :5i:am:bw:hs:mi:xo:\ :Co#8:NC#55:Nl#16:co#132:lh#1:li#24:lw#7:pa#8:sg#1:ug#1:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:Sb=:\ - :..Sf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ :as=\EG0\EH\002:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ @@ -7396,32 +15261,29 @@ wy350-w|wyse350-w|wyse 350 132-column:\ :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ - :mb=\EG2:me=\EG0\E(\EH\003%{0}%PA%{0}%PC:mh=\EGp:\ - :mk=\EG1:mp=\EG0\E):mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:\ - :pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :mb=\EG2:me=%{0}%PA%{0}%PC:mh=\EGp:mk=\EG1:mp=\EG0\E):\ + :mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:pf=^T:pn=\Ez%+/%s\r:\ + :po=^X:ps=\EP:px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EG4:sr=\Ej:\ + :st=\E1:ta=^I:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy350-wvb|wyse350-wvb|wyse 350 132-column visible bell:\ :5i:am:bw:hs:mi:xo:\ :Co#8:NC#55:Nl#16:co#132:lh#1:li#24:lw#7:pa#8:sg#1:ug#1:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:Sb=:\ - :..Sf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EG0\EH\003:al=\EE:\ - :as=\EG0\EH\002:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :as=\EG0\EH\002:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\E`;\E`9:i2=\E%?:im=\Eq:ip=:\ :is=\016\024\E'\E(:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:\ :kA=\EE:kB=\EI:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:\ :kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:\ - :mb=\EG2:me=\EG0\E(\EH\003%{0}%PA%{0}%PC:mh=\EGp:\ - :mk=\EG1:mp=\EG0\E):mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:\ - :pf=^T:pn=\Ez%+/%s\r:po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :mb=\EG2:me=%{0}%PA%{0}%PC:mh=\EGp:mk=\EG1:mp=\EG0\E):\ + :mr=\EG4:nd=^L:nw=^M^J:oc=\E%?:op=\EG0:pf=^T:pn=\Ez%+/%s\r:\ + :po=^X:ps=\EP:px=\Ez%+?%s\177:se=\EG0:sf=\n:so=\EG4:sr=\Ej:\ + :st=\E1:ta=^I:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # # This terminfo description is untested. # The wyse100 emulates an adm31, so the adm31 entry should work. @@ -7433,8 +15295,8 @@ wy100|wyse 100:\ :dc=\EW:dl=\ER:do=^J:ds=\EA31:ei=\Er:fs=^M:im=\Eq:is=\Eu\E0:\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:kb=^H:kd=^J:kh=\E{:kl=^H:kr=^L:ku=^K:\ - :le=^H:me=\EG0:mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG4:ts=\EF:\ - :ue=\EG0:up=^K:us=\EG8: + :le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG4:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8: # # The Wyse 120/150 has most of the features of the Wyse 60. # This terminal does not need padding up to 9600 baud! @@ -7448,7 +15310,7 @@ wy120|wyse120|wy150|wyse150|Wyse 120/150:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7460,11 +15322,9 @@ wy120|wyse120|wy150|wyse150|Wyse 120/150:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:\ - :r2=\EeF\E`\::r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r2=\EeF\E`\::r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:\ + :st=\E1:ta=\011:te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:\ + :us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column:\ :5i:am:bw:hs:km:mi:ms:xo:\ @@ -7472,7 +15332,7 @@ wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7484,19 +15344,17 @@ wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # wy120-25|wyse120-25|wy150-25|wyse150-25|wyse 120/150 80-column 25-lines:\ :5i:am:bw:hs:km:mi:ms:xo:\ - :co#80:it#8:li#25:pb#9601:ws#45:\ + :Nl@:co#80:it#8:lh@:li#25:lw@:pb#9601:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7506,20 +15364,19 @@ wy120-25|wyse120-25|wy150-25|wyse150-25|wyse 120/150 80-column 25-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ :vi=\E`0: # wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|wyse 120/150 132-column 25-lines:\ :5i:am:bw:hs:km:mi:ms:xo:\ - :co#132:it#8:li#25:pb#9601:ws#97:\ + :Nl@:co#132:it#8:lh@:li#25:lw@:pb#9601:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7529,9 +15386,8 @@ wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|wyse 120/150 132-column 25-lines :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ :vi=\E`0: @@ -7542,8 +15398,8 @@ wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7554,11 +15410,9 @@ wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:\ - :r2=\EeF\E`\::r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r2=\EeF\E`\::r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:\ + :st=\E1:ta=\011:te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:\ + :us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column visible bell:\ :5i:am:bw:hs:km:mi:ms:xo:\ @@ -7566,8 +15420,8 @@ wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7578,11 +15432,9 @@ wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # # The Wyse 60 is like the Wyse 50 but with more padding. # The reset strings are slow and the pad times very depending @@ -7620,7 +15472,7 @@ wy60|wyse60|Wyse 60:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7632,11 +15484,9 @@ wy60|wyse60|Wyse 60:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # wy60-w|wyse60-w|wyse 60 132-column:\ :5i:am:bw:hs:km:mi:ms:\ @@ -7644,7 +15494,7 @@ wy60-w|wyse60-w|wyse 60 132-column:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7656,19 +15506,17 @@ wy60-w|wyse60-w|wyse 60 132-column:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # wy60-25|wyse60-25|wyse 60 80-column 25-lines:\ :5i:am:bw:hs:km:mi:ms:\ - :co#80:li#25:ws#45:\ + :Nl@:co#80:lh@:li#25:lw@:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7678,19 +15526,18 @@ wy60-25|wyse60-25|wyse 60 80-column 25-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ :vi=\E`0: wy60-25-w|wyse60-25-w|wyse 60 132-column 25-lines:\ :5i:am:bw:hs:km:mi:ms:\ - :co#132:li#25:ws#97:\ + :Nl@:co#132:lh@:li#25:lw@:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7700,9 +15547,8 @@ wy60-25-w|wyse60-25-w|wyse 60 132-column 25-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ :vi=\E`0: @@ -7713,7 +15559,7 @@ wy60-42|wyse60-42|wyse 60 80-column 42-lines:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7725,18 +15571,16 @@ wy60-42|wyse60-42|wyse 60 80-column 42-lines:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:\ - :r3=\Ee*:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\Ee*:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy60-42-w|wyse60-42-w|wyse 60 132-column 42-lines:\ :5i:am:bw:hs:km:mi:ms:\ :Nl#16:co#132:lh#1:li#42:lw#7:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\036:i1=\EcB2\EcC3:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7748,19 +15592,17 @@ wy60-42-w|wyse60-42-w|wyse 60 132-column 42-lines:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\Ee*:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\Ee*:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # wy60-43|wyse60-43|wyse 60 80-column 43-lines:\ :5i:am:bw:hs:km:mi:ms:\ - :co#80:li#43:ws#45:\ + :Nl@:co#80:lh@:li#43:lw@:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7770,19 +15612,17 @@ wy60-43|wyse60-43|wyse 60 80-column 43-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:r3=\Ee+:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:r3=\Ee+:se=\EG0:\ + :sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:ti=\Ew0:ts=\EF:\ + :ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: wy60-43-w|wyse60-43-w|wyse 60 132-column 43-lines:\ :5i:am:bw:hs:km:mi:ms:\ - :co#132:li#43:ws#97:\ + :Nl@:co#132:lh@:li#43:lw@:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\036:i1=\EcB2\EcC3:i2=\EwJ\Ew1:im=\Eq:ip=:\ @@ -7792,9 +15632,8 @@ wy60-43-w|wyse60-43-w|wyse 60 132-column 43-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\Ee+:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ :vi=\E`0: @@ -7805,8 +15644,8 @@ wy60-vb|wyse60-vb|Wyse 60 visible bell:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7817,19 +15656,17 @@ wy60-vb|wyse60-vb|Wyse 60 visible bell:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeG:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell:\ :5i:am:bw:hs:km:mi:ms:\ :Nl#16:co#132:lh#1:li#24:lw#7:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\EwJ\Ew1:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7840,11 +15677,9 @@ wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew1:\ - :ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ - :vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew1:ti=\Ew0:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: # The Wyse-99GT looks at lot like the Wyse 60 except that it # does not have the 42/43 line mode. In the Wyse-60 the "lines" @@ -7862,12 +15697,12 @@ wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell:\ # u1 -> exit Tektronix mode # wy99gt|wyse99gt|Wyse 99gt:\ - :5i:am:bw:hs:km:mi:\ + :5i:am:bw:hs:km:mi:ms@:\ :Nl#8:co#80:lh#1:li#24:lw#8:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ @@ -7877,13 +15712,11 @@ wy99gt|wyse99gt|Wyse 99gt:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :nd=^L:nw@:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ - :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew0:ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:\ + :us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy99gt-w|wyse99gt-w|wyse 99gt 132-column:\ :5i:am:bw:hs:km:mi:\ @@ -7891,7 +15724,7 @@ wy99gt-w|wyse99gt-w|wyse 99gt 132-column:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ @@ -7903,18 +15736,17 @@ wy99gt-w|wyse99gt-w|wyse 99gt 132-column:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ :vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy99gt-25|wyse99gt-25|wyse 99gt 80-column 25-lines:\ :5i:am:bw:hs:km:mi:\ - :co#80:li#25:ws#45:\ + :Nl@:co#80:lh@:li#25:lw@:ws#45:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ @@ -7924,20 +15756,19 @@ wy99gt-25|wyse99gt-25|wyse 99gt 80-column 25-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ :vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy99gt-25-w|wyse99gt-25-w|wyse 99gt 132-column 25-lines:\ :5i:am:bw:hs:km:mi:\ - :co#132:li#25:ws#97:\ + :Nl@:co#132:lh@:li#25:lw@:ws#97:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ @@ -7947,9 +15778,8 @@ wy99gt-25-w|wyse99gt-25-w|wyse 99gt 132-column 25-lines:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ :vb=\E`8\E`9:ve=\E`1:vi=\E`0: @@ -7960,8 +15790,8 @@ wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7972,11 +15802,9 @@ wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ - :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:\ + :te=\Ew0:ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:\ + :us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: # wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell:\ :5i:am:bw:hs:km:mi:\ @@ -7984,8 +15812,8 @@ wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell:\ :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ @@ -7996,1343 +15824,9 @@ wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell:\ :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=\011:te=\Ew0:\ :ti=\Ew1:ts=\EF:u0=\E~>\E8:u1=\E[42h:ue=\EG0:up=^K:us=\EG8:\ :vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# The Wyse 160 is combination of the WY-60 and the WY-99gt. -# The reset strings are slow and the pad times very depending -# on other parameters such as font loading. I have tried -# to follow the following outline: -# -# -> set personality -# -> set number of columns -# -> set number of lines -# :i1: -> select the proper font -# :is: -> do the initialization -# :i3: -> set up display memory (2 pages) -# -# The display memory may be used for either text or graphics. -# When "Display Memory = Shared" the terminal will have more pages -# but garbage may be left on the screen when you switch from -# graphics to text. If "Display Memory = Unshared" then the -# text area will be only one page long. -# -# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid -# a bug reported by Robert Dunn, -- esr) -wy160|wyse160|Wyse 160:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#8:co#80:lh#1:li#24:lw#8:ws#38:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -wy160-w|wyse160-w|wyse 160 132-column:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#16:co#132:lh#1:li#24:lw#7:ws#90:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -wy160-25|wyse160-25|wyse 160 80-column 25-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :co#80:li#25:ws#38:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -wy160-25-w|wyse160-25-w|wyse 160 132-column 25-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :co#132:li#25:ws#90:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -wy160-42|wyse160-42|wyse 160 80-column 42-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#8:co#80:lh#1:li#42:lw#8:ws#38:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ - :r3=\Ee*:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -wy160-42-w|wyse160-42-w|wyse 160 132-column 42-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#16:co#132:lh#1:li#42:lw#7:ws#90:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\Ee*:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -wy160-43|wyse160-43|wyse 160 80-column 43-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :co#80:li#43:ws#38:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::r3=\Ee+:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -wy160-43-w|wyse160-43-w|wyse 160 132-column 43-lines:\ - :5i:am:bw:hs:km:mi:ms:\ - :co#132:li#43:ws#90:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\Ee+:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -wy160-vb|wyse160-vb|Wyse 160 visible bell:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#8:co#80:lh#1:li#24:lw#8:ws#38:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell:\ - :5i:am:bw:hs:km:mi:ms:\ - :Nl#16:co#132:lh#1:li#24:lw#7:ws#90:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ - :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ - :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# The Wyse 75 is a vt100 lookalike without advanced video. -# -# The Wyse 75 can support one attribute (e.g. Dim, Inverse, -# Underline) without magic cookies. The following description -# uses this capability, but when more than one attribute is -# put on the screen at once, all attributes will be changed -# to be the same as the last attribute given. -# The Wyse 75 can support more attributes when used with magic -# cookies. The wy75-mc terminal description uses magic cookies -# to correctly handle multiple attributes on a screen. -# -wy75|wyse75|wyse 75:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#80:li#24:ma#1:pb#1201:ws#78:\ - :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ - :ei=\E[4l:fs=^A:ho=\E[H:\ - :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ - :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ - :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m\017:\ - :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ - :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -wy75-mc|wyse75-mc|wyse 75 with magic cookies:\ - :5i:am:hs:mi:xn:xo:\ - :co#80:li#24:pb#1201:sg#1:ug#1:ws#78:\ - :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E[0p\017:al=\E[L:as=\E[0p\016:bl=^G:bt=\E[Z:cb=\E[1K:\ - :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ - :ei=\E[4l:fs=^A:ho=\E[H:\ - :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:\ - :i2=\E[m\E[p:im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:\ - :k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:\ - :kL=\E[M:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:\ - :mb=\E[2p:me=\E[0p\017:mh=\E[1p:mk=\E[4p:mr=\E[16p:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:\ - :..sa=\E[%{0}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{16}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{1}%|%;%?%p7%t%{4}%|%;%dp%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[0p:sf=\n:so=\E[17p:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[0p:up=\E[A:us=\E[8p:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -wy75-vb|wyse75-vb|wyse 75 with visible bell:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#80:li#24:ma#1:ws#78:\ - :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ - :ei=\E[4l:fs=^A:ho=\E[H:\ - :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ - :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ - :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m\017:\ - :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ - :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -wy75-w|wyse75-w|wyse 75 in 132 column mode:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#132:li#24:ma#1:pb#1201:ws#130:\ - :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ - :ei=\E[4l:fs=^A:ho=\E[H:\ - :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ - :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ - :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m\017:\ - :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ - :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3h:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -wy75-wvb|wyse75-wvb|wyse 75 with visible bell 132 columns:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#132:li#24:ma#1:ws#130:\ - :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ - :ei=\E[4l:fs=^A:ho=\E[H:\ - :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ - :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ - :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ - :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m\017:\ - :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ - :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3h:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# Wyse 85 emulating a vt220 7 bit mode. -# 24 line screen with status line. -# -# The vt220 mode permits more function keys but it wipes out -# the escape key. I strongly recommend that be set to -# escape (esc). -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# The Wyse 85 runs faster with XON/XOFF enabled. Also the -# :DC: and :IC: work best when XON/XOFF is set. :IC: and -# :DC: leave trash on the screen when used without XON/XOFF. -# -wy85|wyse85|wyse 85:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ - :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ - :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# Wyse 85 with visual bell. -wy85-vb|wyse85-vb|wyse 85 with visible bell:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ - :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ - :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# Wyse 85 in 132-column mode. -wy85-w|wyse85-w|wyse 85 in 132-column mode:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#132:it#8:li#24:ws#132:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ - :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ - :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3h:r3=\E[?5l:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# Wyse 85 in 132-column mode with visual bell. -wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#132:it#8:li#24:ws#132:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ - :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ - :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3h:r3=\E[?5l:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: -# -# Wyse 185 emulating a vt320 7 bit mode. -# -# This terminal always displays 25 lines. These lines may be used -# as 24 data lines and a terminal status line (top or bottom) or -# 25 data lines. The 48 and 50 line modes change the page size -# and not the number of lines on the screen. -# -# The Compose Character key can be used as a meta key if changed -# by set-up. -# -wy185|wyse185|wyse 185:\ - :5i:am:hs:km:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ - :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[ R:ti=\E[ Q:ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 185 with 24 data lines and top status (terminal status) -wy185-24|wyse185-24|wyse 185 with 24 data lines:\ - :5i:am:km:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ - :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[ R:ti=\E[ Q:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h\E[34l: -# -# Wyse 185 with visual bell. -wy185-vb|wyse185-vb|wyse 185+flash:\ - :5i:am:hs:km:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ - :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[ R:ti=\E[ Q:ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 185 in 132-column mode. -wy185-w|wyse185-w|wyse 185 in 132-column mode:\ - :5i:am:hs:km:mi:ms:xn:xo:\ - :co#132:it#8:li#24:ws#132:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ - :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[ R:ti=\E[ Q:ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 185 in 132-column mode with visual bell. -wy185-wvb|wyse185-wvb|wyse 185+flash+132 cols:\ - :5i:am:hs:km:mi:ms:xn:xo:\ - :co#132:it#8:li#24:ws#132:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ - :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ - :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ - :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[ R:ti=\E[ Q:ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: - -# wy325 terminfo entries -# Done by Joe H. Davis 3-9-92 - -# lines 25 columns 80 -# -wy325|wyse325|Wyse epc:\ - :5i:am:bw:hs:mi:\ - :Nl#8:co#80:lh#1:li#24:lw#8:pb#9601:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: - -# -# lines 24 columns 80 vb -# -wy325-vb|wyse325-vb|wyse-325 with visual bell:\ - :5i:am:bw:hs:mi:\ - :Nl#8:co#80:lh#1:li#24:lw#8:pb#9601:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::\ - :r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: - -# -# lines 24 columns 132 -# -wy325-w|wyse325-w|wy325w-24|wyse-325 in wide mode:\ - :5i:am:bw:hs:mi:\ - :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 25 columns 80 -# -wy325-25|wyse325-25|wy325-80|wyse-325|wyse-325 25 lines:\ - :5i:am:bw:hs:mi:\ - :co#80:li#25:pb#9601:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 25 columns 132 -# -wy325-25w|wyse325-25w|wy325 132 columns:\ - :5i:am:bw:hs:mi:\ - :co#132:li#25:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 25 columns 132 vb -# -wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video:\ - :5i:am:bw:hs:mi:\ - :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: - -# -# lines 42 columns 80 -# -wy325-42|wyse325-42|wyse-325 42 lines:\ - :5i:am:bw:hs:mi:\ - :co#80:li#42:pb#9601:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 42 columns 132 -# -wy325-42w|wyse325-42w|wyse-325 42 lines wide mode:\ - :5i:am:bw:hs:mi:\ - :co#132:li#42:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 42 columns 132 vb -# -wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell:\ - :5i:am:bw:hs:mi:\ - :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 43 columns 80 -# -wy325-43|wyse325-43|wyse-325 43 lines:\ - :5i:am:bw:hs:mi:\ - :co#80:li#43:pb#9601:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 43 columns 132 -# -wy325-43w|wyse325-43w|wyse-325 43 lines wide mode:\ - :5i:am:bw:hs:mi:\ - :co#132:li#43:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:po=\Ed#:ps=\EP:\ - :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# -# lines 43 columns 132 vb -# -wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell:\ - :5i:am:bw:hs:mi:\ - :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ - :SA=\Ed/:\ - :ac=+/,.0[Iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ - :ae=\EcD:al=\EE:as=\EcE:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ - :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ - :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ - :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ - :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ - :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ - :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: - -# Wyse 370 -- 24 line screen with status line. -# -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# -# If you change keyboards the terminal will send different -# escape sequences. -# The following definition is for the basic terminal without -# function keys. -# -# -> enter Tektronix 4010/4014 mode -# -> exit Tektronix 4010/4014 mode -# -> enter ASCII mode (from any ANSI mode) -# -> exit ASCII mode (goto native ANSI mode) -# -> enter Tek 4207 ANSI mode (from any ANSI mode) -# -> exit Tek 4207 mode (goto native ANSI mode) -# -# Bug: The capability resets attributes. -wy370-nk|wyse 370 without function keys:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:DO=\E[%dB:\ - :IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :ke=\E>:ks=\E[?1l\E=:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Function key set for the ASCII (wy-50 compatible) keyboard -# This is the default 370. -# -wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ - :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ - :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Function key set for the VT-320 (and wy85) compatible keyboard -# -wy370-105k|Wyse 370 with 105 key keyboard:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ - :DK=\E[31h:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:\ - :Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ - :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ - :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Function key set for the PC compatible keyboard -# -wy370-EPC|Wyse 370 with 102 key keyboard:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :@7=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kI=\E[2~:\ - :kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ - :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 370 with visual bell. -wy370-vb|Wyse 370 with visible bell:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ - :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ - :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 370 in 132-column mode. -wy370-w|Wyse 370 in 132-column mode:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#132:it#8:li#24:pa#64:ws#132:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ - :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ - :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3h:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 370 in 132-column mode with visual bell. -wy370-wvb|Wyse 370 with visible bell 132-columns:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#132:it#8:li#24:pa#64:ws#132:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ - :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ - :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3h:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -wy370-rv|Wyse 370 reverse video:\ - :5i:am:cc:hs:mi:ms:xn:xo:\ - :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ - :F5=\E[28~:F6=\E[29~:IC=\E[%d@:\ - :..Ic=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw:\ - :LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:\ - :Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ - :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ - :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ - :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ - :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:\ - :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ - :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:\ - :r3=\E[32h\E[?5h:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :te=\E[ R:ti=\E[ Q:ts=\E[40l\E[40h\E7\E[99;%i%dH:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:\ - :u4=\E[92;76"p:..u5=\E%!1\E[90;1"p:ue=\E[24m:up=\E[A:\ - :us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: -# -# Wyse 99gt Tektronix 4010/4014 emulator, -# -wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator:\ - :am:os:\ - :co#74:li#35:\ - :bl=^G:cl=\E^L:\ - :..cm=\035%{3040}%{89}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037:\ - :cr=^M:do=^J:ff=^L:\ - :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ - :ho=^]7`x @\037:\ - :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ - :is=\E8:le=^H:nd=\s:nw=^M^J:u0=\E~>\E8:u1=\E[42h:up=^K: -# -# Wyse 160 Tektronix 4010/4014 emulator, -# -wy160-tek|Wyse 160 Tektronix 4010/4014 emulator:\ - :am:os:\ - :co#74:li#35:\ - :bl=^G:cl=\E^L:\ - :..cm=\035%{3103}%{91}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037:\ - :cr=^M:do=^J:ff=^L:\ - :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ - :ho=^]8`g @\037:\ - :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ - :is=\E8:le=^H:nd=\s:nw=^M^J:u0=\E~>\E8:u1=\E[42h:up=^K: -# -# Wyse 370 Tektronix 4010/4014 emulator, -# -wy370-tek|Wyse 370 Tektronix 4010/4014 emulator:\ - :am:os:\ - :co#80:li#36:\ - :bl=^G:cl=\E^L:\ - :..cm=\035%{775}%{108}%p1%*%{5}%/%-%Py%p2%{64}%*%{4}%+%{5}%/%Px%gy%{32}%/%{31}%&%{32}%+%c%gy%{31}%&%{96}%+%c%gx%{32}%/%{31}%&%{32}%+%c%gx%{31}%&%{64}%+%c\037:\ - :cr=^M:do=^J:ff=^L:\ - :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ - :ho=^]8g @\037:\ - :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ - :is=\E8:kb=^H:kd=^J:kl=^H:kr=^I:ku=^K:le=^H:nd=\s:nw=^M^J:\ - :u0=\E[?38h\E8:u1=\E[?38l\E)0:up=^K: - -# Vendor-supplied Wyse entries end here. # Can't set tabs! Other bugs (ANSI mode only): # - can't redefine function keys (anyway, key redefinition in ANSI mode @@ -9368,7 +15862,6 @@ wy99-ansi|Wyse WY-99GT in ansi mode (int'l PC keyboard):\ :mh=\E[2m:mk=\E[8m:mp=\E[1"q:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[?19h:rc=\E8:\ :rs=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E\E[4i:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;:\ :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:ta=^I:ue=\E[24m:\ :up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[34h\E[?25h:\ :vi=\E[?25l:vs=\E[34l\E[?25h: @@ -9395,10 +15888,8 @@ wy99a-ansi|Wyse WY-99GT in ansi mode (US PC keyboard):\ :mh=\E[2m:mk=\E[8m:mp=\E[1"q:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[?19h:\ :r2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E\E[4i:\ - :r3=\E[?5l:rc=\E8:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[24m:up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:\ + :r3=\E[?5l:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ue=\E[24m:up=\EM:us=\E[4m:vb=\E[?5h\E[?5l:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l\E[?25h: # This terminal (firmware version 02) has a lot of bugs: @@ -9417,20 +15908,19 @@ wy99f|wy99fgt|wy-99fgt|Wyse WY-99GT (int'l PC keyboard):\ :F6=^Ac\r:F7=^Ad\r:F8=^Ae\r:F9=^Af\r:FA=^Ag\r:FB=^Ah\r:\ :FC=^Ai\r:FD=^Aj\r:FE=^Ak\r:K1=^^:K3=\EJ:K4=\ET:K5=\EK:\ :RA=\Ed.:RX=\Ec20\Ec30:SA=\Ed/:SX=\Ec21\Ec31:\ - :ac=+y'x.wI~_vj(k'l&m%n)o9q*s8t-u.v,w+x=:ae=\EcD:\ + :ac='x+y.w_vi~j(k'l&m%n)o9q*s8t-u.v,w+x=:ae=\EcD:\ :al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E'\E(\032:\ :cm=\E=%+ %+ :cr=^M:dc=\EW:dl=\ER:do=\Ej:ds=\EF\r:\ :eA=\Ec@1J:ei=\Er:fs=^M:ho=^^:im=\Eq:\ - :is=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E^0\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024:\ + :is=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\1360\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024:\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kB=\EI:kb=^H:kd=^J:\ :kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:me=\E(\EG0:mh=\EGp:mk=\EG3:\ :mp=\E):mr=\EG4:nd=^L:nw=^_:pf=^T:po=\Ed#:ps=\EP:\ - :rs=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E^0\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024:\ - :..sa=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t%{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?%p9%t\EcE%e\EcD%;:\ + :rs=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\1360\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024:\ :se=\EG0:sf=^J:so=\EG4:sr=\Ej:ta=^I:te=\Ec21\Ec31:\ - :ti=\Ec20\Ec30:ts=\EF:up=^K:vb=\E^1\E^0:ve=\E`4\E`1:\ - :vi=\E`0:vs=\E`2\E`1: + :ti=\Ec20\Ec30:ts=\EF:up=^K:vb=\E\1361\E\1360:\ + :ve=\E`4\E`1:vi=\E`0:vs=\E`2\E`1: # This is the american terminal. Here tabs work. # From: Francesco Potorti` , 24 Aug 1998 @@ -9441,25 +15931,1322 @@ wy99fa|wy99fgta|wy-99fgta|Wyse WY-99GT (US PC keyboard):\ :F6=^Ac\r:F7=^Ad\r:F8=^Ae\r:F9=^Af\r:FA=^Ag\r:FB=^Ah\r:\ :FC=^Ai\r:FD=^Aj\r:FE=^Ak\r:K1=^^:K3=\EJ:K4=\ET:K5=\EK:\ :RA=\Ed.:RX=\Ec20\Ec30:SA=\Ed/:SX=\Ec21\Ec31:\ - :ac=+y'x.wI~_vj(k'l&m%n)o9q*s8t-u.v,w+x=:ae=\EcD:\ + :ac='x+y.w_vi~j(k'l&m%n)o9q*s8t-u.v,w+x=:ae=\EcD:\ :al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E'\E(\032:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\Ej:ds=\EF\r:\ :eA=\Ec@1J:ei=\Er:fs=^M:ho=^^:im=\Eq:\ - :is=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E^0\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024:\ + :is=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\1360\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024:\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kB=\EI:kb=^H:kd=^J:\ :kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:me=\E(\EG0:mh=\EGp:mk=\EG3:\ :mp=\E):mr=\EG4:nd=^L:nw=^_:pf=^T:po=\Ed#:ps=\EP:\ - :rs=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E^0\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024:\ - :..sa=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t%{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?%p9%t\EcE%e\EcD%;:\ + :rs=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\1360\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024:\ :se=\EG0:sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:te=\Ec21\Ec31:\ - :ti=\Ec20\Ec30:ts=\EF:up=^K:vb=\E^1\E^0:ve=\E`4\E`1:\ - :vi=\E`0:vs=\E`2\E`1: + :ti=\Ec20\Ec30:ts=\EF:up=^K:vb=\E\1361\E\1360:\ + :ve=\E`4\E`1:vi=\E`0:vs=\E`2\E`1: + +# +# The Wyse 160 is combination of the WY-60 and the WY-99gt. +# The reset strings are slow and the pad times very depending +# on other parameters such as font loading. I have tried +# to follow the following outline: +# +# -> set personality +# -> set number of columns +# -> set number of lines +# :i1: -> select the proper font +# :is: -> do the initialization +# :i3: -> set up display memory (2 pages) +# +# The display memory may be used for either text or graphics. +# When "Display Memory = Shared" the terminal will have more pages +# but garbage may be left on the screen when you switch from +# graphics to text. If "Display Memory = Unshared" then the +# text area will be only one page long. +# +# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid +# a bug reported by Robert Dunn, -- esr) +wy160|wyse160|Wyse 160:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#8:co#80:lh#1:li#24:lw#8:ws#38:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: +# +wy160-w|wyse160-w|wyse 160 132-column:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#16:co#132:lh#1:li#24:lw#7:ws#90:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: +# +wy160-25|wyse160-25|wyse 160 80-column 25-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl@:co#80:lh@:li#25:lw@:ws#38:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +wy160-25-w|wyse160-25-w|wyse 160 132-column 25-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl@:co#132:lh@:li#25:lw@:ws#90:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +wy160-42|wyse160-42|wyse 160 80-column 42-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#8:co#80:lh#1:li#42:lw#8:ws#38:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ + :r3=\Ee*:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:\ + :ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ + :vi=\E`0: +wy160-42-w|wyse160-42-w|wyse 160 132-column 42-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#16:co#132:lh#1:li#42:lw#7:ws#90:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ + :r3=\Ee*:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:\ + :ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:\ + :vi=\E`0: +# +wy160-43|wyse160-43|wyse 160 80-column 43-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl@:co#80:lh@:li#43:lw@:ws#38:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::r3=\Ee+:se=\EG0:\ + :sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:ts=\EF:\ + :ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +wy160-43-w|wyse160-43-w|wyse 160 132-column 43-lines:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl@:co#132:lh@:li#43:lw@:ws#90:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\Ey:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB2\EcC3:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:r3=\Ee+:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +wy160-vb|wyse160-vb|Wyse 160 visible bell:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#8:co#80:lh#1:li#24:lw#8:ws#38:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`\::\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: +wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell:\ + :5i:am:bw:hs:km:mi:ms:\ + :Nl#16:co#132:lh#1:li#24:lw#7:ws#90:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:DK=\E`b:F1=^AJ\r:F2=^AK\r:\ + :F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ + :RA=\Ed.:RC=\E`c:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=\E{:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=\E{^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:\ + :po=\Ed#:ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`;:\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: +# +# The Wyse 75 is a vt100 lookalike without advanced video. +# +# The Wyse 75 can support one attribute (e.g. Dim, Inverse, +# Underline) without magic cookies. The following description +# uses this capability, but when more than one attribute is +# put on the screen at once, all attributes will be changed +# to be the same as the last attribute given. +# The Wyse 75 can support more attributes when used with magic +# cookies. The wy75-mc terminal description uses magic cookies +# to correctly handle multiple attributes on a screen. +# +wy75|wyse75|wyse 75:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#80:li#24:ma#1:pb#1201:ws#78:\ + :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ + :ei=\E[4l:fs=^A:ho=\E[H:\ + :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ + :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ + :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m:\ + :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:\ + :ta=^I:ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: +# +# This terminal description uses the non-hidden attribute mode +# (with magic cookie). +# +wy75-mc|wyse75-mc|wyse 75 with magic cookies:\ + :5i:am:hs:mi:ms@:xn:xo:\ + :co#80:li#24:ma@:pb#1201:sg#1:ug#1:ws#78:\ + :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=\E[0p\017:al=\E[L:as=\E[0p\016:bl=^G:bt=\E[Z:cb=\E[1K:\ + :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ + :ei=\E[4l:fs=^A:ho=\E[H:\ + :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:\ + :i2=\E[m\E[p:im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:\ + :k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:\ + :kL=\E[M:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ + :kl=\E[D:kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:\ + :mb=\E[2p:me=\E[0p\017:mh=\E[1p:mk=\E[4p:mr=\E[16p:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ + :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[0p:sf=\n:\ + :so=\E[17p:sr=\EM:st=\EH:ta=^I:ts=\E[>,\001:ue=\E[0p:\ + :up=\E[A:us=\E[8p:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: +wy75-vb|wyse75-vb|wyse 75 with visible bell:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#80:li#24:ma#1:pb@:ws#78:\ + :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ + :ei=\E[4l:fs=^A:ho=\E[H:\ + :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ + :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ + :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m:\ + :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:\ + :ta=^I:ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: +wy75-w|wyse75-w|wyse 75 in 132 column mode:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#132:li#24:ma#1:pb#1201:ws#130:\ + :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ + :ei=\E[4l:fs=^A:ho=\E[H:\ + :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ + :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ + :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m:\ + :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3h:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:\ + :ta=^I:ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: +wy75-wvb|wyse75-wvb|wyse 75 with visible bell 132 columns:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#132:li#24:ma#1:pb@:ws#130:\ + :%1=\E[28~:%9=\E[?5i:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[35~:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\E[>,\001\001\E[>-\001\001:eA=\E)0:ec=\E[%dX:\ + :ei=\E[4l:fs=^A:ho=\E[H:\ + :i1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h:i2=\E[m:\ + :im=\E[4h:ip=:is=\E>\E(B\E)0\017:k1=\E[?5i:k2=\E[?3i:\ + :k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ + :k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:kI=\E[@:kL=\E[M:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E[?7h\E=:ku=\E[A:le=^H:me=\E[m:\ + :mh=\E[0t\E[2m:mr=\E[1t\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3h:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:\ + :ta=^I:ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: +# +# Wyse 85 emulating a vt220 7 bit mode. +# 24 line screen with status line. +# +# The vt220 mode permits more function keys but it wipes out +# the escape key. I strongly recommend that be set to +# escape (esc). +# The terminal may have to be set for 8 data bits and 2 stop +# bits for the arrow keys to work. +# The Wyse 85 runs faster with XON/XOFF enabled. Also the +# :DC: and :IC: work best when XON/XOFF is set. :IC: and +# :DC: leave trash on the screen when used without XON/XOFF. +# +wy85|wyse85|wyse 85:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ + :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ + :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ + :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=\011:ts=\E[40h\E7\E[25;%i%dH:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: +# +# Wyse 85 with visual bell. +wy85-vb|wyse85-vb|wyse 85 with visible bell:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ + :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ + :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ + :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=\011:ts=\E[40h\E7\E[25;%i%dH:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: +# +# Wyse 85 in 132-column mode. +wy85-w|wyse85-w|wyse 85 in 132-column mode:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#132:it#8:li#24:ws#132:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ + :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ + :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ + :r2=\E[35h\E[?3h:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=\011:ts=\E[40h\E7\E[25;%i%dH:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: +# +# Wyse 85 in 132-column mode with visual bell. +wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#132:it#8:li#24:ws#132:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ + :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ + :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ + :r2=\E[35h\E[?3h:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=\011:ts=\E[40h\E7\E[25;%i%dH:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: + +# From: Kevin Turner , 12 Jul 1998 +# This copes with an apparent firmware bug in the wy85. He writes: +# "What I did was change leave the terminal cursor keys set to Normal +# (instead of application), and change \E[ to \233 for all the keys in +# terminfo. At one point, I found some reference indicating that this +# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just +# me), but I can't find that and the server under my bookmark to "Wyse +# Technical" isn't responding. So there's the question of wether the wy85 +# terminfo should reflect the manufactuer's intended behaviour of the terminal +# or the actual." +wy85-8bit|wyse85-8bit|wyse 85 in 8-bit mode:\ + :5i:am:hs:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\23328~:*6=\2334~:@0=\2331~:@8=\EOM:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\23323~:F2=\23324~:\ + :F3=\23325~:F4=\23326~:F5=\23328~:F6=\23329~:F7=\23331~:\ + :F8=\23332~:F9=\23333~:FA=\23334~:IC=\E[%d@:K1=\EOw:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ + :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ + :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\23317~:k7=\23318~:\ + :k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:kI=\2332~:\ + :kN=\2336~:kP=\2335~:kb=^H:kd=\233B:ke=\E>:kh=\23326~:\ + :kl=\233D:kr=\233C:ks=\E[?1l\E=:ku=\233A:l1=PF1:l2=PF2:\ + :l3=PF3:l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ + :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: +# +# Wyse 185 emulating a vt320 7 bit mode. +# +# This terminal always displays 25 lines. These lines may be used +# as 24 data lines and a terminal status line (top or bottom) or +# 25 data lines. The 48 and 50 line modes change the page size +# and not the number of lines on the screen. +# +# The Compose Character key can be used as a meta key if changed +# by set-up. +# +wy185|wyse185|wyse 185:\ + :5i:am:hs:km:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ + :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q:\ + :ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: +# +# Wyse 185 with 24 data lines and top status (terminal status) +wy185-24|wyse185-24|wyse 185 with 24 data lines:\ + :5i:am:hs@:km:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ + :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ + :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:sc=\E7:se=\E[27m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q:ts@:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Wyse 185 with visual bell. +wy185-vb|wyse185-vb|wyse 185+flash:\ + :5i:am:hs:km:mi:ms:xn:xo:\ + :co#80:it#8:li#24:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ + :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q:\ + :ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: +# +# Wyse 185 in 132-column mode. +wy185-w|wyse185-w|wyse 185 in 132-column mode:\ + :5i:am:hs:km:mi:ms:xn:xo:\ + :co#132:it#8:li#24:ws#132:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ + :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q:\ + :ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: +# +# Wyse 185 in 132-column mode with visual bell. +wy185-wvb|wyse185-wvb|wyse 185+flash+132 cols:\ + :5i:am:hs:km:mi:ms:xn:xo:\ + :co#132:it#8:li#24:ws#132:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ + :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ + :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E7\E[99;0H\E[K\E8:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[?5W:\ + :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\ + :kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[27m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q:\ + :ts=\E7\E[99;%i%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: + +# wy325 terminfo entries +# Done by Joe H. Davis 3-9-92 + +# lines 25 columns 80 +# +wy325|wyse325|Wyse epc:\ + :5i:am:bw:hs:mi:\ + :Nl#8:co#80:lh#1:li#24:lw#8:pb#9601:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: + +# +# lines 24 columns 80 vb +# +wy325-vb|wyse325-vb|wyse-325 with visual bell:\ + :5i:am:bw:hs:mi:\ + :Nl#8:co#80:lh#1:li#24:lw#8:pb#9601:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::\ + :r3=\EwG\Ee(:se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:\ + :te=\Ew0:ti=\Ew1:ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:\ + :ve=\E`1:vi=\E`0: + +# +# lines 24 columns 132 +# +wy325-w|wyse325-w|wy325w-24|wyse-325 in wide mode:\ + :5i:am:bw:hs:mi:\ + :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 25 columns 80 +# +wy325-25|wyse325-25|wy325-80|wyse-325|wyse-325 25 lines:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#80:lh@:li#25:lw@:pb#9601:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 25 columns 132 +# +wy325-25w|wyse325-25w|wy325 132 columns:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#132:lh@:li#25:lw@:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 25 columns 132 vb +# +wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video:\ + :5i:am:bw:hs:mi:\ + :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + +# +# lines 42 columns 80 +# +wy325-42|wyse325-42|wyse-325 42 lines:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#80:lh@:li#42:lw@:pb#9601:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 42 columns 132 +# +wy325-42w|wyse325-42w|wyse-325 42 lines wide mode:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#132:lh@:li#42:lw@:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 42 columns 132 vb +# +wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell:\ + :5i:am:bw:hs:mi:\ + :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 43 columns 80 +# +wy325-43|wyse325-43|wyse-325 43 lines:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#80:lh@:li#43:lw@:pb#9601:ws#45:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF\E`\::r3=\EwG\Ee(:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 43 columns 132 +# +wy325-43w|wyse325-43w|wyse-325 43 lines wide mode:\ + :5i:am:bw:hs:mi:\ + :Nl@:co#132:lh@:li#43:lw@:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn@:po=\Ed#:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee):\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: +# +# lines 43 columns 132 vb +# +wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell:\ + :5i:am:bw:hs:mi:\ + :Nl#16:co#132:lh#1:li#24:lw#7:pb#9601:ws#97:\ + :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ + :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:RA=\Ed.:\ + :SA=\Ed/:\ + :ac=+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~:\ + :ae=\EcD:al=\EE:as=\EcE:bl@:bt=\EI:cd=\EY:ce=\ET:cl=\E+:\ + :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:\ + :ei=\Er:fs=^M:ho=^^:i1=\EcB0\EcC1:i2=\Ew0:im=\Eq:ip=:\ + :is=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El:\ + :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ + :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ + :kE=\ET:kI=\Eq:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:\ + :kl=^H:kr=^L:ku=^K:le=^H:ll=^^^K:mb=\EG2:\ + :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ + :nd=^L:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=\Ed#:\ + :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\E`;:r3=\EwG\Ee(:\ + :se=\EG0:sf=\n:so=\EGt:sr=\Ej:st=\E1:ta=^I:te=\Ew0:ti=\Ew1:\ + :ts=\EF:ue=\EG0:up=^K:us=\EG8:vb=\E`8\E`9:ve=\E`1:vi=\E`0: + +# Wyse 370 -- 24 line screen with status line. +# +# The terminal may have to be set for 8 data bits and 2 stop +# bits for the arrow keys to work. +# +# If you change keyboards the terminal will send different +# escape sequences. +# The following definition is for the basic terminal without +# function keys. +# +# -> enter Tektronix 4010/4014 mode +# -> exit Tektronix 4010/4014 mode +# -> enter ASCII mode (from any ANSI mode) +# -> exit ASCII mode (goto native ANSI mode) +# -> enter Tek 4207 ANSI mode (from any ANSI mode) +# -> exit Tek 4207 mode (goto native ANSI mode) +# +# Bug: The capability resets attributes. +wy370-nk|wyse 370 without function keys:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:DO=\E[%dB:\ + :IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RC=\E[31l:RI=\E[%dC:\ + :SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :ke=\E>:ks=\E[?1l\E=:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Function key set for the ASCII (wy-50 compatible) keyboard +# This is the default 370. +# +wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ + :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Function key set for the VT-320 (and wy85) compatible keyboard +# +wy370-105k|Wyse 370 with 105 key keyboard:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ + :DK=\E[31h:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RC=\E[31l:\ + :RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ + :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ + :kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[26~:kl=\E[D:kr=\E[C:\ + :ks=\E[?1l\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Function key set for the PC compatible keyboard +# +wy370-EPC|Wyse 370 with 102 key keyboard:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :@7=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:LE=\E[%dD:\ + :RA=\E[?7l:RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:\ + :Sf=\E[61;%dw:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kI=\E[2~:\ + :kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Wyse 370 with visual bell. +wy370-vb|Wyse 370 with visible bell:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl@:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ + :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Wyse 370 in 132-column mode. +wy370-w|Wyse 370 in 132-column mode:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#132:it#8:li#24:pa#64:ws#132:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ + :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3h:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Wyse 370 in 132-column mode with visual bell. +wy370-wvb|Wyse 370 with visible bell 132-columns:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#132:it#8:li#24:pa#64:ws#132:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ + :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3h:r3=\E[?5l:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:\ + :ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +wy370-rv|Wyse 370 reverse video:\ + :5i:am:cc:hs:mi:ms:xn:xo:\ + :Co#64:NC#48:co#80:it#8:li#24:pa#64:ws#80:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DK=\E[31h:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\ + :F5=\E[28~:F6=\E[29~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:\ + :RC=\E[31l:RI=\E[%dC:SA=\E[?7h:Sb=\E[62;%dw:Sf=\E[61;%dw:\ + :UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E[40l:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ + :fs=\E[1;24r\E8:ho=\E[H:i1=\E[90;1"p\E[?5W:\ + :i2=\E>\017\E)0\E(B\E[63;0w\E[m:im=\E[4h:ip=:\ + :is=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h:\ + :k1=\E[?4i:k2=\E[?3i:k3=\E[2i:k4=\E[@:k5=\E[M:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\EOP:kB=\E[Z:\ + :kD=\EOQ:kI=\EOP:kL=\EOQ:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[?1l\E=:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:\ + :oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w:\ + :op=\E[m:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :r1=\E[13l\E[3l\E!p\E[?4i:r2=\E[35h\E[?3l:\ + :r3=\E[32h\E[?5h:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:\ + :sr=\EM:st=\EH:ta=\011:te=\E[ R:ti=\E[ Q:\ + :ts=\E[40l\E[40h\E7\E[99;%i%dH:u0=\E[?38h\E8:\ + :u1=\E[?38l\E)0:u2=\E[92;52"p:u3=\E~B:u4=\E[92;76"p:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: +# +# Wyse 99gt Tektronix 4010/4014 emulator, +# +wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator:\ + :am:os:\ + :co#74:li#35:\ + :bl=^G:cl=\E^L:cr=^M:do=^J:ff=^L:\ + :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ + :ho=^]7`x @\037:\ + :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ + :is=\E8:le=^H:nd=\s:nw=^M^J:u0=\E~>\E8:u1=\E[42h:up=^K: +# +# Wyse 160 Tektronix 4010/4014 emulator, +# +wy160-tek|Wyse 160 Tektronix 4010/4014 emulator:\ + :am:os:\ + :co#74:li#35:\ + :bl=^G:cl=\E^L:cr=^M:do=^J:ff=^L:\ + :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ + :ho=^]8`g @\037:\ + :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ + :is=\E8:le=^H:nd=\s:nw=^M^J:u0=\E~>\E8:u1=\E[42h:up=^K: +# +# Wyse 370 Tektronix 4010/4014 emulator, +# +wy370-tek|Wyse 370 Tektronix 4010/4014 emulator:\ + :am:os:\ + :co#80:li#36:\ + :bl=^G:cl=\E^L:cr=^M:do=^J:ff=^L:\ + :hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037:\ + :ho=^]8g @\037:\ + :hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037:\ + :is=\E8:kb=^H:kd=^J:kl=^H:kr=^I:ku=^K:le=^H:nd=\s:nw=^M^J:\ + :u0=\E[?38h\E8:u1=\E[?38l\E)0:up=^K: + +# Vendor-supplied Wyse entries end here. # #TITLE: TERMINFO ENTRY WY520 #DATE: 8/5/93 -# The WY520 terminfo is based on the WY285 entry published on the WYSE +# The WY520 terminfo is based on the WY285 entry published on the WYSE # BBS with the addition of more function keys and special keys. # # rs1 -> set personality @@ -9489,7 +17276,7 @@ wy520|wyse520|wyse 520:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9503,44 +17290,41 @@ wy520|wyse520|wyse 520:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 with 24 data lines and status (terminal status) wy520-24|wyse520-24|wyse 520 with 24 data lines:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#24:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 with visual bell. @@ -9550,7 +17334,7 @@ wy520-vb|wyse520-vb|wyse 520 with visible bell:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9564,15 +17348,14 @@ wy520-vb|wyse520-vb|wyse 520 with visible bell:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: # # Wyse 520 in 132-column mode. wy520-w|wyse520-w|wyse 520 in 132-column mode:\ @@ -9581,7 +17364,7 @@ wy520-w|wyse520-w|wyse 520 in 132-column mode:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9595,15 +17378,13 @@ wy520-w|wyse520-w|wyse 520 in 132-column mode:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 132-column mode with visual bell. wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns:\ @@ -9612,7 +17393,7 @@ wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9626,15 +17407,14 @@ wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: # # # Wyse 520 emulating a vt420 7 bit mode. @@ -9652,8 +17432,8 @@ wy520-epc|wyse520-epc|wyse 520 with EPC keyboard:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -9667,32 +17447,30 @@ wy520-epc|wyse520-epc|wyse 520 with EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 with 24 data lines and status (terminal status) # with EPC keyboard. wy520-epc-24|wyse520-pc-24|wyse 520 with 24 data lines and EPC keyboard:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#24:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ @@ -9700,13 +17478,12 @@ wy520-epc-24|wyse520-pc-24|wyse 520 with 24 data lines and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[47h\E[40l\E[1;24r:rc=\E8:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 with visual bell. @@ -9716,8 +17493,8 @@ wy520-epc-vb|wyse520-pc-vb|wyse 520 with visible bell and EPC keyboard:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -9731,15 +17508,14 @@ wy520-epc-vb|wyse520-pc-vb|wyse 520 with visible bell and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: # # Wyse 520 in 132-column mode. wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard:\ @@ -9748,8 +17524,8 @@ wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -9763,15 +17539,13 @@ wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:ve=\E[34h\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 132-column mode with visual bell. wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keyboard:\ @@ -9780,8 +17554,8 @@ wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keybo :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -9795,74 +17569,71 @@ wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keybo :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3h:\ - :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h\E[34l: + :r3=\E[?5l\E[47h\E[40l\E[r:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:ti=\E[ Q\E[?67;8h:\ + :ts=\E[2$~\E[1$}\E[%i%d`:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[30h\E,\E[30l:ve=\E[34h\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h\E[34l: # # Wyse 520 in 80-column, 36 lines wy520-36|wyse520-36|wyse 520 with 36 data lines:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#36:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r:rc=\E8:sc=\E7:\ + :se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 80-column, 48 lines wy520-48|wyse520-48|wyse 520 with 48 data lines:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#48:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r:rc=\E8:sc=\E7:\ + :se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 132-column, 36 lines @@ -9872,7 +17643,7 @@ wy520-36w|wyse520-36w|wyse 520 with 132 columns and 36 data lines:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9886,11 +17657,10 @@ wy520-36w|wyse520-36w|wyse 520 with 132 columns and 36 data lines:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[?3h:\ :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: @@ -9902,7 +17672,7 @@ wy520-48w|wyse520-48w|wyse 520 with 48 data lines:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:DC=\E[%dP:\ :DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\ :F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\ - :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:\ + :F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -9916,11 +17686,10 @@ wy520-48w|wyse520-48w|wyse 520 with 48 data lines:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kE=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:\ :kh=\E[26~:kl=\E[D:kr=\E[C:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:\ - :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[?3h:\ :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: @@ -9928,19 +17697,19 @@ wy520-48w|wyse520-48w|wyse 520 with 48 data lines:\ # # Wyse 520 in 80-column, 36 lines with EPC keyboard wy520-36pc|wyse520-36pc|wyse 520 with 36 data lines and EPC keyboard:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#36:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ @@ -9948,30 +17717,29 @@ wy520-36pc|wyse520-36pc|wyse 520 with 36 data lines and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r:rc=\E8:sc=\E7:\ + :se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 80-column, 48 lines with EPC keyboard wy520-48pc|wyse520-48pc|wyse 520 with 48 data lines and EPC keyboard:\ - :5i:am:km:mi:xn:xo:\ + :5i:am:hs@:km:mi:xn:xo:\ :co#80:it#8:li#48:ws#80:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%i%d`:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ - :do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?5W:\ + :do=^J:ds@:eA=\E)0:ec=\E[%dX:ei=\E[4l:fs@:ho=\E[H:i1=\E[?5W:\ :i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h:\ :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ @@ -9979,13 +17747,12 @@ wy520-48pc|wyse520-48pc|wyse 520 with 48 data lines and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[35h\E[?3l:\ - :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ - :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ + :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r:rc=\E8:sc=\E7:\ + :se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ + :ti=\E[ Q\E[?67;8h:ts@:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: # # Wyse 520 in 132-column, 36 lines with EPC keyboard @@ -9995,8 +17762,8 @@ wy520-36wpc|wyse520-36wpc|wyse 520 with 36 data lines and EPC keyboard:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -10010,11 +17777,10 @@ wy520-36wpc|wyse520-36wpc|wyse 520 with 36 data lines and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[?3h:\ :r3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: @@ -10026,8 +17792,8 @@ wy520-48wpc|wyse520-48wpc|wyse 520 with 48 data lines and EPC keyboard:\ :%1=\E[28~:*6=\E[4~:@0=\E[1~:@7=\E[4~:@8=\EOM:AL=\E[%dL:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ - :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :F8=\E[32~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ @@ -10041,11 +17807,10 @@ wy520-48wpc|wyse520-48wpc|wyse 520 with 48 data lines and EPC keyboard:\ :k;=\E[21~:kB=\E[Z:kD=\177:kE=\E[4~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kS=\E[1~:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :pf=\E[4i:po=\E[5i:ps=\E[0i:\ :r1=\E[13l\E[3l\E\\\E[63;1"p\E[!p:r2=\E[?3h:\ :r3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|:rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[ R:\ :ti=\E[ Q\E[?67;8h:ue=\E[24m:up=\E[A:us=\E[4m:\ :ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[?25h\E[34l: @@ -10084,52 +17849,12 @@ wy75ap|wyse75ap|wy-75ap|wyse-75ap|Wyse WY-75 Applications and Cursor keypad:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kA=\E[L:kE=\E[K:\ :kI=\E[@:kL=\E[M:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ :ke=10\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:ks=10\E[?1h\E=:\ - :ku=\EOA:le=^H:me=\E[m\017:mh=\E[0t\E[2m:mr=\E[1t\E[7m:\ + :ku=\EOA:le=^H:me=\E[m:mh=\E[0t\E[2m:mr=\E[1t\E[7m:\ :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:r1=\E[13l\E[3l\E!p:\ - :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:\ - :..sa=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[>,\001:ue=\E[m:up=\E[A:us=\E[2t\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: - -# From: Kevin Turner , 12 Jul 1998 -# This copes with an apparent firmware bug in the wy85. He writes: -# "What I did was change leave the terminal cursor keys set to Normal -# (instead of application), and change \E[ to \233 for all the keys in -# terminfo. At one point, I found some reference indicating that this -# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just -# me), but I can't find that and the server under my bookmark to "Wyse -# Technical" isn't responding. So there's the question of wether the wy85 -# terminfo should reflect the manufactuer's intended behaviour of the terminal -# or the actual." -wy85-8bit|wyse85-8bit|wyse 85 in 8-bit mode:\ - :5i:am:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#24:ws#80:\ - :%1=\23328~:*6=\2334~:@0=\2331~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\23323~:F2=\23324~:\ - :F3=\23325~:F4=\23326~:F5=\23328~:F6=\23329~:F7=\23331~:\ - :F8=\23332~:F9=\23333~:FA=\23334~:IC=\E[%d@:K1=\EOw:\ - :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ - :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[40l:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[1;24r\E8:ho=\E[H:\ - :i1=\E[62;1"p\E[?5W:i2=\E>\E(B\E)0\017\E[m:im=\E[4h:ip=:\ - :is=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\23317~:k7=\23318~:\ - :k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:kI=\2332~:\ - :kN=\2336~:kP=\2335~:kb=^H:kd=\233B:ke=\E>:kh=\23326~:\ - :kl=\233D:kr=\233C:ks=\E[?1l\E=:ku=\233A:l1=PF1:l2=PF2:\ - :l3=PF3:l4=PF4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ - :ps=\E[0i:r1=\E[13l\E[3l\E!p:r2=\E[35h\E[?3l:r3=\E[?5l:\ - :rc=\E8:\ - :..sa=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ - :ts=\E[40h\E7\E[25;%i%dH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[30h\E,\E[30l:ve=\E[?25h:vi=\E[?25l: + :r2=\E[35h\E[?3l:r3=\E[?5l:rc=\E8:sc=\E7:se=\E[m:sf=\n:\ + :so=\E[1t\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E[>,\001:ue=\E[m:\ + :up=\E[A:us=\E[2t\E[4m:vb=\E[30h\E,\E[30l:ve=\E[?25h:\ + :vi=\E[?25l: # From: Eric Freudenthal wy100q|Wyse 100 for Quotron:\ @@ -10138,8 +17863,8 @@ wy100q|Wyse 100 for Quotron:\ :al=\EE:bt=\EI:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :dc=\EW:\ :dl=\ER:do=^J:ei=\Er:ho=^^:im=\Eq:\ :is=\E`\:\0\EC\EDF\E0\E'\E(\EA21:kd=^J:kl=^H:kr=^L:ku=^K:\ - :le=^H:me=\EG0:mr=\EG4:nd=^L:se=\EG0:so=\EG4:sr=\Ej:ue=\EG0:\ - :up=^K:us=\EG8: + :le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:se=\EG0:so=\EG4:sr=\Ej:\ + :ue=\EG0:up=^K:us=\EG8: #### Kermit terminal emulations # @@ -10154,13 +17879,13 @@ wy100q|Wyse 100 for Quotron:\ kermit|standard kermit:\ :bs:\ :co#80:li#24:\ - :cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :ho=\EH:\ + :cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :do=\EB:ho=\EH:\ :is=K0 Standard Kermit 9-25-84\n:kd=^J:kh=^^:kl=^H:\ :kr=^L:ku=^K:le=^H:nd=\EC:up=\EA: kermit-am|standard kermit plus auto-margin:\ :am:bs:\ :co#80:li#24:\ - :cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :ho=\EH:\ + :cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :do=\EB:ho=\EH:\ :is=K1 Standard Kermit plus Automatic Margins\n:kd=^J:\ :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=\EC:up=\EA: # IBMPC Kermit 1.2. @@ -10171,7 +17896,7 @@ kermit-am|standard kermit plus auto-margin:\ pckermit|pckermit12|UCB IBMPC Kermit 1.2:\ :am:bs:\ :co#80:li#25:\ - :cl=\EH\EJ:cm=\EY%+ %+ :ho=\EH:\ + :cd@:ce@:cl=\EH\EJ:cm=\EY%+ %+ :do=\EB:ho=\EH:\ :is=K2 UCB IBMPC Kermit 1.2 8-30-84\n:kd=^J:kh=^^:\ :kl=^H:kr=^L:ku=^K:le=^H:nd=\EC:up=\EA: # IBMPC Kermit 1.20 @@ -10184,7 +17909,7 @@ pckermit120|UCB IBMPC Kermit 1.20:\ :bs:\ :co#80:it#8:li#24:\ :al=\EL:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :dc=\EN:dl=\EM:\ - :do=\EB:ho=\EH:\ + :do=\EB:ei@:ho=\EH:im@:\ :is=\EO\Eq\EJ\EY7 K3 UCB IBMPC Kermit 1.20 12-19-84\n:\ :kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:nd=\EC:se=\Eq:so=\Ep:\ :ta=^I:up=\EA:vs=\EO\Eq\EEK3: @@ -10197,7 +17922,7 @@ pckermit120|UCB IBMPC Kermit 1.20:\ # (msk227: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr) # From: greg small 3-17-85 msk227|mskermit227|MS-DOS Kermit 2.27 for the IBMPC:\ - :bs:\ + :am@:bs:\ :co#80:it#8:li#24:\ :al=\EL:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :dc=\EN:dl=\EM:\ :do=\EB:ei=\EO:ho=\EH:im=\E@:\ @@ -10250,7 +17975,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulation:\ :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ :nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :r1=\E(B\E)B\E>\E F\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h\E4i\E?4i\E[m\E[r\E[2$~:\ + :r1=\E(B\E)B\E>\E F\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h\E[4i\E[?4i\E[m\E[r\E[2$~:\ :rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[1$}\r\E[K:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l:ve=\E[?25h:\ @@ -10276,15 +18001,181 @@ vt320-k311|dec vt320 series as defined by kermit 3.11:\ :r1=\E[?3l:rc=\E8:rf=/usr/share/tabset/vt100:sc=\E7:\ :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}\E[1;%dH:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: +######## NON-ANSI TERMINAL EMULATIONS # -######## ---------------- TERMINFO FILE CAN BE SPLIT HERE ------------------- -# This cut mark helps make life less painful for people running ncurses tic -# on machines with relatively little RAM. The file can be broken in half here -# cleanly and compiled in sections -- no `use' references cross this cut -# going forward. + +#### Avatar # +# These entries attempt to describe Avatar, a terminal emulation used with +# MS-DOS bulletin-board systems. It was designed to give ANSI-like +# capabilities, but with cheaper (shorter) control sequences. Messy design, +# excessively dependent on PC idiosyncracies, but apparently rather popular +# in the BBS world. +# +# No color support. Avatar doesn't fit either of the Tektronix or HP color +# models that terminfo knows about. An Avatar color attribute is the +# low 7 bits of the IBM-PC display-memory attribute. Bletch. +# +# I wrote these entries while looking at the Avatar spec. I don't have +# the facilities to test them. Let me know if they work, or don't. +# +# Avatar escapes not used by these entries (because maybe you're smarter +# and more motivated than I am and can figure out how to wrap terminfo +# around some of them, and because they are weird enough to be funny): +# level 0: +# ^L -- clear window/reset current attribute to default +# ^V^A%p1%c -- set current color attribute, parameter decodes as follows: +# +# bit: 6 5 4 3 2 1 0 +# | | | | | +# +---+---+ | +---+---+ +# | | | +# | | foreground color +# | foreground intensity +# background color +# level 0+: +# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) up by p1 lines +# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) down by p1 lines +# ^V^L%p1%c%p2%c%p3%c -- clear p2 lines and p3 cols w/attr %p1 +# ^V^M%p1%c%p2%c%p3%c%p4%c -- fill p3 lines & p4 cols w/char p2+attr %p1 +# (^V^L and ^V^M set the current attribute as a side-effect.) +# ^V ^Y [...] -- repeat pattern. specifies the number of bytes +# in the pattern, the number of times the pattern +# should be repeated. If either value is 0, no-op. +# The pattern can contain Avatar console codes, +# including other ^V ^Y patterns. +# level 1: +# ^V^O -- clockwise mode on; turn print direction right each time you +# hit a window edge (yes, really). Turned off by CR +# ^V^P -- no-op +# ^V^Q%c -- query the driver +# ^V^R -- driver reset +# ^V^S -- Sound tone (PC-specific) +# ^V^T -- change highlight at current cursor poition to %c +# ^V^U%p1%c%p2%c -- highlight window with attribute +# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c +# -- define window +# +# From: Eric S. Raymond 1 Nov 1995 +# (The :mb:/:md:/:mr:/:as:/:us:/:so: capabilities exist only to +# tell ncurses that the corresponding highlights exist; it should use :sa:, +# which is the only method that will actually work for multiple highlights.) +# +# Update by TD - 2004: half of this was inconsistent. Found documentation +# and repaired most of the damage. sgr0 is probably incorrect, but the +# available documentation gives no clues for a workable string. +avatar0|avatar terminal emulator level 0:\ + :am:ms:ut:\ + :co#80:it#8:li#25:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae@:as@:ce=^V^G:cm=\026\010%.%.:cr=^M:do=^V^D:le=^V^E:\ + :mb=^V^B:md=^V^A^P:me=^V^A^G:mk=^V^A\0:mr=^V^Ap:nd=^V^F:\ + :rp=\031%.%.:rs=^L:sf=^J:so=^V^Ap:up=^V^C:us=^V^A^A: +# From: Eric S. Raymond 1 Nov 1995 +avatar0+|avatar terminal emulator level 0+:\ + :am:ms:ut:\ + :co#80:it#8:li#25:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ce=^V^G:cm=\026\010%.%.:cr=^M:dc=^V^N:do=^V^D:\ + :ei=\026\n\0\0\0\0:im=^V^I:le=^V^E:mb=^V^B:md=^V^A^P:\ + :me=^V^A^G:mk=^V^A\0:mr=^V^Ap:nd=^V^F:rp=\031%.%.:rs=^L:\ + :sf=^J:so=^V^Ap:up=^V^C:us=^V^A^A: +# From: Eric S. Raymond 1 Nov 1995 +avatar|avatar1|avatar terminal emulator level 1:\ + :am:ms:ut:\ + :co#80:it#8:li#25:\ + :RA=^V":SA=^V$:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :al=^V+:ce=^V^G:cm=\026\010%.%.:cr=^M:dc=^V^N:dl=^V-:\ + :do=^V^D:ei=^V^P:im=^V^I:le=^V^E:mb=^V^B:md=^V^A^P:\ + :me=^V^A^G:mk=^V^A\0:mr=^V^Ap:nd=^V^F:rp=\031%.%.:rs=^L:\ + :sf=^J:so=^V^Ap:up=^V^C:us=^V^A^A:ve=^V'^A:vi=^V'^B:\ + :vs=^V^C: + +#### RBcomm +# +# RBComm is a lean and mean terminal emulator written by the Interrupt List +# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early +# '90s), especially in the BBS world, and still has some loyal users due to +# its very small memory footprint and to a cute macro language. +rbcomm|IBM PC with RBcomm and EMACS keybindings:\ + :am:bw:mi:ms:xn:\ + :co#80:it#8:li#25:\ + :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ + :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ + :dm=:do=^C:ec=\E[%dX:ed=:ei=^]:im=^\:\ + :is=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g:kb=^H:kd=^N:\ + :ke=\E>:kh=^A:kl=^B:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M\ED:\ + :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ + :sc=\E7:se=^U:sf=\ED:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ + :us=^T:ve=\E[?25h:vi=\E[?25l: +rbcomm-nam|IBM PC with RBcomm without autowrap:\ + :am@:bw:mi:ms:xn:\ + :co#80:it#8:li#25:\ + :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ + :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ + :dm=:do=^J:ec=\E[%dX:ed=:ei=^]:im=^\:\ + :is=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g:kb=^H:kd=^J:\ + :ke=\E>:kh=^A:kl=^H:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M^J:\ + :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ + :sc=\E7:se=^U:sf=^J:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ + :us=^T:ve=\E[?25h:vi=\E[?25l: +rbcomm-w|IBM PC with RBcomm in 132 column mode:\ + :am:bw:mi:ms:xn:\ + :co#132:it#8:li#25:\ + :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ + :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ + :dm=:do=^J:ec=\E[%dX:ed=:ei=^]:im=^\:\ + :is=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g:kb=^H:kd=^J:\ + :ke=\E>:kh=^A:kl=^H:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M^J:\ + :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ + :sc=\E7:se=^U:sf=^J:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ + :us=^T:ve=\E[?25h:vi=\E[?25l: + +######## LCD DISPLAYS +# + +#### Matrix Orbital +# from: Eric Z. Ayers (eric@ale.org) +# +# Matrix Orbital 20x4 LCD display +# Command Character is 0xFE (decimal 254, octal 376) +# +# On this device, cursor addressability isn't possible. The LCD expects: +# 0xfe G +# for cup: %p1 == row and %p2 is column +# +# This line: +# cup=\376G%p2%c%p1%c +# LOOKS like it will work, but sometimes only one of the two numbers is sent. +# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'. +# +# Alas, there is no cursor upline capability on this display. +# +# These entries add some 'sanity stuff' to the clear function. That is, it +# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping, +# and turns off the cursor blinking and stuff like that. +# +# NOTE: calling 'beep' turns on the backlight (bell) +# NOTE: calling 'flash' turns it on and back off (visual bell) +# +MtxOrb|Generic Matrix Orbital LCD display:\ + :bl=\376B^A:cl=\376X\376C\376R\376K\376T:ho=\376H:\ + :le=\376L:nd=\376M:vb=\376B\001\376F:ve=\376K\376T: +MtxOrb204|20x4 Matrix Orbital LCD display:\ + :co#20:li#4:\ + :bl=\376B^A:cl=\376X\376C\376R\376K\376T:ho=\376H:\ + :le=\376L:nd=\376M:vb=\376B\001\376F:ve=\376K\376T: +MtxOrb162|16x2 Matrix Orbital LCD display:\ + :co#16:li#2:\ + :bl=\376B^A:cl=\376X\376C\376R\376K\376T:ho=\376H:\ + :le=\376L:nd=\376M:vb=\376B\001\376F:ve=\376K\376T: +# The end ######## OLDER TERMINAL TYPES # @@ -10328,8 +18219,8 @@ att2350|AT&T 2350 Video Information Terminal 80 column mode:\ :k1=\E[1r:k2=\E[2r:k3=\E[3r:k4=\E[4r:k5=\E[5r:k6=\E[6r:\ :k7=\E[7r:k8=\E[8r:k9=\E[9r:k;=\E[10r:kA=\E[L:kB=\E[Z:\ :kC=\E[J:kD=\E[P:kI=\E[@:kL=\E[M:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:\ - :se=\E[m:sf=^J:so=\E[7m:ta=^I:up=\E[A: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:mr=\E[7m:nd=\E[C:pf@:\ + :po@:ps@:se=\E[m:sf=^J:so=\E[7m:ta=^I:up=\E[A: # Must setup RETURN KEY - CR, REC'VD LF - INDEX. # Seems upward compatible with vt100, plus ins/del line/char. @@ -10339,13 +18230,13 @@ att2350|AT&T 2350 Video Information Terminal 80 column mode:\ # bold= reverse + underline = 2 | 3. # note that half-bright blinking doesn't look different from normal blinking. # NOTE:you must program the function keys first, label second! -# (att4410: a BSD entry has been seen with the following capabilities: +# (att4410: a BSD entry has been seen with the following capabilities: # :is=\E[?6l:, :k1=\EOc:, :k2=\EOd:, :k3=\EOe:, :k4=\EOg:, # :k6=\EOh:, :k7=\EOi:, :k8=\EOj:, -- esr) att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1:\ :am:hs:mi:ms:xo:\ :Nl#8:co#80:it#8:lh#2:li#24:lw#8:ws#80:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:fs=\E8:ho=\E[H:i1=\E[?3l\E)0:\ @@ -10353,18 +18244,15 @@ att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1:\ :ic=\E[@:im=:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\ :k6=\EOU:k7=\EOV:k8=\EOW:kC=\E[2J:kH=\E[24;1H:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:..pn=\E[%p1%d;00q%p2%\:-16s:\ - :..px=\E[%p1%1d;%p2%l%2.2dq f%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%+^AH:ue=\E[m:up=\E[A:us=\E[4m: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%+^AH:\ + :ue=\E[m:up=\E[A:us=\E[4m: att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1:\ :am:hs:mi:ms:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:fs=\E8:ho=\E[H:i1=\E[?3h\E)0:\ @@ -10372,18 +18260,15 @@ att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1:\ :ic=\E[@:im=:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\ :k6=\EOU:k7=\EOV:k8=\EOW:kC=\E[2J:kH=\E[24;1H:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:..pn=\E[%p1%d;00q%p2%\:-16s:\ - :..px=\E[%p1%1d;%p2%l%2.2dq f%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3h\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%+^AH:ue=\E[m:up=\E[A:us=\E[4m: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3h\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%+^AH:\ + :ue=\E[m:up=\E[A:us=\E[4m: att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2:\ :am:bs:hs:mi:ms:xo:\ :Nl#8:co#80:it#8:lh#2:li#24:lw#8:ws#80:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:fs=\E8:ho=\E[H:i1=\E[?3l\E)0:\ @@ -10391,18 +18276,15 @@ att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2:\ :ic=\E[@:im=:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\ :k6=\EOU:k7=\EOV:k8=\EOW:kC=\E[2J:kH=\E[24;1H:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:..pn=\E[%p1%d;00q%p2%\:-16s:\ - :..px=\E[%p1%d;%p2%l%02dq f%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%+^AH:ue=\E[m:up=\E[A:us=\E[4m: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%+^AH:\ + :ue=\E[m:up=\E[A:us=\E[4m: att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode:\ :am:bs:hs:mi:ms:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:fs=\E8:ho=\E[H:i1=\E[?3h\E)0:\ @@ -10410,13 +18292,10 @@ att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode:\ :ic=\E[@:im=:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\ :k6=\EOU:k7=\EOV:k8=\EOW:kC=\E[2J:kH=\E[24;1H:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:..pn=\E[%p1%d;00q%p2%\:-16s:\ - :..px=\E[%p1%d;%p2%l%02dq f%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3h\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%+^AH:ue=\E[m:up=\E[A:us=\E[4m: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3h\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%+^AH:\ + :ue=\E[m:up=\E[A:us=\E[4m: # 5410 in terms of a vt100 # (v5410: added / based on init string -- esr) @@ -10432,13 +18311,12 @@ v5410|att5410 in terms of a vt100:\ :ic=\E[@:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:\ :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m: + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: -# +# # Teletype Model 5420 -- A souped up 5410, with multiple windows, # even! the 5420 has three modes: scroll, window or page mode # this terminfo should work in scroll or window mode, but doesn't @@ -10466,7 +18344,7 @@ v5410|att5410 in terms of a vt100:\ # :i3: set screen color to black, # No representation in terminfo for the delete word key: kdw1=\Ed # Key capabilities assume the power-up send sequence... -# This :te: is not strictly necessary, but it helps maximize +# This :te: is not strictly necessary, but it helps maximize # memory usefulness: :te=\Ez:, # Alternate sgr0: :me=\E[m\EW^O:, # Alternate sgr: :sa=\E[%?%p1%t2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t^N%e^O%;:, @@ -10482,12 +18360,12 @@ att4415|tty5420|att5420|AT&T 4415/5420 80 cols:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=\E[B:ec=\E[%ds\E[%dD:ei=\E[4l:fs=\E8:ho=\E[x:\ - :i1=\E[?3l:i2=\E[?5l:im=\E[4h:\ + :i1=\E[?3l:i2=\E[?5l:ic@:im=\E[4h:\ :is=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212:\ :k1=\EOc:k2=\EOd:k3=\EOe:k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:\ :k8=\EOj:kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kE=\E[2K:kF=\E[T:\ @@ -10495,14 +18373,10 @@ att4415|tty5420|att5420|AT&T 4415/5420 80 cols:\ :kd=\E[B:ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ + :nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:rc=\E8:\ + :rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols:\ @@ -10512,7 +18386,7 @@ att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ @@ -10525,14 +18399,10 @@ att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols:\ :kd=\E[B:ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ + :nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:rc=\E8:\ + :rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv:\ @@ -10542,7 +18412,7 @@ att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ @@ -10555,14 +18425,10 @@ att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv:\ :kd=\E[B:ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ + :nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:rc=\E8:\ + :rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[11;0j:vs=\E[11;1j: att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv:\ @@ -10572,7 +18438,7 @@ att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ @@ -10585,22 +18451,17 @@ att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv:\ :kd=\E[B:ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ + :nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:rc=\E8:\ + :rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[11;0j:vs=\E[11;1j: # Note that this mode permits programming USER PF KEYS and labels # However, when you program user pf labels you have to reselect -# user pf keys to make them appear! +# user pf keys to make them appear! att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels:\ - :..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\ - :..px=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s: + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@: att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels:\ :am:bs:db:hs:mi:ms:xo:\ @@ -10609,25 +18470,22 @@ att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels:\ :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=\E[B:ec=\E[%ds\E[%dD:ei=\E[4l:fs=\E8:ho=\E[x:\ :i1=\E[?3l:i2=\E[?5l:im=\E[4h:\ :is=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212:\ - :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:\ - :kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:\ - :ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ - :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kA=\E[L:kB=\E[Z:kC=\E[2J:\ + :kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:\ + :kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j\E[21;1j\212:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[19;1j\E[21;4j\Eent:\ + :ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:\ + :le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ + :po=\E[?4i:ps=\E[?2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: @@ -10638,25 +18496,22 @@ att4415-rv-nl|tty5420-rv-nl|att5420-rv-nl|AT&T 4415/5420 reverse video without c :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=\E[B:ec=\E[%ds\E[%dD:ei=\E[4l:fs=\E8:ho=\E[x:\ :i1=\E[?3l:i2=\E[?5h:im=\E[4h:\ :is=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212:\ - :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:\ - :kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:\ - :ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ - :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kA=\E[L:kB=\E[Z:kC=\E[2J:\ + :kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:\ + :kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j\E[21;1j\212:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[19;1j\E[21;4j\Eent:\ + :ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:\ + :le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ + :po=\E[?4i:ps=\E[?2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[11;0j:vs=\E[11;1j: @@ -10667,25 +18522,22 @@ att4415-w-nl|tty5420-w-nl|att5420-w-nl|AT&T 4415/5420 132 cols without changing :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=\E[B:ec=\E[%ds\E[%dD:ei=\E[4l:fs=\E8:ho=\E[x:\ :i1=\E[?3h:i2=\E[?5l:im=\E[4h:\ :is=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212:\ - :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:\ - :kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:\ - :ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ - :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kA=\E[L:kB=\E[Z:kC=\E[2J:\ + :kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:\ + :kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j\E[21;1j\212:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[19;1j\E[21;4j\Eent:\ + :ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:\ + :le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ + :po=\E[?4i:ps=\E[?2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: @@ -10696,25 +18548,22 @@ att4415-w-rv-n|tty5420-w-rv-n|att5420-w-rv-n|AT&T 4415/5420 132 cols reverse wit :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:\ :LO=\E~:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:SR=\E[%dF:\ :UP=\E[%dA:\ - :ac=``aaffhhggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~00++--,,..:\ + :ac=++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[x\E[J:cm=\E[%i%d;%dx:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=\E[B:ec=\E[%ds\E[%dD:ei=\E[4l:fs=\E8:ho=\E[x:\ :i1=\E[?3h:i2=\E[?5h:im=\E[4h:\ :is=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212:\ - :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:\ - :kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:\ - :ke=\E[19;0j\E[21;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E[19;1j\E[21;4j\Eent:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:\ - :l5=F5:l6=F6:l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[?9i:..pn=\E[%p1%d;0;0;1q%p2%\:-16.16s:\ - :po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:kA=\E[L:kB=\E[Z:kC=\E[2J:\ + :kD=\E[P:kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:\ + :kP=\E[V:kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j\E[21;1j\212:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[19;1j\E[21;4j\Eent:\ + :ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:\ + :le=^H:ll=\Ew:mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:\ + :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ + :po=\E[?4i:ps=\E[?2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[11;0j:vs=\E[11;1j: @@ -10722,8 +18571,8 @@ att5420_2|AT&T 5420 model 2 80 cols:\ :am:db:hs:mi:ms:xo:\ :Nl#8:co#80:it#8:lh#2:li#24:lm#78:lw#8:ws#55:\ :@1=\Et:@7=\Ez:@8=^J:AL=\E[%dL:CM=\E[%i%d;%dt:DC=\E[%dP:\ - :DL=\E[%dM:IC=\E[%d@:LE=\E[%dD:LF=\E|:LO=\E~:RI=\E[%dC:\ - :SF=\E[%dE:SR=\E[%dF:UP=\E[%dA:\ + :DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:LO=\E~:\ + :RI=\E[%dC:SF=\E[%dE:SR=\E[%dF:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bt=\E[1Z:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%+^AG:cl=\EH\EJ:cm=\E[%i%d;%dH:cr=\EG:\ @@ -10735,22 +18584,18 @@ att5420_2|AT&T 5420 model 2 80 cols:\ :kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:\ :kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:\ - :l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:me=\E[m\017:mh=\E[2m:\ + :l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:me=\E[0m:mh=\E[2m:\ :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[1C:nw=^M^J:pf=\E[4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s\E~:po=\E[5i:\ - :ps=\E[?;2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s\E~:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:us=\E[4m:vb=\E[?5h\E[?5l:\ - :ve=\E[11;0j:vs=\E[11;1j: + :po=\E[5i:ps=\E[?;2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[1A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: att5420_2-w|AT&T 5420 model 2 in 132 column mode:\ :am:db:hs:mi:ms:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lm#78:lw#8:ws#55:\ :@1=\Et:@7=\Ez:@8=^J:AL=\E[%dL:CM=\E[%i%d;%dt:DC=\E[%dP:\ - :DL=\E[%dM:IC=\E[%d@:LE=\E[%dD:LF=\E|:LO=\E~:RI=\E[%dC:\ - :SF=\E[%dE:SR=\E[%dF:UP=\E[%dA:\ + :DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:LF=\E|:LO=\E~:\ + :RI=\E[%dC:SF=\E[%dE:SR=\E[%dF:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bt=\E[1Z:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%+^AG:cl=\EH\EJ:cm=\E[%i%d;%dH:cr=\EG:\ @@ -10762,16 +18607,12 @@ att5420_2-w|AT&T 5420 model 2 in 132 column mode:\ :kE=\E[2K:kF=\E[T:kH=\Eu:kI=\E[4h:kL=\E[M:kN=\E[U:kP=\E[V:\ :kR=\E[S:kb=^H:kd=\E[B:ke=\E[19;0j:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1j:ku=\E[A:l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:\ - :l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:me=\E[m\017:mh=\E[2m:\ + :l7=F7:l8=F8:le=^H:ll=\Ew:mb=\E[5m:me=\E[0m:mh=\E[2m:\ :mk=\E[8m:mp=\EV:mr=\E[7m:nd=\E[1C:nw=^M^J:pf=\E[4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s\E~:po=\E[5i:\ - :ps=\E[?;2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s\E~:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:us=\E[4m:vb=\E[?5h\E[?5l:\ - :ve=\E[11;0j:vs=\E[11;1j: + :po=\E[5i:ps=\E[?;2i:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[1A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[11;0j:vs=\E[11;1j: att4418|att5418|AT&T 5418 80 cols:\ :am:xo:\ @@ -10784,7 +18625,7 @@ att4418|att5418|AT&T 5418 80 cols:\ :ae=^O:al=\E[1L:as=^N:bl=^G:cd=\E[0J:ce=\E[0K:cl=\E[H\E[2J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[1P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ :i1=\E[?3l:ic=\E[1@:im=:is=\E)0\E?6l\E?5l:k1=\E[h:k2=\E[i:\ - :k3=\E[j:k6=\E[k:k7=\E[l:k8=\E[f:k9=\E[w:k;=\E[m:kC=\E[%:\ + :k3=\E[j:k6=\E[k:k7=\E[l:k8=\E[f:k9=\E[w:k;=\E[m:kC=\E[%%:\ :kd=\EU:kh=\Ec:kl=\E@:kr=\EA:ku=\ES:le=\E[D:mb=\E[5m:\ :me=\E[m\017:mh=\E[2m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\ :se=\E[m:sf=^J:so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m: @@ -10799,7 +18640,7 @@ att4418-w|att5418-w|AT&T 5418 132 cols:\ :ae=^O:al=\E[1L:as=^N:bl=^G:cd=\E[0J:ce=\E[0K:cl=\E[H\E[2J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[1P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ :i1=\E[?3h:ic=\E[1@:im=:is=\E)0\E?6l\E?5l:k1=\E[h:k2=\E[i:\ - :k3=\E[j:k6=\E[k:k7=\E[l:k8=\E[f:k9=\E[w:k;=\E[m:kC=\E[%:\ + :k3=\E[j:k6=\E[k:k7=\E[l:k8=\E[f:k9=\E[w:k;=\E[m:kC=\E[%%:\ :kd=\EU:kh=\Ec:kl=\E@:kr=\EA:ku=\ES:le=\E[D:mb=\E[5m:\ :me=\E[m\017:mh=\E[2m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\ :se=\E[m:sf=^J:so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m: @@ -10808,22 +18649,22 @@ att4420|tty4420|teletype 4420:\ :bs:da:db:eo:ms:ul:xo:\ :co#80:li#24:lm#72:\ :al=\EL:bl=^G:cd=\EJ:ce=\Ez:cl=\EH\EJ:cm=\EY%+ %+ :cr=\EG:\ - :dc=\EP:dl=\EM:do=\EB:ho=\EH:k0=\EU:k3=\E@:kA=\EL:kB=\EO:\ - :kC=\EJ:kD=\EP:kF=\ES:kI=\E^:kL=\EM:kR=\ET:kd=\EB:kh=\EH:\ - :kl=^H:kr=\EC:ku=\EA:l0=segment advance:l3=cursor tab:\ - :le=\ED:nd=\EC:se=\E~:sf=\EH\EM\EY7\s:so=\E}:ue=\EZ:up=\EA:\ - :us=\E\\: + :dc=\EP:dl=\EM:dm@:do=\EB:ed@:ho=\EH:k0=\EU:k3=\E@:kA=\EL:\ + :kB=\EO:kC=\EJ:kD=\EP:kF=\ES:kI=\E\136:kL=\EM:kR=\ET:kd=\EB:\ + :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=segment advance:\ + :l3=cursor tab:le=\ED:nd=\EC:se=\E~:sf=\EH\EM\EY7\s:\ + :so=\E}:ue=\EZ:up=\EA:us=\E\\: # The following is a terminfo entry for the Teletype 4424 # asynchronous keyboard-display terminal. It supports # the vi editor. The terminal must be set up as follows, -# +# # HIGHLIGHT DEFINITION 3-TONE # DISPLAY FUNCTION GROUP III -# +# # The second entry below provides limited (a la adm3a) # operation under GROUP II. -# +# # This must be used with DISPLAY FUNCTION GROUP I or III # and HIGHLIGHT DEFINITION 3-TONE # The terminal has either bold or blink, depending on options @@ -10837,11 +18678,10 @@ att4424|tty4424|teletype 4424:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=\E(B:al=\EL:as=\E(0:bl=^G:bt=\EO:cd=\EJ:ce=\Ez:\ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\EF:\ - :dc=\EP:dl=\EM:do=\EB:im=:ei=:ho=\E[H:ic=\E^:\ + :dc=\EP:dl=\EM:do=\EB:ei=:ho=\E[H:ic=\E\136:im=:\ :is=\E[20l\E[?7h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kC=\EJ:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E3:\ :md=\E3:me=\EX\E~\EZ\E4\E(B:mh=\EW:mr=\E}:nd=\EC:nw=\EE:\ - :..sa=\E[%?%p1%t7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p6%p4%|%t;5%;%?%p5%t;0%;m:\ :se=\E~:sf=^J:so=\E}:sr=\ET:st=\EH:ta=^I:ue=\EZ:up=\EA:\ :us=\E\\: @@ -10853,13 +18693,11 @@ att4424-1|tty4424-1|teletype 4424 in display function group I:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=\E(B:al=\EL:as=\E(0:bl=^G:bt=\EO:cd=\EJ:ce=\Ez:\ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\EF:\ - :dc=\EP:dl=\EM:do=\EB:im=:ei=:ho=\E[H:ic=\E^:\ - :is=\E[20l\E[?7h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:\ - :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=^H:mb=\E3:md=\E3:\ - :me=\EX\E~\EZ\E4\E(B:mh=\EW:mr=\E}:nd=\EC:nw=\EE:\ - :..sa=\E[%?%p1%t7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p6%p4%|%t;5%;%?%p5%t;0%;m:\ - :se=\E~:sf=^J:so=\E}:sr=\ET:st=\EH:ta=^I:ue=\EZ:up=\EA:\ - :us=\E\\: + :dc=\EP:dl=\EM:do=\EB:ei=:ho=\E[H:ic=\E\136:im=:\ + :is=\E[20l\E[?7h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kC@:kb=^H:\ + :kd=\EB:kh@:kl=\ED:kr=\EC:ku=\EA:le=^H:mb=\E3:md=\E3:\ + :me=\EX\E~\EZ\E4\E(B:mh=\EW:mr=\E}:nd=\EC:nw=\EE:se=\E~:\ + :sf=^J:so=\E}:sr=\ET:st=\EH:ta=^I:ue=\EZ:up=\EA:us=\E\\: # This entry is not one of AT&T's official ones, it was translated from the # 4.4BSD termcap file. The highlight strings are different from att4424. @@ -10871,18 +18709,18 @@ att4424m|tty4424m|teletype 4424M:\ :am:da:db:mi:\ :co#80:it#8:li#23:\ :al=\EL:bl=^G:ce=\E[K:cl=\E[2;H\E[J:cm=\E[%i%2;%2H\E[B:\ - :cr=^M:dc=\EP:dl=\EM:do=^J:im=:ei=:ic=\E^:ip=2:\ + :cr=^M:dc=\EP:dl=\EM:do=^J:ei=:ic=\E\136:im=:ip=2:\ :is=\E[m\E[2;24r:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:\ :nd=\E[C:nw=^M^J:se=\E[m:sf=^J:so=\E[7m:sr=\ET:ta=^I:\ :ue=\E[m:up=\E[A:us=\E[4m: -# The Teletype 5425 is really version 2 of the Teletype 5420. It -# is quite similar, except for some minor differences. No page -# mode, for example, so all of the :cm: sequences used above have -# to change back to what's being used for the 5410. Many of the +# The Teletype 5425 is really version 2 of the Teletype 5420. It +# is quite similar, except for some minor differences. No page +# mode, for example, so all of the :cm: sequences used above have +# to change back to what's being used for the 5410. Many of the # option settings have changed their numbering as well. -# +# # This has been tested on a preliminary model. # # (att5425: added / based on the init string -- esr) @@ -10904,15 +18742,11 @@ att5425|tty5425|att4425|AT&T 4425/5425:\ :kI=\E[4h:kL=\E[M:kR=\E[S:kb=^H:kd=\E[B:\ :ke=\E[21;0j\E[25;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[21;1j\E[25;4j\Eent\E~:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:\ + :rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels:\ :am:da:db:hs:mi:ms:xn:xo:\ @@ -10932,15 +18766,11 @@ att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels:\ :kI=\E[4h:kL=\E[M:kR=\E[S:kb=^H:kd=\E[B:\ :ke=\E[21;0j\E[25;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[21;1j\E[25;4j\Eent:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:\ + :rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode:\ :am:da:db:hs:mi:ms:xn:xo:\ @@ -10960,17 +18790,13 @@ att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode:\ :kI=\E[4h:kL=\E[M:kR=\E[S:kb=^H:kd=\E[B:\ :ke=\E[21;0j\E[25;1j\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[21;1j\E[25;4j\Eent\E~:ku=\E[A:le=^H:ll=\E[24H:\ - :mb=\E[5m:md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mp=\EV:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?4i:ps=\E[?2i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: + :mb=\E[5m:md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mp=\EV:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?9i:po=\E[?4i:ps=\E[?2i:\ + :rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:se=\E[m:sf=^J:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:ts=\E7\E[25;%+^HH:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[12;0j:vs=\E[12;1j: -# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:. +# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:. # I also added / -- esr) att4426|tty4426|teletype 4426S:\ :am:da:db:xo:\ @@ -10981,17 +18807,17 @@ att4426|tty4426|teletype 4426S:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=\E(B:al=\EL:as=\E(0:bl=^G:cd=\E[J:ce=\E[0K:ch=\E[%dG:\ :cl=\E[H\E[2J\E[1U\E[H\E[2J\E[1V:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E[3g:cv=\E[%dd:dc=\EP:dl=\E[M:do=\E[B:im=:ei=:ho=\E[H:\ - :i1=\Ec\E[?7h:ic=\E^:is=\E[m\E[1;24r:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:kB=\EO:\ - :kC=\E[2J:kH=\E[24;1H:kb=^H:kd=\EB:kh=\E[H:kl=\ED:kr=\EC:\ - :ku=\EA:le=\E[D:ll=\E[24H:md=\E[5m:me=\E[m\E(B:mr=\E[7m:\ - :nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3l\E[2;0y:sc=\E7:\ - :se=\E[m:sf=^J:so=\E[5m:sr=\ET:st=\E1:ta=^I:ue=\E[m:up=\EA:\ - :us=\E[4m: + :ct=\E[3g:cv=\E[%dd:dc=\EP:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ + :i1=\Ec\E[?7h:ic=\E\136:im=:is=\E[m\E[1;24r:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\ + :kB=\EO:kC=\E[2J:kH=\E[24;1H:kb=^H:kd=\EB:kh=\E[H:kl=\ED:\ + :kr=\EC:ku=\EA:le=\E[D:ll=\E[24H:md=\E[5m:me=\E[m\E(B:\ + :mr=\E[7m:nd=\E[C:nw=^M^J:rc=\E8:rs=\Ec\E[?3l\E[2;0y:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[5m:sr=\ET:st=\E1:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: # Terminfo entry for the AT&T 510 A Personal Terminal -# Function keys 9 - 16 are available only after the +# Function keys 9 - 16 are available only after the # screen labeled (soft keys/action blocks) are labeled. Function key # 9 corresponds to the leftmost touch target on the screen, # function key 16 corresponds to the rightmost. @@ -11004,20 +18830,18 @@ att510a|bct510a|AT&T 510A Personal Terminal:\ :#4=\E[u:%i=\E[v:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :F1=\EOe:F2=\EOf:F3=\EOg:F4=\EOh:F5=\EOi:F6=\EOj:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:\ - :ac=hrisjjkkllmmnnqqttuuvvwwxx{{||}}~~-f,h.e+g`b:\ + :ac=+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[0J:\ :ce=\E[0K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:\ - :dc=\E[P:dl=\E[M:do=\E[1B:eA=\E(B\E)1:ff=^L:ho=\E[H:\ + :dc=\E[P:dl=\E[M:do=\E[B:eA=\E(B\E)1:ff=^L:ho=\E[H:\ :i1=\E(B\E)1\E[2l:i2=\E[21;1|\212:k1=\EOm:k2=\EOV:\ :k3=\EOu:k4=\ENj:k5=\ENe:k6=\ENf:k7=\ENh:k8=\E[H:k9=\EOc:\ :k;=\EOd:kB=\E[Z:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:ke=\E[19;0|:\ :kl=\E[D:kr=\E[C:ks=\E[19;1|:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[2;7m:me=\E[m\017:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?8i:..pn=\E[%p1%dp%p2%\:-16s:po=\E[?4i:ps=\E[0i:\ - :rc=\E8:\ - :..sa=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=\E[11;3|:vi=\E[11;0|:vs=\E[11;2|: + :md=\E[2;7m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?8i:po=\E[?4i:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ + :ve=\E[11;3|:vi=\E[11;0|:vs=\E[11;2|: # Terminfo entry for the AT&T 510 D Personal Terminal # Function keys 9 through 16 are accessed by bringing up the @@ -11025,9 +18849,9 @@ att510a|bct510a|AT&T 510A Personal Terminal:\ # Function key 9 corresponds to the leftmost touch target on the screen, # function key 16 corresponds to the rightmost. # -# There are problems with soft key labeling. These are due to +# There are problems with soft key labeling. These are due to # strangenesses in the native terminal that are impossible to -# describe in a terminfo. +# describe in a terminfo. att510d|bct510d|AT&T 510D Personal Terminal:\ :am:da:db:mi:ms:xn:xo:\ :Nl#8:co#80:lh#2:li#24:lm#48:lw#7:\ @@ -11035,21 +18859,19 @@ att510d|bct510d|AT&T 510D Personal Terminal:\ :F1=\EOe:F2=\EOf:F3=\EOg:F4=\EOh:F5=\EOi:F6=\EOj:IC=\E[%d@:\ :LE=\E[%dD:LF=\E<:LO=\E?:MC=\E\::ML=\E4:MR=\E5:RI=\E[%dC:\ :RX=\E[29;1|:SF=\E[%dS:SR=\E[%dT:SX=\E[29;0|:UP=\E[%dA:\ - :ac=hrisjjkkllmmnnqqttuuvvwwxx{{||}}~~-f,h.e+g`b:\ + :ac=+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[0J:\ :ce=\E[0K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=\E[1B:\ - :eA=\E(B\E)1:ei=\E[4l:ff=^L:ho=\E[H:i1=\E(B\E)1\E[5;0|:\ + :ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=\E[B:eA=\E(B\E)1:\ + :ei=\E[4l:ff=^L:ho=\E[H:i1=\E(B\E)1\E[5;0|:\ :i2=\E[21;1|\212:im=\E[4h:k1=\EOm:k2=\EOV:k3=\EOu:k4=\ENj:\ :k5=\ENe:k6=\ENf:k7=\ENh:k8=\E[H:k9=\EOc:k;=\EOd:kB=\E[Z:\ :kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:ke=\E[19;0|:kl=\E[D:kr=\E[C:\ :ks=\E[19;1|:ku=\E[A:le=^H:ll=\E#2:mb=\E[5m:md=\E[2;7m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?8i:..pn=\E[%p1%dp%p2%\:-16s:po=\E[?4i:ps=\E[0i:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\E[5;0|:\ - :..sa=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=\E[11;3|:vs=\E[11;2|: + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?8i:po=\E[?4i:ps=\E[0i:rc=\E8:rs=\E[5;0|:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m:ve=\E[11;3|:vs=\E[11;2|: # (att500: I merged this with the att513 entry, att500 just used att513 -- esr) att500|att513|AT&T 513 using page mode:\ @@ -11066,7 +18888,7 @@ att500|att513|AT&T 513 using page mode:\ :@9=\EOk:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :IC=\E[%d@:LE=\E[%dD:LF=\E<:LO=\E?:RI=\E[%dC:SF=\E[%dE:\ :SR=\E[%dF:UP=\E[%dA:\ - :ac=hrisjjkkllmmnnqqttuuvvwwxx{{||}}~~-f,h.e+g`b:\ + :ac=+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=%i\E[%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ @@ -11077,18 +18899,13 @@ att500|att513|AT&T 513 using page mode:\ :kI=\ENj:kL=\ENe:kN=\E[U:kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:\ :ke=\E[19;0|\E[21;1|\212:kh=\E[H:kl=\E[D:kr=\E[C:\ :ks=\E[19;1|\E[21;4|\Eent:ku=\E[A:le=^H:ll=\E#2:mb=\E[5m:\ - :md=\E[2;7m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:nw=\EE:pf=\E[?98l\E[?8i:\ - :..pk=\E[%p1%d;%p2%l%d;3;0p F%p1%d %p2%s:\ - :..pl=\E[%p1%d;%p2%l%d;2;0p F%p1%d %p2%s:\ - :..pn=\E[%p1%dp%p2%\:-16s:po=\E[?98l\E[?4i:\ + :md=\E[2;7m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?98l\E[?8i:po=\E[?98l\E[?4i:\ :ps=\E[?98l\E[0i:\ - :..px=\E[%p1%d;%p2%l%d;1;0p F%p1%d %p2%s:\ :r1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|\E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l:\ - :r2=\E[5;0|:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=\E[11;0|:vs=\E[11;1|: + :r2=\E[5;0|:rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[11;0|:\ + :vs=\E[11;1|: # 01-07-88 # printer must be set to EMUL ANSI to accept ESC codes @@ -11100,15 +18917,10 @@ att500|att513|AT&T 513 using page mode:\ att5310|att5320|AT&T Model 53210 or 5320 matrix printer:\ :YA:YD:\ :Ya#8192:Yi#10:Yj#12:Yk#100:Yl#72:Ym#120:co#132:it#8:li#66:\ - :DO=\E[%de:RI=\E[%da:\ - :..ZA=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O%t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t\E[8w%;:\ - :..ZB=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e%p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;:\ - :ZM=\E[5m:ZU=\E[m:\ - :..Zj=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1%{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}%=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t\E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t\E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t\E(}%;:\ - :Zl=\E[;%dr:Zm=\E[%+^As:Zn=\E[;%+^As:Zp=\E[%dr:\ - :..Zy=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfinnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1%{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench%e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1%{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurity%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmosaic%;:\ - :ch=\E[%d`:cr=^M:cv=\E[%dd:do=^J:ff=^L:i1=\Ec:is=\E[20l\r:\ - :nd=\s:ta=^I:u0=\E[%dt:up=\EM: + :DO=\E[%de:RI=\E[%da:ZM=\E[5m:ZU=\E[m:Zl=\E[;%dr:\ + :Zm=\E[%+^As:Zn=\E[;%+^As:Zp=\E[%dr:ch=\E[%d`:cr=^M:\ + :cv=\E[%dd:do=^J:ff=^L:i1=\Ec:is=\E[20l\r:nd=\s:ta=^I:\ + :u0=\E[%dt:up=\EM: # Teletype 5620, firmware version 1.1 (8;7;3) or earlier from BRL # The following SET-UP modes are assumed for normal operation: @@ -11147,9 +18959,8 @@ att5620|dmd|tty5620|ttydmd|5620|5620 terminal 88 columns:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ :ic=\E[@:im=:kC=\E[2J:kH=\E[70;1H:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[2m:me=\E[0m:mh=\E[2m:\ - :mr=\E[7m:nd=\E[C:nw=^J:..px=\E[%p1%d;%p2%l%dq%p2%s:\ - :r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: + :mr=\E[7m:nd=\E[C:nw=^J:r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: att5620-24|tty5620-24|dmd-24|teletype dmd 5620 in a 24x80 layer:\ :NL:NP:am:bs:ms:xo:\ :co#88:it#8:li#24:\ @@ -11158,9 +18969,8 @@ att5620-24|tty5620-24|dmd-24|teletype dmd 5620 in a 24x80 layer:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ :ic=\E[@:im=:kC=\E[2J:kH=\E[70;1H:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[2m:me=\E[0m:mh=\E[2m:\ - :mr=\E[7m:nd=\E[C:nw=^J:..px=\E[%p1%d;%p2%l%dq%p2%s:\ - :r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: + :mr=\E[7m:nd=\E[C:nw=^J:r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: att5620-34|tty5620-34|dmd-34|teletype dmd 5620 in a 34x80 layer:\ :NL:NP:am:bs:ms:xo:\ :co#88:it#8:li#34:\ @@ -11169,9 +18979,8 @@ att5620-34|tty5620-34|dmd-34|teletype dmd 5620 in a 34x80 layer:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ :ic=\E[@:im=:kC=\E[2J:kH=\E[70;1H:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[2m:me=\E[0m:mh=\E[2m:\ - :mr=\E[7m:nd=\E[C:nw=^J:..px=\E[%p1%d;%p2%l%dq%p2%s:\ - :r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:sf=\E[S:so=\E[7m:sr=\E[T:\ - :ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: + :mr=\E[7m:nd=\E[C:nw=^J:r1=\Ec:rc=\E8:sc=\E7:se=\E[0m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: # 5620 layer running the "S" system's downloaded graphics handler: att5620-s|tty5620-s|layer|vitty|5620 S layer:\ :am:bs:pt:\ @@ -11204,23 +19013,21 @@ att605|AT&T 605 80 column 102key keyboard:\ :kC=\E[2J:kD=\E[P:kF=\E[S:kI=\E[@:kL=\E[M:kN=\E[U:kP=\E[V:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:po=\E[?5i:\ :rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:\ :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m: att605-pc|ATT 605 in pc term mode:\ :am:eo:xo:\ :Nl#8:co#80:li#24:lw#8:ws#80:\ - :#4=\E[ A:%i=\E[ @:@7=\E[F:AL=\E[L:DC=\E[%dP:DL=\E[%dM:\ - :F1=\ENq:F2=\ENr:F3=\ENs:F4=\ENt:F5=\EOC:F6=\EOD:F7=\EOE:\ - :F8=\EOF:F9=\EOG:FA=\EOH:FB=\EOI:FC=\EOJ:FD=\ENO:FE=\ENP:\ - :FF=\ENQ:FG=\ENR:FH=\ENS:FI=\ENT:FJ=\EOP:FK=\EOQ:FL=\EOR:\ - :FM=\EOS:FN=\EOw:FO=\EOx:FP=\EOy:FQ=\EOm:FR=\EOt:FS=\EOu:\ - :FT=\EOv:FU=\EOl:FV=\EOq:FW=\EOr:FX=\EOs:FY=\EOp:FZ=\EOn:\ - :Fa=\EOM:IC=\E[%d@:LF=\E[2p:LO=\E[p:\ - :S4=250\E[?11l\E[50;1|:S5=400\E[50;0|:XF=g:XN=e:\ - :ac=k\277l\332m\300j\331n\305w\302q\304u\264t\303v\301x\263:\ + :#4=\E[ A:%i=\E[ @:@7=\E[F:DC=\E[%dP:DL=\E[%dM:F1=\ENq:\ + :F2=\ENr:F3=\ENs:F4=\ENt:F5=\EOC:F6=\EOD:F7=\EOE:F8=\EOF:\ + :F9=\EOG:FA=\EOH:FB=\EOI:FC=\EOJ:FD=\ENO:FE=\ENP:FF=\ENQ:\ + :FG=\ENR:FH=\ENS:FI=\ENT:FJ=\EOP:FK=\EOQ:FL=\EOR:FM=\EOS:\ + :FN=\EOw:FO=\EOx:FP=\EOy:FQ=\EOm:FR=\EOt:FS=\EOu:FT=\EOv:\ + :FU=\EOl:FV=\EOq:FW=\EOr:FX=\EOs:FY=\EOp:FZ=\EOn:Fa=\EOM:\ + :IC=\E[%d@:LF=\E[2p:LO=\E[p:S4=250\E[?11l\E[50;1|:\ + :S5=400\E[50;0|:XF=g:XN=e:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ :ae=^O:al=\E[L:as=\E)0\016:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=\E[4l:fs=\E8:\ @@ -11230,9 +19037,7 @@ att605-pc|ATT 605 in pc term mode:\ :kC=\E[2J:kD=\E[P:kF=\E[S:kI=\E[@:kL=\E[M:kN=\E[G:kP=\E[I:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:mh=\E[2m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:po=\E[?5i:\ :rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:\ :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m: att605-w|AT&T 605-w 132 column 102 key keyboard:\ @@ -11256,10 +19061,9 @@ att605-w|AT&T 605-w 132 column 102 key keyboard:\ :kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=^J:so=\E[7m:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m: + :po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=^J:\ + :so=\E[7m:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:\ + :us=\E[4m: # (att610: I added / based on the init string. I also # added :SF: and :SR: because the BSD file says the att615s have them, # and the 615 is like a 610 with a big keyboard, and most of their other @@ -11280,15 +19084,11 @@ att610|AT&T 610; 80 column; 98key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:\ + :vi=\E[?25l:vs=\E[?12;25h: att610-w|AT&T 610; 132 column; 98key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ @@ -11305,15 +19105,11 @@ att610-w|AT&T 610; 132 column; 98key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:\ + :vi=\E[?25l:vs=\E[?12;25h: att610-103k|AT&T 610; 80 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ @@ -11326,28 +19122,24 @@ att610-103k|AT&T 610; 80 column; 103key keyboard:\ :*0=\EOX:*1=\EOU:*2=\END:*3=\EON:*4=\ENF:*5=\ENE:*6=\ENI:\ :*7=\ENN:*8=\EOA:*9=\EOK:@0=\EOx:@1=\E9:@2=\EOw:@3=\EOV:\ :@4=\EOu:@5=\ENd:@6=\EOn:@7=\E0:@8=^M:@9=\EOk:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ - :LF=\E[2p:LO=\E[p:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1@:F2@:F3@:F4@:IC=\E[%d@:\ + :LE=\E[%dD:LF=\E[2p:LO=\E[p:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:\ :dl=\E[M:do=\E[B:ei=\E[4l:fs=\E8:ho=\E[H:\ :i1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0:\ :i2=\E(B\E)0:im=\E[4h:is=\E[m\017:k1=\EOc:k2=\EOd:k3=\EOe:\ - :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:kB=\E[Z:kC=\E[2J:\ - :kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:kN=\E[U:\ - :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ - :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9@:k;@:kB=\E[Z:\ + :kC=\E[2J:kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:\ + :kN=\E[U:kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:\ + :vi=\E[?25l:vs=\E[?12;25h: att610-103k-w|AT&T 610; 132 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ @@ -11371,15 +19163,11 @@ att610-103k-w|AT&T 610; 132 column; 103key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:kB=\E[Z:kC=\E[2J:\ :kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:kN=\E[U:\ :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ + :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[0m:\ :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ :vs=\E[?12;25h: att615|AT&T 615; 80 column; 98key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ @@ -11402,15 +19190,11 @@ att615|AT&T 615; 80 column; 98key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:\ + :vi=\E[?25l:vs=\E[?12;25h: att615-w|AT&T 615; 132 column; 98key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ @@ -11432,15 +19216,11 @@ att615-w|AT&T 615; 132 column; 98key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:\ + :sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:\ + :vi=\E[?25l:vs=\E[?12;25h: att615-103k|AT&T 615; 80 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#80:it#8:lh#2:li#24:lw#8:ws#80:\ @@ -11464,15 +19244,11 @@ att615-103k|AT&T 615; 80 column; 103key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:kB=\E[Z:kC=\E[2J:\ :kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:kN=\E[U:\ :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ + :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[0m:\ :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ :vs=\E[?12;25h: att615-103k-w|AT&T 615; 132 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ @@ -11497,15 +19273,11 @@ att615-103k-w|AT&T 615; 132 column; 103key keyboard:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:kB=\E[Z:kC=\E[2J:\ :kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:kN=\E[U:\ :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m\017:\ + :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[0m:\ :mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[?4i:\ - :..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ + :po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:se=\E[m:sf=\ED:\ + :so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ :vs=\E[?12;25h: # (att620: I added / based on the init string and # :SR:/:SF: from a BSD termcap -- esr) @@ -11532,15 +19304,10 @@ att620|AT&T 620; 80 column; 98key keyboard:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ :me=\E[m\E(B\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :nw=\EE:pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:\ + :se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?12l:vi=\E[?25l:vs=\E[?12;25h: att620-w|AT&T 620; 132 column; 98key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#132:it#8:lh#2:li#24:lw#8:ws#132:\ @@ -11564,15 +19331,10 @@ att620-w|AT&T 620; 132 column; 98key keyboard:\ :kB=\E[Z:kC=\E[2J:kF=\E[S:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ :me=\E[m\E(B\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :nw=\EE:pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:\ + :se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?12l:vi=\E[?25l:vs=\E[?12;25h: att620-103k|AT&T 620; 80 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ :Nl#8:co#80:it#8:lh#2:li#24:lw#8:ws#80:\ @@ -11584,7 +19346,9 @@ att620-103k|AT&T 620; 80 column; 103key keyboard:\ :*0=\EOX:*1=\EOU:*2=\END:*3=\EON:*4=\ENF:*5=\ENE:*6=\ENI:\ :*7=\ENN:*8=\EOA:*9=\EOK:@0=\EOx:@1=\E9:@2=\EOw:@3=\EOV:\ :@4=\EOu:@5=\ENd:@6=\EOn:@7=\E0:@8=^M:@9=\EOk:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1@:F2@:F3@:F4@:F5@:F6@:F7@:F8@:\ + :F9@:FA@:FB@:FC@:FD@:FE@:FF@:FG@:FH@:FI@:FJ@:FK@:FL@:FM@:FN@:FO@:FP@:\ + :FQ@:FR@:FS@:FT@:FU@:FV@:FW@:FX@:FY@:FZ@:Fa@:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[2p:LO=\E[p:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:\ :SR=\E[%dT:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11594,20 +19358,15 @@ att620-103k|AT&T 620; 80 column; 103key keyboard:\ :ho=\E[H:\ :i1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h:\ :i2=\E(B\E)0:im=\E[4h:is=\E[m\017:k1=\EOc:k2=\EOd:k3=\EOe:\ - :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:kB=\E[Z:kC=\E[2J:\ - :kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:kN=\E[U:\ - :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ + :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9@:k;@:kB=\E[Z:\ + :kC=\E[2J:kD=\ENf:kE=\EOa:kF=\E[S:kI=\ENj:kL=\ENe:kM=\ENj:\ + :kN=\E[U:kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ :me=\E[m\E(B\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :nw=\EE:pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:\ + :se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?12l:vi=\E[?25l:vs=\E[?12;25h: att620-103k-w|AT&T 620; 132 column; 103key keyboard:\ :am:es:hs:mi:ms:xn:xo:\ @@ -11635,15 +19394,10 @@ att620-103k-w|AT&T 620; 132 column; 103key keyboard:\ :kP=\E[V:kR=\E[T:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ :ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ :me=\E[m\E(B\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:\ - :..px=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s:\ - :rc=\E8:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[25;%i%dx:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h: + :nw=\EE:pf=\E[?4i:po=\E[?5i:rc=\E8:rs=\Ec\E[?3l:sc=\E7:\ + :se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\E7\E[25;%i%dx:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\ + :ve=\E[?25h\E[?12l:vi=\E[?25l:vs=\E[?12;25h: # AT&T (formerly Teletype) 630 Multi-Tasking Graphics terminal # The following SETUP modes are assumed for normal operation: @@ -11668,10 +19422,8 @@ att630|AT&T 630 windowing terminal:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kI=\E[@:kL=\E[M:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ :me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?4i:\ - :po=\E[?5i:..px=\E[%p1%d;%p2%l%dq%p2%s:rc=\E8:rs=\Ec:\ - :..sa=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[?5i:rc=\E8:rs=\Ec:sc=\E7:se=\E[m:sf=\ED:so=\E[7m:\ + :sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\ :NP:am:bs:da:db:mi:ms:xo:\ :co#80:it#8:li#24:lm#0:\ @@ -11685,10 +19437,8 @@ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:kI=\E[@:kL=\E[M:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ :me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[?4i:\ - :po=\E[?5i:..px=\E[%p1%d;%p2%l%dq%p2%s:rc=\E8:rs=\Ec:\ - :..sa=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m:\ - :sc=\E7:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[?5i:rc=\E8:rs=\Ec:sc=\E7:se=\E[m:sf=\ED:so=\E[7m:\ + :sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # This is the att700 entry for 700 native emulation of the AT&T 700 # terminal. Comments are relative to changes from the 605V2 entry and @@ -11699,9 +19449,9 @@ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\ # ESC [ 50;4| set 700 native mode (really is 605) # x ESC [ 56;ps| set lines to 24: ps=0; 40: ps=1 (plus status line) # ESC [ 53;0| set GenFlow to Xon/Xoff -# ESC [ 8 ;0| set CR on NL +# ESC [ 8 ;0| set CR on NL # x ESC [ ? 3 l/h set workspace: 80 col(l); 132 col(h) -# ESC [ ? 4 l jump scroll +# ESC [ ? 4 l jump scroll # ESC [ ? 5 l/h video: normal (l); reverse (h) # ESC [ ?13 l Labels on # ESC [ ?15 l parity check = no @@ -11723,7 +19473,7 @@ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines:\ # and the rmso/smso settings from the 730. # # Note: For the same reason as above in rmso I changed exit under-score mode -# to specifically turn off underscore, rather than return to all normal +# to specifically turn off underscore, rather than return to all normal # attributes # # Note: The following pkey_xmit is taken from the 605V2 which contained the @@ -11789,15 +19539,10 @@ att700|AT&T 700 24x80 column display w/102key keyboard:\ :k8=\EOj:k9=\ENo:k;=\ENp:kA=\E[L:kB=\E[Z:kC=\E[2J:kD=\E[P:\ :kI=\E[@:kL=\E[M:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[24H:mb=\E[5m:md=\E[1m:\ - :me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:po=\E[?5i:\ - :ps=\E[i:\ - :..px=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s:\ - :r1=\Ec\E[?3;5l\E[56;0|:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E7\E[99;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[?4i:po=\E[?5i:ps=\E[i:r1=\Ec\E[?3;5l\E[56;0|:\ + :rc=\E8:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ + :ta=^I:ts=\E7\E[99;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ :vs=\E[?12;25h: @@ -11807,7 +19552,7 @@ att700|AT&T 700 24x80 column display w/102key keyboard:\ # att730 has status line of 80 chars # These were commented out: :SF=\E[%p1%dS:, :SR=\E[%p1%dT:, # the and up keys are used for shifted system Fkeys -# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is +# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is # currently the same as :kh: (unshifted HOME or \E[H). On the 102, 102+1 # and 122 key keyboards, the 730's translation is \E[2J. For consistency # has been commented out. The user can uncomment if using the @@ -11823,7 +19568,7 @@ att730|AT&T 730 windowing terminal:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11835,17 +19580,12 @@ att730|AT&T 730 windowing terminal:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: att730-41|730MTG-41|AT&T 730-41 windowing terminal Version:\ :NP:am:da:db:es:hs:mi:ms:xn:xo:\ :Nl#24:co#80:it#8:lh#2:li#41:lm#0:lw#8:ws#80:\ @@ -11855,7 +19595,7 @@ att730-41|730MTG-41|AT&T 730-41 windowing terminal Version:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11867,17 +19607,12 @@ att730-41|730MTG-41|AT&T 730-41 windowing terminal Version:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: att730-24|730MTG-24|AT&T 730-24 windowing terminal Version:\ :NP:am:da:db:es:hs:mi:ms:xn:xo:\ :Nl#24:co#80:it#8:lh#2:li#24:lm#0:lw#8:ws#80:\ @@ -11887,7 +19622,7 @@ att730-24|730MTG-24|AT&T 730-24 windowing terminal Version:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11899,17 +19634,12 @@ att730-24|730MTG-24|AT&T 730-24 windowing terminal Version:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5h\E[?5l:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: att730r|730MTGr|AT&T 730 rev video windowing terminal Version:\ :NP:am:da:db:es:hs:mi:ms:xn:xo:\ :Nl#24:co#80:it#8:lh#2:li#60:lm#0:lw#8:ws#80:\ @@ -11919,7 +19649,7 @@ att730r|730MTGr|AT&T 730 rev video windowing terminal Version:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11931,17 +19661,12 @@ att730r|730MTGr|AT&T 730 rev video windowing terminal Version:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version:\ :NP:am:da:db:es:hs:mi:ms:xn:xo:\ :Nl#24:co#80:it#8:lh#2:li#41:lm#0:lw#8:ws#80:\ @@ -11951,7 +19676,7 @@ att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11963,17 +19688,12 @@ att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version:\ :NP:am:da:db:es:hs:mi:ms:xn:xo:\ :Nl#24:co#80:it#8:lh#2:li#24:lm#0:lw#8:ws#80:\ @@ -11983,7 +19703,7 @@ att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version:\ :FE=\EN~:FF=\EOC:FG=\EOD:FH=\EOE:FI=\EOF:FJ=\EOG:FK=\EOH:\ :FL=\EOI:FM=\EOJ:FN=\ENO:FO=\ENP:FP=\ENQ:FQ=\ENR:FR=\ENS:\ :FS=\ENT:FT=\EOU:FU=\EOV:FV=\EOW:FW=\EOX:FX=\EOY:FY=\EOZ:\ - :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO^:IC=\E[%d@:LE=\E[%dD:\ + :FZ=\EO[:Fa=\EO\s:Fb=\EO]:Fc=\EO\136:IC=\E[%d@:LE=\E[%dD:\ :LF=\E[?13h:LO=\E[?13l:RA=\E[?7l:RI=\E[%dC:RX=\E[?21l:\ :SA=\E[?7h:SX=\E[?21h:UP=\E[%dA:ZF=\E#6:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -11995,17 +19715,12 @@ att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version:\ :k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\ENo:k;=\ENp:\ :kA=\E[L:kB=\E[Z:kC=\E[2J:kF=\E[S:kI=\E[@:kR=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m\017:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :nw=\EE:pf=\E[?4i:..pn=\E[%p1%d;0;0;0q%p2%\:-16.16s:\ - :po=\E[?5i:ps=\E[?19h\E[0i:\ - :..px=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%\:-2d %e;0;3q%;%p2%s:\ - :rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:rs=\Ec\E[?3l:\ - :..sa=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ - :ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ + :md=\E[1m:me=\E[0m:mh=\E[2m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[?4i:po=\E[?5i:ps=\E[?19h\E[0i:rc=\E8:\ + :rs=\Ec\E[?3l:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :ta=^I:ts=\E7\E[;%i%dx:ue=\E[24m:up=\E[A:us=\E[4m:\ :vb=\E[?5l\E[?5h:ve=\E[?25h\E[?12l:vi=\E[?25l:\ - :vs=\E[?12;25h:\ - :..xl=\E[%p1%d;%p2%l%02d;0;0q%p3%\:-16.16s%p2%s: + :vs=\E[?12;25h: # The following represents the screen layout along with the associated # bezel buttons for the 5430/pt505 terminal. The "kf" designations do @@ -12050,7 +19765,7 @@ att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version:\ # # MAIL # -# version 1 note: +# version 1 note: # The character string sent by key 'kf26' may be user programmable # to send either \E[16s, or \E[26s. # The character string sent by key 'krfr' may be user programmable @@ -12174,10 +19889,10 @@ att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal:\ :co#80:it#8:li#24:\ :&2=\E[27s:@4=\E!:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :F8=\E[18s:F9=\E[19s:FA=\E[20s:FB=\E[21s:FC=\E[22s:\ - :FD=\E[23s:FE=\E24s:FG=\E26s:LE=\E[%dD:RA=\E[11;1j:\ + :FD=\E[23s:FE=\E[24s:FG=\E[26s:LE=\E[%dD:RA=\E[11;1j:\ :RI=\E[%dC:SA=\E[11;0j:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E2K:cd=\E[0J:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[2K:cd=\E[0J:\ :ce=\E[0K:cl=\E[2J\E[H:cm=\E[%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=\E[4l:ho=\E[H:\ :i1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[l\E[=l\E[?l:\ @@ -12195,27 +19910,27 @@ att505-24|pt505-24|gs5430-24|AT&T PT505 or 5430 GETSET version 1 24 lines:\ :co#80:it#8:li#24:\ :&2=\E[27s:@4=\E!:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :F8=\E[18s:F9=\E[19s:FA=\E[20s:FB=\E[21s:FC=\E[22s:\ - :FD=\E[23s:FE=\E24s:FG=\E26s:LE=\E[%dD:RI=\E[%dC:\ + :FD=\E[23s:FE=\E[24s:FG=\E[26s:LE=\E[%dD:RA@:RI=\E[%dC:SA@:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E2K:cd=\E[0J:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[2K:cd=\E[0J:\ :ce=\E[0K:cl=\E[2J\E[H:cm=\E[%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=\E[4l:ho=\E[H:\ :i1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[l\E[=l\E[?l:\ :im=\E[4h:k0=\E[00s:k1=\E[01s:k2=\E[02s:k3=\E[03s:\ :k4=\E[04s:k5=\E[05s:k6=\E[06s:kb=^H:kd=\E[B:kl=\E[D:\ :kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:r1=\Ec:se=\E[m:sf=^J:so=\E[1m:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[>l:vs=\E[>h: + :mr=\E[7m:nd=\E[C:pf@:po@:r1=\Ec:rc@:sc@:se=\E[m:sf=^J:\ + :so=\E[1m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[>l:vs=\E[>h: tt505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines:\ :am:xo:\ :co#80:it#8:li#22:\ :&2=\E[27s:@4=\E!:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :F8=\E[18s:F9=\E[19s:FA=\E[20s:FB=\E[21s:FC=\E[22s:\ - :FD=\E[23s:FE=\E24s:FG=\E26s:LE=\E[%dD:RA=\E[11;1j:\ + :FD=\E[23s:FE=\E[24s:FG=\E[26s:LE=\E[%dD:RA=\E[11;1j:\ :RI=\E[%dC:SA=\E[11;0j:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E2K:cd=\E[0J:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[2K:cd=\E[0J:\ :ce=\E[0K:cl=\E[2J\E[H:cm=\E[%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=\E[4l:ho=\E[H:\ :i1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[l\E[=l\E[?l:\ @@ -12225,6 +19940,13 @@ tt505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines:\ :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:r1=\Ec:rc=\E8:sc=\E7:\ :se=\E[m:sf=^J:so=\E[1m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\ :ve=\E[>l:vs=\E[>h: +# +#### ------------------ TERMINFO FILE CAN BE SPLIT HERE --------------------- +# This cut mark helps make life less painful for people running ncurses tic +# on machines with relatively little RAM. The file can be broken in half here +# cleanly and compiled in sections -- no `use' references cross this cut +# going forward. +# #### Ampex (Dialogue) # @@ -12273,7 +19995,7 @@ ampex210|a210|ampex a210:\ :im=:is=\EC\Eu\E'\E(\El\EA\E%\E{\E.2\EG0\Ed\En:\ :k0=^A0\r:k1=^A1\r:k2=^A2\r:k3=^A3\r:k4=^A4\r:k5=^A5\r:\ :k6=^A6\r:k7=^A7\r:k8=^A8\r:k9=^A9\r:kd=^V:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:se=\EG0:so=\EG4:\ + :kr=^L:ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:se=\EG0:so=\EG4:\ :ta=^I:ts=\E.0\Eg\E}\Ef:ue=\EG0:up=^K:us=\EG8:\ :vb=\EU\EX\EU\EX\EU\EX\EU\EX: # (ampex219: I added / based on the init string, added :vs: @@ -12303,7 +20025,7 @@ ampex219w|ampex-219w|amp219w|Ampex 132 cols:\ :md=\E[1m:me=\E[m:mh=\E[1m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:\ :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?3l:\ :vs=\E[?3h: -# (ampex232: removed :if=/usr/share/tabset/ampex:, no file and no :st: --esr) +# (ampex232: removed :if=/usr/share/tabset/ampex:, no file and no :st: --esr) ampex232|ampex-232|Ampex Model 232:\ :am:\ :co#80:li#24:sg#1:ug#1:\ @@ -12311,9 +20033,9 @@ ampex232|ampex-232|Ampex Model 232:\ :dl=5*\ER:do=^V:ei=:ic=\EQ:im=:is=\Eg\El:k0=^A@\r:k1=^AA\r:\ :k2=^AB\r:k3=^AC\r:k4=^AD\r:k5=^AE\r:k6=^AF\r:k7=^AG\r:\ :k8=^AH\r:k9=^AI\r:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:\ - :me=\EG0:mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:ue=\EG0:up=^K:\ - :us=\EG8:vb=\Eb\Ed:ve=\E.4:vi=\E.0: -# (ampex: removed :if=/usr/share/tabset/amp-132:, no file and no :st: -- esr) + :me=\EG0:mk@:mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:ue=\EG0:\ + :up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.4:vi=\E.0: +# (ampex: removed :if=/usr/share/tabset/amp-132:, no file and no :st: -- esr) ampex232w|Ampex Model 232 / 132 columns:\ :am:\ :co#132:li#24:sg#1:ug#1:\ @@ -12455,10 +20177,8 @@ ampex232w|Ampex Model 232 / 132 columns:\ annarbor4080|aa4080|ann arbor 4080:\ :am:bs:\ :co#80:li#40:\ - :bl=^G:cl=\014:\ - :..cm=\017%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%>%t%{12}%+%;%{64}%+%c:\ - :cr=^M:ct=^^P^P:do=^J:ho=^K:kb=^^:kd=^J:kh=^K:kl=^H:kr=^_:\ - :ku=^N:le=^H:nd=^_:sf=^J:st=^]^P1:ta=^I:up=^N: + :bl=^G:cl=\014:cr=^M:ct=^\^P^P:do=^J:ho=^K:kb=^^:kd=^J:kh=^K:\ + :kl=^H:kr=^_:ku=^N:le=^H:nd=^_:sf=^J:st=^]^P1:ta=^I:up=^N: # Strange Ann Arbor terminal from BRL aas1901|Ann Arbor K4080 w/S1901 mod:\ @@ -12484,7 +20204,7 @@ aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly):\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:k1=\EOA:\ :k2=\EOB:k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:\ @@ -12495,21 +20215,17 @@ aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly):\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: aaa+rv|ann arbor ambassador in reverse video:\ :i1=\E[7m\E7\E[H\E9\E8:mb=\E[5;7m:md=\E[1;7m:\ :me=\E[7m\016:mk=\E[7;8m:mr=\E[m:r1=\E[H\E[7m\E[J:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :se=\E[7m:so=\E[m:ue=\E[7m:us=\E[4;7m: # Ambassador with the DEC option, for partial vt100 compatibility. aaa+dec|ann arbor ambassador in dec vt100 mode:\ :ac=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}:\ - :ae=^N:as=^O:cs=\E[%i%d;%dr:eA=\E(0:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;: + :ae=^N:as=^O:cs=\E[%i%d;%dr:eA=\E(0: aaa-18|ann arbor ambassador/18 lines:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#18:\ @@ -12518,7 +20234,7 @@ aaa-18|ann arbor ambassador/18 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;18p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12530,11 +20246,9 @@ aaa-18|ann arbor ambassador/18 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;18p\E[60;1H\E[K:ti=\E[18;0;0;18p:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;18p\E[60;1H\E[K:\ + :ti=\E[18;0;0;18p:ue=\E[m:up=\E[A:us=\E[4m: aaa-18-rv|ann arbor ambassador/18 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#18:\ @@ -12543,7 +20257,7 @@ aaa-18-rv|ann arbor ambassador/18 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;18p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12556,8 +20270,6 @@ aaa-18-rv|ann arbor ambassador/18 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;18p\E[60;1H\E[K:ti=\E[18;0;0;18p:\ :ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -12569,7 +20281,7 @@ aaa-20|ann arbor ambassador/20 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;20p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12581,11 +20293,9 @@ aaa-20|ann arbor ambassador/20 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;20p\E[60;1H\E[K:ti=\E[20;0;0;20p:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;20p\E[60;1H\E[K:\ + :ti=\E[20;0;0;20p:ue=\E[m:up=\E[A:us=\E[4m: aaa-22|ann arbor ambassador/22 lines:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#22:\ @@ -12594,7 +20304,7 @@ aaa-22|ann arbor ambassador/22 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;22p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12606,11 +20316,9 @@ aaa-22|ann arbor ambassador/22 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;22p\E[60;1H\E[K:ti=\E[22;0;0;22p:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;22p\E[60;1H\E[K:\ + :ti=\E[22;0;0;22p:ue=\E[m:up=\E[A:us=\E[4m: aaa-24|ann arbor ambassador/24 lines:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#24:\ @@ -12619,7 +20327,7 @@ aaa-24|ann arbor ambassador/24 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;24p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12631,11 +20339,9 @@ aaa-24|ann arbor ambassador/24 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;24p\E[60;1H\E[K:ti=\E[24;0;0;24p:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;24p\E[60;1H\E[K:\ + :ti=\E[24;0;0;24p:ue=\E[m:up=\E[A:us=\E[4m: aaa-24-rv|ann arbor ambassador/24 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#24:\ @@ -12644,7 +20350,7 @@ aaa-24-rv|ann arbor ambassador/24 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;24p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12657,8 +20363,6 @@ aaa-24-rv|ann arbor ambassador/24 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;24p\E[60;1H\E[K:ti=\E[24;0;0;24p:\ :ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -12670,7 +20374,7 @@ aaa-26|ann arbor ambassador/26 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;26p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12682,10 +20386,8 @@ aaa-26|ann arbor ambassador/26 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;26p\E[26;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;26p\E[26;1H\E[K:\ :ti=\E[H\E[J\E[26;0;0;26p:ue=\E[m:up=\E[A:us=\E[4m: aaa-28|ann arbor ambassador/28 lines:\ :5i:am:bs:km:mi:xo:\ @@ -12695,7 +20397,7 @@ aaa-28|ann arbor ambassador/28 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;28p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12707,10 +20409,8 @@ aaa-28|ann arbor ambassador/28 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;28p\E[28;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;28p\E[28;1H\E[K:\ :ti=\E[H\E[J\E[28;0;0;28p:ue=\E[m:up=\E[A:us=\E[4m: aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status:\ :5i:am:bs:es:hs:km:mi:xo:\ @@ -12720,7 +20420,7 @@ aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -12733,10 +20433,8 @@ aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;1;0;30p\E[29;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;1;0;30p\E[29;1H\E[K:\ :ti=\E[H\E[J\E[30;1;0;30p\E[30;1H\E[K:\ :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m: aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video:\ @@ -12747,7 +20445,7 @@ aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -12761,8 +20459,6 @@ aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;1;0;30p\E[29;1H\E[K:\ :ti=\E[H\E[J\E[30;1;0;30p\E[30;1H\E[K:\ @@ -12775,7 +20471,7 @@ aaa-s-ctxt|aaa-30-s-ctxt|ann arbor ambassador/30 lines+status+save context:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -12788,10 +20484,8 @@ aaa-s-ctxt|aaa-30-s-ctxt|ann arbor ambassador/30 lines+status+save context:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;1;0;30p\E[59;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;1;0;30p\E[59;1H\E[K:\ :ti=\E[30;1H\E[K\E[30;1;0;30p:ts=\E[>51h\E[1;%dH\E[2K:\ :ue=\E[m:up=\E[A:us=\E[4m: aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+reverse video:\ @@ -12802,7 +20496,7 @@ aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+r :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -12816,8 +20510,6 @@ aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+r :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;1;0;30p\E[59;1H\E[K:\ :ti=\E[30;1H\E[K\E[30;1;0;30p:ts=\E[>51h\E[1;%dH\E[2K:\ @@ -12830,7 +20522,7 @@ aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;30p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12842,10 +20534,8 @@ aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;30p\E[30;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;30p\E[30;1H\E[K:\ :ti=\E[H\E[J\E[30;0;0;30p:ue=\E[m:up=\E[A:us=\E[4m: aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video:\ :5i:am:bs:km:mi:xo:\ @@ -12855,7 +20545,7 @@ aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;30p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12868,8 +20558,6 @@ aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;30p\E[30;1H\E[K:\ :ti=\E[H\E[J\E[30;0;0;30p:ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -12881,7 +20569,7 @@ aaa-30-ctxt|aaa-ctxt|ann arbor ambassador/30 lines; saving context:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;30p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12893,11 +20581,9 @@ aaa-30-ctxt|aaa-ctxt|ann arbor ambassador/30 lines; saving context:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;30p\E[60;1H\E[K:ti=\E[30;0;0;30p:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;30p\E[60;1H\E[K:\ + :ti=\E[30;0;0;30p:ue=\E[m:up=\E[A:us=\E[4m: aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving context:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#30:\ @@ -12906,7 +20592,7 @@ aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving c :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;30p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12919,8 +20605,6 @@ aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving c :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;30p\E[60;1H\E[K:ti=\E[30;0;0;30p:\ :ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -12932,7 +20616,7 @@ aaa-36|ann arbor ambassador/36 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;36p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12944,10 +20628,8 @@ aaa-36|ann arbor ambassador/36 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;36p\E[36;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;36p\E[36;1H\E[K:\ :ti=\E[H\E[J\E[36;0;0;36p:ue=\E[m:up=\E[A:us=\E[4m: aaa-36-rv|ann arbor ambassador/36 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ @@ -12957,7 +20639,7 @@ aaa-36-rv|ann arbor ambassador/36 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;36p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12970,8 +20652,6 @@ aaa-36-rv|ann arbor ambassador/36 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;36p\E[36;1H\E[K:\ :ti=\E[H\E[J\E[36;0;0;36p:ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -12983,7 +20663,7 @@ aaa-40|ann arbor ambassador/40 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;40p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -12995,10 +20675,8 @@ aaa-40|ann arbor ambassador/40 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;40p\E[40;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;40p\E[40;1H\E[K:\ :ti=\E[H\E[J\E[40;0;0;40p:ue=\E[m:up=\E[A:us=\E[4m: aaa-40-rv|ann arbor ambassador/40 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ @@ -13008,7 +20686,7 @@ aaa-40-rv|ann arbor ambassador/40 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;40p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -13021,8 +20699,6 @@ aaa-40-rv|ann arbor ambassador/40 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;40p\E[40;1H\E[K:\ :ti=\E[H\E[J\E[40;0;0;40p:ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -13034,7 +20710,7 @@ aaa-48|ann arbor ambassador/48 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;48p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -13046,10 +20722,8 @@ aaa-48|ann arbor ambassador/48 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;48p\E[48;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;48p\E[48;1H\E[K:\ :ti=\E[H\E[J\E[48;0;0;48p:ue=\E[m:up=\E[A:us=\E[4m: aaa-48-rv|ann arbor ambassador/48 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ @@ -13059,7 +20733,7 @@ aaa-48-rv|ann arbor ambassador/48 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;48p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -13072,8 +20746,6 @@ aaa-48-rv|ann arbor ambassador/48 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :te=\E[60;0;0;48p\E[48;1H\E[K:\ :ti=\E[H\E[J\E[48;0;0;48p:ue=\E[7m:up=\E[A:us=\E[4;7m: @@ -13085,7 +20757,7 @@ aaa-60-s|ann arbor ambassador/59 lines+status:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -13098,10 +20770,9 @@ aaa-60-s|ann arbor ambassador/59 lines+status:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:\ + :us=\E[4m: aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video:\ :5i:am:bs:es:hs:km:mi:xo:\ :co#80:it#8:li#59:\ @@ -13110,7 +20781,7 @@ aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:\ :fs=\E[>51l:ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -13124,8 +20795,6 @@ aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[7m:up=\E[A:us=\E[4;7m: aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video:\ @@ -13138,7 +20807,7 @@ aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video:\ :ac=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}:\ :ae=^N:al=\E[L:as=^O:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:\ :do=^K:ds=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K:\ :eA=\E(0:ei=:fs=\E[>51l:ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ @@ -13152,8 +20821,6 @@ aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:\ :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[7m:up=\E[A:us=\E[4;7m: aaa-60|ann arbor ambassador/60 lines:\ @@ -13164,7 +20831,7 @@ aaa-60|ann arbor ambassador/60 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8:k1=\EOA:\ @@ -13176,10 +20843,8 @@ aaa-60|ann arbor ambassador/60 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: aaa-60-rv|ann arbor ambassador/60 lines+reverse video:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#60:\ @@ -13188,7 +20853,7 @@ aaa-60-rv|ann arbor ambassador/60 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[>20;30l\EP`+x~M\E\\:ic=\E[@:im=:\ :is=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8:k1=\EOA:\ @@ -13201,19 +20866,17 @@ aaa-60-rv|ann arbor ambassador/60 lines+reverse video:\ :ku=\E[A:le=^H:mb=\E[5;7m:md=\E[1;7m:me=\E[7m\016:\ :mk=\E[7;8m:mm=\E[>52h:mo=\E[>52l:mr=\E[m:nd=\E[C:\ :pO=\E[%dv:pf=^C:po=\E[v:ps=\E[0i:r1=\E[H\E[7m\E[J:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ :sc=\E7:se=\E[7m:sf=^K:so=\E[m:st=\EH:ta=^I:ue=\E[7m:\ :up=\E[A:us=\E[4;7m: aaa-db|ann arbor ambassador 30/destructive backspace:\ - :5i:am:km:mi:xo:\ + :5i:am:bs@:km:mi:xo:\ :co#80:it#8:li#30:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOK:F2=\EOL:\ :F3=\EOM:F4=\EON:F5=\EOO:F6=\EOP:F7=\EOQ:F8=\EOR:F9=\EOS:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:\ :i2=\E[1Q\E[m\E[>20l\E[>30h:ic=\E[@:im=:\ :is=\E7\E[60;0;0;30p\E8:k1=\EOA:k2=\EOB:k3=\EOC:k4=\EOD:\ @@ -13225,10 +20888,8 @@ aaa-db|ann arbor ambassador 30/destructive backspace:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[60;0;0;30p\E[30;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[60;0;0;30p\E[30;1H\E[K:\ :ti=\E[H\E[J\E[30;0;0;30p:ue=\E[m:up=\E[A:us=\E[4m: guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols:\ @@ -13239,7 +20900,7 @@ guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;33;80;80p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13250,11 +20911,9 @@ guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[33p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[33p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru+rv|guru changes for reverse video:\ :i2=\E[>59h:vb=\E[>59l\E[>59h: guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video:\ @@ -13265,7 +20924,7 @@ guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59h:ic=\E[@:im=:\ :is=\E7\E[255;0;0;33;80;80p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13276,11 +20935,9 @@ guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[33p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59l\E[>59h: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[33p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59l\E[>59h: guru+s|guru status line:\ :es:hs:\ :ds=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K:fs=\E[>51l:\ @@ -13293,7 +20950,7 @@ guru-nctxt|guru with no saved context:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;33;80;80p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13304,10 +20961,8 @@ guru-nctxt|guru with no saved context:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:\ + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:\ :ti=\E[H\E[J\E[33p\E[255;1H\E[K:ue=\E[m:up=\E[A:\ :us=\E[4m:vb=\E[>59h\E[>59l: guru-s|guru-33-s|ann arbor guru/33 lines+status:\ @@ -13318,7 +20973,7 @@ guru-s|guru-33-s|ann arbor guru/33 lines+status:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:fs=\E[>51l:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\r\n\E[A\E7\E[255;1;0;33;80;80p\E8\E[J:k1=\EOA:\ @@ -13330,12 +20985,10 @@ guru-s|guru-33-s|ann arbor guru/33 lines+status:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255;1p\E[255;1H\E[K:ti=\E[33;1p\E[255;1H\E[K:\ - :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255;1p\E[255;1H\E[K:\ + :ti=\E[33;1p\E[255;1H\E[K:ts=\E[>51h\E[1;%dH\E[2K:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-24|ann arbor guru 24 lines:\ :5i:am:bs:km:mi:xo:\ :co#80:it#8:li#24:\ @@ -13344,7 +20997,7 @@ guru-24|ann arbor guru 24 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;24;80;80p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13355,11 +21008,9 @@ guru-24|ann arbor guru 24 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[24p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[24p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-44|ann arbor guru 44 lines:\ :5i:am:bs:km:mi:xo:\ :co#97:it#8:li#44:\ @@ -13368,7 +21019,7 @@ guru-44|ann arbor guru 44 lines:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;44;97;100p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13379,11 +21030,9 @@ guru-44|ann arbor guru 44 lines:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[44p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[44p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-44-s|ann arbor guru/44 lines+status:\ :5i:am:bs:es:hs:km:mi:xo:\ :co#80:it#8:li#43:\ @@ -13392,7 +21041,7 @@ guru-44-s|ann arbor guru/44 lines+status:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:fs=\E[>51l:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\r\n\E[A\E7\E[255;1;0;44;80;80p\E8\E[J:k1=\EOA:\ @@ -13404,12 +21053,10 @@ guru-44-s|ann arbor guru/44 lines+status:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255;1p\E[255;1H\E[K:ti=\E[44;1p\E[255;1H\E[K:\ - :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255;1p\E[255;1H\E[K:\ + :ti=\E[44;1p\E[255;1H\E[K:ts=\E[>51h\E[1;%dH\E[2K:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76|guru with 76 lines by 89 cols:\ :5i:am:bs:km:mi:xo:\ :co#89:it#8:li#76:\ @@ -13418,7 +21065,7 @@ guru-76|guru with 76 lines by 89 cols:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;76;89;100p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13429,11 +21076,9 @@ guru-76|guru with 76 lines by 89 cols:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76-s|ann arbor guru/76 lines+status:\ :5i:am:bs:es:hs:km:mi:xo:\ :co#89:it#8:li#75:\ @@ -13442,7 +21087,7 @@ guru-76-s|ann arbor guru/76 lines+status:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:fs=\E[>51l:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\r\n\E[A\E7\E[255;1;0;76;89;100p\E8\E[J:k1=\EOA:\ @@ -13454,12 +21099,10 @@ guru-76-s|ann arbor guru/76 lines+status:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255;1p\E[255;1H\E[K:ti=\E[76;1p\E[255;1H\E[K:\ - :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255;1p\E[255;1H\E[K:\ + :ti=\E[76;1p\E[255;1H\E[K:ts=\E[>51h\E[1;%dH\E[2K:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76-lp|guru-lp|guru with page bigger than line printer:\ :5i:am:bs:km:mi:xo:\ :co#134:it#8:li#76:\ @@ -13468,7 +21111,7 @@ guru-76-lp|guru-lp|guru with page bigger than line printer:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;76;134;134p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13479,11 +21122,9 @@ guru-76-lp|guru-lp|guru with page bigger than line printer:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76-w|guru 76 lines by 178 cols:\ :5i:am:bs:km:mi:xo:\ :co#178:it#8:li#76:\ @@ -13492,7 +21133,7 @@ guru-76-w|guru 76 lines by 178 cols:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;76;178;178p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13503,11 +21144,9 @@ guru-76-w|guru 76 lines by 178 cols:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76-w-s|ann arbor guru/76 lines+status+wide:\ :5i:am:bs:es:hs:km:mi:xo:\ :co#178:it#8:li#75:\ @@ -13516,7 +21155,7 @@ guru-76-w-s|ann arbor guru/76 lines+status+wide:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:\ :ds=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K:ei=:fs=\E[>51l:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\r\n\E[A\E7\E[255;1;0;76;178;178p\E8\E[J:k1=\EOA:\ @@ -13528,12 +21167,10 @@ guru-76-w-s|ann arbor guru/76 lines+status+wide:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255;1p\E[255;1H\E[K:ti=\E[76;1p\E[255;1H\E[K:\ - :ts=\E[>51h\E[1;%dH\E[2K:ue=\E[m:up=\E[A:us=\E[4m:\ - :vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255;1p\E[255;1H\E[K:\ + :ti=\E[76;1p\E[255;1H\E[K:ts=\E[>51h\E[1;%dH\E[2K:\ + :ue=\E[m:up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: guru-76-wm|guru 76 lines by 178 cols with 255 cols memory:\ :5i:am:bs:km:mi:xo:\ :co#178:it#8:li#76:\ @@ -13542,7 +21179,7 @@ guru-76-wm|guru 76 lines by 178 cols with 255 cols memory:\ :FA=\EOT:FB=\EOU:FC=\EOV:FD=\EOW:FE=\EOX:IC=\E[%d@:\ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\ :cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ - :cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ + :cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^K:ei=:\ :ho=\E[H:i1=\E[m\E7\E[H\E9\E8:i2=\E[>59l:ic=\E[@:im=:\ :is=\E7\E[255;0;0;76;178;255p\E8\E[J:k1=\EOA:k2=\EOB:\ :k3=\EOC:k4=\EOD:k5=\EOE:k6=\EOF:k7=\EOG:k8=\EOH:k9=\EOI:\ @@ -13553,17 +21190,14 @@ guru-76-wm|guru 76 lines by 178 cols with 255 cols memory:\ :ks=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\:\ :ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ :mm=\E[>52h:mo=\E[>52l:mr=\E[7m:nd=\E[C:pO=\E[%dv:pf=^C:\ - :po=\E[v:ps=\E[0i:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[m:sf=^K:so=\E[7m:st=\EH:ta=^I:\ - :te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:up=\E[A:\ - :us=\E[4m:vb=\E[>59h\E[>59l: + :po=\E[v:ps=\E[0i:rc=\E8:sc=\E7:se=\E[m:sf=^K:so=\E[7m:\ + :st=\EH:ta=^I:te=\E[255p\E[255;1H\E[K:ti=\E[76p:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[>59h\E[>59l: aaa-rv-unk|ann arbor unknown type:\ :Nl#0:lh#0:lw#0:\ :ho=\E[H:i1=\E[7m\E7\E[H\E9\E8:mb=\E[5;7m:md=\E[1;7m:\ - :me=\E[7m:mk=\E[7;8m:mr=\E[m:r1=\E[H\E[7m\E[J:\ - :..sa=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m:\ - :se=\E[7m:so=\E[m:ue=\E[7m:us=\E[4;7m: + :me=\E[7m:mk=\E[7;8m:mr=\E[m:r1=\E[H\E[7m\E[J:se=\E[7m:\ + :so=\E[m:ue=\E[7m:us=\E[4;7m: #### Applied Digital Data Systems (adds) # @@ -13581,8 +21215,8 @@ aaa-rv-unk|ann arbor unknown type:\ # Fax: (516)-342-7378 # Web: http://boundless.com # -# Their voice mail used to describe the place as "SunRiver (formerly ADDS)". -# In 1995 Boundless acquired DEC's terminals business. +# Their voice mail used to describe the place as "SunRiver (formerly ADDS)". +# In 1995 Boundless acquired DEC's terminals business. # # Regent: lowest common denominator, works on all regents. @@ -13597,7 +21231,7 @@ regent|Adds Regent Series:\ regent100|Adds Regent 100:\ :am:bs:\ :co#80:li#24:sg#1:ug#1:\ - :bl=^G:cl=^L:cm=\013%+ %+^F20%.:cr=^M:do=^J:ho=\EY\s\s:\ + :bl=^G:cl=^L:cm=\013%+ \020%B%.:cr=^M:do=^J:ho=\EY\s\s:\ :k0=^B1\r:k1=^B2\r:k2=^B3\r:k3=^B4\r:k4=^B5\r:k5=^B6\r:\ :k6=^B7\r:k7=^B8\r:l0=F1:l1=F2:l2=F3:l3=F4:l4=F5:l5=F6:l6=F7:\ :l7=F8:le=^U:ll=^A:me=\E0@:nd=^F:se=\E0@:sf=^J:so=\E0P:\ @@ -13656,22 +21290,71 @@ screwpoint|adds viewpoint with ^O bug:\ :co#80:li#24:\ :bl=^G:cd=\Ek:ce=\EK:cl=^L:cm=\EY%+ %+ :cr=^M:dl=\El:do=^J:\ :is=\017\E0`:k0=^B1:k2=^B2:k3=^B!:k4=^B":k5=^B#:kd=^J:kh=^A:\ - :kl=^U:kr=^F:ku=^Z:le=^H:ll=^A:me=^O:nd=^F:sf=^J:up=^Z:\ - :ve=\017\E0`: + :kl=^U:kr=^F:ku=^Z:le=^H:ll=^A:me=^O:nd=^F:se@:sf=^J:so@:ue@:\ + :up=^Z:us@:ve=\017\E0`:vs@: # From: Jay S. Rouman 5 Jul 92 -# The :vi:/:ve:/:sa:/:me: strings were added by ESR from specs. +# The :vi:/:ve:/:sa:/:me: strings were added by ESR from specs. # Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000, # underline=01100000, rev=01010000, blink=01000010,dim=01000001, # invis=01000100 and %c is the logical or of desired attributes. # There is also a `tag bit' enabling attributes, set by \E) and unset by \E(. +# +# Update by TD - 2004: +# Adapted from +# http://www.cs.utk.edu/~shuford/terminal/adds_viewpoint_news.txt +# +# COMMANDS ASCII CODE +# +# Address, Absolute ESC,=,row,column +# Beep BEL +# Aux Port Enable ESC,@ +# Aux Port Disable ESC,A +# Backspace BS +# Cursor back BS +# Cursor down LF +# Cursor forward FF +# Cursor home RS +# Cursor up VT +# Cursor supress ETB +# Cursor enable CAN +# Erase to end of line ESC,T +# Erase to end of page ESC,Y +# Erase screen SUB +# Keyboard lock SI +# Keyboard unlock SO +# Read current cursor position ESC,? +# Set Attribute ESC,0,x (see below for values of x) +# Tag bit reset ESC,( +# Tag bit set ESC,) +# Transparent Print on ESC,3 +# Transparent Print off ESC,4 +# +# +# ATTRIBUTES +# +# Normal @ 0100 +# Half Intensity A 0101 +# Blinking B 0102 +# Half Intensity Blinking C 0103 +# Reverse Video P 0120 +# Reverse Video Half Intensity Q 0121 +# Reverse Video Blinking R 0122 +# Reverse Video Half Intensity +# Blinking S 0123 +# Underlined ` 0140 +# Underlined Half Intensity a 0141 +# Underlined Blinking b 0142 +# Underlined Half Intensity +# Blinking c 0143 +# Video suppress D 0104 vp3a+|viewpoint3a+|adds viewpoint 3a+:\ :am:bw:\ :co#80:it#8:li#24:\ :cd=\EY:ce=\ET:cl=\E*:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:kb=^H:\ - :kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(:nd=^L:nw=^M^J:\ - :..sa=\E0%{64}%?%p1%tQ%|%;%?%p2%t%{96}%|%;%?%p3%tP%|%;%?%p4%t%{2}%|%;%?%p5%t%{1}%|%;%?%p7%tD%|%;%c\E):\ - :se=\E(:sf=^J:so=\E0Q\E):ta=^I:up=^K:ve=^X:vi=^W: + :kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\E0B\E):me=\E(:\ + :mh=\E0A\E):mk=\E0D\E):mr=\E0P\E):nd=^L:nw=^M^J:se=\E(:\ + :sf=^J:so=\E0Q\E):ta=^I:up=^K:us=\E0`\E):ve=^X:vi=^W: vp60|viewpoint60|addsvp60|adds viewpoint60:\ :am:bs:\ :co#80:li#24:sg#1:ug#1:\ @@ -13713,183 +21396,12 @@ adds980|a980|adds consul 980:\ :k6=\E6:k7=\E7:k8=\E8:k9=\E9:le=^H:me=^O:nd=\E^E01:se=^O:\ :sf=^J:so=^Y^^^N: -# Beehive documentation is undated and marked Preliminary and has no figures -# so we must have early Superbee2 (Model 600, according to phone conversation -# with mfr.). It has proved reliable except for some missing padding -# (notably after \EK and at bottom of screen). -# -# The key idea is that AEP mode is poison for :cm: & that US's in -# the local memory should be avoided like the plague. That means -# that the 2048 character local buffer is used as 25 lines of 80 -# characters, period. No scrolling local memory, folks. It also -# appears that we cannot use naked INS LINE feature since it uses -# US. The sbi fakes :al: with an 80-space insert that may be too -# slow at low speeds; also spaces get converted to \040 which is -# too long for some programs (not vi). DEL LINE is ok but slow. -# -# The string is designed for last line of screen ONLY; cup to -# 25th line corrects the motion inherent in scrolling to Page 1. -# -# There is one understood bug. It is that the screen appears to -# pop to a new (blank) page after a :nw:, or leave a half-line -# ellipsis to a quad that is the extra 48 memory locations. The -# data received is dumped into memory but not displayed. Not to -# worry if :cm: is being used; the lines not displayed will be, -# whenever the cursor is moved up there. Since :cm: is addressed -# relative to MEMORY of window, nothing is lost; but beware of -# relative cursor motion (:up:,:do:,:nd:,:le:). Recommended, -# therefore, is setenv MORE -c . -# -# WARNING: Not all features tested. -# -# Timings are assembled from 3 sources. Some timings may reflect -# SB2/Model 300 that were used if more conservative. -# Tested on a Model 600 at 1200 and 9600 bd. -# -# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly -# placed on the keyboard and useless because of AEP, is made -# into a backspace key. In use ESC must be pressed twice (to send) -# and sending ^C must be prefixed by ESC to avoid that weird -# transmit mode associated with ENTER key. -# -# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across -# the screen, then it has dropped into ENTER mode; hit -# RESET--ONLINE--!tset. -# -# As delivered this machine has a FATAL feature that will throw -# it into that strange transmit state (SPOW) if the space bar is -# hit after a CR is received, but before receiving a LF (or a -# few others). -# -# The circuits MUST be modified to eliminate the SPOW latch. -# This is done by strapping on chip A46 of the I/O board; cut -# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that -# chip. This mod has been checked out on a Mod 600 of Superbee II. -# With this modification absurdly high timings on cr are -# unnecessary. -# -# NOTE WELL that the rear panel switch should be set to CR/LF, -# not AEP! -# -sb1|beehive superbee:\ - :am:bs:bw:da:db:mi:ul:xb:\ - :co#80:li#25:sg#1:ug#1:\ - :al=\EN\EL\EQ \EP \EO\ER\EA:\ - :bl=^G:bt=\E`:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:\ - :ct=\E3:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\EH:im=\EQ\EO:\ - :is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:k1=\Ep:k2=\Eq:k3=\Er:\ - :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:k9=\E1:kE=\EK:kI=\EQ\EO:\ - :kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ - :ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:me=\E_3:nd=\EC:\ - :se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:ti=\EO:ue=\E_3:\ - :up=\EA:us=\E_0: -sbi|superbee|beehive superbee at Indiana U.:\ - :am:bs:bw:da:db:mi:ul:xb:\ - :co#80:li#25:sg#1:ug#1:\ - :al=1\EN\EL\EQ \EP \EO\ER\EA:bl=^G:bt=\E`:cd=\EJ:ce=\EK:\ - :cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:ct=\E3:dc=\EP:dl=\EM:do=^J:\ - :ei=\ER:ho=\EH:im=\EQ\EO:is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :k9=\E1:kE=\EK:kI=\EQ\EO:kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:\ - :me=\E_3:nd=\EC:se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:\ - :ti=\EO:ue=\E_3:up=\EA:us=\E_0: -# Alternate (older) description of Superbee - f1=escape, f2=^C. -# Note: there are at least 3 kinds of superbees in the world. The sb1 -# holds onto escapes and botches ^C's. The sb2 is the best of the 3. -# The sb3 puts garbage on the bottom of the screen when you scroll with -# the switch in the back set to CRLF instead of AEP. This description -# is tested on the sb2 but should work on all with either switch setting. -# The f1/f2 business is for the sb1 and the :xb: can be taken out for -# the other two if you want to try to hit that tiny escape key. -# This description is tricky: being able to use cup depends on there being -# 2048 bytes of memory and the hairy string. -superbee-xsb|beehive super bee:\ - :am:da:db:xb:\ - :co#80:it#8:li#25:\ - :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%3%3:cr=\r:ct=\E3:dc=\EP:\ - :dl=\EM:do=^J:ho=\EH:is=\EH\EJ:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:\ - :k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ - :ku=\EA:le=^H:me=\E_3:nd=\EC:se=\E_3:\ - :sf=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET:so=\E_1:st=\E1:\ - :ta=^I:up=\EA:ve=^J: -# This loses on lines > 80 chars long, use at your own risk -superbeeic|super bee with insert char:\ - :am:da:db:xb:\ - :co#80:it#8:li#25:\ - :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%3%3:cr=\r:ct=\E3:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:ho=\EH:ic=:im=\EQ:is=\EH\EJ:k1=\Ep:\ - :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:me=\E_3:nd=\EC:se=\E_3:\ - :sf=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET:so=\E_1:st=\E1:\ - :ta=^I:up=\EA:ve=^J: -sb2|sb3|fixed superbee:\ - :am:bs:bw:da:db:mi:ul:\ - :co#80:li#25:sg#1:ug#1:\ - :al=1\EN\EL\EQ \EP \EO\ER\EA:bl=^G:bt=\E`:cd=\EJ:ce=\EK:\ - :cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:ct=\E3:dc=\EP:dl=\EM:do=^J:\ - :ei=\ER:ho=\EH:im=\EQ\EO:is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :k9=\E1:kE=\EK:kI=\EQ\EO:kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:\ - :me=\E_3:nd=\EC:se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:\ - :ti=\EO:ue=\E_3:up=\EA:us=\E_0: - -#### Beehive Medical Electronics -# -# Steve Seymour writes (Wed, 03 Feb 1999): -# Regarding your question though; Beehive terminals weren't made by Harris. -# They were made by Beehive Medical Electronics in Utah. They went out of -# business in the early '80s. -# -# (OK, then, I don't know why a couple of these say "harris beehive".) -# - -# Reports are that most of these Beehive entries (except superbee) have not -# been tested and do not work right. :se: is a trouble spot. Be warned. - -# (bee: :ic: was empty, which is obviously bogus -- esr) -beehive|bee|harris beehive:\ - :am:bs:mi:\ - :co#80:li#24:\ - :al=\EL:bt=\E>:cd=\EJ:ce=\EK:cl=\EE:cm=\EF%+ %+ :dc=\EP:\ - :dl=\EM:do=\EB:ei=\E@:ho=\EH:im=\EQ:kA=\EL:kB=\E>:kC=\EE:\ - :kD=\EP:kE=\EK:kI=\EQ:kL=\EM:kM=\E@:kb=^H:kd=\EB:kh=\EH:\ - :kl=\ED:kr=\EC:ku=\EA:le=^H:me=\Ed@:nd=\EC:se=\Ed@:so=\EdP:\ - :ue=\Ed@:up=\EA:us=\Ed`: -# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs. -# good grief - does this entry make :sg:/:ug: when it doesn't have to? -# look at those spaces in :se:/:so:. Seems strange to me... -# (beehive: :if=/usr/share/tabset/beehive: removed, no such file. If you -# really care, cook up one using ^F -- esr) -beehive3|bh3m|beehiveIIIm|harris beehive 3m:\ - :am:bs:\ - :co#80:it#8:li#20:\ - :al=\023:bl=^G:cd=^R:ce=^P:cl=^E^R:cr=^M:dl=\021:do=^J:ho=^E:\ - :le=^H:ll=^E^K:nd=^L:se=\s^_:sf=^J:so=^]\s:st=^F:ta=^I:up=^K: -beehive4|bh4|beehive 4:\ - :am:\ - :co#80:li#24:\ - :bl=^G:cd=\EJ:ce=\EK:cl=\EE:cr=^M:do=^J:ho=\EH:le=\ED:nd=\EC:\ - :sf=^J:up=\EA: -# There was an early Australian kit-built computer called a "Microbee". -# It's not clear whether this is for one of those or for a relative -# of the Beehive. -microb|microbee|micro bee series:\ - :am:bs:\ - :co#80:it#8:li#24:\ - :bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EF%+ %+ :cr=^M:do=^J:k1=\Ep:\ - :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:k9=\Ex:\ - :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:me=\Ed@:nd=\EC:\ - :se=\Ed@:sf=^J:so=\s\EdP:ta=^I:ue=\Ed@:up=\EA:us=\Ed`: - #### C. Itoh Electronics # # As of 1995 these people no longer make terminals (they're still in the # printer business). Their terminals were all clones of the DEC VT series. # They're located in Orange County, CA. # -#% C.Itoh: andy@cie.co.uk (Andy Hardy) # CIT 80 - vt-52 emulator, the termcap has been modified to remove # the delay times and do an auto tab set rather than the indirect @@ -13897,17 +21409,18 @@ microb|microbee|micro bee series:\ cit80|cit-80|citoh 80:\ :am:bs:\ :co#80:li#24:\ - :cd=\EJ:ce=\EK:cl=\E[H\EJ:cm=\E[%i%2;%2H:cr=^M:ff=^L:\ - :is=\E>:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:nd=\E[C:sf=^J:up=\E[A: + :cd=\EJ:ce=\EK:cl=\E[H\EJ:cm=\E[%i%2;%2H:cr=^M:do=\E[B:\ + :ff=^L:is=\E>:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:nd=\E[C:sf=^J:up=\E[A: # From: Tim Wood Fri Sep 27 09:39:12 PDT 1985 # (cit101: added / based on init string, merged this with c101 -- esr) cit101|citc|C.itoh fast vt100:\ :am:bs:xn:\ :co#80:li#24:\ :RA=\E[?7l:SA=\E[?7h:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:ei=:ic=\E[@:\ - :im=:is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:\ + :ic=\E[@:im=:\ + :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g:\ :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ :ku=\EOA:le=^H:me=\E[m:nd=\E[C:se=\E[m:so=\E[7m:ue=\E[m:\ :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[V\E8:vs=\E7\E[U: @@ -13926,8 +21439,8 @@ cit101e|C. Itoh CIT-101e:\ :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:k0=\EOT:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOm:k6=\EOl:k7=\EOM:\ :k8=\EOn:kd=\E[B:ke=\E>:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:\ - :nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7h: + :le=\E[D:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7h: # From: David S. Lawyer, June 1997: # The CIT 101-e was made in Japan in 1983-4 and imported by CIE # Terminals in Irvine, CA. It was part of CITOH Electronics. In the @@ -13942,7 +21455,7 @@ cit101e|C. Itoh CIT-101e:\ # terminal. Then change any options you want (provided that they are # compatible with the termcap). For my terminal I set: Screen # Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver: -# on. I also set up mine for parity (but you may not need it). Then +# on. I also set up mine for parity (but you may not need it). Then # save the setup with ^S. # (cit101e-rv: added empty :te: to suppress a tic warning. --esr) cit101e-rv|Citoh CIT-101e (sets reverse video):\ @@ -13963,15 +21476,15 @@ cit101e-rv|Citoh CIT-101e (sets reverse video):\ :u8=\E[?6c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ :vb=200\E[?5l\E[?5h:ve=\E[0;3;4v:vi=\E[1v:vs=\E[3;5v: cit101e-n|CIT-101e w/o am:\ - :bs:mi:ms:pt:\ + :am@:bs:mi:ms:pt:\ :co#80:it#8:li#24:\ :ac=:ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%2;%2H:cs=\E[%i%2;%2r:dc=\E[P:dl=\E[M:do=\E[B:\ :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:k0=\EOT:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOm:k6=\EOl:k7=\EOM:\ :k8=\EOn:kb=^H:kd=^J:ke=\E>:kl=^H:kr=\E[C:ks=\E=:ku=\E[A:\ - :nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7l: + :le=\E[D:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7l: cit101e-132|CIT-101e with 132 cols:\ :am:bs:mi:ms:pt:\ :co#132:it#8:li#24:\ @@ -13980,18 +21493,18 @@ cit101e-132|CIT-101e with 132 cols:\ :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:k0=\EOT:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOm:k6=\EOl:k7=\EOM:\ :k8=\EOn:kb=^H:kd=^J:ke=\E>:kl=^H:kr=\E[C:ks=\E=:ku=\E[A:\ - :nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7h: + :le=\E[D:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7h: cit101e-n132|CIT-101e with 132 cols w/o am:\ - :bs:mi:ms:pt:\ + :am@:bs:mi:ms:pt:\ :co#132:it#8:li#24:\ :ac=:ae=^O:al=\E[L:as=^N:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%2;%2H:cs=\E[%i%2;%2r:dc=\E[P:dl=\E[M:do=\E[B:\ :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:k0=\EOT:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOm:k6=\EOl:k7=\EOM:\ :k8=\EOn:kb=^H:kd=^J:ke=\E>:kl=^H:kr=\E[C:ks=\E=:ku=\E[A:\ - :nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ue=\E[m:\ - :up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7l: + :le=\E[D:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:so=\E[7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=:vs=\E[?1l\E[?4l\E[?7l: # CIE Terminals CIT-500 from BRL # The following SET-UP modes are assumed for normal operation: # GENERATE_XON/XOFF:YES DUPLEX:FULL NEWLINE:OFF @@ -14027,7 +21540,7 @@ citoh|ci8510|8510|c.itoh 8510a:\ :bs:hc:os:\ :co#80:it#8:li#66:\ :bl=^G:cr=^M:do=^J:ff=^L:\ - :is=\E(009,017,025,033,041,049,057,065,073.:md=\E!:\ + :is=\E(009,017,025,033,041,049,057,065,073.:le@:md=\E!:\ :me=\E"\EY:rp=\ER%r%03%.:sf=^J:sr=\Er:ue=\EY:us=\EX: citoh-pica|citoh in pica:\ :bs:hc:os:\ @@ -14114,7 +21627,7 @@ cdc756|CDC 756:\ # CDC 721 from Robert Viduya, Ga. Tech. via BRL. # # Part of the long initialization string defines the "DOWN" key to the left -# of the tab key to send an ESC. The real ESC key is positioned way out +# of the tab key to send an ESC. The real ESC key is positioned way out # in right field. # # The termcap won't work in 132 column mode due to the way it it moves the @@ -14127,7 +21640,7 @@ cdc721-esc|Control Data 721:\ :co#80:it#8:kn#10:li#30:\ :al=^^R:bl=^G:bt=^^^K:cd=^^P:ce=^K:cl=^L:cm=\002%r%+ %+ :\ :ct=^^^RY:dc=^^N:dl=^^Q:do=^Z:ei=:ho=^Y:ic=^^O:im=:\ - :is=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036\022J\036\022L\036\022N\036\022P\036\022Q\036\022\036\022^\036\022b\036\022i\036W =\036\022Z\036\011C1-` `!k/o:\ + :is=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036\022J\036\022L\036\022N\036\022P\036\022Q\036\022\036\022\136\036\022b\036\022i\036W =\036\022Z\036\011C1-` `!k/o:\ :k0=^^q:k1=^^r:k2=^^s:k3=^^t:k4=^^u:k5=^^v:k6=^^w:k7=^^x:\ :k8=^^y:k9=^^z:kb=^H:kd=^Z:ke=^^^Rl:kh=^Y:kl=^H:kr=^X:\ :ks=^^^Rk:ku=^W:le=^H:ll=^B =:mb=^N:\ @@ -14137,7 +21650,7 @@ cdc721-esc|Control Data 721:\ #### Getronics # -# Getronics is a Dutch electronics company that at one time was called +# Getronics is a Dutch electronics company that at one time was called # `Geveke' and made async terminals; but (according to the company itself!) # they've lost all their documentation on the command set. The hardware # documentation suggests the terminals were actually manufactured by a @@ -14163,7 +21676,7 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\ :AL=\E[%dL:DC=\E[%dX:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ :K1=\E[f:K2=\EOP:K3=\EOQ:K4=\EOR:K5=\EOS:LE=\E[%dD:\ :RA=\E[?7l:RI=\E[%dC:SA=\E?7h:UP=\E[%dA:\ - :ac=0_aaffggjjkkllmmnnqqttuuvvwwxxh ooss:ae=\E[3l:\ + :ac=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx:ae=\E[3l:\ :al=\E[L:as=\E3h:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%dG:\ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:cv=\E[%i%dd:dc=\E[X:dl=\E[M:do=\E[B:ei=\E[4l:\ @@ -14187,7 +21700,7 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\ # Vox: (610)-277-8300 # Fax: (610)-275-5739 # Net: support@hds.com -# +# # John Martin is their termcap expert. They're mostly out of # the character-terminal business now (1995) and making X terminals. In # particular, the whole `Concept' line described here was discontinued long @@ -14200,29 +21713,29 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\ # # There seem to be a number of different versions of the C108 PROMS # (with bug fixes in its Z-80 program). -# +# # The first one that we had would lock out the keyboard of you # sent lots of short lines (like /usr/dict/words) at 9600 baud. # Try that on your C108 and see if it sends a ^S when you type it. # If so, you have an old version of the PROMs. -# +# # You should configure the C108 to send ^S/^Q before running this. # It is much faster (at 9600 baud) than the c100 because the delays # are not fixed. # new status line display entries for c108-8p: -# :i3: - init str #3 - setup term for status display - -# set programmer mode, select window 2, define window at last +# :i3: - init str #3 - setup term for status display - +# set programmer mode, select window 2, define window at last # line of memory, set bkgnd stat mesg there, select window 0. -# -# :ts: - to status line - select window 2, home cursor, erase to +# +# :ts: - to status line - select window 2, home cursor, erase to # end-of-window, 1/2 bright on, goto(line#0, col#?) -# +# # :fs: - from status line - 1/2 bright off, select window 0 -# -# :ds: - disable status display - set bkgnd status mesg with +# +# :ds: - disable status display - set bkgnd status mesg with # illegal window # -# -# There are probably more function keys that should be added but +# +# There are probably more function keys that should be added but # I don't know what they are. # # No delays needed on c108 because of ^S/^Q handshaking @@ -14230,11 +21743,9 @@ visa50|geveke visa 50 terminal in ansi 80 character mode:\ c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages:\ :am:bs:eo:es:hs:mi:ul:xn:xo:\ :co#80:li#24:vt#8:\ - :ac=l\\qLkTxUmMjE:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ - :cd=\E\005:ce=\E\025:cl=\E?\E\005:\ - :..cm=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c:\ - :cr=^M:dc=\E 1:dl=\E\002:do=^J:ds=\E ;\177:ei=\E\s\s:\ - :fs=\Ee\E z\s:i1=\EK\E!\E F:\ + :ac=jEkTl\\mMqLxU:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ + :cd=\E\005:ce=\E\025:cl=\E?\E\005:cr=^M:dc=\E 1:dl=\E\002:\ + :do=^J:ds=\E ;\177:ei=\E\s\s:i1=\EK\E!\E F:\ :i2=\EU\E z"\Ev\001\177 !p\E ;"\E z \Ev \001\177p\Ep\n:\ :im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ @@ -14246,16 +21757,13 @@ c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ed:sf=^J:so=\ED:ta=\011:\ :te=\Ev \001\177p\Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:\ - :ts=:..ts=\E z"\E?\E\005\EE\Ea %+\s:ue=\Eg:up=\E;:us=\EG:\ - :vb=\Ek\EK:ve=\Ew:vs=\EW: + :ue=\Eg:up=\E;:us=\EG:vb=\Ek\EK:ve=\Ew:vs=\EW: c108-4p|concept108-4p|concept 108 w/4 pages:\ :am:bs:eo:es:hs:mi:ul:xn:xo:\ - :co#80:li#24:vt#8:\ - :ac=l\\qLkTxUmMjE:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ - :cd=\E\005:ce=\E\025:cl=\E?\E\005:\ - :..cm=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c:\ - :cr=^M:dc=\E 1:dl=\E\002:do=^J:ds=\E ;\177:ei=\E\s\s:\ - :fs=\Ee\E z\s:i1=\EK\E!\E F:\ + :co#80:li#24:pb@:vt#8:\ + :ac=jEkTl\\mMqLxU:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ + :cd=\E\005:ce=\E\025:cl=\E?\E\005:cr=^M:dc=\E 1:dl=\E\002:\ + :do=^J:ds=\E ;\177:ei=\E\s\s:i1=\EK\E!\E F:\ :i2=\EU\E z"\Ev\177 !p\E ;"\E z \Ev \001 p\Ep\n:\ :im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ @@ -14266,17 +21774,14 @@ c108-4p|concept108-4p|concept 108 w/4 pages:\ :le=^H:mb=\EC:me=\EN@:mh=\EE:mk=\EH:mp=\EI:mr=\ED:nd=\E=:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ed:sf=^J:so=\ED:ta=\011:\ - :te=\Ev \001 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:\ - :ts=:..ts=\E z"\E?\E\005\EE\Ea %+\s:ue=\Eg:up=\E;:us=\EG:\ - :vb=\Ek\EK:ve=\Ew:vs=\EW: + :te=\Ev \001 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:ue=\Eg:\ + :up=\E;:us=\EG:vb=\Ek\EK:ve=\Ew:vs=\EW: c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video:\ :am:bs:eo:es:hs:mi:ul:xn:xo:\ :co#80:li#24:vt#8:\ - :ac=l\\qLkTxUmMjE:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ - :cd=\E\005:ce=\E\025:cl=\E?\E\005:\ - :..cm=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c:\ - :cr=^M:dc=\E 1:dl=\E\002:do=^J:ds=\E ;\177:ei=\E\s\s:\ - :fs=\Ee\E z\s:i1=\Ek:\ + :ac=jEkTl\\mMqLxU:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ + :cd=\E\005:ce=\E\025:cl=\E?\E\005:cr=^M:dc=\E 1:dl=\E\002:\ + :do=^J:ds=\E ;\177:ei=\E\s\s:i1=\Ek:\ :i2=\EU\E z"\Ev\177 !p\E ;"\E z \Ev \001 p\Ep\n:\ :im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ @@ -14287,17 +21792,14 @@ c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video:\ :le=^H:mb=\EC:me=\EN@:mh=\EE:mk=\EH:mp=\EI:mr=\ED:nd=\E=:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ee:sf=^J:so=\EE:ta=\011:\ - :te=\Ev \002 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r:\ - :ts=:..ts=\E z"\E?\E\005\EE\Ea %+\s:ue=\Eg:up=\E;:us=\EG:\ - :vb=\EK\Ek:ve=\Ew:vs=\EW: + :te=\Ev \002 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r:ue=\Eg:up=\E;:\ + :us=\EG:vb=\EK\Ek:ve=\Ew:vs=\EW: c108-rv-4p|concept108rv4p|concept 108 w/4 pages in reverse video:\ :am:bs:eo:es:hs:mi:ul:xn:xo:\ :co#80:li#24:vt#8:\ - :ac=l\\qLkTxUmMjE:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ - :cd=\E\005:ce=\E\025:cl=\E?\E\005:\ - :..cm=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c:\ - :cr=^M:dc=\E 1:dl=\E\002:do=^J:ds=\E ;\177:ei=\E\s\s:\ - :fs=\Ee\E z\s:i1=\Ek:\ + :ac=jEkTl\\mMqLxU:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ + :cd=\E\005:ce=\E\025:cl=\E?\E\005:cr=^M:dc=\E 1:dl=\E\002:\ + :do=^J:ds=\E ;\177:ei=\E\s\s:i1=\Ek:\ :i2=\EU\E z"\Ev\177 !p\E ;"\E z \Ev \001 p\Ep\n:\ :im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ @@ -14308,17 +21810,14 @@ c108-rv-4p|concept108rv4p|concept 108 w/4 pages in reverse video:\ :le=^H:mb=\EC:me=\EN@:mh=\EE:mk=\EH:mp=\EI:mr=\ED:nd=\E=:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ee:sf=^J:so=\EE:ta=\011:\ - :te=\Ev \001 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:\ - :ts=:..ts=\E z"\E?\E\005\EE\Ea %+\s:ue=\Eg:up=\E;:us=\EG:\ - :vb=\EK\Ek:ve=\Ew:vs=\EW: + :te=\Ev \001 p\Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:ue=\Eg:\ + :up=\E;:us=\EG:vb=\EK\Ek:ve=\Ew:vs=\EW: c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mode:\ :am:bs:eo:es:hs:mi:ul:xn:xo:\ :co#132:li#24:vt#8:\ - :ac=l\\qLkTxUmMjE:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ - :cd=\E\005:ce=\E\025:cl=\E?\E\005:\ - :..cm=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c:\ - :cr=^M:dc=\E 1:dl=\E\002:do=^J:ds=\E ;\177:ei=\E\s\s:\ - :fs=\Ee\E z\s:i1=\E F\E":\ + :ac=jEkTl\\mMqLxU:ae=\Ej\s:al=\E\022:as=\Ej!:bl=^G:\ + :cd=\E\005:ce=\E\025:cl=\E?\E\005:cr=^M:dc=\E 1:dl=\E\002:\ + :do=^J:ds=\E ;\177:ei=\E\s\s:i1=\E F\E":\ :i2=\EU\E z"\Ev\001\177 !p\E ;"\E z \Ev \001\177p\Ep\n:\ :im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ @@ -14329,47 +21828,46 @@ c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mod :le=^H:mb=\EC:me=\EN@:mh=\EE:mk=\EH:mp=\EI:mr=\ED:nd=\E=:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ed:sf=^J:so=\ED:ta=\011:\ - :te=\Ev ^A0\001D\Ep\r\n:ti=\EU\Ev 8\001D\Ep\r:\ - :ts=:..ts=\E z"\E?\E\005\EE\Ea %+\s:ue=\Eg:up=\E;:us=\EG:\ - :vb=\Ek\EK:ve=\Ew:vs=\EW: + :te=\Ev ^A0\001D\Ep\r\n:ti=\EU\Ev 8\001D\Ep\r:ue=\Eg:\ + :up=\E;:us=\EG:vb=\Ek\EK:ve=\Ew:vs=\EW: # Concept 100: -# These have only window relative cursor addressing, not screen -# relative. To get it to work right here, smcup/rmcup (which -# were invented for the concept) lock you into a one page +# These have only window relative cursor addressing, not screen +# relative. To get it to work right here, smcup/rmcup (which +# were invented for the concept) lock you into a one page # window for screen style programs. -# +# # To get out of the one page window, we use a clever trick: -# we set the window size to zero ("\Ev " in rmcup) which the -# terminal recognizes as an error and resets the window to all +# we set the window size to zero ("\Ev " in rmcup) which the +# terminal recognizes as an error and resets the window to all # of memory. -# +# # This trick works on c100 but does not on c108, sigh. -# -# Some tty drivers use cr3 for concept, others use nl3, hence -# the delays on cr and ind below. This padding is only needed at -# 9600 baud and up. One or the other is commented out depending on +# +# Some tty drivers use cr3 for concept, others use nl3, hence +# the delays on cr and ind below. This padding is only needed at +# 9600 baud and up. One or the other is commented out depending on # local conventions. -# -# 2 ms padding on :te: isn't always enough. 6 works fine. Maybe +# +# 2 ms padding on :te: isn't always enough. 6 works fine. Maybe # less than 6 but more than 2 will work. -# -# Note: can't use function keys f7-f10 because they are -# indistinguishable from arrow keys (!), also, del char and +# +# Note: can't use function keys f7-f10 because they are +# indistinguishable from arrow keys (!), also, del char and # clear eol use xon/xoff so they probably won't work very well. -# -# Also note that we don't define insrt/del char/delline/eop/send -# because they don't transmit unless we reset them - I figured +# +# Also note that we don't define insrt/del char/delline/eop/send +# because they don't transmit unless we reset them - I figured # it was a bad idea to clobber their definitions. -# -# The sequence changes the escape character to ^^ so that -# escapes will be passed through to the printer. Only trouble -# is that ^^ won't be - ^^ was chosen to be unlikely. -# Unfortunately, if you're sending raster bits through to be +# +# The sequence changes the escape character to ^^ so that +# escapes will be passed through to the printer. Only trouble +# is that ^^ won't be - ^^ was chosen to be unlikely. +# Unfortunately, if you're sending raster bits through to be # plotted, any character you choose will be likely, so we lose. # -# \EQ"\EY(^W (send anything from printer to host, for xon/xoff) -# cannot be # in is2 because it will hang a c100 with no printer +# \EQ"\EY(^W (send anything from printer to host, for xon/xoff) +# cannot be # in is2 because it will hang a c100 with no printer # if sent twice. c100|concept100|concept|c104|c100-4p|hds concept 100:\ :am:bs:eo:mi:ul:xn:\ @@ -14402,13 +21900,13 @@ c100-rv|c100-rv-4p|concept100-rv|c100 rev video:\ :pf=\036o \E\EQ!\EYP\027:po=\EQ"\EY(\027\EYD\Eo \036:\ :rp=\Er%.%+ :se=\Ee:sf=^J:so=\EE:ta=\011:\ :te=\Ev \Ep\r\n:ti=\EU\Ev 8p\Ep\r\E\025:ue=\Eg:\ - :up=\E;:us=\EG:vb=\EK\Ek: + :up=\E;:us=\EG:vb=\EK\Ek:ve@:vs@: oc100|oconcept|c100-1p|old 1 page concept 100:\ :am:bs:eo:in:mi:ul:xn:\ :co#80:li#24:pb#9600:vt#8:\ :al=\E\022:bl=^G:cd=\E\005:ce=\E\025:cl=\E?\E\005:\ :cm=\Ea%+ %+ :cr=\r:dc=\E\021:dl=\E\002:do=^J:ei=\E\s\s:\ - :i1=\EK:im=\E^P:ip=:\ + :i1=\EK:i3@:im=\E^P:ip=:\ :is=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c:\ :k1=\E5:k2=\E6:k3=\E7:k4=\E8:k5=\E9:k6=\E\:a:k7=\E\:b:\ :k8=\E\:c:kA=\E^R:kB=\E':kD=\E^Q:kE=\E^S:kF=\E[:kI=\E^P:\ @@ -14572,7 +22070,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\ # #------- flash=\E[8;3!}^G\E[3;3!} #------- flash=\E[?5h$<100>\E[?5l -# There are two ways to flash the screen, both of which have their drawbacks. +# There are two ways to flash the screen, both of which have their drawbacks. # The first is to set the bell mode to video, transmit a bell character, and # set the bell mode back - but to what? There is no way of knowing what the # user's old bell setting was before we messed with it. Worse, the command to @@ -14596,7 +22094,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\ # #------- dim= Not available in power on mode. # You have a choice of defining low intensity characters as "half bright" and -# high intensity as "normal", or defining low as "normal" and high as "bold". +# high intensity as "normal", or defining low as "normal" and high as "bold". # No matter which you choose, only one of either "half bright" or "bold" is # available at any time, so taking the time to override the default is # pointless. @@ -14625,7 +22123,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\ # [DEL chosen as delimiter, but could be any character] # [implied: ELSE do nothing] # %; ENDIF -# +# #------- rs2= # Not defined since anything it might do could be done faster and easier with # either Meta-Shift-Reset or the main power switch. @@ -14658,9 +22156,6 @@ oc100|oconcept|c100-1p|old 1 page concept 100:\ # therefore needs mc5i: specified to say so) and "auxilliary print" # (which does duplicate printed data on the screen, in which case mc4= # and mc5= should use the \E[?4i and \E[?5i strings instead). -# -# (esr: I have commented out is2 in order to avoid overflowing termcap's -# 1024-byte limit.) hds200|Human Designed Systems HDS200:\ :5i:am:bw:es:hs:km:mi:ms:xn:xo:\ @@ -14679,17 +22174,17 @@ hds200|Human Designed Systems HDS200:\ :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ :do=\E[B:ds=\E[2!w\r\n\E[!w:ei=\E[4l:fs=\E[!w:ho=\E[H:\ - :im=\E[4h:k1=^\001\r:k2=^\002\r:k3=^\003\r:k4=^\004\r:\ - :k5=^\005\r:k6=^\006\r:k7=^\007\r:k8=^\008\r:k9=^\009\r:\ - :k;=^\010\r:kB=\E$I:kD=\177:kF=\E[T:kN=\E[U:kP=\E[V:\ - :kR=\E[S:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=\E[D:ll=\E[H\E[A:mb=\E[0;5m:md=\E[0;1m:me=\E[m\017:\ - :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:nw=\E[E:pf=\E[4i:po=\E[5i:\ - :ps=\E[i:rc=\E8:\ - :..sa=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m\017:sf=\ED:so=\E[0;1;7m:sr=\EM:st=\EH:\ - :ta=^I:ts=\E[2!w\E[%i%dG:ue=\E[m\017:up=\E[A:us=\E[0;4m:\ - :ve=\E[+{:vi=\E[6+{: + :im=\E[4h:\ + :is=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P\177\E[44;1u\177\E$Q\177\E[45;1u\177\E$R\177\E[46;1u\177\E$S\177\E[200;1u\177\E$A\177\E[201;1u\177\E$B\177\E[202;1u\177\E$C\177\E[203;1u\177\E$D\177\E[204;1u\177\E$H\177\E[212;1u\177\E$I\177\E[213;1u\177\E$\010\177\E[214;1u"\E$\177"\E[2!w\E[25;25w\E[!w\E[2*w\E[2+x\E[;3+}:\ + :k1=^\001\r:k2=^\002\r:k3=^\003\r:k4=^\004\r:k5=^\005\r:\ + :k6=^\006\r:k7=^\007\r:k8=^\008\r:k9=^\009\r:k;=^\010\r:\ + :kB=\E$I:kD=\177:kF=\E[T:kN=\E[U:kP=\E[V:kR=\E[S:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ + :ll=\E[H\E[A:mb=\E[0;5m:md=\E[0;1m:me=\E[0m:mk=\E[0;8m:\ + :mr=\E[0;7m:nd=\E[C:nw=\E[E:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :rc=\E8:sc=\E7:se=\E[m\017:sf=\ED:so=\E[0;1;7m:sr=\EM:\ + :st=\EH:ta=^I:ts=\E[2!w\E[%i%dG:ue=\E[m\017:up=\E[A:\ + :us=\E[0;4m:ve=\E[+{:vi=\E[6+{: # :ta: through :ce: included to specify padding needed in raw mode. # (avt-ns: added empty to suppress a tic warning --esr) @@ -14699,19 +22194,17 @@ avt-ns|concept avt no status line:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E4l:ho=\E[H:\ - :i1=\E[=103l\E[=205l:ic=\E[@:im=\E1:ip=:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :i1=\E[=103l\E[=205l:ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[w\E2\r\n:ti=\E[=4l\E[1;24w\E2\r:ue=\E[4!{:\ :up=\E[A:us=\E[4m:ve=\E[=119l:vs=\E[=119h: avt-rv-ns|concept avt in reverse video mode/no status line:\ @@ -14720,19 +22213,17 @@ avt-rv-ns|concept avt in reverse video mode/no status line:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E4l:ho=\E[H:\ - :i1=\E[=103l\E[=205h:ic=\E[@:im=\E1:ip=:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :i1=\E[=103l\E[=205h:ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[w\E2\r\n:ti=\E[=4l\E[1;24w\E2\r:ue=\E[4!{:\ :up=\E[A:us=\E[4m:vb=\E[=205l\E[=205h:ve=\E[=119l:\ :vs=\E[=119h: @@ -14742,19 +22233,17 @@ avt-w-ns|concept avt in 132 column mode/no status line:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E4l:ho=\E[H:\ - :i1=\E[=103h\E[=205l:ic=\E[@:im=\E1:ip=:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :i1=\E[=103h\E[=205l:ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[w\E2\r\n:ti=\E[H\E[1;24;1;132w:ue=\E[4!{:up=\E[A:\ :us=\E[4m:ve=\E[=119l:vs=\E[=119h: avt-w-rv-ns|concept avt in 132 column mode/no status line/reverse video:\ @@ -14763,19 +22252,17 @@ avt-w-rv-ns|concept avt in 132 column mode/no status line/reverse video:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E4l:ho=\E[H:\ - :i1=\E[=103h\E[=205h:ic=\E[@:im=\E1:ip=:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :i1=\E[=103h\E[=205h:ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[w\E2\r\n:ti=\E[H\E[1;24;1;132w:ue=\E[4!{:up=\E[A:\ :us=\E[4m:vb=\E[=205l\E[=205h:ve=\E[=119l:vs=\E[=119h: @@ -14800,21 +22287,19 @@ avt|avt-s|concept-avt|avt w/80 columns:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E4l:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E[4l:\ :fs=\E[1;1!w:ho=\E[H:i1=\E[=103l\E[=205l:\ :i2=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n:\ - :ic=\E[@:im=\E1:ip=:\ + :ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[2w\E2\r\n:ti=\E[2;25w\E2\r:\ :ts=\E[2;1!w\E[;%dH\E[2K:ue=\E[4!{:up=\E[A:us=\E[4m:\ :ve=\E[=119l:vs=\E[=119h: @@ -14824,21 +22309,19 @@ avt-rv|avt-rv-s|avt reverse video w/sl:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E4l:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E[4l:\ :fs=\E[1;1!w:ho=\E[H:i1=\E[=103l\E[=205h:\ :i2=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n:\ - :ic=\E[@:im=\E1:ip=:\ + :ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[2w\E2\r\n:ti=\E[2;25w\E2\r:\ :ts=\E[2;1!w\E[;%dH\E[2K:ue=\E[4!{:up=\E[A:us=\E[4m:\ :vb=\E[=205l\E[=205h:ve=\E[=119l:vs=\E[=119h: @@ -14848,21 +22331,19 @@ avt-w|avt-w-s|concept avt 132 cols+status:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E4l:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E[4l:\ :fs=\E[1;1!w:ho=\E[H:i1=\E[=103h\E[=205l:\ :i2=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n:\ - :ic=\E[@:im=\E1:ip=:\ + :ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[2w\E2\r\n:ti=\E[H\E[1;24;1;132w:\ :ts=\E[2;1!w\E[;%dH\E[2K:ue=\E[4!{:up=\E[A:us=\E[4m:\ :ve=\E[=119l:vs=\E[=119h: @@ -14872,29 +22353,27 @@ avt-w-rv|avt-w-rv-s|avt wide+status+rv:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ac=:ae=\016:al=\E[L:as=\017:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[2g:\ - :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E4l:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:\ + :cv=\E[%+^Ad:dc=\E[P:dl=\E[M:do=^J:ds=\E[0*w:ei=\E[4l:\ :fs=\E[1;1!w:ho=\E[H:i1=\E[=103h\E[=205h:\ :i2=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n:\ - :ic=\E[@:im=\E1:ip=:\ + :ic=\E[@:im=\E[4h:ip=:\ :is=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kA=\E^C\r:kD=\E^B\r:\ :kI=\E^A\r:kS=\E^D\r:kb=^H:kd=\E[B:ke=\E[!z\E[0;2u:\ :kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[1!z\E[0;3u:ku=\E[A:le=^H:\ - :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E8m:\ + :ll=\E[24H:mb=\E[5m:md=\E[1m:me=\E[m:mh=\E[1!{:mk=\E[8m:\ :mp=\E[99m:mr=\E[7m:nd=\E[C:pf=\E[4i:pl=\E[%d;0u#%s#:\ - :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:\ - :..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ + :po=\E[5i:ps=\E[0i:px=\E[%d;1u#%s#:rc=\E8:sc=\E7:\ + :se=\E[7!{:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=\011:\ :te=\E[2w\E2\r\n:ti=\E[H\E[1;24;1;132w:\ :ts=\E[2;1!w\E[;%dH\E[2K:ue=\E[4!{:up=\E[A:us=\E[4m:\ :vb=\E[=205l\E[=205h:ve=\E[=119l:vs=\E[=119h: -#### Contel Business Systems. +#### Contel Business Systems. # -# Contel c300 and c320 terminals. +# Contel c300 and c320 terminals. contel300|contel320|c300|Contel Business Systems C-300 or C-320:\ :am:in:xo:\ :co#80:li#24:sg#1:\ @@ -14909,10 +22388,10 @@ contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321:\ :am:in:xo:\ :co#80:li#24:sg#1:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EX%+ \EY%+ :cr=^M:\ - :ct=\E3:dc=\EO:dl=\EM:do=^J:ho=\EH:k0=\ERJ:k1=\ERA:k2=\ERB:\ - :k3=\ERC:k4=\ERD:k5=\ERE:k6=\ERF:k7=\ERG:k8=\ERH:k9=\ERI:\ - :kb=^H:le=^H:ll=\EH\EA:me=\E!\0:nd=\EC:se=\E!\0:sf=^J:\ - :so=\E!\r:st=\E1:up=\EA: + :ct=\E3:dc=\EO:dl=\EM:do=^J:ho=\EH:ic@:ip@:k0=\ERJ:k1=\ERA:\ + :k2=\ERB:k3=\ERC:k4=\ERD:k5=\ERE:k6=\ERF:k7=\ERG:k8=\ERH:\ + :k9=\ERI:kb=^H:le=^H:ll=\EH\EA:me=\E!\0:nd=\EC:se=\E!\0:\ + :sf=^J:so=\E!\r:st=\E1:up=\EA:vb@: #### Data General (dg) # @@ -14922,7 +22401,7 @@ contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321:\ # # DG terminals have function keys that respond to the SHIFT and CTRL keys, # e.g., SHIFT-F1 generates a different code from F1. To number the keys -# sequentially, first the unmodified key codes are listed as F1 through F15. +# sequentially, first the unmodified key codes are listed as F1 through F15. # Then their SHIFT versions are listed as F16 through F30, their CTRL versions # are listed as F31 through F45, and their CTRL-SHIFT versions are listed as # F46 through F60. This is done in the private "includes" below whose names @@ -14938,8 +22417,6 @@ contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321:\ # Unmodified fkeys (kf1-kf11), Shift fkeys (kf12-kf22), Ctrl fkeys (kf23-kf33), # Ctrl/Shift fdkeys (kf34-kf44). -# Most of these entries are `official' and came from DG. Others are marked. - dgkeys+8b|Private entry describing DG terminal 8-bit ANSI mode special keys:\ :%9=\233i:F1=\233011z:F2=\233012z:F3=\233013z:\ :F4=\233014z:F5=\233000z:F6=\233101z:F7=\233102z:\ @@ -14980,7 +22457,7 @@ dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys:\ :F1=^^{:F2=^^a:F3=^^b:F4=^^c:F5=^^d:F6=^^e:F7=^^f:F8=^^g:\ :F9=^^h:FA=^^i:FB=^^j:FC=^^k:FD=^^1:FE=^^2:FF=^^3:FG=^^4:\ :FH=^^5:FI=^^6:FJ=^^7:FK=^^8:FL=^^9:FM=^^\::FN=^^;:FO=^^!:\ - :FP=^^":FQ=^^#:FR=^^$:FS=^^%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ + :FP=^^":FQ=^^#:FR=^^$:FS=^^%%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ :FX=^^*:FY=^^+:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:\ :k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:\ :kr=^X:ku=^W: @@ -14991,10 +22468,10 @@ dgkeys+15|Private entry describing 15 DG mode special keys:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:\ - :k8=^^x:k9=^^y:k;=^^z: + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:\ + :k7=^^w:k8=^^x:k9=^^y:k;=^^z: # Data General color terminals use the "Tektronix" color model. The total # number of colors varies with the terminal model, as does support for @@ -15009,36 +22486,24 @@ dgkeys+15|Private entry describing 15 DG mode special keys:\ dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode:\ :ut:\ :Co#16:NC#53:pa#256:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ :Sb=\036B%+0:Sf=\036A%+0:op=\036Ad\036Bd: dg+fixed|Fixed color info for DG D430C terminals in DG mode:\ :ut:\ :Co#16:NC#53:pa#256:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ :Sb=\036B%+0:Sf=\036A%+0:op=\036Ad\036Bd: # Video attributes are coordinated using static variables set by "sgr", then -# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings. +# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings. # (D=dim, U=underline, B=blink, R=reverse.) dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode:\ :ut:\ :Co#8:NC#16:pa#64:\ - :..AB=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m: dg+color|Color info for Data General D470C terminals in ANSI mode:\ :ut:\ :Co#16:NC#53:pa#256:\ - :..AB=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m: dgmode+color8|Color info for Data General D220/D230C terminals in DG mode:\ @@ -15050,26 +22515,20 @@ dgmode+color8|Color info for Data General D220/D230C terminals in DG mode:\ dgmode+color|Color info for Data General D470C terminals in DG mode:\ :ut:\ :Co#16:NC#16:pa#256:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ :Sb=\036B%+0:Sf=\036A%+0:op=\036Ad\036Bd: dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode:\ :cc:ut:\ :Co#52:NC#53:pa#26:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ - :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ - :..sp=\036RG2%p1%02X: + :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D: # Colors are in the order: normal, reverse, dim, dim + reverse. dg+ccc|Configurable color info for DG D430C terminals in DG mode:\ :cc:ut:\ :Co#52:NC#53:pa#26:\ - :Ip=:..Ip=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c:\ :oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00:\ - :op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=:\ - :sp=\036RG2%+^P%+^P: + :op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=: # The generic DG terminal type (an 8-bit-clean subset of the 6053) # Initialization string 1 sets: @@ -15081,21 +22540,100 @@ dg-generic|Generic Data General terminal in DG mode:\ :F1=^^{:F2=^^a:F3=^^b:F4=^^c:F5=^^d:F6=^^e:F7=^^f:F8=^^g:\ :F9=^^h:FA=^^i:FB=^^j:FC=^^k:FD=^^1:FE=^^2:FF=^^3:FG=^^4:\ :FH=^^5:FI=^^6:FJ=^^7:FK=^^8:FL=^^9:FM=^^\::FN=^^;:FO=^^!:\ - :FP=^^":FQ=^^#:FR=^^$:FS=^^%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ + :FP=^^":FQ=^^#:FR=^^$:FS=^^%%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ :FX=^^*:FY=^^+:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:\ :i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:\ :k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:\ :ku=^W:le=^Y:mb=^N:me=^O^U^]:mh=^\:nd=^X:nw=^J:ps=^Q:se=^]:\ :sf=^J:so=^\:ue=^U:up=^W:us=^T: +# According to the 4.4BSD termcap file, the dg200 :cm: should be the +# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap +# notation that's "^P%r%+\200%+\200"). Those \200s are suspicious, +# maybe they were originally nuls (which would fit). + +dg200|data general dasher 200:\ + :NL:am:bs:bw:\ + :co#80:li#24:\ + :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:k0=^^z:\ + :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ + :k9=^^y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:l0=f10:le=^Y:nd=^X:\ + :nw=^J:se=^^E:sf=^J:so=^^D:ue=^U:up=^W:us=^T: + +# Data General 210/211 (and 410?) from Lee Pearson (umich!lp) via BRL +dg210|dg-ansi|Data General 210/211:\ + :am:\ + :co#80:li#24:\ + :cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:do=\E[B:ho=\E[H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:nd=\E[C:\ + :nl=\E[B:nw=\r\E[H\E[A\n:se=\E[0;m:so=\E[7;m:ue=\E[0;m:\ + :up=\E[A:us=\E[4;m: +# From: Peter N. Wan +# courtesy of Carlos Rucalde of Vantage Software, Inc. +# (dg211: this had :cm=\020%r%.%:., which was an ancient termcap hangover. +# I suspect the d200 function keys actually work on the dg211, check it out.) +dg211|Data General d211:\ + :am:bs:bw:\ + :co#80:li#24:\ + :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:k0@:k1@:\ + :k2@:k3@:k4@:k5@:k6@:k7@:k8@:k9@:kb=^Y:kd=^Z:kh=^H:kl=^Y:kr=^X:\ + :ku=^W:l0@:le=^Y:nd=^X:nw=^M^Z:se=\036E\0/>:sf@:so=5\036D:\ + :ta=^I:te=^L:ti=^L^R:ue=^U:up=^W:us=^T:ve=^L:vs=^L^R: + +# dg450 from Cornell (not official) +dg450|dg6134|data general 6134:\ + :NL:am:bs:bw:\ + :co#80:li#24:\ + :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:k0=^^z:\ + :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ + :k9=^^y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:l0=f10:le@:nd=^X:nw=^J:\ + :se=^^E:sf=^J:so=^^D:ue=^U:up=^W:us=^T: + +# Not official... +# Note: lesser Dasher terminals will not work with vi because vi insists upon +# having a command to move straight down from any position on the bottom line +# and scroll the screen up, or a direct vertical scroll command. The 460 and +# above have both, the D210/211, for instance, has neither. We must use ANSI +# mode rather than DG mode because standard UNIX tty drivers assume that ^H is +# backspace on all terminals. This is not so in DG mode. +# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the +# grounds that there is no matching ":ml:" +# fixed garbled ":k9=\E[00\:z:" capability -- esr) +dg460-ansi|Data General Dasher 460 in ANSI-mode:\ + :am:bs:ms:ul:\ + :co#80:it#8:li#24:\ + :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%2;%2H:dc=\E[P:\ + :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=^^F@:k0=\E[001z:\ + :k1=\E[002z:k2=\E[003z:k3=\E[004z:k4=\E[005z:k5=\E[006z:\ + :k6=\E[007z:k7=\E[008z:k8=\E[009z:k9=\E[010z:kb=\E[D:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l0=f1:l1=f2:l2=f3:\ + :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:l9=f10:le=^H:mb=\E[5m:me=\E[m:\ + :mh=\E[2m:mr=\E[7m:nd=\E[C:nl=\ED:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ta=^I:ue=\E[05:up=\E[A:us=\E[4m: +# From: Wayne Throop (not official) +# Data General 605x +# Ought to work for a Model 6242, Type D210 as well as a 605x. +# Note that the cursor-down key transmits ^Z. Job control users, beware! +# This also matches a posted description of something called a `Dasher 100' +# so there's a dg100 alias here. +# (dg6053: the 4.4BSD file had :le=^H:, :do=^J:, :nd=^S:. -- esr) +dg6053-old|dg100|data general 6053:\ + :am:bs:bw:ul:\ + :co#80:li#24:\ + :bc=^Y:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:\ + :is=^R:k0=^^q:k1=^^r:k2=^^s:k3=^^t:k4=^^u:k5=^^v:k6=^^w:\ + :k7=^^x:k8=^^y:k9=^^z:kb=^Y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ + :le=^Y:nd=^X:se=\0^^E:so=\0\0\0\0\0\036D:ta=^I:te=^L:\ + :ti=^L^R:ue=^U:up=^W:us=^T:ve=^L:vs=^L^R: + # (Some performance can be gained over the generic DG terminal type) dg6053|6053|6053-dg|dg605x|605x|605x-dg|d2|d2-dg|Data General DASHER 6053:\ - :NL:am:bw:ms:\ + :NL:am:bw:ms:xo@:\ :co#80:li#24:\ :F1=^^{:F2=^^a:F3=^^b:F4=^^c:F5=^^d:F6=^^e:F7=^^f:F8=^^g:\ :F9=^^h:FA=^^i:FB=^^j:FC=^^k:FD=^^1:FE=^^2:FF=^^3:FG=^^4:\ :FH=^^5:FI=^^6:FJ=^^7:FK=^^8:FL=^^9:FM=^^\::FN=^^;:FO=^^!:\ - :FP=^^":FQ=^^#:FR=^^$:FS=^^%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ + :FP=^^":FQ=^^#:FR=^^$:FS=^^%%:FT=^^&:FU=^^':FV=^^(:FW=^^):\ :FX=^^*:FY=^^+:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:\ :ho=^P\0\0:i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:\ :k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:\ @@ -15111,15 +22649,14 @@ d200|d200-dg|Data General DASHER D200:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:i1=^R^C:\ - :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ - :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ - :le=^Y:mb=^N:md=^^D^T:me=\017\025\035\036E:mh=^\:mr=^^D:\ - :nd=^X:nw=^J:ps=^Q:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ue=^U:up=^W:us=^T: + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:\ + :do=^Z:ho@:i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:\ + :k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:\ + :kr=^X:ku=^W:le=^Y:ll@:mb=^N:md=^^D^T:me=\017\025\035\036E:\ + :mh=^\:mr=^^D:nd=^X:nw=^J:ps=^Q:se=^^E^]:sf=^J:so=^^D^\:\ + :ue=^U:up=^W:us=^T: # DASHER D210 series terminals in ANSI mode. # Reverse video, no insert/delete character/line, 7 bits/character only. @@ -15149,9 +22686,7 @@ d210|d214|Data General DASHER D210 series:\ :k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:kE=\E[K:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[H\E[A:\ :mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m:\ - :se=\E[m:sf=^J:so=\E[2;7m:ue=\E[m:up=\E[A:us=\E[4m: + :nw=^J:se=\E[m:sf=^J:so=\E[2;7m:ue=\E[m:up=\E[A:us=\E[4m: # DASHER D210 series terminals in DG mode. # Like D200, but adds clear to end-of-screen and needs XON/XOFF. @@ -15163,14 +22698,13 @@ d210-dg|d214-dg|Data General DASHER D210 series in DG mode:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:\ - :i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:\ - :k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:\ - :ku=^W:le=^Y:mb=^N:md=^^D^T:me=\017\025\035\036E:mh=^\:\ - :mr=^^D:nd=^X:nw=^J:ps=^Q:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:\ + :cr=^M:do=^Z:i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:\ + :k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:\ + :kl=^Y:kr=^X:ku=^W:le=^Y:mb=^N:md=^^D^T:\ + :me=\017\025\035\036E:mh=^\:mr=^^D:nd=^X:nw=^J:ps=^Q:\ :se=^^E^]:sf=^J:so=^^D^\:ue=^U:up=^W:us=^T: # DASHER D211 series terminals in ANSI mode. @@ -15208,9 +22742,8 @@ d211|d215|Data General DASHER D211 series:\ :k7=\233007z:k8=\233008z:k9=\233009z:k;=\233010z:\ :kC=\2332J:kE=\233K:kd=\233B:kh=\233H:kl=\233D:kr=\233C:\ :ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:\ - :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:ps=\E[i:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m:\ - :se=\E[m:sf=^J:so=\E[2;7m:ue=\E[m:up=\E[A:us=\E[4m: + :mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:ps=\E[i:se=\E[m:sf=^J:\ + :so=\E[2;7m:ue=\E[m:up=\E[A:us=\E[4m: # Initialization string 2 sets: # \E[2;0;1;0v @@ -15219,7 +22752,7 @@ d211|d215|Data General DASHER D211 series:\ # \E(0 - default character set (the keyboard native language) # ^O - primary character set d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode:\ - :NL:am:bw:ms:xo:\ + :NL:am:bw:km@:ms:xo:\ :co#80:li#24:\ :%9=\E[i:DO=\E[%dB:F1=\E[011z:F2=\E[012z:F3=\E[013z:\ :F4=\E[014z:F5=\E[000z:F6=\E[101z:F7=\E[102z:F8=\E[103z:\ @@ -15239,9 +22772,8 @@ d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode:\ :k6=\E[006z:k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:\ :kC=\E[2J:kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ :le=^H:ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ - :mr=\E[7m:nd=\E[C:nw=^J:ps=\E[i:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m:\ - :se=\E[m:sf=^J:so=\E[2;7m:ue=\E[m:up=\E[A:us=\E[4m: + :mr=\E[7m:nd=\E[C:nw=^J:ps=\E[i:se=\E[m:sf=^J:so=\E[2;7m:\ + :ue=\E[m:up=\E[A:us=\E[4m: # Like the D210 series, but adds support for 8-bit characters. # @@ -15259,15 +22791,15 @@ d211-dg|d215-dg|Data General DASHER D211 series in DG mode:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:\ - :i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:\ - :k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:\ - :ku=^W:le=^Y:mb=^N:md=^^D^T:me=\017\025\035\036E:mh=^\:\ - :mr=^^D:nd=^X:nw=^J:ps=^Q:rs=\036N\036FS0>\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ue=^U:up=^W:us=^T: + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:\ + :cr=^M:do=^Z:i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:\ + :k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:\ + :kl=^Y:kr=^X:ku=^W:le=^Y:mb=^N:md=^^D^T:\ + :me=\017\025\035\036E:mh=^\:mr=^^D:nd=^X:nw=^J:ps=^Q:\ + :rs=\036N\036FS0>\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ue=^U:up=^W:us=^T: d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG mode:\ :NL:am:bw:km:ms:xo:\ @@ -15277,15 +22809,15 @@ d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:\ - :i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:\ - :k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:\ - :ku=^W:le=^Y:mb=^N:md=^^D^T:me=\017\025\035\036E:mh=^\:\ - :mr=^^D:nd=^X:nw=^J:ps=^Q:rs=\036N\036FS0>\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ue=^U:up=^W:us=^T: + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:bl=^G:cd=^^FF:ce=^K:cl=^L:cm=\020%r%.%.:\ + :cr=^M:do=^Z:i1=^R^C:k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:\ + :k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:\ + :kl=^Y:kr=^X:ku=^W:le=^Y:mb=^N:md=^^D^T:\ + :me=\017\025\035\036E:mh=^\:mr=^^D:nd=^X:nw=^J:ps=^Q:\ + :rs=\036N\036FS0>\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ue=^U:up=^W:us=^T: # Enhanced DG mode with changes to be more UNIX compatible. d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode:\ @@ -15296,9 +22828,9 @@ d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:ch=\020%.\177:cl=^^PH:\ :cm=\020%r%.%.:cr=^M:cv=\020\177%.:do=^^PB:ho=^^PF:\ @@ -15307,9 +22839,8 @@ d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode:\ :kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:kr=^^PC:ku=^^PA:le=^^PD:\ :mb=^^PI:md=^^D^T:me=\036PJ\025\035\036E\036FS00:mh=^\:\ :mr=^^D:nd=^^PC:nw=^J:pf=^^Fa:po=^^F`:ps=\036F?9:\ - :rs=\036N\036FS0E\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ta=^I:ue=^U:up=^^PA:us=^T: + :rs=\036N\036FS0E\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ta=^I:ue=^U:up=^^PA:us=^T: d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#25:\ @@ -15318,9 +22849,9 @@ d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:ch=\020%.\177:cl=^^PH:\ :cm=\020%r%.%.:cr=^M:cv=\020\177%.:do=^^PB:ho=^^PF:\ @@ -15329,9 +22860,8 @@ d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines:\ :kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:kr=^^PC:ku=^^PA:le=^^PD:\ :mb=^^PI:md=^^D^T:me=\036PJ\025\035\036E\036FS00:mh=^\:\ :mr=^^D:nd=^^PC:nw=^J:pf=^^Fa:po=^^F`:ps=\036F?9:\ - :rs=\036N\036FS0E\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ta=^I:ue=^U:up=^^PA:us=^T: + :rs=\036N\036FS0E\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ta=^I:ue=^U:up=^^PA:us=^T: d217-unix|Data General DASHER D217 in DG-UNIX mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -15341,9 +22871,9 @@ d217-unix|Data General DASHER D217 in DG-UNIX mode:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:ch=\020%.\177:cl=^^PH:\ :cm=\020%r%.%.:cr=^M:cv=\020\177%.:do=^^PB:ho=^^PF:\ @@ -15352,9 +22882,8 @@ d217-unix|Data General DASHER D217 in DG-UNIX mode:\ :kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:kr=^^PC:ku=^^PA:le=^^PD:\ :mb=^^PI:md=^^D^T:me=\036PJ\025\035\036E\036FS00:mh=^\:\ :mr=^^D:nd=^^PC:nw=^J:pf=^^Fa:po=^^F`:ps=\036F?9:\ - :rs=\036N\036FS0E\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ta=^I:ue=^U:up=^^PA:us=^T: + :rs=\036N\036FS0E\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ta=^I:ue=^U:up=^^PA:us=^T: d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#25:\ @@ -15363,9 +22892,9 @@ d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:ch=\020%.\177:cl=^^PH:\ :cm=\020%r%.%.:cr=^M:cv=\020\177%.:do=^^PB:ho=^^PF:\ @@ -15374,9 +22903,8 @@ d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines:\ :kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:kr=^^PC:ku=^^PA:le=^^PD:\ :mb=^^PI:md=^^D^T:me=\036PJ\025\035\036E\036FS00:mh=^\:\ :mr=^^D:nd=^^PC:nw=^J:pf=^^Fa:po=^^F`:ps=\036F?9:\ - :rs=\036N\036FS0E\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:ta=^I:ue=^U:up=^^PA:us=^T: + :rs=\036N\036FS0E\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :ta=^I:ue=^U:up=^^PA:us=^T: # DASHER D220 color terminal in ANSI mode. # Like the D470C but with fewer colors and screen editing features. @@ -15391,78 +22919,65 @@ d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines:\ # \Ec - initial mode defaults (RIS) # d220|Data General DASHER D220:\ - :NL:am:bw:km:ms:ut:xo:\ + :5i@:NL:am:bw:km:ms:ut:xo:\ :Co#8:NC#16:co#80:li#24:pa#64:\ - :%9=\233i:\ - :..AB=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :DC=\E[%dP:DO=\E[%dB:F1=\233011z:F2=\233012z:F3=\233013z:\ - :F4=\233014z:F5=\233000z:F6=\233101z:F7=\233102z:\ - :F8=\233103z:F9=\233104z:FA=\233105z:FB=\233106z:\ - :FC=\233107z:FD=\233108z:FE=\233109z:FF=\233110z:\ - :FG=\233111z:FH=\233112z:FI=\233113z:FJ=\233114z:\ - :FK=\233100z:FL=\233201z:FM=\233202z:FN=\233203z:\ - :FO=\233204z:FP=\233205z:FQ=\233206z:FR=\233207z:\ - :FS=\233208z:FT=\233209z:FU=\233210z:FV=\233211z:\ - :FW=\233212z:FX=\233213z:FY=\233214z:FZ=\233200z:\ - :Fa=\233301z:Fb=\233302z:Fc=\233303z:Fd=\233304z:\ - :Fe=\233305z:Ff=\233306z:Fg=\233307z:Fh=\233308z:\ - :Fi=\233309z:Fj=\233310z:Fk=\233311z:Fl=\233312z:\ - :Fm=\233313z:Fn=\233314z:Fo=\233300z:IC=\E[%d@:\ - :K1=\233020z:K3=\233021z:K4=\233022z:K5=\233023z:\ - :LE=\E[%dD:RI=\E[%dC:\ - :..Sb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\E)4\017:\ - :as=\E)6\016:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:do=\E[B:ei=:ho=\E[H:\ - :i1=\E[<0;<1;<4l\E[m:ic=\E[@:im=:\ - :is=\E[3;2;2;1;1;1v\E(B\E)4\017:k1=\233001z:\ + :%9=\233i:AL@:DC=\E[%dP:DL@:DO=\E[%dB:F1=\233011z:\ + :F2=\233012z:F3=\233013z:F4=\233014z:F5=\233000z:\ + :F6=\233101z:F7=\233102z:F8=\233103z:F9=\233104z:\ + :FA=\233105z:FB=\233106z:FC=\233107z:FD=\233108z:\ + :FE=\233109z:FF=\233110z:FG=\233111z:FH=\233112z:\ + :FI=\233113z:FJ=\233114z:FK=\233100z:FL=\233201z:\ + :FM=\233202z:FN=\233203z:FO=\233204z:FP=\233205z:\ + :FQ=\233206z:FR=\233207z:FS=\233208z:FT=\233209z:\ + :FU=\233210z:FV=\233211z:FW=\233212z:FX=\233213z:\ + :FY=\233214z:FZ=\233200z:Fa=\233301z:Fb=\233302z:\ + :Fc=\233303z:Fd=\233304z:Fe=\233305z:Ff=\233306z:\ + :Fg=\233307z:Fh=\233308z:Fi=\233309z:Fj=\233310z:\ + :Fk=\233311z:Fl=\233312z:Fm=\233313z:Fn=\233314z:\ + :Fo=\233300z:IC=\E[%d@:K1=\233020z:K3=\233021z:\ + :K4=\233022z:K5=\233023z:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\E)4\017:al@:as=\E)6\016:\ + :bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ + :cr=^M:dc=\E[P:dl@:do=\E[B:ei=:ho=\E[H:i1=\E[<0;<1;<4l\E[m:\ + :ic=\E[@:im=:is=\E[3;2;2;1;1;1v\E(B\E)4\017:k1=\233001z:\ :k2=\233002z:k3=\233003z:k4=\233004z:k5=\233005z:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:\ + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m:\ - :ps=\E[i:r1=\Ec:r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;:\ + :pf@:po@:ps=\E[i:r1=\Ec:r2=\E[4;0;2;1;1;1v\E(B\E)4:\ :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ :ve=\E[3;2v:vi=\E[3;0v: d220-7b|Data General DASHER D220 in 7 bit mode:\ - :NL:am:bw:ms:ut:xo:\ + :5i@:NL:am:bw:ms:ut:xo:\ :Co#8:NC#16:co#80:li#24:pa#64:\ - :%9=\E[i:\ - :..AB=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :DC=\E[%dP:DO=\E[%dB:F1=\E[011z:F2=\E[012z:F3=\E[013z:\ - :F4=\E[014z:F5=\E[000z:F6=\E[101z:F7=\E[102z:F8=\E[103z:\ - :F9=\E[104z:FA=\E[105z:FB=\E[106z:FC=\E[107z:FD=\E[108z:\ - :FE=\E[109z:FF=\E[110z:FG=\E[111z:FH=\E[112z:FI=\E[113z:\ - :FJ=\E[114z:FK=\E[100z:FL=\E[201z:FM=\E[202z:FN=\E[203z:\ - :FO=\E[204z:FP=\E[205z:FQ=\E[206z:FR=\E[207z:FS=\E[208z:\ - :FT=\E[209z:FU=\E[210z:FV=\E[211z:FW=\E[212z:FX=\E[213z:\ - :FY=\E[214z:FZ=\E[200z:Fa=\E[301z:Fb=\E[302z:Fc=\E[303z:\ - :Fd=\E[304z:Fe=\E[305z:Ff=\E[306z:Fg=\E[307z:Fh=\E[308z:\ - :Fi=\E[309z:Fj=\E[310z:Fk=\E[311z:Fl=\E[312z:Fm=\E[313z:\ - :Fn=\E[314z:Fo=\E[300z:IC=\E[%d@:K1=\E[020z:K3=\E[021z:\ - :K4=\E[022z:K5=\E[023z:LE=\E[%dD:RI=\E[%dC:\ - :..Sb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^O:as=^N:bl=^G:\ - :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :dc=\E[P:do=\E[B:eA=\E)6:ei=:ho=\E[H:i1=\E[<0;<1;<4l\E[m:\ - :ic=\E[@:im=:is=\E[3;2;2;0;1;0v\E(0\017:k1=\E[001z:\ - :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ - :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ - :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ - :mr=\E[7m:nd=\E[C:nw=^J:\ + :%9=\E[i:AL@:DC=\E[%dP:DL@:DO=\E[%dB:F1=\E[011z:F2=\E[012z:\ + :F3=\E[013z:F4=\E[014z:F5=\E[000z:F6=\E[101z:F7=\E[102z:\ + :F8=\E[103z:F9=\E[104z:FA=\E[105z:FB=\E[106z:FC=\E[107z:\ + :FD=\E[108z:FE=\E[109z:FF=\E[110z:FG=\E[111z:FH=\E[112z:\ + :FI=\E[113z:FJ=\E[114z:FK=\E[100z:FL=\E[201z:FM=\E[202z:\ + :FN=\E[203z:FO=\E[204z:FP=\E[205z:FQ=\E[206z:FR=\E[207z:\ + :FS=\E[208z:FT=\E[209z:FU=\E[210z:FV=\E[211z:FW=\E[212z:\ + :FX=\E[213z:FY=\E[214z:FZ=\E[200z:Fa=\E[301z:Fb=\E[302z:\ + :Fc=\E[303z:Fd=\E[304z:Fe=\E[305z:Ff=\E[306z:Fg=\E[307z:\ + :Fh=\E[308z:Fi=\E[309z:Fj=\E[310z:Fk=\E[311z:Fl=\E[312z:\ + :Fm=\E[313z:Fn=\E[314z:Fo=\E[300z:IC=\E[%d@:K1=\E[020z:\ + :K3=\E[021z:K4=\E[022z:K5=\E[023z:LE=\E[%dD:RI=\E[%dC:\ + :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^O:al@:as=^N:\ + :bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ + :cr=^M:dc=\E[P:dl@:do=\E[B:eA=\E)6:ei=:ho=\E[H:\ + :i1=\E[<0;<1;<4l\E[m:ic=\E[@:im=:\ + :is=\E[3;2;2;0;1;0v\E(0\017:k1=\E[001z:k2=\E[002z:\ + :k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:k7=\E[007z:\ + :k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:kE=\E[K:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[H\E[A:\ + :mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:\ + :nw=^J:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m:\ - :ps=\E[i:r1=\Ec:r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ + :pf@:po@:ps=\E[i:r1=\Ec:r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:\ + :sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ :ve=\E[3;2v:vi=\E[3;0v: # Initialization string 3 sets: @@ -15474,27 +22989,26 @@ d220-7b|Data General DASHER D220 in 7 bit mode:\ # ^^FS00 - default character set (matching the native keyboard language) # d220-dg|Data General DASHER D220 color terminal in DG mode:\ - :NL:am:bw:km:ms:ut:xo:\ + :5i@:NL:am:bw:km:ms:ut:xo:\ :Co#8:NC#16:co#80:li#24:pa#64:\ :#2=^^^H:#4=^^^Y:%i=^^^X:AB=\036B%+^B:AF=\036A%+^B:F1=^^{:\ :F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:\ :FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:\ :FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:\ :FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:\ - :FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:\ + :FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:\ :Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:\ - :Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :Fo=^^\s:K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:\ + :Sf=\036A%+0:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al@:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ - :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:do=^Z:ei=:\ - :i1=^R^C:i2=\036FQ2:ic=^^J:im=:k1=^^q:k2=^^r:k3=^^s:k4=^^t:\ - :k5=^^u:k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:\ - :kh=^H:kl=^Y:kr=^X:ku=^W:le=^Y:mb=^N:md=^^D^T:\ + :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl@:do=^Z:ei=:ho@:\ + :i1=^R^C:i2=\036FQ2:ic=^^J:im=:is@:k1=^^q:k2=^^r:k3=^^s:\ + :k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:k9=^^y:k;=^^z:kC=^L:\ + :kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:le=^Y:ll@:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :op=\036Ad\036Bd:ps=^Q:rs=\036N\036FS0>\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :op=\036Ad\036Bd:pf@:po@:ps=^Q:r1@:\ + :rs=\036N\036FS0>\036O\036FS00:se=^^E^]:sf=^J:so=^^D^\:\ + :sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:vi=\036FQ0: # DASHER D230C color terminal in ANSI mode. # Like the D220 but with minor ANSI compatibility improvements. @@ -15502,23 +23016,18 @@ d220-dg|Data General DASHER D220 color terminal in DG mode:\ d230c|d230|Data General DASHER D230C:\ :am:bw:km:ms:ut:xo:\ :Co#8:NC#16:co#80:li#24:pa#64:\ - :%9=\E[i:\ - :..AB=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :DC=\E[%dP:DO=\E[%dB:F1=\E[011z:F2=\E[012z:F3=\E[013z:\ - :F4=\E[014z:F5=\E[000z:F6=\E[101z:F7=\E[102z:F8=\E[103z:\ - :F9=\E[104z:FA=\E[105z:FB=\E[106z:FC=\E[107z:FD=\E[108z:\ - :FE=\E[109z:FF=\E[110z:FG=\E[111z:FH=\E[112z:FI=\E[113z:\ - :FJ=\E[114z:FK=\E[100z:FL=\E[201z:FM=\E[202z:FN=\E[203z:\ - :FO=\E[204z:FP=\E[205z:FQ=\E[206z:FR=\E[207z:FS=\E[208z:\ - :FT=\E[209z:FU=\E[210z:FV=\E[211z:FW=\E[212z:FX=\E[213z:\ - :FY=\E[214z:FZ=\E[200z:Fa=\E[301z:Fb=\E[302z:Fc=\E[303z:\ - :Fd=\E[304z:Fe=\E[305z:Ff=\E[306z:Fg=\E[307z:Fh=\E[308z:\ - :Fi=\E[309z:Fj=\E[310z:Fk=\E[311z:Fl=\E[312z:Fm=\E[313z:\ - :Fn=\E[314z:Fo=\E[300z:IC=\E[%d@:K1=\E[020z:K3=\E[021z:\ - :K4=\E[022z:K5=\E[023z:LE=\E[%dD:RI=\E[%dC:\ - :..Sb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ + :%9=\E[i:DC=\E[%dP:DO=\E[%dB:F1=\E[011z:F2=\E[012z:\ + :F3=\E[013z:F4=\E[014z:F5=\E[000z:F6=\E[101z:F7=\E[102z:\ + :F8=\E[103z:F9=\E[104z:FA=\E[105z:FB=\E[106z:FC=\E[107z:\ + :FD=\E[108z:FE=\E[109z:FF=\E[110z:FG=\E[111z:FH=\E[112z:\ + :FI=\E[113z:FJ=\E[114z:FK=\E[100z:FL=\E[201z:FM=\E[202z:\ + :FN=\E[203z:FO=\E[204z:FP=\E[205z:FQ=\E[206z:FR=\E[207z:\ + :FS=\E[208z:FT=\E[209z:FU=\E[210z:FV=\E[211z:FW=\E[212z:\ + :FX=\E[213z:FY=\E[214z:FZ=\E[200z:Fa=\E[301z:Fb=\E[302z:\ + :Fc=\E[303z:Fd=\E[304z:Fe=\E[305z:Ff=\E[306z:Fg=\E[307z:\ + :Fh=\E[308z:Fi=\E[309z:Fj=\E[310z:Fk=\E[311z:Fl=\E[312z:\ + :Fm=\E[313z:Fn=\E[314z:Fo=\E[300z:IC=\E[%d@:K1=\E[020z:\ + :K3=\E[021z:K4=\E[022z:K5=\E[023z:LE=\E[%dD:RI=\E[%dC:\ :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\E)4\017:\ :as=\E)6\016:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:do=\E[B:ei=:ho=\E[H:\ @@ -15528,13 +23037,11 @@ d230c|d230|Data General DASHER D230C:\ :k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:kE=\E[K:\ :kd=\E[B:ke=\E[2;1v:kh=\E[H:kl=\E[D:kr=\E[C:ks=\E[2;0v:\ :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[5;50m:md=\E[4;7;50m:\ - :me=\E[50m\E)4\017:mh=\E[2;50m:mr=\E[7;50m:nd=\E[C:\ - :nw=^M^J:\ + :me=\E[50m:mh=\E[2;50m:mr=\E[7;50m:nd=\E[C:nw=^M^J:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m:\ - :ps=\E[i:r1=\Ec:r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[50%?%p1%p3%|%p6%|%t;7%{1}%e%{0}%;%PR%?%p4%t;5%{1}%e%{0}%;%PB%?%p2%p6%|%t;4%{1}%e%{0}%;%PU%?%p1%p5%|%t;2%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[50m:sf=^J:so=\E[2;7;50m:sr=\EM:ue=\E[50m:up=\E[A:\ - :us=\E[4;50m:ve=\E[3;2v:vi=\E[3;0v: + :ps=\E[i:r1=\Ec:r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[50m:\ + :sf=^J:so=\E[2;7;50m:sr=\EM:ue=\E[50m:up=\E[A:us=\E[4;50m:\ + :ve=\E[3;2v:vi=\E[3;0v: d230c-dg|d230-dg|Data General DASHER D230C in DG mode:\ :NL:am:bw:km:ms:ut:xo:\ @@ -15544,9 +23051,9 @@ d230c-dg|d230-dg|Data General DASHER D230C in DG mode:\ :FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:\ :FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:\ :FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:\ - :FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:\ + :FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:\ :Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:\ - :Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ + :Fo=^^\s:K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:\ :Sf=\036A%+0:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:do=^Z:ei=:\ @@ -15555,7 +23062,6 @@ d230c-dg|d230-dg|Data General DASHER D230C in DG mode:\ :kh=^H:kl=^Y:kr=^X:ku=^W:le=^Y:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ :op=\036Ad\036Bd:ps=^Q:rs=\036N\036FS0>\036O\036FS00:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ :ve=\036FQ2:vi=\036FQ0: @@ -15586,21 +23092,20 @@ d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^^O:al=^^FH:as=^^N:\ - :bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:cm=\020%r%.%.:\ - :cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^^O:\ + :al=^^FH:as=^^N:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ + :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ :eA=\036N\036FS11\036O:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036O:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036%?%p9%tN%eO%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:\ + :vi=\036FQ0: # DASHER D410/D460 series terminals in ANSI mode. # These add a large number of intelligent terminal features. @@ -15668,12 +23173,10 @@ d410|d411|d460|d461|Data General DASHER D410/D460 series:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: # Initialization string 2 sets: # \E[3;2;2;0;1;0v @@ -15691,7 +23194,7 @@ d410|d411|d460|d461|Data General DASHER D410/D460 series:\ # \E(0 - default character set (the keyboard native language) # d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mode:\ - :5i:NL:am:bw:ms:xo:\ + :5i:NL:am:bw:km@:ms:xo:\ :co#80:li#24:\ :%9=\E[i:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ :F1=\E[011z:F2=\E[012z:F3=\E[013z:F4=\E[014z:F5=\E[000z:\ @@ -15714,12 +23217,11 @@ d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mo :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:\ + :so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:\ + :vi=\E[3;0v: d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -15729,21 +23231,20 @@ d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode: :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ - :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ - :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ + :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ + :do=^Z:eA@:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:\ + :vi=\036FQ0: # DASHER D410/D460 series terminals in wide (126 columns) ANSI mode. # @@ -15795,13 +23296,11 @@ d410-w|d411-w|d460-w|d461-w|Data General DASHER D410/D460 series in wide mode:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in wide 7 bit mode:\ :5i:NL:am:bw:ms:xo:\ @@ -15827,13 +23326,11 @@ d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D412/D462 series in DG mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -15843,21 +23340,20 @@ d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D41 :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ - :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ - :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ + :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ + :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:\ + :vi=\036FQ0: # These add intelligent features like scrolling regions. d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix mode:\ @@ -15868,25 +23364,21 @@ d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix m :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in wide Unix mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#132:it#8:li#24:\ @@ -15895,25 +23387,22 @@ d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FK\036F^\036FX0083\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FK\036F\136\036FX0083\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:\ - :r2=\036P@1\036FK\036FX0083:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X: + :r2=\036P@1\036FK\036FX0083:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series in Unix mode with 25 lines:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#25:\ @@ -15922,25 +23411,21 @@ d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz2:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz2:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mode with status line:\ :5i:NL:am:bw:es:hs:km:ms:xo:\ :co#80:it#8:li#24:\ @@ -15949,27 +23434,22 @@ d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mo :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=\036FG\036PH:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:\ - :fs=\036F}01\022:ho=^^FG:i1=\022\003\036P@1:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=\036FG\036PH:cr=^M:\ + :dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ + :i1=\022\003\036P@1:\ :i2=\036Fz2\036F}00\036FB180000\036F}01:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ - :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ + :kr=^^PC:ku=^^PA:le=^^PD:ll@:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:\ - :ts=:..ts=\036F}00\036FP%p1%2.2X18\036PG:ue=^U:up=^^PA:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: # Relative cursor motions are confined to the current window, # which is not what the scrolling region specification expects. @@ -15982,26 +23462,21 @@ d412-unix-sr|d462-unix-sr|d412+sr|d462+sr|Data General DASHER D412+/D462+ in Uni :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cs=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do@:ei=:ho=^^FG:i1=\022\003\036P@1:i2=\036Fz0:\ + :ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ - :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ + :kr=^^PC:ku=^^PA:le=^^PD:ll@:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up@:us=^T:ve=\036FQ5:vi=\036FQ0: d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -16011,25 +23486,21 @@ d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#132:it#8:li#24:\ @@ -16038,25 +23509,22 @@ d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mod :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FK\036F^\036FX0083\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FK\036F\136\036FX0083\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:\ - :r2=\036P@1\036FK\036FX0083:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X: + :r2=\036P@1\036FK\036FX0083:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode with 25 lines:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#25:\ @@ -16065,25 +23533,21 @@ d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode w :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz2:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz2:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with status line:\ :5i:NL:am:bw:es:hs:km:ms:xo:\ :co#80:it#8:li#24:\ @@ -16092,27 +23556,22 @@ d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with statu :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=\036FG\036PH:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:\ - :fs=\036F}01\022:ho=^^FG:i1=\022\003\036P@1:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=\036FG\036PH:cr=^M:\ + :dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ + :i1=\022\003\036P@1:\ :i2=\036Fz2\036F}00\036FB180000\036F}01:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:\ - :ts=:..ts=\036F}00\036FP%p1%2.2X18\036PG:ue=^U:up=^^PA:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scrolling region:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#24:\ @@ -16121,26 +23580,21 @@ d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scr :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cs=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:ei=:ho=^^FG:i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:\ + :im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:us=^T:ve=\036FQ5:vi=\036FQ0: d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -16150,25 +23604,21 @@ d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#132:it#8:li#24:\ @@ -16177,25 +23627,22 @@ d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FK\036F^\036FX0083\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FK\036F\136\036FX0083\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:\ - :r2=\036P@1\036FK\036FX0083:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X: + :r2=\036P@1\036FK\036FX0083:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#25:\ @@ -16204,25 +23651,21 @@ d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines:\ :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz2:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz2:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line:\ :5i:NL:am:bw:es:hs:km:ms:xo:\ :co#80:it#8:li#24:\ @@ -16231,27 +23674,22 @@ d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line: :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=\036FG\036PH:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:\ - :fs=\036F}01\022:ho=^^FG:i1=\022\003\036P@1:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=\036FG\036PH:cr=^M:\ + :dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ + :i1=\022\003\036P@1:\ :i2=\036Fz2\036F}00\036FB180000\036F}01:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:\ - :ts=:..ts=\036F}00\036FP%p1%2.2X18\036PG:ue=^U:up=^^PA:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling region:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:it#8:li#24:\ @@ -16260,54 +23698,45 @@ d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cs=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:ei=:ho=^^FG:i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:\ + :im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:us=^T:ve=\036FQ5:vi=\036FQ0: d430c-dg|d430-dg|Data General D430C in DG mode:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#80:li#24:pa#256:\ - :#2=^^^H:#4=^^^Y:%i=^^^X:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ - :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ - :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ - :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :#2=^^^H:#4=^^^Y:%i=^^^X:F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:\ + :F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:\ + :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ + :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ + :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ + :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ + :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ :op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:\ - :r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :r2=\036F]\036FT0:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:\ + :up=^W:us=^T:ve=\036FQ2:vi=\036FQ0: d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors:\ :5i:NL:am:bw:cc:km:ms:ut:xo:\ :Co#52:NC#53:co#80:li#24:pa#26:\ @@ -16316,179 +23745,144 @@ d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors: :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :Ip=:..Ip=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:\ - :ch=\020%.\177:cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:\ - :dc=^^K:dl=^^FI:do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ + :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ + :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ :oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00:\ :op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sp=\036RG2%+^P%+^P:sr=^^I:ue=^U:\ - :up=^W:us=^T:ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:\ + :us=^T:ve=\036FQ2:vi=\036FQ0: d430c-unix|d430-unix|Data General D430C in DG-UNIX mode:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#80:it#8:li#24:pa#256:\ - :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=a\177j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:\ - :..ch=\036FP%p1%2.2XFF:cl=^^FE:\ - :..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:F1=^^{:F2=^^|:\ + :F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:\ + :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ + :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ + :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ + :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^A:\ - :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d430c-unix-w|d430-unix-w|Data General D430C in wide DG-UNIX mode:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#132:it#8:li#24:pa#256:\ - :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=a\177j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:\ - :..ch=\036FP%p1%2.2XFF:cl=^^FE:\ - :..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FK\036F^\036FX0083\036O\036FS00:\ + :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:F1=^^{:F2=^^|:\ + :F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:\ + :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ + :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ + :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ + :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FK\036F\136\036FX0083\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^A:\ :r1=\036FA\036FT0:r2=\036P@1\036FK\036FX0083:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d430c-unix-25|d430-unix-25|Data General D430C in DG-UNIX mode with 25 lines:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#80:it#8:li#25:pa#256:\ - :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=a\177j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:\ - :..ch=\036FP%p1%2.2XFF:cl=^^FE:\ - :..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz2:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:F1=^^{:F2=^^|:\ + :F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:\ + :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ + :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ + :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ + :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz2:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^A:\ - :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d430c-unix-s|d430-unix-s|Data General D430C in DG-UNIX mode with status line:\ :5i:NL:am:bw:es:hs:km:ms:ut:xo:\ :Co#16:NC#53:co#80:it#8:li#24:pa#256:\ - :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=a\177j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:\ - :..ch=\036FP%p1%2.2XFF:cl=\036FG\036PH:\ - :..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:\ - :fs=\036F}01\022:ho=^^FG:i1=\022\003\036P@1:\ + :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:F1=^^{:F2=^^|:\ + :F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:\ + :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ + :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ + :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ + :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=\036FG\036PH:cr=^M:\ + :dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ + :i1=\022\003\036P@1:\ :i2=\036Fz2\036F}00\036FB180000\036F}01:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^A:\ - :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:\ - :ts=:..ts=\036F}00\036FP%p1%2.2X18\036PG:ue=^U:up=^^PA:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X: + :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d430c-unix-sr|d430-unix-sr|Data General D430C in DG-UNIX mode with scrolling region:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#80:it#8:li#24:pa#256:\ - :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=a\177j$k"l!m#n)q+t'u&v(w%x*:\ - :ae=\036FS00:al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:\ - :..ch=\036FP%p1%2.2XFF:cl=^^FE:\ - :..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cs=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :#2=^^Pf:#4=^^Pd:%9=^^P0:%f=^^P1:%i=^^Pc:F1=^^{:F2=^^|:\ + :F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:\ + :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ + :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ + :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ + :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:ei=:ho=^^FG:i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:\ + :im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ :me=\036PJ\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^^PC:\ :nw=^J:op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^A:\ - :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:\ - :us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :r1=\036FA\036FT0:r2=\036P@1:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurable colors:\ :5i:NL:am:bw:cc:km:ms:ut:xo:\ :Co#52:NC#53:co#80:it#8:li#24:pa#26:\ @@ -16497,16 +23891,14 @@ d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurabl :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ @@ -16515,11 +23907,8 @@ d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurabl :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ :pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:..sp=\036RG2%p1%02X:\ - :sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with configurable colors:\ :5i:NL:am:bw:cc:km:ms:ut:xo:\ :Co#52:NC#53:co#132:it#8:li#24:pa#26:\ @@ -16528,16 +23917,14 @@ d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with co :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FK\036F^\036FX0083\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz0:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FK\036F\136\036FX0083\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ @@ -16546,11 +23933,9 @@ d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with co :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ :pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:\ - :r2=\036P@1\036FK\036FX0083:rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:..sp=\036RG2%p1%02X:\ - :sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X: + :r2=\036P@1\036FK\036FX0083:rc=\036F}11:sc=\036F}10:\ + :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:\ + :ve=\036FQ5:vi=\036FQ0: d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 lines and configurable colors:\ :5i:NL:am:bw:cc:km:ms:ut:xo:\ :Co#52:NC#53:co#80:it#8:li#25:pa#26:\ @@ -16559,16 +23944,14 @@ d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 li :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz2:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:do=^^PB:ei=:ho=^^FG:i1=\022\003\036P@1:\ + :i2=\036Fz2:ic=^^J:im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:ll=\036FG\036PA:mb=^^PI:md=^^D^T:\ @@ -16577,11 +23960,8 @@ d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 li :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ :pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:..sp=\036RG2%p1%02X:\ - :sr=^^I:ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status line and configurable colors:\ :5i:NL:am:bw:cc:es:hs:km:ms:ut:xo:\ :Co#52:NC#53:co#80:it#8:li#24:pa#26:\ @@ -16590,17 +23970,15 @@ d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=\036FG\036PH:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:do=^^PB:ei=:\ - :fs=\036F}01\022:ho=^^FG:i1=\022\003\036P@1:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=\036FG\036PH:cr=^M:\ + :dc=^^K:dl=^^FI:do=^^PB:ei=:ho=^^FG:\ + :i1=\022\003\036P@1:\ :i2=\036Fz2\036F}00\036FB180000\036F}01:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ @@ -16609,12 +23987,8 @@ d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ :pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:..sp=\036RG2%p1%02X:\ - :sr=^^I:ta=^I:ts=:..ts=\036F}00\036FP%p1%2.2X18\036PG:ue=^U:\ - :up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:up=^^PA:us=^T:ve=\036FQ5:vi=\036FQ0: d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrolling region and configurable colors:\ :5i:NL:am:bw:cc:km:ms:ut:xo:\ :Co#52:NC#53:co#80:it#8:li#24:pa#26:\ @@ -16623,17 +23997,14 @@ d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrol :FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:\ :FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:\ :FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:\ - :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':\ + :FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':\ :Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:\ - :..Ip=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X:\ - :K1=^^\\:K3=^^]:K4=^^^:K5=^^_:\ + :K1=^^\\:K3=^^]:K4=^^\136:K5=^^_:\ :ac=a\177j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:..ch=\036FP%p1%2.2XFF:\ - :cl=^^FE:..cm=\036FP%p2%2.2X%p1%2.2X:cr=^M:\ - :..cs=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;:\ - :..cv=\036FPFF%p1%2.2X:dc=^^K:dl=^^FI:ei=:ho=^^FG:\ - :i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:im=:\ - :is=\036FQ5\036FW\036FJ\036F^\036FX004F\036O\036FS00:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^^PE:cl=^^FE:cr=^M:dc=^^K:\ + :dl=^^FI:ei=:ho=^^FG:i1=\022\003\036P@1:i2=\036Fz0:ic=^^J:\ + :im=:\ + :is=\036FQ5\036FW\036FJ\036F\136\036FX004F\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^^PH:kE=^^PE:kd=^^PB:kh=^^PF:kl=^^PD:\ :kr=^^PC:ku=^^PA:le=^^PD:mb=^^PI:md=^^D^T:\ @@ -16642,42 +24013,8 @@ d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrol :oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00:\ :op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D:\ :pf=^^Fa:po=^^F`:ps=^A:r1=\036FA\036FT0:r2=\036P@1:\ - :rc=\036F}11:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:..sp=\036RG2%p1%02X:\ - :sr=^^I:ta=^I:ue=^U:us=^T:ve=\036FQ5:vi=\036FQ0:\ - :..wi=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X: - -# dg450 from Cornell (not official) -dg450|dg6134|data general 6134:\ - :NL:am:bs:bw:\ - :co#80:li#24:\ - :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:k0=^^z:\ - :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ - :k9=^^y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:l0=f10:nd=^X:nw=^J:\ - :se=^^E:sf=^J:so=^^D:ue=^U:up=^W:us=^T: - -# Not official... -# Note: lesser Dasher terminals will not work with vi because vi insists upon -# having a command to move straight down from any position on the bottom line -# and scroll the screen up, or a direct vertical scroll command. The 460 and -# above have both, the D210/211, for instance, has neither. We must use ANSI -# mode rather than DG mode because standard UNIX tty drivers assume that ^H is -# backspace on all terminals. This is not so in DG mode. -# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the -# grounds that there is no matching ":ml:" -# fixed garbled ":k9=\E[00\:z:" capability -- esr) -dg460-ansi|Data General Dasher 460 in ANSI-mode:\ - :am:bs:ms:ul:\ - :co#80:it#8:li#24:\ - :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%2;%2H:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=^^F@:k0=\E[001z:\ - :k1=\E[002z:k2=\E[003z:k3=\E[004z:k4=\E[005z:k5=\E[006z:\ - :k6=\E[007z:k7=\E[008z:k8=\E[009z:k9=\E[010z:kb=\E[D:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l0=f1:l1=f2:l2=f3:\ - :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:l9=f10:le=^H:mb=\E[5m:me=\E[m:\ - :mh=\E[2m:mr=\E[7m:nd=\E[C:nl=\ED:se=\E[m:sf=\E[S:so=\E[7m:\ - :sr=\E[T:ta=^I:ue=\E[05:up=\E[A:us=\E[4m: + :rc=\036F}11:sc=\036F}10:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:\ + :ta=^I:ue=^U:us=^T:ve=\036FQ5:vi=\036FQ0: # DASHER D470C color terminal in ANSI mode. # Like the D460 but with 16 colors and without a compressed mode. @@ -16698,26 +24035,21 @@ dg460-ansi|Data General Dasher 460 in ANSI-mode:\ d470c|d470|Data General DASHER D470C:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#53:co#80:li#24:pa#256:\ - :%9=\233i:\ - :..AB=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\233011z:\ - :F2=\233012z:F3=\233013z:F4=\233014z:F5=\233000z:\ - :F6=\233101z:F7=\233102z:F8=\233103z:F9=\233104z:\ - :FA=\233105z:FB=\233106z:FC=\233107z:FD=\233108z:\ - :FE=\233109z:FF=\233110z:FG=\233111z:FH=\233112z:\ - :FI=\233113z:FJ=\233114z:FK=\233100z:FL=\233201z:\ - :FM=\233202z:FN=\233203z:FO=\233204z:FP=\233205z:\ - :FQ=\233206z:FR=\233207z:FS=\233208z:FT=\233209z:\ - :FU=\233210z:FV=\233211z:FW=\233212z:FX=\233213z:\ - :FY=\233214z:FZ=\233200z:Fa=\233301z:Fb=\233302z:\ - :Fc=\233303z:Fd=\233304z:Fe=\233305z:Ff=\233306z:\ - :Fg=\233307z:Fh=\233308z:Fi=\233309z:Fj=\233310z:\ - :Fk=\233311z:Fl=\233312z:Fm=\233313z:Fn=\233314z:\ - :Fo=\233300z:IC=\E[%d@:K1=\233020z:K3=\233021z:\ - :K4=\233022z:K5=\233023z:LE=\E[%dD:RI=\E[%dC:\ - :..Sb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ + :%9=\233i:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\233011z:F2=\233012z:F3=\233013z:F4=\233014z:\ + :F5=\233000z:F6=\233101z:F7=\233102z:F8=\233103z:\ + :F9=\233104z:FA=\233105z:FB=\233106z:FC=\233107z:\ + :FD=\233108z:FE=\233109z:FF=\233110z:FG=\233111z:\ + :FH=\233112z:FI=\233113z:FJ=\233114z:FK=\233100z:\ + :FL=\233201z:FM=\233202z:FN=\233203z:FO=\233204z:\ + :FP=\233205z:FQ=\233206z:FR=\233207z:FS=\233208z:\ + :FT=\233209z:FU=\233210z:FV=\233211z:FW=\233212z:\ + :FX=\233213z:FY=\233214z:FZ=\233200z:Fa=\233301z:\ + :Fb=\233302z:Fc=\233303z:Fd=\233304z:Fe=\233305z:\ + :Ff=\233306z:Fg=\233307z:Fh=\233308z:Fi=\233309z:\ + :Fj=\233310z:Fk=\233311z:Fl=\233312z:Fm=\233313z:\ + :Fn=\233314z:Fo=\233300z:IC=\E[%d@:K1=\233020z:\ + :K3=\233021z:K4=\233022z:K5=\233023z:LE=\E[%dD:RI=\E[%dC:\ :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\E)4\017:\ :al=\E[L:as=\E)6\016:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:\ @@ -16727,52 +24059,42 @@ d470c|d470|Data General DASHER D470C:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:\ + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m:\ :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode:\ :5i:NL:am:bw:ms:ut:xo:\ :Co#16:NC#53:co#80:li#24:pa#256:\ - :%9=\E[i:\ - :..AB=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..AF=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[011z:\ - :F2=\E[012z:F3=\E[013z:F4=\E[014z:F5=\E[000z:F6=\E[101z:\ - :F7=\E[102z:F8=\E[103z:F9=\E[104z:FA=\E[105z:FB=\E[106z:\ - :FC=\E[107z:FD=\E[108z:FE=\E[109z:FF=\E[110z:FG=\E[111z:\ - :FH=\E[112z:FI=\E[113z:FJ=\E[114z:FK=\E[100z:FL=\E[201z:\ - :FM=\E[202z:FN=\E[203z:FO=\E[204z:FP=\E[205z:FQ=\E[206z:\ - :FR=\E[207z:FS=\E[208z:FT=\E[209z:FU=\E[210z:FV=\E[211z:\ - :FW=\E[212z:FX=\E[213z:FY=\E[214z:FZ=\E[200z:Fa=\E[301z:\ - :Fb=\E[302z:Fc=\E[303z:Fd=\E[304z:Fe=\E[305z:Ff=\E[306z:\ - :Fg=\E[307z:Fh=\E[308z:Fi=\E[309z:Fj=\E[310z:Fk=\E[311z:\ - :Fl=\E[312z:Fm=\E[313z:Fn=\E[314z:Fo=\E[300z:IC=\E[%d@:\ - :K1=\E[020z:K3=\E[021z:K4=\E[022z:K5=\E[023z:LE=\E[%dD:\ - :RI=\E[%dC:\ - :..Sb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :..Sf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m:\ - :UP=\E[%dA:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^O:al=\E[L:as=^N:\ - :bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\ - :cr=^M:dc=\E[P:dl=\E[M:do=\E[B:eA=\E)6:ei=:ho=\E[H:\ + :%9=\E[i:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[011z:F2=\E[012z:F3=\E[013z:F4=\E[014z:F5=\E[000z:\ + :F6=\E[101z:F7=\E[102z:F8=\E[103z:F9=\E[104z:FA=\E[105z:\ + :FB=\E[106z:FC=\E[107z:FD=\E[108z:FE=\E[109z:FF=\E[110z:\ + :FG=\E[111z:FH=\E[112z:FI=\E[113z:FJ=\E[114z:FK=\E[100z:\ + :FL=\E[201z:FM=\E[202z:FN=\E[203z:FO=\E[204z:FP=\E[205z:\ + :FQ=\E[206z:FR=\E[207z:FS=\E[208z:FT=\E[209z:FU=\E[210z:\ + :FV=\E[211z:FW=\E[212z:FX=\E[213z:FY=\E[214z:FZ=\E[200z:\ + :Fa=\E[301z:Fb=\E[302z:Fc=\E[303z:Fd=\E[304z:Fe=\E[305z:\ + :Ff=\E[306z:Fg=\E[307z:Fh=\E[308z:Fi=\E[309z:Fj=\E[310z:\ + :Fk=\E[311z:Fl=\E[312z:Fm=\E[313z:Fn=\E[314z:Fo=\E[300z:\ + :IC=\E[%d@:K1=\E[020z:K3=\E[021z:K4=\E[022z:K5=\E[023z:\ + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=j$k"l!m#n)q+t'u&v(w%x*:ae=^O:al=\E[L:as=^N:bl=^G:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:cr=^M:\ + :dc=\E[P:dl=\E[M:do=\E[B:eA=\E)6:ei=:ho=\E[H:\ :i1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h:ic=\E[@:im=:\ :is=\E[3;2;2;0;1;0v\E(0\017:k1=\E[001z:k2=\E[002z:\ :k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:k7=\E[007z:\ :k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:kE=\E[K:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[H\E[A:\ - :mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:mr=\E[7m:\ - :nd=\E[C:nw=^J:\ + :mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:\ + :nw=^J:\ :op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m:\ :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: # Initialization string 2 sets: # ^^FQ2 - default cursor (solid rectangle) @@ -16787,30 +24109,26 @@ d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode:\ d470c-dg|d470-dg|Data General DASHER D470C in DG mode:\ :5i:NL:am:bw:km:ms:ut:xo:\ :Co#16:NC#16:co#80:li#24:pa#256:\ - :#2=^^^H:#4=^^^Y:%i=^^^X:\ - :..AB=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :..AF=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c:\ - :F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:F6=^^a:F7=^^b:F8=^^c:\ - :F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:FE=^^i:FF=^^j:FG=^^k:\ - :FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:FM=^^2:FN=^^3:FO=^^4:\ - :FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:FU=^^\::FV=^^;:FW=^^<:\ - :FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":Fc=^^#:Fd=^^$:Fe=^^%:\ - :Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:Fk=^^+:Fl=^^,:Fm=^^-:\ - :Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:K5=^^_:Sb=\036B%+0:\ - :Sf=\036A%+0:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ - :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ - :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ - :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036F^\036FX004?\036F]\036O\036FS00:\ + :#2=^^^H:#4=^^^Y:%i=^^^X:F1=^^{:F2=^^|:F3=^^}:F4=^^~:F5=^^p:\ + :F6=^^a:F7=^^b:F8=^^c:F9=^^d:FA=^^e:FB=^^f:FC=^^g:FD=^^h:\ + :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ + :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ + :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:Sb=\036B%+0:Sf=\036A%+0:\ + :ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ + :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ + :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ + :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ :op=\036Ad\036Bd:pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:\ - :r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :r2=\036F]\036FT0:se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:\ + :up=^W:us=^T:ve=\036FQ2:vi=\036FQ0: # DASHER D555 terminal in ANSI mode. # Like a D411, but has an integrated phone. @@ -16842,12 +24160,10 @@ d555|Data General DASHER D555:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d555-7b|Data General DASHER D555 in 7-bit mode:\ :5i:NL:am:bw:ms:xo:\ :co#80:li#24:\ @@ -16872,12 +24188,11 @@ d555-7b|Data General DASHER D555 in 7-bit mode:\ :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:\ + :so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:\ + :vi=\E[3;0v: d555-w|Data General DASHER D555 in wide mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#126:li#24:\ @@ -16906,13 +24221,11 @@ d555-w|Data General DASHER D555 in wide mode:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d555-7b-w|Data General DASHER D555 in wide 7-bit mode:\ :5i:NL:am:bw:ms:xo:\ :co#126:li#24:\ @@ -16937,13 +24250,11 @@ d555-7b-w|Data General DASHER D555 in wide 7-bit mode:\ :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d555-dg|Data General DASHER D555 series in DG mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#80:li#24:\ @@ -16952,21 +24263,20 @@ d555-dg|Data General DASHER D555 series in DG mode:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ - :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ - :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ + :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ + :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:\ + :vi=\036FQ0: # DASHER D577 terminal in ANSI mode. # Like a D411, but acts as a keyboard for serial printers ("KSR" modes). @@ -16998,12 +24308,10 @@ d577|Data General DASHER D577:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d577-7b|Data General DASHER D577 in 7-bit mode:\ :5i:NL:am:bw:ms:xo:\ :co#80:li#24:\ @@ -17028,12 +24336,11 @@ d577-7b|Data General DASHER D577 in 7-bit mode:\ :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r1=\Ec\E[<2h:r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:\ + :so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:\ + :vi=\E[3;0v: d577-w|Data General DASHER D577 in wide mode:\ :5i:NL:am:bw:km:ms:xo:\ :co#126:li#24:\ @@ -17062,13 +24369,11 @@ d577-w|Data General DASHER D577 in wide mode:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d577-7b-w|Data General DASHER D577 in wide 7-bit mode:\ :5i:NL:am:bw:ms:xo:\ :co#126:li#24:\ @@ -17093,13 +24398,11 @@ d577-7b-w|Data General DASHER D577 in wide 7-bit mode:\ :k2=\E[002z:k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:\ :k7=\E[007z:k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:\ :kE=\E[K:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:\ + :ll=\E[H\E[A:mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:\ :mr=\E[7m:nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\Ec\E[5;1v\E[1;1;126w\E[<2h:\ - :r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode:\ :5i:NL:am:bw:km:ms:xo:\ @@ -17109,21 +24412,20 @@ d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode:\ :FE=^^i:FF=^^j:FG=^^k:FH=^^l:FI=^^m:FJ=^^n:FK=^^`:FL=^^1:\ :FM=^^2:FN=^^3:FO=^^4:FP=^^5:FQ=^^6:FR=^^7:FS=^^8:FT=^^9:\ :FU=^^\::FV=^^;:FW=^^<:FX=^^=:FY=^^>:FZ=^^0:Fa=^^!:Fb=^^":\ - :Fc=^^#:Fd=^^$:Fe=^^%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ - :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:K4=^^^:\ - :K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:al=^^FH:\ - :as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:cl=^L:\ - :cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:do=^Z:\ - :ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ - :is=\036FQ2\036FW\036FJ\036F^\036FX004?\036F]\036O\036FS00:\ + :Fc=^^#:Fd=^^$:Fe=^^%%:Ff=^^&:Fg=^^':Fh=^^(:Fi=^^):Fj=^^*:\ + :Fk=^^+:Fl=^^,:Fm=^^-:Fn=^^.:Fo=^^\s:K1=^^\\:K3=^^]:\ + :K4=^^\136:K5=^^_:ac=j$k"l!m#n)q+t'u&v(w%x*:ae=\036FS00:\ + :al=^^FH:as=\036FS11:bl=^G:cd=^^FF:ce=^K:ch=\020%.\177:\ + :cl=^L:cm=\020%r%.%.:cr=^M:cv=\020\177%.:dc=^^K:dl=^^FI:\ + :do=^Z:ei=:ho=^^FG:i1=^R^C:ic=^^J:im=:\ + :is=\036FQ2\036FW\036FJ\036F\136\036FX004?\036F]\036O\036FS00:\ :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ :k9=^^y:k;=^^z:kC=^L:kE=^K:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ :le=^Y:ll=\036FG\027:mb=^N:md=^^D^T:\ :me=\017\025\035\036E\036FS00:mh=^\:mr=^^D:nd=^X:nw=^J:\ - :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:\ - :..sa=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;:\ - :se=^^E^]:sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:\ - :ve=\036FQ2:vi=\036FQ0: + :pf=^^Fa:po=^^F`:ps=^Q:r1=^^FA:r2=\036F]\036FT0:se=^^E^]:\ + :sf=^J:so=^^D^\:sr=^^I:ue=^U:up=^W:us=^T:ve=\036FQ2:\ + :vi=\036FQ0: # DASHER D578 terminal. # Like a D577, but without compressed mode; like a D470C in this respect. @@ -17168,12 +24470,10 @@ d578|Data General DASHER D578:\ :k6=\233006z:k7=\233007z:k8=\233008z:k9=\233009z:\ :k;=\233010z:kC=\2332J:kE=\233K:kd=\233B:kh=\233H:\ :kl=\233D:kr=\233C:ku=\233A:le=^H:ll=\E[H\E[A:mb=\E[5m:\ - :md=\E[4;7m:me=\E[m\E)4\017:mh=\E[2m:mr=\E[7m:nd=\E[C:\ - :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;1;1;1v\E(B\E)4:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: + :md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^J:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ + :r2=\E[4;0;2;1;1;1v\E(B\E)4:se=\E[m:sf=^J:so=\E[2;7m:\ + :sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: d578-7b|Data General DASHER D578 in 7-bit mode:\ :5i:NL:am:bw:ms:xo:\ :co#80:li#24:\ @@ -17198,65 +24498,14 @@ d578-7b|Data General DASHER D578 in 7-bit mode:\ :k3=\E[003z:k4=\E[004z:k5=\E[005z:k6=\E[006z:k7=\E[007z:\ :k8=\E[008z:k9=\E[009z:k;=\E[010z:kC=\E[2J:kE=\E[K:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:ll=\E[H\E[A:\ - :mb=\E[5m:md=\E[4;7m:me=\E[m\017:mh=\E[2m:mr=\E[7m:\ - :nd=\E[C:nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ - :r2=\E[4;0;2;0;1;0v\E(0:\ - :..sa=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:\ - :ve=\E[3;2v:vi=\E[3;0v: - -# Here are some older Dasher entries from the Berkeley termcap file. - -# According to the 4.4BSD termcap file, the dg200 :cm: should be the -# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap -# notation that's "^P%r%+\200%+\200"). Those \200s are suspicious, -# maybe they were originally nuls (which would fit). -dg200|data general dasher 200:\ - :NL:am:bs:bw:\ - :co#80:li#24:\ - :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:k0=^^z:\ - :k1=^^q:k2=^^r:k3=^^s:k4=^^t:k5=^^u:k6=^^v:k7=^^w:k8=^^x:\ - :k9=^^y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:l0=f10:le=^Y:nd=^X:\ - :nw=^J:se=^^E:sf=^J:so=^^D:ue=^U:up=^W:us=^T: -# Data General 210/211 (and 410?) from Lee Pearson (umich!lp) via BRL -dg210|dg-ansi|Data General 210/211:\ - :am:\ - :co#80:li#24:\ - :cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:do=\E[B:ho=\E[H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:nl=\E[B:\ - :nw=\r\E[H\E[A\n:se=\E[0;m:so=\E[7;m:ue=\E[0;m:up=\E[A:\ - :us=\E[4;m: -# From: Peter N. Wan -# courtesy of Carlos Rucalde of Vantage Software, Inc. -# (dg211: this had :cm=\020%r%.%:., which was an ancient termcap hangover. -# I suspect the d200 function keys actually work on the dg211, check it out.) -dg211|Data General d211:\ - :am:bs:bw:\ - :co#80:li#24:\ - :bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:kb=^Y:\ - :kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:le=^Y:nd=^X:nw=^M^Z:\ - :se=\036E\0/>:so=5\036D:ta=^I:te=^L:ti=^L^R:ue=^U:up=^W:\ - :us=^T:ve=^L:vs=^L^R: - -# From: Wayne Throop (not official) -# Data General 605x -# Ought to work for a Model 6242, Type D210 as well as a 605x. -# Note that the cursor-down key transmits ^Z. Job control users, beware! -# This also matches a posted description of something called a `Dasher 100' -# so there's a dg100 alias here. -# (dg6053: the 4.4BSD file had :le=^H:, :do=^J:, :nd=^S:. -- esr) -dg6053-old|dg100|data general 6053:\ - :am:bs:bw:ul:\ - :co#80:li#24:\ - :bc=^Y:bl=^G:ce=^K:cl=^L:cm=\020%r%.%.:cr=^M:do=^Z:ho=^H:\ - :is=^R:k0=^^q:k1=^^r:k2=^^s:k3=^^t:k4=^^u:k5=^^v:k6=^^w:\ - :k7=^^x:k8=^^y:k9=^^z:kb=^Y:kd=^Z:kh=^H:kl=^Y:kr=^X:ku=^W:\ - :le=^Y:nd=^X:se=\0^^E:so=\0\0\0\0\0\036D:ta=^I:te=^L:\ - :ti=^L^R:ue=^U:up=^W:us=^T:ve=^L:vs=^L^R: + :mb=\E[5m:md=\E[4;7m:me=\E[m:mh=\E[2m:mr=\E[7m:nd=\E[C:\ + :nw=^J:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec\E[<2h:\ + :r2=\E[4;0;2;0;1;0v\E(0:se=\E[m:sf=^J:so=\E[2;7m:sr=\EM:\ + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[3;2v:vi=\E[3;0v: #### Datamedia (dm) # -# Datamedia was headquartered in Nashua, New Hampshire until it went +# Datamedia was headquartered in Nashua, New Hampshire until it went # out of business in 1993, but the ID plates on the terminals referred # to the factory in Pennsauken, NJ. The factory was sold to a PCB board # manufacturer which threw out all information about the terminals. @@ -17283,7 +24532,7 @@ dm1520|dm1521|datamedia 1520:\ :co#80:it#8:li#24:\ :bl=^G:cd=^K:ce=^]:cl=^L:cm=\036%r%+ %+ :cr=^M:do=^J:ho=^Y:\ :kd=^J:kh=^Y:kl=^H:kr=^\:ku=^_:le=^H:nd=^\:sf=^J:ta=^I:up=^_: -# dm2500: this terminal has both :IC: and :im:. Applications using +# dm2500: this terminal has both :IC: and :im:. Applications using # termcap/terminfo directly (rather than through ncurses) might be confused. dm2500|datamedia2500|datamedia 2500:\ :bs:nc:\ @@ -17314,46 +24563,46 @@ dm3025|datamedia 3025a:\ :ho=\EH:im=\EP:ip=:is=\EQ\EU\EV:le=^H:nd=\EC:se=\EO0:sf=^J:\ :so=\EO1:ta=^I:up=\EA: dm3045|datamedia 3045a:\ - :am:bs:eo:ul:xn:\ + :am:bs:eo:km@:ul:xn:\ :co#80:it#8:li#24:\ - :bl=^G:cd=\EJ:ce=\EK:cl=\EM:cm=\EY%r%+ %+ :cr=^M:dc=\EB:\ - :do=^J:ei=\EP:ho=\EH:im=\EP:ip=:is=\EU\EV:k0=\Ey\r:k1=\Ep\r:\ - :k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:\ - :k8=\Ew\r:k9=\Ex\r:kh=\EH:kr=\EC:ku=\EA:le=^H:nd=\EC:\ - :pc=\177:sf=^J:ta=^I:up=\EA: + :al@:bl=^G:cd=\EJ:ce=\EK:cl=\EM:cm=\EY%r%+ %+ :cr=^M:dc=\EB:\ + :dl@:dm@:do=^J:ed@:ei=\EP:ho=\EH:im=\EP:ip=:is=\EU\EV:\ + :k0=\Ey\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ + :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:k9=\Ex\r:kh=\EH:kr=\EC:ku=\EA:\ + :le=^H:nd=\EC:pc=\177:se@:sf=^J:so@:ta=^I:up=\EA: # Datamedia DT80 soft switches: # 1 0=Jump 1=Smooth # Autorepeat 0=off 1=on # Screen 0=Dark 1=light # Cursor 0=u/l 1=block -# +# # 2 Margin Bell 0=off 1=on # Keyclick 0=off 1=on # Ansi/VT52 0=VT52 1=Ansi # Xon/Xoff 0=Off 1=On -# +# # 3 Shift3 0=Hash 1=UK Pound # Wrap 0=Off 1=On # Newline 0=Off 1=On # Interlace 0=Off 1=On -# +# # 4 Parity 0=Odd 1=Even # Parity 0=Off 1=On # Bits/Char 0=7 1=8 # Power 0=60Hz 1=50Hz -# +# # 5 Line Interface 0=EIA 1=Loop # Aux Interface 0=EIA 1=Loop -# Local Copy 0=Off 1=On +# Local Copy 0=Off 1=On # Spare -# +# # 6 Aux Parity 0=Odd 1=Even # Aux Parity 0=Off 1=On # Aux Bits/Char 0=7 1=8 # CRT Saver 0=Off 1=On # dm80/1 is a vt100 lookalike, but it doesn't seem to need any padding. dm80|dmdt80|dt80|datamedia dt80/1:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -17363,10 +24612,9 @@ dm80|dmdt80|dt80|datamedia dt80/1:\ :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ :up=\E[A:us=\E[4m: # except in 132 column mode, where it needs a little padding. @@ -17374,7 +24622,7 @@ dm80|dmdt80|dt80|datamedia dt80/1:\ # the ^S/^Q handshaking, so you can use vt100 flavors for things like # reverse video. dm80w|dmdt80w|dt80w|datamedia dt80/1 in 132 char mode:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -17384,24 +24632,22 @@ dm80w|dmdt80w|dt80w|datamedia dt80/1 in 132 char mode:\ :ct=\E[3g:do=^J:eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:\ :k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=5\E[A:us=\E[4m: + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=5\E[A:\ + :us=\E[4m: # From: Adam Thompson Sept 10 1995 dt80-sas|Datamedia DT803/DTX for SAS usage:\ :am:bw:\ :co#80:li#24:\ :ac=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~:\ :ae=\EG:al=\EL:as=\EF:bl=^G:cd=^K:ce=^]:cl=^L:\ - :cm=\E=%r%+ %+ :cr=^M:\ - :..cs=\E=%p1%{32}%+%c%{32}%c\E#1\E=%p2%{32}%+%c%{32}%c\E#2:\ - :ct=\E'0:dl=\EM:do=\EB:ff=^L:ho=^Y:is=\E)0\E<\EP\E'0\E$2:\ - :kC=^L:kE=^]:kS=^K:kd=^J:kh=^Y:kl=^H:kr=^\:ku=^_:le=^H:me=^X:\ - :mr=\E$2\004:nd=^\:pf=^O:po=^N:se=^X:sf=\EB:so=\E$2\004:\ - :sr=\EI:st=\E'1:ta=^I:up=^_: + :cm=\E=%r%+ %+ :cr=^M:ct=\E'0:dl=\EM:do=\EB:ff=^L:ho=^Y:\ + :is=\E)0\E<\EP\E'0\E$2:kC=^L:kE=^]:kS=^K:kd=^J:kh=^Y:kl=^H:\ + :kr=^\:ku=^_:le=^H:me=^X:mr=\E$2\004:nd=^\:pf=^O:po=^N:se=^X:\ + :sf=\EB:so=\E$2\004:sr=\EI:st=\E'1:ta=^I:up=^_: # Datamedia Excel 62, 64 from Gould/SEL UTX/32 via BRL # These aren't end-all Excel termcaps; but do insert/delete char/line @@ -17412,7 +24658,7 @@ dt80-sas|Datamedia DT803/DTX for SAS usage:\ # the Excel terminals with the regular datamedia terminals that share # major characteristics. excel62|excel64|datamedia Excel 62:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -17422,14 +24668,14 @@ excel62|excel64|datamedia Excel 62:\ :do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:k0=\EOy:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOu:k6=\EOv:k7=\EOw:\ :k8=\EOx:k9=\EOy:k;=\EOx:kb=^H:kd=^J:ke=\E[?1l\E>:kl=^H:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: excel62-w|excel64-w|datamedia Excel 62 in 132 char mode:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -17439,15 +24685,14 @@ excel62-w|excel64-w|datamedia Excel 62 in 132 char mode:\ :ct=\E[3g:dc=\E[P:do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:\ :im=\E[4h:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOu:\ :k6=\EOv:k7=\EOw:k8=\EOx:k9=\EOy:k;=\EOx:kb=^H:kd=^J:\ - :ke=\E[?1l\E>:kl=^H:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:pf=\E[4i:\ - :po=\E[5i:ps=\E[0i:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=5\E[A:us=\E[4m: + :ke=\E[?1l\E>:kl=^H:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=5\E[A:\ + :us=\E[4m: excel62-rv|excel64-rv|datamedia Excel 62 in reverse video mode:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -17457,12 +24702,12 @@ excel62-rv|excel64-rv|datamedia Excel 62 in reverse video mode:\ :do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:k0=\EOy:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOu:k6=\EOv:k7=\EOw:\ :k8=\EOx:k9=\EOy:k;=\EOx:kb=^H:kd=^J:ke=\E[?1l\E>:kl=^H:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m:vb=\E[?5l\E[?5h: + :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m:vb=\E[?5l\E[?5h: #### Falco # @@ -17508,11 +24753,10 @@ ts100|ts100-sp|falco ts100-sp:\ :i1=\E~)\E~ea:ic=\E~Q:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m: + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: ts100-ctxt|falco ts-100 saving context:\ :am:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ @@ -17525,11 +24769,10 @@ ts100-ctxt|falco ts-100 saving context:\ :i1=\E~)\E~ea:ic=\E~Q:im=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E~_b:ti=\E~_d\E[2J:ue=\E[m:up=\E[A:us=\E[4m: + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:te=\E~_b:\ + :ti=\E~_d\E[2J:ue=\E[m:up=\E[A:us=\E[4m: #### Florida Computer Graphics # @@ -17557,7 +24800,7 @@ beacon|FCG Beacon System:\ #### Fluke # -# The f1720a differences from ANSI: no auto margin, destructive +# The f1720a differences from ANSI: no auto margin, destructive # tabs, # of lines, funny highlighting and underlining f1720|f1720a|fluke 1720A:\ :xt:\ @@ -17582,7 +24825,7 @@ f1720|f1720a|fluke 1720A:\ f100|freedom|freedom100|freedom model 100:\ :am:bs:bw:hs:mi:ms:xo:\ :co#80:li#24:\ - :ac=:ae=\E$:al=\EE:as=\E%:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E$:al=\EE:as=\E%%:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ :dc=\EW:dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:im=\Eq:\ :ip=:is=\Eg\Ef\r\Ed:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17593,7 +24836,7 @@ f100|freedom|freedom100|freedom model 100:\ f100-rv|freedom-rv|freedom 100 in reverse video:\ :am:bs:bw:hs:mi:ms:xo:\ :co#80:li#24:\ - :ac=:ae=\E$:al=\EE:as=\E%:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E$:al=\EE:as=\E%%:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ :dc=\EW:dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:im=\Eq:\ :ip=:is=\Eg\Ef\r\Eb:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17606,30 +24849,30 @@ f100-rv|freedom-rv|freedom 100 in reverse video:\ # as ^V, the Control Character Quoting capability (^V in insert mode) # is lost! It cannot be remapped in vi because it is necessary to enter # a ^V to to quote the ^V that is being remapped!!! -# +# # f110/f200 users will have to decide whether # to lose the down cursor key or the quoting capability. We will opt # initially for leaving the quoting capability out, since use of VI # is not generally applicable to most interactive applications # (f110: added :ta:, :kh: & from f100 -- esr) f110|freedom110|Liberty Freedom 110:\ - :am:bs:es:hs:mi:ms:xo:\ + :am:bs:bw@:es:hs:mi:ms:xo:\ :co#80:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er\EO:fs=^M:ho=^^:\ - :im=\EO\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ - :k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:\ - :kB=\EI:kC=^^:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kS=\EY:kb=^H:kd=^V:\ - :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:\ - :mh=\EG@:mk=\EG1:mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:\ - :so=\EG<:sr=\EJ:st=\E1:ta=^I:ts=\Ef:ue=\EG0:up=^K:us=\EG8:\ - :vb=\Eb\Ed:ve=\E.2:vi=\E.1:vs=\E.2: + :im=\EO\Eq:ip@:is@:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:k;@:\ + :kA=\EE:kB=\EI:kC=^^:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:kS=\EY:\ + :kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EG0:\ + :me=\EG0:mh=\EG@:mk=\EG1:mr=\EG4:nd=^L:pf=\Ea:po=\E`:\ + :se=\EG0:sf=^J:so=\EG<:sr=\EJ:st=\E1:ta=^I:ts=\Ef:ue=\EG0:\ + :up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.2:vi=\E.1: f110-14|Liberty Freedom 110 14inch:\ :am:bs:es:hs:mi:ms:xo:\ :co#80:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ - :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :dc@:\ :dl=\ER:do=^V:ds=\Ef\r:ei=\Er\EO:fs=^M:ho=^^:im=\EO\Eq:\ :k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=^^:\ @@ -17637,11 +24880,11 @@ f110-14|Liberty Freedom 110 14inch:\ :kr=^L:ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ta=^I:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:\ - :ve=\E.2:vi=\E.1:vs=\E.2: + :ve=\E.2:vi=\E.1: f110-w|Liberty Freedom 110 - 132 cols:\ :am:bs:es:hs:mi:ms:xo:\ :co#132:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er\EO:fs=^M:ho=^^:\ :im=\EO\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17650,12 +24893,12 @@ f110-w|Liberty Freedom 110 - 132 cols:\ :kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:\ :mh=\EG@:mk=\EG1:mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:\ :so=\EG<:sr=\EJ:st=\E1:ta=^I:ts=\Ef:ue=\EG0:up=^K:us=\EG8:\ - :vb=\Eb\Ed:ve=\E.2:vi=\E.1:vs=\E.2: + :vb=\Eb\Ed:ve=\E.2:vi=\E.1: f110-14w|Liberty Freedom 110 14in/132 cols:\ :am:bs:es:hs:mi:ms:xo:\ :co#132:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ - :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:ct=\E3:cv=\E[%+ :dc@:\ :dl=\ER:do=^V:ds=\Ef\r:ei=\Er\EO:fs=^M:ho=^^:im=\EO\Eq:\ :k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=^^:\ @@ -17663,12 +24906,12 @@ f110-14w|Liberty Freedom 110 14in/132 cols:\ :kr=^L:ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ta=^I:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:\ - :ve=\E.2:vi=\E.1:vs=\E.2: + :ve=\E.2:vi=\E.1: # (f200: added to suppress tic warnings re :as:/:ae: --esr) f200|freedom200|Liberty Freedom 200:\ :am:bs:es:hs:mi:ms:xo:\ :co#80:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:cs=\Em0%+ %+ :ct=\E3:\ :cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er:fs=^M:ho=^^:\ :im=\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17677,11 +24920,11 @@ f200|freedom200|Liberty Freedom 200:\ :ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eo\En:ve=\E.1:\ - :vi=\E.0:vs=\E.1: + :vi=\E.0: f200-w|Liberty Freedom 200 - 132 cols:\ :am:bs:es:hs:mi:ms:xo:\ :co#132:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:cs=\Em0%+ %+ :ct=\E3:\ :cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er:fs=^M:ho=^^:\ :im=\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17690,14 +24933,14 @@ f200-w|Liberty Freedom 200 - 132 cols:\ :ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eo\En:ve=\E.1:\ - :vi=\E.0:vs=\E.1: + :vi=\E.0: # The f200 has the ability to reprogram the down cursor key. The key is # reprogrammed to ^J (linefeed). This value is remembered in non-volatile RAM, # so powering the terminal off and on will not cause the change to be lost. f200vi|Liberty Freedom 200 for vi:\ :am:bs:es:hs:mi:ms:xo:\ :co#80:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:cs=\Em0%+ %+ :ct=\E3:\ :cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er:fs=^M:ho=^^:\ :im=\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17706,11 +24949,11 @@ f200vi|Liberty Freedom 200 for vi:\ :ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.1:\ - :vi=\E.0:vs=\E.1: + :vi=\E.0: f200vi-w|Liberty Freedom 200 - 132 cols for vi:\ :am:bs:es:hs:mi:ms:xo:\ :co#132:it#8:li#24:ws#80:\ - :ac=:ae=\E%%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ + :ac=:ae=\E%%:al=\EE:as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:\ :ch=\E]%+ :cl=^Z:cm=\E=%+ %+ :cr=^M:cs=\Em0%+ %+ :ct=\E3:\ :cv=\E[%+ :dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=\Er:fs=^M:ho=^^:\ :im=\Eq:k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:\ @@ -17719,7 +24962,7 @@ f200vi-w|Liberty Freedom 200 - 132 cols for vi:\ :ku=^K:le=^H:mb=\EG2:md=\EG0:me=\EG0:mh=\EG@:mk=\EG1:\ :mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:so=\EG<:sr=\EJ:\ :st=\E1:ts=\Ef:ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.1:\ - :vi=\E.0:vs=\E.1: + :vi=\E.0: #### GraphOn (go) # @@ -17730,7 +24973,6 @@ f200vi-w|Liberty Freedom 200 - 132 cols for vi:\ # Fax: (408)-370-5047 # Net: troy@graphon.com (Troy Morrison) # -#% GraphOn: troy@graphon.com (Troy Morrison) # # The go140 and go225 have been discontinued. GraphOn now makes X terminals, # including one odd hybrid that starts out life on power-up as a character @@ -17741,8 +24983,8 @@ go140|graphon go-140:\ :bs:\ :co#80:it#8:li#24:\ :RA=\E[?7l:SA=\E[?7h:al=\E[L:cd=10\E[J:ce=\E[K:\ - :cl=10\E[H\E[2J:cm=\E[%i%2;%2H:dc=\E[P:dl=\E[M:ei=\E[4l:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ + :cl=10\E[H\E[2J:cm=\E[%i%2;%2H:dc=\E[P:dl=\E[M:do=\E[B:\ + :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:\ :is=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kd=\EOB:ke=\E[?1l\E>:\ :kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ @@ -17752,8 +24994,8 @@ go140w|graphon go-140 in 132 column mode:\ :am:bs:\ :co#132:it#8:li#24:\ :RA=\E[?7l:SA=\E[?7h:al=\E[L:cd=10\E[J:ce=\E[K:\ - :cl=10\E[H\E[2J:cm=\E[%i%2;%2H:dc=\E[P:dl=\E[M:ei=\E[4l:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ + :cl=10\E[H\E[2J:cm=\E[%i%2;%2H:dc=\E[P:dl=\E[M:do=\E[B:\ + :ei=\E[4l:if=/usr/share/tabset/vt100:im=\E[4h:\ :is=\E<\E=\E[?3h\E[?7h\E(B\E[J\E7\E[;r\E8\E[m\E[q:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kd=\EOB:ke=\E[?1l\E>:\ :kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ @@ -17776,13 +25018,183 @@ go225|go-225|Graphon 225:\ :so=\E[7m:sr=\EM:ta=^I:te=\E[!p\E[?7h\E[2;1;1#w:\ :ti=\E[2;0#w\E[1;25r:ue=\E[24m:up=\E[A:us=\E[4m: -#### Harris +#### Harris (Beehive) # # Bletch. These guys shared the Terminal Brain Damage laurels with Hazeltine. # Their terminal group is ancient history now (1995) though the parent # company is still in business. # +# Beehive documentation is undated and marked Preliminary and has no figures +# so we must have early Superbee2 (Model 600, according to phone conversation +# with mfr.). It has proved reliable except for some missing padding +# (notably after \EK and at bottom of screen). +# +# The key idea is that AEP mode is poison for :cm: & that US's in +# the local memory should be avoided like the plague. That means +# that the 2048 character local buffer is used as 25 lines of 80 +# characters, period. No scrolling local memory, folks. It also +# appears that we cannot use naked INS LINE feature since it uses +# US. The sbi fakes :al: with an 80-space insert that may be too +# slow at low speeds; also spaces get converted to \040 which is +# too long for some programs (not vi). DEL LINE is ok but slow. +# +# The string is designed for last line of screen ONLY; cup to +# 25th line corrects the motion inherent in scrolling to Page 1. +# +# There is one understood bug. It is that the screen appears to +# pop to a new (blank) page after a :nw:, or leave a half-line +# ellipsis to a quad that is the extra 48 memory locations. The +# data received is dumped into memory but not displayed. Not to +# worry if :cm: is being used; the lines not displayed will be, +# whenever the cursor is moved up there. Since :cm: is addressed +# relative to MEMORY of window, nothing is lost; but beware of +# relative cursor motion (:up:,:do:,:nd:,:le:). Recommended, +# therefore, is setenv MORE -c . +# +# WARNING: Not all features tested. +# +# Timings are assembled from 3 sources. Some timings may reflect +# SB2/Model 300 that were used if more conservative. +# Tested on a Model 600 at 1200 and 9600 bd. +# +# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly +# placed on the keyboard and useless because of AEP, is made +# into a backspace key. In use ESC must be pressed twice (to send) +# and sending ^C must be prefixed by ESC to avoid that weird +# transmit mode associated with ENTER key. +# +# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across +# the screen, then it has dropped into ENTER mode; hit +# RESET--ONLINE--!tset. +# +# As delivered this machine has a FATAL feature that will throw +# it into that strange transmit state (SPOW) if the space bar is +# hit after a CR is received, but before receiving a LF (or a +# few others). +# +# The circuits MUST be modified to eliminate the SPOW latch. +# This is done by strapping on chip A46 of the I/O board; cut +# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that +# chip. This mod has been checked out on a Mod 600 of Superbee II. +# With this modification absurdly high timings on cr are +# unnecessary. +# +# NOTE WELL that the rear panel switch should be set to CR/LF, +# not AEP! +# +sb1|beehive superbee:\ + :am:bs:bw:da:db:mi:ul:xb:\ + :co#80:li#25:sg#1:ug#1:\ + :al=\EN\EL\EQ \EP \EO\ER\EA:\ + :bl=^G:bt=\E`:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:\ + :ct=\E3:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\EH:im=\EQ\EO:\ + :is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:k1=\Ep:k2=\Eq:k3=\Er:\ + :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:k9=\E1:kE=\EK:kI=\EQ\EO:\ + :kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:me=\E_3:nd=\EC:\ + :se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:ti=\EO:ue=\E_3:\ + :up=\EA:us=\E_0: +sbi|superbee|beehive superbee at Indiana U.:\ + :am:bs:bw:da:db:mi:ul:xb:\ + :co#80:li#25:sg#1:ug#1:\ + :al=1\EN\EL\EQ \EP \EO\ER\EA:bl=^G:bt=\E`:cd=\EJ:ce=\EK:\ + :cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:ct=\E3:dc=\EP:dl=\EM:do=^J:\ + :ei=\ER:ho=\EH:im=\EQ\EO:is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :k9=\E1:kE=\EK:kI=\EQ\EO:kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:\ + :kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:\ + :me=\E_3:nd=\EC:se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:\ + :ti=\EO:ue=\E_3:up=\EA:us=\E_0: +# Alternate (older) description of Superbee - f1=escape, f2=^C. +# Note: there are at least 3 kinds of superbees in the world. The sb1 +# holds onto escapes and botches ^C's. The sb2 is the best of the 3. +# The sb3 puts garbage on the bottom of the screen when you scroll with +# the switch in the back set to CRLF instead of AEP. This description +# is tested on the sb2 but should work on all with either switch setting. +# The f1/f2 business is for the sb1 and the :xb: can be taken out for +# the other two if you want to try to hit that tiny escape key. +# This description is tricky: being able to use cup depends on there being +# 2048 bytes of memory and the hairy string. +superbee-xsb|beehive super bee:\ + :am:da:db:xb:\ + :co#80:it#8:li#25:\ + :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%3%3:cr=\r:ct=\E3:dc=\EP:\ + :dl=\EM:do=^J:ho=\EH:is=\EH\EJ:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:\ + :k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :ku=\EA:le=^H:me=\E_3:nd=\EC:se=\E_3:\ + :sf=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET:so=\E_1:st=\E1:\ + :ta=^I:up=\EA:ve=^J: +# This loses on lines > 80 chars long, use at your own risk +superbeeic|super bee with insert char:\ + :am:da:db:xb:\ + :co#80:it#8:li#25:\ + :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EF%r%3%3:cr=\r:ct=\E3:dc=\EP:\ + :dl=\EM:do=^J:ei=\ER:ho=\EH:ic=:im=\EQ:is=\EH\EJ:k1=\Ep:\ + :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kd=\EB:\ + :kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:me=\E_3:nd=\EC:se=\E_3:\ + :sf=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET:so=\E_1:st=\E1:\ + :ta=^I:up=\EA:ve=^J: +sb2|sb3|fixed superbee:\ + :am:bs:bw:da:db:mi:ul:xb@:\ + :co#80:li#25:sg#1:ug#1:\ + :al=1\EN\EL\EQ \EP \EO\ER\EA:bl=^G:bt=\E`:cd=\EJ:ce=\EK:\ + :cl=\EH\EJ:cm=\EF%r%03%03:cr=\r:ct=\E3:dc=\EP:dl=\EM:do=^J:\ + :ei=\ER:ho=\EH:im=\EQ\EO:is=\EE\EX\EZ\EO\Eb\Eg\ER:k0=\E2:\ + :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ + :k9=\E1:kE=\EK:kI=\EQ\EO:kL=\EM:kM=\ER:kS=\EJ:kb=^_:kd=\EB:\ + :kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=TAB CLEAR:l9=TAB SET:le=^H:\ + :me=\E_3:nd=\EC:se=\E_3:sf=^J:so=\E_1:st=\E1:ta=^I:te=:\ + :ti=\EO:ue=\E_3:up=\EA:us=\E_0: + +#### Beehive Medical Electronics +# +# Steve Seymour writes (Wed, 03 Feb 1999): +# Regarding your question though; Beehive terminals weren't made by Harris. +# They were made by Beehive Medical Electronics in Utah. They went out of +# business in the early '80s. +# +# (OK, then, I don't know why a couple of these say "harris beehive".) +# + +# Reports are that most of these Beehive entries (except superbee) have not +# been tested and do not work right. :se: is a trouble spot. Be warned. + +# (bee: :ic: was empty, which is obviously bogus -- esr) +beehive|bee|harris beehive:\ + :am:bs:mi:\ + :co#80:li#24:\ + :al=\EL:bt=\E>:cd=\EJ:ce=\EK:cl=\EE:cm=\EF%+ %+ :dc=\EP:\ + :dl=\EM:do=\EB:ei=\E@:ho=\EH:im=\EQ:kA=\EL:kB=\E>:kC=\EE:\ + :kD=\EP:kE=\EK:kI=\EQ:kL=\EM:kM=\E@:kb=^H:kd=\EB:kh=\EH:\ + :kl=\ED:kr=\EC:ku=\EA:le=^H:me=\Ed@:nd=\EC:se=\Ed@:so=\EdP:\ + :ue=\Ed@:up=\EA:us=\Ed`: +# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs. +# good grief - does this entry make :sg:/:ug: when it doesn't have to? +# look at those spaces in :se:/:so:. Seems strange to me... +# (beehive: :if=/usr/share/tabset/beehive: removed, no such file. If you +# really care, cook up one using ^F -- esr) +beehive3|bh3m|beehiveIIIm|harris beehive 3m:\ + :am:bs:\ + :co#80:it#8:li#20:\ + :al=\023:bl=^G:cd=^R:ce=^P:cl=^E^R:cr=^M:dl=\021:do=^J:ho=^E:\ + :le=^H:ll=^E^K:nd=^L:se=\s^_:sf=^J:so=^]\s:st=^F:ta=^I:up=^K: +beehive4|bh4|beehive 4:\ + :am:\ + :co#80:li#24:\ + :bl=^G:cd=\EJ:ce=\EK:cl=\EE:cr=^M:do=^J:ho=\EH:le=\ED:nd=\EC:\ + :sf=^J:up=\EA: +# There was an early Australian kit-built computer called a "Microbee". +# It's not clear whether this is for one of those or for a relative +# of the Beehive. +microb|microbee|micro bee series:\ + :am:bs:\ + :co#80:it#8:li#24:\ + :bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EF%+ %+ :cr=^M:do=^J:k1=\Ep:\ + :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:k9=\Ex:\ + :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:me=\Ed@:nd=\EC:\ + :se=\Ed@:sf=^J:so=\s\EdP:ta=^I:ue=\Ed@:up=\EA:us=\Ed`: + # 8675, 8686, and bee from Cyrus Rahman # (8675: changed k10, k11...k16 to k;, F1...F6 -- esr) ha8675|harris 8675:\ @@ -17863,7 +25275,7 @@ hz1500|hazeltine 1500:\ :kh=~^R:kl=^H:kr=^P:ku=~^L:le=^H:nd=^P:se=~^Y:sf=^J:so=~^_:\ :up=~^L: # h1510 assumed to be in sane escape mode. Else use h1500. -# (h1510: early versions of this entry apparently had ":se=\E^_:, +# (h1510: early versions of this entry apparently had ":se=\E^_:, # :so=\E^Y:, but these caps were commented out in 8.3; also, # removed incorrect and overridden ":do=^J:" -- esr) hz1510|hazeltine 1510:\ @@ -17898,20 +25310,19 @@ hz1520-noesc|hazeltine 1520:\ hz1552|hazeltine 1552:\ :bs:\ :co#80:it#8:li#24:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\EG:al=\EE:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:\ - :cm=\EY%+ %+ :cr=^M:dl=\EO:do=^J:ho=\EH:k1=\EP:k2=\EQ:\ - :k3=\ER:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:l1=blue:l2=red:\ - :l3=green:le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA: + :ac=+h.k0affggolpnqprrss:ae=\EG:al=\EE:as=\EF:bl=^G:\ + :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dl=\EO:do=^J:\ + :ho=\EH:k1=\EP:k2=\EQ:k3=\ER:kb=^H:kd=\EB:kl=\ED:kr=\EC:\ + :ku=\EA:l1=blue:l2=red:l3=green:le=\ED:nd=\EC:nw=^M^J:sf=^J:\ + :sr=\EI:ta=^I:up=\EA: hz1552-rv|hazeltine 1552 reverse video:\ :bs:\ :co#80:it#8:li#24:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\EG:al=\EE:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:\ - :cm=\EY%+ %+ :cr=^M:dl=\EO:do=^J:ho=\EH:k1=\EP:k2=\EQ:\ - :k3=\ER:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:l1=blue:l2=red:\ - :l3=green:le=\ED:nd=\EC:nw=^M^J:se=\ET:sf=^J:so=\ES:sr=\EI:\ - :ta=^I:up=\EA: + :ac=+h.k0affggolpnqprrss:ae=\EG:al=\EE:as=\EF:bl=^G:\ + :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dl=\EO:do=^J:\ + :ho=\EH:k1=\EP:k2=\EQ:k3=\ER:kb=^H:kd=\EB:kl=\ED:kr=\EC:\ + :ku=\EA:l1=blue:l2=red:l3=green:le=\ED:nd=\EC:nw=^M^J:\ + :se=\ET:sf=^J:so=\ES:sr=\EI:ta=^I:up=\EA: # Note: h2000 won't work well because of a clash between upper case and ~'s. hz2000|hazeltine 2000:\ :am:bs:nc:\ @@ -17924,7 +25335,7 @@ hz2000|hazeltine 2000:\ # characters very fast vi seems not able to keep up and hangs while trying # to insert. That's in insert mode while trying to insert in the middle of # a line. It might be because the Esprit doesn't have insert char and delete -# char as a built in function. Vi has to delete to end of line and then +# char as a built in function. Vi has to delete to end of line and then # redraw the rest of the line. esprit|Hazeltine Esprit I:\ :am:bs:bw:\ @@ -17972,1116 +25383,6 @@ hazel|exec80|h80|he80|Hazeltine Executive 80:\ :rc=\E8:rf=/usr/share/tabset/vt100:sc=\E7:se=2\E[m:\ :so=2\E[7m:sr=5\EM:ta=^I:ue=2\E[m:up=2\E[A:us=2\E[4m: -#### Hewlett-Packard (hp) -# -# Hewlett-Packard -# 8000 Foothills Blvd -# Roseville, CA 95747 -# Vox: 1-(916)-785-4363 (Technical response line for VDTs) -# 1-(800)-633-3600 (General customer support) -# -#% Hewlett-Packard: rich_kassis@hp5200.desk.hp.com (Rich Kassis) -# -# As of March 1998, HP no longer has any terminals in production. -# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being -# supported (they still have parts). So are the 2392a and 2394a. -# See the WORKSTATION CONSOLES section for the 700s. -# - -# Generic HP terminal - this should (hopefully) work on any HP terminal. -hpgeneric|hp|hewlett-packard generic terminal:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#24:lm#0:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:kB=\Ei:kb=^H:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -hp110|hewlett-packard model 110 portable:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#16:lm#0:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:kB=\Ei:kb=^H:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -hp+pfk+cr|hp function keys with CR:\ - :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ - :k7=\Ev\r:k8=\Ew\r: - -hp+pfk-cr|hp function keys w/o CR:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew: - -# The hp2621s use the same keys for the arrows and function keys, -# but not separate escape sequences. These definitions allow the -# user to use those keys as arrow keys rather than as function -# keys. -hp+pfk+arrows|hp alternate arrow definitions:\ - :kF=\Er\r:kH=\Eq\r:kR=\Es\r:kd=\Ew\r:kh=\Ep\r:kl=\Eu\r:\ - :kr=\Ev\r:ku=\Et\r: - -hp+arrows|hp arrow definitions:\ - :kF=\ES:kH=\EF:kR=\ET:kd=\EB:kh=\Eh:kl=\ED:kr=\EC:ku=\EA: - -# Generic stuff from the HP 262x series -# -hp262x|HP 262x terminals:\ - :xs:\ - :cd=\EJ:dc=\EP:ip=:kA=\EL:kD=\EP:kE=\EK:kF=\ES:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kd=\EB:ke=\E&s0A:kh=\Eh:\ - :kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:mb=\E&dA:me=\E&d@:mk=\E&dS:\ - :mr=\E&dB:\ - :..sa=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%c:\ - :se=\E&d@:sf=\ES:so=\E&dB:ta=\011:ue=\E&d@:us=\E&dD: - -# Note: no :ho: on HPs since that homes to top of memory, not screen. -# Due to severe 2621 braindamage, the only way to get the arrow keys to -# transmit anything at all is to turn on the function key labels -# with :ks:, and even then the user has to hold down shift! -# The default 2621 turns off the labels except when it has to to -# enable the function keys. If your installation prefers labels -# on all the time, or off all the time (at the "expense" of the -# function keys), use 2621-nl or 2621-wl. -# -# Note: there are newer ROMs for 2621's that allow you to set -# strap A so the regular arrow keys xmit \EA, etc, as with the -# 2645. However, even with this strap set, the terminal stops -# xmitting if you reset it, until you unset and reset the strap! -# Since there is no way to set/unset the strap with an escape -# sequence, we don't use it in the default. -# If you like, you can use 2621-ba (brain-damaged arrow keys). -hp2621-ba|2621 w/new rom and strap A set:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kF=\ES:kH=\EF:kR=\ET:kb=^H:kd=\EB:kh=\Eh:kl=\ED:\ - :kr=\EC:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ - :so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# hp2621 with function labels. Most of the time they are off, -# but inside vi, the function key labels appear. You have to -# hold down shift to get them to xmit. -hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ - :us=\E&dD: -hp2621-fl|hp 2621:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:ke=\E&j@:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p -hp2621p|hp 2621 with printer:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ - :pf=\E&p13C:po=\E&p11C:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ - :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -hp2621p-a|hp2621p with fn as arrows:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:kB=\Ei:kF=\Er\r:\ - :kH=\Eq\r:kR=\Es\r:kb=^H:kd=\Ew\r:ke=\E&jA:kh=\Ep\r:\ - :kl=\Eu\r:kr=\Ev\r:ks=\E&jB:ku=\Et\r:le=^H:me=\E&d@:nd=\EC:\ - :pf=\E&p13C:po=\E&p11C:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ - :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# hp2621 with k45 keyboard -hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ - :so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# 2621 using all 48 lines of memory, only 24 visible at any time. -hp2621-48|48 line 2621:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#48:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dR:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:ho=\EH:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:\ - :k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:\ - :k8=\Ew\r:kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:\ - :nd=\EC:se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# 2621 with no labels ever. Also prevents vi delays on escape. -hp2621-nl|hp 2621 with no labels:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:so=\E&dD:\ - :st=\E1:ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# Needed for UCB ARPAVAX console, since lsi-11 expands tabs -# (wrong). -# -hp2621-nt|hp 2621 w/no tabs:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ - :k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:\ - :kB=\Ei:kb=^H:ke=\E&jA:ks=\E&jB:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ue=\E&d@:up=\EA:us=\E&dD: - -# Hp 2624 B with 4 or 10 pages of memory. -# -# Some assumptions are made with this entry. These settings are -# NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff -# XmitPace=Xon/Xoff -# StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk=Yes -# InhDC2=Yes -# XmitFnctn(A)=No -# InhEolWrp=No -# -# Note: the 2624 DOES have a true :ho:, believe it or not! -# -# The 2624 has an "error line" to which messages can be sent. -# This is CLOSE to what is expected for a "status line". However, -# after a message is sent to the "error line", the next carriage -# return is EATEN and the "error line" is turned back off again! -# So I guess we can't define :hs:, :es:, :ws:, :ds:, :fs:, :ts:. -# -# This entry supports emacs (and any other program that uses raw -# mode) at 4800 baud and less. I couldn't get the padding right -# for 9600. -# -# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr) -hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#96:lw#8:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ - :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ - :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:\ - :l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ - :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:\ - :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD:vb=\E&w13F\E&w12F\E&w13F\E&w12F: - -# This hp2626 entry does not use any of the fancy windowing stuff -# of the 2626. -# -# Indeed, terminfo does not yet handle such stuff. Since changing -# any window clears memory, it is probably not possible to use -# this for screen opt. -# -# ed is incredibly slow most of the time - I am guessing at the -# exact padding. Since the terminal uses xoff/xon this is intended -# only for cost computation, so that the terminal will prefer el -# or even dl1 which is probably faster! -# -# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only -# extra slow on the last line of the window. -# -# The padding probably should be changed. -# -hp2626|hp2626a|hp2626p|hp 2626:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ - :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ - :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ - :mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:\ - :mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# This entry is for sysline. It allocates a 23 line window with -# a 115 line workspace for regular use, and a 1 line window for -# the status line. -# -# This assumes port 2 is being used. -# Turn off horizontal line, Create ws #1 with 115 lines, -# Create ws #2 with 1 line, Create window #1 lines 1-23, -# Create window #2 lines 24-24, Attach cursor to workspace #1. -# Note that this clears the tabs so it must be done by tset before -# it sets the tabs. -# -hp2626-s|hp 2626 using only 23 lines:\ - :am:bw:da:db:es:hs:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#23:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ - :fs=\E&d@\E&w7f2p1I\E&w4f1I:ho=\E&a0y0C:\ - :i1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r:\ - :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ - :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ - :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ - :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ - :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ - :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:\ - :ts=\E&w7f2p2I\E&w4f2I\r\EK\E&a%dC:ue=\E&d@:up=\EA:\ - :us=\E&dD: -# Force terminal back to 24 lines after being 23. -hp2626-ns|hp 2626 using all 24 lines:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&q3t0{0H \E&w0f118n1I \E&w0f1n2I \E&w2f1i0d0u23l0S \E&w3f2I \E&w7f2p1I \r:\ - :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ - :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ - :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ - :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ - :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ - :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: -# Various entries useful for small windows on 2626. -hp2626-12|hewlett-packard 2626 12 lines:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#12:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ - :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ - :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ - :mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:\ - :mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: -hp2626-12x40|hewlett-packard 2626 12 lines 40 columns:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#40:lh#2:li#12:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ - :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ - :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ - :mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:\ - :mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: -hp2626-x40|hewlett-packard 2626 40 columns:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#40:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:\ - :k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:\ - :l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:\ - :mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:\ - :mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: -hp2626-12-s|hewlett-packard 2626 11 lines plus status:\ - :am:bw:da:db:es:hs:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#11:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:SF=\E&r%dD:SR=\E&r%dU:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\ED\EJ\EC:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ - :fs=\E&d@\E&w7f2p1I\E&w4f1I:ho=\E&a0y0C:\ - :i1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r:\ - :im=\EQ:ip=:is=\E&j@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ - :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:\ - :kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ - :kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ - :kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:\ - :l6=f7:l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:\ - :ts=\E&w7f2p2I\E&w4f2I\r\EK\E&a%dC:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# -# hp2627 color tubes from University of Wisconsin -# -hp2627a-rev|hp 2627 with reverse video colors:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:\ - :is=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3\r:\ - :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ - :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ - :nd=\EC:nw=^M^J:se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=^I:\ - :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: -hp2627a|hp 2627 color terminal with no labels:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:\ - :is=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r:\ - :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ - :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ - :nd=\EC:nw=^M^J:se=\E&v0S:sf=^J:so=\E&v2S:st=\E1:ta=^I:\ - :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: -hp2627c|hp 2627 color (cyan) terminal with no labels:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:\ - :is=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r:\ - :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ - :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kb=^H:kd=^J:kl=^H:le=^H:me=\E&d@:\ - :nd=\EC:nw=^M^J:se=\E&v0S:sf=^J:so=\E&v2S:st=\E1:ta=^I:\ - :ue=\E&v0S\E&d@:up=\EA:us=\E&dD\E&v1S: - -# hp2640a doesn't have the Y cursor addressing feature, and C is -# memory relative instead of screen relative, as we need. -# -hp2640a|hp 2640a:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#24:lm#0:pb#9600:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:cr=\r:\ - :ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:im=\EQ:kA=\EL:\ - :kB=\Ei:kD=\EP:kE=\EK:kF=\ES:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:\ - :kP=\EV:kR=\ET:kS=\EJ:kT=\E1:kb=^H:kd=\EB:kh=\Eh:kl=\ED:\ - :kr=\EC:kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:\ - :mr=\E&dB:nd=\EC:\ - :..sa=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -hp2640b|hp2644a|hp 264x series:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#24:lm#0:pb#9600:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ - :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ - :kb=^H:kd=\EB:kh=\Eh:kl=\ED:kr=\EC:kt=\E2:ku=\EA:le=^H:\ - :mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:nd=\EC:\ - :..sa=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# (hp2641a: removed unknown :gu: -- esr) -hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry:\ - :am:da:db:mi:xs:\ - :co#80:li#24:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%2C:cl=\EH\EJ:\ - :cm=\E&a%r%2c%2Y:cr=^M:cv=\E&a%2Y:dc=\EP:dl=\EM:do=^J:\ - :ei=\ER:if=/usr/share/tabset/std:im=\EQ:is=500\EE:kb=^H:\ - :kd=^J:kl=^H:le=^H:nd=\EC:nw=^M^J:se=\E&d@:sf=^J:so=\E&dB:\ - :ta=^I:up=\EA: - -# This terminal should be used at 4800 baud or less. It needs padding for -# plain characters at 9600, I guessed at an appropriate cr delay. It really -# wants ^E/^F handshaking, but that doesn't work well even if you write -# software to support it. -hp2645|hp45|HP 2645 series:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#24:lm#0:pb#9600:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ - :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ - :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ - :kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:\ - :nd=\EC:\ - :..sa=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: -# You should use this terminal at 4800 baud or less. -hp2648|hp2648a|HP 2648a graphics terminal:\ - :am:bs:da:db:mi:pt:xs:\ - :co#80:li#24:lm#0:pb#9600:vt#6:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=\r:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:kA=\EL:kB=\Ei:kD=\EP:kE=\EK:kF=\ES:\ - :kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ET:kS=\EJ:kT=\E1:\ - :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ - :kt=\E2:ku=\EA:le=^H:mb=\E&dA:me=\E&d@:mh=\E&dH:mr=\E&dB:\ - :nd=\EC:\ - :..sa=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# The HP 150 terminal is a fairly vanilla HP terminal, with the -# clreol standout problem. It also has graphics capabilities and -# a touch screen, which we don't describe here. -hp150|hewlett packard Model 150:\ - :am:bs:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ - :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# HP 2382a terminals, "the little ones." They don't have any -# alternate character set support and sending out ^N/^O will -# leave the screen blank. -hp2382a|hp2382|hewlett packard 2382a:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:\ - :ch=\E&a%dC:cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ - :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:\ - :kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:\ - :kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@:\ - :mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -hp2621-a|hp2621a-a|hp2621 with fn as arrows:\ - :am:bs:da:db:mi:pt:xo:\ - :co#80:li#24:lm#0:pb#19200:vt#6:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ - :do=^J:ei=\ER:im=\EQ:ip=:is=\E&j@\r:kB=\Ei:kF=\Er\r:\ - :kH=\Eq\r:kR=\Es\r:kb=^H:kd=\Ew\r:ke=\E&j@:kh=\Ep\r:\ - :kl=\Eu\r:kr=\Ev\r:ks=\E&jB:ku=\Et\r:le=^H:me=\E&d@:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# newer hewlett packard terminals - -newhpkeyboard|generic entry for HP extended keyboard:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ - :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ - :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA: - -newhp|generic entry for new hewlett packard terminals:\ - :am:bw:mi:xo:xs:\ - :co#80:li#24:pb#4800:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:cr=^M:ct=\E3:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:i1=\E&jB:im=\EQ:ip=:k1=\Ep:\ - :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:mb=\E&dA:\ - :md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:\ - :nw=^M^J:..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -memhp|memory relative addressing for new HP ttys:\ - :am:bw:mi:xo:xs:\ - :co#80:li#24:pb#4800:vt#6:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:RI=\E&a+%dC:\ - :UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%dr%dC:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:ho=\EH:i1=\E&jB:im=\EQ:ip=:k1=\Ep:\ - :k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:\ - :kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:\ - :kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:ll=\E&a23R\r:\ - :mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:mk=\E&dS:\ - :mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -scrhp|screen relative addressing for new HP ttys:\ - :am:bw:mi:xo:xs:\ - :co#80:li#24:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:RI=\E&a+%dC:\ - :UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ - :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ - :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:\ - :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:\ - :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# (hp+labels: added label values from a BRL termcap -- esr) -hp+labels|"standard" label info for new HP ttys:\ - :Nl#8:lh#2:lw#8:\ - :LF=\E&j@:LO=\E&jB:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s: - -hp+printer|"standard" printer info for HP ttys:\ - :ff=\E&p4u0C:pf=\E&p13C:po=\E&p11C:ps=\EH\E&p4dF: - - -# The new hp2621b is kind of a cross between the old 2621 and the -# new 262x series of machines. It has dip-switched options. -# The firmware has a bug in it such that if you give it a null -# length label, the following character is eaten! -hp2621b|hp 2621b with old style keyboard:\ - :am:bs:da:db:mi:pt:xo:\ - :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ - :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:\ - :k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:k7=\Ev\r:\ - :k8=\Ew\r:kB=\Ei:kF=\ET:kH=\EF:kR=\ES:kb=^H:kd=\EB:ke=\E&jA:\ - :kh=\Eh:kl=\ED:kr=\EC:ks=\E&jB:ku=\EA:le=^H:me=\E&d@:nd=\EC:\ - :..pn=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -hp2621b-p|hp 2621b with printer:\ - :am:bs:da:db:mi:pt:xo:\ - :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ - :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:im=\EQ:ip=:is=\E&jA\r:\ - :k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:k6=\Eu\r:\ - :k7=\Ev\r:k8=\Ew\r:kB=\Ei:kF=\ET:kH=\EF:kR=\ES:kb=^H:kd=\EB:\ - :ke=\E&jA:kh=\Eh:kl=\ED:kr=\EC:ks=\E&jB:ku=\EA:le=^H:\ - :me=\E&d@:nd=\EC:pf=\E&p13C:\ - :..pn=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r:\ - :po=\E&p11C:ps=\EH\E&p4dF:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ - :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# hp2621b - new 2621b with new extended keyboard -# these are closer to the new 26xx series than the other 2621b -hp2621b-kx|hp 2621b with extended keyboard:\ - :am:bs:da:db:mi:pt:xo:\ - :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ - :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep:k2=\Eq:\ - :k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:\ - :kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:\ - :kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ - :kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:\ - :..pn=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r:\ - :se=\E&d@:sf=^J:so=\E&dD:st=\E1:ta=\011:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -hp2621b-kx-p|hp 2621b with new keyboard & printer:\ - :am:bs:da:db:mi:pt:xo:\ - :Nl#8:co#80:lh#1:li#24:lm#48:lw#8:pb#19200:vt#6:\ - :LO=\E&jB:al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:im=\EQ:ip=:is=\E&jA\r:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ - :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ - :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:le=^H:\ - :me=\E&d@:nd=\EC:pf=\E&p13C:\ - :..pn=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r:\ - :po=\E&p11C:ps=\EH\E&p4dF:se=\E&d@:sf=^J:so=\E&dD:st=\E1:\ - :ta=\011:ue=\E&d@:up=\EA:us=\E&dD: - -# Some assumptions are made in the following entries. -# These settings are NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff XmitPace=Xon/Xoff StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk(G)=Yes InhDC2(H)=Yes -# XmitFnctn(A)=No InhEolWrp=No -# -# -# Hp 2622a & hp2623a display and graphics terminals -# -hp2622|hp2622a|hp 2622:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ - :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -# The 2623 is a 2622 with extra graphics hardware. -hp2623|hp2623a|hp 2623:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:pb#19200:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :is=\E&dj@\r:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:k5=\Et\r:\ - :k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ES:kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD: - -hp2624b-p|hp2624b-4p-p|hewlett packard 2624 B with printer:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#96:lw#8:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ - :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:\ - :kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:\ - :kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :pf=\E&p13C:..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :po=\E&p11C:ps=\EH\E&p4dF:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD:vb=\E&w13F\E&w12F\E&w13F\E&w12F: - -# The hewlett packard B can have an optional extra 6 pages of memory. -hp2624-10p|hp2624a-10p|hp2624b-10p|hewlett packard 2624 B w/ 10 pages of memory:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#240:lw#8:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ho=\E&a0y0C:i1=\E&jB:im=\EQ:ip=:\ - :k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:\ - :kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:kH=\EF:kI=\EQ:\ - :kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:kb=^H:kd=\EB:\ - :ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:l0=f1:\ - :l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ - :ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:\ - :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD:vb=\E&w13F\E&w12F\E&w13F\E&w12F: - -hp2624b-10p-p|hewlett packard 2624 B w/ extra memory & printer:\ - :am:bw:da:db:mi:xo:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#240:lw#8:pb#4800:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:\ - :RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0c0Y\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=^J:ei=\ER:ff=\E&p4u0C:ho=\E&a0y0C:\ - :i1=\E&jB:im=\EQ:ip=:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:\ - :k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:\ - :kF=\ET:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:\ - :kS=\EJ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:\ - :l7=f8:le=^H:ll=\E&a0y0C\EA:mb=\E&dA:md=\E&dF:\ - :me=\E&d@\017:mh=\E&dH:mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :pf=\E&p13C:..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :po=\E&p11C:ps=\EH\E&p4dF:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sr=\ET:st=\E1:ta=\011:ue=\E&d@:\ - :up=\EA:us=\E&dD:vb=\E&w13F\E&w12F\E&w13F\E&w12F: - -# Color manipulations for HP terminals -hp+color|hp with colors:\ - :cc:\ - :Co#16:NC#17:pa#7:\ - :Ip=:..Ip=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.%p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1%e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=%t1%e.%p7%d%;z%p1%dI:\ - :oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I:\ - :op=\E&v0S:sp=\E&v%dS: - -# :is: sets the screen to be 80 columns wide -hp2397a|hp2397|hewlett packard 2397A color terminal:\ - :am:bw:cc:mi:xo:xs:\ - :Co#16:NC#17:Nl#8:co#80:lh#2:li#24:lw#8:pa#7:pb#4800:vt#6:\ - :CM=\E&a%dr%dC:DO=\E&a+%dR:\ - :Ip=:..Ip=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.%p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1%e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=%t1%e.%p7%d%;z%p1%dI:\ - :LE=\E&a-%dC:LF=\E&j@:LO=\E&jB:RI=\E&a+%dC:UP=\E&a-%dR:\ - :ac=T1R!U2S"W3O#V4P$t5u6w7v8\:'9(LQKWlRkT5I3@2[MAJSmFjGdHQ;Y+Z*X\:4>q,x.n/:\ - :ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\EH\EJ:cm=\E&a%dr%dC:cr=^M:ct=\E3:cv=\E&a%dR:dc=\EP:\ - :dl=\EM:do=^J:ei=\ER:ho=\EH:i1=\E&jB:im=\EQ:ip=:\ - :is=\E&w6f80X:k1=\Ep:k2=\Eq:k3=\Er:k4=\Es:k5=\Et:k6=\Eu:\ - :k7=\Ev:k8=\Ew:kA=\EL:kB=\Ei:kC=\EJ:kD=\EP:kE=\EK:kF=\ET:\ - :kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:kR=\ES:kS=\EJ:\ - :kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:\ - :ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:le=^H:\ - :ll=\E&a23R\r:mb=\E&dA:md=\E&dF:me=\E&d@\017:mh=\E&dH:\ - :mk=\E&dS:mr=\E&dB:nd=\EC:nw=^M^J:\ - :oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I:\ - :op=\E&v0S:..pk=\E&f0a%p1%dk0d%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk0d%p2%l%dL%p2%s:\ - :..pn=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s:\ - :..px=\E&f2a%p1%dk0d%p2%l%dL%p2%s:r1=\Eg:\ - :..sa=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;:\ - :se=\E&d@:sf=^J:so=\E&dJ:sp=\E&v%dS:sr=\ET:st=\E1:ta=\011:\ - :ue=\E&d@:up=\EA:us=\E&dD: - -# -# (hp2392: copied :ei: here from hpex -- esr) -hp2392|239x series:\ - :am:da:db:mi:xo:xs:\ - :co#80:li#24:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%dy%dC:cr=^M:cv=\E&a%dY:dc=\EP:dl=\EM:do=\EB:\ - :ei=\ER:if=/usr/share/tabset/stdcrt:im=\EQ:\ - :is=\E&s1A\E<\E&k0\\:k1=\Ep\r:k2=\Eq\r:k3=\Er\r:k4=\Es\r:\ - :k5=\Et\r:k6=\Eu\r:k7=\Ev\r:k8=\Ew\r:kF=\EU:kN=\Eu:kP=\Ev:\ - :kR=\EV:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ - :so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: - -hpsub|hp terminals -- capability subset:\ - :am:da:db:mi:xo:xs:\ - :li#24:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:cr=^M:\ - :dc=\EP:dl=\EM:do=\EB:if=/usr/share/tabset/stdcrt:\ - :is=\E&s1A\E<\E&k0\\:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:\ - :kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:\ - :sf=^J:so=\E&dB:ta=^I:up=\EA: - -# hpex: -# May be used for most 24 x 80 hp terminals, -# but has no padding added, so may allow runover in some terminals at high -# baud rates. Will not work for hp2640a or hp2640b terminals, hp98x6 and -# hp98x5 terminal emulators or hp98x6 consoles. -# Adds xy-cursor addressing, vertical cursor addressing, home, -# last line, and underline capabilities. -# -# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:", -# moved :ei: here from hpsub -- esr) -hpex|hp extended capabilites:\ - :am:da:db:mi:xo:xs:\ - :li#24:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ - :cm=\E&a%dy%dC:cr=^M:cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ - :if=/usr/share/tabset/stdcrt:im=\EQ:\ - :is=\E&s1A\E<\E&k0\\:kb=^H:kd=^J:ke=\E&s0A:kh=\Eh:kl=^H:\ - :kr=\EC:ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:nw=^M^J:\ - :se=\E&d@:sf=^J:so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: - -# From: Ville Sulko , 05 Aug 1996 -hp2|hpex2|hewlett-packard extended capabilities newer version:\ - :am:da:db:mi:xs:\ - :Nl#8:co#80:lh#2:li#24:lm#0:lw#8:sg#0:ug#0:\ - :LF=\E&j@:LO=\E&jB:al=\EL:bl=^G:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=\EB:ei=\ER:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ - :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ - :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:me=\E&d@:\ - :ml=\El:mu=\Em:nd=\EC:..pk=\E&f%p1%dk%p2%l%dL%p2%s:\ - :..pl=\E&f1a%p1%dk%p2%l%dL%p2%s:\ - :..pn=\E&f%p1%dk%p2%l%dd0L%p2%s:\ - :..px=\E&f2a%p1%dk%p2%l%dL%p2%s:\ - :..sa=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;:\ - :se=\E&d@:sf=^J:so=\E&dB:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD: - -# HP 236 console -# From: -hp236|hp236 internal terminal emulator:\ - :am:bs:\ - :co#80:li#24:\ - :al=\EG:ce=\EK:cl=\EF:cm=\EE%+ %+ :dc=\EJ:dl=\EH:ei=:ic=\EI:\ - :im=:le=^H:me=\ECI:se=\ECI:so=\EBI:up=^K:ve=\EDE:vs=\EDB: - -# This works on a hp300 console running Utah 4.3 BSD -# From: Craig Leres -hp300h|HP Catseye console:\ - :am:bs:da:db:mi:xs:\ - :co#128:li#51:lm#0:sg#0:ug#0:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:cv=\E&a%dY:\ - :dc=\EP:dl=\EM:do=\EB:ei=\ER:if=/usr/share/tabset/stdcrt:\ - :im=\EQ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:se=\E&d@:sf=^J:\ - :so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: -# From: Greg Couch -hp9837|hp98720|hp98721|HP 9000/300 workstations:\ - :am:bs:da:db:mi:xs:\ - :co#128:it#8:li#46:lm#0:\ - :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:\ - :cl=\E&a0y0C\EJ:cm=\E&a%dy%dC:ct=\E3:cv=\E&a%dY:dc=\EP:\ - :dl=\EM:do=\EB:ei=\ER:im=\EQ:is=\E&v0m1b0i&j@:kA=\EL:\ - :kD=\EP:kE=\EK:kI=\EQ:kL=\EM:kN=\EU:kP=\EV:kS=\EJ:kb=^H:\ - :kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:ks=\E&s1A:ku=\EA:\ - :le=^H:me=\E&d@:nd=\EC:se=\E&v0S:sf=^J:so=\E&v5S:st=\E1:\ - :ta=^I:ue=\E&d@:up=\EA:us=\E&dD: -# HP 9845 desktop computer from BRL -# (hp9845: removed unknown capability :gu: -- esr) -hp9845|HP 9845:\ - :am:bs:da:db:eo:mi:xs:\ - :co#80:li#21:\ - :al=\EL:bc=\ED:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\E&a%r%2c%2Y:\ - :dc=\EP:dl=\EM:ei=\ER:if=/usr/share/tabset/std:im=\EQ:\ - :nd=\EC:se=\E&d@:so=\E&dB:up=\EA: -# From: Charles A. Finnell of MITRE , developed 07SEP90 -# (hp98550: replaced /usr/share/tabset/9837 with std because :it#8:,:st=\E1:; -# added empty to avoid warnings re :as:/:ae: --esr) -hp98550|hp98550a|HP 9000 Series 300 color console:\ - :am:bs:da:db:mi:xs:\ - :co#128:it#8:li#49:lm#0:\ - :ac=:ae=^O:al=\EL:as=^N:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:\ - :ch=\E&a%dC:cl=\EH\EJ:cm=\E&a%dy%dC:cr=^M:ct=\E3:\ - :cv=\E&a%dY:dc=\EP:dl=\EM:do=^J:ei=\ER:\ - :if=/usr/share/tabset/std:im=\EQ:k1=\Ep:k2=\Eq:k3=\Er:\ - :k4=\Es:k5=\Et:k6=\Eu:k7=\Ev:k8=\Ew:kA=\EL:kC=\EJ:kD=\EP:\ - :kE=\EK:kF=\ES:kH=\EF:kI=\EQ:kL=\EM:kM=\ER:kN=\EU:kP=\EV:\ - :kR=\ET:kS=\EJ:kT=\E1:ka=\E3:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:\ - :kl=\ED:kr=\EC:ks=\E&s1A:kt=\E2:ku=\EA:le=^H:mb=\E&dA:\ - :md=\E&dJ:me=\E&d@:mh=\E&dH:mk=\E&ds:mr=\E&dJ:nd=\EC:\ - :se=\E&d@:sf=^J:so=\E&dJ:st=\E1:ta=^I:ue=\E&d@:up=\EA:\ - :us=\E&dD:ve=\E*dQ:vi=\E*dR: - -bobcat|sbobcat|HP 9000 model 300 console:\ - :am:da:db:mi:xs:\ - :co#128:it#8:li#47:sg#0:ug#0:\ - :al=10*\EL:bt=\Ei:cd=\EJ:ce=\EK:ch=6\E&a%dC:cl=\EH\EJ:\ - :cm=6\E&a%dy%dC:cr=^M:cv=6\E&a%dY:dc=\EP:dl=10*\EM:do=\EB:\ - :ei=\ER:im=\EQ:kb=^H:kd=\EB:ke=\E&s0A:kh=\Eh:kl=\ED:kr=\EC:\ - :ks=\E&s1A:ku=\EA:le=^H:me=\E&d@:nd=\EC:nw=^M^J:se=\E&d@:\ - :sf=^J:so=\E&dB:ta=^I:ue=\E&d@:up=\EA:us=\E&dD: -gator-t|HP 9000 model 237 emulating extra-tall AAA:\ - :bw:km:mi:ul:\ - :co#128:it#8:li#94:\ - :AL=1*\E[%dL:DC=4\E[%dP:DL=1*\E[%dM:IC=4\E[%d@:al=\E[L:\ - :bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:\ - :ic=\E[@:im=:kb=^H:kd=^J:kl=^H:le=^H:me=\E[m:mr=\E[7m:\ - :nd=\E[C:nw=^M^J:rp=1*%.\E[%db:se=\E[m:so=\E[7m:ta=^I:\ - :ue=\E[m:up=\EM:us=\E[4m: -gator|HP 9000 model 237 emulating AAA:\ - :bw:km:mi:ul:\ - :co#128:it#8:li#47:\ - :AL=1*\E[%dL:DC=4\E[%dP:DL=1*\E[%dM:IC=4\E[%d@:al=\E[L:\ - :bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=:ho=\E[H:\ - :ic=\E[@:im=:kb=^H:kd=^J:kl=^H:le=^H:me=\E[m:mr=\E[7m:\ - :nd=\E[C:nw=^M^J:rp=1*%.\E[%db:se=\E[m:so=\E[7m:ta=^I:\ - :ue=\E[m:up=\EM:us=\E[4m: -gator-52|HP 9000 model 237 emulating VT52:\ - :bs:\ - :co#128:it#8:li#47:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :\ - :cr=^M:do=\EB:ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:\ - :le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA: -gator-52t|HP 9000 model 237 emulating extra-tall VT52:\ - :bs:\ - :co#128:it#8:li#94:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :\ - :cr=^M:do=\EB:ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:\ - :le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA: - -#### Honeywell-Bull -# -# From: Michael Haardt 11 Jan 93 -# - -# Honeywell Bull terminal. Its cursor and function keys send single -# control characters and it has standout/underline glitch. Most programs -# do not like these features/bugs. Visual bell is realized by flashing the -# "keyboard locked" LED. -dku7003-dumb|Honeywell Bull DKU 7003 dumb mode:\ - :co#80:li#25:\ - :cd=^_:ce=\E[K:cl=^]^_:cm=\E[%i%d;%dH:cr=^M:do=^K:ho=^]:\ - :kb=^H:kd=^K:kh=^]:kl=^Y:kr=^X:ku=^Z:le=^Y:nd=^X:nw=^M^J:\ - :sf=^J:ta=^I:up=^Z:vb=\E[2h\E[2l: -dku7003|Honeywell Bull DKU 7003 all features described:\ - :ms:\ - :co#80:li#25:sg#1:ug#1:\ - :cd=^_:ce=\E[K:cl=^]^_:cm=\E[%i%d;%dH:cr=^M:do=^K:ho=^]:\ - :kb=^H:kd=^K:kh=^]:kl=^Y:kr=^X:ku=^Z:le=^Y:mb=\E[5m:md=\E[7m:\ - :me=\E[m:mh=\E[2m:mr=\E[7m:nd=^X:nw=^M^J:se=\E[m:sf=^J:\ - :so=\E[7m:ta=^I:ue=\E[m:up=^Z:us=\E[4m:vb=\E[2h\E[2l: - #### IBM # @@ -19089,147 +25390,97 @@ ibm327x|line mode IBM 3270 style:\ :gn:\ :ce=^M:cl=^M^J:ho=^M: -# Beware! The 3101 entry IBM shipped with AIX 3 is *wrong*. Losers... -# From: J.B. Nicholson-Owens 8 Mar 94 -# (ibm3101: :if=/usr/share/tabset/ibm3101: removed, no such file -- esr) -# Some versions of this that have :ct=\EH:; they may ort may not be broken. ibm3101|i3101|IBM 3101-10:\ :am:bs:xo:\ :co#80:li#24:\ - :bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:ct=\E1:do=^J:\ - :ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=^H:nd=\EC:\ - :nw=^M^J:sf=^J:st=\E0:ta=^I:up=\EA: + :bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:ct=\EH:do=^J:\ + :ho=\EH:kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=^H:nd=\EC:nw=^M^J:\ + :sf=^J:st=\E0:up=\EA: ibm3151|IBM 3151 display:\ :am:bs:mi:ms:\ :co#80:it#8:li#24:\ - :@7=\E2:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ + :F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ :F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:FA=\E!h\r:\ :FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:\ - :ac=l\354q\361k\353x\370j\352m\355w\367u\365v\366t\364n\356:\ - :ae=\E>B:as=\E>A:bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:\ + :ac=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370:\ + :ae=\E>B:al=\EN:as=\E>A:bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:\ :cm=\EY%+ %+ :cr=^M:dc=\EQ:dl=\EO:do=\EB:ho=\EH:is=\E S:\ :k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:k4=\Ed\r:k5=\Ee\r:k6=\Ef\r:\ :k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:k;=\Ej\r:kA=\EN:kB=\E2:\ - :kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:kL=\EO:kN=\EI:kP=\EL:\ - :kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ - :kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:me=\E4@\E>B:mk=\E4P:\ - :mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:rs=\E S:s0=\E>B:\ - :..sa=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;:\ - :se=\E4@:sf=^J:so=\E4A:te=\E>B:ti=\E>B:ue=\E4@:up=\EA:\ - :us=\E4B: -# From: Mark Easter 29 Oct 1992 -# I've commented out or translated some IBM extensions. -# , :kN:, :kP:, , merged in from AIX 3.2.5 + :kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:kL=\EO:kS=\EJ:kT=\E0:\ + :ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:kt=\E1:ku=\EA:\ + :le=\ED:mb=\E4$a:md=\E4(a:me=\E4@:mk=\E40a:mr=\E4!a:nd=\EC:\ + :pf=^P^T:po=^P^R:rs=\E S:s0=\E>B:s1=\E>A:se=\E4>b:sf=^J:\ + :so=\E4!a:te=\E>B:ti=\E>B:ue=\E4=b:up=\EA:us=\E4"a: +# From: Mark Easter 29 Oct 1992 +# removed kend, knp, kpp -TD ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display:\ :am:bs:mi:ms:\ :co#80:it#8:li#24:\ - :@7=\E2:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ + :F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ :F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:FA=\E!h\r:\ :FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:\ - :ac=l\354q\361k\353x\370j\352m\355w\367u\365v\366t\364n\356:\ + :ac=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370:\ :bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dc=\EQ:\ :dl=\EO:do=\EB:ho=\EH:k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:k4=\Ed\r:\ :k5=\Ee\r:k6=\Ef\r:k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:k;=\Ej\r:\ :kA=\EN:kB=\E2:kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:kL=\EO:\ - :kN=\EI:kP=\EL:kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:\ - :kl=\ED:kr=\EC:kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:\ - :me=\E4@\E<@:mk=\E4P:mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:\ - :..sa=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;:\ - :se=\E4@:sf=^J:so=\E4A:te=\E>A:ti=\E>A:ue=\E4@:up=\EA:\ - :us=\E4B: + :kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:me=\E4@\E<@:mk=\E4P:\ + :mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:se=\E4@:sf=^J:so=\E4A:\ + :te=\E>A:ti=\E>A:ue=\E4@:up=\EA:us=\E4B: ibm3161-C|IBM 3161-C NLS terminal using cartridge:\ :am:bs:mi:ms:\ :co#80:it#8:li#24:\ - :@7=\E2:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ + :F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ :F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:FA=\E!h\r:\ :FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:\ - :ac=l\354q\361k\353x\370j\352m\355w\367u\365v\366t\364n\356:\ + :ac=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370:\ :bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dc=\EQ:\ :dl=\EO:do=\EB:ho=\EH:k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:k4=\Ed\r:\ :k5=\Ee\r:k6=\Ef\r:k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:k;=\Ej\r:\ :kA=\EN:kB=\E2:kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:kL=\EO:\ - :kN=\EI:kP=\EL:kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:\ - :kl=\ED:kr=\EC:kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:\ - :me=\E4@\E<@:mk=\E4P:mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:\ - :s0=\E>B:s1=\E>A:\ - :..sa=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;:\ - :se=\E4@:sf=^J:so=\E4A:te=\E>B:ti=\E>B:ue=\E4@:up=\EA:\ - :us=\E4B: + :kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:me=\E4@\E<@:mk=\E4P:\ + :mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:s0=\E>B:s1=\E>A:se=\E4@:\ + :sf=^J:so=\E4A:te=\E>B:ti=\E>B:ue=\E4@:up=\EA:us=\E4B: ibm3162|IBM 3162 display:\ :am:bs:mi:ms:\ :co#80:it#8:li#24:\ - :@7=\E2:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ + :F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ :F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:FA=\E!h\r:\ :FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:\ - :ac=l\354q\361k\353x\370j\352m\355w\367u\365v\366t\364n\356:\ + :ac=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370:\ :al=\EN:bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\ :dc=\EQ:dl=\EO:do=\EB:ho=\EH:k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:\ :k4=\Ed\r:k5=\Ee\r:k6=\Ef\r:k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:\ :k;=\Ej\r:kA=\EN:kB=\E2:kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:\ - :kL=\EO:kN=\EI:kP=\EL:kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:kt=\E1:ku=\EA:le=\ED:mb=\E4$a:\ - :md=\E4(a:me=\E4@:mk=\E40a:mr=\E4!a:nd=\EC:pf=^P^T:po=^P^R:\ - :s0=\E>B:s1=\E>A:\ - :..sa=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;:\ + :kL=\EO:kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:\ + :kr=\EC:kt=\E1:ku=\EA:le=\ED:mb=\E4$a:md=\E4(a:me=\E4@\E<@:\ + :mk=\E40a:mr=\E4!a:nd=\EC:pf=^P^T:po=^P^R:s0=\E>B:s1=\E>A:\ :se=\E4>b:sf=^J:so=\E4!a:te=\E>B:ti=\E>B:ue=\E4=b:up=\EA:\ :us=\E4"a: -# How the 3164 sgr string works: -# %{32} # push space for no special video characteristics -# %?%p2%t%{1}%|%; # if p2 set, then OR the 1 bit for reverse -# %?%p3%t%{4}%|%; # if p3 set, then OR the 4 bit for blink -# %?%p4%t%{2}%|%; # if p4 set, then OR the 2 bit for underline -# %c # pop Pa1 -# %{39}%p1%- # calculate 32 + (7 - p1) for foreground -# %c # pop Pa2 -# %{64} # use only black background for now -# %c # pop Pa3 -# (ibm3164: merged :ms:,,,, from AIX 3.2.5 -- esr) +# This really should not use setab/setaf, but it is clear that the +# original terminfo does not toggle red/blue colors as in setb/setf. ibm3164|i3164|IBM 3164:\ :am:bs:mi:ms:\ :Co#8:co#80:it#8:li#24:pa#64:\ - :@7=\E2:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:F5=\E!c\r:\ - :F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:FA=\E!h\r:\ - :FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:Sb=\E4 %+@:\ - :..Sf=\E4%?%p1%t %p1%{32}%+%c%e!'%;@:\ - :ac=l\354q\361k\353x\370j\352m\355w\367u\365v\366t\364n\356:\ + :AB=\E4 %+@:F1=\Ek\r:F2=\El\r:F3=\E!a\r:F4=\E!b\r:\ + :F5=\E!c\r:F6=\E!d\r:F7=\E!e\r:F8=\E!f\r:F9=\E!g\r:\ + :FA=\E!h\r:FB=\E!i\r:FC=\E!j\r:FD=\E!k\r:FE=\E!l\r:\ + :ac=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370:\ :bl=^G:cd=\EJ:ce=\EI:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dc=\EQ:\ :dl=\EO:do=\EB:ho=\EH:k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:k4=\Ed\r:\ :k5=\Ee\r:k6=\Ef\r:k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:k;=\Ej\r:\ :kA=\EN:kB=\E2:kC=\EL\r:kD=\EQ:kE=\EI:kI=\EP \010:kL=\EO:\ - :kN=\EI:kP=\EL:kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:\ - :kl=\ED:kr=\EC:kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:me=\E4@:\ - :mk=\E4P:mr=\E4A:nd=\EC:pf=^P^T:po=^P^R:\ - :..sa=\E4%{32}%?%p2%t%{1}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%c%{39}%p1%-%c%{64}%c:\ - :se=\E4@:sf=^J:so=\E4A:te=\E>A:ti=\E>A:ue=\E4@:up=\EA:\ - :us=\E4B: + :kS=\EJ:kT=\E0:ka=\E 1:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :kt=\E1:ku=\EA:le=\ED:mb=\E4D:md=\E4H:me=\E4@\E<@:mk=\E4P:\ + :mr=\E4A:nd=\EC:op=\E4 "@:pf=^P^T:po=^P^R:s0=\E>B:s1=\E>A:\ + :se=\E4@:sf=^J:so=\E4A:te=\E!9(N\E>B:ti=\E!9/N\E>B:\ + :ue=\E4@:up=\EA:us=\E4B: -# From: -# (ibm5081: merged acsc, s0ds, s1ds, sgr0 into ibm5081 from AIX 3.2.5. -- esr) -ibm5081|ibmmpel|IBM 5081 1024x1024 256/4096 Megapel color display:\ - :am:bs:es:hs:xo:\ - :co#80:li#33:\ - :ac=jjkkllmmnnqqttuuvvwwxx:al=\EL:bl=^G:cd=\EJ:ce=\EI:\ - :cl=\EK:cm=\EY%+ %+ :cr=^M:ct=\E1:dl=\EM:do=^J:\ - :ds=\Ej\EYA \EI\Ek:fs=\Ek:ho=\EH:k0=\E<:k1=\ES:k2=\ET:\ - :k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:k9=\EY:kF=\EE:\ - :kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=\EB:kh=\EH:kl=\ED:\ - :kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:me=\E[0m\E(B:\ - :mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:s0=\E(B:s1=\E(0:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EYA%+ \Eo:ue=\Ew:up=\EA:us=\EW: -ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display:\ - :am:bs:es:hs:xo:\ - :co#80:li#33:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EYA \EI\Ek:fs=\Ek:ho=\EH:\ - :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ - :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ - :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ - :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EYA%+ \Eo:ue=\EB:up=\EA:us=\EF\Ef2;: ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display:\ :am:bw:ms:xo:\ :co#80:it#8:li#25:\ @@ -19241,212 +25492,17 @@ ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display:\ :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:rc=\E[u:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm5154|IBM 5154 Color display:\ - :am:bw:ms:xo:\ - :Co#8:co#80:it#8:li#25:pa#64:\ - :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ - :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ - :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ - :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ - :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ - :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:mb=\E[5m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:\ - :rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm6153|IBM 6153 Black & White display:\ - :am:bw:ms:xo:\ - :co#80:it#8:li#25:\ - :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ - :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ - :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ - :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ - :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ - :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:md=\E[12m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :rc=\E[u:rs=\Ec:s0=\E[10m:s1=\E[11m:s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm6153-90|IBM 6153 Black & White display:\ - :am:bw:ms:xo:\ - :co#90:it#8:li#36:\ - :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ - :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ - :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ - :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ - :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ - :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm6153-40|IBM 6153 Black & White display:\ - :am:bw:ms:xo:\ - :co#40:it#8:li#12:\ - :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ - :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ - :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ - :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ - :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ - :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm6154|IBM 6154 Color displays:\ - :am:bw:ms:xo:\ - :Co#8:co#80:it#8:li#25:pa#64:\ - :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ - :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ - :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ - :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ - :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ - :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ - :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:md=\E[12m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :rc=\E[u:rs=\Ec:s0=\E[10m:s1=\E[11m:s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm6155|IBM 6155 Black & White display:\ - :am:bw:ms:xo:\ - :co#80:it#8:li#25:\ - :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ - :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ - :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ - :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ - :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ - :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display:\ - :am:mi:ms:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:RA=\E[?7l:SA=\E[?7h:\ - :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:cd=\E[J:\ - :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:dl=\E[M:dm=\E[4h:\ - :do=^J:ec=\E[%dX:ed=\E[4l:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\Eb\E[m\017\E[?7h:k0=\E[010q:k1=\E[001q:k2=\E[002q:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ - :k8=\E[008q:k9=\E[009q:kd=\E[B:kh=\E[H:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r1=\Eb\E[m\017\E[?7h\E[H\E[J:rc=\E[u:sc=\E[s:se=\E[m:\ - :so=\E[7m:te=\E[20h:ti=\E[20;4l\E[?7h\Eb:ue=\E[m:up=\E[A:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :rs=\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ :us=\E[4m: -ibm8512|ibm8513|IBM color VGA Terminal:\ - :am:mi:ms:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:RA=\E[?7l:SA=\E[?7h:\ - :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:cd=\E[J:\ - :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:dl=\E[M:dm=\E[4h:\ - :do=^J:ec=\E[%dX:ed=\E[4l:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\Eb\E[m\017\E[?7h:k0=\E[010q:k1=\E[001q:k2=\E[002q:\ - :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ - :k8=\E[008q:k9=\E[009q:kd=\E[B:kh=\E[H:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r1=\Eb\E[m\017\E[?7h\E[H\E[J:rc=\E[u:sc=\E[s:se=\E[m:\ - :so=\E[7m:te=\E[20h:ti=\E[20;4l\E[?7h\Eb:ue=\E[m:up=\E[A:\ - :us=\E[4m: -ibm8514|IBM 8514 color display:\ - :am:bs:es:hs:xo:\ - :co#80:li#41:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EYI \EI\Ek:fs=\Ek:ho=\EH:\ - :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ - :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ - :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ - :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EYI%+ \Eo:ue=\Ew:up=\EA:us=\EW: -ibm8514-c|IBM 8514 color display with standout and underline:\ - :am:bs:es:hs:xo:\ - :co#80:li#41:\ - :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EYI \EI\Ek:fs=\Ek:ho=\EH:\ - :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ - :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ - :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ - :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EYI%+ \Eo:ue=\EB:up=\EA:us=\EF\Ef2;: ibmaed|IBM Experimental display:\ :am:bs:eo:ms:\ @@ -19460,99 +25516,147 @@ ibm-apl|apl|IBM apl terminal simulator:\ :co#80:it#8:li#25:\ :bl=^G:cd=^K:ce=^]:cl=^L:cm=\036%r%+ %+ :cr=^M:do=^J:ho=^Y:\ :kd=^J:kh=^Y:kl=^H:kr=^\:ku=^_:le=^H:nd=^\:sf=^J:ta=^I:up=^_: -# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'. +# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'. # Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr) ibmmono|IBM workstation monochrome:\ :am:bs:es:hs:xo:\ :co#80:li#24:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY8%+ \Eo:ue=\Ew:up=\EA:us=\EW: + :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ue=\Ew:up=\EA:us=\EW: ibmega|IBM Enhanced Color Display:\ :am:bs:es:hs:xo:\ :co#80:li#24:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY8%+ \Eo:ue=\Ew:up=\EA:us=\EW: + :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:ue=\Ew:up=\EA:\ + :us=\EW: +# This color scheme is assumed in some recent IBM terminal descriptions +# (green on black, emulated on a 16-color terminal). +ibm+color|IBM color definitions:\ + :Co#8:NC#3:pa#64:\ + :op=\E[32m\E[40m: +ibm+16color|IBM aixterm color definitions:\ + :Co#16:pa#256: +ibm5154|IBM 5154 Color display:\ + :am:bw:ms:xo:\ + :Co#8:NC@:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md@:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rs=\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ue=\E[m:up=\E[A:us=\E[4m: ibmega-c|ibm5154-c|IBM Enhanced Color Display with standout and underline:\ :am:bs:es:hs:xo:\ :co#80:li#24:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY8%+ \Eo:ue=\EB:up=\EA:us=\EF\Ef2;: + :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ue=\EB:up=\EA:\ + :us=\EF\Ef2;: ibmvga-c|IBM VGA display color termcap:\ :am:bs:es:hs:xo:\ :co#80:li#24:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY8%+ \Eo:ue=\EB:up=\EA:us=\EF\Ef2;: + :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:ue=\EB:up=\EA:\ + :us=\EF\Ef2;: ibmvga|IBM VGA display:\ :am:bs:es:hs:xo:\ :co#80:li#24:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY8 \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY8%+ \Eo:ue=\Ew:up=\EA:us=\EW: + :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:ue=\Ew:up=\EA:\ + :us=\EW: # ibmapa* and ibmmono entries come from ACIS 4.3 distribution rtpc|ibmapa16|IBM 6155 Extended Monochrome Graphics Display:\ :am:bs:es:hs:xo:\ :co#80:li#32:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY@ \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY@ \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY@%+ \Eo:ue=\Ew:up=\EA:us=\EW: + :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ue=\Ew:up=\EA:us=\EW: +ibm6155|IBM 6155 Black & White display:\ + :am:bw:ms:xo:\ + :co#80:it#8:li#25:\ + :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ + :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ + :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ + :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ + :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ + :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:md@:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: # Advanced Monochrome (6153) and Color (6154) Graphics Display: -ibmapa8c|ibmapa8|IBM 6153/4 Advanced Graphics Display:\ +ibmapa8c|ibmapa8|IBM 6154 Advanced Graphics Display:\ :am:bs:es:hs:xo:\ :co#80:li#31:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY? \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY? \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ - :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ta=^I:\ - :ts=:..ts=\Ej\EY?%+ \Eo:ue=\Ew:up=\EA:us=\EW: + :se=\Ez:sf=^J:so=\EZ:sr=\EA:st=\E0:ue=\Ew:up=\EA:us=\EW: ibmapa8c-c|ibm6154-c|IBM 6154 Advanced Color Graphics Display:\ :am:bs:es:hs:xo:\ :co#80:li#31:\ :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ - :ct=\E1:dl=\EM:do=^J:ds=\Ej\EY? \EI\Ek:fs=\Ek:ho=\EH:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EY? \EI\Ek:ho=\EH:\ :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ :me=\Ew\Eq\Ez\EB:mh=\EF\Ef7;:mk=\EF\Ef0;\Eb0;:mr=\Ep:\ :nd=\EC:nw=^M^J:se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:\ - :ta=^I:ts=:..ts=\Ej\EY?%+ \Eo:ue=\EB:up=\EA:us=\EF\Ef2;: -hft-c-old|HFT with Color PC850:\ + :ue=\EB:up=\EA:us=\EF\Ef2;: +ibm6154|IBM 6154 Color displays:\ :am:bw:ms:xo:\ :Co#8:co#80:it#8:li#25:pa#64:\ :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ @@ -19564,53 +25668,162 @@ hft-c-old|HFT with Color PC850:\ :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ :SR=\E[%dT:UP=\E[%dA:\ :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ - :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:\ - :k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:\ - :k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:\ - :kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:\ - :kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:\ - :kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ - :nd=\E[C:rc=\E[u:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# From: Marc Pawliger -# also in /usr/lpp/bos/bsdsysadmin. -# (hft-c: this entry had :kb=\E[D:kf=\E[C: on the line with ku/kd/kh; this was -# pretty obviously mislabeled for :le: and :nd:; also ":ul=\E[4m:" was clearly -# a typo for ":us=\E[4m:"; also ":el=\E[K:" was a typo for ":ce=\E[K:". -# I also added / based on the terminal reset string. -# There was an unknown boolean ":ht:" which I assume was meant to set hardware -# tabs, so I have inserted it#8. Finally, :ac=^N: paired with the :ae: looked -# like a typo for :as=^N:; finally, added empty to quiet tic -- esr) -hft-c|IBM High Function Terminal:\ - :am:mi:ms:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:RA=\E[?7l:SA=\E[?7h:\ - :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:cd=\E[J:\ - :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:dl=\E[M:dm=\E[4h:\ - :do=^J:ec=\E[%dX:ed=\E[4l:ei=\E[4l:ho=\E[H:im=\E[4h:\ - :is=\Eb\E[m\017\E[?7h:k0=\E[010q:k1=\E[001q:k2=\E[002q:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ - :k8=\E[008q:k9=\E[009q:kd=\E[B:kh=\E[H:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :r1=\Eb\E[m\017\E[?7h\E[H\E[J:rc=\E[u:sc=\E[s:se=\E[m:\ - :so=\E[7m:te=\E[20h:ti=\E[20;4l\E[?7h\Eb:ue=\E[m:up=\E[A:\ - :us=\E[4m: -hft|AIWS High Function Terminal:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:\ + :md=\E[12m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rs=\Ec:s0=\E[10m:s1=\E[11m:s2=\E[12m:\ + :se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +ibm6153|IBM 6153 Black & White display:\ + :am:bw:ms:xo:\ + :co#80:it#8:li#25:\ + :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ + :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ + :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ + :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ + :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ + :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:\ + :md=\E[12m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:\ + :s0=\E[10m:s1=\E[11m:s2=\E[12m:se=\E[m:sf=\E[S:so=\E[7m:\ + :sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +ibm6153-90|IBM 6153 Black & White display:\ + :am:bw:ms:xo:\ + :co#90:it#8:li#36:\ + :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ + :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ + :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ + :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ + :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ + :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:md@:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +ibm6153-40|IBM 6153 Black & White display:\ + :am:bw:ms:xo:\ + :co#40:it#8:li#12:\ + :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ + :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ + :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ + :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ + :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ + :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +ibm8512|ibm8513|IBM color VGA Terminal:\ + :am:bw:mi:ms:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:bl=^G:\ + :cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:dc=\E[P:dl=\E[M:dm=\E[4h:do=^J:ec=\E[%dX:ed=\E[4l:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Eb\E[m\017\E[?7h:\ + :k0=\E[010q:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:\ + :k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:\ + :k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:\ + :kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:\ + :kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[32m\E[40m:\ + :r1=\Eb\E[m\017\E[?7h\E[H\E[J:r2=\Ec:rc=\E[u:s0=\E(B:\ + :s1=\E(0:sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :te=\E[20h:ti=\E[20;4l\E[?7h\Eb:ue=\E[m:up=\E[A:us=\E[4m: +hft-c|HFT with Color:\ + :am:bw:ms:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:\ + :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rs=\Ec:s0=\E(B:s1=\E(0:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +hft-c-old|HFT with Color PC850:\ + :am:bw:ms:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:\ + :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rs=\Ec:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ue=\E[m:up=\E[A:us=\E[4m: +hft-old|AIWS High Function Terminal:\ :am:xo:\ - :co#80:li#25:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=\E6:ho=\E[H:\ - :ic=\E[@:im=\E6:k1=\E[001q:k2=\E[002q:k3=\E[003q:\ - :k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:\ - :k9=\E[009q:kN=\E[153q:kP=\E[159q:ka=\E[010q:kb=^H:\ - :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:\ - :so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: + :Co#8:NC#3:co#80:li#25:pa#64:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:dc=\E[P:dl=\E[M:do=^J:ei=\E6:ho=\E[H:ic=\E[@:im=\E6:\ + :k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\ + :k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:kN=\E[153q:\ + :kP=\E[159q:ka=\E[010q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[32m\E[40m:se=\E[m:sf=^J:so=\E[7m:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: ibm-system1|system1|ibm system/1 computer:\ :am:xt:\ :co#80:li#24:\ @@ -19639,17 +25852,65 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device:\ :k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:\ :kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:\ :kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;:\ - :se=\E[0m:sf=\ED:so=\E[7m:sr=\EL:ue=\E[0m:up=\E[A:us=\E[4m: - -# -# AIX entries. IBM ships these with AIX 3.2.5. -# AIX extension caps are commented out, -# except for box1 which has been translated to an string. -# -aixterm|IBM Aixterm Terminal Eemulator:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:se=\E[0m:sf=\ED:so=\E[7m:\ + :sr=\EL:ue=\E[0m:up=\E[A:us=\E[4m: +ibm5081|hft|IBM Megapel Color display:\ + :am:bw:ms:xo:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:\ + :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:md@:\ + :me=\E[0m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[32m\E[40m:\ + :rs=\Ec:s0=\E(B:s1=\E(0:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ue=\E[m:up=\E[A:us=\E[4m: +ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display:\ + :am:bs:es:hs:xo:\ + :co#80:li#33:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EYA \EI\Ek:ho=\EH:\ + :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ + :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:\ + :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ + :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ + :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ue=\EB:up=\EA:\ + :us=\EF\Ef2;: +ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display:\ + :am:bw:ms:xo:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:\ + :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\ + :ei=\E[4l:ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:\ + :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ + :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ + :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ + :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ + :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rs=\Ec:s0=\E(B:s1=\E(0:se=\E[m:sf=\E[S:\ + :so=\E[7m:sr=\E[T:ue=\E[m:up=\E[A:us=\E[4m: +ibm8514|IBM 8514/a color VGA display:\ :am:bw:es:hs:ms:xo:\ :Co#8:co#80:it#8:li#25:pa#64:\ :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ @@ -19660,20 +25921,57 @@ aixterm|IBM Aixterm Terminal Eemulator:\ :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ :SR=\E[%dT:UP=\E[%dA:ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:\ - :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ + :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:\ + :ds=\Ej\EYI \EI\Ek:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:k3=\E[003q:\ + :k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:\ + :k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:\ + :kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:\ + :kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ + :me=\E[0m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[32m\E[40m:\ + :rs=\Ec:s0=\E(B:s1=\E(0:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:\ + :ue=\E[m:up=\E[A:us=\E[4m: +ibm8514-c|IBM 8514 color display with standout and underline:\ + :am:bs:es:hs:xo:\ + :co#80:li#41:\ + :al=\EL:bl=^G:cd=\EJ:ce=\EI:cl=\EK:cm=\EY%+ %+ :cr=^M:\ + :ct=\EH:dl=\EM:do=^J:ds=\Ej\EYI \EI\Ek:ho=\EH:\ + :k0=\E<:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:\ + :k8=\ER:k9=\EY:kF=\EE:kI=\0:kN=\EE:kP=\Eg:kR=\EG:kb=^H:kd=^J:\ + :kh=\EH:kl=^H:kr=\EC:ku=\EA:l0=f10:le=^H:md=\EZ:\ + :me=\Ew\Eq\Ez\EB:mk=\EF\Ef0;\Eb0;:mr=\Ep:nd=\EC:nw=^M^J:\ + :se=\EB:sf=^J:so=\EF\Ef3;:sr=\EA:st=\E0:ta=^I:ue=\EB:up=\EA:\ + :us=\EF\Ef2;: + +# +# AIX entries. IBM ships these with AIX 3.2.5. +# -- added rc, sc based on manpage -TD +# Note that we could use ibm+16color, but that is not how IBM defines this one. +aixterm|IBM Aixterm Terminal Emulator:\ + :am:bw:es:hs:ms:xo:\ + :Co#8:co#80:it#8:li#25:pa#64:\ + :@7=\E[146q:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[011q:F2=\E[012q:F3=\E[013q:F4=\E[014q:\ + :F5=\E[015q:F6=\E[016q:F7=\E[017q:F8=\E[018q:F9=\E[019q:\ + :FA=\E[020q:FB=\E[021q:FC=\E[022q:FD=\E[023q:FE=\E[024q:\ + :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ + :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ + :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:\ + :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E[?E:\ :ec=\E[%dX:ei=\E[4l:fs=\E[?F:ho=\E[H:im=\E[4h:is=\Ec:\ - :k0=\E[010q:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:\ - :k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:\ - :k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:\ - :kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:\ - :kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m\E(B:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:s0=\E(B:s1=\E(0:\ - :s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\ + :k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:\ + :kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:\ + :kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:\ + :kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m\E(B:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[32m\E[40m:rc=\E8:rs=\Ec:s0=\E(B:\ + :s1=\E(0:s2=\E[12m:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr@:\ + :ts=\E[?%dT:ue=\E[m:up=\E[A:us=\E[4m: aixterm-m|IBM AIXterm Monochrome Terminal Emulator:\ :am:bw:es:hs:ms:xo:\ :co#80:it#8:li#25:\ @@ -19685,19 +25983,17 @@ aixterm-m|IBM AIXterm Monochrome Terminal Emulator:\ :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ :ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ :dl=\E[M:do=^J:ds=\E[?E:ec=\E[%dX:ei=\E[4l:fs=\E[?F:\ - :ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:k2=\E[002q:\ - :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ - :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ - :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ - :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :md=\E[1m:me=\E[0;10m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :rc=\E[u:rs=\Ec:s0=\E(B:s1=\E(0:s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:k3=\E[003q:\ + :k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:\ + :k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:\ + :kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:\ + :kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:\ + :me=\E[0;10m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:rs=\Ec:s0=\E(B:\ + :s1=\E(0:s2=\E[12m:se=\E[m:sf=\E[S:so=\E[7m:sr@:ts=\E[?%dT:\ + :ue=\E[m:up=\E[A:us=\E[4m: aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator:\ :am:bw:es:hs:ms:xo:\ :co#80:it#8:li#25:\ @@ -19709,20 +26005,18 @@ aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator:\ :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ :ac=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E[?E:\ :ec=\E[%dX:ei=\E[4l:fs=\E[?F:ho=\E[H:im=\E[4h:is=\Ec:\ - :k0=\E[010q:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:\ - :k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:\ - :k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:\ - :kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:\ - :kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:s0=\E[10m:\ - :s1=\E[11m:s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\ + :k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:\ + :kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:\ + :kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:\ + :kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:rs=\Ec:s0=\E[10m:s1=\E[11m:s2=\E[12m:\ + :se=\E[m:sf=\E[S:so=\E[7m:sr@:ts=\E[?%dT:ue=\E[m:up=\E[A:\ + :us=\E[4m: jaixterm|IBM Kanji Aixterm Terminal Eemulator:\ :am:bw:es:hs:ms:xo:\ :Co#8:co#80:it#8:li#25:pa#64:\ @@ -19733,19 +26027,18 @@ jaixterm|IBM Kanji Aixterm Terminal Eemulator:\ :FF=\E[025q:FG=\E[026q:FH=\E[027q:FI=\E[028q:FJ=\E[029q:\ :FK=\E[030q:FL=\E[031q:FM=\E[032q:FN=\E[033q:FO=\E[034q:\ :FP=\E[035q:FQ=\E[036q:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ - :SR=\E[%dT:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :SR=\E[%dT:UP=\E[%dA:ac@:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ :dl=\E[M:do=^J:ds=\E[?E:ec=\E[%dX:ei=\E[4l:fs=\E[?F:\ - :ho=\E[H:im=\E[4h:is=\Ec:k0=\E[010q:k1=\E[001q:k2=\E[002q:\ - :k3=\E[003q:k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:\ - :k8=\E[008q:k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:\ - :kC=\E[144q:kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:\ - :kM=\E[4l:kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :md=\E[1m:me=\E[0;10m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :rc=\E[u:rs=\Ec:s0=\E(B:s1=\E(0:s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ + :ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:k3=\E[003q:\ + :k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:\ + :k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:\ + :kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:\ + :kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:\ + :me=\E[0;10m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rc=\E8:rs=\Ec:s0=\E(B:s1=\E(0:s2=\E[12m:\ + :sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ :up=\E[A:us=\E[4m: jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator:\ :am:bw:es:hs:ms:xo:\ @@ -19756,20 +26049,42 @@ jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator:\ :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ - :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ - :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ac@:\ + :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:ds=\E[?E:\ :ec=\E[%dX:ei=\E[4l:fs=\E[?F:ho=\E[H:im=\E[4h:is=\Ec:\ - :k0=\E[010q:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:\ - :k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:\ - :k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:\ - :kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:\ - :kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m\E(B:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E[u:rs=\Ec:s0=\E(B:s1=\E(0:\ - :s2=\E[12m:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :sc=\E[s:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ + :k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\ + :k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:\ + :kA=\E[140q:kB=\E[Z:kC=\E[144q:kD=\E[P:kE=\E[142q:\ + :kF=\E[151q:kI=\E[139q:kM=\E[4l:kN=\E[154q:kP=\E[150q:\ + :kR=\E[155q:kS=\E[148q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m\E(B:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:rs=\Ec:s0=\E(B:s1=\E(0:s2=\E[12m:se=\E[m:\ + :sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:up=\E[A:us=\E[4m: + +# This flavor is adapted from xterm, in turn from aixterm documentation -TD +aixterm-16color|IBM Aixterm Terminal Emulator with 16 colors:\ + :am:bw:es:hs:ms:xo:\ + :Co#16:co#80:it#8:li#25:pa#256:\ + :@7=\E[146q:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\ + :F2=\E[012q:F3=\E[013q:F4=\E[014q:F5=\E[015q:F6=\E[016q:\ + :F7=\E[017q:F8=\E[018q:F9=\E[019q:FA=\E[020q:FB=\E[021q:\ + :FC=\E[022q:FD=\E[023q:FE=\E[024q:FF=\E[025q:FG=\E[026q:\ + :FH=\E[027q:FI=\E[028q:FJ=\E[029q:FK=\E[030q:FL=\E[031q:\ + :FM=\E[032q:FN=\E[033q:FO=\E[034q:FP=\E[035q:FQ=\E[036q:\ + :LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\ + :ac=jjkkllmmnnqqttuuvvwwxx:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :dl=\E[M:do=^J:ds=\E[?E:ec=\E[%dX:ei=\E[4l:fs=\E[?F:\ + :ho=\E[H:im=\E[4h:is=\Ec:k1=\E[001q:k2=\E[002q:k3=\E[003q:\ + :k4=\E[004q:k5=\E[005q:k6=\E[006q:k7=\E[007q:k8=\E[008q:\ + :k9=\E[009q:k;=\E[010q:kA=\E[140q:kB=\E[Z:kC=\E[144q:\ + :kD=\E[P:kE=\E[142q:kF=\E[151q:kI=\E[139q:kM=\E[4l:\ + :kN=\E[154q:kP=\E[150q:kR=\E[155q:kS=\E[148q:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:md=\E[1m:\ + :me=\E[0;10m\E(B:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[32m\E[40m:rc=\E8:rs=\Ec:s0=\E(B:s1=\E(0:s2=\E[12m:\ + :sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:ts=\E[?%dT:ue=\E[m:\ :up=\E[A:us=\E[4m: #### Infoton/General Terminal Corp. @@ -19785,15 +26100,15 @@ i100|gt100|gt100a|General Terminal 100A (formerly Infoton 100):\ i400|infoton 400:\ :am:bs:\ :co#80:li#25:\ - :al=\E[L:bl=^G:ce=\E[N:cl=\E[2J:cm=%i\E[%3;%3H:cr=^M:\ + :al=\E[L:bl=^G:ce=\E[N:cl=\E[2J:cm=\E[%i%3;%3H:cr=^M:\ :dc=\E[4h\E[2Q\E[P\E[4l\E[0Q:dl=\E[M:do=^J:\ :ei=\E[4l\E[0Q:im=\E[4h\E[2Q:le=^H:nd=\E[C:sf=^J:up=\E[A: # (addrinfo: removed obsolete ":bc=^Z:" -- esr) addrinfo:\ :am:\ :co#80:li#24:\ - :bl=^G:cd=^K:cl=^L:..cm=\037%p1%{1}%-%c%p2%{1}%-%c:cr=^M:\ - :do=^J:ho=^H:le=^Z:ll=^H^\:nd=^Y:sf=^J:up=^\: + :bl=^G:cd=^K:cl=^L:cm=\037%.%.:cr=^M:do=^J:ho=^H:le=^Z:\ + :ll=^H^\:nd=^Y:sf=^J:up=^\: # (infoton: used to have the no-ops , , -- esr) infoton:\ :am:\ @@ -19803,7 +26118,7 @@ infoton:\ # The ICL6402 was actually the Kokusai Display System 6402. # The 6404 was the KDS7372 (color version of the 6402). -# +# # ICL6404 control codes follow: # #code function @@ -20065,27 +26380,21 @@ infoton:\ icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372:\ :am:bs:hs:\ :co#80:li#24:\ - :DC=\EW:al=\EE:bl=^G:bt=\EI:cl=\E*:cm=\E=%+ %+P%+P:cr=^M:\ - :..cs=\E!%+%p1%{32}%+%p2%{32} cud1=\026:ct=\E3:dl=\ER:\ - :ei=\Er:ho=^^:i1=\EC\E.3\EDF\EV1\Eg\E[0ZZ:im=\Eq:\ - :mb=\E[2ZZ:me=\E[0ZZ:mk=\E[1ZZ:mr=\E[4ZZ:nd=^L:nw=^_:\ - :rs=\Eo1:\ - :..sa=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ:\ - :se=\E[%gh%{4}%^%Ph%gh%dZZ:so=\E[8ZZ:st=\E1:ta=^I:\ - :ue=\E[%gh%{8}%^%Ph%gh%dZZ:up=^K:us=\E[8ZZ:ve=\E.3:\ - :vi=\E.0:vs=\E.1: + :al=\EE:bl=^G:bt=\EI:cl=\E*:cm=\E=%+ %+P%+P:cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:ei=\Er:ho=^^:i1=\EC\E.3\EDF\EV1\Eg\E[0ZZ:\ + :im=\Eq:mb=\E[2ZZ:me=\E[0ZZ:mk=\E[1ZZ:mr=\E[4ZZ:nd=^L:\ + :nw=^_:rs=\Eo1:se=\E[%gh%{4}%^%Ph%gh%dZZ:so=\E[8ZZ:\ + :st=\E1:ta=^I:ue=\E[%gh%{8}%^%Ph%gh%dZZ:up=^K:us=\E[8ZZ:\ + :ve=\E.3:vi=\E.0:vs=\E.1: icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols:\ :am:bs:hs:\ :co#80:li#24:\ - :DC=\EW:al=\EE:bl=^G:bt=\EI:cl=\E*:cm=\E=%+ %+P%+P:cr=^M:\ - :..cs=\E!%+%p1%{32}%+%p2%{32} cud1=\026:ct=\E3:dl=\ER:\ - :ei=\Er:ho=^^:i1=\EC\E.3\EDF\EV1\Eg\E[0ZZ:im=\Eq:\ - :mb=\E[2ZZ:me=\E[0ZZ:mk=\E[1ZZ:mr=\E[4ZZ:nd=^L:nw=^_:\ - :rs=\Eo1:\ - :..sa=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ:\ - :se=\E[%gh%{4}%^%Ph%gh%dZZ:so=\E[8ZZ:st=\E1:ta=^I:\ - :ue=\E[%gh%{8}%^%Ph%gh%dZZ:up=^K:us=\E[8ZZ:ve=\E.3:\ - :vi=\E.0:vs=\E.1: + :al=\EE:bl=^G:bt=\EI:cl=\E*:cm=\E=%+ %+P%+P:cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:ei=\Er:ho=^^:i1=\EC\E.3\EDF\EV1\Eg\E[0ZZ:\ + :im=\Eq:mb=\E[2ZZ:me=\E[0ZZ:mk=\E[1ZZ:mr=\E[4ZZ:nd=^L:\ + :nw=^_:rs=\Eo1:se=\E[%gh%{4}%^%Ph%gh%dZZ:so=\E[8ZZ:\ + :st=\E1:ta=^I:ue=\E[%gh%{8}%^%Ph%gh%dZZ:up=^K:us=\E[8ZZ:\ + :ve=\E.3:vi=\E.0:vs=\E.1: #### Interactive Systems Corp # @@ -20104,7 +26413,7 @@ intext|Interactive Systems Corporation modified owl 1200:\ :cm=\017%+ %+ :cr=^M:dc=\022:dl=\021:do=^J:ei=^V<:im=^V;:\ :ip=:k0=^VJ\r:k1=^VA\r:k2=^VB\r:k3=^VC\r:k4=^VD\r:k5=^VE\r:\ :k6=^VF\r:k7=^VG\r:k8=^VH\r:k9=^VI\r:kb=^H:kd=^J:ke=^V9:\ - :kh=^Z:kl=^_:kr=^^:ks=\036\:\264\026%:ku=^\:le=^H:nd=^^:\ + :kh=^Z:kl=^_:kr=^^:ks=\036\:\264\026%%:ku=^\:le=^H:nd=^^:\ :se=^V#\s:sf=^J:so=^V$,:ta=^I:up=^\: intext2|intextii|INTERACTIVE modified owl 1251:\ :am:bw:ul:\ @@ -20115,20 +26424,20 @@ intext2|intextii|INTERACTIVE modified owl 1251:\ :k3=\ES\r:k4=\ET\r:k5=\EU\r:k6=\EV\r:k7=\EW\r:k8=\EX\r:\ :k9=\EY\r:kb=^H:kd=\EB\r:kh=\ER\r:kl=\ED\r:kr=\EC\r:\ :ku=\EA\r:l0=REFRSH:l1=DEL CH:l2=TABSET:l3=GOTO:l4=+PAGE:\ - :l5=+SRCH:l6=-PAGE:l7=-SRCH:l8=LEFT:l9=RIGHT:nd=\E[C:\ - :se=\E[2 D:sf=\E[S:so=\E[6 D:sr=\E[T:ta=^I:ue=\E[2 D:\ - :up=\E[A:us=\E[18 D:\ + :l5=+SRCH:l6=-PAGE:l7=-SRCH:l8=LEFT:l9=RIGHT:le=\E[D:\ + :nd=\E[C:se=\E[2 D:sf=\E[S:so=\E[6 D:sr=\E[T:ta=^I:\ + :ue=\E[2 D:up=\E[A:us=\E[18 D:\ :vb=\E[;;;;;;;;;2;;u\E[;;;;;;;;;1;;u: #### Kimtron (abm, kt) # -# Kimtron seems to be history, but as March 1998 these people are still +# Kimtron seems to be history, but as March 1998 these people are still # offering repair services for Kimtron equipment: # # Com/Pair Monitor Service # 1105 N. Cliff Ave. # Sioux Falls, South Dakota 57103 -# +# # WATS voice: 1-800/398-4946 # POTS fax: +1 605/338-8709 # POTS voice: +1 605/338-9650 @@ -20173,26 +26482,26 @@ abm85|Kimtron ABM 85:\ # From: Erik Fair Sun Oct 27 07:21:05 1985 abm85h|Kimtron ABM 85H native mode:\ :am:bs:bw:hs:ms:\ - :co#80:it#8:li#24:\ + :co#80:it#8:li#24:sg@:ug@:\ :al=\EE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :\ :dc=\EW:dl=\ER:do=^J:ds=\Ee:ei=\Er:fs=^M:\ :if=/usr/share/tabset/stdcrt:im=\EZ:\ :is=\EC\EN\EX\024\016\EA\Ea\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\EG0\Ed\E.4\El:\ :kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(\EG0:mh=\E):\ - :mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:ts=\Eg\Ef:ue=\EG0:\ - :up=^K:us=\EG8:ve=\E.4:vs=\E.2: + :mk@:mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:ts=\Eg\Ef:ue=\EG0:\ + :up=^K:us=\EG8:vb@:ve=\E.4:vs=\E.2: abm85e|Kimtron ABM 85H in 920E mode:\ :am:bs:bw:ms:\ - :co#80:it#8:li#24:\ + :co#80:it#8:li#24:sg@:ug@:\ :al=\EE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :\ :dc=\EW:dl=\ER:do=^J:ei=\Er:if=/usr/share/tabset/stdcrt:\ :im=\EZ:\ :is=\EC\EX\EA\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\Ek\Eq\Em:\ :kb=^H:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\E(\Ek:mh=\E):\ - :mr=\Ej:nd=^L:se=\Ek:so=\Ej:ta=^I:ue=\Em:up=^K:us=\El: + :mr=\Ej:nd=^L:se=\Ek:so=\Ej:ta=^I:ue=\Em:up=^K:us=\El:vb@: abm85h-old|oabm85h|o85h|Kimtron ABM 85H with old firmware rev.:\ :am:bs:bw:ms:\ - :co#80:it#8:li#24:\ + :co#80:it#8:li#24:sg@:ug@:\ :al=\EE:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :\ :dc=\EW:dl=\ER:do=^J:ei=\Er:if=/usr/share/tabset/stdcrt:\ :im=\EZ:\ @@ -20210,7 +26519,7 @@ kt7|kimtron model kt-7:\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:\ :kE=\ET:kI=\EQ:kL=\ER:kS=\EY:kb=^H:kd=^V:kh=^^:kl=^H:kr=^L:\ - :ku=^K:le=^H:me=\EG0:mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:\ + :ku=^K:le=^H:me=\EG0:mk@:mr=\EG4:nd=^L:se=\EG0:so=\EG4:ta=^I:\ :ts=\Ef:ue=\EG0:up=^K:us=\EG8: # Renamed TB=^I to :ta:, BE=^G to :bl:, BS=^H to :kb:, N to :kS: (based on the # other kt7 entry and the adjacent key capabilities). Removed EE which is @@ -20219,7 +26528,7 @@ kt7|kimtron model kt-7:\ kt7ix|kimtron model kt-7 or 70 in IX mode:\ :am:bw:\ :co#80:it#8:li#25:\ - :@7=\EY:PU=\EK:ac=lZm@k?jYt4uCvAwBqDx3nE:ae=\E%:al=\EE:\ + :@7=\EY:PU=\EK:ac=jYk?lZm@nEqDt4uCvAwBx3:ae=\E%%:al=\EE:\ :as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E*:cm=\E=%+ %+ :\ :cr=^M:dc=\EW:dl=\ER:do=^V:ds=\Ef\r:ei=:fs=^M:ho=^^:ic=\EQ:\ :im=:is=\EG0\E s\017\E~:k0=^AI\r:k1=^A@\r:k2=^AA\r:\ @@ -20234,7 +26543,7 @@ kt7ix|kimtron model kt-7 or 70 in IX mode:\ # This was a line of terminals made by McDonnell-Douglas Information Systems. # These entries come direct from MDIS documentation. I have edited them only # to move primary names of the form p[0-9] * to aliases, and to comment out -# :ae:/:as: in a couple of entries without strings. I have +# :ae:/:as: in a couple of entries without strings. I have # also removed the change history; the last version indicates this is # version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989). # @@ -20302,12 +26611,8 @@ kt7ix|kimtron model kt-7 or 70 in IX mode:\ prism2|MDC Prism-2:\ :am:bw:ms:\ :co#80:li#24:\ - :bl=^G:cd=\EJ:ce=\EK:\ - :..ch=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cl=\014:\ - :..cm=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cr=^M:cv=\013%+ :do=^J:ho=^A:kb=^H:kh=^A:le=^H:nd=^F:sf=^J:\ - :up=^Z: + :bl=^G:cd=\EJ:ce=\EK:cl=\014:cr=^M:cv=\013%+ :do=^J:ho=^A:\ + :kb=^H:kh=^A:le=^H:nd=^F:sf=^J:up=^Z: # p4: Prism-4 # ----------- @@ -20322,15 +26627,10 @@ prism2|MDC Prism-2:\ prism4|p4|P4|MDC Prism-4:\ :5i:am:bw:hs:ms:\ :co#80:li#24:sg#1:ug#1:ws#72:\ - :bl=^G:cd=\EJ:ce=\EK:\ - :..ch=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cl=\014:\ - :..cm=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cr=^M:cv=\013%+ :do=^J:ds=\035\343\035\345:fs=^]\345:\ - :ho=^A:kb=^H:kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:\ - :nd=^F:pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ + :bl=^G:cd=\EJ:ce=\EK:cl=\014:cr=^M:cv=\013%+ :do=^J:\ + :ds=\035\343\035\345:fs=^]\345:ho=^A:kb=^H:kh=^A:le=^H:\ + :mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:\ + :ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ :ve=^]\342:vi=^]\344: # p5: Prism-5 @@ -20342,15 +26642,10 @@ prism4|p4|P4|MDC Prism-4:\ prism5|p5|P5|MDC Prism-5:\ :5i:am:bw:hs:ms:\ :co#80:li#24:sg#1:ug#1:ws#72:\ - :bl=^G:cd=\EJ:ce=\EK:\ - :..ch=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cl=\014:\ - :..cm=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c:\ - :cr=^M:cv=\013%+ :do=^J:ds=\035\343\035\345:fs=^]\345:\ - :ho=^A:kb=^H:kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:\ - :nd=^F:pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ + :bl=^G:cd=\EJ:ce=\EK:cl=\014:cr=^M:cv=\013%+ :do=^J:\ + :ds=\035\343\035\345:fs=^]\345:ho=^A:kb=^H:kh=^A:le=^H:\ + :mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:\ + :ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ :ve=^]\342:vi=^]\344: # p7: Prism-7 @@ -20364,13 +26659,11 @@ prism5|p5|P5|MDC Prism-5:\ prism7|p7|P7|MDC Prism-7:\ :5i:am:bw:hs:ms:\ :co#80:li#24:sg#1:ug#1:ws#72:\ - :bl=^G:cd=\EJ:ce=\EK:cl=\014:cm=\E[%i%d;%dH:cr=^M:do=^J:\ - :ds=\035\343\035\345:fs=^]\345:ho=^A:kb=^H:kh=^A:le=^H:\ - :mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:\ - :ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :bl=^G:cd=\EJ:ce=\EK:ch@:cl=\014:cm=\E[%i%d;%dH:cr=^M:cv@:\ + :do=^J:ds=\035\343\035\345:fs=^]\345:ho=^A:kb=^H:kh=^A:\ + :le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:\ + :po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:\ + :us=^CP:ve=^]\342:vi=^]\344: # p8: Prism-8 # ----------- @@ -20389,10 +26682,8 @@ prism8|p8|P8|MDC Prism-8:\ :bl=^G:cd=\EJ:ce=\EK:ch=\E[%i%d`:cl=\014:cm=\E[%i%d;%dH:\ :cr=^M:cv=\E[%i%dd:do=^J:ds=\035\343\035\345:fs=^]\345:\ :ho=^A:is=\E[<12h:kb=^H:kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:\ - :mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:ps=\EU:se=^C\s:sf=^J:\ + :so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:ve=^]\342:vi=^]\344: # p8-w: Prism-8 in 132 column mode # -------------------------------- @@ -20407,10 +26698,9 @@ prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode:\ :bl=^G:cd=\EJ:ce=\EK:ch=\E[%i%d`:cl=\014:cm=\E[%i%d;%dH:\ :cr=^M:cv=\E[%i%dd:do=^J:ds=\035\343\035\345:fs=^]\345:\ :ho=^A:is=\E[<12h\E[<14h:kb=^H:kh=^A:le=^H:mb=^CB:me=^C\s:\ - :mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:po=\ER:ps=\EU:se=^C\s:\ + :sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:ve=^]\342:\ + :vi=^]\344: # p9: Prism-9 in ANSI mode # ------------------------- @@ -20437,18 +26727,18 @@ prism9|p9|P9|MDC Prism-9 in ANSII mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:is=\E[&p\E[<12l\E F:\ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mp=\E[32%{:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :mb=\E[5m:md=\E[1m:me=\E[m\017:mp=\E[32%{:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:\ + :rp=\E[%r%db%.:\ :rs=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ + :ts=\E[%i%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ :vi=\E[<4l: # p9-w: Prism-9 in 132 column mode @@ -20463,20 +26753,18 @@ prism9-w|p9-w|P9-W|MDC Prism-9 in 132 column mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:\ :is=\E[&p\E[<12l\E F\E[<14h:k1=\E[11~:k2=\E[12~:\ :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ - :mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:\ - :ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ - :rs=\E[&p\E[<12l\E F\E[<14h:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ - :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ - :vi=\E[<4l: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m\017:mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:\ + :po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :rs=\E[&p\E[<12l\E F\E[<14h:sc=\E[%y:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\E[L:st=\EH:ta=^I:ts=\E[%i%d%%}:ue=\E[24m:\ + :up=\E[A:us=\E[4m:ve=\E[<4h:vi=\E[<4l: # p9-8: Prism-9 in P8 mode # ------------------------ @@ -20493,10 +26781,8 @@ prism9-8|p9-8|P9-8|MDC Prism-9 in P8 mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h:kb=^H:kh=^A:\ :le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:\ - :po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:\ + :us=^CP:ve=^]\342:vi=^]\344: # p9-8-w: Prism-9 in P8 and 132 column modes # ------------------------------------------ @@ -20511,10 +26797,8 @@ prism9-8-w|p9-8-w|P9-8-W|MDC Prism-9 in Prism 8 emulation and 132 column mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h\E[<14h:kb=^H:\ :kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:\ - :pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :pf=\ET:po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:\ + :ue=^C\s:up=^Z:us=^CP:ve=^]\342:vi=^]\344: # p12: Prism-12 in ANSI mode # --------------------------- @@ -20528,18 +26812,18 @@ prism12|p12|P12|MDC Prism-12 in ANSI mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:is=\E[&p\E[<12l\E F:\ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mp=\E[32%{:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :mb=\E[5m:md=\E[1m:me=\E[m\017:mp=\E[32%{:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:\ + :rp=\E[%r%db%.:\ :rs=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ + :ts=\E[%i%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ :vi=\E[<4l: # p12-w: Prism-12 in 132 column mode @@ -20554,20 +26838,18 @@ prism12-w|p12-w|P12-W|MDC Prism-12 in 132 column mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:\ :is=\E[&p\E[<12l\E F\E[<14h:k1=\E[11~:k2=\E[12~:\ :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ - :mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:\ - :ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ - :rs=\E[&p\E[<12l\E F\E[<14h:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ - :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ - :vi=\E[<4l: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m\017:mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:\ + :po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :rs=\E[&p\E[<12l\E F\E[<14h:sc=\E[%y:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\E[L:st=\EH:ta=^I:ts=\E[%i%d%%}:ue=\E[24m:\ + :up=\E[A:us=\E[4m:ve=\E[<4h:vi=\E[<4l: # p12-m: Prism-12 in MDC emulation mode # ------------------------------------- @@ -20584,10 +26866,8 @@ prism12-m|p12-m|P12-M|MDC Prism-12 in MDC emulation mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h:kb=^H:kh=^A:\ :le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:\ - :po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:\ + :us=^CP:ve=^]\342:vi=^]\344: # p12-m-w: Prism-12 in MDC emulation and 132 column modes # ------------------------------------------------------- @@ -20602,10 +26882,8 @@ prism12-m-w|p12-m-w|P12-M-W|MDC Prism-12 in MDC emulation and 132 column mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h\E[<14h:kb=^H:\ :kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:\ - :pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :pf=\ET:po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:\ + :ue=^C\s:up=^Z:us=^CP:ve=^]\342:vi=^]\344: # p14: Prism-14 in ANSII mode # --------------------------- @@ -20619,18 +26897,18 @@ prism14|p14|P14|MDC Prism-14 in ANSII mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:is=\E[&p\E[<12l\E F:\ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:\ :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[0m:mp=\E[32%{:mr=\E[7m:nd=\E[C:\ - :nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :mb=\E[5m:md=\E[1m:me=\E[m\017:mp=\E[32%{:mr=\E[7m:\ + :nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E[%z:\ + :rp=\E[%r%db%.:\ :rs=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ + :ts=\E[%i%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ :vi=\E[<4l: # p14-w: Prism-14 in 132 column mode @@ -20645,20 +26923,18 @@ prism14-w|p14-w|P14-W|MDC Prism-14 in 132 column mode:\ :F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\ :F7=\E[31~:F8=\E[32~:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%i%d`:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:..cs=\E[%i%p1%d;%p2%d%%v:ct=\E[2g:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%d%%v:ct=\E[3g:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E[%}\024:ec=\E[%dX:\ :ei=\E[4l:fs=^T:ho=\E[H:im=\E[4h:\ :is=\E[&p\E[<12l\E F\E[<14h:k1=\E[11~:k2=\E[12~:\ :k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kC=^L:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ - :mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:po=\E[5i:\ - :ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ - :rs=\E[&p\E[<12l\E F\E[<14h:\ - :..sa=\E[%{0}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{2}%+%;%?%p4%t%{1}%+%;%?%p6%t%{8}%+%;%?%p8%t%{32}%+%;%d%%{%?%p9%t\016%e\017%;:\ - :sc=\E[%y:se=\E[27m:sf=^J:so=\E[7m:sr=\E[L:st=\EH:ta=^I:\ - :ts=:..ts=\E[%i%p1%d%%}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[<4h:\ - :vi=\E[<4l: + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[m\017:mp=\E[32%{:mr=\E[7m:nd=\E[C:nw=^M^J:pf=\E[4i:\ + :po=\E[5i:ps=\E[i:rc=\E[%z:rp=\E[%r%db%.:\ + :rs=\E[&p\E[<12l\E F\E[<14h:sc=\E[%y:se=\E[27m:sf=^J:\ + :so=\E[7m:sr=\E[L:st=\EH:ta=^I:ts=\E[%i%d%%}:ue=\E[24m:\ + :up=\E[A:us=\E[4m:ve=\E[<4h:vi=\E[<4l: # p14-m: Prism-14 in MDC emulation mode # ------------------------------------- @@ -20675,10 +26951,8 @@ prism14-m|p14-m|P14-M|MDC Prism-14 in MDC emulation mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h:kb=^H:kh=^A:\ :le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:pf=\ET:\ - :po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:\ + :us=^CP:ve=^]\342:vi=^]\344: # p14-m-w: Prism-14 in MDC emulation and 132 column modes # ------------------------------------------------------- @@ -20693,10 +26967,8 @@ prism14-m-w|p14-m-w|P14-M-W|MDC Prism-14 in MDC emulation and 132 column mode:\ :cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\035\343\035\345:\ :ei=:fs=^]\345:ho=^A:ic=\E[@:im=:is=\E[<12h\E[<14h:kb=^H:\ :kh=^A:le=^H:mb=^CB:me=^C\s:mh=^CA:mk=^CH:mr=^CD:nd=^F:\ - :pf=\ET:po=\ER:ps=\EU:\ - :..sa=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;:\ - :se=^C\s:sf=^J:so=^CD:ts=^]\343:ue=^C\s:up=^Z:us=^CP:\ - :ve=^]\342:vi=^]\344: + :pf=\ET:po=\ER:ps=\EU:se=^C\s:sf=^J:so=^CD:ts=^]\343:\ + :ue=^C\s:up=^Z:us=^CP:ve=^]\342:vi=^]\344: # End of McDonnell Information Systems Prism definitions @@ -20784,20 +27056,19 @@ mime2a|mime2a-v|microterm mime2a (emulating an enhanced vt52):\ :sr=\EA:ta=^I:ue=\E5:up=\EA:us=\E4: # (mime3a: removed obsolete ":ma=^X ^K^J^Z^P:" -- esr) mime3a|mime1 emulating 3a:\ - :bs:\ + :am@:bs:\ :co#80:li#24:\ :bl=^G:cl=1\032:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:kd=^K:kl=^H:\ - :kr=^X:ku=^Z:le=^H:ma=^K^P:nd=^L:nl=^J:r1=^N:rs=^N:sf=^J:\ - :up=^K: + :kr=^X:ku=^Z:le=^H:ma=^K^P:nd=^L:nl=^J:rs=^N:sf=^J:up=^K: mime3ax|mime-3ax|mime1 emulating enhanced 3a:\ :bs:\ :co#80:it#8:li#24:\ :al=\001:bl=^G:cd=^_:ce=^X:cl=1\032:cm=\E=%+ %+ :cr=^M:\ :dl=\027:do=^J:ho=^^:kd=^K:kl=^H:kr=^X:ku=^Z:le=^H:ma=^K^P:\ - :nd=^L:nl=^J:r1=^N:rs=^N:sf=^J:ta=\011:up=^K: + :nd=^L:nl=^J:rs=^N:sf=^J:ta=\011:up=^K: # Wed Mar 9 18:53:21 1983 # We run our terminals at 2400 baud, so there might be some timing problems at -# higher speeds. The major improvements in this model are the terminal now +# higher speeds. The major improvements in this model are the terminal now # scrolls down and insert mode works without redrawing the rest of the line # to the right of the cursor. This is done with a bit of a kludge using the # exit graphics mode to get out of insert, but it does not appear to hurt @@ -20839,15 +27110,15 @@ mt4520-rv|micro-term 4520 reverse video:\ # This entry works for the ergo 4000 with the following setups: # ansi,wraparound,newline disabled, xon/xoff disabled in both # setup a & c. -# +# # WARNING!!! There are multiple versions of ERGO 4000 microcode -# Be advised that very early versions DO NOT WORK RIGHT !! +# Be advised that very early versions DO NOT WORK RIGHT !! # Microterm does have a ROM exchange program- use it or lose big # (ergo400: added / based on the init string -- esr) ergo4000|microterm ergo 4000:\ :da:db:ms:\ :co#80:li#66:\ - :AL=\E[1L:RA=\E[?7l:SA=\E[?7m:bl=^G:cd=\E[0J:ce=\E[0K:\ + :RA=\E[?7l:SA=\E[?7m:al=\E[1L:bl=^G:cd=\E[0J:ce=\E[0K:\ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:dc=\E[1P:dl=\E[1M:\ :do=\E[B:ei=\E[4l:im=\E[4h:\ :is=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h:k1=\EOP:\ @@ -20855,7 +27126,7 @@ ergo4000|microterm ergo 4000:\ :ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:me=\E[m:\ :nd=\E[C:se=\E[m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:up=\E[A: -#### NCR +#### NCR # # NCR's terminal group was merged with AT&T's when AT&T bought the company. # For what happened to that group, see the ADDS section. @@ -20880,7 +27151,7 @@ ncr260intan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard:\ :FB=\E[31~:FC=\E[32~:FD=\E[33~:FE=\E[34~:FF=\E[35~:\ :FG=\E[1~:FH=\E[2~:FI=\E[3~:FJ=\E[4~:FK=\E[5~:FL=\E[6~:\ :FM=\E[7~:FN=\E[8~:FO=\E[9~:FP=\E[10~:IC=\E[%d@:K1=\EOw:\ - :K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ :RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ :al=\E[L:as=\016:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ @@ -20893,10 +27164,9 @@ ncr260intan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :op=\E[0m:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -20912,7 +27182,7 @@ ncr260intwan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard:\ :FB=\E[31~:FC=\E[32~:FD=\E[33~:FE=\E[34~:FF=\E[35~:\ :FG=\E[1~:FH=\E[2~:FI=\E[3~:FJ=\E[4~:FK=\E[5~:FL=\E[6~:\ :FM=\E[7~:FN=\E[8~:FO=\E[9~:FP=\E[10~:IC=\E[%d@:K1=\EOw:\ - :K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ + :K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:\ :RI=\E[%dC:SA=\E[?7h:SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ :al=\E[L:as=\016:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ @@ -20925,10 +27195,9 @@ ncr260intwan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :op=\E[0m:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -20957,10 +27226,9 @@ ncr260intpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:op=\E[0m:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -20989,35 +27257,32 @@ ncr260intwpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard in 132 :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:op=\E[0m:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: # This definition for ViewPoint supports several attributes. This means # that it has magic cookies (extra spaces where the attributes begin). # Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. +# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. # If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be +# attributes can be removed. +# Mapping to ASCII character set ('acsc' capability) can also be # restored if needed. ncr260vppp|NCR 2900_260 viewpoint:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:sg#1:ug#1:\ - :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>:\ - :F1=^B;\r:F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:\ - :F7=^B!\r:F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:\ - :FD=^B'\r:FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:\ - :FJ=^B-\r:FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:\ - :K5=\EJ:RX=\Ec20:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EcB0\EH\003:\ - :al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:cd=\Ek:ce=\EK:cl=\014:\ - :cm=\EY%+ %+ :cr=\r:dc=\EW:dl=\El:do=\n:ds=\E`c:ei=\Er:\ - :fs=^M:ho=\036:im=\Eq:\ + :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:F1=^B;\r:\ + :F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:F7=^B!\r:\ + :F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:FD=^B'\r:\ + :FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:FJ=^B-\r:\ + :FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:K5=\EJ:\ + :RX=\Ec20:SX=\Ec21:ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:\ + :ae=\EcB0\EH\003:al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:\ + :cd=\Ek:ce=\EK:cl=\014:cm=\EY%+ %+ :cr=\r:dc=\EW:dl=\El:\ + :do=\n:ds=\E`c:ei=\Er:fs=^M:ho=\036:im=\Eq:\ :is=\Ee6\E~%\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :k1=^B1\r:k2=^B2\r:k3=^B3\r:k4=^B4\r:k5=^B5\r:k6=^B6\r:\ :k7=^B7\r:k8=^B8\r:k9=^B9\r:k;=^B\:\r:kD=\EW:kI=\Eq:kN=\EJ:\ @@ -21026,21 +27291,19 @@ ncr260vppp|NCR 2900_260 viewpoint:\ :nw=\037:pf=^T:po=^R:ps=\EP:\ :rs=\Ee6\E~%\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=\032:us=\EG8:ve=\E`5:vi=\E`0:vs=\E`5: + :up=\032:us=\EG8:ve=\E`5:vi=\E`0: ncr260vpwpp|NCR 2900_260 viewpoint wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:sg#1:ug#1:\ - :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>:\ - :F1=^B;\r:F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:\ - :F7=^B!\r:F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:\ - :FD=^B'\r:FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:\ - :FJ=^B-\r:FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:\ - :K5=\EJ:RX=\Ec20:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EcB0\EH\003:\ - :al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:cd=\Ek:ce=\EK:cl=\014:\ - :cm=\Ea%i%dR%dC:cr=\r:dc=\EW:dl=\El:do=\n:ds=\E`c:ei=\Er:\ - :fs=^M:ho=\036:im=\Eq:\ + :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:F1=^B;\r:\ + :F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:F7=^B!\r:\ + :F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:FD=^B'\r:\ + :FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:FJ=^B-\r:\ + :FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:K5=\EJ:\ + :RX=\Ec20:SX=\Ec21:ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:\ + :ae=\EcB0\EH\003:al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:\ + :cd=\Ek:ce=\EK:cl=\014:cm=\Ea%i%dR%dC:cr=\r:dc=\EW:dl=\El:\ + :do=\n:ds=\E`c:ei=\Er:fs=^M:ho=\036:im=\Eq:\ :is=\Ee6\E~%\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :k1=^B1\r:k2=^B2\r:k3=^B3\r:k4=^B4\r:k5=^B5\r:k6=^B6\r:\ :k7=^B7\r:k8=^B8\r:k9=^B9\r:k;=^B\:\r:kD=\EW:kI=\Eq:kN=\EJ:\ @@ -21049,13 +27312,13 @@ ncr260vpwpp|NCR 2900_260 viewpoint wide mode:\ :nw=\037:pf=^T:po=^R:ps=\EP:\ :rs=\Ee6\E~%\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=\032:us=\EG8:ve=\E`5:vi=\E`0:vs=\E`5: + :up=\032:us=\EG8:ve=\E`5:vi=\E`0: ncr260vt100an|NCR 2900_260 vt100 with ansi kybd:\ :am:hs:mi:ms:xn:xo:\ :Nl#32:co#80:li#24:\ :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ :UP=\E[%dA:ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%dG:cl=\E[2J\E[1;1H:cm=\E[%i%d;%dH:cr=\r:\ @@ -21066,9 +27329,8 @@ ncr260vt100an|NCR 2900_260 vt100 with ansi kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[3~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21076,8 +27338,8 @@ ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd:\ :am:hs:mi:ms:xn:xo:\ :Nl#32:co#132:li#24:\ :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ :UP=\E[%dA:ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%dG:cl=\E[2J\E[1;1H:cm=\E[%i%d;%dH:cr=\r:\ @@ -21088,9 +27350,8 @@ ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[3~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21111,10 +27372,9 @@ ncr260vt100pp|NCR 2900_260 vt100 with PC+ kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[4~:kI=\E[1~:\ :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:ke=\E>:kh=\E[2~:kl=\E[D:\ :kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :nw=\EE:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21135,10 +27395,9 @@ ncr260vt100wpp|NCR 2900_260 vt100 wide mode pc+ kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[4~:kI=\E[1~:\ :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:ke=\E>:kh=\E[2~:kl=\E[D:\ :kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :nw=\EE:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21151,7 +27410,7 @@ ncr260vt200an|NCR 2900_260 vt200 with ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21165,10 +27424,9 @@ ncr260vt200an|NCR 2900_260 vt200 with ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21181,7 +27439,7 @@ ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21195,10 +27453,9 @@ ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21225,10 +27482,9 @@ ncr260vt200pp|NCR 2900_260 vt200 with pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21255,10 +27511,9 @@ ncr260vt200wpp|NCR 2900_260 vt200 wide mode pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21271,7 +27526,7 @@ ncr260vt300an|NCR 2900_260 vt300 with ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21285,10 +27540,9 @@ ncr260vt300an|NCR 2900_260 vt300 with ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21301,7 +27555,7 @@ ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21315,10 +27569,9 @@ ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21345,10 +27598,9 @@ ncr260vt300pp|NCR 2900_260 vt300 with pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21375,40 +27627,36 @@ NCR260VT300WPP|ncr260vt300wpp|NCR 2900_260 vt300 wide mode pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: -# This terminfo file contains color capabilities for the Wyse325 emulation of +# This terminfo file contains color capabilities for the Wyse325 emulation of # the NCR 2900/260C color terminal. Because of the structure of the command # (escape sequence) used to set color attributes, one of the fore/background # colors must be preset to a given value. I have set the background color to # black. The user can change this setup by altering the last section of the -# 'setf' definition. The escape sequence to set color attributes is -# ESC d y 1 +# 'setf' definition. The escape sequence to set color attributes is +# ESC d y 1 # In addition, the background color can be changed through the desk accessories. -# The capablitiy 'op' sets colors to green on black (default combination). +# The capablitiy 'op' sets colors to green on black (default combination). # # NOTE: The NCR Unix System Administrator's Shell will not function properly # if the 'pairs' capability is defined. Un-Comment the 'pairs' -# capability and recompile if you wish to have it included. +# capability and recompile if you wish to have it included. # ncr260wy325pp|NCR 2900_260 wyse 325:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Co#16:NC#33:Nl#32:co#80:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ - :..Sf=%?%p1%{0}%=%t%'1'%e%p1%{1}%=%t%'2'%e%p1%{2}%=%t%'3'%e%p1%{3}%=%t%'4'%e%p1%{4}%=%t%'5'%e%p1%{5}%=%t%'6'%e%p1%{6}%=%t%'7'%e%p1%{7}%=%t%'8'%e%p1%{8}%=%t%'9'%e%p1%{9}%=%t%'\:'%e%p1%{10}%=%t%';'%e%p1%{11}%=%t%'<'%e%p1%{12}%=%t%'='%e%p1%{13}%=%t%'>'%e%p1%{14}%=%t%{63}%e%p1%{15}%=%t%'8'%;\Edy%c11$<100>:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ :al=\EE:as=\EH\002\EcB1:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:\ :ei=\Er:fs=^M:ho=\036:im=\Eq:\ @@ -21425,15 +27673,12 @@ ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Co#16:NC#33:Nl#32:co#132:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ - :..Sf=%?%p1%{0}%=%t%'1'%e%p1%{1}%=%t%'2'%e%p1%{2}%=%t%'3'%e%p1%{3}%=%t%'4'%e%p1%{4}%=%t%'5'%e%p1%{5}%=%t%'6'%e%p1%{6}%=%t%'7'%e%p1%{7}%=%t%'8'%e%p1%{8}%=%t%'9'%e%p1%{9}%=%t%'\:'%e%p1%{10}%=%t%';'%e%p1%{11}%=%t%'<'%e%p1%{12}%=%t%'='%e%p1%{13}%=%t%'>'%e%p1%{14}%=%t%{63}%e%p1%{15}%=%t%'8'%;\Edy%c11$<100>:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ :al=\EE:as=\EH\002\EcB1:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:\ :ei=\Er:fs=^M:ho=\036:im=\Eq:\ @@ -21449,31 +27694,29 @@ ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode:\ # This definition for Wyse 350 supports several attributes. This means # that it has magic cookies (extra spaces where the attributes begin). # Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. +# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. # If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be +# attributes can be removed. +# Mapping to ASCII character set ('acsc' capability) can also be # restored if needed. # In addition, color capabilities have been added to this file. The drawback, # however, is that the background color has to be black. The foreground colors -# are numbered 0 through 15. +# are numbered 0 through 15. # # NOTE: The NCR Unix System Administrator's Shell does not function properly # with the 'pairs' capability defined as below. If you wish to -# have it included, Un-comment it and recompile (using 'tic'). +# have it included, Un-comment it and recompile (using 'tic'). # ncr260wy350pp|NCR 2900_260 wyse 350:\ :5i:am:bw:hs:km:mi:ms:xo:\ - :Co#16:NC#33:Nl#32:co#80:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ - :..Sf=%?%p1%{0}%=%t%'1'%e%p1%{1}%=%t%'2'%e%p1%{2}%=%t%'3'%e%p1%{3}%=%t%'4'%e%p1%{4}%=%t%'5'%e%p1%{5}%=%t%'6'%e%p1%{6}%=%t%'7'%e%p1%{7}%=%t%'f'%e%p1%{8}%=%t%'a'%e%p1%{9}%=%t%'b'%e%p1%{10}%=%t%'c'%e%p1%{11}%=%t%'e'%e%p1%{12}%=%t%'j'%e%p1%{13}%=%t%'n'%e%p1%{14}%=%t%'o'%e%p1%{15}%=%t%'8'%;\Em0%c$<100>:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ + :Co#16:NC#33:Nl#32:co#80:li#24:pa#16:sg#1:ug#1:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ :al=\EE:as=\EH\002\EcB1:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\E=%+ %+ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:\ :ei=\Er:fs=^M:ho=\036:im=\Eq:\ @@ -21488,16 +27731,14 @@ ncr260wy350pp|NCR 2900_260 wyse 350:\ :up=\013:us=\EG8:ve=\E`1:vi=\E`0:vs=\E`5: ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ - :Co#16:NC#33:Nl#32:co#132:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ - :..Sf=%?%p1%{0}%=%t%'1'%e%p1%{1}%=%t%'2'%e%p1%{2}%=%t%'3'%e%p1%{3}%=%t%'4'%e%p1%{4}%=%t%'5'%e%p1%{5}%=%t%'6'%e%p1%{6}%=%t%'7'%e%p1%{7}%=%t%'f'%e%p1%{8}%=%t%'a'%e%p1%{9}%=%t%'b'%e%p1%{10}%=%t%'c'%e%p1%{11}%=%t%'e'%e%p1%{12}%=%t%'j'%e%p1%{13}%=%t%'n'%e%p1%{14}%=%t%'o'%e%p1%{15}%=%t%'8'%;\Em0%c$<100>:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ + :Co#16:NC#33:Nl#32:co#132:li#24:pa#16:sg#1:ug#1:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:Sb=\s:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH\003\EcB0:\ :al=\EE:as=\EH\002\EcB1:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E+:\ :cm=\Ea%i%dR%dC:cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:\ :ei=\Er:fs=^M:ho=\036:im=\Eq:\ @@ -21513,23 +27754,22 @@ ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode:\ # This definition for Wyse 50+ supports several attributes. This means # that it has magic cookies (extra spaces where the attributes begin). # Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. +# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. # If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be +# attributes can be removed. +# Mapping to ASCII character set ('acsc' capability) can also be # restored if needed. -# (ncr260wy50+pp: originally contained commented-out +# (ncr260wy50+pp: originally contained commented-out # , as well as the commented-out one there -- esr) ncr260wy50+pp|NCR 2900_260 wyse 50+:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ @@ -21546,13 +27786,12 @@ ncr260wy50+pp|NCR 2900_260 wyse 50+:\ ncr260wy50+wpp|NCR 2900_260 wyse 50+ wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\Ea%i%dR%dC:\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ @@ -21570,14 +27809,12 @@ ncr260wy60pp|NCR 2900_260 wyse 60:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ :ho=\036:im=\Eq:\ @@ -21594,14 +27831,12 @@ ncr260wy60wpp|NCR 2900_260 wyse 60 wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\Ea%i%dR%dC:\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ :ho=\036:im=\Eq:\ @@ -21617,17 +27852,15 @@ ncr260wy60wpp|NCR 2900_260 wyse 60 wide mode:\ ncr160vppp|NCR 2900_160 viewpoint:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:sg#1:ug#1:\ - :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>:\ - :F1=^B;\r:F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:\ - :F7=^B!\r:F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:\ - :FD=^B'\r:FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:\ - :FJ=^B-\r:FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:\ - :K5=\EJ:RX=\Ec20:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EcB0\EH\003:\ - :al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:cd=\Ek:ce=\EK:cl=\014:\ - :cm=\EY%+ %+ :cr=\r:dc=\EW:dl=\El:do=\n:ds=\E`c:ei=\Er:\ - :fs=^M:ho=\036:im=\Eq:\ + :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:F1=^B;\r:\ + :F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:F7=^B!\r:\ + :F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:FD=^B'\r:\ + :FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:FJ=^B-\r:\ + :FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:K5=\EJ:\ + :RX=\Ec20:SX=\Ec21:ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:\ + :ae=\EcB0\EH\003:al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:\ + :cd=\Ek:ce=\EK:cl=\014:cm=\EY%+ %+ :cr=\r:dc=\EW:dl=\El:\ + :do=\n:ds=\E`c:ei=\Er:fs=^M:ho=\036:im=\Eq:\ :is=\Ee6\E~%\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :k1=^B1\r:k2=^B2\r:k3=^B3\r:k4=^B4\r:k5=^B5\r:k6=^B6\r:\ :k7=^B7\r:k8=^B8\r:k9=^B9\r:k;=^B\:\r:kD=\EW:kI=\Eq:kN=\EJ:\ @@ -21636,21 +27869,19 @@ ncr160vppp|NCR 2900_160 viewpoint:\ :nw=\037:pf=^T:po=^R:ps=\EP:\ :rs=\Ee6\E~%\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=\032:us=\EG8:ve=\E`5:vi=\E`0:vs=\E`5: + :up=\032:us=\EG8:ve=\E`5:vi=\E`0: ncr160vpwpp|NCR 2900_160 viewpoint wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:sg#1:ug#1:\ - :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>:\ - :F1=^B;\r:F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:\ - :F7=^B!\r:F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:\ - :FD=^B'\r:FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:\ - :FJ=^B-\r:FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:\ - :K5=\EJ:RX=\Ec20:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EcB0\EH\003:\ - :al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:cd=\Ek:ce=\EK:cl=\014:\ - :cm=\Ea%i%dR%dC:cr=\r:dc=\EW:dl=\El:do=\n:ds=\E`c:ei=\Er:\ - :fs=^M:ho=\036:im=\Eq:\ + :#2=^A:%9=\EP:%f=\E7:%i=^F:*4=\El:*7=\Ek:@7=\EK:F1=^B;\r:\ + :F2=^B<\r:F3=^B=\r:F4=^B>\r:F5=^B?\r:F6=^B@\r:F7=^B!\r:\ + :F8=^B"\r:F9=^B#\r:FA=^B$\r:FB=\002%^M:FC=^B&\r:FD=^B'\r:\ + :FE=^B(\r:FF=^B)\r:FG=^B*\r:FH=^B+\r:FI=^B,\r:FJ=^B-\r:\ + :FK=^B.\r:FL=^B/\r:FM=^B0\r:K1=^A:K3=\EJ:K4=\ET:K5=\EJ:\ + :RX=\Ec20:SX=\Ec21:ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:\ + :ae=\EcB0\EH\003:al=\EM:as=\EcB1\EH\002:bl=^G:bt=\EI:\ + :cd=\Ek:ce=\EK:cl=\014:cm=\Ea%i%dR%dC:cr=\r:dc=\EW:dl=\El:\ + :do=\n:ds=\E`c:ei=\Er:fs=^M:ho=\036:im=\Eq:\ :is=\Ee6\E~%\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :k1=^B1\r:k2=^B2\r:k3=^B3\r:k4=^B4\r:k5=^B5\r:k6=^B6\r:\ :k7=^B7\r:k8=^B8\r:k9=^B9\r:k;=^B\:\r:kD=\EW:kI=\Eq:kN=\EJ:\ @@ -21659,13 +27890,13 @@ ncr160vpwpp|NCR 2900_160 viewpoint wide mode:\ :nw=\037:pf=^T:po=^R:ps=\EP:\ :rs=\Ee6\E~%\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7:\ :se=\EG0:sf=\n:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\EF:ue=\EG0:\ - :up=\032:us=\EG8:ve=\E`5:vi=\E`0:vs=\E`5: + :up=\032:us=\EG8:ve=\E`5:vi=\E`0: ncr160vt100an|NCR 2900_160 vt100 with ansi kybd:\ :am:hs:mi:ms:xn:xo:\ :Nl#32:co#80:li#24:\ :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ :UP=\E[%dA:ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%dG:cl=\E[2J\E[1;1H:cm=\E[%i%d;%dH:cr=\r:\ @@ -21676,9 +27907,8 @@ ncr160vt100an|NCR 2900_160 vt100 with ansi kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[3~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21699,10 +27929,9 @@ ncr160vt100pp|NCR 2900_160 vt100 with PC+ kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[4~:kI=\E[1~:\ :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:ke=\E>:kh=\E[2~:kl=\E[D:\ :kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :nw=\EE:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21710,8 +27939,8 @@ ncr160vt100wan|NCR 2900_160 vt100 wide mode ansi kybd:\ :am:hs:mi:ms:xn:xo:\ :Nl#32:co#132:li#24:\ :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:@8=\EOM:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOy:\ - :K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\ + :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:SF=\E[%dE:\ :UP=\E[%dA:ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[0J:ce=\E[0K:\ :ch=\E[%dG:cl=\E[2J\E[1;1H:cm=\E[%i%d;%dH:cr=\r:\ @@ -21722,9 +27951,8 @@ ncr160vt100wan|NCR 2900_160 vt100 wide mode ansi kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[3~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:md=\E[1m:\ - :me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ + :me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21745,10 +27973,9 @@ ncr160vt100wpp|NCR 2900_160 vt100 wide mode pc+ kybd:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kD=\E[4~:kI=\E[1~:\ :kN=\E[6~:kP=\E[3~:kb=^H:kd=\E[B:ke=\E>:kh=\E[2~:kl=\E[D:\ :kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ :nw=\EE:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[0m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21761,7 +27988,7 @@ ncr160vt200an|NCR 2900_160 vt200 with ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21775,10 +28002,9 @@ ncr160vt200an|NCR 2900_160 vt200 with ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21805,10 +28031,9 @@ ncr160vt200pp|NCR 2900_160 vt200 with pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21821,7 +28046,7 @@ ncr160vt200wan|NCR 2900_160 vt200 wide mode ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21835,10 +28060,9 @@ ncr160vt200wan|NCR 2900_160 vt200 wide mode ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21865,10 +28089,9 @@ ncr160vt200wpp|NCR 2900_160 vt200 wide mode pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21881,7 +28104,7 @@ ncr160vt300an|NCR 2900_160 vt300 with ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21895,10 +28118,9 @@ ncr160vt300an|NCR 2900_160 vt300 with ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21925,10 +28147,9 @@ ncr160vt300pp|NCR 2900_160 vt300 with pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21941,7 +28162,7 @@ ncr160vt300wan|NCR 2900_160 vt300 wide mode ansi kybd:\ :F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[31~:FC=\E[32~:\ :FD=\E[33~:FE=\E[34~:FF=\E[35~:FG=\E[1~:FH=\E[2~:FI=\E[3~:\ :FJ=\E[4~:FK=\E[5~:FL=\E[6~:FM=\E[7~:FN=\E[8~:FO=\E[9~:\ - :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:\ + :FP=\E[10~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:\ :K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :SF=\E[%dE:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:ae=\017:\ @@ -21955,10 +28176,9 @@ ncr160vt300wan|NCR 2900_160 vt300 wide mode ansi kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:\ :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: @@ -21985,23 +28205,21 @@ ncr160vt300wpp|NCR 2900_160 vt300 wide mode pc+ kybd:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[4~:\ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[H:\ :kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:\ - :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m\017:mk=\E[8m:mr=\E[7m:\ + :le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\ :nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:rc=\E8:\ :rs=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>:\ :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[2$~\E[1$}:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:\ :vi=\E[?25l: ncr160wy50+pp|NCR 2900_160 wyse 50+:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ @@ -22018,13 +28236,12 @@ ncr160wy50+pp|NCR 2900_160 wyse 50+:\ ncr160wy50+wpp|NCR 2900_160 wyse 50+ wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:sg#1:ug#1:\ - :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:\ - :RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :#2=\E{:%9=\EP:%f=\E7:%i=^L:*4=\ER:*7=\EY:@7=\ET:F1=^AJ\r:\ + :F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:F7=^A`\r:\ + :F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:FD=^Af\r:\ + :FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:FJ=^Al\r:\ + :FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K4=\ET:K5=\EK:RA=\Ed.:\ + :RX=\Ec20:SA=\Ed/:SX=\Ec21:\ :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\Ea%i%dR%dC:\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ @@ -22042,14 +28259,12 @@ ncr160wy60pp|NCR 2900_160 wyse 60:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#80:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ :ho=\036:im=\Eq:\ @@ -22066,14 +28281,12 @@ ncr160wy60wpp|NCR 2900_160 wyse 60 wide mode:\ :5i:am:bw:hs:km:mi:ms:xo:\ :Nl#32:co#132:li#24:\ :#2=\E{:%9=\EP:%c=\EK:%e=\EJ:%f=\E7:%i=^L:*4=\ER:*7=\EY:\ - :@7=\ET:\ - :..CM=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>:\ - :F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:F6=^AO\r:\ - :F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:FC=^Ae\r:\ - :FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:FI=^Ak\r:\ - :FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:K4=\ET:\ - :K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ - :ac=a?h;07j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ + :@7=\ET:F1=^AJ\r:F2=^AK\r:F3=^AL\r:F4=^AM\r:F5=^AN\r:\ + :F6=^AO\r:F7=^A`\r:F8=^Aa\r:F9=^Ab\r:FA=^Ac\r:FB=^Ad\r:\ + :FC=^Ae\r:FD=^Af\r:FE=^Ag\r:FF=^Ah\r:FG=^Ai\r:FH=^Aj\r:\ + :FI=^Ak\r:FJ=^Al\r:FK=^Am\r:FL=^An\r:FM=^Ao\r:K1=^^:K2=\EJ:\ + :K4=\ET:K5=\EK:RA=\Ed.:RX=\Ec20:SA=\Ed/:SX=\Ec21:\ + :ac=07a?h;j5k3l2m1n8q\:t4u9v=w0x6:ae=\EH^C:al=\EE:\ :as=\EH^B:bl=^G:bt=\EI:cd=\Ey:ce=\Et:cl=\E*:cm=\Ea%i%dR%dC:\ :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=\n:ds=\E`c:ei=\Er:fs=^M:\ :ho=\036:im=\Eq:\ @@ -22101,7 +28314,6 @@ ncrvt100an|ncrvt100pp|NCR vt100 for the 2900 terminal:\ :ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\017\E[0m:mr=\E[7m:\ :nd=\E[C:nw=\EE:ps=\E[i:rc=\E8:\ :rs=\Ec\E[12;31h\E[?3;4;5;10l\E[?6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<100>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[>+1:ue=\E[0m:up=\E[A:us=\E[4m: ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\ @@ -22119,7 +28331,6 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\ :ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\017\E[0m:mr=\E[7m:\ :nd=\E[C:nw=\EE:ps=\E[i:rc=\E8:\ :rs=\Ec\E[12;31h\E[?4;5;10l\E?3;6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<100>:\ :sc=\E7:se=\E[0m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ :ts=\E[>+1:ue=\E[0m:up=\E[A:us=\E[4m: # @@ -22133,7 +28344,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\ # 6 - Don't Send or Do Send Spaces # 7 - Parity Enable # 8 - Stop Bits (One/Two) -# +# # Switch B: # 1 - Upper/Lower Shift # 2 - Typewriter Shift @@ -22142,7 +28353,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\ # 5-6 - Carriage Return Without / With Line Feed # 7 - Extended Mode # 8 - Suppress Keyboard Display -# +# # Switch C: # 1 - End of line entry disabled/enabled # 2 - Conversational mode / (Local?) Mode @@ -22152,7 +28363,7 @@ ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal:\ # 6 - (50Hz?) / 60 Hz # 7 - Exit after level zero diagnostics # 8 - RS-232 interface -# +# # Switch D: # 1 - Reverse Channel (yes / no) # 2 - Manual answer (no / yes) @@ -22184,7 +28395,6 @@ ncr7900i|ncr7900|ncr 7900 model 1:\ :bl=^G:cd=\Ek:ce=\EK:cl=^L:cm=\E1%r%.%.:cr=^M:do=^J:\ :is=\E0@\010\E3\E4\E7:kd=^J:kh=^A:kl=^U:kr=^F:ku=^Z:le=^H:\ :ll=^A:mb=\E0B:me=\E0@:mh=\E0A:mr=\E0P:nd=^F:pf=^T:po=^R:\ - :..sa=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c:\ :se=\E0@:sf=^J:so=\E0Q:ue=\E0@:up=^Z:us=\E0`: ncr7900iv|ncr 7900 model 4:\ :am:bw:es:hs:\ @@ -22204,10 +28414,171 @@ ncr7901|ncr 7901 model:\ :bl=^G:cd=\Ek:ce=\EK:ch=\020%B%.:cl=^L:cm=\EY%+ %+ :cr=^M:\ :cv=\013%+@:do=^J:is=\E4^O:kC=^L:kd=^J:kh=^H:kl=^U:kr=^F:\ :ku=^Z:le=^H:ll=^A:mb=\E0B:me=^O:mh=\E0A:mr=\E0P:nd=^F:pf=^T:\ - :po=^R:\ - :..sa=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c\016:\ - :se=^O:sf=^J:so=\E0Q\016:ue=^O:up=^Z:us=\E0`\016:ve=^X:\ - :vi=^W: + :po=^R:se=^O:sf=^J:so=\E0Q\016:ue=^O:up=^Z:us=\E0`\016:\ + :ve=^X:vi=^W: + +# Newbury Data Recording Limited (Newbury Data) +# +# Have been manufacturing and reselling various peripherals for a long time +# They don't make terminals anymore, but are still in business (in 2007). +# Their e-mail address is at ndsales@newburydata.co.uk +# and their post address is: +# +# Newbury Data Recording Ltd, +# Premier Park, Road One, +# Winsford, Cheshire, CW7 3PT +# +# Their technical support is still good, they sent me for free a printed copy +# of the 9500 user manual and I got it just 1 week after I first contacted them +# (in 2005)! + +# NDR 9500 +# Manufactured in the early/mid eighties, behaves almost the same as a +# Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but +# keep the same keyboard layout), add an optional 25-line mode, replace the DIP +# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC ! +# 2), here is the NDR 9500. Even the line-lock, albeit disabled, is +# recognized: if you type in "ESC !", the next (third) character is not +# echoed, showing that the terminal was actually waiting for a parameter! +ndr9500|nd9500|Newbury Data 9500:\ + :5i:am:bw:hs:mi:ms:ul:xo:\ + :co#80:li#24:ws#79:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds=\Eh:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0\E%%\E(:\ + :mh=\E):mp=\E):nd=^L:nw=^_:pf=\Ea:pl=\E|%+02%r\031:po=\E`:\ + :px=\E|%+01%r\031:se=\E(:sf=^J:so=\E):sr=\Ej:st=\E1:ta=^I:\ + :ts=\Eg\Ef\011%+ :up=^K:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-nl|NDR 9500 with no status line:\ + :5i:am:bw:hs@:mi:ms:ul:xo:\ + :co#80:li#24:ws@:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds@:ei=\Er:fs@:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0\E%%\E(:\ + :mh=\E):mp=\E):nd=^L:nw=^_:pf=\Ea:pl=\E|%+02%r\031:po=\E`:\ + :px=\E|%+01%r\031:se=\E(:sf=^J:so=\E):sr=\Ej:st=\E1:ta=^I:\ + :ts@:up=^K:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-25|NDR 9500 with 25th line enabled:\ + :5i:am:bw:hs:mi:ms:ul:xo:\ + :co#80:li#25:ws#79:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds=\Eh:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0\E%%\E(:\ + :mh=\E):mp=\E):nd=^L:nw=^_:pf=\Ea:pl=\E|%+02%r\031:po=\E`:\ + :px=\E|%+01%r\031:se=\E(:sf=^J:so=\E):sr=\Ej:st=\E1:ta=^I:\ + :ts=\Eg\Ef\011%+ :up=^K:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-25-nl|NDR 9500 with 25 lines and no status line:\ + :5i:am:bw:mi:ms:ul:xo:\ + :co#80:li#25:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ei=\Er:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0\E%%\E(:\ + :mh=\E):mp=\E):nd=^L:nw=^_:pf=\Ea:pl=\E|%+02%r\031:po=\E`:\ + :px=\E|%+01%r\031:se=\E(:sf=^J:so=\E):sr=\Ej:st=\E1:ta=^I:\ + :up=^K:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink):\ + :5i:am:bw:hs:mi:ms@:ul:xo:\ + :co#80:li#24:sg#1:ug#1:ws#79:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds=\Eh:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:\ + :me=\EG0\E%%\E(:mh=\E):mk=\EG1:mp=\E):mr=\EG4:nd=^L:nw=^_:\ + :pf=\Ea:pl=\E|%+02%r\031:po=\E`:px=\E|%+01%r\031:se=\EG0:\ + :sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef\011%+ :\ + :ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-25-mc|NDR 500 with 25 lines and magic cookies:\ + :5i:am:bw:hs:mi:ul:xo:\ + :co#80:li#25:sg#1:ug#1:ws#79:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds=\Eh:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:\ + :me=\EG0\E%%\E(:mh=\E):mk=\EG1:mp=\E):mr=\EG4:nd=^L:nw=^_:\ + :pf=\Ea:pl=\E|%+02%r\031:po=\E`:px=\E|%+01%r\031:se=\EG0:\ + :sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef\011%+ :\ + :ue=\EG0:up=^K:us=\EG8:vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-mc-nl|NDR 9500 with magic cookies and no status line:\ + :5i:am:bw:hs@:mi:ul:xo:\ + :co#80:li#24:sg#1:ug#1:ws@:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ds@:ei=\Er:fs@:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:\ + :me=\EG0\E%%\E(:mh=\E):mk=\EG1:mp=\E):mr=\EG4:nd=^L:nw=^_:\ + :pf=\Ea:pl=\E|%+02%r\031:po=\E`:px=\E|%+01%r\031:se=\EG0:\ + :sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ts@:ue=\EG0:up=^K:us=\EG8:\ + :vb=\Eb\Ed:ve=\E.1:vi=\E.0: + +ndr9500-25-mc-nl|NDR 9500 with 25 lines and magic cookies and no status line:\ + :5i:am:bw:mi:ul:xo:\ + :co#80:li#25:sg#1:ug#1:\ + :#3=\Eq:%9=\EP:*4=\Er:*5=\EO:*8=\Et:@8=^M:F1=^AJ\r:F2=^A`\r:\ + :F3=^Aa\r:F4=^Ab\r:F5=^Ac\r:F6=^Ad\r:F7=^Ae\r:F8=^Af\r:\ + :F9=^Ag\r:FA=^Ah\r:FB=^Ai\r:FC=^Aj\r:RX=^N:SX=^O:\ + :ac=jDkClBmAnIqKtMuLvOwNxJ:ae=\E%%:al=\EE:as=\E$:bl=^G:\ + :bt=\EI:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :cr=^M:ct=\E3:\ + :dc=\EW:dl=\ER:do=^V:ei=\Er:ho=^^:ic=\EQ:im=\Eq:\ + :is=\Ew\E'\EDF\El\Er\EO:k1=^A@\r:k2=^AA\r:k3=^AB\r:\ + :k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:\ + :k;=^AI\r:kA=\EE:kB=\EI:kC=^Z:kD=\EW:kE=\ET:kI=\EQ:kL=\ER:\ + :kS=\EY:kd=^V:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:\ + :me=\EG0\E%%\E(:mh=\E):mk=\EG1:mp=\E):mr=\EG4:nd=^L:nw=^_:\ + :pf=\Ea:pl=\E|%+02%r\031:po=\E`:px=\E|%+01%r\031:se=\EG0:\ + :sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=^I:ue=\EG0:up=^K:us=\EG8:\ + :vb=\Eb\Ed:ve=\E.1:vi=\E.0: #### Perkin-Elmer (Owl) # @@ -22242,7 +28613,7 @@ pe1251|pe6300|pe6312|perkin elmer 1251:\ :k5=\ERF:k6=\ERG:k7=\ERH:k8=\ERI:k9=\ERJ:k;=\ERK:le=\ED:\ :nd=\EC:sf=^J:st=\E1:up=\EA: # (pe7000m: this had -# rmul=\E!\0, smul=\E!\040, +# rmul=\E!\0, smul=\E!\040, # which is probably wrong, it collides with kf0 pe7000m|perkin elmer 7000 series monochrome monitor:\ :am:\ @@ -22264,70 +28635,13 @@ pe7000c|perkin elmer 7000 series colour monitor:\ :nd=\EC:se=\Eb0:sf=^J:so=\Eb2:sr=\ER:ue=\E!\0:up=\EA:\ :us=\E!\s: -#### Prime -# -# Yes, Prime made terminals. These entries were posted by Kevin J. Cummings -# on 14 Dec 1992 and lightly edited by esr. -# Prime merged with ComputerVision in the late 1980s; you can reach them at: -# -# ComputerVision Services -# 500 Old Connecticut Path -# Framingham, Mass. -# - -# Standout mode is dim reverse-video. -pt100|pt200|wren|fenix|prime pt100/pt200:\ - :am:bw:mi:ms:\ - :co#80:it#8:li#24:\ - :DC=\E[%dP:DL=\E[M:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:\ - :cl=\E?:cm=\E0%+!%+!:cr=^M:dc=\E[P:do=\ED:ei=\E[4l:ho=\E$B:\ - :im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:kr=\E[C:\ - :ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:nw=^M^J:\ - :se=\E[m:sf=^J:so=\E[2;7m:ta=^I:te=:\ - :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ - :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: -pt100w|pt200w|wrenw|fenixw|prime pt100/pt200 in 132-column mode:\ - :am:bw:mi:ms:\ - :co#132:it#8:li#24:\ - :DC=\E[%dP:DL=\E[M:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:\ - :cl=\E?:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:do=\ED:ei=\E[4l:\ - :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ - :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ - :nw=^M^J:se=\E[m:sf=^J:so=\E[2;7m:ta=^I:te=:\ - :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ - :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: -pt250|Prime PT250:\ - :am:bw:mi:ms:\ - :co#80:it#8:li#24:\ - :DC=\E[%dP:DL=\E[M:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:\ - :cl=\E?:cm=\E0%+!%+!:cr=^M:dc=\E[P:do=\ED:ei=\E[4l:ho=\E$B:\ - :im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:kr=\E[C:\ - :ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:nw=^M^J:\ - :sf=^J:ta=^I:te=:\ - :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ - :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: -pt250w|Prime PT250 in 132-column mode:\ - :am:bw:mi:ms:\ - :co#132:it#8:li#24:\ - :DC=\E[%dP:DL=\E[M:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:al=\E[L\E[t:bt=\E[Z:cd=\E[J\E[r:ce=\E[K\E[t:\ - :cl=\E?:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:do=\ED:ei=\E[4l:\ - :ho=\E$B:im=\E[4h:kb=^H:kd=\E[B:ke=\E[>13l:kh=\E$A:kl=\E[D:\ - :kr=\E[C:ks=\E[>13h:ku=\E[A:le=^H:me=\E[m:mh=\E[2m:nd=\E[C:\ - :nw=^M^J:sf=^J:ta=^I:te=:\ - :ti=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q:\ - :ue=\E[m:up=\EM:us=\E[4m:vb=\E$\E$P: - #### Sperry Univac # # Sperry Univac has merged with Burroughs to form Unisys. # -# This entry is for the Sperry UTS30 terminal running the TTY -# utility under control of CP/M Plus 1R1. The functionality +# This entry is for the Sperry UTS30 terminal running the TTY +# utility under control of CP/M Plus 1R1. The functionality # provided is comparable to the DEC vt100. # (uts30: I added / based on the init string -- esr) uts30|sperry uts30 with cp/m@1R1:\ @@ -22338,10 +28652,10 @@ uts30|sperry uts30 with cp/m@1R1:\ :SR=\E[%dA:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=\Ed:al=\EN:as=\EF:bl=^G:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%i%d;%dH:cr=^M:cs=\EU%+ %+ :dc=\EM:dl=\EL:do=\EB:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\EU%+ %+ :dc=\EM:dl=\EL:do=\E[B:\ :ei=:fs=^M:ho=\E[H:ic=\EO:im=:is=\E[U 7\E[24;1H:kb=^H:\ :kd=\EOB:kh=\E[H:kl=\EOD:kr=\EOC:ku=\EOA:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mr=\E[7m:nd=\EC:rc=\EX:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\EX:\ :rf=/usr/share/tabset/vt100:\ :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\EW:se=\E[m:\ :sf=^J:so=\E[7m:sr=\EI:ta=^I:ts=\E]:uc=\EPB:ue=\E[m:up=\E[A:\ @@ -22358,8 +28672,7 @@ tandem6510|adm3a repackaged by Tandem:\ :am:bs:\ :co#80:li#24:\ :bl=^G:cl=1\032:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:kd=^J:kl=^H:\ - :kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:r1=^N:rs=^N:sf=^J:\ - :up=^K: + :kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:rs=^N:sf=^J:up=^K: # A funny series of terminal that TANDEM uses. The actual model numbers # have a fourth digit after 653 that designates minor variants. These are @@ -22387,12 +28700,12 @@ dmterm|deskmate terminal:\ :k2=\E3:k3=\E4:k4=\E5:k5=\E6:k6=\E7:k7=\E8:k8=\E9:k9=\E0:\ :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l0=f1:l1=f2:l2=f3:l3=f4:\ :l4=f5:l5=f6:l6=f7:l7=f8:l8=f9:l9=f10:le=^H:ll=\EE:me=\EG0:\ - :mr=\EG4:nd=\EC:se=\EG0:sf=\EX:so=\EG4:ta=^I:up=\EA:ve=\EG6:\ - :vi=\EG5: + :mk@:mr=\EG4:nd=\EC:se=\EG0:sf=\EX:so=\EG4:ta=^I:ue@:up=\EA:\ + :us@:ve=\EG6:vi=\EG5: dt100|dt-100|Tandy DT-100 terminal:\ :xo:\ :co#80:li#24:sg#1:ug#1:\ - :ac=kkllmmjjnnwwvvttuuqqxx:ae=^O:al=\E[L:as=^N:bl=^G:\ + :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:bl=^G:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\010\E[%i%d;%dH:cr=^M:\ :cs=\E[%2;%2r:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:\ :im=:is=\E[?3l\E)0\E(B:k1=\E[?3i:k2=\E[2i:k3=\E[@:k4=\E[M:\ @@ -22404,7 +28717,7 @@ dt100|dt-100|Tandy DT-100 terminal:\ dt100w|dt-100w|Tandy DT-100 terminal (wide mode):\ :xo:\ :co#132:li#24:sg#1:ug#1:\ - :ac=kkllmmjjnnwwvvttuuqqxx:ae=^O:al=\E[L:as=^N:bl=^G:\ + :ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[L:as=^N:bl=^G:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\010\E[%i%d;%dH:cr=^M:\ :cs=\E[%2;%2r:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:\ :im=:is=\E[?3l\E)0\E(B:k1=\E[?3i:k2=\E[2i:k3=\E[@:k4=\E[M:\ @@ -22416,16 +28729,16 @@ dt100w|dt-100w|Tandy DT-100 terminal (wide mode):\ dt110|Tandy DT-110 emulating ansi:\ :xo:\ :co#80:li#24:\ - :@7=\E[K:ac=kkllmmjjnnwwvvuuttqqxx:ae=^O:al=\E[0L:as=^N:\ + :@7=\E[K:ac=jjkkllmmnnqqttuuvvwwxx:ae=^O:al=\E[0L:as=^N:\ :bl=^G:cd=\E[0J:ce=\E[0K:cl=\E[H\E[2J:cm=\010\E[%i%d;%dH:\ - :cr=^M:cs=\E[%i%d;%dr:dc=\E[0P:dl=\E[0M:do=\E[0B:\ + :cr=^M:cs=\E[%i%d;%dr:dc=\E[0P:dl=\E[0M:do=\E[B:\ :eA=\E(B\E)0:ei=:ho=\E[H:ic=\E[0@:im=:is=\E[?3l\E)0\E(B:\ :k1=\E[1~:k2=\E[2~:k3=\E[3~:k4=\E[4~:k5=\E[5~:k6=\E[6~:\ :k7=\E[7~:k8=\E[8~:k9=\E[9~:k;=\E[10~:kI=\E[@:kN=\E[26~:\ :kP=\E[25~:kd=\E[B:kh=\E[G:kl=\E[D:kr=\E[C:ku=\E[A:l0=f1:\ :l1=f2:l2=f3:l3=f4:l4=f5:l5=f6:l6=f7:l7=f8:l8=f9:l9=f10:le=^H:\ :me=\E[m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ - :ue=\E[m:up=\E[0A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: + :ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l: pt210|TRS-80 PT-210 printing terminal:\ :hc:os:\ :co#80:\ @@ -22433,7 +28746,7 @@ pt210|TRS-80 PT-210 printing terminal:\ #### Tektronix (tek) # -# Tektronix tubes are graphics terminals. Most of them use modified +# Tektronix tubes are graphics terminals. Most of them use modified # oscilloscope technology incorporating a long-persistence green phosphor, # and support vector graphics on a main screen with an attached "dialogue # area" for interactive text. @@ -22488,14 +28801,14 @@ tek4023|tektronix 4023:\ # bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed # on keyboard don't work. You have to hit BREAK twice to get # one break at any speed - this is a documented feature. -# Can't use cursor motion because it's memory relative, and -# because it only works in the workspace, not the monitor. +# Can't use cursor motion because it's memory relative, and +# because it only works in the workspace, not the monitor. # Same for home. Likewise, standout only works in the workspace. -# -# :ce: was commented out since vi and rogue seem to work better +# +# :ce: was commented out since vi and rogue seem to work better # simulating it with lots of spaces! -# -# :al: and :AL: had 145ms of padding, but that slowed down vi's ^U +# +# :al: and :AL: had 145ms of padding, but that slowed down vi's ^U # and didn't seem necessary. # tek4024|tek4025|tek4027|tektronix 4024/4025/4027:\ @@ -22616,7 +28929,7 @@ tek4105|tektronix 4105:\ :ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%2;%2H:cr=^M:ct=\E[1g:\ :dc=\E[1P:dl=\E[1M:do=\E[1B:ei=\E[4l:ho=\E[H:i1=\E%!1\E[m:\ :im=\E[4h:is=\E%!1\E[?6141\E[m:kb=^H:kd=\E[1B:kl=\E[1D:\ - :kr=\E[1C:ku=\E[1A:mb=\E[=3;<7m:md=\E[=7;<4m:\ + :kr=\E[1C:ku=\E[1A:le=\E[1D:mb=\E[=3;<7m:md=\E[=7;<4m:\ :me=\E[=0;<1m:mh=\E[=1;<6m:mk=\E[=6;<5:mr=\E[=1;<3m:\ :nd=\E[1C:se=\E[=0;<1m:sf=\E[S:so=\E[=2;<3m:sr=\E[T:ta=^I:\ :te=:ti=\E%!1\E[?6l\E[2J:ue=\E[=0;<1m:up=\E[1A:\ @@ -22634,11 +28947,10 @@ tek4105-30|4015 emulating 30 line vt100:\ :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m: + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: # Tektronix 4105 from BRL # The following setup modes are assumed for normal operation: @@ -22721,14 +29033,22 @@ tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109:\ :us=\E[4m:ve=\E%!0\ETD10\E%!1:vi=\E%!0\ETD00\E%!1:\ :vs=\E%!0\ETD70\E%!1: +# Tektronix 4107/4109 interpret 4 modes using "\E%!" followed by a code: +# 0 selects Tek mode, i.e., \E%!0 +# 1 selects ANSI mode +# 2 selects ANSI edit-mode +# 3 selects VT52 mode +# +# One odd thing about the description (which has been unchanged since the 90s) +# is that the cursor addressing is using VT52 mode, and a few others use the +# VT52's non-CSI versions of ANSI, e.g., \EJ. tek4107|tek4109|tektronix terminals 4107 4109:\ :am:bs:mi:ms:ul:xn:xt:\ :co#79:it#8:li#29:\ :bl=^G:cd=\EJ:ce=\EK:cl=\ELZ:cm=\EY%+ %+ :cr=^M:do=^J:kb=^H:\ :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=^H:mb=\E%!1\E[5m\E%!0:\ :md=\E%!1\E[1m\E%!0:me=\E%!1\E[m\E%!0:\ - :mh=\E%!1\E[<0m\E%!0:mr=\E%!1\E[7m\E%0:nd=\EC:\ - :..sa=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m\E%%!0:\ + :mh=\E%!1\E[<0m\E%!0:mr=\E%!1\E[7m\E%!0:nd=\EC:\ :se=\E%!1\E[m\E%!0:sf=^J:so=\E%!1\E[7;5m\E%!0:sr=\EI:\ :ta=^I:ue=\E%!1\E[m\E%!0:up=\EA:us=\E%!1\E[4m\E%!0:\ :ve=\E%!0:vs=\E%!3: @@ -22743,24 +29063,23 @@ tek4207-s|Tektronix 4207 with sysline but no memory:\ :is=\E7\E[?6l\E[2K\E[?6h\E8:kb=^H:kd=\EB:kl=\ED:kr=\EC:\ :ku=\EA:le=^H:mb=\E%!1\E[5m\E%!0:md=\E%!1\E[1m\E%!0:\ :me=\E%!1\E[m\E%!0:mh=\E%!1\E[<0m\E%!0:\ - :mr=\E%!1\E[7m\E%0:nd=\EC:\ - :..sa=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m\E%%!0:\ - :se=\E%!1\E[m\E%!0:sf=^J:so=\E%!1\E[7;5m\E%!0:sr=\EI:\ - :ta=^I:ts=\E7\E[?6l\E[2K\E[;%i%df:ue=\E%!1\E[m\E%!0:\ - :up=\EA:us=\E%!1\E[4m\E%!0:ve=\E%!0:vs=\E%!3: + :mr=\E%!1\E[7m\E%!0:nd=\EC:se=\E%!1\E[m\E%!0:sf=^J:\ + :so=\E%!1\E[7;5m\E%!0:sr=\EI:ta=^I:\ + :ts=\E7\E[?6l\E[2K\E[;%i%df:ue=\E%!1\E[m\E%!0:up=\EA:\ + :us=\E%!1\E[4m\E%!0:ve=\E%!0:vs=\E%!3: # The 4110 series may be a wonderful graphics series, but they make the 4025 # look good for screen editing. In the dialog area, you can't move the cursor # off the bottom line. Out of the dialog area, ^K moves it up, but there # is no way to scroll. -# -# Note that there is a floppy for free from Tek that makes the +# +# Note that there is a floppy for free from Tek that makes the # 4112 emulate the vt52 (use the vt52 termcap). There is also # an expected enhancement that will use ANSI standard sequences. -# -# 4112 in non-dialog area pretending to scroll. It really wraps +# +# 4112 in non-dialog area pretending to scroll. It really wraps # but vi is said to work (more or less) in this mode. -# +# # 'vi' works reasonably well with this entry. # otek4112|o4112-nd|otek4113|otek4114|old tektronix 4110 series:\ @@ -22773,23 +29092,26 @@ tek4112|tek4114|tektronix 4110 series:\ :am:bs:db:\ :co#80:li#34:\ :al=\E[L:bt=\E[Z:cd=\E[0J:ce=\E[0K:cl=\E[2J\E[0;0H:\ - :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:ei=:ic=\E[@:im=:is=\E3!1:\ - :le=^H:me=\E[m:nd=\E[C:se=\E[m:sf=\E7\E[0;0H\E[M\E8:\ - :so=\E[7m:sr=\E7\E[0;0H\E[L\E8:ue=\E[m:up=\EM:us=\E[4m: + :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:ic=\E[@:im=:\ + :is=\E3!1:le=^H:me=\E[m:nd=\E[C:se=\E[m:\ + :sf=\E7\E[0;0H\E[M\E8:so=\E[7m:sr=\E7\E[0;0H\E[L\E8:\ + :ue=\E[m:up=\EM:us=\E[4m: tek4112-nd|4112 not in dialog area:\ :am:bs:db:ns:\ :co#80:li#34:\ :al=\E[L:bt=\E[Z:cd=\E[0J:ce=\E[0K:cl=\E[2J\E[0;0H:\ - :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:ei=:ic=\E[@:im=:is=\E3!1:\ - :le=^H:me=\E[m:nd=\E[C:se=\E[m:sf=\E7\E[0;0H\E[M\E8:\ - :so=\E[7m:sr=\E7\E[0;0H\E[L\E8:ue=\E[m:up=^K:us=\E[4m: + :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:ic=\E[@:im=:\ + :is=\E3!1:le=^H:me=\E[m:nd=\E[C:se=\E[m:\ + :sf=\E7\E[0;0H\E[M\E8:so=\E[7m:sr=\E7\E[0;0H\E[L\E8:\ + :ue=\E[m:up=^K:us=\E[4m: tek4112-5|4112 in 5 line dialog area:\ :am:bs:db:\ :co#80:li#5:\ :al=\E[L:bt=\E[Z:cd=\E[0J:ce=\E[0K:cl=\E[2J\E[0;0H:\ - :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:ei=:ic=\E[@:im=:is=\E3!1:\ - :le=^H:me=\E[m:nd=\E[C:se=\E[m:sf=\E7\E[0;0H\E[M\E8:\ - :so=\E[7m:sr=\E7\E[0;0H\E[L\E8:ue=\E[m:up=\EM:us=\E[4m: + :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:ic=\E[@:im=:\ + :is=\E3!1:le=^H:me=\E[m:nd=\E[C:se=\E[m:\ + :sf=\E7\E[0;0H\E[M\E8:so=\E[7m:sr=\E7\E[0;0H\E[L\E8:\ + :ue=\E[m:up=\EM:us=\E[4m: # (tek4113: this used to have ":nd=\LM1\s\LM0:", someone's mistake; # removed ":as=\E^N:, :ae=\E^O:", which had been commented out in 8.3. # Note, the !0 and !1 sequences in :te:/:ti:/:ve:/:vi: were @@ -22807,7 +29129,7 @@ tek4113-34|tektronix 4113 color graphics with 34 line dialog area:\ :cl=\ELZ:do=^J:is=\EKA1\ELLB2\ELV0\ELV1:le=^H:\ :nd=\ELM1 \ELM0:uc=\010\ELM1_\ELM0:\ :vb=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0: -# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not +# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not # supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up . # :vb: needs enough delay to let you see the background color being toggled. tek4113-nd|tektronix 4113 color graphics with no dialog area:\ @@ -22837,13 +29159,11 @@ tek4115|newer tektronix 4115 entry with more ANSI capabilities:\ :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ :RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:ch=\E[%+^AG:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:cv=\E[%+^Ad:dc=\E[P:\ + :cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:cv=\E[%+^Ad:dc=\E[P:\ :dl=\E[M:do=^J:ei=:ho=\E[H:ic=\E[@:im=:kb=^H:kd=\E[B:kh=\E[H:\ :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mk=\E[8m:mr=\E[7m:nd=\E[C:..rp=%p1%c\E[%p2%{1}%-%db:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\ + :ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # The tek4125 emulates a vt100 incorrectly - the scrolling region # command is ignored. The following entry replaces :cs: with the needed # :AL:, :AL:, and :im:; removes some cursor pad commands that the tek4125 @@ -22853,23 +29173,22 @@ tek4115|newer tektronix 4115 entry with more ANSI capabilities:\ # (tek4125: there were two "\!"s in the is that I replaced with "\E!"; # commented out, :im:=\E1 because there's no :ei: -- esr) tek4125|tektronix 4125:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#34:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[1L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dl=\E[1M:do=^J:\ - :eA=\E(B\E)0:ho=\E[H:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs@:ct=\E[3g:dl=\E[1M:\ + :do=^J:eA=\E(B\E)0:ho=\E[H:\ :is=\E%\E!0\EQD1\EUX03\EKA\ELBB2\ELCE0\ELI100\ELJ2\ELLB2\ELM0\ELS1\ELX00\ELV1\E%\E!1\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E=:ku=\EOA:l1=pf1:l2=pf2:\ + :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\ + :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc@:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc@:se=\E[m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # From: # (tek4207: This was the termcap file's entry for the 4107/4207, but SCO @@ -22903,9 +29222,9 @@ tek4404|tektronix 4404:\ :te=\E[1;1H\E[0J\E[?6h\E[?1l:\ :ti=\E%\E!1\E[1;32r\E[?6l\E>:ue=\E[m:up=\E[A:us=\E[4m: # Some unknown person wrote: -# I added the is string - straight Unix has ESC ; in the login -# string which sets a ct8500 into monitor mode (aka 4025 snoopy -# mode). The is string here cleans up a few things (but not +# I added the is string - straight Unix has ESC ; in the login +# string which sets a ct8500 into monitor mode (aka 4025 snoopy +# mode). The is string here cleans up a few things (but not # everything). ct8500|tektronix ct8500:\ :am:bw:da:db:\ @@ -22925,17 +29244,13 @@ ct8500|tektronix ct8500:\ # Bold, dim, and standout are simulated by colors and thus not allowed # with colors. The tektronix color table is mapped into the RGB color # table by setf/setb. All colors are reset to factory specifications by oc. -# The cap uses RGB notation to define colors. for arguments 1-3 the +# The cap uses RGB notation to define colors. for arguments 1-3 the # interval (0-1000) is broken into 8 smaller sub-intervals (125). Each sub- # interval then maps into pre-defined value. tek4205|tektronix 4205:\ :cc:mi:ms:\ :Co#8:NC#49:co#80:it#8:li#30:pa#63:\ - :AL=\E[%dL:DO=\E[%dB:IC=\E[%d@:\ - :..Ic=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1:\ - :LE=\E[%dD:RI=\E[%dC:\ - :..Sb=\E[=%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1%{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m%e1m%;:\ - :..Sf=\E[<%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1%{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m%e1m%;:\ + :AL=\E[%dL:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[1L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\ @@ -22948,7 +29263,7 @@ tek4205|tektronix 4205:\ :mr=\E[7m:nd=\E[C:\ :oc=\E%!0\ETFB000001F4F4F42F40030F404A4C:rc=^C:\ :sc=^B:sf=^J:up=^K: @@ -23067,21 +29382,21 @@ vc415|volker-craig 415:\ # crude adm3a-type terminal. # Steve Jacobson 8/85 pcplot|pc-plot terminal emulation program:\ - :am:bs:ms:xo:\ + :5i:am:bs:ms:xn@:xo:\ :co#80:it#8:li#24:vt#3:\ - :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ - :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :@8=\EOM:AL@:DL@:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:\ + :K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:do=^J:eA=\E(B\E)0:ho=\E[H:\ - :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ - :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :ae=^O:al@:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs@:ct=\E[3g:dl@:do=^J:eA=\E(B\E)0:\ + :ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ + :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc@:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc@:se=\E[m:sf=^J:\ + :so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: # KayPro II from Richard G Turner # I've found that my KayPro II, running MDM730, continues to emulate an # ADM-3A terminal, just like I was running TERM.COM. On our 4.2 UNIX @@ -23103,7 +29418,7 @@ ibm-pc|ibm5051|5051|IBM Personal Computer (no ANSI.SYS):\ :up=^^: ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX:\ - :am:bw:eo:hs:km:ms:ul:\ + :am:bs:bw:eo:hs:km:ms:ul:\ :co#80:it#8:li#24:\ :@7=\E[Y:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS\E[%dB:\ :SR=\E[%dT\E[%dA:UP=\E[%dA:\ @@ -23111,16 +29426,15 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX:\ :bl=^G:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\Ec:cm=\E[%i%d;%dH:\ :cr=^M:do=\E[B:ec=\E[%dX:ho=\E[H:k1=\240:k2=\241:k3=\242:\ :k4=\243:k5=\244:k6=\245:k7=\246:k8=\247:k9=\250:k;=\251:\ - :kB=^]:kD=\177:kI=\E[^H:kN=\E[U:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:ll=\E[24;1H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mk=\E[30;40m:mr=\E[7m:nd=\E[C:nw=^M:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ - :se=\E[m:sf=\E[S\E[B:so=\E[7m:sr=\E[T\E[A:ue=\E[m:up=\E[A:\ - :us=\E[4m: + :kB=^]:kD=\177:kI=\E[^H:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:ll=\E[24;1H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[30;40m:mr=\E[7m:nd=\E[C:\ + :nw=^M:se=\E[m:sf=\E[S\E[B:so=\E[7m:sr=\E[T\E[A:ue=\E[m:\ + :up=\E[A:us=\E[4m: #### Apple II # -# Apple II firmware console first, then various 80-column cards and +# Apple II firmware console first, then various 80-column cards and # terminal emulators. For two cents I'd toss all these in the UFO file # along with the 40-column apple entries. # @@ -23128,7 +29442,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX:\ # From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL # 'it#8' tells UNIX that you have tabs every 8 columns. This is a # function of TIC, not the firmware. -# The clear key on a IIgs will do something like clear-screen, +# The clear key on a IIgs will do something like clear-screen, # depending on what you're in. appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface:\ :am:bs:bw:eo:ms:\ @@ -23217,7 +29531,7 @@ apple-uterm|Ultraterm for Apple micros:\ # This entry assumes that you are using an apple with the UCSD Pascal # language card. SYSTEM.MISCINFO is assumed to be the same as that # supplied with the standard apple except that screenwidth should be set -# using SETUP to 80 columns. Note that the right arrow in not mapped in +# using SETUP to 80 columns. Note that the right arrow is not mapped in # this termcap entry. This is because that key, on the Apple, transmits # a ^U and would thus preempt the more useful "up" function of vi. # @@ -23250,15 +29564,15 @@ apple-videx2|Apple II+ w/ Videx card (similar to Datamedia h1520):\ apple-videx3|vapple|Apple II with 80 col card:\ :am:bs:\ :co#80:li#24:\ - :ce=\Ex:cl=\Ev:cm=\EY%+ %+ :ho=\EH:k0=\EP:k1=\EQ:k2=\ER:\ - :k3=\E\s:k4=\E!:k5=\E":k6=\E#:k7=\E$:k8=\E%:k9=\E&:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:ku=\EA:nd=\EC:up=\EA: + :ce=\Ex:cl=\Ev:cm=\EY%+ %+ :do=\EB:ho=\EH:k0=\EP:k1=\EQ:\ + :k2=\ER:k3=\E\s:k4=\E!:k5=\E":k6=\E#:k7=\E$:k8=\E%%:k9=\E&:\ + :kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=\ED:nd=\EC:up=\EA: #From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL aepro|Apple II+ running ASCII Express Pro--vt52:\ :bs:\ :co#80:li#24:\ - :cd=\EJ:ce=\EK:cl=300\014:cm=\EY%+ %+ :ho=\EH:nd=\EC:\ - :up=\EA: + :cd=\EJ:ce=\EK:cl=300\014:cm=\EY%+ %+ :do=\EB:ho=\EH:\ + :le=\ED:nd=\EC:up=\EA: # UCSD addition: Yet another termcap from Brian Kantor's Micro Munger Factory apple-vm80|ap-vm80|apple with viewmax-80:\ :bs:\ @@ -23273,7 +29587,7 @@ apple-vm80|ap-vm80|apple with viewmax-80:\ lisa|apple lisa console display (black on white):\ :am:bs:eo:ms:\ :co#88:it#8:li#32:\ - :ac=lfmekcjdttuvvuwsqax`nb:ae=\E[10m:al=\E[L:as=\E[11m:\ + :ac=jdkclfmenbqattuvvuwsx`:ae=\E[10m:al=\E[L:as=\E[11m:\ :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E>\E[m\014:kb=^H:\ :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[C:\ @@ -23282,7 +29596,7 @@ lisa|apple lisa console display (black on white):\ liswb|apple lisa console display (white on black):\ :am:bs:eo:ms:\ :co#88:it#8:li#32:\ - :ac=lfmekcjdttuvvuwsqax`nb:ae=\E[10m:al=\E[L:as=\E[11m:\ + :ac=jdkclfmenbqattuvvuwsx`:ae=\E[10m:al=\E[L:as=\E[11m:\ :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:\ :do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E>\E[0;7m\014:kb=^H:\ :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[C:\ @@ -23334,23 +29648,1359 @@ lisaterm-w|Apple Lisa with Lisaterm in 132 column mode:\ mac|macintosh|Macintosh with MacTerminal:\ :am:bs:eo:ms:xn:\ :co#88:dN#30:it#8:li#32:\ - :ac=lfmekcjdttuvvuwsqax`nb:ae=\E[10m:al=\E[L:as=\E[11m:\ + :ac=jdkclfmenbqattuvvuwsx`:ae=\E[10m:al=\E[L:as=\E[11m:\ :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:dc=7\E[P:dl=\E[M:\ :do=\E[B:ei=:ho=\E[H:ic=9\E[@:im=:ip=7:is=\E>\E[m\014:kb=^H:\ - :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[C:\ + :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb@:me=\E[m:nd=\E[C:\ :se=\E[m:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[5l:\ :vi=\E[5h: # Lisaterm in 132 column ("wide") mode. mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode:\ :am:bs:eo:ms:xn:\ :co#132:dN#30:it#8:li#32:\ - :ac=lfmekcjdttuvvuwsqax`nb:ae=\E[10m:al=\E[L:as=\E[11m:\ + :ac=jdkclfmenbqattuvvuwsx`:ae=\E[10m:al=\E[L:as=\E[11m:\ :cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:dc=7\E[P:dl=\E[M:\ :do=\E[B:ei=:ho=\E[H:ic=9\E[@:im=:ip=7:is=\E>\E[m\014:kb=^H:\ :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[C:\ :se=\E[m:so=\E[7m:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[5l:\ :vi=\E[5h: +# nsterm*|Apple_Terminal - AppKit Terminal.app +# +# Terminal.app is a Terminal emulator bundled with NeXT's NeXTStep and +# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X +# Server and Mac OS X operating systems. There is also a +# "terminal.app" in GNUStep, but I believe it to be an unrelated +# codebase and I have not attempted to describe it here. +# +# For NeXTStep, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you +# are pretty much on your own. Use "nsterm-7-m" and hope for the best. +# You might also try "nsterm-7" and "nsterm-old" if you suspect your +# version supports color. +# +# To determine the version of Terminal.app you're using by running: +# +# echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION" +# +# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm") +# +# For Apple_Terminal v71+/v100+, use "nsterm-bce". +# +# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s". +# +# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s". +# +# For all earlier versions (Apple_Terminal), try "nsterm-7-m" +# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s" +# might work too, but really you're on your own here since these +# systems are very obsolete and I can't test them. I do welcome +# patches, though :). + +# Other Terminals: +# +# For GNUstep_Terminal, you're probably best off using "linux" or +# writing your own terminfo. + +# For MacTelnet, you're on your own. It's a different codebase, and +# seems to be somewhere between "vt102", "ncsa" and "xterm-color". + +# For iTerm.app, see "iterm". + +# +# The AppKit Terminal.app descriptions all have names beginning with +# "nsterm". Note that the statusline (-s) versions use the window +# titlebar as a phony status line, and may produce warnings during +# compilation as a result ("tsl uses 0 parameters, expected 1".) +# Ignore these warnings, or even ignore these entries entirely. Apps +# which need to position the cursor or do other fancy stuff inside the +# status line won't work with these entries. They're primarily useful +# for programs like Pine which provide simple notifications in the +# status line. Please note that non-ASCII characters don't work right +# in the status line, since Terminal.app incorrectly interprets their +# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X +# versions) or only accepts status lines consisting entirely of +# characters from the first 256 Unicode positions (including C1 but +# not C0 or DEL.) +# +# The Mythology* of AppKit Terminal.app: +# +# In the days of NeXTSTep 0.x and 1.x there were two incompatible +# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a +# shareware replacement for Terminal called "Stuart" which NeXT bought +# and used as the basis for the Terminal.app in NeXTstep 2+, +# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I +# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or +# capabilities for the early versions, but I believe that the +# TERM_PROGRAM_VERSION may have been reset at some point. +# +# The early versions were tailored to the NeXT character set. Sometime +# after the Apple aquisition the encoding was swiched to MacRoman +# (initally with serious altcharset bugs due to incomplete conversion +# of the old NeXT code,) and then later to UTF-8. Alos sometime during +# or just prior to the early days of Mac OS X, the Terminal grew ANSI +# 8-color support (initially buggy when combined with attributes, but +# that was later fixed.) More recently, around Mac OS X version 10.3 +# or so (Terminal.app v100+) xterm-like 16-color support was added. In +# some versions (for instance 133-1 which shipped with Mac OS X +# version 10.4) this suffered from the bug, but that seems to +# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+). +# +# In the early days of Mac OS X the terminal was fairly buggy and +# would routinely crash under load. Many of these bugs seem to have +# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but +# some may still remain. This change seems to correspond to +# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as +# it did previously. +# +# * This may correspond with what actually happened, but I don't +# know. It is based on guesswork, hearsay, private correspondence, +# my faulty memory, and the following online sources and references: +# +# [1] "Three Scotts and a Duane" by Simson L. Garfinkel +# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html +# +# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia +# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep +# +# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to +# "nsterm" to comply with the name length and case conventions and +# limitations of various software packages [notably Solaris terminfo +# and UNIX.] A single Apple_Terminal alias is retained for +# backwards-compatbility. +# +# * Added function key support (F1-F4). These only work in Terminal.app +# version 51, hopefully the capabilities won't cause problems for people +# using version 41. +# +# * Added "full color" (-c) entries which support the 16-color mode in +# version 51. +# +# * By default, version 51 uses UTF-8 encoding with broken altcharset +# support, so "ASCII" (-7) entries without altcharset support were +# added. + +# nsterm - AppKit Terminal.app +# +# Apple's Mac OS X includes a Terminal.app derived from the old NeXT +# Terminal.app. It is a partial VT100 emulation with some xterm-like +# extensions. This terminfo was written to describe versions 41 +# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X +# version 10.1) of Terminal.app. +# +# Terminal.app runs under the Mac OS X Quartz windowing system (and +# other AppKit-supported windowing systems.) On the Mac OS X machine I +# use, the executable for Terminal.app is: +# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal +# +# If you're looking for a description of the full-screen system +# console which runs under Apple's Darwin operating system on PowerPC +# platforms, see the "xnuppc" entry instead. +# +# There were no function keys in version 41. In version 51, there are +# four working function keys (F1, F2, F3 and F4.) The function keys +# are included in all of these entries. +# +# It does not support mouse pointer position reporting. Under some +# circumstances the cursor can be positioned using option-click; this +# works by comparing the cursor position and the selected position, +# and simulating enough cursor-key presses to move the cursor to the +# selected position. This technique fails in all but the simplest +# applications. +# +# It provides partial ANSI color support (background colors interacted +# badly with bold in version 41, though, as reflected in :ncv:.) The +# monochrome (-m) entries are useful if you've disabled color support +# or use a monochrome monitor. The full color (-c) entries are useful +# in version 51, which doesn't exhibit the background color bug. They +# also enable an xterm-compatible 16-color mode. +# +# The configurable titlebar is set using xterm-compatible sequences; +# it is used as a status bar in the statusline (-s) entries. Its width +# depends on font sizes and window sizes, but 50 characters seems to +# be the default for an 80x24 window. +# +# The MacRoman character encoding is used for some of the alternate +# characters in the "MacRoman" entries; the "ASCII" (-7) entries +# disable alternate character set support entirely, and the "VT100" +# (-acs) entries rely instead on Terminal.app's own buggy VT100 +# graphics emulation, which seems to think the character encoding is +# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries +# are useful in Terminal.app version 51, which supports UTF-8 and +# other ASCII-compatible character encodings but does not correctly +# implement VT100 graphics; once VT100 graphics are correctly +# implemented in Terminal.app, the "VT100" (-acs) entries should be +# usable in any ASCII-compatible character encoding [except perhaps +# in UTF-8, where some experts argue for disallowing alternate +# characters entirely.] +# +# Terminal.app reports "vt100" as the terminal type, but exports +# several environment variables which may aid detection in a shell +# profile (i.e. .profile or .login): +# +# TERM=vt100 +# TERM_PROGRAM=Apple_Terminal +# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 +# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 +# +# For example, the following Bourne shell script would detect the +# correct terminal type: +# +# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] +# then +# export TERM +# if [ :"$TERM_PROGRAM_VERSION" = :41 ] +# then +# TERM="nsterm-old" +# else +# TERM="nsterm-c-7" +# fi +# fi +# +# In a C shell derivative, this would be accomplished by: +# +# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then +# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then +# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then +# setenv TERM "nsterm-old" +# else +# setenv TERM "nsterm-c-7" +# endif +# endif +# endif + +# The '+' entries are building blocks +nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset:\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset:\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset:\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support:\ + :hs:\ + :ws#50:\ + :ds=\E]2;\007:fs=^G:ts=\E]2;: + +nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors):\ + :Co#16:pa#256:\ + :op=\E[0m: + +nsterm+c41|AppKit Terminal.app v41 color support:\ + :Co#8:NC#37:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:op=\E[0m: + +# These are different combinations of the building blocks + +# ASCII charset (-7) +nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome):\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :co#80:it#8:li#24:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:fs=^G:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color):\ + :am:bw:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\ + :do=^J:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:\ + :kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:\ + :nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color):\ + :am:bw:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:ws#50:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\ + :do=^J:ds=\E]2;\007:fs=^G:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ + :mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ + :ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:fs=^G:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# VT100 alternate-charset (-acs) +nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome):\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :co#80:it#8:li#24:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color):\ + :am:bw:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color):\ + :am:bw:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:ws#50:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0m:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0m:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# MacRoman charset +nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome):\ + :am:bw:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :co#80:it#8:li#24:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color):\ + :am:bw:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color):\ + :am:bw:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:k1=\EOP:\ + :k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m: + +nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#8:NC#37:co#80:it#8:li#24:pa#64:ws#50:\ + :@8=\EOM:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0m:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline):\ + :am:bw:hs:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@8=\EOM:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:K1=\EOq:K2=\EOr:\ + :K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ + :SA=\E[?7h:UP=\E[%dA:\ + :ac=+\335,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3g:dl=\E[M:do=^J:ds=\E]2;\007:eA=\E(B\E)0:fs=^G:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ + :op=\E[0m:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +# In Mac OS X version 10.5 the format of the preferences has changed +# and a new, more complex technique is needed, e.g., +# +# python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass( +# "NSUserDefaults");ud=NSUserDefaults.alloc(); +# ud.init();prefs=ud.persistentDomainForName_( +# "com.apple.Terminal");prefs["Window Settings"][ +# prefs["Default Window Settings"]]["TerminalType" +# ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs, +# "com.apple.Terminal")' nsterm-16color +# +# and it is still not settable from the preferences dialog. This is +# tracked under rdar://problem/7365108 and rdar://problem/7365134 +# in Apple's bug reporter. +nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5:\ + :NP:am:bw@:hs:mi:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@7=\E[F:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[22~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]2;\007:eA=\E(B\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ + :ic=\E[@:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:\ + :ti=\E7\E[?47h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# The versions of Terminal.app in Mac OS X version 10.3.x seem to have +# the background color erase bug. The newer version 240.2 in Mac OS X +# version 10.5 does not. +# +# This entry is based on newsgroup comments by Alain Bench, Christian Ebert, +# and D P Schreber comparing to nsterm-c-s-acs. +# +# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM +# can be set in Terminal.app, e.g., +# +# defaults write com.apple.Terminal TermCapString nsterm-bce +# +# and that it is not set in Terminal's preferences dialog. +nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce):\ + :NP:am:bw:hs:mi:ms:ut:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@7=\E[F:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[22~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]2;\007:eA=\E(B\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ + :ic=\E[@:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:\ + :ti=\E7\E[?47h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# This is an alias which should always point to the "current" version +nsterm|Apple_Terminal|AppKit Terminal.app:\ + :NP:am:hs:mi:ms:xn:xo:\ + :Co#16:co#80:it#8:li#24:pa#256:ws#50:\ + :@7=\E[F:@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\ + :F6=\E[29~:F7=\E[31~:F8=\E[22~:F9=\E[33~:FA=\E[34~:\ + :IC=\E[%d@:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\ + :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ + :do=^J:ds=\E]2;\007:eA=\E(B\E)0:ei=\E[4l:fs=^G:ho=\E[H:\ + :ic=\E[@:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :k;=\E[21~:kD=\E[3~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[H:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\ + :mr=\E[7m:nd=\E[C:op=\E[0m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:\ + :ti=\E7\E[?47h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:\ + :u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and +# more featureful) terminal emulator for Mac OS X. It is similar +# enough in capabilities to nsterm-16color that I have derived this +# description from that one, but as far as I know they share no code. +# Many of the features are user-configurable, but I attempt only to +# describe the default configuration. +# +# NOTE: When tack tests (csr) + (nel) iTerm.app crashes, so (csr) is +# disabled. +iTerm.app|iTerm.app terminal emulator for Mac OS X:\ + :NP:am:bw@:cc@:hs:mi:ms:ut:xn:xo:\ + :Co#256:co#80:it#8:li#24:pa#32767:ws#50:\ + :@7=\EOF:@8=\EOM:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ + :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ + :F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:\ + :F8=\E[22~:F9=\E[33~:FA=\E[34~:IC=\E[%d@:Ic@:K1=\EOq:\ + :K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:\ + :RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs@:\ + :ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ds=\E]2;\007:\ + :eA=\E(B\E)0:ei=\E[4l:fs=^G:ho=\E[H:ic=\E[@:im=\E[4h:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:\ + :kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[0m:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ts=\E]2;:\ + :u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: + +# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") +# +# On PowerPC platforms, Apple's Darwin operating system uses a +# full-screen system console derived from a NetBSD framebuffer +# console. It is an ANSI-style terminal, and is not really VT-100 +# compatible. +# +# Under Mac OS X, this is the system console driver used while in +# single-user mode [reachable by holding down Command-S during the +# boot process] and when logged in using console mode [reachable by +# typing ">console" at the graphical login prompt.] +# +# If you're looking for a description of the Terminal.app terminal +# emulator which runs under the Mac OS X Quartz windowing system (and +# other AppKit-supported windowing systems,) see the "nsterm" +# entry instead. +# +# NOTE: Under Mac OS X version 10.1, the default login window does not +# prompt for user name, instead requiring an icon to be selected from +# a list of known users. Since the special ">console" login is not in +# this list, you must make one of two changes in the Login Window +# panel of the Login section of System Prefs to make the special +# ">console" login accessible. The first option is to enable 'Show +# "Other User" in list for network users', which will add a special +# "Other..." icon to the graphical login panel. Selecting "Other..." +# will present the regular graphical login prompt. The second option +# is to change the 'Display Login Window as:' setting to 'Name and +# password entry fields', which replaces the login panel with a +# graphical login prompt. +# +# There are no function keys, at least not in Darwin 1.3. +# +# It has no mouse support. +# +# It has full ANSI color support, and color combines correctly with +# all three supported attributes: bold, inverse-video and underline. +# However, bold colored text is almost unreadable (bolding is +# accomplished using shifting and or-ing, and looks smeared) so bold +# has been excluded from the list of color-compatible attributes +# [using (ncv)]. The monochrome entry (-m) is useful if you use a +# monochrome monitor. +# +# There is one serious bug with this terminal emulation's color +# support: repositioning the cursor onto a cell with non-matching +# colors obliterates that cell's contents, replacing it with a blank +# and displaying a colored cursor in the "current" colors. There is +# no complete workaround at present [other than using the monochrome +# (-m) entries,] but removing the (msgr) capability seemed to help. +# +# The "standout" chosen was simple reverse-video, although a colorful +# standout might be more aesthetically pleasing. Similarly, the bold +# chosen is the terminal's own smeared bold, although a simple +# color-change might be more readable. The color-bold (-b) entries +# uses magenta colored text for bolding instead. The fancy color (-f +# and -f2) entries use color for bold, standout and underlined text +# (underlined text is still underlined, though.) +# +# Apparently the terminal emulator does support a VT-100-style +# alternate character set, but all the alternate character set +# positions have been left blank in the font. For this reason, no +# alternate character set capabilities have been included in this +# description. The console driver appears to be ASCII-only, so (enacs) +# has been excluded [although the VT-100 sequence does work.] +# +# The default Mac OS X and Darwin installation reports "vt100" as the +# terminal type, and exports no helpful environment variables. To fix +# this, change the "console" entry in /etc/ttys from "vt100" to +# "xnuppc-WxH", where W and H are the character dimensions of your +# console (see below.) +# +# The font used by the terminal emulator is apparently one originally +# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This +# file includes descriptions for the following geometries: +# +# Pixels Characters Entry Name (append -m for monochrome) +# ------------------------------------------------------------------- +# 640x400 80x25 xnuppc-80x25 +# 640x480 80x30 xnuppc-80x30 +# 720x480 90x30 xnuppc-90x30 +# 800x600 100x37 xnuppc-100x37 +# 896x600 112x37 xnuppc-112x37 +# 1024x640 128x40 xnuppc-128x40 +# 1024x768 128x48 xnuppc-128x48 +# 1152x768 144x48 xnuppc-144x48 +# 1280x1024 160x64 xnuppc-160x64 +# 1600x1024 200x64 xnuppc-200x64 +# 1600x1200 200x75 xnuppc-200x75 +# 2048x1536 256x96 xnuppc-256x96 +# +# The basic "xnuppc" entry includes no size information, and the +# emulator includes no reporting capability, so you'll be at the mercy +# of the TTY device (which reports incorrectly on my hardware.) The +# color-bold entries do not include size information. + +# The '+' entries are building blocks +xnuppc+basic|Darwin PowerPC Console basic capabilities:\ + :am:mi:ut:xn:\ + :it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc+c|Darwin PowerPC Console ANSI color support:\ + :Co#8:NC#32:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:op=\E[37;40m: + +xnuppc+b|Darwin PowerPC Console color-bold support:\ + :am:mi:ut:xn:\ + :NC#32:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc+f|Darwin PowerPC Console fancy color support:\ + :am:mi:ut:xn:\ + :NC#35:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[33;44m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[36;4m: + +xnuppc+f2|Darwin PowerPC Console alternate fancy color support:\ + :am:mi:ut:xn:\ + :NC#35:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[33m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[31;47m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[34m: + +# Building blocks for specific screen sizes +xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels):\ + :co#80:li#25: + +xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels):\ + :co#80:li#30: + +xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels):\ + :co#90:li#30: + +xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels):\ + :co#100:li#37: + +xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels):\ + :co#112:li#37: + +xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels):\ + :co#128:li#40: + +xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels):\ + :co#128:li#48: + +xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels):\ + :co#144:li#48: + +xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels):\ + :co#160:li#64: + +xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels):\ + :co#200:li#64: + +xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels):\ + :co#200:li#75: + +xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels):\ + :co#256:li#96: + +# These are different combinations of the building blocks + +xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome):\ + :am:mi:ut:xn:\ + :it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc|darwin|Darwin PowerPC Console (color):\ + :am:mi:ut:xn:\ + :Co#8:NC#32:it#8:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold):\ + :am:mi:ut:xn:\ + :NC#32:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold):\ + :am:mi:ut:xn:\ + :Co#8:NC#32:it#8:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome):\ + :am:mi:ut:xn:\ + :NC#35:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[33;44m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[36;4m: + +xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color):\ + :am:mi:ut:xn:\ + :Co#8:NC#35:it#8:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[35m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[33;44m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[36;4m: + +xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome):\ + :am:mi:ut:xn:\ + :NC#35:it#8:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[33m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[31;47m:sr=\EM:st=\EH:ta=^I:\ + :ue=\E[m:up=\E[A:us=\E[34m: + +xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color):\ + :am:mi:ut:xn:\ + :Co#8:NC#35:it#8:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[33m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[31;47m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[34m: + +# Combinations for specific screen sizes +xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25:\ + :am:mi:ut:xn:\ + :co#80:it#8:li#25:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30:\ + :am:mi:ut:xn:\ + :co#80:it#8:li#30:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#80:it#8:li#30:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30:\ + :am:mi:ut:xn:\ + :co#90:it#8:li#30:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#90:it#8:li#30:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37:\ + :am:mi:ut:xn:\ + :co#100:it#8:li#37:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#100:it#8:li#37:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37:\ + :am:mi:ut:xn:\ + :co#112:it#8:li#37:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#112:it#8:li#37:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40:\ + :am:mi:ut:xn:\ + :co#128:it#8:li#40:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#128:it#8:li#40:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48:\ + :am:mi:ut:xn:\ + :co#128:it#8:li#48:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#128:it#8:li#48:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48:\ + :am:mi:ut:xn:\ + :co#144:it#8:li#48:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#144:it#8:li#48:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64:\ + :am:mi:ut:xn:\ + :co#160:it#8:li#64:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#160:it#8:li#64:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64:\ + :am:mi:ut:xn:\ + :co#200:it#8:li#64:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#200:it#8:li#64:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75:\ + :am:mi:ut:xn:\ + :co#200:it#8:li#75:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#200:it#8:li#75:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + +xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96:\ + :am:mi:ut:xn:\ + :co#256:it#8:li#96:\ + :DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ + :cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:ds=\E]2;\007:\ + :ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:\ + :ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:\ + :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ + :up=\E[A:us=\E[4m: + +xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96:\ + :am:mi:ut:xn:\ + :Co#8:NC#32:co#256:it#8:li#96:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:\ + :K4=\EOp:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ + :UP=\E[%dA:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=\E[B:\ + :ds=\E]2;\007:ho=\E[H:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=\E[D:md=\E[1m:\ + :me=\E[m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: + #### Radio Shack/Tandy # @@ -23379,7 +31029,7 @@ trs2|trsII|trs80II|Radio Shack Model II using P&T CP/M:\ trs16|trs-80 model 16 console:\ :am:bs:\ :co#80:it#8:li#24:\ - :ac=l_mbk`javewcquxs:ae=\ERg:al=\EL:as=\ERG:bl=^G:cd=\EJ:\ + :ac=jak`l_mbquvewcxs:ae=\ERg:al=\EL:as=\ERG:bl=^G:cd=\EJ:\ :ce=\EK:cl=^L:cm=\EY%+ %+ :cr=^M:dc=\EQ:dl=\EM:do=\EB:ei=:\ :ho=\EH:ic=\EP:im=:k0=^A:k1=^B:k2=^D:k3=^L:k4=^U:k5=^P:k6=^N:\ :k7=^S:kb=^H:kd=\EB:kh=^W:kl=\ED:kr=\EC:ku=\EA:l0=f1:l1=f2:\ @@ -23387,56 +31037,6 @@ trs16|trs-80 model 16 console:\ :pf=\E]+:po=\E]=:se=\ER@:sf=^J:so=\ERD:ta=^I:up=\EA:ve=\ERC:\ :vi=\ERc: -#### Atari ST -# - -# From: Simson L. Garfinkel -atari|atari st:\ - :am:bs:\ - :co#80:it#8:li#25:\ - :al=\EL:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :dl=\EM:do=\EB:\ - :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=\ED:me=\Eq:nd=\EC:se=\Eq:\ - :so=\Ep:sr=\EI:ta=^I:up=\EA: -# UniTerm terminal program for the Atari ST: 49-line VT220 emulation mode -# From: Paul M. Aoki -uniterm|uniterm49|UniTerm VT220 emulator with 49 lines:\ - :5i:am:bs:mi:ms:xn:xo:\ - :co#80:it#8:li#49:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E)0:ec=\E[%dX:ei=\E[4l:\ - :ho=\E[H:if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:\ - :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\E[?3l:rc=\E8:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ - :st=\EH:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l: -# MiNT VT52 emulation. 80 columns, 25 rows. -# MiNT is Now TOS, the operating system which comes with all Ataris now -# (mainly Atari Falcon). This termcap is for the VT52 emulation you get -# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode -# From: Per Persson , 27 Feb 1996 -st52|Atari ST with VT52 emulation:\ - :am:km:\ - :co#80:li#25:\ - :K1=\E#7:K2=\E#9:K3=\E#5:K4=\E#1:K5=\E#3:al=\EL:bl=^G:\ - :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:dl=\EM:do=\EB:\ - :ho=\EH:k0=\E#D:k1=\E#;:k2=\E#<:k3=\E#=:k4=\E#>:k5=\E#?:\ - :k6=\E#@:k7=\E#A:k8=\E#B:k9=\E#C:kA=\E#R:kC=\E#7:kF=\E#2:\ - :kR=\E#8:kb=^H:kd=\E#P:kh=\E#G:kl=\E#K:kr=\E#M:ku=\E#H:\ - :l0=f10:le=\ED:me=\Eq:nd=\EC:nw=^M^J:r1=\Ez_\Eb@\EcA:\ - :rc=\Ek:sc=\Ej:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:te=:ti=\Ee:\ - :up=\EA:ve=\Ee:vi=\Ef: - #### Commodore Business Machines # # Formerly located in West Chester, PA; went spectacularly bust in 1994 @@ -23499,22 +31099,71 @@ amiga-h|Hans Verkuil's Amiga ANSI:\ :us=\2334m:vb=^G:ve=\233 p:vi=\2330 p: # From: Henning 'Faroul' Peters , 25 Sep 1999 +# +# Pavel Fedin added +# Home Shift+Left +# End Shift+Right +# PgUp Shift+Up +# PgDn Shift+Down amiga-8bit|Amiga ANSI using 8-bit controls:\ :bs:bw:ms:\ :co#80:li#24:\ - :AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:IC=\233%d@:\ - :LE=\233%dD:RI=\233%dC:UP=\233%dA:ac=:ae=^O:al=\233L:as=^N:\ - :bl=^G:bt=\233Z:cd=\233J:ce=\233K:cl=\233H\233J:\ - :cm=\233%i%d;%dH:cr=^M:dc=\233P:dl=\233M:do=\233B:\ - :ec=\233%dP:ei=:ho=\233H:ic=\233@:im=:is=\23320l:k0=\2339~:\ - :k1=\2330~:k2=\2331~:k3=\2332~:k4=\2333~:k5=\2334~:\ - :k6=\2335~:k7=\2336~:k8=\2337~:k9=\2338~:kD=\177:kb=^H:\ - :kd=\233B:kl=\233D:kr=\233C:ku=\233A:le=\233D:mb=\2337;2m:\ + :@7=\233 @:AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:\ + :IC=\233%d@:LE=\233%dD:RI=\233%dC:SF@:SR@:UP=\233%dA:ac=:\ + :ae=^O:al=\233L:as=^N:bl=^G:bt=\233Z:cd=\233J:ce=\233K:\ + :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:dc=\233P:dl=\233M:\ + :do=\233B:ec=\233%dP:ei=:ho=\233H:ic=\233@:im=:is=\23320l:\ + :k0=\2339~:k1=\2330~:k2=\2331~:k3=\2332~:k4=\2333~:\ + :k5=\2334~:k6=\2335~:k7=\2336~:k8=\2337~:k9=\2338~:\ + :kD=\177:kN=\233S:kP=\233T:kb=^H:kd=\233B:kh=\233 A:\ + :kl=\233D:kr=\233C:ku=\233A:le=\233D:mb=\2337;2m:\ :md=\2331m:me=\2330m:mh=\2332m:mk=\2338m:mr=\2337m:\ :nd=\233C:nw=\233B\r:r1=\Ec:se=\2330m:sf=\204:so=\2337m:\ :sr=\215:ta=^I:te=\233?7h:ti=\233?7l:ue=\2330m:up=\233A:\ :us=\2334m:vb=^G:ve=\233 p:vi=\2330 p: +# From: Ruediger Kuhlmann , 18 Jul 2000 +# requires use of appropriate preferences settings. +amiga-vnc|Amiga using VNC console (black on light gray):\ + :ND:am:da:db:ms:\ + :BT#1:Co#16:NC#0:co#80:li#24:lm#0:pa#256:\ + :%1=\E[?~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :IC=\E[%d@:Km=\E[M:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\ + :SR=\E[%dT:UP=\E[%dA:al=\E[1L:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:\ + :dl=\E[1M:do=\E[B:ei=:ic=\E[@:im=:\ + :is=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h:\ + :k0=\E[9~:k1=\E[0~:k2=\E[1~:k3=\E[2~:k4=\E[3~:k5=\E[4~:\ + :k6=\E[5~:k7=\E[6~:k8=\E[7~:k9=\E[8~:kB=\233Z:kD=\177:\ + :kH=\E[45~:kN=\E[42~:kP=\E[41~:kb=^H:kd=\E[B:ke=\E[?1l:\ + :kh=\E[44~:kl=\E[D:kr=\E[C:ks=\E[?1h:ku=\E[A:le=\E[D:\ + :mb=\E[7;2m:md=\E[1m:me=\E[0m\017\E[30;85;>15m:mh=\E[2m:\ + :mk=\E8m:mr=\E[7m:nd=\E[C:nw=\EE:oc=\E[0m:r1=\Ec:\ + :r2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h:\ + :se=\E[21m:sf=\ED:so=\E[1m:sr=\EM:te=\E[?7h\E[r\E[J:\ + :ti=\E[?7h:ue=\E[24m:up=\E[A:us=\E[4m:vb=^G:\ + :ve=\E[p\E[>?6l:vi=\E[0p:vs=\E[>?6h: + +# MorphOS on Genesi Pegasos +# By Pavel Fedin +morphos:\ + :bs:bw:ms:\ + :co#80:li#24:\ + :@7=\23345~:AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:\ + :F1=\23320~:F2=\23321~:IC=\233%d@:LE=\233%dD:RI=\233%dC:\ + :SF@:SR@:UP=\233%dA:ac=:ae=^O:al=\233L:as=^N:bl=^G:bt=\233Z:\ + :cd=\233J:ce=\233K:cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:\ + :dc=\233P:dl=\233M:do=\233B:ec=\233%dP:ei=:ho=\233H:\ + :ic=\233@:im=:is=\23320l:k0=\2339~:k1=\2330~:k2=\2331~:\ + :k3=\2332~:k4=\2333~:k5=\2334~:k6=\2335~:k7=\2336~:\ + :k8=\2337~:k9=\2338~:kD=\177:kI=\23340~:kN=\23342~:\ + :kP=\23341~:kb=^H:kd=\233B:kh=\23344~:kl=\233D:kr=\233C:\ + :ku=\233A:le=\233D:mb=\2337;2m:md=\2331m:me=\2330m:\ + :mh=\2332m:mk=\2338m:mr=\2337m:nd=\233C:nw=\233B\r:r1=\Ec:\ + :se=\2330m:sf=\204:so=\2337m:sr=\215:ta=^I:te=\233?7h:\ + :ti=\233?7l:ue=\2330m:up=\233A:us=\2334m:vb=^G:ve=\233 p:\ + :vi=\2330 p: + # Commodore B-128 microcomputer from Doug Tyrol # I'm trying to write a termcap for a commodore b-128, and I'm # having a little trouble. I've had to map most of my control characters @@ -23546,16 +31195,16 @@ northstar|North Star Advantage:\ #### Osborne # # Thu Jul 7 03:55:16 1983 -# -# As an aside, be careful; it may sound like an anomaly on the -# Osborne, but with the 80-column upgrade, it's too easy to +# +# As an aside, be careful; it may sound like an anomaly on the +# Osborne, but with the 80-column upgrade, it's too easy to # enter lines >80 columns! -# +# # I've already had several comments... -# The Osborne-1 with the 80-col option is capable of being -# 52, 80, or 104 characters wide; default to 80 for compatibility +# The Osborne-1 with the 80-col option is capable of being +# 52, 80, or 104 characters wide; default to 80 for compatibility # with most systems. -# +# # The tab is destructive on the Ozzie; make sure to 'stty -tabs'. osborne-w|osborne1-w|osborne I in 104-column mode:\ :ms:ul:xt:\ @@ -23592,27 +31241,45 @@ osexec|Osborne executive:\ # Memory-segmentation limits and a strong tendency to look like V7 long after # it was obsolete made all three pretty lame. Venix croaked early. Coherent # and Minix were ported to 32-bit Intel boxes, only to be run over by a -# steamroller named `Linux' (which, to be fair, traces some lineage to Minix). +# steamroller named `Linux' (which, to be fair, traces some lineage to Minix). # Coherent's vendor, the Mark Williams Company, went belly-up in 1994. There # are also, I'm told, Minix ports that ran on Amiga and Atari machines and # even as single processes under SunOS and the Macintosh OS. # +# See +# http://www.minix3.org/manpages/man4/console.4.html +minix|minix console (v3):\ + :am:xn:\ + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :al=\E[L:bl=^G:cb=\E[2K:cd=\E[0J:ce=\E[K:cl=\E[H\E[0J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:\ + :ic=\E[@:im=:is=\E[0m:k0=\E[Y:k1=\E[V:k2=\E[U:k3=\E[T:\ + :k4=\E[S:k5=\E[G:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ku=\E[A:l0=End:l1=PgUp:l2=PgDn:l3=Num +:l4=Num -:l5=Num 5:\ + :le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:\ + :op=\E[39;49m:se=\E[0m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ + :ue=\E[0m:up=\E[A:us=\E[4m: + +# See +# http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html # This is the entry provided with minix 1.7.4, with bogus :ri: removed. -minix|minix console (v1.7):\ +minix-1.7|minix console (v1.7):\ :am:xn:\ :co#80:it#8:li#25:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[0J:\ - :ce=\E[K:cl=\E[H\E[0J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ - :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E[0m:k0=\E[Y:\ - :k1=\E[V:k2=\E[U:k3=\E[T:k4=\E[S:k5=\E[G:kb=^H:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l0=End:l1=PgUp:l2=PgDn:\ - :l3=Num +:l4=Num -:l5=Num 5:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:se=\E[0m:sf=^J:so=\E[7m:\ - :sr=\EM:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: + :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[2K:\ + :cd=\E[0J:ce=\E[K:cl=\E[H\E[0J:cm=\E[%i%d;%dH:cr=^M:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E[0m:\ + :k0=\E[Y:k1=\E[V:k2=\E[U:k3=\E[T:k4=\E[S:k5=\E[G:kb=^H:\ + :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l0=End:l1=PgUp:\ + :l2=PgDn:l3=Num +:l4=Num -:l5=Num 5:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:se=\E[0m:sf=^J:\ + :so=\E[7m:sr=\EM:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: # Corrected Jan 14, 1997 by Vincent Broman -minix-old|minix console (v1.5):\ +minix-old|minix-1.5|minix console (v1.5):\ :xo:\ :co#80:it#8:li#25:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ @@ -23639,18 +31306,18 @@ minix-old-am|minix console with linewrap:\ pc-minix|minix console on an Intel box:\ :am:xn:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[0J:ce=\E[K:\ - :cl=\E[H\E[0J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\ - :do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E[0m:k0=\E[Y:k1=\E[V:\ - :k2=\E[U:k3=\E[T:k4=\E[S:k5=\E[G:kb=^H:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:l0=End:l1=PgUp:l2=PgDn:l3=Num +:\ - :l4=Num -:l5=Num 5:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ - :mr=\E[7m:nd=\E[C:nw=^M^J:se=\E[0m:sf=^J:so=\E[7m:sr=\EM:\ - :ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: + :Co#8:NC#3:co#80:it#8:li#25:pa#64:\ + :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\ + :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cb=\E[2K:cd=\E[0J:\ + :ce=\E[K:cl=\E[H\E[0J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:\ + :dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:is=\E[0m:k0=\E[Y:\ + :k1=\E[V:k2=\E[U:k3=\E[T:k4=\E[S:k5=\E[G:kb=^H:kd=\E[B:\ + :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l0=End:l1=PgUp:l2=PgDn:\ + :l3=Num +:l4=Num -:l5=Num 5:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:se=\E[0m:\ + :sf=^J:so=\E[7m:sr=\EM:ta=^I:ue=\E[0m:up=\E[A:us=\E[4m: # According to the Coherent 2.3 manual, the PC console is similar # to a z19. The differences seem to be (1) 25 lines, (2) no status @@ -23665,7 +31332,7 @@ pc-coherent|pcz19|coherent|IBM PC console running Coherent:\ :sr=\EI:ta=^I:up=\EA: # According to the Venix 1.1 manual, the PC console is similar -# to a DEC vt52. Differences seem to be (1) arrow keys send +# to a DEC vt52. Differences seem to be (1) arrow keys send # different strings, (2) enhanced standout, (3) added insert/delete line. # Note in particular that it doesn't have automatic margins. # There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they @@ -23682,11 +31349,11 @@ pc-venix|venix|IBM PC console running Venix:\ # # The MAI Basic Four computer was obsolete at the end of the 1980s. -# It may be used as a terminal by putting it in "line" mode as seen on +# It may be used as a terminal by putting it in "line" mode as seen on # one of the status lines. -# Initialization is similar to CIT80. :is: will set ANSI mode for you. +# Initialization is similar to CIT80. :is: will set ANSI mode for you. # Hardware tabs set by :if: at 8-spacing. Auto line wrap causes glitches so -# wrap mode is reset by :vs:. Using :sf:=\E[S caused errors so I +# wrap mode is reset by :vs:. Using :sf:=\E[S caused errors so I # used \ED instead. # From: bf347@lafn.org (David Lawyer), 28 Jun 1997 mai|basic4|MAI Basic Four in ansi mode:\ @@ -23694,7 +31361,7 @@ mai|basic4|MAI Basic Four in ansi mode:\ :co#82:it#8:li#25:\ :al=\E[L:bl=^G:cd=^_:ce=^^:cl=^]^_:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:dc=\E[1P:dl=\E[M:do=^J:ei=\E[4l:ho=^]:\ - :if=/usr/lib/tabset/vt100:im=\E[4h:\ + :if=/usr/share/tabset/vt100:im=\E[4h:\ :is=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:\ :k8=\EOW:kb=^H:kd=\EOB:kl=\EOD:kr=\EOC:ku=\EOA:le=^H:\ @@ -23706,7 +31373,7 @@ mai|basic4|MAI Basic Four in ansi mode:\ # # On Sat, 7 Aug 1999, Torsten Jerzembeck wrote: # The Basis 108 was a Apple II clone, manufactured by the "Basis -# Mikrocomputer GmbH" in Munster, Germany (the company still exists today, +# Mikrocomputer GmbH" in Munster, Germany (the company still exists today, # about 1,5 km from where I live, but doesn't build own computers any # more). A Basis 108 featured a really heavy (cast aluminium?) case, was # equipped with one or two 5.25" disk drives, had a monochrome and colour @@ -23722,7 +31389,7 @@ basis|BASIS108 computer with terminal translation table active:\ :co#80:li#24:\ :bl=^G:cd=\EY:ce=\ET:cl=300\E*:cm=\E=%+ %+ :cr=^M:\ :do=5000\n:ho=^^:kb=^H:kd=^J:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:\ - :me=\E):nd=^L:nl=^J:r1=^N:rs=^N:se=\E):sf=^J:so=\E(:up=^K: + :me=\E):nd=^L:nl=^J:rs=^N:se=\E):sf=^J:so=\E(:up=^K: # luna's BMC terminal emulator luna|luna68k|LUNA68K Bitmap console:\ :am:bs:xo:\ @@ -23732,7 +31399,7 @@ luna|luna68k|LUNA68K Bitmap console:\ megatek|pegasus workstation terminal emulator:\ :am:os:\ :co#83:li#60: -# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived +# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived # interface (pre-Macintosh by several years) that went nowhere. xerox820|x820|Xerox 820:\ :am:\ @@ -23743,50 +31410,6 @@ xerox820|x820|Xerox 820:\ #### Videotex and teletext # -# From: Alexandre Montaron , 18 Jun 1998 -# -minitel1|minitel 1:\ - :am:bw:es:hs:hz:ms:\ - :Co#8:co#40:li#24:pa#8:\ - :..Sf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=%tC%e%p1%{64}%+%c%;:\ - :ac=f0g1,,+../:bl=^G:ce=^X:cl=^L:cm=\037%+A%+A:cr=^M:do=^J:\ - :eA=^Y:fs=^J:ho=^^:is=\E;`ZQ\E\:iC\E\:iE\021:le=^H:mb=\EH:\ - :me=\EI\E\\:mr=\E]:nd=^I:nw=^M^J:op=\EG:rp=%.\022%+?:\ - :..sa=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;:se=\E\\:\ - :sf=^J:so=\E]:sr=^K:ts=\037@%+A:up=^K:ve=^Q:vi=^T: -# is2=Fnct TE, Fnct MR, Fnct CM et pour finir: curseur ON. -minitel1b|minitel 1-bistandard (in 40cols mode):\ - :am:bw:es:hs:hz:mi:ms:\ - :Co#8:co#40:li#24:pa#8:\ - :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ - :RI=\E[%dC:\ - :..Sf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=%tC%e%p1%{64}%+%c%;:\ - :UP=\E[%dA:ac=f0g1,,+../:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\ - :ce=^X:cl=^L:cm=\037%+A%+A:cr=^M:dc=\E[P:dl=\E[M:do=^J:\ - :eA=^Y:ei=\E[4l:fs=^J:ho=^^:i1=\E;iYA\E;jYC:im=\E[4h:\ - :is=\E;`ZQ\E\:iC\E\:iE\021:kA=\E[L:kC=\E[2J:kD=\E[P:\ - :kE=^X:kI=\E[4h:kL=\E[M:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ - :ks=\E;iYA\E;jYC:kt=^I:ku=\E[A:le=^H:mb=\EH:me=\EI\E\\:\ - :mr=\E]:nd=^I:nw=^M^J:op=\EG:rp=%.\022%+?:\ - :..sa=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;:se=\E\\:\ - :sf=^J:so=\E]:sr=^K:ts=\037@%+A:up=^K:ve=^Q:vi=^T: -# :ke: posait des problemes (logout en sortant de vi). -minitel1b-80|minitel 1-bistandard (standard teleinformatique):\ - :es:hs:mi:ms:\ - :co#80:it#8:li#24:\ - :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ac=f0g1,,+../:al=\E[L:\ - :bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ - :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:eA=^Y:ei=\E[4l:\ - :fs=^J:ho=\E[H:im=\E[4h:k0=\EOp:k1=\EOq:k2=\EOr:k3=\EOs:\ - :k4=\EOt:k5=\EOu:k6=\EOv:k7=\EOw:k8=\EOx:k9=\EOy:kA=\E[L:\ - :kC=\E[2J:kD=\E[P:kE=^X:kI=\E[4h:kL=\E[M:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:kt=^I:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:rc=\E8:\ - :..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:ts=\037@%+A:\ - :ue=\E[24m:up=\E[A:us=\E[4m:ve=\037@A\021\n:\ - :vi=\037@A\024\n: # \E\:1} switch to te'le'informatique mode (ascii terminal/ISO 6429) # \E[?3l 80 columns # \E[?4l scrolling on @@ -23799,7 +31422,7 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor :bs:es:hs:xn:\ :co#80:it#8:li#24:sg#0:ug#0:ws#72:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ - :RI=\E[%dC:SF=^J:SR=\EM:UP=\E[%dA:\ + :RI=\E[%dC:UP=\E[%dA:\ :ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:ae=^O:al=\E[L:\ :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ :cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:\ @@ -23815,6 +31438,45 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor :u7=\E[6n:ue=\E[24m:up=\E[A:us=\E[4m:vb=^G:ve=\E[<1l:\ :vi=\E[<1h: +# From: Alexandre Montaron , 18 Jun 1998 +# +minitel1|minitel 1:\ + :am:bw:es:hs:hz:ms:\ + :Co#8:co#40:li#24:pa#8:\ + :ac=+.,,./f0g1:bl=^G:ce=^X:cl=^L:cm=\037%+A%+A:cr=^M:do=^J:\ + :eA=^Y:fs=^J:ho=^^:is=\E;`ZQ\E\:iC\E\:iE\021:le=^H:mb=\EH:\ + :me=\EI\E\\:mr=\E]:nd=^I:nw=^M^J:op=\EG:rp=%.\022%+?:\ + :se=\E\\:sf=^J:so=\E]:sr=^K:ts=\037@%+A:up=^K:ve=^Q:vi=^T: +# is2=Fnct TE, Fnct MR, Fnct CM et pour finir: curseur ON. +minitel1b|minitel 1-bistandard (in 40cols mode):\ + :am:bw:es:hs:hz:mi:ms:\ + :Co#8:co#40:li#24:pa#8:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:ac=+.,,./f0g1:al=\E[L:bl=^G:cb=\E[1K:\ + :cd=\E[J:ce=^X:cl=^L:cm=\037%+A%+A:cr=^M:dc=\E[P:dl=\E[M:\ + :do=^J:eA=^Y:ei=\E[4l:fs=^J:ho=^^:i1=\E;iYA\E;jYC:im=\E[4h:\ + :is=\E;`ZQ\E\:iC\E\:iE\021:kA=\E[L:kC=\E[2J:kD=\E[P:\ + :kE=^X:kI=\E[4h:kL=\E[M:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:\ + :ks=\E;iYA\E;jYC:kt=^I:ku=\E[A:le=^H:mb=\EH:me=\EI\E\\:\ + :mr=\E]:nd=^I:nw=^M^J:op=\EG:rp=%.\022%+?:se=\E\\:sf=^J:\ + :so=\E]:sr=^K:ts=\037@%+A:up=^K:ve=^Q:vi=^T: +# :ke: posait des problemes (logout en sortant de vi). +minitel1b-80|minitel 1-bistandard (standard teleinformatique):\ + :am@:bw@:es:hs:hz@:mi:ms:\ + :Co@:co#80:it#8:li#24:pa@:\ + :@8=\EOM:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ + :LE=\E[%dD:RI=\E[%dC:Sf@:UP=\E[%dA:ac=+.,,./f0g1:al=\E[L:\ + :bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:eA=^Y:ei=\E[4l:\ + :fs=^J:ho=\E[H:i1@:im=\E[4h:is@:k0=\EOp:k1=\EOq:k2=\EOr:\ + :k3=\EOs:k4=\EOt:k5=\EOu:k6=\EOv:k7=\EOw:k8=\EOx:k9=\EOy:\ + :kA=\E[L:kC=\E[2J:kD=\E[P:kE=^X:kI=\E[4h:kL=\E[M:kd=\E[B:\ + :ke@:kh=\E[H:kl=\E[D:kr=\E[C:ks@:kt=^I:ku=\E[A:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:op@:\ + :rc=\E8:rp@:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:ta=^I:\ + :ts=\037@%+A:ue=\E[24m:up=\E[A:us=\E[4m:ve=\037@A\021\n:\ + :vi=\037@A\024\n: + ######## OBSOLETE VDT TYPES # # These terminals are *long* dead -- these entries are retained for @@ -23834,7 +31496,7 @@ abm80|amtek business machines 80:\ #### Bell Labs blit terminals # -# These were AT&T's official entries. The 5620 FAQ maintained by +# These were AT&T's official entries. The 5620 FAQ maintained by # David Breneman has this to say: # # Actually, in the beginning was the Jerq, and the Jerq was white with a @@ -23869,7 +31531,7 @@ cbblit|fixterm|blit running columbus code:\ :co#88:it#8:li#72:\ :AL=\EF%+ :DC=\Ee%+ :DL=\EE%+ :IC=\Ef%+ :al=\EF!:bl=^G:\ :cd=\EJ:ce=\EK:cl=^L:cm=\EY%r%+ %+ :cr=^M:dc=\Ee!:dl=\EE!:\ - :do=^J:ei=\ER:im=\EQ:k1=\Ex:k2=\Ey:k3=\Ez:kb=^H:kd=\EB:\ + :do=^J:ei=\ER:ic@:im=\EQ:k1=\Ex:k2=\Ey:k3=\Ez:kb=^H:kd=\EB:\ :kl=\ED:kr=\EC:ku=\EA:le=\ED:nd=\EC:pO=\EP%03:pf=^T:po=^R:\ :se=\EV!:sf=^J:so=\EU!:ta=^I:ue=\EV":up=\EA:us=\EU":vb=\E^G: @@ -23897,17 +31559,17 @@ oblit|ojerq|first version of blit rom:\ # small screen (it had a 17" crisp beauty) and a real OS. They (Bolt # Beranek and Neuman) sold at most a few hundred of them to the real # world. DOD may have bought more... -# +# -# Entries for the BitGraph terminals. The problem -# with scrolling in vi can only be fixed by getting BBN to put -# smarter scroll logic in the terminal or changing vi or padding +# Entries for the BitGraph terminals. The problem +# with scrolling in vi can only be fixed by getting BBN to put +# smarter scroll logic in the terminal or changing vi or padding # scrolls with about 500 ms delay. -# -# I always thought the problem was related to the terminal -# counting newlines in its input buffer before scrolling and -# then moving the screen that much. Then vi comes along and -# paints lines in on the bottom line of the screen, so you get +# +# I always thought the problem was related to the terminal +# counting newlines in its input buffer before scrolling and +# then moving the screen that much. Then vi comes along and +# paints lines in on the bottom line of the screen, so you get # this big white gap. bitgraph|bg2.0nv|bg3.10nv|bbn bitgraph 2.0 or later (normal video):\ @@ -24030,13 +31692,13 @@ bg1.25|bbn bitgraph 1.25:\ # This entry covers the following terminals: # dku7102, tws2102, and tws models 2105 to 2112 tws-generic|dku7102|Bull Questar tws terminals:\ - :am:es:hs:mi:ms:xn:xo:\ + :am:es:hs:mi:ms:xn:xo:xs@:\ :co#80:it#8:li#24:ws#80:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%df:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=^J:\ + :cm=\E[%i%d;%df:cr=^M:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ :ds=\EPY99\:98\E\\\E[0;98v\E[2J\E[v:ei=\E[4l:fs=\E[v:\ :ho=\E[H:i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:\ :i2=\Eb\E[?h\EPY99\:98\E\\:\ + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;5m:me=\E[0m:mh=\E[0;2m:\ + :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:po=\E[5i:\ + :ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;7m:st=\EH:ta=\E[I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:\ :ts=\EPY99\:98\E\\\E[0;98v\E[2;7m:ue=\E[m:up=\E[A:\ :us=\E[0;4m:ve=\E[r:vi=\E[1r: tws2102-sna|dku7102-sna|BULL Questar tws2102 for SNA:\ @@ -24060,7 +31721,7 @@ tws2102-sna|dku7102-sna|BULL Questar tws2102 for SNA:\ :RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%df:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=^J:\ + :cm=\E[%i%d;%df:cr=^M:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ :ds=\E[0;98v\E[2J\E[v:ei=\E[4l:fs=\E[v:ho=\E[H:\ :i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:i2=\Eb:im=\E[4h:\ :is=\E[5;>;12;18;?h\EPY99\:98\E\\:\ - :ts=\E[0;98v:ue=\E[m:up=\E[A:us=\E[0;4m:ve=\E[r:vi=\E[1r: + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;5m:me=\E[0m:mh=\E[0;2m:\ + :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:po=\E[5i:\ + :ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;7m:st=\EH:ta=\E[I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:ts=\E[0;98v:ue=\E[m:up=\E[A:\ + :us=\E[0;4m:ve=\E[r:vi=\E[1r: tws2103|xdku|BULL Questar tws2103:\ :am:es:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:ws#80:\ @@ -24082,7 +31742,7 @@ tws2103|xdku|BULL Questar tws2103:\ :RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%df:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=^J:\ + :cm=\E[%i%d;%df:cr=^M:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ :ds=\EPY99\:98\E\\\E[0;98v\E[2J\E[v:ei=\E[4l:fs=\E[v:\ :ho=\E[H:i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:\ :i2=\Eb\E[?h\EPY99\:98\E\\:\ + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;5m:me=\E[0m:mh=\E[0;2m:\ + :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:po=\E[5i:\ + :ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;7m:st=\EH:ta=^I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:\ :ts=\EPY99\:98\E\\\E[0;98v\E[2;7m:ue=\E[m:up=\E[A:\ :us=\E[0;4m:ve=\E[r:vi=\E[1r: tws2103-sna|dku7103-sna|BULL Questar tws2103 for SNA:\ @@ -24106,7 +31765,7 @@ tws2103-sna|dku7103-sna|BULL Questar tws2103 for SNA:\ :RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%df:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=^J:\ + :cm=\E[%i%d;%df:cr=^M:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ :ds=\E[0;98v\E[2J\E[v:ei=\E[4l:fs=\E[v:ho=\E[H:\ :i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:i2=\Eb:im=\E[4h:\ :is=\E[5;>;12;18;?h\EPY99\:98\E\\:\ - :ts=\E[0;98v:ue=\E[m:up=\E[A:us=\E[0;4m:ve=\E[r:vi=\E[1r: + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;5m:me=\E[0m:mh=\E[0;2m:\ + :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:po=\E[5i:\ + :ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;7m:st=\EH:ta=^I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:ts=\E[0;98v:ue=\E[m:up=\E[A:\ + :us=\E[0;4m:ve=\E[r:vi=\E[1r: dku7102-old|BULL Questar 200 DKU7102 (microcode version < 6):\ :am:es:hs:mi:ms:xn:xo:\ :co#80:it#8:li#24:ws#80:\ - :DC=\E[%dP:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ + :AL@:DC=\E[%dP:DL@:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ - :ae=^O:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K\E[m:\ - :cl=\E[2J\E[H:cr=^M:ct=\E[2g:dc=\E[P:do=^J:\ + :ae=^O:al@:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K\E[m:\ + :cl=\E[2J\E[H:cm@:cr=^M:ct=\E[3g:dc=\E[P:dl@:do=^J:\ :ds=\EPY99\:98\E\\\E[0;98v\E[2J\E[H\E[v:ei=\E[4l:\ :fs=\E[v:ho=\E[H:i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:\ :i2=\Eb\E[?h\EPY99\:98\E\\:\ + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;5m:me=\E[0m:mh=\E[0;2m:\ + :mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:po=\E[5i:\ + :ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;7m:st=\EH:ta=\E[I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:\ :ts=\EPY99\:98\E\\\E[0;98v\E[H\E[2;7m:ue=\E[m:up=\E[A:\ :us=\E[0;4m:ve=\E[r:vi=\E[1r: dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\ @@ -24151,7 +31808,7 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\ :RI=\E[%dC:UP=\E[%dA:\ :ac=``aaffggj)k,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[2J:\ - :cm=\E[%i%d;%df:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=^J:\ + :cm=\E[%i%d;%df:cr=^M:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ :ds=\EPY99\:98\E\\\E[0;98v\E[2J\E[v:ei=\E[4l:fs=\E[v:\ :ho=\E[H:i1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\:\ :i2=\E[?3h\Eb:im=\E[4h:\ @@ -24160,12 +31817,11 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\ :k5=\E[5u\027:k6=\E[6u\027:k7=\E[7u\027:k8=\E[8u\027:\ :kA=\E[L:kB=\E[Z:kD=\E[P:kE=\E[K:kL=\E[M:kM=\E[4l:kS=\E[J:\ :kT=\EH:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:kt=\E[g:\ - :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;2;4m:me=\E[m\017:\ + :ku=\E[A:le=^H:ll=\E[H\E[A:mb=\E[0;2;4m:me=\E[0m:\ :mh=\E[0;5m:mk=\E[0;8m:mr=\E[0;7m:nd=\E[C:pf=\r\E[4i:\ - :po=\E[5i:ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:\ - :..sa=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;:\ - :se=\E[m:sf=^J:so=\E[0;4;5;7m:st=\EH:ta=^I:\ - :te=\E[0;98v\E[2J\E[v:ti=\E[?>h\EPY99\:98\E\\:\ + :po=\E[5i:ps=\E[0i:rs=\E[?=h\Ec:s0=^O:s1=^N:se=\E[m:sf=^J:\ + :so=\E[0;4;5;7m:st=\EH:ta=^I:te=\E[0;98v\E[2J\E[v:\ + :ti=\E[?>h\EPY99\:98\E\\:\ :ts=\EPY99\:98\E\\\E[0;98v\E[2;7m:ue=\E[m:up=\E[A:\ :us=\E[0;2m:ve=\E[r:vi=\E[1r: @@ -24177,17 +31833,17 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\ # Copyright (c) 1989 BULL SA #--------------------------------------------------------------------------- # This entry is used for terminals with vt320 emulation mode -# and following set-up : +# and following set-up : # 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. +# 7 bit Control Characters, +# 80 columns screen. # Hereafter are some DEC vt terminals' commands. (valid on vt200 and 300) # They are used in string capabilities with vt220-320 emulation mode. # In the following DEC definitions, two kinds of terminfo databases are # provided : -# 1. the first with Command Sequence Introducer starting with escape +# 1. the first with Command Sequence Introducer starting with escape # sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode. -# 2. the second with Command Sequence Introducer starting with escape +# 2. the second with Command Sequence Introducer starting with escape # sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B. # Soft Terminal Reset esc [ ! p # RIS (erases screen): esc c @@ -24222,11 +31878,11 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes):\ # RM DECAWM auto right margin: esc [ ? 7 l # SM DECARM auto repeat: esc [ ? 8 h # RM DECARM auto repeat: esc [ ? 8 l -# DECSASD Select active main: esc [ 0 $ } -# DECSASD Select active status: esc [ 1 $ } -# DECSSDT Select status none: esc [ 0 $ ~ -# DECSSDT Select status indic.: esc [ 1 $ ~ -# DECSSDT Select status host-wr: esc [ 2 $ ~ +# DECSASD Select active main: esc [ 0 $ } +# DECSASD Select active status: esc [ 1 $ } +# DECSSDT Select status none: esc [ 0 $ ~ +# DECSSDT Select status indic.: esc [ 1 $ ~ +# DECSSDT Select status host-wr: esc [ 2 $ ~ # SM DECTCEM Visible cursor: esc [ ? 2 5 h # RM DECTCEM Invisible cursor: esc [ ? 2 5 l # SM DECNCRM 7 bits NCR set: esc [ ? 4 2 h @@ -24255,7 +31911,7 @@ bq300|Bull vt320 ISO Latin 1 80 columns terminal:\ :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24266,15 +31922,13 @@ bq300|Bull vt320 ISO Latin 1 80 columns terminal:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ :po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3l:rc=\E8:s0=\E(B:\ - :s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ + :s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ + :ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: -bg300-rv|Bull vt320 reverse 80 columns:\ + :vi=\E[?25l: +bq300-rv|Bull vt320 reverse 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ @@ -24284,7 +31938,7 @@ bg300-rv|Bull vt320 reverse 80 columns:\ :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24295,14 +31949,12 @@ bg300-rv|Bull vt320 reverse 80 columns:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ :po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3l:rc=\E8:s0=\E(B:\ - :s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ + :s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ + :ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5l\E[?5h:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :vi=\E[?25l: bq300-w|Bull vt320 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24313,7 +31965,7 @@ bq300-w|Bull vt320 132 columns:\ :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24324,14 +31976,12 @@ bq300-w|Bull vt320 132 columns:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ :po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3h:rc=\E8:s0=\E(B:\ - :s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ + :s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ + :ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :vi=\E[?25l: bq300-w-rv|Bull vt320 reverse mode 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24342,7 +31992,7 @@ bq300-w-rv|Bull vt320 reverse mode 132 columns:\ :K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ :SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24353,20 +32003,18 @@ bq300-w-rv|Bull vt320 reverse mode 132 columns:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\ :kP=\E[5~:kb=^H:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kr=\E[C:\ :ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=\E[D:mb=\E[5m:\ - :md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ + :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ :po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3h:rc=\E8:s0=\E(B:\ - :s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ + :s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:\ + :ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5l\E[?5h:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :vi=\E[?25l: # This entry is used for terminals with vt320 emulation mode -# and following set-up : +# and following set-up : # 8 bit ISO Latin Character Set (ISO 8859-1), # 8 bit Control Characters, (CSI coded as x9B for ESC [) -# 80 columns screen. +# 80 columns screen. # Soft Terminal Reset csi ! p # RIS (erases screen): esc c # DECKPNM numeric keypad mode: esc > @@ -24400,11 +32048,11 @@ bq300-w-rv|Bull vt320 reverse mode 132 columns:\ # RM DECAWM auto right margin: csi ? 7 l # SM DECARM auto repeat: csi ? 8 h # RM DECARM auto repeat: csi ? 8 l -# DECSASD Select active main: csi 0 $ } -# DECSASD Select active status: csi 1 $ } -# DECSSDT Select status none: csi 0 $ ~ -# DECSSDT Select status indic.: csi 1 $ ~ -# DECSSDT Select status host-wr: csi 2 $ ~ +# DECSASD Select active main: csi 0 $ } +# DECSASD Select active status: csi 1 $ } +# DECSSDT Select status none: csi 0 $ ~ +# DECSSDT Select status indic.: csi 1 $ ~ +# DECSSDT Select status host-wr: csi 2 $ ~ # SM DECTCEM Visible cursor: csi ? 2 5 h # RM DECTCEM Invisible cursor: csi ? 2 5 l # SM DECNCRM 7 bits NCR set: csi ? 4 2 h @@ -24428,23 +32076,22 @@ bq300-8|Bull vt320 full 8 bits 80 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\217P:k2=\217Q:k3=\217R:k4=\217S:k6=\23317~:\ :k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:\ :kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kl=\233D:kr=\233C:ku=\233A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:mb=\2335m:md=\2331m:me=\2330m\E(B:\ - :mr=\2337m:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ - :r2=\E[?3l:rc=\E8:s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5h\233?5l:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :l3=pf3:l4=pf4:le=\2331D:mb=\2335m:md=\2331m:\ + :me=\2330m\E(B:mr=\2337m:nd=\2331C:nw=\EE:pf=\2334i:\ + :po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3l:rc=\E8:s0=\E(B:\ + :s1=\E(0:sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:\ + :ta=^I:te=\233?7h:ti=\233?7l\233?1l\E(B:\ + :ts=\2331$}\2332$~:ue=\23324m:up=\2331A:us=\2334m:\ + :vb=\233?5h\233?5l:ve=\233?25h:vi=\233?25l: bq300-8rv|Bull vt320 8-bit reverse mode 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ @@ -24457,23 +32104,22 @@ bq300-8rv|Bull vt320 8-bit reverse mode 80 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\217P:k2=\217Q:k3=\217R:k4=\217S:k6=\23317~:\ :k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:\ :kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kl=\233D:kr=\233C:ku=\233A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:mb=\2335m:md=\2331m:me=\2330m\E(B:\ - :mr=\2337m:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ - :r2=\E[?3l:rc=\E8:s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5l\233?5h:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :l3=pf3:l4=pf4:le=\2331D:mb=\2335m:md=\2331m:\ + :me=\2330m\E(B:mr=\2337m:nd=\2331C:nw=\EE:pf=\2334i:\ + :po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3l:rc=\E8:s0=\E(B:\ + :s1=\E(0:sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:\ + :ta=^I:te=\233?7h:ti=\233?7l\233?1l\E(B:\ + :ts=\2331$}\2332$~:ue=\23324m:up=\2331A:us=\2334m:\ + :vb=\233?5l\233?5h:ve=\233?25h:vi=\233?25l: bq300-8w|Bull vt320 8-bit 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24486,23 +32132,22 @@ bq300-8w|Bull vt320 8-bit 132 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\217P:k2=\217Q:k3=\217R:k4=\217S:k6=\23317~:\ :k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:\ :kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kl=\233D:kr=\233C:ku=\233A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:mb=\2335m:md=\2331m:me=\2330m\E(B:\ - :mr=\2337m:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ - :r2=\233?3h:rc=\E8:s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5h\233?5l:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :l3=pf3:l4=pf4:le=\2331D:mb=\2335m:md=\2331m:\ + :me=\2330m\E(B:mr=\2337m:nd=\2331C:nw=\EE:pf=\2334i:\ + :po=\2335i:ps=\233i:r1=\E[!p:r2=\233?3h:rc=\E8:s0=\E(B:\ + :s1=\E(0:sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:\ + :ta=^I:te=\233?7h:ti=\233?7l\233?1l\E(B:\ + :ts=\2331$}\2332$~:ue=\23324m:up=\2331A:us=\2334m:\ + :vb=\233?5h\233?5l:ve=\233?25h:vi=\233?25l: bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24515,38 +32160,37 @@ bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\217P:k2=\217Q:k3=\217R:k4=\217S:k6=\23317~:\ :k7=\23318~:k8=\23319~:k9=\23320~:k;=\23321~:kD=\2333~:\ :kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kl=\233D:kr=\233C:ku=\233A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:mb=\2335m:md=\2331m:me=\2330m\E(B:\ - :mr=\2337m:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ - :r2=\233?3h:rc=\E8:s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5l\233?5h:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :l3=pf3:l4=pf4:le=\2331D:mb=\2335m:md=\2331m:\ + :me=\2330m\E(B:mr=\2337m:nd=\2331C:nw=\EE:pf=\2334i:\ + :po=\2335i:ps=\233i:r1=\E[!p:r2=\233?3h:rc=\E8:s0=\E(B:\ + :s1=\E(0:sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:\ + :ta=^I:te=\233?7h:ti=\233?7l\233?1l\E(B:\ + :ts=\2331$}\2332$~:ue=\23324m:up=\2331A:us=\2334m:\ + :vb=\233?5l\233?5h:ve=\233?25h:vi=\233?25l: # This entry is used for terminals with vt320 emulation mode -# a 102 keys keyboard (PC scancode !) and following set-up : +# a 102 keys keyboard (PC scancode !) and following set-up : # 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. +# 7 bit Control Characters, +# 80 columns screen. bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ - :@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\ - :F1=\E[29~:F2=\E[31~:IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:\ - :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ - :UP=\E[%dA:\ + :%0@:%1@:*6@:@0@:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ + :DO=\E[%dB:F1=\E[29~:F2=\E[31~:F3@:F4@:F5@:F6@:F7@:F8@:F9@:FA@:\ + :IC=\E[%d@:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:\ + :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24556,15 +32200,13 @@ bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns:\ :k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:k5=\E[21~:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ - :ke=\E[?1l\E>:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:\ - :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3l:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :ke=\E[?1l\E>:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:l1@:l2@:l3@:\ + :l4@:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3l:\ + :rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:\ + :sr=\EM:st=\EH:ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:\ + :ts=\E[1$}\E[2$~:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ @@ -24573,7 +32215,7 @@ bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24584,14 +32226,12 @@ bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3l:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5l\E[?5h:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:\ + :ts=\E[1$}\E[2$~:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5l\E[?5h:ve=\E[?25h:vi=\E[?25l: bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24600,7 +32240,7 @@ bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24611,14 +32251,12 @@ bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3h:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:\ + :ts=\E[1$}\E[2$~:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24627,7 +32265,7 @@ bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns:\ :K4=\EOq:K5=\EOs:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\ :UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\ :ds=\E[1$}\E[2$~\n\E[0$}:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:\ @@ -24638,44 +32276,42 @@ bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns:\ :k6=\E[23~:k7=\E[24~:k8=\E[25~:k9=\E[26~:k;=\E[28~:\ :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\ :ke=\E[?1l\E>:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:\ - :mb=\E[5m:md=\E[1m:me=\E[0m\E(B:mr=\E[7m:nd=\E[C:nw=\EE:\ + :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\ :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[!p:r2=\E[?3h:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :te=\E[?7h:ti=\E[?7l\E[?1l\E(B:ts=\E[1$}\E[2$~:\ - :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5l\E[?5h:ve=\E[?25h:\ - :vi=\E[?25l:vs=\E[?25h: + :s0=\E(B:s1=\E(0:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:te=\E[?7h:ti=\E[?7l\E[?1l\E(B:\ + :ts=\E[1$}\E[2$~:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5l\E[?5h:ve=\E[?25h:vi=\E[?25l: # 8 bit ISO Latin Character Set (ISO 8859-1), -# 8 bit Control Characters, -# 80 columns screen. +# 8 bit Control Characters, +# 80 columns screen. bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ - :@7=\2334~:AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:\ - :F1=\23329~:F2=\23331~:IC=\233%d@:K1=\217w:K2=\217u:\ - :K3=\217y:K4=\217q:K5=\217s:LE=\233%dD:RA=\233?7l:\ - :RI=\233%dC:SA=\233?7h:UP=\233%dA:\ + :%0@:%1@:*6@:@0@:@7=\2334~:AL=\233%dL:DC=\233%dP:DL=\233%dM:\ + :DO=\233%dB:F1=\23329~:F2=\23331~:F3@:F4@:F5@:F6@:F7@:F8@:F9@:\ + :FA@:IC=\233%d@:K1=\217w:K2=\217u:K3=\217y:K4=\217q:\ + :K5=\217s:LE=\233%dD:RA=\233?7l:RI=\233%dC:SA=\233?7h:\ + :UP=\233%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\23317~:k2=\23318~:k3=\23319~:k4=\23320~:k5=\23321~:\ :k6=\23323~:k7=\23324~:k8=\23325~:k9=\23326~:k;=\23328~:\ :kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ - :ke=\233?1l\E>:kh=\2331~:kl=\233D:kr=\233C:ku=\233A:\ - :mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:nw=\EE:\ - :pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3l:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ + :ke=\233?1l\E>:kh=\2331~:kl=\233D:kr=\233C:ku=\233A:l1@:\ + :l2@:l3@:l4@:le=\2331D:mb=\2335m:md=\2331m:me=\2330m\E(B:\ + :mr=\2337m:nd=\2331C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:\ + :r1=\E[!p:r2=\E[?3l:rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:\ + :se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5h\233?5l:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :ue=\23324m:up=\2331A:us=\2334m:vb=\233?5h\233?5l:\ + :ve=\233?25h:vi=\233?25l: bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ @@ -24686,23 +32322,22 @@ bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\23317~:k2=\23318~:k3=\23319~:k4=\23320~:k5=\23321~:\ :k6=\23323~:k7=\23324~:k8=\23325~:k9=\23326~:k;=\23328~:\ :kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kh=\2331~:kl=\233D:kr=\233C:ku=\233A:\ - :mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:nw=\EE:\ - :pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3l:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\E[?5l\E[?5h:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :le=\2331D:mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:\ + :nd=\2331C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ + :r2=\E[?3l:rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\23327m:sf=\ED:\ + :so=\2337m:sr=\EM:st=\EH:ta=^I:te=\233?7h:\ + :ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:ue=\23324m:\ + :up=\2331A:us=\2334m:vb=\E[?5l\E[?5h:ve=\233?25h:\ + :vi=\233?25l: bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24713,23 +32348,22 @@ bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\23317~:k2=\23318~:k3=\23319~:k4=\23320~:k5=\23321~:\ :k6=\23323~:k7=\23324~:k8=\23325~:k9=\23326~:k;=\23328~:\ :kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kh=\2331~:kl=\233D:kr=\233C:ku=\233A:\ - :mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:nw=\EE:\ - :pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3h:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\233?5h\233?5l:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :le=\2331D:mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:\ + :nd=\2331C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ + :r2=\E[?3h:rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\23327m:sf=\ED:\ + :so=\2337m:sr=\EM:st=\EH:ta=^I:te=\233?7h:\ + :ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:ue=\23324m:\ + :up=\2331A:us=\2334m:vb=\233?5h\233?5l:ve=\233?25h:\ + :vi=\233?25l: bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns:\ :5i:am:eo:es:hs:km:mi:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ @@ -24740,23 +32374,22 @@ bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:as=^N:bl=^G:cb=\2331K:cd=\233J:ce=\233K:\ :cl=\233H\233J:cm=\233%i%d;%dH:cr=^M:cs=\233%i%d;%dr:\ - :ct=\2333g:dc=\233P:ds=\2331$}\2332$~\n\2330$}:\ - :eA=\E(B\E)0:ec=\233%dX:ei=\2334l:fs=\2330$}:ho=\233H:\ - :i1=\E[63;2"p\E[2h:i2=\2330$}\233?25h\2332l\233H\233J:\ - :im=\2334h:\ + :ct=\2333g:dc=\233P:do=\2331B:\ + :ds=\2331$}\2332$~\n\2330$}:eA=\E(B\E)0:ec=\233%dX:\ + :ei=\2334l:fs=\2330$}:ho=\233H:i1=\E[63;2"p\E[2h:\ + :i2=\2330$}\233?25h\2332l\233H\233J:im=\2334h:\ :is=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l:\ :k1=\23317~:k2=\23318~:k3=\23319~:k4=\23320~:k5=\23321~:\ :k6=\23323~:k7=\23324~:k8=\23325~:k9=\23326~:k;=\23328~:\ :kD=\2333~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\ :ke=\233?1l\E>:kh=\2331~:kl=\233D:kr=\233C:ku=\233A:\ - :mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:nw=\EE:\ - :pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:r2=\E[?3h:rc=\E8:\ - :s0=\E(B:s1=\E(0:\ - :..sa=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;:\ - :sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\ - :te=\233?7h:ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:\ - :ue=\23324m:us=\2334m:vb=\E[?5l\E[?5h:ve=\233?25h:\ - :vi=\233?25l:vs=\233?25h: + :le=\2331D:mb=\2335m:md=\2331m:me=\2330m\E(B:mr=\2337m:\ + :nd=\2331C:nw=\EE:pf=\2334i:po=\2335i:ps=\233i:r1=\E[!p:\ + :r2=\E[?3h:rc=\E8:s0=\E(B:s1=\E(0:sc=\E7:se=\23327m:sf=\ED:\ + :so=\2337m:sr=\EM:st=\EH:ta=^I:te=\233?7h:\ + :ti=\233?7l\233?1l\E(B:ts=\2331$}\2332$~:ue=\23324m:\ + :up=\2331A:us=\2334m:vb=\E[?5l\E[?5h:ve=\233?25h:\ + :vi=\233?25l: #======================================================# # BULL QUESTAR 310 `VIP 7800/8800' terminals emulation # @@ -24814,11 +32447,12 @@ bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns:\ vip|Bull Questar 3155-7800:\ :5i:am:es:hs:km:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:ws#80:\ - :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E^:FB=\E1:FC=\E5:FD=\E7:\ - :FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:FL=\E]:\ - :FM=\E_:ac=jdkblamcnkqitgufvhwexj0p:ae=\EF:as=\EG:bl=^G:\ - :bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ - :ct=\E[N:dc=\E[P:dl=\E[M:do=^J:ds=\Ev:ei=\E[J:fs=\EO:ho=\EH:\ + :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E\136:F3@:F4@:F5@:F6@:F7@:\ + :F8@:F9@:FA@:FB=\E1:FC=\E5:FD=\E7:FE=\E9:FF=\E;:FG=\E=:FH=\E?:\ + :FI=\EQ:FJ=\ES:FK=\EV:FL=\E]:FM=\E_:\ + :ac=0pjdkblamcnkqitgufvhwexj:ae=\EF:as=\EG:bl=^G:bt=\E[Z:\ + :cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:ct=\E[N:\ + :dc=\E[P:dl=\E[M:do=^J:ds=\Ev:ei=\E[J:fs=\EO:ho=\EH:\ :i2=\Er\E[W\E`:ic=\E[I:im=\E[I:\ :is=\E[00u\E[<>001001024080024080u\E[01u:k1=\E0:k2=\E2:\ :k3=\E6:k4=\E8:k5=\E\::k6=\E<:k7=\E>:k8=\EP:k9=\ER:k;=\ET:\ @@ -24834,10 +32468,10 @@ vip|Bull Questar 3155-7800:\ vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide:\ :5i:am:es:hs:km:ms:xn:xo:\ :co#132:it#8:li#24:vt#3:ws#132:\ - :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E^:FB=\E1:FC=\E5:FD=\E7:\ - :FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:FL=\E]:\ - :FM=\E_:ac=jdkblamcnkqitgufvhwexj0p:ae=\EF:as=\EG:bl=^G:\ - :bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ + :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E\136:FB=\E1:FC=\E5:\ + :FD=\E7:FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:\ + :FL=\E]:FM=\E_:ac=0pjdkblamcnkqitgufvhwexj:ae=\EF:as=\EG:\ + :bl=^G:bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ :ct=\E[N:dc=\E[P:dl=\E[M:do=^J:ds=\Ev:ei=\E[J:fs=\EO:ho=\EH:\ :i2=\Er\E[W\E`:ic=\E[I:im=\E[I:\ :is=\E[00u\E[<>001001024132024132u\E[01u:k1=\E0:k2=\E2:\ @@ -24853,10 +32487,10 @@ vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide:\ vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines:\ :5i:am:es:hs:km:ms:xn:xo:\ :co#80:it#8:li#72:vt#3:ws#80:\ - :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E^:FB=\E1:FC=\E5:FD=\E7:\ - :FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:FL=\E]:\ - :FM=\E_:ac=jdkblamcnkqitgufvhwexj0p:ae=\EF:as=\EG:bl=^G:\ - :bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ + :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E\136:FB=\E1:FC=\E5:\ + :FD=\E7:FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:\ + :FL=\E]:FM=\E_:ac=0pjdkblamcnkqitgufvhwexj:ae=\EF:as=\EG:\ + :bl=^G:bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ :ct=\E[N:dc=\E[P:dl=\E[M:do=^J:ds=\Ev:ei=\E[J:fs=\EO:ho=\EH:\ :i2=\Er\E[W\E`:ic=\E[I:im=\E[I:\ :is=\E[00u\E[<>001001024080072080u\E[01u:k1=\E0:k2=\E2:\ @@ -24872,10 +32506,10 @@ vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines:\ vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines:\ :5i:am:es:hs:km:ms:xn:xo:\ :co#132:it#8:li#72:vt#3:ws#132:\ - :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E^:FB=\E1:FC=\E5:FD=\E7:\ - :FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:FL=\E]:\ - :FM=\E_:ac=jdkblamcnkqitgufvhwexj0p:ae=\EF:as=\EG:bl=^G:\ - :bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ + :#2=\EH:#4=\Eo:%i=\Eu:F1=\E\\:F2=\E\136:FB=\E1:FC=\E5:\ + :FD=\E7:FE=\E9:FF=\E;:FG=\E=:FH=\E?:FI=\EQ:FJ=\ES:FK=\EV:\ + :FL=\E]:FM=\E_:ac=0pjdkblamcnkqitgufvhwexj:ae=\EF:as=\EG:\ + :bl=^G:bt=\E[Z:cd=\EJ:ce=\EK:cl=\E`:cm=\E[%i%03%03f:cr=^M:\ :ct=\E[N:dc=\E[P:dl=\E[M:do=^J:ds=\Ev:ei=\E[J:fs=\EO:ho=\EH:\ :i2=\Er\E[W\E`:ic=\E[I:im=\E[I:\ :is=\E[00u\E[<>001001024132072132u\E[01u:k1=\E0:k2=\E2:\ @@ -24888,16 +32522,17 @@ vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines:\ :nw=^M:pf=\E[, 11 May 1997 -# The Datapoint 8242 Workstation was sold at least between 1985 -# and 1989. To make the terminal work with this entry, press -# CONTROL-INT-INT to take the terminal off-line, and type (opt). -# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO -# CR/LF off. Use control-shift-[] as escape key, control-I as tab, +# The Datapoint 8242 Workstation was sold at least between 1985 +# and 1989. To make the terminal work with this entry, press +# CONTROL-INT-INT to take the terminal off-line, and type (opt). +# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO +# CR/LF off. Use control-shift-[] as escape key, control-I as tab, # shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in # fact unusable because the strings sent by the terminal conflict # with other keys). # The terminal is capable of displaying "box draw" characters. -# For each graphic character you must send 2 ESC's (\E\E) followed -# by a control character as follows: +# For each graphic character you must send 2 ESC's (\E\E) followed +# by a control character as follows: # character meaning # ========= ======= # ctrl-E top tee @@ -24974,8 +32609,8 @@ dp3360|datapoint|datapoint 3360:\ # ctrl-M bottom right corner # ctrl-N horizontal line # ctrl-O vertical line -# Unfortunately this cannot be fitted into the termcap/terminfo -# description scheme. +# Unfortunately this cannot be fitted into the termcap/terminfo +# description scheme. dp8242|datapoint 8242:\ :ms:\ :co#80:li#25:\ @@ -24987,14 +32622,13 @@ dp8242|datapoint 8242:\ :kr=^F:ku=^E:le=^H:nw=^M^J:\ :r1=\E\014\E\016\0\230\0\317\025\027\030\E\004:\ :rp=\E\023%.%.:se=\E^D:sf=^C:so=\E^E:sr=^K:ta=^I:ue=\E^D:\ - :us=\E^F:ve=^X:vi=^Y:\ - :..wi=\E\014\E\016%p1%'\0'%+%c%p2%'\0'%+%c%p3%'\0'%+%c%p4%'\0'%+%c\025: + :us=\E^F:ve=^X:vi=^Y: #### DEC terminals (Obsolete types: DECwriter and vt40/42/50) # # These entries are DEC's official terminfos for its older terminals. # Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps +# Engineering for more information. Updated terminfos and termcaps # are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. # @@ -25006,7 +32640,6 @@ gt42|dec gt42:\ :bs:os:\ :co#72:li#40:\ :bl=^G:cr=^M:do=^J:le=^H: - vt50|dec vt50:\ :bs:\ :co#80:li#12:\ @@ -25017,15 +32650,6 @@ vt50h|dec vt50h:\ :co#80:li#12:\ :bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:do=^J:\ :le=^H:nd=\EC:sf=^J:sr=\EI:ta=^I:up=\EA: -# (/:ae:/:as: capabilities aren't in DEC's official entry -- esr) -vt52|dec vt52:\ - :bs:\ - :co#80:it#8:li#24:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :\ - :cr=^M:do=\EB:ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:\ - :le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA: - # (vt61: there's a BSD termcap that claims :dl=\EPd:, :al=\EPf.: :kb=^H:) vt61|vt-61|vt61.5|dec vt61:\ :co#80:li#24:\ @@ -25080,7 +32704,7 @@ dw2|decwriter|dw|decwriter II:\ # \E[4g clear vertical tab stops # \E> disable alternate keypad mode (so it transmits numbers!) # \E[%i%p1%du set tab stop at column %d (origin == 1) -# (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is +# (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is # a tab stop) # # The dw3 does standout with wide characters. @@ -25154,8 +32778,8 @@ ddr|rebus3180|ddr3180|Rebus/DDR 3180 vt100 emulator:\ # (ps300: changed ":pt@:" to "it@" -- esr) # ps300|Picture System 300:\ - :am:bs:ms:xn:xo:xt:\ - :co#80:li#24:vt#3:\ + :5i:am:bs:ms:xn:xo:xt:\ + :co#80:it@:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -25164,10 +32788,10 @@ ps300|Picture System 300:\ :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:sf=^J:sr=\EM:st=\EH:ta=^I:up=\E[A: + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :sc=\E7:se@:sf=^J:so@:sr=\EM:st=\EH:ta=^I:ue@:up=\E[A:us@: #### General Electric (ge) # @@ -25184,22 +32808,22 @@ terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200:\ # # S401 # 0-3 = baud rate as follows: -# +# # 3 2 1 0 -# --- --- --- --- +# --- --- --- --- # 0 0 1 1 300 baud # 0 1 0 1 1200 baud # 1 0 0 0 2400 baud # 1 0 1 0 4800 baud # 1 1 0 0 9600 baud # 1 1 0 1 19.2K baud -# +# # 4 = parity (0 = no parity) # 5 = even parity (0 = odd parity) # 6 = stick parity (0 = normal parity) # 7 = full duplex (0 = half duplex) -# -# S402 +# +# S402 # 0 = block cursor (0 = underscore cursor) # 1 = no key click (0 = keyclick) # 2 = wrap at end of line (0 = no wrap) @@ -25208,7 +32832,7 @@ terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200:\ # 5 = ANSI mode (0 = VT52 mode) # 6 = keypad shifted (0 = keypad unshifted) # 7 = 50Hz refresh (1 = 60Hz refresh) -# +# # Factory Default settings are as follows: # 7 6 5 4 3 2 1 0 # S401 1 0 0 0 1 1 0 0 @@ -25229,32 +32853,34 @@ h19-a|h19a|heath-ansi|heathkit-a|heathkit h19 ansi mode:\ h19-bs|heathkit w/keypad shifted:\ :am:bs:es:hs:mi:ms:\ :co#80:it#8:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:kb=^H:kd=\EB:ke=\Eu:kh=\EH:kl=\ED:kr=\EC:\ - :ks=\Et:ku=\EA:l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:\ - :sf=^J:so=\Ep:sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:\ - :ve=\Ey4:vs=\Ex4: + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:ke=\Eu:kh=\EH:kl=\ED:kr=\EC:ks=\Et:ku=\EA:\ + :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ + :sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ey4:\ + :vs=\Ex4: h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor:\ :am:bs:es:hs:mi:ms:\ :co#80:it#8:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:kb=^H:kd=\EB:ke=\Eu:kh=\EH:kl=\ED:kr=\EC:\ - :ks=\Et:ku=\EA:l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:\ - :sf=^J:so=\Ep:sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA: + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:ke=\Eu:kh=\EH:kl=\ED:kr=\EC:ks=\Et:ku=\EA:\ + :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ + :sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA: # (h19: merged in :ip: from BSDI hp19-e entry>; # also added empty to suppress a tic warning --esr) -# From: Tim Pierce , 23 Feb 1998 +# From: Tim Pierce , 23 Feb 1998 # Tim tells us that: # I have an old Zenith-19 terminal at home that still gets a lot of use. # This terminal suffers from the same famous insert-mode padding lossage # that has been acknowledged for the Z29 terminal. Emacs is nearly # unusable on this box, since even a half-scroll up or down the window # causes flaming terminal death. -# +# # On the Z19, the only way I have found around this problem is to remove # the :al: and :dl: entries entirely. No amount of extra padding will # help (I have tried up to 20000). Removing :al=\EL$: and :dl=\EM$: @@ -25263,42 +32889,44 @@ h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor:\ h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19:\ :am:bs:es:hs:mi:ms:\ :co#80:it#8:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l6=blue:l7=red:\ + :l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:\ + :ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ey4:vs=\Ex4: +h19-u|heathkit with underscore cursor:\ + :am:bs:es:hs:mi:ms:\ + :co#80:it#8:li#24:\ + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l6=blue:l7=red:\ + :l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:\ + :ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve@:vs@: +h19-g|h19g|heathkit w/block cursor:\ + :am:bs:es:hs:mi:ms:\ + :co#80:it#8:li#24:\ + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l6=blue:l7=red:\ + :l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:\ + :ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ex4:vs@: +alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19:\ + :am:bs:es:hs:mi:ms:\ + :co#80:it#8:li#60:\ + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :al=\EL:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ + :cr=^M:dc=\EN:dl=\EM:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ + :ip=.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ :k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:\ :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ :sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ey4:\ :vs=\Ex4: -h19-u|heathkit with underscore cursor:\ - :am:bs:es:hs:mi:ms:\ - :co#80:it#8:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:\ - :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ - :sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA: -h19-g|h19g|heathkit w/block cursor:\ - :am:bs:es:hs:mi:ms:\ - :co#80:it#8:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:\ - :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ - :sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ex4:\ - :vs=\Ex4: -alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19:\ - :am:bs:es:hs:mi:ms:\ - :co#80:it#8:li#60:\ - :ac=:ae=\EG:al=\EL:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:\ - :cm=\EY%+ %+ :cr=^M:dc=\EN:dl=\EM:do=\EB:ei=\EO:fs=\Ek\Ey5:\ - :ho=\EH:im=\E@:ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:\ - :k5=\EW:k6=\EP:k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:\ - :kr=\EC:ku=\EA:l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:\ - :sf=^J:so=\Ep:sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:\ - :ve=\Ey4:vs=\Ex4: # The major problem with the Z29 is that it requires more padding than the Z19. # @@ -25306,37 +32934,37 @@ alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19:\ # it needs more padding. It especially loses if a program attempts # to put the Z29 into insert mode and insert text at 9600 baud. It # even loses worse if the program attempts to insert tabs at 9600 -# baud. Adding padding to text that is inserted loses because in +# baud. Adding padding to text that is inserted loses because in # order to make the Z29 not die, one must add so much padding that -# whenever the program tries to use insert mode, the effective +# whenever the program tries to use insert mode, the effective # rate is about 110 baud. -# -# What program would want to put the terminal into insert mode -# and shove stuff at it at 9600 baud you ask? -# -# Emacs. Emacs seems to want to do the mathematically optimal +# +# What program would want to put the terminal into insert mode +# and shove stuff at it at 9600 baud you ask? +# +# Emacs. Emacs seems to want to do the mathematically optimal # thing in doing a redisplay rather than the practical thing. -# When it is about to output a line on top of a line that is -# already on the screen, instead of just killing to the end of -# the line and outputting the new line, it compares the old line -# and the new line and if there are any similarities, it -# constructs the new line by deleting the text on the old line +# When it is about to output a line on top of a line that is +# already on the screen, instead of just killing to the end of +# the line and outputting the new line, it compares the old line +# and the new line and if there are any similarities, it +# constructs the new line by deleting the text on the old line # on the terminal that is already there and then inserting new -# text into the line to transform it into the new line that is +# text into the line to transform it into the new line that is # to be displayed. The Z29 does not react kindly to this. -# +# # But don't cry for too long.... There is a solution. You can make # a termcap entry for the Z29 that says the Z29 has no insert mode. -# Then Emacs cannot use it. "Oh, no, but now inserting into a +# Then Emacs cannot use it. "Oh, no, but now inserting into a # line will be really slow", you say. Well there is a sort of a -# solution to that too. There is an insert character option on -# the Z29 that will insert one character. Unfortunately, it -# involves putting the terminal into ansi mode, inserting the -# character, and changing it back to H19 mode. All this takes 12 -# characters. Pretty expensive to insert one character, but it -# works. Either Emacs doesn't try to use its inserting hack when -# it's only given an insert character ability or the Z29 doesn't -# require padding with this (the former is probably more likely, +# solution to that too. There is an insert character option on +# the Z29 that will insert one character. Unfortunately, it +# involves putting the terminal into ansi mode, inserting the +# character, and changing it back to H19 mode. All this takes 12 +# characters. Pretty expensive to insert one character, but it +# works. Either Emacs doesn't try to use its inserting hack when +# it's only given an insert character ability or the Z29 doesn't +# require padding with this (the former is probably more likely, # but I haven't checked it out). # (z29: added empty to suppress a tic warning, merged in # status line capabilities from BRL entry --esr) @@ -25345,12 +32973,11 @@ z29|zenith29|z29b|zenith z29b:\ :co#80:kn#10:li#24:\ :ac=:ae=\EF:al=1\EL:as=\EG:bc=\ED:bl=^G:bt=\E-:cd=\EJ:ce=\EK:\ :cl=\EE:cm=\EY%+ %+ :cr=^M:dc=\EN:dl=1\EM:do=\EB:ds=\Ey1:\ - :ei=\EO:fs=\Ek\Ey5:ho=\EH:ic=\E<\E[1@\E[?2h:im=\E@:\ + :ei=\EO:ho=\EH:ic=\E<\E[1@\E[?2h:im=\E@:\ :is=\E<\E[?2h\Ev:k0=\E~:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:\ :k6=\EP:k7=\EQ:k8=\ER:k9=\E0I:kb=^H:kd=\EB:kh=\EH:kl=\ED:\ :kr=\EC:ku=\EA:l0=home:le=^H:nd=\EC:se=\Eq:sf=\n:so=\Ep:\ - :sr=2\EI:ta=^I:ts=:..ts=\Ej\Ex5\Ex1\EY8%+ \Eo:ue=\Es0:up=\EA:\ - :us=\Es8:ve=\Ey4:vs=\Ex4: + :sr=2\EI:ta=^I:ue=\Es0:up=\EA:us=\Es8:ve=\Ey4:vs=\Ex4: # z29 in ansi mode. Assumes that the cursor is in the correct state, and that # the world is stable. causes the terminal to be reset to the state # indicated by the name. kc -> key click, nkc -> no key click, uc -> underscore @@ -25432,7 +33059,7 @@ z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode:\ :co#80:li#24:\ :%1=\E[~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:K1=\EOw:\ :K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:\ - :UP=\E[%dA:ac=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~0a:\ + :UP=\E[%dA:ac=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~:\ :ae=\E(B:al=\E[1L:as=\E(0:bl=^G:bt=\E[1Z:cb=\E[1K:cd=\E[0J:\ :ce=\E[0K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\ :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[1P:dl=\E[1M:do=\E[B:\ @@ -25450,94 +33077,97 @@ z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode:\ z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor:\ :bs:mi:ms:pt:\ :co#80:it#8:kn#10:li#24:\ - :ac=:ae=\EG:al=5*\EL:as=\EF:cd=\EJ:ce=\EK:cl=5*\EE:\ - :cm=1*\EY%+ %+ :dc=1*\EN:dl=5*\EM:do=\EB:ei=\EO:ho=\EH:\ - :im=\E@:k0=\EJ:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:k9=\EOI:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ - :ku=\EA:le=^H:nd=\EC:se=\Eq:so=\Ep:sr=\EI:ta=^I:up=\EA:\ - :ve=\Ey4\Em70:vs=\Ex4\Em71: + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :al=5*\EL:as=\EF:cd=\EJ:ce=\EK:cl=5*\EE:cm=1*\EY%+ %+ :\ + :dc=1*\EN:dl=5*\EM:do=\EB:ei=\EO:ho=\EH:im=\E@:k0=\EJ:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :k9=\EOI:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:\ + :nd=\EC:se=\Eq:so=\Ep:sr=\EI:ta=^I:up=\EA:ve=\Ey4\Em70:\ + :vs=\Ex4\Em71: # (z100bw: removed obsolete ":kn#10:", added empty -- esr) z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc:\ :bs:mi:ms:pt:\ :co#80:it#8:kn#10:li#24:\ - :ac=:ae=\EG:al=5*\EL:as=\EF:cd=\EJ:ce=\EK:cl=5*\EE:\ - :cm=1*\EY%+ %+ :dc=1*\EN:dl=5*\EM:do=\EB:ei=\EO:ho=\EH:\ - :im=\E@:k0=\EJ:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:k9=\EOI:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ - :ku=\EA:le=^H:nd=\EC:se=\Eq:so=\Ep:sr=\EI:ta=^I:up=\EA:\ - :ve=\Ey4:vs=\Ex4: + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :al=5*\EL:as=\EF:cd=\EJ:ce=\EK:cl=5*\EE:cm=1*\EY%+ %+ :\ + :dc=1*\EN:dl=5*\EM:do=\EB:ei=\EO:ho=\EH:im=\E@:k0=\EJ:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :k9=\EOI:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:\ + :nd=\EC:se=\Eq:so=\Ep:sr=\EI:ta=^I:up=\EA:ve=\Ey4:vs=\Ex4: p19|h19-b with il1/dl1:\ :am:bs:es:hs:mi:ms:\ :co#80:it#8:li#24:\ - :ac=:ae=\EG:al=2*\EL:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:\ - :cm=\EY%+ %+ :cr=^M:dc=\EN:dl=2*\EM:do=\EB:ei=\EO:\ - :fs=\Ek\Ey5:ho=\EH:im=\E@:ip=1.5<1.5/>:k1=\ES:k2=\ET:\ - :k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:kb=^H:kd=\EB:\ - :kh=\EH:kl=\ED:kr=\EC:ku=\EA:l6=blue:l7=red:l8=white:le=^H:\ - :nd=\EC:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta=^I:\ - :ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:ve=\Ey4:vs=\Ex4: + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :al=2*\EL:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ + :cr=^M:dc=\EN:dl=2*\EM:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:\ + :im=\E@:ip=.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:\ + :k6=\EP:k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:\ + :ku=\EA:l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:\ + :so=\Ep:sr=\EI:ta=^I:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA:\ + :ve=\Ey4:vs=\Ex4: # From: # (ztx: removed duplicate :sr: -- esr) ztx|ztx11|zt-1|htx11|ztx-1-a|ztx-10 or 11:\ :am:bs:es:hs:\ :co#80:it#8:li#24:\ :al=\EL:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :dl=\EM:do=^J:\ - :ds=\Ey1:fs=\Ek\Ey5:ho=\EH:\ + :ds=\Ey1:ho=\EH:\ :is=\Ej\EH\Eq\Ek\Ev\Ey1\Ey5\EG\Ey8\Ey9\Ey>:k0=\ES:\ :k1=\EB:k2=\EU:k3=\EV:k4=\EW:k5=\EP:k6=\EQ:k7=\ER:kb=^H:\ :kd=\EB:kl=\ED:kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eq:so=\Es5:\ - :sr=\EI:ta=^I:ts=:..ts=\Ej\Ex5\Ex1\EY8%+ \Eo:ue=\Eq:up=\EA:\ - :us=\Es2: + :sr=\EI:ta=^I:ue=\Eq:up=\EA:us=\Es2: #### IMS International (ims) # -# There was a company called IMS International located in Carson City, +# There was a company called IMS International located in Carson City, # Nevada, that flourished from the mid-70s to mid-80s. They made S-100 -# bus/Z80 hardware and a line of terminals called Ultimas. +# bus/Z80 hardware and a line of terminals called Ultimas. # # From: Erik Fair Sun Oct 27 07:21:05 1985 ims950-b|bare ims950 no init string:\ :am:bs:hs:mi:ms:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ - :kA=\EE:kB=\EI:kC=\E*:kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:\ + :is@:kA=\EE:kB=\EI:kC=\E*:kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:\ :le=^H:me=\EG0:mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:\ :so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:up=^K:\ :us=\EG8: # (ims950: removed obsolete ":ko@:" -- esr) ims950|ims televideo 950 emulation:\ - :am:bs:hs:mi:ms:xo:\ + :am:bs:hs:mi:ms:xn@:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r:\ - :kA=\EE:kB=\EI:kC=\E*:kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:\ + :k0@:k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:k9@:kA=\EE:kB=\EI:kC=\E*:\ + :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:kb@:kd@:kh@:kl@:kr@:ku@:\ :le=^H:me=\EG0:mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:\ :so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:up=^K:\ - :us=\EG8: + :us=\EG8:vb@: # (ims950-rv: removed obsolete ":ko@:" -- esr) ims950-rv|ims tvi950 rev video:\ - :am:bs:hs:mi:ms:xo:\ + :am:bs:hs:mi:ms:xn@:xo:\ :co#80:it#8:li#24:sg#1:ug#1:\ - :ac=d\rc\014e\nb\011i\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ + :ac=b\011c\014d\re\ni\013:ae=^X:al=\EE:as=^U:bl=^G:bt=\EI:\ :cd=\Ey:ce=\Et:cl=\E*:cm=\E=%+ %+ :cr=^M:ct=\E3:dc=\EW:\ :dl=\ER:do=^J:ds=\Eg\Ef\r:ei=\Er:fs=^M:ho=^^:ic=\EQ:im=\Eq:\ :is=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0:\ - :kA=\EE:kB=\EI:kC=\E*:kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:\ + :k0@:k1@:k2@:k3@:k4@:k5@:k6@:k7@:k8@:k9@:kA=\EE:kB=\EI:kC=\E*:\ + :kD=\EW:kE=\Et:kI=\EQ:kL=\ER:kS=\Ey:kb@:kd@:kh@:kl@:kr@:ku@:\ :le=^H:me=\EG0:mr=\EG4:nd=^L:pf=\Ea:po=\E`:se=\EG0:sf=^J:\ :so=\EG4:sr=\Ej:st=\E1:ta=^I:ts=\Eg\Ef:ue=\EG0:up=^K:\ - :us=\EG8: + :us=\EG8:vb@: ims-ansi|ultima2|ultimaII|IMS Ultima II:\ :am:bs:\ :co#80:it#8:li#24:\ :cd=\E[0J:ce=\E[0K:cl=\E[H\E[2J:cm=\E[%i%2;%2H:do=\ED:\ :if=/usr/share/tabset/vt100:\ :is=\E[m\E[>14l\E[?1;?5;20l\E>\E[1m\r:kd=\E[B:kh=\E[H:\ - :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:se=\E[m\E[1m:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\EC:se=\E[m\E[1m:\ :so=\E[7m:sr=\EM:ta=^I:ue=\E[m\E[1m:up=\EM:us=\E[4m: #### Intertec Data Systems @@ -25553,7 +33183,7 @@ superbrain|intertec superbrain:\ :bc=^U:bl=^G:cd=\E~k<10*>:ce=\E~K:cl=\014:cm=\EY%+ %+ :\ :cr=^M:do=^J:kd=^J:kl=^U:kr=^F:ku=^K:le=^H:nd=^F:sf=^J:ta=^I:\ :te=^L:ti=^L:up=^K: -# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>, +# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>, # rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM, # and the reverse is actually true. Try it. -- esr) intertube|intertec|Intertec InterTube:\ @@ -25584,12 +33214,12 @@ intertube2|intertec data systems intertube 2:\ # # The Graphos III was a color graphics terminal from Ithaca Intersystems. -# These entries were written (originally in termcap syntax) by Brian Yandell -# and Mike Meyer at the +# These entries were written (originally in termcap syntax) by Brian Yandell +# and Mike Meyer at the # University of Wisconsin. -# (graphos: removed obsolete and syntactically incorrect :kn=4:, -# removed :if=/usr/share/tabset/init.graphos: and +# (graphos: removed obsolete and syntactically incorrect :kn=4:, +# removed :if=/usr/share/tabset/init.graphos: and # no such file & no :st: -- esr) graphos|graphos III:\ :am:mi:\ @@ -25626,7 +33256,7 @@ graphos-30|graphos III with 30 lines:\ # Vox: (617)-890-5796. # # However, if you call that number today you'll get an insurance company. -# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated +# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated # 26 Feb 1997 that says: # # Modgraph GX-1000, replaced by GX-2000. Both are out of production, have been @@ -25640,7 +33270,7 @@ graphos-30|graphos III with 30 lines:\ # modgraph|mod24|modgraph terminal emulating vt100:\ - :am:bs:ms:xo:\ + :5i:am:bs:ms:xn@:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -25648,21 +33278,21 @@ modgraph|mod24|modgraph terminal emulating vt100:\ :ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\ :eA=\E(B\E)0:ho=\E[H:\ - :is=\E^9;0s\E^7;1s\E[3g\E^11;9s\E^11;17s\E^11;25s\E^11;33s\E^11;41s\E^11;49s\E^11;57s\E^11;65s\E^11;73s\E^11;81s\E^11;89s:\ + :is=\E\1369;0s\E\1367;1s\E[3g\E\13611;9s\E\13611;17s\E\13611;25s\E\13611;33s\E\13611;41s\E\13611;49s\E\13611;57s\E\13611;65s\E\13611;73s\E\13611;81s\E\13611;89s:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=5\EM\E[K:st=\EH:ta=^I:\ - :ue=\E[m:up=\E[A:us=\E[4m:vs=\E^9;0s\E^7;1s: + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:rf@:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=^J:so=\E[7m:sr=5\EM\E[K:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m:vs=\E\1369;0s\E\1367;1s: # The GX-1000 manual is dated 1984. This looks rather like a VT-52. modgraph2|modgraph gx-1000 80x24 with keypad not enabled:\ :am:da:db:\ :co#80:it#8:li#24:\ - :cd=50\EJ:ce=3\EK:cl=50\EH\EJ:cm=5\EY%+ %+ :\ - :is=\E<\E^5;2s\E^7;1s\E[3g\E^11;9s\E^11;17s\E^11;25s\E^11;33s\E^11;41s\E^11;49s\E^11;57s\E^11;65s\E^11;73s\E^11;81s\E^11;89s\E^12;0s\E^14;2s\E^15;9s\E^25;1s\E^9;1s\E^27;1:\ + :cd=50\EJ:ce=3\EK:cl=50\EH\EJ:cm=5\EY%+ %+ :do=2\EB:\ + :is=\E<\E\1365;2s\E\1367;1s\E[3g\E\13611;9s\E\13611;17s\E\13611;25s\E\13611;33s\E\13611;41s\E\13611;49s\E\13611;57s\E\13611;65s\E\13611;73s\E\13611;81s\E\13611;89s\E\13612;0s\E\13614;2s\E\13615;9s\E\13625;1s\E\1369;1s\E\13627;1:\ :le=^H:nd=2\EC:sr=5\EI:ta=^I:up=2\EA: # # Modgraph from Nancy L. Cider @@ -25690,7 +33320,7 @@ modgraph48|mod|Modgraph w/48 lines:\ :us=\E[4m:vb=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q: #### Morrow Designs -# +# # This was George Morrow's company. They started in the late 1970s making # S100-bus machines. They used to be reachable at: # @@ -25701,7 +33331,7 @@ modgraph48|mod|Modgraph w/48 lines:\ # but they're long gone now (1995). # -# The mt70 terminal was shipped with the Morrow MD-3 microcomputer. +# The mt70 terminal was shipped with the Morrow MD-3 microcomputer. # Jeff's specimen was dated June 1984. # From: Jeff Wieland 24 Feb 1995 mt70|mt-70|Morrow MD-70; native Morrow mode:\ @@ -25709,15 +33339,15 @@ mt70|mt-70|Morrow MD-70; native Morrow mode:\ :co#80:it#8:li#24:\ :%1=^AO\r:F1=^A`\r:F2=^Aa\r:F3=^Ab\r:F4=^Ac\r:F5=^Ad\r:\ :F6=^Ae\r:F7=^Af\r:F8=^Ag\r:F9=^Ah\r:FA=^Ai\r:\ - :ac=+z,{.yOi-x`|jGkFlEmDnHtLuKvNwMxIqJ:ae=\E%:al=\EE:\ + :ac=+z,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI:ae=\E%%:al=\EE:\ :as=\E$:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :cr=^M:\ :ct=\E0:dc=\EW:dl=\ER:do=^J:ei=:ho=^^:i1=\E"2\EG0\E]:ic=\EQ:\ :im=:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kB=^A^Z\r:kC=^An\r:\ :kD=\177:kb=^H:kd=^AK\r:kh=^AN\r:kl=^AL\r:kr=^AM\r:\ - :ku=^AJ\r:le=^H:me=\EG0:mh=\EG2:mr=\EG4:nd=^L:nw=^_:se=\EG0:\ - :sf=^J:so=\EG4:ta=^I:te=:ti=\E"2\EG0\E]:ue=\EG0:up=^K:\ - :us=\EG1:vb=\EK1\EK0:ve=\E"2:vi=\E"0: + :ku=^AJ\r:le=^H:me=\EG0:mh=\EG2:mk@:mr=\EG4:nd=^L:nw=^_:\ + :se=\EG0:sf=^J:so=\EG4:ta=^I:te=:ti=\E"2\EG0\E]:ue=\EG0:\ + :up=^K:us=\EG1:vb=\EK1\EK0:ve=\E"2:vi=\E"0: #### Motorola # @@ -25729,8 +33359,8 @@ ex155|Motorola Exorterm 155:\ :co#80:kn#5:li#24:ug#1:\ :bt=\E[:cd=\ET:ce=\EU:cl=\EX:cm=\EE%+ %+ :do=\EB:ho=\E@:\ :kB=\E[:kC=\EX:kE=\EU:kS=\ET:kb=^H:kd=^J:kh=\E@:kl=^H:kr=^L:\ - :ku=^K:nd=\ED:se=\Ec\ED:so=\Eb\ED:ta=\EZ:ue=\Eg\ED:\ - :us=\Ef\ED: + :ku=^K:le=\ED:nd=\EC:se=\Ec\ED:so=\Eb\ED:ta=\EZ:ue=\Eg\ED:\ + :up=\EA:us=\Ef\ED: #### Omron # @@ -25864,25 +33494,25 @@ vsc|Signetics Vsc Video driver by RMC:\ # consisted of a circle with a slightly smaller 15 degree (approx.) # wedge with rounded corners inside it. The color was sort of # a metallic gold/yellow. -# +# # If I had been more of a beer drinker it might have been obvious # to me, but it took a clue from their service department to make # me exclaim, "Of course!" The circular object was the top of # a beer can (the old removable pop-top style) and "Soroc" was an # anagram for "Coors". -# +# # I can just imagine the founders of the company sitting around # one evening, tossing back a few and trying to decide what to # call their new company and what to use for a logo. -# +# # (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr) soroc120|iq120|soroc|soroc iq120:\ :am:bs:\ :co#80:li#24:\ :bl=^G:cd=\EY:ce=\ET:cl=\E*:cm=\E=%+ %+ :cr=^M:do=^J:ho=^^:\ - :kd=^J:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:r1=^N:\ - :rs=^N:sf=^J:up=^K: + :kd=^J:kl=^H:kr=^L:ku=^K:le=^H:ma=^K^P:nd=^L:nl=^J:rs=^N:\ + :sf=^J:up=^K: soroc140|iq140|soroc iq140:\ :am:bs:mi:\ :co#80:li#24:\ @@ -25893,6 +33523,21 @@ soroc140|iq140|soroc iq140:\ :ll=^^^K:nd=^L:se=\E\177:sf=^J:so=\E\177:ue=\E^A:up=^K:\ :us=\E^A: +#### Southwest Technical Products +# +# These guys made an early personal micro called the M6800. +# The ct82 was probably its console terminal. +# + +# (swtp: removed obsolete ":bc=^D:" -- esr) +swtp|ct82|southwest technical products ct82:\ + :am:\ + :co#82:li#20:\ + :al=^\^Y:bl=^G:cd=^V:ce=^F:cl=^L:cm=\013%r%.%.:cr=^M:\ + :dc=^\^H:dl=^Z:do=^J:ei=:ho=^P:ic=^\^X:im=:\ + :is=\034\022\036\023\036\004\035\027\011\023\036\035\036\017\035\027\022\011:\ + :le=^D:ll=^C:nd=^S:se=^^^F:sf=^N:so=^^^V:sr=^O:up=^A: + #### Synertek # # Bob Manson writes (28 Apr 1995): @@ -25919,7 +33564,7 @@ soroc140|iq140|soroc iq140:\ # CRT). It wasn't much different from the KTM-2 hardware-wise, but the # control and escape sequences are very different. The KTM-3 was always # real broken, at least according to the folks I've talked to about it. -# +# # The padding in the entry is probably off--these terminals were very # slow (it takes like 100ms for the KTM-2 to clear the screen...) And # anyone with any sanity replaced the ROMs with something that provided @@ -25927,7 +33572,7 @@ soroc140|iq140|soroc iq140:\ # obviously very primitive... oh, you could get an upgraded ROM from # Synertek for some incredible amount of money, but what hacker with an # EPROM burner would do that? :) -# +# # Sorry I don't have any contact info; I believe they were located in # Sunnyvale, and I'm fairly sure they are still manufacturing ICs # (they've gone to ASICs and FPGAs), but I doubt they're in the computer @@ -25956,8 +33601,8 @@ synertek|ktm|synertek380|synertek ktm 3/80 tubeless terminal:\ # The manual for this puppy was dated June 1981. It claims to be VT52- # compatible but looks more vt100-like. tab132|tab|tab132-15|tab 132/15:\ - :am:bs:da:db:ms:xn:xo:\ - :co#80:it#8:li#24:lm#96:vt#3:\ + :5i:am:bs:da:db:ms:xn:xo:\ + :co#80:dN@:it#8:li#24:lm#96:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ @@ -25966,14 +33611,14 @@ tab132|tab|tab132-15|tab 132/15:\ :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\ :ho=\E[H:im=\E[4h:is=\E[?7h\E[?3l\E[?5l:k0=\EOy:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:\ - :k9=\EOw:k;=\EOx:kb=^H:kd=\E[B:kl=\E[D:kr=\EOC:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ + :k9=\EOw:k;=\EOx:kb=^H:kd=\E[B:ke@:kl=\E[D:kr=\EOC:ks@:\ + :ku=\E[A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ :up=\E[A:us=\E[4m: tab132-w|tab132 in wide mode:\ - :am:bs:da:db:ms:xn:xo:\ + :5i:am:bs:da:db:ms:xn:xo:\ :co#132:it#8:li#24:lm#96:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -25984,13 +33629,13 @@ tab132-w|tab132 in wide mode:\ :ho=\E[H:im=\E[4h:is=\E[?7h\E[?3h\E[?5l:k0=\EOy:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:\ :k9=\EOw:k;=\EOx:kb=^H:kd=\E[B:kl=\E[D:kr=\EOC:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: tab132-rv|tab132 in reverse-video mode:\ - :am:bs:da:db:ms:xn:xo:\ + :5i:am:bs:da:db:ms:xn:xo:\ :co#80:it#8:li#24:lm#96:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -26001,13 +33646,13 @@ tab132-rv|tab132 in reverse-video mode:\ :ho=\E[H:im=\E[4h:is=\E[?7h\E[?3l\E[?5h:k0=\EOy:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:\ :k9=\EOw:k;=\EOx:kb=^H:kd=\E[B:kl=\E[D:kr=\EOC:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: tab132-w-rv|tab132 in reverse-video/wide mode:\ - :am:bs:da:db:ms:xn:xo:\ + :5i:am:bs:da:db:ms:xn:xo:\ :co#132:it#8:li#24:lm#96:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -26018,11 +33663,11 @@ tab132-w-rv|tab132 in reverse-video/wide mode:\ :ho=\E[H:im=\E[4h:is=\E[?7h\E[?3h\E[?5h:k0=\EOy:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:\ :k9=\EOw:k;=\EOx:kb=^H:kd=\E[B:kl=\E[D:kr=\EOC:ku=\E[A:\ - :le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\ - :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:\ + :me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:\ + :rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:\ + :se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: #### Teleray @@ -26042,7 +33687,6 @@ tab132-w-rv|tab132 in reverse-video/wide mode:\ # to the front if you have either. A dumb teleray with the cursor stuck # on the bottom and no obvious model number is probably a 3700. # -#% Teleray: Steve Schaefgen (612)-941-3300 (Sales Manager) t3700|dumb teleray 3700:\ :bs:\ @@ -26066,7 +33710,7 @@ t1061f|teleray 1061 with fast PROMs:\ :am:bs:km:xs:xt:\ :co#80:it#8:li#24:sg#1:ug#1:\ :al=\EL:bl=^G:cd=\EJ:ce=\EK:cl=\014:cm=\EY%+ %+ :cr=^M:\ - :ct=\EG:dc=\EQ:dl=\EM:do=^J:ei=:ho=\EH:ic=\EP:im=:\ + :ct=\EG:dc=\EQ:dl=\EM:do=^J:ei=:ho=\EH:ic=\EP:im=:ip@:\ :is=\Ee\EU01^Z1\EV\EU02^Z2\EV\EU03^Z3\EV\EU04^Z4\EV\EU05^Z5\EV\EU06^Z6\EV\EU07^Z7\EV\EU08^Z8\EV\Ef:\ :k1=^Z1:k2=^Z2:k3=^Z3:k4=^Z4:k5=^Z5:k6=^Z6:k7=^Z7:k8=^Z8:\ :le=^H:nd=\EC:se=\ER@:sf=^J:so=\s\ERD:st=\EF:ta=^I:ue=\ER@:\ @@ -26085,8 +33729,8 @@ t10|teleray 10 special:\ :bs:km:xs:xt:\ :co#80:it#8:li#24:sg#2:ug#2:\ :al=\EL:cd=\EJ:ce=\EK:cl=30\Ej:cm=\EY%+ %+ :dc=\EQ:dl=\EM:\ - :ei=:ho=\EH:ic=\EP:im=:le=^H:nd=\EC:pc=\0:se=\ER@:sf=\Eq:\ - :so=\ERD:sr=\Ep:ta=^I:ue=\ER@:up=\EA:us=\ERH: + :do=\EB:ei=:ho=\EH:ic=\EP:im=:le=^H:nd=\EC:pc=\0:se=\ER@:\ + :sf=\Eq:so=\ERD:sr=\Ep:ta=^I:ue=\ER@:up=\EA:us=\ERH: # teleray 16 - map the arrow keys for vi/rogue, shifted to up/down page, and # back/forth words. Put the function keys (f1-f10) where they can be # found, and turn off the other magic keys along the top row, except @@ -26134,11 +33778,11 @@ ti916|ti916-220-7|Texas Instruments 916 VDT 8859/1 vt220 mode 7 bit CTRL:\ :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ :k9=\E[26~:k;=\E[28~:kD=\E[P:kI=\E[@:kN=\E[S:kP=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mp=\E&:\ + :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\E(B:mp=\E&:\ :mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\E[?3l:r2=\E[!p:rc=\E8:sc=\E7:se=\E[27m:sf=\ED:\ + :r1=\E[?3l:r2=\E[!p:rc=\E8:sa@:sc=\E7:se=\E[27m:sf=\ED:\ :so=\E[7m:sr=\EM:st=\E[0W:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: # # Texas Instruments 916 VDT 8 bit control mode # @@ -26161,11 +33805,11 @@ ti916-8|ti916-220-8|Texas Instruments 916 VDT 8859/1 8 vt220 mode bit CTRL:\ :k9=\23326~:k;=\23328~:kD=\233P:kI=\233@:kN=\233S:\ :kP=\233T:kb=^H:kd=\233B:kh=\233H:kl=\233D:kr=\233C:\ :ku=\233A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mp=\E&:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ - :po=\E[5i:ps=\E[i:r1=\E[?3l:r2=\E[!p:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\E[0W:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h: + :md=\E[1m:me=\E[m\E(B:mp=\E&:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:r2=\E[!p:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\E[0W:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ + :vi=\E[?25l: # # Texas Instruments 916 VDT 8859/1 7 bit control 132 column mode # @@ -26187,11 +33831,11 @@ ti916-132|Texas Instruments 916 VDT vt220 132 column:\ :k4=\E[20~:k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:\ :k9=\E[26~:k;=\E[28~:kD=\E[P:kI=\E[@:kN=\E[S:kP=\E[T:kb=^H:\ :kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:\ - :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mp=\E&:\ + :l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\E(B:mp=\E&:\ :mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:\ :r1=\E[?3l:r2=\E[!p:rc=\E8:sc=\E7:se=\E[27m:sf=\ED:\ :so=\E[7m:sr=\EM:st=\E[0W:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: + :vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l: # # Texas Instruments 916 VDT 8859/1 8 bit control 132 column mode # @@ -26214,11 +33858,11 @@ ti916-8-132|Texas Instruments 916 VDT 8-bit vt220 132 column:\ :k9=\23326~:k;=\23328~:kD=\233P:kI=\233@:kN=\233S:\ :kP=\233T:kb=^H:kd=\233B:kh=\233H:kl=\233D:kr=\233C:\ :ku=\233A:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mp=\E&:mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:\ - :po=\E[5i:ps=\E[i:r1=\E[?3l:r2=\E[!p:rc=\E8:sc=\E7:\ - :se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\E[0W:ta=^I:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h: + :md=\E[1m:me=\E[m\E(B:mp=\E&:mr=\E[7m:nd=\E[C:nw=\EE:\ + :pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:r2=\E[!p:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\E[0W:ta=^I:\ + :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:\ + :vi=\E[?25l: ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL:\ :am:bs:xo:\ :co#80:it#8:li#24:\ @@ -26279,7 +33923,7 @@ ti926|Texas Instruments 926 VDT 8859/1 7 bit CTRL:\ :am:bs:xo:\ :co#80:it#8:li#24:\ :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:\ - :cm=%i\E[%d;%dH:cr=^M:ct=\E[3g:dl=\E[M:do=\E[B:ho=\E[H:\ + :cm=%i\E[%d;%dH:cr=^M:cs@:ct=\E[3g:dl=\E[M:do=\E[B:ho=\E[H:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[16~:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[P:kI=\E[@:kb=^H:\ :kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\ @@ -26291,7 +33935,7 @@ ti926-8|Texas Instruments 926 VDT 8859/1 8 bit CTRL:\ :am:xo:\ :co#80:it#8:li#24:\ :al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:\ - :cm=%i\E[%d;%dH:cr=^M:ct=\E[3g:dl=\E[M:do=\E[B:ho=\E[H:\ + :cm=%i\E[%d;%dH:cr=^M:cs@:ct=\E[3g:dl=\E[M:do=\E[B:ho=\E[H:\ :k1=P\217>:k2=Q\217>:k3=R\217>:k4=S\217>:k5=~\23316>:\ :k6=~\23317>:k7=~\23318>:k8=~\23319>:k9=~\23320>:\ :kD=P\233>:kI=@\233>:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:\ @@ -26348,7 +33992,7 @@ ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL:\ # # (zen30: removed obsolete :ma=^L ^R^L^K^P:. This entry originally -# had just :so:=\EG6 which I think means standout was supposed to be +# had just :so:=\EG6 which I think means standout was supposed to be # dim-reverse using ADM12-style attributes. ADM12 :us:/:ue: and # might work-- esr) zen30|z30|zentec 30:\ @@ -26356,7 +34000,8 @@ zen30|z30|zentec 30:\ :co#80:li#24:\ :al=\EE:bl=^G:cd=\EY:ce=\ET:cl=\E*:cm=\E=%+ %+ :cr=^M:\ :dc=\EW:dl=\ER:do=^J:ei=\Er:ho=^^:im=\Eq:le=^H:me=\EG0:\ - :mh=\EG2:mk=\EG1:mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG6:up=^K: + :mh=\EG2:mk=\EG1:mr=\EG4:nd=^L:se=\EG0:sf=^J:so=\EG6:ue@:\ + :up=^K:us@: # (zen50: this had extension capabilities # :BS=^U:CL=^V:CR=^B: # UK/DK/RK/LK/HM were someone's aliases for ku/kd/kl/kr/kh, @@ -26366,8 +34011,8 @@ zen50|z50|zentec zephyr:\ :am:bs:\ :co#80:li#24:sg#1:\ :al=\EE:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :dc=\EW:dl=\ER:ei=:\ - :ic=\EQ:im=:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:\ - :mr=\EG4:se=\EG0:so=\EG4:up=^K: + :ic=\EQ:im=:kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:me=\EG0:mk@:\ + :mr=\EG4:se=\EG0:so=\EG4:ue@:up=^K:us@: # CCI 4574 (Office Power) from Will Martin via BRL cci|cci1|z8001|zen8001|CCI Custom Zentec 8001:\ @@ -26382,128 +34027,9 @@ cci|cci1|z8001|zen8001|CCI Custom Zentec 8001:\ ######## OBSOLETE UNIX CONSOLES # -#### Altos -# -# Altos made a moderately successful line of UNIX boxes. In 1990 they were -# bought out by Acer, a major Taiwanese manufacturer of PC-clones. -# Acer has a web site at http://www.acer.com. -# -# Altos descriptions from Ted Mittelstaedt 4 Sep 1993 -# His comments suggest they were shipped with the system. -# - -# (altos2: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -# :LO=\E[0q:LC=\E[5q:LL=\E[6q:\ -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. Also, -# :sr: was given as a boolean-- esr) -altos2|alt2|altos-2|altos II:\ - :co#80:it#8:li#24:sg#0:ug#0:\ - :*5=^Am\r:*8=^An\r:DL=\E[M:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:\ - :FP=^Ac\r:FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:\ - :FV=^Ai\r:FW=^Aj\r:FX=^Ak\r:RA=\E[?7l:SA=\E[?7h:al=\E[L:\ - :cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :dc=\E[P:do=\E[1B:ei=:ho=\E[H:ic=\E[@:\ - :if=/usr/share/tabset/vt100:im=:\ - :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:k0=^AI\r:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ - :kD=^AM\r:kE=^AN\r:kF=^AO\r:kb=^H:kd=\E[B:kh=\E[f:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:me=\E[m:nd=\E[1C:nw=^M^J:se=\E[m:\ - :sf=^J:so=\E[7m:ta=^I:ue=\E[m:up=\E[1A:us=\E[4m: -# (altos3: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V:\ - :co#80:it#8:li#24:sg#0:ug#0:\ - :*5=^Am\r:*8=^An\r:DL=\E[M:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:\ - :FP=^Ac\r:FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:\ - :FV=^Ai\r:FW=^Aj\r:FX=^Ak\r:RA=\E[?7l:SA=\E[?7h:al=\E[L:\ - :cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :dc=\E[P:do=\E[1B:ei=:ho=\E[H:ic=\E[@:\ - :if=/usr/share/tabset/vt100:im=:\ - :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:k0=^AI\r:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ - :kD=^AM\r:kE=^AN\r:kF=^AO\r:kb=^H:kd=\E[B:kh=\E[f:kl=\E[D:\ - :kr=\E[C:ku=\E[A:le=^H:mb=\E[5p:me=\E[p:nd=\E[1C:nw=^M^J:\ - :se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[1A:\ - :us=\E[4m: -altos4|alt4|altos-4|altos IV:\ - :5i:am:bw:hs:mi:ms:xo:\ - :Nl#8:co#80:lh#1:li#24:lw#8:ma#1:ws#45:\ - :#2=\E{:%9=\EP:&3=\Er:@8=\E7:F1=^AJ\r:F2=^AK\r:F3=^AL\r:\ - :F4=^AM\r:F5=^AN\r:F6=^AO\r:LF=\EA11:LO=\EA10:\ - :ac=0wa_h[jukslrmqnxqzttuyv]wpxv:ae=\EH^C:al=\EE:\ - :as=\EH^B:bl=^G:bt=\EI:cd=\EY:ce=\ET:cl=\E+:cm=\E=%+ %+ :\ - :cr=^M:ct=\E0:dc=\EW:dl=\ER:do=^J:ds=\EF\r:ei=\Er:fs=^M:\ - :ho=^^:i1=\E`\:\E`9:im=\Eq:ip=:is=\016\024\E'\E(:k1=^A@\r:\ - :k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ - :k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:kE=\ET:\ - :kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=^J:kh=^^:kl=^H:\ - :kr=^L:ku=^K:le=^H:ll=^^^K:me=\E(\EH\003:mh=\E`7\E):\ - :mp=\E`7\E):mr=\E`6\E):nd=^L:nw=^M^J:pf=^T:pn=\Ez%+/%s\r:\ - :po=^X:ps=\EP:px=\Ez%+?%s\177:\ - :..sa=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;:\ - :se=\E(:sf=\n:so=\E`6\E):sr=\Ej:st=\E1:ta=^I:ts=\EF:up=^K:\ - :vb=\E`8\E`9:ve=\E`1:vi=\E`0: -# (altos7: had extension capabilities: -# :GG#0:GI=\EH8:GF=\EH7:\ -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. I have -# also made this entry relative to adm12 in order to give it an :sa:. The -# imported by use=adm+sgr may work, let me know. -- esr) -altos7|alt7|altos VII:\ - :am:mi:\ - :co#80:li#24:sg#0:ug#0:\ - :*5=^Am\r:*8=^An\r:DL=\ER:FM=^A`\r:FN=^Aa\r:FO=^Ab\r:\ - :FP=^Ac\r:FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:FU=^Ah\r:\ - :FV=^Ai\r:FW=^Aj\r:FX=^Ak\r:ac=l2m1k3j5t4u9v=w0q\:x6n8:\ - :al=\EE:cd=\EY:ce=\ET:cl=\E+^^:cm=\E=%+ %+ :cr=^M:dc=\EW:\ - :do=^J:ei=\Er:ho=^^:im=\Eq:\ - :is=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2:k0=^AI\r:\ - :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ - :k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:kC=^AL\r:\ - :kD=^AM\r:kE=^AN\r:kF=^AO\r:kN=\EK:kP=\EJ:kb=^H:kd=^J:kh=^^:\ - :kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EGt:me=\EG0:mh=\EGp:\ - :mk=\EG1:mr=\EG4:nd=^L:nw=^M^J:pf=\EJ:po=\Ed#:se=\EG0:sf=^J:\ - :so=\EG4:sr=\Ej:ta=^I:ue=\EG0:up=^K:us=\EG8: -altos7pc|alt7pc|altos PC VII:\ - :am:mi:\ - :co#80:li#24:sg#0:ug#0:\ - :*5=^Am\r:*8=^An\r:@7=\ET:DL=\ER:FM=^A`\r:FN=^Aa\r:\ - :FO=^Ab\r:FP=^Ac\r:FQ=^Ad\r:FR=^Ae\r:FS=^Af\r:FT=^Ag\r:\ - :FU=^Ah\r:FV=^Ai\r:FW=^Aj\r:FX=^Ak\r:\ - :ac=l2m1k3j5t4u9v=w0q\:x6n8:al=\EE:cd=\EY:ce=\ET:\ - :cl=\E+^^:cm=\E=%+ %+ :cr=^M:dc=\EW:do=^J:ei=\Er:ho=^^:\ - :im=\Eq:is=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2:\ - :k0=^AI\r:k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:\ - :k6=^AE\r:k7=^AF\r:k8=^AG\r:k9=^AH\r:kA=^AJ\r:kB=^AK\r:\ - :kC=^AL\r:kD=^AM\r:kE=^AN\r:kF=^AO\r:kN=\EK:kP=\EJ:kb=^H:\ - :kd=^J:kh=^^:kl=^H:kr=^L:ku=^K:le=^H:mb=\EG2:md=\EGt:me=\EG0:\ - :mh=\EGp:mk=\EG1:mr=\EG4:nd=^L:nw=^M^J:pf=\EJ:po=\Ed#:\ - :se=\EG0:sf=^J:so=\EG4:sr=\Ej:ta=^I:ue=\EG0:up=^K:us=\EG8: - #### Apollo consoles # -# Apollo got bought by Hewlett-Packard. The Apollo workstations are +# Apollo got bought by Hewlett-Packard. The Apollo workstations are # labeled HP700s now. # @@ -26520,56 +34046,56 @@ apollo|apollo console:\ # in the VT132 that reversed :ei:/:im:. To be on the safe side, disable # both these capabilities. apollo_15P|apollo 15 inch display:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:ip=:\ - :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ - :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei@:ho=\E[H:im@:\ + :ip=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ + :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: apollo_19L|apollo 19 inch display:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:ip=:\ - :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ - :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei@:ho=\E[H:im@:\ + :ip=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ + :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: apollo_color|apollo color display:\ - :am:bs:ms:xn:xo:\ + :5i:am:bs:ms:xn:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ho=\E[H:ip=:\ - :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:\ - :k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\ - :sc=\E7:se=\E[m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ - :up=\E[A:us=\E[4m: + :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei@:ho=\E[H:im@:\ + :ip=:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ + :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:l1=pf1:\ + :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\ + :mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ + :sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:\ + :us=\E[4m: #### Convergent Technology # @@ -26631,14 +34157,14 @@ qdss|qdcons|qdss glass tty:\ # to force both magic cookie glitches off. Once upon a time, I # used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are # function keys; thus the "Al" value for HM was certainly an error. I renamed -# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC. +# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC. # I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent # "reverse-video-glitch" capability; I have put :rv: and :re: in with standard # names below. I've removed obsolete ":nl=5^J:" as there is a :do: -- esr) fos|fortune|Fortune system:\ :am:bs:bw:\ :co#80:li#25:\ - :@7=^Ak\r:@8=^Aq:ac=l m"k(j*v%w#q&x-:ae=^O:al=\034E:\ + :@7=^Ak\r:@8=^Aq:ac=j*k(l m"q&v%w#x-:ae=^O:al=\034E:\ :as=\Eo:bl=^G:cd=\034Y:ce=^\Z:cl=\014:cm=\034C%+ %+ :cr=^M:\ :dc=\034W:dl=\034R:do=\n:ei=:ho=\036:ic=\034Q:im=:is=^_..:\ :k1=^Aa\r:k2=^Ab\r:k3=^Ac\r:k4=^Ad\r:k5=^Ae\r:k6=^Af\r:\ @@ -26647,48 +34173,6 @@ fos|fortune|Fortune system:\ :mr=\EH:nw=^M^J:se=^\I`:sf=^J:so=^\H`:ta=^Z:ue=^\IP:up=\013:\ :us=^\HP:ve=\E\\:vi=\E]:vs=\E\:: -#### IBM Unix consoles -# - -# The following is a version of the ibm-pc entry distributed with PC/IX, -# (Interactive Systems' System 3 for the Big Blue), modified by Richard -# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, -# (the former is untrue, and the latter failed under UCB/man); standout and -# underline modes have been added. Note: this entry describes the "native" -# capabilities of the PC monochrome display, without ANY emulation; most -# communications packages (but NOT PC/IX connect) do some kind of emulation. -pcix|PC/IX console:\ - :am:bw:eo:\ - :co#80:li#24:\ - :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[H:\ - :le=^H:me=\E[m:nd=\E[C:se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:\ - :us=\E[4m: - -# (ibmpcx: this entry used to be known as ibmx. -# It formerly included the following extension capabilities: -# :GC=b:GL=v:GR=t:RT=^J:\ -# :GH=\E[196g:GV=\E[179g:\ -# :GU=\E[193g:GD=\E[194g:\ -# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ -# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ -# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ -# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate -# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match -# what was there before. -- esr) -ibmpcx|xenix|ibmx|IBM PC xenix console display:\ - :am:bs:ms:\ - :co#80:li#25:\ - :@7=\E[d:S2=\E[11m:S3=\E[10m:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=\E[L:as=\E[11m:cd=\E[J:ce=\E[K:cl=^L:\ - :cm=\E[%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:\ - :im=:k1=\E[K:k2=\E[L:k3=\E[M:k4=\E[N:kN=\E[e:kP=\E[Z:kb=^H:\ - :kd=\E[B:kh=\E[Y:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[0;10m:mk=\E[8m:mr=\E[7m:nd=\E[C:\ - :..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\ - :se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m: - - #### Masscomp consoles # # Masscomp has gone out of business. Their product line was purchased by @@ -26719,363 +34203,6 @@ masscomp2|masscomp large screen version 2:\ :kd=\EOB:kl=\EOD:kr=\EOC:ku=\EOA:le=^H:nd=\E[C:se=\E[m:\ :so=\E[7m:ta=^I:ue=\EGau:up=\E[A:us=\EGu: -#### Sony NEWS workstations -# - -# (news-unk: this had :KB=news: -- esr) -news-unk|SONY NEWS vt100 emulator old common entry:\ - :am:bs:pt:xn:\ - :co#80:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# -# (news-29: this had :TY=ascii: --esr) -news-29:\ - :am:bs:pt:xn:\ - :co#80:li#29:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-29-euc: this had :TY=euc: --esr) -news-29-euc:\ - :am:bs:pt:xn:\ - :co#80:li#29:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-29-sjis: this had :TY=sjis: --esr) -news-29-sjis:\ - :am:bs:pt:xn:\ - :co#80:li#29:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# -# (news-33: this had :TY=ascii: --esr) -news-33:\ - :am:bs:pt:xn:\ - :co#80:li#33:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-33-euc: this had :TY=euc: --esr) -news-33-euc:\ - :am:bs:pt:xn:\ - :co#80:li#33:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-33-sjis: this had :TY=sjis: --esr) -news-33-sjis:\ - :am:bs:pt:xn:\ - :co#80:li#33:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# -# (news-42: this had :TY=ascii: --esr) -news-42:\ - :am:bs:pt:xn:\ - :co#80:li#42:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-42-euc: this had :TY=euc: --esr) -news-42-euc:\ - :am:bs:pt:xn:\ - :co#80:li#42:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# (news-42-sjis: this had :TY=sjis: --esr) -news-42-sjis:\ - :am:bs:pt:xn:\ - :co#80:li#42:\ - :AL=\E[%dL:DL=\E[%dM:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :dl=\E[M:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E8:k0=\EOY:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\ - :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ - :nl=^J:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r:\ - :sc=\E7:se=\E[m:so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:\ - :us=\E[4m: -# -# NEWS-OS old termcap entry -# -# (news-old-unk: this had :KB=news:TY=sjis: --esr) -news-old-unk|SONY NEWS vt100 emulator common entry:\ - :am:bs:pt:xn:\ - :co#80:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp512: this had :DE=^H:, which I think means :bs: --esr) -nwp512|news|nwp514|news40|vt100-bm|old sony vt100 emulator 40 lines:\ - :am:bs:pt:xn:\ - :co#80:li#40:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr) -nwp512-a|nwp514-a|news-a|news42|news40-a|sony vt100 emulator 42 line:\ - :am:bs:pt:xn:\ - :co#80:li#42:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8:k1=\EOP:k2=\EOQ:\ - :k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\ - :kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\ - :me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp-512-o: this had :KB=nwp410:DE=^H: I interpret the latter as :bs:. --esr) -nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|sony vt100 emulator 40 lines:\ - :am:bs:pt:xn:\ - :co#80:li#40:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp513: this had :DE=^H: and the alias vt100-bm --esr) -nwp513|nwp518|nwe501|newscbm|news31|sony vt100 emulator 33 lines:\ - :am:bs:pt:xn:\ - :co#80:li#31:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as :bs:; --esr) -# also the alias vt100-bm. -nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old sony vt100 emulator 33 lines:\ - :am:bs:pt:xn:\ - :co#80:li#33:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (nwp513-o: had :DE=^H:, I think that's :bs:; also the alias vt100-bm --esr) -nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old sony vt100 emulator 33 lines:\ - :am:bs:pt:xn:\ - :co#80:li#31:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (news28: this had :DE=^H:, I think that's :bs:, and :KB=nws1200: --esr) -news28|sony vt100 emulator 28 lines:\ - :am:bs:pt:xn:\ - :co#80:li#28:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (news29: this had :TY=ascii:KB=nws1200:\ --esr) -news29|news28-a|sony vt100 emulator 29 lines:\ - :am:bs:pt:xn:\ - :co#80:li#29:vt#3:\ - :bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ - :cs=\E[%i%d;%dr:do=^J:ho=\E[H:if=/usr/lib/tabset/vt100:\ - :is=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29r\E8:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\ - :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ - :mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:sc=\E7:se=\E[m:\ - :so=\E[7m:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m: -# -# (news511: this had :TY=sjis: --esr) -nwp511|nwp-511|nwp-511 vt100:\ - :am:bs:pt:xn:\ - :co#80:li#24:\ - :al=\E[L:cd=30\E[J:ce=3\E[K:cl=20\E[;H\E[2J:\ - :cm=\E[%i%d;%dH:dl=\E[M:is=\E[?5l\E[?1l\E>\E[?7h\E[?8h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\E#W:kd=\E[B:\ - :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:nd=\E[C:\ - :rs=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h:se=2\E[m:\ - :so=2\E[7m:sr=5\EM:ue=2\E[m:up=2\E[A:us=2\E[4m:\ - :vb=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l: -# (news517: this had :TY=sjis:. --esr) -nwp517|nwp-517|nwp-517 vt200 80 cols 30 rows:\ - :5i:am:bs:es:hs:mi:ms:xn:xo:\ - :co#80:it#8:li#30:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[1$~:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[0$}:ho=\E[H:i2=\E[2$~\n:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:\ - :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\E[?3l:rc=\E8:sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:\ - :st=\EH:ta=^I:ts=\E[1$}\E[;%df:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l: -# (news517-w: this had :TY=sjis:. --esr) -nwp517-w|nwp-517-w|nwp-517 vt200 132 cols 50 rows:\ - :5i:am:bs:es:hs:mi:ms:xn:xo:\ - :co#132:it#8:li#50:vt#3:\ - :%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\ - :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ - :F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\ - :FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\ - :SA=\E[?7h:UP=\E[%dA:\ - :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ - :ae=^O:al=\E[L:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ - :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ - :ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ds=\E[1$~:eA=\E)0:\ - :ec=\E[%dX:ei=\E[4l:fs=\E[0$}:ho=\E[H:i2=\E[2$~\n:\ - :if=/usr/share/tabset/vt100:im=\E[4h:\ - :is=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:\ - :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k6=\E[17~:k7=\E[18~:\ - :k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ - :kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:\ - :l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:\ - :mr=\E[7m:nd=\E[C:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:\ - :r1=\E[?3l:rc=\E8:rs=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:\ - :sc=\E7:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ - :ts=\E[1$}\E[;%df:ue=\E[24m:up=\E[A:us=\E[4m:\ - :vb=\E[?5h\E[?5l: - -#### Obsolete virtual-terminal types. -# - -# Columbus UNIX virtual terminal. This terminal also appears in -# UNIX 4.0 and successors as line discipline 1 (?), but is -# undocumented and does not really work quite right. -cbunix|cb unix virtual terminal:\ - :am:bs:da:db:\ - :co#80:li#24:lm#0:\ - :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%r%.%.:cr=^M:\ - :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ - :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb^D:sf=^J:so=\Ea^D:\ - :ue=\Eb^A:up=\EA:us=\Ea^A: -# (vremote: removed obsolete ":nl@:" -- esr) -vremote|virtual remote terminal:\ - :bs:da:db:\ - :co#79:li#24:lm#0:\ - :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%r%.%.:cr=^M:\ - :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ - :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb^D:sf=^J:so=\Ea^D:\ - :ue=\Eb^A:up=\EA:us=\Ea^A: - -pty|4bsd pseudo teletype:\ - :am:bs:da:db:\ - :co#80:li#24:lm#0:\ - :al=\EP:bl=^G:cd=\EL:ce=\EK:cl=\EL:cm=\EG%+ %+ :cr=^M:\ - :dc=\EM:dl=\EN:do=^J:ei=:ic=\EO:im=:kd=\EB:kh=\EE:kl=\ED:\ - :kr=\EC:ku=\EA:le=^H:nd=\EC:se=\Eb$:sf=^J:so=\Ea$:ue=\Eb!:\ - :up=\EA:us=\Ea!: - ######## OTHER OBSOLETE TYPES # # These terminals are *long* dead -- these entries are retained for @@ -27085,148 +34212,16 @@ pty|4bsd pseudo teletype:\ #### Obsolete non-ANSI software emulations # -#### Avatar -# -# These entries attempt to describe Avatar, a terminal emulation used with -# MS-DOS bulletin-board systems. It was designed to give ANSI-like -# capabilities, but with cheaper (shorter) control sequences. Messy design, -# excessively dependent on PC idiosyncracies, but apparently rather popular -# in the BBS world. -# -# No color support. Avatar doesn't fit either of the Tektronix or HP color -# models that terminfo knows about. An Avatar color attribute is the -# low 7 bits of the IBM-PC display-memory attribute. Bletch. -# -# I wrote these entries while looking at the Avatar spec. I don't have -# the facilities to test them. Let me know if they work, or don't. -# -# Avatar escapes not used by these entries (because maybe you're smarter -# and more motivated than I am and can figure out how to wrap terminfo -# around some of them, and because they are weird enough to be funny): -# level 0: -# ^L -- clear window/reset current attribute to default -# ^V^A%p1%c -- set current color attribute, parameter decodes as follows: -# -# bit: 6 5 4 3 2 1 0 -# | | | | | -# +---+---+ | +---+---+ -# | | | -# | | foreground color -# | foreground intensity -# background color -# level 0+: -# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) up by p1 lines -# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) down by p1 lines -# ^V^L%p1%c%p2%c%p3%c -- clear p2 lines and p3 cols w/attr %p1 -# ^V^M%p1%c%p2%c%p3%c%p4%c -- fill p3 lines & p4 cols w/char p2+attr %p1 -# (^V^L and ^V^M set the current attribute as a side-effect.) -# ^V ^Y [...] -- repeat pattern. specifies the number of bytes -# in the pattern, the number of times the pattern -# should be repeated. If either value is 0, no-op. -# The pattern can contain Avatar console codes, -# including other ^V ^Y patterns. -# level 1: -# ^V^O -- clockwise mode on; turn print direction right each time you -# hit a window edge (yes, really). Turned off by CR -# ^V^P -- no-op -# ^V^Q%c -- query the driver -# ^V^R -- driver reset -# ^V^S -- Sound tone (PC-specific) -# ^V^T -- change highlight at current cursor poition to %c -# ^V^U%p1%c%p2%c -- highlight window with attribute -# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c -# -- define window -# -# From: Eric S. Raymond 1 Nov 1995 -# (The :mb:/:md:/:mr:/:as:/:us:/:so: capabilities exist only to -# tell ncurses that the corresponding highlights exist; it should use :sa:, -# which is the only method that will actually work for multiple highlights.) -avatar0|avatar terminal emulator level 0:\ - :am:ms:ut:\ - :co#80:it#8:li#25:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=:ce=^V^G:cm=\026\010%.%.:cr=^M:do=^V^D:\ - :le=^V^E:mb=^A^V\177:md=^V^A^P:me=^V^A^G:mk=^V^A\0:\ - :mr=^A^Vp:nd=^V^F:rp=\031%.%d:rs=^L:\ - :..sa=\026\001%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p4%t{128}%|%;%?%p6%t%{16}%|%;:\ - :sf=^J:so=^A^Vp:up=^V^C:us=^V^A: -# From: Eric S. Raymond 1 Nov 1995 -avatar0+|avatar terminal emulator level 0+:\ - :am:ms:ut:\ - :co#80:it#8:li#25:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:as=:ce=^V^G:cm=\026\010%.%.:cr=^M:dc=^V^N:\ - :do=^V^D:ei=\026\n\0\0\0\0:im=^V^I:le=^V^E:mb=^A^V\177:\ - :md=^V^A^P:me=^V^A^G:mk=^V^A\0:mr=^A^Vp:nd=^V^F:\ - :rp=\031%.%d:rs=^L:\ - :..sa=\026\001%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p4%t{128}%|%;%?%p6%t%{16}%|%;:\ - :sf=^J:so=^A^Vp:up=^V^C:us=^V^A: -# From: Eric S. Raymond 1 Nov 1995 -avatar|avatar1|avatar terminal emulator level 1:\ - :am:ms:ut:\ - :co#80:it#8:li#25:\ - :RA=^V":SA=^V$:\ - :ac=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234:\ - :ae=\E[10m:al=^V+:as=:ce=^V^G:cm=\026\010%.%.:cr=^M:\ - :dc=^V^N:dl=^V-:do=^V^D:ei=^V^P:im=^V^I:le=^V^E:\ - :mb=^A^V\177:md=^V^A^P:me=^V^A^G:mk=^V^A\0:mr=^A^Vp:\ - :nd=^V^F:rp=\031%.%d:rs=^L:\ - :..sa=\026\001%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p4%t{128}%|%;%?%p6%t%{16}%|%;:\ - :sf=^J:so=^A^Vp:up=^V^C:us=^V^A:ve=^V'^A:vi=^V'^B:vs=^V^C: - -#### RBcomm -# -# RBComm is a lean and mean terminal emulator written by the Interrupt List -# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early -# '90s), especially in the BBS world, and still has some loyal users due to -# its very small memory footprint and to a cute macro language. -rbcomm|IBM PC with RBcomm and EMACS keybindings:\ - :am:bw:mi:ms:xn:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ - :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ - :dm=:do=^C:ec=\E[%dX:ed=:ei=^]:im=^\:\ - :is=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g:kb=^H:kd=^N:\ - :ke=\E>:kh=^A:kl=^B:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M\ED:\ - :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ - :sc=\E7:se=^U:sf=\ED:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ - :us=^T:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: -rbcomm-nam|IBM PC with RBcomm without autowrap:\ - :bw:mi:ms:xn:\ - :co#80:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ - :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ - :dm=:do=^J:ec=\E[%dX:ed=:ei=^]:im=^\:\ - :is=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g:kb=^H:kd=^J:\ - :ke=\E>:kh=^A:kl=^H:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M^J:\ - :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ - :sc=\E7:se=^U:sf=^J:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ - :us=^T:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: -rbcomm-w|IBM PC with RBcomm in 132 column mode:\ - :am:bw:mi:ms:xn:\ - :co#132:it#8:li#25:\ - :AL=\E[%dL:DL=\E[%dM:al=^K:bl=^G:bt=\E[Z:cd=^F5:ce=^P^P:\ - :cl=^L:cm=\037%r%+ %+ :cr=^M:cs=\E[%i%d;%dr:dc=^W:dl=^Z:\ - :dm=:do=^J:ec=\E[%dX:ed=:ei=^]:im=^\:\ - :is=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g:kb=^H:kd=^J:\ - :ke=\E>:kh=^A:kl=^H:kr=^F:ks=\E=:ku=^P:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[m:mk=\E[8m:mr=^R:nd=^B:nw=^M^J:\ - :r1=\017\E(B\E)0\025\E[?3l\E[>8g:rc=\E8:rp=\030%.%.:\ - :sc=\E7:se=^U:sf=^J:so=^R:sr=\EM:ta=^I:te=:ti=:ue=^U:up=^^:\ - :us=^T:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h: - # CTRM terminal emulator -# 1. underlining is not allowed with colors: first, is is simulated by +# 1. underlining is not allowed with colors: first, is is simulated by # black on white, second, it disables background color manipulations. # 2. BLINKING, REVERSE and BOLD are allowed with colors, # so we have to save their status in the static registers A, B and H # respectively, to be able to restore them when color changes # (because any color change turns off ALL attributes) # 3. :md: and :mr: sequences alternate modes, -# rather then simply entering them. Thus we have to check the -# static register B and H to determine the status, before sending the +# rather than simply entering them. Thus we have to check the +# static register B and H to determine the status, before sending the # escape sequence. # 4. :me: now must set the status of all 3 register (A,B,H) to zero # and then reset colors @@ -27247,8 +34242,6 @@ rbcomm-w|IBM PC with RBcomm in 132 column mode:\ ctrm|C terminal emulator:\ :am:ut:xo:\ :Co#8:NC#2:Nl#0:co#80:lh#0:li#24:lm#0:lw#0:pa#63:pb#19200:vt#6:\ - :..Sb=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gU%t\E&bR%;%?%gV%t\E&bG%;%?%gW%t\E&bB%;%?%p1%{1}%&%t\E&bb%{1}%e%{0}%;%PZ%?%p1%{2}%&%t\E&bg%{1}%e%{0}%;%PY%?%p1%{4}%&%t\E&br%{1}%e%{0}%;%PX:\ - :..Sf=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gX%t\E&br%;%?%gY%t\E&bg%;%?%gZ%t\E&bb%;%?%p1%{1}%&%t\E&bB%{1}%e%{0}%;%PW%?%p1%{2}%&%t\E&bG%{1}%e%{0}%;%PV%?%p1%{4}%&%t\E&bR%{1}%e%{0}%;%PU:\ :al=\EL:bl=^G:bt=\Ei:cd=\EJ:ce=\EK:ch=\E&a%dC:cl=\EH\EJ:\ :cm=\E&a%r%dc%dY:cr=^M:ct=\E3:cv=\E&a%dY:dc=\EP:dl=\EM:\ :do=^J:ei=\ER:im=\EQ:ip=:is=\E&jA\r:k1=\Ep\r:k2=\Eq\r:\ @@ -27259,7 +34252,6 @@ ctrm|C terminal emulator:\ :me=\E&d@%{0}%PA%{0}%PB%{0}%PH:\ :mr=%?%gB%{0}%=%t\E&dB%{1}%PB%;:nd=\EC:\ :op=\E&bn\E&bB\E&bG\E&bR%{0}%PX%{0}%PY%{0}%PZ%{1}%PW%{1}%PV%{1}%PU:\ - :..sa=\E&d@%{0}%PA%{0}%PB%{0}%PD%{0}%PH%?%p1%p3%p5%|%|%t\E&dB%{1}%PB%;%?%p4%t\E&dA%{1}%PA%;%?%p6%t\E&dH%{1}%PH%;%?%p2%t\E&dD%;:\ :sf=^J:so=\E&dD:st=\E1:ta=\011:up=\EA:us=\E&dD: # gs6300 - can't use blue foreground, it clashes with underline; @@ -27270,10 +34262,8 @@ gs6300|emots|AT&T PC6300 with EMOTS terminal emulator:\ :am:ms:ut:xo:\ :Co#8:co#80:it#8:li#24:pa#63:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ - :LE=\E[%dD:RI=\E[%dC:Sb=\E[?;%dm:\ - :..Sf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m:\ - :UP=\E[%dA:\ - :ac=,,..--++``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ + :LE=\E[%dD:RI=\E[%dC:Sb=\E[?;%dm:UP=\E[%dA:\ + :ac=++,,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\ :ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:do=^J:\ :ei=:ho=\E[H:ic=\E[@:im=:is=\E[m:k1=\E[0s:k2=\E[24s:\ @@ -27287,14 +34277,15 @@ gs6300|emots|AT&T PC6300 with EMOTS terminal emulator:\ # MS-Kermit with Heath-19 emulation mode enabled # (h19k: changed ":pt@:" to ":it@" h19k|h19kermit|heathkit emulation provided by Kermit (no auto margin):\ - :bs:da:db:es:hs:mi:ms:xt:\ - :co#80:li#24:\ - :ac=:ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\ - :cr=^M:dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:\ - :ip=1.5<1.5/>:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:\ - :k7=\EQ:k8=\ER:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:\ - :l6=blue:l7=red:l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:\ - :sr=\EI:ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA: + :am@:bs:da:db:es:hs:mi:ms:xt:\ + :co#80:it@:li#24:\ + :ac=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\136:ae=\EG:\ + :as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :cr=^M:\ + :dc=\EN:do=\EB:ei=\EO:fs=\Ek\Ey5:ho=\EH:im=\E@:ip=.5<1.5/>:\ + :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\ + :kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:l6=blue:l7=red:\ + :l8=white:le=^H:nd=\EC:se=\Eq:sf=^J:so=\Ep:sr=\EI:ta@:\ + :ts=\Ej\Ex5\EY8%+ \Eo\Eo:up=\EA: # Apple Macintosh with Versaterm, a terminal emulator distributed by Synergy # Software (formerly Peripherals Computers & Supplies, Inc) of @@ -27339,9 +34330,102 @@ simterm|attpc running simterm:\ :dc=\ER:dl=\EM:do=\EB:ho=\EH:le=^H:me=\E&d@:nd=\EC:se=\E&d@:\ :sf=^J:so=\E&dB:te=\EVE:ti=\EVS:up=\EA: +#### Daisy wheel printers +# +# This section collects Diablo, DTC, Xerox, Qume, and other daisy +# wheel terminals. These are now largely obsolete. +# + +# (diablo1620: removed :if=/usr/share/tabset/xerox1720:, no such file -- esr) +diablo1620|diablo1720|diablo450|ipsi|diablo 1620:\ + :hc:os:\ + :co#132:it#8:\ + :ch=\E\011%i%.:ct=\E2:do=^J:hd=\ED:hu=\EU:kb=^H:le=^H:\ + :st=\E1:ta=^I:up=\E^J: +diablo1620-m8|diablo1640-m8|diablo 1620 w/8 column left margin:\ + :hc:os:\ + :co#124:it#8:\ + :ch=\E\011%i%.:ct=\E2:do=^J:hd=\ED:hu=\EU:\ + :is=\r \E9:kb=^H:le=^H:st=\E1:ta=^I:up=\E^J: +# (diablo1640: removed :if=/usr/share/tabset/xerox1730:, no such file -- esr) +diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|diablo 1640:\ + :hc:os:\ + :co#132:it#8:\ + :bl=^G:ch=\E\011%i%.:ct=\E2:do=^J:hd=\ED:hu=\EU:kb=^H:le=^H:\ + :se=\E&:so=\EW:st=\E1:ta=^I:ue=\ER:up=\E^J:us=\EE: +# (diablo1640-lm: removed :if=/usr/share/tabset/xerox1730-lm:, no such +# file -- esr) +diablo1640-lm|diablo-lm|xerox-lm|diablo 1640 with indented left margin:\ + :hc:os:\ + :co#124:it#8:\ + :ch=\E\011%i%.:ct=\E2:do=^J:hd=\ED:hu=\EU:kb=^H:le=^H:\ + :se=\E&:so=\EW:st=\E1:ta=^I:ue=\ER:up=\E^J:us=\EE: +diablo1740-lm|630-lm|1730-lm|x1700-lm|diablo 1740 printer:\ + :hc:os:\ + :co#124:it#8:\ + :ch=\E\011%i%.:ct=\E2:do=^J:hd=\ED:hu=\EU:kb=^H:le=^H:\ + :se=\E&:so=\EW:st=\E1:ta=^I:ue=\ER:up=\E^J:us=\EE: +# DTC 382 with VDU. Has no :cd: so we fake it with :ce:. Standout +# :so=^P\s\002^PF: works but won't go away without dynamite :se=^P\s\0:. +# The terminal has tabs, but I'm getting tired of fighting the braindamage. +# If no tab is set or the terminal's in a bad mood, it glitches the screen +# around all of memory. Note that return puts a blank ("a return character") +# in the space the cursor was at, so we use ^P return (and thus ^P newline for +# newline). Note also that if you turn off :pt: and let Unix expand tabs, +# curses won't work (some old BSD versions) because it doesn't clear this bit, +# and cursor addressing sends a tab for row/column 9. What a losing terminal! +# I have been unable to get tabs set in all 96 lines - it always leaves at +# least one line with no tabs in it, and once you tab through that line, +# it completely weirds out. +# (dtc382: change :te: to :ti: -- it just does a clear --esr) +dtc382|DTC 382:\ + :am:da:db:xs:\ + :co#80:li#24:lm#96:\ + :al=^P^Z:bl=^G:cd=\020\025\020\023\020\023:ce=^P^U:\ + :cl=\020\035:cm=\020\021%r%.%.:cr=^P^M:dc=^X:dl=^P^S:\ + :ei=^Pi:ho=^P^R:im=^PI:le=^H:nd=^PR:pc=\177:sf=^J:te=:\ + :ti=\020\035:ue=^P \0:up=^P^L:us=^P ^P:ve=^Pb:vs=^PB: +dtc300s|DTC 300s:\ + :hc:os:\ + :co#132:\ + :bl=^G:cr=^M:ct=\E3:do=^J:ff=^L:hd=\Eh:hu=\EH:kb=^H:le=^H:\ + :sf=^J:st=\E1:ta=^I:up=^Z: +gsi|mystery gsi terminal:\ + :hc:os:\ + :co#132:\ + :bl=^G:cr=^M:do=^J:hd=\Eh:hu=\EH:le=^H:sf=^J:ta=^I:up=^Z: +aj830|aj832|aj|anderson jacobson:\ + :hc:os:\ + :bl=^G:cr=^M:do=^J:hd=\E9:hu=\E8:le=^H:sf=^J:up=\E7: +# From: Chris Torek Thu, 7 Nov 85 18:21:58 EST +aj510|Anderson-Jacobson model 510:\ + :am:mi:\ + :co#80:li#24:\ + :al=2*\E&I:cd=\E'P:ce=\E'L:cl=^L:cm=\E#%+ %+ :dc=.1*\E'D:\ + :dl=2*\E&D:ei=\E'J:ic=:im=\E'I:ip=.1*:kd=\EZ:kl=\EW:kr=\EX:\ + :ku=\EY:le=^H:nd=\EX:pc=\177:se=\E"I:so=\E"I:te=\E"N:\ + :ti=\E"N:ue=\E"U:up=\EY:us=\E"U: +# From: Thu Aug 20 09:09:18 1981 +# This is incomplete, but it's a start. +nec5520|nec|spinwriter|nec 5520:\ + :hc:os:\ + :co#132:it#8:\ + :bl=^G:cr=^M:ct=\E3:do=^J:ff=^L:hd=\E]s\n\E]W:\ + :hu=\E]s\E9\E]W:kb=^H:le=^H:sf=^J:st=\E1:ta=^I:up=\E9: +qume5|qume|Qume Sprint 5:\ + :hc:os:\ + :co#80:it#8:\ + :bl=^G:cr=^M:ct=\E3:do=^J:ff=^L:hd=\Eh:hu=\EH:kb=^H:le=^H:\ + :sf=^J:st=\E1:ta=^I:up=^Z: +# I suspect the xerox 1720 is the same as the diablo 1620. +xerox1720|x1720|x1750|xerox 1720:\ + :hc:os:\ + :co#132:it#8:\ + :bl=^G:cr=^M:ct=\E2:do=^J:ff=^L:le=^H:sf=^J:st=\E1:ta=^I: + #### Miscellaneous obsolete terminals, manufacturers unknown # -# If you have any information about these (like, a manufacturer's name, +# If you have any information about these (like, a manufacturer's name, # and a date on the serial-number plate) please send it! cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars:\ @@ -27388,7 +34472,7 @@ digilog|digilog 333:\ dwk|dwk-vt|dwk terminal:\ :am:\ :co#80:it#8:li#24:\ - :ac=lJmFkCjXtEuPv\\wKqUxWnNo~s_`+a\:f'g#~_,Q+^.M-Sh#i#0\177:\ + :ac=+\136,Q-S.M0\177`+a\:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~_:\ :ae=\EG:as=\EF:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :\ :cr=^M:dc=\EP:do=^J:ei=:ho=\EH:ic=\EQ:im=:k1=\Ef1:k2=\Ef2:\ :k3=\Ef3:k4=\Ef4:k5=\Ef5:k6=\Ef6:k7=\Ef7:k8=\Ef8:k9=\Ef9:\ @@ -27396,7 +34480,7 @@ dwk|dwk-vt|dwk terminal:\ :kr=\EC:ku=\EA:le=^H:me=\EX:mr=\ET:nd=\EC:nw=^M^J:se=\EX:\ :sf=^J:so=\ET:sr=\ES:ta=^I:up=\EA: env230|envision230|envision 230 graphics terminal:\ - :am:bs:ms:xo:\ + :5i:am:bs:ms:xn@:xo:\ :co#80:it#8:li#24:vt#3:\ :@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\ :LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\ @@ -27406,10 +34490,9 @@ env230|envision230|envision 230 graphics terminal:\ :eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\ :k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\ :kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:pf=\E[4i:po=\E[5i:ps=\E[0i:rc=\E8:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ - :..sa=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m:\ + :ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\ + :md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\ + :ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ :sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\ :up=\E[A:us=\E[4m: # These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic @@ -27456,15 +34539,13 @@ opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys:\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:\ :k7=^AF\r:k8=^AG\r:k9=^AH\r:k;=^AI\r:kA=\EE:kB=\EI:kD=\EW:\ :kE=\ET:kI=\EQ:kL=\ER:kN=\EK:kP=\EJ:kS=\EY:kb=^H:kd=\E[B:\ - :kh=^^:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\EG2:\ - :me=\E(\EH\003\EG0\EcD:mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:\ - :nd=^L:nw=\r\n:pf=^T:pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=^R:\ - :ps=\EP:px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF:r3=\EwG\Ee(:\ - :..sa=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c:\ + :kh=^^:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\EG2:me=\E(\EG0:\ + :mh=\EGp:mk=\EG1:mp=\E):mr=\EG4:nd=^L:nw=\r\n:pf=^T:\ + :pl=\EZ2%+?%s\177:pn=\Ez%+/%s\r:po=^R:ps=\EP:\ + :px=\EZ1%+?%s\177:r1=\E~!\E~4:r2=\EeF:r3=\EwG\Ee(:\ :se=\EG0:sf=^J:so=\EG4:sr=\Ej:st=\E1:ta=\011:te=:\ :ti=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177:\ - :ts=\Ez(:uc=\EG8%p1%c\EG0:ue=\EG0:up=^K:us=\EG8:ve=\E`1:\ - :vi=\E`0: + :ts=\Ez(:uc=\EG8\EG0:ue=\EG0:up=^K:us=\EG8:ve=\E`1:vi=\E`0: teletec|Teletec Datascreen:\ :am:bs:\ :co#80:li#24:\ @@ -27477,7 +34558,7 @@ teletec|Teletec Datascreen:\ # # Kenneth Randell writes on 31 Dec 1998: # I had a couple of scopes (3221) like this once where I used to work, around -# the 1987 time frame if memory serves me correctly. These scopes were made +# the 1987 time frame if memory serves me correctly. These scopes were made # by an outfit called LANPAR Technologies, and were meant to me DEC VT 220 # compatible. The 3220 was a plain text terminal like the VT-220, the 3221 # was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222 @@ -27499,7 +34580,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ :am:bs:mi:xn:\ :co#80:it#8:li#24:\ :RA=\E[?7l:SA=\E[?7h:al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ - :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:ei=\E[4l:im=\E[4h:\ + :cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:im=\E[4h:\ :is=\E>\E[?3l\E[?7h\E[?8h\E[p:k0=\E[1~:k1=\E[2~:\ :k2=\E[3~:k3=\E[4~:k4=\E[5~:k5=\E[6~:k6=\E[OP:k7=\E[OQ:\ :k8=\E[OR:k9=\E[OS:kd=\E[B:ke=\E>:kh=\E[H:kl=\E[D:kr=\E[C:\ @@ -27533,18 +34614,18 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # receive the document in due course. Don't expect an email acknowledgement. # # Related standards include "X3.4-1977: American National Standard Code for -# Information Interchange" (the ASCII standard) and "X3.41.1974: +# Information Interchange" (the ASCII standard) and "X3.41.1974: # Code-Extension Techniques for Use with the 7-Bit Coded Character Set of # American National Standard for Information Interchange." I believe (but # am not certain) that these are effectively identical to ECMA-6 and ECMA-35 -# respectively. +# respectively. # #### VT100/ANSI/ECMA-48 # # ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals # and ECMA-48 Control Functions for Coded Character Sets. -# +# # Much of the content of this comment is adapted from a table prepared by # Richard Shuford, based on a 1984 Byte article. Terminfo correspondences, # discussion of some terminfo-related issues, and updates to capture ECMA-48 @@ -27715,13 +34796,13 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # VPR Vert. Position Relative \E [ Pn e 1 FE - (R) # VT Vertical Tabulation * ^K - FE - # VTS Vertical Tabulation Set \E J - FE - -# +# # --------------------------------------------------------------------------- # # Notes: # -# Some control characters are listed in the ECMA-48 standard without -# being assigned functions relevant to terminal control there (they +# Some control characters are listed in the ECMA-48 standard without +# being assigned functions relevant to terminal control there (they # referred to other standards such as ISO 1745 or ECMA-35). They are listed # here anyway for completeness. # @@ -27739,11 +34820,11 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # # (D) terminfo (nel) is usually \r\n rather than ANSI \EE. # -# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR +# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR # abbreviation. -# +# # (F) CTC parameter values: 0 = set char tab, 1 = set line tab, 2 = clear -# char tab, 3 = clear line tab, 4 = clear all char tabs on current line, +# char tab, 3 = clear line tab, 4 = clear all char tabs on current line, # 5 = clear all char tabs, 6 = clear all line tabs. # # (G) CUP and HVP are identical in effect. Some ANSI.SYS versions accept @@ -27759,7 +34840,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # # (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters: 0 = clear to end, # 1 = clear from beginning, 2 = clear. -# +# # (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation. # # (L) The GSM parameters are vertical and horizontal parameters to scale by. @@ -27796,25 +34877,25 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # # (S) MC parameters: 0 = start xfer to primary aux device, 1 = start xfer from # primary aux device, 2 = start xfer to secondary aux device, 3 = start xfer -# from secondary aux device, 4 = stop relay to primary aux device, 5 = +# from secondary aux device, 4 = stop relay to primary aux device, 5 = # start relay to primary aux device, 6 = stop relay to secondary aux device, # 7 = start relay to secondary aux device. # # (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD # abbreviation. # -# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLD +# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU # abbreviation. # # (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation. # -# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM), -# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), +# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM), +# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), # 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM), # 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional -# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM), +# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM), # 10 = Character Editing Mode (HEM), 11 = Positioning Unit Mode (PUM), -# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM), +# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM), # 14 = Format Effector Transfer Mode (FETM), 15 = Multiple Area Transfer # Mode (MATM), 16 = Transfer Termination Mode, 17 = Selected Area Transfer # Mode, 18 = Tabulation Stop Mode, 19 = Editing Boundary Mode, 20 = Line Feed @@ -27831,68 +34912,68 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # abbreviation. # # --------------------------------------------------------------------------- -# +# # Abbreviations: # # Intro an Introducer of some kind of defined sequence; the normal 7-bit # X3.64 Control Sequence Introducer is the two characters "Escape [" -# +# # Delim a Delimiter -# +# # x/y identifies a character by position in the ASCII table (column/row) -# +# # eF editor function (see explanation) -# +# # FE format effector (see explanation) # # F is a Final character in # an Escape sequence (F from 3/0 to 7/14 in the ASCII table) # a control sequence (F from 4/0 to 7/14) -# +# # Gs is a graphic character appearing in strings (Gs ranges from # 2/0 to 7/14) in the ASCII table -# +# # Ce is a control represented as a single bit combination in the C1 set # of controls in an 8-bit character set -# +# # C0 the familiar set of 7-bit ASCII control characters -# +# # C1 roughly, the set of control chars available only in 8-bit systems. # This is too complicated to explain fully here, so read Jim Fleming's # article in the February 1983 BYTE, especially pages 214 through 224. -# +# # Fe is a Final character of a 2-character Escape sequence that has an # equivalent representation in an 8-bit environment as a Ce-type # (Fe ranges from 4/0 to 5/15) -# +# # Fs is a Final character of a 2-character Escape sequence that is # standardized internationally with identical representation in 7-bit # and 8-bit environments and is independent of the currently # designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14) -# +# # I is an Intermediate character from 2/0 to 2/15 (inclusive) in the # ASCII table -# +# # P is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII # table -# +# # Pn is a numeric parameter in a control sequence, a string of zero or # more characters ranging from 3/0 to 3/9 in the ASCII table -# +# # Ps is a variable number of selective parameters in a control sequence # with each selective parameter separated from the other by the code # 3/11 (which usually represents a semicolon); Ps ranges from # 3/0 to 3/9 and includes 3/11 # # * Not relevant to terminal control, listed for completeness only. -# +# # Format Effectors versus Editor Functions -# +# # A format effector specifies how following output is to be displayed. # An editor function allows you to modify the display. Informally # format effectors may be destructive; format effectors should not be. -# -# For instance, a format effector that moves the "active position" (the +# +# For instance, a format effector that moves the "active position" (the # cursor or equivalent) one space to the left would be useful when you want to # create an overstrike, a compound character made of two standard characters # overlaid. Control-H, the Backspace character, is actually supposed to be a @@ -27906,16 +34987,16 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # return, linefeed, formfeed, etc., are defined as format effectors. # # NOTES ON THE DEC VT100 IMPLEMENTATION -# +# # Control sequences implemented in the VT100 are as follows: -# +# # CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND, # LNM, NEL, RI, RIS, RM, SGR, SM, TBC -# +# # plus several private DEC commands. -# +# # Erasing parts of the display (EL and ED) in the VT100 is performed thus: -# +# # Erase from cursor to end of line Esc [ 0 K or Esc [ K # Erase from beginning of line to cursor Esc [ 1 K # Erase line containing cursor Esc [ 2 K @@ -27925,32 +35006,32 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # # Some brain-damaged terminal/emulators respond to Esc [ J as if it were # Esc [ 2 J, but this is wrong; the default is 0. -# +# # The VT100 responds to receiving the DA (Device Attributes) control -# +# # Esc [ c (or Esc [ 0 c) -# +# # by transmitting the sequence -# +# # Esc [ ? l ; Ps c -# +# # where Ps is a character that describes installed options. -# +# # The VT100's cursor location can be read with the DSR (Device Status # Report) control -# +# # Esc [ 6 n -# +# # The VT100 reports by transmitting the CPR sequence -# +# # Esc [ Pl ; Pc R -# +# # where Pl is the line number and Pc is the column number (in decimal). -# +# # The specification for the DEC VT100 is document EK-VT100-UG-003. #### ANSI.SYS -# +# # Here is a description of the color and attribute controls supported in the # the ANSI.SYS driver under MS-DOS. Most console drivers and ANSI # terminal emulators for Intel boxes obey these. They are a proper subset @@ -27987,7 +35068,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ #### Intel Binary Compatibility Standard # -# For comparison, here are the capabilities implied by the Intel Binary +# For comparison, here are the capabilities implied by the Intel Binary # Compatibility Standard for UNIX systems (Intel order number 468366-001). # These recommendations are optional. IBCS2 allows the leading escape to # be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with @@ -28050,7 +35131,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # CSI c (clear) clear screen # # The lack of any specification for attributes in SGR (among other things) -# makes this a wretchedly weak standard. The table above is literally +# makes this a wretchedly weak standard. The table above is literally # everything iBSC2 has to say about terminal escape sequences; there is # no further discussion of their meaning or how to set the parameters # in these sequences at all. @@ -28109,12 +35190,12 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # # Finally, XENIX also used the following forms-drawing capabilities: # -# single double type ASCII approximation +# single double type ASCII approximation # ------ ------ ------------- ------------------- # GV Gv vertical line | # GH Gv horizontal line - _ # G1 G5 top right corner _ | -# G2 G6 top left corner | +# G2 G6 top left corner | # G3 G7 bottom left corner |_ # G4 G8 bottom right corner _| # GD Gd down-tick character T @@ -28163,7 +35244,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # correspond to acsc chars, here is the mapping: # # box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE +# box1[1] = ACS_HLINE # box1[2] = ACS_URCORNER # box1[3] = ACS_VLINE # box1[4] = ACS_LRCORNER @@ -28201,7 +35282,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # project. # # This file contains all the capability information present in John Kunze's -# last version of the termcap master file, except as noted in the change +# last version of the termcap master file, except as noted in the change # comments at end of file. Some information about very ancient obsolete # capabilities has been moved to comments. Some all-numeric names of older # terminals have been retired. @@ -28269,7 +35350,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Replaced the translated BBN Bitgraph entries with purpose-built # ones from AT&T's SVr3. # * Replaced the AT&T entries with AT&T's official terminfos. -# * Added teleray 16, vc415, cops10. +# * Added teleray 16, vc415, cops10. # * Merged in many individual capabilities from SCO terminfo files. # 9.4.3 (Mon Mar 13 02:37:53 EST 1995): # * Typo fixes. @@ -28293,7 +35374,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # 9.4.7 (Tue Apr 4 11:27:11 EDT 1995) # * Added apple (Videx card), adm1a, oadm31. # * Fixed malformed ampex csr. -# * Fixed act4, cyb110; they had old-style prefix padding left in. +# * Fixed act4, cyb110; they had old-style prefix padding left in. # * Changed mandatory to advisory padding in many entries. # * Replaced HP entries up to hpsub with purpose-built ones. # * Blank rmir/smir/rmdc/smdc capabilities removed. @@ -28323,7 +35404,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Comment fixes from David MacKenzie. # * Added the new BSDI pc3 entry. # 9.5.2 (Tue Apr 25 17:27:52 EDT 1995) -# * A change in the tic -C logic now ensures that all entries in +# * A change in the tic -C logic now ensures that all entries in # the termcap translation will fit in < 1024 bytes. # * Added `bobcat' and `gator' HP consoles and the Nu machine entries # from GNU termcap file. This merges in all their local information. @@ -28374,7 +35455,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Added csr capability to linux entry. # * Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG. # * Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators. -# * Some commented-out caps in long entries come back in, my code +# * Some commented-out caps in long entries come back in, my code # for computing string-table lengths had a bug in it. # * pcansi series modified to fit comm-program reality better. # 9.8.2 (Sat Sep 9 23:35:00 EDT 1995): @@ -28411,7 +35492,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * fixed cup in adm22 entry and parametrized strings in vt320-k3. # * added it#8 to entries that used to have :pt: -- tvi912, vi200, # ampex80, -# * Translate all home=\E[;H capabilities to home=\E[H, they're +# * Translate all home=\E[;H capabilities to home=\E[H, they're # equivalent. # * Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of # vt100 and ANSI-like terminals. @@ -28420,7 +35501,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # does this now, too. # * fviewpoint is gone, it duplicated screwpoint. # * Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c, -# ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3, +# ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3, # versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW. # The UW vi50 replaces the old one, which becomes vi50adm, # * No more embedded commas in name fields. @@ -28435,7 +35516,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # that it was messing up someone's 3270 emulator. # * Added some longname fields in order to avoid warning messages from # older tic implementations. -# * According to ctrlseqs.ms, xterm has a full vt100 graphics set. Use +# * According to ctlseqs.ms, xterm has a full vt100 graphics set. Use # it! (This gives us pi, greater than, less than, and a few more.) # * Freeze for ncurses-1.9.6 release. # 9.10.1 (Sat Oct 21 22:18:09 EDT 1995): @@ -28445,7 +35526,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Hand-translate more XENIX capabilities. # * Added hpterm entry for HP's X terminal emulator. # * Added aixterm entries. -# * Shortened four names so everything fits in 14 chars. +# * Shortened four names so everything fits in 14 chars. # # 9.11.0 (Thu Nov 2 17:29:35 EST 1995): # * Added ibcs2 entry and info on iBCS2 standard. @@ -28469,23 +35550,23 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Exiled some utterly unidentifiable custom and homebrew types to the # UFO file; also, obsolete small-screen hardware; also, entries which # look flat-out incorrect, garbled, or redundant. These include the -# following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec, +# following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec, # tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile, # apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu, -# fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55, -# yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2, -# vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200, -# trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40, -# att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w, -# tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na, -# c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na, -# regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb, -# vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam, +# fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55, +# yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2, +# vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200, +# trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40, +# att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w, +# tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na, +# c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na, +# regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb, +# vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam, # vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms. # * Corrected pcvt25h as suggested by Brian C. Grayson # . # 9.11.3 (Thu Nov 9 12:14:40 EST 1995): -# * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H. +# * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H. # * Added kent=\EOM to xterm entry. # # 9.11.4 (Fri Nov 10 08:31:35 EST 1995): @@ -28505,13 +35586,13 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Improved iris-ansi and sun entries. # * More flash string improvements. # * Corrected wy160 & wy160 as suggested by Robert Dunn -# * Added dim to at386. +# * Added dim to at386. # * Reconciled pc3 and ibmpc3 with the BSDI termcap file. Keith says # he's ready to start using the termcap generated from this one. # * Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m, # ln03, lno3-w, h19-g, z29a*, qdss. Made vt200 an alias of vt220. # * Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925, -# att610, att620, att630, +# att610, att620, att630, # * Changed hazeltine name prefix from h to hz. # * Sent t500 to the UFI file. # * I think we've sucked all the juice out of BSDI's termcap file now. @@ -28568,7 +35649,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Added x68k console # * Added OTbs to several VT-series entries. # 9.13.4 (Wed May 22 10:54:09 EDT 1996): -# * screen entry update for 3.7.1 from Michael Alan Dorfman. +# * screen entry update for 3.7.1 from Michael Alan Dorman. # 9.13.5 (Wed Jun 5 11:22:41 EDT 1996): # * kterm correction due to Kenji Rikitake. # * ACS correction in vt320-kll due to Phillippe De Muyter. @@ -28576,7 +35657,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Sun console entry correction from J.T. Conklin. # * Changed all DEC VT300 and up terminals to use VT300 tab set # 9.13.7 (Mon Jul 8 20:14:32 EDT 1996): -# * Added smul to linux entry (we never noticed it was missing +# * Added smul to linux entry (we never noticed it was missing # because of sgr!). # * Added rmln to hp+labels (deduced from other HP entries). # * Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas, @@ -28589,7 +35670,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200, # qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc, # wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90, -# adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p, +# adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p, # f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000, # owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx, # lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25, @@ -28606,7 +35687,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Aha! The BRL terminals file told us what the Iris extensions mean. # * Added, from the BRL termcap file: rt6221, rt6221-w, northstar, # commodore, cdc721-esc, excel62, osexec. Replaced from the BRL file: -# cit500, adm11. +# cit500, adm11. # 9.13.9 (Mon Jul 15 00:32:51 EDT 1996): # * Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756, # aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155. @@ -28633,7 +35714,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * corrected pairs#8 typo in dtterm entry. # * added tvi9065. # 9.13.15 (Sun Sep 15 02:47:05 EDT 1996): -# * updated xterm entry to cover 3.1.2E's new features. +# * updated xterm entry to cover 3.1.2E's new features. # 9.13.16 (Tue Sep 24 12:47:43 EDT 1996): # * Added new minix entry # * Removed aliases of the form ^[0-9]* for obsolete terminals. @@ -28656,6 +35737,99 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Back off the xterm entry to use r6 as a base. # 9.13.22 (Sat Nov 30 11:51:31 EST 1996): # * Added dec-vt220 at Adrian Garside's request. +# +#-(original-changelog-1996/12/29-to-1998/02/28-by-TD)--------------------------- +# +# 10.1.0 (Sun Dec 29 02:36:31 EST 1996): withdrawn +# * Minor corrections to xterm entries. +# * Replaced EWAN telnet entry. +# * Dropped the reorder script generator. It was a fossil. +# 9.13.23 (Fri Feb 21 16:36:06 EST 1997): +# * Replaced minitel-2 entry. +# * Added MGR, ansi-nt. +# 9.13.24 (Sun Feb 23 20:55:23 EST 1997): +# * Thorsten Lockert added termcap `bs' to a lot of types, working from +# the 4.4BSD Lite2 file. +# +# 10.1.1 (Sat May 3 21:41:27 EDT 1997): +# * Use setaf/setab consistently with SVr4. +# * Remove ech, el1 from cons25w, they do not work in FreeBSD 2.1.5 +# 10.1.2 (Sat May 24 21:10:57 EDT 1997) +# * update xterm-xf86-v32 to match XFree86 3.2A (changes F1-F4) +# * add xterm-16color, for XFree86 3.3 +# 10.1.3 (Sat May 31 12:21:05 EDT 1997) +# * correct typo in emu +# * correct typo in vt102-w (Robert Wuest) +# * make new entry xterm-xf86-v33, restored xterm-xf86-v32. +# 10.1.4 (Sun Jun 15 08:29:05 EDT 1997) +# * remove ech capability from rxvt (it does the wrong thing) +# 10.1.5 (Sat Jun 28 21:34:36 EDT 1997) +# * remove spurious newlines from several entries (hp+color, wy50, +# wy350, wy370-nk, wy99gt-tek, wy370-tek, ibm3161, tek4205, ctrm, +# gs6300) +# 10.1.6 (Sat Jul 5 15:08:16 EDT 1997) +# * correct rmso capability of wy50-mc +# 10.1.7 (Sat Jul 12 20:05:55 EDT 1997) +# * add cbt to xterm-xf86-v32 +# * disentangle some entries from 'xterm', preferring xterm-r6 in case +# 'xterm' is derived from xterm-xf86-v32, which implements ech and +# other capabilities not in xterm-r6. +# * remove alternate character set from kterm entry. +# 10.1.8 (Sat Aug 2 18:43:18 EDT 1997) +# * correct acsc entries for ACS_LANTERN, which is 'i', not 'I'. +# 10.1.9 (Sat Aug 23 17:54:38 EDT 1997) +# * add xterm-8bit entry. +# 10.1.10 (Sat Oct 4 18:17:13 EDT 1997) +# * repair several places where early version of tic replaced \, with \\\, +# * make acsc entries canonical form (sorted, uniq). +# * modify acsc entries for linux, linux-koi8 +# * new rxvt entry, from corrected copy of distribution in rxvt 2.21b +# * add color, mouse support to kterm. +# 10.1.11 (Sat Oct 11 14:57:10 EDT 1997) +# * correct wy120 smxon/tbc capabilities which were stuck together. +# 10.1.12 (Sat Oct 18 17:38:41 EDT 1997) +# * add entry for xterm-xf86-v39t +# 10.1.13 (Sat Nov 8 13:43:33 EST 1997) +# * add u8,u9 to sun-il description +# 10.1.14 (Sat Nov 22 19:59:03 EST 1997) +# * add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97 +# version. +# * add hds200 description (Walter Skorski) +# * add EMX 0.9b descriptions +# * correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver) +# * rename xhpterm back to hpterm. +# 10.1.15 (Sat Nov 29 19:21:59 EST 1997) +# * change initc in linux-c-nc to use 0..1000 range. +# 10.1.16 (Sat Dec 13 19:41:59 EST 1997) +# * remove hpa/vpa from rxvt, which implements them incorrectly. +# * add sgr0 for rxvt. +# * remove bogus smacs/rmacs from EMX descriptions. +# 10.1.17 (Sat Dec 20 17:54:10 EST 1997) +# * revised entry for att7300 +# 10.1.18 (Sat Jan 3 17:58:49 EST 1998) +# * use \0 rather than \200. +# * rename rxvt-color to rxvt to match rxvt 2.4.5 distribution. +# 10.1.19 (Sat Jan 17 14:24:57 EST 1998) +# * change xterm (xterm-xf86-v40), xterm-8bit rs1 to use hard reset. +# * rename xterm-xf86-v39t to xterm-xf86-v40 +# * remove bold/underline from sun console entries since they're not +# implemented. +# 10.1.20 (Sat Jan 24 11:02:51 EST 1998) +# * add beterm entry (Fred Fish) +# * add irix-color/xwsh entry. +# * turn ncv off for linux. +# 10.1.21 (Sat Jan 31 17:39:16 EST 1998) +# * set ncv for FreeBSD console (treat colors with reverse specially). +# * remove sgr string from qnx based on report by Xiaodan Tang +# 10.1.22 (Wed Feb 11 18:40:12 EST 1998) +# * remove spurious commas from descriptions +# * correct xterm-8bit to match XFree86 3.9Ad F1-F4. +# 10.1.23 (Sat Feb 28 17:48:38 EST 1998) +# * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc, +# apparently based on cp-866). +# +#-(replaced-changelog-1998/02/28-by-ESR)---------------------------------------- +# # 9.13.23 (Fri Feb 21 16:36:06 EST 1997): # * Replaced minitel-2 entry. # * Added MGR, ansi-nt. @@ -28688,7 +35862,7 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc, # apparently based on cp-866). # * Merged in Pavel Roskin's acsc for linux-koi8 -# * Corrected some erroneous \\\s to \. +# * Corrected some erroneous \\'s to \. # * 4.2 ncurses has been changed to use setaf/setab, consistent w/SysV. # * II -> ii in pcvtXX, screen, xterm. # * Removed \n chars following ANSI escapes in sgr & friends. @@ -28707,81 +35881,743 @@ v3220|LANPAR Vision II model 3220/3221/3222:\ # * Incorporated NCR terminfos from the Boundless Technology FTP site. # * Incorporated att700 from the Boundless Technology FTP site. # * Miscellaneous contact-address and Web-page updates. -# 10.2.2 (Thu May 7 12:18:04 EDT 1998): -# * Moved Altos to OBSOLETE UNIX CONSOLES -# * Moved Hewlett-Packard terminals to OLDER TERMINAL TYPES, except for -# the 700s which go to WORKSTATION CONSOLES. -# * Major reorganization of ANSI/console/VT types. Moved vt52 to the -# obsolete section. -# * Daisy-wheel printers moved to UFO file. -# 10.2.3 (Tue May 12 22:59:11 EDT 1998): -# * Commented out hds200 is2 to avoid overflowing terminfo length limit. -# * Restored OT capabilities to UFO file. +# +#-(changelog-beginning-ncurses-4.2)--------------------------------------------- +# +# 1998/5/9 # * add nxterm and xterm-color terminfo description (request by Cristian # Gafton ). -# * Modify rxvt terminfo description to clear alternate screen before +# * modify rxvt terminfo description to clear alternate screen before # switching back to normal screen, for compatibility with applications # which use xterm (reported by Manoj Kasichainula ). -# * Modify linux terminfo description to reset color palette (reported +# * modify linux terminfo description to reset color palette (reported # by Telford Tendys ). -# 10.2.4 (Thu Jul 2 18:13:26 EDT 1998): +# +# 1998/7/4 +# * merge changes from current XFree86 xterm terminfo descriptions. +# +# 1998/7/25 # * Added minitel1 entries from Alexander Montaron. # * Added qnxt2 from Federico Bianchi. -# 10.2.5: (Mon Aug 24 07:32:34 EDT 1998): -# * Resolve NetBSD Problem Report #4583 by adding civis/cnorm to pcvtXX. -# * dtterm enacs correction from Alexander V. Lukyanov. -# * Added ncsa-telnet, resolving Debian bug report 25341. -# * Added Francesco Potorti's tuned Wyse 99 entries. -# 10.2.6: (Mon Dec 21 00:49:43 EST 1998): -# * Home site has changed. -# 10.2.7: (Wed Mar 3 15:53:04 EST 1999): -# * Documentation fixes, mainly from David J. Mackenzie. -# -# 11.0.0: (Wed Mar 1 22:02:03 EST 2000) -# * BSD/OS console fixes from Jeffrey Honig at BSDI. -# ** TD's branch changes up to his 1999/10/23 version begin here # * Added arm100 terminfo entries from Dave Millen. -# * Added Data General entries from Hasufin. -# * NCSA telnet entry from Francesco Potorti as modified by TD. -# * Added teraterm, crt, ms-vt100, mach, mach-bold, linux-lat, -# ofcons, wsvt25, wsvt25m, rcons, rcons-color, cygwin, amiga-8bit, -# ibm3161-C, ibm3162. -# * Updated xterm entries, BSD/OS entries, AIX entries. -# * Updated linux, iris-ansi, screen, beterm entries. -# * Added full function keys for scoansi. -# * Typo fixes for icl6404, osborne, eterm. att6386 -# * Corrected hp70092 acsc. -# * Added ibmpc from AIX 3.2.5; ibm-pc is no longer a synonym. -# * Added ibm5151 from AIX 3.2.5; ibmmono is no longer a synonym. -# * Added ibm5154 from AIX 3.2.5; ibmega is no longer a synonym. -# * Merged acsc, s0ds, s1ds, sgr0 into ibm5081 from AIX 3.2.5. -# * Merged kend, knp, kpp, mc4, mc5 into ibm3161 in from AIX 3.2.5. -# * Merged acsc into hft-c from AIX 3.2.5. -# * Updated ibm3151 from AIX 3.2.5. -# * Errors in TD's branch not accepted: ibm3101, ibm3151, ibm8514 -# * Merged msgr,colors,pairs,setb,setf into ibm3164 from AIX 3.2.5. -# ** TD's branch changes end here -# * Address updates from various contributors. -# * Historical info on basis console. -# * Ty Sarna's corrections to the amiga entry. -# * Add Kevin Turner's entry for the Wyse 85 in 8-bit mode. -# * Added 22 Bull-Questar terminal variants from AIX 4.1.5 -# * Added OSF/1 console and lft from AIX 4.1.5. -# * Move vt2220 to vt220-old, vt220-8 to vt220, introduce vt220-8bit -# from AIX 4.1.5. -# * swtp moved to UFO file (only 20 lines). -# * Added pcmw. -# 11.0.1: (Thu Mar 2 10:49:21 EST 2000): -# * Disabled hpa, vpa, in rxvt. -# * Incorporated ansi components and generic-ansi. # -# The following sets edit modes for GNU EMACS. -# Local Variables: -# fill-prefix:"\t" -# fill-column:75 -# comment-column:0 -# comment-start-skip:"^#+" -# comment-start:"# " -# compile-command:"tic -c termtypes.master" -# End: +# 1998/8/6 +# * Added ncsa telnet entries from Francesco Potorti +# +# 1998/8/15 +# * modify ncsa telnet entry to reflect color, other capabilities based on +# examination of the source code - T.Dickey. +# +# 1998/8/22 +# * Corrected some erroneous \\'s to \ (eterm, osborne) - TD. +# +# 1998/8/29 +# * Added Francesco Potorti's tuned Wyse 99 entries. +# * dtterm enacs correction from Alexander V. Lukyanov. +# * Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version. +# * correct a typo in icl6404 entry. +# * add xtermm and xtermc +# +# 1998/9/26 +# * format most %'char' sequences to %{number} +# * adapt IBM AIX 3.2.5 terminfo - T.Dickey +# * merge Data General terminfo from Hasufin - TD +# +# 1998/10/10 +# * update xterm-xfree86 to current (patch 84), for is2/rs2 changes - TD +# * correct initialization string in xterm-r5, add misc other features +# to correspond with xterm patch 84 - TD +# +# 1998/12/19 +# * update xterm-xfree86 to current (patch 90), smcur/rmcur changes - TD +# * add Mathew Vernon's mach console entries +# * corrections for ncsa function-keys (report by Larry Virden) +# +# 1998/12/19 +# * change linux to use ncv#2, since underline does not work with color - TD +# +# 1999/1/9 +# * add kbt to iris-ansi, document other shift/control functionkeys - TD +# * correct iris-ansi and iris-ansi-ap with respect to normal vs keypad +# application modes, change kent to use the correct keypad code - TD +# +# 1999/1/10 +# * add entry for Tera Term - TD +# +# 1999/1/23 +# * minor improvements for teraterm entry - TD +# * rename several entries used by BSDI: bsdos to bsdos-pc-nobold, +# and bsdos-bold to bsdos-pc (Jeffrey C Honig) +# +# 1999/2/20 +# * resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in +# xterm and ncsa entries by removing the unneeded ones. Note that +# some entries will return kend & khome versus kslt and kfnd, for +# PC-style keyboards versus strict vt220 compatiblity - TD +# +# 1999/3/13 +# * adjust xterm-xfree86 khome/kend to match default PC-style keyboard +# tables - TD +# * add 'crt' entry - TD +# * correct typos in 'linux-c' entry - TD +# +# 1999/3/14 +# * update entries for BSD/OS console to use klone+sgr and klone+color +# (Jeffrey C Honig) +# +# 1999/3/27 +# * adjust xterm-xfree86 miscellaneous keypad keys, as per patch #94 - TD. +# +# 1999/4/10 +# * add linux-lat, from RedHat patches to ncurses 4.2 +# +# 1999/4/17 +# * add complete set of default function-key definitions for scoansi - TD. +# +# 1999/7/3 +# * add cnorm, cvvis for Linux 2.2 kernels +# +# 1999/7/24 +# * add kmous to xterm-r5 -TD +# * correct entries xterm+sl and xterm+sl-twm, which were missing the +# parent "use" clause -TD +# +# 1999/7/31 +# * corrected cnorm, added el1 in 'screen' description -TD +# +# 1999/8/14 +# * add ms-vt100 -TD +# +# 1999/8/21 +# * corrections to beterm entry -TD +# +# 1999/8/28 +# * add cygwin entry -TD +# +# 1999/9/4 +# * minor corrections for beterm entry -TD +# +# 1999/9/18 +# * add acsc string to HP 70092 terminfo entry -Joerg Wunsch +# +# 1999/9/25 +# * add amiga-8bit entry +# * add console entries from NetBSD: ofcons, wsvt25, wsvt25m, rcons, +# rcons-color, based on +# ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/termcap/termcap.src +# * add alias for iris-ansi-net +# +# 1999/10/2 +# * corrected scoansi entry's acsc, some function keys, add color -TD +# +# 1999/10/23 +# * add cnorm, cvvis to cons25w, and modify ncv to add 'dim' -TD +# * reorder ncsa entries to make ncsa-vt220 use the alternate function +# key mapping, leaving Potorti's entries more like he named them -TD +# * remove enter/exit am-mode from cygwin -TD +# +# 1999/10/30 +# * correct typos in several entries (missing '[' from CSI): +# mgr-sun, ncsa-m, vt320-k3, att505, avt-ns, as well as smir/rmir +# strings for avt-ns -TD +# * add 'dim' to ncv mask for linux (report by Klaus Weide). +# +# 1999/11/27 +# * correct kf1-kf4 in xterm-r6 which were vt100-style PF1-PF4 -TD +# * add hts to xterm-r6, and u6-u9 to xterm-r5 -TD +# * add xterm-88color and xterm-256color -TD +# +# 1999/12/4 +# * add "obsolete" termcap strings -TD +# * add kvt and gnome entries -TD +# +# 1999/12/11 +# * correct cup string for regent100 -TD +# +# 2000/1/1 +# * update mach, add mach-color based on Debian diffs for ncurses 5.0 -TD +# * add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp -TD +# * change OTrs capabilities to rs2 -TD +# * add obsolete and extended capabilities to 'screen' -TD +# +# 2000/1/5 +# * remove kf0 from rxvt, vt520, vt525 and ibm5151 since it conflicts +# with kf10 -TD +# * updated xterm-xf86-v40, making kdch1 correspond to vt220 'Remove', +# and adding kcbt -TD +# +# 2000/1/12 +# * remove incorrect khome/kend from xterm-xf86-v333, which was based on +# nonstandard resource settings -TD +# +# 2000/2/26 +# * minor fixes for xterm-*, based on Debian #58530 -TD +# +# 2000/3/4 +# * add several terminal types from esr's "11.0", as well as comments. +# bq300*, dku7102-old, dku7202, hft, lft, pcmw, pmcons, tws*, vip*, +# vt220-8bit, vt220-old, wy85-8bit +# +# 2000/3/18 +# * add several terminal types from esr's "11.0.1" (ansi-*). +# * update OTxx capabilities for changes on 2000/3/4. +# * revert part of vt220 change (request by Todd C Miller for OpenBSD) +# +# 2000/3/26 +# * move screen's AX extension to ecma+color, modify several entries to +# use that, adjusting ncv as needed -TD +# +# 2000/4/8 +# * add bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig) +# * correct spelling error in entry name: bq300-rv was given as bg300-rv +# in esr's version. +# +# 2000/4/15 +# * add cud, ech, etc., to beterm based on feedback from Rico Tudor -TD +# * correct color definition for ibm3164, make minor changes to other +# IBM terminal definitions based on recent terminfo descriptions -TD +# +# 2000/4/22 +# * add mgterm, from NetBSD -TD +# * add alias sun-cgsix for sun-ss5 as per NetBSD +# * change cons25w to use rs2 for reset rather than rs1 -TD +# * add rc/sc to aixterm based on manpage -TD +# +# 2000/5/13 +# * remove ncv from xterm-16color, xterm-256color +# +# 2000/6/10 +# * add kmous capability to linux to use Joerg Schoen's gpm patch. +# +# 2000/7/1 +# * add Eterm (Michael Jennings) +# +# 2000-07-18 +# * add amiga-vnc entry. +# +# 2000-08-12 +# * correct description of Top Gun Telnet. +# * add kterm-color +# +# 2000-08-26 +# * add qansi* entries from QNX ftp site. +# +# 2000-09-16 +# * add Matrix Orbital entries by Eric Z. Ayers). +# * add xterm-basic, xterm-sco entries, update related entries to XFree86 +# 4.0.1c -TD +# +# 2000-09-17 +# * add S0, E0 extensions to screen's entry -TD +# +# 2000-09-23 +# * several corrections based on tic's new parameter-checking code -TD +# * modify xterm-r6 and similar rs2 sequences which had \E7...\E8 +# bracketing sequences that reset video attributes (\E8 would restore +# them) -TD +# +# 2000-11-11 +# * rename cygwin to cygwinB19, adapt newer entry from Earnie Boyd -TD +# +# 2000-12-16 +# * improved scoansi, based on SCO man-page, and testing console, +# scoterm with tack -TD +# +# 2001-01-27 +# * modify kterm to use acsc via SCS controls. +# +# 2001-02-10 +# * screen 3.9.8 allows xterm mouse controls to pass-through +# +# 2001-03-11 +# * remove spurious "%|" from some xterm entries. +# +# 2001-03-31 +# * modify 'screen' khome/kend to match screen 3.09.08 +# * add examples of 'screen' customization (screen.xterm-xfree86, +# screen.xterm-r6, screen.teraterm) -TD +# +# 2001-04-14 +# * correct definitions of shifted editing keys for xterm-xfree86 -TD +# * add "Apple_Terminal" entries -Benjamin Sittler +# * remove time-delays from "Apple_Terminal" entries -TD +# * make sgr entries time-delays consistent with individual caps -TD +# +# 2001-05-05 +# * corrected/updated screen.xterm-xfree86 +# +# 2001-05-19 +# * ELKS descriptions, from Federico Bianchi +# * add u6 (CSR) to Eterm (Michael Jennings). +# +# 2001-07-21 +# * renamed "Apple_Terminal" entries to "nsterm" to work with Solaris's +# tic which handles names no longer than 14 characters. Add +# corresponding descriptions for the Darwin PowerPC console named +# "xnuppc" -Benjamin Sittler +# +# 2001-09-01 +# * change kbs in mach entries to ^? (Marcus Brinkmann). +# +# 2001-11-17 +# * add "putty" entry -TD +# * updated "Apple_Terminal" entries -Benjamin Sittler +# +# 2001-11-24 +# * add ms-vt100-color entry -TD +# * add "konsole" entries -TD +# +# 2001-12-08 +# * update gnome entry to Redhat 7.2 -TD +# +# 2002-05-25 +# * add kf13-kf48 strings to cons25w -TD +# * add pcvt25-color entry -TD +# * changed a few /usr/lib/tabset -> /usr/share/tabset. +# * improve some features of scoansi entry based on SCO's version -TD +# * add scoansi-new entry corresponding to OpenServer 5.0.6 +# +# 2002-06-15 +# * add kcbt to screen entry -TD +# +# 2002-06-22 +# * add rxvt-16color, ibm+16color, mvterm entries -TD +# +# 2002-09-28 +# * split out linux-basic entry, making linux-c inherit from that, and +# in turn linux (with cnorm, etc) inherit from linux-c-nc to reflect +# the history of this console type -TD +# * scaled the linux-c terminfo entry to match linux-c-nc, i.e., the +# r/g/b parameters of initc are in the range 0 to 1000 -TD +# +# 2002-10-05 +# * minor fix for scale-factor of linux-c and linux-c-nc -TD +# +# 2002-11-09 +# * split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2 +# in the latter -TD +# +# 2002-11-16 +# * add entries for mterm (mterm, mterm-ansi, decansi) -TD +# * ncr260wy350pp has only 16 color pairs -TD +# * add sun-type4 from NetBSD -TD +# * update xterm-xfree86 to current (patch 170) -TD +# * add screen-bce, screen-s entries -TD +# * add xterm-1002, xterm-1003 entries -TD +# +# 2003-01-11 +# * update homepage for Top Gun Telnet/SSH +# +# 2003-01-25 +# * reduce duplication in emx entries, added emx-base -TD +# +# 2003-05-24 +# * corrected acs for screen.teraterm -TD +# * add tkterm entry -TD +# +# 2003-07-15 +# * cygwin changes from Charles Wilson: +# misc/terminfo.src (nxterm|xterm-color): make xterm-color +# primary instead of nxterm, to match XFree86's xterm.terminfo +# usage and to prevent circular links. +# (rxvt): add additional codes from rxvt.org. +# (rxvt-color): new alias +# (rxvt-xpm): new alias +# (rxvt-cygwin): like rxvt, but with special acsc codes. +# (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or +# with a "native" MSWin GUI. Each takes different acsc codes, +# which are both different from the "normal" rxvt's acsc. +# (cygwin): cygwin-in-cmd.exe window. Lots of fixes. +# (cygwinDBG): ditto. +# +# 2003-09-27 +# * update gnome terminal entries -TD +# +# 2003-10-04 +# * add entries for djgpp 2.03 and 2.04 -TD +# +# 2003-10-25 +# * add alias for vtnt -TD +# * update xterm-xfree86 for XFree86 4.4 -TD +# +# 2003-11-22 +# * add linux-vt (Andrey V Lukyanov) +# +# 2003-12-20 +# * add screen.linux -TD +# +# 2004-01-10 +# * revised/improved entries for tvi912b, tvi920b (Benjamin Sittler) +# +# 2004-01-17 +# * add OpenNT/Interix/SFU entries (Federico Bianchi) +# * add vt100+ and vt-utf8 entries -TD +# * add uwin entry -TD +# +# 2004-03-27 +# * add sgr strings to several common entries lacking them, e.g., +# screen, to make the entries more portable -TD +# * remove cvvis from rxvt entry, since it is the same as cnorm -TD +# * similar fixups for cvvis/cnorm various entries -TD +# +# 2004-05-22 +# * remove 'ncv' from xterm-256color (patch 188) -TD +# +# 2004-06-26 +# * add mlterm -TD +# * add xterm-xf86-v44 -TD +# * modify xterm-new aka xterm-xfree86 to accommodate luit, which relies +# on G1 being used via an ISO-2022 escape sequence (report by +# Juliusz Chroboczek) -TD +# * add 'hurd' entry -TD +# +# 2004-07-03 +# * make xterm-xf86-v43 derived from xterm-xf86-v40 rather than +# xterm-basic -TD +# * align with xterm #192's use of xterm-new -TD +# * update xterm-new and xterm-8bit for cvvis/cnorm strings -TD +# * make xterm-new the default "xterm" -TD +# +# 2004-07-10 +# * minor fixes for emu -TD +# * add emu-220 +# * add rmam/smam to linux (Trevor Van Bremen) +# * change wyse acsc strings to use 'i' map rather than 'I' -TD +# * fixes for avatar0 -TD +# * fixes for vp3a+ -TD +# +# 2004-07-17 +# * add xterm-pc-fkeys -TD +# * review/update gnome and gnome-rh90 entries (prompted by +# Redhat Bugzilla #122815) -TD +# * review/update konsole entries -TD +# * add sgr, correct sgr0 for kterm and mlterm -TD +# * correct tsl string in kterm -TD +# +# 2004-07-24 +# * make ncsa-m rmacs/smacs consistent with sgr -TD +# * add sgr, rc/sc and ech to syscons entries -TD +# * add function-keys to decansi -TD +# * add sgr to mterm-ansi -TD +# * add sgr, civis, cnorm to emu -TD +# * correct/simplify cup in addrinfo -TD +# * corrections for gnome and konsole entries +# (Redhat Bugzilla #122815) -Hans de Goede +# * modify DEC entries (vt220, etc), to add sgr string, and to use +# ISO-2022 strings for rmacs/smacs -TD +# +# 2004-07-31 +# * rename xterm-pc-fkeys to xterm+pcfkeys -TD +# +# 2004-08-07 +# * improved putty entry -Robert de Bath +# +# 2004-08-14 +# * remove dch/dch1 from rxvt because they are implemented inconsistently +# with the common usage of bce/ech -TD +# * remove khome from vt220 (vt220's have no home key) -TD +# * add rxvt+pcfkeys -TD +# +# 2004-08-21 +# * modify several entries to ensure xterm mouse and cursor visibility +# are reset in rs2 string: hurd, putty, gnome, konsole-base, mlterm, +# Eterm, screen. (The xterm entries are left alone - old ones for +# compatibility, and the new ones do not require this change) -TD +# +# 2004-08-28 +# * add morphos entry -Pavel Fedin +# * modify amiga-8bit to add khome/kend/knp/kpp -Pavel Fedin +# * corrected \E[5?l to \E[?5l in vt320 entries -TD +# +# 2004-11-20 +# * update wsvt25 entry -TD +# +# 2005-01-29 +# * update pairs for xterm-88color and xterm-256color to reflect the +# ncurses extended-color support -TD +# +# 2005-02-26 +# * modify sgr/sgr0 in xterm-new to improve tgetent's derived "me" -TD +# * add aixterm-16color to demonstrate 16-color capability -TD +# +# 2005-04-23 +# * add media-copy to vt100 -TD +# * corrected acsc string for vt52 -TD +# +# 2005-04-30 +# * add kUP, kDN (user-defined shifted up/down arrow) definitions for +# xterm-new -TD +# * add kUP5, kUP6, etc., for xterm-new and rxvt -TD +# +# 2005-05-07 +# * re-corrected acsc string for vt52 -TD +# +# 2005-05-28 +# * corrected sun-il sgr string which referred to bold and underline -TD +# * add sun-color entry -TD +# +# 2005-07-23 +# * modify sgr0 in several entries to reset alternate-charset as in the +# sgr string -TD +# * modify sgr string of prism9 to better match the individual +# attributes -TD +# +# 2005-10-15 +# * correct order of use= in rxvt-basic -TD +# +# 2005-10-26 +# * use kind/kri as shifted up/down cursor keys for xterm-new -TD +# +# 2005-11-12 +# * other minor fixes to cygwin based on tack -TD +# * correct smacs in cygwin (report by Baurzhan Ismagulov). +# +# 2006-02-18 +# * add nsterm-16color entry -TD +# * remove ncv flag from xterm-16color -TD +# * remove setf/setb from xterm-256color to match xterm #209 -TD +# * update mlterm entry to 2.9.2 -TD +# +# 2006-02-25 +# * fixes to make nsterm-16color match report +# by Christian Ebert -Alain Bench +# +# 2006-04-22 +# * add xterm+256color building block -TD +# * add gnome-256color, putty-256color, rxvt-256color -TD +# +# 2006-05-06 +# * add hpterm-color -TD +# +# 2006-06-24 +# * add xterm+pcc0, xterm+pcc1, xterm+pcc2, xterm+pcc3 -TD +# * add gnome-fc5 (prompted by GenToo #122566) -TD +# * remove obsolete/misleading comments about kcbt on Linux -Alain Bench +# * improve xterm-256color by combining the ibm+16color setaf/setab +# strings with SGR 48. The setf/setb strings also are cancelled here +# rather than omitted so derived entries will cancel those also -Alain +# Bench +# +# 2006-07-01 +# * add some notes regarding copyright to terminfo.src -TD +# * use rxvt+pcfkeys in Eterm -TD +# * remove km and flash from gnome, Eterm and rxvt since they do not work +# as one would expect (km sends ESC rather than setting the 8th bit +# of the key) -TD +# * add/use ansi+enq, vt100+enq and vt102+enq -TD +# * add konsole-solaris -TD +# +# 2006-07-22 +# * update xterm-sun and xterm-sco entries to match xterm #216 -TD +# * modify is2/rs2 strings for xterm-r6 as per fix in xterm #148 -TD +# * modify xterm-24 to inherit from "xterm" -TD +# * add xiterm entry -TD +# * add putty-vt100 entry -TD +# * corrected spelling of Michael A Dorman's name, prompted by +# http://www.advogato.org/person/mdorman/diary.html -TD +# +# 2006-08-05 +# * add xterm+pcf0, xterm+pcf2 from xterm #216 -TD +# * update xterm+pcfkeys to match xterm #216 -TD +# +# 2006-08-17 +# * make descriptions of xterm entries consistent with its terminfo -TD +# +# 2006-08-26 +# * add xfce, mgt -TD +# +# 2006-09-02 +# * correct acsc string in kterm -TD +# +# 2006-09-09 +# * add kon entry -TD +# * remove invis from linux and related entries, add klone+sgr8 for those +# that implement the feature (or have not been shown to lack it) -TD +# +# 2006-09-23 +# * add ka2, kb1, kb3, kc2 to vt220-keypad as an extension -TD +# * minor improvements to rxvt+pcfkeys -TD +# +# 2006-09-30 +# * fix a few typos in if/then/else expressions -TD +# +# 2006-10-07 +# * add several GNU Screen variations with 16- and 256-colors, and +# status line (Alain Bench). +# +# 2007-03-03 +# * add Newbury Data entries (Jean-Charles Billaud). +# +# 2007-06-10 +# * corrected xterm+pcf2 modifiers for F1-F4, match xterm #226 -TD +# +# 2007-07-14 +# * restore section of pre-ncurses-4.2 changelog to fix attribution -TD +# * add konsole-256color entry -TD +# +# 2007-08-18 +# * add 9term entry (request by Juhapekka Tolvanen) -TD +# +# 2007-10-13 +# * correct kIC in rxvt+pcfkeys (prompted by Debian #446444) -TD +# * add shift-control- and control-modified keys for rxvt editing +# keypad -TD +# * update mlterm entry to 2.9.3 -TD +# * add mlterm+pcfkeys -TD +# +# 2007-10-20 +# * move kLFT, kRIT, kind and kri capabilities from xterm-new to +# xterm+pcc0, etc., to make the corresponding building blocks reflect +# xterm's capabilities -TD +# * add mrxvt entry -TD +# * add xterm+r6f2, use in mlterm and mrxvt entries -TD +# +# 2007-11-03 +# * correct acsc strings for h19 and z100 (Benjamin Sittler) +# +# 2007-11-11 +# * use xterm-xf86-v44 for "xterm-xfree86", reflecting changes to +# xterm starting with patch #216 -TD +# * make legacy xterm entries such as xterm-24 inherit from xterm-old, +# to match xterm #230 -TD +# * extend xterm+pccX entries to match xterm #230 -TD +# * add xterm+app, xterm+noapp, from xterm #230 -TD +# * add/use xterm+pce2 from xterm #230, in xterm+pcfkeys -TD +# +# 2008-04-19 +# * add screen.rxvt -TD +# +# 2008-04-28 +# * add screen+fkeys (prompted by Debian # 478094) -TD +# +# 2008-06-28 +# * add screen.mlterm -TD +# * improve mlterm and mlterm+pcfkeys -TD +# +# 2008-08-23 +# * add Eterm-256color, Eterm-88color -TD +# * add rxvt-88color -TD +# +# 2008-10-12 +# * add teraterm4.59 entry, use that as primary teraterm entry, rename +# original to teraterm2.3 -TD +# * update "gnome" to 2.22.3 -TD +# * update "konsole" to 1.6.6 -TD +# * add "aterm" -TD +# * add "linux2.6.26" -TD +# +# 2008-11-15 +# * change several \E[2g (clear tab at current column) to \E[3g +# (clear all tabs) to match definition for tbc capability -TD +# +# 2008-11-29 +# * add eterm-color -TD +# +# 2009-01-10 +# * add screen.Eterm -TD +# +# 2009-03-28 +# * correct typo in pfkey of ansi.sys-old +# (report by Kalle Olavi Niemitalo) +# * move function- and cursor-keys from emx-base to ansi.sys, and create +# a pfkey capability which handles F1-F48 -TD +# +# 2009-05-02 +# * add vwmterm entry (Bryan Christ) +# +# 2009-09-19 +# * change ncv and op capabilities in sun-color to match Sun's entry for +# this (report by Laszlo Peter) +# * improve interix smso by using reverse rather than bold (report by +# Kristof Zelechovski). +# +# 2009-10-03 +# * remove unnecessary kcan assignment to ^C from putty (Sven Joachim) +# * add linux-16color (Benjamin Sittler) +# * correct initc capability of linux-c-nc end-of-range (Benjamin Sittler) +# * similar change for dg+ccc and dgunix+ccc (Benjamin Sittler) +# * add ccc and initc capabilities to xterm-16color -TD +# +# 2009-10-31 +# * updated nsterm* entries (Benjamin Sittler, prompted by GenToo #206201) +# +# 2009-12-12 +# * updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta) +# +# 2009-12-12 +# * add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler) +# * rename minix to minix-1.7, add minix entry for Minux3 -TD +# +# 2009-12-26 +# * add bterm (bogl 0.1.18) -TD +# * minor fix to rxvt+pcfkeys -TD +# +# 2010-02-06 +# * update mrxvt to 0.5.4, add mrxvt-256color -TD +# +# 2010-02-13 +# * add several screen-bce.XXX entries -TD +# +# 2010-02-23 +# * modify screen-bce.XXX entries to exclude ech, since screen's color +# model does not clear with color for that feature -TD +# +# 2010-03-20 +# * rename atari and st52 to atari-old, st52-old, use newer entries from +# FreeMiNT by Guido Flohr (from patch/report by Alan Hourihane). +# +# 2010-06-12 +# * add mlterm+256color entry -TD +# +# 2010-07-17 +# * add hard-reset for rs2 to wsvt25 to help ensure that reset ends +# the alternate character set (patch by Nicholas Marriott) +# +# 2010-08-28 +# * improve acsc for vt52 (Benjamin Sittler) +# * modify nsterm entries for consistent sgr/sgr0 -TD +# * modify xnuppc entries for consistent sgr/sgr0 -TD +# * add invis to tek4115 sgr -TD +# +# 2010-09-11 +# * reformat acsc strings to canonical format -TD +# +# 2010-09-25 +# * add "XT" capability to entries for terminals that support both +# xterm-style mouse- and title-controls, for "screen" which +# special-cases TERM beginning with "xterm" or "rxvt" -TD +# +# 2010-10-02 +# * fill in no-parameter forms of cursor-movement where a parameterized +# form is available -TD +# * fill in missing cursor controls where the form of the controls is +# ANSI -TD +# * add parameterized cursor-controls to linux-basic (report by Dae) -TD +# +# 2010-10-09 +# * correct comparison used for setting 16-colors in linux-16color +# entry (Novell #644831) -TD +# * improve linux-16color entry, using "dim" for color-8 which makes it +# gray rather than black like color-0 -TD +# +# 2010-11-20 +# * make "vte" the principal entry defining "gnome", since GNOME terminal +# is merely one of several terminals whose behavior is provided by this +# library -TD +# +# 2010-11-27 +# * fix typo in rmso for tek4106 -Goran Weinholt +# +# 2010-12-11 +# * suppress ncv in screen entry, allowing underline -Alejandro R. Sedeno +# * also suppress ncv in konsole-base -TD +# +# 2011-02-05 +# * add U8 feature to denote entries for terminal emulators which do not +# support VT100 SI/SO when processing UTF-8 encoding -TD +# * add xterm-utf8 as a demo of the U8 feature -TD +# +# 2011-02-20 +# * add cons25-debian entry (Brian M Carlson, Debina #607662). +# ######## SHANTIH! SHANTIH! SHANTIH! From f9443b14d5faa43f98a0a7a5cc85994599bc11a3 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 26 Jan 2013 22:02:59 +0100 Subject: [PATCH 009/122] Reverting hrev45143:bold characters visual regression Terminal is GUI application and there are no need to emulate bold in some kind of color adjustments, especially in case the proposed emulation look is too far away from results observed on similar software like xterm, Konsole and XFCE Terminal. --- src/apps/terminal/Shell.cpp | 2 +- src/apps/terminal/TermParse.cpp | 23 ++++++++--------------- src/apps/terminal/TermView.cpp | 4 ++-- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp index 5dd10ae79d..12c3c92689 100644 --- a/src/apps/terminal/Shell.cpp +++ b/src/apps/terminal/Shell.cpp @@ -539,7 +539,7 @@ Shell::_Spawn(int row, int col, const ShellParameters& parameters) /* * setenv TERM and TTY. */ - setenv("TERM", "xterm-color", true); + setenv("TERM", "xterm", true); setenv("TTY", ttyName, true); setenv("TTYPE", parameters.Encoding(), true); diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 6664dd0b59..0ae798a326 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -833,30 +833,23 @@ TermParse::EscParse() fAttr = FORECOLORED(7); break; - case 1: /* Bright / Bold */ - fAttr |= FORECOLORED(8); - fAttr |= FORESET; + case 1: /* Bold */ + case 5: + fAttr |= BOLD; break; case 4: /* Underline */ fAttr |= UNDERLINE; break; - case 5: - fAttr |= BOLD; - break; - case 7: /* Inverse */ fAttr |= INVERSE; break; - case 2: /* Faint: decreased intensity */ - case 21: /* Bright/Bold: off or Underline: Double */ - case 22: /* Not Bold, not bright, not faint */ - fAttr &= ~(FORECOLORED(8) | BOLD); - fAttr |= FORESET; + case 22: /* Not Bold */ + fAttr &= ~BOLD; break; - + case 24: /* Not Underline */ fAttr &= ~UNDERLINE; break; @@ -873,7 +866,7 @@ TermParse::EscParse() case 35: case 36: case 37: - fAttr &= ~FORECOLORED(7); + fAttr &= ~FORECOLOR; fAttr |= FORECOLORED(param[row] - 30); fAttr |= FORESET; break; @@ -882,7 +875,7 @@ TermParse::EscParse() { if (nparam != 3 || param[1] != 5) break; - fAttr &= ~FORECOLORED(255 - 8); + fAttr &= ~FORECOLOR; fAttr |= FORECOLORED(param[2]); fAttr |= FORESET; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index c79960e357..8da3c92dc7 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -79,14 +79,14 @@ static rgb_color kTermColorTable[256] = { { 6, 152, 154, 0}, // cyan {245, 245, 245, 0}, // white - { 64, 64, 64, 0}, // black + {128, 128, 128, 0}, // black {255, 0, 0, 0}, // red { 0, 255, 0, 0}, // green {255, 255, 0, 0}, // yellow { 0, 0, 255, 0}, // blue {255, 0, 255, 0}, // magenta { 0, 255, 255, 0}, // cyan - {128, 128, 128, 0}, // white + {255, 255, 255, 0}, // white { 0, 0, 0, 0}, { 0, 0, 51, 0}, From 02f3baa09d11547e1be4a950d279dd55371a3fcc Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 26 Jan 2013 22:40:06 +0100 Subject: [PATCH 010/122] Cleanup:Remove unused pref entries and fix typo * PREF_SHELL is not used anymore, corresponding entry in /etc/passwd should be used instead; * PREF_GUI_LANGUAGE is not actual anymore - we have system-wide UI localization support; * Fix typo in the name of MSG_SET_TERMNAL_TITLE constant. --- src/apps/terminal/PrefHandler.cpp | 2 -- src/apps/terminal/TermConst.h | 4 +--- src/apps/terminal/TermView.cpp | 2 +- src/apps/terminal/TerminalBuffer.cpp | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index cf4f469b26..8be5171b77 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -53,12 +53,10 @@ static const pref_defaults kTermDefaults[] = { { PREF_IM_BACK_COLOR, "152, 203, 255" }, { PREF_IM_SELECT_COLOR, "255, 152, 152" }, - { PREF_SHELL, "/bin/sh -login" }, { PREF_HISTORY_SIZE, "10000" }, { PREF_TEXT_ENCODING, "UTF-8" }, - { PREF_GUI_LANGUAGE, "English"}, { PREF_IM_AWARE, "0"}, { PREF_TAB_TITLE, "%1d: %p" }, diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index c40872de54..40de9c2045 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -87,7 +87,7 @@ static const uint32 SAVE_AS_DEFAULT = 'sadf'; static const uint32 MSG_CHECK_CHILDREN = 'ckch'; static const uint32 MSG_REMOVE_RESIZE_VIEW_IF_NEEDED = 'rmrv'; static const uint32 MSG_TERMINAL_BUFFER_CHANGED = 'bufc'; -static const uint32 MSG_SET_TERMNAL_TITLE = 'sett'; +static const uint32 MSG_SET_TERMINAL_TITLE = 'sett'; static const uint32 MSG_QUIT_TERMNAL = 'qutt'; static const uint32 MSG_REPORT_MOUSE_EVENT = 'mous'; static const uint32 MSG_SAVE_WINDOW_POSITION = 'swps'; @@ -128,10 +128,8 @@ static const char* const PREF_IM_AWARE = "Input method aware"; static const char* const PREF_COLS = "Cols"; static const char* const PREF_ROWS = "Rows"; -static const char* const PREF_SHELL = "Shell"; static const char* const PREF_TEXT_ENCODING = "Text encoding"; -static const char* const PREF_GUI_LANGUAGE = "Language"; static const char* const PREF_BLINK_CURSOR = "Blinking cursor"; static const char* const PREF_WARN_ON_EXIT = "Warn on exit"; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 8da3c92dc7..0a1044f306 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -2002,7 +2002,7 @@ TermView::MessageReceived(BMessage *msg) _SynchronizeWithTextBuffer(0, -1); break; } - case MSG_SET_TERMNAL_TITLE: + case MSG_SET_TERMINAL_TITLE: { const char* title; if (msg->FindString("title", &title) == B_OK) { diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index 099f263eba..bc70256b6f 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -128,7 +128,7 @@ void TerminalBuffer::SetTitle(const char* title) { if (fListenerValid) { - BMessage message(MSG_SET_TERMNAL_TITLE); + BMessage message(MSG_SET_TERMINAL_TITLE); message.AddString("title", title); fListener.SendMessage(&message); } From 68ea9ce5bbed50e08bf08a151477bbb0e1ac1227 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sun, 27 Jan 2013 13:43:05 +0100 Subject: [PATCH 011/122] OSC and color management improoved * Global kTermColorTable replaced with it's private copy for every TermView instance. This allows to modify colors table for every view separately; * Set of ANSI normal/bright color entries added into preferences; * Default color table generated dynamicaly using ANSI colors preferences. 6x6x6 color cubes and grayscale ramp are generated in xterm colors model; * Improoved support of Operating System Command control sequences; * Support for X11 rgb.txt compatible color names. Corresponding entries are stored in hashed form in application resource and loaded only on demand. --- src/apps/terminal/Colors.cpp | 128 ++++++ src/apps/terminal/Colors.h | 30 ++ src/apps/terminal/Jamfile | 2 +- src/apps/terminal/PrefHandler.cpp | 18 + src/apps/terminal/TermConst.h | 11 + src/apps/terminal/TermParse.cpp | 149 +++++-- src/apps/terminal/TermParse.h | 1 + src/apps/terminal/TermView.cpp | 423 +++++++------------- src/apps/terminal/TermView.h | 5 + src/apps/terminal/TerminalBuffer.cpp | 42 ++ src/apps/terminal/TerminalBuffer.h | 5 + src/apps/terminal/XColors.rdef | 556 +++++++++++++++++++++++++++ 12 files changed, 1070 insertions(+), 300 deletions(-) create mode 100644 src/apps/terminal/XColors.rdef diff --git a/src/apps/terminal/Colors.cpp b/src/apps/terminal/Colors.cpp index 56cbbea212..b7a009214b 100644 --- a/src/apps/terminal/Colors.cpp +++ b/src/apps/terminal/Colors.cpp @@ -6,7 +6,13 @@ #include "Colors.h" +#include +#include +#include + +#include #include +#include #undef B_TRANSLATION_CONTEXT @@ -106,3 +112,125 @@ color_scheme::operator==(const color_scheme& scheme) && select_fore_color == scheme.select_fore_color && select_back_color == scheme.select_back_color; } + +// #pragma mark XColorsTable implementation + +XColorsTable gXColorsTable; + + +XColorsTable::XColorsTable() + : + fTable(NULL), + fCount(0) +{ +} + + +XColorsTable::~XColorsTable() +{ + // fTable is owned by BApplication - no need to free it. + fTable = NULL; + fCount = 0; +} + + +status_t +XColorsTable::LookUpColor(const char* name, rgb_color* color) +{ + if (name == NULL || color == NULL) + return B_BAD_DATA; + + // first check for 'rgb:xxx/xxx/xxx'-encoded color names + const char magic[5] = "rgb:"; + if (strncasecmp(name, magic, sizeof(magic) - 1) == 0) { + int r = 0, g = 0, b = 0; + if (sscanf(&name[4], "%x/%x/%x", &r, &g, &b) == 3) { + color->set_to(0xFF & r, 0xFF & g, 0xFF & b); + return B_OK; + } + // else - let the chance lookup in rgb.txt table. Is it reasonable?? + } + + // for non-'rgb:xxx/xxx/xxx'-encoded - search the X11 rgb table + if (fTable == NULL) { + status_t result = _LoadXColorsTable(); + if (result != B_OK) + return result; + } + + // use binary search to lookup color name hash in table + int left = -1; + int right = fCount; + uint32 hash = _HashName(name); + while ((right - left) > 1) { + int i = (left + right) / 2; + ((fTable[i].hash < hash) ? left : right) = i; + } + + if (fTable[right].hash == hash) { + memcpy(color, &fTable[right].color, sizeof(rgb_color)); + return B_OK; + } + + return B_NAME_NOT_FOUND; +} + + +status_t +XColorsTable::_LoadXColorsTable() +{ + BResources* res = BApplication::AppResources(); + if (res == NULL) + return B_ERROR; + + size_t size = 0; + fTable = (_XColorEntry*)res->LoadResource(B_RAW_TYPE, "XColorsTable", &size); + if (fTable == NULL || size < sizeof(_XColorEntry)) { + fTable = NULL; + return B_ENTRY_NOT_FOUND; + } + + fCount = size / sizeof(_XColorEntry); + +// printf("%ld; sizeof:%ld\n", fCount, sizeof(_XColorEntry)); + + for (size_t i = 0; i < fCount; i++) { + printf("%ld:%#010lx -> %d/%d/%d %d\n", + i, fTable[i].hash, fTable[i].color.red, + fTable[i].color.green, fTable[i].color.blue, + fTable[i].color.alpha); + } + + return B_OK; +} + + +uint32 +XColorsTable::_HashName(const char* name) +{ + uint32 hash = 0; + uint32 g = 0; + + // Using modified P.J.Weinberger hash algorithm + // Spaces are purged out, characters are upper-cased + // 'E' replaced with 'A' (to join 'grey' and 'gray' variations) + for (const char* p = name; *p; p++) { + int ch = toupper(*p); + switch (ch) { + case ' ': + break; + case 'E': + ch = 'A'; + default: + hash = (hash << 4) + (ch & 0xFF); + g = hash & 0xf0000000; + if (g != 0) { + hash ^= g >> 24; + hash ^= g; + } + break; + } + } + + return hash; +} diff --git a/src/apps/terminal/Colors.h b/src/apps/terminal/Colors.h index 6665af9806..fe45c272d7 100644 --- a/src/apps/terminal/Colors.h +++ b/src/apps/terminal/Colors.h @@ -23,5 +23,35 @@ struct color_scheme { extern color_scheme gCustomColorScheme; extern const color_scheme* gPredefinedColorSchemes[]; +const uint kANSIColorCount = 16; +const uint kTermColorCount = 256; + + +// Helper class handling XColorName/rgb:xxx/xxx/xxx -> rgb_color conversions. +// The source of XColorNames is wide available rgb.txt for X11 System. +// It is stored in "XColorsTable" application resource as array of +// "hash <-> rgb_color" pairs. The table is loaded only on demand. +// Name hashes must be sorted to let lookup procedure work properly +class XColorsTable { + + struct _XColorEntry { + uint32 hash; + rgb_color color; + }; + +public: + XColorsTable(); + ~XColorsTable(); + + status_t LookUpColor(const char* name, rgb_color* color); +private: + status_t _LoadXColorsTable(); + uint32 _HashName(const char* name); + + const _XColorEntry* fTable; + size_t fCount; +}; + +extern XColorsTable gXColorsTable; #endif // _COLORS_H diff --git a/src/apps/terminal/Jamfile b/src/apps/terminal/Jamfile index 8f68625cab..31b0b4b4b8 100644 --- a/src/apps/terminal/Jamfile +++ b/src/apps/terminal/Jamfile @@ -38,7 +38,7 @@ Application Terminal : VTKeyTbl.c VTPrsTbl.c : be $(HAIKU_LOCALE_LIBS) tracker textencoding $(TARGET_LIBSUPC++) - : Terminal.rdef + : Terminal.rdef XColors.rdef ; DoCatalogs Terminal : diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index 8be5171b77..a83ba77c87 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -53,6 +53,24 @@ static const pref_defaults kTermDefaults[] = { { PREF_IM_BACK_COLOR, "152, 203, 255" }, { PREF_IM_SELECT_COLOR, "255, 152, 152" }, + { PREF_ANSI_BLACK_COLOR, " 40, 40, 40" }, + { PREF_ANSI_RED_COLOR, "204, 0, 0" }, + { PREF_ANSI_GREEN_COLOR, " 78, 154, 6" }, + { PREF_ANSI_YELLOW_COLOR, "218, 168, 0" }, + { PREF_ANSI_BLUE_COLOR, " 51, 102, 152" }, + { PREF_ANSI_MAGENTA_COLOR, "115, 68, 123" }, + { PREF_ANSI_CYAN_COLOR, " 6, 152, 154" }, + { PREF_ANSI_WHITE_COLOR, "245, 245, 245" }, + + { PREF_ANSI_BLACK_HCOLOR, "128, 128, 128" }, + { PREF_ANSI_RED_HCOLOR, "255, 0, 0" }, + { PREF_ANSI_GREEN_HCOLOR, " 0, 255, 0" }, + { PREF_ANSI_YELLOW_HCOLOR, "255, 255, 0" }, + { PREF_ANSI_BLUE_HCOLOR, " 0, 0, 255" }, + { PREF_ANSI_MAGENTA_HCOLOR, "255, 0, 255" }, + { PREF_ANSI_CYAN_HCOLOR, " 0, 255, 255" }, + { PREF_ANSI_WHITE_HCOLOR, "255, 255, 255" }, + { PREF_HISTORY_SIZE, "10000" }, { PREF_TEXT_ENCODING, "UTF-8" }, diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index 40de9c2045..50cf9cc1ff 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -88,6 +88,8 @@ static const uint32 MSG_CHECK_CHILDREN = 'ckch'; static const uint32 MSG_REMOVE_RESIZE_VIEW_IF_NEEDED = 'rmrv'; static const uint32 MSG_TERMINAL_BUFFER_CHANGED = 'bufc'; static const uint32 MSG_SET_TERMINAL_TITLE = 'sett'; +static const uint32 MSG_SET_TERMINAL_COLORS = 'setc'; +static const uint32 MSG_RESET_TERMINAL_COLORS = 'rstc'; static const uint32 MSG_QUIT_TERMNAL = 'qutt'; static const uint32 MSG_REPORT_MOUSE_EVENT = 'mous'; static const uint32 MSG_SAVE_WINDOW_POSITION = 'swps'; @@ -121,6 +123,15 @@ static const char* const PREF_ANSI_MAGENTA_COLOR = "ANSI magenta color"; static const char* const PREF_ANSI_CYAN_COLOR = "ANSI cyan color"; static const char* const PREF_ANSI_WHITE_COLOR = "ANSI white color"; +static const char* const PREF_ANSI_BLACK_HCOLOR = "ANSI bright black color"; +static const char* const PREF_ANSI_RED_HCOLOR = "ANSI bright red color"; +static const char* const PREF_ANSI_GREEN_HCOLOR = "ANSI bright green color"; +static const char* const PREF_ANSI_YELLOW_HCOLOR = "ANSI bright yellow color"; +static const char* const PREF_ANSI_BLUE_HCOLOR = "ANSI bright blue color"; +static const char* const PREF_ANSI_MAGENTA_HCOLOR = "ANSI bright magenta color"; +static const char* const PREF_ANSI_CYAN_HCOLOR = "ANSI bright cyan color"; +static const char* const PREF_ANSI_WHITE_HCOLOR = "ANSI bright white color"; + static const char* const PREF_HISTORY_SIZE = "History size"; static const char* const PREF_CURSOR_BLINKING = "Cursor blinking rate"; diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 0ae798a326..48cdbeefd1 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -25,6 +26,7 @@ #include #include +#include "Colors.h" #include "TermConst.h" #include "TerminalBuffer.h" #include "VTparse.h" @@ -1045,33 +1047,39 @@ TermParse::EscParse() case CASE_OSC: { /* Operating System Command: ESC ] */ - char string[512]; - uint32 len = 0; - uchar mode_char = _NextParseChar(); - if (mode_char != '0' - && mode_char != '1' - && mode_char != '2') { - parsestate = groundtable; - break; - } - uchar currentChar = _NextParseChar(); - while ((currentChar = _NextParseChar()) != 0x7) { - if (!isprint(currentChar & 0x7f) - || len+2 >= sizeof(string)) - break; - string[len++] = currentChar; - } - if (currentChar == 0x7) { - string[len] = '\0'; - switch (mode_char) { - case '0': - case '2': - fBuffer->SetTitle(string); + uchar params[512]; + // fill the buffer until BEL, ST or something else. + bool isParsed = false; + for (uint i = 0; !isParsed && i < sizeof(params); i++) { + params[i] = _NextParseChar(); + switch (params[i]) { + // BEL + case 0x07: + isParsed = true; break; - case '1': + // 8-bit ST + case 0x9c: + isParsed = true; break; + // 7-bit ST is "ESC \" + case '\\': + // hm... Was \x1b replaced by 0 during parsing? + if (i > 0 && params[i - 1] == 0) { + isParsed = true; + break; + } + default: + if (!isprint(params[i] & 0x7f)) { + break; + } + continue; } + params[i] = '\0'; } + + if (isParsed) + _ProcessOperatingSystemControls(params); + parsestate = groundtable; break; } @@ -1444,3 +1452,98 @@ TermParse::_DecRestoreCursor() fBuffer->RestoreOriginMode(); fAttr = fSavedAttr; } + + +void +TermParse::_ProcessOperatingSystemControls(uchar* params) +{ + int mode = 0; + for (uchar c = *params; c != ';' && c != '\0'; c = *(++params)) { + mode *= 10; + mode += c - '0'; + } + + // eat the separator + if (*params == ';') + params++; + + static uint8 indexes[kTermColorCount]; + static rgb_color colors[kTermColorCount]; + + switch (mode) { + case 0: // icon name and window title + case 2: // window title + fBuffer->SetTitle((const char*)params); + break; + case 4: // set colors (0 - 255) + case 104: // reset colors (0 - 255) + { + bool reset = (mode / 100) == 1; + + // colors can be in "idx1:name1;...;idxN:nameN;" sequence too! + uint32 count = 0; + char* p = strtok((char*)params, ";"); + do { + indexes[count] = atoi(p); + + if (!reset) { + p = strtok(NULL, ";"); + if (p == NULL) + break; + + if (gXColorsTable.LookUpColor(p, &colors[count]) == B_OK) { + count++; + } + } else { + count++; + } + + p = strtok(NULL, ";"); + } while(p != NULL && count < kTermColorCount); + + if (count > 0) { + if (!reset) + fBuffer->SetColors(indexes, colors, count); + else + fBuffer->ResetColors(indexes, count); + } + } + break; + // set dynamic colors (10 - 19) + case 10: // text foreground + case 11: // text background + { + int32 offset = mode - 10; + int32 count = 0; + char* p = strtok((char*)params, ";"); + do { + if (gXColorsTable.LookUpColor(p, &colors[count]) != B_OK) { + // dyna-colors are pos-sensitive - no chance to continue + break; + } + + indexes[count] = 10 + offset + count; + count++; + + p = strtok(NULL, ";"); + } while(p != NULL && (offset + count) < 10); + + if (count > 0) { + fBuffer->SetColors(indexes, colors, count, true); + } + } + break; + // reset dynamic colors (10 - 19) + case 110: // text foreground + case 111: // text background + { + indexes[0] = mode; + fBuffer->ResetColors(indexes, 1, true); + } + break; + default: + printf("%d -> %s\n", mode, params); + break; + } +} + diff --git a/src/apps/terminal/TermParse.h b/src/apps/terminal/TermParse.h index ede5c7921f..01a9cf3a7d 100644 --- a/src/apps/terminal/TermParse.h +++ b/src/apps/terminal/TermParse.h @@ -82,6 +82,7 @@ private: void _DecSaveCursor(); void _DecRestoreCursor(); int* _GuessGroundTable(int encoding); + void _ProcessOperatingSystemControls(uchar* params); int fFd; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 0a1044f306..54d9621577 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -24,7 +24,6 @@ #include #include -#include "ActiveProcessInfo.h" #include #include #include @@ -53,6 +52,8 @@ #include #include +#include "ActiveProcessInfo.h" +#include "Colors.h" #include "InlineInput.h" #include "PrefHandler.h" #include "Shell.h" @@ -69,268 +70,6 @@ using namespace BPrivate ; // BCharacterSet stuff extern int function_keycode_table[]; extern char *function_key_char_table[]; -static rgb_color kTermColorTable[256] = { - { 40, 40, 40, 0}, // black - {204, 0, 0, 0}, // red - { 78, 154, 6, 0}, // green - {218, 168, 0, 0}, // yellow - { 51, 102, 152, 0}, // blue - {115, 68, 123, 0}, // magenta - { 6, 152, 154, 0}, // cyan - {245, 245, 245, 0}, // white - - {128, 128, 128, 0}, // black - {255, 0, 0, 0}, // red - { 0, 255, 0, 0}, // green - {255, 255, 0, 0}, // yellow - { 0, 0, 255, 0}, // blue - {255, 0, 255, 0}, // magenta - { 0, 255, 255, 0}, // cyan - {255, 255, 255, 0}, // white - - { 0, 0, 0, 0}, - { 0, 0, 51, 0}, - { 0, 0, 102, 0}, - { 0, 0, 153, 0}, - { 0, 0, 204, 0}, - { 0, 0, 255, 0}, - { 0, 51, 0, 0}, - { 0, 51, 51, 0}, - { 0, 51, 102, 0}, - { 0, 51, 153, 0}, - { 0, 51, 204, 0}, - { 0, 51, 255, 0}, - { 0, 102, 0, 0}, - { 0, 102, 51, 0}, - { 0, 102, 102, 0}, - { 0, 102, 153, 0}, - { 0, 102, 204, 0}, - { 0, 102, 255, 0}, - { 0, 153, 0, 0}, - { 0, 153, 51, 0}, - { 0, 153, 102, 0}, - { 0, 153, 153, 0}, - { 0, 153, 204, 0}, - { 0, 153, 255, 0}, - { 0, 204, 0, 0}, - { 0, 204, 51, 0}, - { 0, 204, 102, 0}, - { 0, 204, 153, 0}, - { 0, 204, 204, 0}, - { 0, 204, 255, 0}, - { 0, 255, 0, 0}, - { 0, 255, 51, 0}, - { 0, 255, 102, 0}, - { 0, 255, 153, 0}, - { 0, 255, 204, 0}, - { 0, 255, 255, 0}, - { 51, 0, 0, 0}, - { 51, 0, 51, 0}, - { 51, 0, 102, 0}, - { 51, 0, 153, 0}, - { 51, 0, 204, 0}, - { 51, 0, 255, 0}, - { 51, 51, 0, 0}, - { 51, 51, 51, 0}, - { 51, 51, 102, 0}, - { 51, 51, 153, 0}, - { 51, 51, 204, 0}, - { 51, 51, 255, 0}, - { 51, 102, 0, 0}, - { 51, 102, 51, 0}, - { 51, 102, 102, 0}, - { 51, 102, 153, 0}, - { 51, 102, 204, 0}, - { 51, 102, 255, 0}, - { 51, 153, 0, 0}, - { 51, 153, 51, 0}, - { 51, 153, 102, 0}, - { 51, 153, 153, 0}, - { 51, 153, 204, 0}, - { 51, 153, 255, 0}, - { 51, 204, 0, 0}, - { 51, 204, 51, 0}, - { 51, 204, 102, 0}, - { 51, 204, 153, 0}, - { 51, 204, 204, 0}, - { 51, 204, 255, 0}, - { 51, 255, 0, 0}, - { 51, 255, 51, 0}, - { 51, 255, 102, 0}, - { 51, 255, 153, 0}, - { 51, 255, 204, 0}, - { 51, 255, 255, 0}, - {102, 0, 0, 0}, - {102, 0, 51, 0}, - {102, 0, 102, 0}, - {102, 0, 153, 0}, - {102, 0, 204, 0}, - {102, 0, 255, 0}, - {102, 51, 0, 0}, - {102, 51, 51, 0}, - {102, 51, 102, 0}, - {102, 51, 153, 0}, - {102, 51, 204, 0}, - {102, 51, 255, 0}, - {102, 102, 0, 0}, - {102, 102, 51, 0}, - {102, 102, 102, 0}, - {102, 102, 153, 0}, - {102, 102, 204, 0}, - {102, 102, 255, 0}, - {102, 153, 0, 0}, - {102, 153, 51, 0}, - {102, 153, 102, 0}, - {102, 153, 153, 0}, - {102, 153, 204, 0}, - {102, 153, 255, 0}, - {102, 204, 0, 0}, - {102, 204, 51, 0}, - {102, 204, 102, 0}, - {102, 204, 153, 0}, - {102, 204, 204, 0}, - {102, 204, 255, 0}, - {102, 255, 0, 0}, - {102, 255, 51, 0}, - {102, 255, 102, 0}, - {102, 255, 153, 0}, - {102, 255, 204, 0}, - {102, 255, 255, 0}, - {153, 0, 0, 0}, - {153, 0, 51, 0}, - {153, 0, 102, 0}, - {153, 0, 153, 0}, - {153, 0, 204, 0}, - {153, 0, 255, 0}, - {153, 51, 0, 0}, - {153, 51, 51, 0}, - {153, 51, 102, 0}, - {153, 51, 153, 0}, - {153, 51, 204, 0}, - {153, 51, 255, 0}, - {153, 102, 0, 0}, - {153, 102, 51, 0}, - {153, 102, 102, 0}, - {153, 102, 153, 0}, - {153, 102, 204, 0}, - {153, 102, 255, 0}, - {153, 153, 0, 0}, - {153, 153, 51, 0}, - {153, 153, 102, 0}, - {153, 153, 153, 0}, - {153, 153, 204, 0}, - {153, 153, 255, 0}, - {153, 204, 0, 0}, - {153, 204, 51, 0}, - {153, 204, 102, 0}, - {153, 204, 153, 0}, - {153, 204, 204, 0}, - {153, 204, 255, 0}, - {153, 255, 0, 0}, - {153, 255, 51, 0}, - {153, 255, 102, 0}, - {153, 255, 153, 0}, - {153, 255, 204, 0}, - {153, 255, 255, 0}, - {204, 0, 0, 0}, - {204, 0, 51, 0}, - {204, 0, 102, 0}, - {204, 0, 153, 0}, - {204, 0, 204, 0}, - {204, 0, 255, 0}, - {204, 51, 0, 0}, - {204, 51, 51, 0}, - {204, 51, 102, 0}, - {204, 51, 153, 0}, - {204, 51, 204, 0}, - {204, 51, 255, 0}, - {204, 102, 0, 0}, - {204, 102, 51, 0}, - {204, 102, 102, 0}, - {204, 102, 153, 0}, - {204, 102, 204, 0}, - {204, 102, 255, 0}, - {204, 153, 0, 0}, - {204, 153, 51, 0}, - {204, 153, 102, 0}, - {204, 153, 153, 0}, - {204, 153, 204, 0}, - {204, 153, 255, 0}, - {204, 204, 0, 0}, - {204, 204, 51, 0}, - {204, 204, 102, 0}, - {204, 204, 153, 0}, - {204, 204, 204, 0}, - {204, 204, 255, 0}, - {204, 255, 0, 0}, - {204, 255, 51, 0}, - {204, 255, 102, 0}, - {204, 255, 153, 0}, - {204, 255, 204, 0}, - {204, 255, 255, 0}, - {255, 0, 0, 0}, - {255, 0, 51, 0}, - {255, 0, 102, 0}, - {255, 0, 153, 0}, - {255, 0, 204, 0}, - {255, 0, 255, 0}, - {255, 51, 0, 0}, - {255, 51, 51, 0}, - {255, 51, 102, 0}, - {255, 51, 153, 0}, - {255, 51, 204, 0}, - {255, 51, 255, 0}, - {255, 102, 0, 0}, - {255, 102, 51, 0}, - {255, 102, 102, 0}, - {255, 102, 153, 0}, - {255, 102, 204, 0}, - {255, 102, 255, 0}, - {255, 153, 0, 0}, - {255, 153, 51, 0}, - {255, 153, 102, 0}, - {255, 153, 153, 0}, - {255, 153, 204, 0}, - {255, 153, 255, 0}, - {255, 204, 0, 0}, - {255, 204, 51, 0}, - {255, 204, 102, 0}, - {255, 204, 153, 0}, - {255, 204, 204, 0}, - {255, 204, 255, 0}, - {255, 255, 0, 0}, - {255, 255, 51, 0}, - {255, 255, 102, 0}, - {255, 255, 153, 0}, - {255, 255, 204, 0}, - {255, 255, 255, 0}, - - { 10, 10, 10, 0}, - { 20, 20, 20, 0}, - { 30, 30, 30, 0}, - { 40, 40, 40, 0}, - { 50, 50, 50, 0}, - { 60, 60, 60, 0}, - { 70, 70, 70, 0}, - { 80, 80, 80, 0}, - { 90, 90, 90, 0}, - {100, 100, 100, 0}, - {110, 110, 110, 0}, - {120, 120, 120, 0}, - {130, 130, 130, 0}, - {140, 140, 140, 0}, - {150, 150, 150, 0}, - {160, 160, 160, 0}, - {170, 170, 170, 0}, - {180, 180, 180, 0}, - {190, 190, 190, 0}, - {200, 200, 200, 0}, - {210, 210, 210, 0}, - {220, 220, 220, 0}, - {230, 230, 230, 0}, - {240, 240, 240, 0}, -}; - #define ROWS_DEFAULT 25 #define COLUMNS_DEFAULT 80 @@ -441,6 +180,7 @@ TermView::TermView(BRect frame, const ShellParameters& shellParameters, fRows(ROWS_DEFAULT), fEncoding(M_UTF8), fActive(false), + fTermColorTable(NULL), fScrBufSize(historySize), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -464,6 +204,7 @@ TermView::TermView(int rows, int columns, fRows(rows), fEncoding(M_UTF8), fActive(false), + fTermColorTable(NULL), fScrBufSize(historySize), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -497,6 +238,7 @@ TermView::TermView(BMessage* archive) fRows(ROWS_DEFAULT), fEncoding(M_UTF8), fActive(false), + fTermColorTable(NULL), fScrBufSize(1000), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -589,6 +331,10 @@ TermView::_InitObject(const ShellParameters& shellParameters) fVisibleTextBuffer = new(std::nothrow) BasicTerminalBuffer; if (fVisibleTextBuffer == NULL) return B_NO_MEMORY; + + status_t error = _InitColorTable(); + if (error != B_OK) + return error; // TODO: Make the special word chars user-settable! fCharClassifier = new(std::nothrow) CharClassifier( @@ -596,7 +342,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) if (fCharClassifier == NULL) return B_NO_MEMORY; - status_t error = fTextBuffer->Init(fColumns, fRows, fScrBufSize); + error = fTextBuffer->Init(fColumns, fRows, fScrBufSize); if (error != B_OK) return error; fTextBuffer->SetEncoding(fEncoding); @@ -627,7 +373,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) if (error < B_OK) return error; - SetLowColor(kTermColorTable[8]); + SetLowColor(fTermColorTable[8]); SetViewColor(B_TRANSPARENT_32_BIT); return B_OK; @@ -645,6 +391,7 @@ TermView::~TermView() delete fAutoScrollRunner; delete fCharClassifier; delete fVisibleTextBuffer; + delete[] fTermColorTable; delete fTextBuffer; delete shell; } @@ -879,8 +626,8 @@ TermView::GetTermSizeFromRect(const BRect &rect, int *_rows, void TermView::SetTextColor(rgb_color fore, rgb_color back) { - kTermColorTable[0] = back; - kTermColorTable[7] = fore; + fTermColorTable[0] = back; + fTermColorTable[7] = fore; SetLowColor(back); } @@ -902,6 +649,38 @@ TermView::SetSelectColor(rgb_color fore, rgb_color back) } +void +TermView::SetTermColor(uint index, rgb_color color, bool dynamic) +{ + if (!dynamic) { + if (index < kTermColorCount) + fTermColorTable[index] = color; + return; + } + + switch (index) { + case 10: + fTermColorTable[7] = color; + break; + case 11: + fTermColorTable[0] = color; + SetLowColor(fTermColorTable[0]); + break; + case 110: + fTermColorTable[7] = + PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR); + break; + case 111: + fTermColorTable[0] = + PrefHandler::Default()->getRGB(PREF_TEXT_BACK_COLOR); + SetLowColor(fTermColorTable[0]); + break; + default: + break; + } +} + + int TermView::Encoding() const { @@ -1146,8 +925,8 @@ TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, // color attribute int forecolor = IS_FORECOLOR(attr); int backcolor = IS_BACKCOLOR(attr); - rgb_fore = kTermColorTable[forecolor]; - rgb_back = kTermColorTable[backcolor]; + rgb_fore = fTermColorTable[forecolor]; + rgb_back = fTermColorTable[backcolor]; // Selection check. if (cursor) { @@ -1232,7 +1011,7 @@ TermView::_DrawCursor() if (cursorVisible) SetHighColor(fCursorBackColor); else - SetHighColor(kTermColorTable[IS_BACKCOLOR(attr)]); + SetHighColor(fTermColorTable[IS_BACKCOLOR(attr)]); } FillRect(rect); @@ -1384,7 +1163,7 @@ TermView::Draw(BRect updateRect) if (clearLeft <= updateRect.right) { BRect rect(clearLeft, updateRect.top, updateRect.right, updateRect.bottom); - SetHighColor(kTermColorTable[0]); + SetHighColor(fTermColorTable[0]); FillRect(rect); } } @@ -1395,7 +1174,7 @@ TermView::Draw(BRect updateRect) if (clearTop <= updateRect.bottom) { BRect rect(updateRect.left, clearTop, updateRect.right, updateRect.bottom); - SetHighColor(kTermColorTable[0]); + SetHighColor(fTermColorTable[0]); FillRect(rect); } } @@ -1441,7 +1220,7 @@ TermView::Draw(BRect updateRect) int lineIndexInHistory = j + fTextBuffer->HistorySize(); uint32 backcolor = IS_BACKCOLOR(fVisibleTextBuffer->GetLineColor( lineIndexInHistory)); - rgb_color rgb_back = kTermColorTable[backcolor]; + rgb_color rgb_back = fTermColorTable[backcolor]; SetHighColor(rgb_back); FillRect(rect); } @@ -2011,6 +1790,53 @@ TermView::MessageReceived(BMessage *msg) } break; } + case MSG_SET_TERMINAL_COLORS: + { + int32 count = 0; + if (msg->FindInt32("count", &count) != B_OK) + break; + + bool dynamic = false; + if (msg->FindBool("dynamic", &dynamic) != B_OK) + break; + + for (int i = 0; i < count; i++) { + uint8 index = 0; + if (msg->FindUInt8("index", i, &index) != B_OK) + break; + + ssize_t bytes = 0; + rgb_color* color = 0; + if (msg->FindData("color", B_RGB_COLOR_TYPE, + i, (const void**)&color, &bytes) != B_OK) + break; + + SetTermColor(index, *color, dynamic); + } + + break; + } + case MSG_RESET_TERMINAL_COLORS: + { + int32 count = 0; + if (msg->FindInt32("count", &count) != B_OK) + break; + + bool dynamic = false; + if (msg->FindBool("dynamic", &dynamic) != B_OK) + break; + + for (int i = 0; i < count; i++) { + uint8 index = 0; + if (msg->FindUInt8("index", i, &index) != B_OK) + break; + + if (index < kTermColorCount) + SetTermColor(index, fTermColorTable[index], dynamic); + } + + break; + } case MSG_REPORT_MOUSE_EVENT: { bool report; @@ -3176,15 +3002,15 @@ TermView::_DrawInlineMethodString() BRect eraseRect(startPoint, endPoint); PushState(); - SetHighColor(kTermColorTable[7]); + SetHighColor(fTermColorTable[7]); FillRect(eraseRect); PopState(); BPoint loc = _ConvertFromTerminal(fCursor); loc.y += fFontHeight; SetFont(&fHalfFont); - SetHighColor(kTermColorTable[0]); - SetLowColor(kTermColorTable[7]); + SetHighColor(fTermColorTable[0]); + SetLowColor(fTermColorTable[7]); DrawString(fInline->String(), loc); } @@ -3326,6 +3152,51 @@ TermView::_CancelInputMethod() } +status_t +TermView::_InitColorTable() +{ + fTermColorTable = new(std::nothrow) rgb_color[kTermColorCount]; + if (fTermColorTable == NULL) + return B_NO_MEMORY; + + // 0 - 15 are system ANSI colors + const char * keys[kANSIColorCount] = { + PREF_ANSI_BLACK_COLOR, + PREF_ANSI_RED_COLOR, + PREF_ANSI_GREEN_COLOR, + PREF_ANSI_YELLOW_COLOR, + PREF_ANSI_BLUE_COLOR, + PREF_ANSI_MAGENTA_COLOR, + PREF_ANSI_CYAN_COLOR, + PREF_ANSI_WHITE_COLOR, + PREF_ANSI_BLACK_HCOLOR, + PREF_ANSI_RED_HCOLOR, + PREF_ANSI_GREEN_HCOLOR, + PREF_ANSI_YELLOW_HCOLOR, + PREF_ANSI_BLUE_HCOLOR, + PREF_ANSI_MAGENTA_HCOLOR, + PREF_ANSI_CYAN_HCOLOR, + PREF_ANSI_WHITE_HCOLOR + }; + + rgb_color* color = fTermColorTable; + PrefHandler* handler = PrefHandler::Default(); + for (uint i = 0; i < kANSIColorCount; i++) + *color++ = handler->getRGB(keys[i]); + + // 16 - 231 are 6x6x6 color "cubes" in xterm color model + for (uint red = 0; red < 256; red += (red == 0) ? 95 : 40) + for (uint green = 0; green < 256; green += (green == 0) ? 95 : 40) + for (uint blue = 0; blue < 256; blue += (blue == 0) ? 95 : 40) + (*color++).set_to(red, green, blue); + + // 232 - 255 are grayscale ramp in xterm color model + for (uint gray = 8; gray < 240; gray += 10) + (*color++).set_to(gray, gray, gray); + + return B_OK; +} + // #pragma mark - Listener diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index 68272eeab7..e4c183bc03 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -79,6 +79,8 @@ public: void SetTextColor(rgb_color fore, rgb_color back); void SetCursorColor(rgb_color fore, rgb_color back); void SetSelectColor(rgb_color fore, rgb_color back); + void SetTermColor(uint index, rgb_color color, + bool dynamic = false); int Encoding() const; void SetEncoding(int encoding); @@ -148,6 +150,7 @@ private: status_t _InitObject( const ShellParameters& shellParameters); + status_t _InitColorTable(); status_t _AttachShell(Shell* shell); void _DetachShell(); @@ -261,6 +264,8 @@ private: rgb_color fSelectForeColor; rgb_color fSelectBackColor; + rgb_color* fTermColorTable; + // Scroll Region float fScrollOffset; int32 fScrBufSize; diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index bc70256b6f..49d9812ad8 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -135,6 +135,48 @@ TerminalBuffer::SetTitle(const char* title) } +void +TerminalBuffer::SetColors(uint8* indexes, rgb_color* colors, + int32 count, bool dynamic) +{ + if (fListenerValid) { + BMessage message(MSG_SET_TERMINAL_COLORS); + message.AddInt32("count", count); + message.AddBool("dynamic", dynamic); + message.AddData("index", B_UINT8_TYPE, + indexes, sizeof(uint8), true, count); + message.AddData("color", B_RGB_COLOR_TYPE, + colors, sizeof(rgb_color), true, count); + + for (int i = 1; i < count; i++) { + message.AddData("index", B_UINT8_TYPE, &indexes[i], sizeof(uint8)); + message.AddData("color", B_RGB_COLOR_TYPE, &colors[i], + sizeof(rgb_color)); + } + + fListener.SendMessage(&message); + } +} + + +void +TerminalBuffer::ResetColors(uint8* indexes, int32 count, bool dynamic) +{ + if (fListenerValid) { + BMessage message(MSG_RESET_TERMINAL_COLORS); + message.AddInt32("count", count); + message.AddBool("dynamic", dynamic); + message.AddData("index", B_UINT8_TYPE, + indexes, sizeof(uint8), true, count); + + for (int i = 1; i < count; i++) + message.AddData("index", B_UINT8_TYPE, &indexes[i], sizeof(uint8)); + + fListener.SendMessage(&message); + } +} + + void TerminalBuffer::NotifyQuit(int32 reason) { diff --git a/src/apps/terminal/TerminalBuffer.h b/src/apps/terminal/TerminalBuffer.h index 2db4e1a764..96f1b13baa 100644 --- a/src/apps/terminal/TerminalBuffer.h +++ b/src/apps/terminal/TerminalBuffer.h @@ -5,6 +5,7 @@ #ifndef TERMINAL_BUFFER_H #define TERMINAL_BUFFER_H +#include #include #include @@ -26,6 +27,10 @@ public: void SetEncoding(int encoding); void SetTitle(const char* title); + void SetColors(uint8* indexes, rgb_color* colors, + int32 count = 1, bool dynamic = false); + void ResetColors(uint8* indexes, + int32 count = 1, bool dynamic = false); void NotifyQuit(int32 reason); virtual status_t ResizeTo(int32 width, int32 height); diff --git a/src/apps/terminal/XColors.rdef b/src/apps/terminal/XColors.rdef new file mode 100644 index 0000000000..c4c54dae1a --- /dev/null +++ b/src/apps/terminal/XColors.rdef @@ -0,0 +1,556 @@ +// +// +// +resource("XColorsTable") array { + 0x00004c2e, 0x0013458b, // saddle brown, SaddleBrown + 0x00005654, 0x000000ff, // red + 0x0000585e, 0x008cb4d2, // tan + 0x00047191, 0x00ff0000, // blue + 0x00048d5e, 0x00ffff00, // cyan + 0x0004c404, 0x0000d7ff, // gold + 0x0004c669, 0x00bebebe, // gray, grey + 0x000526b9, 0x00800000, // navy + 0x00054675, 0x003f85cd, // peru + 0x00054e2b, 0x00cbc0ff, // pink + 0x0005519d, 0x00dda0dd, // plum + 0x00056571, 0x000000ff, // red1 + 0x00056572, 0x000000ee, // red2 + 0x00056573, 0x000000cd, // red3 + 0x00056574, 0x0000008b, // red4 + 0x00058347, 0x00fafaff, // snow + 0x00058611, 0x004fa5ff, // tan1 + 0x00058612, 0x00499aee, // tan2 + 0x00058613, 0x003f85cd, // tan3 + 0x00058614, 0x002b5a8b, // tan4 + 0x000ec071, 0x00ffe2b0, // LightSkyBlue1 + 0x000ec072, 0x00eed3a4, // LightSkyBlue2 + 0x000ec073, 0x00cdb68d, // LightSkyBlue3 + 0x000ec074, 0x008b7b60, // LightSkyBlue4 + 0x0042e4c1, 0x00008cff, // dark orange, DarkOrange + 0x0042faa4, 0x00cc3299, // dark orchid, DarkOrchid + 0x00465db1, 0x00dcf5f5, // beige + 0x0046fa61, 0x00fffff0, // azure + 0x0047057b, 0x00000000, // black + 0x00471941, 0x00ff0000, // blue1 + 0x00471942, 0x00ee0000, // blue2 + 0x00471943, 0x00cd0000, // blue3 + 0x00471944, 0x008b0000, // blue4 + 0x004774be, 0x002a2aa5, // brown + 0x0048465c, 0x00507fff, // coral + 0x0048d611, 0x00ffff00, // cyan1 + 0x0048d612, 0x00eeee00, // cyan2 + 0x0048d613, 0x00cdcd00, // cyan3 + 0x0048d614, 0x008b8b00, // cyan4 + 0x004c4071, 0x0000d7ff, // gold1 + 0x004c4072, 0x0000c9ee, // gold2 + 0x004c4073, 0x0000adcd, // gold3 + 0x004c4074, 0x0000758b, // gold4 + 0x004c655e, 0x0000ff00, // green + 0x004c66c0, 0x00000000, // gray0, grey0 + 0x004c66c1, 0x00030303, // gray1, grey1 + 0x004c66c2, 0x00050505, // gray2, grey2 + 0x004c66c3, 0x00080808, // gray3, grey3 + 0x004c66c4, 0x000a0a0a, // gray4, grey4 + 0x004c66c5, 0x000d0d0d, // gray5, grey5 + 0x004c66c6, 0x000f0f0f, // gray6, grey6 + 0x004c66c7, 0x00121212, // gray7, grey7 + 0x004c66c8, 0x00141414, // gray8, grey8 + 0x004c66c9, 0x00171717, // gray9, grey9 + 0x004eb479, 0x00f0ffff, // ivory + 0x004fc5f9, 0x008ce6f0, // khaki + 0x0050e25e, 0x00e6f0fa, // linen + 0x0054e2e1, 0x00c5b5ff, // pink1 + 0x0054e2e2, 0x00b8a9ee, // pink2 + 0x0054e2e3, 0x009e91cd, // pink3 + 0x0054e2e4, 0x006c638b, // pink4 + 0x00551a01, 0x00ffbbff, // plum1 + 0x00551a02, 0x00eeaeee, // plum2 + 0x00551a03, 0x00cd96cd, // plum3 + 0x00551a04, 0x008b668b, // plum4 + 0x005834a1, 0x00fafaff, // snow1 + 0x005834a2, 0x00e9e9ee, // snow2 + 0x005834a3, 0x00c9c9cd, // snow3 + 0x005834a4, 0x0089898b, // snow4 + 0x005bc564, 0x00b3def5, // wheat + 0x005bce81, 0x00ffffff, // white + 0x005c313e, 0x0098fb98, // pale green, PaleGreen + 0x006ccb31, 0x00963eff, // VioletRed1 + 0x006ccb32, 0x008c3aee, // VioletRed2 + 0x006ccb33, 0x007832cd, // VioletRed3 + 0x006ccb34, 0x0052228b, // VioletRed4 + 0x0072984e, 0x007a96e9, // dark salmon, DarkSalmon + 0x00840e91, 0x00dbefff, // AntiqueWhite1 + 0x00840e92, 0x00ccdfee, // AntiqueWhite2 + 0x00840e93, 0x00b0c0cd, // AntiqueWhite3 + 0x00840e94, 0x0078838b, // AntiqueWhite4 + 0x00867b74, 0x0020a5da, // goldenrod + 0x00a57871, 0x00ffffbb, // PaleTurquoise1 + 0x00a57872, 0x00eeeeae, // PaleTurquoise2 + 0x00a57873, 0x00cdcd96, // PaleTurquoise3 + 0x00a57874, 0x008b8b66, // PaleTurquoise4 + 0x00aac614, 0x00d30094, // dark violet, DarkViolet + 0x00d2c23e, 0x0071b33c, // medium sea green, MediumSeaGreen + 0x00d71cc1, 0x00ffce87, // SkyBlue1 + 0x00d71cc2, 0x00eec07e, // SkyBlue2 + 0x00d71cc3, 0x00cda66c, // SkyBlue3 + 0x00d71cc4, 0x008b704a, // SkyBlue4 + 0x00d78ad1, 0x00f5f0ff, // LavenderBlush1 + 0x00d78ad2, 0x00e5e0ee, // LavenderBlush2 + 0x00d78ad3, 0x00c5c1cd, // LavenderBlush3 + 0x00d78ad4, 0x0086838b, // LavenderBlush4 + 0x01134481, 0x008b008b, // dark magenta, DarkMagenta + 0x0120cb21, 0x00d4ff7f, // aquamarine1 + 0x0120cb22, 0x00c6ee76, // aquamarine2 + 0x0120cb23, 0x00aacd66, // aquamarine3 + 0x0120cb24, 0x00748b45, // aquamarine4 + 0x015b63d1, 0x00ff00ff, // magenta + 0x015c35be, 0x0032cd32, // lime green, LimeGreen + 0x01674441, 0x00b334ff, // maroon1 + 0x01674442, 0x00a730ee, // maroon2 + 0x01674443, 0x009029cd, // maroon3 + 0x01674444, 0x00621c8b, // maroon4 + 0x019a4db1, 0x00addeff, // NavajoWhite1 + 0x019a4db2, 0x00a1cfee, // NavajoWhite2 + 0x019a4db3, 0x008bb3cd, // NavajoWhite3 + 0x019a4db4, 0x005e798b, // NavajoWhite4 + 0x01da152e, 0x008fbc8f, // dark sea green, DarkSeaGreen + 0x01f05901, 0x009bd3ff, // burlywood1 + 0x01f05902, 0x0091c5ee, // burlywood2 + 0x01f05903, 0x007daacd, // burlywood3 + 0x01f05904, 0x0055738b, // burlywood4 + 0x026dcbe1, 0x00f0fff0, // honeydew1 + 0x026dcbe2, 0x00e0eee0, // honeydew2 + 0x026dcbe3, 0x00c1cdc1, // honeydew3 + 0x026dcbe4, 0x00838b83, // honeydew4 + 0x026ebf81, 0x007aa0ff, // LightSalmon1 + 0x026ebf82, 0x007295ee, // LightSalmon2 + 0x026ebf83, 0x006281cd, // LightSalmon3 + 0x026ebf84, 0x0042578b, // LightSalmon4 + 0x02b32311, 0x000045ff, // OrangeRed1 + 0x02b32312, 0x000040ee, // OrangeRed2 + 0x02b32313, 0x000037cd, // OrangeRed3 + 0x02b32314, 0x0000258b, // OrangeRed4 + 0x02c214d1, 0x0070ffca, // DarkOliveGreen1 + 0x02c214d2, 0x0068eebc, // DarkOliveGreen2 + 0x02c214d3, 0x005acda2, // DarkOliveGreen3 + 0x02c214d4, 0x003d8b6e, // DarkOliveGreen4 + 0x02cb8f1e, 0x00cdfaff, // lemon chiffon, LemonChiffon + 0x02e433be, 0x007fff00, // spring green, SpringGreen + 0x0300ec01, 0x00face87, // light sky blue, LightSkyBlue + 0x030a5781, 0x00eeeeaf, // pale turquoise, PaleTurquoise + 0x037762fe, 0x00b5e4ff, // moccasin + 0x03844151, 0x001e69d2, // chocolate + 0x038834bd, 0x00fafff5, // mint cream, MintCream + 0x039a7627, 0x002fffad, // green yellow, GreenYellow + 0x039ba7a1, 0x008becff, // LightGoldenrod1 + 0x039ba7a2, 0x0082dcee, // LightGoldenrod2 + 0x039ba7a3, 0x0070becd, // LightGoldenrod3 + 0x039ba7a4, 0x004c818b, // LightGoldenrod4 + 0x0406ccb4, 0x009020d0, // violet red, VioletRed + 0x04090521, 0x00e6f5fd, // old lace, OldLace + 0x0426dcb7, 0x00f0fff0, // honeydew + 0x042e4c41, 0x00007fff, // DarkOrange1 + 0x042e4c42, 0x000076ee, // DarkOrange2 + 0x042e4c43, 0x000066cd, // DarkOrange3 + 0x042e4c44, 0x0000458b, // DarkOrange4 + 0x042faa71, 0x00ff3ebf, // DarkOrchid1 + 0x042faa72, 0x00ee3ab2, // DarkOrchid2 + 0x042faa73, 0x00cd329a, // DarkOrchid3 + 0x042faa74, 0x008b2268, // DarkOrchid4 + 0x04547cc1, 0x00ffbf00, // DeepSkyBlue1 + 0x04547cc2, 0x00eeb200, // DeepSkyBlue2 + 0x04547cc3, 0x00cd9a00, // DeepSkyBlue3 + 0x04547cc4, 0x008b6800, // DeepSkyBlue4 + 0x04662b11, 0x0000a5ff, // orange1 + 0x04662b12, 0x00009aee, // orange2 + 0x04662b13, 0x000085cd, // orange3 + 0x04662b14, 0x00005a8b, // orange4 + 0x0467cd21, 0x00fa83ff, // orchid1 + 0x0467cd22, 0x00e97aee, // orchid2 + 0x0467cd23, 0x00c969cd, // orchid3 + 0x0467cd24, 0x0089478b, // orchid4 + 0x046e8691, 0x00c4e4ff, // bisque + 0x046fa641, 0x00fffff0, // azure1 + 0x046fa642, 0x00eeeee0, // azure2 + 0x046fa643, 0x00cdcdc1, // azure3 + 0x046fa644, 0x008b8b83, // azure4 + 0x04737a8b, 0x00dcf8ff, // cornsilk + 0x04774c11, 0x004040ff, // brown1 + 0x04774c12, 0x003b3bee, // brown2 + 0x04774c13, 0x003333cd, // brown3 + 0x04774c14, 0x0023238b, // brown4 + 0x048465f1, 0x005672ff, // coral1 + 0x048465f2, 0x00506aee, // coral2 + 0x048465f3, 0x00455bcd, // coral3 + 0x048465f4, 0x002f3e8b, // coral4 + 0x0494e631, 0x00b46eff, // HotPink1 + 0x0494e632, 0x00a76aee, // HotPink2 + 0x0494e633, 0x009060cd, // HotPink3 + 0x0494e634, 0x00623a8b, // HotPink4 + 0x04c65611, 0x0000ff00, // green1 + 0x04c65612, 0x0000ee00, // green2 + 0x04c65613, 0x0000cd00, // green3 + 0x04c65614, 0x00008b00, // green4 + 0x04c66c40, 0x001a1a1a, // gray10, grey10 + 0x04c66c41, 0x001c1c1c, // gray11, grey11 + 0x04c66c42, 0x001f1f1f, // gray12, grey12 + 0x04c66c43, 0x00212121, // gray13, grey13 + 0x04c66c44, 0x00242424, // gray14, grey14 + 0x04c66c45, 0x00262626, // gray15, grey15 + 0x04c66c46, 0x00292929, // gray16, grey16 + 0x04c66c47, 0x002b2b2b, // gray17, grey17 + 0x04c66c48, 0x002e2e2e, // gray18, grey18 + 0x04c66c49, 0x00303030, // gray19, grey19 + 0x04c66c50, 0x00333333, // gray20, grey20 + 0x04c66c51, 0x00363636, // gray21, grey21 + 0x04c66c52, 0x00383838, // gray22, grey22 + 0x04c66c53, 0x003b3b3b, // gray23, grey23 + 0x04c66c54, 0x003d3d3d, // gray24, grey24 + 0x04c66c55, 0x00404040, // gray25, grey25 + 0x04c66c56, 0x00424242, // gray26, grey26 + 0x04c66c57, 0x00454545, // gray27, grey27 + 0x04c66c58, 0x00474747, // gray28, grey28 + 0x04c66c59, 0x004a4a4a, // gray29, grey29 + 0x04c66c60, 0x004d4d4d, // gray30, grey30 + 0x04c66c61, 0x004f4f4f, // gray31, grey31 + 0x04c66c62, 0x00525252, // gray32, grey32 + 0x04c66c63, 0x00545454, // gray33, grey33 + 0x04c66c64, 0x00575757, // gray34, grey34 + 0x04c66c65, 0x00595959, // gray35, grey35 + 0x04c66c66, 0x005c5c5c, // gray36, grey36 + 0x04c66c67, 0x005e5e5e, // gray37, grey37 + 0x04c66c68, 0x00616161, // gray38, grey38 + 0x04c66c69, 0x00636363, // gray39, grey39 + 0x04c66c70, 0x00666666, // gray40, grey40 + 0x04c66c71, 0x00696969, // gray41, grey41 + 0x04c66c72, 0x006b6b6b, // gray42, grey42 + 0x04c66c73, 0x006e6e6e, // gray43, grey43 + 0x04c66c74, 0x00707070, // gray44, grey44 + 0x04c66c75, 0x00737373, // gray45, grey45 + 0x04c66c76, 0x00757575, // gray46, grey46 + 0x04c66c77, 0x00787878, // gray47, grey47 + 0x04c66c78, 0x007a7a7a, // gray48, grey48 + 0x04c66c79, 0x007d7d7d, // gray49, grey49 + 0x04c66c80, 0x007f7f7f, // gray50, grey50 + 0x04c66c81, 0x00828282, // gray51, grey51 + 0x04c66c82, 0x00858585, // gray52, grey52 + 0x04c66c83, 0x00878787, // gray53, grey53 + 0x04c66c84, 0x008a8a8a, // gray54, grey54 + 0x04c66c85, 0x008c8c8c, // gray55, grey55 + 0x04c66c86, 0x008f8f8f, // gray56, grey56 + 0x04c66c87, 0x00919191, // gray57, grey57 + 0x04c66c88, 0x00949494, // gray58, grey58 + 0x04c66c89, 0x00969696, // gray59, grey59 + 0x04c66c90, 0x00999999, // gray60, grey60 + 0x04c66c91, 0x009c9c9c, // gray61, grey61 + 0x04c66c92, 0x009e9e9e, // gray62, grey62 + 0x04c66c93, 0x00a1a1a1, // gray63, grey63 + 0x04c66c94, 0x00a3a3a3, // gray64, grey64 + 0x04c66c95, 0x00a6a6a6, // gray65, grey65 + 0x04c66c96, 0x00a8a8a8, // gray66, grey66 + 0x04c66c97, 0x00ababab, // gray67, grey67 + 0x04c66c98, 0x00adadad, // gray68, grey68 + 0x04c66c99, 0x00b0b0b0, // gray69, grey69 + 0x04c66ca0, 0x00b3b3b3, // gray70, grey70 + 0x04c66ca1, 0x00b5b5b5, // gray71, grey71 + 0x04c66ca2, 0x00b8b8b8, // gray72, grey72 + 0x04c66ca3, 0x00bababa, // gray73, grey73 + 0x04c66ca4, 0x00bdbdbd, // gray74, grey74 + 0x04c66ca5, 0x00bfbfbf, // gray75, grey75 + 0x04c66ca6, 0x00c2c2c2, // gray76, grey76 + 0x04c66ca7, 0x00c4c4c4, // gray77, grey77 + 0x04c66ca8, 0x00c7c7c7, // gray78, grey78 + 0x04c66ca9, 0x00c9c9c9, // gray79, grey79 + 0x04c66cb0, 0x00cccccc, // gray80, grey80 + 0x04c66cb1, 0x00cfcfcf, // gray81, grey81 + 0x04c66cb2, 0x00d1d1d1, // gray82, grey82 + 0x04c66cb3, 0x00d4d4d4, // gray83, grey83 + 0x04c66cb4, 0x00d6d6d6, // gray84, grey84 + 0x04c66cb5, 0x00d9d9d9, // gray85, grey85 + 0x04c66cb6, 0x00dbdbdb, // gray86, grey86 + 0x04c66cb7, 0x00dedede, // gray87, grey87 + 0x04c66cb8, 0x00e0e0e0, // gray88, grey88 + 0x04c66cb9, 0x00e3e3e3, // gray89, grey89 + 0x04c66cc0, 0x00e5e5e5, // gray90, grey90 + 0x04c66cc1, 0x00e8e8e8, // gray91, grey91 + 0x04c66cc2, 0x00ebebeb, // gray92, grey92 + 0x04c66cc3, 0x00ededed, // gray93, grey93 + 0x04c66cc4, 0x00f0f0f0, // gray94, grey94 + 0x04c66cc5, 0x00f2f2f2, // gray95, grey95 + 0x04c66cc6, 0x00f5f5f5, // gray96, grey96 + 0x04c66cc7, 0x00f7f7f7, // gray97, grey97 + 0x04c66cc8, 0x00fafafa, // gray98, grey98 + 0x04c66cc9, 0x00fcfcfc, // gray99, grey99 + 0x04e1044e, 0x0032cd9a, // yellow green, YellowGreen + 0x04e66b44, 0x00aae8ee, // pale goldenrod, PaleGoldenrod + 0x04eb47c1, 0x00f0ffff, // ivory1 + 0x04eb47c2, 0x00e0eeee, // ivory2 + 0x04eb47c3, 0x00c1cdcd, // ivory3 + 0x04eb47c4, 0x00838b8b, // ivory4 + 0x04edcb37, 0x00d2fafa, // light goldenrod yellow, LightGoldenrodYellow + 0x04fc5fc1, 0x008ff6ff, // khaki1 + 0x04fc5fc2, 0x0085e6ee, // khaki2 + 0x04fc5fc3, 0x0073c6cd, // khaki3 + 0x04fc5fc4, 0x004e868b, // khaki4 + 0x04ffba31, 0x00ff82ab, // MediumPurple1 + 0x04ffba32, 0x00ee799f, // MediumPurple2 + 0x04ffba33, 0x00cd6889, // MediumPurple3 + 0x04ffba34, 0x008b475d, // MediumPurple4 + 0x0516743e, 0x006030b0, // maroon + 0x053f2721, 0x00ff66e0, // MediumOrchid1 + 0x053f2722, 0x00ee5fd1, // MediumOrchid2 + 0x053f2723, 0x00cd52b4, // MediumOrchid3 + 0x053f2724, 0x008b377a, // MediumOrchid4 + 0x054662b1, 0x0000a5ff, // orange + 0x05467cd4, 0x00d670da, // orchid + 0x0553f274, 0x00d355ba, // medium orchid, MediumOrchid + 0x055a7501, 0x00f020a0, // purple + 0x055c602e, 0x00578b2e, // sea green, SeaGreen + 0x05604911, 0x00b48246, // steel blue, SteelBlue + 0x05654aab, 0x009314ff, // deep pink, DeepPink + 0x0567c17c, 0x00eef5ff, // seashell + 0x05727981, 0x003030ff, // firebrick1 + 0x05727982, 0x002c2cee, // firebrick2 + 0x05727983, 0x002626cd, // firebrick3 + 0x05727984, 0x001a1a8b, // firebrick4 + 0x0576123e, 0x007280fa, // salmon + 0x057d0df6, 0x00b9daff, // peach puff, PeachPuff + 0x057d6321, 0x002d52a0, // sienna + 0x0587bc7e, 0x00aab220, // light sea green, LightSeaGreen + 0x0594168f, 0x004763ff, // tomato + 0x05a75011, 0x00ff309b, // purple1 + 0x05a75012, 0x00ee2c91, // purple2 + 0x05a75013, 0x00cd267d, // purple3 + 0x05a75014, 0x008b1a55, // purple4 + 0x05ae4064, 0x00ee82ee, // violet + 0x05b63d51, 0x00ff00ff, // magenta1 + 0x05b63d52, 0x00ee00ee, // magenta2 + 0x05b63d53, 0x00cd00cd, // magenta3 + 0x05b63d54, 0x008b008b, // magenta4 + 0x05bc5671, 0x00bae7ff, // wheat1 + 0x05bc5672, 0x00aed8ee, // wheat2 + 0x05bc5673, 0x0096bacd, // wheat3 + 0x05bc5674, 0x00667e8b, // wheat4 + 0x05c31411, 0x009aff9a, // PaleGreen1 + 0x05c31412, 0x0090ee90, // PaleGreen2 + 0x05c31413, 0x007ccd7c, // PaleGreen3 + 0x05c31414, 0x00548b54, // PaleGreen4 + 0x05c60341, 0x009fff54, // SeaGreen1 + 0x05c60342, 0x0094ee4e, // SeaGreen2 + 0x05c60343, 0x0080cd43, // SeaGreen3 + 0x05c60344, 0x00578b2e, // SeaGreen4 + 0x05d61147, 0x0000ffff, // yellow + 0x06046d91, 0x00ff7648, // RoyalBlue1 + 0x06046d92, 0x00ee6e43, // RoyalBlue2 + 0x06046d93, 0x00cd5f3a, // RoyalBlue3 + 0x06046d94, 0x008b4027, // RoyalBlue4 + 0x06049111, 0x00ffb863, // SteelBlue1 + 0x06049112, 0x00eeac5c, // SteelBlue2 + 0x06049113, 0x00cd944f, // SteelBlue3 + 0x06049114, 0x008b6436, // SteelBlue4 + 0x060d78a8, 0x00f5f0ff, // lavender blush, LavenderBlush + 0x06120cb1, 0x00d4ff7f, // aquamarine + 0x062b3234, 0x000045ff, // orange red, OrangeRed + 0x063021f1, 0x00ff901e, // DodgerBlue1 + 0x063021f2, 0x00ee861c, // DodgerBlue2 + 0x063021f3, 0x00cd7418, // DodgerBlue3 + 0x063021f4, 0x008b4e10, // DodgerBlue4 + 0x0650dae1, 0x00f0faff, // floral white, FloralWhite + 0x0654aab1, 0x009314ff, // DeepPink1 + 0x0654aab2, 0x008912ee, // DeepPink2 + 0x0654aab3, 0x007610cd, // DeepPink3 + 0x0654aab4, 0x00500a8b, // DeepPink4 + 0x0657279b, 0x002222b2, // firebrick + 0x066f7511, 0x008b0000, // dark blue, DarkBlue + 0x066f89de, 0x008b8b00, // dark cyan, DarkCyan + 0x066fc2e9, 0x00a9a9a9, // dark grey, DarkGrey, dark gray, DarkGray + 0x066fccf1, 0x00ab82ff, // PaleVioletRed1 + 0x066fccf2, 0x009f79ee, // PaleVioletRed2 + 0x066fccf3, 0x008968cd, // PaleVioletRed3 + 0x066fccf4, 0x005d478b, // PaleVioletRed4 + 0x067c17a1, 0x00eef5ff, // seashell1 + 0x067c17a2, 0x00dee5ee, // seashell2 + 0x067c17a3, 0x00bfc5cd, // seashell3 + 0x067c17a4, 0x0082868b, // seashell4 + 0x06836cc1, 0x00fff598, // CadetBlue1 + 0x06836cc2, 0x00eee58e, // CadetBlue2 + 0x06836cc3, 0x00cdc57a, // CadetBlue3 + 0x06836cc4, 0x008b8653, // CadetBlue4 + 0x06854991, 0x00cd5a6a, // slate blue, SlateBlue + 0x06859e69, 0x00908070, // slate gray, SlateGray, slate grey, SlateGrey + 0x06a62d62, 0x00fae6e6, // lavender + 0x06a67d31, 0x00fff500, // turquoise1 + 0x06a67d32, 0x00eee500, // turquoise2 + 0x06a67d33, 0x00cdc500, // turquoise3 + 0x06a67d34, 0x008b8600, // turquoise4 + 0x06aa51f4, 0x00e22b8a, // blue violet, BlueViolet + 0x06bd74b1, 0x00800000, // navy blue, NavyBlue + 0x06d3faa0, 0x00d5efff, // papaya whip, PapayaWhip + 0x06e86901, 0x00c4e4ff, // bisque1 + 0x06e86902, 0x00b7d5ee, // bisque2 + 0x06e86903, 0x009eb7cd, // bisque3 + 0x06e86904, 0x006b7d8b, // bisque4 + 0x06fc2d3e, 0x00006400, // dark green, DarkGreen + 0x06ff8d99, 0x006bb7bd, // dark khaki, DarkKhaki + 0x071f0594, 0x0087b8de, // burlywood + 0x0737a8a1, 0x00dcf8ff, // cornsilk1 + 0x0737a8a2, 0x00cde8ee, // cornsilk2 + 0x0737a8a3, 0x00b1c8cd, // cornsilk3 + 0x0737a8a4, 0x0078888b, // cornsilk4 + 0x074ffba1, 0x00db7093, // medium purple, MediumPurple + 0x07612441, 0x00698cff, // salmon1 + 0x07612442, 0x006282ee, // salmon2 + 0x07612443, 0x005470cd, // salmon3 + 0x07612444, 0x00394c8b, // salmon4 + 0x076a67d1, 0x00d0e040, // turquoise + 0x07921611, 0x0000ff7f, // chartreuse + 0x07d0dfc1, 0x00b9daff, // PeachPuff1 + 0x07d0dfc2, 0x00adcbee, // PeachPuff2 + 0x07d0dfc3, 0x0095afcd, // PeachPuff3 + 0x07d0dfc4, 0x0065778b, // PeachPuff4 + 0x07d63211, 0x004782ff, // sienna1 + 0x07d63212, 0x004279ee, // sienna2 + 0x07d63213, 0x003968cd, // sienna3 + 0x07d63214, 0x0026478b, // sienna4 + 0x080d71c1, 0x00ebce87, // sky blue, SkyBlue + 0x08437c04, 0x00cdebff, // blanched almond, BlanchedAlmond + 0x08441571, 0x00247fff, // chocolate1 + 0x08441572, 0x002176ee, // chocolate2 + 0x08441573, 0x001d66cd, // chocolate3 + 0x08441574, 0x0013458b, // chocolate4 + 0x084547c1, 0x00ffbf00, // deep sky blue, DeepSkyBlue + 0x08549921, 0x00ff6f83, // SlateBlue1 + 0x08549922, 0x00ee677a, // SlateBlue2 + 0x08549923, 0x00cd5969, // SlateBlue3 + 0x08549924, 0x008b3c47, // SlateBlue4 + 0x0859e6a1, 0x00ffe2c6, // SlateGray1 + 0x0859e6a2, 0x00eed3b9, // SlateGray2 + 0x0859e6a3, 0x00cdb69f, // SlateGray3 + 0x0859e6a4, 0x008b7b6c, // SlateGray4 + 0x08634521, 0x00e6e0b0, // powder blue, PowderBlue + 0x0863bf11, 0x00f5f5f5, // white smoke, WhiteSmoke + 0x0866fcc4, 0x009370db, // pale violet red, PaleVioletRed + 0x08670614, 0x0000008b, // dark red, DarkRed + 0x0867b771, 0x0025c1ff, // goldenrod1 + 0x0867b772, 0x0022b4ee, // goldenrod2 + 0x0867b773, 0x001d9bcd, // goldenrod3 + 0x0867b774, 0x0014698b, // goldenrod4 + 0x086836c1, 0x00a09e5f, // cadet blue, CadetBlue + 0x086ec931, 0x00e0ffff, // LightYellow1 + 0x086ec932, 0x00d1eeee, // LightYellow2 + 0x086ec933, 0x00b4cdcd, // LightYellow3 + 0x086ec934, 0x007a8b8b, // LightYellow4 + 0x089e4591, 0x00e1e4ff, // misty rose, MistyRose + 0x089f73c1, 0x00fff8f8, // ghost white, GhostWhite + 0x08c56b1e, 0x009afa00, // medium spring green, MediumSpringGreen + 0x08c7233e, 0x00228b22, // forest green, ForestGreen + 0x08ce8951, 0x00d8bfd8, // thistle + 0x08d67874, 0x005c5ccd, // indian red, IndianRed + 0x08d743fe, 0x008f8fbc, // rosy brown, RosyBrown + 0x08e1c629, 0x00696969, // dim gray, DimGray, dim grey, DimGrey + 0x08e4cbb4, 0x000b86b8, // dark goldenrod, DarkGoldenrod + 0x08fe0c11, 0x00dec4b0, // light steel blue, LightSteelBlue + 0x09216131, 0x0000ff7f, // chartreuse1 + 0x09216132, 0x0000ee76, // chartreuse2 + 0x09216133, 0x0000cd66, // chartreuse3 + 0x09216134, 0x00008b45, // chartreuse4 + 0x0926ebee, 0x007aa0ff, // light salmon, LightSalmon + 0x09416971, 0x004763ff, // tomato1 + 0x09416972, 0x00425cee, // tomato2 + 0x09416973, 0x00394fcd, // tomato3 + 0x09416974, 0x0026368b, // tomato4 + 0x0986ec97, 0x00e0ffff, // light yellow, LightYellow + 0x09d2229e, 0x0060a4f4, // sandy brown, SandyBrown + 0x09e459c1, 0x00e1e4ff, // MistyRose1 + 0x09e459c2, 0x00d2d5ee, // MistyRose2 + 0x09e459c3, 0x00b5b7cd, // MistyRose3 + 0x09e459c4, 0x007b7d8b, // MistyRose4 + 0x0a5c25b1, 0x003effc0, // OliveDrab1 + 0x0a5c25b2, 0x003aeeb3, // OliveDrab2 + 0x0a5c25b3, 0x0032cd9a, // OliveDrab3 + 0x0a5c25b4, 0x00228b69, // OliveDrab4 + 0x0b385569, 0x00998877, // light slate gray, LightSlateGray, + // light slate grey, LightSlateGrey + 0x0b390291, 0x00ff7084, // light slate blue, LightSlateBlue + 0x0b630211, 0x00ff901e, // dodger blue, DodgerBlue + 0x0bd84141, 0x00e6d8ad, // light blue, LightBlue + 0x0bd896b9, 0x00d3d3d3, // light grey, LightGrey, light gray, LightGray + 0x0bd8dd8e, 0x00ffffe0, // light cyan, LightCyan + 0x0bd91efb, 0x00c1b6ff, // light pink, LightPink + 0x0c2c213e, 0x002f6b55, // dark olive green, DarkOliveGreen + 0x0c2c353e, 0x0000fc7c, // lawn green, LawnGreen + 0x0c66c470, 0x00ffffff, // gray100, grey100 + 0x0cb21f31, 0x00aacd66, // medium aquamarine, MediumAquamarine + 0x0cb8f231, 0x00cdfaff, // LemonChiffon1 + 0x0cb8f232, 0x00bfe9ee, // LemonChiffon2 + 0x0cb8f233, 0x00a5c9cd, // LemonChiffon3 + 0x0cb8f234, 0x0070898b, // LemonChiffon4 + 0x0ce895c1, 0x00ffe1ff, // thistle1 + 0x0ce895c2, 0x00eed2ee, // thistle2 + 0x0ce895c3, 0x00cdb5cd, // thistle3 + 0x0ce895c4, 0x008b7b8b, // thistle4 + 0x0cecedc4, 0x008515c7, // medium violet red, MediumVioletRed + 0x0d0840e1, 0x00d7ebfa, // antique white, AntiqueWhite + 0x0d39ba74, 0x0082ddee, // light goldenrod, LightGoldenrod + 0x0d494e6b, 0x00b469ff, // hot pink, HotPink + 0x0d6046d1, 0x00e16941, // royal blue, RoyalBlue + 0x0d6114f1, 0x0000ffff, // yellow1 + 0x0d6114f2, 0x0000eeee, // yellow2 + 0x0d6114f3, 0x0000cdcd, // yellow3 + 0x0d6114f4, 0x00008b8b, // yellow4 + 0x0d6787f1, 0x006a6aff, // IndianRed1 + 0x0d6787f2, 0x006363ee, // IndianRed2 + 0x0d6787f3, 0x005555cd, // IndianRed3 + 0x0d6787f4, 0x003a3a8b, // IndianRed4 + 0x0d744091, 0x00c1c1ff, // RosyBrown1 + 0x0d744092, 0x00b4b4ee, // RosyBrown2 + 0x0d744093, 0x009b9bcd, // RosyBrown3 + 0x0d744094, 0x0069698b, // RosyBrown4 + 0x0d753791, 0x00fff8f0, // alice blue, AliceBlue + 0x0d834bec, 0x008080f0, // light coral, LightCoral + 0x0d8414f1, 0x00ffefbf, // LightBlue1 + 0x0d8414f2, 0x00eedfb2, // LightBlue2 + 0x0d8414f3, 0x00cdc09a, // LightBlue3 + 0x0d8414f4, 0x008b8368, // LightBlue4 + 0x0d8968ee, 0x0090ee90, // light green, LightGreen + 0x0d8dd9a1, 0x00ffffe0, // LightCyan1 + 0x0d8dd9a2, 0x00eeeed1, // LightCyan2 + 0x0d8dd9a3, 0x00cdcdb4, // LightCyan3 + 0x0d8dd9a4, 0x008b8b7a, // LightCyan4 + 0x0d91ef51, 0x00b9aeff, // LightPink1 + 0x0d91ef52, 0x00ada2ee, // LightPink2 + 0x0d91ef53, 0x00958ccd, // LightPink3 + 0x0d91ef54, 0x00655f8b, // LightPink4 + 0x0da15301, 0x00c1ffc1, // DarkSeaGreen1 + 0x0da15302, 0x00b4eeb4, // DarkSeaGreen2 + 0x0da15303, 0x009bcd9b, // DarkSeaGreen3 + 0x0da15304, 0x00698b69, // DarkSeaGreen4 + 0x0e2ce221, 0x00ffff97, // DarkSlateGray1 + 0x0e2ce222, 0x00eeee8d, // DarkSlateGray2 + 0x0e2ce223, 0x00cdcd79, // DarkSlateGray3 + 0x0e2ce224, 0x008b8b52, // DarkSlateGray4 + 0x0e373f3f, 0x00dcdcdc, // gainsboro + 0x0e433c31, 0x007fff00, // SpringGreen1 + 0x0e433c32, 0x0076ee00, // SpringGreen2 + 0x0e433c33, 0x0066cd00, // SpringGreen3 + 0x0e433c34, 0x00458b00, // SpringGreen4 + 0x0e4cbbf1, 0x000fb9ff, // DarkGoldenrod1 + 0x0e4cbbf2, 0x000eadee, // DarkGoldenrod2 + 0x0e4cbbf3, 0x000c95cd, // DarkGoldenrod3 + 0x0e4cbbf4, 0x0008658b, // DarkGoldenrod4 + 0x0e6f26c1, 0x00ee687b, // medium slate blue, MediumSlateBlue + 0x0ea48411, 0x00cd0000, // medium blue, MediumBlue + 0x0ea5c252, 0x00238e6b, // olive drab, OliveDrab + 0x0ec60341, 0x00701919, // midnight blue, MidnightBlue + 0x0ee279d1, 0x008b3d48, // dark slate blue, DarkSlateBlue + 0x0ee2ce29, 0x004f4f2f, // dark slate gray, DarkSlateGray, + // dark slate grey, DarkSlateGrey + 0x0f0f3791, 0x00d1ce00, // dark turquoise, DarkTurquoise + 0x0f14e451, 0x00ed9564, // cornflower blue, CornflowerBlue + 0x0f19a4d1, 0x00addeff, // navajo white, NavajoWhite + 0x0f844681, 0x00ccd148, // medium turquoise, MediumTurquoise + 0x0fe0c1c1, 0x00ffe1ca, // LightSteelBlue1 + 0x0fe0c1c2, 0x00eed2bc, // LightSteelBlue2 + 0x0fe0c1c3, 0x00cdb5a2, // LightSteelBlue3 + 0x0fe0c1c4, 0x008b7b6e // LightSteelBlue4 +}; From b9b805689e2387d8b97225af5ca8b76c5ac0c689 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sun, 27 Jan 2013 22:08:06 +0100 Subject: [PATCH 012/122] Revert hrev38316 fore-/background colors customization This reverts hrev38316 in parts of foreground and background colors handling. Mentioned revision has hardcoded colors to system ANSI color entries 7 and 0 correspondently. It is very uncomfortable for the console programs like Midnight Commander because they become colors that were defined in the current Terminal scheme and doesn't correspond to real ANSI color names. For example "ANSI black" can be black, white, blue, gray or something else in dependency of the current color scheme configuration. The same side-effect was obviously observed for "ANSI white" and produced funny color combinations in software. --- src/apps/terminal/TermParse.cpp | 8 +++--- src/apps/terminal/TermView.cpp | 48 +++++++++++++++++++-------------- src/apps/terminal/TermView.h | 2 ++ 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 48cdbeefd1..a038ea98a9 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -72,8 +72,8 @@ TermParse::_NextParseChar() TermParse::TermParse(int fd) : fFd(fd), - fAttr(FORECOLORED(7)), - fSavedAttr(FORECOLORED(7)), + fAttr(BACKCOLOR), + fSavedAttr(BACKCOLOR), fParseThread(-1), fReaderThread(-1), fReaderSem(-1), @@ -393,7 +393,7 @@ TermParse::EscParse() int width = 1; BAutolock locker(fBuffer); - fAttr = fSavedAttr = FORECOLORED(7); + fAttr = fSavedAttr = BACKCOLOR; while (!fQuitting) { try { @@ -832,7 +832,7 @@ TermParse::EscParse() switch (param[row]) { case DEFAULT: case 0: /* Reset attribute */ - fAttr = FORECOLORED(7); + fAttr = 0; break; case 1: /* Bold */ diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 54d9621577..305b30cc3d 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -373,7 +373,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) if (error < B_OK) return error; - SetLowColor(fTermColorTable[8]); + SetLowColor(fTextBackColor); SetViewColor(B_TRANSPARENT_32_BIT); return B_OK; @@ -626,10 +626,10 @@ TermView::GetTermSizeFromRect(const BRect &rect, int *_rows, void TermView::SetTextColor(rgb_color fore, rgb_color back) { - fTermColorTable[0] = back; - fTermColorTable[7] = fore; + fTextBackColor = back; + fTextForeColor = fore; - SetLowColor(back); + SetLowColor(fTextBackColor); } @@ -660,20 +660,20 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic) switch (index) { case 10: - fTermColorTable[7] = color; + fTextForeColor = color; break; case 11: - fTermColorTable[0] = color; - SetLowColor(fTermColorTable[0]); + fTextBackColor = color; + SetLowColor(fTextBackColor); break; case 110: - fTermColorTable[7] = + fTextForeColor = PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR); break; case 111: - fTermColorTable[0] = + fTextBackColor = PrefHandler::Default()->getRGB(PREF_TEXT_BACK_COLOR); - SetLowColor(fTermColorTable[0]); + SetLowColor(fTextBackColor); break; default: break; @@ -914,19 +914,26 @@ void TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, int32 width, bool mouse, bool cursor, BView *inView) { - rgb_color rgb_fore, rgb_back; - inView->SetFont(&fHalfFont); // Set pen point int x2 = x1 + fFontWidth * width; int y2 = y1 + fFontHeight; + rgb_color rgb_fore = fTextForeColor; + rgb_color rgb_back = fTextBackColor; + // color attribute int forecolor = IS_FORECOLOR(attr); int backcolor = IS_BACKCOLOR(attr); - rgb_fore = fTermColorTable[forecolor]; - rgb_back = fTermColorTable[backcolor]; + + if (IS_FORESET(attr)) + rgb_fore = fTermColorTable[forecolor]; + if (IS_BACKSET(attr)) + rgb_back = fTermColorTable[backcolor]; + +// printf("DLP:[%03x %03x %03x]; [%03x %03x %03x];\n", +// rgb_fore.red, rgb_fore.green, rgb_fore.blue, rgb_back.red, rgb_back.green, rgb_back.blue); // Selection check. if (cursor) { @@ -1011,7 +1018,7 @@ TermView::_DrawCursor() if (cursorVisible) SetHighColor(fCursorBackColor); else - SetHighColor(fTermColorTable[IS_BACKCOLOR(attr)]); + SetHighColor(cursorVisible ? fCursorBackColor : fTextBackColor); } FillRect(rect); @@ -1163,7 +1170,7 @@ TermView::Draw(BRect updateRect) if (clearLeft <= updateRect.right) { BRect rect(clearLeft, updateRect.top, updateRect.right, updateRect.bottom); - SetHighColor(fTermColorTable[0]); + SetHighColor(fTextBackColor); FillRect(rect); } } @@ -1174,7 +1181,7 @@ TermView::Draw(BRect updateRect) if (clearTop <= updateRect.bottom) { BRect rect(updateRect.left, clearTop, updateRect.right, updateRect.bottom); - SetHighColor(fTermColorTable[0]); + SetHighColor(fTextBackColor); FillRect(rect); } } @@ -1221,6 +1228,7 @@ TermView::Draw(BRect updateRect) uint32 backcolor = IS_BACKCOLOR(fVisibleTextBuffer->GetLineColor( lineIndexInHistory)); rgb_color rgb_back = fTermColorTable[backcolor]; + // /* rgb_color*/ rgb_back = fTextBackColor; SetHighColor(rgb_back); FillRect(rect); } @@ -3002,15 +3010,15 @@ TermView::_DrawInlineMethodString() BRect eraseRect(startPoint, endPoint); PushState(); - SetHighColor(fTermColorTable[7]); + SetHighColor(fTextForeColor); FillRect(eraseRect); PopState(); BPoint loc = _ConvertFromTerminal(fCursor); loc.y += fFontHeight; SetFont(&fHalfFont); - SetHighColor(fTermColorTable[0]); - SetLowColor(fTermColorTable[7]); + SetHighColor(fTextBackColor); + SetLowColor(fTextForeColor); DrawString(fInline->String(), loc); } diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index e4c183bc03..c7fe52ffb6 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -259,6 +259,8 @@ private: InlineInput* fInline; // Color and Attribute. + rgb_color fTextForeColor; + rgb_color fTextBackColor; rgb_color fCursorForeColor; rgb_color fCursorBackColor; rgb_color fSelectForeColor; From 238b435a8ebf260ac014d6047a3a27a5d1c464ae Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Mon, 28 Jan 2013 21:40:14 +0100 Subject: [PATCH 013/122] Fix empty background coloring right/below of text lines --- src/apps/terminal/TermView.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 305b30cc3d..ff24da90f1 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -1224,11 +1224,14 @@ TermView::Draw(BRect updateRect) SetHighColor(fSelectBackColor); FillRect(rect); } else { + rgb_color rgb_back = fTextBackColor; + int lineIndexInHistory = j + fTextBuffer->HistorySize(); - uint32 backcolor = IS_BACKCOLOR(fVisibleTextBuffer->GetLineColor( - lineIndexInHistory)); - rgb_color rgb_back = fTermColorTable[backcolor]; - // /* rgb_color*/ rgb_back = fTextBackColor; + uint32 attr = fVisibleTextBuffer->GetLineColor( + lineIndexInHistory); + + if (IS_BACKSET(attr)) + rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; SetHighColor(rgb_back); FillRect(rect); } From 718a28ceadb872b766b13cb3743c575fe416e501 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Wed, 30 Jan 2013 22:12:13 +0100 Subject: [PATCH 014/122] Add Debug snapshots and capture of Terminal data flow Two helper functions introduced: "make debug snapshots" triggered by Ctrl-Cmd-S shortcut and "capture data flow" triggered by Ctrl-Cmd-C shortcut. The first one makes debug dump of current data both in visual and in text buffer, including history lines if they available. The second one mirrors all characters and control sequences that are flowing through the Parser. Both dump and capture files are saved under /var/log folder. That functionality available only if the USE_DEBUG_SNAPSHOTS switch is defined. --- src/apps/terminal/BasicTerminalBuffer.cpp | 97 ++++++++++++++++++++++- src/apps/terminal/BasicTerminalBuffer.h | 7 ++ src/apps/terminal/TermConst.h | 9 +++ src/apps/terminal/TermParse.cpp | 5 ++ src/apps/terminal/TermView.cpp | 22 +++++ src/apps/terminal/TermView.h | 3 + src/apps/terminal/TermWindow.cpp | 17 ++++ 7 files changed, 158 insertions(+), 2 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 5658216bc6..19f4416e8e 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -111,7 +112,8 @@ BasicTerminalBuffer::BasicTerminalBuffer() fOriginMode(false), fSavedOriginMode(false), fTabStops(NULL), - fEncoding(M_UTF8) + fEncoding(M_UTF8), + fCaptureFile(-1) { } @@ -121,6 +123,9 @@ BasicTerminalBuffer::~BasicTerminalBuffer() delete fHistory; _FreeLines(fScreen, fHeight); delete[] fTabStops; + + if (fCaptureFile >= 0) + close(fCaptureFile); } @@ -255,7 +260,8 @@ BasicTerminalBuffer::SynchronizeWith(const BasicTerminalBuffer* other, destLine->softBreak = sourceLine->softBreak; if (destLine->length > 0) { memcpy(destLine->cells, sourceLine->cells, - destLine->length * sizeof(TerminalCell)); +// destLine->length * sizeof(TerminalCell)); + fWidth * sizeof(TerminalCell)); } } else { // The source line was a history line and has been copied @@ -1631,3 +1637,90 @@ BasicTerminalBuffer::_NextChar(TermPos& pos, UTF8Char& c) const return true; } + + +#ifdef USE_DEBUG_SNAPSHOTS + +void +BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName) +{ + BString str("/var/log/"); + struct tm* ts = gmtime(&timeStamp); + str << ts->tm_hour << ts->tm_min << ts->tm_sec; + str << fileName; + FILE* fileOut = fopen(str.String(), "w"); + + bool dumpHistory = false; + do { + if (dumpHistory && fHistory == NULL) { + fprintf(fileOut, "> History is empty <\n"); + break; + } + + size_t countLines = dumpHistory ? fHistory->Size() : fHeight; + fprintf(fileOut, "> %s lines dump begin <\n", + dumpHistory ? "History" : "Terminal"); + + TerminalLine* lineBuffer = ALLOC_LINE_ON_STACK(fWidth); + for (int i = 0; i < countLines; i++) { + TerminalLine* line = dumpHistory + ? fHistory->GetTerminalLineAt(i, lineBuffer) + : fScreen[_LineIndex(i)]; + + if (line == NULL) { + fprintf(fileOut, "line: %ld is NULL!!!\n", i); + continue; + } + + fprintf(fileOut, "%02d:%02d:%08lx:\n", + i, line->length, line->attributes); + for (int j = 0; j < line->length; j++) + fprintf(fileOut, "%c", line->cells[j].character.bytes[0]); + + fprintf(fileOut, "\n"); + for (int s = 28; s >= 0; s -= 4) { + for (int j = 0; j < fWidth; j++) + fprintf(fileOut, "%01lx", + (line->cells[j].attributes >> s) & 0x0F); + + fprintf(fileOut, "\n"); + } + + fprintf(fileOut, "\n"); + } + + fprintf(fileOut, "> %s lines dump finished <\n", + dumpHistory ? "History" : "Terminal"); + + } while (dumpHistory = !dumpHistory); + + fclose(fileOut); +} + + +void +BasicTerminalBuffer::RestartDebugCapture() +{ + if (fCaptureFile >= 0) { + close(fCaptureFile); + fCaptureFile = -1; + return; + } + + time_t timeStamp = time(NULL); + BString str("/var/log/"); + struct tm* ts = gmtime(&timeStamp); + str << ts->tm_hour << ts->tm_min << ts->tm_sec; + str << ".Capture.log"; + fCaptureFile = open(str.String(), O_CREAT | O_WRONLY); +} + + +void +BasicTerminalBuffer::CaptureChar(char ch) +{ + if (fCaptureFile >= 0) + write(fCaptureFile, &ch, 1); +} + +#endif diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index 6caef3c3be..2be3efe833 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -104,6 +104,12 @@ public: bool matchWord, TermPos& matchStart, TermPos& matchEnd) const; + // snapshots and data capture for debugging + void MakeLinesSnapshots(time_t timeStamp, + const char* fileName); + void RestartDebugCapture(); + /*inline*/ void CaptureChar(char ch); + // insert chars/lines inline void InsertChar(UTF8Char c, uint32 attributes); void InsertChar(UTF8Char c, uint32 width, @@ -220,6 +226,7 @@ protected: bool* fTabStops; int fEncoding; + int fCaptureFile; // listener/dirty region management TerminalBufferDirtyInfo fDirtyInfo; diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index 50cf9cc1ff..89ec6dc0f8 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -46,6 +46,15 @@ #include +// define to get Ctrl-Cmd-S / Ctrl-Cmd-C shortcuts +// to get the debug buffers snapshots and control +// sequences capture logging +#define USE_DEBUG_SNAPSHOTS +#ifdef USE_DEBUG_SNAPSHOTS +const uint32 SHORTCUT_DEBUG_SNAPSHOTS = 'sdbs'; +const uint32 SHORTCUT_DEBUG_CAPTURE = 'srdc'; +#endif + // Menu Message static const uint32 MENU_SWITCH_TERM = 'MSWT'; static const uint32 MENU_NEW_TERM = 'MNTE'; diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index a038ea98a9..e892f47e1b 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -409,6 +409,11 @@ TermParse::EscParse() } //debug_printf("TermParse: char: '%c' (%d), parse state: %d\n", c, c, parsestate[c]); + +#ifdef USE_DEBUG_SNAPSHOTS + fBuffer->CaptureChar(c); +#endif + switch (parsestate[c]) { case CASE_PRINT: fBuffer->InsertChar((char)c, fAttr); diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index ff24da90f1..5cb6f8c7b0 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -3238,3 +3238,25 @@ void TermView::Listener::NextTermView(TermView* view) { } + + +#ifdef USE_DEBUG_SNAPSHOTS + +void +TermView::MakeDebugSnapshots() +{ + BAutolock _(fTextBuffer); + time_t timeStamp = time(NULL); + fTextBuffer->MakeLinesSnapshots(timeStamp, ".TextBuffer.log"); + fVisibleTextBuffer->MakeLinesSnapshots(timeStamp, ".VisualTextBuffer.log"); +} + + +void +TermView::RestartDebugCapture() +{ + BAutolock _(fTextBuffer); + fTextBuffer->RestartDebugCapture(); +} + +#endif diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index c7fe52ffb6..a22a74dabf 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -90,6 +90,9 @@ public: void SetMouseClipboard(BClipboard *); + void MakeDebugSnapshots(); + void RestartDebugCapture(); + // edit functions void Copy(BClipboard* clipboard); void Paste(BClipboard* clipboard); diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 34d047fee4..1e33dfa4fb 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -517,6 +517,13 @@ TermWindow::_SetupMenu() AddChild(fMenuBar); _UpdateSwitchTerminalsMenuItem(); + +#ifdef USE_DEBUG_SNAPSHOTS + AddShortcut('S', B_COMMAND_KEY | B_CONTROL_KEY, + new BMessage(SHORTCUT_DEBUG_SNAPSHOTS)); + AddShortcut('C', B_COMMAND_KEY | B_CONTROL_KEY, + new BMessage(SHORTCUT_DEBUG_CAPTURE)); +#endif } @@ -658,6 +665,16 @@ TermWindow::MessageReceived(BMessage *message) _ActiveTermView()->Paste(be_clipboard); break; +#ifdef USE_DEBUG_SNAPSHOTS + case SHORTCUT_DEBUG_SNAPSHOTS: + _ActiveTermView()->MakeDebugSnapshots(); + break; + + case SHORTCUT_DEBUG_CAPTURE: + _ActiveTermView()->RestartDebugCapture(); + break; +#endif + case B_SELECT_ALL: _ActiveTermView()->SelectAll(); break; From b512213be6f7cf9660c07e24a81b7597c8776116 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Thu, 31 Jan 2013 22:39:27 +0100 Subject: [PATCH 015/122] Support Background Color Erase, switch to xterm-256color MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Lot of fixes to add support of BCE (background color erase). Shell is switched to emulate xterm-256colors terminal, that is modern and declare the colors capabilities of our Terminal more precisely; * Move current character attributes fAttr from TermView to BasicTerminalBuffer. This reduces count of function parameters on call various InsertXXX routines; * In alternative screen buffer mode the whole cells "matrix" of the screen buffers is taken into account during drawing background of the cells in the view. In normal mode the "attributes" field of the TerminalLine is used to detect color of the area after the last character - there should be no changes with previous behaviour; * Fix attributes on kSpaceChar-padding short lines. Current _line_ attributes should be used instead of current _global_ attributes; * Fixed pads and gaps attributes, more accurate handling of ESC[K and K°; * _Invalidate strings just erased. Fix EraseChars DCH processing; * Fixes for ESC[J erase lines control sequences; * Added handling SGR 90-97, 100-107 codes; * Clean the newly allocated TerminalLine lines; * More precise cursor background [off-]color estimation at ends of lines. The current line attributes should be used instead of hard-coding it to fTextBackground; * Fixed background color erase in normal screen buffer modes. Wrong line indexes calculation messed the drawing results or just returned 0 [default] line attributes; * Some more BCE support: TerminalLine::Clear() now honors current character attributes; * Fixes #6143, #6510 and #6424. --- src/apps/terminal/BasicTerminalBuffer.cpp | 115 ++++++++++++++----- src/apps/terminal/BasicTerminalBuffer.h | 63 ++++++++--- src/apps/terminal/Shell.cpp | 5 +- src/apps/terminal/TermParse.cpp | 128 +++++++++++++--------- src/apps/terminal/TermParse.h | 3 - src/apps/terminal/TermView.cpp | 53 +++++---- src/apps/terminal/TerminalLine.h | 6 +- 7 files changed, 249 insertions(+), 124 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 19f4416e8e..e70c2098c5 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -6,6 +6,7 @@ #include "BasicTerminalBuffer.h" #include +#include #include #include #include @@ -106,6 +107,8 @@ BasicTerminalBuffer::BasicTerminalBuffer() fScreen(NULL), fScreenOffset(0), fHistory(NULL), + fAttributes(0), + fSavedAttributes(0), fSoftWrappedCursor(false), fOverwriteMode(false), fAlternateScreenActive(false), @@ -268,7 +271,7 @@ BasicTerminalBuffer::SynchronizeWith(const BasicTerminalBuffer* other, // directly into destLine. } } else - destLine->Clear(); + destLine->Clear(fAttributes, fWidth); } } @@ -304,6 +307,28 @@ BasicTerminalBuffer::GetChar(int32 row, int32 column, UTF8Char& character, return A_CHAR; } +void +BasicTerminalBuffer::GetCellAttributes(int32 row, int32 column, + uint32& attributes, uint32& count) const +{ + count = 0; + TerminalLine* lineBuffer = ALLOC_LINE_ON_STACK(fWidth); + TerminalLine* line = _HistoryLineAt(row, lineBuffer); + if (line == NULL || column < 0) + return; + + uint32 c = column; + for (; c < fWidth; c++) { + TerminalCell& cell = line->cells[c]; + if (c > column && attributes != cell.attributes) { + break; + } + attributes = cell.attributes; + } + count = c - column; +// printf("r:%d c:%d count:%d a:%x\n", row, column, count, attributes); +} + int32 BasicTerminalBuffer::GetString(int32 row, int32 firstColumn, int32 lastColumn, @@ -578,12 +603,12 @@ BasicTerminalBuffer::Find(const char* _pattern, const TermPos& start, void -BasicTerminalBuffer::InsertChar(UTF8Char c, uint32 width, uint32 attributes) +BasicTerminalBuffer::InsertChar(UTF8Char c, uint32 width) { //debug_printf("BasicTerminalBuffer::InsertChar('%.*s' (%d), %#lx)\n", //(int)c.ByteCount(), c.bytes, c.bytes[0], attributes); if ((int32)width == FULL_WIDTH) - attributes |= A_WIDTH; + fAttributes |= A_WIDTH; if (fSoftWrappedCursor || fCursor.x + (int32)width > fWidth) _SoftBreakLine(); @@ -597,7 +622,7 @@ BasicTerminalBuffer::InsertChar(UTF8Char c, uint32 width, uint32 attributes) TerminalLine* line = _LineAt(fCursor.y); line->cells[fCursor.x].character = c; - line->cells[fCursor.x].attributes = attributes; + line->cells[fCursor.x].attributes = fAttributes; if (line->length < fCursor.x + width) line->length = fCursor.x + width; @@ -638,14 +663,15 @@ BasicTerminalBuffer::FillScreen(UTF8Char c, uint32 width, uint32 attributes) void -BasicTerminalBuffer::InsertCR(uint32 attributes) +BasicTerminalBuffer::InsertCR() { TerminalLine* line = _LineAt(fCursor.y); - line->attributes = attributes; + line->attributes = fAttributes; line->softBreak = false; fSoftWrappedCursor = false; fCursor.x = 0; + _Invalidate(fCursor.y, fCursor.y); _CursorChanged(); } @@ -685,7 +711,7 @@ BasicTerminalBuffer::InsertRI() void -BasicTerminalBuffer::InsertTab(uint32 attributes) +BasicTerminalBuffer::InsertTab() { int32 x; @@ -701,7 +727,7 @@ BasicTerminalBuffer::InsertTab(uint32 attributes) TerminalLine* line = _LineAt(fCursor.y); for (int32 i = fCursor.x; i <= x; i++) { line->cells[i].character = ' '; - line->cells[i].attributes = attributes; + line->cells[i].attributes = fAttributes; } fCursor.x = x; if (line->length < fCursor.x) @@ -745,6 +771,7 @@ BasicTerminalBuffer::InsertSpace(int32 num) line->cells[i].character = kSpaceChar; line->cells[i].attributes = line->cells[fCursor.x - 1].attributes; } + line->attributes = fAttributes; _Invalidate(fCursor.y, fCursor.y); } @@ -755,23 +782,35 @@ void BasicTerminalBuffer::EraseCharsFrom(int32 first, int32 numChars) { TerminalLine* line = _LineAt(fCursor.y); - if (fCursor.y >= line->length) - return; + +/* if (IsAlternateScreenActive())*/ { + int32 end = min_c(first + numChars, fWidth); + for (int32 i = first; i < end; i++) + line->cells[i].attributes = fAttributes; + } + + line->attributes = fAttributes; + + _Invalidate(fCursor.y, fCursor.y); + +// if (fCursor.x >= line->length) +// return; fSoftWrappedCursor = false; int32 end = min_c(first + numChars, line->length); +// printf("%d:%d - %d|", fCursor.y, first, end); if (first > 0 && IS_WIDTH(line->cells[first - 1].attributes)) first--; if (end > 0 && IS_WIDTH(line->cells[end - 1].attributes)) end++; +// printf("%d - %d\n", first, end); for (int32 i = first; i < end; i++) { line->cells[i].character = kSpaceChar; - line->cells[i].attributes = 0; + line->cells[i].attributes = fAttributes; } - _Invalidate(fCursor.y, fCursor.y); } @@ -791,11 +830,11 @@ BasicTerminalBuffer::EraseAbove() if (IS_WIDTH(line->cells[fCursor.x].attributes)) to++; for (int32 i = 0; i <= to; i++) { - line->cells[i].attributes = 0; + line->cells[i].attributes = fAttributes; line->cells[i].character = kSpaceChar; } } else - line->Clear(); + line->Clear(fAttributes, fWidth); _Invalidate(fCursor.y, fCursor.y); } @@ -835,11 +874,19 @@ BasicTerminalBuffer::DeleteChars(int32 numChars) memmove(line->cells + fCursor.x, line->cells + fCursor.x + numChars, left * sizeof(TerminalCell)); line->length = fCursor.x + left; + // process BCE on freed tail cells + for (int i = 0; i < numChars; i++) + line->cells[fCursor.x + left + i].attributes = fAttributes; } else { + // process BCE on freed tail cells + for (int i = 0; i < line->length - fCursor.x; i++) + line->cells[fCursor.x + i].attributes = fAttributes; // remove all remaining chars line->length = fCursor.x; } +// line->attributes = fAttributes; + _Invalidate(fCursor.y, fCursor.y); } } @@ -851,10 +898,15 @@ BasicTerminalBuffer::DeleteColumnsFrom(int32 first) fSoftWrappedCursor = false; TerminalLine* line = _LineAt(fCursor.y); - if (first < line->length) { + + for (int32 i = first; i < fWidth; i++) + line->cells[i].attributes = fAttributes; + + if (first <= line->length) { line->length = first; - _Invalidate(fCursor.y, fCursor.y); + line->attributes = fAttributes; } + _Invalidate(fCursor.y, fCursor.y); } @@ -991,12 +1043,14 @@ BasicTerminalBuffer::_AllocateLines(int32 width, int32 count) return NULL; for (int32 i = 0; i < count; i++) { - lines[i] = (TerminalLine*)malloc(sizeof(TerminalLine) - + sizeof(TerminalCell) * (width - 1)); + const int32 size = sizeof(TerminalLine) + + sizeof(TerminalCell) * (width - 1); + lines[i] = (TerminalLine*)malloc(size); if (lines[i] == NULL) { _FreeLines(lines, i); return NULL; } + memset(lines[i], 0, size); } return lines; @@ -1029,7 +1083,7 @@ BasicTerminalBuffer::_ClearLines(int32 first, int32 last) lastCleared = i; } - line->Clear(); + line->Clear(fAttributes, fWidth); } if (firstCleared >= 0) @@ -1133,7 +1187,7 @@ BasicTerminalBuffer::_ResizeSimple(int32 width, int32 height, // clear the remaining lines for (int32 i = endLine - firstLine; i < height; i++) - lines[i]->Clear(); + lines[i]->Clear(fAttributes, width); _FreeLines(fScreen, fHeight); fScreen = lines; @@ -1223,7 +1277,7 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height, // history first, though. if (history != NULL && destTotalLines >= height) history->AddLine(screen[destIndex]); - destLine->Clear(); + destLine->Clear(fAttributes, width); newDestLine = false; } @@ -1273,6 +1327,8 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height, sourceLine->cells + sourceX, toCopy * sizeof(TerminalCell)); destLine->length += toCopy; } + + destLine->attributes = sourceLine->attributes; bool nextDestLine = false; if (toCopy == sourceLeft) { @@ -1319,7 +1375,7 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height, TerminalLine* line = screen[i % height]; if (history != NULL && i >= height) history->AddLine(line); - line->Clear(); + line->Clear(fAttributes, width); } // Update the values @@ -1401,7 +1457,7 @@ BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines) // lines fScreenOffset = (fScreenOffset + numLines) % fHeight; for (int32 i = bottom - numLines + 1; i <= bottom; i++) - _LineAt(i)->Clear(); + _LineAt(i)->Clear(fAttributes, fWidth); } else { // Partial screen scroll. We move the screen offset anyway, but // have to move the unscrolled lines to their new location. @@ -1416,7 +1472,7 @@ BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines) // update the screen offset and clear the new lines fScreenOffset = (fScreenOffset + numLines) % fHeight; for (int32 i = bottom - numLines + 1; i <= bottom; i++) - _LineAt(i)->Clear(); + _LineAt(i)->Clear(fAttributes, fWidth); } // scroll/extend dirty range @@ -1456,12 +1512,12 @@ BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines) for (int32 i = top + numLines; i <= bottom; i++) { int32 lineToDrop = _LineIndex(i - numLines); int32 lineToKeep = _LineIndex(i); - fScreen[lineToDrop]->Clear(); + fScreen[lineToDrop]->Clear(fAttributes, fWidth); std::swap(fScreen[lineToDrop], fScreen[lineToKeep]); } // clear any lines between the two swapped ranges above for (int32 i = bottom - numLines + 1; i < top + numLines; i++) - _LineAt(i)->Clear(); + _LineAt(i)->Clear(fAttributes, fWidth); _Invalidate(top, bottom); } @@ -1481,12 +1537,12 @@ BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines) for (int32 i = bottom - numLines; i >= top; i--) { int32 lineToKeep = _LineIndex(i); int32 lineToDrop = _LineIndex(i + numLines); - fScreen[lineToDrop]->Clear(); + fScreen[lineToDrop]->Clear(fAttributes, fWidth); std::swap(fScreen[lineToDrop], fScreen[lineToKeep]); } // clear any lines between the two swapped ranges above for (int32 i = bottom - numLines + 1; i < top + numLines; i++) - _LineAt(i)->Clear(); + _LineAt(i)->Clear(fAttributes, fWidth); _Invalidate(top, bottom); } @@ -1515,8 +1571,7 @@ BasicTerminalBuffer::_PadLineToCursor() if (line->length < fCursor.x) { for (int32 i = line->length; i < fCursor.x; i++) { line->cells[i].character = kSpaceChar; - line->cells[i].attributes = 0; - // TODO: Other attributes? +// line->cells[i].attributes = line->attributes; } } } diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index 2be3efe833..e84847afa4 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -86,6 +86,8 @@ public: int GetChar(int32 row, int32 column, UTF8Char& character, uint32& attributes) const; + void GetCellAttributes(int32 row, int32 column, + uint32& attributes, uint32& count) const; int32 GetString(int32 row, int32 firstColumn, int32 lastColumn, char* buffer, uint32& attributes) const; @@ -104,6 +106,10 @@ public: bool matchWord, TermPos& matchStart, TermPos& matchEnd) const; + inline uint32 GetAttributes(); + inline void SetAttributes(uint32 attributes); + inline void PreserveAttributes(bool store); + // snapshots and data capture for debugging void MakeLinesSnapshots(time_t timeStamp, const char* fileName); @@ -111,19 +117,17 @@ public: /*inline*/ void CaptureChar(char ch); // insert chars/lines - inline void InsertChar(UTF8Char c, uint32 attributes); - void InsertChar(UTF8Char c, uint32 width, - uint32 attributes); + inline void InsertChar(UTF8Char c); + void InsertChar(UTF8Char c, uint32 width); + inline void InsertChar(const char* c, int32 length); inline void InsertChar(const char* c, int32 length, - uint32 attributes); - inline void InsertChar(const char* c, int32 length, - uint32 width, uint32 attributes); + uint32 width); void FillScreen(UTF8Char c, uint32 width, uint32 attr); - void InsertCR(uint32 attrs); + void InsertCR(); void InsertLF(); void InsertRI(); - void InsertTab(uint32 attr); + void InsertTab(); void SetInsertMode(int flag); void InsertSpace(int32 num); void InsertLines(int32 numLines); @@ -178,7 +182,7 @@ protected: static TerminalLine** _AllocateLines(int32 width, int32 count); static void _FreeLines(TerminalLine** lines, int32 count); - void _ClearLines(int32 first, int32 last); + void _ClearLines(int32 first, int32 last/*, uint32 attr = 0*/); //TODO attr status_t _ResizeHistory(int32 width, int32 historyCapacity); @@ -214,6 +218,9 @@ protected: int32 fScreenOffset; // index of screen line 0 HistoryBuffer* fHistory; + uint32 fAttributes; + uint32 fSavedAttributes; + // cursor position (origin: (0, 0)) TermPos fCursor; TermPos fSavedCursor; @@ -247,24 +254,48 @@ BasicTerminalBuffer::HistoryCapacity() const } -void -BasicTerminalBuffer::InsertChar(UTF8Char c, uint32 attributes) +uint32 +BasicTerminalBuffer::GetAttributes() { - return InsertChar(c, 1, attributes); + return fAttributes; } void -BasicTerminalBuffer::InsertChar(const char* c, int32 length, uint32 attributes) +BasicTerminalBuffer::SetAttributes(uint32 attributes) { - return InsertChar(UTF8Char(c, length), 1, attributes); + fAttributes = attributes; } void -BasicTerminalBuffer::InsertChar(const char* c, int32 length, uint32 width, uint32 attributes) +BasicTerminalBuffer::PreserveAttributes(bool store) { - return InsertChar(UTF8Char(c, length), width, attributes); + if (store) + fSavedAttributes = fAttributes; + else + fAttributes = fSavedAttributes; +} + + +void +BasicTerminalBuffer::InsertChar(UTF8Char c) +{ + return InsertChar(c, 1); +} + + +void +BasicTerminalBuffer::InsertChar(const char* c, int32 length) +{ + return InsertChar(UTF8Char(c, length), 1); +} + + +void +BasicTerminalBuffer::InsertChar(const char* c, int32 length, uint32 width) +{ + return InsertChar(UTF8Char(c, length), width); } diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp index 12c3c92689..2209f072d4 100644 --- a/src/apps/terminal/Shell.cpp +++ b/src/apps/terminal/Shell.cpp @@ -68,7 +68,10 @@ #define CSWTCH 0 #endif +// TODO: should extract from /etc/passwd instead??? const char *kDefaultShell = "/bin/sh"; +const char *kTerminalType = "xterm-256color"; +//const char *kTerminalType = "xterm"; /* * Set environment variable. @@ -539,7 +542,7 @@ Shell::_Spawn(int row, int col, const ShellParameters& parameters) /* * setenv TERM and TTY. */ - setenv("TERM", "xterm", true); + setenv("TERM", kTerminalType, true); setenv("TTY", ttyName, true); setenv("TTYPE", parameters.Encoding(), true); diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index e892f47e1b..4078679138 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -72,8 +72,6 @@ TermParse::_NextParseChar() TermParse::TermParse(int fd) : fFd(fd), - fAttr(BACKCOLOR), - fSavedAttr(BACKCOLOR), fParseThread(-1), fReaderThread(-1), fReaderSem(-1), @@ -393,8 +391,6 @@ TermParse::EscParse() int width = 1; BAutolock locker(fBuffer); - fAttr = fSavedAttr = BACKCOLOR; - while (!fQuitting) { try { uchar c = _NextParseChar(); @@ -416,7 +412,7 @@ TermParse::EscParse() switch (parsestate[c]) { case CASE_PRINT: - fBuffer->InsertChar((char)c, fAttr); + fBuffer->InsertChar((char)c); break; case CASE_PRINT_GR: @@ -470,7 +466,7 @@ TermParse::EscParse() dstbuf, &dstLen, &dummyState, '?'); } - fBuffer->InsertChar(dstbuf, dstLen, width, fAttr); + fBuffer->InsertChar(dstbuf, dstLen, width); break; case CASE_PRINT_CS96: @@ -482,50 +478,50 @@ TermParse::EscParse() dstLen = sizeof(dstbuf); convert_to_utf8(B_EUC_CONVERSION, cbuf, &srcLen, dstbuf, &dstLen, &dummyState, '?'); - fBuffer->InsertChar(dstbuf, dstLen, fAttr); + fBuffer->InsertChar(dstbuf, dstLen); break; case CASE_PRINT_GRA: /* "Special characters and line drawing" enabled by \E(0 */ switch (c) { case 'a': - fBuffer->InsertChar("\xE2\x96\x92",3,fAttr); + fBuffer->InsertChar("\xE2\x96\x92",3); break; case 'j': - fBuffer->InsertChar("\xE2\x94\x98",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x98",3); break; case 'k': - fBuffer->InsertChar("\xE2\x94\x90",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x90",3); break; case 'l': - fBuffer->InsertChar("\xE2\x94\x8C",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x8C",3); break; case 'm': - fBuffer->InsertChar("\xE2\x94\x94",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x94",3); break; case 'n': - fBuffer->InsertChar("\xE2\x94\xBC",3,fAttr); + fBuffer->InsertChar("\xE2\x94\xBC",3); break; case 'q': - fBuffer->InsertChar("\xE2\x94\x80",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x80",3); break; case 't': - fBuffer->InsertChar("\xE2\x94\x9C",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x9C",3); break; case 'u': - fBuffer->InsertChar("\xE2\x94\xA4",3,fAttr); + fBuffer->InsertChar("\xE2\x94\xA4",3); break; case 'v': - fBuffer->InsertChar("\xE2\x94\xB4",3,fAttr); + fBuffer->InsertChar("\xE2\x94\xB4",3); break; case 'w': - fBuffer->InsertChar("\xE2\x94\xAC",3,fAttr); + fBuffer->InsertChar("\xE2\x94\xAC",3); break; case 'x': - fBuffer->InsertChar("\xE2\x94\x82",3,fAttr); + fBuffer->InsertChar("\xE2\x94\x82",3); break; default: - fBuffer->InsertChar((char)c, fAttr); + fBuffer->InsertChar((char)c); } break; @@ -534,7 +530,7 @@ TermParse::EscParse() break; case CASE_CR: - fBuffer->InsertCR(fAttr); + fBuffer->InsertCR(); break; case CASE_SJIS_KANA: @@ -544,7 +540,7 @@ TermParse::EscParse() dstLen = sizeof(dstbuf); convert_to_utf8(currentEncoding, cbuf, &srcLen, dstbuf, &dstLen, &dummyState, '?'); - fBuffer->InsertChar(dstbuf, dstLen, fAttr); + fBuffer->InsertChar(dstbuf, dstLen); break; case CASE_SJIS_INSTRING: @@ -556,7 +552,7 @@ TermParse::EscParse() dstLen = sizeof(dstbuf); convert_to_utf8(currentEncoding, cbuf, &srcLen, dstbuf, &dstLen, &dummyState, '?'); - fBuffer->InsertChar(dstbuf, dstLen, fAttr); + fBuffer->InsertChar(dstbuf, dstLen); break; case CASE_UTF8_2BYTE: @@ -567,7 +563,7 @@ TermParse::EscParse() cbuf[1] = c; cbuf[2] = '\0'; - fBuffer->InsertChar(cbuf, 2, fAttr); + fBuffer->InsertChar(cbuf, 2); break; case CASE_UTF8_3BYTE: @@ -582,7 +578,7 @@ TermParse::EscParse() break; cbuf[2] = c; cbuf[3] = '\0'; - fBuffer->InsertChar(cbuf, 3, fAttr); + fBuffer->InsertChar(cbuf, 3); break; case CASE_MBCS: @@ -635,7 +631,7 @@ TermParse::EscParse() break; case CASE_TAB: - fBuffer->InsertTab(fAttr); + fBuffer->InsertTab(); break; case CASE_ESC: @@ -833,38 +829,48 @@ TermParse::EscParse() case CASE_SGR: { /* SGR */ + uint32 attributes = fBuffer->GetAttributes(); for (row = 0; row < nparam; ++row) { switch (param[row]) { case DEFAULT: case 0: /* Reset attribute */ - fAttr = 0; + attributes = 0; break; case 1: /* Bold */ case 5: - fAttr |= BOLD; + attributes |= BOLD; break; case 4: /* Underline */ - fAttr |= UNDERLINE; + attributes |= UNDERLINE; break; case 7: /* Inverse */ - fAttr |= INVERSE; + attributes |= INVERSE; break; case 22: /* Not Bold */ - fAttr &= ~BOLD; + attributes &= ~BOLD; break; case 24: /* Not Underline */ - fAttr &= ~UNDERLINE; + attributes &= ~UNDERLINE; break; case 27: /* Not Inverse */ - fAttr &= ~INVERSE; + attributes &= ~INVERSE; break; + case 90: + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 97: + param[row] -= 60; case 30: case 31: case 32: @@ -873,18 +879,21 @@ TermParse::EscParse() case 35: case 36: case 37: - fAttr &= ~FORECOLOR; - fAttr |= FORECOLORED(param[row] - 30); - fAttr |= FORESET; + attributes &= ~FORECOLOR; + attributes |= FORECOLORED(param[row] - 30); + attributes |= FORESET; break; case 38: { - if (nparam != 3 || param[1] != 5) - break; - fAttr &= ~FORECOLOR; - fAttr |= FORECOLORED(param[2]); - fAttr |= FORESET; + if (nparam == 3 && param[1] == 5) { + attributes &= ~FORECOLOR; + attributes |= FORECOLORED(param[2]); + attributes |= FORESET; + + } else if (nparam == 5) { + // TODO lookup + } row = nparam; // force exit of the parsing @@ -892,9 +901,18 @@ TermParse::EscParse() } case 39: - fAttr &= ~FORESET; + attributes &= ~FORESET; break; + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + param[row] -= 60; case 40: case 41: case 42: @@ -903,18 +921,21 @@ TermParse::EscParse() case 45: case 46: case 47: - fAttr &= ~BACKCOLOR; - fAttr |= BACKCOLORED(param[row] - 40); - fAttr |= BACKSET; + attributes &= ~BACKCOLOR; + attributes |= BACKCOLORED(param[row] - 40); + attributes |= BACKSET; break; case 48: { - if (nparam != 3 || param[1] != 5) - break; - fAttr &= ~BACKCOLOR; - fAttr |= BACKCOLORED(param[2]); - fAttr |= BACKSET; + if (nparam == 3 && param[1] == 5) { + attributes &= ~BACKCOLOR; + attributes |= BACKCOLORED(param[2]); + attributes |= BACKSET; + + } else if (nparam == 5) { + // TODO lookup + } row = nparam; // force exit of the parsing @@ -922,10 +943,11 @@ TermParse::EscParse() } case 49: - fAttr &= ~BACKSET; + attributes &= ~BACKSET; break; } } + fBuffer->SetAttributes(attributes); parsestate = groundtable; break; } @@ -1446,7 +1468,7 @@ TermParse::_DecSaveCursor() { fBuffer->SaveCursor(); fBuffer->SaveOriginMode(); - fSavedAttr = fAttr; + fBuffer->PreserveAttributes(true); } @@ -1455,7 +1477,7 @@ TermParse::_DecRestoreCursor() { fBuffer->RestoreCursor(); fBuffer->RestoreOriginMode(); - fAttr = fSavedAttr; + fBuffer->PreserveAttributes(false); } diff --git a/src/apps/terminal/TermParse.h b/src/apps/terminal/TermParse.h index 01a9cf3a7d..625457322a 100644 --- a/src/apps/terminal/TermParse.h +++ b/src/apps/terminal/TermParse.h @@ -86,9 +86,6 @@ private: int fFd; - uint32 fAttr; - uint32 fSavedAttr; - thread_id fParseThread; thread_id fReaderThread; sem_id fReaderSem; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 5cb6f8c7b0..160b5c985b 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -1012,17 +1012,30 @@ TermView::_DrawCursor() _DrawLinePart(fCursor.x * fFontWidth, (int32)rect.top, attr, buffer, width, selected, cursorVisible, this); } else { + if (selected) SetHighColor(fSelectBackColor); + else if (cursorVisible ) + SetHighColor(fCursorBackColor ); else { - if (cursorVisible) - SetHighColor(fCursorBackColor); + uint32 count = 0; + rgb_color rgb_back = fTextBackColor; + if (fTextBuffer->IsAlternateScreenActive()) + // alternate screen uses cell attributes beyond the line ends + fTextBuffer->GetCellAttributes( + fCursor.y, fCursor.x, attr, count); else - SetHighColor(cursorVisible ? fCursorBackColor : fTextBackColor); + attr = fVisibleTextBuffer->GetLineColor( + fCursor.y - firstVisible); + + if (IS_BACKSET(attr)) + rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; + SetHighColor(rgb_back); } FillRect(rect); } + } @@ -1215,29 +1228,31 @@ TermView::Draw(BRect updateRect) if (count == 0) { // No chars to draw : we just fill the rectangle with the // back color of the last char at the left + int nextColumn = lastColumn + 1; BRect rect(fFontWidth * i, _LineOffset(j), - fFontWidth * (lastColumn + 1) - 1, 0); + fFontWidth * nextColumn - 1, 0); rect.bottom = rect.top + fFontHeight - 1; - if (insideSelection) { - // This area is selected, fill it with the select color - SetHighColor(fSelectBackColor); - FillRect(rect); - } else { - rgb_color rgb_back = fTextBackColor; + rgb_color rgb_back = insideSelection + ? fSelectBackColor : fTextBackColor; - int lineIndexInHistory = j + fTextBuffer->HistorySize(); - uint32 attr = fVisibleTextBuffer->GetLineColor( - lineIndexInHistory); + if (fTextBuffer->IsAlternateScreenActive()) { + // alternate screen uses cell attributes beyond the line ends + uint32 count = 0; + fTextBuffer->GetCellAttributes(j, i, attr, count); + rect.right = rect.left + fFontWidth * count - 1; + nextColumn = i + count; + } else + attr = fVisibleTextBuffer->GetLineColor(j - firstVisible); - if (IS_BACKSET(attr)) - rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; - SetHighColor(rgb_back); - FillRect(rect); - } + if (IS_BACKSET(attr)) + rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; + SetHighColor(rgb_back); + rgb_back = HighColor(); + FillRect(rect); // Go on to the next block - i = lastColumn + 1; + i = nextColumn; continue; } diff --git a/src/apps/terminal/TerminalLine.h b/src/apps/terminal/TerminalLine.h index dcbca0e5ec..5f2e4a7d9c 100644 --- a/src/apps/terminal/TerminalLine.h +++ b/src/apps/terminal/TerminalLine.h @@ -24,11 +24,13 @@ struct TerminalLine { uint32 attributes; TerminalCell cells[1]; - inline void Clear() + inline void Clear(uint32 attr = 0, size_t count = 0) { length = 0; - attributes = 0; + attributes = attr; softBreak = false; + for (size_t i = 0; i < count; i++) + cells[i].attributes = attr; } }; From 73d0eee58c5c0de2b3b60ff99065bcca688bef72 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sun, 3 Mar 2013 22:06:50 +0100 Subject: [PATCH 016/122] Handle char attribute "holes" in Terminal History lines Previous implementation doesn't care about characters that are not covered by attributes run length array elements - so the attributes of the next run array element was taken instead of default one on the HistoryBuffer::GetTerminalLine() call. Note that this was the case of "holes" in run array but not the characters after the end of run array elements. --- src/apps/terminal/HistoryBuffer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/apps/terminal/HistoryBuffer.cpp b/src/apps/terminal/HistoryBuffer.cpp index 406477422f..9704af0426 100644 --- a/src/apps/terminal/HistoryBuffer.cpp +++ b/src/apps/terminal/HistoryBuffer.cpp @@ -88,7 +88,11 @@ HistoryBuffer::GetTerminalLineAt(int32 index, TerminalLine* buffer) const for (int32 i = 0; i < line->byteLength;) { // get attributes if (charCount == nextAttributesAt) { - if (attributesRunCount > 0) { + if (charCount < attributesRun->offset) { + // the "hole" in attributes run + attributes = 0; + nextAttributesAt = attributesRun->offset; + } else if (attributesRunCount > 0) { attributes = attributesRun->attributes; nextAttributesAt = attributesRun->offset + attributesRun->length; From b0b7933ee7fb52833ec82118e00a6c085b4a4237 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Thu, 7 Feb 2013 22:49:57 +0100 Subject: [PATCH 017/122] Use stack for storing saved cursor positions That fixes issue with latest versions of Midnight Commander - it "restores" on exit the latest postion was set, that is equal to 0.0. --- src/apps/terminal/BasicTerminalBuffer.cpp | 8 ++++++-- src/apps/terminal/BasicTerminalBuffer.h | 3 ++- src/apps/terminal/Jamfile | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index e70c2098c5..4f403df766 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -176,6 +176,8 @@ BasicTerminalBuffer::Init(int32 width, int32 height, int32 historySize) fDirtyInfo.Reset(); + fSavedCursors.push(TermPos(0, 0)); + return B_OK; } @@ -923,14 +925,16 @@ BasicTerminalBuffer::DeleteLines(int32 numLines) void BasicTerminalBuffer::SaveCursor() { - fSavedCursor = fCursor; + fSavedCursors.push(fCursor); } void BasicTerminalBuffer::RestoreCursor() { - _SetCursor(fSavedCursor.x, fSavedCursor.y, true); + _SetCursor(fSavedCursors.top().x, fSavedCursors.top().y, true); + if (fSavedCursors.size() > 1) + fSavedCursors.pop(); } diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index e84847afa4..c5300d5aee 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -6,6 +6,7 @@ #define BASIC_TERMINAL_BUFFER_H #include +#include #include "HistoryBuffer.h" #include "TermPos.h" @@ -223,7 +224,7 @@ protected: // cursor position (origin: (0, 0)) TermPos fCursor; - TermPos fSavedCursor; + std::stack fSavedCursors; bool fSoftWrappedCursor; bool fOverwriteMode; // false for insert diff --git a/src/apps/terminal/Jamfile b/src/apps/terminal/Jamfile index 31b0b4b4b8..c8a114e927 100644 --- a/src/apps/terminal/Jamfile +++ b/src/apps/terminal/Jamfile @@ -37,7 +37,8 @@ Application Terminal : TitlePlaceholderMapper.cpp VTKeyTbl.c VTPrsTbl.c - : be $(HAIKU_LOCALE_LIBS) tracker textencoding $(TARGET_LIBSUPC++) + : be $(HAIKU_LOCALE_LIBS) tracker textencoding + $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) : Terminal.rdef XColors.rdef ; From 6d30b376e908fe678fc35c79d58314367f3d44fe Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Tue, 5 Mar 2013 20:17:40 +0100 Subject: [PATCH 018/122] Support for underline and ibeam terminal cursor styles * Add support for underline and i-beam cursor shapes. No corresponding UI configuration in preferences view ATM because preferences are waiting for refactoring and we need some eggs for this Easters. ;-) * Add handling of VT520/xterm specific DECSCUSR control sequences allowing applications to modify the style and blinking state of the cursor. May be utilized, for example, by console version of vim; * Implement cursor blinking/hiding on DECSET/DECRST commands. --- src/apps/terminal/PrefHandler.cpp | 16 +++++- src/apps/terminal/PrefHandler.h | 6 +++ src/apps/terminal/TermConst.h | 11 ++++ src/apps/terminal/TermParse.cpp | 42 +++++++++++++-- src/apps/terminal/TermView.cpp | 78 ++++++++++++++++++++++------ src/apps/terminal/TermView.h | 5 +- src/apps/terminal/TerminalBuffer.cpp | 34 ++++++++++++ src/apps/terminal/TerminalBuffer.h | 4 ++ src/apps/terminal/VTPrsTbl.c | 4 +- src/apps/terminal/VTparse.h | 2 + 10 files changed, 179 insertions(+), 23 deletions(-) diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index a83ba77c87..4013e56c76 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -27,7 +27,6 @@ #include #include -#include "PrefHandler.h" #include "TermConst.h" @@ -81,6 +80,7 @@ static const pref_defaults kTermDefaults[] = { { PREF_WINDOW_TITLE, "%T %i: %t" }, { PREF_BLINK_CURSOR, PREF_TRUE }, { PREF_WARN_ON_EXIT, PREF_TRUE }, + { PREF_CURSOR_STYLE, PREF_BLOCK_CURSOR }, { NULL, NULL}, }; @@ -262,6 +262,20 @@ PrefHandler::getBool(const char *key) } +int +PrefHandler::getCursor(const char *key) +{ + const char *value = fContainer.FindString(key); + if (value != NULL && strcmp(value, PREF_BLOCK_CURSOR) != 0) { + if (strcmp(value, PREF_UNDERLINE_CURSOR) == 0) + return UNDERLINE_CURSOR; + if (strcmp(value, PREF_IBEAM_CURSOR) == 0) + return IBEAM_CURSOR; + } + return BLOCK_CURSOR; +} + + #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "Terminal getRGB" diff --git a/src/apps/terminal/PrefHandler.h b/src/apps/terminal/PrefHandler.h index 6420a40fc2..466638cb6a 100644 --- a/src/apps/terminal/PrefHandler.h +++ b/src/apps/terminal/PrefHandler.h @@ -26,6 +26,11 @@ struct pref_defaults { #define PREF_TRUE "true" #define PREF_FALSE "false" +#define PREF_BLOCK_CURSOR "block" +#define PREF_IBEAM_CURSOR "ibeam" +#define PREF_UNDERLINE_CURSOR "underline" + + class BMessage; class BEntry; @@ -49,6 +54,7 @@ class PrefHandler { const char* getString(const char *key); bool getBool(const char *key); rgb_color getRGB(const char *key); + int getCursor(const char *key); void setInt32(const char *key, int32 data); void setFloat(const char *key, float data); diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index 89ec6dc0f8..22e4a54cc0 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -105,6 +105,7 @@ static const uint32 MSG_SAVE_WINDOW_POSITION = 'swps'; static const uint32 MSG_MOVE_TAB_LEFT = 'mvtl'; static const uint32 MSG_MOVE_TAB_RIGHT = 'mvtr'; static const uint32 MSG_ACTIVATE_TERM = 'msat'; +static const uint32 MSG_SET_CURSOR_STYLE = 'mscs'; // Preference Read/Write Keys @@ -153,6 +154,7 @@ static const char* const PREF_TEXT_ENCODING = "Text encoding"; static const char* const PREF_BLINK_CURSOR = "Blinking cursor"; static const char* const PREF_WARN_ON_EXIT = "Warn on exit"; +static const char* const PREF_CURSOR_STYLE = "Cursor style"; static const char* const PREF_TAB_TITLE = "Tab title"; static const char* const PREF_WINDOW_TITLE = "Window title"; @@ -169,6 +171,15 @@ enum { SELECTION_BACKGROUND_COLOR }; + +// Cursor shape +enum { + BLOCK_CURSOR, + UNDERLINE_CURSOR, + IBEAM_CURSOR +}; + + // Preference Folder and setting path static const int32 DEFAULT = -1; diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 4078679138..92fb5e3c45 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -694,6 +694,12 @@ TermParse::EscParse() param[nparam++] = DEFAULT; break; + case CASE_CSI_SP: // ESC [N q + // part of change cursor style DECSCUSR + if (nparam < NPARAM) + param[nparam++] = ' '; + break; + case CASE_DEC_STATE: /* enter dec mode */ parsestate = gDecTable; @@ -988,6 +994,34 @@ TermParse::EscParse() parsestate = groundtable; break; + case CASE_DECSCUSR_ETC: + // DECSCUSR - set cursor style VT520 + if (nparam == 2 && param[1] == ' ') { + bool blinking = (param[0] & 0x01) != 0; + int style = -1; + switch (param[0]) { + case 0: + blinking = true; + case 1: + case 2: + style = BLOCK_CURSOR; + break; + case 3: + case 4: + style = UNDERLINE_CURSOR; + break; + case 5: + case 6: + style = IBEAM_CURSOR; + break; + } + + if (style != -1) + fBuffer->SetCursorStyle(style, blinking); + } + parsestate = groundtable; + break; + case CASE_DECREQTPARM: // DEXREQTPARM - request terminal parameters _DecReqTermParms(param[0]); @@ -1344,11 +1378,11 @@ TermParse::_DecPrivateModeSet(int value) break; case 12: // Start Blinking Cursor. - // Not supported yet. + fBuffer->SetCursorBlinking(true); break; case 25: // Show Cursor. - // Not supported yet. + fBuffer->SetCursorHidden(false); break; case 47: // Use Alternate Screen Buffer. @@ -1419,11 +1453,11 @@ TermParse::_DecPrivateModeReset(int value) break; case 12: // Stop Blinking Cursor. - // Not supported yet. + fBuffer->SetCursorBlinking(false); break; case 25: // Hide Cursor - // Not supported yet. + fBuffer->SetCursorHidden(true); break; case 47: // Use Normal Screen Buffer. diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 160b5c985b..5c9d37d55d 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -300,7 +300,9 @@ TermView::_InitObject(const ShellParameters& shellParameters) fResizeViewDisableCount = 0; fLastActivityTime = 0; fCursorState = 0; - fCursorHeight = 0; + fCursorStyle = BLOCK_CURSOR; + fCursorBlinking = true; + fCursorHidden = false; fCursor = TermPos(0, 0); fTextBuffer = NULL; fVisibleTextBuffer = NULL; @@ -748,7 +750,9 @@ TermView::SetTermFont(const BFont *font) fFontAscent = font_ascent; fFontHeight = font_ascent + font_descent + font_leading + 1; - fCursorHeight = fFontHeight; + fCursorStyle = PrefHandler::Default() == NULL ? BLOCK_CURSOR + : PrefHandler::Default()->getCursor(PREF_CURSOR_STYLE); + fCursorBlinking = PrefHandler::Default()->getBool(PREF_BLINK_CURSOR); _ScrollTo(0, false); if (fScrollBar != NULL) @@ -881,18 +885,30 @@ TermView::_DetachShell() } +void +TermView::_SwitchCursorBlinking(bool blinkingOn) +{ + if (blinkingOn) { + if (fCursorBlinkRunner == NULL) { + BMessage blinkMessage(kBlinkCursor); + fCursorBlinkRunner = new (std::nothrow) BMessageRunner( + BMessenger(this), &blinkMessage, kCursorBlinkInterval); + } + } else { + // make sure the cursor becomes visible + fCursorState = 0; + _InvalidateTextRect(fCursor.x, fCursor.y, fCursor.x, fCursor.y); + delete fCursorBlinkRunner; + fCursorBlinkRunner = NULL; + } +} + + void TermView::_Activate() { - bool blinkCursor = PrefHandler::Default()->getBool(PREF_BLINK_CURSOR); - fActive = true; - - if (fCursorBlinkRunner == NULL && blinkCursor) { - BMessage blinkMessage(kBlinkCursor); - fCursorBlinkRunner = new (std::nothrow) BMessageRunner( - BMessenger(this), &blinkMessage, kCursorBlinkInterval); - } + _SwitchCursorBlinking(fCursorBlinking); } @@ -902,8 +918,8 @@ TermView::_Deactivate() // make sure the cursor becomes visible fCursorState = 0; _InvalidateTextRect(fCursor.x, fCursor.y, fCursor.x, fCursor.y); - delete fCursorBlinkRunner; - fCursorBlinkRunner = NULL; + + _SwitchCursorBlinking(false); fActive = false; } @@ -987,7 +1003,7 @@ TermView::_DrawCursor() { BRect rect(fFontWidth * fCursor.x, _LineOffset(fCursor.y), 0, 0); rect.right = rect.left + fFontWidth - 1; - rect.bottom = rect.top + fCursorHeight - 1; + rect.bottom = rect.top + fFontHeight - 1; int32 firstVisible = _LineAt(0); UTF8Char character; @@ -995,9 +1011,24 @@ TermView::_DrawCursor() bool cursorVisible = _IsCursorVisible(); + if (cursorVisible) { + switch (fCursorStyle) { + case UNDERLINE_CURSOR: + rect.top = rect.bottom - 2; + break; + case IBEAM_CURSOR: + rect.right = rect.left + 1; + break; + case BLOCK_CURSOR: + default: + break; + } + } + bool selected = _CheckSelectedRegion(TermPos(fCursor.x, fCursor.y)); if (fVisibleTextBuffer->GetChar(fCursor.y - firstVisible, fCursor.x, - character, attr) == A_CHAR) { + character, attr) == A_CHAR + && (fCursorStyle == BLOCK_CURSOR || !cursorVisible)) { int32 width; if (IS_WIDTH(attr)) width = 2; @@ -1042,7 +1073,7 @@ TermView::_DrawCursor() bool TermView::_IsCursorVisible() const { - return fCursorState < kCursorVisibleIntervals; + return !fCursorHidden && fCursorState < kCursorVisibleIntervals; } @@ -1863,6 +1894,23 @@ TermView::MessageReceived(BMessage *msg) break; } + case MSG_SET_CURSOR_STYLE: + { + int32 style = BLOCK_CURSOR; + if (msg->FindInt32("style", &style) == B_OK) + fCursorStyle = style; + + bool blinking = fCursorBlinking; + if (msg->FindBool("blinking", &blinking) == B_OK) { + fCursorBlinking = blinking; + _SwitchCursorBlinking(fCursorBlinking); + } + + bool hidden = fCursorHidden; + if (msg->FindBool("hidden", &hidden) == B_OK) + fCursorHidden = hidden; + break; + } case MSG_REPORT_MOUSE_EVENT: { bool report; diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index a22a74dabf..f0707e3888 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -160,6 +160,7 @@ private: void _Activate(); void _Deactivate(); + void _SwitchCursorBlinking(bool blinkingOn); void _DrawLinePart(int32 x1, int32 y1, uint32 attr, char* buffer, int32 width, bool mouse, @@ -241,7 +242,9 @@ private: // Cursor Blinking, draw flag. bigtime_t fLastActivityTime; int32 fCursorState; - int fCursorHeight; + int fCursorStyle; + bool fCursorBlinking; + bool fCursorHidden; // Cursor position. TermPos fCursor; diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index 49d9812ad8..3f6e456758 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -177,6 +177,40 @@ TerminalBuffer::ResetColors(uint8* indexes, int32 count, bool dynamic) } +void +TerminalBuffer::SetCursorStyle(int32 style, bool blinking) +{ + if (fListenerValid) { + BMessage message(MSG_SET_CURSOR_STYLE); + message.AddInt32("style", style); + message.AddBool("blinking", blinking); + fListener.SendMessage(&message); + } +} + + +void +TerminalBuffer::SetCursorBlinking(bool blinking) +{ + if (fListenerValid) { + BMessage message(MSG_SET_CURSOR_STYLE); + message.AddBool("blinking", blinking); + fListener.SendMessage(&message); + } +} + + +void +TerminalBuffer::SetCursorHidden(bool hidden) +{ + if (fListenerValid) { + BMessage message(MSG_SET_CURSOR_STYLE); + message.AddBool("hidden", hidden); + fListener.SendMessage(&message); + } +} + + void TerminalBuffer::NotifyQuit(int32 reason) { diff --git a/src/apps/terminal/TerminalBuffer.h b/src/apps/terminal/TerminalBuffer.h index 96f1b13baa..a505350f89 100644 --- a/src/apps/terminal/TerminalBuffer.h +++ b/src/apps/terminal/TerminalBuffer.h @@ -31,6 +31,10 @@ public: int32 count = 1, bool dynamic = false); void ResetColors(uint8* indexes, int32 count = 1, bool dynamic = false); + void SetCursorStyle(int32 style, bool blinking); + void SetCursorBlinking(bool blinking); + void SetCursorHidden(bool hidden); + void NotifyQuit(int32 reason); virtual status_t ResizeTo(int32 width, int32 height); diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c index 1747432064..6d09b304d5 100644 --- a/src/apps/terminal/VTPrsTbl.c +++ b/src/apps/terminal/VTPrsTbl.c @@ -1377,7 +1377,7 @@ CASE_IGNORE, CASE_IGNORE, CASE_IGNORE, /* SP ! " # */ -CASE_ESC_IGNORE, +CASE_CSI_SP, CASE_ESC_IGNORE, CASE_ESC_IGNORE, CASE_ESC_IGNORE, @@ -1478,7 +1478,7 @@ CASE_CPR, CASE_GROUND_STATE, /* p q r s */ CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_DECSCUSR_ETC, CASE_DECSTBM, CASE_GROUND_STATE, /* t u v w */ diff --git a/src/apps/terminal/VTparse.h b/src/apps/terminal/VTparse.h index 2ec8b8184c..0fefe3bd4c 100644 --- a/src/apps/terminal/VTparse.h +++ b/src/apps/terminal/VTparse.h @@ -125,3 +125,5 @@ #define CASE_ECH 91 /* erase characters */ #define CASE_PRINT_GRA 92 +#define CASE_DECSCUSR_ETC 93 +#define CASE_CSI_SP 94 From bbfd23abd5e9cddd8498376d21ac53a96d5c4cb7 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Wed, 9 Jan 2013 21:08:15 +0100 Subject: [PATCH 019/122] Use native bold style drawing (+ switchable emulation) Use native bold font for rendering characters with corresponding attribute set. Possibility for switching to R5-like bold characters emulation is also implemented. This one uses uses the left-down shadow in B_OP_BLEND drawing mode instead of the rigth-down one as previously. --- src/apps/terminal/PrefHandler.cpp | 1 + src/apps/terminal/TermConst.h | 1 + src/apps/terminal/TermView.cpp | 26 +++++++++++++++----------- src/apps/terminal/TermView.h | 2 ++ 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index 4013e56c76..c9e159c838 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -81,6 +81,7 @@ static const pref_defaults kTermDefaults[] = { { PREF_BLINK_CURSOR, PREF_TRUE }, { PREF_WARN_ON_EXIT, PREF_TRUE }, { PREF_CURSOR_STYLE, PREF_BLOCK_CURSOR }, + { PREF_EMULATE_BOLD, PREF_FALSE }, { NULL, NULL}, }; diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index 22e4a54cc0..34b57ed1ea 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -155,6 +155,7 @@ static const char* const PREF_TEXT_ENCODING = "Text encoding"; static const char* const PREF_BLINK_CURSOR = "Blinking cursor"; static const char* const PREF_WARN_ON_EXIT = "Warn on exit"; static const char* const PREF_CURSOR_STYLE = "Cursor style"; +static const char* const PREF_EMULATE_BOLD = "Emulate bold"; static const char* const PREF_TAB_TITLE = "Tab title"; static const char* const PREF_WINDOW_TITLE = "Window title"; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 5c9d37d55d..33ae11c571 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -296,6 +296,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) fFontWidth = 0; fFontHeight = 0; fFontAscent = 0; + fEmulateBold = false; fFrameResized = false; fResizeViewDisableCount = 0; fLastActivityTime = 0; @@ -722,6 +723,9 @@ TermView::SetTermFont(const BFont *font) int halfWidth = 0; fHalfFont = font; + fBoldFont = font; + uint16 face = fBoldFont.Face(); + fBoldFont.SetFace(B_BOLD_FACE | (face & ~B_REGULAR_FACE)); fHalfFont.SetSpacing(B_FIXED_SPACING); @@ -754,6 +758,9 @@ TermView::SetTermFont(const BFont *font) : PrefHandler::Default()->getCursor(PREF_CURSOR_STYLE); fCursorBlinking = PrefHandler::Default()->getBool(PREF_BLINK_CURSOR); + fEmulateBold = PrefHandler::Default() == NULL ? false + : PrefHandler::Default()->getBool(PREF_EMULATE_BOLD); + _ScrollTo(0, false); if (fScrollBar != NULL) fScrollBar->SetSteps(fFontHeight, fFontHeight * fRows); @@ -930,7 +937,7 @@ void TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, int32 width, bool mouse, bool cursor, BView *inView) { - inView->SetFont(&fHalfFont); + inView->SetFont(IS_BOLD(attr) && !fEmulateBold ? &fBoldFont : &fHalfFont); // Set pen point int x2 = x1 + fFontWidth * width; @@ -971,22 +978,19 @@ TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, inView->SetHighColor(rgb_back); inView->FillRect(BRect(x1, y1, x2 - 1, y2 - 1)); inView->SetLowColor(rgb_back); - inView->SetHighColor(rgb_fore); // Draw character. - inView->MovePenTo(x1, y1 + fFontAscent); - inView->DrawString((char *) buf); - - // bold attribute. - if (IS_BOLD(attr)) { - inView->MovePenTo(x1 + 1, y1 + fFontAscent); - - inView->SetDrawingMode(B_OP_OVER); + if (IS_BOLD(attr) && fEmulateBold) { + inView->MovePenTo(x1 - 1, y1 + fFontAscent - 1); inView->DrawString((char *)buf); - inView->SetDrawingMode(B_OP_COPY); + inView->SetDrawingMode(B_OP_BLEND); } + inView->MovePenTo(x1, y1 + fFontAscent); + inView->DrawString((char *)buf); + inView->SetDrawingMode(B_OP_COPY); + // underline attribute if (IS_UNDER(attr)) { inView->MovePenTo(x1, y1 + fFontAscent); diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index f0707e3888..c47e5cd2c5 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -230,10 +230,12 @@ private: // Font and Width BFont fHalfFont; + BFont fBoldFont; int fFontWidth; int fFontHeight; int fFontAscent; struct escapement_delta fEscapement; + bool fEmulateBold; // frame resized flag. bool fFrameResized; From fe256869783dc1598ee2d7d0c0b582e70724dc96 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Fri, 8 Mar 2013 18:03:47 +0100 Subject: [PATCH 020/122] Move colors table from TermView to TerminalBuffer * ColorsTable moved to TerminalBuffer to let easy lookup of table during parsing of control sequences; * Default Palette initialized from now in TermApp and preserved from modifying by applications; --- src/apps/terminal/TermApp.cpp | 43 ++++++++++++++ src/apps/terminal/TermApp.h | 6 +- src/apps/terminal/TermParse.cpp | 34 ++++++----- src/apps/terminal/TermView.cpp | 85 +++++++--------------------- src/apps/terminal/TermView.h | 3 - src/apps/terminal/TerminalBuffer.cpp | 47 +++++++++++++++ src/apps/terminal/TerminalBuffer.h | 4 ++ 7 files changed, 138 insertions(+), 84 deletions(-) diff --git a/src/apps/terminal/TermApp.cpp b/src/apps/terminal/TermApp.cpp index 002dd5dd78..b936d204ab 100644 --- a/src/apps/terminal/TermApp.cpp +++ b/src/apps/terminal/TermApp.cpp @@ -37,6 +37,7 @@ static bool sUsageRequested = false; //static bool sGeometryRequested = false; +rgb_color TermApp::fDefaultPalette[kTermColorCount]; int main() @@ -57,6 +58,8 @@ TermApp::TermApp() fArgs(NULL) { fArgs = new Arguments(0, NULL); + + _InitDefaultPalette(); } @@ -309,3 +312,43 @@ TermApp::_Usage(char *name) ); } + +void +TermApp::_InitDefaultPalette() +{ + // 0 - 15 are system ANSI colors + const char * keys[kANSIColorCount] = { + PREF_ANSI_BLACK_COLOR, + PREF_ANSI_RED_COLOR, + PREF_ANSI_GREEN_COLOR, + PREF_ANSI_YELLOW_COLOR, + PREF_ANSI_BLUE_COLOR, + PREF_ANSI_MAGENTA_COLOR, + PREF_ANSI_CYAN_COLOR, + PREF_ANSI_WHITE_COLOR, + PREF_ANSI_BLACK_HCOLOR, + PREF_ANSI_RED_HCOLOR, + PREF_ANSI_GREEN_HCOLOR, + PREF_ANSI_YELLOW_HCOLOR, + PREF_ANSI_BLUE_HCOLOR, + PREF_ANSI_MAGENTA_HCOLOR, + PREF_ANSI_CYAN_HCOLOR, + PREF_ANSI_WHITE_HCOLOR + }; + + rgb_color* color = fDefaultPalette; + PrefHandler* handler = PrefHandler::Default(); + for (uint i = 0; i < kANSIColorCount; i++) + *color++ = handler->getRGB(keys[i]); + + // 16 - 231 are 6x6x6 color "cubes" in xterm color model + for (uint red = 0; red < 256; red += (red == 0) ? 95 : 40) + for (uint green = 0; green < 256; green += (green == 0) ? 95 : 40) + for (uint blue = 0; blue < 256; blue += (blue == 0) ? 95 : 40) + (*color++).set_to(red, green, blue); + + // 232 - 255 are grayscale ramp in xterm color model + for (uint gray = 8; gray < 240; gray += 10) + (*color++).set_to(gray, gray, gray); +} + diff --git a/src/apps/terminal/TermApp.h b/src/apps/terminal/TermApp.h index 2f2d287e44..3fe12f1968 100644 --- a/src/apps/terminal/TermApp.h +++ b/src/apps/terminal/TermApp.h @@ -37,6 +37,7 @@ #include #include +#include "Colors.h" class Arguments; class BRect; @@ -48,6 +49,8 @@ public: TermApp(); virtual ~TermApp(); + static const rgb_color* DefaultPalette() + { return fDefaultPalette; } protected: virtual void ReadyToRun(); virtual bool QuitRequested(); @@ -64,13 +67,14 @@ private: static status_t _ChildCleanupThread(void* data); void _Usage(char *name); - + void _InitDefaultPalette(); private: bool fStartFullscreen; BString fWindowTitle; BWindow* fTermWindow; Arguments* fArgs; + static rgb_color fDefaultPalette[kTermColorCount]; }; diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 92fb5e3c45..6f912ed2b8 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -892,17 +892,20 @@ TermParse::EscParse() case 38: { - if (nparam == 3 && param[1] == 5) { - attributes &= ~FORECOLOR; - attributes |= FORECOLORED(param[2]); - attributes |= FORESET; + int color = -1; + if (nparam == 3 && param[1] == 5) + color = param[2]; + else if (nparam == 5 && param[1] == 2) + color = fBuffer->GuessPaletteColor( + param[2], param[3], param[4]); - } else if (nparam == 5) { - // TODO lookup + if (color >= 0) { + attributes &= ~FORECOLOR; + attributes |= FORECOLORED(color); + attributes |= FORESET; } row = nparam; // force exit of the parsing - break; } @@ -934,17 +937,20 @@ TermParse::EscParse() case 48: { - if (nparam == 3 && param[1] == 5) { - attributes &= ~BACKCOLOR; - attributes |= BACKCOLORED(param[2]); - attributes |= BACKSET; + int color = -1; + if (nparam == 3 && param[1] == 5) + color = param[2]; + else if (nparam == 5 && param[1] == 2) + color = fBuffer->GuessPaletteColor( + param[2], param[3], param[4]); - } else if (nparam == 5) { - // TODO lookup + if (color >= 0) { + attributes &= ~BACKCOLOR; + attributes |= BACKCOLORED(color); + attributes |= BACKSET; } row = nparam; // force exit of the parsing - break; } diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 33ae11c571..771890dc26 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -58,6 +58,7 @@ #include "PrefHandler.h" #include "Shell.h" #include "ShellParameters.h" +#include "TermApp.h" #include "TermConst.h" #include "TerminalBuffer.h" #include "TerminalCharClassifier.h" @@ -180,7 +181,6 @@ TermView::TermView(BRect frame, const ShellParameters& shellParameters, fRows(ROWS_DEFAULT), fEncoding(M_UTF8), fActive(false), - fTermColorTable(NULL), fScrBufSize(historySize), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -204,7 +204,6 @@ TermView::TermView(int rows, int columns, fRows(rows), fEncoding(M_UTF8), fActive(false), - fTermColorTable(NULL), fScrBufSize(historySize), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -238,7 +237,6 @@ TermView::TermView(BMessage* archive) fRows(ROWS_DEFAULT), fEncoding(M_UTF8), fActive(false), - fTermColorTable(NULL), fScrBufSize(1000), fReportX10MouseEvent(false), fReportNormalMouseEvent(false), @@ -335,17 +333,13 @@ TermView::_InitObject(const ShellParameters& shellParameters) if (fVisibleTextBuffer == NULL) return B_NO_MEMORY; - status_t error = _InitColorTable(); - if (error != B_OK) - return error; - // TODO: Make the special word chars user-settable! fCharClassifier = new(std::nothrow) CharClassifier( kDefaultSpecialWordChars); if (fCharClassifier == NULL) return B_NO_MEMORY; - error = fTextBuffer->Init(fColumns, fRows, fScrBufSize); + status_t error = fTextBuffer->Init(fColumns, fRows, fScrBufSize); if (error != B_OK) return error; fTextBuffer->SetEncoding(fEncoding); @@ -394,7 +388,6 @@ TermView::~TermView() delete fAutoScrollRunner; delete fCharClassifier; delete fVisibleTextBuffer; - delete[] fTermColorTable; delete fTextBuffer; delete shell; } @@ -657,7 +650,7 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic) { if (!dynamic) { if (index < kTermColorCount) - fTermColorTable[index] = color; + fTextBuffer->SetPaletteColor(index, color); return; } @@ -670,12 +663,12 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic) SetLowColor(fTextBackColor); break; case 110: - fTextForeColor = - PrefHandler::Default()->getRGB(PREF_TEXT_FORE_COLOR); + fTextForeColor = PrefHandler::Default()->getRGB( + PREF_TEXT_FORE_COLOR); break; case 111: - fTextBackColor = - PrefHandler::Default()->getRGB(PREF_TEXT_BACK_COLOR); + fTextBackColor = PrefHandler::Default()->getRGB( + PREF_TEXT_BACK_COLOR); SetLowColor(fTextBackColor); break; default: @@ -951,9 +944,9 @@ TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, int backcolor = IS_BACKCOLOR(attr); if (IS_FORESET(attr)) - rgb_fore = fTermColorTable[forecolor]; + rgb_fore = fTextBuffer->PaletteColor(forecolor); if (IS_BACKSET(attr)) - rgb_back = fTermColorTable[backcolor]; + rgb_back = fTextBuffer->PaletteColor(backcolor); // printf("DLP:[%03x %03x %03x]; [%03x %03x %03x];\n", // rgb_fore.red, rgb_fore.green, rgb_fore.blue, rgb_back.red, rgb_back.green, rgb_back.blue); @@ -1064,7 +1057,7 @@ TermView::_DrawCursor() fCursor.y - firstVisible); if (IS_BACKSET(attr)) - rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; + rgb_back = fTextBuffer->PaletteColor(IS_BACKCOLOR(attr)); SetHighColor(rgb_back); } @@ -1272,7 +1265,8 @@ TermView::Draw(BRect updateRect) ? fSelectBackColor : fTextBackColor; if (fTextBuffer->IsAlternateScreenActive()) { - // alternate screen uses cell attributes beyond the line ends + // alternate screen uses cell attributes + // beyond the line ends uint32 count = 0; fTextBuffer->GetCellAttributes(j, i, attr, count); rect.right = rect.left + fFontWidth * count - 1; @@ -1280,8 +1274,11 @@ TermView::Draw(BRect updateRect) } else attr = fVisibleTextBuffer->GetLineColor(j - firstVisible); - if (IS_BACKSET(attr)) - rgb_back = fTermColorTable[IS_BACKCOLOR(attr)]; + if (IS_BACKSET(attr)) { + int backcolor = IS_BACKCOLOR(attr); + rgb_back = fTextBuffer->PaletteColor(backcolor); + } + SetHighColor(rgb_back); rgb_back = HighColor(); FillRect(rect); @@ -1893,7 +1890,8 @@ TermView::MessageReceived(BMessage *msg) break; if (index < kTermColorCount) - SetTermColor(index, fTermColorTable[index], dynamic); + SetTermColor(index, + TermApp::DefaultPalette()[index], dynamic); } break; @@ -3230,51 +3228,6 @@ TermView::_CancelInputMethod() } -status_t -TermView::_InitColorTable() -{ - fTermColorTable = new(std::nothrow) rgb_color[kTermColorCount]; - if (fTermColorTable == NULL) - return B_NO_MEMORY; - - // 0 - 15 are system ANSI colors - const char * keys[kANSIColorCount] = { - PREF_ANSI_BLACK_COLOR, - PREF_ANSI_RED_COLOR, - PREF_ANSI_GREEN_COLOR, - PREF_ANSI_YELLOW_COLOR, - PREF_ANSI_BLUE_COLOR, - PREF_ANSI_MAGENTA_COLOR, - PREF_ANSI_CYAN_COLOR, - PREF_ANSI_WHITE_COLOR, - PREF_ANSI_BLACK_HCOLOR, - PREF_ANSI_RED_HCOLOR, - PREF_ANSI_GREEN_HCOLOR, - PREF_ANSI_YELLOW_HCOLOR, - PREF_ANSI_BLUE_HCOLOR, - PREF_ANSI_MAGENTA_HCOLOR, - PREF_ANSI_CYAN_HCOLOR, - PREF_ANSI_WHITE_HCOLOR - }; - - rgb_color* color = fTermColorTable; - PrefHandler* handler = PrefHandler::Default(); - for (uint i = 0; i < kANSIColorCount; i++) - *color++ = handler->getRGB(keys[i]); - - // 16 - 231 are 6x6x6 color "cubes" in xterm color model - for (uint red = 0; red < 256; red += (red == 0) ? 95 : 40) - for (uint green = 0; green < 256; green += (green == 0) ? 95 : 40) - for (uint blue = 0; blue < 256; blue += (blue == 0) ? 95 : 40) - (*color++).set_to(red, green, blue); - - // 232 - 255 are grayscale ramp in xterm color model - for (uint gray = 8; gray < 240; gray += 10) - (*color++).set_to(gray, gray, gray); - - return B_OK; -} - // #pragma mark - Listener diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index c47e5cd2c5..ca90d987b4 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -153,7 +153,6 @@ private: status_t _InitObject( const ShellParameters& shellParameters); - status_t _InitColorTable(); status_t _AttachShell(Shell* shell); void _DetachShell(); @@ -274,8 +273,6 @@ private: rgb_color fSelectForeColor; rgb_color fSelectBackColor; - rgb_color* fTermColorTable; - // Scroll Region float fScrollOffset; int32 fScrBufSize; diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index 3f6e456758..e6dae771fd 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -9,6 +9,8 @@ #include +#include "Colors.h" +#include "TermApp.h" #include "TermConst.h" @@ -22,6 +24,7 @@ TerminalBuffer::TerminalBuffer() fAlternateScreen(NULL), fAlternateHistory(NULL), fAlternateScreenOffset(0), + fColorsPalette(NULL), fListenerValid(false) { } @@ -31,6 +34,7 @@ TerminalBuffer::~TerminalBuffer() { delete fAlternateScreen; delete fAlternateHistory; + delete[] fColorsPalette; } @@ -47,6 +51,13 @@ TerminalBuffer::Init(int32 width, int32 height, int32 historySize) for (int32 i = 0; i < height; i++) fAlternateScreen[i]->Clear(); + fColorsPalette = new(std::nothrow) rgb_color[kTermColorCount]; + if (fColorsPalette == NULL) + return B_NO_MEMORY; + + memcpy(fColorsPalette, TermApp::DefaultPalette(), + sizeof(rgb_color) * kTermColorCount); + return BasicTerminalBuffer::Init(width, height, historySize); } @@ -211,6 +222,42 @@ TerminalBuffer::SetCursorHidden(bool hidden) } +void +TerminalBuffer::SetPaletteColor(uint8 index, rgb_color color) +{ + if (index < kTermColorCount) + fColorsPalette[index] = color; +} + + +rgb_color +TerminalBuffer::PaletteColor(uint8 index) +{ + return fColorsPalette[min_c(index, kTermColorCount - 1)]; +} + + +int +TerminalBuffer::GuessPaletteColor(int red, int green, int blue) +{ + int distance = 255 * 100; + int index = -1; + for (int i = 0; i < kTermColorCount && distance > 0; i++) { + rgb_color color = fColorsPalette[i]; + int r = 30 * abs(color.red - red); + int g = 59 * abs(color.green - green); + int b = 11 * abs(color.blue - blue); + int d = r + g + b; + if (distance > d) { + index = i; + distance = d; + } + } + + return min_c(index, kTermColorCount - 1); +} + + void TerminalBuffer::NotifyQuit(int32 reason) { diff --git a/src/apps/terminal/TerminalBuffer.h b/src/apps/terminal/TerminalBuffer.h index a505350f89..56fd38a111 100644 --- a/src/apps/terminal/TerminalBuffer.h +++ b/src/apps/terminal/TerminalBuffer.h @@ -34,6 +34,9 @@ public: void SetCursorStyle(int32 style, bool blinking); void SetCursorBlinking(bool blinking); void SetCursorHidden(bool hidden); + void SetPaletteColor(uint8 index, rgb_color color); + rgb_color PaletteColor(uint8 index); + int GuessPaletteColor(int red, int green, int blue); void NotifyQuit(int32 reason); @@ -61,6 +64,7 @@ private: TerminalLine** fAlternateScreen; HistoryBuffer* fAlternateHistory; int32 fAlternateScreenOffset; + rgb_color* fColorsPalette; // listener/dirty region management BMessenger fListener; From 5b41331f1100c78541d87b7ad5a15d5652acb079 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 9 Mar 2013 10:40:16 +0100 Subject: [PATCH 021/122] CodeStyle fixes, some refactoring and cleanup * Clear some codestyle issues catched by checker script; * Rename RestartDebugCapture to more consistent StartStopDebugCapture; * Updated Copyrights and authors lists, some occurences of the raw MIT licence text replaced with "under the terms of MIT licence" reference; * Fixes for x86_64 build. This is cumulative cleanup commit for series of Terminal refactoring changes I have introduced last time. No significant functional changes. --- src/apps/terminal/BasicTerminalBuffer.cpp | 62 ++++++++++----------- src/apps/terminal/BasicTerminalBuffer.h | 16 ++++-- src/apps/terminal/Colors.cpp | 24 ++++----- src/apps/terminal/Colors.h | 12 +++-- src/apps/terminal/HistoryBuffer.cpp | 5 ++ src/apps/terminal/PrefHandler.cpp | 15 ++++-- src/apps/terminal/PrefHandler.h | 7 ++- src/apps/terminal/Shell.cpp | 8 ++- src/apps/terminal/TermApp.cpp | 8 +-- src/apps/terminal/TermApp.h | 29 ++-------- src/apps/terminal/TermConst.h | 45 +++------------- src/apps/terminal/TermParse.cpp | 62 ++++++++++----------- src/apps/terminal/TermParse.h | 28 ++-------- src/apps/terminal/TermView.cpp | 66 ++++++++++------------- src/apps/terminal/TermView.h | 5 +- src/apps/terminal/TermWindow.cpp | 38 +++++++------ src/apps/terminal/TerminalBuffer.cpp | 9 +++- src/apps/terminal/TerminalBuffer.h | 5 ++ src/apps/terminal/TerminalLine.h | 5 ++ src/apps/terminal/VTPrsTbl.c | 39 ++++---------- src/apps/terminal/VTparse.h | 29 ++-------- 21 files changed, 220 insertions(+), 297 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 4f403df766..182551ef21 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #include "BasicTerminalBuffer.h" @@ -265,7 +270,6 @@ BasicTerminalBuffer::SynchronizeWith(const BasicTerminalBuffer* other, destLine->softBreak = sourceLine->softBreak; if (destLine->length > 0) { memcpy(destLine->cells, sourceLine->cells, -// destLine->length * sizeof(TerminalCell)); fWidth * sizeof(TerminalCell)); } } else { @@ -309,6 +313,7 @@ BasicTerminalBuffer::GetChar(int32 row, int32 column, UTF8Char& character, return A_CHAR; } + void BasicTerminalBuffer::GetCellAttributes(int32 row, int32 column, uint32& attributes, uint32& count) const @@ -319,16 +324,14 @@ BasicTerminalBuffer::GetCellAttributes(int32 row, int32 column, if (line == NULL || column < 0) return; - uint32 c = column; + int32 c = column; for (; c < fWidth; c++) { TerminalCell& cell = line->cells[c]; - if (c > column && attributes != cell.attributes) { + if (c > column && attributes != cell.attributes) break; - } attributes = cell.attributes; } count = c - column; -// printf("r:%d c:%d count:%d a:%x\n", row, column, count, attributes); } @@ -497,6 +500,7 @@ BasicTerminalBuffer::GetLineColor(int32 index) const return line != NULL ? line->attributes : 0; } + bool BasicTerminalBuffer::Find(const char* _pattern, const TermPos& start, bool forward, bool caseSensitive, bool matchWord, TermPos& _matchStart, @@ -728,7 +732,7 @@ BasicTerminalBuffer::InsertTab() if (x != fCursor.x) { TerminalLine* line = _LineAt(fCursor.y); for (int32 i = fCursor.x; i <= x; i++) { - line->cells[i].character = ' '; + line->cells[i].character = ' '; line->cells[i].attributes = fAttributes; } fCursor.x = x; @@ -784,35 +788,27 @@ void BasicTerminalBuffer::EraseCharsFrom(int32 first, int32 numChars) { TerminalLine* line = _LineAt(fCursor.y); - -/* if (IsAlternateScreenActive())*/ { - int32 end = min_c(first + numChars, fWidth); - for (int32 i = first; i < end; i++) - line->cells[i].attributes = fAttributes; - } - + + int32 end = min_c(first + numChars, fWidth); + for (int32 i = first; i < end; i++) + line->cells[i].attributes = fAttributes; + line->attributes = fAttributes; - _Invalidate(fCursor.y, fCursor.y); - -// if (fCursor.x >= line->length) -// return; - fSoftWrappedCursor = false; - int32 end = min_c(first + numChars, line->length); -// printf("%d:%d - %d|", fCursor.y, first, end); + end = min_c(first + numChars, line->length); if (first > 0 && IS_WIDTH(line->cells[first - 1].attributes)) first--; if (end > 0 && IS_WIDTH(line->cells[end - 1].attributes)) end++; -// printf("%d - %d\n", first, end); for (int32 i = first; i < end; i++) { line->cells[i].character = kSpaceChar; line->cells[i].attributes = fAttributes; } + _Invalidate(fCursor.y, fCursor.y); } @@ -887,8 +883,6 @@ BasicTerminalBuffer::DeleteChars(int32 numChars) line->length = fCursor.x; } -// line->attributes = fAttributes; - _Invalidate(fCursor.y, fCursor.y); } } @@ -1331,7 +1325,7 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height, sourceLine->cells + sourceX, toCopy * sizeof(TerminalCell)); destLine->length += toCopy; } - + destLine->attributes = sourceLine->attributes; bool nextDestLine = false; @@ -1572,12 +1566,9 @@ void BasicTerminalBuffer::_PadLineToCursor() { TerminalLine* line = _LineAt(fCursor.y); - if (line->length < fCursor.x) { - for (int32 i = line->length; i < fCursor.x; i++) { + if (line->length < fCursor.x) + for (int32 i = line->length; i < fCursor.x; i++) line->cells[i].character = kSpaceChar; -// line->cells[i].attributes = line->attributes; - } - } } @@ -1716,7 +1707,7 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName) break; } - size_t countLines = dumpHistory ? fHistory->Size() : fHeight; + int countLines = dumpHistory ? fHistory->Size() : fHeight; fprintf(fileOut, "> %s lines dump begin <\n", dumpHistory ? "History" : "Terminal"); @@ -1727,11 +1718,11 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName) : fScreen[_LineIndex(i)]; if (line == NULL) { - fprintf(fileOut, "line: %ld is NULL!!!\n", i); + fprintf(fileOut, "line: %d is NULL!!!\n", i); continue; } - fprintf(fileOut, "%02d:%02d:%08lx:\n", + fprintf(fileOut, "%02" B_PRId16 ":%02" B_PRId16 ":%08" B_PRIx32 ":\n", i, line->length, line->attributes); for (int j = 0; j < line->length; j++) fprintf(fileOut, "%c", line->cells[j].character.bytes[0]); @@ -1739,7 +1730,7 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName) fprintf(fileOut, "\n"); for (int s = 28; s >= 0; s -= 4) { for (int j = 0; j < fWidth; j++) - fprintf(fileOut, "%01lx", + fprintf(fileOut, "%01" B_PRIx32, (line->cells[j].attributes >> s) & 0x0F); fprintf(fileOut, "\n"); @@ -1751,14 +1742,15 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName) fprintf(fileOut, "> %s lines dump finished <\n", dumpHistory ? "History" : "Terminal"); - } while (dumpHistory = !dumpHistory); + dumpHistory = !dumpHistory; + } while (dumpHistory); fclose(fileOut); } void -BasicTerminalBuffer::RestartDebugCapture() +BasicTerminalBuffer::StartStopDebugCapture() { if (fCaptureFile >= 0) { close(fCaptureFile); diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index c5300d5aee..4275c9041f 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef BASIC_TERMINAL_BUFFER_H #define BASIC_TERMINAL_BUFFER_H @@ -114,8 +119,8 @@ public: // snapshots and data capture for debugging void MakeLinesSnapshots(time_t timeStamp, const char* fileName); - void RestartDebugCapture(); - /*inline*/ void CaptureChar(char ch); + void StartStopDebugCapture(); + void CaptureChar(char ch); // insert chars/lines inline void InsertChar(UTF8Char c); @@ -183,7 +188,7 @@ protected: static TerminalLine** _AllocateLines(int32 width, int32 count); static void _FreeLines(TerminalLine** lines, int32 count); - void _ClearLines(int32 first, int32 last/*, uint32 attr = 0*/); //TODO attr + void _ClearLines(int32 first, int32 last); status_t _ResizeHistory(int32 width, int32 historyCapacity); @@ -272,7 +277,7 @@ BasicTerminalBuffer::SetAttributes(uint32 attributes) void BasicTerminalBuffer::PreserveAttributes(bool store) { - if (store) + if (store) fSavedAttributes = fAttributes; else fAttributes = fSavedAttributes; @@ -306,18 +311,21 @@ BasicTerminalBuffer::EraseChars(int32 numChars) EraseCharsFrom(fCursor.x, numChars); } + void BasicTerminalBuffer::DeleteColumns() { DeleteColumnsFrom(fCursor.x); } + void BasicTerminalBuffer::SetCursor(int32 x, int32 y) { _SetCursor(x, y, false); } + void BasicTerminalBuffer::SetCursorX(int32 x) { diff --git a/src/apps/terminal/Colors.cpp b/src/apps/terminal/Colors.cpp index b7a009214b..669d6b40c7 100644 --- a/src/apps/terminal/Colors.cpp +++ b/src/apps/terminal/Colors.cpp @@ -1,6 +1,10 @@ /* - * Copyright 2010-2012, Haiku, Inc. All rights reserved. + * Copyright 2010-2013, Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. + * + * Authors: + * Stefano Ceccherini, stefano.ceccherini@gmail.com + * Siarzhuk Zharski, zharik@gmx.li */ @@ -8,7 +12,6 @@ #include #include -#include #include #include @@ -128,7 +131,8 @@ XColorsTable::XColorsTable() XColorsTable::~XColorsTable() { - // fTable is owned by BApplication - no need to free it. + // fTable as result of LoadResource call and owned + // by BApplication so no need to free it explicitly fTable = NULL; fCount = 0; } @@ -180,9 +184,9 @@ status_t XColorsTable::_LoadXColorsTable() { BResources* res = BApplication::AppResources(); - if (res == NULL) + if (res == NULL) return B_ERROR; - + size_t size = 0; fTable = (_XColorEntry*)res->LoadResource(B_RAW_TYPE, "XColorsTable", &size); if (fTable == NULL || size < sizeof(_XColorEntry)) { @@ -191,16 +195,6 @@ XColorsTable::_LoadXColorsTable() } fCount = size / sizeof(_XColorEntry); - -// printf("%ld; sizeof:%ld\n", fCount, sizeof(_XColorEntry)); - - for (size_t i = 0; i < fCount; i++) { - printf("%ld:%#010lx -> %d/%d/%d %d\n", - i, fTable[i].hash, fTable[i].color.red, - fTable[i].color.green, fTable[i].color.blue, - fTable[i].color.alpha); - } - return B_OK; } diff --git a/src/apps/terminal/Colors.h b/src/apps/terminal/Colors.h index fe45c272d7..1b83f1cbd0 100644 --- a/src/apps/terminal/Colors.h +++ b/src/apps/terminal/Colors.h @@ -1,6 +1,10 @@ /* - * Copyright 2010-2012, Haiku, Inc. All rights reserved. + * Copyright 2010-2013, Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. + * + * Authors: + * Stefano Ceccherini, stefano.ceccherini@gmail.com + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef _COLORS_H #define _COLORS_H @@ -28,8 +32,8 @@ const uint kTermColorCount = 256; // Helper class handling XColorName/rgb:xxx/xxx/xxx -> rgb_color conversions. -// The source of XColorNames is wide available rgb.txt for X11 System. -// It is stored in "XColorsTable" application resource as array of +// The source of XColorNames is wide available rgb.txt for X11 System. +// It is stored in "XColorsTable" application resource as array of // "hash <-> rgb_color" pairs. The table is loaded only on demand. // Name hashes must be sorted to let lookup procedure work properly class XColorsTable { @@ -39,7 +43,7 @@ class XColorsTable { rgb_color color; }; -public: +public: XColorsTable(); ~XColorsTable(); diff --git a/src/apps/terminal/HistoryBuffer.cpp b/src/apps/terminal/HistoryBuffer.cpp index 9704af0426..3202c5a0af 100644 --- a/src/apps/terminal/HistoryBuffer.cpp +++ b/src/apps/terminal/HistoryBuffer.cpp @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #include "HistoryBuffer.h" diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index c9e159c838..3f75d18cd4 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -1,10 +1,15 @@ /* - * Copyright 2003-2007, Haiku, Inc. All Rights Reserved. + * Copyright 2003-2013, Haiku, Inc. All Rights Reserved. * Copyright (c) 2004 Daniel Furrer * Copyright (c) 2003-4 Kian Duffy * Copyright (c) 1998,99 Kazuho Okui and Takashi Murai. * * Distributed unter the terms of the MIT License. + * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Daniel Furrer, assimil8or@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ @@ -60,7 +65,7 @@ static const pref_defaults kTermDefaults[] = { { PREF_ANSI_MAGENTA_COLOR, "115, 68, 123" }, { PREF_ANSI_CYAN_COLOR, " 6, 152, 154" }, { PREF_ANSI_WHITE_COLOR, "245, 245, 245" }, - + { PREF_ANSI_BLACK_HCOLOR, "128, 128, 128" }, { PREF_ANSI_RED_HCOLOR, "255, 0, 0" }, { PREF_ANSI_GREEN_HCOLOR, " 0, 255, 0" }, @@ -204,11 +209,12 @@ PrefHandler::SaveAsText(const char *path, const char *mimetype, fContainer.GetInfo(B_STRING_TYPE, i, (char**)&key, &type) == B_OK; #endif i++) { - int len = snprintf(buffer, sizeof(buffer), "\"%s\" , \"%s\"\n", key, getString(key)); + int len = snprintf(buffer, sizeof(buffer), "\"%s\" , \"%s\"\n", + key, getString(key)); file.Write(buffer, len); } - if (mimetype != NULL){ + if (mimetype != NULL) { BNodeInfo info(&file); info.SetType(mimetype); info.SetPreferredApp(signature); @@ -237,6 +243,7 @@ PrefHandler::getFloat(const char *key) return atof(value); } + #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "Terminal getString" diff --git a/src/apps/terminal/PrefHandler.h b/src/apps/terminal/PrefHandler.h index 466638cb6a..83c565dc45 100644 --- a/src/apps/terminal/PrefHandler.h +++ b/src/apps/terminal/PrefHandler.h @@ -1,10 +1,15 @@ /* - * Copyright (c) 2003-2006, Haiku, Inc. All Rights Reserved. + * Copyright (c) 2003-2013, Haiku, Inc. All Rights Reserved. * Copyright (c) 2004 Daniel Furrer * Copyright (c) 2003-4 Kian Duffy * Copyright (c) 1998,99 Kazuho Okui and Takashi Murai. * * Distributed unter the terms of the MIT License. + * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Daniel Furrer, assimil8or@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef PREF_HANDLER_H #define PREF_HANDLER_H diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp index 2209f072d4..be93b97114 100644 --- a/src/apps/terminal/Shell.cpp +++ b/src/apps/terminal/Shell.cpp @@ -1,11 +1,15 @@ /* - * Copyright 2007-2010, Haiku, Inc. All rights reserved. + * Copyright 2007-2013, Haiku, Inc. All rights reserved. * Copyright (c) 2003-4 Kian Duffy * Copyright (c) 2004 Daniel Furrer * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * * Distributed under the terms of the MIT license. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Daniel Furrer, assimil8or@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ @@ -71,7 +75,6 @@ // TODO: should extract from /etc/passwd instead??? const char *kDefaultShell = "/bin/sh"; const char *kTerminalType = "xterm-256color"; -//const char *kTerminalType = "xterm"; /* * Set environment variable. @@ -382,6 +385,7 @@ initialize_termios(struct termios &tio) tio.c_cc[VSUSP] = CSUSP; /* '^Z' */ } + #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "Terminal Shell" diff --git a/src/apps/terminal/TermApp.cpp b/src/apps/terminal/TermApp.cpp index b936d204ab..908edc0f43 100644 --- a/src/apps/terminal/TermApp.cpp +++ b/src/apps/terminal/TermApp.cpp @@ -1,9 +1,13 @@ /* - * Copyright 2001-2010, Haiku, Inc. All rights reserved. + * Copyright 2001-2013, Haiku, Inc. All rights reserved. * Copyright (c) 2003-2004 Kian Duffy * Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * * Distributed unter the terms of the MIT license. + * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ @@ -292,7 +296,6 @@ TermApp::_ChildCleanupThread(void* data) } - void TermApp::_Usage(char *name) { @@ -351,4 +354,3 @@ TermApp::_InitDefaultPalette() for (uint gray = 8; gray < 240; gray += 10) (*color++).set_to(gray, gray, gray); } - diff --git a/src/apps/terminal/TermApp.h b/src/apps/terminal/TermApp.h index 3fe12f1968..45fbd834b5 100644 --- a/src/apps/terminal/TermApp.h +++ b/src/apps/terminal/TermApp.h @@ -1,32 +1,13 @@ /* - * Copyright 2001-2010, Haiku. + * Copyright 2001-2013, Haiku. * Copyright (c) 2003-4 Kian Duffy * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * Distributed under the terms of the MIT License. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERM_APP_H #define TERM_APP_H diff --git a/src/apps/terminal/TermConst.h b/src/apps/terminal/TermConst.h index 34b57ed1ea..0471b1cc8e 100644 --- a/src/apps/terminal/TermConst.h +++ b/src/apps/terminal/TermConst.h @@ -1,32 +1,13 @@ /* - * Copyright 2001-2009, Haiku. + * Copyright 2001-2013, Haiku. * Copyright (c) 2003-4 Kian Duffy * Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * Distributed under the terms of the MIT License. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERMCONST_H_INCLUDED #define TERMCONST_H_INCLUDED @@ -164,16 +145,8 @@ static const char* const PREF_WINDOW_TITLE = "Window title"; extern const char* const kTooTipSetTabTitlePlaceholders; extern const char* const kTooTipSetWindowTitlePlaceholders; -// Color type -enum { - TEXT_FOREGROUND_COLOR, - TEXT_BACKGROUND_COLOR, - SELECTION_FOREGROUND_COLOR, - SELECTION_BACKGROUND_COLOR -}; - -// Cursor shape +// Cursor style enum { BLOCK_CURSOR, UNDERLINE_CURSOR, @@ -189,12 +162,6 @@ static const int32 DEFAULT = -1; static const int HALF_WIDTH = 1; static const int FULL_WIDTH = 2; -// Scroll direction flag -enum{ - SCRUP, - SCRDOWN -}; - #define M_UTF8 -1 #define TAB_WIDTH 8 diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 6f912ed2b8..202a720a7c 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -1,8 +1,12 @@ /* - * Copyright 2001-2010, Haiku, Inc. + * Copyright 2001-2013, Haiku, Inc. * Copyright (c) 2003-4 Kian Duffy * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * Distributed under the terms of the MIT license. + * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ @@ -176,7 +180,7 @@ TermParse::_InitPtyReader() fReaderThread = spawn_thread(_ptyreader_thread, "PtyReader", B_NORMAL_PRIORITY, this); - if (fReaderThread < 0) { + if (fReaderThread < 0) { delete_sem(fReaderSem); fReaderSem = -1; delete_sem(fReaderLocker); @@ -485,40 +489,40 @@ TermParse::EscParse() /* "Special characters and line drawing" enabled by \E(0 */ switch (c) { case 'a': - fBuffer->InsertChar("\xE2\x96\x92",3); + fBuffer->InsertChar("\xE2\x96\x92", 3); break; case 'j': - fBuffer->InsertChar("\xE2\x94\x98",3); + fBuffer->InsertChar("\xE2\x94\x98", 3); break; case 'k': - fBuffer->InsertChar("\xE2\x94\x90",3); + fBuffer->InsertChar("\xE2\x94\x90", 3); break; case 'l': - fBuffer->InsertChar("\xE2\x94\x8C",3); + fBuffer->InsertChar("\xE2\x94\x8C", 3); break; case 'm': - fBuffer->InsertChar("\xE2\x94\x94",3); + fBuffer->InsertChar("\xE2\x94\x94", 3); break; case 'n': - fBuffer->InsertChar("\xE2\x94\xBC",3); + fBuffer->InsertChar("\xE2\x94\xBC", 3); break; case 'q': - fBuffer->InsertChar("\xE2\x94\x80",3); + fBuffer->InsertChar("\xE2\x94\x80", 3); break; case 't': - fBuffer->InsertChar("\xE2\x94\x9C",3); + fBuffer->InsertChar("\xE2\x94\x9C", 3); break; case 'u': - fBuffer->InsertChar("\xE2\x94\xA4",3); + fBuffer->InsertChar("\xE2\x94\xA4", 3); break; case 'v': - fBuffer->InsertChar("\xE2\x94\xB4",3); + fBuffer->InsertChar("\xE2\x94\xB4", 3); break; case 'w': - fBuffer->InsertChar("\xE2\x94\xAC",3); + fBuffer->InsertChar("\xE2\x94\xAC", 3); break; case 'x': - fBuffer->InsertChar("\xE2\x94\x82",3); + fBuffer->InsertChar("\xE2\x94\x82", 3); break; default: fBuffer->InsertChar((char)c); @@ -694,7 +698,7 @@ TermParse::EscParse() param[nparam++] = DEFAULT; break; - case CASE_CSI_SP: // ESC [N q + case CASE_CSI_SP: // ESC [N q // part of change cursor style DECSCUSR if (nparam < NPARAM) param[nparam++] = ' '; @@ -1136,14 +1140,13 @@ TermParse::EscParse() break; } default: - if (!isprint(params[i] & 0x7f)) { + if (!isprint(params[i] & 0x7f)) break; - } continue; } params[i] = '\0'; } - + if (isParsed) _ProcessOperatingSystemControls(params); @@ -1546,7 +1549,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params) case 104: // reset colors (0 - 255) { bool reset = (mode / 100) == 1; - + // colors can be in "idx1:name1;...;idxN:nameN;" sequence too! uint32 count = 0; char* p = strtok((char*)params, ";"); @@ -1558,16 +1561,14 @@ TermParse::_ProcessOperatingSystemControls(uchar* params) if (p == NULL) break; - if (gXColorsTable.LookUpColor(p, &colors[count]) == B_OK) { + if (gXColorsTable.LookUpColor(p, &colors[count]) == B_OK) count++; - } - } else { + } else count++; - } p = strtok(NULL, ";"); - } while(p != NULL && count < kTermColorCount); - + } while (p != NULL && count < kTermColorCount); + if (count > 0) { if (!reset) fBuffer->SetColors(indexes, colors, count); @@ -1588,13 +1589,13 @@ TermParse::_ProcessOperatingSystemControls(uchar* params) // dyna-colors are pos-sensitive - no chance to continue break; } - + indexes[count] = 10 + offset + count; count++; - p = strtok(NULL, ";"); - } while(p != NULL && (offset + count) < 10); - + + } while (p != NULL && (offset + count) < 10); + if (count > 0) { fBuffer->SetColors(indexes, colors, count, true); } @@ -1609,8 +1610,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params) } break; default: - printf("%d -> %s\n", mode, params); + // printf("%d -> %s\n", mode, params); break; } } - diff --git a/src/apps/terminal/TermParse.h b/src/apps/terminal/TermParse.h index 625457322a..35790d36ca 100644 --- a/src/apps/terminal/TermParse.h +++ b/src/apps/terminal/TermParse.h @@ -1,31 +1,13 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright (c) 2003-4 Kian Duffy * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * Distributed under the terms of the MIT License. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERMPARSE_H #define TERMPARSE_H diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 771890dc26..0de284b7f1 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2010, Haiku, Inc. + * Copyright 2001-2013, Haiku, Inc. * Copyright 2003-2004 Kian Duffy, myob@users.sourceforge.net * Parts Copyright 1998-1999 Kazuho Okui and Takashi Murai. * All rights reserved. Distributed under the terms of the MIT license. @@ -10,6 +10,7 @@ * Y.Hayakawa, hida@sawada.riec.tohoku.ac.jp * Ingo Weinhold, ingo_weinhold@gmx.de * Clemens Zeidler, haiku@Clemens-Zeidler.de + * Siarzhuk Zharski, zharik@gmx.li */ @@ -332,7 +333,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) fVisibleTextBuffer = new(std::nothrow) BasicTerminalBuffer; if (fVisibleTextBuffer == NULL) return B_NO_MEMORY; - + // TODO: Make the special word chars user-settable! fCharClassifier = new(std::nothrow) CharClassifier( kDefaultSpecialWordChars); @@ -356,7 +357,7 @@ TermView::_InitObject(const ShellParameters& shellParameters) // set the shell parameters' encoding ShellParameters modifiedShellParameters(shellParameters); - + const BCharacterSet* charset = BCharacterSetRoster::GetCharacterSetByConversionID(fEncoding); modifiedShellParameters.SetEncoding(charset ? charset->GetName() : "UTF-8"); @@ -653,7 +654,7 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic) fTextBuffer->SetPaletteColor(index, color); return; } - + switch (index) { case 10: fTextForeColor = color; @@ -942,15 +943,12 @@ TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf, // color attribute int forecolor = IS_FORECOLOR(attr); int backcolor = IS_BACKCOLOR(attr); - + if (IS_FORESET(attr)) rgb_fore = fTextBuffer->PaletteColor(forecolor); if (IS_BACKSET(attr)) rgb_back = fTextBuffer->PaletteColor(backcolor); -// printf("DLP:[%03x %03x %03x]; [%03x %03x %03x];\n", -// rgb_fore.red, rgb_fore.green, rgb_fore.blue, rgb_back.red, rgb_back.green, rgb_back.blue); - // Selection check. if (cursor) { rgb_fore = fCursorForeColor; @@ -1040,7 +1038,6 @@ TermView::_DrawCursor() _DrawLinePart(fCursor.x * fFontWidth, (int32)rect.top, attr, buffer, width, selected, cursorVisible, this); } else { - if (selected) SetHighColor(fSelectBackColor); else if (cursorVisible ) @@ -1063,7 +1060,6 @@ TermView::_DrawCursor() FillRect(rect); } - } @@ -1624,19 +1620,19 @@ TermView::MessageReceived(BMessage *msg) #if 0 } else if (msg->FindData("RGBColor", B_RGB_COLOR_TYPE, (const void **)&color, &numBytes) == B_OK - && numBytes == sizeof(color)) { + && numBytes == sizeof(color)) { // TODO: handle color drop // maybe only on replicants ? return; #endif } else if (msg->FindData("text/plain", B_MIME_TYPE, - (const void **)&text, &numBytes) == B_OK) { + (const void **)&text, &numBytes) == B_OK) { _WritePTY(text, numBytes); return; } } - switch (msg->what){ + switch (msg->what) { case B_SIMPLE_DATA: case B_REFS_RECEIVED: { @@ -1853,11 +1849,9 @@ TermView::MessageReceived(BMessage *msg) int32 count = 0; if (msg->FindInt32("count", &count) != B_OK) break; - bool dynamic = false; if (msg->FindBool("dynamic", &dynamic) != B_OK) break; - for (int i = 0; i < count; i++) { uint8 index = 0; if (msg->FindUInt8("index", i, &index) != B_OK) @@ -1868,10 +1862,8 @@ TermView::MessageReceived(BMessage *msg) if (msg->FindData("color", B_RGB_COLOR_TYPE, i, (const void**)&color, &bytes) != B_OK) break; - SetTermColor(index, *color, dynamic); } - break; } case MSG_RESET_TERMINAL_COLORS: @@ -1879,11 +1871,9 @@ TermView::MessageReceived(BMessage *msg) int32 count = 0; if (msg->FindInt32("count", &count) != B_OK) break; - bool dynamic = false; if (msg->FindBool("dynamic", &dynamic) != B_OK) break; - for (int i = 0; i < count; i++) { uint8 index = 0; if (msg->FindUInt8("index", i, &index) != B_OK) @@ -1893,7 +1883,6 @@ TermView::MessageReceived(BMessage *msg) SetTermColor(index, TermApp::DefaultPalette()[index], dynamic); } - break; } case MSG_SET_CURSOR_STYLE: @@ -2455,7 +2444,7 @@ TermView::_SendMouseEvent(int32 buttons, int32 mode, int32 x, int32 y, char xtermButtons; if (buttons == B_PRIMARY_MOUSE_BUTTON) xtermButtons = 32 + 0; - else if (buttons == B_SECONDARY_MOUSE_BUTTON) + else if (buttons == B_SECONDARY_MOUSE_BUTTON) xtermButtons = 32 + 1; else if (buttons == B_TERTIARY_MOUSE_BUTTON) xtermButtons = 32 + 2; @@ -2494,8 +2483,8 @@ TermView::MouseDown(BPoint where) if (fReportAnyMouseEvent || fReportButtonMouseEvent || fReportNormalMouseEvent || fReportX10MouseEvent) { - TermPos clickPos = _ConvertToTerminal(where); - _SendMouseEvent(buttons, modifier, clickPos.x, clickPos.y, false); + TermPos clickPos = _ConvertToTerminal(where); + _SendMouseEvent(buttons, modifier, clickPos.x, clickPos.y, false); return; } @@ -2588,17 +2577,17 @@ TermView::MouseMoved(BPoint where, uint32 transit, const BMessage *message) int32 modifier; Window()->CurrentMessage()->FindInt32("modifiers", &modifier); - TermPos clickPos = _ConvertToTerminal(where); + TermPos clickPos = _ConvertToTerminal(where); - if (fReportButtonMouseEvent) { - if (fPrevPos.x != clickPos.x || fPrevPos.y != clickPos.y) { - _SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, + if (fReportButtonMouseEvent) { + if (fPrevPos.x != clickPos.x || fPrevPos.y != clickPos.y) { + _SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, true); - } - fPrevPos = clickPos; - return; - } - _SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, true); + } + fPrevPos = clickPos; + return; + } + _SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, true); return; } @@ -2680,8 +2669,8 @@ TermView::MouseUp(BPoint where) if (fReportAnyMouseEvent || fReportButtonMouseEvent || fReportNormalMouseEvent) { - TermPos clickPos = _ConvertToTerminal(where); - _SendMouseEvent(0, 0, clickPos.x, clickPos.y, false); + TermPos clickPos = _ConvertToTerminal(where); + _SendMouseEvent(0, 0, clickPos.x, clickPos.y, false); } else { if ((buttons & B_PRIMARY_MOUSE_BUTTON) == 0 && (fMouseButtons & B_PRIMARY_MOUSE_BUTTON) != 0) { @@ -3206,7 +3195,6 @@ TermView::_HandleInputMethodLocationRequest() } - void TermView::_CancelInputMethod() { @@ -3267,16 +3255,16 @@ TermView::MakeDebugSnapshots() { BAutolock _(fTextBuffer); time_t timeStamp = time(NULL); - fTextBuffer->MakeLinesSnapshots(timeStamp, ".TextBuffer.log"); - fVisibleTextBuffer->MakeLinesSnapshots(timeStamp, ".VisualTextBuffer.log"); + fTextBuffer->MakeLinesSnapshots(timeStamp, ".TextBuffer.dump"); + fVisibleTextBuffer->MakeLinesSnapshots(timeStamp, ".VisualTextBuffer.dump"); } void -TermView::RestartDebugCapture() +TermView::StartStopDebugCapture() { BAutolock _(fTextBuffer); - fTextBuffer->RestartDebugCapture(); + fTextBuffer->StartStopDebugCapture(); } #endif diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index ca90d987b4..b3cbaa8f8e 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2010, Haiku, Inc. + * Copyright 2001-2013, Haiku, Inc. * Copyright (c) 2003-4 Kian Duffy * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * @@ -8,6 +8,7 @@ * Stefano Ceccherini, stefano.ceccherini@gmail.com * Kian Duffy, myob@users.sourceforge.net * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERMVIEW_H #define TERMVIEW_H @@ -91,7 +92,7 @@ public: void SetMouseClipboard(BClipboard *); void MakeDebugSnapshots(); - void RestartDebugCapture(); + void StartStopDebugCapture(); // edit functions void Copy(BClipboard* clipboard); diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 1e33dfa4fb..3703ec21ce 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -1,10 +1,15 @@ /* - * Copyright 2007-2010, Haiku, Inc. All rights reserved. + * Copyright 2007-2013, Haiku, Inc. All rights reserved. * Copyright (c) 2004 Daniel Furrer * Copyright (c) 2003-2004 Kian Duffy * Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * * Distributed under the terms of the MIT license. + * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Daniel Furrer, assimil8or@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #include "TermWindow.h" @@ -386,7 +391,7 @@ void TermWindow::MenusBeginning() { TermView* view = _ActiveTermView(); - + // Syncronize Encode Menu Pop-up menu and Preference. const BCharacterSet* charset = BCharacterSetRoster::GetCharacterSetByConversionID(view->Encoding()); @@ -473,7 +478,7 @@ TermWindow::_SetupMenu() .AddItem(B_TRANSLATE("New tab"), kNewTab, 'T') .AddSeparator() .AddItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS), MENU_PAGE_SETUP) - .AddItem(B_TRANSLATE("Print"), MENU_PRINT,'P') + .AddItem(B_TRANSLATE("Print"), MENU_PRINT, 'P') .AddSeparator() .AddItem(B_TRANSLATE("Close window"), B_QUIT_REQUESTED, 'W', B_SHIFT_KEY) @@ -483,13 +488,13 @@ TermWindow::_SetupMenu() // Edit .AddMenu(B_TRANSLATE("Edit")) - .AddItem(B_TRANSLATE("Copy"), B_COPY,'C') - .AddItem(B_TRANSLATE("Paste"), B_PASTE,'V') + .AddItem(B_TRANSLATE("Copy"), B_COPY, 'C') + .AddItem(B_TRANSLATE("Paste"), B_PASTE, 'V') .AddSeparator() .AddItem(B_TRANSLATE("Select all"), B_SELECT_ALL, 'A') .AddItem(B_TRANSLATE("Clear all"), MENU_CLEAR_ALL, 'L') .AddSeparator() - .AddItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS), MENU_FIND_STRING,'F') + .AddItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS), MENU_FIND_STRING, 'F') .AddItem(B_TRANSLATE("Find previous"), MENU_FIND_PREVIOUS, 'G', B_SHIFT_KEY) .GetItem(fFindPreviousMenuItem) @@ -671,7 +676,7 @@ TermWindow::MessageReceived(BMessage *message) break; case SHORTCUT_DEBUG_CAPTURE: - _ActiveTermView()->RestartDebugCapture(); + _ActiveTermView()->StartStopDebugCapture(); break; #endif @@ -710,8 +715,7 @@ TermWindow::MessageReceived(BMessage *message) case MENU_PREF_OPEN: if (!fPrefWindow) { fPrefWindow = new PrefWindow(this); - } - else + } else fPrefWindow->Activate(); break; @@ -728,8 +732,7 @@ TermWindow::MessageReceived(BMessage *message) if (!fFindPanel) { fFindPanel = new FindWindow(this, fFindString, fFindSelection, fMatchWord, fMatchCase, fForwardSearch); - } - else + } else fFindPanel->Activate(); break; @@ -760,7 +763,8 @@ TermWindow::MessageReceived(BMessage *message) message->FindBool("forwardsearch", &fForwardSearch); message->FindBool("matchcase", &fMatchCase); message->FindBool("matchword", &fMatchWord); - findresult = _ActiveTermView()->Find(fFindString, fForwardSearch, fMatchCase, fMatchWord); + findresult = _ActiveTermView()->Find(fFindString, fForwardSearch, + fMatchCase, fMatchWord); if (!findresult) { BAlert* alert = new BAlert(B_TRANSLATE("Find failed"), @@ -899,7 +903,7 @@ TermWindow::MessageReceived(BMessage *message) fTabView->ResizeBy(0, -mbHeight); fTabView->MoveBy(0, mbHeight); SetLook(fSavedLook); - fSavedFrame = BRect(0,0,-1,-1); + fSavedFrame = BRect(0, 0, -1, -1); SetFlags(Flags() & ~(B_NOT_RESIZABLE | B_NOT_MOVABLE)); fFullScreen = false; } @@ -922,7 +926,8 @@ TermWindow::MessageReceived(BMessage *message) { BPath path; if (PrefHandler::GetDefaultPath(path) == B_OK) - PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE); + PrefHandler::Default()->SaveAsText(path.Path(), + PREFFILE_MIMETYPE); break; } case MENU_PAGE_SETUP: @@ -1221,7 +1226,8 @@ TermWindow::_AddTab(Arguments* args, const BString& currentDirectory) BScrollView* scrollView = new TermScrollView("scrollView", containerView, view, fSessions.IsEmpty()); if (!fFullScreen) - scrollView->ScrollBar(B_VERTICAL)->ResizeBy(0, -(B_H_SCROLL_BAR_HEIGHT - 1)); + scrollView->ScrollBar(B_VERTICAL) + ->ResizeBy(0, -(B_H_SCROLL_BAR_HEIGHT - 1)); if (fSessions.IsEmpty()) fTabView->SetScrollView(scrollView); @@ -1964,7 +1970,7 @@ TermWindow::_NewSessionIndex() bool used = false; for (int32 i = 0; - Session* session = _SessionAt(i); i++) { + Session* session = _SessionAt(i); i++) { if (id == session->index) { used = true; break; diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index e6dae771fd..6910f28c51 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #include "TerminalBuffer.h" @@ -242,7 +247,7 @@ TerminalBuffer::GuessPaletteColor(int red, int green, int blue) { int distance = 255 * 100; int index = -1; - for (int i = 0; i < kTermColorCount && distance > 0; i++) { + for (uint32 i = 0; i < kTermColorCount && distance > 0; i++) { rgb_color color = fColorsPalette[i]; int r = 30 * abs(color.red - red); int g = 59 * abs(color.green - green); @@ -254,7 +259,7 @@ TerminalBuffer::GuessPaletteColor(int red, int green, int blue) } } - return min_c(index, kTermColorCount - 1); + return min_c(index, int(kTermColorCount - 1)); } diff --git a/src/apps/terminal/TerminalBuffer.h b/src/apps/terminal/TerminalBuffer.h index 56fd38a111..f1c7c3c06a 100644 --- a/src/apps/terminal/TerminalBuffer.h +++ b/src/apps/terminal/TerminalBuffer.h @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERMINAL_BUFFER_H #define TERMINAL_BUFFER_H diff --git a/src/apps/terminal/TerminalLine.h b/src/apps/terminal/TerminalLine.h index 5f2e4a7d9c..044cce7d99 100644 --- a/src/apps/terminal/TerminalLine.h +++ b/src/apps/terminal/TerminalLine.h @@ -1,6 +1,11 @@ /* + * Copyright 2013, Haiku, Inc. All rights reserved. * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, ingo_weinhold@gmx.de + * Siarzhuk Zharski, zharik@gmx.li */ #ifndef TERMINAL_LINE_H #define TERMINAL_LINE_H diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c index 6d09b304d5..ab4d85ea12 100644 --- a/src/apps/terminal/VTPrsTbl.c +++ b/src/apps/terminal/VTPrsTbl.c @@ -2,30 +2,11 @@ * Copyright (c) 2003-4 Kian Duffy * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * Distributed under the terms of the MIT License. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ #include "VTparse.h" @@ -115,7 +96,7 @@ CASE_PRINT, CASE_PRINT, CASE_PRINT, CASE_PRINT, -CASE_PRINT, +CASE_PRINT, /* @ A B C */ CASE_PRINT, CASE_PRINT, @@ -440,7 +421,7 @@ CASE_PRINT_CS96, CASE_PRINT_CS96, CASE_PRINT_CS96, CASE_PRINT_CS96, -CASE_PRINT_CS96, +CASE_PRINT_CS96, /* @ A B C */ CASE_PRINT_CS96, CASE_PRINT_CS96, @@ -1090,7 +1071,7 @@ CASE_PRINT, CASE_PRINT, CASE_PRINT, CASE_PRINT, -CASE_PRINT, +CASE_PRINT, /* @ A B C */ CASE_PRINT, CASE_PRINT, @@ -3028,7 +3009,7 @@ CASE_IGNORE, CASE_IGNORE, CASE_IGNORE, /* CAN EM SUB ESC */ -CASE_GROUND_STATE, +CASE_GROUND_STATE, CASE_IGNORE, CASE_GROUND_STATE, CASE_IGNORE_ESC, @@ -4805,7 +4786,7 @@ CASE_PRINT, CASE_PRINT, CASE_PRINT, CASE_PRINT, -CASE_PRINT, +CASE_PRINT, /* @ A B C */ CASE_PRINT, CASE_PRINT, @@ -5131,7 +5112,7 @@ CASE_PRINT, CASE_PRINT, CASE_PRINT, CASE_PRINT, -CASE_PRINT, +CASE_PRINT, /* @ A B C */ CASE_PRINT, CASE_PRINT, diff --git a/src/apps/terminal/VTparse.h b/src/apps/terminal/VTparse.h index 0fefe3bd4c..e2f6da19a6 100644 --- a/src/apps/terminal/VTparse.h +++ b/src/apps/terminal/VTparse.h @@ -1,31 +1,12 @@ /* * Copyright (c) 2003-4 Kian Duffy - * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. + * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files or portions - * thereof (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: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice - * in the binary, as well as this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with - * the distribution. - * - * 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * Distributed under the terms of the MIT License. * + * Authors: + * Kian Duffy, myob@users.sourceforge.net + * Siarzhuk Zharski, zharik@gmx.li */ From 3881911ccedfba7ebb4a212ae850c292d352fc85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 15 Mar 2013 00:55:38 +0100 Subject: [PATCH 022/122] Add the !DOCTYPE element to the text/html sniff rule --- src/data/beos_mime/text/html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/beos_mime/text/html b/src/data/beos_mime/text/html index 51a73865ec..376eefb161 100644 --- a/src/data/beos_mime/text/html +++ b/src/data/beos_mime/text/html @@ -5,7 +5,8 @@ resource(1, "META:TYPE") "text/html"; resource(2, "META:SNIFF_RULE") #'CSTR' array { "0.40 [0:64]( -i \" Date: Fri, 15 Mar 2013 11:47:11 +0100 Subject: [PATCH 023/122] The optimised aligned version was broken and not used. As pointed out by Hamish the alignment used && in second case instead of &, which meant it was never used. Another error when a32 was 0xFF000000 and b32 was 0xFF00FFFF would return a non zero value. A simple fix for the issues with going over to the byte by byte comparison failed, so rather than leave broken code I remove this for the time being. Not the best code I've written obviously. --- src/system/libroot/posix/string/strcmp.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/system/libroot/posix/string/strcmp.c b/src/system/libroot/posix/string/strcmp.c index cdba1d4f01..56e058e2cb 100644 --- a/src/system/libroot/posix/string/strcmp.c +++ b/src/system/libroot/posix/string/strcmp.c @@ -15,19 +15,6 @@ int strcmp(char const *a, char const *b) { - /* Make sure we don't pass page boundries on a or b when doing four byte - comparisons */ - if ((((addr_t)a) & 3) == 0 && (((addr_t)b) && 3) == 0) { - uint32* a32 = (uint32*)a; - uint32* b32 = (uint32*)b; - - while (LACKS_ZERO_BYTE(*a32)) { - int32 cmp = *a32++ - *b32++; - if (cmp != 0) - return cmp; - } - return *a32 - *b32; - } while (true) { int cmp = (unsigned char)*a - (unsigned char)*b++; if (cmp != 0 || *a++ == '\0') From 9f726b367b8aa6490ac6a523b06af00f7e595076 Mon Sep 17 00:00:00 2001 From: Ziusudra Date: Sat, 15 Dec 2012 22:37:33 -0700 Subject: [PATCH 024/122] Terminal:Add ACS symbols supported by xterm-256color More ACS (also known line drawing) symbols should be supported by xterm-256color terminal emulator. Partially fixes #9293. --- src/apps/terminal/TermParse.cpp | 65 +++++++++++++++++++++++++++------ src/apps/terminal/VTPrsTbl.c | 20 +++++----- 2 files changed, 63 insertions(+), 22 deletions(-) diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 202a720a7c..2a0f609c67 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -488,42 +488,83 @@ TermParse::EscParse() case CASE_PRINT_GRA: /* "Special characters and line drawing" enabled by \E(0 */ switch (c) { - case 'a': + case '`': // ACS_DIAMOND + fBuffer->InsertChar("\xE2\x97\x86", 3); + break; + case 'a': // ACS_CKBOARD fBuffer->InsertChar("\xE2\x96\x92", 3); break; - case 'j': + case 'f': // ACS_DEGREE + fBuffer->InsertChar("\xC2\xB0", 2); + break; + case 'g': // ACS_PLMINUS + fBuffer->InsertChar("\xC2\xB1", 2); + break; + case 'i': // ACS_LANTERN + fBuffer->InsertChar("\xE2\x98\x83", 3); + break; + case 'j': // ACS_LRCORNER fBuffer->InsertChar("\xE2\x94\x98", 3); break; - case 'k': + case 'k': // ACS_URCORNER fBuffer->InsertChar("\xE2\x94\x90", 3); break; - case 'l': + case 'l': // ACS_ULCORNER fBuffer->InsertChar("\xE2\x94\x8C", 3); break; - case 'm': + case 'm': // ACS_LLCORNER fBuffer->InsertChar("\xE2\x94\x94", 3); break; - case 'n': + case 'n': // ACS_PLUS fBuffer->InsertChar("\xE2\x94\xBC", 3); break; - case 'q': + case 'o': // ACS_S1 + fBuffer->InsertChar("\xE2\x8E\xBA", 3); + break; + case 'p': // ACS_S3 + fBuffer->InsertChar("\xE2\x8E\xBB", 3); + break; + case 'r': // ACS_S7 + fBuffer->InsertChar("\xE2\x8E\xBC", 3); + break; + case 's': // ACS_S9 + fBuffer->InsertChar("\xE2\x8E\xBD", 3); + break; + case 'q': // ACS_HLINE fBuffer->InsertChar("\xE2\x94\x80", 3); break; - case 't': + case 't': // ACS_LTEE fBuffer->InsertChar("\xE2\x94\x9C", 3); break; - case 'u': + case 'u': // ACS_RTEE fBuffer->InsertChar("\xE2\x94\xA4", 3); break; - case 'v': + case 'v': // ACS_BTEE fBuffer->InsertChar("\xE2\x94\xB4", 3); break; - case 'w': + case 'w': // ACS_TTEE fBuffer->InsertChar("\xE2\x94\xAC", 3); break; - case 'x': + case 'x': // ACS_VLINE fBuffer->InsertChar("\xE2\x94\x82", 3); break; + case 'y': // ACS_LEQUAL + fBuffer->InsertChar("\xE2\x89\xA4", 3); + break; + case 'z': // ACS_GEQUAL + fBuffer->InsertChar("\xE2\x89\xA5", 3); + break; + case '{': // ACS_PI + fBuffer->InsertChar("\xCF\x80", 2); + break; + case '|': // ACS_NEQUAL + fBuffer->InsertChar("\xE2\x89\xA0", 3); + break; + case '}': // ACS_STERLING + fBuffer->InsertChar("\xC2\xA3", 2); + break; + case '~': // ACS_BULLET + fBuffer->InsertChar("\xC2\xB7", 2); default: fBuffer->InsertChar((char)c); } diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c index ab4d85ea12..0b711229ce 100644 --- a/src/apps/terminal/VTPrsTbl.c +++ b/src/apps/terminal/VTPrsTbl.c @@ -5154,18 +5154,18 @@ CASE_PRINT, CASE_PRINT, CASE_PRINT, /* ` a b c */ -CASE_PRINT, +CASE_PRINT_GRA, CASE_PRINT_GRA, CASE_PRINT, CASE_PRINT, /* d e f g */ CASE_PRINT, CASE_PRINT, -CASE_PRINT, -CASE_PRINT, +CASE_PRINT_GRA, +CASE_PRINT_GRA, /* h i j k */ CASE_PRINT, -CASE_PRINT, +CASE_PRINT_GRA, CASE_PRINT_GRA, CASE_PRINT_GRA, /* l m n o */ @@ -5185,13 +5185,13 @@ CASE_PRINT_GRA, CASE_PRINT_GRA, /* x y z { */ CASE_PRINT_GRA, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, +CASE_PRINT_GRA, +CASE_PRINT_GRA, +CASE_PRINT_GRA, /* | } ~ DEL */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, +CASE_PRINT_GRA, +CASE_PRINT_GRA, +CASE_PRINT_GRA, CASE_IGNORE, /* 0x80 0x81 0x82 0x83 */ CASE_UTF8_INSTRING, From 41130d1c524259bf5600cbd84c41af0e8cd8285c Mon Sep 17 00:00:00 2001 From: Ziusudra Date: Sun, 16 Dec 2012 16:01:50 -0700 Subject: [PATCH 025/122] Terminal: Fixed small code duplication SetTermSize(BRect) already contains all the code calling SetTermSize(int, int). Partially fixes #9293. --- src/apps/terminal/TermView.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 0de284b7f1..abbacebfeb 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -1144,10 +1144,7 @@ TermView::AttachedToWindow() // update the terminal size because it may have changed while the TermView // was detached from the window. On such conditions FrameResized was not // called when the resize occured - int rows; - int columns; - GetTermSizeFromRect(Bounds(), &rows, &columns); - SetTermSize(rows, columns); + SetTermSize(Bounds()); MakeFocus(true); if (fScrollBar) { fScrollBar->SetSteps(fFontHeight, fFontHeight * fRows); From 93a58e5028e3bd021644b8b662851ea6415b6386 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Wed, 6 Mar 2013 12:32:15 -0500 Subject: [PATCH 026/122] Reformat Deskbar prefs all in one with no tabs --- src/apps/deskbar/PreferencesWindow.cpp | 82 +++++++++++++------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index a43f918074..103d59b766 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -12,6 +12,7 @@ #include +#include #include #include #include @@ -26,7 +27,6 @@ #include #include #include -#include #include #include @@ -164,34 +164,10 @@ PreferencesWindow::PreferencesWindow(BRect frame) fWindowAutoRaise->SetTarget(be_app); fWindowAutoHide->SetTarget(be_app); - // Layout - BView* menuSettingsView = BLayoutBuilder::Group<>() - .AddGroup(B_VERTICAL, 0) - .AddGroup(B_HORIZONTAL, 0) - .AddGroup(B_VERTICAL, 0) - .Add(fMenuRecentDocuments) - .Add(fMenuRecentFolders) - .Add(fMenuRecentApplications) - .End() - .AddGroup(B_VERTICAL, 0) - .Add(fMenuRecentDocumentCount) - .Add(fMenuRecentFolderCount) - .Add(fMenuRecentApplicationCount) - .End() - .End() - .AddGroup(B_VERTICAL, 0) - .SetInsets(0, B_USE_DEFAULT_SPACING, 0, 0) - .Add(new BButton(B_TRANSLATE("Edit menu" B_UTF8_ELLIPSIS), - new BMessage(kEditMenuInTracker))) - .End() - .AddGlue() - .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, - B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) - .End() - .View(); - menuSettingsView->SetName(B_TRANSLATE("Menu")); - - BView* applicationsSettingsView = BLayoutBuilder::Group<>() + // Applications + BBox* appsSettingsBox = new BBox("applications"); + appsSettingsBox->SetLabel(B_TRANSLATE("Applications")); + appsSettingsBox->AddChild(BLayoutBuilder::Group<>() .AddGroup(B_VERTICAL, 0) .Add(fAppsSort) .Add(fAppsSortTrackerFirst) @@ -209,10 +185,36 @@ PreferencesWindow::PreferencesWindow(BRect frame) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() - .View(); - applicationsSettingsView->SetName(B_TRANSLATE("Applications")); + .View()); - BView* windowSettingsView = BLayoutBuilder::Group<>() + // Recent items + BBox* recentItemsBox = new BBox("recent items"); + recentItemsBox->SetLabel(B_TRANSLATE("Recent items")); + recentItemsBox->AddChild(BLayoutBuilder::Group<>() + .AddGroup(B_VERTICAL, 0) + .AddGroup(B_HORIZONTAL, 0) + .AddGroup(B_VERTICAL, 0) + .Add(fMenuRecentDocuments) + .Add(fMenuRecentFolders) + .Add(fMenuRecentApplications) + .End() + .AddGroup(B_VERTICAL, 0) + .Add(fMenuRecentDocumentCount) + .Add(fMenuRecentFolderCount) + .Add(fMenuRecentApplicationCount) + .End() + .End() + //.Add(new BButton(B_TRANSLATE("Edit menu" B_UTF8_ELLIPSIS), + // new BMessage(kEditMenuInTracker))) + .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) + .End() + .View()); + + // Window + BBox* windowSettingsBox = new BBox("window"); + windowSettingsBox->SetLabel(B_TRANSLATE("Window")); + windowSettingsBox->AddChild(BLayoutBuilder::Group<>() .AddGroup(B_VERTICAL, 0) .Add(fWindowAlwaysOnTop) .Add(fWindowAutoRaise) @@ -221,16 +223,16 @@ PreferencesWindow::PreferencesWindow(BRect frame) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() - .View(); - windowSettingsView->SetName(B_TRANSLATE("Window")); - - BTabView* tabView = new BTabView("tabview", B_WIDTH_FROM_LABEL); - tabView->AddTab(menuSettingsView); - tabView->AddTab(applicationsSettingsView); - tabView->AddTab(windowSettingsView); + .View()); + // Layout BLayoutBuilder::Group<>(this) - .Add(tabView) + .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) + .Add(appsSettingsBox) + .AddGroup(B_VERTICAL, B_USE_SMALL_SPACING) + .Add(recentItemsBox) + .Add(windowSettingsBox) + .End() .SetInsets(B_USE_DEFAULT_SPACING) .End(); From cb0602cf812bf04a72f60e4c4c76f6d8ca8b2f11 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Wed, 6 Mar 2013 20:39:46 -0500 Subject: [PATCH 027/122] Implement Revert and Default buttons in Deskbar prefs --- src/apps/deskbar/BarApp.cpp | 20 +- src/apps/deskbar/BarApp.h | 3 + src/apps/deskbar/PreferencesWindow.cpp | 360 ++++++++++++++++++++----- src/apps/deskbar/PreferencesWindow.h | 49 +++- 4 files changed, 359 insertions(+), 73 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index afb2451425..bc9706d95a 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -485,6 +485,8 @@ TBarApp::MessageReceived(BMessage* message) fSettings.recentDocsCount = count; if (message->FindBool("documentsEnabled", &enabled) == B_OK) fSettings.recentDocsEnabled = enabled && count > 0; + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case B_SOME_APP_LAUNCHED: @@ -530,12 +532,14 @@ TBarApp::MessageReceived(BMessage* message) fSettings.alwaysOnTop = !fSettings.alwaysOnTop; fBarWindow->SetFeel(fSettings.alwaysOnTop ? B_FLOATING_ALL_WINDOW_FEEL : B_NORMAL_WINDOW_FEEL); - fPreferencesWindow->PostMessage(kStateChanged); + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kAutoRaise: fSettings.autoRaise = fSettings.alwaysOnTop ? false : !fSettings.autoRaise; + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kAutoHide: @@ -544,6 +548,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->HideDeskbar(fSettings.autoHide); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kTrackerFirst: @@ -552,6 +558,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kSortRunningApps: @@ -560,6 +568,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kUnsubscribe: @@ -576,6 +586,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kExpandNewTeams: @@ -584,6 +596,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kHideLabels: @@ -592,6 +606,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Lock(); fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kResizeTeamIcons: @@ -620,6 +636,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->UpdatePlacement(); fBarWindow->Unlock(); + + fPreferencesWindow->PostMessage(kUpdatePreferences); break; } diff --git a/src/apps/deskbar/BarApp.h b/src/apps/deskbar/BarApp.h index 40ece977d7..ed6f336b02 100644 --- a/src/apps/deskbar/BarApp.h +++ b/src/apps/deskbar/BarApp.h @@ -69,6 +69,9 @@ const int32 kMinimumIconSize = 16; const int32 kMaximumIconSize = 96; const int32 kIconSizeInterval = 8; +// update preferences message constant +const uint32 kUpdatePreferences = 'Pref'; + /* --------------------------------------------- */ struct desk_settings { diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 103d59b766..2331702ca5 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -48,6 +48,10 @@ PreferencesWindow::PreferencesWindow(BRect frame) BWindow(frame, B_TRANSLATE("Deskbar preferences"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_NOT_ZOOMABLE) { + // Set the default and intial settings used by default and revert buttons + _SetDefaultSettings(); + _SetInitialSettings(); + // Menu controls fMenuRecentDocuments = new BCheckBox(B_TRANSLATE("Recent documents:"), new BMessage(kUpdateRecentCounts)); @@ -75,7 +79,7 @@ PreferencesWindow::PreferencesWindow(BRect frame) fAppsHideLabels = new BCheckBox(B_TRANSLATE("Hide application names"), new BMessage(kHideLabels)); fAppsIconSizeSlider = new BSlider("icon_size", B_TRANSLATE("Icon size"), - NULL, kMinimumIconSize / kIconSizeInterval, + new BMessage(kResizeTeamIcons), kMinimumIconSize / kIconSizeInterval, kMaximumIconSize / kIconSizeInterval, B_HORIZONTAL); fAppsIconSizeSlider->SetHashMarks(B_HASH_MARKS_BOTTOM); fAppsIconSizeSlider->SetHashMarkCount((kMaximumIconSize - kMinimumIconSize) @@ -92,10 +96,6 @@ PreferencesWindow::PreferencesWindow(BRect frame) fWindowAutoHide = new BCheckBox(B_TRANSLATE("Auto-hide"), new BMessage(kAutoHide)); - // Get settings from BarApp - TBarApp* barApp = static_cast(be_app); - desk_settings* settings = barApp->Settings(); - // Menu settings BTextView* docTextView = fMenuRecentDocumentCount->TextView(); BTextView* appTextView = fMenuRecentApplicationCount->TextView(); @@ -113,18 +113,18 @@ PreferencesWindow::PreferencesWindow(BRect frame) appTextView->SetMaxBytes(4); folderTextView->SetMaxBytes(4); - int32 docCount = settings->recentDocsCount; - int32 appCount = settings->recentAppsCount; - int32 folderCount = settings->recentFoldersCount; + int32 docCount = fInitialSettings.recentDocsCount; + int32 appCount = fInitialSettings.recentAppsCount; + int32 folderCount = fInitialSettings.recentFoldersCount; - fMenuRecentDocuments->SetValue(settings->recentDocsEnabled); - fMenuRecentDocumentCount->SetEnabled(settings->recentDocsEnabled); + fMenuRecentDocuments->SetValue(fInitialSettings.recentDocsEnabled); + fMenuRecentDocumentCount->SetEnabled(fInitialSettings.recentDocsEnabled); - fMenuRecentApplications->SetValue(settings->recentAppsEnabled); - fMenuRecentApplicationCount->SetEnabled(settings->recentAppsEnabled); + fMenuRecentApplications->SetValue(fInitialSettings.recentAppsEnabled); + fMenuRecentApplicationCount->SetEnabled(fInitialSettings.recentAppsEnabled); - fMenuRecentFolders->SetValue(settings->recentFoldersEnabled); - fMenuRecentFolderCount->SetEnabled(settings->recentFoldersEnabled); + fMenuRecentFolders->SetValue(fInitialSettings.recentFoldersEnabled); + fMenuRecentFolderCount->SetEnabled(fInitialSettings.recentFoldersEnabled); BString docString; BString appString; @@ -139,23 +139,25 @@ PreferencesWindow::PreferencesWindow(BRect frame) fMenuRecentFolderCount->SetText(folderString.String()); // Applications settings - fAppsSort->SetValue(settings->sortRunningApps); - fAppsSortTrackerFirst->SetValue(settings->trackerAlwaysFirst); - fAppsShowExpanders->SetValue(settings->superExpando); - fAppsExpandNew->SetValue(settings->expandNewTeams); - fAppsHideLabels->SetValue(settings->hideLabels); - fAppsIconSizeSlider->SetValue(settings->iconSize / kIconSizeInterval); + fAppsSort->SetValue(fInitialSettings.sortRunningApps); + fAppsSortTrackerFirst->SetValue(fInitialSettings.trackerAlwaysFirst); + fAppsShowExpanders->SetValue(fInitialSettings.superExpando); + fAppsExpandNew->SetValue(fInitialSettings.expandNewTeams); + fAppsHideLabels->SetValue(fInitialSettings.hideLabels); + fAppsIconSizeSlider->SetValue(fInitialSettings.iconSize + / kIconSizeInterval); // Window settings - fWindowAlwaysOnTop->SetValue(settings->alwaysOnTop); - fWindowAutoRaise->SetValue(settings->autoRaise); - fWindowAutoHide->SetValue(settings->autoHide); + fWindowAlwaysOnTop->SetValue(fInitialSettings.alwaysOnTop); + fWindowAutoRaise->SetValue(fInitialSettings.autoRaise); + fWindowAutoHide->SetValue(fInitialSettings.autoHide); - EnableDisableDependentItems(); + _EnableDisableDependentItems(); // Targets fAppsSort->SetTarget(be_app); fAppsSortTrackerFirst->SetTarget(be_app); + fAppsShowExpanders->SetTarget(be_app); fAppsExpandNew->SetTarget(be_app); fAppsHideLabels->SetTarget(be_app); fAppsIconSizeSlider->SetTarget(be_app); @@ -204,8 +206,8 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fMenuRecentApplicationCount) .End() .End() - //.Add(new BButton(B_TRANSLATE("Edit menu" B_UTF8_ELLIPSIS), - // new BMessage(kEditMenuInTracker))) + //.Add(new BButton(B_TRANSLATE("Open in Tracker" B_UTF8_ELLIPSIS), + // new BMessage(kOpenInTracker))) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() @@ -225,16 +227,29 @@ PreferencesWindow::PreferencesWindow(BRect frame) .End() .View()); + // Action Buttons + fRevertButton = new BButton(B_TRANSLATE("Revert"), + new BMessage(kRevert)); + fDefaultsButton = new BButton(B_TRANSLATE("Defaults"), + new BMessage(kDefaults)); + // Layout BLayoutBuilder::Group<>(this) - .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) - .Add(appsSettingsBox) - .AddGroup(B_VERTICAL, B_USE_SMALL_SPACING) - .Add(recentItemsBox) - .Add(windowSettingsBox) + .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING) + .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) + .Add(appsSettingsBox) + .AddGroup(B_VERTICAL, B_USE_SMALL_SPACING) + .Add(recentItemsBox) + .Add(windowSettingsBox) + .End() .End() - .SetInsets(B_USE_DEFAULT_SPACING) - .End(); + .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) + .Add(fRevertButton) + .AddGlue() + .Add(fDefaultsButton) + .End() + .SetInsets(B_USE_DEFAULT_SPACING) + .End(); CenterOnScreen(); } @@ -242,7 +257,7 @@ PreferencesWindow::PreferencesWindow(BRect frame) PreferencesWindow::~PreferencesWindow() { - UpdateRecentCounts(); + _UpdateRecentCounts(); } @@ -250,21 +265,30 @@ void PreferencesWindow::MessageReceived(BMessage* message) { switch (message->what) { - case kEditMenuInTracker: + case kOpenInTracker: OpenWithTracker(B_USER_DESKBAR_DIRECTORY); break; - case kUpdateRecentCounts: - UpdateRecentCounts(); + case kUpdatePreferences: + _EnableDisableDependentItems(); + _UpdateButtons(); break; - case kSuperExpando: - EnableDisableDependentItems(); - be_app->PostMessage(message); + case kUpdateRecentCounts: + _UpdateRecentCounts(); + _UpdateButtons(); break; case kStateChanged: - EnableDisableDependentItems(); + _EnableDisableDependentItems(); + break; + + case kRevert: + _UpdatePreferences(fInitialSettings); + break; + + case kDefaults: + _UpdatePreferences(fDefaultSettings); break; default: @@ -289,8 +313,11 @@ void PreferencesWindow::Show() { if (IsHidden()) { - // move to current workspace SetWorkspaces(B_CURRENT_WORKSPACE); + // move to current workspace + _SetInitialSettings(); + _UpdateButtons(); + // update initial settings for revert } BWindow::Show(); @@ -305,8 +332,228 @@ PreferencesWindow::WindowActivated(bool active) } +// #pragma mark - private methods + + void -PreferencesWindow::UpdateRecentCounts() +PreferencesWindow::_EnableDisableDependentItems() +{ + TBarApp* barApp = static_cast(be_app); + if (barApp->BarView()->Vertical() + && barApp->BarView()->ExpandoState()) { + fAppsShowExpanders->SetEnabled(true); + fAppsExpandNew->SetEnabled(fAppsShowExpanders->Value()); + } else { + fAppsShowExpanders->SetEnabled(false); + fAppsExpandNew->SetEnabled(false); + } + + fMenuRecentDocumentCount->SetEnabled( + fMenuRecentDocuments->Value() != B_CONTROL_OFF); + fMenuRecentFolderCount->SetEnabled( + fMenuRecentFolders->Value() != B_CONTROL_OFF); + fMenuRecentApplicationCount->SetEnabled( + fMenuRecentApplications->Value() != B_CONTROL_OFF); + + fWindowAutoRaise->SetEnabled( + fWindowAlwaysOnTop->Value() == B_CONTROL_OFF); +} + + +bool +PreferencesWindow::_IsDefaultable() +{ + desk_settings* settings = static_cast(be_app)->Settings(); + + return fDefaultSettings.sortRunningApps != settings->sortRunningApps + || fDefaultSettings.trackerAlwaysFirst != settings->trackerAlwaysFirst + || fDefaultSettings.superExpando != settings->superExpando + || fDefaultSettings.expandNewTeams != settings->expandNewTeams + || fDefaultSettings.hideLabels != settings->hideLabels + || fDefaultSettings.iconSize != settings->iconSize + || fDefaultSettings.recentAppsEnabled != settings->recentAppsEnabled + || fDefaultSettings.recentDocsEnabled != settings->recentDocsEnabled + || fDefaultSettings.recentFoldersEnabled + != settings->recentFoldersEnabled + || fDefaultSettings.recentAppsCount != settings->recentAppsCount + || fDefaultSettings.recentDocsCount != settings->recentDocsCount + || fDefaultSettings.recentFoldersCount != settings->recentFoldersCount + || fDefaultSettings.alwaysOnTop != settings->alwaysOnTop + || fDefaultSettings.autoRaise != settings->autoRaise + || fDefaultSettings.autoHide != settings->autoHide; +} + + +bool +PreferencesWindow::_IsRevertable() +{ + desk_settings* settings = static_cast(be_app)->Settings(); + + return fInitialSettings.sortRunningApps != settings->sortRunningApps + || fInitialSettings.trackerAlwaysFirst != settings->trackerAlwaysFirst + || fInitialSettings.superExpando != settings->superExpando + || fInitialSettings.expandNewTeams != settings->expandNewTeams + || fInitialSettings.hideLabels != settings->hideLabels + || fInitialSettings.iconSize != settings->iconSize + || fInitialSettings.recentAppsEnabled != settings->recentAppsEnabled + || fInitialSettings.recentDocsEnabled != settings->recentDocsEnabled + || fInitialSettings.recentFoldersEnabled + != settings->recentFoldersEnabled + || fInitialSettings.recentAppsCount != settings->recentAppsCount + || fInitialSettings.recentDocsCount != settings->recentDocsCount + || fInitialSettings.recentFoldersCount != settings->recentFoldersCount + || fInitialSettings.alwaysOnTop != settings->alwaysOnTop + || fInitialSettings.autoRaise != settings->autoRaise + || fInitialSettings.autoHide != settings->autoHide; +} + + +void +PreferencesWindow::_SetDefaultSettings() +{ + // applications + fDefaultSettings.sortRunningApps = false; + fDefaultSettings.trackerAlwaysFirst = false; + fDefaultSettings.superExpando = false; + fDefaultSettings.expandNewTeams = false; + fDefaultSettings.hideLabels = false; + fDefaultSettings.iconSize = kMinimumIconSize; + + // recent items + fDefaultSettings.recentAppsEnabled = true; + fDefaultSettings.recentDocsEnabled = true; + fDefaultSettings.recentFoldersEnabled = true; + fDefaultSettings.recentAppsCount = 10; + fDefaultSettings.recentDocsCount = 10; + fDefaultSettings.recentFoldersCount = 10; + + // window + fDefaultSettings.alwaysOnTop = false; + fDefaultSettings.autoRaise = false; + fDefaultSettings.autoHide = false; +} + + +void +PreferencesWindow::_SetInitialSettings() +{ + desk_settings* settings = static_cast(be_app)->Settings(); + + // applications + fInitialSettings.sortRunningApps = settings->sortRunningApps; + fInitialSettings.trackerAlwaysFirst = settings->trackerAlwaysFirst; + fInitialSettings.superExpando = settings->superExpando; + fInitialSettings.expandNewTeams = settings->expandNewTeams; + fInitialSettings.hideLabels = settings->hideLabels; + fInitialSettings.iconSize = settings->iconSize; + + // recent items + fInitialSettings.recentAppsEnabled = settings->recentAppsEnabled; + fInitialSettings.recentDocsEnabled = settings->recentDocsEnabled; + fInitialSettings.recentFoldersEnabled = settings->recentFoldersEnabled; + fInitialSettings.recentAppsCount = settings->recentAppsCount; + fInitialSettings.recentDocsCount = settings->recentDocsCount; + fInitialSettings.recentFoldersCount = settings->recentFoldersCount; + + // window + fInitialSettings.alwaysOnTop = settings->alwaysOnTop; + fInitialSettings.autoRaise = settings->autoRaise; + fInitialSettings.autoHide = settings->autoHide; +} + + + +void +PreferencesWindow::_UpdateButtons() +{ + fRevertButton->SetEnabled(_IsRevertable()); + fDefaultsButton->SetEnabled(_IsDefaultable()); +} + + +void +PreferencesWindow::_UpdatePreferences(pref_settings prefs) +{ + desk_settings* settings = static_cast(be_app)->Settings(); + bool updateRecentCounts = false; + + if (settings->sortRunningApps != prefs.sortRunningApps) { + fAppsSort->SetValue(prefs.sortRunningApps); + fAppsSort->Invoke(); + } + if (settings->trackerAlwaysFirst != prefs.trackerAlwaysFirst) { + fAppsSortTrackerFirst->SetValue(prefs.trackerAlwaysFirst); + fAppsSortTrackerFirst->Invoke(); + } + if (settings->superExpando != prefs.superExpando) { + fAppsShowExpanders->SetValue(prefs.superExpando); + fAppsShowExpanders->Invoke(); + } + if (settings->expandNewTeams != prefs.expandNewTeams) { + fAppsExpandNew->SetValue(prefs.expandNewTeams); + fAppsExpandNew->Invoke(); + } + if (settings->hideLabels != prefs.hideLabels) { + fAppsHideLabels->SetValue(prefs.hideLabels); + fAppsHideLabels->Invoke(); + } + if (settings->iconSize != prefs.iconSize) { + fAppsIconSizeSlider->SetValue(prefs.iconSize / kIconSizeInterval); + fAppsIconSizeSlider->Invoke(); + } + if (settings->recentDocsEnabled != prefs.recentDocsEnabled) { + fMenuRecentDocuments->SetValue(prefs.recentDocsEnabled + ? B_CONTROL_ON : B_CONTROL_OFF); + updateRecentCounts = true; + } + if (settings->recentFoldersEnabled != prefs.recentFoldersEnabled) { + fMenuRecentFolders->SetValue(prefs.recentFoldersEnabled + ? B_CONTROL_ON : B_CONTROL_OFF); + updateRecentCounts = true; + } + if (settings->recentAppsEnabled != fDefaultSettings.recentAppsEnabled) { + fMenuRecentApplications->SetValue(prefs.recentAppsEnabled + ? B_CONTROL_ON : B_CONTROL_OFF); + updateRecentCounts = true; + } + if (settings->recentDocsCount != prefs.recentDocsCount) { + BString docString; + docString << prefs.recentDocsCount; + fMenuRecentDocumentCount->SetText(docString.String()); + updateRecentCounts = true; + } + if (settings->recentFoldersCount != prefs.recentFoldersCount) { + BString folderString; + folderString << prefs.recentFoldersCount; + fMenuRecentFolderCount->SetText(folderString.String()); + updateRecentCounts = true; + } + if (settings->recentAppsCount != prefs.recentAppsCount) { + BString appString; + appString << prefs.recentAppsCount; + fMenuRecentApplicationCount->SetText(appString.String()); + updateRecentCounts = true; + } + if (settings->alwaysOnTop != prefs.alwaysOnTop) { + fWindowAlwaysOnTop->SetValue(prefs.alwaysOnTop); + fWindowAlwaysOnTop->Invoke(); + } + if (settings->autoRaise != prefs.autoRaise) { + fWindowAutoRaise->SetValue(prefs.autoRaise); + fWindowAutoRaise->Invoke(); + } + if (settings->autoHide != prefs.autoHide) { + fWindowAutoHide->SetValue(prefs.autoHide); + fWindowAutoHide->Invoke(); + } + + if (updateRecentCounts) + _UpdateRecentCounts(); +} + + +void +PreferencesWindow::_UpdateRecentCounts() { BMessage message(kUpdateRecentCounts); @@ -324,30 +571,5 @@ PreferencesWindow::UpdateRecentCounts() be_app->PostMessage(&message); - EnableDisableDependentItems(); -} - - -void -PreferencesWindow::EnableDisableDependentItems() -{ - TBarApp* barApp = static_cast(be_app); - if (barApp->BarView()->Vertical() - && barApp->BarView()->ExpandoState()) { - fAppsShowExpanders->SetEnabled(true); - fAppsExpandNew->SetEnabled(fAppsShowExpanders->Value()); - } else { - fAppsShowExpanders->SetEnabled(false); - fAppsExpandNew->SetEnabled(false); - } - - fMenuRecentDocumentCount->SetEnabled( - fMenuRecentDocuments->Value() != B_CONTROL_OFF); - fMenuRecentApplicationCount->SetEnabled( - fMenuRecentApplications->Value() != B_CONTROL_OFF); - fMenuRecentFolderCount->SetEnabled( - fMenuRecentFolders->Value() != B_CONTROL_OFF); - - fWindowAutoRaise->SetEnabled( - fWindowAlwaysOnTop->Value() == B_CONTROL_OFF); + _EnableDisableDependentItems(); } diff --git a/src/apps/deskbar/PreferencesWindow.h b/src/apps/deskbar/PreferencesWindow.h index ac1cbbcc29..6f11588b25 100644 --- a/src/apps/deskbar/PreferencesWindow.h +++ b/src/apps/deskbar/PreferencesWindow.h @@ -11,7 +11,7 @@ const uint32 kConfigShow = 'show'; const uint32 kUpdateRecentCounts = 'upct'; -const uint32 kEditMenuInTracker = 'mtrk'; +const uint32 kOpenInTracker = 'otrk'; const uint32 kTrackerFirst = 'TkFt'; const uint32 kSortRunningApps = 'SAps'; @@ -22,6 +22,32 @@ const uint32 kResizeTeamIcons = 'RTIs'; const uint32 kAutoRaise = 'AtRs'; const uint32 kAutoHide = 'AtHd'; +const uint32 kDefaults = 'dflt'; +const uint32 kRevert = 'rvrt'; + + +struct pref_settings { + // applications + bool trackerAlwaysFirst; + bool sortRunningApps; + bool superExpando; + bool expandNewTeams; + bool hideLabels; + int32 iconSize; + // recent items + int32 recentAppsCount; + int32 recentDocsCount; + int32 recentFoldersCount; + bool recentAppsEnabled; + bool recentDocsEnabled; + bool recentFoldersEnabled; + // window + bool alwaysOnTop; + bool autoRaise; + bool autoHide; +}; + + class BCheckBox; class BRadioButton; class BSlider; @@ -38,8 +64,18 @@ public: virtual void Show(); virtual void WindowActivated(bool active); - void UpdateRecentCounts(); - void EnableDisableDependentItems(); +private: + void _EnableDisableDependentItems(); + + bool _IsDefaultable(); + bool _IsRevertable(); + + void _SetDefaultSettings(); + void _SetInitialSettings(); + + void _UpdateButtons(); + void _UpdatePreferences(pref_settings prefs); + void _UpdateRecentCounts(); private: BCheckBox* fMenuRecentDocuments; @@ -60,6 +96,13 @@ private: BCheckBox* fWindowAlwaysOnTop; BCheckBox* fWindowAutoRaise; BCheckBox* fWindowAutoHide; + + BButton* fRevertButton; + BButton* fDefaultsButton; + +private: + pref_settings fDefaultSettings; + pref_settings fInitialSettings; }; From 1ec3d372525d8c8c8ed4cb37dee6c773cf764303 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 8 Mar 2013 19:48:27 -0500 Subject: [PATCH 028/122] Rename 'Sort running applications' to 'Sort applications by name' --- src/apps/deskbar/PreferencesWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 2331702ca5..6348565b24 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -68,7 +68,7 @@ PreferencesWindow::PreferencesWindow(BRect frame) new BMessage(kUpdateRecentCounts)); // Applications controls - fAppsSort = new BCheckBox(B_TRANSLATE("Sort running applications"), + fAppsSort = new BCheckBox(B_TRANSLATE("Sort applications by name"), new BMessage(kSortRunningApps)); fAppsSortTrackerFirst = new BCheckBox(B_TRANSLATE("Tracker always first"), new BMessage(kTrackerFirst)); From cb42238603639d60d3775a92b765715ef41edb97 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 8 Mar 2013 20:37:33 -0500 Subject: [PATCH 029/122] Destroy prefs window on close once again --- src/apps/deskbar/BarApp.cpp | 87 ++++++++++++++++---------- src/apps/deskbar/BarApp.h | 2 + src/apps/deskbar/DeskbarMenu.cpp | 1 + src/apps/deskbar/PreferencesWindow.cpp | 22 ++----- src/apps/deskbar/PreferencesWindow.h | 4 +- 5 files changed, 64 insertions(+), 52 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index bc9706d95a..a8f5580b97 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -172,21 +172,10 @@ TBarApp::~TBarApp() bool TBarApp::QuitRequested() { - // don't allow user quitting + // don't allow the user to quit if (CurrentMessage() && CurrentMessage()->FindBool("shortcut")) { - // but allow quitting to hide fPreferencesWindow - int32 index = 0; - BWindow* window = NULL; - while ((window = WindowAt(index++)) != NULL) { - if (window == fPreferencesWindow) { - if (fPreferencesWindow->Lock()) { - if (fPreferencesWindow->IsActive()) - fPreferencesWindow->PostMessage(B_QUIT_REQUESTED); - fPreferencesWindow->Unlock(); - } - break; - } - } + // but close the preferences window + QuitPreferencesWindow(); return false; } @@ -449,8 +438,13 @@ TBarApp::MessageReceived(BMessage* message) ShowPreferencesWindow(); break; + case kConfigQuit: + QuitPreferencesWindow(); + break; + case kStateChanged: - fPreferencesWindow->PostMessage(kStateChanged); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kStateChanged); break; case kShowDeskbarMenu: @@ -486,7 +480,8 @@ TBarApp::MessageReceived(BMessage* message) if (message->FindBool("documentsEnabled", &enabled) == B_OK) fSettings.recentDocsEnabled = enabled && count > 0; - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case B_SOME_APP_LAUNCHED: @@ -532,14 +527,16 @@ TBarApp::MessageReceived(BMessage* message) fSettings.alwaysOnTop = !fSettings.alwaysOnTop; fBarWindow->SetFeel(fSettings.alwaysOnTop ? B_FLOATING_ALL_WINDOW_FEEL : B_NORMAL_WINDOW_FEEL); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kAutoRaise: fSettings.autoRaise = fSettings.alwaysOnTop ? false : !fSettings.autoRaise; - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kAutoHide: @@ -549,7 +546,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->HideDeskbar(fSettings.autoHide); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kTrackerFirst: @@ -559,7 +557,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kSortRunningApps: @@ -569,7 +568,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kUnsubscribe: @@ -587,7 +587,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kExpandNewTeams: @@ -597,7 +598,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kHideLabels: @@ -607,7 +609,8 @@ TBarApp::MessageReceived(BMessage* message) fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; case kResizeTeamIcons: @@ -637,7 +640,8 @@ TBarApp::MessageReceived(BMessage* message) fBarWindow->Unlock(); - fPreferencesWindow->PostMessage(kUpdatePreferences); + if (fPreferencesWindow != NULL) + fPreferencesWindow->PostMessage(kUpdatePreferences); break; } @@ -911,14 +915,33 @@ TBarApp::ShowPreferencesWindow() if (fPreferencesWindow == NULL) { fPreferencesWindow = new PreferencesWindow(BRect(0, 0, 320, 240)); fPreferencesWindow->Show(); - } else { - if (fPreferencesWindow->Lock()) { - if (fPreferencesWindow->IsHidden()) - fPreferencesWindow->Show(); - else - fPreferencesWindow->Activate(); + } else if (fPreferencesWindow->Lock()) { + if (fPreferencesWindow->IsHidden()) + fPreferencesWindow->Show(); + else + fPreferencesWindow->Activate(); - fPreferencesWindow->Unlock(); + fPreferencesWindow->Unlock(); + } +} + + +void +TBarApp::QuitPreferencesWindow() +{ + if (fPreferencesWindow == NULL) + return; + + int32 index = 0; + BWindow* window = NULL; + while ((window = WindowAt(index++)) != NULL) { + if (window == fPreferencesWindow) { + if (fPreferencesWindow->Lock()) { + fPreferencesWindow->Quit(); + // Quit() destroys the window so don't unlock + fPreferencesWindow = NULL; + } + break; } } } diff --git a/src/apps/deskbar/BarApp.h b/src/apps/deskbar/BarApp.h index ed6f336b02..42b2889adc 100644 --- a/src/apps/deskbar/BarApp.h +++ b/src/apps/deskbar/BarApp.h @@ -159,6 +159,8 @@ private: void SaveSettings(); void ShowPreferencesWindow(); + void QuitPreferencesWindow(); + void ResizeTeamIcons(); void FetchAppIcon(const char* signature, BBitmap* icon); diff --git a/src/apps/deskbar/DeskbarMenu.cpp b/src/apps/deskbar/DeskbarMenu.cpp index b85c082a0e..24d526505b 100644 --- a/src/apps/deskbar/DeskbarMenu.cpp +++ b/src/apps/deskbar/DeskbarMenu.cpp @@ -379,6 +379,7 @@ TDeskbarMenu::ResetTargets() case kShowSplash: case kToggleDraggers: case kConfigShow: + case kConfigQuit: case kAlwaysTop: case kExpandNewTeams: case kHideLabels: diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 6348565b24..5a6273954d 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -301,10 +301,8 @@ PreferencesWindow::MessageReceived(BMessage* message) bool PreferencesWindow::QuitRequested() { - if (IsHidden()) - return true; + be_app->PostMessage(kConfigQuit); - Hide(); return false; } @@ -312,26 +310,15 @@ PreferencesWindow::QuitRequested() void PreferencesWindow::Show() { - if (IsHidden()) { + if (IsHidden()) SetWorkspaces(B_CURRENT_WORKSPACE); - // move to current workspace - _SetInitialSettings(); - _UpdateButtons(); - // update initial settings for revert - } + + _UpdateButtons(); BWindow::Show(); } -void -PreferencesWindow::WindowActivated(bool active) -{ - if (!active && IsMinimized()) - PostMessage(B_QUIT_REQUESTED); -} - - // #pragma mark - private methods @@ -462,7 +449,6 @@ PreferencesWindow::_SetInitialSettings() } - void PreferencesWindow::_UpdateButtons() { diff --git a/src/apps/deskbar/PreferencesWindow.h b/src/apps/deskbar/PreferencesWindow.h index 6f11588b25..4b885d8cad 100644 --- a/src/apps/deskbar/PreferencesWindow.h +++ b/src/apps/deskbar/PreferencesWindow.h @@ -9,7 +9,8 @@ #include -const uint32 kConfigShow = 'show'; +const uint32 kConfigShow = 'PrSh'; +const uint32 kConfigQuit = 'PrQt'; const uint32 kUpdateRecentCounts = 'upct'; const uint32 kOpenInTracker = 'otrk'; @@ -62,7 +63,6 @@ public: virtual void MessageReceived(BMessage* message); virtual bool QuitRequested(); virtual void Show(); - virtual void WindowActivated(bool active); private: void _EnableDisableDependentItems(); From 43917ef2e0654197d1d98dc0ed50095f6c813d7a Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 8 Mar 2013 22:30:14 -0500 Subject: [PATCH 030/122] Refactor settings so that defaults get set in 1 place. * Move desk_settings and clock_settings struct to a new header entitled 'BarSettings.h' so it can be included in BarApp.h and PreferencesWindow.h. * Refactor desk_settings to only include used, or at least relevant settings, some cruft had built up over time. * Refactor the InitSettings() method, all the B_OK checking wasn't working so I removed it. Defaults get set up to and if the corresponding setting is found in the settings file it is replaced, else, it is not. * Reorder the struct and code so it goes in the order that the settings appear: applications, then recent items, then window settings. * Simplify the preferences window revert and defaults code based on using the prebuild desk_settings structs in BarApp instead of creating our own and copying. All initial setup is in the constructor. --- src/apps/deskbar/BarApp.cpp | 227 +++++++++---------------- src/apps/deskbar/BarApp.h | 44 +---- src/apps/deskbar/BarSettings.h | 74 ++++++++ src/apps/deskbar/PreferencesWindow.cpp | 227 ++++++++++--------------- src/apps/deskbar/PreferencesWindow.h | 32 +--- 5 files changed, 261 insertions(+), 343 deletions(-) create mode 100644 src/apps/deskbar/BarSettings.h diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index a8f5580b97..cf0c059c40 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -192,20 +192,15 @@ TBarApp::SaveSettings() if (fSettingsFile->InitCheck() == B_OK) { fSettingsFile->Seek(0, SEEK_SET); BMessage storedSettings; + storedSettings.AddBool("vertical", fSettings.vertical); storedSettings.AddBool("left", fSettings.left); storedSettings.AddBool("top", fSettings.top); - storedSettings.AddInt32("state", fSettings.state); + storedSettings.AddUInt32("state", fSettings.state); storedSettings.AddFloat("width", fSettings.width); - storedSettings.AddBool("showClock", fSettings.showClock); storedSettings.AddPoint("switcherLoc", fSettings.switcherLoc); - storedSettings.AddInt32("recentAppsCount", fSettings.recentAppsCount); - storedSettings.AddInt32("recentDocsCount", fSettings.recentDocsCount); - storedSettings.AddBool("timeShowSeconds", fSettings.timeShowSeconds); - storedSettings.AddInt32("recentFoldersCount", - fSettings.recentFoldersCount); - storedSettings.AddBool("alwaysOnTop", fSettings.alwaysOnTop); - storedSettings.AddBool("timeFullDate", fSettings.timeFullDate); + storedSettings.AddBool("showClock", fSettings.showClock); + // applications storedSettings.AddBool("trackerAlwaysFirst", fSettings.trackerAlwaysFirst); storedSettings.AddBool("sortRunningApps", fSettings.sortRunningApps); @@ -213,14 +208,23 @@ TBarApp::SaveSettings() storedSettings.AddBool("expandNewTeams", fSettings.expandNewTeams); storedSettings.AddBool("hideLabels", fSettings.hideLabels); storedSettings.AddInt32("iconSize", fSettings.iconSize); - storedSettings.AddBool("autoRaise", fSettings.autoRaise); - storedSettings.AddBool("autoHide", fSettings.autoHide); - storedSettings.AddBool("recentAppsEnabled", - fSettings.recentAppsEnabled); + // recent items storedSettings.AddBool("recentDocsEnabled", fSettings.recentDocsEnabled); storedSettings.AddBool("recentFoldersEnabled", fSettings.recentFoldersEnabled); + storedSettings.AddBool("recentAppsEnabled", + fSettings.recentAppsEnabled); + storedSettings.AddInt32("recentDocsCount", + fSettings.recentDocsCount); + storedSettings.AddInt32("recentFoldersCount", + fSettings.recentFoldersCount); + storedSettings.AddInt32("recentAppsCount", + fSettings.recentAppsCount); + // window + storedSettings.AddBool("alwaysOnTop", fSettings.alwaysOnTop); + storedSettings.AddBool("autoRaise", fSettings.autoRaise); + storedSettings.AddBool("autoHide", fSettings.autoHide); storedSettings.Flatten(fSettingsFile); } @@ -245,30 +249,32 @@ void TBarApp::InitSettings() { desk_settings settings; - settings.vertical = true; - settings.left = false; - settings.top = true; - settings.state = kExpandoState; - settings.width = 0; - settings.showClock = true; - settings.switcherLoc = BPoint(5000, 5000); - settings.recentAppsCount = 10; - settings.recentDocsCount = 10; - settings.timeShowSeconds = false; - settings.recentFoldersCount = 10; - settings.alwaysOnTop = false; - settings.timeFullDate = false; - settings.trackerAlwaysFirst = false; - settings.sortRunningApps = false; - settings.superExpando = false; - settings.expandNewTeams = false; - settings.hideLabels = false; - settings.iconSize = kMinimumIconSize; - settings.autoRaise = false; - settings.autoHide = false; - settings.recentAppsEnabled = true; - settings.recentDocsEnabled = true; - settings.recentFoldersEnabled = true; + settings.vertical = fDefaultSettings.vertical = true; + settings.left = fDefaultSettings.left = false; + settings.top = fDefaultSettings.top = true; + settings.state = fDefaultSettings.state = kExpandoState; + settings.width = fDefaultSettings.width = 0; + settings.switcherLoc = fDefaultSettings.switcherLoc = BPoint(5000, 5000); + settings.showClock = fDefaultSettings.showClock = true; + // applications + settings.trackerAlwaysFirst = fDefaultSettings.trackerAlwaysFirst = false; + settings.sortRunningApps = fDefaultSettings.sortRunningApps = false; + settings.superExpando = fDefaultSettings.superExpando = false; + settings.expandNewTeams = fDefaultSettings.expandNewTeams = false; + settings.hideLabels = fDefaultSettings.hideLabels = false; + settings.iconSize = fDefaultSettings.iconSize = kMinimumIconSize; + // recent items + settings.recentDocsEnabled = fDefaultSettings.recentDocsEnabled = true; + settings.recentFoldersEnabled + = fDefaultSettings.recentFoldersEnabled = true; + settings.recentAppsEnabled = fDefaultSettings.recentAppsEnabled = true; + settings.recentDocsCount = fDefaultSettings.recentDocsCount = 10; + settings.recentFoldersCount = fDefaultSettings.recentFoldersCount = 10; + settings.recentAppsCount = fDefaultSettings.recentAppsCount = 10; + // window + settings.alwaysOnTop = fDefaultSettings.alwaysOnTop = false; + settings.autoRaise = fDefaultSettings.autoRaise = false; + settings.autoHide = fDefaultSettings.autoHide = false; clock_settings clock; clock.showSeconds = false; @@ -292,6 +298,45 @@ TBarApp::InitSettings() theDir.CreateFile(settingsFileName, fSettingsFile); } + BMessage storedSettings; + if (fSettingsFile->InitCheck() == B_OK + && storedSettings.Unflatten(fSettingsFile) == B_OK) { + storedSettings.FindBool("vertical", &settings.vertical); + storedSettings.FindBool("left", &settings.left); + storedSettings.FindBool("top", &settings.top); + storedSettings.FindUInt32("state", &settings.state); + storedSettings.FindFloat("width", &settings.width); + storedSettings.FindPoint("switcherLoc", &settings.switcherLoc); + storedSettings.FindBool("showClock", &settings.showClock); + // applications + storedSettings.FindBool("trackerAlwaysFirst", + &settings.trackerAlwaysFirst); + storedSettings.FindBool("sortRunningApps", + &settings.sortRunningApps); + storedSettings.FindBool("superExpando", &settings.superExpando); + storedSettings.FindBool("expandNewTeams", + &settings.expandNewTeams); + storedSettings.FindBool("hideLabels", &settings.hideLabels); + storedSettings.FindInt32("iconSize", &settings.iconSize); + // recent items + storedSettings.FindBool("recentDocsEnabled", + &settings.recentDocsEnabled); + storedSettings.FindBool("recentFoldersEnabled", + &settings.recentFoldersEnabled); + storedSettings.FindBool("recentAppsEnabled", + &settings.recentAppsEnabled); + storedSettings.FindInt32("recentDocsCount", + &settings.recentDocsCount); + storedSettings.FindInt32("recentFoldersCount", + &settings.recentFoldersCount); + storedSettings.FindInt32("recentAppsCount", + &settings.recentAppsCount); + // window + storedSettings.FindBool("alwaysOnTop", &settings.alwaysOnTop); + storedSettings.FindBool("autoRaise", &settings.autoRaise); + storedSettings.FindBool("autoHide", &settings.autoHide); + } + filePath = dirPath; filePath.Append(clockSettingsFileName); fClockSettingsFile = new BFile(filePath.Path(), O_RDWR); @@ -301,113 +346,11 @@ TBarApp::InitSettings() theDir.CreateFile(clockSettingsFileName, fClockSettingsFile); } - BMessage storedSettings; - if (fSettingsFile->InitCheck() == B_OK - && storedSettings.Unflatten(fSettingsFile) == B_OK) { - if (storedSettings.FindBool("vertical", &settings.vertical) - != B_OK) { - settings.vertical = true; - } - if (storedSettings.FindBool("left", &settings.left) != B_OK) - settings.left = false; - if (storedSettings.FindBool("top", &settings.top) != B_OK) - settings.top = true; - if (storedSettings.FindInt32("state", (int32*)&settings.state) - != B_OK) { - settings.state = kExpandoState; - } - if (storedSettings.FindFloat("width", &settings.width) != B_OK) - settings.width = 0; - if (storedSettings.FindBool("showClock", &settings.showClock) - != B_OK) { - settings.showClock = true; - } - if (storedSettings.FindPoint("switcherLoc", &settings.switcherLoc) - != B_OK) { - settings.switcherLoc = BPoint(5000, 5000); - } - if (storedSettings.FindInt32("recentAppsCount", - &settings.recentAppsCount) != B_OK) { - settings.recentAppsCount = 10; - } - if (storedSettings.FindInt32("recentDocsCount", - &settings.recentDocsCount) != B_OK) { - settings.recentDocsCount = 10; - } - if (storedSettings.FindBool("timeShowSeconds", - &settings.timeShowSeconds) != B_OK) { - settings.timeShowSeconds = false; - } - if (storedSettings.FindInt32("recentFoldersCount", - &settings.recentFoldersCount) != B_OK) { - settings.recentFoldersCount = 10; - } - if (storedSettings.FindBool("alwaysOnTop", &settings.alwaysOnTop) - != B_OK) { - settings.alwaysOnTop = false; - } - if (storedSettings.FindBool("timeFullDate", &settings.timeFullDate) - != B_OK) { - settings.timeFullDate = false; - } - if (storedSettings.FindBool("trackerAlwaysFirst", - &settings.trackerAlwaysFirst) != B_OK) { - settings.trackerAlwaysFirst = false; - } - if (storedSettings.FindBool("sortRunningApps", - &settings.sortRunningApps) != B_OK) { - settings.sortRunningApps = false; - } - if (storedSettings.FindBool("superExpando", &settings.superExpando) - != B_OK) { - settings.superExpando = false; - } - if (storedSettings.FindBool("expandNewTeams", - &settings.expandNewTeams) != B_OK) { - settings.expandNewTeams = false; - } - if (storedSettings.FindBool("hideLabels", &settings.hideLabels) - != B_OK) { - settings.hideLabels = false; - } - if (storedSettings.FindInt32("iconSize", (int32*)&settings.iconSize) - != B_OK) { - settings.iconSize = kMinimumIconSize; - } - if (storedSettings.FindBool("autoRaise", &settings.autoRaise) - != B_OK) { - settings.autoRaise = false; - } - if (storedSettings.FindBool("autoHide", &settings.autoHide) != B_OK) - settings.autoHide = false; - if (storedSettings.FindBool("recentAppsEnabled", - &settings.recentAppsEnabled) != B_OK) { - settings.recentAppsEnabled = true; - } - if (storedSettings.FindBool("recentDocsEnabled", - &settings.recentDocsEnabled) != B_OK) { - settings.recentDocsEnabled = true; - } - if (storedSettings.FindBool("recentFoldersEnabled", - &settings.recentFoldersEnabled) != B_OK) { - settings.recentFoldersEnabled = true; - } - } - if (fClockSettingsFile->InitCheck() == B_OK && storedSettings.Unflatten(fClockSettingsFile) == B_OK) { - if (storedSettings.FindBool("showSeconds", &clock.showSeconds) - != B_OK) { - clock.showSeconds = false; - } - if (storedSettings.FindBool("showDayOfWeek", - &clock.showDayOfWeek) != B_OK) { - clock.showDayOfWeek = false; - } - if (storedSettings.FindBool("showTimeZone", - &clock.showTimeZone) != B_OK) { - clock.showDayOfWeek = false; - } + storedSettings.FindBool("showSeconds", &clock.showSeconds); + storedSettings.FindBool("showDayOfWeek", &clock.showDayOfWeek); + storedSettings.FindBool("showTimeZone", &clock.showTimeZone); } } diff --git a/src/apps/deskbar/BarApp.h b/src/apps/deskbar/BarApp.h index 42b2889adc..3dcd05e1ca 100644 --- a/src/apps/deskbar/BarApp.h +++ b/src/apps/deskbar/BarApp.h @@ -38,6 +38,9 @@ All rights reserved. #include +#include "BarSettings.h" + + /* ------------------------------------ */ // Private app_server defines that I need to use @@ -74,40 +77,6 @@ const uint32 kUpdatePreferences = 'Pref'; /* --------------------------------------------- */ -struct desk_settings { - bool vertical; - bool left; - bool top; - uint32 state; - float width; - bool showClock; - BPoint switcherLoc; - int32 recentAppsCount; - int32 recentDocsCount; - bool timeShowSeconds; - int32 recentFoldersCount; - bool alwaysOnTop; - bool timeFullDate; - bool trackerAlwaysFirst; - bool sortRunningApps; - bool superExpando; - bool expandNewTeams; - bool hideLabels; - int32 iconSize; - bool autoRaise; - bool autoHide; - bool recentAppsEnabled; - bool recentDocsEnabled; - bool recentFoldersEnabled; -}; - -struct clock_settings { - bool showSeconds; - bool showDayOfWeek; - bool showTimeZone; -}; - - class BFile; class BList; class BBitmap; @@ -139,6 +108,8 @@ public: virtual void RefsReceived(BMessage* refs); desk_settings* Settings() { return &fSettings; } + desk_settings* DefaultSettings() + { return &fDefaultSettings; } clock_settings* ClockSettings() { return &fClockSettings; } TBarView* BarView() const { return fBarView; } @@ -166,6 +137,8 @@ private: BBitmap* icon); BRect IconRect(); + +private: TBarWindow* fBarWindow; TBarView* fBarView; BMessenger fSwitcherMessenger; @@ -173,6 +146,7 @@ private: BFile* fSettingsFile; BFile* fClockSettingsFile; desk_settings fSettings; + desk_settings fDefaultSettings; clock_settings fClockSettings; PreferencesWindow* fPreferencesWindow; @@ -182,4 +156,4 @@ private: }; -#endif /* BAR_APP_H */ +#endif // BAR_APP_H diff --git a/src/apps/deskbar/BarSettings.h b/src/apps/deskbar/BarSettings.h new file mode 100644 index 0000000000..21b3e1ad14 --- /dev/null +++ b/src/apps/deskbar/BarSettings.h @@ -0,0 +1,74 @@ +/* +Open Tracker License + +Terms and Conditions + +Copyright (c) 1991-2000, Be Incorporated. 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 applies to all licensees +and 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 TITLE, MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BE INCORPORATED 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 Be Incorporated shall not be +used in advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from Be Incorporated. + +Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered +trademarks of Be Incorporated in the United States and other countries. Other +brand product names are registered trademarks or trademarks of their respective +holders. +All rights reserved. +*/ +#ifndef BAR_SETTINGS_H +#define BAR_SETTINGS_H + + +struct desk_settings { + bool vertical; + bool left; + bool top; + uint32 state; + float width; + BPoint switcherLoc; + bool showClock; + // applications + bool trackerAlwaysFirst; + bool sortRunningApps; + bool superExpando; + bool expandNewTeams; + bool hideLabels; + int32 iconSize; + // recent items + bool recentDocsEnabled; + bool recentFoldersEnabled; + bool recentAppsEnabled; + int32 recentDocsCount; + int32 recentFoldersCount; + int32 recentAppsCount; + // window + bool alwaysOnTop; + bool autoRaise; + bool autoHide; +}; + +struct clock_settings { + bool showSeconds; + bool showDayOfWeek; + bool showTimeZone; +}; + + +#endif // BAR_SETTINGS_H diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 5a6273954d..9a009534ee 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -11,6 +11,7 @@ #include "PreferencesWindow.h" #include +#include #include #include @@ -48,9 +49,9 @@ PreferencesWindow::PreferencesWindow(BRect frame) BWindow(frame, B_TRANSLATE("Deskbar preferences"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_NOT_ZOOMABLE) { - // Set the default and intial settings used by default and revert buttons - _SetDefaultSettings(); - _SetInitialSettings(); + // Initial settings (used by revert button) + memcpy(&fSettings, static_cast(be_app)->Settings(), + sizeof(desk_settings)); // Menu controls fMenuRecentDocuments = new BCheckBox(B_TRANSLATE("Recent documents:"), @@ -113,18 +114,18 @@ PreferencesWindow::PreferencesWindow(BRect frame) appTextView->SetMaxBytes(4); folderTextView->SetMaxBytes(4); - int32 docCount = fInitialSettings.recentDocsCount; - int32 appCount = fInitialSettings.recentAppsCount; - int32 folderCount = fInitialSettings.recentFoldersCount; + int32 docCount = fSettings.recentDocsCount; + int32 appCount = fSettings.recentAppsCount; + int32 folderCount = fSettings.recentFoldersCount; - fMenuRecentDocuments->SetValue(fInitialSettings.recentDocsEnabled); - fMenuRecentDocumentCount->SetEnabled(fInitialSettings.recentDocsEnabled); + fMenuRecentDocuments->SetValue(fSettings.recentDocsEnabled); + fMenuRecentDocumentCount->SetEnabled(fSettings.recentDocsEnabled); - fMenuRecentApplications->SetValue(fInitialSettings.recentAppsEnabled); - fMenuRecentApplicationCount->SetEnabled(fInitialSettings.recentAppsEnabled); + fMenuRecentApplications->SetValue(fSettings.recentAppsEnabled); + fMenuRecentApplicationCount->SetEnabled(fSettings.recentAppsEnabled); - fMenuRecentFolders->SetValue(fInitialSettings.recentFoldersEnabled); - fMenuRecentFolderCount->SetEnabled(fInitialSettings.recentFoldersEnabled); + fMenuRecentFolders->SetValue(fSettings.recentFoldersEnabled); + fMenuRecentFolderCount->SetEnabled(fSettings.recentFoldersEnabled); BString docString; BString appString; @@ -139,18 +140,18 @@ PreferencesWindow::PreferencesWindow(BRect frame) fMenuRecentFolderCount->SetText(folderString.String()); // Applications settings - fAppsSort->SetValue(fInitialSettings.sortRunningApps); - fAppsSortTrackerFirst->SetValue(fInitialSettings.trackerAlwaysFirst); - fAppsShowExpanders->SetValue(fInitialSettings.superExpando); - fAppsExpandNew->SetValue(fInitialSettings.expandNewTeams); - fAppsHideLabels->SetValue(fInitialSettings.hideLabels); - fAppsIconSizeSlider->SetValue(fInitialSettings.iconSize + fAppsSort->SetValue(fSettings.sortRunningApps); + fAppsSortTrackerFirst->SetValue(fSettings.trackerAlwaysFirst); + fAppsShowExpanders->SetValue(fSettings.superExpando); + fAppsExpandNew->SetValue(fSettings.expandNewTeams); + fAppsHideLabels->SetValue(fSettings.hideLabels); + fAppsIconSizeSlider->SetValue(fSettings.iconSize / kIconSizeInterval); // Window settings - fWindowAlwaysOnTop->SetValue(fInitialSettings.alwaysOnTop); - fWindowAutoRaise->SetValue(fInitialSettings.autoRaise); - fWindowAutoHide->SetValue(fInitialSettings.autoHide); + fWindowAlwaysOnTop->SetValue(fSettings.alwaysOnTop); + fWindowAutoRaise->SetValue(fSettings.autoRaise); + fWindowAutoHide->SetValue(fSettings.autoHide); _EnableDisableDependentItems(); @@ -284,11 +285,12 @@ PreferencesWindow::MessageReceived(BMessage* message) break; case kRevert: - _UpdatePreferences(fInitialSettings); + _UpdatePreferences(&fSettings); break; case kDefaults: - _UpdatePreferences(fDefaultSettings); + _UpdatePreferences( + static_cast(be_app)->DefaultSettings()); break; default: @@ -351,23 +353,24 @@ bool PreferencesWindow::_IsDefaultable() { desk_settings* settings = static_cast(be_app)->Settings(); + desk_settings* defaults = static_cast(be_app)->DefaultSettings(); - return fDefaultSettings.sortRunningApps != settings->sortRunningApps - || fDefaultSettings.trackerAlwaysFirst != settings->trackerAlwaysFirst - || fDefaultSettings.superExpando != settings->superExpando - || fDefaultSettings.expandNewTeams != settings->expandNewTeams - || fDefaultSettings.hideLabels != settings->hideLabels - || fDefaultSettings.iconSize != settings->iconSize - || fDefaultSettings.recentAppsEnabled != settings->recentAppsEnabled - || fDefaultSettings.recentDocsEnabled != settings->recentDocsEnabled - || fDefaultSettings.recentFoldersEnabled + return defaults->sortRunningApps != settings->sortRunningApps + || defaults->trackerAlwaysFirst != settings->trackerAlwaysFirst + || defaults->superExpando != settings->superExpando + || defaults->expandNewTeams != settings->expandNewTeams + || defaults->hideLabels != settings->hideLabels + || defaults->iconSize != settings->iconSize + || defaults->recentAppsEnabled != settings->recentAppsEnabled + || defaults->recentDocsEnabled != settings->recentDocsEnabled + || defaults->recentFoldersEnabled != settings->recentFoldersEnabled - || fDefaultSettings.recentAppsCount != settings->recentAppsCount - || fDefaultSettings.recentDocsCount != settings->recentDocsCount - || fDefaultSettings.recentFoldersCount != settings->recentFoldersCount - || fDefaultSettings.alwaysOnTop != settings->alwaysOnTop - || fDefaultSettings.autoRaise != settings->autoRaise - || fDefaultSettings.autoHide != settings->autoHide; + || defaults->recentAppsCount != settings->recentAppsCount + || defaults->recentDocsCount != settings->recentDocsCount + || defaults->recentFoldersCount != settings->recentFoldersCount + || defaults->alwaysOnTop != settings->alwaysOnTop + || defaults->autoRaise != settings->autoRaise + || defaults->autoHide != settings->autoHide; } @@ -376,76 +379,22 @@ PreferencesWindow::_IsRevertable() { desk_settings* settings = static_cast(be_app)->Settings(); - return fInitialSettings.sortRunningApps != settings->sortRunningApps - || fInitialSettings.trackerAlwaysFirst != settings->trackerAlwaysFirst - || fInitialSettings.superExpando != settings->superExpando - || fInitialSettings.expandNewTeams != settings->expandNewTeams - || fInitialSettings.hideLabels != settings->hideLabels - || fInitialSettings.iconSize != settings->iconSize - || fInitialSettings.recentAppsEnabled != settings->recentAppsEnabled - || fInitialSettings.recentDocsEnabled != settings->recentDocsEnabled - || fInitialSettings.recentFoldersEnabled + return fSettings.sortRunningApps != settings->sortRunningApps + || fSettings.trackerAlwaysFirst != settings->trackerAlwaysFirst + || fSettings.superExpando != settings->superExpando + || fSettings.expandNewTeams != settings->expandNewTeams + || fSettings.hideLabels != settings->hideLabels + || fSettings.iconSize != settings->iconSize + || fSettings.recentAppsEnabled != settings->recentAppsEnabled + || fSettings.recentDocsEnabled != settings->recentDocsEnabled + || fSettings.recentFoldersEnabled != settings->recentFoldersEnabled - || fInitialSettings.recentAppsCount != settings->recentAppsCount - || fInitialSettings.recentDocsCount != settings->recentDocsCount - || fInitialSettings.recentFoldersCount != settings->recentFoldersCount - || fInitialSettings.alwaysOnTop != settings->alwaysOnTop - || fInitialSettings.autoRaise != settings->autoRaise - || fInitialSettings.autoHide != settings->autoHide; -} - - -void -PreferencesWindow::_SetDefaultSettings() -{ - // applications - fDefaultSettings.sortRunningApps = false; - fDefaultSettings.trackerAlwaysFirst = false; - fDefaultSettings.superExpando = false; - fDefaultSettings.expandNewTeams = false; - fDefaultSettings.hideLabels = false; - fDefaultSettings.iconSize = kMinimumIconSize; - - // recent items - fDefaultSettings.recentAppsEnabled = true; - fDefaultSettings.recentDocsEnabled = true; - fDefaultSettings.recentFoldersEnabled = true; - fDefaultSettings.recentAppsCount = 10; - fDefaultSettings.recentDocsCount = 10; - fDefaultSettings.recentFoldersCount = 10; - - // window - fDefaultSettings.alwaysOnTop = false; - fDefaultSettings.autoRaise = false; - fDefaultSettings.autoHide = false; -} - - -void -PreferencesWindow::_SetInitialSettings() -{ - desk_settings* settings = static_cast(be_app)->Settings(); - - // applications - fInitialSettings.sortRunningApps = settings->sortRunningApps; - fInitialSettings.trackerAlwaysFirst = settings->trackerAlwaysFirst; - fInitialSettings.superExpando = settings->superExpando; - fInitialSettings.expandNewTeams = settings->expandNewTeams; - fInitialSettings.hideLabels = settings->hideLabels; - fInitialSettings.iconSize = settings->iconSize; - - // recent items - fInitialSettings.recentAppsEnabled = settings->recentAppsEnabled; - fInitialSettings.recentDocsEnabled = settings->recentDocsEnabled; - fInitialSettings.recentFoldersEnabled = settings->recentFoldersEnabled; - fInitialSettings.recentAppsCount = settings->recentAppsCount; - fInitialSettings.recentDocsCount = settings->recentDocsCount; - fInitialSettings.recentFoldersCount = settings->recentFoldersCount; - - // window - fInitialSettings.alwaysOnTop = settings->alwaysOnTop; - fInitialSettings.autoRaise = settings->autoRaise; - fInitialSettings.autoHide = settings->autoHide; + || fSettings.recentAppsCount != settings->recentAppsCount + || fSettings.recentDocsCount != settings->recentDocsCount + || fSettings.recentFoldersCount != settings->recentFoldersCount + || fSettings.alwaysOnTop != settings->alwaysOnTop + || fSettings.autoRaise != settings->autoRaise + || fSettings.autoHide != settings->autoHide; } @@ -458,78 +407,78 @@ PreferencesWindow::_UpdateButtons() void -PreferencesWindow::_UpdatePreferences(pref_settings prefs) +PreferencesWindow::_UpdatePreferences(desk_settings* settings) { - desk_settings* settings = static_cast(be_app)->Settings(); + desk_settings* current = static_cast(be_app)->Settings(); bool updateRecentCounts = false; - if (settings->sortRunningApps != prefs.sortRunningApps) { - fAppsSort->SetValue(prefs.sortRunningApps); + if (current->sortRunningApps != settings->sortRunningApps) { + fAppsSort->SetValue(settings->sortRunningApps); fAppsSort->Invoke(); } - if (settings->trackerAlwaysFirst != prefs.trackerAlwaysFirst) { - fAppsSortTrackerFirst->SetValue(prefs.trackerAlwaysFirst); + if (current->trackerAlwaysFirst != settings->trackerAlwaysFirst) { + fAppsSortTrackerFirst->SetValue(settings->trackerAlwaysFirst); fAppsSortTrackerFirst->Invoke(); } - if (settings->superExpando != prefs.superExpando) { - fAppsShowExpanders->SetValue(prefs.superExpando); + if (current->superExpando != settings->superExpando) { + fAppsShowExpanders->SetValue(settings->superExpando); fAppsShowExpanders->Invoke(); } - if (settings->expandNewTeams != prefs.expandNewTeams) { - fAppsExpandNew->SetValue(prefs.expandNewTeams); + if (current->expandNewTeams != settings->expandNewTeams) { + fAppsExpandNew->SetValue(settings->expandNewTeams); fAppsExpandNew->Invoke(); } - if (settings->hideLabels != prefs.hideLabels) { - fAppsHideLabels->SetValue(prefs.hideLabels); + if (current->hideLabels != settings->hideLabels) { + fAppsHideLabels->SetValue(settings->hideLabels); fAppsHideLabels->Invoke(); } - if (settings->iconSize != prefs.iconSize) { - fAppsIconSizeSlider->SetValue(prefs.iconSize / kIconSizeInterval); + if (current->iconSize != settings->iconSize) { + fAppsIconSizeSlider->SetValue(settings->iconSize / kIconSizeInterval); fAppsIconSizeSlider->Invoke(); } - if (settings->recentDocsEnabled != prefs.recentDocsEnabled) { - fMenuRecentDocuments->SetValue(prefs.recentDocsEnabled + if (current->recentDocsEnabled != settings->recentDocsEnabled) { + fMenuRecentDocuments->SetValue(settings->recentDocsEnabled ? B_CONTROL_ON : B_CONTROL_OFF); updateRecentCounts = true; } - if (settings->recentFoldersEnabled != prefs.recentFoldersEnabled) { - fMenuRecentFolders->SetValue(prefs.recentFoldersEnabled + if (current->recentFoldersEnabled != settings->recentFoldersEnabled) { + fMenuRecentFolders->SetValue(settings->recentFoldersEnabled ? B_CONTROL_ON : B_CONTROL_OFF); updateRecentCounts = true; } - if (settings->recentAppsEnabled != fDefaultSettings.recentAppsEnabled) { - fMenuRecentApplications->SetValue(prefs.recentAppsEnabled + if (current->recentAppsEnabled != settings->recentAppsEnabled) { + fMenuRecentApplications->SetValue(settings->recentAppsEnabled ? B_CONTROL_ON : B_CONTROL_OFF); updateRecentCounts = true; } - if (settings->recentDocsCount != prefs.recentDocsCount) { + if (current->recentDocsCount != settings->recentDocsCount) { BString docString; - docString << prefs.recentDocsCount; + docString << settings->recentDocsCount; fMenuRecentDocumentCount->SetText(docString.String()); updateRecentCounts = true; } - if (settings->recentFoldersCount != prefs.recentFoldersCount) { + if (current->recentFoldersCount != settings->recentFoldersCount) { BString folderString; - folderString << prefs.recentFoldersCount; + folderString << settings->recentFoldersCount; fMenuRecentFolderCount->SetText(folderString.String()); updateRecentCounts = true; } - if (settings->recentAppsCount != prefs.recentAppsCount) { + if (current->recentAppsCount != settings->recentAppsCount) { BString appString; - appString << prefs.recentAppsCount; + appString << settings->recentAppsCount; fMenuRecentApplicationCount->SetText(appString.String()); updateRecentCounts = true; } - if (settings->alwaysOnTop != prefs.alwaysOnTop) { - fWindowAlwaysOnTop->SetValue(prefs.alwaysOnTop); + if (current->alwaysOnTop != settings->alwaysOnTop) { + fWindowAlwaysOnTop->SetValue(settings->alwaysOnTop); fWindowAlwaysOnTop->Invoke(); } - if (settings->autoRaise != prefs.autoRaise) { - fWindowAutoRaise->SetValue(prefs.autoRaise); + if (current->autoRaise != settings->autoRaise) { + fWindowAutoRaise->SetValue(settings->autoRaise); fWindowAutoRaise->Invoke(); } - if (settings->autoHide != prefs.autoHide) { - fWindowAutoHide->SetValue(prefs.autoHide); + if (current->autoHide != settings->autoHide) { + fWindowAutoHide->SetValue(settings->autoHide); fWindowAutoHide->Invoke(); } diff --git a/src/apps/deskbar/PreferencesWindow.h b/src/apps/deskbar/PreferencesWindow.h index 4b885d8cad..b7d20620b2 100644 --- a/src/apps/deskbar/PreferencesWindow.h +++ b/src/apps/deskbar/PreferencesWindow.h @@ -8,6 +8,8 @@ #include +#include "BarSettings.h" + const uint32 kConfigShow = 'PrSh'; const uint32 kConfigQuit = 'PrQt'; @@ -27,28 +29,6 @@ const uint32 kDefaults = 'dflt'; const uint32 kRevert = 'rvrt'; -struct pref_settings { - // applications - bool trackerAlwaysFirst; - bool sortRunningApps; - bool superExpando; - bool expandNewTeams; - bool hideLabels; - int32 iconSize; - // recent items - int32 recentAppsCount; - int32 recentDocsCount; - int32 recentFoldersCount; - bool recentAppsEnabled; - bool recentDocsEnabled; - bool recentFoldersEnabled; - // window - bool alwaysOnTop; - bool autoRaise; - bool autoHide; -}; - - class BCheckBox; class BRadioButton; class BSlider; @@ -70,11 +50,10 @@ private: bool _IsDefaultable(); bool _IsRevertable(); - void _SetDefaultSettings(); void _SetInitialSettings(); void _UpdateButtons(); - void _UpdatePreferences(pref_settings prefs); + void _UpdatePreferences(desk_settings* settings); void _UpdateRecentCounts(); private: @@ -101,9 +80,8 @@ private: BButton* fDefaultsButton; private: - pref_settings fDefaultSettings; - pref_settings fInitialSettings; + desk_settings fSettings; }; -#endif /* _PREFERENCES_WINDOW_H */ +#endif // _PREFERENCES_WINDOW_H From 633232da4cd49e7bb51951928e5c05071c2a7a47 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 8 Mar 2013 22:46:59 -0500 Subject: [PATCH 031/122] Reorder buttons. Defaults then Revert both on left like Tracker and Locale and other preflets. --- src/apps/deskbar/PreferencesWindow.cpp | 8 ++++---- src/apps/deskbar/PreferencesWindow.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 9a009534ee..006e1438ad 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -229,10 +229,10 @@ PreferencesWindow::PreferencesWindow(BRect frame) .View()); // Action Buttons - fRevertButton = new BButton(B_TRANSLATE("Revert"), - new BMessage(kRevert)); fDefaultsButton = new BButton(B_TRANSLATE("Defaults"), new BMessage(kDefaults)); + fRevertButton = new BButton(B_TRANSLATE("Revert"), + new BMessage(kRevert)); // Layout BLayoutBuilder::Group<>(this) @@ -245,9 +245,9 @@ PreferencesWindow::PreferencesWindow(BRect frame) .End() .End() .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) + .Add(fDefaultsButton) .Add(fRevertButton) .AddGlue() - .Add(fDefaultsButton) .End() .SetInsets(B_USE_DEFAULT_SPACING) .End(); @@ -401,8 +401,8 @@ PreferencesWindow::_IsRevertable() void PreferencesWindow::_UpdateButtons() { - fRevertButton->SetEnabled(_IsRevertable()); fDefaultsButton->SetEnabled(_IsDefaultable()); + fRevertButton->SetEnabled(_IsRevertable()); } diff --git a/src/apps/deskbar/PreferencesWindow.h b/src/apps/deskbar/PreferencesWindow.h index b7d20620b2..489316b81e 100644 --- a/src/apps/deskbar/PreferencesWindow.h +++ b/src/apps/deskbar/PreferencesWindow.h @@ -76,8 +76,8 @@ private: BCheckBox* fWindowAutoRaise; BCheckBox* fWindowAutoHide; - BButton* fRevertButton; BButton* fDefaultsButton; + BButton* fRevertButton; private: desk_settings fSettings; From a601c3f172a7159f7587bfbe4683cc996d84fa52 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 9 Mar 2013 13:13:32 -0500 Subject: [PATCH 032/122] Add 'Open menu in Tracker' button at bottom --- src/apps/deskbar/PreferencesWindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 006e1438ad..3d04ee0e5d 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -207,8 +207,6 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fMenuRecentApplicationCount) .End() .End() - //.Add(new BButton(B_TRANSLATE("Open in Tracker" B_UTF8_ELLIPSIS), - // new BMessage(kOpenInTracker))) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() @@ -248,6 +246,8 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fDefaultsButton) .Add(fRevertButton) .AddGlue() + .Add(new BButton(B_TRANSLATE("Open menu in Tracker" + B_UTF8_ELLIPSIS), new BMessage(kOpenInTracker))) .End() .SetInsets(B_USE_DEFAULT_SPACING) .End(); From a3f512d524efcf4ecb48fe4181d6c8f61e5b4cc7 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 11 Mar 2013 19:45:25 -0400 Subject: [PATCH 033/122] Rename Recent items back to Menu and tweak to make fit. * Put the Open in Tracker... button back in Menu. * Put the window checkboxes in 2 columns. * Use vertical struts instead of insets for spacing in a couple places. --- src/apps/deskbar/PreferencesWindow.cpp | 34 ++++++++++++++------------ 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 3d04ee0e5d..4fe248ee98 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -180,20 +181,19 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fAppsExpandNew) .End() .Add(fAppsHideLabels) - .AddGroup(B_HORIZONTAL, 0) - .SetInsets(0, B_USE_DEFAULT_SPACING, 0, 0) - .Add(fAppsIconSizeSlider) - .End() .AddGlue() + .Add(BSpaceLayoutItem::CreateVerticalStrut( + B_USE_SMALL_SPACING)) + .Add(fAppsIconSizeSlider) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() .View()); - // Recent items - BBox* recentItemsBox = new BBox("recent items"); - recentItemsBox->SetLabel(B_TRANSLATE("Recent items")); - recentItemsBox->AddChild(BLayoutBuilder::Group<>() + // Menu + BBox* menuBox = new BBox("menu"); + menuBox->SetLabel(B_TRANSLATE("Menu")); + menuBox->AddChild(BLayoutBuilder::Group<>() .AddGroup(B_VERTICAL, 0) .AddGroup(B_HORIZONTAL, 0) .AddGroup(B_VERTICAL, 0) @@ -207,6 +207,10 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fMenuRecentApplicationCount) .End() .End() + .Add(BSpaceLayoutItem::CreateVerticalStrut( + B_USE_SMALL_SPACING)) + .Add(new BButton(B_TRANSLATE("Open in Tracker" + B_UTF8_ELLIPSIS), new BMessage(kOpenInTracker))) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() @@ -216,10 +220,12 @@ PreferencesWindow::PreferencesWindow(BRect frame) BBox* windowSettingsBox = new BBox("window"); windowSettingsBox->SetLabel(B_TRANSLATE("Window")); windowSettingsBox->AddChild(BLayoutBuilder::Group<>() - .AddGroup(B_VERTICAL, 0) - .Add(fWindowAlwaysOnTop) - .Add(fWindowAutoRaise) - .Add(fWindowAutoHide) + .AddGroup(B_HORIZONTAL, 0) + .AddGrid(B_USE_SMALL_SPACING, 0, 1) + .Add(fWindowAlwaysOnTop, 0, 0) + .Add(fWindowAutoRaise, 0, 1) + .Add(fWindowAutoHide, 1, 0) + .End() .AddGlue() .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) @@ -238,7 +244,7 @@ PreferencesWindow::PreferencesWindow(BRect frame) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) .Add(appsSettingsBox) .AddGroup(B_VERTICAL, B_USE_SMALL_SPACING) - .Add(recentItemsBox) + .Add(menuBox) .Add(windowSettingsBox) .End() .End() @@ -246,8 +252,6 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fDefaultsButton) .Add(fRevertButton) .AddGlue() - .Add(new BButton(B_TRANSLATE("Open menu in Tracker" - B_UTF8_ELLIPSIS), new BMessage(kOpenInTracker))) .End() .SetInsets(B_USE_DEFAULT_SPACING) .End(); From f49eecb5644d440689d78495d2e0c60e6ac9101a Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 11 Mar 2013 19:53:16 -0400 Subject: [PATCH 034/122] Use horizontal strut instead of insets --- src/apps/deskbar/PreferencesWindow.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 4fe248ee98..c824eaec09 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -177,13 +177,12 @@ PreferencesWindow::PreferencesWindow(BRect frame) .Add(fAppsSortTrackerFirst) .Add(fAppsShowExpanders) .AddGroup(B_HORIZONTAL, 0) - .SetInsets(kIndentSpacing, 0, 0, 0) + .Add(BSpaceLayoutItem::CreateHorizontalStrut(kIndentSpacing)) .Add(fAppsExpandNew) .End() .Add(fAppsHideLabels) .AddGlue() - .Add(BSpaceLayoutItem::CreateVerticalStrut( - B_USE_SMALL_SPACING)) + .Add(BSpaceLayoutItem::CreateVerticalStrut(B_USE_SMALL_SPACING)) .Add(fAppsIconSizeSlider) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) From 5bfc9c7091f3b728bb6a7083e82fac4d21682f7f Mon Sep 17 00:00:00 2001 From: John Scipione Date: Tue, 12 Mar 2013 23:03:15 -0400 Subject: [PATCH 035/122] Save and load prefs window position to and from a file. --- src/apps/deskbar/BarApp.cpp | 17 ++----- src/apps/deskbar/PreferencesWindow.cpp | 70 ++++++++++++++++++++++++-- src/apps/deskbar/PreferencesWindow.h | 8 ++- 3 files changed, 77 insertions(+), 18 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index cf0c059c40..48f5267834 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -856,7 +856,7 @@ void TBarApp::ShowPreferencesWindow() { if (fPreferencesWindow == NULL) { - fPreferencesWindow = new PreferencesWindow(BRect(0, 0, 320, 240)); + fPreferencesWindow = new PreferencesWindow(BRect(100, 100, 320, 240)); fPreferencesWindow->Show(); } else if (fPreferencesWindow->Lock()) { if (fPreferencesWindow->IsHidden()) @@ -875,17 +875,10 @@ TBarApp::QuitPreferencesWindow() if (fPreferencesWindow == NULL) return; - int32 index = 0; - BWindow* window = NULL; - while ((window = WindowAt(index++)) != NULL) { - if (window == fPreferencesWindow) { - if (fPreferencesWindow->Lock()) { - fPreferencesWindow->Quit(); - // Quit() destroys the window so don't unlock - fPreferencesWindow = NULL; - } - break; - } + if (fPreferencesWindow->Lock()) { + fPreferencesWindow->Quit(); + // Quit() destroys the window so don't unlock + fPreferencesWindow = NULL; } } diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index c824eaec09..7f3af94b8f 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -11,22 +11,24 @@ #include "PreferencesWindow.h" #include -#include #include #include #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include +#include #include #include #include @@ -39,6 +41,7 @@ static const float kIndentSpacing = be_control_look->DefaultItemSpacing() * 2.3; static const uint32 kSettingsViewChanged = 'Svch'; +static const char* kSettingsFileName = "Deskbar_prefs_window_settings"; #undef B_TRANSLATION_CONTEXT @@ -208,8 +211,8 @@ PreferencesWindow::PreferencesWindow(BRect frame) .End() .Add(BSpaceLayoutItem::CreateVerticalStrut( B_USE_SMALL_SPACING)) - .Add(new BButton(B_TRANSLATE("Open in Tracker" - B_UTF8_ELLIPSIS), new BMessage(kOpenInTracker))) + .Add(new BButton(B_TRANSLATE("Edit in Tracker" + B_UTF8_ELLIPSIS), new BMessage(kEditInTracker))) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() @@ -255,7 +258,14 @@ PreferencesWindow::PreferencesWindow(BRect frame) .SetInsets(B_USE_DEFAULT_SPACING) .End(); - CenterOnScreen(); + BMessage windowSettings; + BPoint where; + if (_LoadSettings(&windowSettings) == B_OK + && windowSettings.FindPoint("window_position", &where) == B_OK + && BScreen(this).Frame().Contains(where)) { + MoveTo(where); + } else + CenterOnScreen(); } @@ -269,7 +279,7 @@ void PreferencesWindow::MessageReceived(BMessage* message) { switch (message->what) { - case kOpenInTracker: + case kEditInTracker: OpenWithTracker(B_USER_DESKBAR_DIRECTORY); break; @@ -306,6 +316,10 @@ PreferencesWindow::MessageReceived(BMessage* message) bool PreferencesWindow::QuitRequested() { + BMessage windowSettings; + windowSettings.AddPoint("window_position", Frame().LeftTop()); + _SaveSettings(&windowSettings); + be_app->PostMessage(kConfigQuit); return false; @@ -401,6 +415,52 @@ PreferencesWindow::_IsRevertable() } +status_t +PreferencesWindow::_InitSettingsFile(BFile* file, bool write) +{ + BPath prefsPath; + status_t status = find_directory(B_USER_SETTINGS_DIRECTORY, &prefsPath); + if (status != B_OK) + return status; + + status = prefsPath.Append(kSettingsFileName); + if (status != B_OK) + return status; + + if (write) { + status = file->SetTo(prefsPath.Path(), + B_CREATE_FILE | B_ERASE_FILE | B_WRITE_ONLY); + } else + status = file->SetTo(prefsPath.Path(), B_READ_ONLY); + + return status; +} + + +status_t +PreferencesWindow::_LoadSettings(BMessage* settings) +{ + BFile prefsFile; + status_t status = _InitSettingsFile(&prefsFile, false); + if (status != B_OK) + return status; + + return settings->Unflatten(&prefsFile); +} + + +status_t +PreferencesWindow::_SaveSettings(BMessage* settings) +{ + BFile prefsFile; + status_t status = _InitSettingsFile(&prefsFile, true); + if (status != B_OK) + return status; + + return settings->Flatten(&prefsFile); +} + + void PreferencesWindow::_UpdateButtons() { diff --git a/src/apps/deskbar/PreferencesWindow.h b/src/apps/deskbar/PreferencesWindow.h index 489316b81e..4a8beaea96 100644 --- a/src/apps/deskbar/PreferencesWindow.h +++ b/src/apps/deskbar/PreferencesWindow.h @@ -14,7 +14,7 @@ const uint32 kConfigShow = 'PrSh'; const uint32 kConfigQuit = 'PrQt'; const uint32 kUpdateRecentCounts = 'upct'; -const uint32 kOpenInTracker = 'otrk'; +const uint32 kEditInTracker = 'etrk'; const uint32 kTrackerFirst = 'TkFt'; const uint32 kSortRunningApps = 'SAps'; @@ -30,6 +30,8 @@ const uint32 kRevert = 'rvrt'; class BCheckBox; +class BFile; +class BMessage; class BRadioButton; class BSlider; class BTextControl; @@ -50,6 +52,10 @@ private: bool _IsDefaultable(); bool _IsRevertable(); + status_t _InitSettingsFile(BFile* file, bool write); + status_t _LoadSettings(BMessage* settings); + status_t _SaveSettings(BMessage* settings); + void _SetInitialSettings(); void _UpdateButtons(); From fe9f33d1c2720b89899cbd27e75f7d8e3dd81eef Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 15 Mar 2013 21:55:53 -0400 Subject: [PATCH 036/122] Reorder Default and Revert buttons in Appearance. To match at least a couple other preflets that have Default and Revert buttons such as Locale, CPU Frequency, Tracker, and Mouse. --- src/preferences/appearance/APRWindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/preferences/appearance/APRWindow.cpp b/src/preferences/appearance/APRWindow.cpp index 87afe9487c..15ab77e906 100644 --- a/src/preferences/appearance/APRWindow.cpp +++ b/src/preferences/appearance/APRWindow.cpp @@ -71,11 +71,12 @@ APRWindow::APRWindow(BRect frame) .Add(tabView) .Add(BSpaceLayoutItem::CreateVerticalStrut(5)) .Add(BGroupLayoutBuilder(B_HORIZONTAL) + .Add(fDefaultsButton) .Add(fRevertButton) .AddGlue() - .Add(fDefaultsButton) ) - .SetInsets(5, 5, 5, 5) + .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) ); } From cadffca7e5ff2bf6d70df0de84fc99cdf30e1376 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Sat, 16 Mar 2013 06:21:46 +0100 Subject: [PATCH 037/122] Update translations from Pootle --- .../media-add-ons/multi_audio/ja.catkeys | 44 +++++++++++-------- data/catalogs/apps/activitymonitor/hu.catkeys | 3 +- data/catalogs/apps/activitymonitor/ja.catkeys | 3 +- .../apps/activitymonitor/pt_BR.catkeys | 3 +- data/catalogs/apps/activitymonitor/sv.catkeys | 3 +- data/catalogs/apps/bootmanager/ja.catkeys | 12 ++--- data/catalogs/apps/drivesetup/ja.catkeys | 14 +++--- data/catalogs/apps/mail/ja.catkeys | 2 +- .../apps/processcontroller/ja.catkeys | 6 +-- data/catalogs/apps/stylededit/ja.catkeys | 12 ++--- .../preferences/appearance/hu.catkeys | 7 ++- .../preferences/appearance/ja.catkeys | 5 ++- .../preferences/appearance/pt_BR.catkeys | 5 ++- .../preferences/appearance/sv.catkeys | 5 ++- .../catalogs/preferences/bluetooth/hu.catkeys | 3 +- .../catalogs/preferences/bluetooth/ja.catkeys | 3 +- .../preferences/bluetooth/pt_BR.catkeys | 3 +- .../catalogs/preferences/bluetooth/sv.catkeys | 3 +- .../tests/servers/app/playground/ja.catkeys | 20 +++++---- 19 files changed, 93 insertions(+), 63 deletions(-) diff --git a/data/catalogs/add-ons/media/media-add-ons/multi_audio/ja.catkeys b/data/catalogs/add-ons/media/media-add-ons/multi_audio/ja.catkeys index 24ec83672c..adececf54f 100644 --- a/data/catalogs/add-ons/media/media-add-ons/multi_audio/ja.catkeys +++ b/data/catalogs/add-ons/media/media-add-ons/multi_audio/ja.catkeys @@ -1,28 +1,34 @@ -1 japanese x-vnd.Haiku-hmulti_audio.media_addon 342589902 -Master MultiAudio マスター +1 japanese x-vnd.Haiku-hmulti_audio.media_addon 451057402 +Master MultiAudio Master SPDIF MultiAudio SPDIF -Gain MultiAudio ゲイン +Gain MultiAudio Gain +Output 3D center MultiAudio Output 3D center Extended Setup MultiAudio 高度な設定 CD MultiAudio CD -Tone control MultiAudio 音質調整 -Phone MultiAudio 電話 +Tone control MultiAudio Tone control +Phone MultiAudio Phone Aux MultiAudio Aux -Headphones MultiAudio ヘッドフォン -Beep MultiAudio ビープ音 -Input MultiAudio 入力 -Mono mix MultiAudio モノラルミックス -General MultiAudio 一般 -Input & Output MultiAudio 入出力 +Output bass MultiAudio Output bass +Headphones MultiAudio Headphones +Beep MultiAudio Beep +Output mono mix MultiAudio Output mono mix +Output stereo mix MultiAudio Output stereo mix +Input MultiAudio Input +Output treble MultiAudio Output treble +Mono mix MultiAudio Mono mix +General MultiAudio General +Input & Output MultiAudio Input & Output Enhanced Setup MultiAudio 高度なセットアップ -Stereo mix MultiAudio ステレオミックス +Stereo mix MultiAudio Stereo mix +Output 3D depth MultiAudio Output 3D depth Volume MultiAudio 音量 -Output MultiAudio 出力 -Video MultiAudio ビデオ -Line MultiAudio ライン -Mic MultiAudio マイク - frequency: MultiAudio 周波数: +Output MultiAudio Output +Video MultiAudio Video +Line MultiAudio Line +Mic MultiAudio Mic + frequency: MultiAudio frequency: Enable MultiAudio 有効にする -Mute MultiAudio ミュート +Mute MultiAudio Mute Wave MultiAudio Wave Setup MultiAudio セットアップ -Level MultiAudio レベル +Level MultiAudio Level diff --git a/data/catalogs/apps/activitymonitor/hu.catkeys b/data/catalogs/apps/activitymonitor/hu.catkeys index 15e5c90816..445c4afbfe 100644 --- a/data/catalogs/apps/activitymonitor/hu.catkeys +++ b/data/catalogs/apps/activitymonitor/hu.catkeys @@ -1,8 +1,9 @@ -1 hungarian x-vnd.Haiku-ActivityMonitor 3704566709 +1 hungarian x-vnd.Haiku-ActivityMonitor 1913625522 P-faults DataSource P hibák Media nodes DataSource Média csomópontok Threads DataSource Szálak MB DataSource MB +Always on top ActivityWindow Mindig felül Add graph ActivityWindow Grafikon hozzáadása Teams DataSource Csapatok Hide legend ActivityView Magyarázat elrejtése diff --git a/data/catalogs/apps/activitymonitor/ja.catkeys b/data/catalogs/apps/activitymonitor/ja.catkeys index 14386ee35b..333058d018 100644 --- a/data/catalogs/apps/activitymonitor/ja.catkeys +++ b/data/catalogs/apps/activitymonitor/ja.catkeys @@ -1,8 +1,9 @@ -1 japanese x-vnd.Haiku-ActivityMonitor 3704566709 +1 japanese x-vnd.Haiku-ActivityMonitor 1913625522 P-faults DataSource ページフォルト Media nodes DataSource メディアノード数 Threads DataSource スレッド数 MB DataSource MB +Always on top ActivityWindow 常に前面に Add graph ActivityWindow グラフの追加 Teams DataSource チーム数 Hide legend ActivityView 説明を隠す diff --git a/data/catalogs/apps/activitymonitor/pt_BR.catkeys b/data/catalogs/apps/activitymonitor/pt_BR.catkeys index 6d00ccfba4..ac24a919d4 100644 --- a/data/catalogs/apps/activitymonitor/pt_BR.catkeys +++ b/data/catalogs/apps/activitymonitor/pt_BR.catkeys @@ -1,8 +1,9 @@ -1 portuguese (brazil) x-vnd.Haiku-ActivityMonitor 3704566709 +1 portuguese (brazil) x-vnd.Haiku-ActivityMonitor 1913625522 P-faults DataSource P-falhas Media nodes DataSource Nós de mídia Threads DataSource Processos MB DataSource Mb +Always on top ActivityWindow Sempre visível Add graph ActivityWindow Adicionar grafo Teams DataSource Equipes Hide legend ActivityView Ocultar legenda diff --git a/data/catalogs/apps/activitymonitor/sv.catkeys b/data/catalogs/apps/activitymonitor/sv.catkeys index 9abb4577bf..17def2c59b 100644 --- a/data/catalogs/apps/activitymonitor/sv.catkeys +++ b/data/catalogs/apps/activitymonitor/sv.catkeys @@ -1,8 +1,9 @@ -1 swedish x-vnd.Haiku-ActivityMonitor 3704566709 +1 swedish x-vnd.Haiku-ActivityMonitor 1913625522 P-faults DataSource P-fel Media nodes DataSource Medianoder Threads DataSource Trådar MB DataSource MB +Always on top ActivityWindow Alltid överst Add graph ActivityWindow Lägg till graf Teams DataSource Processer Hide legend ActivityView Göm graftext diff --git a/data/catalogs/apps/bootmanager/ja.catkeys b/data/catalogs/apps/bootmanager/ja.catkeys index e1c4a83fc6..a12812e0c6 100644 --- a/data/catalogs/apps/bootmanager/ja.catkeys +++ b/data/catalogs/apps/bootmanager/ja.catkeys @@ -1,6 +1,6 @@ 1 japanese x-vnd.Haiku-BootManager 3014946856 The boot manager has been successfully installed on your system. BootManagerController ブートマネージャーがシステムに正常にインストールされました。 -After two seconds DefaultPartitionPage 2秒 +After two seconds DefaultPartitionPage あと 2 秒 Uninstall Boot Manager UninstallPage Title ブートメニューをアンインストール At least one partition must be selected! BootManagerController 少なくとも1つのパーティションが選択されていなければなりません。 The old Master Boot Record could not be saved to %s BootManagerController 古いマスターブートレコード (MBR) を %s に保存できませんでした。 @@ -15,23 +15,23 @@ Timeout: %s DefaultPartitionPage 待ち時間: %s Select FileSelectionPage Button 選択 Cannot access! DrivesPage Cannot install アクセスできません Uninstall boot manager BootManagerController Title ブートマネージャーを削除 -After four seconds DefaultPartitionPage 4秒 +After four seconds DefaultPartitionPage あと 4 秒 Uninstallation of boot menu failed BootManagerController Title ブートマネージャーの削除に失敗しました。 Please locate the Master Boot Record (MBR) save file to restore from. This is the file that was created when the boot manager was first installed. BootManagerController 修復に使うマスターブートレコード (MBR) ファイルを指定してください。これはブートマネージャーが初めてインストールされた時に作成されたものです。 Next WizardView Button 次へ Uninstallation of boot menu completed BootManagerController Title ブートマネージャーの削除が完了しました Please select the drive you want the boot manager to be installed to or uninstalled from. DrivesPage ブートマネージャーをインストールまたは削除するドライブを選択してください。 Please specify a default partition and a timeout.\nThe boot menu will load the default partition after the timeout unless you select another partition. You can also have the boot menu wait indefinitely for you to select a partition.\nKeep the 'ALT' key pressed to disable the timeout at boot time. DefaultPartitionPage デフォルトパーティションと起動するまでの待ち時間を指定してください。\nユーザーが別のパーティションを選択しない限り、システムはデフォルトパーティションから起動します。待ち時間を「永久」にすることで、起動する度にパーティションが選択できるようになります。\n待ち時間を無効にするには、「ALT」キーを押したままシステムを起動してください。 -After one second DefaultPartitionPage 1秒 +After one second DefaultPartitionPage あと 1 秒 The partition table of the first hard disk is not compatible with Boot Manager.\nBoot Manager needs 2 KB available space before the first partition. BootManagerController 起動ハードディスクのパーティションテーブルはブートマネージャーと互換性はありません。\nブートマネージャーは第一パーティションの前に 2 KB のスペースが必要です。 The following partitions were detected. Please check the box next to the partitions to be included in the boot menu. You can also set the names of the partitions as you would like them to appear in the boot menu. PartitionsPage 下記のパーティションが検出されました。ブートメニューに表示するパーティションにチェックを入れてください。ブートメニューに表示するパーティションの名前を入力することもできます(注意: 英数半角のみで入力してください)。 -After one minute DefaultPartitionPage 1分 +After one minute DefaultPartitionPage あと 1 分 The Master Boot Record of the boot device (%DISK) has been successfully restored from %FILE. BootManagerController 起動デバイス (%DISK) のマスターブートレコードは %FILE から正常に修復されました。 Write boot menu BootManagerController Button ブートメニューを書き込む The Master Boot Record could not be restored! BootManagerController マスターブートレコードは修復されませんでした。 Uninstall DrivesPage Button 削除 Default Partition DefaultPartitionPage Title デフォルトパーティション -After five seconds DefaultPartitionPage 5秒後 +After five seconds DefaultPartitionPage あと 5 秒 Back BootManagerController Button 戻る Installation of boot menu completed BootManagerController Title ブートメニューのインストールが完了 Unnamed %d LegacyBootMenu Default name of a partition whose name could not be read from disk; characters in codepage 437 are allowed only Unnamed %d @@ -62,4 +62,4 @@ Summary BootManagerController Title 概要 OK BootManagerController Button OK Immediately DefaultPartitionPage すぐに Done BootManagerController Button 完了 -After three seconds DefaultPartitionPage 3秒 +After three seconds DefaultPartitionPage あと 3 秒 diff --git a/data/catalogs/apps/drivesetup/ja.catkeys b/data/catalogs/apps/drivesetup/ja.catkeys index 20aec9c18e..cbbd7d852c 100644 --- a/data/catalogs/apps/drivesetup/ja.catkeys +++ b/data/catalogs/apps/drivesetup/ja.catkeys @@ -2,7 +2,7 @@ DriveSetup System name DriveSetup Cancel AbstractParametersPanel 中止 Delete MainWindow 削除 -Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow 変更を本当にディスクに保存しますか?\n\nその場合、選択されたパーティションのすべてのデータが失われますので、ご注意ください。 +Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow 変更を本当にディスクに保存しますか?\n\nその場合、選択されたパーティションのすべてのデータが失われますので、ご注意ください。 Rescan MainWindow ディスクを再検出 OK MainWindow OK Could not aquire partitioning information. MainWindow パーティション情報の取得に失敗しました。 @@ -27,12 +27,12 @@ Error: MainWindow in any error alert エラー : Partition %ld DiskView パーティション %ld DiskView <空> Initialization of the partition %s failed. (Nothing has been written to disk.) MainWindow %s パーティションの初期化に失敗しました (ディスクに何も書き込まれていません)。 -Are you sure you want to write the changes back to disk now?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスクのすべてのデータが失われますので、ご注意ください。 +Are you sure you want to write the changes back to disk now?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスクのすべてのデータが失われますので、ご注意ください。 Mounted at PartitionList マウント先 There was an error acquiring the partition row. MainWindow パーティション情報を取得の際、エラーが発生しました。 You need to select a partition entry from the list. MainWindow 一覧からパーティションを一つ選択してください。 The currently selected partition does not have a parent partition. MainWindow 選択されたパーティションには親パーティションがありません。 -Are you sure you want to write the changes back to disk now?\n\nAll data on the selected disk will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、選択されたディスクのデータがすべて失われますので、ご注意ください。 +Are you sure you want to write the changes back to disk now?\n\nAll data on the selected disk will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、選択されたディスクのデータがすべて失われますので、ご注意ください。 Write changes MainWindow 変更を書き込む There was an error preparing the disk for modifications. MainWindow ディスクの変更のための準備をする際、エラーが発生しました。 The partition %s is already mounted. MainWindow パーティション %s はすでにマウントされています。 @@ -40,12 +40,12 @@ Are you sure you want to format the partition? You will be asked again before ch Partition name: ChangeParametersPanel パーティション名 : Change ChangeParametersPanel 変更 Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスク %s のデータがすべて失われますので、ご注意ください。 -Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 選択されたパーティションを本当に削除しますか?\n\nその場合、パーティションのすべてのデータが失われますので、ご注意ください。 +Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 選択されたパーティションを本当に削除しますか?\n\nその場合、パーティションのすべてのデータが失われますので、ご注意ください。 Create… MainWindow 新規作成… Disk system \"%s\"\" not found! MainWindow \"%s\"\" ディスクシステムがみつかりません! The disk has been successfully initialized.\n MainWindow ディスクは正常に初期化されました。\n Could not unmount partition %s. MainWindow パーティション %s をマウント解除できませんでした。 -Failed to change the parameters of the partition. No changes have been written to disk. MainWindow パーティションのパラメータの変更に失敗しました。ディスクは変更されません。 +Failed to change the parameters of the partition. No changes have been written to disk. MainWindow パーティションのパラメーターの変更に失敗しました。ディスクは変更されません。 Failed to format the partition %s!\n MainWindow パーティション %s のフォーマットに失敗しました!\n Mount MainWindow マウント Partition type PartitionList パーティション種別 : @@ -79,11 +79,11 @@ Wipe (not implemented) MainWindow ワイプ (実装されていません) Validation of the given initialization parameters failed. MainWindow 初期化パラメーターの検証に失敗しました The selected partition does not contain a partitioning system. MainWindow 選択されたパーティションにパーティションシステムはありません。 Offset: %s Support オフセット: %s -Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスク %s のデータがすべて失われますので、ご注意ください。 +Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスク %s のデータがすべて失われますので、ご注意ください。 The partition %s is currently mounted. MainWindow %s パーティションが現在マウントされています。 Surface test (not implemented) MainWindow 表面チェック (実装されていません) Format MainWindow フォーマット -Could not change the parameters of the selected partition. MainWindow 選択されたパーティションのパラメータ変更ができませんでした。 +Could not change the parameters of the selected partition. MainWindow 選択されたパーティションのパラメーター変更ができませんでした。 Parameters PartitionList パラメーター Creation of the partition has failed. MainWindow パーティションの作成に失敗しました。 The currently selected partition is not empty. MainWindow 選択されたパーティションにデータがあります。 diff --git a/data/catalogs/apps/mail/ja.catkeys b/data/catalogs/apps/mail/ja.catkeys index 89f7fe4ae1..c6549a3856 100644 --- a/data/catalogs/apps/mail/ja.catkeys +++ b/data/catalogs/apps/mail/ja.catkeys @@ -160,6 +160,6 @@ Need Tracker to move items to trash Mail メッセージを削除するには T Mailing Mail メールの設定 Unread Mail 未読 Remove quote Mail 引用を削除 -Move to trash Mail ごみ箱に捨てる +Move to trash Mail ごみ箱へ移動する Select all Mail すべて選択 An error occurred trying to save this signature. Mail 署名の保存の際にエラーが発生しました。 diff --git a/data/catalogs/apps/processcontroller/ja.catkeys b/data/catalogs/apps/processcontroller/ja.catkeys index 71de3c795b..c78c2a88a3 100644 --- a/data/catalogs/apps/processcontroller/ja.catkeys +++ b/data/catalogs/apps/processcontroller/ja.catkeys @@ -9,7 +9,7 @@ This team is already gone… ProcessController Team はすでに終了してい Error saving file ProcessController ファイル保存中にエラーが発生しました Real-time priority ProcessController リアルタイム優先度 Your setting file could not be saved!\n(%s) ProcessController 設定ファイルは保存できませんでした。\n(%s) -This thread is already gone… ProcessController Thread はすでに終了しています… +This thread is already gone… ProcessController スレッドはすでに終了しています… Cancel ProcessController 取り消し Display priority ProcessController 表示優先度 Run in window ProcessController ウィンドウモードで起動 @@ -20,12 +20,12 @@ This is the last active processor...\nYou can't turn it off! ProcessController Info ProcessController 情報 Quit application ProcessController アプリケーションを終了 Low priority ProcessController 低優先度 -What do you want to do with the thread \"%s\"? ProcessController 次の thread に対してなにを行いますか\"%s\"? +What do you want to do with the thread \"%s\"? ProcessController スレッド \"%s\" に対してなにを行いますか? Gone teams… ProcessController 終了した team… Lowest active priority ProcessController 最低アクティブ優先度 Restart Tracker ProcessController Tracker を再起動 Live in the Deskbar ProcessController Deskbar 中で実行 -Kill this thread! ProcessController Thread を強制終了 +Kill this thread! ProcessController スレッドを強制終了 Debug this thread! ProcessController このスレッドをデバッグ Normal priority ProcessController 通常優先度 New Terminal ProcessController ターミナルを起動 diff --git a/data/catalogs/apps/stylededit/ja.catkeys b/data/catalogs/apps/stylededit/ja.catkeys index 139d5ad999..afb602c762 100644 --- a/data/catalogs/apps/stylededit/ja.catkeys +++ b/data/catalogs/apps/stylededit/ja.catkeys @@ -17,7 +17,7 @@ Page setup… Menus ページ設定… Print… Menus 印刷… Can't undo Menus 元に戻せません Save Menus 保存 -Replace with: FindandReplaceWindow 置換: +Replace with: FindandReplaceWindow 置換: Cancel SaveAlert 中止 Cannot revert, file not found: \"%s\". RevertToSavedAlert \"%s\" ファイルが存在しないため、読み込めませんでした。 Case-sensitive FindandReplaceWindow 大文字と小文字を区別する @@ -42,11 +42,11 @@ Default Open_and_SaveAsPanel デフォルト Replace next Menus 次を置換 \"%s\" has unsaved changes.\nRevert it to the last saved version? RevertToSavedAlert \"%s\" に保存されていない変更があります。\n保存された版まで戻しますか? Cancel FindandReplaceWindow 中止 -Text encoding Menus テキストのエンコーディング +Text encoding Menus テキストエンコーディング Close Menus 閉じる Save SaveAlert 保存 Words: Statistics 単語数: -Error loading \"%s\":\n\tUnsupported format LoadAlert \"%s\" を読み込み中に不明なエラー発生:\n\tフォーマットがサポートされていません。 +Error loading \"%s\":\n\tUnsupported format LoadAlert \"%s\" を読み込み中にエラーが発生しました:\n\t サポートされていないフォーマットです。 OK RevertToSavedAlert Ok Don't save QuitAlert 保存しない Align Menus 配置 @@ -65,8 +65,8 @@ New Menus 新規作成 Wrap-around search FindandReplaceWindow ラップアラウンド検索 Bold Menus 太字 Find selection Menus 選択範囲を検索 -Find: FindandReplaceWindow 検索: -Error saving \"%s\":\n%s SaveAlert \"%s\" を保存中エラーが発生しました:\n%s +Find: FindandReplaceWindow 検索: +Error saving \"%s\":\n%s SaveAlert \"%s\" を保存中にエラーが発生しました:\n%s Copy Menus コピー Cut Menus 切り取り File \"%file%\" was modified by another application, reload it? NodeMonitorAlerts ファイル \"%file%\" はほかのアプリケーションにより変更されています。再読み込みしますか? @@ -77,7 +77,7 @@ Find… Menus 検索… Select all Menus すべて選択 Don't save SaveAlert 保存しない Recover NodeMonitorAlerts 回復 -Error loading \"%s\":\n\t%s LoadAlert \"%s\" を読み込み中にエラー発生:\n\t%s +Error loading \"%s\":\n\t%s LoadAlert \"%s\" を読み込み中にエラーが発生しました:\n\t %s Ignore NodeMonitorAlerts 無視 Read-only StatusView 読み込み専用 Undo typing QuitAlert 元に戻す diff --git a/data/catalogs/preferences/appearance/hu.catkeys b/data/catalogs/preferences/appearance/hu.catkeys index 6a06d3017e..5d86de71e1 100644 --- a/data/catalogs/preferences/appearance/hu.catkeys +++ b/data/catalogs/preferences/appearance/hu.catkeys @@ -1,4 +1,4 @@ -1 hungarian x-vnd.Haiku-Appearance 76206318 +1 hungarian x-vnd.Haiku-Appearance 1457181689 Plain font: Font view Alap betűtípus: Control highlight Colors tab Kiválasztott vezérlőelem Control border Colors tab Vezérlőelem kerete @@ -9,6 +9,7 @@ Defaults APRWindow Eredeti Grayscale AntialiasingSettingsView Szürkeárnyalat Shine Colors tab Ragyogás színe About DecorSettingsView Névjegy +About decorator DecorSettingsView Dekoráció névjegye Off AntialiasingSettingsView Ki Choose Decorator DecorSettingsView Dekoráció kiválasztása Success Colors tab Sikerült @@ -34,9 +35,10 @@ List background Colors tab Lista háttere OK DecorSettingsView Rendben Control mark Colors tab Vezérlőelem jelölése Size: Font Selection view Méret: +Decorator: DecorSettingsView Dekoráció: Selected list item background Colors tab Kiválasztott listaelem háttere Panel background Colors tab Panel háttere -Menu font: Font view Menü betütípusa: +Menu font: Font view Menü betűtípusa: Colors APRWindow Színek Control background Colors tab Kiválasztás háttere Inactive window tab Colors tab Inaktív ablak füle @@ -44,6 +46,7 @@ List item text Colors tab Listaelem Appearance System name Megjelenés Fixed font: Font view Rögzített szélességű betűtípus: The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. Árvíztűrő tükörfúrógép. +%decorName\n\nAuthors:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n DecorSettingsView %decorName\n\nKészítette:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n Reduce colored edges filter strength: AntialiasingSettingsView A színezett betűszélek szűrőjének erősségi szintje: Subpixel based anti-aliasing in combination with glyph hinting is not available in this build of Haiku to avoid possible patent issues. To enable this feature, you have to build Haiku yourself and enable certain options in the libfreetype configuration header. AntialiasingSettingsView A betűkép-körvonalasítással összevont szubpixel-alapú élsimítás nem használható a Haiku ezen kiadásában, mivel lehetséges szabadalmi viták forrása lehet. E funckió használatához magának kell megépítenie saját Haiku-rendszerét és beállítania bizonyos opciókat a libfreetype konfigurációs fejlécében. Control text Colors tab Vezérlőelem szövege diff --git a/data/catalogs/preferences/appearance/ja.catkeys b/data/catalogs/preferences/appearance/ja.catkeys index 19e414d95c..e2e9aa3a7f 100644 --- a/data/catalogs/preferences/appearance/ja.catkeys +++ b/data/catalogs/preferences/appearance/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-Appearance 76206318 +1 japanese x-vnd.Haiku-Appearance 1457181689 Plain font: Font view 標準フォント: Control highlight Colors tab コントロールのハイライト Control border Colors tab コントロールの境界 @@ -9,6 +9,7 @@ Defaults APRWindow デフォルト Grayscale AntialiasingSettingsView グレースケール Shine Colors tab 光 About DecorSettingsView 情報 +About decorator DecorSettingsView デコレーターについて Off AntialiasingSettingsView 無効 Choose Decorator DecorSettingsView デコレーターを選択 Success Colors tab 成功 @@ -34,6 +35,7 @@ List background Colors tab リストの背景 OK DecorSettingsView OK Control mark Colors tab コントロールの選択部 Size: Font Selection view サイズ: +Decorator: DecorSettingsView デコレーター: Selected list item background Colors tab リスト選択項目の背景 Panel background Colors tab パネルの背景 Menu font: Font view メニューフォント: @@ -44,6 +46,7 @@ List item text Colors tab リスト項目の文字 Appearance System name 外観 Fixed font: Font view 等幅フォント: The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. 古池や A frog jumps in, 水の音。 +%decorName\n\nAuthors:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n DecorSettingsView %decorName\n\n作者:\n\t%decorAuthors\n\nURL: %decorURL\nライセンス: %decorLic\n\n%decorDesc\n Reduce colored edges filter strength: AntialiasingSettingsView カラーエッジフィルターの強度を下げる Subpixel based anti-aliasing in combination with glyph hinting is not available in this build of Haiku to avoid possible patent issues. To enable this feature, you have to build Haiku yourself and enable certain options in the libfreetype configuration header. AntialiasingSettingsView このHaikuのビルドでは、グリフのヒンティングと組合せたサブピクセルベースのアンチエイリアスは特許問題の可能性を回避するため使用できません。有効にするには、Haikuをソースからビルドして、libfreetypeの設定ヘッダーファイル中の特定のオプションを有効にしなければなりません。 Control text Colors tab コントロールの文字 diff --git a/data/catalogs/preferences/appearance/pt_BR.catkeys b/data/catalogs/preferences/appearance/pt_BR.catkeys index c4b5ef68e5..d0ddb5ba57 100644 --- a/data/catalogs/preferences/appearance/pt_BR.catkeys +++ b/data/catalogs/preferences/appearance/pt_BR.catkeys @@ -1,4 +1,4 @@ -1 portuguese (brazil) x-vnd.Haiku-Appearance 76206318 +1 portuguese (brazil) x-vnd.Haiku-Appearance 1457181689 Plain font: Font view Fonte plana: Control highlight Colors tab Realce do controle Control border Colors tab Borda do controle @@ -9,6 +9,7 @@ Defaults APRWindow Padrões Grayscale AntialiasingSettingsView Escala de cinza Shine Colors tab Brilho About DecorSettingsView Sobre +About decorator DecorSettingsView Sobre o decorador Off AntialiasingSettingsView Desligado Choose Decorator DecorSettingsView Escolher Decorador Success Colors tab Sucesso @@ -34,6 +35,7 @@ List background Colors tab Plano de fundo da lista OK DecorSettingsView OK Control mark Colors tab Marca de controle Size: Font Selection view Tamanho: +Decorator: DecorSettingsView Decorador: Selected list item background Colors tab Plano de fundo do item de lista selecionado Panel background Colors tab Plano de fundo do painel Menu font: Font view Fonte de menu: @@ -44,6 +46,7 @@ List item text Colors tab Texto do item da lista Appearance System name Aparência Fixed font: Font view Fonte de largura fixa: The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. Yuri viu um pequeno jabuti xereta e dez cegonhas felizes comendo kiwi. +%decorName\n\nAuthors:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n DecorSettingsView %decorName\n\nAutores:\n\t %decorAuthors\n\nURL: %decorURL\nLicença: %decorLic\n\n%decorDesc\n Reduce colored edges filter strength: AntialiasingSettingsView Reduzir a força do filtro de bordas coloridas: Subpixel based anti-aliasing in combination with glyph hinting is not available in this build of Haiku to avoid possible patent issues. To enable this feature, you have to build Haiku yourself and enable certain options in the libfreetype configuration header. AntialiasingSettingsView A possibilidade de usar o antiserrilhamento baseado em Subpíxeis juntamente com o alisamento de glifos não está disponível nesta versão do Haiku para evitar possíveis problemas com patentes. Para habilitar esta funcionalidade, você terá que compilar o Haiku e ativar certas opções no cabeçalho de configuração da libfreetype. Control text Colors tab Texto do controle diff --git a/data/catalogs/preferences/appearance/sv.catkeys b/data/catalogs/preferences/appearance/sv.catkeys index b363651a35..12fdf2e9d0 100644 --- a/data/catalogs/preferences/appearance/sv.catkeys +++ b/data/catalogs/preferences/appearance/sv.catkeys @@ -1,4 +1,4 @@ -1 swedish x-vnd.Haiku-Appearance 76206318 +1 swedish x-vnd.Haiku-Appearance 1457181689 Plain font: Font view Vanlig font: Control highlight Colors tab Framhävd kontroll Control border Colors tab Kontrollkant @@ -9,6 +9,7 @@ Defaults APRWindow Förval Grayscale AntialiasingSettingsView Gråskala Shine Colors tab Ljusstyrka About DecorSettingsView Om +About decorator DecorSettingsView Om decorator Off AntialiasingSettingsView Av Choose Decorator DecorSettingsView Välj dekor Success Colors tab Framgång @@ -34,6 +35,7 @@ List background Colors tab Lista bakgrund OK DecorSettingsView OK Control mark Colors tab Kontroll märke Size: Font Selection view Storlek: +Decorator: DecorSettingsView Dekor: Selected list item background Colors tab Bakgrund för valt menyalternativ Panel background Colors tab Panelbakgrund Menu font: Font view Menu font: @@ -44,6 +46,7 @@ List item text Colors tab List objekt text Appearance System name Utseende Fixed font: Font view Fixerad font: The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. Flygande bäckasiner söka strax hwila på mjuka tuvor. +%decorName\n\nAuthors:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n DecorSettingsView %decorName\n\nUpphovsmän:\n\t%decorAuthors\n\nURL: %decorURL\nLisens: %decorLic\n\n%decorDesc\n Reduce colored edges filter strength: AntialiasingSettingsView Minska färgintensitet på färgade kanter: Subpixel based anti-aliasing in combination with glyph hinting is not available in this build of Haiku to avoid possible patent issues. To enable this feature, you have to build Haiku yourself and enable certain options in the libfreetype configuration header. AntialiasingSettingsView Subpixel-baserad kantutjämning i kombination med betoning av typsnitt är inte tillgängligt i färdigbyggda Haiku för att undvika patentproblem. För att aktivera denna funktionalitet, måste du själv kompilera Haiku och välja särskilda val i libfreetypes konfigurationshuvud. Control text Colors tab Kontrolltext diff --git a/data/catalogs/preferences/bluetooth/hu.catkeys b/data/catalogs/preferences/bluetooth/hu.catkeys index bdd4c10eb8..8b66f27a62 100644 --- a/data/catalogs/preferences/bluetooth/hu.catkeys +++ b/data/catalogs/preferences/bluetooth/hu.catkeys @@ -1,4 +1,4 @@ -1 hungarian x-vnd.Haiku-BluetoothPrefs 1628593228 +1 hungarian x-vnd.Haiku-BluetoothPrefs 3212620536 About Bluetooth… Window A Bluetooth-ról… Handheld Settings view Mobiltelefon Default inquiry time: Settings view Alapértelmezett lekérdezési időkorlát: @@ -55,6 +55,7 @@ Always ask Settings view Mindig kérdezze Retrieving name of %1 Inquiry panel %1 nevének fogadása Check that the Bluetooth capabilities of your remote device are activated. Press 'Inquiry' to start scanning. The needed time for the retrieval of the names is unknown, although should not take more than 3 seconds per device. Afterwards you will be able to add them to your main list, where you will be able to pair with them. Inquiry panel Bizonyosodjon meg afelől, hogy eszközének Bluetooth-funkciója be van-e kapcsolva! Nyomja meg a „Lekérdezés” gombot a keresés megkezdéséhez. A nevek lekérdezéséhez szükséges időt nem lehet pontosan meghatározni, de általában 3 másodpercnél tovább ez nem szokott tartani. A névlekérdezés után megjelenik a körzetben elérhető összes eszköz listája, ahonnan kiválaszthatja melyiket szeretné párosítani számítógépével. Authenticate Extended local device view HItelesítés +Pick device... Settings view Eszköz keresése… Retrieving names... Inquiry panel Nevek lekérdezése… Help Window Segítség Add… Remote devices Hozzáadás… diff --git a/data/catalogs/preferences/bluetooth/ja.catkeys b/data/catalogs/preferences/bluetooth/ja.catkeys index 1e7df16295..d1d8beb26e 100644 --- a/data/catalogs/preferences/bluetooth/ja.catkeys +++ b/data/catalogs/preferences/bluetooth/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-BluetoothPrefs 1628593228 +1 japanese x-vnd.Haiku-BluetoothPrefs 3212620536 About Bluetooth… Window Bluetoothについて… Handheld Settings view ハンドヘルド機器 Default inquiry time: Settings view デフォルトの問い合わせ時間: @@ -55,6 +55,7 @@ Always ask Settings view 常に確認する Retrieving name of %1 Inquiry panel %1の名前を取得しています Check that the Bluetooth capabilities of your remote device are activated. Press 'Inquiry' to start scanning. The needed time for the retrieval of the names is unknown, although should not take more than 3 seconds per device. Afterwards you will be able to add them to your main list, where you will be able to pair with them. Inquiry panel リモートデバイスの Bluetooth 機能がアクティブになっていることを確認してください。スキャンを開始するには「問い合わせ」ボタンを押してください。デバイスの名前を取得するに必要な時間は不明ですが、デバイス毎に 3 秒以内に完了すると思われます。その後一覧に追加ができて、ペアリングが可能になります。 Authenticate Extended local device view 認証 +Pick device... Settings view デバイスの選択... Retrieving names... Inquiry panel 名前を取得しています… Help Window ヘルプ Add… Remote devices 追加… diff --git a/data/catalogs/preferences/bluetooth/pt_BR.catkeys b/data/catalogs/preferences/bluetooth/pt_BR.catkeys index 26cf922223..62a125f66d 100644 --- a/data/catalogs/preferences/bluetooth/pt_BR.catkeys +++ b/data/catalogs/preferences/bluetooth/pt_BR.catkeys @@ -1,4 +1,4 @@ -1 portuguese (brazil) x-vnd.Haiku-BluetoothPrefs 1628593228 +1 portuguese (brazil) x-vnd.Haiku-BluetoothPrefs 3212620536 About Bluetooth… Window Sobre Bluetooth… Handheld Settings view Handheld Default inquiry time: Settings view Tempo de consulta padrão: @@ -55,6 +55,7 @@ Always ask Settings view Sempre perguntar Retrieving name of %1 Inquiry panel Buscando nome de %1 Check that the Bluetooth capabilities of your remote device are activated. Press 'Inquiry' to start scanning. The needed time for the retrieval of the names is unknown, although should not take more than 3 seconds per device. Afterwards you will be able to add them to your main list, where you will be able to pair with them. Inquiry panel Verifique que as capacidades Bluetooth do seu dispositivo remoto estão ativadas. Pressione o botão 'Consulta' para iniciar a pesquisa. O tempo necessário para a obtenção dos nomes é desconhecido embora não deva demorar mais que 3 segundos para cada dispositivo. Depois você poderá adicioná-los à sua lista principal, onde poderá emparelhá-los. Authenticate Extended local device view Autenticar +Pick device... Settings view Selecionar dispositivo… Retrieving names... Inquiry panel Obtendo nomes... Help Window Ajuda Add… Remote devices Adicionar… diff --git a/data/catalogs/preferences/bluetooth/sv.catkeys b/data/catalogs/preferences/bluetooth/sv.catkeys index 7450e2a136..fd31ca5aa0 100644 --- a/data/catalogs/preferences/bluetooth/sv.catkeys +++ b/data/catalogs/preferences/bluetooth/sv.catkeys @@ -1,4 +1,4 @@ -1 swedish x-vnd.Haiku-BluetoothPrefs 1628593228 +1 swedish x-vnd.Haiku-BluetoothPrefs 3212620536 About Bluetooth… Window Om Bluetooth… Handheld Settings view Handhållen Default inquiry time: Settings view Förvald frågotid: @@ -55,6 +55,7 @@ Always ask Settings view Fråga alltid Retrieving name of %1 Inquiry panel Hämtar namn från %1 Check that the Bluetooth capabilities of your remote device are activated. Press 'Inquiry' to start scanning. The needed time for the retrieval of the names is unknown, although should not take more than 3 seconds per device. Afterwards you will be able to add them to your main list, where you will be able to pair with them. Inquiry panel Verifiera att bluetoot här aktiverat på din enhet. Klicka på Fråga för att söka. Tidsåtgång för åtgärden är okänd, men bör inte ta mer än tre sekunder per enhet. Efter detta kommer du att kunna lägga till dem till din huvudlista, där du kan para ihop dem i förfrågan-panelen. Authenticate Extended local device view Autentisera +Pick device... Settings view Välj enhet... Retrieving names... Inquiry panel Hämtar namn... Help Window Hjälp Add… Remote devices Lägg till… diff --git a/data/catalogs/tests/servers/app/playground/ja.catkeys b/data/catalogs/tests/servers/app/playground/ja.catkeys index fdd6d5df95..05ba89a768 100644 --- a/data/catalogs/tests/servers/app/playground/ja.catkeys +++ b/data/catalogs/tests/servers/app/playground/ja.catkeys @@ -1,7 +1,7 @@ -1 japanese x-vnd.Haiku-Playground 3859386218 +1 japanese x-vnd.Haiku-Playground 1375574837 Line Playground 直線 Fill Playground 塗りつぶす -Over Playground 上書き +Over Playground 最前面描画 Quit Playground 終了 Rect Playground 四角形 Select Playground 選択 @@ -11,18 +11,22 @@ Round rect Playground 角丸四角形 Alpha: Playground 不透明度: Mode: Playground 描画モード: Submenu Playground サブメニュー -Copy Playground コピー +Copy Playground 通常描画 Cancel Playground 中止 Clear Playground 消去 -Blend Playground ブレンド -Invert Playground 反転 +Min Playground RGB最小値 +Blend Playground 通常合成 +Invert Playground ネガの作成 Clear all drawing objects? Playground オブジェクトをすべて削除しても良いですか? Width: Playground 幅: -Alpha Playground アルファ +Alpha Playground アルファ合成 New object Playground 新規オブジェクト Test Playground テスト -Add Playground 加算 +Max Playground RGB最大値 +Add Playground RGB加算 Playground System name プレイグラウンド +Erase Playground 排他領域描画 File Playground ファイル -Subtract Playground 減算 +Subtract Playground RGB減算 + Playground Ellipse Playground 楕円 From d3a0b2dccf0cb32a8c083ae3fb01198661b4f2bf Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 08:06:28 -0400 Subject: [PATCH 038/122] Deskbar prefs i18n updates. Fixes #8562 * AddGlue() to the Menu box to make it expand with wider translations. * Order checkboxes vertically to better accomidate wider translations. --- src/apps/deskbar/PreferencesWindow.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/apps/deskbar/PreferencesWindow.cpp b/src/apps/deskbar/PreferencesWindow.cpp index 7f3af94b8f..b4a720de62 100644 --- a/src/apps/deskbar/PreferencesWindow.cpp +++ b/src/apps/deskbar/PreferencesWindow.cpp @@ -213,6 +213,7 @@ PreferencesWindow::PreferencesWindow(BRect frame) B_USE_SMALL_SPACING)) .Add(new BButton(B_TRANSLATE("Edit in Tracker" B_UTF8_ELLIPSIS), new BMessage(kEditInTracker))) + .AddGlue() .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) .End() @@ -222,12 +223,10 @@ PreferencesWindow::PreferencesWindow(BRect frame) BBox* windowSettingsBox = new BBox("window"); windowSettingsBox->SetLabel(B_TRANSLATE("Window")); windowSettingsBox->AddChild(BLayoutBuilder::Group<>() - .AddGroup(B_HORIZONTAL, 0) - .AddGrid(B_USE_SMALL_SPACING, 0, 1) - .Add(fWindowAlwaysOnTop, 0, 0) - .Add(fWindowAutoRaise, 0, 1) - .Add(fWindowAutoHide, 1, 0) - .End() + .AddGroup(B_VERTICAL, 0) + .Add(fWindowAlwaysOnTop) + .Add(fWindowAutoRaise) + .Add(fWindowAutoHide) .AddGlue() .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) From 4307b2e057e11f7988b79c5e0273f7a3959c81f7 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 08:59:28 -0400 Subject: [PATCH 039/122] Diskprobe open window layout fixes --- src/apps/diskprobe/OpenWindow.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/apps/diskprobe/OpenWindow.cpp b/src/apps/diskprobe/OpenWindow.cpp index 108780628e..8b56c525b1 100644 --- a/src/apps/diskprobe/OpenWindow.cpp +++ b/src/apps/diskprobe/OpenWindow.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -58,12 +58,18 @@ OpenWindow::OpenWindow() SetLayout(new BGroupLayout(B_HORIZONTAL)); - AddChild(BGridLayoutBuilder(8, 8) - .Add(field, 0, 0, 3) - .Add(cancelButton, 0, 1) - .Add(probeFileButton, 1, 1) - .Add(probeDeviceButton, 2, 1) - .SetInsets(8, 8, 8, 8) + AddChild(BLayoutBuilder::Group<>() + .AddGroup(B_VERTICAL) + .Add(field) + .AddGroup(B_HORIZONTAL) + .Add(cancelButton) + .Add(probeFileButton) + .AddGlue() + .Add(probeDeviceButton) + .End() + .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) + .End() ); CenterOnScreen(); From e1c882014b6307abb44772a4045fcef67a2fc6e8 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 10:15:30 -0400 Subject: [PATCH 040/122] Update screen prefs layout. Fixes #8817 * Center monitor info and Workspaces label. * Use font-relative spacing. * Update the header including copyright year, sort contributors by name and add myself as well. --- src/preferences/screen/ScreenWindow.cpp | 60 +++++++++++++++++-------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/src/preferences/screen/ScreenWindow.cpp b/src/preferences/screen/ScreenWindow.cpp index 43febab7b9..274393acd4 100644 --- a/src/preferences/screen/ScreenWindow.cpp +++ b/src/preferences/screen/ScreenWindow.cpp @@ -1,16 +1,17 @@ /* - * Copyright 2001-2012, Haiku. + * Copyright 2001-2013, Haiku, Inc. * Distributed under the terms of the MIT License. * * Authors: - * Rafael Romo - * Stefano Ceccherini (burton666@libero.it) + * Stephan Aßmus, superstippi@gmx.de * Andrew Bachmann + * Stefano Ceccherini, burton666@libero.it + * Alexandre Deckner, alex@zappotek.com + * Axel Dörfler, axeld@pinc-software.de * Rene Gollent, rene@gollent.com * Thomas Kurschel - * Axel Dörfler, axeld@pinc-software.de - * Stephan Aßmus - * Alexandre Deckner, alex@zappotek.com + * Rafael Romo + * John Scipione, jscipione@gmail.com */ @@ -25,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -37,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -209,11 +212,13 @@ ScreenWindow::ScreenWindow(ScreenSettings* settings) // box on the left with workspace count and monitor view BBox* screenBox = new BBox("screen box"); - BGroupLayout* layout = new BGroupLayout(B_VERTICAL, 5.0); - layout->SetInsets(10, 10, 10, 10); + BGroupLayout* layout = new BGroupLayout(B_VERTICAL, B_USE_SMALL_SPACING); + layout->SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING); screenBox->SetLayout(layout); fMonitorInfo = new BStringView("monitor info", ""); + fMonitorInfo->SetAlignment(B_ALIGN_CENTER); screenBox->AddChild(fMonitorInfo); fMonitorView = new MonitorView(BRect(0.0, 0.0, 80.0, 80.0), @@ -221,22 +226,39 @@ ScreenWindow::ScreenWindow(ScreenSettings* settings) screen.Frame().IntegerHeight() + 1); screenBox->AddChild(fMonitorView); + BStringView* workspaces = new BStringView("workspaces", + B_TRANSLATE("Workspaces")); + workspaces->SetAlignment(B_ALIGN_CENTER); + fColumnsControl = new BTextControl(B_TRANSLATE("Columns:"), "0", new BMessage(kMsgWorkspaceColumnsChanged)); + fColumnsControl->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); fRowsControl = new BTextControl(B_TRANSLATE("Rows:"), "0", new BMessage(kMsgWorkspaceRowsChanged)); + fRowsControl->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); - screenBox->AddChild(BLayoutBuilder::Grid<>(5.0, 5.0) - .Add(new BStringView("", B_TRANSLATE("Workspaces")), 0, 0, 3) - .AddTextControl(fColumnsControl, 0, 1, B_ALIGN_RIGHT) - .AddGroup(B_HORIZONTAL, 0, 2, 1) - .Add(_CreateColumnRowButton(true, false)) - .Add(_CreateColumnRowButton(true, true)) - .End() - .AddTextControl(fRowsControl, 0, 2, B_ALIGN_RIGHT) - .AddGroup(B_HORIZONTAL, 0, 2, 2) - .Add(_CreateColumnRowButton(false, false)) - .Add(_CreateColumnRowButton(false, true)) + float tiny = be_control_look->DefaultItemSpacing() / 4; + screenBox->AddChild(BLayoutBuilder::Group<>() + .AddGroup(B_VERTICAL, B_USE_SMALL_SPACING) + .Add(workspaces) + .AddGrid(0.0, tiny) + // columns + .Add(fColumnsControl->CreateLabelLayoutItem(), 0, 0) + .Add(BSpaceLayoutItem::CreateHorizontalStrut( + B_USE_SMALL_SPACING), 1, 0) + .Add(fColumnsControl->CreateTextViewLayoutItem(), 2, 0) + .Add(BSpaceLayoutItem::CreateHorizontalStrut(tiny), 3, 0) + .Add(_CreateColumnRowButton(true, false), 4, 0) + .Add(_CreateColumnRowButton(true, true), 5, 0) + // rows + .Add(fRowsControl->CreateLabelLayoutItem(), 0, 1) + .Add(BSpaceLayoutItem::CreateHorizontalStrut( + B_USE_SMALL_SPACING), 1, 1) + .Add(fRowsControl->CreateTextViewLayoutItem(), 2, 1) + .Add(BSpaceLayoutItem::CreateHorizontalStrut(tiny), 3, 1) + .Add(_CreateColumnRowButton(false, false), 4, 1) + .Add(_CreateColumnRowButton(false, true), 5, 1) + .End() .End() .View()); From 4c45b1d99efba4e5bfb529a90c45c4011d253957 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 11:30:42 -0400 Subject: [PATCH 041/122] Perform settings checking again partially reverting 43917ef. Also storedSettings to prefs as it is shorter, easier to read the code. --- src/apps/deskbar/BarApp.cpp | 180 ++++++++++++++++++++---------------- 1 file changed, 102 insertions(+), 78 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index 48f5267834..b9d6d285f2 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -191,56 +191,44 @@ TBarApp::SaveSettings() { if (fSettingsFile->InitCheck() == B_OK) { fSettingsFile->Seek(0, SEEK_SET); - BMessage storedSettings; - - storedSettings.AddBool("vertical", fSettings.vertical); - storedSettings.AddBool("left", fSettings.left); - storedSettings.AddBool("top", fSettings.top); - storedSettings.AddUInt32("state", fSettings.state); - storedSettings.AddFloat("width", fSettings.width); - storedSettings.AddPoint("switcherLoc", fSettings.switcherLoc); - storedSettings.AddBool("showClock", fSettings.showClock); + BMessage prefs; + prefs.AddBool("vertical", fSettings.vertical); + prefs.AddBool("left", fSettings.left); + prefs.AddBool("top", fSettings.top); + prefs.AddUInt32("state", fSettings.state); + prefs.AddFloat("width", fSettings.width); + prefs.AddPoint("switcherLoc", fSettings.switcherLoc); + prefs.AddBool("showClock", fSettings.showClock); // applications - storedSettings.AddBool("trackerAlwaysFirst", - fSettings.trackerAlwaysFirst); - storedSettings.AddBool("sortRunningApps", fSettings.sortRunningApps); - storedSettings.AddBool("superExpando", fSettings.superExpando); - storedSettings.AddBool("expandNewTeams", fSettings.expandNewTeams); - storedSettings.AddBool("hideLabels", fSettings.hideLabels); - storedSettings.AddInt32("iconSize", fSettings.iconSize); + prefs.AddBool("trackerAlwaysFirst", fSettings.trackerAlwaysFirst); + prefs.AddBool("sortRunningApps", fSettings.sortRunningApps); + prefs.AddBool("superExpando", fSettings.superExpando); + prefs.AddBool("expandNewTeams", fSettings.expandNewTeams); + prefs.AddBool("hideLabels", fSettings.hideLabels); + prefs.AddInt32("iconSize", fSettings.iconSize); // recent items - storedSettings.AddBool("recentDocsEnabled", - fSettings.recentDocsEnabled); - storedSettings.AddBool("recentFoldersEnabled", - fSettings.recentFoldersEnabled); - storedSettings.AddBool("recentAppsEnabled", - fSettings.recentAppsEnabled); - storedSettings.AddInt32("recentDocsCount", - fSettings.recentDocsCount); - storedSettings.AddInt32("recentFoldersCount", - fSettings.recentFoldersCount); - storedSettings.AddInt32("recentAppsCount", - fSettings.recentAppsCount); + prefs.AddBool("recentDocsEnabled", fSettings.recentDocsEnabled); + prefs.AddBool("recentFoldersEnabled", fSettings.recentFoldersEnabled); + prefs.AddBool("recentAppsEnabled", fSettings.recentAppsEnabled); + prefs.AddInt32("recentDocsCount", fSettings.recentDocsCount); + prefs.AddInt32("recentFoldersCount", fSettings.recentFoldersCount); + prefs.AddInt32("recentAppsCount", fSettings.recentAppsCount); // window - storedSettings.AddBool("alwaysOnTop", fSettings.alwaysOnTop); - storedSettings.AddBool("autoRaise", fSettings.autoRaise); - storedSettings.AddBool("autoHide", fSettings.autoHide); + prefs.AddBool("alwaysOnTop", fSettings.alwaysOnTop); + prefs.AddBool("autoRaise", fSettings.autoRaise); + prefs.AddBool("autoHide", fSettings.autoHide); - storedSettings.Flatten(fSettingsFile); + prefs.Flatten(fSettingsFile); } if (fClockSettingsFile->InitCheck() == B_OK) { fClockSettingsFile->Seek(0, SEEK_SET); - BMessage storedSettings; + BMessage prefs; + prefs.AddBool("showSeconds", fClockSettings.showSeconds); + prefs.AddBool("showDayOfWeek", fClockSettings.showDayOfWeek); + prefs.AddBool("showTimeZone", fClockSettings.showTimeZone); - storedSettings.AddBool("showSeconds", - fClockSettings.showSeconds); - storedSettings.AddBool("showDayOfWeek", - fClockSettings.showDayOfWeek); - storedSettings.AddBool("showTimeZone", - fClockSettings.showTimeZone); - - storedSettings.Flatten(fClockSettingsFile); + prefs.Flatten(fClockSettingsFile); } } @@ -298,43 +286,79 @@ TBarApp::InitSettings() theDir.CreateFile(settingsFileName, fSettingsFile); } - BMessage storedSettings; + BMessage prefs; if (fSettingsFile->InitCheck() == B_OK - && storedSettings.Unflatten(fSettingsFile) == B_OK) { - storedSettings.FindBool("vertical", &settings.vertical); - storedSettings.FindBool("left", &settings.left); - storedSettings.FindBool("top", &settings.top); - storedSettings.FindUInt32("state", &settings.state); - storedSettings.FindFloat("width", &settings.width); - storedSettings.FindPoint("switcherLoc", &settings.switcherLoc); - storedSettings.FindBool("showClock", &settings.showClock); + && prefs.Unflatten(fSettingsFile) == B_OK) { + if (prefs.FindBool("vertical", &settings.vertical) != B_OK) + settings.vertical = fDefaultSettings.vertical; + if (prefs.FindBool("left", &settings.left) != B_OK) + settings.left = fDefaultSettings.left; + if (prefs.FindBool("top", &settings.top) != B_OK) + settings.top = fDefaultSettings.top; + if (prefs.FindUInt32("state", &settings.state) != B_OK) + settings.state = fDefaultSettings.state; + if (prefs.FindFloat("width", &settings.width) != B_OK) + settings.width = fDefaultSettings.width; + if (prefs.FindPoint("switcherLoc", &settings.switcherLoc) != B_OK) + settings.switcherLoc = fDefaultSettings.switcherLoc; + if (prefs.FindBool("showClock", &settings.showClock) != B_OK) + settings.showClock = fDefaultSettings.showClock; // applications - storedSettings.FindBool("trackerAlwaysFirst", - &settings.trackerAlwaysFirst); - storedSettings.FindBool("sortRunningApps", - &settings.sortRunningApps); - storedSettings.FindBool("superExpando", &settings.superExpando); - storedSettings.FindBool("expandNewTeams", - &settings.expandNewTeams); - storedSettings.FindBool("hideLabels", &settings.hideLabels); - storedSettings.FindInt32("iconSize", &settings.iconSize); + if (prefs.FindBool("trackerAlwaysFirst", + &settings.trackerAlwaysFirst) != B_OK) { + settings.trackerAlwaysFirst + = fDefaultSettings.trackerAlwaysFirst; + } + if (prefs.FindBool("sortRunningApps", + &settings.sortRunningApps) != B_OK) { + settings.sortRunningApps = fDefaultSettings.sortRunningApps; + } + if (prefs.FindBool("superExpando", &settings.superExpando) != B_OK) + settings.superExpando = fDefaultSettings.superExpando; + if (prefs.FindBool("expandNewTeams", + &settings.expandNewTeams) != B_OK) { + settings.expandNewTeams = fDefaultSettings.expandNewTeams; + } + if (prefs.FindBool("hideLabels", &settings.hideLabels) != B_OK) + settings.hideLabels = fDefaultSettings.hideLabels; + if (prefs.FindInt32("iconSize", &settings.iconSize) != B_OK) + settings.hideLabels = fDefaultSettings.hideLabels; // recent items - storedSettings.FindBool("recentDocsEnabled", - &settings.recentDocsEnabled); - storedSettings.FindBool("recentFoldersEnabled", - &settings.recentFoldersEnabled); - storedSettings.FindBool("recentAppsEnabled", - &settings.recentAppsEnabled); - storedSettings.FindInt32("recentDocsCount", - &settings.recentDocsCount); - storedSettings.FindInt32("recentFoldersCount", - &settings.recentFoldersCount); - storedSettings.FindInt32("recentAppsCount", - &settings.recentAppsCount); + if (prefs.FindBool("recentDocsEnabled", + &settings.recentDocsEnabled) != B_OK) { + settings.recentDocsEnabled + = fDefaultSettings.recentDocsEnabled; + } + if (prefs.FindBool("recentFoldersEnabled", + &settings.recentFoldersEnabled) != B_OK) { + settings.recentFoldersEnabled + = fDefaultSettings.recentFoldersEnabled; + } + if (prefs.FindBool("recentAppsEnabled", + &settings.recentAppsEnabled) != B_OK) { + settings.recentAppsEnabled + = fDefaultSettings.recentAppsEnabled; + } + if (prefs.FindInt32("recentDocsCount", + &settings.recentDocsCount) != B_OK) { + settings.recentDocsCount = fDefaultSettings.recentDocsCount; + } + if (prefs.FindInt32("recentFoldersCount", + &settings.recentFoldersCount) != B_OK) { + settings.recentFoldersCount + = fDefaultSettings.recentFoldersCount; + } + if (prefs.FindInt32("recentAppsCount", + &settings.recentAppsCount) != B_OK) { + settings.recentAppsCount = fDefaultSettings.recentAppsCount; + } // window - storedSettings.FindBool("alwaysOnTop", &settings.alwaysOnTop); - storedSettings.FindBool("autoRaise", &settings.autoRaise); - storedSettings.FindBool("autoHide", &settings.autoHide); + if (prefs.FindBool("alwaysOnTop", &settings.alwaysOnTop) != B_OK) + settings.alwaysOnTop = fDefaultSettings.alwaysOnTop; + if (prefs.FindBool("autoRaise", &settings.autoRaise) != B_OK) + settings.autoRaise = fDefaultSettings.autoRaise; + if (prefs.FindBool("autoHide", &settings.autoHide) != B_OK) + settings.autoHide = fDefaultSettings.autoHide; } filePath = dirPath; @@ -347,10 +371,10 @@ TBarApp::InitSettings() } if (fClockSettingsFile->InitCheck() == B_OK - && storedSettings.Unflatten(fClockSettingsFile) == B_OK) { - storedSettings.FindBool("showSeconds", &clock.showSeconds); - storedSettings.FindBool("showDayOfWeek", &clock.showDayOfWeek); - storedSettings.FindBool("showTimeZone", &clock.showTimeZone); + && prefs.Unflatten(fClockSettingsFile) == B_OK) { + prefs.FindBool("showSeconds", &clock.showSeconds); + prefs.FindBool("showDayOfWeek", &clock.showDayOfWeek); + prefs.FindBool("showTimeZone", &clock.showTimeZone); } } From c0778509d2443c271b669de72ed041c184cd297b Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 11:55:27 -0400 Subject: [PATCH 042/122] Copy pasta error, double checked this time --- src/apps/deskbar/BarApp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index b9d6d285f2..6e9cb6260c 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -322,7 +322,7 @@ TBarApp::InitSettings() if (prefs.FindBool("hideLabels", &settings.hideLabels) != B_OK) settings.hideLabels = fDefaultSettings.hideLabels; if (prefs.FindInt32("iconSize", &settings.iconSize) != B_OK) - settings.hideLabels = fDefaultSettings.hideLabels; + settings.iconSize = fDefaultSettings.iconSize; // recent items if (prefs.FindBool("recentDocsEnabled", &settings.recentDocsEnabled) != B_OK) { From 163a2afd4f58d53fcb3fe4b5e78daf50688bf6ae Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 16:11:12 -0400 Subject: [PATCH 043/122] Use the single parameter version of SetInsets() While I'm at it, I can reduce the LayoutBuilder indent by 1. --- src/apps/diskprobe/OpenWindow.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/apps/diskprobe/OpenWindow.cpp b/src/apps/diskprobe/OpenWindow.cpp index 8b56c525b1..78a1a2c8dc 100644 --- a/src/apps/diskprobe/OpenWindow.cpp +++ b/src/apps/diskprobe/OpenWindow.cpp @@ -58,18 +58,15 @@ OpenWindow::OpenWindow() SetLayout(new BGroupLayout(B_HORIZONTAL)); - AddChild(BLayoutBuilder::Group<>() - .AddGroup(B_VERTICAL) - .Add(field) - .AddGroup(B_HORIZONTAL) - .Add(cancelButton) - .Add(probeFileButton) - .AddGlue() - .Add(probeDeviceButton) - .End() - .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, - B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) + AddChild(BLayoutBuilder::Group<>(B_VERTICAL, B_USE_SMALL_SPACING) + .Add(field) + .AddGroup(B_HORIZONTAL) + .Add(cancelButton) + .Add(probeFileButton) + .AddGlue() + .Add(probeDeviceButton) .End() + .SetInsets(B_USE_DEFAULT_SPACING) ); CenterOnScreen(); From ca9a59bbc5dfcdddccdae3a87e61db4b89a5dfd9 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 17:04:44 -0400 Subject: [PATCH 044/122] add a newline --- docs/user/interface/Font.dox | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/user/interface/Font.dox b/docs/user/interface/Font.dox index 93c337a0dd..ebf1ca6d7f 100644 --- a/docs/user/interface/Font.dox +++ b/docs/user/interface/Font.dox @@ -59,6 +59,7 @@ left-to-right or right-to-left. */ + /*! \var font_direction B_FONT_LEFT_TO_RIGHT From ab21cedcce7774904821253a3cd6986b04c70634 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 17:05:09 -0400 Subject: [PATCH 045/122] Remove docs and refactor style of TextView class. * Make pointer style consistent, const char* name instead of const char *name. * Lots of parameter renaming. * in parameters don't get anything special, just font, or length instead of inFont, inLength. * out parameters get a leading _ so *outWidth becomes *_width for example. * We don't detail private function in the Haiku book and this class has a bunch so keep the documentation in the file but use regular comments instead. * Normalize the parameter names between cpp file and header. * Some minor whitespace fixes. No functional change intended. --- headers/os/interface/TextView.h | 116 ++- src/kits/interface/TextView.cpp | 1187 ++++++++++++------------------- 2 files changed, 508 insertions(+), 795 deletions(-) diff --git a/headers/os/interface/TextView.h b/headers/os/interface/TextView.h index 4e746fda13..c78859f2d1 100644 --- a/headers/os/interface/TextView.h +++ b/headers/os/interface/TextView.h @@ -87,21 +87,21 @@ public: int32 form, const char* property); virtual status_t GetSupportedSuites(BMessage* data); - void SetText(const char* inText, - const text_run_array* inRuns = NULL); - void SetText(const char* inText, int32 inLength, - const text_run_array* inRuns = NULL); - void SetText(BFile* inFile, - int32 startOffset, int32 inLength, - const text_run_array* inRuns = NULL); + void SetText(const char* text, + const text_run_array* runs = NULL); + void SetText(const char* text, int32 length, + const text_run_array* runs = NULL); + void SetText(BFile* file, int32 offset, + int32 length, + const text_run_array* runs = NULL); - void Insert(const char* inText, - const text_run_array* inRuns = NULL); - void Insert(const char* inText, int32 inLength, - const text_run_array* inRuns = NULL); - void Insert(int32 startOffset, - const char* inText, int32 inLength, - const text_run_array* inRuns = NULL); + void Insert(const char* text, + const text_run_array* runs = NULL); + void Insert(const char* text, int32 length, + const text_run_array* runs = NULL); + void Insert(int32 offset, const char* text, + int32 length, + const text_run_array* runs = NULL); void Delete(); void Delete(int32 startOffset, int32 endOffset); @@ -122,42 +122,40 @@ public: void Clear(); virtual bool AcceptsPaste(BClipboard* clipboard); - virtual bool AcceptsDrop(const BMessage* inMessage); + virtual bool AcceptsDrop(const BMessage* message); virtual void Select(int32 startOffset, int32 endOffset); void SelectAll(); - void GetSelection(int32* outStart, - int32* outEnd) const; + void GetSelection(int32* _start, int32* _end) const; - void SetFontAndColor(const BFont* inFont, - uint32 inMode = B_FONT_ALL, - const rgb_color* inColor = NULL); + void SetFontAndColor(const BFont* font, + uint32 mode = B_FONT_ALL, + const rgb_color* color = NULL); void SetFontAndColor(int32 startOffset, - int32 endOffset, const BFont* inFont, - uint32 inMode = B_FONT_ALL, - const rgb_color* inColor = NULL); + int32 endOffset, const BFont* font, + uint32 mode = B_FONT_ALL, + const rgb_color* color = NULL); - void GetFontAndColor(int32 inOffset, BFont* outFont, - rgb_color* outColor = NULL) const; - void GetFontAndColor(BFont* outFont, - uint32* sameProperties, - rgb_color* outColor = NULL, - bool* sameColor = NULL) const; + void GetFontAndColor(int32 offset, BFont* _font, + rgb_color* _color = NULL) const; + void GetFontAndColor(BFont* _font, uint32* _mode, + rgb_color* _color = NULL, + bool* _sameColor = NULL) const; void SetRunArray(int32 startOffset, int32 endOffset, - const text_run_array* inRuns); + const text_run_array* runs); text_run_array* RunArray(int32 startOffset, int32 endOffset, - int32* outSize = NULL) const; + int32* _size = NULL) const; int32 LineAt(int32 offset) const; int32 LineAt(BPoint point) const; - BPoint PointAt(int32 inOffset, - float* outHeight = NULL) const; + BPoint PointAt(int32 offset, + float* _height = NULL) const; int32 OffsetAt(BPoint point) const; int32 OffsetAt(int32 line) const; - virtual void FindWord(int32 inOffset, int32* outFromOffset, - int32* outToOffset); + virtual void FindWord(int32 offset, int32* _fromOffset, + int32* _toOffset); virtual bool CanEndLine(int32 offset); @@ -169,7 +167,7 @@ public: void GetTextRegion(int32 startOffset, int32 endOffset, BRegion* outRegion) const; - virtual void ScrollToOffset(int32 inOffset); + virtual void ScrollToOffset(int32 offset); void ScrollToSelection(); void Highlight(int32 startOffset, int32 endOffset); @@ -193,9 +191,9 @@ public: bool DoesWordWrap() const; void SetMaxBytes(int32 max); int32 MaxBytes() const; - void DisallowChar(uint32 aChar); - void AllowChar(uint32 aChar); - void SetAlignment(alignment flag); + void DisallowChar(uint32 character); + void AllowChar(uint32 character); + void SetAlignment(alignment align); alignment Alignment() const; void SetAutoindent(bool state); bool DoesAutoindent() const; @@ -233,15 +231,14 @@ public: static text_run_array* CopyRunArray(const text_run_array* orig, int32 countDelta = 0); static void FreeRunArray(text_run_array* array); - static void* FlattenRunArray(const text_run_array* inArray, - int32* outSize = NULL); + static void* FlattenRunArray(const text_run_array* runArray, + int32* _size = NULL); static text_run_array* UnflattenRunArray(const void* data, - int32* outSize = NULL); + int32* _size = NULL); protected: - virtual void InsertText(const char* inText, int32 inLength, - int32 inOffset, - const text_run_array* inRuns); + virtual void InsertText(const char* text, int32 length, + int32 offset, const text_run_array* runs); virtual void DeleteText(int32 fromOffset, int32 toOffset); public: @@ -294,10 +291,10 @@ private: void _ResetTextRect(); void _HandleBackspace(); - void _HandleArrowKey(uint32 inArrowKey, + void _HandleArrowKey(uint32 arrowKey, bool commandKeyDown = false); void _HandleDelete(); - void _HandlePageKey(uint32 inPageKey, + void _HandlePageKey(uint32 pageKey, bool commandKeyDown = false); void _HandleAlphaKey(const char* bytes, int32 numBytes); @@ -307,21 +304,20 @@ private: void _RecalculateLineBreaks(int32* startLine, int32* endLine); int32 _FindLineBreak(int32 fromOffset, - float* outAscent, float* outDescent, + float* _ascent, float* _descent, float* inOutWidth); float _StyledWidth(int32 fromOffset, int32 length, - float* outAscent = NULL, - float* outDescent = NULL) const; + float* _ascent = NULL, + float* _descent = NULL) const; float _TabExpandedStyledWidth(int32 offset, - int32 length, float* outAscent = NULL, - float* outDescent = NULL) const; + int32 length, float* _ascent = NULL, + float* _descent = NULL) const; float _ActualTabWidth(float location) const; - void _DoInsertText(const char* inText, - int32 inLength, int32 inOffset, - const text_run_array* inRuns); + void _DoInsertText(const char* text, int32 length, + int32 offset, const text_run_array* runs); void _DoDeleteText(int32 fromOffset, int32 toOffset); @@ -353,7 +349,7 @@ private: void _TrackDrag(BPoint where); void _InitiateDrag(); - bool _MessageDropped(BMessage* inMessage, + bool _MessageDropped(BMessage* message, BPoint where, BPoint offset); void _PerformAutoScrolling(); @@ -373,13 +369,13 @@ private: void _NormalizeFont(BFont* font); void _SetRunArray(int32 startOffset, int32 endOffset, - const text_run_array* inRuns); + const text_run_array* runs); void _ApplyStyleRange(int32 fromOffset, int32 toOffset, - uint32 inMode = B_FONT_ALL, - const BFont *inFont = NULL, - const rgb_color *inColor = NULL, + uint32 mode = B_FONT_ALL, + const BFont* font = NULL, + const rgb_color* color = NULL, bool syncNullStyle = true); uint32 _CharClassification(int32 offset) const; diff --git a/src/kits/interface/TextView.cpp b/src/kits/interface/TextView.cpp index 47d665e231..db65ca62c2 100644 --- a/src/kits/interface/TextView.cpp +++ b/src/kits/interface/TextView.cpp @@ -1,19 +1,17 @@ /* - * Copyright 2001-2009, Haiku Inc. All rights reserved. + * Copyright 2001-2009 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: + * Stephan Aßmus, superstippi@gmx.de + * Stefano Ceccherini, stefano.ceccherini@gmail.com + * Marc Flerackers, mflerackers@androme.be * Hiroshi Lockheimer (BTextView is based on his STEEngine) - * Marc Flerackers (mflerackers@androme.be) - * Stefano Ceccherini (stefano.ceccherini@gmail.com) - * Stephan Aßmus - * Oliver Tappe + * Oliver Tappe, zooey@hirschkaefer.de */ -/*! BTextView displays and manages styled text. */ // TODOs: -// - Finish documenting this class // - Consider using BObjectList instead of BList // for disallowed characters (it would remove a lot of reinterpret_casts) // - Check for correctness and possible optimizations the calls to _Refresh(), @@ -258,15 +256,7 @@ static property_info sPropertyList[] = { }; -/*! \brief Creates a BTextView object with the given attributes. - \param frame The rect which will enclose the BTextView object. - \param name The name of the object. - \param textRect Determines the area of the text within the BTextView object. - \param resizeMask The resizing mask for the BTextView, passed to the BView - constructor. - \param flags The flags for the BTextView, passed to the BView constructor. -*/ -BTextView::BTextView(BRect frame, const char *name, BRect textRect, +BTextView::BTextView(BRect frame, const char* name, BRect textRect, uint32 resizeMask, uint32 flags) : BView(frame, name, resizeMask, flags | B_FRAME_EVENTS | B_PULSE_NEEDED | B_INPUT_METHOD_AWARE) @@ -275,20 +265,8 @@ BTextView::BTextView(BRect frame, const char *name, BRect textRect, } -/*! \brief Creates a BTextView object with the given attributes. - \param frame The rect which will enclose the BTextView object. - \param name The name of the object. - \param textRect Determines the area of the text within the BTextView object. - \param initialFont The BTextView will display its text using this font, - unless otherwise specified. - \param initialColor The BTextView will display its text using this color, - unless otherwise specified. - \param resizeMask The resizing mask for the BTextView, passed to the BView - constructor. - \param flags The flags for the BTextView, passed to the BView constructor. -*/ -BTextView::BTextView(BRect frame, const char *name, BRect textRect, - const BFont *initialFont, const rgb_color *initialColor, +BTextView::BTextView(BRect frame, const char* name, BRect textRect, + const BFont* initialFont, const rgb_color* initialColor, uint32 resizeMask, uint32 flags) : BView(frame, name, resizeMask, flags | B_FRAME_EVENTS | B_PULSE_NEEDED | B_INPUT_METHOD_AWARE) @@ -297,10 +275,6 @@ BTextView::BTextView(BRect frame, const char *name, BRect textRect, } -/*! \brief Creates a BTextView object with the given attributes. - \param name The name of the object. - \param flags The flags for the BTextView, passed to the BView constructor. -*/ BTextView::BTextView(const char* name, uint32 flags) : BView(name, flags | B_FRAME_EVENTS | B_PULSE_NEEDED | B_INPUT_METHOD_AWARE) @@ -309,14 +283,6 @@ BTextView::BTextView(const char* name, uint32 flags) } -/*! \brief Creates a BTextView object with the given attributes. - \param name The name of the object. - \param initialFont The BTextView will display its text using this font, - unless otherwise specified. - \param initialColor The BTextView will display its text using this color, - unless otherwise specified. - \param flags The flags for the BTextView, passed to the BView constructor. -*/ BTextView::BTextView(const char* name, const BFont* initialFont, const rgb_color* initialColor, uint32 flags) : BView(name, flags | B_FRAME_EVENTS | B_PULSE_NEEDED @@ -326,10 +292,7 @@ BTextView::BTextView(const char* name, const BFont* initialFont, } -/*! \brief Creates a BTextView object from the passed BMessage. - \param archive The BMessage from which the object shall be created. -*/ -BTextView::BTextView(BMessage *archive) +BTextView::BTextView(BMessage* archive) : BView(archive) { CALLED(); @@ -340,7 +303,7 @@ BTextView::BTextView(BMessage *archive) _InitObject(rect, NULL, NULL); - const char *text = NULL; + const char* text = NULL; if (archive->FindString("_text", &text) == B_OK) SetText(text); @@ -381,37 +344,33 @@ BTextView::BTextView(BMessage *archive) MakeEditable(!toggle); ssize_t disallowedCount = 0; - const int32 *disallowedChars = NULL; + const int32* disallowedChars = NULL; if (archive->FindData("_dis_ch", B_RAW_TYPE, - (const void **)&disallowedChars, &disallowedCount) == B_OK) { + (const void**)&disallowedChars, &disallowedCount) == B_OK) { fDisallowedChars = new BList; disallowedCount /= sizeof(int32); for (int32 x = 0; x < disallowedCount; x++) { fDisallowedChars->AddItem( - reinterpret_cast(disallowedChars[x])); + reinterpret_cast(disallowedChars[x])); } } ssize_t runSize = 0; - const void *flattenedRun = NULL; + const void* flattenedRun = NULL; if (archive->FindData("_runs", B_RAW_TYPE, &flattenedRun, &runSize) == B_OK) { - text_run_array *runArray = UnflattenRunArray(flattenedRun, + text_run_array* runArray = UnflattenRunArray(flattenedRun, (int32*)&runSize); if (runArray) { SetRunArray(0, TextLength(), runArray); FreeRunArray(runArray); } } - } -/*! \brief Frees the memory allocated and destroy the object created on - construction. -*/ BTextView::~BTextView() { _CancelInputMethod(); @@ -429,13 +388,9 @@ BTextView::~BTextView() } -/*! \brief Static function used to istantiate a BTextView object from the given - BMessage. - \param archive The BMessage from which the object shall be created. - \return A constructed BTextView as a BArchivable object. -*/ -BArchivable * -BTextView::Instantiate(BMessage *archive) +// Instantiates a BTextView object from the passed in archive. +BArchivable* +BTextView::Instantiate(BMessage* archive) { CALLED(); if (validate_instantiation(archive, "BTextView")) @@ -444,13 +399,9 @@ BTextView::Instantiate(BMessage *archive) } -/*! \brief Archives the object into the passed message. - \param data A pointer to the message where to archive the object. - \param deep ? - \return \c B_OK if everything went well, an error code if not. -*/ +// Archives the object into the data message. status_t -BTextView::Archive(BMessage *data, bool deep) const +BTextView::Archive(BMessage* data, bool deep) const { CALLED(); status_t err = BView::Archive(data, deep); @@ -488,9 +439,9 @@ BTextView::Archive(BMessage *data, bool deep) const if (err == B_OK) { int32 runSize = 0; - text_run_array *runArray = RunArray(0, TextLength()); + text_run_array* runArray = RunArray(0, TextLength()); - void *flattened = FlattenRunArray(runArray, &runSize); + void* flattened = FlattenRunArray(runArray, &runSize); if (flattened != NULL) { data->AddData("_runs", B_RAW_TYPE, flattened, runSize); free(flattened); @@ -504,11 +455,8 @@ BTextView::Archive(BMessage *data, bool deep) const } -/*! \brief Hook function called when the BTextView is added to the - window's view hierarchy. - - Set the window's pulse rate to 2 per second and adjust scrollbars if needed -*/ +// Hook method that is called when the BTextView is added to the +// view hierarchy. void BTextView::AttachedToWindow() { @@ -533,9 +481,8 @@ BTextView::AttachedToWindow() } -/*! \brief Hook function called when the BTextView is removed from the - window's view hierarchy. -*/ +// Hook method that is called when the BTextView is removed from the +// view hierarchy. void BTextView::DetachedFromWindow() { @@ -543,10 +490,7 @@ BTextView::DetachedFromWindow() } -/*! \brief Hook function called whenever - the contents of the BTextView need to be (re)drawn. - \param updateRect The rect which needs to be redrawn -*/ +// Hook method that is called to draw the contents of the BTextView. void BTextView::Draw(BRect updateRect) { @@ -558,10 +502,8 @@ BTextView::Draw(BRect updateRect) } -/*! \brief Hook function called when a mouse button is clicked while - the cursor is in the view. - \param where The location where the mouse button has been clicked. -*/ +// Hook method that is called when a mouse button is pushed down while +// the cursor is contained in the view. void BTextView::MouseDown(BPoint where) { @@ -580,10 +522,10 @@ BTextView::MouseDown(BPoint where) int32 modifiers = 0; uint32 buttons = 0; - BMessage *currentMessage = Window()->CurrentMessage(); + BMessage* currentMessage = Window()->CurrentMessage(); if (currentMessage != NULL) { currentMessage->FindInt32("modifiers", &modifiers); - currentMessage->FindInt32("buttons", (int32 *)&buttons); + currentMessage->FindInt32("buttons", (int32*)&buttons); } if (buttons == B_SECONDARY_MOUSE_BUTTON) { @@ -671,12 +613,8 @@ BTextView::MouseDown(BPoint where) } -/*! \brief Hook function called when a mouse button is released while - the cursor is in the view. - \param where The point where the mouse button has been released. - - Stops asynchronous mouse tracking -*/ +// Hook method that is called when a mouse button is released while +// the cursor is contained in the view. void BTextView::MouseUp(BPoint where) { @@ -688,14 +626,10 @@ BTextView::MouseUp(BPoint where) } -/*! \brief Hook function called whenever the mouse cursor enters, exits - or moves inside the view. - \param where The point where the mouse cursor has moved to. - \param code A code which tells if the mouse entered or exited the view - \param message The message containing dragged information, if any. -*/ +// Hook method that is called whenever the mouse cursor enters, exits +// or moves inside the view. void -BTextView::MouseMoved(BPoint where, uint32 code, const BMessage *message) +BTextView::MouseMoved(BPoint where, uint32 code, const BMessage* message) { // Check if it's a "click'n'move" if (_PerformMouseMoved(where, code)) @@ -720,11 +654,8 @@ BTextView::MouseMoved(BPoint where, uint32 code, const BMessage *message) } -/*! \brief Hook function called when the window becomes the active window - or gives up that status. - \param state If true, window has just become active, if false, window has - just become inactive. -*/ +// Hook method that is called when the window becomes the active window +// or gives up that status. void BTextView::WindowActivated(bool state) { @@ -747,11 +678,10 @@ BTextView::WindowActivated(bool state) } -/*! \brief Hook function called whenever a key is pressed while the view is - the focus view of the active window. -*/ +// Hook method that is called when a key is pressed while the view is +// the focus view of the active window. void -BTextView::KeyDown(const char *bytes, int32 numBytes) +BTextView::KeyDown(const char* bytes, int32 numBytes) { const char keyPressed = bytes[0]; @@ -820,7 +750,7 @@ BTextView::KeyDown(const char *bytes, int32 numBytes) // if the character is not allowed, bail out. if (fDisallowedChars && fDisallowedChars->HasItem( - reinterpret_cast((uint32)keyPressed))) { + reinterpret_cast((uint32)keyPressed))) { beep(); return; } @@ -835,9 +765,7 @@ BTextView::KeyDown(const char *bytes, int32 numBytes) } -/*! \brief Hook function called every x microseconds. - It's the function which makes the caret blink. -*/ +// Hook method that is called at a set interval. void BTextView::Pulse() { @@ -848,12 +776,7 @@ BTextView::Pulse() } -/*! \brief Hook function called when the view's frame is resized. - \param width The new view's width. - \param height The new view's height. - - Updates the associated scrollbars. -*/ +// Hook method that is called when the frame is resized. void BTextView::FrameResized(float width, float height) { @@ -862,11 +785,8 @@ BTextView::FrameResized(float width, float height) } -/*! \brief Highlight/unhighlight the selection when the view gets - or loses the focus. - \param focusState The focus state: true, if the view is getting the focus, - false otherwise. -*/ +// Highlight or unhighlight the selection when the view gets or loses its +// focus state. void BTextView::MakeFocus(bool focusState) { @@ -882,11 +802,9 @@ BTextView::MakeFocus(bool focusState) } -/*! \brief Hook function executed every time the BTextView gets a message. - \param message The received message -*/ +// Hook method that is called each time the BTextView receives a message. void -BTextView::MessageReceived(BMessage *message) +BTextView::MessageReceived(BMessage* message) { // TODO: block input if not editable (Andrew) @@ -973,7 +891,7 @@ BTextView::MessageReceived(BMessage *message) { BPropertyInfo propInfo(sPropertyList); BMessage specifier; - const char *property; + const char* property; if (message->GetCurrentSpecifier(NULL, &specifier) < B_OK || specifier.FindString("property", &property) < B_OK) @@ -1061,31 +979,25 @@ BTextView::MessageReceived(BMessage *message) } -/*! \brief Returns the proper handler for the given scripting message. - \param message The scripting message which needs to be examined. - \param index The index of the specifier - \param specifier The message which contains the specifier - \param what The 'what' field of the specifier message. - \param property The name of the targetted property - \return The proper BHandler for the given scripting message. -*/ -BHandler * -BTextView::ResolveSpecifier(BMessage *message, int32 index, BMessage *specifier, - int32 what, const char *property) +// Returns the proper handler for the passed in scripting \a message. +BHandler* +BTextView::ResolveSpecifier(BMessage* message, int32 index, BMessage* specifier, + int32 what, const char* property) { BPropertyInfo propInfo(sPropertyList); - BHandler *target = this; + BHandler* target = this; if (propInfo.FindMatch(message, index, specifier, what, property) < B_OK) { target = BView::ResolveSpecifier(message, index, specifier, what, property); } + return target; } status_t -BTextView::GetSupportedSuites(BMessage *data) +BTextView::GetSupportedSuites(BMessage* data) { if (data == NULL) return B_BAD_VALUE; @@ -1160,15 +1072,14 @@ BTextView::Perform(perform_code code, void* _data) void -BTextView::SetText(const char *inText, const text_run_array *inRuns) +BTextView::SetText(const char* text, const text_run_array* runs) { - SetText(inText, inText ? strlen(inText) : 0, inRuns); + SetText(text, text ? strlen(text) : 0, runs); } void -BTextView::SetText(const char *inText, int32 inLength, - const text_run_array *inRuns) +BTextView::SetText(const char* text, int32 length, const text_run_array* runs) { _CancelInputMethod(); @@ -1185,11 +1096,11 @@ BTextView::SetText(const char *inText, int32 inLength, if (fText->Length() > 0) DeleteText(0, fText->Length()); - if (inText != NULL && inLength > 0) - InsertText(inText, inLength, 0, inRuns); + if (text != NULL && length > 0) + InsertText(text, length, 0, runs); // recalc line breaks and draw the text - _Refresh(0, inLength, false); + _Refresh(0, length, false); fCaretOffset = fSelStart = fSelEnd = 0; ScrollTo(B_ORIGIN); @@ -1199,36 +1110,36 @@ BTextView::SetText(const char *inText, int32 inLength, void -BTextView::SetText(BFile *inFile, int32 inOffset, int32 inLength, - const text_run_array *inRuns) +BTextView::SetText(BFile* file, int32 offset, int32 length, + const text_run_array* runs) { CALLED(); _CancelInputMethod(); - if (!inFile) + if (!file) return; if (fText->Length() > 0) DeleteText(0, fText->Length()); - fText->InsertText(inFile, inOffset, inLength, 0); + fText->InsertText(file, offset, length, 0); // update the start offsets of each line below offset - fLines->BumpOffset(inLength, _LineAt(inOffset) + 1); + fLines->BumpOffset(length, _LineAt(offset) + 1); // update the style runs - fStyles->BumpOffset(inLength, fStyles->OffsetToRun(inOffset - 1) + 1); + fStyles->BumpOffset(length, fStyles->OffsetToRun(offset - 1) + 1); - if (fStylable && inRuns != NULL) - SetRunArray(inOffset, inOffset + inLength, inRuns); + if (fStylable && runs != NULL) + SetRunArray(offset, offset + length, runs); else { // apply null-style to inserted text - _ApplyStyleRange(inOffset, inOffset + inLength); + _ApplyStyleRange(offset, offset + length); } // recalc line breaks and draw the text - _Refresh(0, inLength, false); + _Refresh(0, length, false); fCaretOffset = fSelStart = fSelEnd = 0; ScrollToOffset(fSelStart); @@ -1238,38 +1149,37 @@ BTextView::SetText(BFile *inFile, int32 inOffset, int32 inLength, void -BTextView::Insert(const char *inText, const text_run_array *inRuns) +BTextView::Insert(const char* text, const text_run_array* runs) { - if (inText != NULL) - _DoInsertText(inText, strlen(inText), fSelStart, inRuns); + if (text != NULL) + _DoInsertText(text, strlen(text), fSelStart, runs); } void -BTextView::Insert(const char *inText, int32 inLength, - const text_run_array *inRuns) +BTextView::Insert(const char* text, int32 length, const text_run_array* runs) { - if (inText != NULL && inLength > 0) - _DoInsertText(inText, strnlen(inText, inLength), fSelStart, inRuns); + if (text != NULL && length > 0) + _DoInsertText(text, strnlen(text, length), fSelStart, runs); } void -BTextView::Insert(int32 startOffset, const char *inText, int32 inLength, - const text_run_array *inRuns) +BTextView::Insert(int32 offset, const char* text, int32 length, + const text_run_array* runs) { // pin offset at reasonable values - if (startOffset < 0) - startOffset = 0; - else if (startOffset > fText->Length()) - startOffset = fText->Length(); - if (inText != NULL && inLength > 0) - _DoInsertText(inText, strnlen(inText, inLength), startOffset, inRuns); + if (offset < 0) + offset = 0; + else if (offset > fText->Length()) + offset = fText->Length(); + + if (text != NULL && length > 0) + _DoInsertText(text, strnlen(text, length), offset, runs); } -/*! \brief Deletes the text within the current selection. -*/ +// Deletes the text within the current selection. void BTextView::Delete() { @@ -1277,10 +1187,7 @@ BTextView::Delete() } -/*! \brief Delets the text comprised within the given offsets. - \param startOffset The offset of the text to delete. - \param endOffset The offset where the text to delete ends. -*/ +// Deletes the text enclosed within the given offsets. void BTextView::Delete(int32 startOffset, int32 endOffset) { @@ -1327,23 +1234,15 @@ BTextView::Delete(int32 startOffset, int32 endOffset) } -/*! \brief Returns the BTextView text as a C string. - \return A pointer to the text. - - It is possible that the BTextView object had to do some operations - on the text, to be able to return it as a C string. - If you need to call Text() repeatedly, you'd better use GetText(). -*/ -const char * +// Returns the BTextView text as a byte array. +const char* BTextView::Text() const { return fText->RealText(); } -/*! \brief Returns the length of the BTextView's text. - \return The length of the text. -*/ +// Returns the text length of the BTextView text. int32 BTextView::TextLength() const { @@ -1351,18 +1250,17 @@ BTextView::TextLength() const } +// Fills out buffer with the text of the BTextView starting at offset and +// grabbing at most length bytes. void -BTextView::GetText(int32 offset, int32 length, char *buffer) const +BTextView::GetText(int32 offset, int32 length, char* buffer) const { if (buffer != NULL) fText->GetString(offset, length, buffer); } -/*! \brief Returns the character at the given offset. - \param offset The offset of the wanted character. - \return The character at the given offset. -*/ +// Returns the character at the given offset. uchar BTextView::ByteAt(int32 offset) const { @@ -1373,9 +1271,7 @@ BTextView::ByteAt(int32 offset) const } -/*! \brief Returns the number of lines that the object contains. - \return The number of lines contained in the BTextView object. -*/ +// Returns the number of lines that the BTextView object contains. int32 BTextView::CountLines() const { @@ -1383,9 +1279,7 @@ BTextView::CountLines() const } -/*! \brief Returns the index of the current line. - \return The index of the current line. -*/ +// Returns the index of the current line. int32 BTextView::CurrentLine() const { @@ -1393,9 +1287,7 @@ BTextView::CurrentLine() const } -/*! \brief Move the caret to the specified line. - \param index The index of the line. -*/ +// Moves the caret to the specified line. void BTextView::GoToLine(int32 index) { @@ -1406,11 +1298,9 @@ BTextView::GoToLine(int32 index) } -/*! \brief Cuts the current selection to the clipboard. - \param clipboard The clipboard where to copy the cutted text. -*/ +// Moves the current selection to the clipboard. void -BTextView::Cut(BClipboard *clipboard) +BTextView::Cut(BClipboard* clipboard) { _CancelInputMethod(); if (!fEditable) @@ -1424,18 +1314,16 @@ BTextView::Cut(BClipboard *clipboard) } -/*! \brief Copies the current selection to the clipboard. - \param clipboard The clipboard where to copy the selected text. -*/ +// Copies the current selection to the clipboard. void -BTextView::Copy(BClipboard *clipboard) +BTextView::Copy(BClipboard* clipboard) { _CancelInputMethod(); if (clipboard->Lock()) { clipboard->Clear(); - BMessage *clip = clipboard->Data(); + BMessage* clip = clipboard->Data(); if (clip != NULL) { int32 numBytes = fSelEnd - fSelStart; const char* text = fText->GetString(fSelStart, &numBytes); @@ -1443,7 +1331,7 @@ BTextView::Copy(BClipboard *clipboard) int32 size; if (fStylable) { - text_run_array *runArray = RunArray(fSelStart, fSelEnd, &size); + text_run_array* runArray = RunArray(fSelStart, fSelEnd, &size); clip->AddData("application/x-vnd.Be-text_run_array", B_MIME_TYPE, runArray, size); FreeRunArray(runArray); @@ -1455,11 +1343,9 @@ BTextView::Copy(BClipboard *clipboard) } -/*! \brief Paste the text contained in the clipboard to the BTextView. - \param clipboard A pointer to the clipboard. -*/ +// Copy the text contained in the clipboard to the BTextView. void -BTextView::Paste(BClipboard *clipboard) +BTextView::Paste(BClipboard* clipboard) { CALLED(); _CancelInputMethod(); @@ -1467,19 +1353,19 @@ BTextView::Paste(BClipboard *clipboard) if (!fEditable || !clipboard->Lock()) return; - BMessage *clip = clipboard->Data(); + BMessage* clip = clipboard->Data(); if (clip != NULL) { - const char *text = NULL; + const char* text = NULL; ssize_t length = 0; if (clip->FindData("text/plain", B_MIME_TYPE, - (const void **)&text, &length) == B_OK) { - text_run_array *runArray = NULL; + (const void**)&text, &length) == B_OK) { + text_run_array* runArray = NULL; ssize_t runLength = 0; if (fStylable) { clip->FindData("application/x-vnd.Be-text_run_array", - B_MIME_TYPE, (const void **)&runArray, &runLength); + B_MIME_TYPE, (const void**)&runArray, &runLength); } _FilterDisallowedChars((char*)text, length, runArray); @@ -1508,8 +1394,7 @@ BTextView::Paste(BClipboard *clipboard) } -/*! \brief Deletes the currently selected text. -*/ +// Deletes the currently selected text. void BTextView::Clear() { @@ -1524,13 +1409,14 @@ BTextView::Clear() } +// Returns whether or not the BTextView can accept the clipboard data. bool -BTextView::AcceptsPaste(BClipboard *clipboard) +BTextView::AcceptsPaste(BClipboard* clipboard) { bool result = false; if (fEditable && clipboard && clipboard->Lock()) { - BMessage *data = clipboard->Data(); + BMessage* data = clipboard->Data(); result = data && data->HasData("text/plain", B_MIME_TYPE); clipboard->Unlock(); } @@ -1539,18 +1425,16 @@ BTextView::AcceptsPaste(BClipboard *clipboard) } +// Returns whether or not the BTextView can accept the dropped message data. bool -BTextView::AcceptsDrop(const BMessage *inMessage) +BTextView::AcceptsDrop(const BMessage* message) { - return fEditable && inMessage - && inMessage->HasData("text/plain", B_MIME_TYPE); + return fEditable && message + && message->HasData("text/plain", B_MIME_TYPE); } -/*! \brief Selects the text within the given offsets. - \param startOffset The offset of the text to select. - \param endOffset The offset where the text ends. -*/ +// Selects the text contained within the given offsets. void BTextView::Select(int32 startOffset, int32 endOffset) { @@ -1624,8 +1508,7 @@ BTextView::Select(int32 startOffset, int32 endOffset) } -/*! \brief Selects all the text within the BTextView. -*/ +// Selects all text contained in the BTextView. void BTextView::SelectAll() { @@ -1633,40 +1516,37 @@ BTextView::SelectAll() } -/*! \brief Gets the current selection. - \param outStart A pointer to an int32 which will contain the selection - start's offset. - \param outEnd A pointer to an int32 which will contain the selection - end's offset. -*/ +// Fills out outStart and outEnd with the start and end offsets of the +// current selection. void -BTextView::GetSelection(int32 *outStart, int32 *outEnd) const +BTextView::GetSelection(int32* _start, int32* _end) const { - int32 start = 0, end = 0; + int32 start = 0; + int32 end = 0; if (fSelectable) { start = fSelStart; end = fSelEnd; } - if (outStart) - *outStart = start; - if (outEnd) - *outEnd = end; + if (_start) + *_start = start; + if (_end) + *_end = end; } void -BTextView::SetFontAndColor(const BFont *inFont, uint32 inMode, - const rgb_color *inColor) +BTextView::SetFontAndColor(const BFont* font, uint32 mode, + const rgb_color* color) { - SetFontAndColor(fSelStart, fSelEnd, inFont, inMode, inColor); + SetFontAndColor(fSelStart, fSelEnd, font, mode, color); } void BTextView::SetFontAndColor(int32 startOffset, int32 endOffset, - const BFont* font, uint32 fontMode, const rgb_color* color) + const BFont* font, uint32 mode, const rgb_color* color) { CALLED(); @@ -1694,9 +1574,9 @@ BTextView::SetFontAndColor(int32 startOffset, int32 endOffset, // apply the style to the style buffer fStyles->InvalidateNullStyle(); - _ApplyStyleRange(startOffset, endOffset, fontMode, font, color); + _ApplyStyleRange(startOffset, endOffset, mode, font, color); - if ((fontMode & (B_FONT_FAMILY_AND_STYLE | B_FONT_SIZE)) != 0) { + if ((mode & (B_FONT_FAMILY_AND_STYLE | B_FONT_SIZE)) != 0) { // TODO: maybe only invalidate the layout (depending on // B_SUPPORTS_LAYOUT) and have it _Refresh() automatically? InvalidateLayout(); @@ -1712,43 +1592,42 @@ BTextView::SetFontAndColor(int32 startOffset, int32 endOffset, void -BTextView::GetFontAndColor(int32 inOffset, BFont *outFont, - rgb_color *outColor) const +BTextView::GetFontAndColor(int32 offset, BFont* _font, + rgb_color* _color) const { - fStyles->GetStyle(inOffset, outFont, outColor); + fStyles->GetStyle(offset, _font, _color); } void -BTextView::GetFontAndColor(BFont *outFont, uint32 *outMode, rgb_color - *outColor, bool *outEqColor) const +BTextView::GetFontAndColor(BFont* _font, uint32* _mode, + rgb_color* _color, bool* _sameColor) const { - fStyles->ContinuousGetStyle(outFont, outMode, outColor, outEqColor, + fStyles->ContinuousGetStyle(_font, _mode, _color, _sameColor, fSelStart, fSelEnd); } void BTextView::SetRunArray(int32 startOffset, int32 endOffset, - const text_run_array *inRuns) + const text_run_array* runs) { CALLED(); _CancelInputMethod(); - const text_run_array *runs = inRuns; - text_run_array oneRun; if (!fStylable) { // When the text view is not stylable, we always set the whole text's // style with the first run and ignore the offsets - if (inRuns->count == 0) + if (runs->count == 0) return; + startOffset = 0; endOffset = fText->Length(); oneRun.count = 1; - oneRun.runs[0] = inRuns->runs[0]; + oneRun.runs[0] = runs->runs[0]; oneRun.runs[0].offset = 0; runs = &oneRun; } else { @@ -1757,6 +1636,7 @@ BTextView::SetRunArray(int32 startOffset, int32 endOffset, startOffset = 0; else if (startOffset > fText->Length()) startOffset = fText->Length(); + if (endOffset < 0) endOffset = 0; else if (endOffset > fText->Length()) @@ -1769,35 +1649,27 @@ BTextView::SetRunArray(int32 startOffset, int32 endOffset, } -/*! \brief Returns a RunArray for the text within the given offsets. - \param startOffset The offset where to start. - \param endOffset The offset where the wanted text ends. - \param outSize A pointer to an int32 which will contain the size - of the run array. - \return A text_run_array for the text in the given offsets. - - The returned text_run_array belongs to the caller, so you better - free it as soon as you don't need it. -*/ -text_run_array * -BTextView::RunArray(int32 startOffset, int32 endOffset, int32 *outSize) const +// Returns a text_run_array for the text within the given offsets. +text_run_array* +BTextView::RunArray(int32 startOffset, int32 endOffset, int32* _size) const { // pin offsets at reasonable values if (startOffset < 0) startOffset = 0; else if (startOffset > fText->Length()) startOffset = fText->Length(); + if (endOffset < 0) endOffset = 0; else if (endOffset > fText->Length()) endOffset = fText->Length(); - STEStyleRange* styleRange = fStyles->GetStyleRange(startOffset, - endOffset - 1); + STEStyleRange* styleRange + = fStyles->GetStyleRange(startOffset, endOffset - 1); if (styleRange == NULL) return NULL; - text_run_array *runArray = AllocRunArray(styleRange->count, outSize); + text_run_array* runArray = AllocRunArray(styleRange->count, _size); if (runArray != NULL) { for (int32 i = 0; i < runArray->count; i++) { runArray->runs[i].offset = styleRange->runs[i].offset; @@ -1812,10 +1684,7 @@ BTextView::RunArray(int32 startOffset, int32 endOffset, int32 *outSize) const } -/*! \brief Returns the line number for the character at the given offset. - \param offset The offset of the wanted character. - \return A line number. -*/ +// Returns the line number of the character at the given offset. int32 BTextView::LineAt(int32 offset) const { @@ -1832,37 +1701,30 @@ BTextView::LineAt(int32 offset) const } -/*! \brief Returns the line number for the given point. - \param point A point. - \return A line number. -*/ +/// Returns the line number for the passed point. int32 BTextView::LineAt(BPoint point) const { int32 lineNum = _LineAt(point); if ((*fLines)[lineNum + 1]->origin <= point.y - fTextRect.top) lineNum++; + return lineNum; } -/*! \brief Returns the location of the character at the given offset. - \param inOffset The offset of the character. - \param outHeight Here the function will put the height of the character - at the given offset. - \return A BPoint which is the location of the character. -*/ +// Returns the location of the character at the given offset. BPoint -BTextView::PointAt(int32 inOffset, float *outHeight) const +BTextView::PointAt(int32 offset, float* _height) const { // pin offset at reasonable values - if (inOffset < 0) - inOffset = 0; - else if (inOffset > fText->Length()) - inOffset = fText->Length(); + if (offset < 0) + offset = 0; + else if (offset > fText->Length()) + offset = fText->Length(); // TODO: Cleanup. - int32 lineNum = _LineAt(inOffset); + int32 lineNum = _LineAt(offset); STELine* line = (*fLines)[lineNum]; float height = 0; @@ -1870,7 +1732,7 @@ BTextView::PointAt(int32 inOffset, float *outHeight) const result.x = 0.0; result.y = line->origin + fTextRect.top; - bool onEmptyLastLine = _IsOnEmptyLastLine(inOffset); + bool onEmptyLastLine = _IsOnEmptyLastLine(offset); if (fStyles->NumRuns() == 0) { // Handle the case where there is only one line (no text inserted) @@ -1880,14 +1742,14 @@ BTextView::PointAt(int32 inOffset, float *outHeight) const height = (line + 1)->origin - line->origin; if (onEmptyLastLine) { - // special case: go down one line if inOffset is at the newline + // special case: go down one line if offset is at the newline // at the end of the buffer ... result.y += height; // ... and return the height of that (empty) line - fStyles->SyncNullStyle(inOffset); + fStyles->SyncNullStyle(offset); height = _NullStyleHeight(); } else { - int32 length = inOffset - line->offset; + int32 length = offset - line->offset; result.x += _TabExpandedStyledWidth(line->offset, length); } } @@ -1906,17 +1768,14 @@ BTextView::PointAt(int32 inOffset, float *outHeight) const // round up result.x = lroundf(result.x); result.y = lroundf(result.y); - if (outHeight != NULL) - *outHeight = height; + if (_height != NULL) + *_height = height; return result; } -/*! \brief Returns the offset for the given location. - \param point A BPoint which specify the wanted location. - \return The offset for the given point. -*/ +// Returns the offset at the passed in point. int32 BTextView::OffsetAt(BPoint point) const { @@ -1995,10 +1854,7 @@ BTextView::OffsetAt(BPoint point) const } -/*! \brief Returns the offset of the given line. - \param line A line number. - \return The offset of the passed line. -*/ +// Returns the offset of the given line. int32 BTextView::OffsetAt(int32 line) const { @@ -2011,44 +1867,37 @@ BTextView::OffsetAt(int32 line) const } -/*! \brief Looks for a sequence of character that qualifies as a word. - \param inOffset The offset where to start looking. - \param outFromOffset A pointer to an integer which will contain the starting - offset of the word. - \param outToOffset A pointer to an integer which will contain the ending - offset of the word. -*/ +// Fills out _fromOffset and _toOffset for a sequence of character that +// qualifies as a word starting at offset. void -BTextView::FindWord(int32 inOffset, int32 *outFromOffset, int32 *outToOffset) +BTextView::FindWord(int32 offset, int32* _fromOffset, int32* _toOffset) { - if (inOffset < 0) { - if (outFromOffset) - *outFromOffset = 0; - if (outToOffset) - *outToOffset = 0; - return; - } - if (inOffset > fText->Length()) { - if (outFromOffset) - *outFromOffset = fText->Length(); - if (outToOffset) - *outToOffset = fText->Length(); + if (offset < 0) { + if (_fromOffset) + *_fromOffset = 0; + if (_toOffset) + *_toOffset = 0; return; } - if (outFromOffset) - *outFromOffset = _PreviousWordBoundary(inOffset); + if (offset > fText->Length()) { + if (_fromOffset) + *_fromOffset = fText->Length(); + if (_toOffset) + *_toOffset = fText->Length(); + return; + } - if (outToOffset) - *outToOffset = _NextWordBoundary(inOffset); + if (_fromOffset) + *_fromOffset = _PreviousWordBoundary(offset); + + if (_toOffset) + *_toOffset = _NextWordBoundary(offset); } -/*! \brief Returns true if the character at the given offset can be the last - character in a line. - \param offset The offset of the character. - \return true if the character can be the last of a line, false if not. -*/ +// Returns whether or not the character at the given offset can be +// the last character of a line. bool BTextView::CanEndLine(int32 offset) { @@ -2110,9 +1959,7 @@ BTextView::CanEndLine(int32 offset) } -/*! \brief Returns the width of the line at the given index. - \param lineNum A line index. -*/ +// Returns the width of the line at the given index. float BTextView::LineWidth(int32 lineNum) const { @@ -2131,9 +1978,7 @@ BTextView::LineWidth(int32 lineNum) const } -/*! \brief Returns the height of the line at the given index. - \param lineNum A line index. -*/ +// Returns the height of the line at the given index. float BTextView::LineHeight(int32 lineNum) const { @@ -2151,14 +1996,12 @@ BTextView::LineHeight(int32 lineNum) const // This is how the height is calculated in _RecalculateLineBreaks(). lineHeight = ceilf(fontHeight.ascent + fontHeight.descent) + 1; } + return lineHeight; } -/*! \brief Returns the height of the text comprised between the two given lines. - \param startLine The index of the starting line. - \param endLine The index of the ending line. -*/ +// Returns the height of the text enclosed within the given lines. float BTextView::TextHeight(int32 startLine, int32 endLine) const { @@ -2167,6 +2010,7 @@ BTextView::TextHeight(int32 startLine, int32 endLine) const startLine = 0; else if (startLine > numLines - 1) startLine = numLines - 1; + if (endLine < 0) endLine = 0; else if (endLine > numLines - 1) @@ -2176,8 +2020,9 @@ BTextView::TextHeight(int32 startLine, int32 endLine) const - (*fLines)[startLine]->origin; if (startLine != endLine && endLine == numLines - 1 - && fText->RealCharAt(fText->Length() - 1) == B_ENTER) + && fText->RealCharAt(fText->Length() - 1) == B_ENTER) { height += (*fLines)[endLine + 1]->origin - (*fLines)[endLine]->origin; + } return ceilf(height); } @@ -2185,7 +2030,7 @@ BTextView::TextHeight(int32 startLine, int32 endLine) const void BTextView::GetTextRegion(int32 startOffset, int32 endOffset, - BRegion *outRegion) const + BRegion* outRegion) const { if (!outRegion) return; @@ -2249,24 +2094,21 @@ BTextView::GetTextRegion(int32 startOffset, int32 endOffset, } -/*! \brief Scrolls the text so that the character at "inOffset" is within the - visible range. - \param inOffset The offset of the character. -*/ +// Scrolls the text so that the character at offset is visible. void -BTextView::ScrollToOffset(int32 inOffset) +BTextView::ScrollToOffset(int32 offset) { // pin offset at reasonable values - if (inOffset < 0) - inOffset = 0; - else if (inOffset > fText->Length()) - inOffset = fText->Length(); + if (offset < 0) + offset = 0; + else if (offset > fText->Length()) + offset = fText->Length(); BRect bounds = Bounds(); float lineHeight = 0.0; float xDiff = 0.0; float yDiff = 0.0; - BPoint point = PointAt(inOffset, &lineHeight); + BPoint point = PointAt(offset, &lineHeight); // horizontal float extraSpace = fAlignment == B_ALIGN_LEFT ? @@ -2295,10 +2137,7 @@ BTextView::ScrollToOffset(int32 inOffset) } -/*! \brief Scrolls the text so that the character which begins the current - selection is within the visible range. - \param inOffset The offset of the character. -*/ +// Scrolls the text so that the character that begins the selection is visible. void BTextView::ScrollToSelection() { @@ -2306,10 +2145,7 @@ BTextView::ScrollToSelection() } -/*! \brief Highlight the text comprised between the given offset. - \param startOffset The offset of the text to highlight. - \param endOffset The offset where the text to highlight ends. -*/ +// Highlight the text enclosed within the given offsets. void BTextView::Highlight(int32 startOffset, int32 endOffset) { @@ -2338,10 +2174,7 @@ BTextView::Highlight(int32 startOffset, int32 endOffset) // #pragma mark - configuration -/*! \brief Sets the BTextView's text rectangle to be the same as the passed - rect. - \param rect A BRect. -*/ +// Sets the BTextView's text frame to the passed in rect. void BTextView::SetTextRect(BRect rect) { @@ -2359,9 +2192,7 @@ BTextView::SetTextRect(BRect rect) } -/*! \brief Returns the current BTextView's text rectangle. - \return The current text rectangle. -*/ +// Returns the BTextView's text frame. BRect BTextView::TextRect() const { @@ -2391,8 +2222,7 @@ BTextView::_ResetTextRect() } -/*! \brief Sets the insets from the bounds for the BTextView's text rectangle. -*/ +// Sets the insets within the bounds for the BTextView's text frame. void BTextView::SetInsets(float left, float top, float right, float bottom) { @@ -2412,9 +2242,7 @@ BTextView::SetInsets(float left, float top, float right, float bottom) } -/*! \brief Returns the insets from the bounds for the BTextView's text - rectangle. -*/ +// Fills out the parameters with the BTextView's text insets. void BTextView::GetInsets(float* _left, float* _top, float* _right, float* _bottom) const @@ -2430,8 +2258,7 @@ BTextView::GetInsets(float* _left, float* _top, float* _right, } -/*! \brief Sets whether the BTextView accepts multiple character styles. -*/ +// Sets whether or not the BTextView accepts multiple character styles. void BTextView::SetStylable(bool stylable) { @@ -2439,10 +2266,7 @@ BTextView::SetStylable(bool stylable) } -/*! \brief Tells if the object is stylable. - \return true if the object is stylable, false otherwise. - If the object is stylable, it can show multiple fonts at the same time. -*/ +// Returns whether or not the BTextView object is stylable. bool BTextView::IsStylable() const { @@ -2450,9 +2274,7 @@ BTextView::IsStylable() const } -/*! \brief Sets the distance between tab stops (in pixel). - \param width The distance (in pixel) between tab stops. -*/ +// Sets the distance between tab stops in pixels. void BTextView::SetTabWidth(float width) { @@ -2466,9 +2288,7 @@ BTextView::SetTabWidth(float width) } -/*! \brief Returns the BTextView's tab width. - \return The BTextView's tab width. -*/ +// Returns the tab width of the BTextView. float BTextView::TabWidth() const { @@ -2476,10 +2296,7 @@ BTextView::TabWidth() const } -/*! \brief Makes the object selectable, or not selectable. - \param selectable If true, the object will be selectable from now on. - if false, it won't be selectable anymore. -*/ +// Sets whether or not the BTextView text is selectable. void BTextView::MakeSelectable(bool selectable) { @@ -2493,10 +2310,7 @@ BTextView::MakeSelectable(bool selectable) } -/*! \brief Tells if the object is selectable - \return \c true if the object is selectable, - \c false if not. -*/ +// Returns whether or not the text is selectable. bool BTextView::IsSelectable() const { @@ -2504,10 +2318,7 @@ BTextView::IsSelectable() const } -/*! \brief Set (or remove) the editable property for the object. - \param editable If true, will make the object editable, - if false, will make it not editable. -*/ +// Sets whether or not the text is editable. void BTextView::MakeEditable(bool editable) { @@ -2530,10 +2341,7 @@ BTextView::MakeEditable(bool editable) } -/*! \brief Tells if the object is editable. - \return \c true if the object is editable, - \c false if not. -*/ +// Returns whether or not the text is editable. bool BTextView::IsEditable() const { @@ -2541,9 +2349,7 @@ BTextView::IsEditable() const } -/*! \brief Set (or unset) word wrapping mode. - \param wrap Specifies if you want word wrapping active or not. -*/ +// Activate or deactivate word wrapping mode. void BTextView::SetWordWrap(bool wrap) { @@ -2576,9 +2382,7 @@ BTextView::SetWordWrap(bool wrap) } -/*! \brief Tells if word wrapping is activated. - \return true if word wrapping is active, false otherwise. -*/ +// Returns whether or not word wrapping is activated. bool BTextView::DoesWordWrap() const { @@ -2586,9 +2390,7 @@ BTextView::DoesWordWrap() const } -/*! \brief Sets the maximun number of bytes that the BTextView can contain. - \param max The new max number of bytes. -*/ +// Sets the maximum number of bytes that the BTextView can contain. void BTextView::SetMaxBytes(int32 max) { @@ -2608,9 +2410,7 @@ BTextView::SetMaxBytes(int32 max) } -/*! \brief Returns the maximum number of bytes that the BTextView can contain. - \return the maximum number of bytes that the BTextView can contain. -*/ +// Returns the maximum number of bytes that the BTextView can contain. int32 BTextView::MaxBytes() const { @@ -2618,45 +2418,36 @@ BTextView::MaxBytes() const } -/*! \brief Adds the given char to the disallowed chars list. - \param aChar The character to add to the list. - - After this function returns, the given character won't be accepted - by the textview anymore. -*/ +// Adds the character to the disallowed characters list. void -BTextView::DisallowChar(uint32 aChar) +BTextView::DisallowChar(uint32 character) { if (fDisallowedChars == NULL) fDisallowedChars = new BList; - if (!fDisallowedChars->HasItem(reinterpret_cast(aChar))) - fDisallowedChars->AddItem(reinterpret_cast(aChar)); + if (!fDisallowedChars->HasItem(reinterpret_cast(character))) + fDisallowedChars->AddItem(reinterpret_cast(character)); } -/*! \brief Removes the given character from the disallowed list. - \param aChar The character to remove from the list. -*/ +// Removes the \a character from the disallowed characters list. void -BTextView::AllowChar(uint32 aChar) +BTextView::AllowChar(uint32 character) { if (fDisallowedChars != NULL) - fDisallowedChars->RemoveItem(reinterpret_cast(aChar)); + fDisallowedChars->RemoveItem(reinterpret_cast(character)); } -/*! \brief Sets the way text is aligned within the text rectangle. - \param flag The new alignment. -*/ +// Sets the way text is aligned within the text frame. void -BTextView::SetAlignment(alignment flag) +BTextView::SetAlignment(alignment align) { // Do a reality check - if (fAlignment != flag && - (flag == B_ALIGN_LEFT || - flag == B_ALIGN_RIGHT || - flag == B_ALIGN_CENTER)) { - fAlignment = flag; + if (fAlignment != align && + (align == B_ALIGN_LEFT || + align == B_ALIGN_RIGHT || + align == B_ALIGN_CENTER)) { + fAlignment = align; // After setting new alignment, update the view/window if (Window() != NULL) @@ -2665,9 +2456,7 @@ BTextView::SetAlignment(alignment flag) } -/*! \brief Returns the current alignment of the text. - \return The current alignment. -*/ +// Returns the currently set text alignment flag. alignment BTextView::Alignment() const { @@ -2675,9 +2464,7 @@ BTextView::Alignment() const } -/*! \brief Sets wheter a new line of text is automatically indented. - \param state The new autoindent state -*/ +// Sets whether or not new lines of text are automatically indented. void BTextView::SetAutoindent(bool state) { @@ -2685,9 +2472,7 @@ BTextView::SetAutoindent(bool state) } -/*! \brief Returns the current autoindent state. - \return The current autoindent state. -*/ +// Returns whether or not automatic indenting is active. bool BTextView::DoesAutoindent() const { @@ -2695,9 +2480,7 @@ BTextView::DoesAutoindent() const } -/*! \brief Set the color space for the offscreen BBitmap. - \param colors The new colorspace for the offscreen BBitmap. -*/ +// Set the color space of the offscreen BBitmap object. void BTextView::SetColorSpace(color_space colors) { @@ -2709,9 +2492,7 @@ BTextView::SetColorSpace(color_space colors) } -/*! \brief Returns the colorspace of the offscreen BBitmap, if any. - \return The colorspace of the BTextView's offscreen BBitmap. -*/ +// Returns the colorspace set to the offscreen BBitmap object. color_space BTextView::ColorSpace() const { @@ -2719,17 +2500,9 @@ BTextView::ColorSpace() const } -/*! \brief Gives to the BTextView the ability to automatically resize itself - when needed. - \param resize If true, the BTextView will automatically resize itself. - \param resizeView The BTextView's parent view, it's the view which resizes - itself. - The resizing mechanism is alternative to the BView resizing. The container - view (the one passed to this function) should not automatically resize - itself when the parent is resized. -*/ +// Activates and deactivates automatic resizing. void -BTextView::MakeResizable(bool resize, BView *resizeView) +BTextView::MakeResizable(bool resize, BView* resizeView) { if (resize) { fResizable = true; @@ -2764,9 +2537,7 @@ BTextView::MakeResizable(bool resize, BView *resizeView) } -/*! \brief Returns whether the BTextView is currently resizable. - \returns whether the BTextView is currently resizable. -*/ +// Returns whether or not the object is resizable. bool BTextView::IsResizable() const { @@ -2774,9 +2545,7 @@ BTextView::IsResizable() const } -/*! \brief Enables or disables the undo mechanism. - \param undo If true enables the undo mechanism, if false, disables it. -*/ +// Enables and disables the undo mechanism. void BTextView::SetDoesUndo(bool undo) { @@ -2789,9 +2558,7 @@ BTextView::SetDoesUndo(bool undo) } -/*! \brief Tells if the object is undoable. - \return Whether the object is undoable. -*/ +// Returns whether or not the undo mechanism is enabled. bool BTextView::DoesUndo() const { @@ -2799,6 +2566,7 @@ BTextView::DoesUndo() const } +// Enables and disables type hiding. void BTextView::HideTyping(bool enabled) { @@ -2809,6 +2577,7 @@ BTextView::HideTyping(bool enabled) } +// Returns whether or not typing is hidden. bool BTextView::IsTypingHidden() const { @@ -2998,12 +2767,12 @@ BTextView::AllDetached() /* static */ -text_run_array * -BTextView::AllocRunArray(int32 entryCount, int32 *outSize) +text_run_array* +BTextView::AllocRunArray(int32 entryCount, int32* outSize) { int32 size = sizeof(text_run_array) + (entryCount - 1) * sizeof(text_run); - text_run_array *runArray = (text_run_array *)malloc(size); + text_run_array* runArray = (text_run_array*)malloc(size); if (runArray == NULL) { if (outSize != NULL) *outSize = 0; @@ -3029,10 +2798,10 @@ BTextView::AllocRunArray(int32 entryCount, int32 *outSize) /* static */ -text_run_array * -BTextView::CopyRunArray(const text_run_array *orig, int32 countDelta) +text_run_array* +BTextView::CopyRunArray(const text_run_array* orig, int32 countDelta) { - text_run_array *copy = AllocRunArray(countDelta, NULL); + text_run_array* copy = AllocRunArray(countDelta, NULL); if (copy != NULL) { for (int32 i = 0; i < countDelta; i++) { copy->runs[i].offset = orig->runs[i].offset; @@ -3046,7 +2815,7 @@ BTextView::CopyRunArray(const text_run_array *orig, int32 countDelta) /* static */ void -BTextView::FreeRunArray(text_run_array *array) +BTextView::FreeRunArray(text_run_array* array) { if (array == NULL) return; @@ -3060,14 +2829,14 @@ BTextView::FreeRunArray(text_run_array *array) /* static */ -void * +void* BTextView::FlattenRunArray(const text_run_array* runArray, int32* _size) { CALLED(); int32 size = sizeof(flattened_text_run_array) + (runArray->count - 1) * sizeof(flattened_text_run); - flattened_text_run_array *array = (flattened_text_run_array *)malloc(size); + flattened_text_run_array* array = (flattened_text_run_array*)malloc(size); if (array == NULL) { if (_size) *_size = 0; @@ -3104,11 +2873,11 @@ BTextView::FlattenRunArray(const text_run_array* runArray, int32* _size) /* static */ -text_run_array * +text_run_array* BTextView::UnflattenRunArray(const void* data, int32* _size) { CALLED(); - flattened_text_run_array *array = (flattened_text_run_array *)data; + flattened_text_run_array* array = (flattened_text_run_array*)data; if (B_BENDIAN_TO_HOST_INT32(array->magic) != kFlattenedTextRunArrayMagic || B_BENDIAN_TO_HOST_INT32(array->version) @@ -3121,7 +2890,7 @@ BTextView::UnflattenRunArray(const void* data, int32* _size) int32 count = B_BENDIAN_TO_HOST_INT32(array->count); - text_run_array *runArray = AllocRunArray(count, _size); + text_run_array* runArray = AllocRunArray(count, _size); if (runArray == NULL) return NULL; @@ -3156,41 +2925,41 @@ BTextView::UnflattenRunArray(const void* data, int32* _size) void -BTextView::InsertText(const char *inText, int32 inLength, int32 inOffset, - const text_run_array *inRuns) +BTextView::InsertText(const char* text, int32 length, int32 offset, + const text_run_array* runs) { CALLED(); - if (inLength < 0) - inLength = 0; + if (length < 0) + length = 0; - if (inOffset < 0) - inOffset = 0; - else if (inOffset > fText->Length()) - inOffset = fText->Length(); + if (offset < 0) + offset = 0; + else if (offset > fText->Length()) + offset = fText->Length(); - if (inLength > 0) { + if (length > 0) { // add the text to the buffer - fText->InsertText(inText, inLength, inOffset); + fText->InsertText(text, length, offset); // update the start offsets of each line below offset - fLines->BumpOffset(inLength, _LineAt(inOffset) + 1); + fLines->BumpOffset(length, _LineAt(offset) + 1); // update the style runs - fStyles->BumpOffset(inLength, fStyles->OffsetToRun(inOffset - 1) + 1); + fStyles->BumpOffset(length, fStyles->OffsetToRun(offset - 1) + 1); // offset the caret/selection, if the text was inserted before it - if (inOffset <= fSelEnd) { - fSelStart += inLength; + if (offset <= fSelEnd) { + fSelStart += length; fCaretOffset = fSelEnd = fSelStart; } } - if (fStylable && inRuns != NULL) { - _SetRunArray(inOffset, inOffset + inLength, inRuns); + if (fStylable && runs != NULL) { + _SetRunArray(offset, offset + length, runs); } else { // apply null-style to inserted text - _ApplyStyleRange(inOffset, inOffset + inLength); + _ApplyStyleRange(offset, offset + length); } } @@ -3253,7 +3022,7 @@ BTextView::DeleteText(int32 fromOffset, int32 toOffset) \param clipboard A clipboard to use for the undo operation. */ void -BTextView::Undo(BClipboard *clipboard) +BTextView::Undo(BClipboard* clipboard) { if (fUndo) fUndo->Undo(clipboard); @@ -3261,15 +3030,15 @@ BTextView::Undo(BClipboard *clipboard) undo_state -BTextView::UndoState(bool *isRedo) const +BTextView::UndoState(bool* isRedo) const { return fUndo == NULL ? B_UNDO_UNAVAILABLE : fUndo->State(isRedo); } void -BTextView::GetDragParameters(BMessage *drag, BBitmap **bitmap, BPoint *point, - BHandler **handler) +BTextView::GetDragParameters(BMessage* drag, BBitmap** bitmap, BPoint* point, + BHandler** handler) { CALLED(); if (drag == NULL) @@ -3286,7 +3055,7 @@ BTextView::GetDragParameters(BMessage *drag, BBitmap **bitmap, BPoint *point, // add the corresponding styles int32 size = 0; - text_run_array *styles = RunArray(fSelStart, fSelEnd, &size); + text_run_array* styles = RunArray(fSelStart, fSelEnd, &size); if (styles != NULL) { drag->AddData("application/x-vnd.Be-text_run_array", B_MIME_TYPE, @@ -3323,8 +3092,8 @@ void BTextView::_ReservedTextView12() {} \param initialColor The initial color of the text. */ void -BTextView::_InitObject(BRect textRect, const BFont *initialFont, - const rgb_color *initialColor) +BTextView::_InitObject(BRect textRect, const BFont* initialFont, + const rgb_color* initialColor) { BFont font; if (initialFont == NULL) @@ -3400,7 +3169,7 @@ void BTextView::_HandleBackspace() { if (fUndo) { - TypingUndoBuffer *undoBuffer = dynamic_cast( + TypingUndoBuffer* undoBuffer = dynamic_cast( fUndo); if (!undoBuffer) { delete fUndo; @@ -3424,11 +3193,9 @@ BTextView::_HandleBackspace() } -/*! \brief Called when any arrow key is pressed. - \param inArrowKey The code for the pressed key. -*/ +// Handles when any arrow key is pressed. void -BTextView::_HandleArrowKey(uint32 inArrowKey, bool commandKeyDown) +BTextView::_HandleArrowKey(uint32 arrowKey, bool commandKeyDown) { // return if there's nowhere to go if (fText->Length() == 0) @@ -3438,14 +3205,14 @@ BTextView::_HandleArrowKey(uint32 inArrowKey, bool commandKeyDown) int32 selEnd = fSelEnd; int32 modifiers = 0; - BMessage *message = Window()->CurrentMessage(); + BMessage* message = Window()->CurrentMessage(); if (message != NULL) message->FindInt32("modifiers", &modifiers); bool shiftDown = modifiers & B_SHIFT_KEY; int32 lastClickOffset = fCaretOffset; - switch (inArrowKey) { + switch (arrowKey) { case B_LEFT_ARROW: if (!fEditable) _ScrollBy(-1 * kHorizontalScrollBarStep, 0); @@ -3579,13 +3346,12 @@ BTextView::_HandleArrowKey(uint32 inArrowKey, bool commandKeyDown) } -/*! \brief Called when the Delete key is pressed. -*/ +// Handles when the Delete key is pressed void BTextView::_HandleDelete() { if (fUndo) { - TypingUndoBuffer *undoBuffer = dynamic_cast( + TypingUndoBuffer* undoBuffer = dynamic_cast( fUndo); if (!undoBuffer) { delete fUndo; @@ -3609,14 +3375,12 @@ BTextView::_HandleDelete() } -/*! \brief Called when a "Page key" is pressed. - \param inPageKey The page key which has been pressed. -*/ +// Handles when the Page Up or Page Down key is pressed. void -BTextView::_HandlePageKey(uint32 inPageKey, bool commandKeyDown) +BTextView::_HandlePageKey(uint32 pageKey, bool commandKeyDown) { int32 mods = 0; - BMessage *currentMessage = Window()->CurrentMessage(); + BMessage* currentMessage = Window()->CurrentMessage(); if (currentMessage) currentMessage->FindInt32("modifiers", &mods); @@ -3627,7 +3391,7 @@ BTextView::_HandlePageKey(uint32 inPageKey, bool commandKeyDown) int32 selEnd = fSelEnd; int32 lastClickOffset = fCaretOffset; - switch (inPageKey) { + switch (pageKey) { case B_HOME: if (!fEditable) { _ScrollTo(0, 0); @@ -3787,11 +3551,11 @@ BTextView::_HandlePageKey(uint32 inPageKey, bool commandKeyDown) \param numBytes The amount of bytes containes in "bytes". */ void -BTextView::_HandleAlphaKey(const char *bytes, int32 numBytes) +BTextView::_HandleAlphaKey(const char* bytes, int32 numBytes) { // TODO: block input if not editable (Andrew) if (fUndo) { - TypingUndoBuffer *undoBuffer = dynamic_cast(fUndo); + TypingUndoBuffer* undoBuffer = dynamic_cast(fUndo); if (!undoBuffer) { delete fUndo; fUndo = undoBuffer = new TypingUndoBuffer(this); @@ -3896,7 +3660,7 @@ BTextView::_Refresh(int32 fromOffset, int32 toOffset, bool scroll) void -BTextView::_RecalculateLineBreaks(int32 *startLine, int32 *endLine) +BTextView::_RecalculateLineBreaks(int32* startLine, int32* endLine) { CALLED(); @@ -3987,11 +3751,11 @@ BTextView::_RecalculateLineBreaks(int32 *startLine, int32 *endLine) int32 -BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, - float *inOutWidth) +BTextView::_FindLineBreak(int32 fromOffset, float* _ascent, float* _descent, + float* inOutWidth) { - *outAscent = 0.0; - *outDescent = 0.0; + *_ascent = 0.0; + *_descent = 0.0; const int32 limit = fText->Length(); @@ -3999,17 +3763,17 @@ BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, if (fromOffset >= limit) { // try to return valid height info anyway if (fStyles->NumRuns() > 0) { - fStyles->Iterate(fromOffset, 1, fInline, NULL, NULL, outAscent, - outDescent); + fStyles->Iterate(fromOffset, 1, fInline, NULL, NULL, _ascent, + _descent); } else { if (fStyles->IsValidNullStyle()) { - const BFont *font = NULL; + const BFont* font = NULL; fStyles->GetNullStyle(&font, NULL); font_height fh; font->GetHeight(&fh); - *outAscent = fh.ascent; - *outDescent = fh.descent + fh.leading; + *_ascent = fh.ascent; + *_descent = fh.descent + fh.leading; } } *inOutWidth = 0; @@ -4028,7 +3792,7 @@ BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, int32 toOffset = (offset < limit) ? offset : limit; *inOutWidth = _TabExpandedStyledWidth(fromOffset, toOffset - fromOffset, - outAscent, outDescent); + _ascent, _descent); return offset < limit ? offset + 1 : limit; } @@ -4104,8 +3868,8 @@ BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, } } - *outAscent = max_c(ascent, *outAscent); - *outDescent = max_c(descent, *outDescent); + *_ascent = max_c(ascent, *_ascent); + *_descent = max_c(descent, *_descent); offset += delta; delta = 0; @@ -4114,8 +3878,8 @@ BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, if (offset - fromOffset < 1) { // there weren't any words that fit entirely in this line // force a break in the middle of a word - *outAscent = 0.0; - *outDescent = 0.0; + *_ascent = 0.0; + *_descent = 0.0; strWidth = 0.0; int32 current = fromOffset; @@ -4128,8 +3892,8 @@ BTextView::_FindLineBreak(int32 fromOffset, float *outAscent, float *outDescent, break; } - *outAscent = max_c(ascent, *outAscent); - *outDescent = max_c(descent, *outDescent); + *_ascent = max_c(ascent, *_ascent); + *_descent = max_c(descent, *_descent); } } @@ -4218,12 +3982,11 @@ BTextView::_NextWordEnd(int32 offset) } -/*! \brief Returns the width used by the characters starting at the given - offset with the given length, expanding all tab characters as needed. -*/ +// Returns the width used by the characters starting at the given +// offset with the given length, expanding all tab characters as needed. float -BTextView::_TabExpandedStyledWidth(int32 offset, int32 length, float* outAscent, - float* outDescent) const +BTextView::_TabExpandedStyledWidth(int32 offset, int32 length, float* _ascent, + float* _descent) const { float ascent = 0.0; float descent = 0.0; @@ -4252,32 +4015,29 @@ BTextView::_TabExpandedStyledWidth(int32 offset, int32 length, float* outAscent, numBytes = length; } while (foundTab && length > 0); - if (outAscent != NULL) - *outAscent = maxAscent; - if (outDescent != NULL) - *outDescent = maxDescent; + if (_ascent != NULL) + *_ascent = maxAscent; + if (_descent != NULL) + *_descent = maxDescent; return width; } -/*! \brief Calculate the width of the text within the given limits. - \param fromOffset The offset where to start. - \param length The length of the text to examine. - \param outAscent A pointer to a float which will contain the maximum - ascent. - \param outDescent A pointer to a float which will contain the maximum - descent. - \return The width for the text within the given limits. -*/ +// Calculate the width of the text within the given limits. +// fromOffset The offset where to start. +// length The length of the text to examine. +// _ascent A pointer to a float which will contain the maximum ascent. +// _descent A pointer to a float which will contain the maximum descent. +// return The width for the text within the given limits. float -BTextView::_StyledWidth(int32 fromOffset, int32 length, float* outAscent, - float* outDescent) const +BTextView::_StyledWidth(int32 fromOffset, int32 length, float* _ascent, + float* _descent) const { if (length == 0) { // determine height of char at given offset, but return empty width - fStyles->Iterate(fromOffset, 1, fInline, NULL, NULL, outAscent, - outDescent); + fStyles->Iterate(fromOffset, 1, fInline, NULL, NULL, _ascent, + _descent); return 0.0; } @@ -4288,7 +4048,7 @@ BTextView::_StyledWidth(int32 fromOffset, int32 length, float* outAscent, float maxDescent = 0.0; // iterate through the style runs - const BFont *font = NULL; + const BFont* font = NULL; int32 numBytes; while ((numBytes = fStyles->Iterate(fromOffset, length, fInline, &font, NULL, &ascent, &descent)) != 0) { @@ -4313,19 +4073,16 @@ BTextView::_StyledWidth(int32 fromOffset, int32 length, float* outAscent, length -= numBytes; } - if (outAscent != NULL) - *outAscent = maxAscent; - if (outDescent != NULL) - *outDescent = maxDescent; + if (_ascent != NULL) + *_ascent = maxAscent; + if (_descent != NULL) + *_descent = maxDescent; return result; } -/*! \brief Calculate the actual tab width for the given location. - \param location The location to calculate the tab width of. - \return The actual tab width for the given location -*/ +// Calculate the actual tab width for the given location. float BTextView::_ActualTabWidth(float location) const { @@ -4338,26 +4095,26 @@ BTextView::_ActualTabWidth(float location) const void -BTextView::_DoInsertText(const char *inText, int32 inLength, int32 inOffset, - const text_run_array *inRuns) +BTextView::_DoInsertText(const char* text, int32 length, int32 offset, + const text_run_array* runs) { _CancelInputMethod(); - if (TextLength() + inLength > MaxBytes()) + if (TextLength() + length > MaxBytes()) return; if (fSelStart != fSelEnd) Select(fSelStart, fSelStart); const int32 textLength = TextLength(); - if (inOffset > textLength) - inOffset = textLength; + if (offset > textLength) + offset = textLength; // copy data into buffer - InsertText(inText, inLength, inOffset, inRuns); + InsertText(text, length, offset, runs); // recalc line breaks and draw the text - _Refresh(inOffset, inOffset + inLength, false); + _Refresh(offset, offset + length, false); } @@ -4369,11 +4126,11 @@ BTextView::_DoDeleteText(int32 fromOffset, int32 toOffset) void -BTextView::_DrawLine(BView *view, const int32 &lineNum, +BTextView::_DrawLine(BView* view, const int32 &lineNum, const int32 &startOffset, const bool &erase, BRect &eraseRect, BRegion &inputRegion) { - STELine *line = (*fLines)[lineNum]; + STELine* line = (*fLines)[lineNum]; float startLeft = fTextRect.left; if (startOffset != -1) { if (ByteAt(startOffset) == B_ENTER) { @@ -4415,8 +4172,8 @@ BTextView::_DrawLine(BView *view, const int32 &lineNum, int32 tabChars = 0; int32 numTabs = 0; int32 offset = startOffset != -1 ? startOffset : line->offset; - const BFont *font = NULL; - const rgb_color *color = NULL; + const BFont* font = NULL; + const rgb_color* color = NULL; int32 numBytes; drawing_mode defaultTextRenderingMode = DrawingMode(); // iterate through each style on this line @@ -4474,7 +4231,7 @@ BTextView::_DrawLine(BView *view, const int32 &lineNum, } int32 returnedBytes = tabChars; - const char *stringToDraw = fText->GetString(offset, &returnedBytes); + const char* stringToDraw = fText->GetString(offset, &returnedBytes); view->SetDrawingMode(textRenderingMode); view->DrawString(stringToDraw, returnedBytes); if (foundTab) { @@ -4521,7 +4278,7 @@ BTextView::_DrawLines(int32 startLine, int32 endLine, int32 startOffset, // drawing to a non-white background will work SetLowColor(ViewColor()); - BView *view = NULL; + BView* view = NULL; if (fOffscreen == NULL) view = this; else { @@ -4606,8 +4363,8 @@ BTextView::_RequestDrawLines(int32 startLine, int32 endLine) long maxLine = fLines->NumLines() - 1; - STELine *from = (*fLines)[startLine]; - STELine *to = endLine == maxLine ? NULL : (*fLines)[endLine + 1]; + STELine* from = (*fLines)[startLine]; + STELine* to = endLine == maxLine ? NULL : (*fLines)[endLine + 1]; BRect invalidRect(Bounds().left, from->origin + fTextRect.top, Bounds().right, to != NULL ? to->origin + fTextRect.top : fTextRect.bottom); @@ -4651,9 +4408,7 @@ BTextView::_HideCaret() } -/*! \brief Inverts the blinking caret status. - Hides the caret if it is being shown, and if it's hidden, shows it. -*/ +// Hides the caret if it is being shown, and if it's hidden, shows it. void BTextView::_InvertCaret() { @@ -4663,10 +4418,9 @@ BTextView::_InvertCaret() } -/*! \brief Place the dragging caret at the given offset. - \param offset The offset (zero based within the object's text) where to - place the dragging caret. If it's -1, hide the caret. -*/ +// Place the dragging caret at the given offset. +// offset The offset (zero based within the object's text) where to +// place the dragging caret. If it's -1, hide the caret. void BTextView::_DragCaret(int32 offset) { @@ -4808,14 +4562,13 @@ BTextView::_PerformMouseMoved(BPoint where, uint32 code) } -/*! \brief Tracks the mouse position, doing special actions like changing the - view cursor. - \param where The point where the mouse has moved. - \param message The dragging message, if there is any. - \param force Passed as second parameter of SetViewCursor() -*/ +// Tracks the mouse position, doing special actions like changing the +// view cursor. +// where The point where the mouse has moved. +// message The dragging message, if there is any. +// force Passed as second parameter of SetViewCursor() void -BTextView::_TrackMouse(BPoint where, const BMessage *message, bool force) +BTextView::_TrackMouse(BPoint where, const BMessage* message, bool force) { BRegion textRegion; GetTextRegion(fSelStart, fSelEnd, &textRegion); @@ -4830,9 +4583,7 @@ BTextView::_TrackMouse(BPoint where, const BMessage *message, bool force) } -/*! \brief Tracks the mouse position when the user is dragging some data. - \param where The point where the mouse has moved. -*/ +// Tracks the mouse position when the user is dragging some data. void BTextView::_TrackDrag(BPoint where) { @@ -4842,15 +4593,14 @@ BTextView::_TrackDrag(BPoint where) } -/*! \brief Function called to initiate a drag operation. -*/ +// Method called to initiate a drag operation. void BTextView::_InitiateDrag() { BMessage dragMessage(B_MIME_DATA); - BBitmap *dragBitmap = NULL; + BBitmap* dragBitmap = NULL; BPoint bitmapPoint; - BHandler *dragHandler = NULL; + BHandler* dragHandler = NULL; GetDragParameters(&dragMessage, &dragBitmap, &bitmapPoint, &dragHandler); SetViewCursor(B_CURSOR_SYSTEM_DEFAULT); @@ -4874,20 +4624,15 @@ BTextView::_InitiateDrag() } -/*! \brief Called when some data is dropped on the view. - \param inMessage The message which has been dropped. - \param where The location where the message has been dropped. - \param offset ? - \return \c true if the message was handled, \c false if not. -*/ +// Handles when some data is dropped on the view. bool -BTextView::_MessageDropped(BMessage *inMessage, BPoint where, BPoint offset) +BTextView::_MessageDropped(BMessage* message, BPoint where, BPoint offset) { - ASSERT(inMessage); + ASSERT(message); - void *from = NULL; + void* from = NULL; bool internalDrop = false; - if (inMessage->FindPointer("be:originator", &from) == B_OK + if (message->FindPointer("be:originator", &from) == B_OK && from == this && fSelEnd != fSelStart) internalDrop = true; @@ -4899,7 +4644,7 @@ BTextView::_MessageDropped(BMessage *inMessage, BPoint where, BPoint offset) _TrackMouse(where, NULL); // are we sure we like this message? - if (!AcceptsDrop(inMessage)) + if (!AcceptsDrop(message)) return false; int32 dropOffset = OffsetAt(where); @@ -4914,15 +4659,15 @@ BTextView::_MessageDropped(BMessage *inMessage, BPoint where, BPoint offset) } ssize_t dataLength = 0; - const char *text = NULL; + const char* text = NULL; entry_ref ref; - if (inMessage->FindData("text/plain", B_MIME_TYPE, (const void **)&text, + if (message->FindData("text/plain", B_MIME_TYPE, (const void**)&text, &dataLength) == B_OK) { - text_run_array *runArray = NULL; + text_run_array* runArray = NULL; ssize_t runLength = 0; if (fStylable) { - inMessage->FindData("application/x-vnd.Be-text_run_array", - B_MIME_TYPE, (const void **)&runArray, &runLength); + message->FindData("application/x-vnd.Be-text_run_array", + B_MIME_TYPE, (const void**)&runArray, &runLength); } _FilterDisallowedChars((char*)text, dataLength, runArray); @@ -4999,8 +4744,7 @@ BTextView::_PerformAutoScrolling() } -/*! \brief Updates the scrollbars associated with the object (if any). -*/ +// Updates the scrollbars associated with the object (if any). void BTextView::_UpdateScrollbars() { @@ -5038,8 +4782,7 @@ BTextView::_UpdateScrollbars() } -/*! \brief Scrolls by the given offsets -*/ +// Scrolls by the given offsets void BTextView::_ScrollBy(float horizontal, float vertical) { @@ -5048,9 +4791,7 @@ BTextView::_ScrollBy(float horizontal, float vertical) } -/*! \brief Scrolls to the given position, making sure not to scroll out of - bounds -*/ +// Scrolls to the given position, making sure not to scroll out of bounds. void BTextView::_ScrollTo(float x, float y) { @@ -5072,8 +4813,7 @@ BTextView::_ScrollTo(float x, float y) } -/*! \brief Autoresizes the view to fit the contained text. -*/ +// Autoresizes the view to fit the contained text. void BTextView::_AutoResize(bool redraw) { @@ -5114,11 +4854,7 @@ BTextView::_AutoResize(bool redraw) } -/*! \brief Creates a new offscreen BBitmap with an associated BView. - param padding Padding (?) - - Creates an offscreen BBitmap which will be used to draw. -*/ +// Creates a new offscreen BBitmap with an associated BView. void BTextView::_NewOffscreen(float padding) { @@ -5129,7 +4865,7 @@ BTextView::_NewOffscreen(float padding) BRect bitmapRect(0, 0, fTextRect.Width() + padding, fTextRect.Height()); fOffscreen = new BBitmap(bitmapRect, fColorSpace, true, false); if (fOffscreen != NULL && fOffscreen->Lock()) { - BView *bufferView = new BView(bitmapRect, "drawing view", 0, 0); + BView* bufferView = new BView(bitmapRect, "drawing view", 0, 0); fOffscreen->AddChild(bufferView); fOffscreen->Unlock(); } @@ -5137,8 +4873,7 @@ BTextView::_NewOffscreen(float padding) } -/*! \brief Deletes the textview's offscreen bitmap, if any. -*/ +// Deletes the textview's offscreen bitmap, if any. void BTextView::_DeleteOffscreen() { @@ -5149,9 +4884,8 @@ BTextView::_DeleteOffscreen() } -/*! \brief Creates a new offscreen bitmap, highlight the selection, and set the - cursor to B_CURSOR_I_BEAM. -*/ +// Creates a new offscreen bitmap, highlight the selection, and set the +// cursor to B_CURSOR_I_BEAM. void BTextView::_Activate() { @@ -5217,8 +4951,7 @@ BTextView::_Activate() } -/*! \brief Unhilights the selection, set the cursor to B_CURSOR_SYSTEM_DEFAULT. -*/ +// Unhilights the selection, set the cursor to B_CURSOR_SYSTEM_DEFAULT. void BTextView::_Deactivate() { @@ -5258,14 +4991,11 @@ BTextView::_Deactivate() } -/*! \brief Changes the passed font to be displayable by the object. - \param font A pointer to the font to normalize. - - Set font rotation to 0, removes any font flag, set font spacing - to \c B_BITMAP_SPACING and font encoding to \c B_UNICODE_UTF8 -*/ +// Changes the passed font to be displayable by the object. +// Set font rotation to 0, removes any font flag, set font spacing +// to B_BITMAP_SPACING and font encoding to B_UNICODE_UTF8 void -BTextView::_NormalizeFont(BFont *font) +BTextView::_NormalizeFont(BFont* font) { if (font) { font->SetRotation(0.0f); @@ -5278,11 +5008,11 @@ BTextView::_NormalizeFont(BFont *font) void BTextView::_SetRunArray(int32 startOffset, int32 endOffset, - const text_run_array *inRuns) + const text_run_array* runs) { - const int32 numStyles = inRuns->count; + const int32 numStyles = runs->count; if (numStyles > 0) { - const text_run *theRun = &inRuns->runs[0]; + const text_run* theRun = &runs->runs[0]; for (int32 index = 0; index < numStyles; index++) { int32 fromOffset = theRun->offset + startOffset; int32 toOffset = endOffset; @@ -5301,11 +5031,10 @@ BTextView::_SetRunArray(int32 startOffset, int32 endOffset, } -/*! \brief Returns a value which tells if the given character is a separator - character or not. - \param offset The offset where the wanted character can be found. - \return A value which represents the character's classification. -*/ +// Returns a value which tells if the given character is a separator +// character or not. +// offset The offset where the wanted character can be found. +// return A value which represents the character's classification. uint32 BTextView::_CharClassification(int32 offset) const { @@ -5369,11 +5098,9 @@ BTextView::_CharClassification(int32 offset) const } -/*! \brief Returns the offset of the next UTF8 character within the BTextView's - text. - \param offset The offset where to start looking. - \return The offset of the next UTF8 character. -*/ +// Returns the offset of the next UTF8 character within the BTextView's text. +// offset The offset where to start looking. +// return The offset of the next UTF8 character. int32 BTextView::_NextInitialByte(int32 offset) const { @@ -5387,11 +5114,10 @@ BTextView::_NextInitialByte(int32 offset) const } -/*! \brief Returns the offset of the previous UTF8 character within the - BTextView's text. - \param offset The offset where to start looking. - \return The offset of the previous UTF8 character. -*/ +// Returns the offset of the previous UTF8 character within the BTextView's +// text. +// offset The offset where to start looking. +// return The offset of the previous UTF8 character. int32 BTextView::_PreviousInitialByte(int32 offset) const { @@ -5410,8 +5136,8 @@ BTextView::_PreviousInitialByte(int32 offset) const bool -BTextView::_GetProperty(BMessage *specifier, int32 form, const char *property, - BMessage *reply) +BTextView::_GetProperty(BMessage* specifier, int32 form, const char* property, + BMessage* reply) { CALLED(); if (strcmp(property, "selection") == 0) { @@ -5432,7 +5158,7 @@ BTextView::_GetProperty(BMessage *specifier, int32 form, const char *property, specifier->FindInt32("index", &index); specifier->FindInt32("range", &range); - char *buffer = new char[range + 1]; + char* buffer = new char[range + 1]; GetText(index, range, buffer); reply->what = B_REPLY; @@ -5450,8 +5176,8 @@ BTextView::_GetProperty(BMessage *specifier, int32 form, const char *property, bool -BTextView::_SetProperty(BMessage *specifier, int32 form, const char *property, - BMessage *reply) +BTextView::_SetProperty(BMessage* specifier, int32 form, const char* property, + BMessage* reply) { CALLED(); if (strcmp(property, "selection") == 0) { @@ -5471,7 +5197,7 @@ BTextView::_SetProperty(BMessage *specifier, int32 form, const char *property, specifier->FindInt32("index", &index); specifier->FindInt32("range", &range); - const char *buffer = NULL; + const char* buffer = NULL; if (specifier->FindString("data", &buffer) == B_OK) InsertText(buffer, range, index, NULL); else @@ -5489,8 +5215,8 @@ BTextView::_SetProperty(BMessage *specifier, int32 form, const char *property, bool -BTextView::_CountProperties(BMessage *specifier, int32 form, - const char *property, BMessage *reply) +BTextView::_CountProperties(BMessage* specifier, int32 form, + const char* property, BMessage* reply) { CALLED(); if (strcmp(property, "Text") == 0) { @@ -5504,16 +5230,14 @@ BTextView::_CountProperties(BMessage *specifier, int32 form, } -/*! \brief Called when the object receives a B_INPUT_METHOD_CHANGED message. - \param message A B_INPUT_METHOD_CHANGED message. -*/ +// Called when the object receives a B_INPUT_METHOD_CHANGED message. void -BTextView::_HandleInputMethodChanged(BMessage *message) +BTextView::_HandleInputMethodChanged(BMessage* message) { // TODO: block input if not editable (Andrew) ASSERT(fInline != NULL); - const char *string = NULL; + const char* string = NULL; if (message->FindString("be:string", &string) < B_OK || string == NULL) return; @@ -5611,9 +5335,7 @@ BTextView::_HandleInputMethodChanged(BMessage *message) } -/*! \brief Called when the object receives a B_INPUT_METHOD_LOCATION_REQUEST - message. -*/ +// Called when the object receives a B_INPUT_METHOD_LOCATION_REQUEST message. void BTextView::_HandleInputMethodLocationRequest() { @@ -5641,15 +5363,14 @@ BTextView::_HandleInputMethodLocationRequest() } -/*! \brief Tells the input server method addon to stop the current transaction. -*/ +// Tells the input server method addon to stop the current transaction. void BTextView::_CancelInputMethod() { if (!fInline) return; - InlineInput *inlineInput = fInline; + InlineInput* inlineInput = fInline; fInline = NULL; if (inlineInput->IsActive() && Window()) { @@ -5665,12 +5386,11 @@ BTextView::_CancelInputMethod() } -/*! \brief Returns the line number for the character at the given offset. - N.B.: this will never return the last line (use LineAt() if you - need to be correct about that) - \param offset The offset of the wanted character. - \return A line number. -*/ +// Returns the line number for the character at the given offset. +// N.B.: this will never return the last line (use LineAt() if you +// need to be correct about that) +// offset The offset of the wanted character. +// return A line number. int32 BTextView::_LineAt(int32 offset) const { @@ -5678,12 +5398,11 @@ BTextView::_LineAt(int32 offset) const } -/*! \brief Returns the line number for the given point. - N.B.: this will never return the last line (use LineAt() if you - need to be correct about that) - \param point A point. - \return A line number. -*/ +// Returns the line number for the given point. +// N.B.: this will never return the last line (use LineAt() if you +// need to be correct about that) +// point A point. +// return A line number. int32 BTextView::_LineAt(const BPoint& point) const { @@ -5691,10 +5410,8 @@ BTextView::_LineAt(const BPoint& point) const } -/*! \brief Determines if the given offset is on the empty line at the end of - the buffer. - \param offset The offset that shall be checked. -*/ +// Returns whether or not the given offset is on the empty line at the end of +// the buffer. bool BTextView::_IsOnEmptyLastLine(int32 offset) const { @@ -5704,14 +5421,14 @@ BTextView::_IsOnEmptyLastLine(int32 offset) const void -BTextView::_ApplyStyleRange(int32 fromOffset, int32 toOffset, uint32 inMode, - const BFont *inFont, const rgb_color *inColor, bool syncNullStyle) +BTextView::_ApplyStyleRange(int32 fromOffset, int32 toOffset, uint32 mode, + const BFont* font, const rgb_color* color, bool syncNullStyle) { - if (inFont != NULL) { + if (font != NULL) { // if a font has been given, normalize it - BFont font = *inFont; - _NormalizeFont(&font); - inFont = &font; + BFont normalized = *font; + _NormalizeFont(&normalized); + font = &normalized; } if (!fStylable) { @@ -5723,15 +5440,15 @@ BTextView::_ApplyStyleRange(int32 fromOffset, int32 toOffset, uint32 inMode, if (syncNullStyle) fStyles->SyncNullStyle(fromOffset); - fStyles->SetStyleRange(fromOffset, toOffset, fText->Length(), inMode, - inFont, inColor); + fStyles->SetStyleRange(fromOffset, toOffset, fText->Length(), mode, + font, color); } float BTextView::_NullStyleHeight() const { - const BFont *font = NULL; + const BFont* font = NULL; fStyles->GetNullStyle(&font, NULL); font_height fontHeight; @@ -5754,7 +5471,7 @@ BTextView::_ShowContextMenu(BPoint where) bool canEdit = IsEditable(); int32 length = TextLength(); - BPopUpMenu *menu = new BPopUpMenu(B_EMPTY_STRING, false, false); + BPopUpMenu* menu = new BPopUpMenu(B_EMPTY_STRING, false, false); BLayoutBuilder::Menu<>(menu) .AddItem(TRANSLATE("Undo"), B_UNDO/*, 'Z'*/) @@ -5798,7 +5515,7 @@ BTextView::_FilterDisallowedChars(char* text, ssize_t& length, while (stringIndex < runArray->runs[i].offset && stringIndex < length) { if (fDisallowedChars->HasItem( - reinterpret_cast(text[stringIndex]))) { + reinterpret_cast(text[stringIndex]))) { memmove(text + stringIndex, text + stringIndex + 1, length - stringIndex - 1); length--; @@ -5812,7 +5529,7 @@ BTextView::_FilterDisallowedChars(char* text, ssize_t& length, while (stringIndex < length) { if (fDisallowedChars->HasItem( - reinterpret_cast(text[stringIndex]))) { + reinterpret_cast(text[stringIndex]))) { memmove(text + stringIndex, text + stringIndex + 1, length - stringIndex - 1); length--; @@ -5821,6 +5538,7 @@ BTextView::_FilterDisallowedChars(char* text, ssize_t& length, } } + // #pragma mark - BTextView::TextTrackState @@ -5846,7 +5564,7 @@ BTextView::TextTrackState::~TextTrackState() void -BTextView::TextTrackState::SimulateMouseMovement(BTextView *textView) +BTextView::TextTrackState::SimulateMouseMovement(BTextView* textView) { BPoint where; uint32 buttons; @@ -5867,4 +5585,3 @@ B_IF_GCC_2(InvalidateLayout__9BTextViewb, _ZN9BTextView16InvalidateLayoutEb)( view->Perform(PERFORM_CODE_LAYOUT_INVALIDATED, &data); } - From d58ff0b187b681a263d75b1c37821815f583b8c5 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 16 Mar 2013 17:22:56 -0400 Subject: [PATCH 046/122] Add BTextView class docs --- docs/user/interface/TextView.dox | 1304 ++++++++++++++++++++++++++++++ 1 file changed, 1304 insertions(+) create mode 100644 docs/user/interface/TextView.dox diff --git a/docs/user/interface/TextView.dox b/docs/user/interface/TextView.dox new file mode 100644 index 0000000000..6a5dc83293 --- /dev/null +++ b/docs/user/interface/TextView.dox @@ -0,0 +1,1304 @@ +/* + * Copyright 2001-2013 Haiku, Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Stephan Aßmus + * Stefano Ceccherini (stefano.ceccherini@gmail.com) + * John Scipione, jscipione@gmail.com + * + * Corresponds to: + * headers/os/interface/TextView.h hrev45377 + * src/kits/interface/TextView.cpp hrev45377 + */ + + +/*! + \file TextView.h + \ingroup interface + \ingroup libbe + \brief Provides the BTextView class and associated structs. +*/ + + +/*! + \struct text_run + \ingroup interface + \ingroup libbe + \brief text run struct +*/ + + +/*! + \var text_run::offset +*/ + + +/*! + \var text_run::font +*/ + + +/*! + \var text_run::color +*/ + + +/*! + \struct text_run_array + \ingroup interface + \ingroup libbe + \brief text run array struct +*/ + + +/*! + \var text_run_array::count +*/ + + +/*! + \var text_run_array::runs +*/ + + +/*! + \enum undo_state + \ingroup interface + + Undo state flags. +*/ + + +/*! + \var undo_state B_UNDO_UNAVAILABLE +*/ + + +/*! + \var undo_state B_UNDO_TYPING +*/ + + +/*! + \var undo_state B_UNDO_CUT +*/ + + +/*! + \var undo_state B_UNDO_PASTE +*/ + + +/*! + \var undo_state B_UNDO_CLEAR +*/ + + +/*! + \var undo_state B_UNDO_DROP +*/ + + +/*! + \class BTextView + \ingroup interface + \ingroup libbe + \brief Displays and manipulates styled text. +*/ + + +/*! + \fn BTextView::BTextView(BRect frame, const char* name, BRect textRect, + uint32 resizeMask, uint32 flags) + \brief Creates a new BTextView object. + + \param frame The BTextView frame rectangle. + \param name The name of the object. + \param textRect The area of the text within the BTextView object. + \param resizeMask Resizing mask, passed to BView. + \param flags \a flags passed to BView, \c B_FRAME_EVENTS, + \c B_PULSE_NEEDED and \c B_INPUT_METHOD_AWARE are always set. +*/ + + +/*! + \fn BTextView::BTextView(BRect frame, const char* name, BRect textRect, + const BFont* initialFont, const rgb_color* initialColor, + uint32 resizeMask, uint32 flags) + \brief Creates a new BTextView object and sets the initial font and color. + + \param frame The BTextView frame rectangle. + \param name The name of the object. + \param textRect The area of the text within the BTextView object. + \param initialFont The text font to display. + \param initialColor The text color to display. + \param resizeMask Resizing mask, passed to BView. + \param flags \a flags passed to BView, \c B_FRAME_EVENTS, + \c B_PULSE_NEEDED and \c B_INPUT_METHOD_AWARE are always set. +*/ + + +/*! + \fn BTextView::BTextView(const char* name, uint32 flags) + \brief Creates a BTextView object, dynamic layout version. + + \param name The name of the object. + \param flags \a flags passed to BView, \c B_FRAME_EVENTS, + \c B_PULSE_NEEDED and \c B_INPUT_METHOD_AWARE are always set. +*/ + + +/*! + \fn BTextView::BTextView(const char* name, const BFont* initialFont, + const rgb_color* initialColor, uint32 flags) + \brief Creates a new BTextView object and sets the initial font and color, + dynamic layout version. + + \param name The name of the object. + \param initialFont The text font to display. + \param initialColor The text color to display. + \param flags \a flags passed to BView, \c B_FRAME_EVENTS, + \c B_PULSE_NEEDED and \c B_INPUT_METHOD_AWARE are always set. +*/ + + +/*! + \fn BTextView::BTextView(BMessage* archive) + \brief Creates a BTextView object from the passed in \a archive. + + \param archive The BMessage object from which the object is created. +*/ + + +/*! + \fn BTextView::~BTextView() + \brief Frees the memory allocated and destroys the object. +*/ + + +/*! + \name Archiving +*/ + + +//! @{ + + +/*! + \fn BArchivable* BTextView::Instantiate(BMessage* archive) + \brief Instantiates a BTextView object from the passed in \a archive. + + \param archive The BMessage object that the object is created from. + + \return A new BTextView object as a BArchivable. +*/ + + +/*! + \fn status_t BTextView::Archive(BMessage* data, bool deep) const + \brief Archives the object into the \a data message. + + \param data A pointer to the BMessage object to archive the object into. + \param deep Whether or not to archive child views as well. + + \return A status code, \c B_OK if everything went well or an error code + otherwise. + \retval B_OK The object was archived. + \retval B_NO_MEMORY Ran out of memory while archiving the object. +*/ + + +//! @} + + +/*! + \name Hook methods +*/ + + +//! @{ + + +/*! + \fn void BTextView::AttachedToWindow() + \brief Hook method that is called when the BTextView is added to the + view hierarchy. + + Sets the pulse rate to 2 per second and adjust scrollbars if needed. +*/ + + +/*! + \fn void BTextView::DetachedFromWindow() + \brief Hook method that is called when the BTextView is removed from the + view hierarchy. +*/ + + +/*! + \fn void BTextView::Draw(BRect updateRect) + \brief Hook method that is called to draw the contents of the BTextView. + + \param updateRect The rectangular area to be redrawn. +*/ + + +/*! + \fn void BTextView::MouseDown(BPoint where) + \brief Hook method that is called when a mouse button is pushed down while + the cursor is contained in the view. + + \param where The location where the mouse button was pushed down. +*/ + + +/*! + \fn void BTextView::MouseUp(BPoint where) + \brief Hook method that is called when a mouse button is released while + the cursor is contained in the view. + + \note This method stops asynchronous mouse tracking. + + \param where The location where the mouse button was released. +*/ + + +/*! + \fn void BTextView::MouseMoved(BPoint where, uint32 code, + const BMessage* message) + \brief Hook method that is called whenever the mouse cursor enters, exits + or moves inside the view. + + \param where The point where the mouse cursor has moved to. + \param code A code which indicates if the mouse entered or exited the view. + \param message A message containing drag and drop information. +*/ + + +/*! + \fn void BTextView::WindowActivated(bool state) + \brief Hook method that is called when the window becomes the active window + or gives up that status. + + \param state If \c true, window has just become active. If \c false the + window has just become inactive. +*/ + + +/*! + \fn void BTextView::KeyDown(const char* bytes, int32 numBytes) + \brief Hook method that is called when a key is pressed while the view is + the focus view of the active window. +*/ + + +/*! + \fn void BTextView::Pulse() + \brief Hook method that is called at a set interval. + + This method is used to make the I-beam blink. +*/ + + +/*! + \fn void BTextView::FrameResized(float width, float height) + \brief Hook method that is called when the frame is resized. + + This method updates any associated scrollbars. + + \param width The new view width. + \param height The new view height. +*/ + + +/*! + \fn void BTextView::MessageReceived(BMessage* message) + \brief Hook method that is called each time the BTextView receives + a message. + + \param message The received message. +*/ + + +//! @} + + +/*! + \fn void BTextView::MakeFocus(bool focusState) + \brief Highlight or unhighlight the selection when the view gets + or loses its focus state. + + \param focusState \c true to get focus or \c false to lose it. +*/ + + +/*! + \fn BHandler* BTextView::ResolveSpecifier(BMessage* message, int32 index, + BMessage* specifier, int32 what, const char* property) + \brief Returns the proper handler for the passed in scripting \a message. + + \param message The scripting message to determine the handler. + \param index The index of the specifier. + \param specifier The message which contains the specifier. + \param what The 'what' field of the specifier message. + \param property The name of the target property. + + \return The proper BHandler for the passed in scripting \a message. +*/ + + +/*! + \name SetText + + The BTextView doesn't keep a reference to the \a text buffer, \a file, or + \a runs array you pass in, you can \c delete them after SetText() returns. + + If the BTextView supports multiple character styles and a + \c text_run_array is passed in it will be used to set the font and color + formats of the new text. + + If the BTextView does not support multiple character styles, then the + \c text_run_array parameter is ignored. + + \see IsStylable() +*/ + + +//! @{ + + +/*! + \fn void BTextView::SetText(const char* text, const text_run_array* runs) + \brief Copies text from the \a text buffer replacing any text currently + set in the BTextView with the font and color formats set by \a runs. + + \param text The text to set. + \param runs The text styling to set, can be \c NULL. +*/ + + +/*! + \fn void BTextView::SetText(const char* text, int32 length, + const text_run_array* runs) + \brief Copies text from the \a text buffer up to \a length characters + replacing any text currently set in the BTextView with the font and + color formats set by \a runs. + + \a text must be at least \a length characters long. \a length may be set + to 0 to clear the text from the BTextView. + + \param text The text to set. + \param length The number of bytes of text to set. + \param runs The text styling to use, can be \c NULL. +*/ + + +/*! + \fn void BTextView::SetText(BFile* file, int32 offset, int32 length, + const text_run_array* runs) + \brief Copies text from the \a file starting at the given \a offset up to + \a length characters replacing any text currently set in the + BTextView with the font and color formats set by \a runs. + + \param file The file to set the text from. + \param offset The position in the file to start reading text. + \param length The number of bytes of text to read from the file. + \param runs The text styling to use, can be \c NULL. +*/ + +//! @} + + +/*! + \name Insert + + The BTextView doesn't keep a reference to the \a text buffer or + \a runs array you pass in, you can \c delete them after Insert() returns. + + If the BTextView supports multiple character styles and a + \c text_run_array is passed in it will be used to set the font and color + formats of the new text. + + If the BTextView does not support multiple character styles, then the + \c text_run_array parameter is ignored. + + \see IsStylable() +*/ + + +/*! + \fn void BTextView::Insert(const char* text, const text_run_array* runs) + \brief Inserts text from the \a text buffer at the end of the BTextView + with the font and color formats set by \a runs. + + \param text The text to insert. + \param runs The text styling to set, can be \c NULL. +*/ + + +/*! + \fn void BTextView::Insert(const char* text, int32 length, + const text_run_array* runs) + \brief Inserts text from the \a text buffer up to \a length characters + at the end of the BTextView with the font and color formats set by + \a runs. + + \param text The text to insert. + \param length The number of bytes of text to insert. + \param runs The text styling to use, can be \c NULL. +*/ + + +/*! + \fn void BTextView::Insert(int32 offset, const char* text, int32 length, + const text_run_array* runs) + \brief Inserts text starting at the given \a offset from the \a text buffer + up to \a length characters into the BTextView with the font and + color formats set by \a runs. + + \param offset The position to start inserting text. + \param text The text to set. + \param length The number of bytes of text to insert. + \param runs The text styling to use, can be \c NULL. +*/ + + +//! @{ + + +/*! + \fn void BTextView::SetText(const char* text, const text_run_array* runs) +*/ + + +/*! + \fn void BTextView::SetText(const char* text, int32 length, + const text_run_array* runs) +*/ + + +/*! + \fn void BTextView::SetText(BFile* file, int32 offset, int32 length, + const text_run_array* runs) +*/ + +//! @} + + +/*! + \name Delete +*/ + + +//! @{ + + +/*! + \fn void BTextView::Delete() + \brief Deletes the text within the current selection. +*/ + + +/*! + \fn void BTextView::Delete(int32 startOffset, int32 endOffset) + \brief Deletes the text enclosed within the given offsets. + \param startOffset The offset where the text to delete starts. + \param endOffset The offset where the text to delete ends. +*/ + + +//! @} + + +/*! + \name Text information +*/ + + +//! @{ + + +/*! + \fn const char* BTextView::Text() const + \brief Returns the BTextView text as a byte array. + + \warning It is possible that the BTextView object had to do some operations + on the text, to be able to return it as a C string. If you need to + call Text() repeatedly, you'd better use GetText() instead. + + \returns A pointer to the text as a byte array. +*/ + + +/*! + \fn int32 BTextView::TextLength() const + \brief Returns the text length of the BTextView text. + + \return The text length of the BTextView text. +*/ + + +/*! + \fn BTextView::GetText(int32 offset, int32 length, char* buffer) const + \brief Fills out \a buffer with the text of the BTextView starting at + \a offset and grabbing at most \a length bytes. + + You must provide a \a buffer that is large enough to hold at least + \a length bytes. + + \param offset Where to start grabbing text from. + \param length The number of bytes of text to grab. + \param buffer A \a buffer to write the text to. + + \see BString::GetString(int32 offset, int32 length, char* buffer) +*/ + + +/*! + \fn uchar BTextView::ByteAt(int32 offset) const + \brief Returns the character at the given offset. + + \param offset The offset to the desired character. + + \return The character at the given offset. +*/ + + +/*! + \fn int32 BTextView::CountLines() const + \brief Returns the number of lines that the BTextView object contains. + + \return The number of lines contained in the BTextView object. +*/ + + +/*! + \fn int32 BTextView::CurrentLine() const + \brief Returns the index of the current line. + + \return The index of the current line. +*/ + + +/*! + \fn void BTextView::GoToLine(int32 index) + \brief Moves the caret to the specified line. + + \param index The index of the line. +*/ + + +//! @} + + +/*! + \name Clipboard +*/ + + +//! @{ + + +/*! + \fn void BTextView::Cut(BClipboard* clipboard) + \brief Moves the current selection to the clipboard. + + \param clipboard The clipboard object to move the text to. +*/ + + +/*! + \fn void BTextView::Copy(BClipboard* clipboard) + \brief Copies the current selection to the clipboard. + + \param clipboard The clipboard object to copy the selected text to. +*/ + + +/*! + \fn void BTextView::Paste(BClipboard* clipboard) + \brief Copy the text contained in the clipboard to the BTextView. + + \param clipboard A pointer to the clipboard. +*/ + + +/*! + \fn bool BTextView::AcceptsPaste(BClipboard* clipboard) + \brief Returns whether or not the BTextView can accept the + \a clipboard data. + + \returns \c true if the BTextView can accept the pasted clipboard data, + \c false otherwise. +*/ + + +/*! + \fn bool BTextView::AcceptsDrop(const BMessage* message) + \brief Returns whether or not the BTextView can accept the dropped + \a message data. + + \returns \c true if the BTextView can accept the dropped message data, + \c false otherwise. +*/ + + +//! @} + + +/*! + \name Selection +*/ + + +//! @{ + + +/*! + \fn void BTextView::Clear() + \brief Deletes the currently selected text. +*/ + + +/*! + \fn void BTextView::Select(int32 startOffset, int32 endOffset) + \brief Selects the text contained within the given offsets. + + \param startOffset The offset where the text to select starts. + \param endOffset The offset where the text to select ends. +*/ + + +/*! + \fn void BTextView::SelectAll() + \brief Selects all text contained in the BTextView. +*/ + + +/*! + \fn void BTextView::GetSelection(int32* _start, int32* _end) const + \brief Fills out \a _start and \a _end with the start and end offsets of + the current selection. + + \param _start A pointer to an int32 to contain the selection's start + offset. + \param _end A pointer to an int32 to contain the selection's end offset. +*/ + + +/*! + \fn text_run_array* BTextView::RunArray(int32 startOffset, int32 endOffset, + int32* _size) const + \brief Returns a \c text_run_array for the text within the given offsets. + + The returned \c text_run_array belongs to the caller, so you must + free it once you no longer need it. + + \param startOffset The text start offset. + \param endOffset The text end offset. + \param _size A pointer to an int32 to fill out the run array size. + + \return A \c text_run_array for the text in the given offsets. +*/ + + + +/*! + \fn int32 BTextView::LineAt(int32 offset) const + \brief Returns the line number of the character at the given offset. + + \param offset The offset of the wanted character. + + \return The line number of the character at the given offset. +*/ + + +/*! + \fn int32 BTextView::LineAt(BPoint point) const + \brief Returns the line number for the passed point. + + \param point The point to get the line number of. + \return The line number for the passed in point. +*/ + + +/*! + \fn BPoint BTextView::PointAt(int32 offset, float* _height) const + \brief Returns the location of the character at the given offset. + + \param offset The offset of the character. + \param _height A pointer to write the height of the character. + + \return A BPoint object set to the location of the character. +*/ + + +/*! + \fn int32 BTextView::OffsetAt(BPoint point) const + \brief Returns the offset at the passed in point. + + \param point The desired point. + + \return The offset for the passed in point. +*/ + + + +/*! + \fn int32 BTextView::OffsetAt(int32 line) const + \brief Returns the offset of the given line. + + \param line A line number. + + \return The offset of the passed line. +*/ + + +/*! + \fn void BTextView::FindWord(int32 offset, int32* _fromOffset, + int32* _toOffset) + \brief Fills out \a _fromOffset and \a _toOffset for a sequence of + character that qualifies as a word starting at \a offset. + + A word is a sequence of characters that the user can select by double- + clicking. + + \param offset The offset where to start looking. + \param _fromOffset A pointer to an integer to write the starting offset. + \param _toOffset A pointer to an integer to write the ending offset. +*/ + + +/*! + \fn bool BTextView::CanEndLine(int32 offset) + \brief Returns whether or not the character at the given offset can be + the last character of a line. + + \param offset The offset of the character. + + \returns \c true if the character can be the last character of a line, + \c false otherwise. +*/ + + +/*! + \fn float BTextView::LineWidth(int32 lineNum) const + \brief Returns the width of the line at the given index. + + \param lineNum The index of the line to get the width of. +*/ + + +/*! + \fn float BTextView::LineHeight(int32 lineNum) const + \brief Returns the height of the line at the given index. + + \param lineNum The index of the line to get the height of. +*/ + + +/*! + \fn float BTextView::TextHeight(int32 startLine, int32 endLine) const + \brief Returns the height of the text enclosed within the given lines. + + \param startLine The index of the starting line. + \param endLine The index of the ending line. +*/ + + +/*! + \fn void BTextView::Highlight(int32 startOffset, int32 endOffset) + \brief Highlight the text enclosed within the given offsets. + + \param startOffset The start offset of the text to highlight. + \param endOffset The end offset of the text to highlight. +*/ + + +//! @} + + +/*! + \name Scrolling +*/ + + +//! @{ + + +/*! + \fn void BTextView::ScrollToOffset(int32 offset) + \brief Scrolls the text so that the character at \a offset is visible. + + \param offset The offset of the character to scroll to. +*/ + + +/*! + \fn void BTextView::ScrollToSelection() + \brief Scrolls the text so that the character that begins the selection + is visible. +*/ + + +//! @} + + +/*! + \name TextRect +*/ + + +//! @{ + + +/*! + \fn void BTextView::SetTextRect(BRect rect) + \brief Sets the object's text frame to the passed in \a rect. + + \param rect A BRect object to set the text frame to. +*/ + + +/*! + \fn BRect BTextView::TextRect() const + \brief Returns the BTextView's text frame. + + \return The BTextView's text frame. +*/ + + +//! @} + + +/*! + \name Insets +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetInsets(float left, float top, float right, + float bottom) + \brief Sets the insets within the bounds for the object's text frame. + + \note Insets cannot be negative, will result in 0 inset. + + \param left The left inset to set. + \param top The top inset to set. + \param right The right inset to set. + \param bottom The bottom inset to set. +*/ + + +/*! + \fn void BTextView::GetInsets(float* _left, float* _top, float* _right, + float* _bottom) const + \brief Fills out the parameters with the objects's text insets. + + \param _left A pointer to set to the frame's left inset. + \param _top A pointer to set to the frame's top inset. + \param _right A pointer to set to the frame's right inset. + \param _bottom A pointer to set to the frame's bottom inset. +*/ + + + +//! @} + + +/*! + \name Stylable +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetStylable(bool stylable) + \brief Sets whether or not the object accepts multiple character styles. + + \param stylable Pass in \c true to accept multiple character styles, + \c false to NOT accept multiple character styles +*/ + + +/*! + \fn bool BTextView::IsStylable() const + \brief Returns whether or not the object is stylable. + + If the object is stylable, it can show multiple fonts symultaneously. + + \return \c true if the object is stylable, \c false otherwise. +*/ + + +//! @} + + +/*! + \name Tab width +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetTabWidth(float width) + \brief Sets the distance between tab stops in pixels. + + \param width The distance in pixel between tab stops to set. +*/ + + +/*! + \fn float BTextView::TabWidth() const + \brief Returns the tab width of the BTextView. + + \return The tab width of the BTextView. +*/ + + +//! @} + + +/*! + \name Selectable state +*/ + + +//! @{ + + + +/*! + \fn void BTextView::MakeSelectable(bool selectable) + \brief Sets whether or not the text is selectable. + + \param selectable Pass in \c true to set the text to be selectable, + \c false to set the text to be not selectable. +*/ + + +/*! + \fn bool BTextView::IsSelectable() const + \brief Returns whether or not the text is selectable. + + \return \c true if the text is selectable, + \c false if the text is not selectable. +*/ + + +//! @} + + +/*! + \name Editable state +*/ + + +//! @{ + + + +/*! + \fn void BTextView::MakeEditable(bool editable) + \brief Sets whether or not the text is editable. + + \param editable Pass in \c true to set the text to be editable, + \c false to set the object to be not editable. +*/ + + +/*! + \fn bool BTextView::IsEditable() const + \brief Returns whether or not the text is editable. + + \return \c true if the text is editable, + \c false if the text is not editable. +*/ + + +//! @} + + +/*! + \name Word wrap +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetWordWrap(bool wrap) + \brief Activate or deactivate word wrapping mode. + + \param wrap Pass in \c true to turn on word wrapping mode, + \c false to turn off word wrapping mode. +*/ + + +/*! + \fn bool BTextView::DoesWordWrap() const + \brief Returns whether or not word wrapping is activated. + + \return \c true if word wrapping is activated, \c false is word wrapping + if not activated. +*/ + + +//! @} + + +/*! + \name Max bytes +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetMaxBytes(int32 max) + \brief Sets the maximum number of bytes that the BTextView can contain. + + \param max The maximum number of bytes to set. +*/ + + +/*! + \fn int32 BTextView::MaxBytes() const + \brief Returns the maximum number of bytes that the BTextView can contain. + + \return the maximum number of bytes that the BTextView can contain. +*/ + + +//! @} + + +/*! + \name Character filtering +*/ + + +//! @{ + + + +/*! + \fn void BTextView::DisallowChar(uint32 character) + \brief Adds the \a character to the disallowed characters list. + + After this method returns, the \a character won't be accepted + by the textview anymore. + + \param character The character to disallow. +*/ + + +/*! + \fn void BTextView::AllowChar(uint32 character) + \brief Removes the \a character from the disallowed characters list. + + After this method returns, the \a character will be accepted + by the textview. + + \param character The character to allow. +*/ + + +//! @} + + +/*! + \name Alignment +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetAlignment(alignment flag) + \brief Sets the way text is aligned within the frame. + + Choices are: + - \c B_ALIGN_LEFT + - \c B_ALIGN_RIGHT + - \c B_ALIGN_CENTER + + \param flag The text alignment to set. +*/ + + +/*! + \fn alignment BTextView::Alignment() const + \brief Returns the current text alignment. + + \return The current alignment flag. +*/ + + +//! @} + + +/*! + \name Auto-indent +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetAutoindent(bool state) + \brief Sets whether or not new lines of text are automatically indented. + + \param state Pass in \c true to automatically indent the text, + \c false to turn off automatic text indenting. +*/ + + +/*! + \fn bool BTextView::DoesAutoindent() const + \brief Returns whether or not automatic indenting is active. + + \return \c true if automatic indenting is activated, \c false otherwise. +*/ + + +//! @} + + +/*! + \name Color space +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetColorSpace(color_space colors) + \brief Set the color space of the offscreen BBitmap object. + + \param colors The colorspace to set on the offscreen BBitmap object. +*/ + + +/*! + \fn color_space BTextView::ColorSpace() const + \brief Returns the colorspace set to the offscreen BBitmap object. + + \return The colorspace of the offscreen BBitmap object. +*/ + + +//! @} + + +/*! + \name Resizable +*/ + + +//! @{ + + + +/*! + \fn void BTextView::MakeResizable(bool resize, BView* resizeView) + \brief Activates and deactivates automatic resizing. + + The resizing mechanism is alternative to BView resizing. The container + view (the one passed to this function) should not automatically resize + itself when the parent is resized. + + \param resize Pass in \c true to set the the BTextView to automatically + resize itself, \c false to disable automatic resizing. + \param resizeView The BTextView object's parent view that resizes itself. +*/ + + +/*! + \fn bool BTextView::IsResizable() const + \brief Returns whether or not the object is resizable. + + \returns \c true if the object is resizable, \c false otherwise. +*/ + + +//! @} + + +/*! + \name Undo state +*/ + + +//! @{ + + + +/*! + \fn void BTextView::SetDoesUndo(bool undo) + \brief Enables and disables the undo mechanism. + + \param undo Pass in \c true to enable the undo mechanism, + \c false to disable it. +*/ + + +/*! + \fn bool BTextView::DoesUndo() const + \brief Returns whether or not the undo mechanism is enabled. + + \return \c true if undo is enabled, \c false otherwise. +*/ + + +//! @} + + +/*! + \name Hide typing +*/ + + +//! @{ + + + +/*! + \fn void BTextView::HideTyping(bool enabled) + \brief Enables and disables type hiding. + + \param enabled Pass in \c true to enable type hiding, + \c false to disable it. +*/ + + +/*! + \fn bool BTextView::IsTypingHidden() const + \brief Returns whether or not typing is hidden. + + \return \c true if typing is hidden, \c false otherwise. +*/ + + +//! @} From ef601541236eb7e08aaaf08ce3ecec96b4459788 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Fri, 15 Mar 2013 20:48:52 +0100 Subject: [PATCH 047/122] Handle font style on loading default Terminal preferences Fix the PrefHandler::_ConfirmFont to take into account not only the font family but the font style too. This improves the popup menu checkmark synchronization in the Preferences View. This problem can be reproduced on very first start of application without previously stored Terminal settings. Default family/style for this case is currently defined as "Courier 19BT"/"Regular" but default fixed font has correspondently "DejaVu Sans Mono"/"Book". Previous version of _ConfirmFont() process only the family and left the style in default "Regular" one. So opening Preferences View and attempting to set the checkmark on corresponding family/style menuitem was usually failed. --- src/apps/terminal/PrefHandler.cpp | 35 ++++++++++++++++++------------- src/apps/terminal/PrefHandler.h | 2 +- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index 3f75d18cd4..d897b9db76 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -105,7 +105,7 @@ PrefHandler::PrefHandler() GetDefaultPath(path); OpenText(path.Path()); - _ConfirmFont(PREF_HALF_FONT_FAMILY, be_fixed_font); + _ConfirmFont(be_fixed_font); } @@ -377,29 +377,34 @@ PrefHandler::IsEmpty() const void -PrefHandler::_ConfirmFont(const char *key, const BFont *fallback) +PrefHandler::_ConfirmFont(const BFont *fallbackFont) { - int32 count = count_font_families(); - const char *font = getString(key); - if (font == NULL) - count = 0; - font_family family; + font_style style; - for (int32 i = 0; i < count; i++) { - if (get_font_family(i, &family) != B_OK) + const char *prefFamily = getString(PREF_HALF_FONT_FAMILY); + int32 familiesCount = (prefFamily != NULL) ? count_font_families() : 0; + + for (int32 i = 0; i < familiesCount; i++) { + if (get_font_family(i, &family) != B_OK + || strcmp(family, prefFamily) != 0) continue; - if (strcmp(family, font) == 0) { - // found font family: we can safely use this font - return; + const char *prefStyle = getString(PREF_HALF_FONT_STYLE); + int32 stylesCount = (prefStyle != NULL) ? count_font_styles(family) : 0; + + for (int32 j = 0; j < stylesCount; j++) { + // check style if we can safely use this font + if (get_font_style(family, j, &style) == B_OK + && strcmp(style, prefStyle) == 0) + return; } } // use fall-back font - - fallback->GetFamilyAndStyle(&family, NULL); - setString(key, family); + fallbackFont->GetFamilyAndStyle(&family, &style); + setString(PREF_HALF_FONT_FAMILY, family); + setString(PREF_HALF_FONT_STYLE, style); } diff --git a/src/apps/terminal/PrefHandler.h b/src/apps/terminal/PrefHandler.h index 83c565dc45..55014c23ea 100644 --- a/src/apps/terminal/PrefHandler.h +++ b/src/apps/terminal/PrefHandler.h @@ -72,7 +72,7 @@ class PrefHandler { static status_t GetDefaultPath(BPath& path); private: - void _ConfirmFont(const char *key, const BFont *fallback); + void _ConfirmFont(const BFont *fallbackFont); status_t _LoadFromDefault(const pref_defaults* defaults = NULL); status_t _LoadFromTextFile(const char * path); From 15e83c4548b18194e1e707b31883e54d2fad1338 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Fri, 15 Mar 2013 21:18:09 +0100 Subject: [PATCH 048/122] Omit Terminal Id title in case single app instance running Hide the current index of Terminal window from it's title if only ony instance of the Terminal application is running in the system. Fixes #9530. --- src/apps/terminal/TermWindow.cpp | 3 ++- src/apps/terminal/TitlePlaceholderMapper.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 3703ec21ce..1e7987e888 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -1798,7 +1798,8 @@ TermWindow::_UpdateSessionTitle(int32 index) // evaluate the window title pattern WindowTitlePlaceholderMapper windowMapper(shellInfo, activeProcessInfo, - fTerminalRoster.ID() + 1, sessionTitle); + fTerminalRoster.CountTerminals() > 1 + ? fTerminalRoster.ID() + 1 : 0, sessionTitle); const BString& windowTitle = PatternEvaluator::Evaluate(fTitle.pattern, windowMapper); diff --git a/src/apps/terminal/TitlePlaceholderMapper.cpp b/src/apps/terminal/TitlePlaceholderMapper.cpp index b5ec9b4138..9cac1b51c8 100644 --- a/src/apps/terminal/TitlePlaceholderMapper.cpp +++ b/src/apps/terminal/TitlePlaceholderMapper.cpp @@ -90,7 +90,8 @@ WindowTitlePlaceholderMapper::MapPlaceholder(char placeholder, int64 number, case 'i': // window index _string.Truncate(0); - _string << fWindowIndex; + if (fWindowIndex != 0) + _string << fWindowIndex; return true; case 't': From 0ac0b4d4a67b92b0896e6de831502d4aeed5de20 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 16 Mar 2013 07:21:40 +0100 Subject: [PATCH 049/122] Fix Terminal cursor Save/Restore behaviour Yet another fix for the terminal cursor save/restore functionality. Fixes wrong cursor positions observed in modern versions of the Midnight Commander during switching between Alternate and Normal buffers. --- src/apps/terminal/BasicTerminalBuffer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 182551ef21..895fef0785 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -181,8 +181,6 @@ BasicTerminalBuffer::Init(int32 width, int32 height, int32 historySize) fDirtyInfo.Reset(); - fSavedCursors.push(TermPos(0, 0)); - return B_OK; } @@ -926,9 +924,11 @@ BasicTerminalBuffer::SaveCursor() void BasicTerminalBuffer::RestoreCursor() { + if (fSavedCursors.size() == 0) + return; + _SetCursor(fSavedCursors.top().x, fSavedCursors.top().y, true); - if (fSavedCursors.size() > 1) - fSavedCursors.pop(); + fSavedCursors.pop(); } From 13d0439623324b2157bab26944283d75487a5118 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 16 Mar 2013 07:54:14 +0100 Subject: [PATCH 050/122] Terminal data flow debug capture improved This modification moves the debug characters capture call directly into the _NextParseChar(). That allows to capture all data flow without missing things like OSC control sequences. --- src/apps/terminal/TermParse.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 2a0f609c67..7197ab2435 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -69,6 +69,10 @@ TermParse::_NextParseChar() throw error; } +#ifdef USE_DEBUG_SNAPSHOTS + fBuffer->CaptureChar(fParserBuffer[fParserBufferOffset]); +#endif + return fParserBuffer[fParserBufferOffset++]; } @@ -410,10 +414,6 @@ TermParse::EscParse() //debug_printf("TermParse: char: '%c' (%d), parse state: %d\n", c, c, parsestate[c]); -#ifdef USE_DEBUG_SNAPSHOTS - fBuffer->CaptureChar(c); -#endif - switch (parsestate[c]) { case CASE_PRINT: fBuffer->InsertChar((char)c); From 1dd3b537c3d9e3545d78c50cc26775174eec2051 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 16 Mar 2013 11:19:20 +0100 Subject: [PATCH 051/122] Fix Alternate/Normal screen's current attributes handling Handle the current attributes of the TextBuffer consistently with other Alt/Normal buffer sensitive variables. That fixes, for example, issues with wrong background coloring of new lines in normal text buffer after maximizing the terminal window running applications (like MC) performing output onto alternate screen. --- src/apps/terminal/BasicTerminalBuffer.cpp | 1 - src/apps/terminal/BasicTerminalBuffer.h | 12 ----------- src/apps/terminal/TermParse.cpp | 26 ++++------------------- src/apps/terminal/TermParse.h | 2 -- src/apps/terminal/TerminalBuffer.cpp | 2 ++ src/apps/terminal/TerminalBuffer.h | 1 + 6 files changed, 7 insertions(+), 37 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 895fef0785..28b5b40947 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -113,7 +113,6 @@ BasicTerminalBuffer::BasicTerminalBuffer() fScreenOffset(0), fHistory(NULL), fAttributes(0), - fSavedAttributes(0), fSoftWrappedCursor(false), fOverwriteMode(false), fAlternateScreenActive(false), diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index 4275c9041f..e581c97675 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -114,7 +114,6 @@ public: inline uint32 GetAttributes(); inline void SetAttributes(uint32 attributes); - inline void PreserveAttributes(bool store); // snapshots and data capture for debugging void MakeLinesSnapshots(time_t timeStamp, @@ -225,7 +224,6 @@ protected: HistoryBuffer* fHistory; uint32 fAttributes; - uint32 fSavedAttributes; // cursor position (origin: (0, 0)) TermPos fCursor; @@ -274,16 +272,6 @@ BasicTerminalBuffer::SetAttributes(uint32 attributes) } -void -BasicTerminalBuffer::PreserveAttributes(bool store) -{ - if (store) - fSavedAttributes = fAttributes; - else - fAttributes = fSavedAttributes; -} - - void BasicTerminalBuffer::InsertChar(UTF8Char c) { diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index 7197ab2435..f7fc346157 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -1106,13 +1106,13 @@ TermParse::EscParse() case CASE_DECSC: /* DECSC */ - _DecSaveCursor(); + fBuffer->SaveCursor(); parsestate = groundtable; break; case CASE_DECRC: /* DECRC */ - _DecRestoreCursor(); + fBuffer->RestoreCursor(); parsestate = groundtable; break; @@ -1466,7 +1466,7 @@ TermParse::_DecPrivateModeSet(int value) case 1049: // Save cursor as in DECSC and use Alternate Screen Buffer, clearing // it first. - _DecSaveCursor(); + fBuffer->SaveCursor(); fBuffer->UseAlternateScreenBuffer(true); break; } @@ -1541,30 +1541,12 @@ TermParse::_DecPrivateModeReset(int value) case 1049: // Use Normal Screen Buffer and restore cursor as in DECRC. fBuffer->UseNormalScreenBuffer(); - _DecRestoreCursor(); + fBuffer->RestoreCursor(); break; } } -void -TermParse::_DecSaveCursor() -{ - fBuffer->SaveCursor(); - fBuffer->SaveOriginMode(); - fBuffer->PreserveAttributes(true); -} - - -void -TermParse::_DecRestoreCursor() -{ - fBuffer->RestoreCursor(); - fBuffer->RestoreOriginMode(); - fBuffer->PreserveAttributes(false); -} - - void TermParse::_ProcessOperatingSystemControls(uchar* params) { diff --git a/src/apps/terminal/TermParse.h b/src/apps/terminal/TermParse.h index 35790d36ca..a9aeb8dacd 100644 --- a/src/apps/terminal/TermParse.h +++ b/src/apps/terminal/TermParse.h @@ -61,8 +61,6 @@ private: void _DecReqTermParms(int value); void _DecPrivateModeSet(int value); void _DecPrivateModeReset(int value); - void _DecSaveCursor(); - void _DecRestoreCursor(); int* _GuessGroundTable(int encoding); void _ProcessOperatingSystemControls(uchar* params); diff --git a/src/apps/terminal/TerminalBuffer.cpp b/src/apps/terminal/TerminalBuffer.cpp index 6910f28c51..14362d1b11 100644 --- a/src/apps/terminal/TerminalBuffer.cpp +++ b/src/apps/terminal/TerminalBuffer.cpp @@ -29,6 +29,7 @@ TerminalBuffer::TerminalBuffer() fAlternateScreen(NULL), fAlternateHistory(NULL), fAlternateScreenOffset(0), + fAlternateAttributes(0), fColorsPalette(NULL), fListenerValid(false) { @@ -378,5 +379,6 @@ TerminalBuffer::_SwitchScreenBuffer() std::swap(fScreen, fAlternateScreen); std::swap(fHistory, fAlternateHistory); std::swap(fScreenOffset, fAlternateScreenOffset); + std::swap(fAttributes, fAlternateAttributes); fAlternateScreenActive = !fAlternateScreenActive; } diff --git a/src/apps/terminal/TerminalBuffer.h b/src/apps/terminal/TerminalBuffer.h index f1c7c3c06a..aa856beb6d 100644 --- a/src/apps/terminal/TerminalBuffer.h +++ b/src/apps/terminal/TerminalBuffer.h @@ -69,6 +69,7 @@ private: TerminalLine** fAlternateScreen; HistoryBuffer* fAlternateHistory; int32 fAlternateScreenOffset; + uint32 fAlternateAttributes; rgb_color* fColorsPalette; // listener/dirty region management From c2577509f9bd2634edf03a90be99c45fd2fea76c Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 16 Mar 2013 15:48:44 +0100 Subject: [PATCH 052/122] Optimize SIGWINCH Shell notification Fixes issue with missed SIGWINCH shell notification in case the Terminal frame was resized by using any of "Settings"->"Window size" menu items. Fixes #9293 - original problem was pointed out by Ziusudra. Thank you! --- src/apps/terminal/TermView.cpp | 11 ++++++----- src/apps/terminal/TermView.h | 3 ++- src/apps/terminal/TermWindow.cpp | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index abbacebfeb..3488e41628 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -551,7 +551,7 @@ TermView::Columns() const //! Set number of rows and columns in terminal BRect -TermView::SetTermSize(int rows, int columns) +TermView::SetTermSize(int rows, int columns, bool notifyShell) { //debug_printf("TermView::SetTermSize(%d, %d)\n", rows, columns); if (rows > 0) @@ -591,6 +591,9 @@ TermView::SetTermSize(int rows, int columns) offset + rows + 2); } + if (notifyShell) + fFrameResized = true; + return rect; } @@ -602,7 +605,7 @@ TermView::SetTermSize(BRect rect) int columns; GetTermSizeFromRect(rect, &rows, &columns); - SetTermSize(rows, columns); + SetTermSize(rows, columns, false); } @@ -1575,9 +1578,7 @@ TermView::FrameResized(float width, float height) if (fResizeViewDisableCount > 0) fResizeViewDisableCount--; - SetTermSize(rows, columns); - - fFrameResized = true; + SetTermSize(rows, columns, true); } diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index b3cbaa8f8e..2766f25686 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -72,7 +72,8 @@ public: void GetFontSize(int* width, int* height); int Rows() const; int Columns() const; - BRect SetTermSize(int rows, int cols); + BRect SetTermSize(int rows, int cols, + bool notifyShell); void SetTermSize(BRect rect); void GetTermSizeFromRect(const BRect &rect, int *rows, int *columns); diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 1e7987e888..5c734312c1 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -817,7 +817,7 @@ TermWindow::MessageReceived(BMessage *message) for (int32 i = 0; i < fTabView->CountTabs(); i++) { TermView* view = _TermViewAt(i); - view->SetTermSize(rows, columns); + view->SetTermSize(rows, columns, true); _ResizeView(view); } break; From 53953e3e689f499392343003656acaf77e67972d Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 16 Mar 2013 17:15:49 +0100 Subject: [PATCH 053/122] Remove useless font style/family settings defaults No need for PREF_HALF_FONT_FAMILY/_STYLE defaults to be defined explicitly, these entries will be filled with corresponding params of the current system fixed font if they are not available from the settings file. Fixes #9531. --- src/apps/terminal/PrefHandler.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/apps/terminal/PrefHandler.cpp b/src/apps/terminal/PrefHandler.cpp index d897b9db76..159693bd29 100644 --- a/src/apps/terminal/PrefHandler.cpp +++ b/src/apps/terminal/PrefHandler.cpp @@ -42,8 +42,11 @@ static const pref_defaults kTermDefaults[] = { { PREF_COLS, "80" }, { PREF_ROWS, "25" }, - { PREF_HALF_FONT_FAMILY, "Courier10 BT" }, - { PREF_HALF_FONT_STYLE, "Regular" }, +// No need for PREF_HALF_FONT_FAMILY/_STYLE defaults here, +// these entries will be filled with corresponding params +// of the current system fixed font if they are not +// available in the settings file + { PREF_HALF_FONT_SIZE, "12" }, { PREF_TEXT_FORE_COLOR, " 0, 0, 0" }, From c7047b8fd2b48529091fccb925469a2432e65054 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sun, 17 Mar 2013 08:09:56 +0100 Subject: [PATCH 054/122] Improve handling of mbyte chars in UTF8Char::IsSpace * Switch UTF8Char's IsSpace, IsAlNum, ToLower functions to use system-wide BUnicodeChar service routines; * Switch TermView::CharClassifier to use UTF8Char instead of raw char* string ponter. That reduces count of conversions and simplify code; Fixes #7423. --- src/apps/terminal/BasicTerminalBuffer.cpp | 6 ++--- src/apps/terminal/TermView.cpp | 27 ++++++++++++++-------- src/apps/terminal/TerminalCharClassifier.h | 4 +++- src/apps/terminal/UTF8Char.h | 20 +++++++++++----- 4 files changed, 37 insertions(+), 20 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.cpp b/src/apps/terminal/BasicTerminalBuffer.cpp index 28b5b40947..f21124de47 100644 --- a/src/apps/terminal/BasicTerminalBuffer.cpp +++ b/src/apps/terminal/BasicTerminalBuffer.cpp @@ -421,7 +421,7 @@ BasicTerminalBuffer::FindWord(const TermPos& pos, x--; // get the char type at the given position - int type = classifier->Classify(line->cells[x].character.bytes); + int type = classifier->Classify(line->cells[x].character); // check whether we are supposed to find words only if (type != CHAR_TYPE_WORD_CHAR && !findNonWords) @@ -444,7 +444,7 @@ BasicTerminalBuffer::FindWord(const TermPos& pos, if (x > 0 && IS_WIDTH(line->cells[x - 1].attributes)) x--; - if (classifier->Classify(line->cells[x].character.bytes) != type) + if (classifier->Classify(line->cells[x].character) != type) break; start.SetTo(x, y); @@ -467,7 +467,7 @@ BasicTerminalBuffer::FindWord(const TermPos& pos, break; } - if (classifier->Classify(line->cells[x].character.bytes) != type) + if (classifier->Classify(line->cells[x].character) != type) break; x += IS_WIDTH(line->cells[x].attributes) ? 2 : 1; diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index 3488e41628..e6e3d4be01 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include @@ -144,28 +145,34 @@ restrict_value(const Type& value, const Type& min, const Type& max) class TermView::CharClassifier : public TerminalCharClassifier { public: CharClassifier(const char* specialWordChars) - : - fSpecialWordChars(specialWordChars) { + const char* p = specialWordChars; + while (p != NULL && *p) { + int count = UTF8Char::ByteCount(*p); + if (count <= 0 || count > 4) + break; + fSpecialWordChars.push_back(UTF8Char(p, count)); + p += count; + } } - virtual int Classify(const char* character) + virtual int Classify(const UTF8Char& character) { - // TODO: Deal correctly with non-ASCII chars. - char c = *character; - if (UTF8Char::ByteCount(c) > 1) + if (character.IsSpace()) + return CHAR_TYPE_SPACE; + + if (character.IsAlNum()) return CHAR_TYPE_WORD_CHAR; - if (isspace(c)) - return CHAR_TYPE_SPACE; - if (isalnum(c) || strchr(fSpecialWordChars, c) != NULL) + if (std::find(fSpecialWordChars.begin(), fSpecialWordChars.end(), + character) != fSpecialWordChars.end()) return CHAR_TYPE_WORD_CHAR; return CHAR_TYPE_WORD_DELIMITER; } private: - const char* fSpecialWordChars; + std::vector fSpecialWordChars; }; diff --git a/src/apps/terminal/TerminalCharClassifier.h b/src/apps/terminal/TerminalCharClassifier.h index 2a8ebc017d..236f31c3aa 100644 --- a/src/apps/terminal/TerminalCharClassifier.h +++ b/src/apps/terminal/TerminalCharClassifier.h @@ -13,11 +13,13 @@ enum { }; +class UTF8Char; + class TerminalCharClassifier { public: virtual ~TerminalCharClassifier(); - virtual int Classify(const char* character) = 0; + virtual int Classify(const UTF8Char& character) = 0; }; diff --git a/src/apps/terminal/UTF8Char.h b/src/apps/terminal/UTF8Char.h index ef7c48fb51..e8b50d46a4 100644 --- a/src/apps/terminal/UTF8Char.h +++ b/src/apps/terminal/UTF8Char.h @@ -8,6 +8,8 @@ #include #include +#include + struct UTF8Char { char bytes[4]; @@ -63,17 +65,23 @@ struct UTF8Char { bool IsSpace() const { - // TODO: Support multi-byte chars! - return ByteCount() == 1 ? isspace(bytes[0]) : false; + return BUnicodeChar::IsSpace(BUnicodeChar::FromUTF8(bytes)); + } + + bool IsAlNum() const + { + return BUnicodeChar::IsAlNum(BUnicodeChar::FromUTF8(bytes)); } UTF8Char ToLower() const { - // TODO: Support multi-byte chars! - if (ByteCount() > 1) - return *this; + uint32 c = BUnicodeChar::ToLower(BUnicodeChar::FromUTF8(bytes)); - return UTF8Char((char)tolower(bytes[0])); + UTF8Char character; + char* utf8 = character.bytes; + BUnicodeChar::ToUTF8(c, &utf8); + + return character; } bool operator==(const UTF8Char& other) const From cf7c89ff4a8e0beccc0ff9ed6c8ae0745770418d Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 18 Mar 2013 11:47:49 -0400 Subject: [PATCH 055/122] Use the new Get* BMessage methods to simplify code. Thanks Axel! --- src/apps/deskbar/BarApp.cpp | 118 +++++++++++++++--------------------- 1 file changed, 48 insertions(+), 70 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index 6e9cb6260c..c795a92d24 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -289,76 +289,54 @@ TBarApp::InitSettings() BMessage prefs; if (fSettingsFile->InitCheck() == B_OK && prefs.Unflatten(fSettingsFile) == B_OK) { - if (prefs.FindBool("vertical", &settings.vertical) != B_OK) - settings.vertical = fDefaultSettings.vertical; - if (prefs.FindBool("left", &settings.left) != B_OK) - settings.left = fDefaultSettings.left; - if (prefs.FindBool("top", &settings.top) != B_OK) - settings.top = fDefaultSettings.top; - if (prefs.FindUInt32("state", &settings.state) != B_OK) - settings.state = fDefaultSettings.state; - if (prefs.FindFloat("width", &settings.width) != B_OK) - settings.width = fDefaultSettings.width; - if (prefs.FindPoint("switcherLoc", &settings.switcherLoc) != B_OK) - settings.switcherLoc = fDefaultSettings.switcherLoc; - if (prefs.FindBool("showClock", &settings.showClock) != B_OK) - settings.showClock = fDefaultSettings.showClock; + settings.vertical = prefs.GetBool("vertical", + fDefaultSettings.vertical); + settings.left = prefs.GetBool("left", + fDefaultSettings.left); + settings.top = prefs.GetBool("top", + fDefaultSettings.top); + settings.state = prefs.GetUInt32("state", + fDefaultSettings.state); + settings.width = prefs.GetFloat("width", + fDefaultSettings.width); + settings.switcherLoc = prefs.GetPoint("switcherLoc", + fDefaultSettings.switcherLoc); + settings.showClock = prefs.GetBool("showClock", + fDefaultSettings.showClock); // applications - if (prefs.FindBool("trackerAlwaysFirst", - &settings.trackerAlwaysFirst) != B_OK) { - settings.trackerAlwaysFirst - = fDefaultSettings.trackerAlwaysFirst; - } - if (prefs.FindBool("sortRunningApps", - &settings.sortRunningApps) != B_OK) { - settings.sortRunningApps = fDefaultSettings.sortRunningApps; - } - if (prefs.FindBool("superExpando", &settings.superExpando) != B_OK) - settings.superExpando = fDefaultSettings.superExpando; - if (prefs.FindBool("expandNewTeams", - &settings.expandNewTeams) != B_OK) { - settings.expandNewTeams = fDefaultSettings.expandNewTeams; - } - if (prefs.FindBool("hideLabels", &settings.hideLabels) != B_OK) - settings.hideLabels = fDefaultSettings.hideLabels; - if (prefs.FindInt32("iconSize", &settings.iconSize) != B_OK) - settings.iconSize = fDefaultSettings.iconSize; + settings.trackerAlwaysFirst = prefs.GetBool("trackerAlwaysFirst", + fDefaultSettings.trackerAlwaysFirst); + settings.sortRunningApps = prefs.GetBool("sortRunningApps", + fDefaultSettings.sortRunningApps); + settings.superExpando = prefs.GetBool("superExpando", + fDefaultSettings.superExpando); + settings.expandNewTeams = prefs.GetBool("expandNewTeams", + fDefaultSettings.expandNewTeams); + settings.hideLabels = prefs.GetBool("hideLabels", + fDefaultSettings.hideLabels); + settings.iconSize = prefs.GetInt32("iconSize", + fDefaultSettings.iconSize); // recent items - if (prefs.FindBool("recentDocsEnabled", - &settings.recentDocsEnabled) != B_OK) { - settings.recentDocsEnabled - = fDefaultSettings.recentDocsEnabled; - } - if (prefs.FindBool("recentFoldersEnabled", - &settings.recentFoldersEnabled) != B_OK) { - settings.recentFoldersEnabled - = fDefaultSettings.recentFoldersEnabled; - } - if (prefs.FindBool("recentAppsEnabled", - &settings.recentAppsEnabled) != B_OK) { - settings.recentAppsEnabled - = fDefaultSettings.recentAppsEnabled; - } - if (prefs.FindInt32("recentDocsCount", - &settings.recentDocsCount) != B_OK) { - settings.recentDocsCount = fDefaultSettings.recentDocsCount; - } - if (prefs.FindInt32("recentFoldersCount", - &settings.recentFoldersCount) != B_OK) { - settings.recentFoldersCount - = fDefaultSettings.recentFoldersCount; - } - if (prefs.FindInt32("recentAppsCount", - &settings.recentAppsCount) != B_OK) { - settings.recentAppsCount = fDefaultSettings.recentAppsCount; - } + settings.recentDocsEnabled = prefs.GetBool("recentDocsEnabled", + fDefaultSettings.recentDocsEnabled); + settings.recentFoldersEnabled + = prefs.GetBool("recentFoldersEnabled", + fDefaultSettings.recentFoldersEnabled); + settings.recentAppsEnabled = prefs.GetBool("recentAppsEnabled", + fDefaultSettings.recentAppsEnabled); + settings.recentDocsCount = prefs.GetInt32("recentDocsCount", + fDefaultSettings.recentDocsCount); + settings.recentFoldersCount = prefs.GetInt32("recentFoldersCount", + fDefaultSettings.recentFoldersCount); + settings.recentAppsCount = prefs.GetInt32("recentAppsCount", + fDefaultSettings.recentAppsCount); // window - if (prefs.FindBool("alwaysOnTop", &settings.alwaysOnTop) != B_OK) - settings.alwaysOnTop = fDefaultSettings.alwaysOnTop; - if (prefs.FindBool("autoRaise", &settings.autoRaise) != B_OK) - settings.autoRaise = fDefaultSettings.autoRaise; - if (prefs.FindBool("autoHide", &settings.autoHide) != B_OK) - settings.autoHide = fDefaultSettings.autoHide; + settings.alwaysOnTop = prefs.GetBool("alwaysOnTop", + fDefaultSettings.alwaysOnTop); + settings.autoRaise = prefs.GetBool("autoRaise", + fDefaultSettings.autoRaise); + settings.autoHide = prefs.GetBool("autoHide", + fDefaultSettings.autoHide); } filePath = dirPath; @@ -372,9 +350,9 @@ TBarApp::InitSettings() if (fClockSettingsFile->InitCheck() == B_OK && prefs.Unflatten(fClockSettingsFile) == B_OK) { - prefs.FindBool("showSeconds", &clock.showSeconds); - prefs.FindBool("showDayOfWeek", &clock.showDayOfWeek); - prefs.FindBool("showTimeZone", &clock.showTimeZone); + clock.showSeconds = prefs.GetBool("showSeconds", false); + clock.showDayOfWeek = prefs.GetBool("showDayOfWeek", false); + clock.showTimeZone = prefs.GetBool("showTimeZone", false); } } From 161400fbcccc3f8c5d1f5c1c132d262ae1e0a3da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 18 Mar 2013 22:11:26 +0100 Subject: [PATCH 056/122] intel_extreme: sanitize EDID modes as well. * Since we add those modes to our mode list, we should better accept them. * This may help with bug #9145, and #7523 if they still occur. --- .../accelerants/intel_extreme/mode.cpp | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/add-ons/accelerants/intel_extreme/mode.cpp b/src/add-ons/accelerants/intel_extreme/mode.cpp index 76742c1d5d..2727a16df0 100644 --- a/src/add-ons/accelerants/intel_extreme/mode.cpp +++ b/src/add-ons/accelerants/intel_extreme/mode.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2013, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Support for i915 chipset and up based on the X driver, @@ -504,6 +504,20 @@ sanitize_display_mode(display_mode& mode) } +static bool +check_and_sanitize_display_mode(display_mode* mode) +{ + uint16 width = mode->timing.h_display; + uint16 height = mode->timing.v_display; + + // Only accept the mode if it is within the supported resolution + // TODO: sanitize_display_mode() should report resolution changes + // differently! + return !sanitize_display_mode(*mode) || (width == mode->timing.h_display + && height == mode->timing.v_display); +} + + // #pragma mark - @@ -600,8 +614,8 @@ create_mode_list(void) display_mode* list; uint32 count = 0; gInfo->mode_list_area = create_display_modes("intel extreme modes", - gInfo->has_edid ? &gInfo->edid_info : NULL, NULL, 0, NULL, 0, NULL, - &list, &count); + gInfo->has_edid ? &gInfo->edid_info : NULL, NULL, 0, NULL, 0, + &check_and_sanitize_display_mode, &list, &count); if (gInfo->mode_list_area < B_OK) return gInfo->mode_list_area; @@ -670,7 +684,7 @@ intel_propose_display_mode(display_mode* target, const display_mode* low, // first search for the specified mode in the list, if no mode is found // try to fix the target mode in sanitize_display_mode - // TODO: Only sanitize_display_mode should be used. However, at the moments + // TODO: Only sanitize_display_mode should be used. However, at the moment // the mode constraints are not optimal and do not work for all // configurations. for (uint32 i = 0; i < gInfo->shared_info->mode_count; i++) { From bc4dd456f98b23344169bd0c47e2e5b052f5539c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 19 Mar 2013 00:56:47 +0100 Subject: [PATCH 057/122] ActivityMonitor: fixed minor issue CID 609788. * If the circular buffer was created with a size of zero, fBuffer would be freed without being initialized. --- src/apps/activitymonitor/CircularBuffer.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/apps/activitymonitor/CircularBuffer.h b/src/apps/activitymonitor/CircularBuffer.h index 12ff3ada55..6bce954f94 100644 --- a/src/apps/activitymonitor/CircularBuffer.h +++ b/src/apps/activitymonitor/CircularBuffer.h @@ -1,5 +1,5 @@ /* - * Copyright 2008-2009, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2008-2013, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ #ifndef CIRCULAR_BUFFER_H @@ -16,7 +16,8 @@ class CircularBuffer { public: CircularBuffer(size_t size) : - fSize(0) + fSize(0), + fBuffer(NULL) { SetSize(size); } @@ -96,4 +97,5 @@ private: Type* fBuffer; }; + #endif // CIRCULAR_BUFFER_H From 6e8749b27f2037e989d01a69b1c335ca45c8800f Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 18 Mar 2013 20:02:05 -0400 Subject: [PATCH 058/122] Update BMessage documentation adding Get* methods. Also, lots of little cleanups: formatting, adding return statements and return values where they were missing, fix spelling mistakes, add newlines to separate command blocks, remove trailing whitespace. --- docs/user/app/Message.dox | 1083 ++++++++++++++++++++++++++++++++++--- 1 file changed, 995 insertions(+), 88 deletions(-) diff --git a/docs/user/app/Message.dox b/docs/user/app/Message.dox index c49af5fc94..3de90ef594 100644 --- a/docs/user/app/Message.dox +++ b/docs/user/app/Message.dox @@ -168,9 +168,8 @@ of the message will return \c false. \remarks BeOS R5 did keep the metadata of the message. Haiku deviates from - this behavior. Please use the Haiku implementation of message copying as - the default behavior. This will keep your applications backwards - compatible. + this behavior. Use the Haiku implementation of message copying as the + default behavior. This will keep your applications backwards compatible. \see BMessage::BMessage() \see BMessage(uint32 what) @@ -222,11 +221,10 @@ you can safely pass \c NULL. \param[out] countFound The number of items at \a index. If data items have the same name, they will be placed under the same index. - + \return If the \a index is found, and matches the requested type, then the other parameters will be filled in. If this is not the case, the method will return with an error. - \retval B_OK An match was found. The values have been filled in. \retval B_BAD_INDEX The \a index was out of range. None of the passed variables have been altered. @@ -252,7 +250,6 @@ \return If the message has data associated with the given \a name, the other parameters will contain information associated with the data, else, the method will return with an error. - \retval B_OK A match was found. The other parameters have been filled in. \retval B_BAD_VALUE You passed \c NULL as argument to \a name. \retval B_NAME_NOT_FOUND There is no data with the label \a name. @@ -333,6 +330,7 @@ \param oldEntry The name of the label you want to rename. \param newEntry The new name of the data entry. + \returns A status code, \c B_OK on success or an error code. \retval B_OK Renaming succeeded. \retval B_BAD_VALUE Either the \a oldEntry or the \a newEntry pointers are \c NULL. @@ -343,10 +341,12 @@ //! @} + /*! \name Delivery Info */ + //! @{ @@ -422,6 +422,7 @@ through drag and drop. It returns \c false if it has been delivered through the regular messaging functions, or if the message has not been delivered at all. + \see DropPoint() */ @@ -473,7 +474,7 @@ This is an overloaded member of SendReply(BMessage *, BMessenger, bigtime_t). Use this variant if you want to send the message to a specific handler (instead of a complete messenger). -*/ +*/ /*! @@ -495,6 +496,7 @@ \c B_INFINITE_TIMEOUT if you want to wait infinitely for the message to be delivered. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The message has been delivered. \retval B_DUPLICATE_REPLY There already has been a reply to this message. \retval B_BAD_PORT_ID The reply address is not valid (anymore). @@ -541,6 +543,7 @@ \param replyTimeout The maximum time in microseconds you want to wait for a reply. Note that the timer starts when the message has been delivered. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The message has been delivered. \retval B_DUPLICATE_REPLY There already has been a reply to this message. \retval B_BAD_VALUE Either \a reply or \a replyToReply is @@ -623,6 +626,7 @@ \param flatBuffer The buffer that contains the message. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The buffer has been unflattened. \retval B_BAD_VALUE The buffer does not contain a valid message. \retval B_NO_MEMORY An error occured whilst allocating memory for the data @@ -641,6 +645,7 @@ \param stream The stream that contains the message. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The message has been unflattened. \retval B_BAD_VALUE The stream does not contain a valid message. \retval B_NO_MEMORY An error occured whilst allocating memory for the data @@ -652,10 +657,12 @@ //! @} + /*! - \name Specifiers (Scripting) + \name Specifiers (scripting) */ + //! @{ @@ -773,6 +780,7 @@ items in advance. This does not limit the amount of items though. The array will grow if needed. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The \a data is succesfully added. \retval B_BAD_VALUE The \a numBytes is less than, or equal to \c 0, or the size of this item is larger than the \a name allows, @@ -792,8 +800,12 @@ \param name The label to associate the data with. \param aRect The rectangle to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindRect() + \see GetRect() \see ReplaceRect() */ @@ -806,8 +818,12 @@ \param name The label to associate the data with. \param aPoint The point to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindPoint() + \see GetPoint() \see ReplacePoint() */ @@ -820,8 +836,12 @@ \param name The label to associate the data with. \param aString The string to copy to the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindString() + \see GetString() \see ReplaceString() */ @@ -834,8 +854,12 @@ \param name The label to associate the data with. \param aString The string to copy to the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindString() + \see GetString() \see ReplaceString() */ @@ -848,8 +872,12 @@ \param name The label to associate the data with. \param value The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindInt8() + \see GetInt8() \see ReplaceInt8() */ @@ -862,8 +890,12 @@ \param name The label to associate the data with. \param value The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindInt16() + \see GetInt16() \see ReplaceInt16() */ @@ -876,8 +908,12 @@ \param name The label to associate the data with. \param value The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindInt32() + \see GetInt32() \see ReplaceInt32() */ @@ -890,8 +926,12 @@ \param name The label to associate the data with. \param value The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindInt64() + \see GetInt64() \see ReplaceInt64() */ @@ -904,8 +944,12 @@ \param name The label to associate the data with. \param aBoolean The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindBool() + \see GetBool() \see ReplaceBool() */ @@ -917,8 +961,12 @@ \param name The label to associate the data with. \param aFloat The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindFloat() + \see GetFloat() \see ReplaceFloat() */ @@ -931,8 +979,12 @@ \param name The label to associate the data with. \param aDouble The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindDouble() + \see GetDouble() \see ReplaceDouble() */ @@ -943,7 +995,7 @@ This method calls AddData() with the \c B_POINTER_TYPE \a type. - \warning If you want to share objects between applications, please remember + \warning If you want to share objects between applications, remember that each application has its own address space, and that it therefore is useless to try to pass around objects by sending pointers in messages. You should think about copying the entire object in the @@ -951,8 +1003,12 @@ \param name The label to associate the data with. \param aPointer The value to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindPointer() + \see GetPointer() \see ReplacePointer() */ @@ -965,6 +1021,9 @@ \param name The label to associate the data with. \param messenger The messenger to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindMessenger() \see ReplaceMessenger() @@ -980,6 +1039,9 @@ \param name The label to associate the data with. \param ref The reference to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindRef() \see ReplaceRef() @@ -994,6 +1056,9 @@ \param name The label to associate the data with. \param message The message to store in this message. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindMessage() \see ReplaceMessage() @@ -1015,6 +1080,9 @@ \param object The object to flatten into the message. \param count The number of items to pre-allocate associated with this \a name. + + \returns A status code, \c B_OK on success or an error code. + \see AddData() for a more detailed overview of the inner workings. \see FindFlat() \see ReplaceFlat() @@ -1042,11 +1110,14 @@ \param name The \a name of which the associated data should be cleared. \param index The \a index of the item that should be cleared. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The data has been removed. \retval B_BAD_VALUE The \a index is less than \c 0. \retval B_BAD_INDEX The \a index is out of bounds. - \retval B_NAME_NOT_FOUND The \a name does not hava any data - associated with it. + \retval B_NAME_NOT_FOUND The \a name does not have any data associated + with it. + \see RemoveName() \see MakeEmpty() */ @@ -1059,11 +1130,13 @@ This also removes the label, so that you can recreate it with another type, if you want to. - \param name The \a name that refers to the data you want to clear - out. + \param name The \a name that refers to the data you want to clear out. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK All the data is removed. \retval B_BAD_VALUE The \a name pointer points to \c NULL. \retval B_NAME_NOT_FOUND The \a name does not exist in this message. + \see RemoveData() \see MakeEmpty() */ @@ -1077,6 +1150,7 @@ as metadata such as reply info. \return This method always returns \c B_OK. + \see RemoveData() \see RemoveName() */ @@ -1091,7 +1165,7 @@ Look at FindData() for a general introduction to finding data. */ -/* TODO: +/* TODO: Quick overview: @@ -1129,11 +1203,14 @@ Note that the array is zero-based. \param[out] data A pointer to a pointer where the data can point to. \param[out] numBytes The size of the data will be put in this parameter. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The \a name was found, matches the type, and the data - at \a index has been put in \a data. + at \a index has been put in \a data. \retval B_BAD_VALUE One of the output arguments were \c NULL. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see status_t FindData(const char *, type_code, int32, const void **, ssize_t *) const */ @@ -1144,7 +1221,7 @@ const void **data, ssize_t *numBytes) const \brief Find \a data that is stored in this message. - This is an overloaded method of + This is an overloaded version of FindData(const char *, type_code, int32, const void **, ssize_t *) const where data is sought at \a index \c 0. */ @@ -1154,7 +1231,7 @@ \fn status_t BMessage::FindRect(const char *name, BRect *rect) const \brief Find a rectangle at the label \a name. - This is an overloaded method of + This is an overloaded version of FindRect(const char *, int32, BRect *) const where the data is sought at \a index \c 0. */ @@ -1170,9 +1247,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param rect The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindRect(const char *, BRect *) const */ @@ -1181,7 +1261,7 @@ \fn status_t BMessage::FindPoint(const char *name, BPoint *point) const \brief Find a point at the label \a name. - This is an overloaded method of + This is an overloaded version of FindPoint(const char *, int32, BPoint *) const where the data is sought at \a index \c 0. */ @@ -1197,9 +1277,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param point The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindPoint(const char *, BPoint *) const */ @@ -1208,7 +1291,7 @@ \fn status_t BMessage::FindString(const char *name, const char **string) const \brief Find a string at the label \a name. - This is an overloaded method of + This is an overloaded version of FindString(const char *, int32, const char **) const where the data is sought at \a index \c 0. */ @@ -1226,9 +1309,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param string The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindString(const char *, const char **) const \see FindString(const char *, int32, BString *) const */ @@ -1238,7 +1324,7 @@ \fn status_t BMessage::FindString(const char *name, BString *string) const \brief Find a string at the label \a name. - This is an overloaded method of + This is an overloaded version of FindString(const char *, int32, BString *) const where the data is sought at \a index \c 0. */ @@ -1254,9 +1340,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param string The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindString(const char *, BString *) const \see FindString(const char *, int32, const char **) const */ @@ -1266,7 +1355,7 @@ \fn status_t BMessage::FindInt8(const char *name, int8 *value) const \brief Find an integer at the label \a name. - This is an overloaded method of FindInt8(const char *, int32, int8 *) const + This is an overloaded version of FindInt8(const char *, int32, int8 *) const where the data is sought at \a index \c 0. */ @@ -1281,9 +1370,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindInt8(const char *, int8 *) const */ @@ -1292,8 +1384,15 @@ \fn status_t BMessage::FindInt16(const char *name, int16 *value) const \brief Find an integer at the label \a name. - This is an overloaded method of FindInt8(const char *, int32, int16 *) const + This is an overloaded version of FindInt8(const char *, int32, int16 *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1307,9 +1406,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindInt16(const char *, int16 *) const */ @@ -1318,9 +1420,16 @@ \fn status_t BMessage::FindInt32(const char *name, int32 *value) const \brief Find an integer at the label \a name. - This is an overloaded method of + This is an overloaded version of FindInt32(const char *, int32, int32 *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1334,9 +1443,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindInt32(const char *, int32 *) const */ @@ -1345,9 +1457,16 @@ \fn status_t BMessage::FindInt64(const char *name, int64 *value) const \brief Find an integer at the label \a name. - This is an overloaded method of + This is an overloaded version of FindInt64(const char *, int32, int64 *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1361,9 +1480,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindInt64(const char *, int64 *) const */ @@ -1372,9 +1494,16 @@ \fn status_t BMessage::FindBool(const char *name, bool *value) const \brief Find a boolean at the label \a name. - This is an overloaded method of + This is an overloaded version of FindBool(const char *, int32, bool *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1388,9 +1517,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindBool(const char *, bool *) const */ @@ -1399,9 +1531,16 @@ \fn status_t BMessage::FindFloat(const char *name, float *value) const \brief Find a float at the label \a name. - This is an overloaded method of + This is an overloaded version of FindFloat(const char *, int32, float *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1415,9 +1554,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindFloat(const char *, float *) const */ @@ -1426,9 +1568,16 @@ \fn status_t BMessage::FindDouble(const char *name, double *value) const \brief Find a double at the label \a name. - This is an overloaded method of + This is an overloaded version of FindDouble(const char *, int32, double *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1442,9 +1591,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param value The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindDouble(const char *, double *) const */ @@ -1453,9 +1605,16 @@ \fn status_t BMessage::FindPointer(const char *name, void **pointer) const \brief Find a pointer at the label \a name. - This is an overloaded method of + This is an overloaded version of FindPointer(const char *, int32, void *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param pointer The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1466,7 +1625,7 @@ This method looks for the data with the \c B_POINTER_TYPE, and copies it into a provided buffer. - \warning If you want to share objects between applications, please remember + \warning If you want to share objects between applications, remember that each application has its own address space, and that it therefore is useless to try to pass around objects by sending pointers in messages. You should think about copying the entire object in the @@ -1475,20 +1634,30 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param pointer The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindPointer(const char *, double *) const */ /*! - \fn status_t BMessage::FindMessenger(const char *name, BMessenger *messenger) const + \fn status_t BMessage::FindMessenger(const char* name, BMessenger* messenger) const \brief Find a messenger at the label \a name. - This is an overloaded method of + This is an overloaded version of FindMessenger(const char *, int32, BMessenger *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param messenger The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1502,9 +1671,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param messenger The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindMessenger(const char *, BMessenger *) const */ @@ -1513,9 +1685,16 @@ \fn status_t BMessage::FindRef(const char *name, entry_ref *ref) const \brief Find a reference to a file at the label \a name. - This is an overloaded method of + This is an overloaded version of FindRef(const char *, int32, entry_ref *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param ref The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1530,9 +1709,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param ref The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindRef(const char *, entry_ref *) const */ @@ -1541,9 +1723,16 @@ \fn status_t BMessage::FindMessage(const char *name, BMessage *message) const \brief Find a message at the label \a name. - This is an overloaded method of + This is an overloaded version of FindMessage(const char *, int32, BMessage *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param message The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1557,9 +1746,12 @@ \param name The label to which the data is associated. \param index The index from which the data should be copied. \param message The object in which the data should be copied. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindMessage(const char *, BMessage *) const */ @@ -1568,9 +1760,16 @@ \fn status_t BMessage::FindFlat(const char *name, BFlattenable *object) const \brief Find a flattened object at the label \a name. - This is an overloaded method of + This is an overloaded version of FindFlat(const char *, int32, BFlattenable *) const where the data is sought at \a index \c 0. + + \param name The label to which the data is associated. + \param object The object in which the data should be unflattened. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1582,14 +1781,17 @@ The type is determined by the type of the passed object. If that type is available at the specified label, then the Unflatten() method of that - object will be called. + object will be called. \param name The label to which the data is associated. \param index The index from which the data should be unflattened. \param object The object in which the data should be unflattened. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The object now contains the requested data. \retval B_BAD_INDEX The \a index does not exist. \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see FindFlat(const char *, BFlattenable *) const */ @@ -1615,6 +1817,14 @@ This method is an overloaded method that replaces the data at \a index \c 0. See ReplaceData(const char *, type_code, int32, const void *, ssize_t). + + \param name The name associated with the data to replace. + \param type The type of the data. + \param data A pointer to the new data that needs to be copied into the + message. + \param numBytes The size of the new data. + + \returns A status code, \c B_OK on success or an error code. */ @@ -1639,6 +1849,7 @@ message. \param numBytes The size of the new data. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_VALUE One of the input parameters are invalid. Check that you did not pass \c NULL, and in case the field has fixed sized data, @@ -1654,6 +1865,13 @@ This method is an overloaded method of ReplaceRect(const char *, int32, BRect). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aRect The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1662,13 +1880,18 @@ \brief Replace a rectangle at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_RECT_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_RECT_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param aRect The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceRect(const char*, BRect) */ @@ -1680,6 +1903,13 @@ This method is an overloaded method of ReplacePoint(const char *, int32, BPoint). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aPoint The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The object now contains the requested data. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1688,13 +1918,18 @@ \brief Replace a point at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_POINT_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_POINT_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param aPoint The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplacePoint(const char*, aPoint) */ @@ -1706,6 +1941,13 @@ This method is an overloaded method of ReplaceString(const char *, int32, const char *). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aString The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1716,11 +1958,16 @@ The data at the specified \a name and \a index will be replaced, if it matches the \c B_STRING_TYPE. - \param name The name associated with the data to replace. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param aString The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceString(const char*, const char *) */ @@ -1732,6 +1979,13 @@ This method is an overloaded method of ReplaceString(const char *, int32, BString &). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aString The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1740,13 +1994,18 @@ \brief Replace a string at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_STRING_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_STRING_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param aString The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceString(const char*, BString &) */ @@ -1758,6 +2017,13 @@ This method is an overloaded method of ReplaceInt8(const char *, int32, int8). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1766,13 +2032,18 @@ \brief Replace an integer at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_INT8_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_INT8_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. - \param value The object to store in the message. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceInt8(const char*, int8) */ @@ -1784,6 +2055,13 @@ This method is an overloaded method of ReplaceInt16(const char *, int32, int16). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1792,13 +2070,18 @@ \brief Replace an integer at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_INT16_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_INT16_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. - \param value The object to store in the message. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceInt16(const char*, int16) */ @@ -1810,6 +2093,13 @@ This method is an overloaded method of ReplaceInt8(const char *, int32, int32). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1818,13 +2108,18 @@ \brief Replace an integer at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_INT32_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_INT32_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param value The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceInt32(const char*, int32) */ @@ -1836,6 +2131,13 @@ This method is an overloaded method of ReplaceInt8(const char *, int32, int64). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param value Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1844,13 +2146,18 @@ \brief Replace an integer at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_INT64_TYPE. - \param name The name associated with the data to replace. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_INT64_TYPE. + + \param name The name associated with the data to replace. \param index The index in the array to replace. \param value The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceInt64(const char*, int64) */ @@ -1862,6 +2169,13 @@ This method is an overloaded method of ReplaceBool(const char *, int32, bool). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aBoolean Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1870,14 +2184,18 @@ \brief Replace a boolean at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_BOOL_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_BOOL_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. - \param aBoolean The object to store in the message. + \param aBoolean Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceBool(const char*, bool) */ @@ -1889,6 +2207,13 @@ This method is an overloaded method of ReplaceFloat(const char *, int32, float). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aFloat The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1897,14 +2222,18 @@ \brief Replace a float at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_FLOAT_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_FLOAT_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. \param aFloat The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceFloat(const char*, float) */ @@ -1916,6 +2245,13 @@ This method is an overloaded method of ReplaceDouble(const char *, int32, double). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param aDouble Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1924,14 +2260,18 @@ \brief Replace a double at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_DOUBLE_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_DOUBLE_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. - \param aDouble The object to store in the message. + \param aDouble Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceDouble(const char*, double) */ @@ -1943,21 +2283,32 @@ This method is an overloaded method of ReplacePointer(const char *, int32, const void *). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param pointer Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ /*! - \fn status_t BMessage::ReplacePointer(const char *name,int32 index, const void *pointer) + \fn status_t BMessage::ReplacePointer(const char *name, int32 index, const void *pointer) \brief Replace a pointer at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_POINTER_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_POINTER_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. - \param pointer The object to store in the message. + \param pointer Where to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplacePointer(const char*, const void *) */ @@ -1969,6 +2320,13 @@ This method is an overloaded method of ReplaceMessenger(const char *, int32, BMessenger). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param messenger The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -1977,14 +2335,18 @@ \brief Replace a messenger at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_MESSENGER_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_MESSENGER_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. \param messenger The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceMessenger(const char*, BMessenger) */ @@ -1996,6 +2358,13 @@ This method is an overloaded method of ReplaceRef(const char *, int32, entry_ref *). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param ref The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -2004,14 +2373,18 @@ \brief Replace a reference to a file at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_REF_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_REF_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. \param ref The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceRef(const char*, entry_ref *) */ @@ -2023,6 +2396,13 @@ This method is an overloaded method of ReplaceMessage(const char *, int32, BMessage *). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param message The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -2031,14 +2411,18 @@ \brief Replace a message at the label \a name at a specified \a index. - The data at the specified \a name and \a index will be - replaced, if it matches the \c B_MESSAGE_TYPE. + The data at the specified \a name and \a index will be replaced, if it + matches the \c B_MESSAGE_TYPE. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. \param message The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. + \see ReplaceMessage(const char*, BMessage *) */ @@ -2051,6 +2435,13 @@ ReplaceFlat(const char *, int32, BFlattenable *). It replaces the data at \a index \c 0. + + \param name The name associated with the data to replace. + \param object The object to store in the message. + + \returns A status code, \c B_OK on success or an error code. + \retval B_OK The operation succeeded. + \retval B_NAME_NOT_FOUND There is no field with this \a name. */ @@ -2063,12 +2454,14 @@ replaced, if it matches the type returned by your object. This method uses BFlattenable::TypeCode() to determine the type of the object. - \param name The name associated with the data to replace. + \param name The name associated with the data to replace. \param index The index in the array to replace. \param object The object to store in the message. + \returns A status code, \c B_OK on success or an error code. \retval B_OK The operation succeeded. \retval B_BAD_INDEX The index was out of range. + \retval B_NAME_NOT_FOUND There is no field with this \a name. \see ReplaceFlat(const char*, BFlattenable *) */ @@ -2080,9 +2473,9 @@ /*! \name Deprecated methods - These methods are \e very likely to disappear, and they have been replaced - by safer and more powerful methods. These methods are still implemented - for binary compatibility, but they are not documented. + These methods are likely to disappear as they have been replaced by safer + and more powerful methods but are implemented for the purpose of binary + compatibility. */ @@ -2269,4 +2662,518 @@ */ +//! @} + + +/*! + \name Finding Data Convenience Methods + + These methods may be used as alternatives to the Find data methods above + which allow you to specify a default value to use if the value you are + looking for is not found and return the result instead of filling out an + out parameter and status code. If you are not interested in the status code + these methods allow for some code simplification. + + For example, instead of writing: + +\code +bool enabled; +if (FindBool("enabled", &enabled) != B_OK) + enabled = false; +\endcode + + you can write the following: + +\code +bool enabled = GetBool("enabled", false); +\endcode + + reducing the example to a single line. +*/ + + +//! @{ + + +/*! + \fn bool BMessage::GetBool(const char* name, bool defaultValue) const + \brief Return the boolean value from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn bool BMessage::GetBool(const char* name, int32 index, + bool defaultValue) const + \brief Return the boolean value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int8 BMessage::GetInt8(const char* name, int8 defaultValue) const + \brief Return the int8 value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int8 BMessage::GetInt8(const char* name, int32 index, + int8 defaultValue) const + \brief Return the int8 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint8 BMessage::GetUInt8(const char* name, uint8 defaultValue) const + \brief Return the uint8 value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint8 BMessage::GetUInt8(const char* name, int32 index, + uint8 defaultValue) const + \brief Return the uint8 message from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int16 BMessage::GetInt16(const char* name, int16 defaultValue) const + \brief Return the int16 value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int16 BMessage::GetInt16(const char* name, int32 index, + int16 defaultValue) const + \brief Return the int16 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint16 BMessage::GetUInt16(const char* name, uint16 defaultValue) const + \brief Return the uint16 value from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint16 BMessage::GetUInt16(const char* name, int32 index, + uint16 defaultValue) const + \brief Return the uint16 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int32 BMessage::GetInt32(const char* name, int32 defaultValue) const + \brief Return the int32 value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int32 BMessage::GetInt32(const char* name, int32 index, + int32 defaultValue) const + \brief Return the int32 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint32 BMessage::GetUInt32(const char* name, uint32 defaultValue) const + \brief Return the uint32 value from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint32 BMessage::GetUInt32(const char* name, int32 index, + uint32 defaultValue) const + \brief Return the uint32 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int64 BMessage::GetInt64(const char* name, int64 defaultValue) const + \brief Return the int64 value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn int64 BMessage::GetInt64(const char* name, int32 index, + int64 defaultValue) const + \brief Return the int64 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint64 BMessage::GetUInt64(const char* name, uint64 defaultValue) const + \brief Return the uint64 value from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn uint64 BMessage::GetUInt64(const char* name, int32 index, + uint64 defaultValue) const + \brief Return the uint64 value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn float BMessage::GetFloat(const char* name, float defaultValue) const + \brief Return the float value from message with \a name, or \a defaultValue + if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn float BMessage::GetFloat(const char* name, int32 index, + float defaultValue) const + \brief Return the float value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn double BMessage::GetDouble(const char* name, double defaultValue) const + \brief Return the double value from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn double BMessage::GetDouble(const char* name, int32 index, + double defaultValue) const + \brief Return the double value from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn void* BMessage::GetPointer(const char* name, + const void* defaultValue) const + \brief Return the pointer from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn void* BMessage::GetPointer(const char* name, int32 index, + const void* defaultValue) const + \brief Return the pointer from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn const char* BMessage::GetString(const char* name, + const char* defaultValue) const + \brief Return the string from message with \a name, or \a defaultValue if + not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn const char* BMessage::GetString(const char* name, int32 index, + const char* defaultValue) const + \brief Return the string from message with \a name and \a index, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BAlignment BMessage::GetAlignment(const char* name, + const BAlignment& defaultValue) const + \brief Return the BAlignment object from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BAlignment BMessage::GetAlignment(const char* name, int32 index, + const BAlignment& defaultValue) const + \brief Return the BAlignment object from message with \a name and \a index, + or \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BRect BMessage::GetRect(const char* name, const BRect& defaultValue) const + \brief Return the BRect object from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BRect BMessage::GetRect(const char* name, int32 index, + const BRect& defaultValue) const + \brief Return the BRect object from message with \a name and \a index, + or \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BPoint BMessage::GetPoint(const char* name, + const BPoint& defaultValue) const + \brief Return the BPoint object from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BPoint BMessage::GetPoint(const char* name, int32 index, + const BPoint& defaultValue) const + \brief Return the BPoint object from message with \a name and \a index, + or \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BSize BMessage::GetSize(const char* name, + const BSize& defaultValue) const + \brief Return the BSize object from message with \a name, or + \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + +/*! + \fn BSize BMessage::GetSize(const char* name, int32 index, + const BSize& defaultValue) const + \brief Return the BSize object from message with \a name and \a index, + or \a defaultValue if not found. + + \param name The name of the item to retrieve. + \param index The index of the item to retrieve if there is more than one. + \param defaultValue The value to use if the item specified by \a name + is not found. + + \return The item with \a name, or \a defaultValue if not found. +*/ + + //! @} From 62e43541d730ae689710dbe1ddcd022866d67e72 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 00:33:46 +0100 Subject: [PATCH 059/122] nfs4: Fix wrong parenthesising in ReplyInterpreter::_FlattenPathname This patch solves CID 990966. --- .../kernel/file_systems/nfs4/ReplyInterpreter.cpp | 14 +++++++------- .../kernel/file_systems/nfs4/ReplyInterpreter.h | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index 1dbcd8d3dd..644460edca 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -522,17 +522,17 @@ ReplyInterpreter::Write(uint32* size) } -static const char* -sFlattenPathname(XDR::ReadStream& str) +const char* +ReplyInterpreter::_FlattenPathname(XDR::ReadStream& stream) { - uint32 count = str.GetUInt(); + uint32 count = stream.GetUInt(); char* pathname = NULL; uint32 size = 0; for (uint32 i = 0; i < count; i++) { - const char* path = str.GetString(); + const char* path = stream.GetString(); size += strlen(path) + 1; if (pathname == NULL) { - pathname = reinterpret_cast(malloc(strlen(path + 1))); + pathname = reinterpret_cast(malloc(strlen(path) + 1)); pathname[0] = '\0'; } else { *pathname++ = '/'; @@ -657,11 +657,11 @@ ReplyInterpreter::_DecodeAttrs(XDR::ReadStream& str, AttrValue** attrs, values[current].fAttribute = FATTR4_FS_LOCATIONS; FSLocations* locs = new FSLocations; - locs->fRootPath = sFlattenPathname(stream); + locs->fRootPath = _FlattenPathname(stream); locs->fCount = stream.GetUInt(); locs->fLocations = new FSLocation[locs->fCount]; for (uint32 i = 0; i < locs->fCount; i++) { - locs->fLocations[i].fRootPath = sFlattenPathname(stream); + locs->fLocations[i].fRootPath = _FlattenPathname(stream); locs->fLocations[i].fCount = stream.GetUInt(); locs->fLocations[i].fLocations = new const char*[locs->fLocations[i].fCount]; diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h index b630b8ffb9..654963ad4e 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h @@ -108,6 +108,8 @@ public: private: void _ParseHeader(); + static const char* _FlattenPathname(XDR::ReadStream& stream); + status_t _DecodeAttrs(XDR::ReadStream& stream, AttrValue** attrs, uint32* count); status_t _OperationError(Opcode op); From e975b31db334fa84e61d3c59228eb72660759f0d Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 00:36:49 +0100 Subject: [PATCH 060/122] nfs4: Ensure that a string is NULL terminated after strncpy() This fixes CID 990971. --- src/add-ons/kernel/file_systems/nfs4/RootInode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp b/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp index a215d6bb7b..5278cf8f51 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp @@ -135,7 +135,8 @@ RootInode::_UpdateInfo(bool force) || fFileSystem->GetConfiguration().fEmulateNamedAttrs) fInfoCache.flags |= B_FS_HAS_MIME | B_FS_HAS_ATTR; - strncpy(fInfoCache.volume_name, fName, B_FILE_NAME_LENGTH); + strncpy(fInfoCache.volume_name, fName, sizeof(fInfoCache.volume_name)); + fInfoCache.volume_name[sizeof(fInfoCache.volume_name) - 1] = '\0'; fInfoCacheExpire = time(NULL) + MetadataCache::kExpirationTime; From c689b9f5f144eb53acbea56b83af1e99274d48e4 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 00:39:24 +0100 Subject: [PATCH 061/122] nfs4: Fix CID 990984 and 991173: missing assignment in error check --- src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp index 1b3851704c..0ea69d0685 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/InodeDir.cpp @@ -181,7 +181,7 @@ Inode::ReadDirUp(struct dirent* de, uint32 pos, uint32 size) if (fFileSystem->IsAttrSupported(FATTR4_FILEID)) { AttrValue* values; uint32 count; - reply.GetAttr(&values, &count); + result = reply.GetAttr(&values, &count); if (result != B_OK) return result; From a43c0e5ce0e2e7039b9397c51a574d221e9a6fed Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 00:44:13 +0100 Subject: [PATCH 062/122] nfs4: Fix error checking in NFS4Server::_Renewal() This fixes CID 990985. --- src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp index e92ede74ba..830935fc3b 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp @@ -229,7 +229,7 @@ NFS4Server::_Renewal() if (result != B_TIMED_OUT) { if (result == B_OK) release_sem(fWaitCancel); - return B_OK; + return result; } uint64 clientId = fClientId; @@ -244,7 +244,9 @@ NFS4Server::_Renewal() Request request(fServer, NULL); request.Builder().Renew(clientId); - request.Send(); + result = request.Send(); + if (result != B_OK) + continue; switch (request.Reply().NFS4Error()) { case NFS4ERR_CB_PATH_DOWN: From 271d1540b10d973aa59aa08a715f451487d04479 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 00:58:15 +0100 Subject: [PATCH 063/122] nfs4: Do not rely on implementation defined casting uint32 to int32 This solves CID 991172. --- src/add-ons/kernel/file_systems/nfs4/Connection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Connection.cpp b/src/add-ons/kernel/file_systems/nfs4/Connection.cpp index 937e45ed1b..5994b51eee 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Connection.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Connection.cpp @@ -477,7 +477,7 @@ ConnectionStream::Receive(void** _buffer, uint32* _size) record_size = ntohl(record_size); ASSERT(record_size > 0); - last_one = static_cast(record_size) < 0; + last_one = (record_size & LAST_FRAGMENT) != 0; record_size &= LAST_FRAGMENT - 1; void* ptr = realloc(buffer, size + record_size); From b42b242f62894fba406f4736fd462fbac2115744 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 01:11:20 +0100 Subject: [PATCH 064/122] nfs4: Fix CID 991174: improve error checking in NFS4Inode::OpenFile() --- src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 6118c42175..56c226baeb 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -609,10 +609,8 @@ NFS4Inode::OpenFile(OpenState* state, int mode, OpenDelegationData* delegation) } result = reply.Verify(); - if (result != B_OK) { + if (result != B_OK) fFileSystem->OpenOwnerSequenceUnlock(sequence); - return result; - } if (result != B_OK && reply.NFS4Error() == NFS4ERR_NOT_SAME) return B_ENTRY_NOT_FOUND; @@ -623,10 +621,13 @@ NFS4Inode::OpenFile(OpenState* state, int mode, OpenDelegationData* delegation) reply.PutFH(); result = reply.Open(state->fStateID, &state->fStateSeq, &confirm, delegation); + if (result != B_OK) { + fFileSystem->OpenOwnerSequenceUnlock(sequence); + return result; + } FileHandle handle; - reply.GetFH(&handle); - + result = reply.GetFH(&handle); if (result != B_OK) { fFileSystem->OpenOwnerSequenceUnlock(sequence); return result; @@ -638,7 +639,7 @@ NFS4Inode::OpenFile(OpenState* state, int mode, OpenDelegationData* delegation) state->fOpened = true; if (confirm) - result = ConfirmOpen(fInfo.fHandle, state, &sequence); + result = ConfirmOpen(fInfo.fHandle, state, &sequence); fFileSystem->OpenOwnerSequenceUnlock(sequence); return result; From b0e5bfeab52f88aefd73ebd22787edea05c7d3ca Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 01:15:27 +0100 Subject: [PATCH 065/122] nfs4: Fix CID 991246: use name of the old entry when reporting removal --- src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp index c40707a35d..577a8a7f56 100644 --- a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp @@ -334,7 +334,7 @@ DirectoryCache::NotifyChanges(DirectoryCacheSnapshot* oldSnapshot, while (oldCurrent != NULL) { if (fAttrDir) { notify_attribute_changed(fInode->GetFileSystem()->DevId(), - fInode->ID(), newCurrent->fName, B_ATTR_REMOVED); + fInode->ID(), oldCurrent->fName, B_ATTR_REMOVED); } else { notify_entry_removed(fInode->GetFileSystem()->DevId(), fInode->ID(), oldCurrent->fName, oldCurrent->fNode); From f73dd62491f3a31751e21c057b3bccef64ca65d5 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 01:23:01 +0100 Subject: [PATCH 066/122] nfs4: Fix CID 991294: error handling issues in Auth::CreateSys() --- src/add-ons/kernel/file_systems/nfs4/RPCAuth.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RPCAuth.cpp b/src/add-ons/kernel/file_systems/nfs4/RPCAuth.cpp index b10f2abba0..9164c87b5d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RPCAuth.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RPCAuth.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -51,6 +52,7 @@ Auth::CreateSys() Auth* auth = new(std::nothrow) Auth; if (auth == NULL) return NULL; + ObjectDeleter authDeleter(auth); XDR::WriteStream xdr; xdr.AddUInt(time(NULL)); @@ -64,7 +66,12 @@ Auth::CreateSys() xdr.AddUInt(getgid()); int count = getgroups(0, NULL); + if (count < B_OK) + return NULL; gid_t* groups = (gid_t*)malloc(count * sizeof(gid_t)); + if (groups == NULL) + return NULL; + int len = getgroups(count, groups); if (len > 0) { len = min_c(len, 16); @@ -74,18 +81,15 @@ Auth::CreateSys() } else xdr.AddUInt(0); free(groups); - if (xdr.Error() != B_OK) { - delete auth; + if (xdr.Error() != B_OK) return NULL; - } auth->fStream.AddInt(AUTH_SYS); auth->fStream.AddOpaque(xdr); - if (auth->fStream.Error() != B_OK) { - delete auth; + if (auth->fStream.Error() != B_OK) return NULL; - } + authDeleter.Detach(); return auth; } From 246c199c405c382ff1260fc30c8ab48b992a2a5c Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 01:34:22 +0100 Subject: [PATCH 067/122] nfs4: Fix memory leaks in case of error in ReplyInterpreter::_DecodeAttrs() This patch fixes CID 991505, 991504, 991502, 991500, 991499, 991496. --- .../kernel/file_systems/nfs4/ReplyInterpreter.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index 644460edca..e13808cbff 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -11,6 +11,7 @@ #include +#include #include #include "Cookie.h" @@ -554,6 +555,7 @@ ReplyInterpreter::_DecodeAttrs(XDR::ReadStream& str, AttrValue** attrs, uint32* bitmap = new(std::nothrow) uint32[bcount]; if (bitmap == NULL) return B_NO_MEMORY; + ArrayDeleter _(bitmap); uint32 attr_count = 0; for (uint32 i = 0; i < bcount; i++) { @@ -573,10 +575,8 @@ ReplyInterpreter::_DecodeAttrs(XDR::ReadStream& str, AttrValue** attrs, XDR::ReadStream stream(const_cast(ptr), size); AttrValue* values = new(std::nothrow) AttrValue[attr_count]; - if (values == NULL) { - delete[] bitmap; + if (values == NULL) return B_NO_MEMORY; - } uint32 current = 0; @@ -774,11 +774,13 @@ ReplyInterpreter::_DecodeAttrs(XDR::ReadStream& str, AttrValue** attrs, current++; } - delete[] bitmap; - *count = attr_count; *attrs = values; - return str.IsEOF() ? B_BAD_VALUE : B_OK; + if (str.IsEOF()) { + delete[] values; + return B_BAD_VALUE; + } + return B_OK; } From 2723b9eba4016848365fb45f5d2121ecb2d96078 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:22:14 +0100 Subject: [PATCH 068/122] nfs4: Fix CID 991506: memory leak in case of error --- src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index bb80315688..5c4c832b9e 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -233,8 +233,10 @@ nfs4_get_vnode(fs_volume* volume, ino_t id, fs_vnode* vnode, int* _type, Inode* inode; status_t result = fs->GetInode(id, &inode); - if (result != B_OK) + if (result != B_OK) { + delete vnodeToInode; return result; + } vnodeToInode->Replace(inode); vnode->ops = &gNFSv4VnodeOps; From 4fa87bf1529b857a28528fef8e62100a3bcb2f42 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:30:17 +0100 Subject: [PATCH 069/122] nfs4: check for presence of FATTR4_CHANGE is not required This fixes CID 991501. --- src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 56c226baeb..97f9a10b51 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -45,7 +45,7 @@ NFS4Inode::GetChangeInfo(uint64* change, bool attrDir) AttrValue* values; uint32 count; result = reply.GetAttr(&values, &count); - if (result != B_OK || count < 1) + if (result != B_OK) return result; // FATTR4_CHANGE is mandatory From 55ca54ccf590ee28d39fedcb2f78bb76eb2bd835 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:32:05 +0100 Subject: [PATCH 070/122] nfs4: Take advantage of strlcpy() --- src/add-ons/kernel/file_systems/nfs4/RootInode.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp b/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp index 5278cf8f51..e79f832823 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RootInode.cpp @@ -135,8 +135,7 @@ RootInode::_UpdateInfo(bool force) || fFileSystem->GetConfiguration().fEmulateNamedAttrs) fInfoCache.flags |= B_FS_HAS_MIME | B_FS_HAS_ATTR; - strncpy(fInfoCache.volume_name, fName, sizeof(fInfoCache.volume_name)); - fInfoCache.volume_name[sizeof(fInfoCache.volume_name) - 1] = '\0'; + strlcpy(fInfoCache.volume_name, fName, sizeof(fInfoCache.volume_name)); fInfoCacheExpire = time(NULL) + MetadataCache::kExpirationTime; From 80f94193c43c146ed235405c3bb8ae20082c76f4 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:37:44 +0100 Subject: [PATCH 071/122] nfs4: Fix error handling issues in Inode::Open() and Inode::Create() This fixes CID 991498. --- .../kernel/file_systems/nfs4/InodeRegular.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp index 974827413b..4eb1d49db9 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp @@ -74,10 +74,15 @@ Inode::Create(const char* name, int mode, int perms, OpenFileCookie* cookie, cookie->fMode = mode; cookie->fLocks = NULL; - OpenState* state = new OpenState; + OpenState* state = new(std::nothrow) OpenState; + if (state == NULL) + return B_NO_MEMORY; + status_t result = CreateState(name, mode, perms, state, data); - if (result != B_OK) + if (result != B_OK) { + delete state; return result; + } cookie->fOpenState = state; cookie->fFileSystem = fFileSystem; @@ -105,7 +110,7 @@ Inode::Open(int mode, OpenFileCookie* cookie) if (fOpenState == NULL) { RevalidateFileCache(); - OpenState* state = new OpenState; + OpenState* state = new(std::nothrow) OpenState; if (state == NULL) return B_NO_MEMORY; @@ -113,8 +118,10 @@ Inode::Open(int mode, OpenFileCookie* cookie) state->fFileSystem = fFileSystem; state->fMode = mode & O_RWMASK; status_t result = OpenFile(state, mode, &data); - if (result != B_OK) + if (result != B_OK) { + delete state; return result; + } fFileSystem->AddOpenFile(state); fOpenState = state; From 83b13040c8004685d4d1128bd83baa5f4ac012ff Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:43:22 +0100 Subject: [PATCH 072/122] nfs4: Remove RequestBuilder::ReadDir() count argument The argument is ignored anyway. This fixes CID 991593. --- src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp | 2 +- src/add-ons/kernel/file_systems/nfs4/RequestBuilder.cpp | 6 ++---- src/add-ons/kernel/file_systems/nfs4/RequestBuilder.h | 5 ++--- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 97f9a10b51..2e0aee45ac 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -966,7 +966,7 @@ NFS4Inode::ReadDirOnce(DirEntry** dirents, uint32* count, OpenDirCookie* cookie, req.GetAttr(dirAttr, sizeof(dirAttr) / sizeof(Attribute)); Attribute attr[] = { FATTR4_FSID, FATTR4_FILEID }; - req.ReadDir(*count, *dirCookie, *dirCookieVerf, attr, + req.ReadDir(*dirCookie, *dirCookieVerf, attr, sizeof(attr) / sizeof(Attribute)); req.GetAttr(dirAttr, sizeof(dirAttr) / sizeof(Attribute)); diff --git a/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.cpp b/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.cpp index 83ff3b4cf8..f900b846ae 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.cpp @@ -516,11 +516,9 @@ RequestBuilder::Read(const uint32* id, uint32 stateSeq, uint64 pos, uint32 len) status_t -RequestBuilder::ReadDir(uint32 count, uint64 cookie, uint64 cookieVerf, - Attribute* attrs, uint32 attrCount) +RequestBuilder::ReadDir(uint64 cookie, uint64 cookieVerf, Attribute* attrs, + uint32 attrCount) { - (void)count; - if (fProcedure != ProcCompound) return B_BAD_VALUE; if (fRequest == NULL) diff --git a/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.h b/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.h index 6bf75248f9..00b0d07f75 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.h +++ b/src/add-ons/kernel/file_systems/nfs4/RequestBuilder.h @@ -63,9 +63,8 @@ public: status_t PutRootFH(); status_t Read(const uint32* id, uint32 stateSeq, uint64 pos, uint32 len); - status_t ReadDir(uint32 count, uint64 cookie, - uint64 cookieVerf, Attribute* attrs, - uint32 attrCount); + status_t ReadDir(uint64 cookie, uint64 cookieVerf, + Attribute* attrs, uint32 attrCount); status_t ReadLink(); status_t Remove(const char* file); status_t Rename(const char* from, const char* to); From b302859608dd492877a0c5b492cf7d81953f0c8b Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:52:39 +0100 Subject: [PATCH 073/122] nfs4: Fix memory leaks in case of errors while reading a directory This fixes CID 991497. --- src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp | 9 ++++++--- .../kernel/file_systems/nfs4/ReplyInterpreter.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 2e0aee45ac..3dfdd61d80 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -7,6 +7,8 @@ */ +#include + #include "IdMap.h" #include "Inode.h" #include "NFS4Inode.h" @@ -989,12 +991,14 @@ NFS4Inode::ReadDirOnce(DirEntry** dirents, uint32* count, OpenDirCookie* cookie, if (result != B_OK) return result; } + ArrayDeleter beforeDeleter(before); result = reply.ReadDir(dirCookie, dirCookieVerf, dirents, count, eof); if (result != B_OK) { delete[] before; return result; } + ArrayDeleter entriesDeleter(*dirents); AttrValue* after; result = reply.GetAttr(&after, &attrCount); @@ -1002,6 +1006,7 @@ NFS4Inode::ReadDirOnce(DirEntry** dirents, uint32* count, OpenDirCookie* cookie, delete[] before; return result; } + ArrayDeleter afterDeleter(after); if ((*change == 0 && before[0].fData.fValue64 == after[0].fData.fValue64) @@ -1010,9 +1015,7 @@ NFS4Inode::ReadDirOnce(DirEntry** dirents, uint32* count, OpenDirCookie* cookie, else return B_ERROR; - delete[] before; - delete[] after; - + entriesDeleter.Detach(); return B_OK; } while (true); } diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index e13808cbff..d078e4bc18 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -427,7 +427,12 @@ ReplyInterpreter::ReadDir(uint64* cookie, uint64* cookieVerf, *_count = count; *dirents = entries; - return fReply->Stream().IsEOF() ? B_BAD_VALUE : B_OK; + if (fReply->Stream().IsEOF()) { + delete[] entries; + return B_BAD_VALUE; + } + + return B_OK; } From 5bdf33bc7a55acae20d715fb7527b676ca77fd49 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:55:31 +0100 Subject: [PATCH 074/122] nfs4: Remove check for presence of mandatory attributes This fixes CID 991495. --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index abebe6f982..48ad7f0204 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -86,7 +86,7 @@ Inode::CreateInode(FileSystem* fs, const FileInfo& fi, Inode** _inode) AttrValue* values; uint32 count; result = reply.GetAttr(&values, &count); - if (result != B_OK || count < 4) + if (result != B_OK) return result; if (fi.fFileId == 0) { From ca8ad1dc1a9a5798b402e171814c903e019c185e Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 02:57:18 +0100 Subject: [PATCH 075/122] nfs4: Fix CID 991752: remove unnecessary return --- src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp index 830935fc3b..21411ccfe2 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Server.cpp @@ -366,7 +366,6 @@ NFS4Server::CallbackGetAttr(RequestInterpreter* request, ReplyBuilder* reply) status_t result = request->GetAttr(&handle, &mask); if (result != B_OK) return result; - return B_OK; MutexLocker locker(fFSLock); From 3764bc554c11dda565ca2b3ac3f4c129d3db9247 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 19 Mar 2013 19:51:17 -0500 Subject: [PATCH 076/122] swrast_legacy: fix gcc2 GL rendering * hrev45297 removed the setting of the defines in addition to removing the --no-warnings * Found after a git bisect and stpere's sharp eyes * Finally resolves #9473 --- src/add-ons/opengl/swrast_legacy/Jamfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/add-ons/opengl/swrast_legacy/Jamfile b/src/add-ons/opengl/swrast_legacy/Jamfile index 6f171b6c81..d9ac110474 100644 --- a/src/add-ons/opengl/swrast_legacy/Jamfile +++ b/src/add-ons/opengl/swrast_legacy/Jamfile @@ -20,6 +20,8 @@ if $(TARGET_PLATFORM) != haiku { } else if $(TARGET_ARCH) = sparc { defines += USE_SPARC_ASM ; } + + SubDirC++Flags [ FDefines $(defines) ] ; } From 5d8d472d1a6509a11b2597ce94b030bce86dd9ab Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Wed, 20 Mar 2013 01:38:43 -0500 Subject: [PATCH 077/122] GL: Upgrade to Mesa 9.1.1 * Somefix-ups and repairs for changes to how Mesa works internally * _Flush and _Error need additional work as DriverCtx was removed * Tested working --- build/jam/BuildFeatures | 2 +- .../opengl/swrast/MesaSoftwareRenderer.cpp | 27 ++++++++++++++----- .../opengl/swrast/MesaSoftwareRenderer.h | 3 ++- src/kits/opengl/GLDispatcher.cpp | 1 - 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 1148177eac..6f1cca69ae 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -344,7 +344,7 @@ if $(TARGET_ARCH) = x86 { if $(TARGET_ARCH) = x86 { local zipFile ; if $(HAIKU_GCC_VERSION[1]) >= 4 { - HAIKU_MESA_FILE = mesa-9.0.2-x86-gcc4-2013-02-17.zip ; + HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-03-20.zip ; } else { HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-02-17.zip ; } diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp index 0b21ff46ca..bfa526aad1 100644 --- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp +++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp @@ -23,12 +23,15 @@ extern "C" { #include "extensions.h" #include "drivers/common/driverfuncs.h" #include "drivers/common/meta.h" +#include "main/api_exec.h" #include "main/colormac.h" #include "main/cpuinfo.h" #include "main/buffers.h" #include "main/formats.h" #include "main/framebuffer.h" #include "main/renderbuffer.h" +#include "main/version.h" +#include "main/vtxfmt.h" #include "swrast/swrast.h" #include "swrast/s_renderbuffer.h" #include "swrast_setup/swrast_setup.h" @@ -113,8 +116,8 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options, functions.Flush = _Flush; // create core context - fContext = _mesa_create_context(API_OPENGL, fVisual, NULL, - &functions, this); + fContext = _mesa_create_context(API_OPENGL_COMPAT, fVisual, NULL, + &functions); if (!fContext) { ERROR("%s: Failed to create Mesa context!\n", __func__); @@ -140,6 +143,11 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options, _mesa_enable_2_0_extensions(fContext); _mesa_enable_2_1_extensions(fContext); + _mesa_compute_version(fContext); + + _mesa_initialize_dispatch_tables(fContext); + _mesa_initialize_vbo_vtxfmt(fContext); + // create core framebuffer fFrameBuffer = _mesa_create_framebuffer(fVisual); if (fFrameBuffer == NULL) { @@ -460,9 +468,13 @@ MesaSoftwareRenderer::_AllocateBitmap() void MesaSoftwareRenderer::_Error(gl_context* ctx) { + CALLED(); + #if 0 + // TODO: err. Mesa dropped DriverCtx MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx; if (mr && mr->GLView()) mr->GLView()->ErrorCallback((unsigned long)ctx->ErrorValue); + #endif } @@ -552,13 +564,15 @@ void MesaSoftwareRenderer::_Flush(gl_context* ctx) { CALLED(); - MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx; - if ((mr->fOptions & BGL_DOUBLE) == 0) { + #if 0 + // TODO: err. Mesa dropped DriverCtx + if ((fOptions & BGL_DOUBLE) == 0) { // TODO: SwapBuffers() can call _CopyToDirect(), which should // be always called with with the BGLView drawlocked. // This is not always the case if called from here. - mr->SwapBuffers(); + SwapBuffers(); } + #endif } @@ -660,7 +674,8 @@ MesaSoftwareRenderer::_RenderBufferMap(gl_context *ctx, void -MesaSoftwareRenderer::_RenderBufferDelete(struct gl_renderbuffer* rb) +MesaSoftwareRenderer::_RenderBufferDelete(struct gl_context *ctx, + struct gl_renderbuffer* rb) { CALLED(); if (rb != NULL) { diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h index efefad0759..ba64751b86 100644 --- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h +++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h @@ -55,7 +55,8 @@ private: color_space colorSpace); /* Mesa callbacks */ - static void _RenderBufferDelete(struct gl_renderbuffer* rb); + static void _RenderBufferDelete(struct gl_context *ctx, + struct gl_renderbuffer* rb); static GLboolean _RenderBufferStorage(gl_context* ctx, struct gl_renderbuffer* render, GLenum internalFormat, diff --git a/src/kits/opengl/GLDispatcher.cpp b/src/kits/opengl/GLDispatcher.cpp index 87b3b193cd..b1c69d08c3 100644 --- a/src/kits/opengl/GLDispatcher.cpp +++ b/src/kits/opengl/GLDispatcher.cpp @@ -14,7 +14,6 @@ extern "C" { #if __GNUC__ > 2 // New Mesa #include "glapi_priv.h" -#include "glapitable.h" #endif From 190423a65660a7b4a3ad92c0a97a5fcfe2278d83 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Wed, 20 Mar 2013 13:15:28 -0500 Subject: [PATCH 078/122] cpu_type: Add model 2 AMD FX CPU --- headers/os/kernel/OS.h | 3 ++- headers/private/shared/cpu_type.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/headers/os/kernel/OS.h b/headers/os/kernel/OS.h index d5441da4d2..8532de03a9 100644 --- a/headers/os/kernel/OS.h +++ b/headers/os/kernel/OS.h @@ -592,7 +592,8 @@ typedef enum cpu_types { B_CPU_AMD_E_SERIES = 0x5011f2, // Family 15h - B_CPU_AMD_FX_SERIES = 0x6011f1, /* Bulldozer */ + B_CPU_AMD_FX_SERIES_MODEL_1 = 0x6011f1, /* Bulldozer */ + B_CPU_AMD_FX_SERIES_MODEL_2 = 0x6011f2, /* VIA/Cyrix */ B_CPU_CYRIX_x86 = 0x1200, diff --git a/headers/private/shared/cpu_type.h b/headers/private/shared/cpu_type.h index b1828a85b6..71481c2b1f 100644 --- a/headers/private/shared/cpu_type.h +++ b/headers/private/shared/cpu_type.h @@ -350,7 +350,8 @@ get_cpu_model_string(system_info *info) return "C-Series"; case B_CPU_AMD_E_SERIES: return "E-Series"; - case B_CPU_AMD_FX_SERIES: + case B_CPU_AMD_FX_SERIES_MODEL_1: + case B_CPU_AMD_FX_SERIES_MODEL_2: return "FX-Series"; /* Transmeta */ From df4d35e837cc7ba09409fc0111031351385411df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 20 Mar 2013 20:59:26 +0100 Subject: [PATCH 079/122] Added a parse_amd() for CPU identification. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * This parses the reported CPU name, and tries to translate it to a normal and concise identifier. * For example, it will translate "AMD FX(tm)-8320 Eight-core Processor" into "FX™ 8320" or "Dual Core AMD Opteron(tm) Processor 275 HE" into "Opteron™ 275 HE". * This means we can remove AMD strings for those models for which this function produces useful results. --- headers/private/shared/cpu_type.h | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/headers/private/shared/cpu_type.h b/headers/private/shared/cpu_type.h index 71481c2b1f..f4a9c755cc 100644 --- a/headers/private/shared/cpu_type.h +++ b/headers/private/shared/cpu_type.h @@ -78,6 +78,71 @@ parse_intel(const char* name) buffer[outIndex] = '\0'; return buffer; } + + +static const char* +parse_amd(const char* name) +{ + static char buffer[49]; + + // ignore initial spaces + int index = 0; + for (; name[index] != '\0'; index++) { + if (name[index] != ' ') + break; + } + + // parse model + int outIndex = 0; + bool spaceWritten = false; + for (; name[index] != '\0'; index++) { + if (!strncasecmp(&name[index], "(r)", 3)) { + outIndex += strlcpy(&buffer[outIndex], "®", + sizeof(buffer) - outIndex); + index += 2; + } else if (!strncasecmp(&name[index], "(tm)", 4)) { + outIndex += strlcpy(&buffer[outIndex], "™", + sizeof(buffer) - outIndex); + index += 3; + } else if (!strncasecmp(&name[index], "Dual core", 9)) { + index += 9; + } else if (!strncasecmp(&name[index], "Eight-core", 10) + || !strncasecmp(&name[index], "Quad-core", 9) + || !strncasecmp(&name[index], "Processor", 9) + || !strncasecmp(&name[index], "AMD", 3)) { + // Remove words + while (name[index] != ' ' && name[index] != '\0') + index++; + + index--; + } else if (name[index] == '-') { + if (!spaceWritten) + buffer[outIndex++] = ' '; + spaceWritten = true; + } else { + if (name[index] == ' ') { + if (spaceWritten) + continue; + spaceWritten = true; + } else + spaceWritten = false; + buffer[outIndex++] = name[index]; + } + } + + // cut off trailing spaces + while (outIndex > 1 && buffer[outIndex - 1] == ' ') + outIndex--; + + buffer[outIndex] = '\0'; + + // skip new initial spaces + for (outIndex = 0; buffer[outIndex] != '\0'; outIndex++) { + if (buffer[outIndex] != ' ') + break; + } + return buffer + outIndex; +} #endif @@ -406,6 +471,11 @@ get_cpu_model_string(system_info *info) get_cpuid_model_string(cpuidName); return parse_intel(cpuidName); } + if ((info->cpu_type & B_CPU_x86_VENDOR_MASK) == B_CPU_AMD_x86) { + // Fallback to manual parsing of the model string + get_cpuid_model_string(cpuidName); + return parse_amd(cpuidName); + } return NULL; #endif /* __INTEL__ || __x86_64__ */ } From 1ca8178c52e353bc6832e7418a844d86dcb712d6 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 00:20:11 +0100 Subject: [PATCH 080/122] nfs4: Fix #9555: wrong relational operator used --- src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp index 577a8a7f56..b40ea50bd8 100644 --- a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp @@ -250,7 +250,7 @@ DirectoryCache::_LoadSnapshot(bool trash) status_t DirectoryCache::Revalidate() { - if (fExpireTime < system_time()) + if (fExpireTime > system_time()) return B_OK; uint64 change; From 3d064796c7e4765e62811d3d17f94c015d9af85b Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 00:44:59 +0100 Subject: [PATCH 081/122] nfs4: Allow customization of DirectoryCache expiration time --- src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp | 8 ++++---- src/add-ons/kernel/file_systems/nfs4/DirectoryCache.h | 8 +++----- src/add-ons/kernel/file_systems/nfs4/FileSystem.h | 2 ++ src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp | 6 ++++++ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp index b40ea50bd8..321e73d8d7 100644 --- a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp @@ -78,7 +78,7 @@ DirectoryCacheSnapshot::~DirectoryCacheSnapshot() DirectoryCache::DirectoryCache(Inode* inode, bool attr) : - fRevalidated(false), + fExpirationTime(inode->fFileSystem->GetConfiguration().fDirectoryCacheTime), fDirectoryCache(NULL), fInode(inode), fAttrDir(attr), @@ -100,7 +100,7 @@ void DirectoryCache::Reset() { Trash(); - fExpireTime = system_time() + kExpirationTime; + fExpireTime = system_time() + fExpirationTime; fTrashed = false; } @@ -232,7 +232,7 @@ DirectoryCache::_LoadSnapshot(bool trash) newSnapshot->AcquireReference(); _SetSnapshot(newSnapshot); - fExpireTime = system_time() + kExpirationTime; + fExpireTime = system_time() + fExpirationTime; fTrashed = false; @@ -260,7 +260,7 @@ DirectoryCache::Revalidate() } if (change == fChange) { - fExpireTime = system_time() + kExpirationTime; + fExpireTime = system_time() + fExpirationTime; return B_OK; } diff --git a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.h b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.h index 357ec6e213..f7240d921c 100644 --- a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.h +++ b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.h @@ -66,9 +66,7 @@ public: inline Inode* GetInode(); - static const bigtime_t kExpirationTime = 15000000; - - bool fRevalidated; + const bigtime_t fExpirationTime; protected: void NotifyChanges(DirectoryCacheSnapshot* oldSnapshot, DirectoryCacheSnapshot* newSnapshot); @@ -139,7 +137,7 @@ DirectoryCache::ValidateChangeInfo(uint64 change) if (fTrashed || change != fChange) { Trash(); fChange = change; - fExpireTime = system_time() + kExpirationTime; + fExpireTime = system_time() + fExpirationTime; fTrashed = false; return B_ERROR; @@ -152,7 +150,7 @@ DirectoryCache::ValidateChangeInfo(uint64 change) inline void DirectoryCache::SetChangeInfo(uint64 change) { - fExpireTime = system_time() + kExpirationTime; + fExpireTime = system_time() + fExpirationTime; fChange = change; } diff --git a/src/add-ons/kernel/file_systems/nfs4/FileSystem.h b/src/add-ons/kernel/file_systems/nfs4/FileSystem.h index 2d961b4f59..d9b4ae3d27 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileSystem.h +++ b/src/add-ons/kernel/file_systems/nfs4/FileSystem.h @@ -25,6 +25,8 @@ struct MountConfiguration { bool fEmulateNamedAttrs; bool fCacheMetadata; + + bigtime_t fDirectoryCacheTime; }; class FileSystem : public DoublyLinkedListLinkImpl { diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index 5c4c832b9e..57998827fa 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -71,6 +71,8 @@ CreateNFS4Server(RPC::Server* serv) // noxattr-emu - do not emulate named attributes (default) // port=X - connect to port X (default: 2049) // proto=X - user transport protocol X (default: tcp) +// dirtime=X - attempt revalidate directory cache not more often than each X +// seconds static status_t ParseArguments(const char* _args, AddressResolver** address, char** _path, MountConfiguration* conf) @@ -107,6 +109,7 @@ ParseArguments(const char* _args, AddressResolver** address, char** _path, conf->fRequestTimeout = sSecToBigTime(60); conf->fEmulateNamedAttrs = false; conf->fCacheMetadata = true; + conf->fDirectoryCacheTime = sSecToBigTime(5); char* optionsEnd = NULL; if (options != NULL) @@ -133,6 +136,9 @@ ParseArguments(const char* _args, AddressResolver** address, char** _path, } else if (strncmp(options, "proto=", 6) == 0) { options += strlen("proto="); (*address)->ForceProtocol(options); + } else if (strncmp(options, "dirtime=", 8) == 0) { + options += strlen("dirtime="); + conf->fDirectoryCacheTime = sSecToBigTime(atoi(options)); } options = optionsEnd; From 18d2a3609e8bb8422b568deb1c481f38d9f90792 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 02:32:00 +0100 Subject: [PATCH 082/122] nfs4: Fix #9556: wrong error handling in CreateObject --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 48ad7f0204..037930c57f 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -409,16 +409,16 @@ Inode::CreateObject(const char* name, const char* path, int mode, FileType type, uint64 fileID; FileHandle handle; - status_t result = NFS4Inode::CreateObject(name, path, mode, type, &changeInfo, - &fileID, &handle); + status_t result = NFS4Inode::CreateObject(name, path, mode, type, + &changeInfo, &fileID, &handle); if (result != B_OK) - return B_OK; + return result; fFileSystem->Root()->MakeInfoInvalid(); result = ChildAdded(name, fileID, handle); if (result != B_OK) - return B_OK; + return result; fCache->Lock(); if (fCache->Valid()) { From 65389e2f2bc7518f137de212979fa2431fbbc6a9 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 19 Mar 2013 03:39:53 +0100 Subject: [PATCH 083/122] nfs4: Fix CID 991755: break the loop after finding required element --- src/add-ons/kernel/file_systems/nfs4/Cookie.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/add-ons/kernel/file_systems/nfs4/Cookie.cpp b/src/add-ons/kernel/file_systems/nfs4/Cookie.cpp index e756e75301..1fbfe5cc6b 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Cookie.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Cookie.cpp @@ -117,6 +117,7 @@ Cookie::UnregisterRequest(RPC::Request* req) else prev->fNext = ent->fNext; delete ent; + break; } prev = ent; From ce6f81f7b2e2a7ae4d0d7facbb5e69d804b6e356 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 02:46:04 +0100 Subject: [PATCH 084/122] nfs4: Fix CID 991503: memory leak in handling callback requests --- .../kernel/file_systems/nfs4/RPCCallbackServer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RPCCallbackServer.cpp b/src/add-ons/kernel/file_systems/nfs4/RPCCallbackServer.cpp index c296289d84..fa371a0ffe 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RPCCallbackServer.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RPCCallbackServer.cpp @@ -307,17 +307,17 @@ CallbackServer::ConnectionThread(ConnectionEntry* entry) } CallbackRequest* request = new CallbackRequest(buffer, size); - if (request == NULL || request->Error() != B_OK) { + if (request == NULL) { free(buffer); - continue; - } else if (request != NULL && request->Error() != B_OK) { + continue; + } else if (request->Error() != B_OK) { reply = CallbackReply::Create(request->XID(), request->RPCError()); if (reply != NULL) { connection->Send(reply->Stream().Buffer(), reply->Stream().Size()); delete reply; } - free(buffer); + delete request; continue; } @@ -335,7 +335,7 @@ CallbackServer::ConnectionThread(ConnectionEntry* entry) } default: - free(buffer); + delete request; } } From edb1255117f4f49c49281e72eefc0beaa5c28625 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 02:48:46 +0100 Subject: [PATCH 085/122] nfs4: Fix CID 991494: memory leak if acquiring a lock fails --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 037930c57f..7d82a9c359 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -755,8 +755,10 @@ Inode::AcquireLock(OpenFileCookie* cookie, const struct flock* lock, linfo->fType = sGetLockType(lock->l_type, wait); result = NFS4Inode::AcquireLock(cookie, linfo, wait); - if (result != B_OK) + if (result != B_OK) { + delete linfo; return result; + } MutexLocker _(state->fLocksLock); state->AddLock(linfo); From b6868c6e7867cd1808633d41f574f1ab42afcd4b Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 21 Mar 2013 03:16:42 +0100 Subject: [PATCH 086/122] nfs4: Fix CID 991756: do not delete RPC::Request if (re)sending fails --- src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp | 7 ++++--- src/add-ons/kernel/file_systems/nfs4/Request.cpp | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp b/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp index 811d3d4a5a..7190fee8db 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp @@ -161,7 +161,10 @@ Server::SendCallAsync(Call* call, Reply** reply, Request** request) fRequests.AddRequest(req); *request = req; - return ResendCallAsync(call, req); + status_t error = ResendCallAsync(call, req); + if (error != B_OK) + delete req; + return error; } @@ -173,7 +176,6 @@ Server::ResendCallAsync(Call* call, Request* request) if (fThreadError != B_OK && Repair() != B_OK) { fRequests.FindRequest(request->fXID); - delete request; return fThreadError; } @@ -181,7 +183,6 @@ Server::ResendCallAsync(Call* call, Request* request) status_t result = fConnection->Send(stream.Buffer(), stream.Size()); if (result != B_OK) { fRequests.FindRequest(request->fXID); - delete request; return result; } diff --git a/src/add-ons/kernel/file_systems/nfs4/Request.cpp b/src/add-ons/kernel/file_systems/nfs4/Request.cpp index b8e8f9663d..96fa49ca34 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Request.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Request.cpp @@ -56,6 +56,7 @@ Request::_SendUDP(Cookie* cookie) if (result != B_OK) { if (cookie != NULL) cookie->UnregisterRequest(rpc); + delete rpc; return result; } From 928001cea9377cd844ed64bdfe7c8722044ef11d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 22 Mar 2013 09:36:16 +0100 Subject: [PATCH 087/122] Further tuned AMD CPU identifier parsing. * Thanks to a list of 1384 entries with AMD CPU identifiers from Alex. --- headers/private/shared/cpu_type.h | 45 ++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/headers/private/shared/cpu_type.h b/headers/private/shared/cpu_type.h index f4a9c755cc..d6f4fba391 100644 --- a/headers/private/shared/cpu_type.h +++ b/headers/private/shared/cpu_type.h @@ -1,5 +1,5 @@ /* - * Copyright 2004-2012, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2004-2013, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ @@ -92,9 +92,17 @@ parse_amd(const char* name) break; } - // parse model + // Keep an initial "mobile" int outIndex = 0; bool spaceWritten = false; + if (!strncasecmp(&name[index], "Mobile ", 7)) { + strcpy(buffer, "Mobile "); + spaceWritten = true; + outIndex += 7; + index += 7; + } + + // parse model for (; name[index] != '\0'; index++) { if (!strncasecmp(&name[index], "(r)", 3)) { outIndex += strlcpy(&buffer[outIndex], "®", @@ -104,22 +112,33 @@ parse_amd(const char* name) outIndex += strlcpy(&buffer[outIndex], "™", sizeof(buffer) - outIndex); index += 3; - } else if (!strncasecmp(&name[index], "Dual core", 9)) { - index += 9; - } else if (!strncasecmp(&name[index], "Eight-core", 10) - || !strncasecmp(&name[index], "Quad-core", 9) - || !strncasecmp(&name[index], "Processor", 9) - || !strncasecmp(&name[index], "AMD", 3)) { - // Remove words - while (name[index] != ' ' && name[index] != '\0') - index++; - - index--; + } else if (!strncmp(&name[index], "with ", 5) + || !strncmp(&name[index], "/w", 2)) { + // Cut off the rest + break; } else if (name[index] == '-') { if (!spaceWritten) buffer[outIndex++] = ' '; spaceWritten = true; } else { + const char* kWords[] = { + "Eight-core", "6-core", "Six-core", "Quad-core", "Dual-core", + "Dual core", "Processor", "APU", "AMD", "Intel", "Integrated", + "CyrixInstead", "Advanced Micro Devices", "Comb", "DualCore", + "Technology", "Mobile", "Triple-Core" + }; + bool removed = false; + for (size_t i = 0; i < sizeof(kWords) / sizeof(kWords[0]); i++) { + size_t length = strlen(kWords[i]); + if (!strncasecmp(&name[index], kWords[i], length)) { + index += length - 1; + removed = true; + break; + } + } + if (removed) + continue; + if (name[index] == ' ') { if (spaceWritten) continue; From ee8f0ab0dc5a4c9478151c3566c9fd776e14aedd Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 11:38:50 +0000 Subject: [PATCH 088/122] CID 712421: Fix unintended sign extension. --- src/add-ons/kernel/file_systems/bfs/Inode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/bfs/Inode.cpp b/src/add-ons/kernel/file_systems/bfs/Inode.cpp index ff1ddca93d..5540b07a7f 100644 --- a/src/add-ons/kernel/file_systems/bfs/Inode.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Inode.cpp @@ -1513,7 +1513,7 @@ Inode::FindBlockRun(off_t pos, block_run& run, off_t& offset) if (data->direct[current].IsZero()) break; - runBlockEnd += data->direct[current].Length() + runBlockEnd += (uint32)data->direct[current].Length() << fVolume->BlockShift(); if (runBlockEnd > pos) { run = data->direct[current]; From 27aafb14d7831bba93b3cf865af537d5fd465fd4 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 11:45:13 +0000 Subject: [PATCH 089/122] CID 712421: Missed some other occurrences, fixed them as well. --- src/add-ons/kernel/file_systems/bfs/Inode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/Inode.cpp b/src/add-ons/kernel/file_systems/bfs/Inode.cpp index 5540b07a7f..c5e92c2949 100644 --- a/src/add-ons/kernel/file_systems/bfs/Inode.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Inode.cpp @@ -1491,11 +1491,11 @@ Inode::FindBlockRun(off_t pos, block_run& run, off_t& offset) if (indirect[current].IsZero()) break; - runBlockEnd += indirect[current].Length() + runBlockEnd += (uint32)indirect[current].Length() << cached.BlockShift(); if (runBlockEnd > pos) { run = indirect[current]; - offset = runBlockEnd - (run.Length() + offset = runBlockEnd - ((uint32)run.Length() << cached.BlockShift()); return fVolume->ValidateBlockRun(run); } From 1aef6664d1e120c9dcfc5d7c96f6270243f984f7 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 14:14:33 +0000 Subject: [PATCH 090/122] Fixed compilation of VFS/IORequest trace messages. --- .../kernel/device_manager/IORequest.cpp | 4 +- src/system/kernel/fs/vfs.cpp | 83 ++++++++++--------- 2 files changed, 47 insertions(+), 40 deletions(-) diff --git a/src/system/kernel/device_manager/IORequest.cpp b/src/system/kernel/device_manager/IORequest.cpp index c573ac1b97..19b9be3bd3 100644 --- a/src/system/kernel/device_manager/IORequest.cpp +++ b/src/system/kernel/device_manager/IORequest.cpp @@ -992,8 +992,8 @@ void IORequest::OperationFinished(IOOperation* operation, status_t status, bool partialTransfer, generic_size_t transferEndOffset) { - TRACE("IORequest::OperationFinished(%p, %#lx): request: %p\n", operation, - status, this); + TRACE("IORequest::OperationFinished(%p, %#" B_PRIx32 "): request: %p\n", + operation, status, this); MutexLocker locker(fLock); diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 399caf5b78..589f367747 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -1025,7 +1025,7 @@ dec_vnode_ref_count(struct vnode* vnode, bool alwaysFree, bool reenter) ASSERT_PRINT(oldRefCount > 0, "vnode %p\n", vnode); - TRACE(("dec_vnode_ref_count: vnode %p, ref now %ld\n", vnode, + TRACE(("dec_vnode_ref_count: vnode %p, ref now %" B_PRId32 "\n", vnode, vnode->ref_count)); if (oldRefCount != 1) @@ -1078,7 +1078,7 @@ static void inc_vnode_ref_count(struct vnode* vnode) { atomic_add(&vnode->ref_count, 1); - TRACE(("inc_vnode_ref_count: vnode %p, ref now %ld\n", vnode, + TRACE(("inc_vnode_ref_count: vnode %p, ref now %" B_PRId32 "\n", vnode, vnode->ref_count)); } @@ -1119,8 +1119,8 @@ static status_t get_vnode(dev_t mountID, ino_t vnodeID, struct vnode** _vnode, bool canWait, int reenter) { - FUNCTION(("get_vnode: mountid %ld vnid 0x%Lx %p\n", mountID, vnodeID, - _vnode)); + FUNCTION(("get_vnode: mountid %" B_PRId32 " vnid 0x%" B_PRIx64 " %p\n", + mountID, vnodeID, _vnode)); rw_lock_read_lock(&sVnodeLock); @@ -1431,7 +1431,7 @@ free_unused_vnodes() static void vnode_low_resource_handler(void* /*data*/, uint32 resources, int32 level) { - TRACE(("vnode_low_resource_handler(level = %ld)\n", level)); + TRACE(("vnode_low_resource_handler(level = %" B_PRId32 ")\n", level)); free_unused_vnodes(level); } @@ -3527,7 +3527,8 @@ common_file_io_vec_pages(struct vnode* vnode, void* cookie, off_t fileOffset = fileVec.offset; off_t fileLeft = min_c(fileVec.length, bytesLeft); - TRACE(("FILE VEC [%lu] length %Ld\n", fileVecIndex, fileLeft)); + TRACE(("FILE VEC [%" B_PRIu32 "] length %" B_PRIdOFF "\n", fileVecIndex, + fileLeft)); // process the complete fileVec while (fileLeft > 0) { @@ -3552,7 +3553,7 @@ common_file_io_vec_pages(struct vnode* vnode, void* cookie, continue; } - TRACE(("fill vec %ld, offset = %lu, size = %lu\n", + TRACE(("fill vec %" B_PRIu32 ", offset = %lu, size = %lu\n", vecIndex, vecOffset, size)); // actually available bytes @@ -3616,8 +3617,8 @@ extern "C" status_t new_vnode(fs_volume* volume, ino_t vnodeID, void* privateNode, fs_vnode_ops* ops) { - FUNCTION(("new_vnode(volume = %p (%ld), vnodeID = %Ld, node = %p)\n", - volume, volume->id, vnodeID, privateNode)); + FUNCTION(("new_vnode(volume = %p (%" B_PRId32 "), vnodeID = %" B_PRId64 + ", node = %p)\n", volume, volume->id, vnodeID, privateNode)); if (privateNode == NULL) return B_BAD_VALUE; @@ -4304,7 +4305,7 @@ vfs_get_module_path(const char* basePath, const char* moduleName, return B_OK; } else { TRACE(("vfs_get_module_path(): something is strange here: " - "0x%08lx...\n", file->Type())); + "0x%08" B_PRIx32 "...\n", file->Type())); status = B_ERROR; dir = file; goto err; @@ -4504,7 +4505,7 @@ vfs_free_unused_vnodes(int32 level) extern "C" bool vfs_can_page(struct vnode* vnode, void* cookie) { - FUNCTION(("vfs_canpage: vnode 0x%p\n", vnode)); + FUNCTION(("vfs_canpage: vnode %p\n", vnode)); if (HAS_FS_CALL(vnode, can_page)) return FS_CALL(vnode, can_page, cookie); @@ -4517,8 +4518,8 @@ vfs_read_pages(struct vnode* vnode, void* cookie, off_t pos, const generic_io_vec* vecs, size_t count, uint32 flags, generic_size_t* _numBytes) { - FUNCTION(("vfs_read_pages: vnode %p, vecs %p, pos %Ld\n", vnode, vecs, - pos)); + FUNCTION(("vfs_read_pages: vnode %p, vecs %p, pos %" B_PRIdOFF "\n", vnode, + vecs, pos)); #if VFS_PAGES_IO_TRACING generic_size_t bytesRequested = *_numBytes; @@ -4545,8 +4546,8 @@ vfs_write_pages(struct vnode* vnode, void* cookie, off_t pos, const generic_io_vec* vecs, size_t count, uint32 flags, generic_size_t* _numBytes) { - FUNCTION(("vfs_write_pages: vnode %p, vecs %p, pos %Ld\n", vnode, vecs, - pos)); + FUNCTION(("vfs_write_pages: vnode %p, vecs %p, pos %" B_PRIdOFF "\n", vnode, + vecs, pos)); #if VFS_PAGES_IO_TRACING generic_size_t bytesRequested = *_numBytes; @@ -5411,8 +5412,8 @@ file_open_entry_ref(dev_t mountID, ino_t directoryID, const char* name, if (name == NULL || *name == '\0') return B_BAD_VALUE; - FUNCTION(("file_open_entry_ref(ref = (%ld, %Ld, %s), openMode = %d)\n", - mountID, directoryID, name, openMode)); + FUNCTION(("file_open_entry_ref(ref = (%" B_PRId32 ", %" B_PRId64 ", %s), " + "openMode = %d)\n", mountID, directoryID, name, openMode)); bool traverse = (openMode & (O_NOTRAVERSE | O_NOFOLLOW)) == 0; @@ -5516,8 +5517,8 @@ file_read(struct file_descriptor* descriptor, off_t pos, void* buffer, size_t* length) { struct vnode* vnode = descriptor->u.vnode; - FUNCTION(("file_read: buf %p, pos %Ld, len %p = %ld\n", buffer, pos, length, - *length)); + FUNCTION(("file_read: buf %p, pos %" B_PRIdOFF ", len %p = %ld\n", buffer, + pos, length, *length)); if (S_ISDIR(vnode->Type())) return B_IS_A_DIRECTORY; @@ -5531,7 +5532,8 @@ file_write(struct file_descriptor* descriptor, off_t pos, const void* buffer, size_t* length) { struct vnode* vnode = descriptor->u.vnode; - FUNCTION(("file_write: buf %p, pos %Ld, len %p\n", buffer, pos, length)); + FUNCTION(("file_write: buf %p, pos %" B_PRIdOFF ", len %p\n", buffer, pos, + length)); if (S_ISDIR(vnode->Type())) return B_IS_A_DIRECTORY; @@ -5548,7 +5550,8 @@ file_seek(struct file_descriptor* descriptor, off_t pos, int seekType) struct vnode* vnode = descriptor->u.vnode; off_t offset; - FUNCTION(("file_seek(pos = %Ld, seekType = %d)\n", pos, seekType)); + FUNCTION(("file_seek(pos = %" B_PRIdOFF ", seekType = %d)\n", pos, + seekType)); // some kinds of files are not seekable switch (vnode->Type() & S_IFMT) { @@ -5642,8 +5645,8 @@ dir_create_entry_ref(dev_t mountID, ino_t parentID, const char* name, int perms, if (name == NULL || *name == '\0') return B_BAD_VALUE; - FUNCTION(("dir_create_entry_ref(dev = %ld, ino = %Ld, name = '%s', " - "perms = %d)\n", mountID, parentID, name, perms)); + FUNCTION(("dir_create_entry_ref(dev = %" B_PRId32 ", ino = %" B_PRId64 ", " + "name = '%s', perms = %d)\n", mountID, parentID, name, perms)); status = get_vnode(mountID, parentID, &vnode, true, false); if (status != B_OK) @@ -6649,8 +6652,8 @@ attr_read(struct file_descriptor* descriptor, off_t pos, void* buffer, { struct vnode* vnode = descriptor->u.vnode; - FUNCTION(("attr_read: buf %p, pos %Ld, len %p = %ld\n", buffer, pos, length, - *length)); + FUNCTION(("attr_read: buf %p, pos %" B_PRIdOFF ", len %p = %ld\n", buffer, + pos, length, *length)); if (!HAS_FS_CALL(vnode, read_attr)) return B_UNSUPPORTED; @@ -6665,7 +6668,9 @@ attr_write(struct file_descriptor* descriptor, off_t pos, const void* buffer, { struct vnode* vnode = descriptor->u.vnode; - FUNCTION(("attr_write: buf %p, pos %Ld, len %p\n", buffer, pos, length)); + FUNCTION(("attr_write: buf %p, pos %" B_PRIdOFF ", len %p\n", buffer, pos, + length)); + if (!HAS_FS_CALL(vnode, write_attr)) return B_UNSUPPORTED; @@ -6826,7 +6831,8 @@ index_dir_open(dev_t mountID, bool kernel) struct fs_mount* mount; void* cookie; - FUNCTION(("index_dir_open(mountID = %ld, kernel = %d)\n", mountID, kernel)); + FUNCTION(("index_dir_open(mountID = %" B_PRId32 ", kernel = %d)\n", mountID, + kernel)); status_t status = get_mount(mountID, &mount); if (status != B_OK) @@ -6916,8 +6922,8 @@ static status_t index_create(dev_t mountID, const char* name, uint32 type, uint32 flags, bool kernel) { - FUNCTION(("index_create(mountID = %ld, name = %s, kernel = %d)\n", mountID, - name, kernel)); + FUNCTION(("index_create(mountID = %" B_PRId32 ", name = %s, kernel = %d)\n", + mountID, name, kernel)); struct fs_mount* mount; status_t status = get_mount(mountID, &mount); @@ -6970,8 +6976,8 @@ static status_t index_name_read_stat(dev_t mountID, const char* name, struct stat* stat, bool kernel) { - FUNCTION(("index_remove(mountID = %ld, name = %s, kernel = %d)\n", mountID, - name, kernel)); + FUNCTION(("index_remove(mountID = %" B_PRId32 ", name = %s, kernel = %d)\n", + mountID, name, kernel)); struct fs_mount* mount; status_t status = get_mount(mountID, &mount); @@ -6994,8 +7000,8 @@ out: static status_t index_remove(dev_t mountID, const char* name, bool kernel) { - FUNCTION(("index_remove(mountID = %ld, name = %s, kernel = %d)\n", mountID, - name, kernel)); + FUNCTION(("index_remove(mountID = %" B_PRId32 ", name = %s, kernel = %d)\n", + mountID, name, kernel)); struct fs_mount* mount; status_t status = get_mount(mountID, &mount); @@ -7027,8 +7033,8 @@ query_open(dev_t device, const char* query, uint32 flags, port_id port, struct fs_mount* mount; void* cookie; - FUNCTION(("query_open(device = %ld, query = \"%s\", kernel = %d)\n", device, - query, kernel)); + FUNCTION(("query_open(device = %" B_PRId32 ", query = \"%s\", kernel = %d)\n", + device, query, kernel)); status_t status = get_mount(device, &mount); if (status != B_OK) @@ -7128,7 +7134,8 @@ fs_mount(char* path, const char* device, const char* fsName, uint32 flags, int32 layer = 0; Vnode* coveredNode = NULL; - FUNCTION(("fs_mount: entry. path = '%s', fs_name = '%s'\n", path, fsName)); + FUNCTION(("fs_mount: path = '%s', device = '%s', fs_name = '%s', flags = %#" + B_PRIx32 ", args = '%s'\n", path, device, fsName, flags, args)); // The path is always safe, we just have to make sure that fsName is // almost valid - we can't make any assumptions about args, though. @@ -7449,8 +7456,8 @@ fs_unmount(char* path, dev_t mountID, uint32 flags, bool kernel) struct fs_mount* mount; status_t err; - FUNCTION(("fs_unmount(path '%s', dev %ld, kernel %d\n", path, mountID, - kernel)); + FUNCTION(("fs_unmount(path '%s', dev %" B_PRId32 ", kernel %d\n", path, + mountID, kernel)); struct vnode* pathVnode = NULL; if (path != NULL) { From 8627383bf7cc58f79f41a926331aa113814401d4 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 16:46:09 +0000 Subject: [PATCH 091/122] Fixed compilation errors with ENABLE_TRACING set. --- src/system/kernel/debug/tracing.cpp | 29 +++++++++++---------- src/system/kernel/fs/vfs.cpp | 40 +++++++++++++++++------------ 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/system/kernel/debug/tracing.cpp b/src/system/kernel/debug/tracing.cpp index e52ffb72e9..aa9c880243 100644 --- a/src/system/kernel/debug/tracing.cpp +++ b/src/system/kernel/debug/tracing.cpp @@ -589,8 +589,8 @@ TracingMetaData::_InitPreviousTracingData() if (entry->previous_size != previousEntrySize) { if (entry != fFirstEntry) { dprintf("ktrace recovering: entry %p: fixing previous_size " - "size: %lu (should be %lu)\n", entry, entry->previous_size, - previousEntrySize); + "size: %" B_PRIu32 " (should be %" B_PRIu32 ")\n", entry, + entry->previous_size, previousEntrySize); errorCount++; } entry->previous_size = previousEntrySize; @@ -609,8 +609,8 @@ TracingMetaData::_InitPreviousTracingData() } if (entry->size > uint32(fBuffer + kBufferSize - entry)) { - dprintf("ktrace recovering: entry %p: size too big: %lu\n", entry, - entry->size); + dprintf("ktrace recovering: entry %p: size too big: %" B_PRIu32 "\n", + entry, entry->size); errorCount++; fAfterLastEntry = entry; break; @@ -635,7 +635,7 @@ TracingMetaData::_InitPreviousTracingData() if (entry->size != 0) { dprintf("ktrace recovering: entry %p: invalid wrap entry " - "size: %lu\n", entry, entry->size); + "size: %" B_PRIu32 "\n", entry, entry->size); errorCount++; entry->size = 0; } @@ -662,9 +662,10 @@ TracingMetaData::_InitPreviousTracingData() fAfterLastEntry->previous_size = previousEntrySize; } - dprintf("ktrace recovering: Recovered %lu entries + %lu buffer entries " - "from previous session. Expected %lu entries.\n", nonBufferEntryCount, - entryCount - nonBufferEntryCount, fEntries); + dprintf("ktrace recovering: Recovered %" B_PRIu32 " entries + %" B_PRIu32 + " buffer entries from previous session. Expected %" B_PRIu32 + " entries.\n", nonBufferEntryCount, entryCount - nonBufferEntryCount, + fEntries); fEntries = nonBufferEntryCount; B_INITIALIZE_SPINLOCK(&fLock); @@ -1547,7 +1548,7 @@ dump_tracing_internal(int argc, char** argv, WrapperTraceFilter* wrapperFilter) if (len > 0 && dump[len - 1] == '\n') len--; - kprintf("%5ld. %.*s\n", index, len, dump); + kprintf("%5" B_PRId32 ". %.*s\n", index, len, dump); if (printStackTrace) { out.Clear(); @@ -1556,15 +1557,15 @@ dump_tracing_internal(int argc, char** argv, WrapperTraceFilter* wrapperFilter) kputs(out.Buffer()); } } else if (!filter) - kprintf("%5ld. ** uninitialized entry **\n", index); + kprintf("%5" B_PRId32 ". ** uninitialized entry **\n", index); dumped++; } - kprintf("printed %ld entries within range %ld to %ld (%ld of %ld total, " - "%ld ever)\n", dumped, firstToCheck, lastToCheck, - lastToCheck - firstToCheck + 1, sTracingMetaData->Entries(), - entriesEver); + kprintf("printed %" B_PRId32 " entries within range %" B_PRId32 " to %" + B_PRId32 " (%" B_PRId32 " of %" B_PRId32 " total, %" B_PRId32 " ever)\n", + dumped, firstToCheck, lastToCheck, lastToCheck - firstToCheck + 1, + sTracingMetaData->Entries(), entriesEver); // store iteration state _previousCount = count; diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 589f367747..b4ddee33af 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -545,8 +545,9 @@ namespace VFSPagesIOTracing { class PagesIOTraceEntry : public AbstractTraceEntry { protected: PagesIOTraceEntry(struct vnode* vnode, void* cookie, off_t pos, - const generic_io_vec* vecs, uint32 count, uint32 flags, generic_size_t bytesRequested, - status_t status, generic_size_t bytesTransferred) + const generic_io_vec* vecs, uint32 count, uint32 flags, + generic_size_t bytesRequested, status_t status, + generic_size_t bytesTransferred) : fVnode(vnode), fMountID(vnode->mount->id), @@ -559,26 +560,29 @@ protected: fStatus(status), fBytesTransferred(bytesTransferred) { - fVecs = (generic_io_vec*)alloc_tracing_buffer_memcpy(vecs, sizeof(generic_io_vec) * count, - false); + fVecs = (generic_io_vec*)alloc_tracing_buffer_memcpy(vecs, + sizeof(generic_io_vec) * count, false); } void AddDump(TraceOutput& out, const char* mode) { - out.Print("vfs pages io %5s: vnode: %p (%ld, %lld), cookie: %p, " - "pos: %lld, size: %llu, vecs: {", mode, fVnode, fMountID, fNodeID, - fCookie, fPos, (uint64)fBytesRequested); + out.Print("vfs pages io %5s: vnode: %p (%" B_PRId32 ", %" B_PRId64 "), " + "cookie: %p, pos: %" B_PRIdOFF ", size: %" B_PRIu64 ", vecs: {", + mode, fVnode, fMountID, fNodeID, fCookie, fPos, + (uint64)fBytesRequested); if (fVecs != NULL) { for (uint32 i = 0; i < fCount; i++) { if (i > 0) out.Print(", "); - out.Print("(%llx, %llu)", (uint64)fVecs[i].base, (uint64)fVecs[i].length); + out.Print("(%" B_PRIx64 ", %" B_PRIu64 ")", (uint64)fVecs[i].base, + (uint64)fVecs[i].length); } } - out.Print("}, flags: %#lx -> status: %#lx, transferred: %llu", - fFlags, fStatus, (uint64)fBytesTransferred); + out.Print("}, flags: %#" B_PRIx32 " -> status: %#" B_PRIx32 ", " + "transferred: %" B_PRIu64, fFlags, fStatus, + (uint64)fBytesTransferred); } protected: @@ -587,20 +591,21 @@ protected: ino_t fNodeID; void* fCookie; off_t fPos; - generic_io_vec* fVecs; + generic_io_vec* fVecs; uint32 fCount; uint32 fFlags; - generic_size_t fBytesRequested; + generic_size_t fBytesRequested; status_t fStatus; - generic_size_t fBytesTransferred; + generic_size_t fBytesTransferred; }; class ReadPages : public PagesIOTraceEntry { public: ReadPages(struct vnode* vnode, void* cookie, off_t pos, - const generic_io_vec* vecs, uint32 count, uint32 flags, generic_size_t bytesRequested, - status_t status, generic_size_t bytesTransferred) + const generic_io_vec* vecs, uint32 count, uint32 flags, + generic_size_t bytesRequested, status_t status, + generic_size_t bytesTransferred) : PagesIOTraceEntry(vnode, cookie, pos, vecs, count, flags, bytesRequested, status, bytesTransferred) @@ -618,8 +623,9 @@ public: class WritePages : public PagesIOTraceEntry { public: WritePages(struct vnode* vnode, void* cookie, off_t pos, - const generic_io_vec* vecs, uint32 count, uint32 flags, generic_size_t bytesRequested, - status_t status, generic_size_t bytesTransferred) + const generic_io_vec* vecs, uint32 count, uint32 flags, + generic_size_t bytesRequested, status_t status, + generic_size_t bytesTransferred) : PagesIOTraceEntry(vnode, cookie, pos, vecs, count, flags, bytesRequested, status, bytesTransferred) From 5e0c3db2867defa76df0e83fd74a9a39e0dd622b Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 18:30:01 +0000 Subject: [PATCH 092/122] Account for the physical map area in the kernel VM space. Fixes #9547. The physical memory map area was not included in the kernel virtual address space range (it was below KERNEL_BASE). This caused problems if an I/O operation took place on physical memory mapped there (the bad address error seen in #9547 was occurring in lock_memory_etc()). Changed KERNEL_BASE and KERNEL_SIZE to cover the area and add a null area that covers all of it. Also changed X86VMTranslationMap64Bit to handle large pages in Query(), as the physical map area uses large pages. --- headers/private/kernel/arch/x86/arch_kernel.h | 4 +- .../x86/paging/64bit/X86PagingMethod64Bit.cpp | 63 ++++++++++++++--- .../x86/paging/64bit/X86PagingMethod64Bit.h | 12 ++++ .../paging/64bit/X86VMTranslationMap64Bit.cpp | 67 ++++++------------- 4 files changed, 89 insertions(+), 57 deletions(-) diff --git a/headers/private/kernel/arch/x86/arch_kernel.h b/headers/private/kernel/arch/x86/arch_kernel.h index e6cf5db27b..02f9b1588c 100644 --- a/headers/private/kernel/arch/x86/arch_kernel.h +++ b/headers/private/kernel/arch/x86/arch_kernel.h @@ -30,8 +30,8 @@ // address where the kernel is loaded to: the kernel is loaded in the top 2GB // of the virtual address space as required by GCC's kernel code model. The // whole kernel address space is the top 512GB of the address space. -#define KERNEL_BASE 0xffffff8000000000 -#define KERNEL_SIZE 0x8000000000 +#define KERNEL_BASE 0xffffff0000000000 +#define KERNEL_SIZE 0x10000000000 #define KERNEL_TOP (KERNEL_BASE + (KERNEL_SIZE - 1)) #define KERNEL_LOAD_BASE 0xffffffff80000000 diff --git a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp index e9dbf30c4b..d84199a44d 100644 --- a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp +++ b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp @@ -76,8 +76,16 @@ X86PagingMethod64Bit::Init(kernel_args* args, status_t X86PagingMethod64Bit::InitPostArea(kernel_args* args) { + // Create an area covering the physical map area. + void* address = (void*)KERNEL_PMAP_BASE; + area_id area = vm_create_null_area(VMAddressSpace::KernelID(), + "physical map area", &address, B_EXACT_ADDRESS, + KERNEL_PMAP_SIZE, 0); + if (area < B_OK) + return area; + // Create an area to represent the kernel PML4. - area_id area = create_area("kernel pml4", (void**)&fKernelVirtualPML4, + area = create_area("kernel pml4", (void**)&fKernelVirtualPML4, B_EXACT_ADDRESS, B_PAGE_SIZE, B_ALREADY_WIRED, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA); if (area < B_OK) @@ -190,18 +198,15 @@ X86PagingMethod64Bit::IsKernelPageAccessible(addr_t virtualAddress, } -/*! Traverses down the paging structure hierarchy to find the page table for a - virtual address, allocating new tables if required. +/*! Traverses down the paging structure hierarchy to find the page directory + for a virtual address, allocating new tables if required. */ /*static*/ uint64* -X86PagingMethod64Bit::PageTableForAddress(uint64* virtualPML4, +X86PagingMethod64Bit::PageDirectoryForAddress(uint64* virtualPML4, addr_t virtualAddress, bool isKernel, bool allocateTables, vm_page_reservation* reservation, TranslationMapPhysicalPageMapper* pageMapper, int32& mapCount) { - TRACE("X86PagingMethod64Bit::PageTableForAddress(%#" B_PRIxADDR ", " - "%d)\n", virtualAddress, allocateTables); - // Get the PDPT. uint64* pml4e = &virtualPML4[VADDR_TO_PML4E(virtualAddress)]; if ((*pml4e & X86_64_PML4E_PRESENT) == 0) { @@ -259,11 +264,44 @@ X86PagingMethod64Bit::PageTableForAddress(uint64* virtualPML4, mapCount++; } - uint64* virtualPageDir = (uint64*)pageMapper->GetPageTableAt( + return (uint64*)pageMapper->GetPageTableAt( *pdpte & X86_64_PDPTE_ADDRESS_MASK); +} + + +/*static*/ uint64* +X86PagingMethod64Bit::PageDirectoryEntryForAddress(uint64* virtualPML4, + addr_t virtualAddress, bool isKernel, bool allocateTables, + vm_page_reservation* reservation, + TranslationMapPhysicalPageMapper* pageMapper, int32& mapCount) +{ + uint64* virtualPageDirectory = PageDirectoryForAddress(virtualPML4, + virtualAddress, isKernel, allocateTables, reservation, pageMapper, + mapCount); + if (virtualPageDirectory == NULL) + return NULL; + + return &virtualPageDirectory[VADDR_TO_PDE(virtualAddress)]; +} + + +/*! Traverses down the paging structure hierarchy to find the page table for a + virtual address, allocating new tables if required. +*/ +/*static*/ uint64* +X86PagingMethod64Bit::PageTableForAddress(uint64* virtualPML4, + addr_t virtualAddress, bool isKernel, bool allocateTables, + vm_page_reservation* reservation, + TranslationMapPhysicalPageMapper* pageMapper, int32& mapCount) +{ + TRACE("X86PagingMethod64Bit::PageTableForAddress(%#" B_PRIxADDR ", " + "%d)\n", virtualAddress, allocateTables); + + uint64* pde = PageDirectoryEntryForAddress(virtualPML4, virtualAddress, + isKernel, allocateTables, reservation, pageMapper, mapCount); + if (pde == NULL) + return NULL; - // Get the page table. - uint64* pde = &virtualPageDir[VADDR_TO_PDE(virtualAddress)]; if ((*pde & X86_64_PDE_PRESENT) == 0) { if (!allocateTables) return NULL; @@ -289,6 +327,11 @@ X86PagingMethod64Bit::PageTableForAddress(uint64* virtualPML4, mapCount++; } + // No proper large page support at the moment, but they are used for the + // physical map area. Ensure that nothing tries to treat that as normal + // address space. + ASSERT(!(*pde & X86_64_PDE_LARGE_PAGE)); + return (uint64*)pageMapper->GetPageTableAt(*pde & X86_64_PDE_ADDRESS_MASK); } diff --git a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h index 130e14ddc0..f561d9e995 100644 --- a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h +++ b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.h @@ -55,6 +55,18 @@ public: static X86PagingMethod64Bit* Method(); + static uint64* PageDirectoryForAddress(uint64* virtualPML4, + addr_t virtualAddress, bool isKernel, + bool allocateTables, + vm_page_reservation* reservation, + TranslationMapPhysicalPageMapper* + pageMapper, int32& mapCount); + static uint64* PageDirectoryEntryForAddress( + uint64* virtualPML4, addr_t virtualAddress, + bool isKernel, bool allocateTables, + vm_page_reservation* reservation, + TranslationMapPhysicalPageMapper* + pageMapper, int32& mapCount); static uint64* PageTableForAddress(uint64* virtualPML4, addr_t virtualAddress, bool isKernel, bool allocateTables, diff --git a/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.cpp b/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.cpp index 70ce26b320..0e8800b15a 100644 --- a/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.cpp +++ b/src/system/kernel/arch/x86/paging/64bit/X86VMTranslationMap64Bit.cpp @@ -141,7 +141,7 @@ X86VMTranslationMap64Bit::Init(bool kernel) // Assuming that only the top 2 PML4 entries are occupied for the // kernel. STATIC_ASSERT(KERNEL_PMAP_BASE == 0xffffff0000000000); - STATIC_ASSERT(KERNEL_BASE == 0xffffff8000000000); + STATIC_ASSERT(KERNEL_BASE == 0xffffff0000000000); // Allocate and clear the PML4. uint64* virtualPML4 = (uint64*)memalign(B_PAGE_SIZE, B_PAGE_SIZE); @@ -603,16 +603,26 @@ X86VMTranslationMap64Bit::Query(addr_t virtualAddress, ThreadCPUPinner pinner(thread_get_current_thread()); - // Look up the page table for the virtual address. - uint64* pte = X86PagingMethod64Bit::PageTableEntryForAddress( + // This function may be called on the physical map area, so we must handle + // large pages here. Look up the page directory entry for the virtual + // address. + uint64* pde = X86PagingMethod64Bit::PageDirectoryEntryForAddress( fPagingStructures->VirtualPML4(), virtualAddress, fIsKernelMap, false, NULL, fPageMapper, fMapCount); - if (pte == NULL) + if (pde == NULL || (*pde & X86_64_PDE_PRESENT) == 0) return B_OK; - uint64 entry = *pte; - - *_physicalAddress = entry & X86_64_PTE_ADDRESS_MASK; + uint64 entry; + if ((*pde & X86_64_PDE_LARGE_PAGE) != 0) { + entry = *pde; + *_physicalAddress = (entry & X86_64_PDE_ADDRESS_MASK) + + (virtualAddress % 0x200000); + } else { + uint64* virtualPageTable = (uint64*)fPageMapper->GetPageTableAt( + *pde & X86_64_PDE_ADDRESS_MASK); + entry = virtualPageTable[VADDR_TO_PTE(virtualAddress)]; + *_physicalAddress = entry & X86_64_PTE_ADDRESS_MASK; + } // Translate the page state flags. if ((entry & X86_64_PTE_USER) != 0) { @@ -627,8 +637,8 @@ X86VMTranslationMap64Bit::Query(addr_t virtualAddress, | ((entry & X86_64_PTE_PRESENT) != 0 ? PAGE_PRESENT : 0); TRACE("X86VMTranslationMap64Bit::Query(%#" B_PRIxADDR ") -> %#" - B_PRIxPHYSADDR " %#" B_PRIx32 " (pte: %p %#" B_PRIx64 ")\n", - virtualAddress, *_physicalAddress, *_flags, pte, entry); + B_PRIxPHYSADDR " %#" B_PRIx32 " (entry: %#" B_PRIx64 ")\n", + virtualAddress, *_physicalAddress, *_flags, entry); return B_OK; } @@ -638,42 +648,9 @@ status_t X86VMTranslationMap64Bit::QueryInterrupt(addr_t virtualAddress, phys_addr_t* _physicalAddress, uint32* _flags) { - *_flags = 0; - *_physicalAddress = 0; - - ThreadCPUPinner pinner(thread_get_current_thread()); - - // Look up the page table for the virtual address. - // FIXME: PageTableEntryForAddress uses GetPageTableAt() rather than - // InterruptGetPageTableAt(). This doesn't actually matter since in our - // page mapper both functions are the same, but perhaps this should be - // fixed for correctness. - uint64* pte = X86PagingMethod64Bit::PageTableEntryForAddress( - fPagingStructures->VirtualPML4(), virtualAddress, fIsKernelMap, - false, NULL, fPageMapper, fMapCount); - if (pte == NULL) - return B_OK; - - uint64 entry = *pte; - - *_physicalAddress = entry & X86_64_PTE_ADDRESS_MASK; - - // Translate the page state flags. - if ((entry & X86_64_PTE_USER) != 0) { - *_flags |= ((entry & X86_64_PTE_WRITABLE) != 0 ? B_WRITE_AREA : 0) - | B_READ_AREA; - } - - *_flags |= ((entry & X86_64_PTE_WRITABLE) != 0 ? B_KERNEL_WRITE_AREA : 0) - | B_KERNEL_READ_AREA - | ((entry & X86_64_PTE_DIRTY) != 0 ? PAGE_MODIFIED : 0) - | ((entry & X86_64_PTE_ACCESSED) != 0 ? PAGE_ACCESSED : 0) - | ((entry & X86_64_PTE_PRESENT) != 0 ? PAGE_PRESENT : 0); - - TRACE("X86VMTranslationMap64Bit::QueryInterrupt(%#" B_PRIxADDR ") -> %#" - B_PRIxPHYSADDR ":\n", virtualAddress, *_physicalAddress); - - return B_OK; + // With our page mapper, there is no difference in getting a page table + // when interrupts are enabled or disabled, so just call Query(). + return Query(virtualAddress, _physicalAddress, _flags); } From e6a0c797902de446e4f2366e55f19609a4bc712e Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Fri, 22 Mar 2013 19:41:57 +0000 Subject: [PATCH 093/122] CID 608055: Fixed unintended sign extension. --- src/system/boot/loader/file_systems/bfs/Stream.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/system/boot/loader/file_systems/bfs/Stream.cpp b/src/system/boot/loader/file_systems/bfs/Stream.cpp index a819c109bd..9eb25b7e30 100644 --- a/src/system/boot/loader/file_systems/bfs/Stream.cpp +++ b/src/system/boot/loader/file_systems/bfs/Stream.cpp @@ -255,11 +255,11 @@ Stream::FindBlockRun(off_t pos, block_run& run, off_t& offset) break; runBlockEnd - += indirect[current].Length() << cached.BlockShift(); + += (uint32)indirect[current].Length() << cached.BlockShift(); if (runBlockEnd > pos) { run = indirect[current]; offset = runBlockEnd - - (run.Length() << cached.BlockShift()); + - ((uint32)run.Length() << cached.BlockShift()); //printf("reading from indirect block: %ld,%d\n",fRun.allocation_group,fRun.start); //printf("### indirect-run[%ld] = (%ld,%d,%d), offset = %Ld\n",fCurrent,fRun.allocation_group,fRun.start,fRun.length,fRunFileOffset); return fVolume.ValidateBlockRun(run); @@ -278,10 +278,10 @@ Stream::FindBlockRun(off_t pos, block_run& run, off_t& offset) if (data.direct[current].IsZero()) break; - runBlockEnd += data.direct[current].Length() << fVolume.BlockShift(); + runBlockEnd += (uint32)data.direct[current].Length() << fVolume.BlockShift(); if (runBlockEnd > pos) { run = data.direct[current]; - offset = runBlockEnd - (run.Length() << fVolume.BlockShift()); + offset = runBlockEnd - ((uint32)run.Length() << fVolume.BlockShift()); //printf("### run[%ld] = (%ld,%d,%d), offset = %Ld\n",fCurrent,fRun.allocation_group,fRun.start,fRun.length,fRunFileOffset); return fVolume.ValidateBlockRun(run); } From 40440e741930d038f3198cec7f5982650e77fdf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 22 Mar 2013 20:54:14 +0100 Subject: [PATCH 094/122] Clarified why the documentation does not belong into headers. * Haiku is slow, and that's why we do not put documentation in headers??? Hell yeah. --- docs/user/apidoc.dox | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/user/apidoc.dox b/docs/user/apidoc.dox index 7faff5305f..0e64c0404d 100644 --- a/docs/user/apidoc.dox +++ b/docs/user/apidoc.dox @@ -53,11 +53,11 @@ in either location, and opt for the third option Doxygen provides: to put the documentation into separate files. - \note The reasons to not put the documentation in the header files are - twofold. First of all, it would add unnecessary cruft to the headers - that the compiler will needlessly have to parse. File access and speed - isn't BeOS and Haiku's best quality. The second reason is that the - system headers are included throughout the tree. It's a waste of + \note The reasons to not put the documentation in the header files are twofold. + First of all, it would add unnecessary cruft to the headers that the + compiler will needlessly have to parse, and developers will have a hard + time to find the info they are looking for. The second reason is that + the system headers are included throughout the tree. It's a waste of electricity to have everybody recompile the entire tree if someone fixes a typo in the documentation. Likewise, the reason to not put the documentation in the source code is that it unnecessarily clutters up From 7b8c0971cedb04085551c6ca5db044a13d0cae67 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Sat, 23 Mar 2013 06:22:46 +0100 Subject: [PATCH 095/122] Update translations from Pootle --- .../add-ons/disk_systems/intel/pl.catkeys | 4 +-- .../add-ons/disk_systems/intel/ru.catkeys | 4 +-- .../add-ons/disk_systems/ntfs/pl.catkeys | 2 ++ .../add-ons/disk_systems/ntfs/ru.catkeys | 2 ++ .../media-add-ons/multi_audio/pl.catkeys | 20 ++++++++++++ .../media-add-ons/multi_audio/ru.catkeys | 20 ++++++++++++ .../add-ons/translators/icns/pl.catkeys | 5 ++- data/catalogs/apps/activitymonitor/ru.catkeys | 3 +- data/catalogs/apps/deskbar/be.catkeys | 4 +-- data/catalogs/apps/deskbar/de.catkeys | 4 +-- data/catalogs/apps/deskbar/el.catkeys | 4 +-- data/catalogs/apps/deskbar/fi.catkeys | 4 +-- data/catalogs/apps/deskbar/fr.catkeys | 4 +-- data/catalogs/apps/deskbar/hi.catkeys | 4 +-- data/catalogs/apps/deskbar/hu.catkeys | 4 +-- data/catalogs/apps/deskbar/ja.catkeys | 4 +-- data/catalogs/apps/deskbar/lt.catkeys | 4 +-- data/catalogs/apps/deskbar/nl.catkeys | 4 +-- data/catalogs/apps/deskbar/pl.catkeys | 4 +-- data/catalogs/apps/deskbar/pt_BR.catkeys | 4 +-- data/catalogs/apps/deskbar/ro.catkeys | 4 +-- data/catalogs/apps/deskbar/ru.catkeys | 4 +-- data/catalogs/apps/deskbar/sk.catkeys | 4 +-- data/catalogs/apps/deskbar/sv.catkeys | 4 +-- data/catalogs/apps/deskbar/uk.catkeys | 4 +-- data/catalogs/apps/deskbar/zh_Hans.catkeys | 4 +-- data/catalogs/apps/drivesetup/pl.catkeys | 15 ++++++++- data/catalogs/apps/drivesetup/ru.catkeys | 15 ++++++++- data/catalogs/apps/firstbootprompt/pl.catkeys | 3 +- data/catalogs/apps/firstbootprompt/ru.catkeys | 3 +- data/catalogs/apps/fontdemo/ru.catkeys | 3 +- data/catalogs/apps/icon-o-matic/pl.catkeys | 4 ++- data/catalogs/apps/installer/pl.catkeys | 20 ++++++------ data/catalogs/apps/launchbox/pl.catkeys | 3 +- data/catalogs/apps/launchbox/ru.catkeys | 3 +- data/catalogs/apps/mail/pl.catkeys | 6 +++- data/catalogs/apps/people/pl.catkeys | 5 +-- data/catalogs/apps/stylededit/pl.catkeys | 8 ++++- data/catalogs/apps/terminal/pl.catkeys | 4 ++- data/catalogs/apps/terminal/ru.catkeys | 4 ++- data/catalogs/apps/webpositive/pl.catkeys | 8 ++++- data/catalogs/apps/webpositive/ru.catkeys | 7 +++- data/catalogs/kits/pl.catkeys | 4 +-- data/catalogs/kits/tracker/pl.catkeys | 9 ++++-- data/catalogs/kits/tracker/ru.catkeys | 6 ++-- .../preferences/appearance/ru.catkeys | 10 +++++- .../catalogs/preferences/bluetooth/ru.catkeys | 3 +- .../catalogs/preferences/filetypes/pl.catkeys | 4 ++- .../catalogs/preferences/filetypes/ru.catkeys | 4 ++- data/catalogs/preferences/network/pl.catkeys | 7 +++- data/catalogs/preferences/network/ru.catkeys | 7 +++- .../preferences/notifications/pl.catkeys | 3 +- .../preferences/notifications/ru.catkeys | 3 +- data/catalogs/preferences/printers/pl.catkeys | 4 +-- .../catalogs/preferences/shortcuts/pl.catkeys | 3 +- .../catalogs/preferences/shortcuts/ru.catkeys | 4 ++- data/catalogs/preferences/sounds/ru.catkeys | 3 +- data/catalogs/preferences/time/pl.catkeys | 5 ++- data/catalogs/preferences/time/ru.catkeys | 7 +++- .../preferences/virtualmemory/pl.catkeys | 3 +- .../preferences/virtualmemory/ru.catkeys | 3 +- .../tests/servers/app/playground/pl.catkeys | 26 +++++++++++++++ .../tests/servers/app/playground/ru.catkeys | 32 +++++++++++++++++++ 63 files changed, 284 insertions(+), 109 deletions(-) create mode 100644 data/catalogs/add-ons/disk_systems/ntfs/pl.catkeys create mode 100644 data/catalogs/add-ons/disk_systems/ntfs/ru.catkeys create mode 100644 data/catalogs/add-ons/media/media-add-ons/multi_audio/pl.catkeys create mode 100644 data/catalogs/add-ons/media/media-add-ons/multi_audio/ru.catkeys create mode 100644 data/catalogs/tests/servers/app/playground/pl.catkeys create mode 100644 data/catalogs/tests/servers/app/playground/ru.catkeys diff --git a/data/catalogs/add-ons/disk_systems/intel/pl.catkeys b/data/catalogs/add-ons/disk_systems/intel/pl.catkeys index 82d2ca255d..d918eaa37e 100644 --- a/data/catalogs/add-ons/disk_systems/intel/pl.catkeys +++ b/data/catalogs/add-ons/disk_systems/intel/pl.catkeys @@ -1,2 +1,2 @@ -1 polish x-vnd.Haiku-IntelDiskAddOn 4191422532 -Active partition BFS_Creation_Parameter Partycja aktywna +1 polish x-vnd.Haiku-IntelDiskAddOn 946918966 +Active partition PrimaryPartitionEditor Aktywna partycja diff --git a/data/catalogs/add-ons/disk_systems/intel/ru.catkeys b/data/catalogs/add-ons/disk_systems/intel/ru.catkeys index f9766d6fd9..b29194f9dc 100644 --- a/data/catalogs/add-ons/disk_systems/intel/ru.catkeys +++ b/data/catalogs/add-ons/disk_systems/intel/ru.catkeys @@ -1,2 +1,2 @@ -1 russian x-vnd.Haiku-IntelDiskAddOn 4191422532 -Active partition BFS_Creation_Parameter Активный раздел +1 russian x-vnd.Haiku-IntelDiskAddOn 946918966 +Active partition PrimaryPartitionEditor Активный раздел diff --git a/data/catalogs/add-ons/disk_systems/ntfs/pl.catkeys b/data/catalogs/add-ons/disk_systems/ntfs/pl.catkeys new file mode 100644 index 0000000000..7bdd3983b1 --- /dev/null +++ b/data/catalogs/add-ons/disk_systems/ntfs/pl.catkeys @@ -0,0 +1,2 @@ +1 polish x-vnd.Haiku-NTFSDiskAddOn 25755486 +Name: NTFS_Initialize_Parameter Nazwa: diff --git a/data/catalogs/add-ons/disk_systems/ntfs/ru.catkeys b/data/catalogs/add-ons/disk_systems/ntfs/ru.catkeys new file mode 100644 index 0000000000..47b77cacfd --- /dev/null +++ b/data/catalogs/add-ons/disk_systems/ntfs/ru.catkeys @@ -0,0 +1,2 @@ +1 russian x-vnd.Haiku-NTFSDiskAddOn 25755486 +Name: NTFS_Initialize_Parameter Имя: diff --git a/data/catalogs/add-ons/media/media-add-ons/multi_audio/pl.catkeys b/data/catalogs/add-ons/media/media-add-ons/multi_audio/pl.catkeys new file mode 100644 index 0000000000..21e9452217 --- /dev/null +++ b/data/catalogs/add-ons/media/media-add-ons/multi_audio/pl.catkeys @@ -0,0 +1,20 @@ +1 polish x-vnd.Haiku-hmulti_audio.media_addon 1938843440 +Master MultiAudio Master +SPDIF MultiAudio SPDIF +Gain MultiAudio Wzmocnienie +Output 3D center MultiAudio Wyjście 3D, środek +Extended Setup MultiAudio Zaawansowane Ustawienia +CD MultiAudio CD +Phone MultiAudio Telefon +Headphones MultiAudio Słuchawki +Beep MultiAudio Brzęczyk +Input MultiAudio Wejście +Input & Output MultiAudio Wejście i Wyjście +Volume MultiAudio Głośność +Output MultiAudio Wyjście +Video MultiAudio Wideo +Mic MultiAudio Mikrofon + frequency: MultiAudio częstotliwość: +Mute MultiAudio Wycisz +Setup MultiAudio Ustawienia +Level MultiAudio Poziom diff --git a/data/catalogs/add-ons/media/media-add-ons/multi_audio/ru.catkeys b/data/catalogs/add-ons/media/media-add-ons/multi_audio/ru.catkeys new file mode 100644 index 0000000000..c3e408bb9f --- /dev/null +++ b/data/catalogs/add-ons/media/media-add-ons/multi_audio/ru.catkeys @@ -0,0 +1,20 @@ +1 russian x-vnd.Haiku-hmulti_audio.media_addon 1236066687 +Master MultiAudio Главный +SPDIF MultiAudio SPDIF +Gain MultiAudio Громкость +Output 3D center MultiAudio Центр 3D выхода +Extended Setup MultiAudio Расширенная настройка +CD MultiAudio CD +Tone control MultiAudio Управление тоном +Phone MultiAudio Телефон +Aux MultiAudio Вспомогательный +Output bass MultiAudio Выход баса +Headphones MultiAudio Наушники +Beep MultiAudio Сигнал +Output mono mix MultiAudio Выход моно микс +Output stereo mix MultiAudio Выход стерео микс +Input MultiAudio Вход +Output treble MultiAudio Выход высоких +Mono mix MultiAudio Моно микширование +General MultiAudio Общие +Input & Output MultiAudio Вход и Выход diff --git a/data/catalogs/add-ons/translators/icns/pl.catkeys b/data/catalogs/add-ons/translators/icns/pl.catkeys index f4c9924c5f..ebf2bfc946 100644 --- a/data/catalogs/add-ons/translators/icns/pl.catkeys +++ b/data/catalogs/add-ons/translators/icns/pl.catkeys @@ -1,2 +1,5 @@ -1 polish x-vnd.Haiku-ICNSTranslator 2751404179 +1 polish x-vnd.Haiku-ICNSTranslator 2416672857 Version %d.%d.%d, %s ICNSConfig Wersja %d.%d.%d, %s +Apple icons ICNSTranslator Ikony Apple +Apple icon translator ICNSTranslator Translator ikon Apple +Apple icon translator ICNSConfig Translator ikon Apple diff --git a/data/catalogs/apps/activitymonitor/ru.catkeys b/data/catalogs/apps/activitymonitor/ru.catkeys index b3a3186f4f..eb3929452c 100644 --- a/data/catalogs/apps/activitymonitor/ru.catkeys +++ b/data/catalogs/apps/activitymonitor/ru.catkeys @@ -1,8 +1,9 @@ -1 russian x-vnd.Haiku-ActivityMonitor 3704566709 +1 russian x-vnd.Haiku-ActivityMonitor 1913625522 P-faults DataSource Ошибки страниц Media nodes DataSource Медиа узлы Threads DataSource Потоки MB DataSource МБ +Always on top ActivityWindow Поверх всех окон Add graph ActivityWindow Добавить график Teams DataSource Процессы Hide legend ActivityView Скрыть легенду diff --git a/data/catalogs/apps/deskbar/be.catkeys b/data/catalogs/apps/deskbar/be.catkeys index 16848ecb8d..7c21144ad2 100644 --- a/data/catalogs/apps/deskbar/be.catkeys +++ b/data/catalogs/apps/deskbar/be.catkeys @@ -1,6 +1,5 @@ -1 belarusian x-vnd.Be-TSKB 1210725923 +1 belarusian x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Выключыць -Edit menu… PreferencesWindow Змяніць меню… Suspend DeskbarMenu Прыпыніць Hide clock TimeView Схаваць гадзіннік Applications PreferencesWindow Праграмы @@ -8,7 +7,6 @@ Time preferences… TimeView Наладкі Часу… About Haiku DeskbarMenu Пра Haiku Recent documents: PreferencesWindow Нядаўнія дакументы: Recent applications DeskbarMenu Нядаўнія праграмы -Sort running applications PreferencesWindow Сартыравать запушчаныя праграмы Applications B_USER_DESKBAR_DIRECTORY/Applications Праграмы Find… DeskbarMenu Знайсці… Show clock Tray Паказаць гадзіннік diff --git a/data/catalogs/apps/deskbar/de.catkeys b/data/catalogs/apps/deskbar/de.catkeys index cf532eaa1b..6baf0756bc 100644 --- a/data/catalogs/apps/deskbar/de.catkeys +++ b/data/catalogs/apps/deskbar/de.catkeys @@ -1,13 +1,11 @@ -1 german x-vnd.Be-TSKB 1566009467 +1 german x-vnd.Be-TSKB 1398106986 Power off DeskbarMenu Ausschalten -Edit menu… PreferencesWindow Menü bearbeiten… Suspend DeskbarMenu Ruhezustand Hide clock TimeView Uhr ausblenden Time preferences… TimeView Datum & Zeit Einstellungen… About Haiku DeskbarMenu Über Haiku Recent documents: PreferencesWindow Letzte Dokumente: Recent applications DeskbarMenu Letzte Anwendungen -Sort running applications PreferencesWindow Laufende Anwendungen sortieren Applications B_USER_DESKBAR_DIRECTORY/Applications Anwendungen Find… DeskbarMenu Suchen… Show clock Tray Uhr anzeigen diff --git a/data/catalogs/apps/deskbar/el.catkeys b/data/catalogs/apps/deskbar/el.catkeys index d2fc39eae3..0ddc6df1ea 100644 --- a/data/catalogs/apps/deskbar/el.catkeys +++ b/data/catalogs/apps/deskbar/el.catkeys @@ -1,9 +1,7 @@ -1 greek, modern (1453-) x-vnd.Be-TSKB 1782938413 +1 greek, modern (1453-) x-vnd.Be-TSKB 1615035932 Power off DeskbarMenu Απενεργοποίηση -Edit menu… PreferencesWindow Επεξεργασία μενού... Recent documents: PreferencesWindow Πρόσφατα έγγραφα: Recent applications DeskbarMenu Πρόσφατες εφαρμογές -Sort running applications PreferencesWindow Ταξινόμησε τις τρέχουσες εφαρμογές Applications B_USER_DESKBAR_DIRECTORY/Applications Εφαρμογές Find… DeskbarMenu Αναζήτηση… Window PreferencesWindow Παράθυρο diff --git a/data/catalogs/apps/deskbar/fi.catkeys b/data/catalogs/apps/deskbar/fi.catkeys index d5942e274e..5a7f9bc06f 100644 --- a/data/catalogs/apps/deskbar/fi.catkeys +++ b/data/catalogs/apps/deskbar/fi.catkeys @@ -1,6 +1,5 @@ -1 finnish x-vnd.Be-TSKB 1210725923 +1 finnish x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Sammuta virta -Edit menu… PreferencesWindow Muokkaa valikkoa... Suspend DeskbarMenu Keskeytystila Hide clock TimeView Piilota kello Applications PreferencesWindow Sovellukset @@ -8,7 +7,6 @@ Time preferences… TimeView Aika-asetukset... About Haiku DeskbarMenu Haikusta Recent documents: PreferencesWindow Äskettäiset asiakirjat: Recent applications DeskbarMenu Äskettäiset sovellukset -Sort running applications PreferencesWindow Lajittele suoritettavat sovellukset Applications B_USER_DESKBAR_DIRECTORY/Applications Sovellukset Find… DeskbarMenu Etsi... Show clock Tray Näytä kello diff --git a/data/catalogs/apps/deskbar/fr.catkeys b/data/catalogs/apps/deskbar/fr.catkeys index 8a636c1e6f..e1122b80dd 100644 --- a/data/catalogs/apps/deskbar/fr.catkeys +++ b/data/catalogs/apps/deskbar/fr.catkeys @@ -1,6 +1,5 @@ -1 french x-vnd.Be-TSKB 1210725923 +1 french x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Éteindre -Edit menu… PreferencesWindow Éditer le menu… Suspend DeskbarMenu Mettre en veille Hide clock TimeView Masquer l'horloge Applications PreferencesWindow Applications @@ -8,7 +7,6 @@ Time preferences… TimeView Préférences de l'heure… About Haiku DeskbarMenu À propos de Haiku Recent documents: PreferencesWindow Documents récents : Recent applications DeskbarMenu Applications récentes -Sort running applications PreferencesWindow Trier les applications lancées Applications B_USER_DESKBAR_DIRECTORY/Applications Applications Find… DeskbarMenu Rechercher… Show clock Tray Afficher l'horloge diff --git a/data/catalogs/apps/deskbar/hi.catkeys b/data/catalogs/apps/deskbar/hi.catkeys index 7b0411d3b0..4e5ffaf97c 100644 --- a/data/catalogs/apps/deskbar/hi.catkeys +++ b/data/catalogs/apps/deskbar/hi.catkeys @@ -1,7 +1,5 @@ -1 hindi x-vnd.Be-TSKB 1880901506 -Edit menu… PreferencesWindow मेनू संपादित करें ... +1 hindi x-vnd.Be-TSKB 1712999025 Recent documents: PreferencesWindow हाल ही में दस्तावेजों: -Sort running applications PreferencesWindow क्रमबद्ध अनुप्रयोगों को चलाने Applications B_USER_DESKBAR_DIRECTORY/Applications अनुप्रयोग Window PreferencesWindow विन्दोव्स Menu PreferencesWindow मेनू diff --git a/data/catalogs/apps/deskbar/hu.catkeys b/data/catalogs/apps/deskbar/hu.catkeys index 3047e5c0ab..af1bbfdf0f 100644 --- a/data/catalogs/apps/deskbar/hu.catkeys +++ b/data/catalogs/apps/deskbar/hu.catkeys @@ -1,6 +1,5 @@ -1 hungarian x-vnd.Be-TSKB 1210725923 +1 hungarian x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Kikapcsolás -Edit menu… PreferencesWindow Menü szerkesztése… Suspend DeskbarMenu Felfüggesztés Hide clock TimeView Óra elrejtése Applications PreferencesWindow Programok @@ -8,7 +7,6 @@ Time preferences… TimeView Idő beállítása… About Haiku DeskbarMenu Haiku névjegye Recent documents: PreferencesWindow Legutóbb használt fájlok: Recent applications DeskbarMenu Legutóbbi programok -Sort running applications PreferencesWindow Futó programok rendezése Applications B_USER_DESKBAR_DIRECTORY/Applications Programok Find… DeskbarMenu Keresés… Show clock Tray Óra megjelenítése diff --git a/data/catalogs/apps/deskbar/ja.catkeys b/data/catalogs/apps/deskbar/ja.catkeys index b8e8abd66a..e797db0724 100644 --- a/data/catalogs/apps/deskbar/ja.catkeys +++ b/data/catalogs/apps/deskbar/ja.catkeys @@ -1,13 +1,11 @@ -1 japanese x-vnd.Be-TSKB 1566009467 +1 japanese x-vnd.Be-TSKB 1398106986 Power off DeskbarMenu 電源を切る -Edit menu… PreferencesWindow メニューの編集… Suspend DeskbarMenu サスペンド Hide clock TimeView 時計を隠す Time preferences… TimeView 日付と時刻の設定… About Haiku DeskbarMenu Haiku について Recent documents: PreferencesWindow 最近使ったドキュメント Recent applications DeskbarMenu 最近使ったアプリケーション -Sort running applications PreferencesWindow 実行中のアプリケーションを名前順に並び換える Applications B_USER_DESKBAR_DIRECTORY/Applications アプリケーション Find… DeskbarMenu 検索… Show clock Tray 時計を表示 diff --git a/data/catalogs/apps/deskbar/lt.catkeys b/data/catalogs/apps/deskbar/lt.catkeys index 782cef2c8e..cfdb341cea 100644 --- a/data/catalogs/apps/deskbar/lt.catkeys +++ b/data/catalogs/apps/deskbar/lt.catkeys @@ -1,6 +1,5 @@ -1 lithuanian x-vnd.Be-TSKB 1210725923 +1 lithuanian x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Išjungti -Edit menu… PreferencesWindow Taisyti meniu… Suspend DeskbarMenu Pristabdyti Hide clock TimeView Nerodyti laikrodžio Applications PreferencesWindow Programos @@ -8,7 +7,6 @@ Time preferences… TimeView Laiko nuostatos… About Haiku DeskbarMenu Apie „Haiku“ Recent documents: PreferencesWindow Paskiausi dokumentai: Recent applications DeskbarMenu Paskiausiai leistos programos -Sort running applications PreferencesWindow Rikiuoti paleistas programas Applications B_USER_DESKBAR_DIRECTORY/Applications Programos Find… DeskbarMenu Ieškoti… Show clock Tray Rodyti laikrodį diff --git a/data/catalogs/apps/deskbar/nl.catkeys b/data/catalogs/apps/deskbar/nl.catkeys index 35fb5bc61d..cf6099c246 100644 --- a/data/catalogs/apps/deskbar/nl.catkeys +++ b/data/catalogs/apps/deskbar/nl.catkeys @@ -1,12 +1,10 @@ -1 dutch; flemish x-vnd.Be-TSKB 3155357024 +1 dutch; flemish x-vnd.Be-TSKB 2987454543 Power off DeskbarMenu Uitzetten -Edit menu… PreferencesWindow Bewerk menu... Suspend DeskbarMenu Opschorten Time preferences… TimeView Tijdsvoorkeuren… About Haiku DeskbarMenu Over Haiku Recent documents: PreferencesWindow Recente documenten: Recent applications DeskbarMenu Recente toepassingen -Sort running applications PreferencesWindow Sorteer lopende toepassingen Applications B_USER_DESKBAR_DIRECTORY/Applications Toepassingen Find… DeskbarMenu Vind... Window PreferencesWindow Venster diff --git a/data/catalogs/apps/deskbar/pl.catkeys b/data/catalogs/apps/deskbar/pl.catkeys index 6beccfb64e..f720e5d40a 100644 --- a/data/catalogs/apps/deskbar/pl.catkeys +++ b/data/catalogs/apps/deskbar/pl.catkeys @@ -1,13 +1,11 @@ -1 polish x-vnd.Be-TSKB 1566009467 +1 polish x-vnd.Be-TSKB 1398106986 Power off DeskbarMenu Wyłącz komputer -Edit menu… PreferencesWindow Edytuj zawartość menu… Suspend DeskbarMenu Wstrzymaj Hide clock TimeView Ukryj zegar Time preferences… TimeView Ustawienia czasu... About Haiku DeskbarMenu O Haiku Recent documents: PreferencesWindow Ostatnio przeglądane dokumenty: Recent applications DeskbarMenu Ostatnio uruchomione aplikacje -Sort running applications PreferencesWindow Sortuj uruchomione aplikacje alfabetycznie Applications B_USER_DESKBAR_DIRECTORY/Applications Aplikacje Find… DeskbarMenu Wyszukaj… Show clock Tray Pokaż zegar diff --git a/data/catalogs/apps/deskbar/pt_BR.catkeys b/data/catalogs/apps/deskbar/pt_BR.catkeys index 31f7edff49..55d70242bb 100644 --- a/data/catalogs/apps/deskbar/pt_BR.catkeys +++ b/data/catalogs/apps/deskbar/pt_BR.catkeys @@ -1,6 +1,5 @@ -1 portuguese (brazil) x-vnd.Be-TSKB 1210725923 +1 portuguese (brazil) x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Desligar -Edit menu… PreferencesWindow Editar menu... Suspend DeskbarMenu Suspender Hide clock TimeView Ocultar relógio Applications PreferencesWindow Aplicativos @@ -8,7 +7,6 @@ Time preferences… TimeView Preferências de hora… About Haiku DeskbarMenu Sobre o Haiku Recent documents: PreferencesWindow Documentos recentes: Recent applications DeskbarMenu Aplicativos recentes -Sort running applications PreferencesWindow Ordenar aplicativos em execução Applications B_USER_DESKBAR_DIRECTORY/Applications Aplicativos Find… DeskbarMenu Localizar… Show clock Tray Exibir relógio diff --git a/data/catalogs/apps/deskbar/ro.catkeys b/data/catalogs/apps/deskbar/ro.catkeys index a25e346b48..8aff504d2d 100644 --- a/data/catalogs/apps/deskbar/ro.catkeys +++ b/data/catalogs/apps/deskbar/ro.catkeys @@ -1,7 +1,5 @@ -1 romanian x-vnd.Be-TSKB 1880901506 -Edit menu… PreferencesWindow Editează meniu... +1 romanian x-vnd.Be-TSKB 1712999025 Recent documents: PreferencesWindow Documente recente: -Sort running applications PreferencesWindow Sortează aplicațiile pornite Applications B_USER_DESKBAR_DIRECTORY/Applications Aplicații Window PreferencesWindow Fereastră Menu PreferencesWindow Meniu diff --git a/data/catalogs/apps/deskbar/ru.catkeys b/data/catalogs/apps/deskbar/ru.catkeys index d219f817ad..f24ba7c0e7 100644 --- a/data/catalogs/apps/deskbar/ru.catkeys +++ b/data/catalogs/apps/deskbar/ru.catkeys @@ -1,6 +1,5 @@ -1 russian x-vnd.Be-TSKB 1210725923 +1 russian x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Выключить компьютер -Edit menu… PreferencesWindow Изменить меню… Suspend DeskbarMenu Приостановить Hide clock TimeView Скрыть часы Applications PreferencesWindow Приложения @@ -8,7 +7,6 @@ Time preferences… TimeView Настроить часы… About Haiku DeskbarMenu О системе Haiku Recent documents: PreferencesWindow Недавние документы: Recent applications DeskbarMenu Недавние приложения -Sort running applications PreferencesWindow Сортировать запущенные приложения Applications B_USER_DESKBAR_DIRECTORY/Applications Приложения Find… DeskbarMenu Найти… Show clock Tray Показать часы diff --git a/data/catalogs/apps/deskbar/sk.catkeys b/data/catalogs/apps/deskbar/sk.catkeys index 723f839a30..06b06788a2 100644 --- a/data/catalogs/apps/deskbar/sk.catkeys +++ b/data/catalogs/apps/deskbar/sk.catkeys @@ -1,6 +1,5 @@ -1 slovak x-vnd.Be-TSKB 1210725923 +1 slovak x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu Vypnúť -Edit menu… PreferencesWindow Upraviť menu… Suspend DeskbarMenu Režim spánku Hide clock TimeView Skryť hodiny Applications PreferencesWindow Aplikácie @@ -8,7 +7,6 @@ Time preferences… TimeView Nastavenia času… About Haiku DeskbarMenu O Haiku Recent documents: PreferencesWindow Nedávne dokumenty: Recent applications DeskbarMenu Nedávne aplikácie -Sort running applications PreferencesWindow Zoradiť bežiace aplikácie Applications B_USER_DESKBAR_DIRECTORY/Applications Aplikácie Find… DeskbarMenu Nájsť… Show clock Tray Zobraziť hodiny diff --git a/data/catalogs/apps/deskbar/sv.catkeys b/data/catalogs/apps/deskbar/sv.catkeys index f7d3d825e4..e4a3eb0386 100644 --- a/data/catalogs/apps/deskbar/sv.catkeys +++ b/data/catalogs/apps/deskbar/sv.catkeys @@ -1,13 +1,11 @@ -1 swedish x-vnd.Be-TSKB 1566009467 +1 swedish x-vnd.Be-TSKB 1398106986 Power off DeskbarMenu Stäng av -Edit menu… PreferencesWindow Redigera meny... Suspend DeskbarMenu Vänteläge Hide clock TimeView Dölj klockan Time preferences… TimeView Tidspreferenser About Haiku DeskbarMenu Om Haiku Recent documents: PreferencesWindow Senaste dokument: Recent applications DeskbarMenu Senaste program -Sort running applications PreferencesWindow Sortera aktiva program Applications B_USER_DESKBAR_DIRECTORY/Applications Program Find… DeskbarMenu Sök... Show clock Tray Visa klockan diff --git a/data/catalogs/apps/deskbar/uk.catkeys b/data/catalogs/apps/deskbar/uk.catkeys index 19e933c028..62fb031e0b 100644 --- a/data/catalogs/apps/deskbar/uk.catkeys +++ b/data/catalogs/apps/deskbar/uk.catkeys @@ -1,9 +1,7 @@ -1 ukrainian x-vnd.Be-TSKB 1782938413 +1 ukrainian x-vnd.Be-TSKB 1615035932 Power off DeskbarMenu Вимкнути -Edit menu… PreferencesWindow Редагувати меню… Recent documents: PreferencesWindow Недавні документи: Recent applications DeskbarMenu Останні програми -Sort running applications PreferencesWindow Сортувати додатки, що запущені Applications B_USER_DESKBAR_DIRECTORY/Applications Додатки Find… DeskbarMenu Пошук... Window PreferencesWindow Вікно diff --git a/data/catalogs/apps/deskbar/zh_Hans.catkeys b/data/catalogs/apps/deskbar/zh_Hans.catkeys index c0694054ca..1e27555fb4 100644 --- a/data/catalogs/apps/deskbar/zh_Hans.catkeys +++ b/data/catalogs/apps/deskbar/zh_Hans.catkeys @@ -1,6 +1,5 @@ -1 english x-vnd.Be-TSKB 1210725923 +1 english x-vnd.Be-TSKB 1042823442 Power off DeskbarMenu 关闭电源 -Edit menu… PreferencesWindow 编辑菜单 Suspend DeskbarMenu 挂起 Hide clock TimeView 隐藏时钟 Applications PreferencesWindow 应用程序 @@ -8,7 +7,6 @@ Time preferences… TimeView 时间设置... About Haiku DeskbarMenu 关于Haiku Recent documents: PreferencesWindow 最近文档: Recent applications DeskbarMenu 最近程序 -Sort running applications PreferencesWindow 运行程序排序 Applications B_USER_DESKBAR_DIRECTORY/Applications 应用程序 Find… DeskbarMenu 查找... Show clock Tray 显示时钟 diff --git a/data/catalogs/apps/drivesetup/pl.catkeys b/data/catalogs/apps/drivesetup/pl.catkeys index be7efed98c..a8c77188c7 100644 --- a/data/catalogs/apps/drivesetup/pl.catkeys +++ b/data/catalogs/apps/drivesetup/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-DriveSetup 1752326393 +1 polish x-vnd.Haiku-DriveSetup 484941621 DriveSetup System name DriveSetup Cancel AbstractParametersPanel Anuluj Delete MainWindow Usuń @@ -18,6 +18,7 @@ The selected disk is read-only. MainWindow Wybrany dysk jest w trybie tylko do Are you sure you want to format the partition \"%s\"? You will be asked again before changes are written to the disk. MainWindow Czy jesteś pewien, że chcesz sformatować tę partycję \\"%s\"? Zostaniesz zapytany o to ponownie, zanim zmiany zostaną zapisane na dysku. Could not mount partition %s. MainWindow Nie można zamontować partycji %s. The partition %s has been successfully formatted.\n MainWindow Partycja %s została poprawnie sformatowana.\n +Change parameters MainWindow Zmień parametry The partition %s is already unmounted. MainWindow Partycja %s została już odmontowana. Failed to delete the partition. No changes have been written to disk. MainWindow Błąd podczas usuwaniu partycji. Żadne zmiany nie zostały zapisane na dysk. Could not delete the selected partition. MainWindow Nie można usunąć wybranej partycji. @@ -36,38 +37,50 @@ Write changes MainWindow Zapisz zmiany There was an error preparing the disk for modifications. MainWindow Wystąpił błąd podczas przygotowywania dysku do modyfikacji. The partition %s is already mounted. MainWindow Partycja %s jest już zamontowana. Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow Czy jesteś pewien, że chcesz sformatować tę partycję? Zostaniesz zapytany o to ponownie, zanim zmiany zostaną zapisane na dysku. +Partition name: ChangeParametersPanel Nazwa partycji: +Change ChangeParametersPanel Zmień Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Na pewno chcesz zapisać zmiany na dysk?\n\nWszystkie dane na dysku %s bedą bezpowrotnie utracone! Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Na pewno chcesz usunąć wybraną partycje?\n\nWszystkie dane na wybranej partycji zostaną utracone! Create… MainWindow Utwórz… Disk system \"%s\"\" not found! MainWindow Typ układu dysku \"%s\"\" nie odnaleziony! The disk has been successfully initialized.\n MainWindow Dysk został poprawnie zainicjalizowany.\n Could not unmount partition %s. MainWindow Nie można odmontować partycji %s. +Failed to change the parameters of the partition. No changes have been written to disk. MainWindow Nie udało się zmienić parametrów partycji. Żadne zmiany nie zostały zapisane na dysk. Failed to format the partition %s!\n MainWindow Błąd podczas formatowania partycji %s!\n Mount MainWindow Montuj +Partition type PartitionList Typ partycji Are you sure you want to format a raw disk? (most people initialize the disk with a partitioning system first) You will be asked again before changes are written to the disk. MainWindow Czy jesteś pewien, że chcesz sformatować do surowej partycji RAW (większość ludzi najpierw inicjalizuje dysk z jakimś systemem partycjonowania)? Zostaniesz zapytany ponownie o to, zanim zmiany zostaną zapisane na dysku. +The panel experienced a problem! MainWindow Panel natknął się na problem! +Change parameters… MainWindow Zmień parametry… Device PartitionList Urządzenie Disk MainWindow Dysk Are you sure you want to initialize the selected disk? All data will be lost. You will be asked again before changes are written to the disk.\n MainWindow Czy jesteś pewien, że chcesz zainicjalizować zaznaczony dysk? Wszelkie dane zostaną utracone. Zostaniesz zapytany ponownie o to, zanim zmiany zostaną zapisane na dysku.\n +Partition size CreateParametersPanel Rozmiar partycji Device DiskView Urządzenie Active PartitionList Aktywny Volume name PartitionList Nazwa woluminu Continue MainWindow Kontynuuj Cannot delete the selected partition. MainWindow Nie mozna usunąć wybranej partycji. Mount all MainWindow Zamontuj wszystko +End: %s Support Koniec: %s Cancel MainWindow Anuluj Delete partition MainWindow Usuń partycję +Are you sure you want to change parameters of the selected partition?\n\nThe partition may no longer be recognized by other operating systems anymore! MainWindow Czy jesteś pewna/pewny, że chcesz zmienić parametry wybranej partycji?\n\nPartycja może już nie być rozpoznawalna przez inne systemy operacyjne! Eject MainWindow Wysuń Partition MainWindow Partycja File system PartitionList System plików Validation of the given creation parameters failed. MainWindow Sprawdzenie poprawności parametrów tworzenia partycji nie powiodło się. +Partition type: ChangeParametersPanel Typ partycji: Size PartitionList Rozmiar Wipe (not implemented) MainWindow Wyczyść (nie zaimplementowane) Validation of the given initialization parameters failed. MainWindow Sprawdzenie poprawności parametrów inicjalizacji nie powiodło się. The selected partition does not contain a partitioning system. MainWindow Wybrana partycja nie posiada systemu partycjonowania. +Offset: %s Support Przesunięcie (offset): %s Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow Czy na pewno chcesz zapisać zmiany na dysk?\n\nWszystkie dane na partycji %s zostaną utracone! The partition %s is currently mounted. MainWindow Partycja %s jest już zamontowana. Surface test (not implemented) MainWindow Test powierzchni (nie zaimplementowano) Format MainWindow Format +Could not change the parameters of the selected partition. MainWindow Nie można było zmienić parametrów wybranej partycji. Parameters PartitionList Parametry Creation of the partition has failed. MainWindow Próba utworzenia partycji nie powiodła się. The currently selected partition is not empty. MainWindow Zaznaczona partycja nie jest pusta. diff --git a/data/catalogs/apps/drivesetup/ru.catkeys b/data/catalogs/apps/drivesetup/ru.catkeys index 401c403123..39ec84e490 100644 --- a/data/catalogs/apps/drivesetup/ru.catkeys +++ b/data/catalogs/apps/drivesetup/ru.catkeys @@ -1,11 +1,14 @@ -1 russian x-vnd.Haiku-DriveSetup 644135944 +1 russian x-vnd.Haiku-DriveSetup 4139684894 DriveSetup System name Разметка диска +Cancel AbstractParametersPanel Отмена Delete MainWindow Удалить Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Вы уверены, что хотите записать изменения на диск прямо сейчас?\n\nЕсли вы продолжите, то все данные на выбранном разделе будут безвозвратно потеряны! Rescan MainWindow Пересканировать OK MainWindow ОК Could not aquire partitioning information. MainWindow Невозможно получить информацию о разделах. There's no space on the partition where a child partition could be created. MainWindow Недостаточно места на разделе, где можно было бы создать подраздел. +Initialize InitializeParametersPanel Инициализировать +OK AbstractParametersPanel ОК PartitionList <пусто> Unable to find the selected partition by ID. MainWindow Невозможно найти выбранный раздел по ID. Select a partition from the list below. DiskView Выберите раздел из списка ниже @@ -15,6 +18,7 @@ The selected disk is read-only. MainWindow Выбранный диск дост Are you sure you want to format the partition \"%s\"? You will be asked again before changes are written to the disk. MainWindow Вы уверены, что хотите инициализировать раздел \"%s\"?\nПовторный запрос будет выдан непосредственно перед записью изменений на диск. Could not mount partition %s. MainWindow Невозможно подключить раздел %s. The partition %s has been successfully formatted.\n MainWindow Раздел %s был успешно инициализирован.\n +Change parameters MainWindow Изменить параметры The partition %s is already unmounted. MainWindow Раздел %s уже отключен. Failed to delete the partition. No changes have been written to disk. MainWindow Не удалось удалить раздел. Изменения не были записаны на диск. Could not delete the selected partition. MainWindow Невозможно удалить выбранный раздел. @@ -33,6 +37,8 @@ Write changes MainWindow Записать изменения There was an error preparing the disk for modifications. MainWindow Произошла ошибка при сохранении изменений на диск. The partition %s is already mounted. MainWindow Раздел %s уже отключен. Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow Вы уверены, что хотите инициализировать раздел?\nПовторный запрос будет выдан непосредственно перед записью изменений на диск. +Partition name: ChangeParametersPanel Название раздела: +Change ChangeParametersPanel Изменить Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Вы уверены, что хотите записать изменения на диск прямо сейчас?\n\nВсе данные на диске %s будут безвозвратно потеряны, если вы продолжите! Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Вы уверены, что хотите удалить выбранный раздел?\n\nВсе данные на этом разделе будут безвозвратно потеряны, если вы продолжите! Create… MainWindow Создать… @@ -41,26 +47,33 @@ The disk has been successfully initialized.\n MainWindow Диск был усп Could not unmount partition %s. MainWindow Невозможно отключить раздел %s. Failed to format the partition %s!\n MainWindow Не удалось инициализировать раздел %s!\n Mount MainWindow Подключить +Partition type PartitionList Тип раздела Are you sure you want to format a raw disk? (most people initialize the disk with a partitioning system first) You will be asked again before changes are written to the disk. MainWindow Вы уверены, что хотите инициализировать весь диск? (обычно на диске создают систему разделов)\nПовторный запрос будет выдан непосредственно перед записью изменений на диск. Device PartitionList Устройство Disk MainWindow Диск Are you sure you want to initialize the selected disk? All data will be lost. You will be asked again before changes are written to the disk.\n MainWindow Вы уверены, что хотите инициализировать выбранный диск? Все данные на этом диске будут потеряны.\nПовторный запрос будет выдан непосредственно перед записью изменений на диск.\n +Partition size CreateParametersPanel Размер раздела Device DiskView Устройство Active PartitionList Загрузочный Volume name PartitionList Имя раздела Continue MainWindow Продолжить Cannot delete the selected partition. MainWindow Невозможно удалить выбранный раздел. Mount all MainWindow Подключить все +End: %s Support Конец: %s Cancel MainWindow Отмена Delete partition MainWindow Удалить раздел Eject MainWindow Извлечь Partition MainWindow Раздел +Validation of the given parameters failed. MainWindow Проверка введённых параметров не удалась. +Create CreateParametersPanel Создать File system PartitionList Файловая система Validation of the given creation parameters failed. MainWindow Не удалось применить введённые при создании параметры. +Partition type: ChangeParametersPanel Тип раздела: Size PartitionList Размер Wipe (not implemented) MainWindow Форматировать (еще не реализовано) Validation of the given initialization parameters failed. MainWindow Не удалось применить параметры, введенные при инициализации. The selected partition does not contain a partitioning system. MainWindow Выбранный раздел не содержит таблицу разделов. +Offset: %s Support Смещение: %s Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow Вы уверены, что хотите записать изменения на диск прямо сейчас?\n\nЕсли вы продолжите, то все данные на разделе %s будут безвозвратно потеряны! The partition %s is currently mounted. MainWindow Раздел %s в данный момент подключен. Surface test (not implemented) MainWindow Тест поверхности (еще не реализовано) diff --git a/data/catalogs/apps/firstbootprompt/pl.catkeys b/data/catalogs/apps/firstbootprompt/pl.catkeys index 2f76a72505..5b9ed0b2b2 100644 --- a/data/catalogs/apps/firstbootprompt/pl.catkeys +++ b/data/catalogs/apps/firstbootprompt/pl.catkeys @@ -1,5 +1,6 @@ -1 polish x-vnd.Haiku-FirstBootPrompt 988630706 +1 polish x-vnd.Haiku-FirstBootPrompt 2649051796 Custom BootPromptWindow Własne +Boot to Desktop BootPromptWindow Rozruch do Pulpitu Thank you for trying out Haiku! We hope you'll like it!\n\nYou can select your preferred language and keyboard layout from the list on the left which will then be used instantly. You can easily change both settings from the Desktop later on on the fly.\n\nDo you wish to run the Installer or continue booting to the Desktop?\n BootPromptWindow For other languages, a note could be added: \"Note: Localization of Haiku applications and other components is an on-going effort. You will frequently encounter untranslated strings, but if you like, you can join in the work at .\" Dziękujemy za wypróbowanie Haiku! Mamy nadzieję, że Ci się spodoba!\n\nMożesz wybrać swój język i układ klawiatury z listy po lewej stronie, które to zostaną następnie użyte. Możesz później łatwo zmienić oba ustawienia w ustawieniach Pulpitu.\n\nChcesz od razu przejść do instalatora, czy może kontynuować rozruch do Pulpitu?\n Language BootPromptWindow Język Welcome to Haiku! BootPromptWindow Witaj w Haiku! diff --git a/data/catalogs/apps/firstbootprompt/ru.catkeys b/data/catalogs/apps/firstbootprompt/ru.catkeys index a8c6a21961..aacd0e8892 100644 --- a/data/catalogs/apps/firstbootprompt/ru.catkeys +++ b/data/catalogs/apps/firstbootprompt/ru.catkeys @@ -1,5 +1,6 @@ -1 russian x-vnd.Haiku-FirstBootPrompt 988630706 +1 russian x-vnd.Haiku-FirstBootPrompt 2649051796 Custom BootPromptWindow Пользовательская +Boot to Desktop BootPromptWindow Загрузть рабочий стол Thank you for trying out Haiku! We hope you'll like it!\n\nYou can select your preferred language and keyboard layout from the list on the left which will then be used instantly. You can easily change both settings from the Desktop later on on the fly.\n\nDo you wish to run the Installer or continue booting to the Desktop?\n BootPromptWindow For other languages, a note could be added: \"Note: Localization of Haiku applications and other components is an on-going effort. You will frequently encounter untranslated strings, but if you like, you can join in the work at .\" Большое спасибо за то, что решили попробовать Haiku.\nМы очень надеемся, что она вам понравится!\n\nИз списка слева вы можете выбрать предпочитаемый язык и клавиатурную раскладку, которые активируются немедленно. Вы легко сможете изменить эти настройки после запуска рабочего стола без перезагрузки.\n\nВы хотите запустить Установщик или продолжить загрузку рабочего стола?\n Language BootPromptWindow Язык Welcome to Haiku! BootPromptWindow Добро пожаловать в Haiku! diff --git a/data/catalogs/apps/fontdemo/ru.catkeys b/data/catalogs/apps/fontdemo/ru.catkeys index e29986997d..f1974e4841 100644 --- a/data/catalogs/apps/fontdemo/ru.catkeys +++ b/data/catalogs/apps/fontdemo/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-FontDemo 1300625863 +1 russian x-vnd.Haiku-FontDemo 3522850500 Outline: ControlView Контур: Size: 50 ControlView Размер: 50 Stop cycling ControlView Остановить цикл @@ -14,6 +14,7 @@ Rotation: 0 ControlView Поворот: 0 Drawing mode: ControlView Режим отрисовки: Haiku, Inc. ControlView Haiku, Inc. Controls FontDemo Управление +FontDemo System name FontDemo Outline: %d ControlView Контур: %d Text: ControlView Текст: Antialiased text ControlView Сглаженный текст diff --git a/data/catalogs/apps/icon-o-matic/pl.catkeys b/data/catalogs/apps/icon-o-matic/pl.catkeys index f9755d1c98..9e7145f769 100644 --- a/data/catalogs/apps/icon-o-matic/pl.catkeys +++ b/data/catalogs/apps/icon-o-matic/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.haiku-icon_o_matic 3069426771 +1 polish x-vnd.haiku-icon_o_matic 3933520036 Select All Icon-O-Matic-PathManipulator Zaznacz wszystko Add Style Icon-O-Matic-AddStylesCmd Dodanie stylu Color (#%02x%02x%02x) Style name after dropping a color Kolor (#%02x%02x%02x) @@ -43,6 +43,7 @@ Untitled Icon-O-Matic-Main Bez nazwy Multi Set Multi Set (property name) Ustaw wiele any of the other lists to Empty property list - 2nd line listy, żeby edytować Save as… Icon-O-Matic-Menu-File Zapisz jako… +Don't save Icon-O-Matic-Menu-Settings Nie zapisuj Change Color Icon-O-Matic-SetColorCmd Zmianę koloru Style Icon-O-Matic-Menus Styl Icon-O-Matic-PathCmd @@ -72,6 +73,7 @@ Undo Icon-O-Matic-Main Cofnij Click on a shape above Empty transformers list - 1st line Kliknij na kształt powyżej, Add Shape Icon-O-Matic-AddShapesCmd Dodanie kształtu Contour Transformation Kontur +Save changes to current icon before closing? Icon-O-Matic-Menu-Settings Czy zapisać bieżącą ikonę przez zamknięciem? Icon-O-Matic-Menu-Edit Perspective Transformation Perspektywa Move Transformer Icon-O-Matic-MoveTransformersCmd Przesunięcie transformatora diff --git a/data/catalogs/apps/installer/pl.catkeys b/data/catalogs/apps/installer/pl.catkeys index db6e314aaa..682cd097ec 100644 --- a/data/catalogs/apps/installer/pl.catkeys +++ b/data/catalogs/apps/installer/pl.catkeys @@ -2,7 +2,7 @@ So behind the other menu entries towards the bottom of the file, add something similar to these lines:\n\n InstallerApp Więc za innymi wpisami na samym dole pliku, dodaj coś podobnego do tych linii:\n\n Are you sure you want to abort the installation and restart the system? InstallerWindow Na pewno chcesz przerwać instalację i uruchomić ponownie system? \t}\n\n InstallerApp \t}\n\n -Installer\n\twritten by Jérôme Duval and Stephan Aßmus\n\tCopyright 2005-2010, Haiku.\n\n InstallerApp Instalator\n\tnapisany przez Jérôme Duval oraz Stephan Aßmus\n\tCopyright 2005-2010, Haiku.\n\n +Installer\n\twritten by Jérôme Duval and Stephan Aßmus\n\tCopyright 2005-2010, Haiku.\n\n InstallerApp Instalator\n\tnapisany przez Jérôme'a Duvala oraz Stephana Aßmusa\n\tCopyright 2005-2010, Haiku.\n\n Newer versions of GRUB use an extra configuration file to add custom entries to the boot menu. To add them to the top, you have to create/edit a file by launching your favorite editor from a Terminal like this:\n\n InstallerApp Nowe wersje GRUBa korzystają z dodatkowego pliku konfiguracyjnego, aby dodawać własne wpisy do menu rozruchu. Aby dodać je na górę, musisz utworzyć/edytować plik poprzez uruchomienie ulubionego edytora z Terminala w taki oto sposób:\n\n Here you have to comment out the line \"GRUB_HIDDEN_TIMEOUT=0\" by putting a \"#\" in front of it in order to actually display the boot menu.\n\n InstallerApp Tutaj musisz zakomentować linię \"GRUB_HIDDEN_TIMEOUT=0\" przez postawienie znaku \"#\" na początku linii, aby właściwie móc wyświetlić menu rozruchu.\n\n Installation completed. Boot sector has been written to '%s'. Press Quit to leave the Installer or choose a new target volume to perform another installation. InstallerWindow Zakończono instalację. Sektor rozruchowy został zapisany do '%s'. Należy nacisnąć Zamknij, aby opuścić instalator lub wybrać nowy wolumin docelowy w celu przeprowadzenia następnej instalacji. @@ -15,7 +15,7 @@ Install progress: InstallerWindow Postęp instalacji: 2.2) GRUB 1\n InstallerApp 2.2) GRUB 1\n Starting Installation. InstallProgress Rozpoczęcie instalacji. This is alpha-quality software! It means there is a high risk of losing important data. Make frequent backups! You have been warned.\n\n\n InstallerApp To wciąż oprogramowanie w wersji alpha! Oznacza to, że występuje wysokie ryzyko utraty danych. Rób częste kopie zapasowe! Zostałeś ostrzeżony.\n\n\n -Are you sure you want to abort the installation? InstallerWindow Czy na pewno chcesz przerwać instalację? +Are you sure you want to abort the installation? InstallerWindow Czy na pewno chcesz przerwać instalację? Are you sure you want to install onto the current boot disk? The Installer will have to reboot your machine if you proceed. InstallProgress Na pewno chcesz zainstalować Haiku na obecny dysk startowy? Instalator musi uruchomić komputer ponownie, jeśli tak wybierzesz. Quit Boot Manager InstallerWindow Wyjdź z Menedżera Rozruchu Stop InstallerWindow Zatrzymaj @@ -89,23 +89,23 @@ Have fun and thanks a lot for trying out Haiku! We hope you like it! InstallerAp OK InstallProgress OK Please choose target InstallerWindow Proszę wybierz cel ??? InstallerWindow Unknown partition name ??? -1) If you are installing Haiku onto real hardware (not inside an emulator) it is recommended that you have already prepared a hard disk partition. The Installer and the DriveSetup tool offer to initialize existing partitions with the Haiku native file system, but the options to change the actual partition layout may not have been tested on a sufficiently great variety of computer configurations so we do not recommend using it.\n InstallerApp 1) Jeśli instalujesz Haiku na prawdziwym sprzęcie (nie w emulatorze), to jestzalecane aby mieć już przygotowany podział na partycje. Instalator inarzędzie DriveSetup zaproponują zainicjalizowanie istniejących partycji natywnym systemem pliku dla Haiku, aleopcje zmiany bieżącego układu partycji mogą być niewystarczająco przetestowanena różnorodnych konfiguracjach komputera, więc nie zalecane jest używanie tego.\n -2) The Installer will make the Haiku partition itself bootable, but takes no steps to integrate Haiku into an existing boot menu. If you have GRUB already installed, you can add Haiku to its boot menu. Depending on what version of GRUB you use, this is done differently.\n\n\n InstallerApp 2) Instalator zrobi partycję Haiku bootowalną, ale nie podejmie kroków w celuintegracji Haiku do istniejącego menu rozruchowego. Jeśli posiadasz już zainstalowanego GRUBa, to możesz dodać Haiku do menu. W zależności od wersji GRUBa którego używasz jest to robione różnie.\n\n\n +1) If you are installing Haiku onto real hardware (not inside an emulator) it is recommended that you have already prepared a hard disk partition. The Installer and the DriveSetup tool offer to initialize existing partitions with the Haiku native file system, but the options to change the actual partition layout may not have been tested on a sufficiently great variety of computer configurations so we do not recommend using it.\n InstallerApp 1) Jeśli instalujesz Haiku na prawdziwym sprzęcie (nie w emulatorze), to jest zalecane, żeby mieć już przygotowany podział na partycje. Instalator wraz z narzędziem DriveSetup zaproponują zainicjalizowanie istniejących partycji natywnym systemem pliku dla Haiku. Opcja zmiany bieżącego układu partycji może nie być wystarczająco przetestowana na różnorodnych konfiguracjach komputerów i nie jest zalecana.\n +2) The Installer will make the Haiku partition itself bootable, but takes no steps to integrate Haiku into an existing boot menu. If you have GRUB already installed, you can add Haiku to its boot menu. Depending on what version of GRUB you use, this is done differently.\n\n\n InstallerApp 2) Instalator ustawi partycję Haiku jako bootowalną, ale nie podejmie kroków w celu integracji Haiku z istniejącym menu rozruchowym. Jeśli posiadasz już zainstalowanego GRUBa, to możesz dodać Haiku do menu. W zależności od wersji GRUBa, którego używasz, jest to realizowane w różny sposób.\n\n\n Begin InstallerWindow Rozpocznij Finally, you have to update the boot menu by entering:\n\n InstallerApp Ostatecznie musisz uaktualnić menu rozruchowe przez wpisanie:\n\n -If you have not created a partition yet, simply reboot, create the partition using whatever tool you feel most comfortable with, and reboot into Haiku to continue with the installation. You could for example use the GParted Live-CD, it can also resize existing partitions to make room.\n\n\n InstallerApp Jeśli jeszcze nie stworzyłeś partycji, po prostu uruchom ponownie komputer, stwórz partycję używając dowolnego narzędzia z którym czujesz się wygodnie i uruchom ponownie Haiku aby kontynuować instalację. Możesz na przykład użyć Live-CD GParted, potrafi ono zmienić rozmiar partycji aby zrobić miejsce.\n\n\n +If you have not created a partition yet, simply reboot, create the partition using whatever tool you feel most comfortable with, and reboot into Haiku to continue with the installation. You could for example use the GParted Live-CD, it can also resize existing partitions to make room.\n\n\n InstallerApp Jeśli jeszcze nie stworzyłeś partycji, po prostu uruchom ponownie komputer, stwórz partycję używając dowolnego narzędzia, którego obsługa jest Ci znana i uruchom ponownie Haiku, aby kontynuować instalację. Możesz na przykład użyć Live-CD GParted, które potrafi zmienić rozmiar partycji, a przez to zrobić miejsce.\n\n\n With GRUB 2 the first logical partition always has the number \"5\", regardless of the number of primary partitions.\n\n InstallerApp W GRUB 2 pierwsza logiczna partycja zawsze ma numer \"5\" niezależnie od liczby partycji podstawowych.\n\n Write boot sector InstallerWindow Zapisz sektor rozruchowy Cancel InstallerWindow Anuluj -DriveSetup, the application to configure disk partitions, could not be launched. InstallerWindow DriveSetup, aplikacja do konfiguracji partycji nie mogła zostać uruchomiona. +DriveSetup, the application to configure disk partitions, could not be launched. InstallerWindow DriveSetup, aplikacja do konfiguracji partycji, nie mogła zostać uruchomiona. No optional packages available. PackagesView Brak dostępnych opcjonalnych pakietów. All hard disks start with \"hd\".\n InstallerApp Wszystkie dyski twarde zaczynają się od \"hd\".\n Continue InstallerApp Kontynuuj -BootManager, the application to configure the Haiku boot menu, could not be launched. InstallerWindow BootManager, aplikacja do konfiguracji menu rozruchowego Haiku nie mogła zostać uruchomiona. -Configure your /boot/grub/menu.lst by launching your favorite editor from a Terminal like this:\n\n InstallerApp Zmień swój plik /boot/grub/menu.lst za pomocą swojego ulubionego edytora z Terminala takiego jak:\n\n +BootManager, the application to configure the Haiku boot menu, could not be launched. InstallerWindow BootManager, aplikacja do konfiguracji menu rozruchowego Haiku, nie mogła zostać uruchomiona. +Configure your /boot/grub/menu.lst by launching your favorite editor from a Terminal like this:\n\n InstallerApp Zmień swój plik /boot/grub/menu.lst za pomocą swojego ulubionego edytora z Terminala:\n\n Boot sector not written because of an internal error. InstallProgress Sektor rozruchowy nie został zapisany z powodu błędu wewnętrznego. Additional disk space required: %s InstallerWindow Wymagana dodatkowa przestrzeń na dysku: %s -NOTE: While the naming strategy for hard disks is still as described under 2.1) the naming scheme for partitions has changed.\n\n InstallerApp UWAGA: Chociaż strategia nazewnictwa dysków twardych jest nadal opisana w punkcie 2.1) to schemat nazewnictwa dla partycji zmienił się.\n\n +NOTE: While the naming strategy for hard disks is still as described under 2.1) the naming scheme for partitions has changed.\n\n InstallerApp UWAGA: Chociaż strategia nazewnictwa dysków twardych jest taka nadal, jak to opisano w punkcie 2.1) to schemat nazewnictwa dla partycji zmienił się.\n\n Cancel InstallProgress Anuluj Running Boot Manager and DriveSetup…\n\nClose both applications to continue with the installation. InstallerWindow Uruchamianie Boot Managera i DriveSetup…\n\nZamknij obydwie aplikacje aby kontynuować instalację. Try installing anyway InstallProgress Spróbuj zainstalować mimo wszystko @@ -113,7 +113,7 @@ So below the heading that must not be edited, add something similar to these lin Are you sure you want to to stop the installation? InstallerWindow Czy na pewno chcesz zatrzymać instalację? Onto: InstallerWindow Na: Please close the Boot Manager window before closing the Installer window. InstallerWindow Proszę zamknij okno Boot Managera przed zamknięciem okna Instalatora. -3) When you successfully boot into Haiku for the first time, make sure to read our \"Welcome\" and \"Userguide\" documentation. There are links on the Desktop and in WebPositive's bookmarks.\n\n InstallerApp 3) Kiedy po raz pierwszy załadujesz poprawnie Haiku, upewnij się, że przeczytasz naszą dokumentację \"Welcome\" i \"Userguide\". Na Pulpicie znajdują się do nich skróty, a w WebPositive zakładki.\n\n +3) When you successfully boot into Haiku for the first time, make sure to read our \"Welcome\" and \"Userguide\" documentation. There are links on the Desktop and in WebPositive's bookmarks.\n\n InstallerApp 3) Kiedy po raz pierwszy załadujesz poprawnie Haiku, koniecznie przeczytaj naszą dokumentację \"Welcome\" i \"Userguide\". Na Pulpicie znajdują się do nich skróty, a w WebPositive zakładki.\n\n Tools InstallerWindow Narzędzia The mount point could not be retrieved. InstallProgress Punkt montowania nie mógł zostać odczytany. The target volume is not empty. Are you sure you want to install anyway?\n\nNote: The 'system' folder will be a clean copy from the source volume, all other folders will be merged, whereas files and links that exist on both the source and target volume will be overwritten with the source volume version. InstallProgress Docelowy wolumin nie jest pusty. Czy na pewno chcesz instalować mimo to?\n\nUwaga: Katalog "system" będzie czystą kopią ze źródłowego woluminu, wszystkie inne katalogi zostaną połączone, gdzie pliki i dowiązania które istnieją zarówno na źródłowym i docelowym woluminie zostaną nadpisane wersją z woluminu źródłowego. diff --git a/data/catalogs/apps/launchbox/pl.catkeys b/data/catalogs/apps/launchbox/pl.catkeys index 2fe55adf30..0ee8e1f4e9 100644 --- a/data/catalogs/apps/launchbox/pl.catkeys +++ b/data/catalogs/apps/launchbox/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-LaunchBox 3016105370 +1 polish x-vnd.Haiku-LaunchBox 3692177981 New LaunchBox Nowy Set description… LaunchBox Ustaw opis… Vertical layout LaunchBox Układ pionowy @@ -6,6 +6,7 @@ OK LaunchBox OK Pad 1 LaunchBox Pad 1 last chance LaunchBox ostatnia szansa Quit LaunchBox Wyjdź +Open containing folder LaunchBox Otwórz katalog docelowy Clear button LaunchBox Wyczyść przycisk LaunchBox System name LaunchBox Ignore double-click LaunchBox Ignoruj dwuklik diff --git a/data/catalogs/apps/launchbox/ru.catkeys b/data/catalogs/apps/launchbox/ru.catkeys index d1dafff0f5..4f4390259a 100644 --- a/data/catalogs/apps/launchbox/ru.catkeys +++ b/data/catalogs/apps/launchbox/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-LaunchBox 3016105370 +1 russian x-vnd.Haiku-LaunchBox 3692177981 New LaunchBox Создать Set description… LaunchBox Изменить описание… Vertical layout LaunchBox Расположить вертикально @@ -6,6 +6,7 @@ OK LaunchBox ОК Pad 1 LaunchBox Панель 1 last chance LaunchBox последний шанс Quit LaunchBox Выход +Open containing folder LaunchBox Открыть содержащую папку Clear button LaunchBox Очистить кнопку LaunchBox System name Панель запуска Ignore double-click LaunchBox Игнорировать двойной щелчок diff --git a/data/catalogs/apps/mail/pl.catkeys b/data/catalogs/apps/mail/pl.catkeys index 81dd49ad62..93c7b4b3c0 100644 --- a/data/catalogs/apps/mail/pl.catkeys +++ b/data/catalogs/apps/mail/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Be-MAIL 808593564 +1 polish x-vnd.Be-MAIL 233997769 View Mail Widok %d - Date Mail %d - Data Attach attributes: Mail Dołączaj atrybuty: @@ -82,6 +82,7 @@ Only files can be added as attachments. Mail Tylko pliki mogą być dodane jako Previous message Mail Poprzednia wiadomość Attachments: Mail Załączniki: Title: Mail Tytuł: + Mail Find… Mail Szukaj… Accounts… Mail Konta… Mail preferences Mail Ustawienia poczty @@ -106,6 +107,7 @@ Close Mail Zamknij No matches Mail Brak dopasowań The mail_daemon is not running. The message is queued and will be sent when the mail_daemon is started. Mail Mail_daemon nie jest uruchomiony. Ta wiadomość została została zakolejkowana i będzie wysłana po uruchomieniu mail_daemon. Really delete this signature? This cannot be undone. Mail Czy usunąć naprawdę tę sygnaturkę? Tego nie da się cofnąć. +Save this message as a draft before closing? Mail Zapisać wersję roboczą tej wiadomości? Open Mail Otwórz draft B_USER_DIRECTORY/mail/draft draft Quote Mail Cytowanie @@ -119,6 +121,7 @@ Account: Mail Konto: Decoding: Mail Dekodowanie: Sorry, could not find an application that supports the 'Person' data type. Mail Przepraszamy, nie można znaleźć aplikacji która wspiera typ danych "Osoba". Delete Mail Usuń +Don't send Mail Nie wysyłaj Leave as '%s' Mail Pozostaw jako '%s' Copy Mail Skopiuj Mail couldn't find its dictionary. Mail Poczta nie może znaleźć swojego słownika. @@ -133,6 +136,7 @@ Font: Mail Czcionka: (Address unavailable) Mail (Adres niedostępny) Save address Mail Zapisz adres Queries Mail Zapytania +Send this message before closing? Mail Czy przed zamknięciem wysłać wiadomość? Save Mail Zapisz Random Mail Losowe Close and Mail Zamknij i diff --git a/data/catalogs/apps/people/pl.catkeys b/data/catalogs/apps/people/pl.catkeys index 85b96bf7e4..f686c32fe9 100644 --- a/data/catalogs/apps/people/pl.catkeys +++ b/data/catalogs/apps/people/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Be-PEPL 3676386979 +1 polish x-vnd.Be-PEPL 2332202134 Edit People Edytuj Error People Błąd City People Miasto @@ -21,6 +21,7 @@ Nickname People Pseudonim Quit People Wyjdź Name People Imię i nazwisko Revert People Przywróć +Don't save People Nie zapisuj Undo People Cofnij E-mail People E-mail Load image… People Wczytaj obraz… @@ -38,7 +39,7 @@ Person Short mimetype description Osoba New person… People Nowa osoba… Address People Adres URL People Adres URL -Sorry People OK +Sorry People Przykro nam Zip People Kod pocztowy Contact information for a person. Long mimetype description Informacje kontaktowe osoby. Fax People Faks diff --git a/data/catalogs/apps/stylededit/pl.catkeys b/data/catalogs/apps/stylededit/pl.catkeys index 5ff5b8aa27..3ab633a5bc 100644 --- a/data/catalogs/apps/stylededit/pl.catkeys +++ b/data/catalogs/apps/stylededit/pl.catkeys @@ -1,14 +1,16 @@ -1 polish x-vnd.Haiku-StyledEdit 1430674159 +1 polish x-vnd.Haiku-StyledEdit 3208803155 StyledEdit System name StyledEdit This file is marked read-only. Save changes to the document \"%s\"? SaveAlert Ten plik jest oznaczony jako tylko do odczytu. Czy zapisać zmiany w dokumencie \"%s\"? Paste Menus Wklej OK LoadAlert OK File Menus Plik ??? LoadAlert ??? +Modified StatusView Zmieniony Lines: Statistics Linie: Italic Menus Kursywa Left Menus Lewo Search backwards FindandReplaceWindow Szukaj wstecz +Unlock file StatusView Odblokuj plik Size Menus Rozmiar Save QuitAlert Zapisz Page setup… Menus Ustawienia strony… @@ -32,6 +34,7 @@ Autodetect Menus Autodetekcja Document Menus Dokument Save changes to the document \"%s\"? QuitAlert Zapisać zmiany w dokumencie \"%s\"? Edit Menus Edytuj +Revert RevertToSavedAlert Przywróć Font Menus Czcionka Replace all FindandReplaceWindow Zamień wszystkie Statistics… Menus Statystyki… @@ -53,7 +56,9 @@ OK QuitAlert OK Open… Menus Otwórz… Center Menus Wyśrodkuj Blue Menus Niebieski +Unable to unlock file\n\t%s QuitAlert Nie można odblokować pliku\n\t %s Cyan Menus Cyjan +line %d, column %d StatusView wiersz %d, kolumna %d OK Statistics OK Magenta Menus Magenta New Menus Nowy @@ -74,6 +79,7 @@ Don't save SaveAlert Nie zapisuj Recover NodeMonitorAlerts Odzyskaj Error loading \"%s\":\n\t%s LoadAlert Błąd podczas ładowania \"%s\":\n\t%s Ignore NodeMonitorAlerts Ignoruj +Read-only StatusView Tylko do odczytu Undo typing QuitAlert Cofnij pisanie Black Menus Czarny Untitled StyledEditWindow Bez tytułu diff --git a/data/catalogs/apps/terminal/pl.catkeys b/data/catalogs/apps/terminal/pl.catkeys index eb7a42351a..99727e84dc 100644 --- a/data/catalogs/apps/terminal/pl.catkeys +++ b/data/catalogs/apps/terminal/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-Terminal 2997644674 +1 polish x-vnd.Haiku-Terminal 2645209895 Not found. Terminal TermWindow Nie znaleziono. Switch Terminals Terminal TermWindow Przełącz Terminal Change directory Terminal TermView Zmień folder @@ -62,6 +62,7 @@ Text not found. Terminal TermWindow Tekst nie znaleziony. Find… Terminal TermWindow Znajdź… The process \"%1\" is still running.\nIf you close the Terminal, the process will be killed. Terminal TermWindow Proces \"%1\" jest wciąż w użyciu.\nJeśli zamkniesz terminal, proces zostanie zatrzymany. Move here Terminal TermView Przenieś tutaj +\t%d\t-\tThe current working directory of the active process in the\n\t\t\tcurrent tab. Optionally the maximum number of path components\n\t\t\tcan be specified. E.g. '%2d' for at most two components.\n\t%T\t-\tThe Terminal application name for the current locale.\n\t%i\t-\tThe index of the window.\n\t%p\t-\tThe name of the active process in the current tab.\n\t%t\t-\tThe title of the current tab.\n\t%%\t-\tThe character '%'. Terminal ToolTips \t%d\t-\tBieżący katalog roboczy dla aktywnego procesu w danej\n\t\t\tzakładce. Opcjonalnie maksymalna liczba elementów ścieżki\n\t\t\tjaka ma być określona. Np. '%2d' dla co najwyżej dwóch elementów.\n\t%T\t-\tNazwa programu Terminala dla obecnych ustawień localizacyjnych (locale).\n\t%i\t-\tLiczba porządkowa okna (index).\n\t%p\t-\tNazwa aktywnego okna w bieżącej zakładce.\n\t%t\t-\tTytuł bieżącej zakładki.\n\t%%\t-\tZnak '%'. Retro Terminal colors scheme Retro Error! Terminal getString Błąd! New tab Terminal TermWindow Nowa karta @@ -69,6 +70,7 @@ The pattern specifying the tab titles. The following placeholders\ncan be used:\ Selected background Terminal AppearancePrefView Wybrane tło Slate Terminal colors scheme Ciemnopopielaty Text under cursor Terminal AppearancePrefView Tekst pod kursorem +Midnight Terminal colors scheme O północy Decrease Terminal TermWindow Zmniejsz Default Terminal colors scheme Domyślny Create link here Terminal TermView Utwórz link tutaj diff --git a/data/catalogs/apps/terminal/ru.catkeys b/data/catalogs/apps/terminal/ru.catkeys index 4bfb6850e2..6426764b45 100644 --- a/data/catalogs/apps/terminal/ru.catkeys +++ b/data/catalogs/apps/terminal/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-Terminal 766764238 +1 russian x-vnd.Haiku-Terminal 2645209895 Not found. Terminal TermWindow Текст не найден Switch Terminals Terminal TermWindow Переключить терминалы Change directory Terminal TermView Сменить каталог @@ -21,6 +21,7 @@ Font: Terminal AppearancePrefView Шрифт: Copy here Terminal TermView Копировать сюда Really close? Terminal TermWindow Действительно закрыть? Copy Terminal TermWindow Копировать +Terminal Terminal TermWindow The title for the main window menubar entry related to terminal sessions Терминал Color scheme: Terminal AppearancePrefView Цветовая схема: Window title: Terminal TermWindow Заголовок окна: Unrecognized option \"%s\"\n Terminal arguments parsing Нераспознанная опция \"%s\"\n @@ -61,6 +62,7 @@ Text not found. Terminal TermWindow Текст не найден Find… Terminal TermWindow Найти… The process \"%1\" is still running.\nIf you close the Terminal, the process will be killed. Terminal TermWindow Процесс \"%1\" все еще работает.\nЕсли вы закроете Терминал, то этот процесс будет уничтожен. Move here Terminal TermView Переместить сюда +\t%d\t-\tThe current working directory of the active process in the\n\t\t\tcurrent tab. Optionally the maximum number of path components\n\t\t\tcan be specified. E.g. '%2d' for at most two components.\n\t%T\t-\tThe Terminal application name for the current locale.\n\t%i\t-\tThe index of the window.\n\t%p\t-\tThe name of the active process in the current tab.\n\t%t\t-\tThe title of the current tab.\n\t%%\t-\tThe character '%'. Terminal ToolTips \t%d\t-\tТекущая директория активного процесса текущей вкладки.\n\t\t\tОпционально можно указать максимальное число отображаемых компонентов пути.\n\t\t\tНапример '%2d' отобразит последние 2 компонента.\n\t%T\t-\tИмя приложения Терминал для текущей локали.\n\t%i\t-\tНомер окна.\n\t%p\t-\tНазвание активного процесса в текущей вкладке.\n\t%t\t-\tЗаголовок текущей вкладки.\n\t%%\t-\tСимвол процента - '%'. Retro Terminal colors scheme Ретро Error! Terminal getString Ошибка! New tab Terminal TermWindow Новая вкладка diff --git a/data/catalogs/apps/webpositive/pl.catkeys b/data/catalogs/apps/webpositive/pl.catkeys index 9fafbc5f22..aaf46a51b9 100644 --- a/data/catalogs/apps/webpositive/pl.catkeys +++ b/data/catalogs/apps/webpositive/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-WebPositive 2400159322 +1 polish x-vnd.Haiku-WebPositive 3577331897 Show home button Settings Window Pokaż przycisk domowy Username: Authentication Panel Nazwa użytkownika: Copy URL to clipboard Download Window Kopiuj adres URL do schowka @@ -16,6 +16,7 @@ Start page: Settings Window Strona startowa: History WebPositive Window Historia Error opening downloads folder Download Window Błąd podczas otwierania folderu pobierania Paste WebPositive Window Wklej +Proxy username: Settings Window Nazwa użytkownika serwera proxy: Settings Settings Window Ustawienia %seconds seconds left Download Window Pozostało %seconds sekund Confirmation WebPositive Window Potwierdzenie @@ -33,6 +34,7 @@ Cancel Authentication Panel Anuluj Match case WebPositive Window Uwzględnij wielkość liter Search page: Settings Window Strona wyszukiwania: Zoom text only WebPositive Window Powiększaj tylko tekst +Default fixed font size: Settings Window Domyślny rozmiar czcionki o stałej szerokości: Close tab WebPositive Window Zamknij kartę Auto-hide mouse pointer Settings Window Auto-chowanie wskaźnika myszy Over 1 hour left Download Window Została ponad 1 godzina @@ -40,6 +42,7 @@ Quit WebPositive Window Zakończ Full screen WebPositive Window Pełny ekran Open download error Download Window Otwórz błąd pobierania Standard font: Settings Window Czcionka standardowa: +Find previous occurrence of search terms WebPositive Window find bar previous button tooltip Wyszukuje poprzednie wystąpienie tekstu Restart Download Window Uruchom ponownie Proxy server Settings Window Serwer proxy Open containing folder Download Window Otwórz folder zawierający @@ -57,6 +60,7 @@ Cut WebPositive Window Wytnij Bookmark this page WebPositive Window Dodaj zakładkę There was an error trying to show the Bookmarks folder.\n\nError: %error WebPositive Window Don't translate variable %error Wystąpił błąd podczas próby pokazania folderu zakładek.\n\nBłąd: %error Open downloads folder Download Window Otwórz folder pobierania +Proxy password: Settings Window Hasło serwera proxy: Number of days to keep links in History menu: Settings Window Liczba dni przechowywania linków w historii: Hide Download Window Ukryj Reset size WebPositive Window Resetuj rozmiar @@ -66,6 +70,7 @@ There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Over 1 day left Download Window Został ponad 1 dzień Downloads WebPositive Window Pobieranie Requesting %url WebPositive Window Odpytywanie %url +Find next occurrence of search terms WebPositive Window find bar next button tooltip Wyszukuje następne wystąpienie tekstu Apply Settings Window Zastosuj Bookmark info WebPositive Window Informacje o zakładkach Size: Font Selection view Rozmiar: @@ -79,6 +84,7 @@ Open blank page Settings Window Otwórz pustą stronę New tabs: Settings Window Nowa karta: Cancel WebPositive Window Anuluj Open all WebPositive Window Otwórz wszystko +Proxy server requires authentication Settings Window Serwer proxy wymaga uwierzytelnienia Clear URL Bar Wyczyść Cut URL Bar Wytnij Clear WebPositive Window Wyczyść diff --git a/data/catalogs/apps/webpositive/ru.catkeys b/data/catalogs/apps/webpositive/ru.catkeys index f2f31c24a0..6851f299d1 100644 --- a/data/catalogs/apps/webpositive/ru.catkeys +++ b/data/catalogs/apps/webpositive/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-WebPositive 233049275 +1 russian x-vnd.Haiku-WebPositive 3577331897 Show home button Settings Window Показывать кнопку Домой Username: Authentication Panel Имя пользователя: Copy URL to clipboard Download Window Копировать ссылку на загрузку @@ -16,6 +16,7 @@ Start page: Settings Window Начальная страница: History WebPositive Window История Error opening downloads folder Download Window Ошибка открытия каталога загрузок Paste WebPositive Window Вставить +Proxy username: Settings Window Имя пользователя прокси: Settings Settings Window Настройки %seconds seconds left Download Window осталось %seconds секунд Confirmation WebPositive Window Подтверждение @@ -41,6 +42,7 @@ Quit WebPositive Window Выход Full screen WebPositive Window Полноэкранный режим Open download error Download Window Ошибка при открытии загруженного файла Standard font: Settings Window Обычный шрифт: +Find previous occurrence of search terms WebPositive Window find bar previous button tooltip Найти назад Restart Download Window Перезапустить Proxy server Settings Window Прокси-сервер Open containing folder Download Window Открыть папку с файлом @@ -58,6 +60,7 @@ Cut WebPositive Window Вырезать Bookmark this page WebPositive Window Добавить в закладки There was an error trying to show the Bookmarks folder.\n\nError: %error WebPositive Window Don't translate variable %error Произошла ошибка при открытии папки с закладками.\n\nОшибка: %error Open downloads folder Download Window Открыть папку загрузок +Proxy password: Settings Window Пароль прокси: Number of days to keep links in History menu: Settings Window Количество дней, которые надо держать ссылки в меню История: Hide Download Window Скрыть Reset size WebPositive Window Сбросить размер @@ -67,6 +70,7 @@ There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Over 1 day left Download Window Осталось более 1 дня Downloads WebPositive Window Загрузки Requesting %url WebPositive Window Запрашивается %url +Find next occurrence of search terms WebPositive Window find bar next button tooltip Найти вперед Apply Settings Window Применить Bookmark info WebPositive Window Информация о закладке Size: Font Selection view Размер: @@ -80,6 +84,7 @@ Open blank page Settings Window Открыть пустую страницу New tabs: Settings Window Новые вкладки: Cancel WebPositive Window Отмена Open all WebPositive Window Открыть все +Proxy server requires authentication Settings Window Прокси требует проверки подлинности Clear URL Bar Очистить Cut URL Bar Вырезать Clear WebPositive Window Очистить diff --git a/data/catalogs/kits/pl.catkeys b/data/catalogs/kits/pl.catkeys index 518b939955..d15aad5cf1 100644 --- a/data/catalogs/kits/pl.catkeys +++ b/data/catalogs/kits/pl.catkeys @@ -7,8 +7,8 @@ About %app% AboutMenuItem O %app% Cut TextView Wytnij Version AboutWindow Wersja Cannot create the replicant for \"%description\".\n%error ZombieReplicantView Nie można stworzyć replikanta dla \"%description\".\n%error -About AboutWindow O… -Copy TextView Skopiuj +About AboutWindow O +Copy TextView Kopiuj %3.2f KiB StringForSize %3.2f KiB %d bytes StringForSize %d bajtów alpha AboutWindow alfa diff --git a/data/catalogs/kits/tracker/pl.catkeys b/data/catalogs/kits/tracker/pl.catkeys index 668887f661..12bac5ceab 100644 --- a/data/catalogs/kits/tracker/pl.catkeys +++ b/data/catalogs/kits/tracker/pl.catkeys @@ -1,5 +1,5 @@ -1 polish x-vnd.Haiku-libtracker 223982976 -common B_COMMON_DIRECTORY common +1 polish x-vnd.Haiku-libtracker 2345639754 +common B_COMMON_DIRECTORY wspólny OK WidgetAttributeText OK Icon view VolumeWindow Widok ikon Add-ons FilePanelPriv Wtyczki @@ -73,6 +73,7 @@ Arrange by ContainerWindow Ułóż według Mount server error AutoMounterSettings Błąd serwera montowania Search FindPanel Szukaj Preparing to empty Trash… StatusWindow Przygotowanie do opróżnienia Kosza… +You cannot put the selected item(s) into the trash. FSUtils Nie możesz umieścić wybranych elementów w Koszu. Disks Model Dyski Create link ContainerWindow Utwórz link develop B_COMMON_DEVELOP_DIRECTORY develop @@ -92,6 +93,7 @@ Cut FilePanelPriv Wytnij Replace FilePanelPriv Zastąp Select all VolumeWindow Zaznacz wszystko Opens with: InfoWindow Otwórz za pomocą: +If you %ifYouDoAction the mime settings, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Jeśli wykonasz '%ifYouDoAction' wobec ustawień MIME, %osName może się nie zachowywać właściwie!\n\nCzy jesteś pewien, że chcesz wykonać operację %ifYouDoAction? Open ContainerWindow Otwórz 96 x 96 DeskWindow 96 x 96 Error calculating folder size. InfoWindow Błąd przy obliczaniu rozmiaru folderu. @@ -253,6 +255,7 @@ TiB WidgetAttributeText TiB The file \"%name\" already exists in the specified folder. Do you want to replace it? FilePanelPriv Plik o nazwie \"%name\" już istnieje w tej lokalizacji. Czy chcesz go zamienić? Cancel ContainerWindow Anuluj Only the boot disk AutoMounterSettings Tylko dysk bootujący +If you %ifYouDoAction the config folder, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Jeśli wykonasz '%ifYouDoAction' wobec katalogu konfiguracji, %osName może się nie zachowywać właściwie!\n\nCzy jesteś pewien, że chcesz wykonać operację '%ifYouDoAction'? Unmount ContainerWindow Odmontuj Copy layout ContainerWindow Kopiuj motyw label too long PoseView opis zbyt długi @@ -339,6 +342,7 @@ Handles any file OpenWithWindow Wspiera każdy plik Get info FilePanelPriv Pokaż informacje 32 x 32 DeskWindow 32 x 32 Cancel FilePanelPriv Anuluj +The application \"%appname\" does not support the type of document you are about to open.\nAre you sure you want to proceed?\n\nIf you know that the application supports the document type, you should contact the publisher of the application and ask them to update their application to list the type of your document as supported. OpenWithWindow Typ dokumentu, którego zamierzasz otworzyć programem \"%appname\", nie jest przez niego obsługiwany.\nCzy jesteś pewien, że chcesz to zrobić?\n\nJeśli jesteś pewien, że program wspiera taki typ dokumentu, powinieneś skontaktować się z wydawcą programu i poprosić, żeby zaktualizowano listę wspieranych typów dokumentów. Disks DirMenu Dyski New folder %ld FSUtils Nowy folder %ld All BeOS disks AutoMounterSettings Wszystkie dyski BeOS @@ -376,6 +380,7 @@ Preferences… ContainerWindow Ustawienia... Move PoseView Przenieś Open and make preferred OpenWithWindow Otwórz i zaznacz jako preferowane Are you sure you want to delete the selected item(s)? This operation cannot be reverted. FSUtils Jesteś pewien, że chcesz usunąć zaznaczone obiekty? Ta operacja nie może być cofnięta. +If you %ifYouDoAction the home folder, %osName may not behave properly!\n\nAre you sure you want to do this?\n\nTo %toDoAction the home folder anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Jeśli wykonasz '%ifYouDoAction' wobec katalogu domowego, %osName może nie zachowywać się właściwie!\n\nCzy jesteś pewien, że chcesz wykonać operację '%ifYouDoAction'?\n\nJeśli pomimo wszystko wciąż chcesz wykonać '%toDoAction', to przytrzymaj klawisz Shift i kliknij \"%toConfirmAction\". Add-ons DeskWindow Wtyczki Name FindPanel Nazwa And FindPanel I diff --git a/data/catalogs/kits/tracker/ru.catkeys b/data/catalogs/kits/tracker/ru.catkeys index 24b673b562..7e08176757 100644 --- a/data/catalogs/kits/tracker/ru.catkeys +++ b/data/catalogs/kits/tracker/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-libtracker 720928714 +1 russian x-vnd.Haiku-libtracker 4167158175 common B_COMMON_DIRECTORY Общие OK WidgetAttributeText ОК Icon view VolumeWindow Большие значки @@ -50,7 +50,7 @@ Delete PoseView Удалить Select all ContainerWindow Выделить все Sorry, the 'Character' attribute cannot store a multi-byte glyph. WidgetAttributeText Извините, но атрибут 'Character' не может хранить многобайтовый глиф. Clean up DeskWindow Выстроить -You cannot copy or move the root directory. FSUtils Вы не можете перемещать или копировать корневую папку. +You cannot copy or move the root directory. FSUtils Вы не можете копировать или перемещать корневую папку. %SizeProcessed of %TotalSize, %BytesPerSecond/s StatusWindow %SizeProcessed из %TotalSize, %BytesPerSecond/с Invert selection FilePanelPriv Инвертировать Rename InfoWindow Button label, 'Rename' (en), 'Umbenennen' (de) Переименовать @@ -74,6 +74,7 @@ Arrange by ContainerWindow Выстроить по Mount server error AutoMounterSettings Ошибка сервера подключения дисков Search FindPanel Искать Preparing to empty Trash… StatusWindow Подготовка к очищению корзины… +You cannot put the selected item(s) into the trash. FSUtils Вы не можете переместить выбранные объекты в корзину. Disks Model Диски Create link ContainerWindow Создать ссылку в develop B_COMMON_DEVELOP_DIRECTORY Разработка @@ -448,6 +449,7 @@ Mount DeskWindow Подключить Mount ContainerWindow Подключить %capacity (%used used -- %free free) InfoWindow %capacity (%used занято -- %free свободно) Cancel FSClipBoard Отмена +Restart Deskbar DeskWindow Перезапустить Deskbar Cut more ContainerWindow Вырезать ещё Deleting: StatusWindow Удаление: Empty Trash InfoWindow Очистить корзину diff --git a/data/catalogs/preferences/appearance/ru.catkeys b/data/catalogs/preferences/appearance/ru.catkeys index 311686e2a4..332409cadd 100644 --- a/data/catalogs/preferences/appearance/ru.catkeys +++ b/data/catalogs/preferences/appearance/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-Appearance 392334122 +1 russian x-vnd.Haiku-Appearance 1457181689 Plain font: Font view Простой шрифт: Control highlight Colors tab Подсветка элемента Control border Colors tab Граница элемента @@ -9,6 +9,7 @@ Defaults APRWindow По умолчанию Grayscale AntialiasingSettingsView Оттенки серого Shine Colors tab Сияние About DecorSettingsView О декораторе +About decorator DecorSettingsView Об этом декораторе Off AntialiasingSettingsView Выключить Choose Decorator DecorSettingsView Выберите декоратор Success Colors tab Успех @@ -30,20 +31,26 @@ Document text Colors tab Текст документа Navigation pulse Colors tab Навигационная пульсация Selected menu item text Colors tab Текст выделенного пункта меню Menu background Colors tab Фон меню +List background Colors tab Фон списка OK DecorSettingsView ОК Control mark Colors tab Отметка Size: Font Selection view Размер: +Decorator: DecorSettingsView Декоратор: +Selected list item background Colors tab Фон выбранного пункта меню Panel background Colors tab Фон панели Menu font: Font view Шрифт меню: Colors APRWindow Цвета Control background Colors tab Фон элемента Inactive window tab Colors tab Заголовок неактивного окна +List item text Colors tab Текст списка Appearance System name Внешний вид Fixed font: Font view Моноширинный шрифт: The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. Эй, жлоб! Где туз? Прячь юных съёмщиц в шкаф. +%decorName\n\nAuthors:\n\t%decorAuthors\n\nURL: %decorURL\nLicense: %decorLic\n\n%decorDesc\n DecorSettingsView %decorName\n\nАвторы:\n\t%decorAuthors\n\nURL: %decorURL\nЛицензия: %decorLic\n\n%decorDesc\n Reduce colored edges filter strength: AntialiasingSettingsView Фильтрация цветных краев: Subpixel based anti-aliasing in combination with glyph hinting is not available in this build of Haiku to avoid possible patent issues. To enable this feature, you have to build Haiku yourself and enable certain options in the libfreetype configuration header. AntialiasingSettingsView Субпиксельное сглаживание в комбинации с уточнением глифов недоступно в этой сборке Haiku во избежание возможных патентных проблем. Для включения этой возможности вам придется собрать Haiku самостоятельно, включив особые опции в заголовке конфигурации libfreetype. Control text Colors tab Текст элемента +Single: DecorSettingsView Одинарный: Tooltip text Colors tab Текст подсказки Bold font: Font view Жирный шрифт: Inactive window border Colors tab Рамка неактивного окна @@ -52,6 +59,7 @@ LCD subpixel AntialiasingSettingsView Субпиксельное сглажив Selected menu item border Colors tab Рамка выделенного пункта меню Strong AntialiasingSettingsView Сильная Panel text Colors tab Текст панели +Arrow style DecorSettingsView Стиль стрелок Monospaced fonts only AntialiasingSettingsView Только моноширинные шрифты Look and feel APRWindow Вид и поведение Antialiasing menu AntialiasingSettingsView Сглаживание меню diff --git a/data/catalogs/preferences/bluetooth/ru.catkeys b/data/catalogs/preferences/bluetooth/ru.catkeys index 5145226bac..566b0825a8 100644 --- a/data/catalogs/preferences/bluetooth/ru.catkeys +++ b/data/catalogs/preferences/bluetooth/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-BluetoothPrefs 1628593228 +1 russian x-vnd.Haiku-BluetoothPrefs 3212620536 About Bluetooth… Window О программе… Handheld Settings view Переносной Default inquiry time: Settings view Время запроса по умолчанию: @@ -55,6 +55,7 @@ Always ask Settings view Всегда спрашивать Retrieving name of %1 Inquiry panel Получение имени %1 Check that the Bluetooth capabilities of your remote device are activated. Press 'Inquiry' to start scanning. The needed time for the retrieval of the names is unknown, although should not take more than 3 seconds per device. Afterwards you will be able to add them to your main list, where you will be able to pair with them. Inquiry panel Убедитесь, что на удалённом устройстве активирован bluetooth. Чтобы начать сканирование, нажмите кнопку 'Запрос'. Время, необходимое для получения имён неизвестно, хотя не должно превышать 3-х секунд на одно устройство. После этого вы сможете подключиться к ним. Authenticate Extended local device view Аутентифицировать +Pick device... Settings view Выбрать устройство... Retrieving names... Inquiry panel Получение имен… Help Window Помощь Add… Remote devices Добавить… diff --git a/data/catalogs/preferences/filetypes/pl.catkeys b/data/catalogs/preferences/filetypes/pl.catkeys index fd9e9eed24..d8fcf7cf7d 100644 --- a/data/catalogs/preferences/filetypes/pl.catkeys +++ b/data/catalogs/preferences/filetypes/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-FileTypes 1059171929 +1 polish x-vnd.Haiku-FileTypes 133192727 Application types… FileTypes Window Typy aplikacji… Description: Application Types Window Opis: Args only Application Type Window Tylko argumenty @@ -49,6 +49,8 @@ Group name: New File Type Window Nazwa grupy: Preferred application FileType Window Preferowana aplikacja Progress Application Types Window Postęp Set preferred application Preferred App Menu Ustaw preferowaną aplikację +Don't save Application Type Window Nie zapisuj +Save changes before closing? Application Type Window Zapisać zmiany przed zamknięciem? File Application Type Window Plik Version: Application Type Window Wersja: Select… FileTypes Window Wybierz… diff --git a/data/catalogs/preferences/filetypes/ru.catkeys b/data/catalogs/preferences/filetypes/ru.catkeys index 7065db88df..e16c494bdb 100644 --- a/data/catalogs/preferences/filetypes/ru.catkeys +++ b/data/catalogs/preferences/filetypes/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-FileTypes 1059171929 +1 russian x-vnd.Haiku-FileTypes 133192727 Application types… FileTypes Window Типы приложений… Description: Application Types Window Описание: Args only Application Type Window Только аргументы @@ -49,6 +49,8 @@ Group name: New File Type Window Имя группы: Preferred application FileType Window Предпочтительное приложение Progress Application Types Window Состояние Set preferred application Preferred App Menu Установить предпочтительное приложение +Don't save Application Type Window Не сохранять +Save changes before closing? Application Type Window Сохранить изменения перед выходом? File Application Type Window Файл Version: Application Type Window Версия: Select… FileTypes Window Выбрать… diff --git a/data/catalogs/preferences/network/pl.catkeys b/data/catalogs/preferences/network/pl.catkeys index 752b892032..99e39b720b 100644 --- a/data/catalogs/preferences/network/pl.catkeys +++ b/data/catalogs/preferences/network/pl.catkeys @@ -1,22 +1,27 @@ -1 polish x-vnd.Haiku-Network 365183238 +1 polish x-vnd.Haiku-Network 1341378870 Choose automatically EthernetSettingsView Wybierz automatycznie Gateway: EthernetSettingsView Brama domyślna: Netmask: EthernetSettingsView Maska sieci: DHCP EthernetSettingsView DHCP DNS #2: EthernetSettingsView DNS #2: Apply EthernetSettingsView Zastosuj +Netmask is invalid EthernetSettingsView Maska sieci jest nieprawidłowa OK EthernetSettingsView OK DNS #1: EthernetSettingsView DNS #1: IP address: EthernetSettingsView Adres IP: Adapter: EthernetSettingsView Karta sieciowa: Domain: EthernetSettingsView Domena: +Gateway is invalid EthernetSettingsView Adres bramy jest nieprawidłowy +DNS #1 is invalid EthernetSettingsView DNS 1 jest nieprawidłowy Revert EthernetSettingsView Przywróć EthernetSettingsView Network System name Sieć Mode: EthernetSettingsView Typ adresu: +IP address is invalid EthernetSettingsView adres IP jest nieprawidłowy Network: EthernetSettingsView Sieć: The net_server needs to run for the auto configuration! EthernetSettingsView Serwer sieci (net_server) musi być uruchomiony dla automatycznej konfiguracji! Disabled EthernetSettingsView Wyłączone Auto-configuring failed: EthernetSettingsView Automatyczna konfiguracja nie powiodła się: Static EthernetSettingsView Statyczny +DNS #2 is invalid EthernetSettingsView DNS 2 jest nieprawidłowy EthernetSettingsView diff --git a/data/catalogs/preferences/network/ru.catkeys b/data/catalogs/preferences/network/ru.catkeys index dcb7a02a08..365a34bf91 100644 --- a/data/catalogs/preferences/network/ru.catkeys +++ b/data/catalogs/preferences/network/ru.catkeys @@ -1,22 +1,27 @@ -1 russian x-vnd.Haiku-Network 365183238 +1 russian x-vnd.Haiku-Network 1341378870 Choose automatically EthernetSettingsView Выбрать автоматически Gateway: EthernetSettingsView Шлюз: Netmask: EthernetSettingsView Маска: DHCP EthernetSettingsView DHCP DNS #2: EthernetSettingsView DNS #2: Apply EthernetSettingsView Применить +Netmask is invalid EthernetSettingsView Маска указана в неверном формате OK EthernetSettingsView ОК DNS #1: EthernetSettingsView DNS #1: IP address: EthernetSettingsView IP-адрес: Adapter: EthernetSettingsView Адаптер: Domain: EthernetSettingsView Домен: +Gateway is invalid EthernetSettingsView Шлюз указан в неверном формате +DNS #1 is invalid EthernetSettingsView DNS #1 указан в неверном формате Revert EthernetSettingsView Вернуть EthernetSettingsView <беспроводные сети не найдены> Network System name Сеть Mode: EthernetSettingsView Режим: +IP address is invalid EthernetSettingsView IP адрес указан в неверном формате Network: EthernetSettingsView Сеть: The net_server needs to run for the auto configuration! EthernetSettingsView net_server должен быть запущен для автонастройки! Disabled EthernetSettingsView Отключен Auto-configuring failed: EthernetSettingsView Не удалось выполнить автонастройку: Static EthernetSettingsView Статический IP-адрес +DNS #2 is invalid EthernetSettingsView DNS #2 указан в неверном формате EthernetSettingsView <адаптеры не найдены> diff --git a/data/catalogs/preferences/notifications/pl.catkeys b/data/catalogs/preferences/notifications/pl.catkeys index d1e9985a74..cdd16ace7b 100644 --- a/data/catalogs/preferences/notifications/pl.catkeys +++ b/data/catalogs/preferences/notifications/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-Notifications 814394708 +1 polish x-vnd.Haiku-Notifications 2177286129 An error occurred saving the preferences.\nIt's possible you are running out of disk space. GeneralView Wystąpił błąd przy zapisie ustawień.\nByć może zabrakło miejsca na dysku. Notifications GeneralView Powiadomienia seconds of inactivity GeneralView sekund nieaktywności @@ -17,6 +17,7 @@ Cannot disable notifications because the server can't be reached. GeneralView N Progress NotificationView Postęp Last Received NotificationView Ostatnio otrzymane General PrefletView Ogólne +Apply PrefletWin Zastosuj Display PrefletView Wyświetlanie Can't enable notifications at startup time, you probably don't have write permission to the boot settings directory. GeneralView Nie można włączyć powiadomień przy starcie systemu, prawdopodobnie nie masz uprawnień zapisu do katalogu ustawień systemowych. Search: NotificationView Szukaj: diff --git a/data/catalogs/preferences/notifications/ru.catkeys b/data/catalogs/preferences/notifications/ru.catkeys index 6fb3efc2fd..4e16a0ae42 100644 --- a/data/catalogs/preferences/notifications/ru.catkeys +++ b/data/catalogs/preferences/notifications/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-Notifications 814394708 +1 russian x-vnd.Haiku-Notifications 2177286129 An error occurred saving the preferences.\nIt's possible you are running out of disk space. GeneralView Произошла ошибка при сохранении настроек\nВозможно, что закончилось свободное место на диске. Notifications GeneralView Уведомления seconds of inactivity GeneralView секунд бездействия @@ -17,6 +17,7 @@ Cannot disable notifications because the server can't be reached. GeneralView Progress NotificationView Прогресс Last Received NotificationView Последнее полученное General PrefletView Основные +Apply PrefletWin Применить Display PrefletView Отображение Can't enable notifications at startup time, you probably don't have write permission to the boot settings directory. GeneralView Невозможно добавить уведомления в автозагрузку, возможно у вас нет прав на запись в директорию настроек загрузки. Search: NotificationView Поиск: diff --git a/data/catalogs/preferences/printers/pl.catkeys b/data/catalogs/preferences/printers/pl.catkeys index adf5af8504..1d82789c7d 100644 --- a/data/catalogs/preferences/printers/pl.catkeys +++ b/data/catalogs/preferences/printers/pl.catkeys @@ -22,8 +22,8 @@ Driver: %driver% PrinterListView Sterownik: %driver% Black TestPageView Czarny Restart job PrintersWindow Zrestartuj zadanie Add AddPrinterDialog Dodaj -Make default PrintersWindow Utwórz domyślny -Transport: %transport% %transport_address% TestPageView Transport: %transport% %transport_address% +Make default PrintersWindow Ustaw jako domyślną drukarkę +Transport: %transport% %transport_address% TestPageView Transport: %transport%, adres: %transport_address% Cancel job PrintersWindow Anuluj zadanie Yellow TestPageView Żółty Blue TestPageView Niebieski diff --git a/data/catalogs/preferences/shortcuts/pl.catkeys b/data/catalogs/preferences/shortcuts/pl.catkeys index 45ec5f9e39..c98a2f5868 100644 --- a/data/catalogs/preferences/shortcuts/pl.catkeys +++ b/data/catalogs/preferences/shortcuts/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-Shortcuts 1477375596 +1 polish x-vnd.Haiku-Shortcuts 3397621807 Error, NULL state description?\n ShortcutsSpec Błąd, brak opisu stanu?\n MoveMouse ShortcutsSpec MoveMouse OK ShortcutsWindow OK @@ -24,6 +24,7 @@ Save ShortcutsWindow Zapisz *MouseButton 1 ShortcutsWindow *MouseButton 1 *MoveMouse +20 +0 ShortcutsWindow *MoveMouse +20 +0 MouseDown ShortcutsSpec MouseDown +Save changes before closing? ShortcutsWindow Zapisać zmiany przed zamknięciem? Remove selected shortcut ShortcutsWindow Usuń zaznaczony skrót MouseButton ShortcutsSpec MouseButton Add new shortcut ShortcutsWindow Dodaj nowy skrót diff --git a/data/catalogs/preferences/shortcuts/ru.catkeys b/data/catalogs/preferences/shortcuts/ru.catkeys index a379555c68..369e5348a3 100644 --- a/data/catalogs/preferences/shortcuts/ru.catkeys +++ b/data/catalogs/preferences/shortcuts/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-Shortcuts 1477375596 +1 russian x-vnd.Haiku-Shortcuts 341885426 Error, NULL state description?\n ShortcutsSpec Ошибка, состояние описания NULL?\n MoveMouse ShortcutsSpec MoveMouse OK ShortcutsWindow ОК @@ -20,10 +20,12 @@ Shortcuts was couldn't open your KeySet file! ShortcutsWindow Не удалос *Multi \"*MoveMouseTo 100% 0\" \"*MouseButton 1\" ShortcutsWindow *Multi \"*MoveMouseTo 100% 0\" \"*MouseButton 1\" SendMessage ShortcutsSpec SendMessage MoveMouseTo ShortcutsSpec MoveMouseTo +Option ShortcutsSpec Name for modifier on keyboard Option Save ShortcutsWindow Сохранить *MouseButton 1 ShortcutsWindow *MouseButton 1 *MoveMouse +20 +0 ShortcutsWindow *MoveMouse +20 +0 MouseDown ShortcutsSpec MouseDown +Save changes before closing? ShortcutsWindow Сохранить изменения перед выходом? Remove selected shortcut ShortcutsWindow Удалить выделенную горячую клавишу MouseButton ShortcutsSpec MouseButton Add new shortcut ShortcutsWindow Добавить горячую клавишу diff --git a/data/catalogs/preferences/sounds/ru.catkeys b/data/catalogs/preferences/sounds/ru.catkeys index 3b433a18fd..64c8489541 100644 --- a/data/catalogs/preferences/sounds/ru.catkeys +++ b/data/catalogs/preferences/sounds/ru.catkeys @@ -1,4 +1,5 @@ -1 russian x-vnd.Haiku-Sounds 150798324 +1 russian x-vnd.Haiku-Sounds 1668150342 +Sound file: HWindow Звуковой файл: Sounds System name Звуки No such file or directory HEventList Такого файла или папки не существует OK SoundsHApp ОК diff --git a/data/catalogs/preferences/time/pl.catkeys b/data/catalogs/preferences/time/pl.catkeys index a44c3809fa..cce230eb86 100644 --- a/data/catalogs/preferences/time/pl.catkeys +++ b/data/catalogs/preferences/time/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-Time 3544635877 +1 polish x-vnd.Haiku-Time 2508143647 GMT (UNIX compatible) Time GMT (kompatybilne z UNIX'em) OK Time OK Asia Time Azja @@ -11,6 +11,7 @@ Preview time: Time Podgląd czasu: Synchronize Time Synchronizuj Revert Time Przywróć Pacific Time Pacyfik +Show day of week Time Pokaż dzień tygodnia Add Time Dodaj Date and time Time Data i czas about Time O programie @@ -26,6 +27,7 @@ Time Time Czas Indian Time Indie Sending request failed Time Wysyłanie żądania nie powiodło się Arctic Time Arktyka +Display time with seconds Time Wyświetl sekundy Time System name Czas America Time Ameryka Reset Time Resetuj @@ -33,6 +35,7 @@ Synchronize at boot Time Synchronizuj przy rozruchu Time & Date, written by:\n\n\tAndrew Edward McCall\n\tMike Berg\n\tJulun\n\tPhilippe Saint-Pierre\n\nCopyright 2004-2012, Haiku. Time Time & Date, napisany przez:\n\n\tAndrew Edward McCall\n\tMike Berg\n\tJulun\n\tPhilippe Saint-Pierre\n\nPrawa zastrzeżone 2004-2012, Haiku. Received invalid time Time Odebrano niepoprawny czas Antarctica Time Antarktyda +Show time zone Time Pokaż strefę czasową The following error occured while synchronizing:r\n%s: %s Time Wystąpił błąd podczas synchronizacji:r\n%s: %s Time Current time: Time Aktualny czas: diff --git a/data/catalogs/preferences/time/ru.catkeys b/data/catalogs/preferences/time/ru.catkeys index d6bb32c543..e9ecc0ae2b 100644 --- a/data/catalogs/preferences/time/ru.catkeys +++ b/data/catalogs/preferences/time/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-Time 3249243267 +1 russian x-vnd.Haiku-Time 3259467657 GMT (UNIX compatible) Time По Гринвичу (совместимо с UNIX) OK Time ОК Asia Time Азия @@ -11,6 +11,7 @@ Preview time: Time Предварительное время: Synchronize Time Синхронизировать Revert Time Вернуть Pacific Time Тихий океан +Show day of week Time Показывать день недели Add Time Добавить Date and time Time Дата и время about Time о программе @@ -26,6 +27,7 @@ Time Time Время Indian Time Индийский океан Sending request failed Time Не удалось отправить запрос Arctic Time Арктика +Display time with seconds Time Показывать секунды Time System name Время America Time Америка Reset Time Сбросить @@ -33,6 +35,8 @@ Synchronize at boot Time Синхронизировать при загрузк Time & Date, written by:\n\n\tAndrew Edward McCall\n\tMike Berg\n\tJulun\n\tPhilippe Saint-Pierre\n\nCopyright 2004-2012, Haiku. Time Дата & Время, разработан:\n\n\t Andrew Edward McCall\n\t Mike Berg\n\t Julun\n\t Philippe Saint-Pierre\n\nВсе права защищены 2004-2012, Haiku. Received invalid time Time Получено неверное время Antarctica Time Антарктида +Show time zone Time Установить часовой пояс +Show clock in Deskbar Time Отображать часы в Deskbar The following error occured while synchronizing:r\n%s: %s Time При синхронизации произошла следующая ошибка:r\n%s: %s Time <Другой> Current time: Time Текущее время: @@ -40,5 +44,6 @@ Try all servers Time Пробовать все сервера Time zone Time Часовой пояс Could not create socket Time Не удалось создать сокет Synchronize again Time Синхронизировать снова +Clock Time Часы Network time Time Синхронизация времени Atlantic Time Атлантика diff --git a/data/catalogs/preferences/virtualmemory/pl.catkeys b/data/catalogs/preferences/virtualmemory/pl.catkeys index ecc37e46a9..33063851d3 100644 --- a/data/catalogs/preferences/virtualmemory/pl.catkeys +++ b/data/catalogs/preferences/virtualmemory/pl.catkeys @@ -1,5 +1,6 @@ -1 polish x-vnd.Haiku-VirtualMemory 4238590117 +1 polish x-vnd.Haiku-VirtualMemory 2090796060 Quit SettingsWindow Wyjdź +Automatic swap management SettingsWindow Automatyczne zarządzanie przestrzenią wymiany Turn off SettingsWindow Wyłącz Disabling virtual memory will have unwanted effects on system stability once the memory is used up.\nVirtual memory does not affect system performance until this point is reached.\n\nAre you really sure you want to turn it off? SettingsWindow Wyłączenie pamięci wirtualnej może mieć niepożądany wpływ na stabilność systemu, gdy cała dostępna pamięć zostanie zużyta.\nPamięć wirtualna nie wpływa na wydajność systemu, aż do tego momentu.\n\nNa pewno chcesz ją wyłączyc? Requested swap file size: SettingsWindow Docelowy rozmiar pliku wymiany: diff --git a/data/catalogs/preferences/virtualmemory/ru.catkeys b/data/catalogs/preferences/virtualmemory/ru.catkeys index a0174c9e68..93ccd0cc54 100644 --- a/data/catalogs/preferences/virtualmemory/ru.catkeys +++ b/data/catalogs/preferences/virtualmemory/ru.catkeys @@ -1,5 +1,6 @@ -1 russian x-vnd.Haiku-VirtualMemory 4238590117 +1 russian x-vnd.Haiku-VirtualMemory 2090796060 Quit SettingsWindow Выйти +Automatic swap management SettingsWindow Определять автоматически Turn off SettingsWindow Выключить Disabling virtual memory will have unwanted effects on system stability once the memory is used up.\nVirtual memory does not affect system performance until this point is reached.\n\nAre you really sure you want to turn it off? SettingsWindow Отключение виртуальной памяти может повлиять на стабильность системы, когда вся память будет израсходована.\nВиртуальная память не влияет на производительность системы пока она не используется.\n\nВы уверены, что хотите выключить ее? Requested swap file size: SettingsWindow Выбранный размер файла подкачки: diff --git a/data/catalogs/tests/servers/app/playground/pl.catkeys b/data/catalogs/tests/servers/app/playground/pl.catkeys new file mode 100644 index 0000000000..e0a34d39b4 --- /dev/null +++ b/data/catalogs/tests/servers/app/playground/pl.catkeys @@ -0,0 +1,26 @@ +1 polish x-vnd.Haiku-Playground 1190349404 +Line Playground Linia +Click and drag to draw an object Playground Kliknij i przeciągnij, żeby narysować obiekt +Controls Playground Sterowanie +Round rect Playground Zaokrąglony prostokąt +Alpha: Playground Alfa: +Mode: Playground Tryb: +Submenu Playground Podmenu +Copy Playground Kopiuj +Cancel Playground Anuluj +Clear Playground Wyczyść +Min Playground Min. +Invert Playground Odwróć +Clear all drawing objects? Playground Wyczyścić wszystkie obiekty rysunkowe? +Width: Playground Szerokość: +Alpha Playground Alfa +New object Playground Nowy obiekt +Test Playground Test +Max Playground Maks. +Add Playground Dodaj +Playground System name Plansza +Erase Playground Wyczyść +File Playground Plik +Subtract Playground Odejmij + Playground +Ellipse Playground Elipsa diff --git a/data/catalogs/tests/servers/app/playground/ru.catkeys b/data/catalogs/tests/servers/app/playground/ru.catkeys new file mode 100644 index 0000000000..be02ff12f0 --- /dev/null +++ b/data/catalogs/tests/servers/app/playground/ru.catkeys @@ -0,0 +1,32 @@ +1 russian x-vnd.Haiku-Playground 1375574837 +Line Playground Линия +Fill Playground Заполнить +Over Playground Над +Quit Playground Выход +Rect Playground Прямоугольник +Select Playground Выделение +Click and drag to draw an object Playground Нажмите кнопку мыши и перемещайте курсор для рисования объекта. +Controls Playground Управление +Round rect Playground Закругленный прямоугольник +Alpha: Playground Альфа-канал: +Mode: Playground Режим: +Submenu Playground Подменю +Copy Playground Копия +Cancel Playground Отмена +Clear Playground Очистить +Min Playground Мин +Blend Playground Смешивание +Invert Playground Инвертирование +Clear all drawing objects? Playground Удалить все нарисованные объекты? +Width: Playground Ширина: +Alpha Playground Альфа +New object Playground Новый объект +Test Playground Тест +Max Playground Макс +Add Playground Добавление +Playground System name Игровое поле +Erase Playground Ластик +File Playground Файл +Subtract Playground Вычитание + Playground <выбрать> +Ellipse Playground Эллипс From 53ec5d1f33912441da3ad5786dfd300282cdfcf0 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 11 Mar 2013 22:04:17 -0400 Subject: [PATCH 096/122] Rebuild application menu bar less. Fixes #8539 (I hope) Instead of destroying and rebuilding the application menu bar each time we change state, create it at startup and then only update it from there on. This means that bugs that rely on the app bar being constantly destroyed and rebuilt will be much less likely to occur. Unfortunatly, there is still one case where the application menu bar is being destroyed and recreated and that is when you are switching between horizontal and vertical mode, and that is because a menu bar cannot be altered from B_ITEMS_IN_ROWS to B_ITEMS_IN_COLUMNS anywhere but in the constructor. * Renamed fExpando to fExpandoMenuBar * Updated TExpandoMenuBar to be more flexible after construction, the menu items are built in the new BuildItems() method. Also, don't pass the BarView object in at contruction, that can happen in AttachedToWindow(). Also, set fDeskbarMenuWidth just once at constructor, no reason to keep setting it over and over again. --- src/apps/deskbar/BarApp.cpp | 18 ++-- src/apps/deskbar/BarView.cpp | 142 +++++++++++++++------------ src/apps/deskbar/BarView.h | 4 +- src/apps/deskbar/ExpandoMenuBar.cpp | 145 +++++++++++++++------------- src/apps/deskbar/ExpandoMenuBar.h | 12 ++- 5 files changed, 176 insertions(+), 145 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index c795a92d24..4189654acd 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -126,13 +126,11 @@ TBarApp::TBarApp() } sSubscribers.MakeEmpty(); - fSwitcherMessenger = BMessenger(new TSwitchManager(fSettings.switcherLoc)); - fBarWindow->Show(); - // Call UpdatePlacement() after the window is shown because expanded apps - // need to resize the window. + // Call UpdatePlacement() after the window is shown because expanded + // apps need to resize the window. if (fBarWindow->Lock()) { fBarView->UpdatePlacement(); fBarWindow->Unlock(); @@ -578,11 +576,13 @@ TBarApp::MessageReceived(BMessage* message) break; fBarWindow->Lock(); - if (fBarView->Vertical()) - fBarView->PlaceApplicationBar(); - else - fBarView->UpdatePlacement(); - + if (!fBarView->Vertical()) { + // Must also resize the Deskbar menu and replicant tray in + // horizontal mode + fBarView->PlaceDeskbarMenu(); + fBarView->PlaceTray(false, false); + } + fBarView->PlaceApplicationBar(); fBarWindow->Unlock(); if (fPreferencesWindow != NULL) diff --git a/src/apps/deskbar/BarView.cpp b/src/apps/deskbar/BarView.cpp index 2c0fb4f97e..67ef95f309 100644 --- a/src/apps/deskbar/BarView.cpp +++ b/src/apps/deskbar/BarView.cpp @@ -130,11 +130,12 @@ BarViewMessageFilter::Filter(BMessage* message, BHandler** target) TBarView::TBarView(BRect frame, bool vertical, bool left, bool top, - uint32 state, float) - : BView(frame, "BarView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW), + uint32 state, float) + : + BView(frame, "BarView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW), fInlineScrollView(NULL), fBarMenuBar(NULL), - fExpando(NULL), + fExpandoMenuBar(NULL), fTrayLocation(1), fVertical(vertical), fTop(top), @@ -153,6 +154,15 @@ TBarView::TBarView(BRect frame, bool vertical, bool left, bool top, fDragRegion->AddChild(fReplicantTray); if (fTrayLocation != 0) AddChild(fDragRegion); + + fExpandoMenuBar = new TExpandoMenuBar(BRect(0, 0, 0, 0), + "ExpandoMenuBar", fVertical); + fInlineScrollView = new TInlineScrollView(BRect(0, 0, 0, 0), + fExpandoMenuBar, fVertical ? B_VERTICAL : B_HORIZONTAL); + AddChild(fInlineScrollView); + + if (state == kMiniState) + fInlineScrollView->Hide(); } @@ -177,8 +187,6 @@ TBarView::AttachedToWindow() fMouseFilter = new BarViewMessageFilter(this); Window()->AddCommonFilter(fMouseFilter); - UpdatePlacement(); - fTrackingHookData.fTrackingHook = MenuTrackingHook; fTrackingHookData.fTarget = BMessenger(this); fTrackingHookData.fDragMessage = new BMessage(B_REFS_RECEIVED); @@ -211,7 +219,7 @@ TBarView::Draw(BRect) if (fVertical && fState == kExpandoState) { SetHighColor(hilite); - BRect frame(fExpando->Frame()); + BRect frame(fExpandoMenuBar->Frame()); StrokeLine(BPoint(frame.left, frame.top - 1), BPoint(frame.right, frame.top -1)); } @@ -450,22 +458,10 @@ TBarView::PlaceTray(bool vertSwap, bool leftSwap) void TBarView::PlaceApplicationBar() { - SaveExpandedItems(); - - if (fInlineScrollView != NULL) { - fInlineScrollView->DetachScrollers(); - fInlineScrollView->RemoveSelf(); - delete fInlineScrollView; - fInlineScrollView = NULL; - } - - if (fExpando != NULL) { - delete fExpando; - fExpando = NULL; - } - BRect screenFrame = (BScreen(Window())).Frame(); if (fState == kMiniState) { + if (!fInlineScrollView->IsHidden()) + fInlineScrollView->Hide(); SizeWindow(screenFrame); PositionWindow(screenFrame); Window()->UpdateIfNeeded(); @@ -473,23 +469,25 @@ TBarView::PlaceApplicationBar() return; } + if (fInlineScrollView->IsHidden()) + fInlineScrollView->Show(); + BRect expandoFrame(0, 0, 0, 0); - BRect menuScrollFrame(0, 0, 0, 0); if (fVertical) { - // top left/right - if (fTrayLocation != 0) + // left or right + if (fTrayLocation != 0) { expandoFrame.top = fDragRegion->Frame().bottom + 1; - else + expandoFrame.left = fDragRegion->Frame().left; + } else { expandoFrame.top = fBarMenuBar->Frame().bottom + 1; + expandoFrame.left = fDragRegion->Frame().left; + } - expandoFrame.bottom = expandoFrame.top + 1; + expandoFrame.right = expandoFrame.left + sMinimumWindowWidth; if (fState == kFullState) - expandoFrame.right = fBarMenuBar->Frame().Width(); + expandoFrame.bottom = screenFrame.bottom; else - expandoFrame.right = sMinimumWindowWidth; - - menuScrollFrame = expandoFrame; - menuScrollFrame.bottom = screenFrame.bottom; + expandoFrame.bottom = expandoFrame.top + 1; } else { // top or bottom expandoFrame.top = 0; @@ -504,28 +502,25 @@ TBarView::PlaceApplicationBar() - fDragRegion->Frame().Width() - 1; } else expandoFrame.right = screenFrame.Width(); - - menuScrollFrame = expandoFrame; } - bool hideLabels = ((TBarApp*)be_app)->Settings()->hideLabels; - - fExpando = new TExpandoMenuBar(this, expandoFrame, "ExpandoMenuBar", - fVertical, !hideLabels && fState != kFullState); - - fInlineScrollView = new TInlineScrollView(menuScrollFrame, fExpando, - fVertical ? B_VERTICAL : B_HORIZONTAL); - AddChild(fInlineScrollView); + fInlineScrollView->DetachScrollers(); + fInlineScrollView->MoveTo(expandoFrame.LeftTop()); + fInlineScrollView->ResizeTo(expandoFrame.Width(), fVertical + ? screenFrame.bottom - expandoFrame.top + : expandoFrame.Height()); + fExpandoMenuBar->MoveTo(0, 0); + fExpandoMenuBar->ResizeTo(expandoFrame.Width(), expandoFrame.Height()); + fExpandoMenuBar->BuildItems(); if (fVertical) ExpandItems(); SizeWindow(screenFrame); PositionWindow(screenFrame); - fExpando->DoLayout(); + fExpandoMenuBar->DoLayout(); // force menu to autosize CheckForScrolling(); - Window()->UpdateIfNeeded(); Invalidate(); } @@ -545,7 +540,7 @@ TBarView::GetPreferredWindowSize(BRect screenFrame, float* width, float* height) if (fState == kExpandoState && !fVertical) { // top or bottom, full - fExpando->CheckItemSizes(0); + fExpandoMenuBar->CheckItemSizes(0); windowWidth = screenFrame.Width(); } else windowWidth = kHiddenDimension; @@ -561,10 +556,10 @@ TBarView::GetPreferredWindowSize(BRect screenFrame, float* width, float* height) else windowHeight = fBarMenuBar->Frame().bottom + 1; - windowHeight += fExpando->Bounds().Height(); + windowHeight += fExpandoMenuBar->Bounds().Height(); } else { // top or bottom, full - fExpando->CheckItemSizes(0); + fExpandoMenuBar->CheckItemSizes(0); windowHeight = iconSize + 4; windowWidth = screenFrame.Width(); } @@ -617,8 +612,8 @@ TBarView::PositionWindow(BRect screenFrame) void TBarView::CheckForScrolling() { - if (fInlineScrollView != NULL && fExpando != NULL) { - if (fExpando->CheckForSizeOverrun()) + if (fInlineScrollView != NULL && fExpandoMenuBar != NULL) { + if (fExpandoMenuBar->CheckForSizeOverrun()) fInlineScrollView->AttachScrollers(); else fInlineScrollView->DetachScrollers(); @@ -668,14 +663,14 @@ TBarView::ChangeState(int32 state, bool vertical, bool left, bool top, void TBarView::SaveExpandedItems() { - if (fExpando == NULL || fExpando->CountItems() <= 0) + if (fExpandoMenuBar == NULL || fExpandoMenuBar->CountItems() <= 0) return; // Get a list of the signatures of expanded apps. Can't use // team_id because there can be more than one team per application - for (int32 i = 0; i < fExpando->CountItems(); i++) { + for (int32 i = 0; i < fExpandoMenuBar->CountItems(); i++) { TTeamMenuItem* teamItem - = dynamic_cast(fExpando->ItemAt(i)); + = dynamic_cast(fExpandoMenuBar->ItemAt(i)); if (teamItem != NULL && teamItem->IsExpanded()) AddExpandedItem(teamItem->Signature()); @@ -695,20 +690,20 @@ TBarView::RemoveExpandedItems() void TBarView::ExpandItems() { - if (fExpando == NULL || !fVertical || fState != kExpandoState + if (fExpandoMenuBar == NULL || !fVertical || fState != kExpandoState || !static_cast(be_app)->Settings()->superExpando || fExpandedItems.CountItems() <= 0) return; // Start at the 'bottom' of the list working up. // Prevents being thrown off by expanding items. - for (int32 i = fExpando->CountItems() - 1; i >= 0; i--) { + for (int32 i = fExpandoMenuBar->CountItems() - 1; i >= 0; i--) { TTeamMenuItem* teamItem - = dynamic_cast(fExpando->ItemAt(i)); + = dynamic_cast(fExpandoMenuBar->ItemAt(i)); if (teamItem != NULL) { // Start at the 'bottom' of the fExpandedItems list working up - // matching the order of the fExpando list in the outer loop. + // matching the order of the fExpandoMenuBar list in the outer loop. for (int32 j = fExpandedItems.CountItems() - 1; j >= 0; j--) { BString* itemSig = static_cast(fExpandedItems.ItemAt(j)); @@ -747,10 +742,33 @@ TBarView::_ChangeState(BMessage* message) fLeft = left; fTop = top; - // Send a message to the preferences window to let it know to enable - // or disable preference items - if (stateChanged || vertSwap) + SaveExpandedItems(); + + if (stateChanged || vertSwap) { be_app->PostMessage(kStateChanged); + // Send a message to the preferences window to let it know to + // enable or disable preference items. + + // If switching to expando state, rebuild expando menu bar. + if (fState == kExpandoState) { + if (fInlineScrollView != NULL) { + fInlineScrollView->DetachScrollers(); + fInlineScrollView->RemoveSelf(); + delete fInlineScrollView; + fInlineScrollView = NULL; + } + if (fExpandoMenuBar != NULL) { + delete fExpandoMenuBar; + fExpandoMenuBar = NULL; + } + + fExpandoMenuBar = new TExpandoMenuBar(BRect(0, 0, 0, 0), + "ExpandoMenuBar", fVertical); + fInlineScrollView = new TInlineScrollView(BRect(0, 0, 0, 0), + fExpandoMenuBar, fVertical ? B_VERTICAL : B_HORIZONTAL); + AddChild(fInlineScrollView); + } + } PlaceDeskbarMenu(); PlaceTray(vertSwap, leftSwap); @@ -847,10 +865,10 @@ TBarView::DragStart() uint32 buttons; GetMouse(&loc, &buttons); - if (fExpando && fExpando->Frame().Contains(loc)) { + if (fExpandoMenuBar && fExpandoMenuBar->Frame().Contains(loc)) { ConvertToScreen(&loc); - BPoint expandoLocation = fExpando->ConvertFromScreen(loc); - TTeamMenuItem* item = fExpando->TeamItemAtPoint(expandoLocation); + BPoint expandoLocation = fExpandoMenuBar->ConvertFromScreen(loc); + TTeamMenuItem* item = fExpandoMenuBar->TeamItemAtPoint(expandoLocation); if (fLastDragItem) init_tracking_hook(fLastDragItem, NULL, NULL); @@ -940,8 +958,8 @@ TBarView::DragStop(bool full) if (!Dragging()) return; - if (fExpando) { - if (fLastDragItem) { + if (fExpandoMenuBar != NULL) { + if (fLastDragItem != NULL) { init_tracking_hook(fLastDragItem, NULL, NULL); fLastDragItem = NULL; } diff --git a/src/apps/deskbar/BarView.h b/src/apps/deskbar/BarView.h index d04586775e..3f9b1445b6 100644 --- a/src/apps/deskbar/BarView.h +++ b/src/apps/deskbar/BarView.h @@ -172,7 +172,7 @@ class TBarView : public BView { TInlineScrollView* fInlineScrollView; TBarMenuBar* fBarMenuBar; - TExpandoMenuBar* fExpando; + TExpandoMenuBar* fExpandoMenuBar; int32 fTrayLocation; TDragRegion* fDragRegion; @@ -202,7 +202,7 @@ class TBarView : public BView { inline TExpandoMenuBar* TBarView::ExpandoMenuBar() const { - return fExpando; + return fExpandoMenuBar; } diff --git a/src/apps/deskbar/ExpandoMenuBar.cpp b/src/apps/deskbar/ExpandoMenuBar.cpp index 6c23498f6e..3bfa307fb4 100644 --- a/src/apps/deskbar/ExpandoMenuBar.cpp +++ b/src/apps/deskbar/ExpandoMenuBar.cpp @@ -45,6 +45,7 @@ All rights reserved. #include #include #include +#include #include "icons.h" @@ -75,18 +76,17 @@ thread_id TExpandoMenuBar::sMonThread = B_ERROR; BLocker TExpandoMenuBar::sMonLocker("expando monitor"); -TExpandoMenuBar::TExpandoMenuBar(TBarView* bar, BRect frame, const char* name, - bool vertical, bool drawLabel) +TExpandoMenuBar::TExpandoMenuBar(BRect frame, const char* name, bool vertical) : BMenuBar(frame, name, B_FOLLOW_NONE, vertical ? B_ITEMS_IN_COLUMN : B_ITEMS_IN_ROW), fVertical(vertical), fOverflow(false), - fDrawLabel(drawLabel), + fDrawLabel(!static_cast(be_app)->Settings()->hideLabels), fShowTeamExpander(static_cast(be_app)->Settings()->superExpando), fExpandNewTeams(static_cast(be_app)->Settings()->expandNewTeams), fDeskbarMenuWidth(kMinMenuItemWidth), - fBarView(bar), + fBarView(NULL), fPreviousDragTargetItem(NULL), fLastClickItem(NULL) { @@ -101,6 +101,13 @@ TExpandoMenuBar::TExpandoMenuBar(TBarView* bar, BRect frame, const char* name, - kMinimumIconSize; SetMaxContentWidth(maxContentWidth); } + + // top or bottom mode, add deskbar menu and sep for menubar tracking + // consistency + const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, + R_LeafLogoBitmap); + if (logoBitmap != NULL) + fDeskbarMenuWidth = logoBitmap->Bounds().Width() + 16; } @@ -115,68 +122,10 @@ TExpandoMenuBar::CompareByName(const void* first, const void* second) void TExpandoMenuBar::AttachedToWindow() { - BMessenger self(this); - BList teamList; - TBarApp::Subscribe(self, &teamList); - int32 iconSize = static_cast(be_app)->IconSize(); - desk_settings* settings = static_cast(be_app)->Settings(); - - float itemWidth = -0.1f; - if (fVertical) - itemWidth = Frame().Width(); - else { - itemWidth = iconSize; - if (fDrawLabel) - itemWidth += sMinimumWindowWidth - kMinimumIconSize; - else - itemWidth += kIconPadding * 2; - } - float itemHeight = -1.0f; - - // top or bottom mode, add deskbar menu and sep for menubar tracking - // consistency - if (!fVertical) { - const BBitmap* logoBitmap = AppResSet()->FindBitmap(B_MESSAGE_TYPE, - R_LeafLogoBitmap); - if (logoBitmap != NULL) - fDeskbarMenuWidth = logoBitmap->Bounds().Width() + 16; - } - - if (settings->sortRunningApps) - teamList.SortItems(CompareByName); - - int32 count = teamList.CountItems(); - for (int32 i = 0; i < count; i++) { - BarTeamInfo* barInfo = (BarTeamInfo*)teamList.ItemAt(i); - if ((barInfo->flags & B_BACKGROUND_APP) == 0 - && strcasecmp(barInfo->sig, kDeskbarSignature) != 0) { - if (settings->trackerAlwaysFirst - && !strcmp(barInfo->sig, kTrackerSignature)) { - AddItem(new TTeamMenuItem(barInfo->teams, barInfo->icon, - barInfo->name, barInfo->sig, itemWidth, itemHeight, - fDrawLabel, fVertical), 0); - } else { - AddItem(new TTeamMenuItem(barInfo->teams, barInfo->icon, - barInfo->name, barInfo->sig, itemWidth, itemHeight, - fDrawLabel, fVertical)); - } - - barInfo->teams = NULL; - barInfo->icon = NULL; - barInfo->name = NULL; - barInfo->sig = NULL; - } - - delete barInfo; - } - BMenuBar::AttachedToWindow(); - if (CountItems() == 0) { - // If we're empty, BMenuBar::AttachedToWindow() resizes us to some - // weird value - we just override it again - ResizeTo(itemWidth, 0); - } + fBarView = static_cast(Window())->BarView(); + fTeamList.MakeEmpty(); if (fVertical) { sDoMonitor = true; @@ -525,6 +474,70 @@ TExpandoMenuBar::MouseUp(BPoint where) } +void +TExpandoMenuBar::BuildItems() +{ + BMessenger self(this); + TBarApp::Subscribe(self, &fTeamList); + + int32 iconSize = static_cast(be_app)->IconSize(); + desk_settings* settings = static_cast(be_app)->Settings(); + fDrawLabel = !settings->hideLabels; + fShowTeamExpander = settings->superExpando; + fExpandNewTeams = settings->expandNewTeams; + + float itemWidth = -0.1f; + if (fVertical) + itemWidth = Frame().Width(); + else { + itemWidth = iconSize; + if (fDrawLabel) + itemWidth += sMinimumWindowWidth - kMinimumIconSize; + else + itemWidth += kIconPadding * 2; + } + float itemHeight = -1.0f; + + RemoveItems(0, CountItems(), true); + // remove all items + + if (settings->sortRunningApps) + fTeamList.SortItems(CompareByName); + + int32 count = fTeamList.CountItems(); + for (int32 i = 0; i < count; i++) { + // add them again + BarTeamInfo* barInfo = (BarTeamInfo*)fTeamList.ItemAt(i); + if ((barInfo->flags & B_BACKGROUND_APP) == 0 + && strcasecmp(barInfo->sig, kDeskbarSignature) != 0) { + if (settings->trackerAlwaysFirst + && !strcmp(barInfo->sig, kTrackerSignature)) { + AddItem(new TTeamMenuItem(barInfo->teams, barInfo->icon, + barInfo->name, barInfo->sig, itemWidth, itemHeight, + fDrawLabel, fVertical), 0); + } else { + AddItem(new TTeamMenuItem(barInfo->teams, barInfo->icon, + barInfo->name, barInfo->sig, itemWidth, itemHeight, + fDrawLabel, fVertical)); + } + + barInfo->teams = NULL; + barInfo->icon = NULL; + barInfo->name = NULL; + barInfo->sig = NULL; + } + + delete barInfo; + } + + if (CountItems() == 0) { + // If we're empty, BMenuBar::AttachedToWindow() resizes us to some + // weird value - we just override it again + ResizeTo(itemWidth, 0); + } +} + + bool TExpandoMenuBar::InDeskbarMenu(BPoint loc) const { @@ -636,7 +649,6 @@ TExpandoMenuBar::AddTeam(BList* team, BBitmap* icon, char* name, } SizeWindow(1); - Window()->UpdateIfNeeded(); } @@ -676,11 +688,8 @@ TExpandoMenuBar::RemoveTeam(team_id team, bool partial) #endif RemoveItem(i); - SizeWindow(-1); - Window()->UpdateIfNeeded(); - delete item; return; } diff --git a/src/apps/deskbar/ExpandoMenuBar.h b/src/apps/deskbar/ExpandoMenuBar.h index b50a085d08..f23af5dc68 100644 --- a/src/apps/deskbar/ExpandoMenuBar.h +++ b/src/apps/deskbar/ExpandoMenuBar.h @@ -61,18 +61,21 @@ enum drag_and_drop_selection { class TExpandoMenuBar : public BMenuBar { public: - TExpandoMenuBar(TBarView* bar, BRect frame, const char* name, - bool vertical, bool drawLabel = true); + TExpandoMenuBar(BRect frame, const char* name, bool vertical); virtual void AttachedToWindow(); virtual void DetachedFromWindow(); + + virtual void Draw(BRect update); + virtual void DrawBackground(BRect update); + virtual void MessageReceived(BMessage* message); + virtual void MouseDown(BPoint where); virtual void MouseMoved(BPoint where, uint32 code, const BMessage*); virtual void MouseUp(BPoint where); - virtual void Draw(BRect update); - virtual void DrawBackground(BRect update); + void BuildItems(); TTeamMenuItem* TeamItemAtPoint(BPoint location, BMenuItem** _item = NULL); @@ -109,6 +112,7 @@ class TExpandoMenuBar : public BMenuBar { BMenuItem* fLastMousedOverItem; BMenuItem* fLastClickItem; + BList fTeamList; static bool sDoMonitor; static thread_id sMonThread; From 066ca38aea3742d0054963b76fd1259125bb3e5b Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 23 Mar 2013 21:38:32 +0100 Subject: [PATCH 097/122] Include the actual error message in usb_disk debug output. --- .../drivers/disk/usb/usb_disk/usb_disk.cpp | 51 +++++++++++-------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp index 31cf38afdb..ddc02b4898 100644 --- a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp @@ -216,7 +216,7 @@ usb_disk_transfer_data(disk_device *device, bool directionIn, void *data, status_t result = gUSBModule->queue_bulk(directionIn ? device->bulk_in : device->bulk_out, data, dataLength, usb_disk_callback, device); if (result != B_OK) { - TRACE_ALWAYS("failed to queue data transfer\n"); + TRACE_ALWAYS("failed to queue data transfer: %s\n", strerror(result)); return result; } @@ -235,7 +235,8 @@ usb_disk_transfer_data(disk_device *device, bool directionIn, void *data, } while (result == B_INTERRUPTED); if (result != B_OK) { - TRACE_ALWAYS("acquire_sem failed while waiting for data transfer\n"); + TRACE_ALWAYS("acquire_sem failed while waiting for data transfer: %s\n", + strerror(result)); return result; } @@ -322,7 +323,8 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, if (device->status != B_OK || device->actual_length != sizeof(command_block_wrapper)) { // sending the command block wrapper failed - TRACE_ALWAYS("sending the command block wrapper failed\n"); + TRACE_ALWAYS("sending the command block wrapper failed: %s\n", + strerror(device->status)); usb_disk_reset_recovery(device); return B_ERROR; } @@ -343,7 +345,8 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, gUSBModule->clear_feature(directionIn ? device->bulk_in : device->bulk_out, USB_FEATURE_ENDPOINT_HALT); } else { - TRACE_ALWAYS("sending or receiving of the data failed\n"); + TRACE_ALWAYS("sending or receiving of the data failed: %s\n", + strerror(device->status)); usb_disk_reset_recovery(device); return B_ERROR; } @@ -359,14 +362,16 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, } if (result != B_OK) { - TRACE_ALWAYS("receiving the command status wrapper failed\n"); + TRACE_ALWAYS("receiving the command status wrapper failed: %s\n", + strerror(result)); usb_disk_reset_recovery(device); return result; } if (status.signature != CSW_SIGNATURE || status.tag != command.tag) { // the command status wrapper is not valid - TRACE_ALWAYS("command status wrapper is not valid\n"); + TRACE_ALWAYS("command status wrapper is not valid: %#" B_PRIx32 "\n", + status.signature); usb_disk_reset_recovery(device); return B_ERROR; } @@ -382,7 +387,9 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, if (dataLength != NULL) { *dataLength -= residue; if (transferedData < *dataLength) { - TRACE_ALWAYS("less data transfered than indicated\n"); + TRACE_ALWAYS("less data transfered than indicated: %" + B_PRIuSIZE " vs. %" B_PRIuSIZE "\n", transferedData, + *dataLength); *dataLength = transferedData; } } @@ -396,8 +403,8 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, // the operation is complete but has failed at the SCSI level if (operation != SCSI_TEST_UNIT_READY_6) { - TRACE_ALWAYS("operation 0x%02x failed at the SCSI level\n", - operation); + TRACE_ALWAYS("operation %#" B_PRIx8 + " failed at the SCSI level\n", operation); } result = usb_disk_request_sense(lun); @@ -408,7 +415,7 @@ usb_disk_operation(device_lun *lun, uint8 operation, uint8 opLength, case CSW_STATUS_PHASE_ERROR: { // a protocol or device error occured - TRACE_ALWAYS("phase error in operation 0x%02x\n", operation); + TRACE_ALWAYS("phase error in operation %#" B_PRIx8 "\n", operation); usb_disk_reset_recovery(device); return B_ERROR; } @@ -437,7 +444,8 @@ usb_disk_request_sense(device_lun *lun) status_t result = usb_disk_operation(lun, SCSI_REQUEST_SENSE_6, 6, 0, dataLength, ¶meter, &dataLength, true); if (result != B_OK) { - TRACE_ALWAYS("getting request sense data failed\n"); + TRACE_ALWAYS("getting request sense data failed: %s\n", + strerror(result)); return result; } @@ -503,7 +511,7 @@ usb_disk_mode_sense(device_lun *lun) SCSI_MODE_PAGE_DEVICE_CONFIGURATION, dataLength, ¶meter, &dataLength, true); if (result != B_OK) { - TRACE_ALWAYS("getting mode sense data failed\n"); + TRACE_ALWAYS("getting mode sense data failed: %s\n", strerror(result)); return result; } @@ -553,7 +561,7 @@ usb_disk_inquiry(device_lun *lun) break; } if (result != B_OK) { - TRACE_ALWAYS("getting inquiry data failed\n"); + TRACE_ALWAYS("getting inquiry data failed: %s\n", strerror(result)); lun->device_type = B_DISK; lun->removable = true; return result; @@ -618,7 +626,7 @@ usb_disk_update_capacity(device_lun *lun) } if (result != B_OK) { - TRACE_ALWAYS("failed to update capacity\n"); + TRACE_ALWAYS("failed to update capacity: %s\n", strerror(result)); lun->media_present = false; lun->media_changed = false; usb_disk_reset_capacity(lun); @@ -825,7 +833,8 @@ usb_disk_device_added(usb_device newDevice, void **cookie) } if (result != B_OK) { - TRACE_ALWAYS("failed to initialize logical units\n"); + TRACE_ALWAYS("failed to initialize logical units: %s\n", + strerror(result)); usb_disk_free_device_and_luns(device); return result; } @@ -948,7 +957,8 @@ usb_disk_prepare_partial_buffer(device_lun *lun, off_t position, size_t length, status_t result = usb_disk_block_read(lun, blockPosition, blockCount, blockBuffer, &blockLength); if (result != B_OK) { - TRACE_ALWAYS("block read failed when filling partial buffer\n"); + TRACE_ALWAYS("block read failed when filling partial buffer: %s\n", + strerror(result)); free(blockBuffer); return result; } @@ -1180,7 +1190,8 @@ usb_disk_ioctl(void *cookie, uint32 op, void *buffer, size_t length) if (result > 0) result = B_OK; - TRACE_ALWAYS("got device name: \"%s\" = %s\n", name, strerror(result)); + TRACE_ALWAYS("got device name \"%s\": %s\n", name, + strerror(result)); break; } #endif @@ -1237,7 +1248,7 @@ usb_disk_read(void *cookie, off_t position, void *buffer, size_t *length) } *length = 0; - TRACE_ALWAYS("read fails with 0x%08" B_PRIx32 "\n", result); + TRACE_ALWAYS("read failed: %s\n", strerror(result)); return result; } @@ -1288,7 +1299,7 @@ usb_disk_write(void *cookie, off_t position, const void *buffer, } *length = 0; - TRACE_ALWAYS("write fails with 0x%08" B_PRIx32 "\n", result); + TRACE_ALWAYS("write failed: %s\n", strerror(result)); return result; } @@ -1330,7 +1341,7 @@ init_driver() status_t result = get_module(B_USB_MODULE_NAME, (module_info **)&gUSBModule); if (result < B_OK) { - TRACE_ALWAYS("getting module failed 0x%08" B_PRIx32 "\n", result); + TRACE_ALWAYS("getting module failed: %s\n", strerror(result)); mutex_destroy(&gDeviceListLock); return result; } From 2b69feb92e32b49d3909e4e9ec1b65a5b144306d Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 24 Mar 2013 01:55:38 +0000 Subject: [PATCH 098/122] swpipe: Update for new Mesa * Fix swpipe build. * DriverCtx went away.. lovely. --- src/add-ons/opengl/swpipe/GalliumContext.cpp | 17 ++++++++++++++--- src/add-ons/opengl/swpipe/GalliumContext.h | 7 ++----- .../opengl/swpipe/GalliumFramebuffer.cpp | 4 ++-- src/add-ons/opengl/swpipe/SoftwareRenderer.cpp | 1 + src/add-ons/opengl/swpipe/SoftwareWinsys.cpp | 8 ++++---- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/add-ons/opengl/swpipe/GalliumContext.cpp b/src/add-ons/opengl/swpipe/GalliumContext.cpp index bf8ee85eb2..7f616e4cf0 100644 --- a/src/add-ons/opengl/swpipe/GalliumContext.cpp +++ b/src/add-ons/opengl/swpipe/GalliumContext.cpp @@ -51,7 +51,9 @@ hgl_viewport(struct gl_context* glContext, GLint x, GLint y, { TRACE("%s(glContext: %p, x: %d, y: %d, width: %d, height: %d\n", __func__, glContext, x, y, width, height); - struct hgl_context *context = (struct hgl_context*)glContext->DriverCtx; + +#if 0 + struct hgl_context* context = DOWNCAST(hgl_context, gl_context, glContext); if (!context) { ERROR("%s: No context yet. bailing.\n", __func__); @@ -72,6 +74,16 @@ hgl_viewport(struct gl_context* glContext, GLint x, GLint y, if (read) _mesa_resize_framebuffer(glContext, read, bitmapWidth, bitmapHeight); } +#endif + struct gl_framebuffer *draw = glContext->WinSysDrawBuffer; + struct gl_framebuffer *read = glContext->WinSysReadBuffer; + + // TODO: SLOW! We need to check for changes in size here. + + if (draw) + _mesa_resize_framebuffer(glContext, draw, width, height); + if (read) + _mesa_resize_framebuffer(glContext, read, width, height); } @@ -362,14 +374,13 @@ GalliumContext::CreateContext(Bitmap *bitmap) } // Init Gallium3D Post Processing - context->postProcess = pp_init(fScreen, context->postProcessEnable); + //context->postProcess = pp_init(fScreen, context->postProcessEnable); assert(!context->st->st_manager_private); context->st->st_manager_private = (void*)context; struct st_context *stContext = (struct st_context*)context->st; - stContext->ctx->DriverCtx = context; stContext->ctx->Driver.Viewport = hgl_viewport; // TODO: Closely review this next context logic... diff --git a/src/add-ons/opengl/swpipe/GalliumContext.h b/src/add-ons/opengl/swpipe/GalliumContext.h index 3091b1480e..b65803d884 100644 --- a/src/add-ons/opengl/swpipe/GalliumContext.h +++ b/src/add-ons/opengl/swpipe/GalliumContext.h @@ -9,6 +9,8 @@ #define GALLIUMCONTEXT_H +#include + extern "C" { #include "state_tracker/st_api.h" #include "pipe/p_compiler.h" @@ -22,11 +24,6 @@ extern "C" { #define CONTEXT_MAX 32 -// HACK: offsetof must be redefined before loading sp_context.h -// in GalliumContext.cpp -#undef offsetof -#define offsetof( type, member ) ((size_t) &((type *)0)->member) - typedef int64 context_id; diff --git a/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp b/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp index a66dd27c1e..87c9739ddd 100644 --- a/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp +++ b/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp @@ -30,8 +30,8 @@ extern "C" { static boolean -hgl_framebuffer_flush_front(struct st_framebuffer_iface* stfb, - enum st_attachment_type statt) +hgl_framebuffer_flush_front(struct st_context_iface *stctx, + struct st_framebuffer_iface* stfb, enum st_attachment_type statt) { CALLED(); // TODO: I have *NO* idea how we are going to access this data... diff --git a/src/add-ons/opengl/swpipe/SoftwareRenderer.cpp b/src/add-ons/opengl/swpipe/SoftwareRenderer.cpp index fc60df28bb..e9c133ae0b 100644 --- a/src/add-ons/opengl/swpipe/SoftwareRenderer.cpp +++ b/src/add-ons/opengl/swpipe/SoftwareRenderer.cpp @@ -354,6 +354,7 @@ SoftwareRenderer::_AllocateBitmap() TRACE("%s: Can't create bitmap!\n", __func__); return; } + #if 0 // debug.. void *data = fBitmap->Bits(); diff --git a/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp b/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp index cd4e24b19c..1a0dd080fc 100644 --- a/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp +++ b/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp @@ -79,11 +79,11 @@ hook_winsys_displaytarget_create(struct sw_winsys* winsys, haikuDisplayTarget->width = width; haikuDisplayTarget->height = height; - //unsigned bitsPerPixel = util_format_get_blocksizebits(format); - unsigned colorsPerPalette = util_format_get_blocksize(format); + unsigned formatStride = util_format_get_stride(format, width); + unsigned blockSize = util_format_get_nblocksy(format, height); - haikuDisplayTarget->stride = align(width * colorsPerPalette, alignment); - haikuDisplayTarget->size = haikuDisplayTarget->stride * height; + haikuDisplayTarget->stride = align(formatStride, alignment); + haikuDisplayTarget->size = haikuDisplayTarget->stride * blockSize; haikuDisplayTarget->data = align_malloc(haikuDisplayTarget->size, alignment); From d31319b9412cea4f421d0ea2807ebac262668948 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 24 Mar 2013 03:46:40 +0000 Subject: [PATCH 099/122] swpipe: Cleanup; Store GalliumContext * Store GalliumContext in st_manager_private --- src/add-ons/opengl/swpipe/GalliumContext.cpp | 37 ++++--------------- .../opengl/swpipe/GalliumFramebuffer.cpp | 4 +- .../opengl/swpipe/GalliumFramebuffer.h | 3 +- src/add-ons/opengl/swpipe/SoftwareWinsys.cpp | 2 +- 4 files changed, 13 insertions(+), 33 deletions(-) diff --git a/src/add-ons/opengl/swpipe/GalliumContext.cpp b/src/add-ons/opengl/swpipe/GalliumContext.cpp index 7f616e4cf0..ef692a1afa 100644 --- a/src/add-ons/opengl/swpipe/GalliumContext.cpp +++ b/src/add-ons/opengl/swpipe/GalliumContext.cpp @@ -49,37 +49,14 @@ static void hgl_viewport(struct gl_context* glContext, GLint x, GLint y, GLsizei width, GLsizei height) { - TRACE("%s(glContext: %p, x: %d, y: %d, width: %d, height: %d\n", __func__, + TRACE("%s(glContext: %p, x: %d, y: %d, w: %d, h: %d\n", __func__, glContext, x, y, width, height); -#if 0 - struct hgl_context* context = DOWNCAST(hgl_context, gl_context, glContext); - - if (!context) { - ERROR("%s: No context yet. bailing.\n", __func__); - return; - } - - int32 bitmapWidth; - int32 bitmapHeight; - - get_bitmap_size(context->bitmap, &bitmapWidth, &bitmapHeight); - - if (width != bitmapWidth || height != bitmapHeight) { - struct gl_framebuffer *draw = glContext->WinSysDrawBuffer; - struct gl_framebuffer *read = glContext->WinSysReadBuffer; - - if (draw) - _mesa_resize_framebuffer(glContext, draw, bitmapWidth, bitmapHeight); - if (read) - _mesa_resize_framebuffer(glContext, read, bitmapWidth, bitmapHeight); - } -#endif struct gl_framebuffer *draw = glContext->WinSysDrawBuffer; struct gl_framebuffer *read = glContext->WinSysReadBuffer; - // TODO: SLOW! We need to check for changes in size here. - + // TODO: SLOW! We need to check for changes in bitmap vs gl_framebuffer + // size before doing a _mesa_resize_framebuffer. if (draw) _mesa_resize_framebuffer(glContext, draw, width, height); if (read) @@ -313,8 +290,8 @@ GalliumContext::CreateContext(Bitmap *bitmap) // Convert Mesa calculated visual into state tracker visual context->stVisual = hgl_fill_st_visual(glVisual); - context->draw = new GalliumFramebuffer(context->stVisual); - context->read = new GalliumFramebuffer(context->stVisual); + context->draw = new GalliumFramebuffer(context->stVisual, (void*)this); + context->read = new GalliumFramebuffer(context->stVisual, (void*)this); if (!context->draw || !context->read) { ERROR("%s: Problem allocating framebuffer!\n", __func__); @@ -377,7 +354,7 @@ GalliumContext::CreateContext(Bitmap *bitmap) //context->postProcess = pp_init(fScreen, context->postProcessEnable); assert(!context->st->st_manager_private); - context->st->st_manager_private = (void*)context; + context->st->st_manager_private = (void*)this; struct st_context *stContext = (struct st_context*)context->st; @@ -470,7 +447,7 @@ GalliumContext::SetCurrentContext(Bitmap *bitmap, context_id contextID) if (!bitmap) { api->make_current(context->api, NULL, NULL, NULL); - return B_ERROR; + return B_OK; } // Everything seems valid, lets set the new context. diff --git a/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp b/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp index 87c9739ddd..7c8da37982 100644 --- a/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp +++ b/src/add-ons/opengl/swpipe/GalliumFramebuffer.cpp @@ -60,7 +60,8 @@ hgl_framebuffer_validate(struct st_framebuffer_iface* stfb, } -GalliumFramebuffer::GalliumFramebuffer(struct st_visual* visual) +GalliumFramebuffer::GalliumFramebuffer(struct st_visual* visual, + void* privateContext) : fBuffer(NULL) { @@ -73,6 +74,7 @@ GalliumFramebuffer::GalliumFramebuffer(struct st_visual* visual) fBuffer->visual = visual; fBuffer->flush_front = hgl_framebuffer_flush_front; fBuffer->validate = hgl_framebuffer_validate; + fBuffer->st_manager_private = privateContext; pipe_mutex_init(fMutex); } diff --git a/src/add-ons/opengl/swpipe/GalliumFramebuffer.h b/src/add-ons/opengl/swpipe/GalliumFramebuffer.h index 026789d501..11e6b73657 100644 --- a/src/add-ons/opengl/swpipe/GalliumFramebuffer.h +++ b/src/add-ons/opengl/swpipe/GalliumFramebuffer.h @@ -18,7 +18,8 @@ extern "C" { class GalliumFramebuffer { public: - GalliumFramebuffer(struct st_visual* visual); + GalliumFramebuffer(struct st_visual* visual, + void* privateContext); ~GalliumFramebuffer(); status_t Lock(); status_t Unlock(); diff --git a/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp b/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp index 1a0dd080fc..420eb96e6c 100644 --- a/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp +++ b/src/add-ons/opengl/swpipe/SoftwareWinsys.cpp @@ -64,7 +64,7 @@ hook_winsys_displaytarget_create(struct sw_winsys* winsys, unsigned textureUsage, enum pipe_format format, unsigned width, unsigned height, unsigned alignment, unsigned* stride) { - CALLED(); + TRACE("%s: %dx%d\n", __func__, width, height); struct haiku_displaytarget* haikuDisplayTarget = CALLOC_STRUCT(haiku_displaytarget); From 5787587d539fec2666986b6b1f5e5bccd4928e88 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 24 Mar 2013 11:27:49 -0400 Subject: [PATCH 100/122] Disable array bounds warnings on gcc 4.6. Fixes #9522. --- build/jam/BuildSetup | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 57331fd52f..78c96f5aa1 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -135,6 +135,15 @@ if $(HAIKU_GCC_VERSION[1]) >= 3 { HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing ; } +# disable array bounds warnings on gcc 4.6 or newer since they trigger +# too many false positives. Coverity does a better job of this kind of analysis +# anyways. +if $(HAIKU_GCC_VERSION[1]) >= 4 { + if $(HAIKU_GCC_VERSION[2] >= 6) { + HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ; + } +} + if $(HOST_GCC_VERSION[1]) >= 3 { HOST_GCC_BASE_FLAGS += -fno-strict-aliasing ; } From f097e26bf33261e41b1d19d068fe5c0c89daa1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 24 Mar 2013 22:22:52 +0100 Subject: [PATCH 101/122] iprowifi4965: updated iwlwifi-6000g2a firmware to 18.168.6.1 --- .../iwlwifi-6000g2a-ucode-17.168.5.3.tgz | Bin 210543 -> 0 bytes .../iwlwifi-6000g2a-ucode-18.168.6.1.tgz | Bin 0 -> 326978 bytes .../drivers/network/wlan/iprowifi4965/Jamfile | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 data/system/data/firmware/iprowifi4965/iwlwifi-6000g2a-ucode-17.168.5.3.tgz create mode 100644 data/system/data/firmware/iprowifi4965/iwlwifi-6000g2a-ucode-18.168.6.1.tgz diff --git a/data/system/data/firmware/iprowifi4965/iwlwifi-6000g2a-ucode-17.168.5.3.tgz b/data/system/data/firmware/iprowifi4965/iwlwifi-6000g2a-ucode-17.168.5.3.tgz deleted file mode 100644 index 0dd4be731d02069cd61884addde24c932dabed75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210543 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 )I-hRh^lz0Pfr)j=_!I0aws|W?^1rQS5uCR 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дk!qJ{{CUVTpQe{mNt72J??vY(asg&YY$PFi-pQ6iu z7!{=rLfLb9=?E3(b-zpGwQ~EgFD6dSiw^Qr{DqKj{ikGl5=I)xjjEy8lc~k4YTvja z7gxut9sEfDbh}SWd4OR`pLCjWd1z@K!g%8n0C-LN#8>YUa+SD~aTa)NKQS9Bdi; zxrQ+OAo%Xzl6;~;hdE7h_xZE298SE8{7x3QI8QK(ly8~ZSxF}ZuA4fcdjZ23p$!ih zGNHd6c?+r>_XU`3ydI~BF`^)ToODzZJ1lkEPzCqJv9%TeO^<7!(#(hYU~|_Clmy2h zHJV!bCb&QH;V$+cQj9L~_D2cQjcGUw8`P>fus#Kv>chp3RJr#ntXh9Ar|#C?8@A2W>m7=M#Suid3vYmW_hXD4!OD(@7$Rr71xieD8rYJmt{zTDW%uU*Dk#)WE^F>#c|=Ykxap9(Zjvky zMb|6z*c2+&gC#jMiwxYJm`%-%*jq4z^OvWrO$RlSM^<44$wf(V1O_mep(($kendw{ z^l7|N96Pb3O`hj!le)&i-eVUnPAJEv)RwD9tXoIf_lp{nN%QN=oYVd}n(IB2zjXw^ z2ik?|qQlOF^X#U|qJwAj!dT&-^onYlCbzZwcxY{Q(%ZX4WtOKhUDxKd&~x}AVE}++ zB)bujRA%K+>~Pi5P-?~d9-zn0y`!;}ka7NTjx<7mdMvg#HrL`>PjPe}5n15HGXF=# zpHw>6C@e)e%*t@wPx2Rj&h@{?6FuKQ z3w#<7=P9XTjDAk;6-wQ0>s(Qo?lz32NrCKHGmI!g*?#Ni@zZg=Hzg!6Wcfl>J1?%& z(qI=X=6vEOro1%_yV9)xTpyQ67040QdSN;H=0t`WAuilegVk&p=eNrb^MZImS2uej zZ~%c&9l7^vx4rOR)XxTcNuG?cN-xzV0ontfW;h@F_4TF?G-H z>Gh-ztK*(wta5AGUwQS$SD>u1eayVAe>LJ?U+7=4hZ|iZF38N>hfyMVY{k8nq_NR(Mss{|C0r>g74#;sb{_;E@!VsbJfNx z+hB;FfXhTB_eyZz@oT$nVwi#OFrE%``ityKNbG{+xrIeJI)Eg;6IFJ_v40KrWTDhN z%=1#2p0{O8^9+8@88eJxjF4*Dj}t*d(M6x8IenYCH0W(=fl$iyj%=SNMEiK2Ts<70cCx&hm!wNB4P_;q!25b_W_Aa;Y{{xa7UkAsil5 zbkZED0xzGfog&FT6xhixjoHZoD#@`?CD0=`Nn<=iZJu$Id~Jg#5e)tbngV6wMQ+=r za8inYUZh@=LJZ^N0y}#n7>IoyPH{Y(4WB~_1*gId$9R}ltF=7y#p=E-c;85LU3yMv zFwNj0-#q3Xe!INc-Iq;ViI|Hf2TsX5B?_{3iP?l(dlt4ZSU+W{b_K+_`NF1{-wEs~=Y!=Wb2) zIINy&*yEin8dS0n;q5i;NoO@L*KwdV^jd-%*O+6h$)pcGfm)bzHRsL}FPy}CB;~aS zUq`J@7DRmoJ?O$Fh0l2}`Vl@A0l|UmJyY}O+HJ#Ma#&a%d;I6Mt;?~LB-oA%nBGQu z@c7fz*(%~%?;a=z)eBol?t%WIh)%3GymssD-VqX|Ae1D%^%gZBG%c{(MmU=~apaHc z7QV=*%y0~0d$*aBLUp&k_qLA$z&qU3S1k5@TRH((X;7?^vjVwwsAuK8SNB!!E8i%yatfM2}0^qc1BQNr5 znW`;%Plrdwg4z{kBp-vcoxy~wOJcZoSE=TuW+htqx>S#s)YCnKf)13=*Gel!nK(Ok z4+hWFKM!@XCLLwgXuEUl`u(GdIFGGL!BkvSLZB$OE}3)91G>LHRQYw|)Deyh&l(4< ztM^Ex3b?8hZ+!c^LsRqYLPmqLSX#%-O!GgTgQFN6q0L3=*Rid-;UWT2L(m`&i$D8! za1bzFXHuv)e9IbOOgVkGP#nptBfWz2z5fOje{1FrX;E>I%CD$FOrsL!byOdtw_bmh zJy)sjdNGRIBUVSmL~1z)k=!$B0Ef8rnd~?4Kp9XjKTmSdLg~irlbAxK?GfW@NSN8F zy-Av$O3q<~vn`h-YU(PMIiEz$+*{b2HBuNh9R7mji#&LM7{T;LvQ-A_cXz+&5d;Qy&c*nP5RR@ih_*f%=Q z@7v;{{4V1W`EdFN{LrySg!#lZ{n*pqaLVBIyD%JC4*=WIv-3?gJFt2mx`x`h4?`zk zTkO7LAJqEhvJ{lT|7vndTRJ6|?j2|EuuAM3Wofp`x;OpJ{#sc`s- zLYKz6(^{^v2ZB&)#xTXgn@8HfXEKp7s3mxeGozKddVcw3Q?SwGr0dH;Ge7bpXPI#Y zBcDS0?$P!6cu{|m<6caRdujNQb_wbpZP=o8 zo4PtZ?MKi~!eKMg7E~xjvMbnaKRn42?cToNvRc{>isYE|x>Wlv?7Fx&GP-0^L|xQx z0VSK@0_mnT2vG2x0$rH#}gJqbvAjj$C%RuvMhhP4^y@WzW4*s7dl4t zo)*g&4_X^i%+#G+I3?YkRckK2CtYo+)6B^{!#ND6$9CSrd_58dlK}HrTa3 z2f>L6&HGnb_>8BRr$@OeKOAI1oWMi8S{S$h` z$$bB)Xo{=qEy}tY)qhq=Ji7xC3Xt-FQPqbqg`c+9?`l zCa;|4*OBt!$)RyF=-?pTm{FOG7FL>@Dcy-abpeKP>6v)ftZ}mrKfH|;ke9LOZmPY^LW4jXfvscI_T?nJWuw{BZk8c)M5i46HfcGtk&HE?A8|v4 zpLS97<-xY?Y-BQ3%|TUUtUxO|<&91^*iJrO+=0&0$ha=bU?x*9s4ar&p<+sZXehlM z6f6`YH+!*=-l3zWtC(hIUxQkzot%dG__F*yH%b_0G|n8n?>{?4+sk%M#?6;vZ4WQR z#~zeMdnVvZI9W-UYR7Z|fvJ8=UmJC=as1`>K^XT|emv_HppDzGF)3fTx3bcgPKQ?*zACOy9VTPA$6Kf7mmg*=Zdj~yF`%JfvI8OYbh zj^FdP9AVweEcudZ0j$%j8a=RODzj9b^26ESaa~c!esLYeh6EI+gtttxHcDB$WlZf4 z;#L0W_kg4c&K%PQpF@bzYttiNg@+C&_ZwuzL7^+f)E4Byld22(9et)0i>)T%K3d7j zx1d+Mz-TE1)_V!N2FWRsKMsboM2WNb3Rg63YVOSM2NP$NS|yCXkWnRukD4VLNR6uk zo%V|!24z9YrY?uquN1Mn*zl&mI9K^AR#(xW`U}S_Jiz*fyQh$RQ)$?&2X4+A7+SM#-cBT8qi;xTdV??A&nB@?OS*3j~VSvjam?@Mv56v;8t zq14t?RLnVBO;LLS$-ODtLGU8<18jbEe+K3&Nv=PDN$vn`;|Zv*iTt<tv)0 zWONtJbMN5Mii@1Y-Tne3m}Jnb-^xcS8NC;bOk`Qn)aw8yt_jR`N;rA#d|oS|$ae~_ z9&KCbPAuv*%cOxWgVBZ3{V{mgF)tts;iwA+GL={}fux=%*hCNmez#`wz;qk#Z6i5G z?{%XX4)*|)hilGFqnY&h)xi9ypYH z+r^Y)Gk;RGEwozf6u%)4Ss76drdSSuXSg}WLxMBvGglvzu(G0~17+EEu>kGbSXrr8 zC234>DOZR_pU*Ey%TASNMkTI0XSzIe^xb&!BQ+5r|NLWHJU#(7{ifQ=x)!1Fou-&Uu7o6S1Mb)U}& zeiV^WU#PPP_z0NfNW`tZq}qEj$0>cxguVddDJs-TvwAK{6?Y{f2!ZrfcRVN9)!V-} zwqH0h1B{4U|2V-exN%X6UJG2elo`b@XV5~(uCQp1*XG4(&gukkMmJeT#={+FjaD&h z-sT`by@GvK^?3&ow>MGQmN4EUwHYq{=Lsp}CBH+XdqB%EPuIBYAWec%}{90DV_gNP7{| z3VDDqyAC9B&xsHC4ix|1n}5s{cqczVx8&>oVRt%3y89f)JrW6g8VGo^7V>seAVgji zhj>&J@^(__;VX@WK6i!srO6g0>K#&0c_}x>U*Y=30KDzn0bB4r=wbQXv3fhe?RzMB zmdok=m;1F7$M0V!#FxtdL37rl{i`T;>2A0up5H?`@=Oc(GVGh^!$C61h6WD5h*^t@ zVjmzK^Ue2*A_rju}p9=s(SfCDgwS!suBcm6(XJG)=83Vwv05hA*0w?Pf#t&9g^bR?{ zF5M>IH>D!5DQaQ_TT<{~fD`uyD~~gC5yl=ZWiAbv5tQ?WSi*`7FwFaT1zJjtyu=-Q zuF-h?`;lU{pP@8+gtzlY(84C{4K-e9N**4&5Ljo}kq2~gK2I?HVomG9Y5zwAPau6n zMmsRdT<^E2G8U{ep5m}WYXBf+_Ot#}E|2Gt2Ef|R(z8FE+p%8^K#=J`Te5h8UqgWd5+1(Q|u@ z@ljw)4o&BY{^#-S2f?Z#i`bzh9-U^Gd%TG%#K*-J;bEZ(_c-~$zgX^hP=*PRF4oPO zi|scDF~bIr$|TRE5h^wos*d*;rh_aJ1EH=$S>#4Hd$5?rVa+{g%#ED|`3sUfU93(X zYO-bzM>FwP{Q?RT*gzNq<6Ck9{Iq{aSN#aOhFFAAyNJjy z44ku!6(3rPI{(Z622PfpM%@A34Q+?jW4{5Gp+MmZ`?qFaGyH8C?ji84DAsQ_WiEQ8KJh?{ zo{s><_6YD+URV-apQb&~h#;I@=)t`u_-QD^#Jxx4Uoh$3ORDGKx8j9v^-k4*;80Bi zKp6{zmzrLG%$jn@oHh%e>om(Pn___YZ|?~UzZ1oxe20R&WL;}LNYd@;| z>3-$>Y>1r5FS&m3kK5Y$=6x$ zwg(1;55Qz(k4ON$%e3oCxcU9g_-T)QDMA0U_Nyi&V_N{sKne_;)b*!b8PPfMQ6lK% zds;v%L-o2SVtd;;{vVZ3Tm8`U`Lc@R8G+=x-K(E3FsiKZ`dxwNitH+Sd&X~z`14U7 zzNEePgi1GX=a34n`2>RAt35!+w(n;FLXA%0+#%El`N9Z5_XSr7>k)nNJlA_G z+nWaJ9VOV2+vSaW>p<}V{AAd`%Ss(C>;SJP6}<#lzdxdjcNaWB0HGBI3{i#pOD-VA z%4%1u$Y{K!NP|3b)Ml7fiM$U_C%?bJab#f)uhUR z?MLxT1Xi8MDdY}Svy>GYex*oxKio`4e6ZEfR}BQCK%1Ib+RUQ)T@E zd1L}pv_UTtZ&#N27WRj&iL6<>J~EM5o;KJJ8ktzn#zhO)kWJE|YiXD}x*mG|A?LHP znn-zj9gn+uhzG_V7(M7Nu9y;1R4l?dF?#yg7td2k*L}^0Z5XiFuAyInRkSot zks^_HFifBlCBh_#NZ}{lxlL)%0dQ*VV@EX1fi&~YS1P=bk7#?K`eR2W6G(a^;LML2 z!uXNnH>=$s_vy=u%K^#F3o-DY>LP~wpF;cJ;fpVP{Inv8t$zVau;pczo-{9_PwVto zZ!C&@(8XuRtgbicd)$s>Ct7vvNzVrV^E>VdFzwp*66l-qIW_+|vko*}@P5ZF`>JUn ze9~F{TDdIPu+;`SPH(m55Wc((-|{*py!AMtdd{@`=gS|6zDg30Ax0tP@(NoS%5S*L)~_tZc}?o((@aa@*qdq(U4AmvXpM@P<>v zUZs29ViUWQS-`eO{}#RTElc4EPbjTAWrsk|OL{$1dr1WAZgZi}B&hF!)_Ja(^8}`E zjQcWg{%9xTkIL)V@HIRVo`aJXBv+$^E?vZ_LeTHKy0@9>@m{`y6`R4$67X0)1ur;` z9w%h8Tnvc27dwv4WOL{Xb0@tMpTw!l1$KVDewse&{o`U_5peu-91!J>{fgbdj4?P9 zITM?M-a}-gtL?K{*$VD`{5W>aQZW;->R$I+*In}*&%mI?cgGH}oaGped2$L$Gt0taVx^*O3Gsz}xCp`JprD$v}T1y2J>Kru8 zDf2nu0{z`5WRWRQ7Ns|`r*P)o=PFV$#4hUxYtq4LEHG{;86?U#wYygu!MBf^f6PDu zc&4maXTWLaB3E8T{lvo3b^j);Gp0|cez#dy>%o3oB&hG#*36QC@0a5PgDcPw`1hG% z=QG~vEL(bl;qz5#f^6-masp9@zFXV1?bTt|A%~`*da|?ra=e(PqsGhOXoTht(7n~- zyt9?H(p9=K_i5;A{k-vg^hfCI*}l=H^&K<{CvkWKQRq186zj=jMDfWg`vn zu-Fj~THz1kU4db@fZ>-E1MY(Ahc=X6rwhi^NxlTZEi#WO=2>659K z-H1On#gND`=wm4#)7{`0NP*2U|6&UMGT=7s4|TkgH*HQBZE()IH}W4GiU zS?3s5nSL7BcA2s+4N0HVEzD^XlV{4z{v^7#aTkkzC6(ooYZCutuM^%qUK{()yKiW0 z^)Q=yR_A-#Kwi!6hZpa}&x!rb z*ua=!kdaNR%Q~Ul>Zb1HTaVr^=Uw(pgb+}#2vRL9=-q*9E|DM0TQGJYOBtsw0_P*& zU4f675j%e%LoRx`0TaF1Q9Z~cr3H;Dy=A_ZK8h$4L@>9u)oOG=f2bgWco$rJ?x`s<$LWG7)$W-R z@wyXriL)tp3FftQ=OBUVme*66EFno1}yVif2NV$|1 zP2_E$RzG%hs9W%XNhsre?wF(J72f%omnFFUav}~_!h056l29oK_!0^(3B%la4ECN3 z0zezt_7yAf^j6Mfbpp?IIAn!njWt?@U*zNpBm~StMiOF-X;o`u2!T0-(H|T+eB6Za zqapLv$^N4u^)Sq!R1lQOT|ef zQ@5}DGt;Itl!%S}f!seG`m8Qr{LjZ|6#SIb;s7I2G8m?SNnb9%;b-0c$Syx$9p6t4 zZx2IHw2;TM@ZBAKx14OKJAGqqc`$cI@@fhh{;24SF(H2SeGd{hxZ__>UbKY-@|WRL zQd83B-&el0MN}=~CZaNmX5sPlMbti$x3a@*M)^7Ec+ZI1)Mm2h-?c$Ls$TM7Wc4^k@>r1cBm>D3_n*G1kQIaC z4|X8nskp24D*K4%jglTmhEj(-Z->h9*)8hzh-b-Y(&@;3!aq_-BT(R(BSkBkP8&6~ zV~r0pcs&}`!|F$W_2hG4Yt;VMAwM%?pttHXpp8C}GAH!SjS1k|prU+d0T0wI*`3ls z`_(1V7sx|dYgMp&BX{;e4IQeBvX3q)QuN3U&9N;B9QqW-surHgQ^ovpv+*ve_PpM4 z&29&-ow>v5xLUn}-s+w7I6h^k_+shZS_n*}FA0n^`u1FmLQF9T7y|)S6TqjfmuKa6 zlg^i=0bsYUz0$@L&#`>ktML=e+ec%(#{JJ{gm-oK+qQ+sFJ4mMG>GPrH^XGs&1prN zhAJuCx$7kL=gp$8eCI*rLu_{H+uXQ-cM8_4=AAMk0)flKjZRLE=X**hPs?V5@snN* zo$p(B9R)0bH`TeP_%opj~)U2oBeaQJVmAL>(*9qNjA`F;aiTL#|H@T3p6br z`f{s%AY=d@-=2`BPqf({Renayq*-nxJRNNbsOq^7(j`tbZ@p&Q$0uFA?AHw!MP3k2 zjP0XNpE3aVKB=BgTQ}yX2pg{|y06UEO8a`er-2#!(x@q2?k^X7prM_1%V*nYz*|ci z4uR~B{V#zX-F$P+72rV6r;m)u+(pTbbc{~@)e|b>WZIj`&M7MH(mDl&_mRh;JnU0* zYz1Gf^J21=_=k0s@2Kg)GJoSPL)Aqo7mtAZkmt%qcFvBV?4UEt|^jzykxxpXB+>2 zc9H+Px&Qyd~u4`XPGCvrHVI-d18r8M&7;oP3g+Z?pq#56SA{FVw%+J8)(aw->3 zS84gV$!Vy#xoPORscE>mnIj`(M(4#GH6B72^YF`_;kM$|ZA)E6Lp{s$+B({Lp>5L- zE~g^1>{%l^Aqg9Hc)+90L$scW_^PCz>EdCeNUm*s%7I z;r5#1-cG9)$s>Qzo%sE9RFY9kbRrXW^*V1YGeRB+FTe^JHo z3uOnOc76zn${`~YSyA1LJF1&eh{_+1{#L!}5N;C?-0`f%@vXwAQ z=#@&^BFAJBf6%td4!0JwmJeD@7jG7iaJHNULNOcV5%y&ns0`=l6ti~dPyc?78tKjQ zzcs0(w;7iJmmdDTADbQz@^`l1fB|BrFu*<7j)X!)u~@DN&DiidJ3WtH%b)uJ)2!T= z6dV+W*l-z6OYf& zq>;wuK2}8TT-`r0YoxU)7eH0Tg?_22^ro-lre>^Jq%FzvOpRUK{~&j?*8fS)<%o2U z=+$aGTb_qMZv{<)orqf{Hl8BfDH9LtA2W7Z4?D_T}yk8+Bk)_(~8avg)_<4;6xnhDn48= zb`|T~Wvh9KB&}}KV=JijC!lZ7_4}3WOxpWon)`9v)FexAO;Mpb`6->~2dPF9uZ@ra z089^KP`@SBb0s+u?H;V5Eo|^=ysO20Ks3|0y4pG60X)J5N_2G1cE^a-%7BuLM>o;7 z*qH(INcmFh+jMl_sc${FI<0x`cw^OQ3Zld6Q%j=+GH)l=>;6GWD%T=Y^-qO+2Rv1= zy!fo2rJCfavA8C{ySarO{5eZK?YMm=q@Rk)tiO_PBoCY-cHz3M>)BBDiKb3k{Ic2rQh4%x1!| z(vJ3?EsriJT>^+mr!PzxS>Ew^*Ng7(sFSM0C&_u7UlgJLjjb-#ZMzT+)Tze>Tl<1O z5!=wRmrHAywjUX}JMCv%WmG>(N9lpX-}X$8)#Gxk=tO4PF_#g3~8oDF=#z)#hDh0DLqZ zr#lErVCA`-wrI*AadAHO`vYaVZ9%M~S_+R=fZEjb(G-_#2oDj)dx}ePWmIV9fV%>aP;cqC-%C z&73~LOU(kA7-E2Tud6sVl9L-0kd^Nc=<;9XYeh>mwha#m**A6!?CuVIO%-UTM{eN; zD~HuWEn!g$8!&&p5ZtM!@*z_8v9Te)WFDjxlt4lxtiDM!uh4@-;ZlJsn8_1 z1a-K<^c#5nr7y|4_9!P!r1~0vEI5{R47lf%h`YrMd-ZuGOo$f=_%YhvCKb6TWL-ri zPQTAdG(;;AcZ;>gx?es>Sx4z#;s}|};cRNY{PBCj_O#iW)Md1u-i?@3^Jr-nQ#Tz3 z-tQ8$tl^JbZ3=i42AL|)xV%;2?CD-Hg?aL8lAbn&_8zHoxHh=6^bru!ZIE;apHOTt z$MeLNwzRq`JaktYW=F)p%HLf);3VQ4b2J!in6!s>g`tUfl@58FS=w~`rgFksxj{?p zNL#$2Ec1VYy(m-#4MI5Urda zZDKxYA=fH8>`ZUTzFNw8Bqn3>Ki2e2d$A)&DYda>INwi}-kZsM}o*t+I`^4{{EESo3F$VdM( zcE_;bR^&GN$cv+tpTxMhbk?4jyqm7iqI7s>V8J97*Ma19JokZ=H{C*ZYd??aV`%|! z^4_1X@22UwVr3hh$Mic|Z6UZBzI>>R-X6VUti~;Bw4-)$pk^^W0xJRH&J10RjfMtd zT~2yifj5i8m?pI49!Ou$D|~QY?#_|BTs;6{H~P|dCSJl)Pqb{<3xdFtKoN z_SrmDWG;)_*9XRUlGuSQEWpCV!k+?h@XfeT9r6aV;~6c(1F}hRlb{jvm70|DHx(A_ zV5jP@tn5OqMhet}VVgRnaI<%D?1+23L>Qg$6l1|0I+p=T{}uv#Ok#WHcfb?|LC-{z&wRBP;Ya)g=gr z$C5r4>_jC$Y#L5!BNkmI+QYsdn!+~)Zbou2Dma^*k^6Nw`HGtU>=ki^V!=k=32UQt z$0>9DIR5m+{K?;VMK_)jtbc#7nGhD@k@IpT5>gQLNHT0ksNs$aLu;;ac$^oiv)k-( z*6Pd>L61faF2k0!9iXk#+3+BXhJE-PkohZf#rv1j#k|N__Z9L7FPOYkThgERGFd&I z)HCQNcE^^Dxca_<>@~|?zVO3o)z)sh%x{x0pRc>dR+{LwW2u4`bk0~(HJo*J+vvx? zfWVt{IMkV&-Ja${T#lS9-IROn#0+da)S8crvCjLN%t^_0=@o;gv78x;}=Bt(7d321&VAjkAhimh1Lb-O2McbnvI|gbnJ%uvVCmq&3ry-lnlBOx-U}= zG|2xkSBMBQuy0OAFI=Anx8i_VdxITT7#+7>L5sT85EbNY{re7kKr|D%{mb%dm+)|z zR3KRCMmgXlgQ1pccw-F>^yBg7WVa@;2jdIprJ<#Tz{c9r+B(>aWu)pDzHQ$ko}=gy zY8lk8Q}Ia;nF-8|8qDDW=a)4aK}F#Y#3pF5MT!#pcZd^C(IDbeWn#9Jy+G9;;$ z>=d#?j&#j9#Ht71{iWJKEaSbz5PwFJY+Q=7P~*PS(>$tw*t^+lYHo*A1={h8U&fP# ziF-;H5tnj9);3Clz9nne zyF?eX`C@+=%2ChR*T3Ds8mD{&aB#mYSE=?qw%xRBruqDIHd{Zs_I2Ce#u%GioiZOm z`Nc6G!$e?ki$AB&)#wjj#fQi}vzFWv`Nzj9kEP2>wPU<5If*4`oHCVCZ+>mv2}zwL z#A=K_W4kmWc<+&Q<%*hW_!`NFEB;2KN~uaVyf=p_D$RxmS4IV*mR9P3m^}(Z~(0Ed_2F1 z^33yHW~pA;WT?tUm(ymd$`0ITpOaZXt626HRV>Hk!&(LfFMiHW>#)PjeZd#eLG(37 ziicwyNwnf`a(dqUV+)H3!F~xrFcYDAhE%znxsOCB%(z@qIkAtVGNBo!`8N`J#>ZhJ znMAClWV6^HQG+$$-#Xk=7g`l(*zsvTBAG_NY;zAyS8Rzt80Dcp2D08Nc%&*J4S^d z(7})Hk*TDBMU`v^9mFps96d`emDkS=ECn<=OuhLrw$_Q124O33e&QAcUe)sCimPJH zt3U=_T&()wyxCf12AkS!o|PneKC+MF0KAZ;xm~Mp0T-zdBJt-OqG~RGbNEf7uon=E zs|Of;ACp0ku~59$Z{iqXktC?DYbPLGN4@W8QA7HoIgVGUD=G~>8T#;W0d3e|*`%5( z;#p0&DiT(65za54!yD_|EJ67Gwp{|#)iVHWoY*%4=fz7fl5UXEk6E-u8GGByGUVfQ zy4E3=hT_4WA2q^M!MCKd<@SsYv4RY9KD_L`WGehrbg)M%^hshv+0aL?x0{C4b88#V zB0ay=K(4qIL&Wc+TOvQX{ph4p{#1JpwfTr08CU4@*6l;}5`L|tPImVB27f&k!?F_e z>}dHtvrLmRpUgB`{h(BeWx1&Ye?Aif1qis{MVUZxhKempuq{K?C_EpidqRlhnBQry zbZAgVa8aAxwhQwtBX#DEjbPEiisF)fThWz(nn7m6NFeb<3=Rz$GEfw0ZJ}V?U#UBJ%$l@?=}&jgVrW-C1K=^ zmx~Bfu5qHCp&5}DrQ$qB%Xmd(nCmBQXf@=)2F?fJ+QU?hKDSLUsV9(`T>+*ygz<|%y3nGz4&l3kxVw{6bV&zVw zgVaPCSPXBR`LMt3{D{r(>~qW@7%={3XdSG75LbTg0_v1X-K`WVYNI8_a#KK6|AIoc z(eYRH3yxBFr>eQ>ARdV5Cq7~5?CCWhNPJ((GPl{y||Xz6n7w&fKYcgR%==4FvO@rL|MRZC=(ij&Er;phKc zg^p#{?4hoQIjSQ4%!EIvu6(2Q>SN*e$#QJK0YCnuU7(<&%9pqw6??n!ct5vU%VhPl z^$UbR&sQ^l$)hJ*A5{9omWU?01%{T?zNl62!sjDVk)8Ocp1^$Ofml?8j&PF-wL5;m z(HRikwr&t*?$TUOWX^^#%czw#KcEW-Pk5x?h4Lp>a!aK#Uu>6yw2gOde%uJl`{0Vf zCvOpp&ViY`BHUNWQS`bZf4W?OKD61pNI1K8$VSCkfNu9`xscqeXAb6quzC*H4>O$E zp4vlYra+N5a`!Xw)%#_J$sZPBd3L4%39@j!Do~$*FYXDpV%x#7dC~Lkg}Q(>sR?4CsTy8`jsv z+EUU1i5gdsT%r3J#eWQn^UkP~KJ0&ZsOXHvz)OF5PR!^vZrJ5-^aaHjabkA|@6|@7 znDHmJEVJ4)nZRh6kWo-$%ws^u2fagio)4rw6M^?~Nzx=Ysh5luh0L&b)`*23!<>wb zrVBtLJ(*Zl__p+BQOTriBN*Wgf+tk2R|EwwnBz~vI`7}vi!_A2X?8lor_PCAVjn}p zG%;z%n|%_k@Ds+&Lkx7W3&Bf*zR)dLEDZj|Fasjff6N1J#}Qs6k&k1qM-hfl@N}|! zIE8i%YJi#p!8eI@iH57_jtnbh#_iog)%f|p07yW$zheMXn0rGm4fR4Yi_VwR;JRGp zgmBt5u`Gu6n|svu<@ziE2hl2V<20dQBO9jzbWf=9ev{1fn`M)Wt3!WVc@bQu zG?tHeaNle+VG7bzwuf~C?f4`2l{p5p^}D@D=yu}=m~J;V13t`vxqoxN8lZd}#|GBM z-iBVgZVjrv_8lHd6nNbag6B!xMzbR@3fh1va+-iBO*K06LoOT5amt>ivZfWg1euBp zvOxVMvxGSZ9C|4_oe0aJ{yOrBWW&)!f2Y?}M$&hyu(l&OcZ&$zyp;JNJ7jOj9%5lhK2+8x&fVb%Yu8ke% ztloSw@ebM7kJJuJ8l3lvr!APi!aTFtWFt(;B*e8Ez z033j|n0M)YR7@Yj?vtYtxKYSOD1tiM7r-1A&JL|C_8Ws1yt3Hok&SlnR{B1`5Y6jUi0j(}vc1+nC!D;V+6zaQjZo>bRw(+>~S|lkx zoW5t-agu&kV{Rj^9j7@4X|#=J&5{5@a~wX-ZiqX7IYkJgoG8>vlvMD6=x z@M(s99&ICg!&eDD=7z5geDn<;U8-%=59b3PH=GZAy5W4_(+=l@`i#RVS7;jzH+;ud z;4h`ntY_g(Mrmg%Pqb&+7jTS(bcwf`QbffG|8e4{)tvB+$KbuF7S%dyrSnvmT=6a^ zSjuaiN_zA*L(np@E03E`p#ICdFupU5_>Rn$F$rNPo@K=)9Z!@PfOa3VAWMfCS)2+L zy{P|xD`$89-*p0%vyR@Gig*uzZ>)Z|M$~IW(vP2{M(m#jX{HiPNR3ARI+x}C)Wra+Ea$021TFJ z%XAtiS>82^mhWouak_`Co!6&&GE3*=h(fR~H(s;S8Bev#PQ<5BG@nF?ISU1oQ`(2n zmBE6Xc4z6OADX4n2n`O-6;SY`%l9Ti*9TMk=L%xNcWuzxpUl+>xbLnE{;!#;o2l!( z{drKTA+2;vGNF0lt zE-$7=Frz~#Kzg_F!>@5j`zWN?LhXciAlkg!kmQSX*xRffjy9btIqpmD$ieU5Q5{YP zO4mA2hl{2%IfPUkRcVyXNe0O{)Gt#lo!5sngQ3=ZLTQx!on=tORk?Yx_en{R3s%=B79c$_`Q%r!vgs5_V8{L5Y)w`+WjD5Nq0`ye&F z`PN+pHLB~B)vX=BOO$WMaykDI%UP`M1eW8_Iv%HhJ_*msk@0>P!QenngB>|=knB7_j4#6f_H(Z`EZTkc!g6i1uUWhmu`URqz972Z34-J<*DA*?8ot-G zc}I=sDN~R=QL1=qJX4L>RqqkUixltWp{#Y0jS+1)?W;+a1$>SD2uNLPxulzL=>FuI z9KG4#M4Bd6Ap3d_L_bh6OQ(9!IX3!cY2?LSf@ECMjO+~Sc?qRx3&n9Xr9J37D2|t? z%#ukJ$Dt2X-l4aSg8G(1E9tFrWQzB5FTduAt;jC2_?v$I5`5J`9LtbcjUZA5E)E6y ziUD@#=Ahs=+P@Eqjt2zXUjbel{&(|KH!uuIo7mp#A&~i>RW@7Qn#)n7Y>Hg6#td4Z zYNnGgo;4iNw0t=QRZB76(#Bw@=`3ZCXvXtvmvC#4NC%wgqn^dmU=U3iuaPi!AOo4q z;?(zSMb!akhJF%yMoEuk5SZZ~)>JY8UB`j0R44niZqsZ}pM1aw@CaqT?Y8@Nv=+Cj zs{^Ta9&ch04)7LjLB5ZQzt_dnmiXub3w+pb|Ib?4q!4WNbG^kbd?+V-2rbb*d4^~w~xQ)jqT@i?|)^e zrF*}=gXz7#Lsr*pxRq?&VHQo5X1A%ybG2tC(|LVIt0)(>YEpcKNbz+Sx0(AZyLJ6l z-R1#%D^j4Xh=Dl#rW0>1ysBdz-{{Z~zy|)5;u^ zTZ7?c2)E*~o<_J_X@n?=E|kJFPbz<8$#rwkXz1E(?Hz3L+)H&{$7w(0I#uGV(nX`{8kLR`uJm--pt@4hrG$%5mpRpCN|zEYE?wks`O;P?193mkkagY+ zN%umAsPkkX-Ou2^EJM;hnIUT38A$tBhOAkXA!#1W5H<5NkY;X%%+Ah`*clljD`p_J zH}qj>PiSKZ+DJniX=o!YWFUG}hD@brNK{G&VC@VWCVTWHlcBMvX@iH6FdEhEpfuEgq(1x^-dR?y+v}`2w9(r)&IOI#_d{!hOG{-2?7|xJyG!79F!gcN+ zeW$MtS_86|=_`Xs_xAPn^~q(H+UppCHjcx!E_>W^0W~21D?LwHf*P|j)*94u3f4{= zy0EtJzd3y9&(6gCWJNot3VFU;B4HG-gx#4l5<8fdOQ0x6Hh-~LQ;C&n$QPY!If~yve};>!`Bg%~ouVgyk`G+p;Ii^Ii@%)~{q8Smr|_{=OHIV}9n) zldH45$JfNdtev7*2j+;7G}Eiixew71HmAx;L%?UN*_V#JtaZtJK|Y1<7m8S1<73O? zLNQY3dmLcmeI98S0_{xATvSMP zrBoAbR<$t6D+ZI|i#be{>kChrWwxdVMYlAo{OyF`yVjtIQuDpg{R-FO9l}QgI=T|~_Zz&r|0CJk7NLOWST=ePF=3`scN#@Y!hs%2(S~hdT^z4= z(BPgBzAZcm^FZIlt(fDK=sBj|>vLQ(i=xS0gLp@RW-190b;(c~FnWS6Y-jgfM@r0F z1r(f(4{{46N|_zC+SRp(I3HUxVSk^z+E{y?TlHl%SBKkIuX}$vw<3`94{Px)Hv0HV zvR}?WyHsaf%s8L@Tck!fT)+%ur`7TIZC>C&QmFqW?i{++c$OYibbFv3rKoEca0#=Q zAb>ldBb}FCVt+k*33Yy61^V@4al1arK1`i%b=Bk;S-cV&rh5ksE|L8zqT6(vy@*Bj z$^w$RLf`M)%|_9fBH%=Id+v%0yMa2hCGi3-$+=NDyzjf?G2W$)$7eJii}^H+iHm0U z>dC&QZDwveLvPmaVdKmJf>!UuH%&q+@yx#VTjX%@jBw;QL$xo(Ni zwWCmny~Ele)Ic2tP#1nvjHtUf*x~5VaodpHN7{|Q<5IbypUt3Iwe`8s`m=oq{CIbq z>c=HNPOI>7T@P~?ui)vHRAC(+-VNohI=%v?oZxurily515 zpYZzpzStV8q`Is30R;vcoL{ELyOpDO52QH8OuJqdZ)H-#FS!i2)7;91uGMwgek$t$ zeo4!fzM`?4QEN+a?)`Oa)<^ucuk{xToa+G>0Sr($P0XwAm?ZEI&~(=>VbezY;aYva zj_8aQJ$%0rnEVVhHQ~x+Lr5ydFm3!z_^lKKxI$*nreX@hAy&h`iR_3p&5oTB)FbbNc z(q!|;e3R!ysn*gvh`OqJlFwAd@&3#CCQYTfyCi9^rZRc2e%nT&S{nP@tbW_2ncPRz zM&XF>nSr0^w~!I94;|uquLH%PXP1tSZxq_4AN6k(c+Ggc zUVYQw`{wDlFvHy4bgUu4eB}1op4%XwHi}!5OI)U{zKH4F-}a5x+bA^+#Ayr=$3mP0 zaqsjcpP}QU&ftETY7jJIwl#Sk*Db#ul80pWliN*oW-c2U^b(_uV-5Px43(t*`jD~O z2DJkZfaaJ*7E|}d7LmQ$ceM}0GPh!i`%ee|)NIy&jwVOwoML2%<5tZ5Xl5l9I}veI zRFtGeVryo4aa|Rb<=5-WxRto?A8Q!M70Fu9ry;1Z67S9Ja5`SVbFW8m&;z+NuQx2F zsn|VSDtqfe`5-PAas-?g9ha0P+IiQ9cwi!NH5RSMbEYmGzlipAST2R|C&{jxo!}I%_f=z?2Sa zU6KthN?MuPp6Z|q(`-naS(1@V1!$MVPta>X(y$uTJ;Bo&_~`fs3R7ZD z)@9hJz(4e?gsE#ib12xPnRi{C5!028kxsy1M^cZn`vxN`ahtv}&AZ;zN=Ee~#HS+j zNtnm0h#mvRRShqan09M_Fpc8BNn`ku3fle)w2G&xg1mOu)DkwnmLEZ#FPoZvL^C>I z<@{*AcdOa0p`#SxB|p~P9-J6tqPGTZJPN376lF1H%}AG0G8R=a?K^o2S@qfUMYCjJ z+L`!0*^6FL)0u5_KrEn~^DAbSNBDYF2DO$;v?EE|0xlMq3oss6W)61Euv3&ivn2=Fd1+d?gm{u?Rtpl0^0ZE zyuc~O$3+;xhwMAnb$gpoNF0G|^gDd5dxX{Y;IhNN{k+23q>dIP&3XsVlW_;dJT_zH z8lK3M`&*t__pswAUA|<@TRUMSr?|g?r^7p4#u{t*A|oFv8Y51UBO@Y60B+o(a>FM- zq9r@v*=^Aq$rQD`Dz{l~mJgbm%?Fp3LyMs9 z%omYe0-i`|3GO01bIWA!?G?dy={h-c29xS6Lcx$XlTC2Ztdv>z5rof>hrU_r-pY(e z9j*_PFRZ$-5^Gow^ivX%nnrIEimcfoUa^EIB^BU2DUQRh&dBoJ;bZMpwEzN~ZGaUH z)#4Rx^S}Z;djVDkbUNwJ+}U;b?9r`&Q!Yn32;Wc9O4+xOj$G`f>8lABMeF}YG?#ZR zt*puAXzDLZ8|D~gvn@^$9nm+7rW)KP6iVp9eI!kc4ryGQwtR~BTah_t_3_>em}iS( zw-_{N*k=acS{p*W+@CfMhdyIqQFcasRhA6}bU=ymd$ybfacsL7#P1^VEGEzC(Ocg;59y|FCWpOcJu$DAtyNEd7~^IZpP>-$_A>VN%B?(jexB z1m#f=)d%d5#r7PPW1HZ+Te zV3`vhMn5+1bloE_;TBIHnmzx11ZU}E<|5?|NJo(s@NX6g!Lyv(r1muKUEH%Zd0f)u zMC%c>K8eTL;pXp*ekB=w-Hp*t??>lgobxJ2;}QKf;i75%MO7l3S%pib&d=QOyk0hQ zafV>k6xJ0)=QOV0zp`#1F@tp}(9VZ)#T1NL8N=vet*nNphBR#$Q(=r{4e8qGTuB%i z0=_DgFTWAvj=wU%v^SNuH`A`yTwJvY&#)xw2Sf8wbUr9hz(KL?5IPy16OUmIj0O46 z4#W^0yB%iM?OrA(elgUq*-zp5rH!XL#KJU?Jn7X#u3n3#jyb7nQqzg9_3DhfCDyL? z#A5>)951l#^Q#v+T2a7pote>cB)t+9?o#PUO1e^|YscR-dt6p%Xda5fd?Bf{lKuT4 zItv)|T+^zBxvT4Z18@Gnj%k@S2xI!*LAhY+emfzp!bQI{x1u z`x7s$b<$f@2uSN!VM)pmHO$EqW$i6|WTqFN4)_v!6GPr)=uMoGNunojO+pl&-Dd7h zdaI40o-=NzcSp7YHr;AN)b7YJPT;n}Jm%FkE-RnDNOJOYfN07;c5RtoK{wAVH$iAh z6vwIIPj8vEB|XX?Tv}mDua}0ypV=~d%TTCRJ@fJL#a)C0Fvc7H*TVDKI2XmV2DfjB zs`Z*!LciMgJL_KUmhA!P;a3R7UN$Zc+@(rAkmT~38<@llOA4JgiUzBBanfYVzCk1p z_58=WWZYJO&oKbO>W+s(iIEFEl+q#OB3AIt6R`RwcG7N_`u+jZc0Pyj8U-tV04q$`GkqjEm2RrF)N`AToS&b^3xh_|5i=xkG~cBod9)pd_N`?ycO`}83$Xc%#jQ=T`+SQU4z zy`?$$4uxCWCr`s|U71-rr2i{o&{@p2zGrm=bAq3~HQR^xXL{5?;$==pTQV7de-A7T^94C5#oZJjyn)hJC zY|kzMF=7ryr<9BDq`4?w3>Af_*c_+40!4QTBCW1c-R>3lQ{7}&jkZYTMz_!1udWYh z;>G31J>+~rLc;uqVTQC&n6B}Z%EBgc@&MlWM6y>KFDa)1I)+m(t?V`8)Ww>qB}U^~ zG{vop52YyaPI1Rpt6Iue(}im4^pah|1&nX@k1lUmU0E#ckWh4j*~jCucBP9oRTrr) zL%c|$b2g!Wn*DFiMdFX_yYkC)h6QLz(6I}*xFOivC&ehGO)w=iM`$;tP`i;r@1`2) z2Bsml#@T>jvBcVWja!-j;_Ov5!ae3~h9FyGf6Z(&r=(bv3#GHn%Lh@{+MeVyw-VWU z#-7=pvE1_OCUPnWN?mUyx*qf!R2LAgqKyJAX$CY~pWOPimkAZSQ1Zhdy`3mExKN#O z;QJ{}*4Dv$b-mY`Jbm(6OXoH9ye;K#0qUO2EhamhJh>^=$sCAXBoyRG-|PKkj{K(H zCXrIM_A@@MxnR)g<5uCdb1f&b=APlaHu{nw2=LQlLK z2FbYFij3+B2(53XAX3^8<4>=ChT};~X6*U#jU8G9yG^wkV5+8~v`O4(b?=xCRRUgY zAbSQDffP@m=!HeaVndqFH6q11MK?)zlRIN(eQ z%EuAeOMI1vQJ;=#1QlD?D0LBCyhh-OuUM&%#8%UU2FqFIkX_LN&!G$9y&w;pIvWrI|Z@54k=}f5{^=G#5O*{gKSiFH{T>th-t^T zZf-kYt%;x~Y}|h_l#<-wt$d_X8>hilQTdZf+9mQ{H@`x5JcrD{i<>=S5YtusX9%}B zpz}bD%bN2V)OTTdGt+y`lRg9C{r@mOi7qFY#uD8PI(IK;qc9)86C}G;Hkz_=*&3B2 z3Q26d(q^X2Cl?6F2a+G9@26d@Jnfv0xEuzt@c?jgBcE7SS{i>1=Byd`M5f)#)6_ls zY-)jBRJk$1>3h&dLEhE8nR2{b@-pOSZi!1gL-x*(JC1T@AW!wGm))6b?bGR!O=RIH7IjsMk1 zE2-J(b&_Ifw9_ySM34Ed9>#%uMchuKha5*auJR$r3<2g zy|?sg&G@CCtyXtnROxW-Z#=!+ja<`F?AJ4rY7xYZ_a)z-TRY+_cl)o~EA5uEd{#}M z`;S5+Qda{vkzAvm+~u~#$?3MG2GR|yu2uBGdl8e!L3Ef_q#TaXm|6!rn*V} zc!#a^(;6~kpI*L%td2cB)QVbN?^5KF(bZkwtAD98y^?9K91ShFyGHuUAMGJjFs2CI zZ-*9?;ubV5;p6PzPW+UKFI)BDlDle-l#>>etEo2YPAnalUW}-}kToj>s6XLa)1Q2~ zM!y6(O^Av;nMhleDDjyk!rLF9&TDvGq;my6aXTg%5eY(?ir2<(0UuuT?(~EaXJVw! zz-@srzM?RK*U~@AkdPJpN`|WGy6ZO|S0AYE$&eUt^_LkUW3G#5$Y@-Q7AlzmNJ|UF zOo{g!a9xEQ>N*O6h(#I+?*St8;?>xiF+tT{MZE{pmt`56N}=+p%Jv8!X>ZopDT%6V zKgb_!k7#l<=;=!OhEIocRA+u zzIgfc>WhEBRabjWr2+UXd7Gv7+KyIk(zz?HyV0d|dZ&0A}Vj(??hvo(T3 z{^!BnRJyJA4`v&G0H};kIm!*4ti)@Po04mCj#=@Z-VAN;b-bsSO`#^FUl3Bz1fw8I zX0oem$^^HBcd@wVm=yO*OcxigCS1bpWN(~F(ULrl|B%NFdD!peF)M7|{8tS97Sg5~ zA)T8HEj5%T$G7|)w|gx92K#YChdB|?ra{Ps(h?5Xn?~-_Jng<~c+bxvbL};56*>cX zm`j|SJwdqfWf_l3cS}{{=^dQu zz2G^c!Ts9@bIQNgyf+;JmaA) znV$TWvtL}cYRVH&MepwV!Xy|*w2S~OZt%2$yQ%boXDhr zBlJlFl-bZqol#+9YG7o*=>_NjxI1MP04nO4hjQnQ_z6hRbo?Mdy13)oKU6r}qKoH= zDUW4~DN?M%-fHb|U@I1w;@2j3kn^^gbcd5-zht_vcesjJ(Thu44W*7PC40|Ut-uQ< z=H5Yr2gj5^%w2&}cHgxIXxDqKIP881L(vM88*LzIrh%W2zLz+EuBI6aVRW?26ilSa z1i$`!X|(vXWw__gzzMWh~1W5y05CXB*xVkO6&D zOh&i_!PuX}W7Sy-e8#Vg%2NOv54qY#{2-w2tDACDS`@|nv{7-()TrV@dQ{s)2L2m7 zY!v6X1U>NJX{7j>eb?0WyoW6^gJn~XQ{RJe=dujEZ)l`%OJrmShxg=giSX>uNS}{{ zBJ}EghD7MABy}}}t9{UYG}Mamp0c0p)5#d&M`Vvfx_`Kh)M>Sq+;A%auG$K5D<6gy z*5q&q?=o5q?));OT%d7lLGCf^yT(O3%l4e@J!H@a>8TzV4>Z=Zh5Ja|!T2gucfZg{ zEwKK{hW)&?!z54xf(-I6I>RcNp0S<_r6LaLp{kW3Yi#3^Q}7fsHQU1ibF=7D!JhU$;Lvp zr3ys|ZJ}E=E#qNSW|lLu6zf77a_+sJJEd@ujOcjCgSv2j$0;$FN}8${D3b)k$7 zpy+iN(GAUXBLnV!;$|9I8AZ9s7sSWCs3E>jh|dw2P@d7P8M7MY1PaRLzc}P8C_O36 zl>Gl>Wa{%Da5JkI*~-miRNYKH=L{mnhKBlYyLI_BeOD8}#sL%V!D1y7zMG3)w(h%T zmpSkoz^`dGrLctvFs!!C;8Gzr$>OHz!{^Ny7M=lEK&_fKqNlW=b6A51__zh{6vJxx z6U{Tr&q9w}C=<@AyDdKoYZP@?`YKK^<6Y^(ztr%q*-h&XXIn6)#PHn4EYK~#rs}{t zEX%LaUE$W(J=cvGrg6X9PU)f*H%2At6pB83!l8Qj@~i#41guJ@G=cy~j{ zT5TI~F$&DAb4ABHSCW}^w8q1>GHuzX>sJg}uxv58X>1b?Fig4k0N2%_!CY6E-AA~t1id9VVsC=hZl^K*{rf*?L2_j*q3uO$t^L3qJ53eu z8U?^8Y#S|5f{O1R@(MxPB|DqlwB3i(xhf%D%}_d*nr;e7hm<|+@@ruNYo|;xgcRH+ zGr&!n6?_D4OyD!z@TH#WEd7Ud@aiSYPzYe6=*1g8`cyFbdUF@?>y?cW6#bC6Q@}kK zZ6j_(+y{u;M%=rJn^rbM`t8I`fgAITgM*uIlx>8XR^RZMPf^jb8$LV_N^bb@Jb3tq z56^>HiJFIK=APCKrMo$|f$G9^$^zdvE^1M<@NO!7U%3vcRcP)fE(DnKq|hLp6wXT> z_F{$^prciZkP?X*sBA7M?|_t61$vZOer=De(&Y`Mvq&A7-aNSt!Q97vpJHh$P3o#J zLyJxig(X=Yb`>R2T_q4opC%(@dC1k8GOFt-obE7E9)fZ)O+I8;4s>ouYm4V1VAKtz z6v6kL6`dOp?n5;330CRz0pUTU;zE4J;H0aet|PZCnI1rAeV?Cnod@3%-eTz-+?}Ad zz-QAMX8q~cZq zjfPY|#gIcRqe+|)R^u%Yf5HR25ybxp;sw8GFOr0C|3C6yJK;%#@Hwxk+$nGhkTO6@ z8VxCj+R*{wd^C+4YKH^8tg~KI_o!h!kqzIZ;)&0GF@zK1)~3=CT@UDQ#uGhOzzV5M z*Hrxwo)CDz9LdJ6X?hh;+^Q=ecw(=m0LwXLxWpmJVD^hd((!*s(m9)YL(<`u3jMx8 z$w8wZ_!E+j|7J-CpAqJ7$Pkqv=~NO)=ixj$#R56=S0LqAT3kQTpVvF~$JR{W-zRIK zEmT(sAbhfsj2*#JtRBxWiNk!9(5Utw)!1MX=-r-v=&9YF&u?)3H6*k_k3)YCp}RfS zsER?#AcpQbZ^jq|otxv7^Y%cz$`RQ3t{0hj(~B2Y-Wh*=&pPIBh1nxl$?qo0!qA1w&$lvN+aZhwxfMk%*ah?$ zMQP$f{!}MbDEMfl-$MM#J8VIMUnR1rhtwp^hnns~Duj|%8*2sRH+E?h1nr?m%>c*| zoxZ}SAe8F*AEgGj0`rvG)d|;8>nh?x$|I}_)9PFS*uZp~aKp^0yUU-2cAzdS&m>0| z6F2_aYEG3}no6HC1(7P#*iSj1dzAQ)qDholX0%>=y>vENw;9kq$tNMz^%&11Qxu)a z_f(L+{}|wO0W-(bU@Evawv_fHd$)lL?+)cwsW~#G0Er{3|GFu@Deh!%St5-ZcBgN1 z?}N`gSRsz9vcK?BMalc*45w26@$S^!d_2p#fd6-~pX?s7`wsmUw5eAd=d<5lF4<}J zeU&oSf83PXWFa~KHSUw95lzK8qEJL6>@zgr1Eo)X-eA2JhM5Sw-YVRt7t%)XGi0PN zjYDuR<|%?fkO~muPElvvYhHeRH(>Q{qU{t(?l<_< zE(~etbO2(R0NGtYV&Xj3W+ip0CA>>Y7;kkWTtaI}it)CA}3$QQ_ zKYm67rOS+_;_mXHvd5CL|6RFrzE`d`QLdJh`$xc+g@FZuwZ}Dq+{Swvlf4gmX9PyT zdtt@x6^j}%+=ELkLNXQgT}ZD#Z;`& zGfngPAhr^ZjB$ds_v#RDkOX;3>zv!P!O_EuiZw@$5Mr7L@Gpx$p@O z8<{D{XjC{Wtd4A#IYwa}Z|~p*PZ8uB>8E1nxB+QoBEE&htL54u{z8INXn=4&+QH#) zl~cG^*Lk&1?y~e=#XM@Jr{4&CS}83vhcO4lbpiiFPX!t=$0f2HaBGk1g9y0dAr1)2 zL#>$xtigB=(^E3*RowV+Zc)-4_?jW?_)u4kCit750e?d!Cv`2x>43kv4@$;(`$Kc@Rh3V}oDI?E z*8dys<|aL^UfIqqAABgcIQ>6!H~N34$Aui@vDK`cRFIHA(5Ur40QDQXb^||JV!-2} zRgOUmsa8%oMBY4n(FqS~rEh3@ju~SVb9gGTF@Z16^U+_Pes^w33Zck88(=kOQ@b$@L%DEdYfwpSTq z)L73U6V?!4z;pAA!Q@6wo*_yWY{dLqrpL%_L0SbhqQDmJPh@@jH;-fLLPa;n=tgX* zGs)scIgO#lzD7tZP>QV)pBbbARE%nz5Ln2~OkjMP)VSG@ayMlwxg>MvHRLT%$m<*+3 z|0hO_8>(U~u@8!n?i9Ax5SNq8?t}(KdkRIh#Ago}JZ#sH#C?g2QG=&1S=IdK`&F!h zu}HsR7^^&->q|OM{KY;^?n2iFvmpa#x7v}9;vOotmlO10c#P#5wff(RY*nYsIFFwsZAUwfU0SEK* zt+>SbhYuKFj+bH%=Vz$>(nf)U9;07? z%-qL#*8zjhS>pE#zo*eTl|puw;xn)h7~SYX85LlEdu{1@;J$M4>?oxbLsS>%l(dA; z799)e=&qdr^M67ZzMkbeuZCJ-&Yi6hs4*B%1$Df_$G-%;A!D5$VYCK_$7`A6Ih>*v=8HKl=GG<;l~)4giMhVy&%#KtBNZ37SobAp<0qz|p2(ME zHY_20*V~V?DYim%CN8uQ-u}JE<3cA=;cZd*cz~FuG8G=tnAV(Z;vbqLNzfW+-~fjq zZyvPP9sqpqxdH#?AYk-MCLBAFtcl%#e}L8Rz(4T={2MS_nt(zs)$O~wQy!N8g9-ZB zb3;$~wymi&8RUQWP4sc64QmCl{O?ZC$B%6fyIPZyK>l|pLERJNHWcM?B1hZez_HO}PhaeD?CxACpu)m%!;ugZ+D*b! zY<$;N+?vzB*Wh~k5et4sor>84cq;_G-V_WQf6w@aXn?Kg}IsO*-%QIy{L!L zEK_SnemaukMMAArLQnnz$?XX~6NT?L1}TH*Lp@$$3MW=>Ra-_UJhXpECQ?%yJa-!w zplqW=JwVn!F^$8NkOS^D&;Ju{DdH04UN+!T7n7OsIn2`B_!kC=$|SjpZcxTkB-Oh{ zT=$q8p@&GQgXB%cv&wJqPg;Zi*XXDI7by!^{G~)MY6KWQ4b*~s;T-=M{}7fyXCGPe zBR@z1RQ)QN@YuhEa!mfQe){yieslPOXDB63cRxvoE$Ck$T4tP%f^?Rf(iNBg$e&Bn zy-U*l=%(_l-%EF0kJHtVbU9cG0v_uw;I$0ULNQCU-RHk#c59yZ8-O?4#ME9Tdx79v zFkXWhNxtT%{(EnH%~*d$$!;icho5=dW!h)9JIvgXxmM3D0(0fXN&Fz7tB;rissaI5>B;Z zZuHJ_s(Ul>BV|W|AN@qX@2W;o=i7j8x_@@`e&DUpbzH_51`$ zqd6bh1sw->GFL?0UxNEEhbS~koFKGODZaw^*@X@n9jRDoKaQNMAFL3^Z=&9Nxuqnv z0^<|q-Pub%UX5)~T(iFP($tconx)>^3E!EesjlDK4lQZhytLv(BCL5y&ibXR^AoMp<&pMtw|y9v-$WG zNkL2Tn6?+@SIiiDou&oR!h4w>>iql)BR7!}-@!IM@ELNvo>HX6`?wpe^R7Q9 z3~pwu2ZgQiF-lS-E{H4&>*Ke8`%0f`#V|uc;bN$Bj>oQ>cl9Onth4#+)S|p!fbx^1QEIPUuiE$@3`DgFp`heaI|D;Y1&+=h?GK zA2+J|307HSM(E?l2MoA(Fi#Lfa=}E&uHUY`%4^Wj-9{VrH96}vuW9yOt8um&3n6|q zx;g$N#2?qJOvG;}{m{Jp+8hr`p(Xdm1JDy+R}qzrn29qakKMs2s*bQYbrbPlrd zmK*jB&Bn9nItlwE5yq9O+`Acgjc!U{XRpBhbia9MjBE7xEAW^;>KWN@x|9c_dS7Bx zQ(^Ri!IAM>U~KPzu^sCHzK3ZlwUMz^V~u2NRktRtj&O6Zgu~-oq`7%~*C*dg#@Ejd zk8g+R-;Hk^#&_{|#+TBlx(ZzA*NJEQ9QkE6QX ztd430hx-HDR)8_BB4e8T{V{E2@R(Jyg;iuslfOTvp+tOvgJZ=pKD)1(CpQJ*zR7J6 z{KaI=4d!4O8QJKBhTE(%lSSHn&j-Tspv*Qy9muad&J+t=>z2x259^qXsx}q!l zbRQk#(huIShe>X$!skn{7O37*avj@}Q|*^y%lW%4FQ9=sMNP_a8=AnwMV}b}cqZw7v&F{XLgVz1NVEPfj#rOI?}J9&D)#-ydKB_nT2# zY16wYD!N-AGt$cNy#T8$0!N*OZ?Jq}j?qm~^&}a#=p_WdrsrM7vWJno&BU$DGH=Zu zhPc=5j??ukQ|W!zA}fkrXjGJ5e$`6$)jw)jezo3Ho-QV?RDkfzJHmgDsI)BRew? zYVzD^%0_D5BYwH1J;3H}9*r%WO*@qRg;Fu|C7d(MxLvo?MkBvKu^U^qwCn_=`Ud3A zj^`QA-iX;2sgG=eSR8{>IQ_hDdxQ@e;;%-wMR2GZ@+O4sp>RJ=(=WfuC_~oS#PVMQ zPk?Q+vC5kX7q-&&5w(Eh>5<$=G*WIMrvrcs4-gGiPx5#CE^a@AR@e$7th?SlbWi>hXY3@LPOPq+kfXLjz zYjk_^$t^HH(-wHK#uTpy;yq4357G+L@MHrMrxZ=YuNVw_C%J#kquS|W6X{ldC!M(K zyXn{)>F&Fc4$nmx=20IS1t!!wnmel-vdhm#f8KRBx%XkJHOP%PsOlw$&NSUl&NSV= zD@%VHh0j4_%Z6(awk$VvvdMVkR8yyiriS8J^anadFfGgKgs^Th@B8ojfbI z7O6JFj!IPG-n7Nm0)YK+YyOLo73eIsCN~HmnBJnPSYFOG4+6LPq&GjJDW6%+of&XS zOrCd!e998j^C@UTQVKm`$p>OS#cIm$DWB2GgFnS7O%(V4nc&`qt~QMb?3kI-MRjrh z<&?a+JbG_QbBa?eJowVQ4^UnBCC^J2^zTbvcVb2i@)1pi_|~nuf~)HOt;s;SP9^>- zo>DE+i+033WN*{hI6p#BHhn(2!mX9mZ>lj18l(+6=BP zv-Ns|3F)vrz1`xbrLOZ9Nnd6`bO(nFxki!NW)uOMpVBYC&Xvxx%3MGACtCz+P#JGQ z)DXVRwG>>%Hy&cXYRdTIeq9)k?t|lv(jOz*T;#E$!NI8p!I&1kWEH97;U!w@)uH{` zLw2sd)CLphP2b+%XpQNcJbU%?uFV1oq{)Nt=oxFSz19Nc`hJiPnmn2M+N*XbMLiey zW!^18Oy|{;Z(l)8O!T@@zF~7S)Vjgb1))^*3kV(Fm-DQ-;3^y4*?I`#HvAuX$<3A^ zrieH3jA|R&M@BnNz#0M zu^zi*$z-n7U>EW!T&1SXEEtFtg}pHfpS!2pu_Xy&zwy-?r|)Ha$_deN$8_|i#~q}) z@h+KR9e?-H9j%li%Ia!LlV_`5Fg_NY>L2NMdhhbHgVb>?BHx2d#77-6^#YQQ#c#Ld`e-^{l-AY^8_cyxnj7AgB~DCNeU z02puFlLGmI7e=En&h?c=Ed#sHgBvh2p|Uf!zsm_mvGuZEMqlZX_FJYPp>J4iv|c59 z!$;Hp96xoIFO^pVba5D7K7`clSG1prBY!L8V8TN--6Er#upY$7M-fQOS*H0Y&-77( zx2aV&MQTr%lGXbU^-z!o{(bT%RtaTjke={A`ho;T z`N%pc2)$K=(x@Wl+#YBITJj*PP@L9~@u# zuj#&Afp)+Qh9|M%v;ryUf7TnaY37-~v<%sNL8tZo1fR0#^s+tF=_L`~n+051=%?HV zOJBykI?qN9(0^I}QVGPMGb!=IKTSV${-?cb_}_lMx*OgcyqB)Vb_!D1-@U~`O6v2j zWoOK5UqNTNxLP)pjKjZJDBOp7Ei+!R85UF2X|)Gz>57zW*iJEo?@wX*9hAcEuo=z* zEL4erXLc=VPKFj)^{+w*Qv@OVOPXgms(eLbB$PUU&KgNAi2ZUCO4}rUxiYqg`r_SX zR?E!f3x;z(lvXQV>bupr1-KCdN%=AJ>1!y>T=eBi`F-jyBVV=|XEJ{yDJ@0+?7PLV z9q&eQnn51#5&q638_rUyO}3XMGA{sf8QiWQ>e9xC+DM&WXcy5x46KCr4gsYjr=H>K zGSZ0^n-rEMnqX{|L5*=l33VH)*b>xPw0o^7U>AqDU@-rF(8TNXPexw{ zirM5*Z`WG%u$Ghb*Q08g&6?gT!mc5C^5eHRLuuydcF29*EVDy6&0y}m0xh#Nv_6d6 zX!o<2{^PM=QnnP@^;-ot#a}oqg{?K!4}EQ}vW|9HJcy@hG*7~H$Kw+NrM`&)PZ zdQnKCQA)}LB>a&XbphX@(+}edbr`Vw3viDuJ)jq;Vy9#WN#ekuVu$=7v8G?vI{*$G)7?@~#c$;00{FLw!DaP8sK)ET_C>~LUAGEHg0 zvcCsgWh<6d%Gcp);5+Pi$Lhq1?dB31xJ#=lZHYXOKr;I)ZkNx>@GQJ5kKJnC!jJUw z-V>!=7AUI>TLQ!}CrU?psTl8VyAjI8Pm~@Q^1Xx8h~(UzD#;bNW>ffXm_K_c6b!tf z`+SfcHDdyYcfZ{DhWWX_q6)5+pYAuw^pI7jX-Y1932mp?A1ayH)f&LNgXA%E?-iAg zL}`ApvDIu|p+TdHCyX>F)59e`l~Hl}UMLe=N&+Yn@yS~JrW0@VeC_L|80%}L+csZB z-wB;0 z$yrm=lnP7GaKeMOsrRWT19wF!bF*kZO&_Dv6)rwERpQM=ipHU6nE*Ly`r?w_om@}W6sxZvSNu>36N^(tfkjeF;fFP^@p!>hUo z1=rnbUd*SA(D29B#XdOca!4n09d)L}*(Uyj8ex;M^7QW^HFB*@#{D!Sl=K!-lHbZ% zH`<(Sv%E#ED|jn|`-q%|eIuCk76ox^eEeI3iuJ8849NH>wC+A=9lmz}qDaUx(elWVsX5Ev^7M@SQ~U$$&6S+nUFu6;3@68Ad78*6L~UCwfX+44uvso z#vC2Ck9T+QqFF?O|4#iw)WqB(s3YGk=Ap9Ny~sP+7^ELma=68WC;r(T$mff!HVZ}+ z(#0E$63xULOcL{su9o!WDNfXFhq8unzrzyLsl59~IhpI92X1xB`tS0(p9-p-n=EcI zrS_noQ1MSW47cmGy;mbEzOahiZlI0V2r_#8Bf2{0HrnDB+vR3x6GWRN3n%Srh$W|qeF6Ms8zZVN36Or zqv|Xm4I{aW!|Bdi1&&sR<$~dPS?H?C*{G{=R#~6ZsPL%vrEpr+`#(dZBCOrvQ%nuS zBHEd`#CrYBXW7TO)bn+E%BktT+Tko>(lbSBS%wHat+k;!^la!8qlluK+AE1OW5Dga zYX|~$M{<^Tp+KP-W2Tv#Jjm`_BO&hCqlO@7?rMNMVa>iPdjK~*gxtmU@y#c~ zDRUZ>(HR}iCAxeg$0qXqz`q1?`nqRu)YVLANfxx^ZQ$=VoAzB95&hrReti(=RgR4B zv|1?qf!KK~&QGFT`rDkQQN_2beOyK$=6WDBzmyxv|AigWas~K=M&}@>)|m@*GLNzrHmf_=hn}{;ELkmC<%?K00NRDZ!s{!zxxD%s$)~ zqX8o&%Smk`xNJJ$xMD3D%hLC4G8z!IE3#0=G1~GOUY8ezahr`_;oV+EY=_;BI7^7` zaC9@KtjZJ>Kg|7In!Sh>{aC^`8vaXzlnoIoWHoHpP(HsvS*Xwh*50cdJh)#lu2=+6 zp?M#dSWIqye$U(hC7x$+{6xT3^YM&)KeY#)<&{hi{hCdXs?@ZVOf^Yc$>3A?pW`zE zU*KFeE*pB}lqrZFO7RuqkUO}uXj1FLDfEP~p0mb+Ye|Q(MX`uy2-m+r#(FE&O~FhA zY_-58`=BRn$M6XLpXHc$IXAlCxtrd1<$u+EpZeM>06r@+LMr+Mx`NTr2cEGRREqp=K;&R&%F2YnWgS*+)Lu3%l`&>W<+BlLI<{!yFsOp14r8zkY=OM)dq>Y1Yvkli>u55KUWo9-e4 zX(((E=+faf%Y zBh9u1Jz7s7=D!T@==Kqa!80n@@~lNbOnNaD`i{Mh53Tb+E=?-J`X$mo?c!L`UTD{# zhSs86MaE^g-MLU0DtRR-`85-PLtHvghLPsQ34U-DiT#u54u~;0C317i+>SIsVlzEm zCJZm+bn9^((n0*<*w^gHCE+_Qeur%b@PN7Zn#dO=LLasY8a_(#k}#S}V%2(HB=w|e za4UYVg}Pi4i_Y;%g(uY|=MbyNzbmw-Al6yA4_ks@N1;hY{dRJ8YS$Cv-K8h2sLOPPnue<#E(d`>e8Z5o=a^A4bQmPVS))1&_Gn?6 z5&B(XUVa5dvBfTI4HIihQ?ZTZ^m;^f<5_~zEaIa^(V*G|emh9`8RMtHZBWt{%{;beha8o}s{9eb3(D_y2gVqo~-5`vr4elMM6GzsFTGVUmAe|BEr!==f$X z#%=(5K}G*vzP10NH74?L8+NUN*5`YM`NVgP%dgNxmYMR%UcDP+8F8I@-!0~s+!KCb z$VRsWW;i4ia12@;EurR=miL-9LKRwCeoG^k#(9J-99EJyxfMV&(`yU~e)cThH93;| zh{CJ7Cp=cJj=1oeEl48kRPIx~|2R9eSC2H>I0Dypi^Qtwp5YcyXx$Q^sTe|LWE~A2 z4ju{S$JI3=DmpD_4EQ3(#xlrzqhxA`AK|17;5Jb7RkD)buDJzLzZ%iURUe9C|9g-- zTaS>9nRi9iNmY+%gc+e zy3BOY+F!N2+4AKIaR=R%l37`(Nn$2{S>|pqLJsP@G4qYW??Z!Xm%V*-a%hnchh_L4 z<~a{J3w8S+(&{ zH}0}!A3k+JQaZvhua{nARuEu$I zjlqNOb+Rr=bsbLrYgOD~K~(JeQ^$AM(Yz~DlG&TA*}VeocvHV1(F)Z*;Lxb%1XJ5_ z$@0M^TX8-6TaMJE*v)9!`$)idc74<`rCa`WNo8uecB`A*jv;5UJX;w|rcl6s*y{2I zM-JH|?33qMtyj2J2e=@Wzfy|*!Bz4Kr7#0XQEf&1?4uN~ereWHd{btzRnRwirWuxB zqc$N0?VTJKi(J7%bvurlXoW%d&A^R-DEI}4< zd(4@m3U?-BoVXKOLcQ{keYXA~`*AKXat5PX?cINH061BF4^?I5-el$jJQN5V$a|}U zvl;dNGimBmzzHPyw%Ai35n&76J2OOvdZjk8r*(hJgIeg6o{71ZnTA2G`UFtwt zvW1Gh(zYg&ycxBviLZ&JA7OSTTTmePA8%^%HZIt2e0GG;KrclZq;r8H4hREXQaH6?9GYT9=W35%_)px*j->p@Kp%@zpN!rgJow*zD( zPh$5|>QB+r^D0iQzt_=*lDX{~m8V?grK)Mb{P+Yn_$p@9aJid#E*J6l3T;fZVAts?uNJ{6v<@>WsO(&2qi6}WBn84@b;0j)Am=dv{+1CQ!$l}OA(`Z;c# z@5#Mln;;*KjPefTAoM`u?u6SDcPH#IVm--Bb~)jO>un5r14j8?<6;ov@K@(w#8#rA zSC|=*+j8j}+O_p9Q0n0n=}B)OXOMw-%Z!6wx0ST?n)JXRbMr-Gi=DT)S(h|g2H)gJ(~A`)xCQ9>W54B|nDaztNztuR(gV;Da)gPb$Nc9z zgiTfotvCNk*o^S}WnK8D5|mCb{ZoW$0yp45aY1H+-Ov$0>xy6cXt5@LH8KdYWo)Tt z%rxS1MyQz4zzbMsHN{Qm`*JY+LH|`goJ3PD^WtPOkDhkFqPb-nLUw5lLW4gXADQC* z1rpFAcWQYpelG!8Z|i*c#=N8d`?-LOXyUSkE>%MEbn?%lX|%&Tl|N zyEEmk+kHFB19srKnx|HDRoqF+#%0L-C^93CJRNr+l-4~|&X6r)D)ulyNoskD(&feD z!hJfLwqA*Oht~ay@+&oeiWH5h()_8JE?2ePB^4U!M2jZ>5Xvi6cQ-NciLo_P+&AZ| zBKaV9^9a2Q{p5)u+x3quq06bi&~dt4yhYOdx2_jB9ZYMBP1Y;->kF>TkIs}ao!zG2 zcRg@4hnwVLQ>he#V0MCpH@-UE5o#DLvl@yPFKI;9i&pHKCBhJ zQtuhT4WLM=n(k$ggtkEZ#nU&mS5&@75{!CLuxg(H8a>;GPK&{NeRw^sDEQd=*}EQJ zfA6lbFcatOx&@v;+BFWIb9ddh<(~aN-ZFdtY#+JN6aY~ocXmCn>nFY)Aidz*D&O0( z_7>KP?Uhr1Ik0<|PyXP&-M7SlY+iswpg^-jMG}4X-q7so$C~b~e!OW;_1Fw3zxoz< z&aEB?&xflYeCM9J``(#d_v3eV09GCuT6-%y8s&-Ev>D$$xa3fuWn~@pxepEXLmhnI zJGz3aH92c_iF=ewrx}A(jqnJy*gEfO;;e_Y^D;h%n7?xNs@GQ-a**BN5bfgr###qo&?HLPX@)?;ERTzPS`Ii@q@A@=vW z-phFZ&}yjT=5qq-o-Wiln(XlU?%u9?b-=a8(Ec^sFg4k=xG+c)VeV}P9;4G zoPc3s*JzN4*%6wXIHMObUO(NcEx3wTbDatm-TWWY{W|~6)Bl}Fw=BxR$_Kr*XAaz?nZ67Pu^kB((kMTS{;{$1?#cvCI z*8RyPqB;Hv@^{7NU#bxnS=u0;jf(!;0yRRtg>QKm{4>j0Wn{dodp0tlq4b}{J|*e5 z;_~c2v<~N3O>)!-KeU#B94z=}ry(2P++e{oCn$RPi$xgm0VzteXP5AP+3o?8) zk&KYdu=s|5Gx*j0iRd@^*9YG);BlHhFA;k2VEto>?-i=w3SGcGNxz^%b;nOOcmFQ?cg zZ0nG;rJL=&T;LgAqdK`=#YH)i=tsUH1BK`<#jo9g-~Qc(f~z@xtQSt{$9>eJwO69k z)*J?DB2Sgu8?fAnM+NzIN2(+EE>l00ZhF5@HkdH%-m5LPx&fYMaG#iwfxvMKSGqQK z((b6V4GgUyqpspc)lN;%c3S!qmfTQvvcAzAz*Z9-6gpF46%0)tBWI)bH2yG72UHDm zc2AA4USH!nYU{GNsisn_@6FPGZPj#PJ*Yx>sQEf~RWP_DSWL8`Sf{K3i3D1vt8r

?GxkxhiWF%1my)YeF;Y|y&RKCOt;a`8P?%(8A z4&A4-zvXtXt=iVZv{TY(ZZYAN@$J;=Z9^$SN;%rX$Iv@9MoGWTEND{OA!QWb?Alq1 z_u(D`POQoEIo)}=PkzeKdl@8Ga${!l$a=||Y!0Zq3@NdpRcsaH(HyT+ao41wyDm-j zE22~Z;We>N?4#9qR}sFCZh?Tpve1B-8~YtHk}ZJItn3xbkyo;oT1PIb5}=lhWE9Bb zQs~j}E|Tr?8?hlx*JMT2adn$I1qXBTYm3=Ubtx>dRfNP0y7zJeSv%OR@4ejKRq14I zBl-=zj_GbQ_FmrLp}JHla7GYAsrSy*N))AH=RZho=n#qp&49()Ihg55B{v*BIUe`_ zl=1iseqQAtBTnGTw=i$VFIqYW2{!mR({sW@TiwitQf!&`glBu4Ij5E%4}KQ>*ZY`$ z$k}uoJkMK#dP~&Vy3j6zJb9g&(R^f7ap9BljNDBrlPrt*%}QM)I0_Y>wq)A^3HQ_S zVG8l71^07@p%fJm?YWiXg^h`H3*(vyId9P}O0!>B>onDw`vJGo8xrxTmR5}b$I_w_S570p%7Y!B;Dtb&c)&zj83}jb&q|m_SRp5 zIHYM+$=CQMIbFXRs+XkLqOYHZ9-+D(((}UD(jnXYul}XOb(CNG&t)qmS6j-B`?Q!> z|6=ual-Fj%v^;%W-1Yn9cRU>q2Qpk#t@>;2lyv%Q_5M#Omiv#WZr^1I zpasKDnYH$Ere_v#7KKW^XH10bnE8&T^+G~_d>qBK=dWP>@i^sSNH6C51nOLkU^QfV zv^Vlk01ka)p7r(H`iE`oQVAQoC7j!UZS3L|xK5%~{}3qs?aDlX(!AD88?hUol^&;X zD-V#Eh-V_VSThU@e@pqx>1VXPSFnzDIP_x5$EP2{p)dzE@NGr6q7-8L+){g)dl8*I z;YqUwnG>aqa$;qsN8d|MJ3XBIT#EM)=jNuk4J2gtk8#Le5`tU!XJSW8-Q#v5amO^- z8L4a33mQ52-`d*CDlbQJYk#ghuXj^|Z@68jEpdETJHk8W@UFxm-SH)J?Pc{uz%7#Q z%paT8ajw;=X9UB1QXqx51#s`Bu)7;;%rUK`{6o=1r07}TIo@neP2wlx8(vR=uc>r* zV`?UFK5<6TG&TiB{{82F2f3=w&|l!xlbg9E3eU`#7wfR}5PI(l^}cSrS`hO#1$z4a zq0EAkG?5eBxplbQ3h)_9^RrRPtA9B!5CU@yo~z-{v=`OYr6$|-7cqt;( zJ3E(ZF`rcLEt(}rG}dvA0J-mXjDSXjtZDolX-YJ5^^Vy2mf?QtwVu@1hzJ2O3$I+@sbnk@^<` z4K@zkoL0TB3g7iZ`9^ZvnFno%!l`tLR2GQ0gy>X_Eyv6w%8%2ib7MTv&YGOF+7OLr zvWU=Y`#l}@lK>qjbp=54Hewslx=vvn(|f6K6Q&#d9!xoQrXn7wM^-U^5BH`9-|q{9 z%pk>Pn2+eZVt%9Ja4j=HDX;Z>zh~2+EomWZcKWOMuJ)&CvL1B1dT)FE?MQh6Mk~`m zY$@SWM9&+RypReUu45MABKYUyb_x~bR#UhIFJ!H?Y07uP_~ZUd=@|_@S@c>YRpR9` z_iLFY^D7Qzt>xtvC`W_L@k6P!%@7w8@k6nZvO0L0a>UT^tZ)!2ua4HIy0sL{2xl9M zWIlB*KaxXs5di!PCMd1u-XvJ@47z#H=NqPt69}s;T{*q&7cZ%7|LkeuG`RzL(u7p@Jr#( z`*5ulxK{C{Fn5}ER8n+BNkt^JimxZ>yl%Db7U-jriun~D=>N~Xqu$5;cL2ii$a2tz z%sPAj-P~dt&w$Lt4A|e2QZCt$Zfnm+0OQZ5*78*BaO4}e)%$D~&0~w9O`d17+LASK znz%8XEk*k-EZ!3VsKYHqWY zn~n^gGHipm^mlRSn_xvho5u1lnzAWXyAQc4Y)O8k_SHkr6+dD1-nJQ^P_-GhYlxPo z<3L4G4fK20O(#?Vt~t981xxR>w=!wZP4doIr>@siONLIUE~=!YnZp{|ayp(9sLuxI zU&oPq$MLDtqWntTLZEcn=NEZh-ui6BXK>qfJJS%qF|reU^OZN?xjdf3oh6~0NNA@= zq~;?W1N}kHoIVa53XahzDUsoDeDZWb+|Mn}qXIw0_jYf7FsZT-YoJq~Q@~+^p2OPfDQ;Y+@Z^Bq zMzGj7PYl?TkR^VYtfk(y_pb5*VFA&8oAwR}51{%q4IgU(s==lWRHsS&0vD>p`s+V9 z9DW_SU-8Mkm=b8o`6v@{+XD;ivV{9!Eqwit%-M83v_+-6E1w&KwZ93e}Qj?g;?;GnV zv<>%<=dLi9WKt#67eGRNjkBShBM@58jb?m?(Wsou7PhA$8@bEouA0d9Y|J@~456)f zk2!jmYR?GO!%W#5*%#R#sV8&cC%%HQK6Jmsr^{)!bYqK-7?yC{d(ArmTDJqdz16%u z0d47zpwONlXJuR;x5Awo+R9X z!`~%i4AOZEk^;h-TH`={nwd{F|5wtISNwn5(z2Dn1U~0WV1rmP0D8af0XxO;m74Ox zh8gSlN>;s1hQGVq<>ebv;&>k6l3z`H|5o^V{55s(Mo|f#tMR;o_ODK(ZIuv{S+W*< zk1WA@^`rFi%ljdBpPX&jcNMSIOK905q4HjRYGO}x`i(u&Q;h=0C>;iY6BX5d!PTjE z1o`;TS~XpX&NMWrv+nBDj1XS0rV{D=P|uVg=KbqEkk zj7&!#P|Gi~9er}7l+coPO>?1RhPp5322cMxhdP(qm?H@05zI63Rv)FV{Mkzu*u}~k z2dC+9EMdsbwvIG=5#?BKX`Wdw1l4a%@v8k7e?GQ`TcX|rO4dZ~h^@i66ZfAw#|llql;PZH_OtMhM!fV{6(X zYFPcES-u+kpj8NJFFGpm4h#n7QEasuhWiszR3%+>R*uxGd*|anwi;Aj6t~D`C_-Z8 z=SH7I!~9e8V|~^aR_kS~VQJq#W816eWk=%P>{24<+qa;7fL#hUt9VG=JwF+^0>+Qd zspt7`=XvU`B*5*PrPx|D26YHcXrqJL=|wKYDxWvZS7zFa==84J^nyV+{Y`{Z#t*1B zjt}TGp|xFRkGQ|sf%45|=v^^@?*J{{hQk=YC}AJtFRsIW?KW`??K&JWMJi#I;+W4u zmd(KB@BPZ)<_sPR_(G&0viIZ2xO+mgLyg-^AH4a2#x*_VsnGpyazHh*|mM!;s)s=GC4DfmGkV-dqvTYDJaro>+B6ABC1eUu4Xba-65{7Pgc z?R&ikm+jtfOF{vB;!RI{D8?ih|lhErFi`h zYToV8%etdlwOx;rcGU=Tjob7wWGKbs^YPnbxQ~VGZBx@Uw#2!Qh{mNMb`Y!Z`8DhB zHOsHyc8U2``?;rGzhHlXZ@RyO(211gcu%&N|9j!RmyrvfDl`392)=pM&%=u$=i+Ty+sLhG z!0yiUY6VfE&SV`ZjAS23C$bs7LpT@#IgmvmwV&=Jw@aq%X$WrXvIkAk?9+!#L2dd$ zz6+;ct3y6CmS$&p!R#7rX6t2iPVJRx+pKw3K5H9pl~%Z3CEln-il{fjN3`nc z3RL&#`X3n79T_cJRJUmTEeYRmw5WRW`jL7H83|u}eQ=O5VtW?t>mtSkt{ZMAVA`Mn z?cCOteL9J>lv0{XFPhv)>YBDqZOP|e{LR4v-{HlrGHmrTozH<_Iih2W<$&Bj`*^KeqK@0;%@0a@i6@K^uiI zJ>Hp2Av=}=lc~fx;Az1>$Dh1V4|UDq3V^ns?ZaodANwCH*Ja_SSnsj!ATr@d77>|{ z_-2D|h66D_;6N@sTQ+hngEiZK+=0&>&sTj#55gPYqdj|7Aom}mH|Cn^jQ#0nljA%| zkEI;>;9LI-GGQXWRlKwVOQnyEJi^R=F_3p{)W$q|t6_lt;-l4x6h&@`W8?0TGZ?*P zF^@x3sgNB&iV*)r&jKfsuuPcTAK$R6S>-2pjuesRw=uVwBN8F_T6P@V(bI>&CKG>+ zIC2N4yZ~Itp=2x7u!hdtluW-INd`>aOuvkG<&?qK?ti%@8BrdnnUq)Y*#D?Km@OTE z*h%r3T((Bn9$$~TCfYWkA*%*O`4$G_x+&vzK78LM_313HE|l8dWeMs5*YL+z5=!}7 z{_|@~9i*YSVOAjzf?)awsgzElo zhQL;->w%`~KP@{>&ZoEoX%*ejC-ZZB8lf?eM`d?67)>^6OS90(#@{)3;Gny4tX|S< zxJd&Sf;@ro9%sXmm}-%+FP&wqcJ`WgVq8XibTmE6i*$c~C-$Kjz}A(doT$b^=k-n1uVXh#U%4^nh% zRnh}F48RR@Fta56FaGl#If?xsIh&EE^Z}q|NcsB*=}<0hmw`Txy61T5(B2Ow?uZoK zT9hm|v(2}cH#{M=2cfxLsG zgQ1OiGwK34lx0Z+JFw-0V8|4I=g@&ea>!;~z;A=MpTupoih7lotPd?f1($Ex_5FL$ zhwnbecWGjLqyC-|Bx`3}a- z`i~fQxL(57=$3gZO#))0>`yDm8*^;kNAYU0ypqUh>9{|>xdWd~O3M*ZNJ0|To$5d+ z7{t(_p7{Bhj%w1gZar$kkn+4~-?c*Jy=70q`v;2V<@67>d_ZIbH*FAfTR+H;gbCj@ z?va_g-fvN;`{<-)D*tIOQFrv*+AKF?J1_ZF_;z%%L%*fS$MxT}LFztA?rb;EZ2wG0 zF+)yH;oGO_$;(!jBl{*R=1ave^%r!8Xc0Qna%dFX9okJr9lM!m&Tf2HbWc-#EeH6mILoyPMMA<>W5evJ-Uvi2AG@muWbbez|9kQRJ|Ivw3QIu4u> zhV~JuFNr&-*uTHuc}&oSmS44zJ@{Sb-fvY2V(l$=1n~_q>TZpUtn|8kPkvecielj8 z>q{?k1y_Ogyojwe{OK*MkCqE6($Kc`kqwcG?DV>0oJ?&tcV1s?mb7Bx^yh8C*NrkK zB{0soVAkkGb(?|zd6biMldYITYSBxKPMHmL)o`-ryg{OdEPf^Id(oAj}n3PkMM3I zb?u-?df~YjUb^!MTAIFt`kdWC?71#NezxaH$UQx~e#=*;m=5F#Xuasq0v=(ZqX;E6 zV>*m=4gtp?V*qY0DL$KMVhs_Nz!oxTf!9g63u$oUnqQc3jp_ZC4&gb*pZU=0rkXsu zsIeK#3-J*X8t@*O_~4X=cN@-HMCt;g_TjTem}6Zk?>#*@NOZfvQ>QBu{-W716OayD zF+ldsYp|^gg83E|HEPd<8#`B0DCM1JyuX~Ed)!GxU&VV8;-KYJ^-W)jHGs0+9+=Y5_YVGlJJeatPq zO`X5_OflO+@;%>FYOw~jv&naSMoyo-paVWh%XO*cnWl_U@8;8~JKyoj?dNpww@G1g zww~M}_VL?715Q&oK?vUcZejDZcM~?oAneuWi6l7X5nWK5(na_`L+`gj6yL*y&oqn) zW1isEWpts(&oQoF)2=De(20g~Aa{{D~`1EEHJdIVI#7PB|a{)P@vK10Mqi{5b{}-=Da2k*-%JRMTN9gbVyglgqZVc zS!!z^3sGIw7e@zv0qF(B5YC9BR;DXGeUU`9X26qf&4ee@Iuf2K>Ge`g8fD|b%|`RW zY2bg2>irgQs5Eo+@$fs<0oT>h z=^unEa7iaeJQ_@k&m^{L_>_A>xSmw~c6vhfpIZXSDUhS@m_6 ztVMOXQU*Npq)d3`OC#aQL{s4D;VFtwym7t(9owB3zK49le>d+;7f}=H{TA!?r*ggD zvQfMj#WGo|5RDA6E~MIWDSW;L@GbIJnuA(4O8G0`JtgY!Yc5cJRF}ogOsrsM0O#@S zX}k`$Mb~>dvf=?q$M`9Kv0tdu_-BEyxV+=7Nl<5MX8purz5t(NdLyFlA{!OT^eqsi z%1ocJe|IDke1GM#rPr+m*C<6FuOT6Sd7O zUyA3$>Mf6N;SVmYpw46%tg5}xhnYxO74KM z)P76&?kSuf--2xP<6BPj#A3=gA%n}NOn!WeV4<%2UgNPol=SF{Z zW0VqSL(RBdm;-R8TDGNHvXlI&XxkTD=M`+>(Fv3~*|MFl5&mpA&*8FX8AQE?l-nn7 zHt+lPc4e_%A}df*O#zq9c3IstQue}=QfhK}9-Zko_g-)Eq~y&_UUCS%_chtYYKf!M zH4Yw)wFViFHzn^RzoZ4?3@at-FTc{%ehc`IlpShCXRdQWBpxL-lud*h#&X!28*|oh z2;YJm0cmSPX(hJs)-_be-$)((z>D#5&1u6yrpwUcU3$n81lmi|Kwba9b$vcTv+rAM z{|MX9kh3tXEX!DukxsNPPu};Cy;z5>ifMbYc8v5@CGL?I@6-0s4I_P(3I8bYBk)V$ zAA;}Y%4-p|SCg_Z9jB0ZS1P#XaIy~ft0jDb#eE38?rFkvhRFWNm3U|5G7q*hD7vVm zlydhwRBW~f!wBoLh8}hx)`p)NKBUSyR>$*qHkHZ%mSU3hl{Qc8FIjAxcTjNS9Wb1ieuKp8OcDBYnWd zExt!RAC~5u;&aAQVTL>aX&6Os94+d(?K9F7`;$6^^DItTmov>LgzsZi`2ElTeMff3 zr`kbAthzT4*<3VM1}>AFXhYJd&ssVKhc?!7|G7?~0d?fzvjg{2fzLbhmL!ca{1@R~ zf1aD3%GwTX8EK|$Azw?XIn8GNFPq?Nu~Ax`elg`EXSO`Kx36E>rCXHcYLO3X~nEiiPTw! zrG}RqW=i*lW=V5G_ecvuv!x$}?v>_-=132Oek9!&nk(HOx=&gdx?h?XnkUT<@elmxacNW?zWoNL#8Tg~QhXX3 z&m%NqQiZ#L>PFG}=GU?p)d7c0Rz?uwk~GN3*CBM~j+M&Frn06L87p@Q6#HBEXSGO} z!~E-zu>#pt$Ft_MnMkg`*En?o0EfhYtD~&CXQWWtBrQqr?H<%x)HDD zK@blvjiZgK>s4b+yaxU7oZ8+!XRX3)p3Q7awpkY>sqv`G>L^CZR$Ic4Z+y4r&O+4Z z>X>j@qD}gXdh6?+vy=K=)lXJy9hKD47QR`NgKdnXA1*D|;FY-_BJ@l6>Zhx7tGRIHZ&3bBbviuXfN-syN;=y7-{3;g*Rt#D{=0c@wpizs7Qxd{_bOne<-&CI3cLX( zu2*~R(=GqDQBLThV65a>m~V{D!spM?8Njhjns7g34}j#9IUhL!?8y0Of<*46zo$NP zk#w8%Kk!VJ-pfpv)NxfcQn)-P**PyPZ>(->9$$j>;ywm*=D%qatJeNKw?f>J9-mn* z>~K}5=4@he!nxHms~=gC8y2LEc3ztK&l)?AgkVmyeFu`pM(7=?Ma=l*alxD_S1`9K zH|VU&3+7ej2VDSIK&QV|V}kirV}tgpTY`?NTZ2NCGdOf^@(c64Z@Cv=FKsF7T48V? zyCFxk8|;!Dx3+!cG2jL8DUZwK?x2$+59mcSlDOGXyTPsQq`cEZDanmmV#n`iccXB3 z*dhyAC`BJm4UEbXQw-tsKzf#(Vhm>lQnI8JQ#hE0cs@%?HHY!83saVuY6vw9H>2Cv4xBAok~hlcwwHrGC54OKbVC^q=l2x(6;&D8WB!T!)x1^pHB~` zfP0~xo|q9%1sC6v8Fs>ZWH=3;qsXpr&s`=di@1Jvw>MofsIH%<%f!`lH=B-(YS`Lz z(U|Y6PFL5-#yukVHiEmreq6&fyDAFoI_=EzIta;y_PL@_b{_B?hfMRnCEAo})2q-q zOuxqo`~9b${do22r^1bFBXxeGgOhR_r|ma?NCG zoUMj2iCn~9ozquHb?d^d+ibB*428Rw!QHL+a$_(*S2{!uj7C2d66qV3~L z!#Vzh>(HJ^UoIUpLJA_N~^b zo{G}UvPV~JAUc?3?gP;CnPeTy^Elu@Me2@}wxIC{p98_68`F_(E&BiP_9yUB71`oA zUU%v4+v~kqNdif3cNW5$fXW~$c0yQWkgzz4j)MWwK}Ss|2qvg-yP=y9mIM@rab~bP zm_QsM;;7$F5bQ)i$S?+d>bnUN5@yigmL`OK$-hojcM=@uy?LL{|MUCglfJdxy0x4- zb>vL1I zZ1(8GIEP_ub-xyz)A>8iP5kLX>phf>hSMTrr^p> z%)eeWHTN!6-!}oo|BV@E$m`u`%K&E3^v?bTd*v%|Q;h0>gGqf;hlo4SQ13%tkb zC>5DmX(ITX(2-tmsU+eCzL}YHa`F>eLw7|B{*o#LH9YT3j z1}0#<0;h08=SYkvTS6X>{Eu>UQrrDq-KW+{=Zx;~ePO)<@SVGR6xgs66mD&2^hWTU zY-OGo7WBgDA~|#3gA}u{9VKAgC2f6o4^8uWX}{n^A&H!pz7>a@OglX-rIxr>w_g{T z-ZFWrIo1d>WJHhPuly+FUArh|_GZeZ25k_=;+W8IH4(R7X~z_nYUq9k@6*eLe1=&4 z$Fs5m$0vs3a|EO_3!Bh$f~-So_qpJ?e)-umTFLG09E(f1+Ghw>9h`JBs#G;mlrb+| zgnun~kI;9HCZQiinbZi9#K7l_`kYwMtF-=ECt_S@6U8g2jXl{+tlQd$qJ-6>g}5x) zZUL=rlVIy@l3m<_{bz|cfaw@dV(J;c*ov8ZKfYto4^TCXPLzXW8e zTF&>G1zNO~v_J^?w0Xypd4*~95gLvkY4`maBm+x{6<#-J1Q;+C+^=PzylJnY_GL{T zZRbYZ0;311rs`fbu4=o$l>CVLcmpus;#04*ipD28B;!bvy^qz)o-6!ZbyNVjLO zT914~oFfOA$$s#H0wh95+X3AHV_?}suziNr^vc$QT_^wMxiSkYNh0hVs1=>vF z74Xs2?D)L?W|KW22LJUwNulQiO_^7= zIWm@kFQI8mwX%~dbPVW#zA>Z)?A6E&o0@l{Iflm(V($- zRXm`AjepQ4{YGG%P)ix9@t_&rRWlC8pxBo&c55|?^p2SPVJwQR@_&fuC)r(vdDZ7) z(AFydbBUPJ_mri@#8mk$)yR|D?#=heD>s5{pvlUjuMCw}nrxK}GazRn0t&mbF;ne#a1HSe^AT7uZGbyp+ea@6w+gtj9Uz z>|{fnyh{_Lq4r&dZ{rQ&oQ*h#zOxbM(3MJSh)YsmL8ZV&MG#4Ayo^eXo#45~Zk~+c zB&(WL<1i=42FFy>no;RsQZfOT9MlP1%HZ`PEw6#D7aR!b|9-G8CW#Iy&|#Loh4af+*9PU49U!t)atS32l3l5-^-Q`%Q% zW-#cdWzuLF60^E;T&c@xK5tbJ$mZKu!pdMfvP!a_G8;H#E0&5u2a)nL10`@_`R1&X zh}>yCl3crE{ti~oLGv+v8#8#DVsD+fgO?99BNj<-iw(UUy5`H!9!jHF$tfB7U`WM6 z|1{Z-q!LP>CA*|zxHphh!V(JYUW^<6U3-%83XKD^pP?3o>z2J3MpxRrgx@bD7ATyl zo%9`hghfmDB74RLHYW-(FTHYng_^(b@rC=qqZa$3-qwg{jg(q?%*QDh76rv~sZ-qV)?wsj5McIz%C3bW*4LWI?WX_RpDSTJM0{7-Txn|~i6%+z zTg6UzzVznm5rU9q&9<2Jk0C)dVhUXkw<0PvDpwi4m!09zd`E7Ll~F$`O3|;Ej}yBt zzgyzebX|sf{?yh1gFfbngl}j%@m2J#srhn(D)mOD(f%F(nLPNatF| z;&605l-K$Kq5Li>&*xlc^2hz(@R-=E%?j~-*Pr=B>8zJkbOkpos+iYeUiIwX_;IuK8H)x6v_d?4_3O%j%htjz*tE0P$;xL@#b(4<;?h&6CIZj1^3# z04djMF=@|Q7c$ST6 z-#f#KyiIAJL@h$2QB(RSQ3)?R@`5IK^o4|_Pdn`LTm*8t9L#5f?|Ji>%#umWw{Zg;pHb*|{cm&f} zHH8aM*JbLjg~e?*q#$oXVFI~Fb-S)=Ex$JLiK3<9Tdz$r+Hp_8aBBS?47)nnvc(;a0k-T14+i)aceotxGm#npY}AL7@PGy?>dl*td6+YAN0 zXG$`yrMy%J@lSAEW6kE7ubWpO*_jFLNMFl5^$QCp*+;nK2bRCL{PX2R*YE9z9*=zX znJ)X#%~GbVH1%_0t7`q*x7#Ani~0zKX{kTQoT+{JcjnJ3Ue=XghCYrK%P+&bWn=8G z%(dOG$lX)Tn_l&!T?`BTlsjIzg|0}ioQ+`=kmQV<}cuuz%gU42~Lf2*cFni%-|AS_{ zzZS|{Kx+T)#T#1ME)Rak*I-Dod-0n^|MU1C3yuFs4#pp8L*su6olFjbk1!@FQqo2^ zWeBf63o$vsMZ2=V%XOSTx?Zy!{MNt?CRj)F^##3?OJJPnH<1G+xi;pU?-Lc5la6` z{Cjj+%KZpzJm0VBx-vaYK}^yd+*URbN*)+%a87Rzp!6-Z6$R3E$dBw#NY20{1)sj z#LEaBulO8>`Y`w#o}<6vIa-J3rUB0pJUJ$x|L#gt>faCwWM{A}=wi>c9Yk}}4@qo1 z%W&{^YCt)b_Px?%JF26$I~wuZYpDkW{_K?|>roNE%g?nPMtr=B!C}o@+aaWZchl|k zU0kOB{f|QLi_AYc{C?_Mct;E0)#7hvXJ~Xf@?CiMnE~HD7jaqFziQl&x(^I)D{)A4|B@5ml!a_#aOc$ zSk=)bbqi2D&nq&Uk|_(RFfxqxqdKPJBg>=;SAzjV&wRYoq7%mG)mfPPU}nm0U1r); z<~{Rg1EA?}v<812x58q_crDX9H5J#xe^mFPKF7-kpS8?Ya9s0IondK>zKB>~oo++2 zCJ5Ls)3ydmbGWo&k_>Yn9b^xDzJjzfeP%?s#^@C&9d4{_d)xcAlEy~8{W58-j_KH^ zpXAN*f8VZACxjgDf3*m8 zNafl9L#=-swZ60XftO!?LVk}qowxi!D4B8dz5g-I&UzO}8mB)ixhNc=Y39TCBJ=E!Mm>$EwIuZ0yz%LN0FgY|dm=-e|Io zmY12jE}wO5b0BpXM%FRntO&DsJW>Z|)AHybz5fR5_0_mkC)}9fyHP8K)>dS*rzDA8 zSDFf8=ZoteYLZy^^5@C1m`boK+R_msBSn2%rL<;@(0PjBs|ff+(ZL1JgA-{X?ARA*A0q^K@p?Q0eOU7{XHimP~D6>x4` zlKqtraqI=vgkzjK1pn&P4?s&AhgPZ*&fkw?JdQ=<@SFJif5HEZ`WF6$v-}7(i1Xf5 zm*ScY>N5OWtbUG5Zo_#))jxnIb@es)UDKx(zJ_X$cV~?}aW&t~ zs(-|9tVo&{wG#g;_}{9_!}EO=gUnQN*YGdM+xxIjrzZI3Q3*MwjrVhQT^;^^5C2oj zsk6@NJ?sh@H>z@qH}txvV`2CSPb6U6gGF*3T|vlj^$nhcxaP? zaL+*@Qku@iefhRYmSiL35AePg|LqC9!(IUx-J~tJoZ+BfmlaMi5PtgZ#km>yU8~(f zH6DBV;y~xNnF}uCzTn=WQx;6+fvv_jkpG^yVo_|R|1CVGASYD+_Pv);FOpac8ZiQo zs+6OLm0BhrM6W}7pRWE{M@&fn{;Xq7JEme&_#VIuR3pECtRuS<)bsew9{j&ZJ%WGV zRFC4{r_^KkH=zC<|Mu%?&lC`<6l65q5vOi}?*R>y+~GT-vOeVFe8AyvBd7oWjQ>2& zj$Un{?H=LHCZS_1M|o#!@-7p3d*PcXIOz#ra}h%K-aCcp3{AXO=L4-M!Ka6tIV3H1 zh=DwllZ{lHFV^JSr1E~Vk5?@u<=%;+Z|D1L)*rLR>S2fEW@Xj!_*Y&7d6152u4<gp}oJqOd#ToqphHv!1n^6FY9c;|VKI))dXE&9wLvxX%TF{gCap?nRnV``so zDY(kCI5}9C2~hV^-d0X+uYSXv3akW8GCOA8|GNl&!HyA(X=h#B#zt#SYC>TY-U-}Y z@f(doHcxeUGi^G##__b+&YUfjJxCSJ*^<>0S$NE5^|IYKKV270*fXS?%KJgaU*j;~ z)}@P>FIqCeps)-%FYs&8UgTl+#%<(lTzW4%+@TLDXK1Ud&Cu#YY~JOtFUw~>yC`4^ z!m1~B8$M6@mc$IiuE?xmt)Up@M~52#J|;L43em~u@H*A0uQ}M38pk7!<%Q_P?TgvM zjHS_-`dM7m=;kF+qptkO&73~C^303p3_Xf`CJZeUQUGT1OV&AZQnKX_^-C4I%`WHQ zc_?$luoONH>+|sb4!GWNSSqLESLN}@z04%PCCyA^-*~+%O=$}y*iq!pgpEo&Se;A2 zd#L$jf`j$P6ociLuf}46<1DL0b=om>d}m%-0Umddny^PIr}b&7FPdsE4|nWk@-Fvd zwkP86H~|vFv#9ope@R&WAXl(kvbO-wGfa*2$H>{p?vu9!@iWn2M~|4gZkEZPa_kl> zlqs1WiZ5mI$evv$uho{NO^+Fi(`yRJ+3y{J2v$4Ta6v>TBA*6(0A4S^=q#Pr?E~LE zPapCJ;^WW(lNTX%6shM;0pJ<*A`m%2;Oh;_26BRsA6ik)cFoDAG+V@yVE_609YO>% z5%iN!;Cf5mD5(a?qMBPj)S+(+ppMzSuu>>C^kCrI{sZ zX;Ye3nt6%VHqOwl0h|mm^`YU0fW}LDQaXsKAZGzO*>!h&`~t?cs3W?4d_MJ4V?j~H zbLIOLeYYsgmi244n%emwhPf-c%*!>7fpVhIEdl3#C;u{$)ySwcis;S$OfJ)GBstC8XrsdNX&YXLwQRREURTaMW5~HW z@J_)WbRt<(k$8{zWPpDqtteim^P^Lsw*kMi9Y(%$JaRV5Z0Zu>G310B;~~keS=g?P z^3?mIs#!InIt<~kYmE{j*nSDCAtdW$g?1gtI*kKPGB;h4JQsu{-%HV+2;mfpG-URs zs@;Cfopm#(X5(7db?(5wAxWjU9zzCrMgV-4;NY#B^DuWywAFR|zRjOeL|HN@Cj1>~FFek(`}a|*Q$($7X?&6zjO z5=!Uo`oz*hRcW07OY;SQnEN%Hs;M%&KdCac#H6xW^v>1W3Y_bGWx<@)$2lKQI-Ki5 zs<31mP-AIpl66S-b(=D8sE&JZ>#74_pC#`m)!YkYmc}C#;LAQ8Sf6)hP369_8b{9%=;hg*$39A!=4>p z2ZMyyweUp?{@PP5)dnx7TDP0Q(pZ~bK>&H~PSf+NQyX88?H=SACOk&YLSDr%lZaPT zSW^lKvtu<|F@y`lxPmLIPRusXmY~-6Ewwk-wMd>jgk(hh1yMgd7^e_lKdhQ4R3JNE zCw(Up!ln~v*aEx@Ud5N>1>L zz9>%(UeV!kog{pU`Y;{2t0y}F(=F=2yt6j}iKy?KL)b^GX+A~1%=%yVmnI=8NmR)G z+&Ny)WnOOg4wR2?G-O_GZK0#6#ER0Rv5`_)nm%!HtR$7jMo0(DwKr=VHIDc3Gdt5M z)i~b7q3MM+j!HAkYmMVI{2X4G<=IS1-sUMIPo3I-50_DeLZL`lQZHooZgbo;cintI zg>TtD+-mk}&JrEOp1VZn<$TeHscqb17zIn!{Vc_iSM}oM*Nn}*N;_(4!n@{O-5bra z7JNRh)s>}9jYxnm7E%b#SHe3a(#8lEM6UI-#hKhL*Qlz)1tIPi5bVWN}vSO9yY52IAdOSelWb|BR!~5AA0l3wZwlWEwFq$hO-t@SBU`{CC z9JARJur+~c#D74`!3W&c^Nd=D==hY$$8}{!y!x$^4HiRy-)IzX>RW_5YMbPCZ=VjN zka?LQw`ajCG2t1vH~3ez^N|`9cu_Qmtgek867nf75AbGOE>LT2e7(tu$1ugJ+|$Fl z;Nyfj%80?x$K8b)D-Ljq8^cu^1WHlpsy`m*BKSHMe6g}#*hW^SiM)X<|L($40^ieXU)4QC>o$4 zyY;oV(2wzkFGNZ`4zzXN*hf9CFo34}S#8%P(AC@K2(OV_b&M=z?I7F(DZ1DN6DtJmqYN4{dZi0&b$}DjndpvT66ied1|D- z>n77eHHBnVsvaBC>YHH6$5fmgqWJjwH!!yTOy8~<5@+Y{@ED-&xDSAV-^#q(eN`+V zarplcho=|1^=)!^|MSQzMHgA~g#y(A@)2DgvL98)yMz9Cx3L>`ZGq5W@C&82!TvX& z?ew1d5BBU2*AIm~JKkODkFQ!GA||}U0o?%gBpGY3PjI}6VQIR9QRiFok)d#i`!2j& z$KiM4s=TKn|HH5RctIBo)6FhSFDK}mdp!bJ0~DnLhT7}H9Tw0NQQyJz0@E^ZY}-uX zu^r-06y|Fw9zqqfWyRSfTiKUH-_0hg52#cZ<_oHj`aa%G&KCZe0~nfa?7B3N&L`)O zBjSl3^ei1+1?bdW!s`eib-o49jI~J%>tGOG2X+r#2W2Tu+WcGAK(_@G*2MdOUSBq} zEG`|td6q!9?16obZ!KE<{EPb@Z{K0vk+UNV-Szk_Uj5R9P&`NR)E)y}lVp#Q+-R^l zg6V@{{gaEwuoUkZ%t$xiBuNB?{o%%8JqD9_GY@>ypQLkF?Ir#Y((g~+ zY%aiSj_!}L((mIr0un2zz%&jAiM5KibSz8Pp)kS!3NHiz)VeSpMTrPT+p*@JQY{DZpBaxLV@hXZ_JwcGjl*xyU zO1si+aHF@Peg6E;>^+km3)rVT%8(L)&t; z=;)Gd%lym2H2+OZo2Ym<(nGrvlKxG*qC%s7*W=zD**i|}2)Bw+t4(mW*LCR)awf7> z=(+?_0bheXK*yhVqZVCf*y=-S6<2lBfOK;VvM#|P6vkqhFgU&ts7JtU<5S5TB=^CP z8Dp_Srn9=P%YY{nsqzmlAN^bD_MkBrgiD z2N>mgJ&gU|Ou5t_X)>`Mp-}2J+mloB--QTyMRf9Sm#CIvnv;0XLOCTy4B4z_S0~i6 zjMTDDtgNOhYKF8>U+}Y3dld1e@^e)Ck9xouztTdRPn&Bo+}>wOBK4M;azwG0-W$K) zJ#oui8$xAzFUOofDs8Ey+ThW4a_+cNJ?89vq9co#Lp;_kvSrx|6#5>F{ zgf>Ly=9jVc0<;tS!w?L;hWdx`V(g4s`#r-TH9q7SX5FB&&>I*xuOaw>;N}x}CHCQF z;u8iuvN|>8m#81$0WepZDD=QzU#7o$#Y^ro8I}giNeo)LRp$AF;@8Z zW2yUj4oHxZPMvN*NTY%Ad>_+}aOMLmHO?I)Y}Y2ZL6&0{lF$$wPtpv$11$ef*fMTE%LgD*{;iFDVUQYJh^;osD8Fg3q#GK)=W=#Znu_cqdN{IFF^;6mxg9 zr0K)-f7kz=fz}*k&?!oSO!9Wg*6O4q^0OGDh{ znD(S{qwJnoV?pmD>a(4bfC|%Anlf*WUJT#++<2FBtBH)6c4T2$D0HXW6$)7}Wt6H4 zg+-zGO%u@LdQK>uA4>Ud>9-~*<9ATq=Vvf?faw_nj9E?5pAn4LeZ(HYu@R9@#UJT= zn1TLNdIdRc&XvUO246oHufy~gxt`IkO=q>87MD>DDCV9lm;0>7B?=WtcQ(QW-r*S) z?7#Q<=~n66_eVOBJ+RJ^4C|l}D1a>I1FoDB(K6XF6Z66og}fVFFbV%g;5rE1Ks;=d zH8T$^w4s2l80=GwMCZ@J`65V9DDOX*@POOqJ?_q5Rqg)5ube@x+HRYBVF~pxt+yid zv>)`n!)I_e#k@;8VnkiiNw z+5CFM=vBETvsP)WP9H6mDd@vIKhOMl@ z4aLRcf*W8@6=G&MPau{Nqk~(8<{KFV`#I91OYajtWwymC63x~4(SkdK`5dI!t$Ccr zkGV~AQk1Ne*2&)C1`0Kh%d}|x$-k9r`5J4{=988po({?_X&te^WV#Fpc{@uF7&+wShv;9m&6=N)LT#!rk4i_ZZ>nC_=3Rm_ zT455)-CCE3+Qv>UMJ71z&!KLNy+nYulJat*O+78$*Xfr1((6rk6E2ULe9u$ zM+RaUs-v#;VXTIN)U+y%enG zM!$G&ofNeiMRYUYoGlz1=|;cZ!X~m2&C9aUD)i)gQ2yZE|JW@B?Wx&l49>Uh4n%Rx zKXx}Svm#fh#F4ur%#+c-7tmj?~@Yt?+o+3;HA`Gwlc`7T+fy zL^01%56|egW6L7?ylH${40f>=J5Xx5Na8F1SuR)`IPj<8br6pl&)q?A^|8O91!RT) z?aLB+7x17*^;n&UN@viRG}nqVQZs`M4vfbsMJR-;g-; zYMdQyml)=)eVgNQ(E%LVy-$(M%o}k5RDn}g;1nfpHM-}Cw{fVlB&+0Yoa(~i6*$$C za;E$p93QE7-8jV3woNeP ze4w1~UW>zj!fyaXT%VWj5BTjFEGIexelx}y9ZbO`v;)p*f%mxBr)xi7UvLR5ufXkF zVsS}6&LPPxgD17ts$DXsNI>K7i5@FUFurL|bP3h8f8)2|w7dJ$`pOOIOMADk+@ij; z^?hk0aT?QZ-z&I{7*Fvnw^y;j&#OcsiP5)ANz9c-w`zjXBs8}5*Y7>N0eq}LETLn< zdxJ3DZcxE%kyd>W|LRm-P$KaM6IVxRRI#esBy(pScW=mW>a!6BfmCg{Sn+ZR!yklf{)-HB6UzzT-9f$ z+8bvb8E&R^+LG*HNOMOW@H=y?3<~%IbrwufZ!2oiiFiLKm*Dv>ekQjFb)%~V1y(88t)ngjY{f^kqnJZxbfgL!W z=msJ+&Ij6tylTKayQ**0cimuGJO+@yYl20htYOrYkX5!JPVl1j8z;;{mXsU12PqYo zhwhkuK<;OL@Qzdr_Vp`>JefzE@iWP32aQZzW{3=SWx>1D>wd9M=TQV3VQZ-U+)bcyM0`3V0HSg~A?HsoRc2{k9!_4U3oN+5#+Cmz`p3hR}|I!UCe;i?`3Y` zW#SWPDQTq}x3VgQwvw!x*-508)l|a1!c1C8xatRVDHVK0V_l=4^QRR{emABM!n6W% zleSe2Y}@Qm+fEz*(=oA_`^TjHHdIDy?;DY)@Q9T4jmXpeBcdJf)fP@9ayCp86MUom z21VfY-c9K%bm9(E1p1?7*1|Vd|HfNc9SWD?@a9ms7>9R+!Y|?QALCTi+gcsB4O3s+ z5cplEo@n0{AN7t468-Ex-Ru=1-Rw5Df?aSK^tOpa;x~3BMB(AL>G$le>QJ~Chc}19 zFX1qJq3<*Ttb&O)j2(wmnz_tNDBjNC`8I^-J6ciN*LBxhYH#Y)<>chgaaby)nr{pI zp7tJOMpVBpl}It-{M5#VoNu>97{R){-6k3Awn(krCJJ_&nV+yQY|jtIZ`$qC9KRye z*5cdwr)QH;>FstKVt*OLzZ@+C8V0D9_k_y%;bi14$k)+)*MR&|l7BgW1mtVz8w>v> zKgTf`^7ZunoPVjGb&UR(cWe&OFJM}~G}YdG+Oe0R@JGivmQw@53YG^qH4(iM{3TiM{1V>&wjT99V#f6~JoNg8f&BrI(UW{Wk?XD}?XFv_(n2 zllLRJ0#ldIFRC594Iw8li9|#6``^ABr*d9rj;Bo4i3>c5PaH{9q=Sh8Np?;lXZnxU zKj9gle>_e>vFQy_$1qhFn-+-T+xd=0L*^x+)r9xr*cGua^UtO}w}+&hL9`9aaT_9A zY8r%P%PsAibq=ugj#`QB`cx$=qtvM1j26^o>|#!{jm$@MSN!5-<5f;}zlURrUkJV%AIH;}*FRlfaN|8(c6H}OywmZWRBk3M>l7Dg@oM6b zyB2dlVC(T*OJEqLJggzgW0;k>YOcKoHr6_HT^DNz?p+}^UnEv=enV_d=pxU`o(*SF zRgu_r!=#QAGJ8Qv#;B;;5`@!yV{k0V=@vnY6BFn-2UYoW%@@Ju53Z{)>{|x;JQ(Lw z8@r#sg~*+ZfYN0BJI1nq$LoFrZk5vn{vDu_ZQ4;7!~TF8OwVI95d9qWp8ok;Q#WZh z{c{uSu?Y^%rb(MHCR@pp_yk9SfVud>N67jG&pJ--ug``3>KuGf_O_b3t_^pD{o?o^ zoT69wGWnRLNnd;8o0c-!Bpkq@>4gw_ABWBs>V$(Szwd(jgrC&+z(caP4A(ckufAyy zT@>gkIPRUoe0{%#uPD(rUmWPWfzY&Lh}Pn5VCw+v3Y-g2jk12d)LVC+?V&p-KD_fR zM2g0C8NA{e9C)RzWU_H-A?Mt;gDyW{||mV zZ|X)rQ_ZQqJ(YVbezqDQV9^-6TdU?TXIt!U9eJ`F4{5qCqCEq3N#AXNo#@@Eg)vmu z5eyn0@niHLf1myBG)2c`$|*^?Koh< z@a716PoNS5S-B50!-_Zx1rD<%oAgD<*8nsk-bdHqeRStg%H@Z4ZNlZ_T^qRk!{&U- zb%=G1^iDKoy4|;TtQYNixN?C~5eNU8dL0yZ|v0iIMQyPGlcz5d52*#syfX-C0mUx@e1CspdRkMM~xH1k!coZjaLdI?&WGm6qpt|{p| zwU~zy&>Bg*^XF(vhFB(3-;OQGb>=(4ju*OasOOg--S@=u<|QE4x_`%Hr`2hw&n-S$ zmsV`q@uM;C=F|Waz`RIEhWzf-0^IW7;eVi=IdxhfdI%b4u%dB@)c*Xd!h+T9vCMFE zUjPNP4G~tPs2qdz0hG#QJsROe&Wk9A{7pWbF) zucNwfq8~g)K*`65Jr%ODCFB{nvM*kMJD!ENUBh@T$F6eRgJ0nT_1 zYRjyvg@|BkG@sRvTmBMNmU57tj55i&@cZiimcfp@3hlBoMk@Ygz;1=-jDS9{RV=t} zD7+tsp0hw`W&ofC(*ZK79{N8(%xn5^Kg|IRvH0Nhuko+HobSrOk=e?u1+V_Te-|yVDqe(T0(y&z~Ff&4E`MUTxg+ z(Ia}9e=zmn*l~evor8r4nXX&2Lf0D8ZuXgi@p!apx}`7Of}!5jxm;|%9zpD;EDLA? zieD_AjG>zNG<}=%$6(4Qeqq8wlPkj+**Gg82Hr15@)o?euYWZv5KL6$o zP-Z%k`OydDv4*Z|nGOr}^2y9@hzgX-FCjkTfF{!si}R$0a9%`Ut@UGZt^BbF=PJ{z z3>w$?Kw_NytHgQoU<{|0M%_nzy>{R7h3}EQBziCVPRctJBa9OM{S4HL@+~uNGh8a)naUqP)E7g5rjk38ftW|bEcnQehaeH@^5h$iS+oQgC1#F#tZ?5Fwoc-sq z(1i;ZP0g2SZ6g&;fN~-;UN!lsKl%o~_M$%!wqLdQ)seeK?P^~+dKb_wia*SE)AKx? zH5`Z7)Cu(Y@!Zfel|FS7>2u9PTHk#w(DTy!vWPDRCPWitd4JggTesyA%cNFbiK za>vMIjO?N3GrlAB$~9+#|9-%M`$)4|)LfB92Q*Di>r>?dWX&mlP?@z*IBzYZu)fl7A6~1RZj>uAQ{_W!$hPxlL;1y9Pi2Uu z)sVixV1f%~6RSydHPstsB31bq?87Z1a8eES>Rcn}voV)G*^%^_GZ~%;H9imL^^MP` zSHsg)5PCk7UVXTwqAtB!J3u4h!O%D0J=Ze>b0!SPfiLvu*aqalH~Vw618XZ7nDe7y zK+cGPIiC&4fgbhe)c55?p~DDr#)fjXlN>shV8LqO85d~I!ziw0$}fT)U<_9+boA1z z*L3#7%ddhIu40sbweqzxBn#S!z?P4KIxaP(HNY)3G<7kIaTNL(!Baxor?k}{t6Tgy zHh{uU>BEt;6A68fXB6oBul4=-5hy!4U#= zGUN%E^M;$7|CvniY4Y`Rn76P9wU_XlKO_6YY}y#ggJC+|WOwJ(Vg5^nRJ)tQyjVls z7*ugZ_XN_t)ex^Sws!8|>C#K`nSQ2tZ{z5g-w5ahaOVgr+ zHGGwMji$=7Mq33~cH7h;imqzV8lft7jlPPWqsJ-6P$*t8g+d968HY6JFsH3PtX2Rl zI7T9tf#)MA2S3Z?bp&4QXpI@3pQ1+c3?Q9FTTS~eD-oa((nqr~s<0EO=AD+Ev@Oj= zvrsR3)XS)YaC+>{>!Ewm^Sn!1AND3F%|#G%`V%Tc^?C0I*~_FOI8O=F68$vBgJQd8 z;7B$*B9IohXr1Ftp`CL!+~G!q>c#umJ@OwOaGOfTxie+EC8y-h1r|K}ca*gIhZG0! zUdc4N}6!ynBRO*r{=wcWT|1oq~JNPQ5#JC!Ndj-jVJ*y`$U{yq}0& zH!SY4?)6reGWp_q>%Gpw7v)oQRR^mLAwBx7X6Vhi>URW%E0aIf6p3Be$HJD_p+y6@&{FZq|0I_}^LE>;Gp z4=n!9_LWfzr7>Q;7c3Jhcf7}DUPEeoahd#(?gwqx^;cT}KU5p@E{1nxiVgFN<+kH} z_`THxt^c&@ESHDz8}WIsjTe%T(lHy(D=`hWfDdF?dGN;*mbXj~)!B~&mG)!ZAuPCr zXsWETg5|=fer-5vxv-9{#gxWsy@d0V(ZGCax$qC6{DB-h)AAEcPEI@klP8h3pQ~E; z0#X|d1((hiqG-*SU4`K5Ezof*b@Ydj1T2%eovpkCQn0X;3t@~pr4B6d+1=Fd#+C9obFsb196FQaI2j7DwvFn{^k!W8kibn9Dx!f&~`r$TRqY5YM0 zpgbZN?j!U`z%@b(xE8xxL!M`t0wQx-q0hTGaKzE6kPghx?4EBL$l4{lr-HP%(9Tmr zwDaK*?R+>yJ8MI7e&FOx{I-(Cgm%_LV8#bAhjgTif;T&%PoJ z6cPyiGP1u-7#mEX&&J1o{tWOe0=N(Rw*8-A_lB+j!{(ZQ3%e&n`O7Q?H;@`$A9Qt0 zGqab%`hy^S5klT+^?0Q*Yq=o17O$-uXoJ6S{QyrLJL6kUxJkXMMEZv81Q;Y*G&)R0 z5973`r789P!cKWN7nCO>KFtLdp#!7qpIB}-IuX+W-|eq)SN!P{cjyWT%upFFA~#$X zX{!YpdA*dU+vV-hi5IEPq~8HjsJUqh0v=+rP=WFUX@HHgzhF2#iaNBRRt}J8uO|1_ zp^WXb+sO|0&F5ke;whg&?Ayl`zUGRL)2?MveO z%OYOnj=U-%L?MHhD@cC%c1((9wf|zS@W;nsmaFf*~Vm?uZ^A*e=rlxzr2I$mZrUrkm zoNfXw_whZ_&*rb0OY^5bMCW~$@Gub|yDLZvwha)Hl z$l2&OpTlWBXuV$5-#Vrphkzp-iL?yyjWtwTNwp;soO9DQAar7=d6raQu8`g{OA-C! z;>6=JS#y>T&HEB)#pA0MuZl4y5oz;b`N_)WC71_d^+AYxQX$UbI6QeY<(KfBhH0}W zE146Z-4{LWg-WM?dXS#5?QrjM$C#6d^&;(r>dNM&n16!0aQyH+5NB~5o;*4{2A&Iar#u94s0p4>6Fg@C#aKz#!VBJe)db(CJRR>j zrZD_5ZOuy||40=tdk75HTe^C)M=M;f`bR%d+L(6TStduC7mBslvqwA0Y40K}=IVdK zxxW?KJAT1}j=`(k!b_lIfa%Ms)}8n9nHK}TbAd07;ziJG`P04e%3kOT8KYG9U^4GB zC<${%F{CgzTT_-8%fsVn&ir=sYtXIaBf+r2OP}9A@FBZqul*x0l_Cte)L$N%dI)t^ISP)bgyDp(i;8)_~bK0GD{-s_ns z_uZ*JY!EL_a14H#j>jTNLUV;=nfpKJ(^5-F9T)n?=#7k-#P(!7OGl`IrSrWIe+yRK zTbUD_pfmMXJ++K*EO}Vx`(j@2|HkhvHxitKxqmHUm-cDOhPXccfECRJ$LSIJ-|8D4 zt}lE-MD{w1qWFJak3=8p$9BE=vvi=QPXgd2bm0HI2VOz2+8c#`w+FU_@}Cx{9Synz za(D;)O32~DS{Z|d?TBKn`<)Ys+~=^VoncNq!O*r+n{3y|BllqZm9hE&`APQ8<9pFe;>!069aty;$APjvrL|-&QDFAAJUwT`hfgZi}{==$XarI^rpMwt<==~j zHaN51gJ+7H7GxC-$h!7a)Y*f-H6$@WRUA)ADEqY@?|xf~%jOCVWLg)Xn^PPixWzFH8pX8Q_wd2|J*ZWx$FRmtE|Eyjk0+y2 zT_r5F&miH@x=e|BbW!Dwj{EX@MyzbGEdKwdZ*Ssu>3Z?B*R(JOHpy8 zB_nkW6}}DqP_Yke^CFa<8+C@u#CwKa1EujQPH5!0AK5qAAoFG#-l5NFLzd z;56?0G-7-8EDL>C7-7NSKKnvY;vY~#+jWk?@6JvO$#%);{xbx#Ls@|1Q|CMOf0|}< z-bxLeiKf)RXttEKVYqfNBQPa6J1y`N8S&Sly6#}}S%7~hW929wsx$yR2+J~FNGJjh z2Tr>jQUt<~j6O3LTt6DJ)bxROU7BH}q(LndhPm{g7=sNL|S{CD4pv6hF#pKM+5pU{F~)Y`^QyaIW2@=aW0O<_e#MICp<8)rv@$cQW+j7lYP>jLp3OV?Xj1)UUnR+tEs z@tbhzZ_hC&eN5Md8VB9wgP3m0h`^)cd`b%*H;Dghee(t31&Toc+u-(YU0y~;D|wWW zVh)U#DvHYzLotd~B0^Z@Q;ZitCIz+*Pz}wum%{t_t+nz->Sgil5_A$Qw`^M)o*jmG zfL%OT-U@dJz=}Cw8$Rg8&o$ip#=PraAi&$CU7>M&WbGJ3e~ad=O*8bjXx!QuJ&het zmP={Np4|ZYO;$I%!Rq#yz~9QBb>$bpTh;Ei1uTILJ+T8X)?)kvn7V)6fltFD z4zQ#zbb{4I<$F*4z@KM^Xi$Lq2)Ye`AIoNZSa(U`ZCZ>|~K&AXvzt8mZq zvL+ZXMk(4AgQOL>A7=~Y03Yo{fJXp>EW^3eQv-Ly*80k+xNUnJUxLTdH>{ zaI^9-P8(MTGb+ym?t$KI2MPW=qRiD0zvjV*K>k2;)?v(GU^bJQrt6P7uHsTQH@rXo zC+`>ay)VrB>HBkNOH4-{_2m6$HRTsz&qL&H@7wj!HZ#h9Z}EEx3+04H6i7TMW#A{( zCXOw!ZOX#2<2Y4G{7NcL%$1my(u5q6KWkr1NxrWg=LPY9cwcNZVXjntxAUi~`j@w? z>bq`P)tRAHorU?OEuC%V=4(p3@yH>WNY}3Gd+1pMx|`muuON5p8^z{peDG_b{36T} zYWY(gJ>9&A=mY$QZ@vakSwXEz$K;Dl>un{nSHU~`%C7=eo|{@Hd%15Rt$l^B0kHC0 z4X9;$Lq$tm-LwXfpm^)$RlK}`$QnG>n_Oz0rOudUub3Iw*cjXW-%G&=C#Hp8$4{V% zU&rMT-(y|H1#PSL_-p-d`!ywUrR5_bux=@j_e~-vtg{bewUdjd1UR_ zdKpoj?8Wg3&byqc#h8v^4FO}r>I~jOy*xhi8Cxf`-(F(Pr}EoO?|h>d&$#f_POkRC zTX=7RKBOCKF9=1u8w7QFphAuF-xr|rU9ZAhH`0Ej-Hb}zZ`p55x4$y0q2eRlk7cAE z>7jn4hx@@O9Hv0`)YaC#U6)pjc1R!T4-M=E(rRA5?@+Q~J7Wm&DU{xwECg`|8su0!+i`L^;Z?&7tjXvh9vgS`|mp>1)PU+0#h(Xt8s8g zOpSCb>f&68jz>Hm50>cMKL6PR%d`8&;1L5IgFmvh7j~2V*=DG{u&vOl>}aqzpc7Af zpViN2d23ikOJ?=)>5t!MbD;(Gzw{P8{rrm` zIgPfDQgH8xU&+UxUO33G8HwNtxOG7z(`XIqTCbm5@DbCP7^GO`4Odp0D;c5ZH7SNo z3~#05Y3!Ni=56%WnWmdL`KC9chz~xEf6>W2eG&^_@&2P}Xrt6L)GF~dI>*_gJyFn` zU623nNwEKnUq)l)&_2} zcc_2M`w^B33+TQ#osKq4{zWwRnbyjH%&=fKFxa+)n1^!ALa|? zgjaHmLGFVUM;+CI7lGGahMPoZ)`w_X(UE`WUI;LtfSXlo4qhns;-=?kN^ zJvek2wKb(zM(5!4tv?d3E`X4Mc(OqsFniIa_r4W&)JZUJD9`LWPuH<6(AWR zt(`jzSN-6yd7!9=H8^B**u@!YH99G2;OCGLxM`j0(x@T96*VJq+!*&6Y0G= z^g&9<)1TEFul`<`YKameSkXLxHlzM25lMXTPlU#^PtF(fmS>!_Y?X{zKalfNYQ z$PNx&5z^WH+{m=f@$#w!anh4y_f%m!6TM}U@EAj}pQ!w?b9Z5mCG+ZoY4#We(9?1h%QaB-;kJGIzvBqj7 z=O&K3g;fyCC}P@$9hgQ3yX1S&U)aGs19q17p94w*#x1QF=FpywBE9&@l6mV%Pw}RC z!mH#QS8&1L2-*F=AT0ZpJc~CUt8Dne|EauC(RK4j%Ea2w+653daSe*J#U|^xX{36&v z*p|#n%t=Fc(i(IU&*;uFS))&~bX}_{+%||>4mt8R@1L>>v}j`lh3q0dcO|;eNv1uq zlHZgjz@FIKi%yyd$9jFjD9ocW9izNon!B#y+Dy#WKec;$cqvjA;C>kyC$=TUo6?v!P)_$tW;%4uvX!Hf zndgZ1UI6(nlDi#_H<4*pl;K@e=T!FB`Iwe8FXp{*=n3z$Ox^{&{|Oi_mzs~wmF)x` zubL=4GH!xv(yfxF`!n#V=Ma|pED@6A)(eu&orbCV3~hDO@QX*J4Od7(#stjoM2ej8?RGbhN&HjMBeO_UbY()HvE#3V2_b0PS0vu`G4VbEKw&MrKR) zXeQ#LI&ur(>2b@gF1|g>A*g(h>;k_hg*uVQT3-5Kq?39SUeqzMQfe7p$+W~I%u}q& z>a#a6rm-pwbyoeS=-;&rwU~oe1y0dXOOv%j!zf^Jp~>pw+gD}~e7D^q68i0>4;X4U z0b}cjx-*ASF7J&yd*qpDggY-?k)GCjnfu%oo$J#%Vuk$syR|(OI_?cpt0H#=8TS*y zc4Fn!aah_gdc$LSgd#WmS~!KWc8|q8Evw!mBu{!xZ)c?q^oEk;&yyRp;ZwVRck||Y zuGts4VYNSUw=U%6@%cUSuIWO6zfUU?`tUPz7zWU(pcuef!Vl*pPs9L>t0frsM`Iq@b#YE;_e^&G9#a4VcVV&TPlPte@HSL+5r&-Zf39iLzSbJ@R^T;{a zr~1dp%4gyo{aoOH5yN+gDy6o={zux>b5UP#G1apz3Dc&Y7)+Z+m>-*KHa`aRDNX~6 zTk#ks9`j7}{Iz~d-S6usRzFsaT9}iAf`5u-q!j&ZbgyT&)$R)K3d5XycdpgUYlHZg zWrNH~z9r7zPp2k(#sCevbrhySryByy=FTuB%6FQN#o%uxdob-;y}R&DBOc9kd(0nx zFk`xyHQJe&V6JWAe^Clu>|vaPg(S2sLJ3(I0~=yD{g+LR*PzB(Ca*&2RlemOFCB?w zk6AdyiyqKzkh||M{LEa7u~V+)7oM_MHll6;e;V&0xi|DlhbcZTi$Y9Z)CLsRX~`+6 zEFK3m1@k$}CM#5Z8wWR>_M_WVu(d(fT6f@yn zUN^603JCAQw?rk*s~Fr8i+?AxnPJ&K@MwEx3bhyG2%L@FobK(WP|YU5LGey{UMR?HPogtIIG%db46OuN2`lHw4f3lU zGZ`})o1P6&m~S7d6y08oio-Zrz$5a$p&bc6dWHvSlwub8;wBt7VZ5E;7~Pk~;xyJr z^`?sNqOqjDTn@)MOfeueHb|*(I`WNrnPb!`h5%|kN7MBL3`)m(gA0ZE+Cf4a zxu?C&_cyYC9NT{EZBC7-`rl?OqN)zTm^T-Khxa&Vg+I<0=X~2wHK3tw8vMnXcsJJg z4xbCB@i=V)PUC$a^rc1Mv^t=HQP|o~Tq(fFX(8{L&}X&JEF5Pb$1H3@dh_<#;Oh~o`*qDd(AEjK zt+_U7?)}R=>DQy~ciiuwd^P3@GFGhOySL)HR(BH5rKiFisZp5Eqm!=%dxZ$^GMt~> z_pLSU$K-{sK|PFnz1&+K)swn~+G!h%F}H@K>3d9D{+pyVr7e((Lw;z2as#J#ilLL{ zX^VIQIS(uvzjk>3u2cO-HqQ(%NH>ox!3KnUM!F4HVgA{I7Ppm)eGBk zACu-Vn0tuA6eX+)Q|cJ!dTVd_#q;PSv5%f+lMaaDHC-p4cHk85sSWN(5B(t|MQ|ny zN$mP`wt`AAXCeALj<}vz{K+9N9IWD(kT#)nV7bViJm=(M(P!?{T+=I}@EC$Jd=G9J z!=4;c?;h}d=&SYR#piHJyq#MgpUZ8FZ$ztcn9^2nL?U!K z(t_T?DLFW|vH0zH%IT@E)RFT>{|8<#-v*&hZNU2njAOn2Kg6>{-f?i~qPTghnwJsD zQrxyxgWF>9Zvsv$8`_%;x=Pn`Z&Y8YE*rWn5n{7Ur>hGq9hG;-*;kdN#0k$;Dv=y| z1AlvVid`X?cF#QAR%3S#x!p%)S(_nobOrT>iNx4J6eNwV>9Uj47 zr35tZ;@R=9=OPG^y`!FSWxR|w~rnC-;aX^Xasx;G zpx)5VqH4^elktwKjB}N^P|E|6JRWxzylE&*HBz~hNoZCwFU`UK58!_`)fv*1SXezt zNvV$BY)_YBnhU|ZqW*os74Qr1gB_l^sgs$xso7{oa!$mmj(&b?frj#0ADHHG){DS< z@u@^A+&-#q<(k)$bEN1b6fxM?#`5GIw(!1A6)=4nBb#LT4K~QDO#1~P+9kNY^T!E| zeDazR{<*S*Fr*)PlgJiVj~EQNws^2Fdzdnbru^DTPpN+44EWK>7(+H$DZAu!yi!(e zJa~ya=?&@y#PcWrL}be92T!=be`Q7X1y8JpPgzA~M@Bt``>1im7>+onRLteLT4)Z^V zOC&p|3T-TKp13WFzLM^g`K50xzT>+E#^(_$twygeLFz79;d;_UDW)yzKrp?TNUYU; zF)Nt%_Ua))y4S*6@!!E4%0HS?|L$m#MhWCcGMgGfs3*KZCSmxab2C*j@Jc5ib zHi#j;IUfW}J!P_6HwEvkrby-&&z*}fCfPAhsT*qs=v;Wtc_#aOrg@XZo`g3P24M)S zjL`PXPC86h|)Ymw%+Sm=>M)xDqh+RJ~a_v>7;&c z?Jhp89PG*VW_$>8b(n=;FJJrNpT`fnmg#J-K2+RAq?)4vbSO2i%tsQpf zwAga#)o-Tni0{^3yiME`nNn{FCW^-sfBYt@XY%lyZ1%852ly6iv@Jxslg1!TV+*gI zv(;ZdhgyY`R_8<2kN$PUj(^r+TpHPdf31-o>rF9xn8@6p)EJfV%9)akzgo?oMhrH* z%jr&*Ml&c%znZ{UmXzVt8|+9px#rABeaE#Xs}&96K(1Vk1m5Zd>24P8*6npUNx4!^ zEE6$Ecx(!+$zAd^*TV}w6S}Ttm2kmsq4^s4T!XPiEn`4x#DGrCOiTe&h>eyB5>&EVwD>t&!FxUUkj`q4w<er$${@u#^&)}8%==+hY z%+)XBaiHJZui(8k85*4BpE;OCGjZ9P>cO4A*3ahV3dvKVL$|F4%Igex&q9YW%tTPw zu|=LUS8R?B4mG^Wh4-0K386v4YD6JQP>co!&m0?sF+SNtVQMBG4W<2y?&hLu^f^B= zl2LAtj8w))ipt+2CGB*_VgK18kL`x2t)E;xorHKCg3~UrML86QbBD4+%=iiA&WkWl zFkY7Ww7SW~X*ky@MPvL_>dzg@L}m|bQ0B;XO=R^vJeEyF9*%c>a^58+PbmC_$Bt)) zw>dL=ISk8nzo;%U)?PuaZzUnAP~09pE!HI!dAz4TP3drDb@M4sIKg6sZlFMRJ%0Za zG3Hk!o>(11so7=)RzxabC2~5oZ;bH^6l2_kqR+zI?t1)}k0;_7clOw6!^K~C#uhe_ z^UG56F?pu)$)y;J#sM)(e^M$>I5~n~4g9Tqq7f9bXpt=Ba*>{41Sf^H)5De=g`U$U z{JZp3yq-@-QQw6y8^7>Kg}Re?jYrPIy@Ic(9|)Ut^`&?$g}sA3S@DP;vNzK6ozLuh zD;7x^@d}@~*NmZNp#b$MXL^j4y-jisNB!pEeUDHf>pw7;Mi9+-;L?&5W5STE(H1*0 z9rMUn$_+iM&m2oTU7^L?d$}LvNn=BM>u~QMG_^h8i!{ev-a|Q`@k)-B5y18W)Vz8` zg5qp1lmB25dcyroRuml1avVW*)MgVk~X9=zCg<#aGv7-1LpoS99%F*rROUj;+2F{Q#?`_a<-D}KIhls z`Xb%Ga9lwN+ zYGLB)sIlo5X6=EKRnNziOP{a$=L*kIT;{{n6*r%x??Smps-9o92$x+{%$Kwi{|UmP z9(fY_HMzx=g~N8VG4Y^Of&Vur^3tpLAE`6(2)KhYW89<_radr5L-xR&E!tCKmQZN- z5Ptn)qaVp|d*v(ngGd+B*bX5YKc1e83{7hdugDMhp zCCEz)LW=S6N2*@J-&!SowC|-Cdxm}_L79cPr(;t&-0NKFW&D)^x%karS3w<%28_mM zrU2?+uOeQ(GXYB4=mj(kS+F!4+ivZenXgG&=RSdT?k=1n1$^C=54))mZ$? zwbE5H`+t=e%=Z3sAKv+6hV{&eK%RC#rbA;=x-tKRjK($;c``8=mNL;3*>^FOE$`B< zV%oJkl3o30x$-S%xw1FrWSPvH4x2JDwQ-K2?QKw_6WA=et~h60DRY9>>1iM2YD{TB zruH~FfSyd?(UXyg;o2#sb-nk`{@4BAFF`vrN8lIU{DsTY4t{AF6o*Iqdxz`|>A&mC zdni9XRvD_F&-R@vNG^1{Gq+^6RZ*t3HrW8nS0FZMX+@_fT{+bGmSjc`FW6hym^N8z zO8YwU?P9II_L_n89z0i3i>*c>iCLeThlq)iVlCEx5E8bbO^!dP;OfNAbV}#M07%9R(KUhK0UQ> z9G+S=d|zPSpnV@NK^BDJw|`8grv{dw6T9R96SV#vkB8UG{3FruJfc!wbzcy##_t{Z zUZ&%mezk%^(xg#d<1x@mr}g)KSnfBH6AOZ^ePR8k17cne*?2F9jQZPKI8nmTA7my<_V?ZWf(?kmcX5>ftthbg*1nc zA<&wawZ02YX$&(lx`evp$JuTh_hEr^LU7xWHyBsh?JxjD0Uc%j9T*({ z?myg3X{kt$N1lMz%e<@DtYPT9-|Zaau@x`!OT}eLyaXC9gMLpIlvi%hlRY}y+L}aM$giiQ*`fo7ng3|MNdeQJ?H(a z4eT|L*n9QtwPer#Jg$_cJu*b+%Tf)#ZUf9}nY`Nkt-0$e(~yj5?IdmJte4E&Bch#+ zIYMvAjNg~+X|M5PiV;9~0pL)Z1&x8?@312L!c!YOoi zsT>s4@T!Tc(CV9eg{7mY22&EMu*Nc5!>2d^8J`NTD_bqKA*eWg{vPw}7 zDab>#q0nQ!pm$=go@;fXx$-JZp;Z|^Wx|kMV%R?S{|T>a38#_-`k2V04>E?=?Z{&^ zB-!15R847xdtDLw`Px$dI{!wTmK_|XZ`0<<47;{&L*2T%jdgN$l8gE&KnU}9{BX=q zqv}z?>vf07-4CSs=LNSs1flAb-~~VOBzJpo%q_>^6vmL8jXar#HoFJc9Tl8w<#1bB zq)9oT09~Z-_E=Yn;Q2^norqI>(Ui+El^*niz7_JM72|O{h^pK5r#Z}V2sMr$P(cqp zPgy1u^k`Ic(&*nK6kMw*oNmgy5bpnA;S{_2j0smUTecr^_57ERJefK3WH7Addwg(~ zmm&7Qw%PCYg2V2n6hCfEw!_MJ0DnI!#BI$O!YRMOcmUIJlYa+tO`&b_VEm+V zDn{|h_ZsI4$5DbFlg)iLN0^Y!5u3i9gIl0~Fh_5S30@58)b)f;6wJZXIE7X5j1(et z%5oa-2W9d$2DM^dZ|cAn)Al~@O6Ro@~HcGaK621Y9z~rwK;lXQVH}a0=1=aipB-HDeyr#kQ|BR&9@=~iwM>x})=bteeGjaHoeMNs#2!RidtAIw&7J%Y?*5WHzdv5!S|)`2oL%!y z!2OJ=KBE=s{wX&1-ZVG&T14^MfV(k8@Qt@!^qspDbV4*|OSqQG7rk8Y6a3D5q4!5y zGJ8;qPE9DB;6QDd{;@_AD}izT7V)jVbQm8$ zivv4(;Nt_<@1r<1z{c9_Xd&5WGWOkG%yi_xO;3jaic5FHorl!t-qFj9wiSnC?CH+P z>Tqn3J)Mc(N@621Ut|s46Pb_qyE5x*mb-D@D`QSQ-Z@v6l=h|K&N%S4htm~9jT zOpzt;s?xsN(%1{|+e_}h$e)e$ej?Of9pSx41AYI*l-W~eH4x7BaF z940x$?~FYi#UL`@&!jWeHIACX6{gxAZ7ZYJ6fPqnZ{tHvXuiAm3q@?B-} zVYB(K$i;Njc##YK-;bNeA=m#Szkd8XxP|Hz?dCIkvUU;M=O#QKZNwt7_*E6F@4B}5 zg@xw4tM1M>1;lc}R{UFOXuh6f=(={+LE(w|+8c|Z&JYY+u)UsZ#XC-e_p7S=c<5`J z5%)F4AcSvInbD30dm0-(YRig+cdyKFc&z8d#t)~~rLOeIH@RHDRUZi5E?uQ=z_i31 z4sN^L1G;}{i0O1MUwGGtbBBr*?Qh<{B~YKe$JG787EemAe$u|*?t#!v-Q<0X_e6Y4 zyn5alW5Wd2x;vJ$dzf|H9(EnShg+xF!<88@-#Kg#tFn7i_8=9fs+v98J?k7t3+I?K zdrYk;z%+CV1sB*xNSoM~Hie`?UvhQGXWo+QM=hhP!2cr9nWL-pn6q712hZ(j1Ab2C zGJAG}bQF*;D1CJ(p*oaM9ZFvvN?#o*`t3}J%PLd+!keX$3R3)~2`rjMLQ-(^cj0_* zDBs(c@AXf^A*9}`PXf=w&$k!vl96@<9(yFOBJGl+oJgsY2j?I!33+iSpM>&ph-n`Z z{CDrU;Ks^e{7XV!9Lgu5d>mrhfqMn}|6&hasR<4vSdaCvLB<1jnPSq-(V)}AoPt|T z8YH^|EA3Xq)kiSe!TQHS7FwJH!vD@KKp47H5npCAY9G!=v7CKge!dsQB0J+lv5H-& zfnR-1ST+fkYVB^EpDn(_2jL0%22#pMeof>Ta&&v)SAbu8qcQIWa6~bh)OI-^QyLp* z_5{-dQQ_FMo-+BrnCFbO7@OU1G&pQx*JY-q-cox#Q`YgUn9ms;oAr5DH<9!1m(oX8 zByAmp_xR;FZFuKwAwqr{hf+I{yIx|n21i=mc1zcVK;3+tx^}=jQF;a$kH9S?xQ}EA z((q4jBt=@vFW=BLpFbBU5}VKC@$vc^nuacrqPyuhfM@B!eVoS%GM3X!F}h3`OAR_j z*IP`QB?ft7(msnym12=B4MG`G9Fsjd+d9`OAr#5T2~s>W%$Zg<*BXV&Ozo_>1=ct9 za2YRrA(q*WguFD{ckqLeMi`7~oRFW(Ht@pfz|^Dy^BjT796y@7E~6HsDMC)tgAJ06 z1_U;FDQMg_2 zTgtEP!TTv4nsfr} z@H}bGM{)b2aNCUHY-u@ui|e%Dx}XOUeLdh$aXs2ovPW=cM8q&I-h%>6JZYwipdwIeI&R(7YZLiR9FF8oRG2$y9s2 z%<;4-pDS}*w1@*Ca|=Lb8%}cy5_%c;`x6|V&}r01$RcianS(WTT^L@tvL&L9-YUG^ zdqBv$`VKC&_Lf=(!YaUJ+`oZWQ!q7N(a0V-K7fBS;(4v?Nr=zYGHs7oWQNLrb|o)2 z%S>R`P!qL8-9N^Bj|eTpyzOWUjO9&p-h~;dcJDE()r&b?H(SM3ZMQUExoIfB%r{lw zcffAMUy;~Np^Ay*$89E%b<7X}dUa_?(`s(V*s+lBIuASor3q)6n$N?^ct(rds7+}f zZ_Z&%$Iz(-A=>^(^4k)N!jet)^ppsOSx_g~ve87Z)G`|L2{BEanX&8YAT=!IG#%^m(-y?_ z9DRYx79Dq6iMQC1xGgE(`-0oa86S@$YRN14@x=vf*mXeagynn8FTAA;kOs# zoK1ookMg^SX)_&j3(3syh1VI6-0OCB@4y@f_^dln&MBRfKEF^SJa&lcI^FB`#vlni zrT()WwS7t~*F0JeUc=_2wkqk=XdxfNzq^xBld68K@+K-#WwL-QRgbxMoqiK<_dnHR z`?x33dBuOI2dM{xR73pGdHx6&$&7>X=W*Y+V%n^KfPO6TADF#+v*=5oGK)<1;S(O zU_4WUh~5ED#_a9nXdivkj3Mc^^HlOajoj2K{vdNxR?!^oq25|Q@M9_GrkmkjH;+j! zj5AM$zXU#DwcSr!x-Qo^kh;ac)q=RXbC2LS#?5Ml|MEFT6^o zOGc8LY77cokHMiYO#$LpyJtLdW(&v3&86|9HN*}^01s1&K%W;{HTBI7(9C#n`iH&L@2?(zMW-Ti*7*#X*?IaLhD!Xiovc%k6~y{pa&yjHC;K955^Rkq*9X!u zD*LgI%JQNF*KK@|X-5fcRvl_S4>$n)x?)P7*dD4Hyls_uQrN#EiuJs)e7#LluAh&_ zX%IKs?5nO{i1uqr-WWVjc_RvWdWE(%)HiF#p{x_sGR2W0PkFgk80%w$tnu5FnZBLg zr@fRuIxW_or#!PMbzbN`*KSAlaF5O-UlQS7(=h+Cl0YH&Xgk&%Q-UH^6KSL}NLK74 zKS5utIKH4|L9Se`%#}AH-i9GeMhHA}XnT}zj>%R9say}Eg1?J{L+v9pefOjOYPyY| zyifTW%FZS9!olAK3J6WxmZP_FxyQS9G{K-{ILYI;sl3w$aperPLt=H7S!AXiu^mZqS)^<>#eVDjB@b$DDvr zaM07fH!yC#-_XXgt-tZX8IEu`chwZ%B>bO)|FiMGLqg1ub~xkUd+aGl;6abfWLM_; zW-PY5=K3y6EdISNAtlNu1|O~P*m~D>dvEHCxg{a3DoOL=f@*Z?bah&> zx!R)ETe_}Ts&(XU{WIyK#eCvRK|w*;hQml5ZV^pE0{5;$b z?>3d6pY{Uv$vwp-EOQd89roc-+|ebTl4nijGK;y1u7_QyMKqjZ!+INRH`Bt) zo59Zyc&hyfQyj`Mo7Kzpd}>SzWMT{pt++goX_39)&z3>2)x8mCM_RL&q2u-a-BjNh z-o|*VhvF#EE7tgsy3J2-RwA{@#>&6!(WEFT=0da=|HtR@DQnCQ*_-iu{QGv9>_**| z%&SKW*Qc{vqPy3pbDI+3cZ)SdHC^{kq#0 zC;0g2*WETd!50XnAbNDXZ@SGc)A70-feD1Poalwir`cGv(m8ASU510`@ik-)_bjaR zw&wY${ww-mNX0_G&5`V5$>@rhwg*j1S!KHwJm%11T~D~A5QKi{Nxb+2v0@zNuTYD} znAaQDRDpclBH0I0T?Tf@=?>wm@7Qw8`)oG=w84nZ`!v-FaB}w^N@s*`&rh~ybM^+g zk!T~NtU}%xR&wkcWcVj0f2Cr_i!7#&qg#zak`}{DkPG!()LUSEY;Ii)AAvrk!{$cib(zZvT+!kSntYydE4H z5y^PasSEn;&P9=&XHkN>ifxHXn5Se8Yd|xtE?v}jgjV%ESQ2ph$X@?wWskK2(Yv!j zYdJCm=}pFouCq(e0A)a$zb;F7f$5l7nXQ-$?Y`6sfI2AY{{T6)ojFbz1r*wIskX#- zm?m&>P1YQ)$=1mI$-IzjN@017UuD{M*%|$z$$zGJkbXOI`7uoU@Q8ZN4zD*c2r-Z^ z?2-|eo9>jvy1Ag)Q4Hy}12iYV=BAOHw7#7EdZzq5v41U;pBI*8EX{CCE1WOLXmOFV z9lYa7f)&%b+1xn<E?5>Sw)_4#-WsgXk}04|6K|?#$Ht z9B`7)ODz9=A@!X;P5>AaUI2;oTbc2F-b()40XPA)mNL_I!HlH|MNvIqjb)}W6LXbD z=1xxzgk-%I{>R~PO(9Z81&znhklfqyZn+giY zvlWSsuk* zG}m6KacGS)V#qzMM+?68x-9MNSx1RB596a94X7o*ff>SPaYJ&lSo|OMKNRJQcdl;D z3B);*PMBJ<1M3_)W*EU8eYScJoAb`U(eQ|4LgA05u4@TJe*^tV;RHIKH%p>umzK?NS@Exowlgor<_)Ei`lxulgK||2( zS~WY6b9mBW%&E0ZFA|o3#0I3$C~Zx$4#~b0+0Gl%5p$oW;QSkbbAhi-d9aR_JyJNK zC}BzI3kKZFT}#2nnytdnP2slI+iEJf%BfM9uX;2XnqV1N~>4?2@A5oq9h8Ufz<4SpAF5o$c(IT5&7uQGTInVaKZ z_!FN*Oi*WyVgMX01l60PQw+Frjw802Z?}YdFk;!S4HZ@(EW?+9YD5V8-#e z>G#J>b|pTc8GaMDflcG2^(lkaj62|6Hl27R?%d8Onv4TDFX>4gvC+0|e3X)hx!5_z z@+*;jGBrAeNfi-#OnZ_xBGXxiCV1A7lg7k68PZi0=7rlo2d9+DM=kM$hLh*zn4p&o zv8+74uheK<>S*E7I@*#HZ<#zDRb$@jXdxX#Er$6zrr^BRCo8%-unu=FFhx)IfCqHP zHkdaw9%%H(u4rBXl1H-&9_OS3hsYgJu*c84;Z94ZsP$>wI^R+T#*>BjmqBW}XD7jy z59rXTRBx5{Ga+0@`2DY|C#U^Ad1v(<_)Q911Fd~34TTZYHbgBrpciJMs$wo!U5qLjmGbXkdmXjf z8|%fc-gQMN&~HzDv`}z9L%nGfuL9&gI>zo13WcShl?T2iQtRxV+%zT%d@|T@n8nYz zY1z^zc<)ClF8e}u2E&4%p8(Fy&diSFNf^#TA0_(4^N1fY21Rdy6aJe`EV^kRm`038 zFs2Jl&DS3h%df*5tNm2>{7Zeob?RpdY9UXTqb6opQYwN+d;xP z#_k5)5!}M`Yzh2G94*XW4t8ju?p>tr#i7QvTL zdqG(GnW6mpYhrV6tfl$-(}u3AHIAjE9E_cY*g5#ol6hWOA}sTy+~jii2`_kto=cwk zVJ@cH?k=Hs?nmwp$;?bSBNaA!H=n*5)<9OyNW{g2WA?e$0}9UP_9n8DCA40@P&NLC zPn4y8B#zP+^nf+rhz-tmka6IDr>1A_Q)$a*?!JGw@(+mf-E)8U#Bv<_hU9if6`U!y z?2dXWtytV`-XQIsBFYR>tF)QtPrWzL-!FxO;TG{c;jOh~EJt#lAf{05#V>c3Xhl3v zTHH@`!q>nP9`>2z(Zxv%D^4aXWL$CkcU70A@sZ6%zf8Kg}r{%RMC*n33tw@o(XGCp4=oC5u&?=@(LIA}%b>h%G z$&=O_#SaxLP)qK9{zVbf)v3izLm5f=M^j1zXW93}avsx7n&tLJ_?EZcuB0?o>t4n*rQ+Y)u?yLM+gH2q?R`%aV~RGK&*D>^lJk zn#A*uI1&n59ak|mvU~|rUvm_sO_GFV)8)V~?s5n()H}{P-YlGs*9_B&Wcw<{>f|Qi zn6W5Fp7(asl1bM1tnR{Na)V;Hgoft5!lZ3UVbf#1+|Y;Q8pqMX3FJ+Uyg~uH87D44 zZD)(-;M6ylu(n9=SqCT2lHV-++Cs|NCcXjXq;5^xfmcl3!yO3IR5o1Nu%xC4>N>jQ zH3y`gEwYe0P%10G$6+WNtjK`x{$h}j-S!cey6>ZUj0an{7-IO_(p?}=$+r*PQ1rmd z^2>ozCVn%=v@?>6$079p^)n}BlJeIJVHs)1;goM5f7-UMfwcDyLkvUPJFUOH3Ljs= z@$JBk;Sl=i6YBfNg)q+EYREi4*P4T7+RVh;MKpiZg-%$~!PXtp&camvVNBH@#+(LN z&pB*sN`dDzwkh>Vbe(y!rz!0)!u&|;{SHj~qfU7gJ2M~lr|~><`bbTpd6pDmu8!V4O| zumF65@_x|n(5!5-9>Xm>hFiEExDIPm3Ou_}Q|dEl9`g)t;W0i@*q%*x`rW{{m;zj< zy?ABtrm4L56jPS`hIeU;gXVv$@cA?+w331xc{RP+v8jW(_EqrFHq z?qyuN{Y+(qNs=i=#4EQYuxOY;lC2)bxy{e`IOpqrj#$en)j?e#6|*ahlI>%Cujy-h zk2)F<-HVEZ@VE~c_0#}_R*}8+2=pYQNK==QKVa153UuqZe;69~tz_KWbtB2Rn*tj` zT;&=}x%~bFP=tqcnV72_^phE}7eCoQ6Q|A=ZnhK*m<#D==Hj-vMvnM56r?y7&&Gzj zKj0Y&&jp?#%}?iJq2=f2;|&$ct*nYw{tDi&JFf<3c=G-X^^lO>^8-(QYSxgUSH9x{*peYBT}Q zp|tIi?HZwwY0r}znOKZ%r~akPCLsH;Tn43r#_o(Gb{}fZ*?YJqpss|o2Jly|3+yK6 z>mMsEQ_KZD8AS~wzAODGvGkB-#k^AYpqC>ADh2Zf`3SWDoUP zZdFEv?zF`z=p^Pk1h}0xgIh1_%BEdumFRpA5=4)n81b56-A+GS6{dIHoveEmiBl{4#vBFypV)ID{fDi2G7{ z^KARdoMPew*3{e$^55&ZiS9eyE=xX(+K{^4&s4P+H&h*}I>}Sm40Cv9V_8a>7S{3= zF0%)u7ercfm&IA?xA>lt?dayY@LY~2bp!93=>|{f17%l0YaFmr`PDRxHyC~wXYHY0 zO%?QNvb~gIi2Rai-n$b~^k>GdE1Y@{4{NK<*xZd-zHOmmW z@3CZR;ox6`mP6g-Cx@%4EQZ3%muT+(tU zcn&QLc@Fh8JBAY&+Wb5r!W4%m6Cg!ygLiuI4z)LR zorhFYZJjLVaAUz0@Y0(k_xs~NHTb>-b*dsC0%9{#EGIk6V^WLsw#djRf`NNoI=d7IYGBm6dq$35{eP#GdcRq3sLF>J&f}A=e{NOkG{0Pd-K7c_|Lv)#_t)( zd+^oUNgIqRm0=Kx$6yLecHQ9O1hL?v>=ZibjiFu16Tr*OE?U-QDaU*7%c_~4BOE{E zd`+zFK3WK;2#~U9Fgm&BQerX0nKLh4LK!)nW;os}i{KlvemV!3=1H(yR(JKPs0OVC z>Zixz?A@TH5QXw-5VtYJzW`Pi~|5^>`H%^2U`T$^^H@ zw@|;s6TB8?ugq1aAnd6h?JwYP(S)D--)q=5j*6Fnz6+Pg1P^cAuBrA`A3rZ#DI)H&VGr z!R?kW)e$?#&{AuM=2y5*c_-$LOy%7$zJa$YUF*|6di}QU-WFTs>QO?R*Nd#>#Pb4Q zj`^g~6`d@R@0N~?wPg0-IWDB%jq$Xa?Pzr;6S5U1jAYBbHB1eoMpX~-FurPY!4=R( zLb5XxQ(AB0SyR8@%ke(D41Zf#O0^lmN5XxUN=$)`tAo&MIAnAGJNfnB`LYzPrG@J{ zPvpRba3@*sGzu{cSR)HdP^ZXtM(Yco(%ef@H_De!EOQX4belCC4q}x=Yb!oR(9vAHVO`boE3K zdU~P}kJ~Z|$9G_yqZgkJwLmW}gcf-E$89wlZ0a93v!*O%s>#RVaZ5w!jTlBE*!98f zW*Kd@W)r`se7(tO=+rnBunneYyAJ~`sAdJMaBs&CSK$#A%7z|I8i(HtV+TwiTh_W={+W39(^k=z|K0n(0JEWIV7%$*oP?XQU<(%K zM5y7mL*DgR>RnPOLTU$Ba9L_;FBb4V`2`NkB+RNuao7&w!jm|JRG|=Z!OGy@@sm~K zdC)bXYbpPpi^yuPecku|uP?4P-B z+)Gop_Dj~`Phfk(MYrqUGjIs-V5Q9`*^23aeQY74p- zhwONyDRw2t#wuVt0jymQ^j9`6g8C~fK;Xgkb4}%W@Zg&7j4|3#j#9ZQ=Vh~bu9Uy( zf-zgkUd8Ol_hx%hWv)`C*weV!L5BHgid*|_r7K6td0A(kBcUCkyg`EuZD{IG^0F19 z-idzH*Y;|ZJGFV;)D~bK#w9@QG789kkeYrr&6Dk6PGuFz_?hjKE8!m8?lu-N)m5Ir zO07G>!bmla2Qe;XTeMYG9-UhxDd6`+Xwg+^y2{`i9!71@`K#zir+gOwEgyHWKsCtHiMgOVS{sH8yXvKsn;5svA5VvoaI(fl>@_#3IR` z|3(s$fJT_-xzmH;!j`j&!Ei9I`p#;$<+kbxo?m;A70;inpb6E3t7AL{Q$bHnVNCTP z4@*LWszvoRzonXfai&n-OWTzb3i;nV zg)y%?d|!Kl#g*rv(ztENRdQQ+jF5|6dlVym0*G9QdS$*N_M48xX0y7&&Q zP;d#gHtF*bE6?P(kc1$rD$b2sasu)0Nr41+ZeXx`a^Qmd(U?fd9)n_&o+KDf= z&4tI&j_i%ufpyCg^|R&W`sVYi8xkBx9a>XYucuL1CP<9c6m&Hlb#xnP3eo&Lo?1aq z)1Po@8~J@P#y60Cn8FSc+=yMy2$(AkUNq$+Pe3S|(wJ%4B%O6EG!*nqD->Rs?sx=; zv<=$EM;!b|x&}=E)4d9`BeyXoxb?@gjwgRolKh@#l)(Waeohj?Q<9p6x+*#1WwLm>zlMreUmN5alwL!_oq)T>y57-+t4R$%8 zWMc@+4Y-8-{~vpA0^d}%EsU>y&Pj4ICr#(^Bpn%~We^J@rezREP*B0!i=}|psicf4 z2u)jB%ODgKtUkrI(q2HZsE8>D21F@{g1vH0L9pNiUbSf{P{w|1pOdr&!Rvef_wM_? z-#;tAm3_{h=e71eYp)F>cGB}JXR5&!T1{MG)e*`S-QK>g=3L>`GFL>k5o_yfv=2x7 z2&9|}-4#u9yDC>aE$7|iSz9?^-5D~ib%TrE{X4p~8q;T%B+V+fO>w~z2#^zFB$JY7 zV*(U}3*d<%5c+<Bw!LX~66YJ5=MZS>i;$^_CN{%0ec2=@gw2OIMw#t+LlYN8umaxifGuRb* zL+0x1;^&T;3zh=R8bl6Hxnou0+>AW^))9I5ZZ0Ha@QsOFnBue9CE9S^Y|=#=d8f_o zk9+bjjdJQm$s2gO%>rOeBFreKEU(Stf|R_b{6xD%BdBEGbaiw44~;kC z+_c=uBkwDwo%YGNSRWdxI?(YW-Q|_`(6%zg8j%ywq!Nd+a}SqPOMPGNxWjvsIdZv< z63SZ^>=!JBvbJ~CqtBT<9F9NZNna>SHCru7b1;rW&OP)tdy}#n++1~y4&bsvFRkn8 zjfmrg!fW>`2Nba#RP*}2l4sp&F$KbosUs#|(zA|n(5)j&w?4%J!g)$>N!4Kwx$8$ou? zFazBCgvY?AN9p({Zkscg?&g$F=V#U1-o>ZVT*EBtTXoJbi~1f(%Jn~X>@&;BcDcTF zpmShditQglG3MKW@mR!u&`+mtrSq}G+ZshV#7$4F&n;9XcLW}mC_+#5=+hEK2=qkY z9JN5R{Pg(XH`-N`}p7RiCd*|%BtnXCBnygd9_Zwt>hKu z=+kDo)TWg?`56ssvGY>df(yUpJb`@Ai3@K6_GqcSX{ce=7wFUZHpPR!S*c3f@9@ zTq@`}|A+YI_QmD{q8@H~n`BYbc%>OvMw5udC%0;nkuTn(U%RuX=yN69r5oMuXnIvC zY1z3HEbZ%fQcIBT2?gQ}gNi<@N3WhRiE0+yeU1_C1t?i{(jD(Go4DRhm#wjEOu?UB3s#OjjD4h}~UM{(Htt-e4-tjgKM_QA+3^^dBn`&;RnvG|=)5RUySDgAv$|F&33Bq*9Bhl7N zdMLgywqTMoQw1BYeR4M^MLiuc2$ri^KA9AMHd@{WI1S-LMvr&@deHFR*n?S=ngENp8DckbX4Sels ze$HU=3bZPm@?&IQ%k~1;0R+*TgVD7FTYx% zq&ZM{;JNS`@>~SwJf!9j(YHe5YOhY1{y2(R^_mgVd|p02(IG#@;>w39NVm&82W%bs zjt)9b?^4p1qg2Kt-ZxR6sw$~2VG@Z!s~v8Tmqbmq%%`UY2snPhH6MN%|LtYz-3c%=J7>Tk+(Y zB`2Z4Cle|=3B{GX5iY1|JCbaY^y6=;%cm#vKW$V4#5DdC&`vs%mv8| zKyUGmmqV0J)=8zGXZIY@!nD&=niS%Olgm0;0TZ{7B*!U8khaU;=j5jsy7q$Le4Za=eF=+NWb;CM>ZE2-ZqwdDO3vSR6m z!wG0FFSZswf~KPQFZi!49*_Tg@x%D6DlJqom&}JI7&QORWFNG zMZ;);VV>Xm($nYLBHWRz%^Fyk?dS?K35p(b9Fq-zp)VWt$agXyg@td zjJfy%&fcUrPjR57#dTKK+yaLO+ax(OL#g;R(G?sr&Z| zn79^g&U$Db!hZrVsI*$Bd!LWLS0NU4`!!VBLl?EYJIYyYQ zEE9Zv;1Sj0SdEhMb4O*#*ki1mkM}cd|BvmRH~nn)-Sks!e-vZNrP}ejwc>fH718A> z!~joM95;$VUca#Ep!RtCKEccx<+L8RY7ewf`LM%SpTtp7Y^Y1S2?A3y_u>2ATtnR^ zdurwme75!}2skfmZlUY=5^Zw}*9hYJZSx&>M}?Nb;j*oBqRPw2Vfs&ZX%-F-t%AcV zL|dlQwv^hsS32ilm^o47%N%a{M8Bht6U|pelaBXL`Ci)w^|aHGlBQ1i8hn_lTrvDi5^nR=_hI$iBUIDJGhFg%=ZwWd zn2OT4$+Hzd)rq)bAlp$>#zM1L%BIDpI!(YmTX=osMgi_?3~G11%eL znS`Gmu6KY$r}&@n)MlsL0{ z4xVD0TN0_B%V1(vgpW^wV40PKkMGL`6r{X*{OVn zH#1P(+){1}su$<@ZJq=o>P6qQl?~7i725E>+p5=tQ#lF z_hf7xXlKe?=>O&g)*5>R2lSRNabC+bi?;!SC_9!h&4cTATGN3-U>;ya!aLF_h(Io- zqMtsKl-e5I?`o&D6U^&Sk1Ys{O(sGZvkvt9LUxy(!SyN4ttj83&PU)Z9!V2 z3)8K_HD*)9a5#ve$nlgsk4Z)j;``Y61&*%TJfW3p@&oO@IBH(Og}deS0l~tuZc})u z<9>#Y=Mzet7sc-h?c<@6Y9gR%QVj#FTfi~$#?A*@1JR^f0jO>oMR;ge`|W$R=|-(L zfJm*EWILv-!1klz#eP>$&tb`&kR{FizH^CORjq-MOZ9B6&*30XomDA4AyZ2~}D~&*|Xp=9!Xe5y6p?kTQ*A;)9&l5^1kM}TT;H{7P%?2QP zEahkJaLu%K+J}My*n#4jYHJ|opnfGyZOw1xMjgzue^K#|3SUcqEOKLkLK{AP7`7V@ z1^|)no$z#g?3`*p7|wy*Lv26A@(_0g^3zC*E*@OuXli54z+yV`dV1f>_bdbEB9n5B zybSs8Mi$w?2=5xR-YPJxY{wT_yG?~)R5{oc=;M8_k9|eHeQ^esCUm^6Y27t9NQJ9K zB#zIazvsRF#w|`7Ox9Lv3dSta3pj&|E2!_~RLbXbMnEPey{x~<0i#tq=*nNR zH-G$+Ui?`2S#3n+o9LIz|1EJWeR366cUd{Xun4Iwz#1tvXlm~=$aq5h5V{c|Hj^v1L#-gM!}`kd~w)feA?Ok`^GB1k>T$zj)G;7Q(*{rze4lG~7@^!!5+JpPytn zp4NkgO*6UbxViy(d*^)m(VdA0g4*(ENxq-j_i-_751MA0LDqwY)lWBjw7O_RNy4QU zxYkp)2oKvtTj#^69`s{z(vw%owy}Z^+?flpcBAZxKU#LkdhB46=ZwXb!|jh>&ZiV~ zckkxP-zu$1y5KcCtbO#d9~OLKcVWA$#D2GV5Zzf&dZb=ZVPJsv3%%+SB6Ej!_THxz zX%689+WJsRb$x~5tYydrH+zn_m!4#OK69yV7X$WVLuCcFJ>|g(c8st#+Dl(F5hyb; z9>LWLox@n1-6{eI#M>*v0lsjT=#xcSL1|ot_pU%1gS_>ue)PEz8HU*Jy*I2< z>eKWN)7h#k4An?i#y2GYwEyoyh_}a5@c&0Pvan=Lhige+a(t{LPSE5My{}>)I%Xf%Pb3KW5p(p<72+v}3JSKFP-pW7FqVgkmo~T)y?b z3QhA`BS4E&yZ;lRiaQ`o0;&gwtWcf|5>L5r+D7+Axs#-TY5>yicZhmo_Peum$?bBn zj+lXKvF?JD(ef<;MAYa~&JL}3-2=gF+OzLcEo)Ku&sm3r1EFtLoS`YjFjmpGQTR4I z7T8;O0|`AkJ$yI|!CLEk=%!5@BfX`KLzCXyojt20{&dXJcukqQHT0;-V-Wq*zU$hy z=L5AT+8bVPJ&WP>X&K?W+3YzbiI*dnCNe8kZOjjw=6ijlWuhDB$qZk}Dzy_0)Fx@> z!Z=NtOg!-?c*;-S9|w*v&6dJ|R?p&fbrM}z8*T;JM@^Y(evM*D9eq1ob)@QK3oQ?Z zW5Q{ftPxc+k^bxm&=V%VD&HC400!rWa?wAN@60sVr(>zNq90Gb4f8S89{H|RZ_$n| z=vg0U~!&E+Y{$L-6;Y#AMr18v3 zeVbu1T}?k!FLN5E>T#rGqR)lSO!Pxm#+^Kfag7VmVz_ECoWn>I#ixd>TwFKgUD}o* z$Y*C`ykmvW;quf?^Ruzef|L`PCj)SxhLLMr~ z_OJAHIIh;$A($QiN?*rA%G!=Ur>{eQ(!w9O?BgxzSxN(_NhVO;N;Jlw*)zK)gwEh%_Be|zc=rih_SM*p1 z^~Y4T9d?|<98GdahX(fp7#B2Bnof$!agKcvsq;-VPO5G2tM#@Gn&b=FxdyMctvAG3 zq()uavEH^v0V3D117~H*L6jlK{}`W13UP+!XB}{#RVKHu&oyhKgRic6TI-kH&nX00 zpDWdEiTQ`+3svbjpX&zFZ@+EM*~n{*Sw>6Kd(T65Nd|LT!NOo-tSG~o5G?bQv1#n4 zV6Ab=4&dvR^yRvl{9{&Pv)pjPZr>o?Nhgpiq{(GO(~(+*!{O^ zPr$eO#N`IoPzEP7)6SJ++U3EFK`HEH(|QhLUE8>AGv|%+QR;aTrM6}2RmYgLB!&dy z44dS1+Pm)F5M_@KvQ^S8<=U#0aNrd6lt<c2br%k+QtY(>kPggn6*G2YfU(z97)3T@#|!zi2=j+N2iskm&|GS`5pi zRRdiyTy!2X?_$Ms90!H!6Vt^!Gq9j=;pdDntMymLfeynT^#nKP_qq@O_&pBm81=GZSh06)(iZhY99NYW!wD8+a`~~-XYsI0;%Qf zD&gaw6^UerLW$Rtq+RMnT;Xhli z@z{bHqZA$*@2HSY?zg@9V?mQEPg6%%mTii#VoJ{(-PdCpx(1WhWW!aLn5tGP*Alr>)Uxsp zTYsCV{e`Vhc2EsObUq;V=)&xz<}nJJQ&znms(KnvUAUNpN>DdJnmZYNU7tq1tD1HVjVjatgxkJyAJ#OVQ{`gGYvr&H z1o6v@Ge*2Uu&c#YT`fMC+ZV@h91&ZclVYS4ZWu#vy7kSl@f8wPxR*Z$wBDpWZp!I$ z1#Ih)GRAXQl-IC*8nBq2?~5(aFE%*)iJF%-F|Ruv$EnPMzOL&Abj~x|s3Ve|MqTS6 zw?!lMYqVC2^@8=Ulpqm{V6r#*iG za-D_9-#7wTlA0MYS>ii-Z?nw{%2O8DGnJL3@MA2;*Y3B~&F7%;F-`M%hnuEN_n#SL zO0@y(En&(6@%93oyA-2icOe)2YKq+R#x~nrZTL4S5?%WXzlMyqxR|9*!(2ME8J6_N z)h9=9#Ksj-{U%!0)IMEpS! z(Hq&-Cy|8mud_k*^c=HvFNSr!)B?&@TI*C(V?RypMXGUQ5 zEpdk_^_SYS3j6tb+XVExUi2&46$r(H)yY@l4wGU>(+PorK?=QiUf^w=zJ;FW6YseQ zUTKBkGQ{T*S6FdnYL$!V64;viaO6d2jso1l1-ird_c$c2S9NNio7H&!bwY zn(Fph7@&KUnY)g6K9k786nZ<=KEVu3B$E>887o|=2=HoEv-Z@-(RQj$S{yr($P$N} zK9@~v74Os*>D8IJLgB(bTnzpCq}C?d9xGLAcN(UY-lTSLQVep#LNILKT}oqmPSip> zQ6Y;P&K6@lvV>1eRzb@wjt!F8C-IKFNlSk#aPpPN{JJ8K=S>29iokJGh;~pYG-XoV zzPgg8#e#{IcK<%(4)e|DPUTw7X~LamA|H@pz(&>I)O=(^&o&6MT5gu6`>8oc}`jH3@R< zfi_WVC{3qvpeKr-m=M5^K23WypG()|t@_$?m)t!)w7*2~$Kt3=JKfo%--9V1xL6p@ z9B+x@*TjMQCFj*H3z<& zqx@Ootz^hs$*P)Kd>VOx@8@3X>^QPyTOEsiA`ZAD+Y_ABZ|S_P$Mw=gTrJRjbh@$( zC^NQFeLcHWqt9JmU(Y{V{@K#v+M(9Bs1l)Ua4sATZatNooRkLl355#kOLNocxgNm* zyPSIDKfz7+?c`?SXg<^PSMGwTW@E@_21o;~7yqTq+bQ8iS}F;Xl&WO6lSZ zkuJV*>l-3nd_&UJN@*jNFrj(qS&_y{_4A`j-;y+Yr1^7*n%a*Sz*4t!M~rTa!K5oQ zMCraXP#x_gD&Q&;Hilv7Hzj2k4>N=n|)~9A#6WQql=D|GL+v)d^ z|1C4!lJ0o#Ow$5Mqd=4Wq_B~oTN)EO4!mbymHHMqdSDK6EKzr1@z>7|vN-w&8;Bg- zQhV*IT33}=#Z}!lwe)y)-9EDpKGot#x1|eX1mUMc{HzM{<9UL$nGfz3SD}*5li{|z zVnKjN*MP->Lb*#*i+lkcb!~s?Cj^M!FJ1C4O9M&`vmYQzcybQ*MeJ4|4) z_K{8s_cv={+x%p{f5OK3qQqBNc)_g&advw9xfF-Gbjb{y7xcKIm<}#x{>J%`;E16v zk%pb3PNXTf!D89rez+1}KZC}RG(jkUqj$wQaxHdx5`0F^%z5w6qdpg|$;&b?nwzCM z6{`g3!KXuC?N}rEp?1F7lODgqkZisqZqoMJ`34;M2LKwMoTc?Rez?mF0=*?(-kKhN zzvzcF-gN48PFsFZVwy?3sdLTX$q+jNf)Ymuo}X-9l(zWd!Xy?Mp0+0oBXuj4$t|V1Iy;lk|MXk_@Q;4YSMvc0s-J$%-)mFl(zBbV zrjs9~dI%^zu)r{TmwbQ61fa8Gi%ZVyTc}<_dM0dio}o@pr4REK3wQAS)V1fT^F)m^ z6?|*&XOi=zIQp-XbeX#3@2y*(E1r*%Z{FbAaArerIK$~wR00eP&%yE1?(Me*+i!UC zP(^a?!al4~6=&6fd6-URrmb*kjd_MOxe&(9UD$^Nsp8Sia<5L6K)me9J`AIlDeq+W)A*#?oV-q!wv8J3r`_1CbISbcV z*QKpXUpH(WIi8%C>3Oye;)cW1Tfve>z+6lq&dP+B4qkGBr?nlrk-kTi-n!&x@jX&} z4=qhyf}xmyh;}ru*uN|eV_^KI&h&C+Rq+9MXkRM)F%_^&%e|2BT!M-4UgN>W; zS9!BXSm%?YnsVD>VUMzpvi6)%4C47B0msC>*(uXq!qa5GS>uRPDazNnKqlKkAk0ICUr%8okVd#~LkqmG{BIxKxl|4nni6K)$dXN7V)z|q0EL4q~b zTFR7ankmm57Z|jFaY{ETJxlLKrZ;K@ciCkGnoI9iMuQAz7R%dm?0M|lr)<-49FEF` zx2029ly?hg9iB8)f#uG})zg|!3`KC%4`dhSYx71;-TBu#27yV-*dEaAGF)x znEYEvd|tFUG+*)j6S=a(<+gq}dSyW$8?1fA(U?Snu!rlu68j+>a^}MNQrn%mio+_( ziJ?Cd#lWPG$d4cBXO$gTkZ!)yU`-eanBTJGgy)D=7-jI~Fj-IpOyb!>!ioLmNai|l z!+I)>3mcm3R0s0{^#M=i&Z)cTY(ztCl^5?^GTjMD+olxf{9uT;Mh6D&Ora~2 zQI+kPbF}?~g>_@&9fo`Pv1DZY=f>Lk5grogNP&a`oH3qmc;K0Fb0!_jv?(YGFFc?j0qNnkmtXA#b&+Am2?8QHmYAE*)|dDn$Lym`!EkQ zM{rbkjMiz~#3%XYj&+Yu+ChFer=zn4jd{v#k|ZgPfAIzfEJ+w}H!%l1I(u(>k0&Vy zW`#uCBlf0zo!}DBwpA&cJ&T3sc=1bz{722SbN!dY^54|W9sQTnxFRQjp+Ov%2V(=5 zKeEWIA^^)%7lrX@Vy}*$K<8|w;NX%iG9h63JImkW(^)unSFA(SwHGx3N{uIn--LWX zf;F1PgE1O+d3*V#L)P^JJ)NU!VIM=H$WUI5}`yQ9Aq^`LlI( zljy7wIB{Q=U@U<2JS9B|A;x@vv}rk*%aUn~5SlKm&mF0+?bs{cP=b9sC|0u zSb_ZblzLXhfd%A;faSIGC-B3H&H(M}RQE5|w%Dgj`a)^a9FtZ$Cs~YdWAz~3KJJpQ zx6%8{7HHDOnPYFX{vUduwaA~l}7SQw|RQBONJBCqE%E@ziAx&7{Cs%1m@jTHmzsAyPuvsEQhG-Fllyf_(<+~$vrfPGd!s|N!wiaFO?(+4 zO?o@McXN^x=WS62UDQcv{2b?Q6H=*)^${nv^ogD-7jHLnWtxDsOIC9M7pBc%k8*I4Ia>{tRiz zXGlYqQ27(2A=I1!2V(!pY?A-8WnX+RIE!l>$2F2FM+2q(r#$p|f}tns9P$(B+X72+ zN4Ux18fEu9(DaW5K8xuuj!PpGFc0(`F$6+i(pVx~(Yu^(x>yg%^%XG`J zZ+tx~o^BAk?>Z-)bB!;ESB_vU^GVbB7D+zp6UTbnVyu(Bxw1Y(4Ggy5Qo-Q3T1(jH zmVL25YWBq?fLrz>=2K3BoiEF4J=K_wMThm-C~3Io3QNTGb9t)5!Fsh3d?S1(-s(`E z+P>UXJT`$fsPzV;&Y|WXC2*{-M^RjK65PgW$9MEAud-EHtmmUikS^LtinaWgEV%jE zLD*se9_eloBY!jDkCEc#P2g6xQc23*!od>a{Y_Z9vf9{sIodLb7ecH z)33dblWVJ5Wo?k-{tXF|&-RLziNfQxngO$h>V-)rw#psu-R>D{+AU@h-3{Cj20!7K z83u;WWHS%DCfm15^ZAK+;O?*ljhZ16O7jluYFCKX^-hwSFF{Z+FEJ7nN39v?nAEk{ z!96FrqFbBlN5j5&+?PvU?+M`#8Gb&Lbc^4Ow22@#ccvzZoyxiXHK&_Gl%-ZxyDwH% zO8yN?Up3MAgq{W3+6yIfaO*US3}-j$FbY7q(JPE`Tc2XI%ehNUvn8xa&iO=t)_5gY zb=H8_j-LdFkwF){*E!ijHzE&h?V*kI6?|^0zcl{x^Ba^oIcl|qdMvEB7dqLY>*MX? z6ZYgWmM@j&<|Wt;Gs-w7bIR^ub`q%Zc>IhDA+$+S>}~UDox>{TWLN#|UECL6(~7!G zZFHg4>-*;j%f4EA9ok4q}8o)Hi=|5kjF5fr;i zL4rB<$kYZ$_PEwfdxK_+Py=I_(ZHuCRTY=L zV5O{-uLTp1oTC<>M6}{%degIq2JBj1JkRIpGtUl?qO1s1^Kp6(jE;|tm$o>~4?8ppO148W zOUC_M^OLsU&C1RqPVvBo68^W2L9Xr6N##i6xH*IxB2Go3B)H*v+SF@wJJi2vwpGN- z)bG0NoemeD8=gsxl{QQl$8zUGf*a4YFGN;WHFta>^qyH{g_nXG``t`voH8YbnczT1d&!>C($IK1Y^?kIGP}yh^aAe z1Ihl?rJFc?2))3LpNq2@i0xPFvl7ysPWMKE+(?b;I~a?d8)NG{-@=RGU`b zB5i5UWa+RA&zf_Y>aP0j2kk4_SMa=Sh;Fn2R{0(7N$xZJ@KW7lz2gfEG#cG8Gne=x zLIn+UMuv1#QCshhQmw`upC-qzyjFimbGcLh(phcbTBOLlOq8Xp zz|TFcutAGbopT0d?uIp=#>f-N2~TfUkFJ)M@>v<9p#Q6V zu~Oj-j={Nw$(BO&Tn=-T!Xfh&pZa$3ED8bVXzk0DeFh|5rDRnY9S3?2LGVBJgg;X3t|2J*yv zWi1*k-JOO8wN9COkesu-8@>l81Ipe_Hw(fOq%TL*;WtRh1iMiA4RF$709r6uH*Wz${x0tZs*6Ugyoxn zrb5BH&K7s9pmnz&MsY;{8pp>m&0`LyZf12rWvvRcL|g5m9kTAfxHt+)KOfw$J&d%e zqd}R-ZRzk^iZC_|W$TcIS^}=oDuylW#T4oL{o(F%*>ZH1H0mabwK`8_^pNMH9*ez?stuUQM@d-e?2{%<|NbGqDC<}I1CDzbSX@2~v9Mv3 zU>E(e@{cm0e%Gq!+_c9CFJG{P@ybz5YIf>0ees=FrYrWB=E5sF?4c+gW$14t`4s*= zy^b^9CT?xK2$t{?j^ldGzPY=?x7#@Q;*UwYGft)EQ`@cOFT$LvOfA=pzR2r@qIE9< zqy~9qtx`Wy;g(LHzwQeuxQ-ZZe6i_<$TjQx%x4}U=2cd&z3fj^4A^%SG(|k7c7$R| zNyj8#%%H3gUGk6-S>?O@c$C-OiMI0_FDXGfM<;#_^G4O1Ngd)hn8xr0;nU<{!l=Y> zXOsOXDNz=KOo4kO-{QYQ_68x|*TSN2O4yL(L7;BtgsBb4+}hCIHEQz%8B7;{wtYup z>4I+8IWc!+nCBqG0FdEe8{g+>fUPV)bUiO0>i@JpGW*facg=W=(GZeDM}8Tkr}2AY zwq36C6M%PJt@(C3JJg}j@<$9PC|6n0yz|j(XcM1rd(P}|)hdu*Xqef_PJ=7gFp2Pj zjlO5`-=OXT7Pwy-n?ulGK@-PXo6 zkBhd{q-yppV(Z-x`rASo)T`&yJRP8kiXV--Kmi3bGH#O$;*48~zXIK}B3>-Ve^t+) z(MtRI6ypTcTyOK^MRVo*J*%OkkSB2Vi-K}-~Zc^mjRp8g=Zq8EZ>*DA%V)pnR)iwZn7{kV~mR2i(q>~W%+ zOyAJNpa{6|3bkA@~c$v9ePzZd>pvg$bKYW!y>Spe#iv^eix@44BOZ-nDF`^4sXr@v>F`gS5F z81G=7LU={bvY1r@1xzhU@sH?A6Fam?UF6@=)*-7)>tt)TbP}#$k|SrrEPY0F`;Fm) zK+%^aGc4lp*~vXUm~-Ntlk+!ewVP^LIrz!kOfnVdyKaD8k|A>r$w}UeF!tuq7}+AB z#b?)&Jv|+J%w1tHSlGfsueWnl+a&ojWx9>$Np32y&4xOE$2Xm}P-i`!BBsgIAhE_r zhGWo}Y=-EYT;5@TlBYGY`F9XZdphu~Hoq}%fZEBwJ8nBj>hjMuVqsq<6kFrjzPB3O zGn!_JROoeISW~aF%0e#-X<#q|--k17iTI)Bqm{|`#3v#{tRE0eJU{cF-DDNi&^rZo zgQ?^3?nG9}f^6UCYvliUT6oOZzP@^CVR@~-x=%$hWVhdKWQ7I~sBUc8w`v-{6yzZ0 z7trnK_sxB6(9oyxf}#8%?POOxpq-77)`p@0<44vNWNgHF@`Q!lW7Pg@lMU3WN~ z=uXdRjmanx{9cP5nzrBr!scOY|B}J0>oBTVxWv*Ui$vLfkykB70G}f zzoH_*4UUB66z7SQBkQHffeDN@jJzuT>e}_T3nJB`FX4GdtP_DpQH3%enAdk&ELmR^-;s3xN3#I3`#8lfQx z#@KVwRw@Yei(jV%LHpa9cR6x)8+0kSa5`8PnP2#-vj_Y=M`ityN;-kbl4=t-HXla) zi3*^^%Cv1^pVSUB$VxqY6L8qr@7i#i(a4%$Hvsy*C^})BFn_h=@Sg1#>uU52YTr8c zSl9raBuet1NG%kbs7bfQ_89Z!oAOotz}mylT^F2z5_M6hbpu*K2+Vj_pNSlwD{grw z!4E=(5b%ql-}IL;NdX*DiiS^=2Jl}WP|+w{7n>X@3t631J|Et*9uw9A@g>X+YFQNK zf`SA2sCvH{!l0dgr$E~p6fo?$lpNHXQyNFzEcG5i6qi?v4$$9q2FDMRsrY>813cDUPx}@ZW5N{AuQc0@~}rP+UsjqTr(4 zNFFf)9o=Fs^hU^fsEL2{hfX>A>$*48Iq(+r6TxZq;=Ru*?VM=^_4S}@^%5l)?^yfF zcnjk)J@0sxRY=@iYsdBm6tg$Kfqn;auIQq}lL=FZx!(;Mb0OBEc*!?FtTqY=+h&Kl zorT7Hud7)g6U!6^tq2CwnF6WtQd`XG(yiaM zuYTtU-c!H34n%5wVpinuGebKMjB9-=SBSvho!n-vHCVBy>W7MpTLBMrTMNLyf3MMf z7j~|MGd@E9vN&Cp2$%T1V88fGL89*HQ0_Cg?{;U3AaXe=LYfod!pTCuYEj1WWVBKc3^N^oE zdBGd33OifPNxFzXBBww2NQ4_R?vtTS4mrbZvE;v6%w^~C|Ho@4FY$_yz7U7tC#WoCgbfn}e^};7vP7zA2`uEOZ!T0hWWX45 zXg|VUoI!Mq>`0GD%vA^_W+6u5SdZsUoF_kqu$Vi!?opbQg!#Y9N~sNjlk6}GZ&hUC z=R4AADK~SWC53P!wsbrU=&TkF#=w2gH}8r9jv(_k6D%;$e`(su)xB*0>hZ zR)EdPc{nM*v;>m-N_~mI!c5O?0cqKq` zqUeJ0S9QLh-*W=>gttNqNB8MrbtMTXt;=saWY9?K6yQO;b|u}cV3%>KIny)+8Zm-p zs9&Bj>4N+^8qyYK)#=5@L-uIfT*o0oCk?0SeVCPS{_(Bv;)*0M66%jjZ+Ri!tVE-6 z%Sr<>q0%8yO# z|4-v@DgRMHEF6MI1#sHZSMDNW?V5fRnhr zENB`W_86q0@^q)#1;h&{Mi4?{fGNGSpf{$Xg^Y9=<_0`zFrR}x{Y$gN1vBsTwi8_U z&u9I)FpqIF@%f?4$!-$IMr-rh>u8jBKg|-sCvt!xp-@YYDxR`nfB~uMcd0hC3X0KN z<4$hOJX~XxXXSzsN5Y$*oTRlFh!Sp3@Dw+`$d}MX>v$suuwrGe?l30Sjvo&_JsbMy ze5Z5hkbhE|ES|e5Z#9Q6ZS}2jD13 z^g{xOx2%}k*U$eTC-FLt^(aCrg)?R#^r>GBcLEoqA^HMqx8FD%KXR`iXF%qQ7K)(K zm?EnIv9Zmt=L5Npw>DfOVS6HnP+^sst?S?5%AE+mQ?Pk(Yt{BcrF8PCrV`8ar_}%j zVcN@Ot#P*Psg=ce=+}{wdBVfL$A_KoP}hEg)S2j+(z=#|M%KU=EQ<=-53@%rE$Eb* z;WsmUSfkg;*W7bIAbiir%X%l&2vPyUjvAYjxU>A5>Xly)bJNb2L#O#6q@6cp9&bnB z;`c(i0n(Sky(;FHryfKWWpH?mLYnosakTX|tma%NYInXwUFau8|M&=dIavNUF}iL- zlt*t4QRC5`AhNKFgXZU_9kfdX;io?Iz^l;z!suz&HZLYt_$BUn=X0@?zFRn0mkwh^ z3>s>0z=er8>~t{!s0ROEycwaMyCN()xktWU7aRI?UtFE|1OW)4GQm^}5j(WdCHB;; ze;b)QGP)dNw+2+*souBaz-5lt3Tt$KO&-0V?jwUyphy9Hb3spniX{Y`jpeiB^e`6I zC3)@mQ}Ud`RWAVE84Xm*7Z8CK$4#q z@KFNO`sDJ;Lb3@kRJX@krPQ0Z`MU?5Z7XN%O{L>(1N6^s|J71+vVEKYz_ND?N!wk2 zb{2(;g+@5*eVdHPH*D3yM+>C7z9O6G<2JtmuD7m!r2lAfgAzrZ=l|uFe@U?8$L&SG z@+s}^-@2m?B7GD7txrQ3IU4~N(BRi^Z~_4vq5TPa~ z3b2pmtM`b;!`I(Mx63Q*J&_L;r>i~9Dh(_>!$LL7P7vvb)9u9RMk71mG5kGbS8pZW z>Hzhm=N$gwb*H;KU>^16`TggaFevb&@3&X9)90^OoTfMPM^W;|)t1DD1nW9KmjCNcb{x$MoE=DaGyh-7s1W~lNFc^DK zC-Pe)3;74C3o@7{5-2SY_e2PmlprCbz)%r6`{9jj$_EyVL{}^Bj#MI_7Sj*Xj&6gw z{yIoM$c@QO85r3{=pqc(ij>Ca5r5NRK2{fCNuw7DE)z$Qh!trfqb7e4?Zm&<9ONA2 z$GDUvis2z~q4@Vv8jMo%X^BbkNooDaHbfVEFmmMI$XasEe{ozZ3@SukQZAEUh;067 zL%8M`42?7*2VwSz{tN9Bm~PMrQx9W?EJwOCR;EsE48unPwE&t8gDtF-yYAB=e()0v*mf|jON_bOsROAE9&x}G+uRjSNwi$mt||SX zdac!RE7Qep`p;RPPACWbA<8&O%6D2bWkp+0TTNRj+i9k?R`abS7l2~?8HtV{yYD`g z1&zfw3#z|VmNb^%EU6B{EdDLaun7AbW*K4m!!qn3%sj&Uhk4jOtQCS4oE7XLtObGv zoCWM(SW5&;I7`@r^acf;5)?H>5l<0K5h;;4wvBX)N!A0r22`DJ6mhiVDRVY_d9*QV z9jeg%Kamq5C@Lhk;XdcTwiqh4q-wKr)&v`UE$=!_46z!p8osc9aRoQ-HG(<7Zs3N! z1~5C=)wI#9(Uil~jd3lN5fJ`uB+Fr%-74KJ%$^)Dis6{D5`l`2ckzAGrp?eW0K=p3 zGg3aHiv{;B6}a7z8m@Rn{XObg8d~c#{}kx{#m)uy;oJ@Cz681uVp+LHWX1w ztbzcE$_2uZ5OJ}Ak36WrCm^~ybZs{Q{v-VljoS6-c}FzAZrtXyiSH;&rj#6IVb}~o zvQ`Cr&Ya=B%E1+4gh_m4#a^me82AL%vw1)M4a!%y-YH%D!Xw1OG@ak`+tGu6ycB*q zfac@_!wn->;UeBjXLJb7@=npTD0Gxw_Y_lnT!!Q|CeJwX`5m8)x>+1<9-6L~w$wU7 zngyRb&)-UJd$KP*cCV2&aJ$jw;xYG3~>Vo8dj%iav@(QxS9n^wtiX= z`&@iU^}Es0GniXm+TikUGxHmW%M}9cvtP))J+*9^3H#irjpU@A*gXbNa4Aifm!^(K)k@q)MjC2eAn&yp+afgL^lUe_%1>^Fza>! znT9+2fb}LnS}>bgXRx~?r5}qDbwSFZ z>pib;S|0n(dU5)+46C3j7T=T;f0w!Dx26C*-IH^aw>hpnal&VPI(S78a*3hzxX=3; zD%{=dB6I7od2X^SWOICsj_T+7^oB`=Ph(`w0+2&I(oa)PtQ9e$9%sZj80>MSI8Aij`WE z0UuJ-7@K34XNTtt4Q?gPb_wR9W5(G+9o#_(LsY*?Qs zD>|UUeUb}O@q5OyxKX$yNg5m0vEa0SbY66L4Cry*9F>pj`j=Q4{ONA9@$L3jKP95i zC6=@;-L}_IE4qGqQ^vkE^`fPnf9iOB%;*;In&BVH?((ArjqGv+SR5JRL_;E9QYf1~ z-}3X3ye7t>+Qh~V>?|bExyAze&~&@x^VP9ZA0nW)N!W;9VZKLrI}GPfg`x||Tuduc zTaR}G45Us&$9`^#mtEWnwkIO-wUv0krjj_~j%)*m%|TsQp`7l-BJ+P^q4A(c>X1iS zd1F|ZcaS4kG{-ia+b3mMzGE6ljsAU_-}h6&<2NIuJN%hlzeTP^z;D(eUc>G=%q3TY zb`*QA*iN0t(Zc_CJ!pFMBIy)n(0>6JG~5guBfzf6Z4NUC_d3m)AWcTDeK#7#BHP!k z6ZHn?3%~FO41m8&MWb^A19B6lS3i*G$g}Ge!l22sF$Iu5iStp8hAqxcBeI*wSX-qt z;t{N8gfiBJdrGn5mq@sG%TvZnx({1Yt|eyIuZ=GJvkEl4|Ftcn(}Q?EzXCYxx=u=G5sf&ELd7Ly*JzzQEI%&->#Qc(@x_;T4 zBjguM5~bK6LdH_XoOUw->O3WWKxqW^zmBeE#=h1abs;Q((;_MAfx_e#&CEvNUqjU~ z#ZwAg7kw77y7NjB_C(`-dZL8e((|@)Yt>A=0lA*8cVQSdZG6?C$W&cmcE6#P@hT&*e({WBWOtom@h0NINVgNr0~{G?za6$4zjP z8FP~OYYva-Pf5a%{wRE>xG7LqX*ke$X)zJY2q0J9DOu|)tW!>i_ehG_8u0t-8S611 z2l6t532j$k8F$I?rzH3?@OI-M2FTm-u)UTn^kn+ci4aaQmHm`-EU(~6ynHe(Z#U_6 z@6+SBcD*!uNJ!e__fn7BLoeKZTmvp`xqsV_nCt5aRK2-pKo@!_xb8I_pySnY9#Ui5 z?Ee1I(V?Ve@LV}juibL}fId}duRqb6>@}UC!Otrwi3kz(dd`TyphHCI;w69H+vBfr z+&1DXn;Bqf64LfQj%#;Xf;2U2^=Jrdwv7*T>nB5o%?5B|{ce{j?z@WxAKu=}$z^?j z{MRPxS7$$4Nqnrw12_sl#aF4@ik_CC@~h5cG?mXZ(h zrL}+@TEOv50Pp^yc_Y3x-FNZJ`JFE9c$%i{aPlM43*DN$>H2`@B&iC6c!*`|) z0{c^3x{qbxghDDgLugo+m(WUmpOB^Fy=zNAh&cY2KyTZfT494DfhU*U5)wBOHYp(2 z_P|< zOm+6 z14y^k!NW$IW7st|t*=R~h|!A-qq4m! z&$I>iZ!orCkSRkH)QBRJU!#xi>=%d1L<#YfJ&(DF+tNouIoGqZb0|r4=k;gkj>_iI zU1v*~Kd*{>eDzITh}>Zv||ulYDf7oN=uoTRFB|0SP1z&$cD(x~Rq7As$ct~9+tO0ws~v!H1dN`7MtOmQe;d4+DVCJ!XQ(-$Jb-B0C=BrwKcY( ze(VZ)`E4A-Ou3ciaWOpufs;0-LFJJsrWo@E_v)g}chL%gR6wOg(u8bMr72Ts$*8XD zuN1dNMoCN4MUDMoYgrBJ_F2i)l;XI*1+4M1u@SB{a&N_R+zM0lV^-|!K3U2%fNY79 z38%29+s3)-$pqszWWY81{B(F`y7bSFsYy3AYH!InaC3rQXs>2U1=RxFvr@Jh786Hy zT1CcYB3)76Z!yb?MacqHWGuoNn@o+7bK1VSZbf|--?U130LMGe(bakRk7DZ21x{%( zl9@*#@Z*cRiky;o+l1w}tJslTpuQiIDY}|!(ye&gKl5RWv*_*usf9n5x(4S?csm@m-`VD$8cnIX|Uee>@2FMsgE-|fkN~j ztz%raylqq&!&ea{6uR zsZQ7+bA-6%)yR0RPj0ClyZ<95Muh03x%oROgVrrNqvsIAKQmo-J6mY)tSO=SD2|SP(6N0lv#0Se z!h_Tsmv_TkdBCMFtYojDiDz)!eTY+1p{ay-dycNobh|Ex1dw~?5JOgwSDZe4q0mo{ zs6GLoQ&eeDtIgZ+8&82w;;`-_8wblx2Q&9r+V|E#Ak~0f?Mfl^&;lcZR{&6^=2HH; zKO%lxa;6r(pQ@v8_A=I*>pr=+6N9I1#cu3s`4aZ-PtPqIu9Nppg+utq&WLqbTEpp< zw^sW4hZaRhiuw{%THqr3U#T@3JHs3N`$ZlXIwdsQcSx zO~9K_kvB-j2Rjx6^E9^QH)=QxG?BxU%ENo5q4VEIejy(YG6pZvBT_OAQ5n<_+f{ya zv$(AkI?1aF-%a|}R6r35bMZ<5VZw%nS=3^Lr~x&zdA6O(j}E5ph!4US!^Z>RB%sk8 zkcOu8@NnjS=d@9687K_9)aRRq%{O!%5-}n1kn|?1T2QMfcx;dlYu20>>H=W&Y#9X8 zG!>-e;>2*vs^ifU`&1Snd|$W$+<&V}bbt2}%WC@jhpE~QqL?*5{MFR%*r!Q%sIsN% zlGd~}KaayQvuO1r7hl+p|5k}&%7%ZQqFGImQ?W@q;gqMqIkLtj_WL1q=I;>2Nt^0v zAzVq(xfodw4TtNEo6yY&VcS&FSy{vEv6nT(^YLfg2rCwXEmYMqtl(4@4tmMm(XCX0~A217OOlatR`^BC$Le8 zkB3P(bTV!NS!Z2Eg+&!Vmo6|cFg?<5sG|`dNNLzqHmj9ze6ldVS>O6na3#9D@^uT0ZQ5!aFtB7U04)V z6usY$RvlSz;|nNu9id29Rn=yBkwm$c8haX!=BgatL-v_DyP{@EvBR z^zgjyrlG6hrgl&>t7=BV6|)xuz*z4b@A96NtXW9IIgg1Q-0<7%WVA5VrPa?)t!de~ z8OCWtT$&;sP{j;k6l$r^O5Mv%fn16lV4%d z&7iHIzq&wDmQ~#B&--xsq^gbTh~)xkV~?xo82EyVusMW< zGu5w9rgJ^Tq+V14BH0UJumdrFYtXCa^LaWyP#E|%ts<p6#yZU9pu*{! z4AVNh`6EA*!E^O>{Zu>6-DM&%=J=uWw`xBQhnDBcmrZMwU3gJRv6kO_!JZ(Lnr)-) zu1i#bQ9Bei4?;vSQ%}>^`Do9tYK!I~8w&T|@}`vH;Qz(qVdpHpYtyMi7H?KZx&u?~baYaig z|6Kf9DjfZdxe$C= z;#a44dQUWX@u63JXnE?vJuI0xOTN5F*V$8Or`dJuUjXL-t{*;U9gZuvr0=t7^Mj54 zN2tsMF|5Q;g{YlYdo_yd}rtY#^9QE1c(K&U~N$u%h<;BXq*Ktzm>ii`8VX zs({CBw3@jA>GoBZmE%8d0b?4yz4-^N-Xh3<1dWlhK7XPH_U@ynzd_$ZEZ1LXaCcvMBUFb>zgbocK2&ebF&VRxrH2^UE~M21n$P6&t$ zauMY)9%oL2;HdA6bb>$!N7&sVA%sf;D#Lg@PIn*~0&>w&PbUcOgo`0BV;IMAc7osz z3J#7VP1}M(Am6Im-3d4|?>XP|z26_d=a)RackQ~as#>*bt*TY4o?7|yl}|nK)SVNG zi;I6YZsDEFA78q7$(>^-ju|^);+P3z#ulOf-~S-%;(PAC8^6cib9eEr@5CP(JNBLl zcil7Yo^j*vLd9bz6yH4#33vZrDEq(tTfXesg%yH;mOcK9Ma!T1`Qm>T@4pNGf9T&+ z|6TuoKf;7DB+CCcW#A5;Fn;_$?Ei7&?;bZ{!uR@r+}L}H$0MQm|6i59_3!`X{g3}1 z_}7`Hc=rlVtQ1xZ^}ax=EEJpm+dL@!u4M8~e8X?fV>A*3$&QeSo)Q4pgrT?Q|CfK_ ze_-HN{~7q_fS(h7dGK?=&ketP_!W?F9>RGD=OLVja2~>W2Q z&@MrusHC+tHOxc_f@~Pf3-b8T&^Lhd!D+Dn3B#oU>|g3AL8Zc!zf0R)9z?GdW%yqX zXN3NMJjpsm^(Fj%7j6UJL*TnuF*!vE^?U_*U6hX^Gx9|=3+d5pB%nI?fF0^h!rzDR zpCcEE^BB^hQQX}ej?0xJg?1d4RNQvXqI7>d6L&VQIA z9!I6Z&4%}d097WeZg}4jpw!hP0DDy*;N$CnkMQGO?>o}h(bwK58|3V4d2FAouAyWT z)U-}`*WM*8M(Ua(fq`e8FktUH#w|~Z+=?0h=zrm%jqZWp{OuccP5Uv`cUkT`)(xZR z+uR4G?&T7Cvs$SBueNX->+stdfX2`|wers3W|NSN6ja?^E}@V2%oU`-%=I|coQ`o% zPpEtkeED}h{`tNVNf&+TpeMAajg7no?+tAwLGz{^;WXW)0rTF*_RI2COZULkc3jf8 zxdqk5UM^PrQfjJgZ1D;<_T!uYe=3biFZSAExFptj@0Qe5>)7Judh-34^T#dHIZF(u zK5A&+Bwau~T|x%+=5&Y>s5)1beXd*DqK_iQ^6|g1-2>e#By_4hJ^#U^-);)-Ke0UB z{a_MmN=-#$r|rdcZ8%K7h1MJPqRdhX4J)ONUdHYCwz+$N>+G%wqR!#AtPIK6X@{q& zlZU4{nVLX%x_n9CwshjUSSH;GZsey_6gm>#q>hN0JJT3x=PLJG|i0tTem1!w~Y zC6zii(V0-Gjwtq>9BFc`{@C!iXBIj*NVK_5fwlD(hV+x5X_G#sU_XSxTp z{-t_wssqD+5X2=f$l?4*daeBd*#d9uqdIVlTDHuPP5w~W6ymDYurWGUko|_(W)A7| z?H)Qq*-+l%UCnvyu3p^pvO$pO^^%$#W7p3G{I*5Soh-~FHwOk7b5=&Nxw9s`FKU#qr=|i z>@ai*0hpb>$nMI+?|#(fa-zQ&&Y>>16HPK9y`&mqkD674lwNbtrdL|%O9QXTxL&V3 zs;=P{;x^a^wZJ|HG9oaii9XyOr-n(rbAq@o6LXLRbqJsyeN=&q_s2A8^4W_7^9-o8j$zDfcCuyKLz7C?1NhMu2US7)puJ)sb+Q zqaEte4)yQ@{1>4f_}z|NhCZmvLUftJ{Ur5uxgPYYzP|`}(wG*`vAF$I#zP2G`pfd8 zM!-rkN*O7mwyAxsisx5LOvC0nVWV~NX_E`Ff6%KaybQzp<#-(b;nH(9fp_JgRQ%;F z{m6!R?8=zZ6?cuF(t%xoLB(5sQ7?Vk7@b)^XPHP@5Ds0C!%BjLU2K&YTo`nc_VT^Q zHSo(`yrQ{r%^z-g@&I)ff8X13GL$D3FQYPOw&UvKLB3v6yM#rEX-WcDdQ>`>8cWo~ z2(2zjmgsSdhc+mbLN(!j87=S3NHDxU53}0 zYQJj9WZB{v@(0wD!Z``k0u-8=Ch>kXKc?k+3hF_j566l!rIg5AHX5I#Op%eYFmODcq6KxIxBm9&Z@xxKVdQw7biojlJ|X2A`gY+y zn>k!p&jaO@6y1JP1p7SZ%#8bF?mu2P;W?BoF^0Nzt!S^7POKGnQOf;$EFUj3)C1my z07fR6zUR*sP-l_q?QqtiJKEl>KsJP`+P+*S?)b6-HD0p>*+MUji8UdpSCcwCYP?dV zrbXAPcSNhzVKJDMltZdLs=u;VO@l95ISF4Ig(>T-@TFJOH3)tT{8;$Ge80w^aEgZ8 zF#kYntSxHsif;d~EQ??t(@QCR`uzh7q0IsJZS?~Im0P~)s)p@1lnvo!r!ha;#}I5^ ziBsRR4!IkKOGqgyUapH-ctBfqQ}k_%htnyOyk&PD9)=3UT(QB?fX;GlQ!BeGcB1fo z|B25d<&-{k>;91bn0nfsQBk&y2a15TNh8GI3X-Stgm4_2k|k9i&9b57b0(Dh9a}$8qh5v)XeZ-*=9X)wO9T2I48fOMU_6IW zh*B^$R((|@o{_{W+wuX#V|o%{mtn@}JC+E&e+zZy4G3?6IqTP~R@ZGLeB)J(%W3g$ zg>bgVys0W|-b*Rv5bLu1@@;Y0Upy0!6CiOOByo1OH>jBJC`Bo;4c-|LgYQAW8>|J& zv&hep^5^UsE`1ZGqcgpfvQyUPl5OVt0dD0`JFiu<${&cX{T!Xy2z+;!FqO>c#aqOD zlyb$0%N?`%z`l7fUnT7;DU^j^Yq56`#H69*$KSnNF&}tg>6|T!XNyyIJ_*$cfeKYErCjAJ$^-YzX84FObO5ZcBvNH{(yL_EF8IVUOkMuRdn$6FesN@`4!?|W- z{Q#!yNA+x#q?W~S50|}|l1^_!pR66p8IeO;BcbUV=^d_G>WtL)*B!6za7J@-l@~0$ z4zX^(T^>NFWCTmN7vFoSNqVFkGnqn;wQK$b4GgfZ5-K-$L4(k+(GjSjdO94l(8wL1 z?{G=DB&k7e9r-qPJ?k#qC+?$bckZC}2@$r+uV%+C*pU$_><+rhRV(!+#|o;l)d@aV zE$$DO(@@KoQ$2De;TzmSkXD!or7$~wK{L|E2$6B6w=ZoNm8fLbeyN)B}`d%HXtc4khu{1c_79_&sN}7=tfD+f^;h)Y;{1r zH)ev_)*iE@u{@uqvHkVcxREthznBdE=^|a^LQrV@&`L#4W3u+g( z7u4#&WvJayuFs~6x0yUPyk?SsL*s3pbvuFqdk~#(VgUATD7i|V6dTG{S36e_{V7q6 zduFy4`*EK>>lXYAt4!fVmBn7&Rik2V+8ogVwAL6~C#ib~t>4*j*a~%m+V6;t37IIHik79Gei-#4{ZZ5tM?YMZ(Xm)SY#L=|qk zvKP~`wpV>ub*$><6Y1dkw(2Oj?f}=3s+Co%pU40gfm#|B-DgHTro*`H=<2^#WJ5c$ z{91%taf9VQS=@>|desbYDr4ZuDb8wkeLyu~9;yi`wx)FOeU$k6RVIe{G(&ZEUwWl( zeT^`%QRB~xr!258V!IqpL_@n_Ow!fX2shWUQ5xFR9bw_=h`6fP_EAbs%-)2t5_+I! zIdK0&yRTyZwR{hd}9WuthS+?1O_$R49hz+$_ z8NuOq^r(Tapw4RZ%3;0OfZtMs34C?2qfoOM5f&tvtmsf*XuRpphCBk%V(@#&>d{a1 zK+naZHV?>Tlu{fy3UG`jy)_y*eB2-3=H>+!OHYRK0!yT9^{G%nH6BS!0G%Cw0P5ef z8Rpp&6}ShbhSF*S;1y*^uQa{jT3;4eWl=3BmK_D$!}aUa%^vuBY+rBrhQ|G5qb|!2 zS#Pa(sJ%EweWKMs4ZO5G5j8@IX)$f|>I3e8O{lUP zkPs?fcK=la!E8&Dv5ARH^ynHH;92oVGRHK@a3C%jvPw4iuLTM;Pmo1I*QR#Z1cX8u zj>3jXTH9}4JAyM73!)8Uu}pRaSfky)i2C6{oT~ z1x7+dr${Q*tF3vAsP^}nqBEP!O&sa3^q3JK#$on|q(;7>tIrvOEby2F8?sAFjj|mn zhi$U{+-0OZ#ViGB<+6OubbA}@fi}3m+9l2R;r@0x@rn?z97yV;dVW?X@SBlb>0JT* z&Pt5cU;L`Q?(zyYiq7gmQu#x9|2NcG=>o2`*DZ(A2}k*kUf5E+j3@5H;9gi)yo@7X zvR+s}t**EN()YkT(V;P2BI_>l!aMQlLmE?u5dLaj*u!Eyj{-sLAu@y ztyOF3%ENDpIcj(YbvfR*C&qD|(W95V612(%n{1mKxg95oOng78MQ0`TSd%f9kVD_| z;vPtDnx1ChabNNAzM?+Sdg~(e7WC-p?aRW;0?;?gGA$>07w)gzxQq%px6nO#P3eSY zP-l|}F6I0kt+~Kyv_=OQ`UeX4N+P!_wjlI7%+^hz%XkK%t*Rc6Vl74#Y-G%SM7LC(noVmn5N}0Lo?$2H3@1=NpvM$Gv8;B`0|>o zFsnCzLqlso-j?XxJW)19=^l;CyDNCbqS|v6jiv+bCRhY*ZdL91P}6r{J|Cj!%_f0R z^jqhNfsI%;!m|jD)!??-5jzx)DS!|1K#&&~)%r#c@Gl0A; z(jd$QA++mgReG9rn@(!w?oa7~|e>q26)EU`!x<`dwg%h4IlPiCmkbCwh@KYBG|Lm-^72c+AT7~h(Hn~{nr(OrW0 z@`C33udYi)dfca&62EL043_3ukt;@3Z?3t0RF+y*Zcj6Cp3QU(ra@je=2Y!5t;V=U zE@#1dwze3gEZK(|M?{2x)Q3k8)0`J6sF~nP(2(0Hhh;cQ`bX4bQ=EFt($z8=_1M|` zfW8R$UEB+N`mHnaX3G)=_rsrbm=_ruV>x8Jy)qKJhsADk$ObqY(^f!X^xTWlA5du{_?Ztk3#qokOk-!D@ixpj3GQxQ~sApDRu zn1q@nRj~w;rt0hiS{-Mm*r8tbXmjF0xCgO4a1> zkEbj$N%l94D$*&5mDWpPeH2r!Ti03tr+Mok?{$ND>ml#?khlK-O5VF|5?VW$_im$P zzs9ME{=bsjb4Xb)4mw@&btfedPDTfFK-t9w;<`EOC`^an#zB?|mb zgcq-x>a&G#pYxM!Sk|Kc?Maf;nwh(1uPb-(&D9MeQVqfnDcG07& zE6?)o_MWo|;M(pL3q=R-&y70zuBA1yi6wHs#bcw;#Se^T*zAk?)=Zp+d-vcRi zdB?0Km#90V6Np~IP}si0y1Z$6ygu9xVK6Rqb?$(*F2B@{K4DM)X4ysWE&*8<9u&s} z9O7t-`tic$l_>8)3h(U2ww7)=@I1zn$5!!eQ=iAXd4R)>rCa1S->UPg=B$~r1?6p` zaGb|h`491JO{*|<{<2_NbKVxY)mQ2E@xCW7mpVm3Qs2=3Z9sIC2)LbV2HQE&H(I|C z>eSiU6d=KWB z+7yS*W1sHjh{PJ6tgm9?Dk^U6UT*&u5>HUuN*h?!hteRx;;i&0E@_u4e*~rP} zaYCu>^EPAjc$=w>V8oOzi^u-sg^6*|cMRvAS~isXhog4Y&ZsTBbMi1vdYd!q5#P*) zC%vY&tt92|_1!mdyp5wCYrtv0o#L#*q2(+NRecEWuv8R&QAoE!v zH!OY5aQJt$m$qZ~x4CH!9@u;&$h=K2T_`H_GqZ$Eh6T~&U!?nxu+@%ty7kGDfMcI( zPp?FN=a$Xqx$LsyE@2_kM>ka1Y()cfyQJO|)wuu145HsIh)j{gB(M%Ch(h|9bnYnU z5luO!m zss3W5`1?vbtkFQ9AzIaEjXB!!&a;RZ2*YnW{?^0W4}7l{&kpgJzC=9DMGv}+THF}+ zF}2Qi&@7H+0UGCMx3x}%Q6jYa`?#0^e4QQoR=gwQ_Ni-j$UEBmj+M6K^iw*j`buCF zn65~DomWiYBlR7fG${VyY z-8UOa8)HJZ-qX3 z|N76{u6`{kOhmsP*S8Vsi_>PkJMPH|m17q*wu|j0@&+&0^J;JI>2Y?CHRE6-*}u@n zEZ6x`m;-ub?EH_gk?@ao;Z0$UZ@qN~$pXAB=2pF*1IczyzmO=v6*^bwqF`(@t&tO8rTHTl(t*4(O5oP9E(TOFISJxl+{&XlQ)Oo>X(6e&IvQICh777(LkBJ{K%(;t$z zM4uvWk?JIGL><+_k*tNIceHR6*22-7nm=_C-lFoG@DL6LZz7Z)nwKZDn8!arzB2st z3f{kap8M$C^YV|~{bD#HBp#t;y8X{>mQ;Q5iDl@_+ZI93ry7d!4DzP^o#3N(iNQ1L z-m{N#h~j`x7-RS7f8AQ57j2j2;~b0^yawu)`iLIM{kAA-#Ikxy>?@0hvMX22s)1AR zYO*y>0g{j7=&J>nFtObD;iuK)=+2zZxR`JMi(S!D+jpt5;>EIFa%rxyDR&j*{gFK3-tf7*qT0T z)`DUKneWkVTZ5z)61U5MYPI#|h?7R|Ce!+PK>4!BiY!07rjG?yKUw?Q9fKIsIZG6O zjlVB1V1;o=_2o6{B7FIfo-M5!2R}C0W(mR!lWC~Gd0F0P+kdmTSHr{k zAzU)f=|e+SW`;C83Hb9f6kZ8Vt}X^%bKULy^m zy0?wEGq+1MoUFrZZriy114v2!C)!H-$fm&*FI%-%xKqFXCQ^oU=$_Og!fj#9D7us4 zuh}jQ%yNsVST?gphd9);HsD@OZU%>zrLIv-gzr5yEG4u?;X@a7^@R2vPcIjVq<`S$pg=h!`ki>SV$O0?%Ek(mw@YPdx| z?oM}Io|(lvrIqxh0h3!~ziKsX8s{u!k;7j^(pMUzWi4zE8d1W!eTKdFMZ^}E{n^JO zGX=DB+m(&Nk^Q&#?HIS#x1Z5i9u;WlUpLKSot_h3ZrfL3U6kHz+{;9$&D>s8{nv0t z6!qRuU?<$!@m)YACoa0;V>4(L!H+sOdlin0Q;jAy=yG(~yM#I@qX^2XBWuC;8on6l za&{TGZ3)P~3L7?I=-Et~)!@$u_|IHM@Qr%x4(%J~`~w!_^I3EKO-z@z8$4C$Z1-}E z*Egyw7h=Dk>(w1+n(%0vWARkIw+sfe;C$}nL9h4d)wy{{j(v?`|GD1d*T%#1A?yph zAIgpS&kc)V8RL{41l}4+{UgylSey16@8i`Vr7-j+ce1^vJ^aTfl{J(~@BRF_$D8=9 z1rnva&S1EvVYuS!1h0`j*#Cx(fnTR9(;vcIKh{FrLT@SA!iROM=!G=$;sd^*aRv=(fIR1GWRbYRW@R>c|6(QLH;g*GITi{mM$mOjcY(%c_G7_ zHiuOn<;FkxtP0IL*W6*@{Q zBkc(p-Dax437l1XQ~P%NIi^c!M2Xe6NkF+Yt(=dibVsHOO6IXX$LO9(5oBNWmCLg*i}Y@U=Kj>Jb~b{ zoDAh_D~5QK>7rZBgq}xlU#A>n#aK_)9;=Ro>tT+}PGN76wA+W(<+11|`uzh~0>{va zPHyvh)ex;!lVYeE>r`4}`6O>m_X(sui2)|~BcqIR<7H}fon(`3byi?z6k`PEVI=7# zNf$%P%jTeAWB3Hp=wc~Xe{+@BuTp0^+$AaSRxn5XZLY9R_H`!N^p169`G>c3CNX+8 zR+e|zpB$&W;wUSNq5j_h_5Bu;OJ+m5{R298bqbN1oj?86=q+=~4P^H0{Ew2robs%w z(}d6$fMYG*-A06fJ5M>vQ~DOKyH#$@;#7os12)l~=)0RR8h6`*Jf(bP^q7!x0iLvi z*9YXHmUOgjPdc@2cRIaISNR%zp)-5anQgjN`@pSxuGz_Wt}`?^ODe`%kPL5 zjVwX4oRR_42+N&#&Y$Z<0n}>;7aN=UJR8wDw+ecPU;67ei51`6U-9MIo;UO^%twdo z5t_*BVqG>7+Pg3|GfxbfV@&|dY!G{D!ural+yxEx$gSy((I$Xus=Fj9-`A9z(SXxv zJ(!5WMrRp?B%PATO^dB_P%snV6q6!a?nF)=HQld+c|o@dDO`wJC-aP6`n0I99btLZ z5#4;g%jJ9)Q^darPF?gDNbnOm`^uW+zDo-?799Bvme9H#9n5iODWX(9Z%S1n^|^0w z*}7Ftx!W6_*Utu;ILa%Q5AoaFwC6QF_b<0d0)u{PQLRj`=5uNi_%O4;r>eJvlr@w_AbJ2_Zkg_t z91I#sQh}eBq;fD!I!R@PR2YXt?Koum14w$?6x8G0YqsYQNL(F80VJ-FCUKGVj8mi3 zHF`;NzcWf*O{5irx(4Vm^d{byk$|Ix`ND*u`Ea!NW2kKk&{so21=*b~!(6xS z^y0?uWi-r0k2g}Mmo#2zEOpbl$SK<7puV>ZC_V6@hAF`%!3#mEZ>}z0KT;m9{mhi5 zeo>M>o$a$n6Ehi}|0d?_tfJ2U?$BF@!iRS5c$@e=KULUJ?4_gP9-OjpRzmCgAFV%s z$7*dd(sBv-uLRzzVSN;4=@>`!jw*~A<;L+Ivdq5O)Q+hqedc2$rkv% z8})p5zDc!xw{VblrzB`+V*mXB(C-qEr!noMlv}8`cb^H<&i5EpBLVF!VV4rx`GI+M zoOVBEyq$L6v@iWT+WnCc({4sdl#jkgyPr(Z?)LA~ZhU%Vj446Ag8;!HW@&u>xM}j} z`i@DeIePmZ(rWwcLAw4qwBT>UsOced(5AI3Q0Ln9DhJfr7N^dp*sWA~vPD8qF|*04 z*e?w_J@iNDvaD%0pBg0uwKca}R|9pDC_U-@Q(Kf%Z9gWOT=-l7yFM6ZTjDtUPtzPi zI87mREl~ZQzGHpI#SvE8{k(W5lUjSO={atB!_|52)eZV6mGcn4u6|HA!+`bME=Hbz#^DX2q{kE{sFH15n991zGGVdW^=)yw$G=%<%X7L z|MNicJFgz7GYV{rx5fLFQRQ07bK>b1=2XW{9Z50vMyok_B0ZNEz&AKOUD2~DLm8o({5Ehj%V_=nicGc42oo10NSB#Ry9ZwffL+ws#4C0n|SU|Swg<0%oDiAZR1bu9}H$C)r z$R7du-G*Hn53M5_ZpB-Yck8NBb{n^D6l$fBznB_Lxw1}mL^ldY{ZGXLeG8Bd;dpOW zciEQSgdFJU<++iKLZ|d2h{H?&8q-x7pQ=`;Tt&)5k+asI9`($M`1>A+X{ol7R1$5j z^M}p5FI_gTm%`?jzh3tD{UEji!ZvsXa)#v1>UjcJMAqc=z(!zD-xPI1r{whcFhxBnW%`a*9GnvX#q* zqMIQ(vG4SkfTckVv(aQuX7mxF|6uH3aLAk0W+;)127p7lX_d$xK(bw8`!Dxn9T2j{OK>p}rb^vg7q^mLf_HRJ#s z%8T$cL>4Rf>qSVnHK&x{mJ{F~amyL=-R)^nOVDbD*>*k9Epi@&tjQyPLbui!qXylt z*(iqFybf!GloKA+zbkAAh4glUdqDA)sd`ex(dR%)cO*)7B>Xnf~71p&tO@UTnhcSYB#iqtqsP&Fl z>>Wm=Otvfq8aItoDWp85!|fNfK%KlyGBp8hari|w)+)n1H?*Fjt>)O1tTjl`Q4PyM zO22CDOmi~DwiKk#S(2HAfa99N@XLOQY)E&;a)|6a4nG{^&+H3QXVNkjRCTYwRNznz zSqat$gFk7;srY5bh}3-TYt3JjG(O=cLF}6m#ih{2wq#nb`Ogoo2;y`aj!#j#LH;gF zKS3=W*ci5FF7R(*aec0s?Kk%jp6lE95TAk!M9<_hu=JvAJ&7fH3>_Y4S{#SOblRiA zG@Ac5jo}wn($0THD|m`3D(H0ocp)2E%ilqrE1#5cR5!euFF$s**w<(j^mLE5!}_6N zeDJOy^U2?WNj$32+NwkrRXbV1+Fr$U?&K*n*MS1M=mnscOyvHY?JsC4t&l=2qFlUB z=SV|Lr$fSf;Zxef{B~3U5VY~o=Z;kUGgeh!Ci{tg56JO3r~yktvdjqURh;7(!nFEBL)s3MCF*D=a@%*%ZV?UJ5h3e|pG~l0+zAwW zbE5xvAJQ8AM$v`4myw;w9Y5Sbb|QCBKnqWJv6ivWsPzPkb+Gd0IdHDKw$^$j!EVZJ z;uRavhqRoG2CXM4=*iJxCYhPQzG1I=e>Z9bK98c`;5T?u7)mVEQAZBy@}^KvykXy6 zl*bWm!e8zd1)cG3-w2|Oj&}d>@uz}2(-8DH#Y`CO%i%l1STeyU zqcqrPi4Kn%920Kem*pr#LA}593PCM~Qv&xcYiFvHLdEN``%ABUfa!b@`UA(Zc1GO9 zbpZRrFNlAJcpglr(C{$yH{Yt|jq68M;q?-Gble8-2C^5}zQTuUfgW12eQen6!}I{+ zwlJMPTv1$m7cU`JOAS6*EADN;W#N2q+Iy$Il0s2StMWmbl@D54tp}G>0!+B)91=)i zg}dclINob56MW-W$#2jNa@JZV&0T_gS!{d;WTmWzQ{X#IPPB;}lGLt(%_+Ie7}Vw1 zoOfdRiItO9%oI@YooH$Vw`hM^j{gUK))4^76miKhBBSaNvc&KhFCf~NF@r%G2&1!q z`MM~A&Rz?5a2zuEKl(<=uO)tE$eyJE%U_j=2sgI3<>wwV)~|8PynoC&TXX zo_XZy3eI<<6XKo4ZO_D*&WcEU%zL#lPmwWCIq>&P z?tYmmpWY55Uv~R+?lggu4Mcb3+xPPP2^{By`N)zl?;Jzji5`%*S`pF}*c-OT5_B&$ zV}bODyCl^P@3~IYG4Ks1Yjh|rWaz+j0@Dk7$k;*WOTw@a@Uo$i@+&GjyE$g)MC}Qx z%$L6i@LnwMY^C#FaC5a5z-*X}?n#UUlPo%ZTuk;5I`J%3atw39Y}SHepqCBQvGIV> z<9&=Oo=-rYvjpR{A(G}4i*3L`(9b7a{PGo7nUfk%nnAQC`pbSIu}%#q7shbwS)y#` zoZ5NLc2wiM$&|Gn%?P04T{vzkdo*Yuw08PvZPyo%0a2JEBzrBo-w&7x=Wy@6d4W1d zvViwrn8>7+CcCVg=U5%o#b#Nc4cADY&yDuIJ1xp|j;N*jM(o1ve($|{kOlOivbf$$ zVXCh9US(q#_w}&U^K=n8#dN_E)D?QQ7=~osg!|($@=}jM3;?ef!>{F6SHSZev@@pN z(?{18aD2{=Yi)+8&M&1mpWZ+cIrSMh|~*$tp|6c4^4}sV&pDBz*N`OmXjb?II)He5!G# z0|gi3y4(y8LaB>zJ(wl~^zlCCm;cvQ?B2E2)$n4U?7%t!FA%M_Cr9JcY^3$33VzI6 zd}wg{tc{G4+*HSjmbnGuR$cT}+x`Jc)<+m61?I6--~ez>-4WMsE|zq1v6nj2<*rF# zh5Fe7IVp$G-DzK$kWM;(vcS>sSKyIQA&0PrkY3)(sk#&8a~)!EZ#<9gU<;`mKPidm z@eYf^^GIe?|3MSwl1PP|zCHXtF0mW;Lu} z04tc#|D^sP_pQ)cK$}e=$L3t4YSYV^>1dm*Ho}BzJ&Ad*A4QonLhgbW09SG|8Zb7X zbXEjfIu@ntL@H~+ShnjGb!a!~1Z6-7RUc zd>ubl>C<1jxiS0*b?L?)kR727k6;;~K-&d*kCKR1+3;;bi9I(2JQIwrMd z;MghAp&7En60}iDVur-CW1X8z9`g@oY;?vjIA>=@(HWSX-Gj5UTbrG4o0HwzocvQW z;sM`#G`i^y-awabw2-~{)m--tO@gYmqRo=Jt9?Oi!^(?fzJ6tf(|GBI&1#z<(nHX{80)zxwM`0BZyRJk35D9u z4%SYxd)VFky3405-<2%3*EzCGCGDd&v(3}wi{8iEt=Xk_kyWtCWkfIRFZWGt7ka4P z`%dRtJeE5Sa>_`XM@RM0r1i?&uAl?zvWv*?Z`k+WC~_GP$l#b?&MjQY#2i(0M5sEN zMCskFkvuDsTcyt%ckI}4(&3P(o-T)joJJL$otxHQxFgnHbu`_UJ~v<7k`z7p(%~0g zUtx{!WLD0n&{% zoXq-FU98!R%%%wHd9_uW^&COf*B<=1N&39ZvIt?T4TtR#i_gsH?V^p1On@hb^D!IR zgipjZTSY7M%3imj{sz?BR(}Kc$cLjwY<_Zc@iJ`%BFn3bq3SQgFGOc-*7p5GVGC6@ zYO=Y&`-o3p>sJf+Jq$6h%shwe35o?&+IUBa?aQ#-niQ4#UJIk9)aVB`Nylw2E1Yb` z=i)~;1Y1WQ;386=KH3H$s2cd5CM|rNLmY!;p$>sU%{J9;+E=)F#%7!|PKh-NK`JJz zo+$)FMdyWpZ<;usB9&8|f$ zDS^W!K-op*6MuGV37>uqxd{HgPrepM`f0kn%PiPZKiA+K576L#gt`lhs8hm13N>jv zQHAT*^;x2|ecDN>Z*v`fj5$Er{ao~1xLY`fP6>SoHBGRJ=+`>j_LHs9_GG=o^^(*F zeZCS?vpMU~S$*~WO>MUQH*5mnebdpm_;ttL(l;&F?Z3fQUzRls8YqcHVK1gysbj^_ z5=!%>2_jYO)T5dC$ZsCBGIG*VPG7oNmv@W?e`!>7X1*vT!&8#(fTt|+(L_v(wJvX} zxddXH+!8g-q^;gNjlhXrp6L=LMxmp4byXK){lPFBI?j0zqkMJwtIL``+Go4;TPd|* zEAK1z>fbndg{|`gzUk_4zcNvzNUFrqBu^p(?GYNv9Ehn^$H$PS#lCAvBO3so9OvGc z8)LVU*{Fq5U4EP=`^L$uf1l@Qq@7Uyay-@uGDjH&`22G6?Z@YH9uKj~5)d`DwHAy! zpY38()*@UZT}-zD=R}j7EHPb5HA=L`Cfg6FOE=#?O)F>zQd}<>cj$KLe>ZZ6t18&) z+VPOxqi26d>Ovq#J?=(VfKgCmuyrA;T3n6VIj_%ljSQ-5Mg++oh`Ij8S9Z-N4Bz6B zw3NFfPa__Ii^sBoU64wy35NX_+>LBwaxC!a$-Hw?N=!Ph)i5upi*AJ+jFCmqJBA2# z+S6Frh+AtRQ-1@O@s(-+4WwxE;vBM%2H3S3V;SG#@8g7;}byYjL?)LxM@q1ITcg9s+gq)-+;F@TKiy-(JYb5o`H+X%DQu=7X zWKtVf!0w=stFc8dAfs|we$<5N3ptlpqv5)Ntb%VWy=hmi=##j%CdNp&B%O4hlkOYD z$C-eSoZ)rD{+rm^6Z?{+{yh4=MQcBNBB-$X*8+wPQw`OEPagMTLVSSpyo zH#y2~A~>^Y2xr*nHEZ|4G*YM96s~Eqt$Sc{1eY)@=6;E*_V>wTHMKT{i4OB6+JbAs zt-+Tk%5%ngIfR6WU(Jqk)j7UD$6M(CRBiyuY!s?$T)Ww*d$)Vf2WG6)=%6qjQE}W=*TmOE@F|G$ohV!6BsrYo zYY!)fwDTvZcZLf+OZ4Wd$-ZLEbgZe*hLa^LhLWJRem?VnwhyF>lvcjyC3Ys_E4XvY@3}fpn4{8vNMRS%_U7hGLL=rI;`6ha>E=h-d_6@SAto|##%aRyC>Kra!mU$j(vRd+@RpV9HJt-Tpm-S@#b?;q81)GgL7!+E zHbPB;{*Q`E=SRfyY9_8<+vkp6v&&ZLbDT%n4>QOf#C8K6pj5gMa)vLp3^fwzGyeAK zQDYKtc1a;!goigD+70tYjS<6U8-%S^J?UQ9ppU%@ql!`{TO{2^_mST`5S2bpB9eoY zhWwa1A_awp_RAhJdWg6f&%S~22FF^P zhSpQ3C3RtoE2`-(RR*=)Mo!w{_eiv#Uygb+$Xe+uY54pE))qHKC_fF{*q@irMBk-Cu@%jL!~Vkdm2NRE=z=yun>HJQg%}cwHpMb-Bcsp$TX^JT#edTX;8W4+be3X z+LVusmu{k7%r&K)857a=vZi~TKo>1N30M>DJ!cPUs1f?nMuC=Kd~aR6^=CdNRO&`4 zBh9L=w%p`K4VKvVV_NL(1MRw{ao%~mH(ZXTqJ)0>r#4MLy$Z>6^G&R~4)oAJ6#iK} zd@Tyb!$CsBXRz12+Lq=hp^%>%NmJ8&A7Oh3gc|&(;nIMv=hppCdCd${(Li?3Fr}Fj zkgf+t?n<1;&NQr{m+lZ5eBScF^6krYG12uPkmlJpG+Mk;(S=9Q`)|%Wo!IM=*JME4 zqR}PPOcz==1n0RpoO{r>lm;h`y)!LcKopWh-!11zyyOfFS;L>2lfmzXc}*g#!~e<7 zzVUx*qsP%J)c>iC7NcKMgKgxEw-MmAAmKKeTKR_6V-SM3x6wZH(i;OLcG-(58QZ07 z_yLDrjHho8MXK)0w^hR?~i#H3xxN=EFXNE_=umtVnlne08 zRWuukYm!k7rt`t{;;>`G(J;)uJspl2Fy9G#-n+85(cj0!ScTftLu+;EJFeBnQwKb{ zG&YK7ieS2Dlk_Q;qDDmV3`utM|D#<3+Ie>K1?H-BfsUcGny;@``jm}H7g*pC*+_@P zo*vr6tx``4PX9^a9Q>Stlft3^rp|XnOk4RChM0LPzYLdg^=oZMpmVr2)b+;ydZT0$ zd+^wEeA|*$YcjV>n&yE-)=bx?voR4kQZ@ol77;mI&cV_s@(=RwWZok`Y#lA(zU4Y9<@r~1y2`2br$q`x#Wifu8kH$Y5X%N#}DvQ#m&ysU67Mnzp?Y`HAk zINTO{iCn+&N5|o7Es;53?yFm;{t{a$8f+KS9aRk&&p>K*HzYB?z%5j;eEIWFY|`4u z|LIJK|MRVyPX14~&RNFA#2T`8j3)AmMABs<}~^K`9G@ z8Lo%PE-f}*ZS?WWF_!dS#orKmh3dmD?hdKJbco2vLdlpSFUBa4WBa-si_qOZOM@v~ zB5QIhEtMX-SRQap(M^#>mt0(930kbZKeb&Nuqv+thda`WaiC1Dj^n@+7K{UHWvzFw znQ-sY1P8W7=t1kFbJMBxsy+-w*jo@I^0IfFKnWTg*qU#ba}i1ts?g4K`i`H!FlSj> z%-@HpLJ7dvluq3-v!S>`o7W97E3hK-AVCoTTZ9$F^>IMRe z15s1ti{-d>xSow>T*K8?T*EfZ(OYh>VZeNA4YNoM8B#-BAFWMGhf2;O5X-A{C z_|NUkeT+}k!_v@{o6T#mkUBsfY~-gPjr>VhbYm}BLwd$)zp-^U*O>@c$LSfZ)m2 zf=2CKT-nYR-SB3V0j#AKJCO@JhX>PH{@ZkhU#p@|oH4vFv@;2zSa?MeP3hxnq9KWm z1d^;2UU5eLwMmFFMrn6DPrIfdE{{QMq$Y`>hCTjdc{xa9Gh)_c>K>-^vsNEZQ;sO` z;F8w zu~shXttFJ|(27dW7Jvt*isvdpemLj*mK=P1Ew~Rpj(u7e;&Mu#FNg$G2h_|u!FtjM zy^HIR*oS?X$M67mp5*i`^3g5^r20S_lLY)`(hnaW_PCU0O)7m}7rD6XV#USf7t6IZ zcSDrvTmf}k)HZ36IU;?!sO`j+M2^#VL}e}dHXZRlSwcTQyoO)C;c8H^HxD%bdo!)1 zF{?A^^7^Thj0-l;qK{DS1o=;-rBcb25ga&Nw))5Gtf`UnK4 zcL{#9$HE)!i;|?0Y|;z(h}sBQU9**L9hfkE+zrPeRa~Oe{_UU(TEZ>%dv@Q z$$DqCEKGuSWTGej7ae(W#rq5Itvgytps3X1Z8n@(GCHFaQJ<1CISRaFyD{Q7%L8f*-ckH>!Mqgm(bF8DJYKbqS@sn?c^go@P{l+A(&L8v>Xb$Pz)&|O- z4_{raJirFXeRf!sbxSX#MiVx-BM!eH^`TGf1@*i!$`+v1QsCJJk)2sjT z%?O110rPCwc5a8gyMISJx8i;oW6;j@VbznW`>S0(c8#H+{)LkF(t+drx7gDbl{G1n z`meW~0^5{Qmv=w8S0PhZbQ2^!icO`)N_|<;>{K+?3}e%x*$^D*k?=~*;)NE)^BmJ_ zieQT}I3!4HELaqMJYDWTNoR$0?BAucD&_*|1zmK8dH;Y(;UdxneJsm_-SdIV`?!hw zc(&nEzjluNob6ISA}2Fl|m6g1y)&{Q1^o0`t+FZFA>kc({H z{aN0^<tNcYK3i<4UpA(Eb-K=V#9qx5-3%}D zR3ha*fTx+j^S<>`Kh@LNuGJx{`roSARoT_7&>-CzWg;+33u5r**BUl$F+7$drlz?c zOwFm5)Z29{>r*t{%51vJMX?!-130`AcD|*4Ag5aN>ETVz;In#x7hVOP#N>Tlcd5To z*5m?hJ@}n5>Y9l`jlVxhpD< zhYiODMtZeU--h^n&*XS~Y?T-LHiGX+uik!X0Q+Js(2GoW|7E$(e5s%5ZEnx<-ZXkF zRqYJXO>D5IrW%UT*@!Tez_{HW5vGxyL4mU=N1H^MRWKKeb1s$H4wF|pJsC>azU%{| zfJ{(=7-fzS9d~7?r15-v6ZAbuHDPt zMwZl%v99$B+yWmcTsX6*6w=_e7=)Z3i1}1i6)s z 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

Nu#5VrWgAxwp?wCSRhf2x4=;5J?A-{7^96$#Pr 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

1yrz_veeXOI3He7Y$03#fVFRrL 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 z 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

SEXHw$L1;9)S}dbl`S+)yD$x2x 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 z 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 z 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

LSy75$F-VGcI*u-N?>F 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¨!w(=b$}e+tP_ODeanyN z3BMT7qC}XPA^SZz%AM4)AI6#esq3jxtU3It;dHW%g}^ykoO%o~BcJRt)AxW=cw?M?7yk=Zh+Kk$0k%kr&E_r6RHlFk!y$n{E- z?KRBq47_|OIeh`fat*JmCEABDFvufnZe1T(hp03b-yCSG6ME7MFDs-nx4g)9yC^uA zg>06P8}~V>7XG!t{e^zxmC8n(=qOZ~&&fM=oP$KL`lG3%Lqf)4IwHSAn4W$ zoobSZF)PR1AaxK=yk08dPO3JEkzgt!2g!uy2dPVHttyL(ir2xj(hv4o#GWrA-#lg* zHga@|3-k>1#M)v#bLgQ4GIwd8`x(^>g=XfW;GGkRML#e#>*g67osj2b$1xM8UtJ)e zCr~Nj)3NlU6(sl9*V@#56vT6gN&4>DKPR8yjkBg#f1U1*?sbzY5P)RxXGM7F6Je>s z0T9GCX~q=)fqks-M`6<^@qdHHLsSd6T!3;TQOXWF%&NPLYP%KXDFq?*){dmHQ#utD zU|t%2_6*gW=wyfW>|5sM3Jqex5D`I%U@OPfd53&!&)>dkPkYBYjAg*=!el~$5k3qD zIuwAR$tsXpXRbnhcec_Kk3l_02##)Wxl)8dvnW*nGx}_g8_%vxBU_9^Isw-`ZLZP_ zk5Mg`i=szeQ*#UN)rN~Bm@QVAl9$q)f*FrNBU>V2YIGTOj#0)hgJLt>~s};w#+&>m$cR3NSYF6t? z%FC8;$t4U1WoKrFF{}Aqp<3fBF?$amrjyJuT=C^`1$eh?2(5so9COSQ7Dc(~7$_?&>4zgeBQ zzSrV`$C#*^C&rNEnWoXWE^29HBw6ztb#8PJk!B^3BKrWNcT`tCn{~U9XprHGU`(BO zLip2Vj?@aFn3uub97CM*K$_Q&;yY(|D5n1bd5q6SSY++LoNF977^>WaTFRK8}JECCj&0hXgDDbWKn0*xxTb>*Kh#M0h+3ffLcQtu(P~N0HN=Zwe3`b)LA9ms+qvf<=65HM|7wF=c zDY8xGWEIJFlHV@`WV=GTfgQr%a)!LTwB2%zjbcnGf7x^&7zjuvh;*QqSG}_c27*9r z{$aBNbv~9HzUvY4sO8$J&8e(pvbsNIzE}}~{t5UT9DB`K#U`v$EP4?B$k1o;Gf7s-8d^C|@X?k4$ zI6~}droo`yAUDs(Wxl!tJnNPzq8-hmCR!n-lcvw9deLxvj#e_Rnw0=?T;Q!HCY<<4}xdcNd0uVAy(n(A066XVF( zp=2A5VTS&pHt+tiQm3Z0Z%8t+&bKN}TJuz^=$8Es29!wgu+I#s&aQ?Y+*3yzPuoEy z`1N(W?eunVzcmd0EVYRjsv^1GHwsVLKSoDm`v@kRyF^rFqx;kcGgY=zGfLJWz7kC_ zg3d$8eKWMwfvl4N4;_-JHG~f3=pnuzWw>R-m+B4chbkLd9n`49yHIH`fQI<@o6yS`VDT?HZZ9hO zcecW3Mj>G8ljdpXNnXgyQ_#UW2ika`N6B8 zKu4vt6}~1Rpl9OTnjW9KBZq!zIBMleK57uf>O=h62xFB{QUTY+TjRr~B=<&mCqDys z3K6x^j{zrpGW`+?rfK{DPxx*a)-9D)b=^swraY5n2~&l#E^7zR@-?FCpjm(SmEI_4&|e8M@i)7LFX_{6n_=a@HbvDj&-TrnLi` z%>A2PC-Qt-A9VD>X6O#Oc0x%*7nahyt!2r+68+M|?E?`vmgBl_J(UzQ^9T!-sU$yZ zhjsp3eT}Ae4#4Wv)9&>3{Z{|el}P&=ZhM2G#)n{~;Jd~$&08x1)MKo(${vNh&eo-F zGsXBmW$9-KuSoAY>KvLb-bW6V&aq|jo&&O{5j&1i-~^-cs`2j3+sV3@WLXbiAT!8J or8#T%to(mm*yX>I{~&|^4G;dGOg}8|3I+#^_^kA<813DE0rx5ypa1{> literal 0 HcmV?d00001 diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/Jamfile b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/Jamfile index a7e3ffc364..6c26afb671 100644 --- a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/Jamfile +++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/Jamfile @@ -27,12 +27,12 @@ KernelAddon iprowifi4965 : HAIKU_WIFI_FIRMWARE_PACKAGES on iprowifi4965 = iwlwifi-1000-ucode-39.31.5.1 iwlwifi-4965-ucode-228.61.2.24 iwlwifi-5000-ucode-8.83.5.1 iwlwifi-5150-ucode-8.24.2.2 - iwlwifi-6000-ucode-9.221.4.1 iwlwifi-6000g2a-ucode-17.168.5.3 + iwlwifi-6000-ucode-9.221.4.1 iwlwifi-6000g2a-ucode-18.168.6.1 iwlwifi-6000g2b-ucode-18.168.6.1 iwlwifi-6050-ucode-41.28.5.1 ; HAIKU_WIFI_FIRMWARE_ARCHIVES on iprowifi4965 = iwlwifi-1000-ucode-39.31.5.1.tgz iwlwifi-4965-ucode-228.61.2.24.tgz iwlwifi-5000-ucode-8.83.5.1.tgz iwlwifi-5150-ucode-8.24.2.2.tgz - iwlwifi-6000-ucode-9.221.4.1.tgz iwlwifi-6000g2a-ucode-17.168.5.3.tgz + iwlwifi-6000-ucode-9.221.4.1.tgz iwlwifi-6000g2a-ucode-18.168.6.1.tgz iwlwifi-6000g2b-ucode-18.168.6.1.tgz iwlwifi-6050-ucode-41.28.5.1.tgz ; HAIKU_WIFI_FIRMWARE_DO_EXTRACT on iprowifi4965 = true ; From 9595506fb8c04cc91b42d5942bd7abd8c310aa18 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 24 Mar 2013 21:33:13 -0400 Subject: [PATCH 102/122] Fix typo. --- build/jam/BuildSetup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 78c96f5aa1..c957bcaeb6 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -139,7 +139,7 @@ if $(HAIKU_GCC_VERSION[1]) >= 3 { # too many false positives. Coverity does a better job of this kind of analysis # anyways. if $(HAIKU_GCC_VERSION[1]) >= 4 { - if $(HAIKU_GCC_VERSION[2] >= 6) { + if $(HAIKU_GCC_VERSION[2]) >= 6 { HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ; } } From daebca78f8edce18e967705c7e7c00e0b4c43e23 Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Thu, 21 Mar 2013 23:18:21 +0100 Subject: [PATCH 103/122] More standard handling G0,G1,G2,G3 graph.char sets Handling of graphic character sets G0-G3 is fixed and implemented in more consistent, extensible way. --- src/apps/terminal/BasicTerminalBuffer.h | 7 + src/apps/terminal/TermParse.cpp | 198 +++------ src/apps/terminal/UTF8Char.h | 5 + src/apps/terminal/VTPrsTbl.c | 528 ++++++++---------------- src/apps/terminal/VTparse.h | 5 +- 5 files changed, 260 insertions(+), 483 deletions(-) diff --git a/src/apps/terminal/BasicTerminalBuffer.h b/src/apps/terminal/BasicTerminalBuffer.h index e581c97675..60802bd3a1 100644 --- a/src/apps/terminal/BasicTerminalBuffer.h +++ b/src/apps/terminal/BasicTerminalBuffer.h @@ -124,6 +124,7 @@ public: // insert chars/lines inline void InsertChar(UTF8Char c); void InsertChar(UTF8Char c, uint32 width); + inline void InsertChar(const char* c); inline void InsertChar(const char* c, int32 length); inline void InsertChar(const char* c, int32 length, uint32 width); @@ -279,6 +280,12 @@ BasicTerminalBuffer::InsertChar(UTF8Char c) } +void +BasicTerminalBuffer::InsertChar(const char* c) +{ + return InsertChar(UTF8Char(c), 1); +} + void BasicTerminalBuffer::InsertChar(const char* c, int32 length) { diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index f7fc346157..21a060d04e 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -51,8 +51,7 @@ extern int gIesTable[]; /* ignore ESC table */ extern int gEscIgnoreTable[]; /* ESC ignore table */ extern int gMbcsTable[]; /* ESC $ */ -extern int gLineDrawTable[]; /* ESC ( 0 */ - +extern const char* gLineDrawGraphSet[]; /* may be used for G0, G1, G2, G3 */ #define DEFAULT -1 #define NPARAM 10 // Max parameters @@ -388,9 +387,10 @@ TermParse::EscParse() int *groundtable = gUTF8GroundTable; int *parsestate = gUTF8GroundTable; - /* Handle switch between G0 and G1 character sets */ - int *alternateParseTable = gUTF8GroundTable; - bool shifted_in = false; + /* handle alternative character sets G0 - G4 */ + const char** graphSets[4] = { NULL, NULL, NULL, NULL }; + int curGL = 0; + int curGR = 0; int32 srcLen = sizeof(cbuf); int32 dstLen = sizeof(dstbuf); @@ -416,9 +416,20 @@ TermParse::EscParse() switch (parsestate[c]) { case CASE_PRINT: - fBuffer->InsertChar((char)c); + { + int curGS = c < 128 ? curGL : curGR; + const char** curGraphSet = graphSets[curGS]; + if (curGraphSet != NULL) { + int offset = c - (c < 128 ? 0x20 : 0xA0); + if (offset >= 0 && offset < 96 + && (curGraphSet[offset] != 0)) { + fBuffer->InsertChar(curGraphSet[offset]); + break; + } + } + fBuffer->InsertChar((char)(c)); break; - + } case CASE_PRINT_GR: /* case iso8859 gr character, or euc */ ptr = cbuf; @@ -485,91 +496,6 @@ TermParse::EscParse() fBuffer->InsertChar(dstbuf, dstLen); break; - case CASE_PRINT_GRA: - /* "Special characters and line drawing" enabled by \E(0 */ - switch (c) { - case '`': // ACS_DIAMOND - fBuffer->InsertChar("\xE2\x97\x86", 3); - break; - case 'a': // ACS_CKBOARD - fBuffer->InsertChar("\xE2\x96\x92", 3); - break; - case 'f': // ACS_DEGREE - fBuffer->InsertChar("\xC2\xB0", 2); - break; - case 'g': // ACS_PLMINUS - fBuffer->InsertChar("\xC2\xB1", 2); - break; - case 'i': // ACS_LANTERN - fBuffer->InsertChar("\xE2\x98\x83", 3); - break; - case 'j': // ACS_LRCORNER - fBuffer->InsertChar("\xE2\x94\x98", 3); - break; - case 'k': // ACS_URCORNER - fBuffer->InsertChar("\xE2\x94\x90", 3); - break; - case 'l': // ACS_ULCORNER - fBuffer->InsertChar("\xE2\x94\x8C", 3); - break; - case 'm': // ACS_LLCORNER - fBuffer->InsertChar("\xE2\x94\x94", 3); - break; - case 'n': // ACS_PLUS - fBuffer->InsertChar("\xE2\x94\xBC", 3); - break; - case 'o': // ACS_S1 - fBuffer->InsertChar("\xE2\x8E\xBA", 3); - break; - case 'p': // ACS_S3 - fBuffer->InsertChar("\xE2\x8E\xBB", 3); - break; - case 'r': // ACS_S7 - fBuffer->InsertChar("\xE2\x8E\xBC", 3); - break; - case 's': // ACS_S9 - fBuffer->InsertChar("\xE2\x8E\xBD", 3); - break; - case 'q': // ACS_HLINE - fBuffer->InsertChar("\xE2\x94\x80", 3); - break; - case 't': // ACS_LTEE - fBuffer->InsertChar("\xE2\x94\x9C", 3); - break; - case 'u': // ACS_RTEE - fBuffer->InsertChar("\xE2\x94\xA4", 3); - break; - case 'v': // ACS_BTEE - fBuffer->InsertChar("\xE2\x94\xB4", 3); - break; - case 'w': // ACS_TTEE - fBuffer->InsertChar("\xE2\x94\xAC", 3); - break; - case 'x': // ACS_VLINE - fBuffer->InsertChar("\xE2\x94\x82", 3); - break; - case 'y': // ACS_LEQUAL - fBuffer->InsertChar("\xE2\x89\xA4", 3); - break; - case 'z': // ACS_GEQUAL - fBuffer->InsertChar("\xE2\x89\xA5", 3); - break; - case '{': // ACS_PI - fBuffer->InsertChar("\xCF\x80", 2); - break; - case '|': // ACS_NEQUAL - fBuffer->InsertChar("\xE2\x89\xA0", 3); - break; - case '}': // ACS_STERLING - fBuffer->InsertChar("\xC2\xA3", 2); - break; - case '~': // ACS_BULLET - fBuffer->InsertChar("\xC2\xB7", 2); - default: - fBuffer->InsertChar((char)c); - } - break; - case CASE_LF: fBuffer->InsertLF(); break; @@ -639,26 +565,40 @@ TermParse::EscParse() case CASE_SCS_STATE: { - char page = _NextParseChar(); + int set = -1; + switch (c) { + case '(': + set = 0; + break; + case ')': + case '-': + set = 1; + break; + case '*': + case '.': + set = 2; + break; + case '+': + case '/': + set = 3; + break; + default: + break; + } - int* newTable = _GuessGroundTable(currentEncoding); - if (page == '0') - newTable = gLineDrawTable; - - if (c == '(') { - if (shifted_in) - alternateParseTable = newTable; - else - groundtable = newTable; - } else if (c == ')') { - if (!shifted_in) - alternateParseTable = newTable; - else - groundtable = newTable; + if (set > -1) { + char page = _NextParseChar(); + switch (page) { + case '0': + graphSets[set] = gLineDrawGraphSet; + break; + default: + graphSets[set] = NULL; + break; + } } parsestate = groundtable; - break; } @@ -698,22 +638,16 @@ TermParse::EscParse() /* Ignore character */ break; - case CASE_SI: - /* shift in (to G1 charset) */ - if (shifted_in == false) { - int* tmp = alternateParseTable; - alternateParseTable = parsestate; - parsestate = tmp; - } + case CASE_LS1: + /* select G1 into GL */ + curGL = 1; + parsestate = groundtable; break; - case CASE_SO: - /* shift out (to G0 charset) */ - if (shifted_in == true) { - int* tmp = alternateParseTable; - alternateParseTable = parsestate; - parsestate = tmp; - } + case CASE_LS0: + /* select G0 into GL */ + curGL = 0; + parsestate = groundtable; break; case CASE_SCR_STATE: // ESC # @@ -1199,32 +1133,32 @@ TermParse::EscParse() break; case CASE_LS2: - /* LS2 */ - // screen->curgl = 2; + /* select G2 into GL */ + curGL = 2; parsestate = groundtable; break; case CASE_LS3: - /* LS3 */ - // screen->curgl = 3; + /* select G3 into GL */ + curGL = 3; parsestate = groundtable; break; case CASE_LS3R: - /* LS3R */ - // screen->curgr = 3; + /* select G3 into GR */ + curGR = 3; parsestate = groundtable; break; case CASE_LS2R: - /* LS2R */ - // screen->curgr = 2; + /* select G2 into GR */ + curGR = 2; parsestate = groundtable; break; case CASE_LS1R: - /* LS1R */ - // screen->curgr = 1; + /* select G1 into GR */ + curGR = 1; parsestate = groundtable; break; diff --git a/src/apps/terminal/UTF8Char.h b/src/apps/terminal/UTF8Char.h index e8b50d46a4..a981c003de 100644 --- a/src/apps/terminal/UTF8Char.h +++ b/src/apps/terminal/UTF8Char.h @@ -23,6 +23,11 @@ struct UTF8Char { bytes[0] = c; } + UTF8Char(const char* c) + { + SetTo(c, ByteCount(*c)); + } + UTF8Char(const char* c, int32 count) { SetTo(c, count); diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c index 0b711229ce..2651100a13 100644 --- a/src/apps/terminal/VTPrsTbl.c +++ b/src/apps/terminal/VTPrsTbl.c @@ -9,6 +9,8 @@ * Siarzhuk Zharski, zharik@gmx.li */ +#include + #include "VTparse.h" #define USE_MBCS @@ -35,8 +37,8 @@ CASE_LF, /* CASE_UP*/ /* NP CR SO SI */ CASE_LF, /* CASE_IGNORE*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -360,8 +362,8 @@ CASE_LF, /* CASE_UP*/ /* NP CR SO SI */ CASE_LF, /* CASE_IGNORE*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -685,8 +687,8 @@ CASE_LF, /*CASE_UP,*/ /* NP CR SO SI */ CASE_LF, /*CASE_IGNORE,*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -1010,8 +1012,8 @@ CASE_LF, /*CASE_UP,*/ /* NP CR SO SI */ CASE_LF, /*CASE_IGNORE,*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -1335,8 +1337,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -1660,8 +1662,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -2002,8 +2004,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -2328,8 +2330,8 @@ CASE_LF, /*CASE_UP,*/ /* NP CR SO SI */ CASE_LF, /*CASE_IGNORE,*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -3321,8 +3323,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -3646,8 +3648,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -4074,8 +4076,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -4398,8 +4400,8 @@ CASE_VMOT, /* NP CR SO SI */ CASE_VMOT, CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -4725,8 +4727,8 @@ CASE_LF, /*CASE_UP,*/ /* NP CR SO SI */ CASE_LF, /*CASE_IGNORE,*/ CASE_CR, -CASE_SO, -CASE_SI, +CASE_LS1, +CASE_LS0, /* DLE DC1 DC2 DC3 */ CASE_IGNORE, CASE_IGNORE, @@ -5029,328 +5031,158 @@ CASE_SJIS_INSTRING, CASE_SJIS_INSTRING, }; +/* + * 94/96 alternative character sets for G0-G3 + * + * - characters to replace are UTF-8 literals + * - NULL mean falling through to corresponding ASCII chars + * + */ -// #pragma mark Line drawing table -int gLineDrawTable[] = +/* DEC Special Graphic Character Set - mix of xterm + definitions and ncurses extended characters (ACS_) */ +const char* gLineDrawGraphSet[96] = { -/* NUL SOH STX ETX */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -/* EOT ENQ ACK BEL */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_BELL, -/* BS HT NL VT */ -CASE_BS, -CASE_TAB, -CASE_LF, -CASE_LF, /* CASE_UP*/ -/* NP CR SO SI */ -CASE_LF, /* CASE_IGNORE*/ -CASE_CR, -CASE_SO, -CASE_SI, -/* DLE DC1 DC2 DC3 */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -/* DC4 NAK SYN ETB */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -/* CAN EM SUB ESC */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_ESC, -/* FS GS RS US */ -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -CASE_IGNORE, -/* SP ! " # */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* $ % & ' */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* ( ) * + */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* , - . / */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* 0 1 2 3 */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* 4 5 6 7 */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* 8 9 : ; */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* < = > ? */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* @ A B C */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* D E F G */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* H I J K */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* L M N O */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* P Q R S */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* T U V W */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* X Y Z [ */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* \ ] ^ _ */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -CASE_PRINT, -/* ` a b c */ -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT, -CASE_PRINT, -/* d e f g */ -CASE_PRINT, -CASE_PRINT, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -/* h i j k */ -CASE_PRINT, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -/* l m n o */ -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT, -/* p q r s */ -CASE_PRINT, -CASE_PRINT_GRA, -CASE_PRINT, -CASE_PRINT, -/* t u v w */ -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -/* x y z { */ -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -/* | } ~ DEL */ -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_PRINT_GRA, -CASE_IGNORE, -/* 0x80 0x81 0x82 0x83 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x84 0x85 0x86 0x87 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x88 0x89 0x8a 0x8b */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x8c 0x8d 0x8e 0x8f */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x90 0x91 0x92 0x93 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x94 0x95 0x96 0x97 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x99 0x99 0x9a 0x9b */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0x9c 0x9d 0x9e 0x9f */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xa0 0xa1 0xa2 0xa3 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xa4 0xa5 0xa6 0xa7 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xa8 0xa9 0xaa 0xab */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xac 0xad 0xae 0xaf */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xb0 0xb1 0xb2 0xb3 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xb4 0xb5 0xb6 0xb7 */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xb8 0xb9 0xba 0xbb */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xbc 0xbd 0xbe 0xbf */ -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -CASE_UTF8_INSTRING, -/* 0xc0 0xc1 0xc2 0xc3 */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xc4 0xc5 0xc6 0xc7 */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xc8 0xc9 0xca 0xcb */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xcc 0xcd 0xce 0xcf */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xd0 0xd1 0xd2 0xd3 */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xd4 0xd5 0xd6 0xd7 */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xd8 0xd9 0xda 0xdb */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xdc 0xdd 0xde 0xdf */ -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -CASE_UTF8_2BYTE, -/* 0xe0 0xe1 0xe2 0xe3 */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xe4 0xe5 0xe6 0xe7 */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xe8 0xe9 0xea 0xeb */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xec 0xed 0xee 0xef */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xf0 0xf1 0xf2 0xf3 */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xf4 0xf5 0xf6 0xf7 */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xf8 0xf9 0xfa 0xfb */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -/* 0xfc 0xfd 0xfe 0xff */ -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, -CASE_UTF8_3BYTE, +// SP ! " # +NULL, +NULL, +NULL, +NULL, + +// $ % & ' +NULL, +NULL, +NULL, +NULL, + +// ( ) * + +NULL, +NULL, +NULL, +"\xE2\x86\x92", // ACS_RARROW + +// , - . / +"\xE2\x86\x90", // ACS_LARROW +"\xE2\x86\x91", // ACS_UARROW +"\xE2\x86\x93", // ACS_DARROW +NULL, + +// 0 1 2 3 +"\xE2\x96\xAE", // ACS_BLOCK +NULL, +NULL, +NULL, + +// 4 5 6 7 +NULL, +NULL, +NULL, +NULL, + +// 8 9 : ; +NULL, +NULL, +NULL, +NULL, + +// < = > ? +NULL, +NULL, +NULL, +NULL, + +// @ A B C +NULL, +NULL, +NULL, +NULL, + +// D E F G +NULL, +NULL, +NULL, +NULL, + +// H I J K +NULL, +NULL, +NULL, +NULL, + +// L M N O +NULL, +NULL, +NULL, +NULL, + +// P Q R S +NULL, +NULL, +NULL, +NULL, + +// T U V W +NULL, +NULL, +NULL, +NULL, + +// X Y Z [ +NULL, +NULL, +NULL, +NULL, +// \ ] ^ _ +NULL, +NULL, +NULL, +"\xE2\x96\xAE", // xterm: black vertical rectangle + +// ` a b c +"\xE2\x97\x86", // ACS_DIAMOND +"\xE2\x96\x92", // ACS_CKBOARD +"\xE2\x90\x89", // xterm:symbol for horizontal tabulation +"\xE2\x90\x8C", // xterm:symbol for form feed + +// d e f g +"\xE2\x90\x8D", // xterm:symbol for carriage return +"\xE2\x90\x8A", // xterm:symbol for line feed +"\xC2\xB0", // ACS_DEGREE +"\xC2\xB1", // ACS_PLMINUS + +// h i j k +"\xE2\x90\xA4", // xterm:symbol for newline (ACS_BOARD) +"\xE2\x98\x83", // ACS_LANTERN (xterm:symbol for vert.tab: \xE2\x90\x8B) +"\xE2\x94\x98", // ACS_LRCORNER +"\xE2\x94\x90", // ACS_URCORNER + +// l m n o +"\xE2\x94\x8C", // ACS_ULCORNER +"\xE2\x94\x94", // ACS_LLCORNER +"\xE2\x94\xBC", // ACS_PLUS +"\xE2\x8E\xBA", // ACS_S1 + +// p q r s +"\xE2\x8E\xBB", // ACS_S3 +"\xE2\x94\x80", // ACS_HLINE +"\xE2\x8E\xBC", // ACS_S7 +"\xE2\x8E\xBD", // ACS_S9 + +// t u v w +"\xE2\x94\x9C", // ACS_LTEE +"\xE2\x94\xA4", // ACS_RTEE +"\xE2\x94\xB4", // ACS_BTEE +"\xE2\x94\xAC", // ACS_TTEE + +// x y z { +"\xE2\x94\x82", // ACS_VLINE +"\xE2\x89\xA4", // ACS_LEQUAL +"\xE2\x89\xA5", // ACS_GEQUAL +"\xCF\x80", // ACS_PI + +// | } ~ DEL +"\xE2\x89\xA0", // ACS_NEQUAL +"\xC2\xA3", // ACS_STERLING +"\xC2\xB7", // ACS_BULLET +NULL }; diff --git a/src/apps/terminal/VTparse.h b/src/apps/terminal/VTparse.h index e2f6da19a6..da48dd124f 100644 --- a/src/apps/terminal/VTparse.h +++ b/src/apps/terminal/VTparse.h @@ -21,8 +21,8 @@ #define CASE_VMOT 8 #define CASE_TAB 9 #define CASE_LF 10 -#define CASE_SI 11 -#define CASE_SO 12 +#define CASE_LS0 11 +#define CASE_LS1 12 #define CASE_SP 13 #define CASE_SCR_STATE 14 #define CASE_SCS0_STATE 15 @@ -105,6 +105,5 @@ #define CASE_SD 90 /* scroll screen down */ #define CASE_ECH 91 /* erase characters */ -#define CASE_PRINT_GRA 92 #define CASE_DECSCUSR_ETC 93 #define CASE_CSI_SP 94 From a54db680badfcff579a4d629e4a44f2f304ce1da Mon Sep 17 00:00:00 2001 From: Fredrik Holmqvist Date: Mon, 25 Mar 2013 21:51:11 +0100 Subject: [PATCH 104/122] Revert "Remove fno-tree-vrp compile flag." This reverts commit e8d6e3fe3b85f88fe9506257b0cbbf5341a3a840. Also added a comment pointing to the recent discussion. See http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization --- build/jam/BuildSetup | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index c957bcaeb6..6588093324 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -131,8 +131,11 @@ if $(HAIKU_USE_GCC_PIPE) = 1 { # results in some broken code. # TODO: remove the -fno-strict-aliasing option when all code has been # analyzed/fixed with regard to aliasing. +# TODO: retest/remove the -fno-tree-vrp option as soon as we have updated our +# gcc4 compiler. See this discussion on some issues: +# http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization if $(HAIKU_GCC_VERSION[1]) >= 3 { - HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing ; + HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; } # disable array bounds warnings on gcc 4.6 or newer since they trigger @@ -145,7 +148,7 @@ if $(HAIKU_GCC_VERSION[1]) >= 4 { } if $(HOST_GCC_VERSION[1]) >= 3 { - HOST_GCC_BASE_FLAGS += -fno-strict-aliasing ; + HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ; } # override gcc 2.95.3's header directory -- strictly necessary only when using From a198eedcc7b7f5d19c0ffcbe7514aa88de2ec0cb Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Mon, 25 Mar 2013 21:14:17 -0400 Subject: [PATCH 105/122] Fix incorrect version checks. It's sufficient to simply check if the gcc version is 4 or higher since we enforce the use of the latest ported compiler for the build anyways, and these multi-level checks would fail in their current state if gcc moved to e.g. version 5.0. --- build/jam/BuildSetup | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 6588093324..b839e350cc 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -142,9 +142,7 @@ if $(HAIKU_GCC_VERSION[1]) >= 3 { # too many false positives. Coverity does a better job of this kind of analysis # anyways. if $(HAIKU_GCC_VERSION[1]) >= 4 { - if $(HAIKU_GCC_VERSION[2]) >= 6 { - HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ; - } + HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ; } if $(HOST_GCC_VERSION[1]) >= 3 { @@ -362,12 +360,10 @@ if $(HAIKU_GCC_VERSION[1]) >= 3 { if $(HAIKU_GCC_VERSION[1]) >= 4 { HAIKU_C++FLAGS += -Wno-deprecated ; - if $(HAIKU_GCC_VERSION[2]) >= 3 { - HAIKU_KERNEL_CCFLAGS += -ffreestanding ; - HAIKU_KERNEL_C++FLAGS += -ffreestanding ; - HAIKU_BOOT_CCFLAGS += -ffreestanding ; - HAIKU_BOOT_C++FLAGS += -ffreestanding ; - } + HAIKU_KERNEL_CCFLAGS += -ffreestanding ; + HAIKU_KERNEL_C++FLAGS += -ffreestanding ; + HAIKU_BOOT_CCFLAGS += -ffreestanding ; + HAIKU_BOOT_C++FLAGS += -ffreestanding ; } HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ; @@ -1261,10 +1257,8 @@ if $(HAIKU_GCC_VERSION[1]) >= 4 { # -Wuninitialized gives too many false positives. HAIKU_WERRORFLAGS = -Wno-error=uninitialized ; - if $(HAIKU_GCC_VERSION[2]) >= 6 { - # TODO: remove the -Wno-unused-but-set-variable option - HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ; - } + # TODO: remove the -Wno-unused-but-set-variable option + HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ; } rule EnableWerror dirTokens : scope { From bbd26dbf1eaa93abda77ae00392bd4c2ab39e474 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Fri, 22 Mar 2013 00:20:13 +0100 Subject: [PATCH 106/122] nfs4: Fix #9558: in some cases sending SETATTR without open owner is legal --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 7d82a9c359..0d2eeea290 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -642,18 +642,17 @@ Inode::WriteStat(const struct stat* st, uint32 mask, OpenAttrCookie* cookie) if (cookie == NULL) { MutexLocker stateLocker(fStateLock); - ASSERT(fOpenState != NULL); + ASSERT(fOpenState != NULL || !(mask & B_STAT_SIZE)); result = NFS4Inode::WriteStat(fOpenState, attr, i); - stateLocker.Unlock(); - - fMetaCache.InvalidateStat(); - if ((mask & B_STAT_MODE) != 0 || (mask & B_STAT_UID) != 0 - || (mask & B_STAT_GID) != 0) { - fMetaCache.InvalidateAccess(); - } } else result = NFS4Inode::WriteStat(cookie->fOpenState, attr, i); + fMetaCache.InvalidateStat(); + + const uint32 kAccessMask = B_STAT_MODE | B_STAT_UID | B_STAT_GID; + if ((mask & kAccessMask) != 0) + fMetaCache.InvalidateAccess(); + return result; } From 4c2a56efe8dbcde7a4f6b5513882de295d4acf09 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Fri, 22 Mar 2013 00:45:06 +0100 Subject: [PATCH 107/122] nfs4: we can not use LOOKUPP on regular files when recovering file handle --- .../kernel/file_systems/nfs4/FileInfo.cpp | 37 +++++++++++-------- .../kernel/file_systems/nfs4/FileInfo.h | 2 +- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp index 5b7a57d776..8bcadcc9b8 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp @@ -14,7 +14,8 @@ status_t -FileInfo::ParsePath(RequestBuilder& req, uint32& count, const char* _path) +FileInfo::ParsePath(RequestBuilder& req, uint32& count, const char* _path, + bool getFileHandle) { ASSERT(_path != NULL); @@ -36,6 +37,8 @@ FileInfo::ParsePath(RequestBuilder& req, uint32& count, const char* _path) count++; } else if (strcmp(pathStart, ".")) { req.LookUp(pathStart); + if (getFileHandle) + req.GetFH(); count++; } } @@ -93,15 +96,14 @@ FileInfo::UpdateFileHandles(FileSystem* fs) RequestBuilder& req = request.Builder(); req.PutRootFH(); + req.GetFH(); uint32 lookupCount = 0; - status_t result; - - result = ParsePath(req, lookupCount, fs->Path()); + status_t result = ParsePath(req, lookupCount, fs->Path(), true); if (result != B_OK) return result; - result = ParsePath(req, lookupCount, fPath); + result = ParsePath(req, lookupCount, fPath, true); if (result != B_OK) return result; @@ -113,19 +115,25 @@ FileInfo::UpdateFileHandles(FileSystem* fs) req.Verify(&attr, 1); } - req.GetFH(); - req.LookUpUp(); - req.GetFH(); - result = request.Send(); if (result != B_OK) return result; ReplyInterpreter& reply = request.Reply(); + FileHandle parent; + FileHandle child; + reply.PutRootFH(); - for (uint32 i = 0; i < lookupCount; i++) + reply.GetFH(&child); + parent = child; + for (uint32 i = 0; i < lookupCount; i++) { reply.LookUp(); + parent = child; + result = reply.GetFH(&child); + if (result != B_OK) + return result; + } if (fs->IsAttrSupported(FATTR4_FILEID)) { result = reply.Verify(); @@ -133,12 +141,9 @@ FileInfo::UpdateFileHandles(FileSystem* fs) return result; } - reply.GetFH(&fHandle); - if (reply.LookUpUp() == B_ENTRY_NOT_FOUND) { - fParent = fHandle; - return B_OK; - } + fHandle = child; + fParent = parent; - return reply.GetFH(&fParent); + return B_OK; } diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h index 4182dcc331..ca2fbb5bef 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h +++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h @@ -56,7 +56,7 @@ struct FileInfo { status_t UpdateFileHandles(FileSystem* fs); static status_t ParsePath(RequestBuilder& req, uint32& count, - const char* _path); + const char* _path, bool getFileHandle = false); status_t CreateName(const char* dirPath, const char* name); }; From efc29cc57a620c89cbb0ac0be6dfaf522282441e Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Fri, 22 Mar 2013 03:06:50 +0100 Subject: [PATCH 108/122] nfs4: update vnode objects and cached data when rename overrides a file * this patch also fixes unnecessary cache invalidation when a file is renamed without changing its parent directory --- .../kernel/file_systems/nfs4/Inode.cpp | 45 +++++++++++-------- src/add-ons/kernel/file_systems/nfs4/Inode.h | 3 +- .../kernel/file_systems/nfs4/NFS4Inode.cpp | 9 ++-- .../file_systems/nfs4/kernel_interface.cpp | 20 ++++++++- 4 files changed, 51 insertions(+), 26 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 0d2eeea290..e62aaffb4d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -311,7 +311,7 @@ Inode::Remove(const char* name, FileType type, ino_t* id) status_t Inode::Rename(Inode* from, Inode* to, const char* fromName, const char* toName, - bool attribute, ino_t* id) + bool attribute, ino_t* id, ino_t* oldID) { ASSERT(from != NULL); ASSERT(fromName != NULL); @@ -341,8 +341,12 @@ Inode::Rename(Inode* from, Inode* to, const char* fromName, const char* toName, return B_NO_MEMORY; } - ChangeInfo fromChange, toChange; + uint64 oldFileID = 0; + if (!attribute) + to->NFS4Inode::LookUp(toName, NULL, &oldFileID, NULL); + uint64 fileID; + ChangeInfo fromChange, toChange; status_t result = NFS4Inode::RenameNode(from, to, fromName, toName, &fromChange, &toChange, &fileID, attribute); if (result != B_OK) @@ -350,32 +354,37 @@ Inode::Rename(Inode* from, Inode* to, const char* fromName, const char* toName, from->fFileSystem->Root()->MakeInfoInvalid(); + if (id != NULL) + *id = FileIdToInoT(fileID); + if (oldID != NULL) + *oldID = FileIdToInoT(oldFileID); + DirectoryCache* cache = attribute ? from->fAttrCache : from->fCache; cache->Lock(); if (cache->Valid()) { - if (fromChange.fAtomic - && cache->ChangeInfo() == fromChange.fBefore) { + if (fromChange.fAtomic && cache->ChangeInfo() == fromChange.fBefore) { cache->RemoveEntry(fromName); + if (to == from) + cache->AddEntry(toName, fileID, true); cache->SetChangeInfo(fromChange.fAfter); - } else if (cache->ChangeInfo() != fromChange.fBefore) + } else cache->Trash(); } cache->Unlock(); - if (id != NULL) - *id = FileIdToInoT(fileID); - - cache = attribute ? to->fAttrCache : to->fCache; - cache->Lock(); - if (cache->Valid()) { - if (toChange.fAtomic - && cache->ChangeInfo() == toChange.fBefore) { - cache->AddEntry(toName, fileID, true); - cache->SetChangeInfo(toChange.fAfter); - } else if (to->fCache->ChangeInfo() != toChange.fBefore) - cache->Trash(); + if (to != from) { + cache = attribute ? to->fAttrCache : to->fCache; + cache->Lock(); + if (cache->Valid()) { + if (toChange.fAtomic + && (cache->ChangeInfo() == toChange.fBefore)) { + cache->AddEntry(toName, fileID, true); + cache->SetChangeInfo(toChange.fAfter); + } else + cache->Trash(); + } + cache->Unlock(); } - cache->Unlock(); if (attribute) { notify_attribute_changed(from->fFileSystem->DevId(), from->ID(), diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.h b/src/add-ons/kernel/file_systems/nfs4/Inode.h index 0c5e8449fe..1e6d47bd31 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.h +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.h @@ -62,7 +62,8 @@ public: ino_t* id = NULL); static status_t Rename(Inode* from, Inode* to, const char* fromName, const char* toName, - bool attribute = false, ino_t* id = NULL); + bool attribute = false, ino_t* id = NULL, + ino_t* oldID = NULL); status_t Stat(struct stat* st, OpenAttrCookie* attr = NULL); diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 3dfdd61d80..4d86e0e98f 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -119,9 +119,6 @@ NFS4Inode::LookUp(const char* name, uint64* change, uint64* fileID, FileHandle* handle, bool parent) { ASSERT(name != NULL); - ASSERT(change != NULL); - ASSERT(fileID != NULL); - ASSERT(handle != NULL); do { RPC::Server* serv = fFileSystem->Server(); @@ -143,7 +140,8 @@ NFS4Inode::LookUp(const char* name, uint64* change, uint64* fileID, else req.LookUp(name); - req.GetFH(); + if (handle != NULL) + req.GetFH(); Attribute attr[] = { FATTR4_FSID, FATTR4_FILEID }; req.GetAttr(attr, sizeof(attr) / sizeof(Attribute)); @@ -177,7 +175,8 @@ NFS4Inode::LookUp(const char* name, uint64* change, uint64* fileID, if (result != B_OK) return result; - reply.GetFH(handle); + if (handle != NULL) + reply.GetFH(handle); result = reply.GetAttr(&values, &count); if (result != B_OK) diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index 57998827fa..74663cf721 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -604,7 +604,8 @@ nfs4_unlink(fs_volume* volume, fs_vnode* dir, const char* name) result = acquire_vnode(volume, id); if (result == B_OK) { - ASSERT(get_vnode(volume, id, reinterpret_cast(&vti)) == B_OK); + result = get_vnode(volume, id, reinterpret_cast(&vti)); + ASSERT(result == B_OK); vti->Remove(); put_vnode(volume, id); remove_vnode(volume, id); @@ -639,12 +640,27 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const char* fromName, return B_ENTRY_NOT_FOUND; ino_t id; + ino_t oldID; status_t result = Inode::Rename(fromInode, toInode, fromName, toName, false, - &id); + &id, &oldID); if (result != B_OK) return result; VnodeToInode* vti; + + if (oldID != 0) { + // we have overriden an inode + result = acquire_vnode(volume, oldID); + if (result == B_OK) { + result = get_vnode(volume, oldID, reinterpret_cast(&vti)); + ASSERT(result == B_OK); + vti->Remove(); + put_vnode(volume, oldID); + remove_vnode(volume, oldID); + put_vnode(volume, oldID); + } + } + result = get_vnode(volume, id, reinterpret_cast(&vti)); if (result == B_OK) { Inode* child = vti->Get(); From 469f13fdfe886f0eca9cc9204ad2e3da7377f7ba Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 26 Mar 2013 02:31:31 +0100 Subject: [PATCH 109/122] nfs4: support hard links properly The main purpose of this patch is to prevent VFS from removing a vnode to early what might have happened if the NFS client knew it had more than one name but then one of them was deleted. Moreover, all discovered and still valid names are stored what may be useful in proper file handle recovery when they are volatile. This patch fixes both #9558 and #9561. --- .../file_systems/nfs4/DirectoryCache.cpp | 13 -- .../kernel/file_systems/nfs4/FileInfo.cpp | 216 +++++++++++------- .../kernel/file_systems/nfs4/FileInfo.h | 102 ++++----- .../kernel/file_systems/nfs4/FileSystem.cpp | 142 +++++++++--- .../kernel/file_systems/nfs4/FileSystem.h | 9 +- .../kernel/file_systems/nfs4/Inode.cpp | 19 +- .../kernel/file_systems/nfs4/InodeIdMap.cpp | 81 +++++++ .../kernel/file_systems/nfs4/InodeIdMap.h | 91 +------- .../kernel/file_systems/nfs4/InodeRegular.cpp | 15 +- src/add-ons/kernel/file_systems/nfs4/Jamfile | 1 + .../kernel/file_systems/nfs4/NFS4Inode.cpp | 25 +- .../file_systems/nfs4/ReplyInterpreter.cpp | 56 +++-- .../file_systems/nfs4/ReplyInterpreter.h | 8 +- .../kernel/file_systems/nfs4/VnodeToInode.cpp | 26 ++- .../kernel/file_systems/nfs4/VnodeToInode.h | 11 +- .../file_systems/nfs4/kernel_interface.cpp | 45 ++-- 16 files changed, 487 insertions(+), 373 deletions(-) create mode 100644 src/add-ons/kernel/file_systems/nfs4/InodeIdMap.cpp diff --git a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp index 321e73d8d7..168f54ccdf 100644 --- a/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/DirectoryCache.cpp @@ -308,19 +308,6 @@ DirectoryCache::NotifyChanges(DirectoryCacheSnapshot* oldSnapshot, } else { notify_entry_created(fInode->GetFileSystem()->DevId(), fInode->ID(), newCurrent->fName, newCurrent->fNode); - - do { - FileInfo fi; - fi.fFileId = newCurrent->fNode; - fi.fParent = fInode->fInfo.fHandle; - status_t result = fi.CreateName(fInode->fInfo.fPath, - newCurrent->fName); - if (result != B_OK) - break; - - fInode->GetFileSystem()->InoIdMap()->AddEntry(fi, - Inode::FileIdToInoT(newCurrent->fNode), true); - } while (false); } } else oldSnapshot->fEntries.Remove(prev, oldCurrent); diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp index 8bcadcc9b8..d620481c77 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.cpp @@ -13,80 +13,122 @@ #include "Request.h" -status_t -FileInfo::ParsePath(RequestBuilder& req, uint32& count, const char* _path, - bool getFileHandle) +InodeName::InodeName(InodeNames* parent, const char* name) + : + fParent(parent), + fName(strdup(name)) { - ASSERT(_path != NULL); + if (fParent != NULL) + fParent->AcquireReference(); +} - char* path = strdup(_path); - if (path == NULL) - return B_NO_MEMORY; - char* pathStart = path; - char* pathEnd; +InodeName::~InodeName() +{ + if (fParent != NULL) + fParent->ReleaseReference(); + free(const_cast(fName)); +} - while (pathStart != NULL) { - pathEnd = strchr(pathStart, '/'); - if (pathEnd != NULL) - *pathEnd = '\0'; - if (pathEnd != pathStart) { - if (!strcmp(pathStart, "..")) { - req.LookUpUp(); - count++; - } else if (strcmp(pathStart, ".")) { - req.LookUp(pathStart); - if (getFileHandle) - req.GetFH(); - count++; - } - } +InodeNames::InodeNames() +{ + mutex_init(&fLock, NULL); +} - if (pathEnd != NULL && pathEnd[1] != '\0') - pathStart = pathEnd + 1; - else - pathStart = NULL; - } - free(path); - return B_OK; +InodeNames::~InodeNames() +{ + while (!fNames.IsEmpty()) + delete fNames.RemoveHead(); + mutex_destroy(&fLock); } status_t -FileInfo::CreateName(const char* dirPath, const char* name) +InodeNames::AddName(InodeNames* parent, const char* name) { - ASSERT(name != NULL); + MutexLocker _(fLock); - free(const_cast(fName)); - fName = strdup(name); - if (fName == NULL) + InodeName* current = fNames.Head(); + while (current != NULL) { + if (current->fParent == parent && !strcmp(current->fName, name)) + return B_OK; + current = fNames.GetNext(current); + } + + InodeName* newName = new InodeName(parent, name); + if (newName == NULL) return B_NO_MEMORY; - - free(const_cast(fPath)); - fPath = NULL; - if (dirPath != NULL) { - char* path = reinterpret_cast(malloc(strlen(name) + 2 - + strlen(dirPath))); - if (path == NULL) - return B_NO_MEMORY; - - strcpy(path, dirPath); - strcat(path, "/"); - strcat(path, name); - - fPath = path; - } else - fPath = strdup(name); - - if (fPath == NULL) - return B_NO_MEMORY; - + fNames.Add(newName); return B_OK; } +bool +InodeNames::RemoveName(InodeNames* parent, const char* name) +{ + MutexLocker _(fLock); + + InodeName* previous = NULL; + InodeName* current = fNames.Head(); + while (current != NULL) { + if (current->fParent == parent && !strcmp(current->fName, name)) { + fNames.Remove(previous, current); + delete current; + break; + } + + previous = current; + current = fNames.GetNext(current); + } + + return fNames.IsEmpty(); +} + + +FileInfo::FileInfo() + : + fFileId(0), + fNames(NULL) +{ +} + + +FileInfo::~FileInfo() +{ + if (fNames != NULL) + fNames->ReleaseReference(); +} + + +FileInfo::FileInfo(const FileInfo& fi) + : + fFileId(fi.fFileId), + fHandle(fi.fHandle), + fNames(fi.fNames) +{ + if (fNames != NULL) + fNames->AcquireReference(); +} + + +FileInfo& +FileInfo::operator=(const FileInfo& fi) +{ + fFileId = fi.fFileId; + fHandle = fi.fHandle; + + if (fNames != NULL) + fNames->ReleaseReference(); + fNames = fi.fNames; + if (fNames != NULL) + fNames->AcquireReference(); + + return *this; +} + + status_t FileInfo::UpdateFileHandles(FileSystem* fs) { @@ -96,16 +138,41 @@ FileInfo::UpdateFileHandles(FileSystem* fs) RequestBuilder& req = request.Builder(); req.PutRootFH(); - req.GetFH(); uint32 lookupCount = 0; - status_t result = ParsePath(req, lookupCount, fs->Path(), true); - if (result != B_OK) - return result; + const char** path = fs->Path(); + if (path != NULL) { + for (; path[lookupCount] != NULL; lookupCount++) + req.LookUp(path[lookupCount]); + } - result = ParsePath(req, lookupCount, fPath, true); - if (result != B_OK) - return result; + uint32 i; + InodeNames* names = fNames; + for (i = 0; names != NULL; i++) + names = names->fNames.Head()->fParent; + + if (i > 0) { + names = fNames; + InodeNames** pathNames = new InodeNames*[i]; + if (pathNames == NULL) + return B_NO_MEMORY; + + for (i = 0; names != NULL; i++) { + pathNames[i] = names; + names = names->fNames.Head()->fParent; + } + + for (; i > 0; i--) { + if (!strcmp(pathNames[i - 1]->fNames.Head()->fName, "")) + continue; + + req.LookUp(pathNames[i - 1]->fNames.Head()->fName); + lookupCount++; + } + delete[] pathNames; + } + + req.GetFH(); if (fs->IsAttrSupported(FATTR4_FILEID)) { AttrValue attr; @@ -115,25 +182,20 @@ FileInfo::UpdateFileHandles(FileSystem* fs) req.Verify(&attr, 1); } - result = request.Send(); + status_t result = request.Send(); if (result != B_OK) return result; ReplyInterpreter& reply = request.Reply(); - FileHandle parent; - FileHandle child; - reply.PutRootFH(); - reply.GetFH(&child); - parent = child; - for (uint32 i = 0; i < lookupCount; i++) { + for (uint32 i = 0; i < lookupCount; i++) reply.LookUp(); - parent = child; - result = reply.GetFH(&child); - if (result != B_OK) - return result; - } + + FileHandle handle; + result = reply.GetFH(&handle); + if (result != B_OK) + return result; if (fs->IsAttrSupported(FATTR4_FILEID)) { result = reply.Verify(); @@ -141,8 +203,8 @@ FileInfo::UpdateFileHandles(FileSystem* fs) return result; } - fHandle = child; - fParent = parent; + fHandle = handle; + fNames->fHandle = handle; return B_OK; } diff --git a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h index ca2fbb5bef..d98574817b 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileInfo.h +++ b/src/add-ons/kernel/file_systems/nfs4/FileInfo.h @@ -12,7 +12,9 @@ #include #include +#include #include +#include #define NFS4_FHSIZE 128 @@ -26,11 +28,34 @@ struct FileHandle { inline FileHandle& operator=(const FileHandle& fh); + inline bool operator==(const FileHandle& handle) const; inline bool operator!=(const FileHandle& handle) const; inline bool operator>(const FileHandle& handle) const; inline bool operator<(const FileHandle& handle) const; }; +class InodeNames; + +struct InodeName : public SinglyLinkedListLinkImpl { + InodeName(InodeNames* parent, const char* name); + ~InodeName(); + + InodeNames* fParent; + const char* fName; +}; + +struct InodeNames : public KernelReferenceable { + InodeNames(); + ~InodeNames(); + + status_t AddName(InodeNames* parent, const char* name); + bool RemoveName(InodeNames* parent, + const char* name); + + mutex fLock; + SinglyLinkedList fNames; + FileHandle fHandle; +}; class FileSystem; class RequestBuilder; @@ -42,23 +67,16 @@ struct FileInfo { uint64 fFileId; FileHandle fHandle; - FileHandle fParent; - const char* fName; - const char* fPath; + InodeNames* fNames; FileHandle fAttrDir; - inline FileInfo(); - inline ~FileInfo(); - inline FileInfo(const FileInfo& fi); - inline FileInfo& operator=(const FileInfo& fi); + FileInfo(); + ~FileInfo(); + FileInfo(const FileInfo& fi); + FileInfo& operator=(const FileInfo& fi); status_t UpdateFileHandles(FileSystem* fs); - - static status_t ParsePath(RequestBuilder& req, uint32& count, - const char* _path, bool getFileHandle = false); - - status_t CreateName(const char* dirPath, const char* name); }; struct FileSystemId { @@ -97,11 +115,18 @@ FileHandle::operator=(const FileHandle& fh) inline bool -FileHandle::operator!=(const FileHandle& handle) const +FileHandle::operator==(const FileHandle& handle) const { if (fSize != handle.fSize) - return true; - return memcmp(fData, handle.fData, fSize) != 0; + return false; + return memcmp(fData, handle.fData, fSize) == 0; +} + + +inline bool +FileHandle::operator!=(const FileHandle& handle) const +{ + return !operator==(handle); } @@ -123,53 +148,6 @@ FileHandle::operator<(const FileHandle& handle) const } -inline -FileInfo::FileInfo() - : - fFileId(0), - fName(NULL), - fPath(NULL) -{ -} - - -inline -FileInfo::~FileInfo() -{ - free(const_cast(fName)); - free(const_cast(fPath)); -} - - -inline -FileInfo::FileInfo(const FileInfo& fi) - : - fFileId(fi.fFileId), - fHandle(fi.fHandle), - fParent(fi.fParent), - fName(strdup(fi.fName)), - fPath(strdup(fi.fPath)) -{ -} - - -inline FileInfo& -FileInfo::operator=(const FileInfo& fi) -{ - fFileId = fi.fFileId; - fHandle = fi.fHandle; - fParent = fi.fParent; - - free(const_cast(fName)); - fName = strdup(fi.fName); - - free(const_cast(fPath)); - fPath = strdup(fi.fPath); - - return *this; -} - - inline bool FileSystemId::operator==(const FileSystemId& fsid) const { diff --git a/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp b/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp index 309f572d28..c1a5a7b9ad 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/FileSystem.cpp @@ -54,33 +54,74 @@ FileSystem::~FileSystem() mutex_destroy(&fOpenOwnerLock); mutex_destroy(&fCreateFileLock); - free(const_cast(fPath)); + if (fPath != NULL) { + for (uint32 i = 0; fPath[i] != NULL; i++) + free(const_cast(fPath[i])); + } + delete[] fPath; + delete fRoot; } -static const char* -GetPath(const char* root, const char* path) +static InodeNames* +GetInodeNames(const char** root, const char* _path) { - ASSERT(path != NULL); + ASSERT(_path != NULL); - int slash = 0; int i; - for (i = 0; path[i] != '\0'; i++) { - if (path[i] == '/') - slash = i; + char* path = strdup(_path); + if (path == NULL) + return NULL; + MemoryDeleter _(path); - if (root == NULL) - break; + if (root != NULL) { + for (i = 0; root[i] != NULL; i++) { + char* pathEnd = strchr(path, '/'); + if (pathEnd == path) { + path++; + i--; + continue; + } - if (path[i] != root[i] || root[i] == '\0') - break; + if (pathEnd == NULL) { + path = NULL; + break; + } else + path = pathEnd + 1; + } } - if (path[i] == '\0') - return NULL; + InodeNames* names = NULL; + if (path == NULL) { + names = new InodeNames; + if (names == NULL) + return NULL; - return path + slash; + names->AddName(NULL, ""); + return names; + } + + do { + char* pathEnd = strchr(path, '/'); + if (pathEnd != NULL) + *pathEnd = '\0'; + + InodeNames* name = new InodeNames; + if (name == NULL) { + delete names; + return NULL; + } + + name->AddName(names, path); + names = name; + if (pathEnd == NULL) + break; + + path = pathEnd + 1; + } while (*path != '\0'); + + return names; } @@ -103,7 +144,7 @@ FileSystem::Mount(FileSystem** _fs, RPC::Server* serv, const char* fsPath, req.PutRootFH(); uint32 lookupCount = 0; - status_t result = FileInfo::ParsePath(req, lookupCount, fsPath); + status_t result = _ParsePath(req, lookupCount, fsPath); if (result != B_OK) return result; @@ -156,30 +197,25 @@ FileSystem::Mount(FileSystem** _fs, RPC::Server* serv, const char* fsPath, FSLocations* locs = reinterpret_cast(values[3].fData.fLocations); - fs->fPath = strdup(locs->fRootPath); + fs->fPath = locs->fRootPath; + locs->fRootPath = NULL; } else fs->fPath = NULL; FileInfo fi; - const char* name; - if (fsPath != NULL && fsPath[0] == '/') - fsPath++; fs->fServer = serv; fs->fDevId = id; fs->fFsId = *fsid; fi.fHandle = fh; - fi.fParent = fh; - fi.fPath = strdup(GetPath(fs->fPath, fsPath)); - if (fi.fPath != NULL) { - name = strrchr(fi.fPath, '/'); - if (name != NULL) { - name++; - fi.fName = strdup(name); - } + fi.fNames = GetInodeNames(fs->fPath, fsPath); + if (fi.fNames == NULL) { + delete[] values; + return B_NO_MEMORY; } + fi.fNames->fHandle = fh; delete[] values; @@ -188,7 +224,7 @@ FileSystem::Mount(FileSystem** _fs, RPC::Server* serv, const char* fsPath, if (result != B_OK) return result; - name = strrchr(fsPath, '/'); + char* name = strrchr(fsPath, '/'); if (name != NULL) { name++; reinterpret_cast(inode)->SetName(name); @@ -263,8 +299,14 @@ FileSystem::Migrate(const RPC::Server* serv) if (gRPCServerManager->Acquire(&fServer, &resolver, CreateNFS4Server) == B_OK) { - free(const_cast(fPath)); - fPath = strdup(locs->fLocations[i].fRootPath); + if (fPath != NULL) { + for (uint32 i = 0; fPath[i] != NULL; i++) + free(const_cast(fPath[i])); + } + delete[] fPath; + + fPath = locs->fLocations[i].fRootPath; + locs->fLocations[i].fRootPath = NULL; if (fPath == NULL) { gRPCServerManager->Release(fServer); @@ -391,3 +433,41 @@ FileSystem::GetDelegation(const FileHandle& handle) return it.Current(); } + +status_t +FileSystem::_ParsePath(RequestBuilder& req, uint32& count, const char* _path) +{ + ASSERT(_path != NULL); + + char* path = strdup(_path); + if (path == NULL) + return B_NO_MEMORY; + + char* pathStart = path; + char* pathEnd; + + while (pathStart != NULL) { + pathEnd = strchr(pathStart, '/'); + if (pathEnd != NULL) + *pathEnd = '\0'; + + if (pathEnd != pathStart) { + if (!strcmp(pathStart, "..")) { + req.LookUpUp(); + count++; + } else if (strcmp(pathStart, ".")) { + req.LookUp(pathStart); + count++; + } + } + + if (pathEnd != NULL && pathEnd[1] != '\0') + pathStart = pathEnd + 1; + else + pathStart = NULL; + } + free(path); + + return B_OK; +} + diff --git a/src/add-ons/kernel/file_systems/nfs4/FileSystem.h b/src/add-ons/kernel/file_systems/nfs4/FileSystem.h index d9b4ae3d27..5d16d8d477 100644 --- a/src/add-ons/kernel/file_systems/nfs4/FileSystem.h +++ b/src/add-ons/kernel/file_systems/nfs4/FileSystem.h @@ -59,7 +59,7 @@ public: inline RPC::Server* Server(); inline NFS4Server* NFSServer(); - inline const char* Path() const; + inline const char** Path() const; inline const FileSystemId& FsId() const; inline uint64 AllocFileId(); @@ -80,6 +80,9 @@ public: private: FileSystem(const MountConfiguration& config); + static status_t _ParsePath(RequestBuilder& req, uint32& count, + const char* _path); + mutex fCreateFileLock; mutex fDelegationLock; @@ -99,7 +102,7 @@ private: bool fNamedAttrs; FileSystemId fFsId; - const char* fPath; + const char** fPath; RootInode* fRoot; @@ -158,7 +161,7 @@ FileSystem::NFSServer() } -inline const char* +inline const char** FileSystem::Path() const { ASSERT(fPath != NULL); diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index e62aaffb4d..6afceaafc1 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -232,14 +232,7 @@ Inode::Link(Inode* dir, const char* name) return result; fFileSystem->Root()->MakeInfoInvalid(); - - FileInfo fi = fInfo; - fi.fParent = dir->fInfo.fHandle; - result = fi.CreateName(fInfo.fPath, name); - if (result != B_OK) - return result; - - fFileSystem->InoIdMap()->AddEntry(fi, fInfo.fFileId); + fInfo.fNames->AddName(dir->fInfo.fNames, name); dir->fCache->Lock(); if (dir->fCache->Valid()) { @@ -875,19 +868,17 @@ Inode::ChildAdded(const char* name, uint64 fileID, FileInfo fi; fi.fFileId = fileID; fi.fHandle = fileHandle; - fi.fParent = fInfo.fHandle; - status_t result = fi.CreateName(fInfo.fPath, name); - if (result != B_OK) - return result; - return fFileSystem->InoIdMap()->AddEntry(fi, FileIdToInoT(fileID)); + return fFileSystem->InoIdMap()->AddName(fi, fInfo.fNames, name, + FileIdToInoT(fileID)); } const char* Inode::Name() const { - return fInfo.fName; + ASSERT(fInfo.fNames->fNames.Head() != NULL); + return fInfo.fNames->fNames.Head()->fName; } diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.cpp new file mode 100644 index 0000000000..7f1ca2c529 --- /dev/null +++ b/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.cpp @@ -0,0 +1,81 @@ +/* + * Copyright 2013 Haiku, Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Paweł Dziepak, pdziepak@quarnos.org + */ + + +#include "InodeIdMap.h" + + +status_t +InodeIdMap::AddName(FileInfo& fileInfo, InodeNames* parent, + const char* name, ino_t id) +{ + MutexLocker _(fLock); + AVLTreeMap::Iterator iterator = fMap.Find(id); + if (iterator.HasCurrent()) { + if (fileInfo.fHandle == iterator.Current().fHandle) { + return iterator.CurrentValuePointer()->fNames->AddName(parent, + name); + } + } + + fMap.Remove(id); + fileInfo.fNames = new InodeNames; + if (fileInfo.fNames == NULL) + return B_NO_MEMORY; + + fileInfo.fNames->fHandle = fileInfo.fHandle; + status_t result = fileInfo.fNames->AddName(parent, name); + if (result != B_OK) { + delete fileInfo.fNames; + return result; + } + + return fMap.Insert(id, fileInfo); +} + + +bool +InodeIdMap::RemoveName(ino_t id, InodeNames* parent, const char* name) +{ + ASSERT(name != NULL); + + MutexLocker _(fLock); + AVLTreeMap::Iterator iterator = fMap.Find(id); + if (!iterator.HasCurrent()) + return true; + + FileInfo* fileInfo = iterator.CurrentValuePointer(); + + return fileInfo->fNames->RemoveName(parent, name); +} + + +status_t +InodeIdMap::RemoveEntry(ino_t id) +{ + MutexLocker _(fLock); + return fMap.Remove(id); +} + + +status_t +InodeIdMap::GetFileInfo(FileInfo* fileInfo, ino_t id) +{ + ASSERT(fileInfo != NULL); + + MutexLocker _(fLock); + AVLTreeMap::Iterator iterator = fMap.Find(id); + if (!iterator.HasCurrent()) + return B_ENTRY_NOT_FOUND; + + *fileInfo = iterator.Current(); + if (fileInfo->fNames->fNames.IsEmpty()) + return B_ENTRY_NOT_FOUND; + return B_OK; +} + diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.h b/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.h index 43ae7994b2..a375c7702d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.h +++ b/src/add-ons/kernel/file_systems/nfs4/InodeIdMap.h @@ -1,5 +1,5 @@ /* - * Copyright 2012 Haiku, Inc. All rights reserved. + * Copyright 2012,2013 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -16,27 +16,24 @@ #include "FileInfo.h" -struct InodeIdMapEntry { - FileInfo fFileInfo; - bool fRemoved; -}; class InodeIdMap { public: inline InodeIdMap(); inline ~InodeIdMap(); - inline status_t AddEntry(const FileInfo& fi, - ino_t id, bool weak = false); - inline status_t MarkRemoved(ino_t id); - inline status_t RemoveEntry(ino_t id); - inline status_t GetFileInfo(FileInfo* fi, ino_t id); - -protected: - inline bool _IsEntryRemoved(ino_t id); + status_t AddName(FileInfo& fileInfo, + InodeNames* parent, + const char* name, ino_t id); + bool RemoveName(ino_t id, + InodeNames* parent, + const char* name); + status_t RemoveEntry(ino_t id); + status_t GetFileInfo(FileInfo* fileInfo, + ino_t id); private: - AVLTreeMap fMap; + AVLTreeMap fMap; mutex fLock; }; @@ -56,71 +53,5 @@ InodeIdMap::~InodeIdMap() } -inline status_t -InodeIdMap::AddEntry(const FileInfo& fi, ino_t id, bool weak) -{ - InodeIdMapEntry entry; - - MutexLocker _(fLock); - if (!weak || _IsEntryRemoved(id)) - fMap.Remove(id); - - entry.fFileInfo = fi; - entry.fRemoved = false; - - return fMap.Insert(id, entry); -} - - -inline status_t -InodeIdMap::MarkRemoved(ino_t id) -{ - MutexLocker _(fLock); - AVLTreeMap::Iterator it = fMap.Find(id); - if (!it.HasCurrent()) - return B_ENTRY_NOT_FOUND; - - it.CurrentValuePointer()->fRemoved = true; - return B_OK; -} - - -inline status_t -InodeIdMap::RemoveEntry(ino_t id) -{ - MutexLocker _(fLock); - if (_IsEntryRemoved(id)) - return fMap.Remove(id); - return B_OK; -} - - -inline status_t -InodeIdMap::GetFileInfo(FileInfo* fi, ino_t id) -{ - ASSERT(fi != NULL); - - MutexLocker _(fLock); - AVLTreeMap::Iterator it = fMap.Find(id); - if (!it.HasCurrent()) - return B_ENTRY_NOT_FOUND; - - *fi = it.Current().fFileInfo; - return B_OK; -} - - -// Caller must hold fLock -inline bool -InodeIdMap::_IsEntryRemoved(ino_t id) -{ - AVLTreeMap::Iterator it = fMap.Find(id); - if (!it.HasCurrent()) - return true; - - return it.Current().fRemoved; -} - - #endif // INODEIDMAP_H diff --git a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp index 4eb1d49db9..d61907429d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/InodeRegular.cpp @@ -36,13 +36,12 @@ Inode::CreateState(const char* name, int mode, int perms, OpenState* state, if (result != B_OK) return result; - FileInfo fi; - fi.fFileId = fileID; - fi.fHandle = handle; - fi.fParent = fInfo.fHandle; - fi.CreateName(fInfo.fPath, name); + FileInfo fileInfo; + fileInfo.fFileId = fileID; + fileInfo.fHandle = handle; - fFileSystem->InoIdMap()->AddEntry(fi, FileIdToInoT(fileID)); + fFileSystem->InoIdMap()->AddName(fileInfo, fInfo.fNames, name, + FileIdToInoT(fileID)); fCache->Lock(); if (fCache->Valid()) { @@ -56,7 +55,7 @@ Inode::CreateState(const char* name, int mode, int perms, OpenState* state, fCache->Unlock(); state->fFileSystem = fFileSystem; - state->fInfo = fi; + state->fInfo = fileInfo; state->fMode = mode & O_RWMASK; return B_OK; @@ -253,8 +252,6 @@ Inode::OpenAttr(const char* _name, int mode, OpenAttrCookie* cookie, if (state == NULL) return B_NO_MEMORY; - state->fInfo.fName = strdup(name); - state->fInfo.fParent = fInfo.fAttrDir; state->fFileSystem = fFileSystem; result = NFS4Inode::OpenAttr(state, name, mode, &data, create); if (result != B_OK) { diff --git a/src/add-ons/kernel/file_systems/nfs4/Jamfile b/src/add-ons/kernel/file_systems/nfs4/Jamfile index 3d678a9001..da8f82eb75 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Jamfile +++ b/src/add-ons/kernel/file_systems/nfs4/Jamfile @@ -12,6 +12,7 @@ KernelAddon nfs4 : FileSystem.cpp IdMap.cpp Inode.cpp + InodeIdMap.cpp InodeDir.cpp InodeRegular.cpp kernel_interface.cpp diff --git a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp index 4d86e0e98f..a3519792ef 100644 --- a/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/NFS4Inode.cpp @@ -125,10 +125,8 @@ NFS4Inode::LookUp(const char* name, uint64* change, uint64* fileID, Request request(serv, fFileSystem); RequestBuilder& req = request.Builder(); - if (parent) - req.PutFH(fInfo.fParent); - else - req.PutFH(fInfo.fHandle); + (void)parent; // TODO: add support for named attributes + req.PutFH(fInfo.fHandle); if (change != NULL) { Attribute dirAttr[] = { FATTR4_CHANGE }; @@ -562,16 +560,16 @@ NFS4Inode::OpenFile(OpenState* state, int mode, OpenDelegationData* delegation) // Since we are opening the file using a pair (parentFH, name) we // need to check for race conditions. if (fFileSystem->IsAttrSupported(FATTR4_FILEID)) { - req.PutFH(fInfo.fParent); - req.LookUp(fInfo.fName); + req.PutFH(fInfo.fNames->fNames.Head()->fParent->fHandle); + req.LookUp(fInfo.fNames->fNames.Head()->fName); AttrValue attr; attr.fAttribute = FATTR4_FILEID; attr.fFreePointer = false; attr.fData.fValue64 = fInfo.fFileId; req.Verify(&attr, 1); } else if (fFileSystem->ExpireType() == FH4_PERSISTENT) { - req.PutFH(fInfo.fParent); - req.LookUp(fInfo.fName); + req.PutFH(fInfo.fNames->fNames.Head()->fParent->fHandle); + req.LookUp(fInfo.fNames->fNames.Head()->fName); AttrValue attr; attr.fAttribute = FATTR4_FILEHANDLE; attr.fFreePointer = true; @@ -580,9 +578,10 @@ NFS4Inode::OpenFile(OpenState* state, int mode, OpenDelegationData* delegation) req.Verify(&attr, 1); } - req.PutFH(fInfo.fParent); + req.PutFH(fInfo.fNames->fNames.Head()->fParent->fHandle); req.Open(CLAIM_NULL, sequence, sModeToAccess(mode), state->fClientID, - OPEN4_NOCREATE, fFileSystem->OpenOwner(), fInfo.fName); + OPEN4_NOCREATE, fFileSystem->OpenOwner(), + fInfo.fNames->fNames.Head()->fName); req.GetFH(); result = request.Send(); @@ -796,10 +795,8 @@ NFS4Inode::CreateObject(const char* name, const char* path, int mode, Request request(serv, fFileSystem); RequestBuilder& req = request.Builder(); - if (parent) - req.PutFH(fInfo.fParent); - else - req.PutFH(fInfo.fHandle); + (void)parent; // TODO: support named attributes + req.PutFH(fInfo.fHandle); uint32 i = 0; AttrValue cattr[1]; diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp index d078e4bc18..a965b9e8cd 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.cpp @@ -19,7 +19,12 @@ FSLocation::~FSLocation() { - free(const_cast(fRootPath)); + if (fRootPath != NULL) { + for (uint32 i = 0; fRootPath[i] != NULL; i++) + free(const_cast(fRootPath[i])); + } + delete[] fRootPath; + for (uint32 i = 0; i < fCount; i++) free(const_cast(fLocations[i])); delete[] fLocations; @@ -28,7 +33,12 @@ FSLocation::~FSLocation() FSLocations::~FSLocations() { - free(const_cast(fRootPath)); + if (fRootPath != NULL) { + for (uint32 i = 0; fRootPath[i] != NULL; i++) + free(const_cast(fRootPath[i])); + } + delete[] fRootPath; + delete[] fLocations; } @@ -528,27 +538,29 @@ ReplyInterpreter::Write(uint32* size) } -const char* -ReplyInterpreter::_FlattenPathname(XDR::ReadStream& stream) +const char** +ReplyInterpreter::_GetPath(XDR::ReadStream& stream) { uint32 count = stream.GetUInt(); - char* pathname = NULL; - uint32 size = 0; - for (uint32 i = 0; i < count; i++) { - const char* path = stream.GetString(); - size += strlen(path) + 1; - if (pathname == NULL) { - pathname = reinterpret_cast(malloc(strlen(path) + 1)); - pathname[0] = '\0'; - } else { - *pathname++ = '/'; - pathname = reinterpret_cast(realloc(pathname, size)); - } - strcat(pathname, path); - free(const_cast(path)); - } + char** path = new char*[count + 1]; + if (path == NULL) + return NULL; - return pathname; + uint32 i; + for (i = 0; i < count; i++) { + path[i] = stream.GetString(); + if (path[i] == NULL) + goto out; + } + path[count] = NULL; + + return const_cast(path); + +out: + for (uint32 j = 0; j < i; j++) + free(path[i]); + delete[] path; + return NULL; } @@ -662,11 +674,11 @@ ReplyInterpreter::_DecodeAttrs(XDR::ReadStream& str, AttrValue** attrs, values[current].fAttribute = FATTR4_FS_LOCATIONS; FSLocations* locs = new FSLocations; - locs->fRootPath = _FlattenPathname(stream); + locs->fRootPath = _GetPath(stream); locs->fCount = stream.GetUInt(); locs->fLocations = new FSLocation[locs->fCount]; for (uint32 i = 0; i < locs->fCount; i++) { - locs->fLocations[i].fRootPath = _FlattenPathname(stream); + locs->fLocations[i].fRootPath = _GetPath(stream); locs->fLocations[i].fCount = stream.GetUInt(); locs->fLocations[i].fLocations = new const char*[locs->fLocations[i].fCount]; diff --git a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h index 654963ad4e..819cce4955 100644 --- a/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h +++ b/src/add-ons/kernel/file_systems/nfs4/ReplyInterpreter.h @@ -17,7 +17,8 @@ struct FSLocation { - const char* fRootPath; + const char** fRootPath; + const char** fLocations; uint32 fCount; @@ -25,7 +26,8 @@ struct FSLocation { }; struct FSLocations { - const char* fRootPath; + const char** fRootPath; + FSLocation* fLocations; uint32 fCount; @@ -108,7 +110,7 @@ public: private: void _ParseHeader(); - static const char* _FlattenPathname(XDR::ReadStream& stream); + static const char** _GetPath(XDR::ReadStream& stream); status_t _DecodeAttrs(XDR::ReadStream& stream, AttrValue** attrs, uint32* count); diff --git a/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.cpp b/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.cpp index b77feae8f4..2e20cfc22b 100644 --- a/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.cpp @@ -27,15 +27,27 @@ void VnodeToInode::Replace(Inode* newInode) { WriteLocker _(fLock); - if (fInode != NULL && !IsRoot()) { - fInode->GetFileSystem()->InoIdMap()->MarkRemoved(fID); + if (fInode != NULL && !IsRoot()) delete fInode; - } fInode = newInode; - if (fInode != NULL) { - ASSERT(fFileSystem == fInode->GetFileSystem()); - fInode->GetFileSystem()->InoIdMap()->AddEntry(fInode->fInfo, fID); - } +} + + +bool +VnodeToInode::Unlink(InodeNames* parent, const char* name) +{ + WriteLocker _(fLock); + if (fInode != NULL && !IsRoot()) { + bool removed = fInode->GetFileSystem()->InoIdMap()->RemoveName(fID, + parent, name); + if (removed) { + delete fInode; + fInode = NULL; + } + return removed; + } + + return false; } diff --git a/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.h b/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.h index 302457a721..b75528aaea 100644 --- a/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.h +++ b/src/add-ons/kernel/file_systems/nfs4/VnodeToInode.h @@ -28,7 +28,7 @@ public: Inode* Get(); void Replace(Inode* newInode); - inline void Remove(); + bool Unlink(InodeNames* parent, const char* name); inline void Clear(); inline ino_t ID() const; @@ -72,7 +72,7 @@ VnodeToInode::VnodeToInode(ino_t id, FileSystem* fileSystem) inline VnodeToInode::~VnodeToInode() { - Remove(); + Replace(NULL); if (fFileSystem != NULL && !IsRoot()) fFileSystem->InoIdMap()->RemoveEntry(fID); rw_lock_destroy(&fLock); @@ -93,13 +93,6 @@ VnodeToInode::Unlock() } -inline void -VnodeToInode::Remove() -{ - Replace(NULL); -} - - inline void VnodeToInode::Clear() { diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index 74663cf721..2672ae0b2a 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -321,23 +321,6 @@ nfs4_lookup(fs_volume* volume, fs_vnode* dir, const char* name, ino_t* _id) } -static status_t -nfs4_get_vnode_name(fs_volume* volume, fs_vnode* vnode, char* buffer, - size_t bufferSize) -{ - VnodeToInode* vti = reinterpret_cast(vnode->private_node); - TRACE("volume = %p, vnode = %" B_PRIi64, volume, vti->ID()); - - VnodeToInodeLocker _(vti); - Inode* inode = vti->Get(); - if (inode == NULL) - return B_ENTRY_NOT_FOUND; - - strncpy(buffer, inode->Name(), bufferSize); - return B_OK; -} - - static status_t nfs4_put_vnode(fs_volume* volume, fs_vnode* vnode, bool reenter) { @@ -606,11 +589,12 @@ nfs4_unlink(fs_volume* volume, fs_vnode* dir, const char* name) if (result == B_OK) { result = get_vnode(volume, id, reinterpret_cast(&vti)); ASSERT(result == B_OK); - vti->Remove(); - put_vnode(volume, id); - remove_vnode(volume, id); + + if (vti->Unlink(inode->fInfo.fNames, name)) + remove_vnode(volume, id); put_vnode(volume, id); + put_vnode(volume, id); } return B_OK; @@ -654,9 +638,10 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const char* fromName, if (result == B_OK) { result = get_vnode(volume, oldID, reinterpret_cast(&vti)); ASSERT(result == B_OK); - vti->Remove(); + if (vti->Unlink(toInode->fInfo.fNames, toName)) + remove_vnode(volume, oldID); + put_vnode(volume, oldID); - remove_vnode(volume, oldID); put_vnode(volume, oldID); } } @@ -670,8 +655,8 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const char* fromName, } unremove_vnode(volume, id); - child->fInfo.fParent = toInode->fInfo.fHandle; - child->fInfo.CreateName(toInode->fInfo.fPath, toName); + child->fInfo.fNames->RemoveName(fromInode->fInfo.fNames, fromName); + child->fInfo.fNames->AddName(toInode->fInfo.fNames, toName); put_vnode(volume, id); } @@ -998,11 +983,13 @@ nfs4_remove_dir(fs_volume* volume, fs_vnode* parent, const char* name) result = acquire_vnode(volume, id); if (result == B_OK) { - ASSERT(get_vnode(volume, id, reinterpret_cast(&vti)) == B_OK); - vti->Remove(); - put_vnode(volume, id); - remove_vnode(volume, id); + result = get_vnode(volume, id, reinterpret_cast(&vti)); + ASSERT(result == B_OK); + if (vti->Unlink(inode->fInfo.fNames, name)) + remove_vnode(volume, id); + + put_vnode(volume, id); put_vnode(volume, id); } @@ -1444,7 +1431,7 @@ fs_volume_ops gNFSv4VolumeOps = { fs_vnode_ops gNFSv4VnodeOps = { nfs4_lookup, - nfs4_get_vnode_name, + NULL, // get_vnode_name() nfs4_put_vnode, nfs4_remove_vnode, From 04c919f9d6a8d94b05b0aa91fa529c1e5ba5475e Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 26 Mar 2013 18:42:14 -0400 Subject: [PATCH 110/122] Fix incorrect target address calculation for memory operands. --- src/apps/debugger/arch/x86/disasm/DisassemblerX86.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/apps/debugger/arch/x86/disasm/DisassemblerX86.cpp b/src/apps/debugger/arch/x86/disasm/DisassemblerX86.cpp index e686d7e7f8..a681f238f2 100644 --- a/src/apps/debugger/arch/x86/disasm/DisassemblerX86.cpp +++ b/src/apps/debugger/arch/x86/disasm/DisassemblerX86.cpp @@ -198,6 +198,8 @@ DisassemblerX86::GetInstructionTargetAddress(CpuState* state) const targetAddress += x86State->IntRegisterValue( RegisterNumberFromUdisIndex(fUdisData->operand[0].index)) * fUdisData->operand[0].scale; + if (fUdisData->operand[0].offset != 0) + targetAddress += fUdisData->operand[0].lval.sdword; } break; case UD_OP_JIMM: From 029fcc4ad65d306eadd3ce77b9ea30bec93ba3fe Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 26 Mar 2013 18:44:54 -0400 Subject: [PATCH 111/122] Add CPU state at time of function call to Thread. - When we detect that we're stepping over a function call, also store the CPU state at the time it occurred. This information is needed in order to correctly reconstruct target addresses later since some operands may be register-based. - Add the aforementioned CPU state to CreateFrame()'s arguments and adjust implementations and callers accordingly. --- src/apps/debugger/arch/Architecture.cpp | 6 ++++-- src/apps/debugger/arch/Architecture.h | 1 + src/apps/debugger/controllers/ThreadHandler.cpp | 13 +++++++------ .../debugger/debug_info/DebuggerImageDebugInfo.cpp | 3 ++- .../debugger/debug_info/DebuggerImageDebugInfo.h | 1 + .../debugger/debug_info/DwarfImageDebugInfo.cpp | 6 ++++-- src/apps/debugger/debug_info/DwarfImageDebugInfo.h | 2 ++ .../debugger/debug_info/SpecificImageDebugInfo.h | 1 + src/apps/debugger/jobs/GetStackTraceJob.cpp | 3 ++- src/apps/debugger/model/Thread.cpp | 13 +++++++++++++ src/apps/debugger/model/Thread.h | 4 ++++ 11 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/apps/debugger/arch/Architecture.cpp b/src/apps/debugger/arch/Architecture.cpp index 42fd88eea9..ecae506adb 100644 --- a/src/apps/debugger/arch/Architecture.cpp +++ b/src/apps/debugger/arch/Architecture.cpp @@ -95,7 +95,8 @@ status_t Architecture::CreateStackTrace(Team* team, ImageDebugInfoProvider* imageInfoProvider, CpuState* cpuState, StackTrace*& _stackTrace, target_addr_t returnFunctionAddress, - int32 maxStackDepth, bool useExistingTrace, bool getFullFrameInfo) + CpuState* returnFunctionState, int32 maxStackDepth, bool useExistingTrace, + bool getFullFrameInfo) { BReference cpuStateReference(cpuState); @@ -163,7 +164,8 @@ Architecture::CreateStackTrace(Team* team, if (function != NULL) { status_t error = functionDebugInfo->GetSpecificImageDebugInfo() ->CreateFrame(image, function, cpuState, getFullFrameInfo, - nextFrame == NULL ? returnFunctionAddress : 0, frame, + nextFrame == NULL ? returnFunctionAddress : 0, + nextFrame == NULL ? returnFunctionState : 0, frame, previousCpuState); if (error != B_OK && error != B_UNSUPPORTED) break; diff --git a/src/apps/debugger/arch/Architecture.h b/src/apps/debugger/arch/Architecture.h index d9610ba77f..e39077400b 100644 --- a/src/apps/debugger/arch/Architecture.h +++ b/src/apps/debugger/arch/Architecture.h @@ -111,6 +111,7 @@ public: CpuState* cpuState, StackTrace*& _stackTrace, target_addr_t returnFunctionAddress, + CpuState* returnFunctionState, int32 maxStackDepth = -1, bool useExistingTrace = false, bool getFullFrameInfo = true); diff --git a/src/apps/debugger/controllers/ThreadHandler.cpp b/src/apps/debugger/controllers/ThreadHandler.cpp index 6a2fe948fb..af647cb1c5 100644 --- a/src/apps/debugger/controllers/ThreadHandler.cpp +++ b/src/apps/debugger/controllers/ThreadHandler.cpp @@ -253,7 +253,7 @@ ThreadHandler::HandleThreadAction(uint32 action) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, 1, + fThread->GetTeam(), this, cpuState, stackTrace, 0, NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } @@ -485,6 +485,7 @@ ThreadHandler::_DoStepOver(CpuState* cpuState) "%#" B_PRIx64 "\n", info.Address() + info.Size()); fThread->SetExecutedSubroutine(info.TargetAddress()); + fThread->SetSubroutineCpuState(cpuState); if (_InstallTemporaryBreakpoint(info.Address() + info.Size()) != B_OK) return false; @@ -566,8 +567,8 @@ ThreadHandler::_HandleBreakpointHitStep(CpuState* cpuState) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, 1, - false, false) == B_OK) { + fThread->GetTeam(), this, cpuState, stackTrace, 0, + NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } } @@ -653,8 +654,8 @@ ThreadHandler::_HandleSingleStepStep(CpuState* cpuState) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, 1, - false, false) == B_OK) { + fThread->GetTeam(), this, cpuState, stackTrace, 0, + NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } } @@ -686,7 +687,7 @@ ThreadHandler::_HandleSingleStepStep(CpuState* cpuState) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( fThread->GetTeam(), this, cpuState, stackTrace, 0, - 1, false, false) == B_OK) { + NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } } diff --git a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp index b40e08c998..c7a77e1603 100644 --- a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp @@ -69,7 +69,8 @@ status_t DebuggerImageDebugInfo::CreateFrame(Image* image, FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, target_addr_t returnFunctionAddress, - StackFrame*& _previousFrame, CpuState*& _previousCpuState) + CpuState* returnFunctionState, StackFrame*& _previousFrame, + CpuState*& _previousCpuState) { return B_UNSUPPORTED; } diff --git a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h index bcafebc0f3..91d0c1bc63 100644 --- a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h +++ b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h @@ -37,6 +37,7 @@ public: CpuState* cpuState, bool getFullFrameInfo, target_addr_t returnFunctionAddress, + CpuState* returnFunctionState, StackFrame*& _previousFrame, CpuState*& _previousCpuState); virtual status_t GetStatement(FunctionDebugInfo* function, diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index b96814da88..4c0247fb66 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -523,7 +523,8 @@ status_t DwarfImageDebugInfo::CreateFrame(Image* image, FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, target_addr_t returnFunctionAddress, - StackFrame*& _frame, CpuState*& _previousCpuState) + CpuState* returnFunctionState, StackFrame*& _frame, + CpuState*& _previousCpuState) { DwarfFunctionDebugInfo* function = dynamic_cast( functionInstance->GetFunctionDebugInfo()); @@ -1091,7 +1092,8 @@ DwarfImageDebugInfo::_CreateLocalVariables(CompilationUnit* unit, status_t DwarfImageDebugInfo::_CreateReturnValue(target_addr_t returnFunctionAddress, - Image* image, StackFrame* frame, DwarfStackFrameDebugInfo& factory) + CpuState* returnFunctionState, Image* image, StackFrame* frame, + DwarfStackFrameDebugInfo& factory) { if (!image->ContainsAddress(returnFunctionAddress)) { // our current image doesn't contain the target function, diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.h b/src/apps/debugger/debug_info/DwarfImageDebugInfo.h index 203920b11a..7dab0fbffa 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.h +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.h @@ -65,6 +65,7 @@ public: CpuState* cpuState, bool getFullFrameInfo, target_addr_t returnFunctionAddress, + CpuState* returnFunctionState, StackFrame*& _frame, CpuState*& _previousCpuState); virtual status_t GetStatement(FunctionDebugInfo* function, @@ -106,6 +107,7 @@ private: status_t _CreateReturnValue( target_addr_t returnFunctionAddress, + CpuState* returnFunctionState, Image* image, StackFrame* frame, DwarfStackFrameDebugInfo& factory); diff --git a/src/apps/debugger/debug_info/SpecificImageDebugInfo.h b/src/apps/debugger/debug_info/SpecificImageDebugInfo.h index ac655cdf16..595d2383ab 100644 --- a/src/apps/debugger/debug_info/SpecificImageDebugInfo.h +++ b/src/apps/debugger/debug_info/SpecificImageDebugInfo.h @@ -57,6 +57,7 @@ public: CpuState* cpuState, bool getFullFrameInfo, target_addr_t returnFunctionAddress, + CpuState* returnFunctionState, StackFrame*& _Frame, CpuState*& _previousCpuState) = 0; // returns reference to previous frame diff --git a/src/apps/debugger/jobs/GetStackTraceJob.cpp b/src/apps/debugger/jobs/GetStackTraceJob.cpp index 23ce2fc102..c3a2316a76 100644 --- a/src/apps/debugger/jobs/GetStackTraceJob.cpp +++ b/src/apps/debugger/jobs/GetStackTraceJob.cpp @@ -59,7 +59,8 @@ GetStackTraceJob::Do() StackTrace* stackTrace; status_t error = fArchitecture->CreateStackTrace(fThread->GetTeam(), this, fCpuState, stackTrace, fThread->ExecutedSubroutine() - ? fThread->SubroutineAddress() : 0); + ? fThread->SubroutineAddress() : 0, fThread->ExecutedSubroutine() + ? fThread->SubroutineCpuState() : NULL); if (error != B_OK) return error; BReference stackTraceReference(stackTrace, true); diff --git a/src/apps/debugger/model/Thread.cpp b/src/apps/debugger/model/Thread.cpp index 63d21e036f..e32424c46d 100644 --- a/src/apps/debugger/model/Thread.cpp +++ b/src/apps/debugger/model/Thread.cpp @@ -19,6 +19,7 @@ Thread::Thread(Team* team, thread_id threadID) fState(THREAD_STATE_UNKNOWN), fExecutedSubroutine(false), fSubroutineAddress(0), + fSubroutineState(NULL), fStoppedReason(THREAD_STOPPED_UNKNOWN), fCpuState(NULL), fStackTrace(NULL) @@ -32,6 +33,8 @@ Thread::~Thread() fCpuState->ReleaseReference(); if (fStackTrace != NULL) fStackTrace->ReleaseReference(); + if (fSubroutineState != NULL) + fSubroutineState->ReleaseReference(); } @@ -121,3 +124,13 @@ Thread::SetExecutedSubroutine(target_addr_t address) fSubroutineAddress = address; } + +void +Thread::SetSubroutineCpuState(CpuState* state) +{ + if (fSubroutineState != NULL) + fSubroutineState->ReleaseReference(); + + fSubroutineState = state; + fSubroutineState->AcquireReference(); +} diff --git a/src/apps/debugger/model/Thread.h b/src/apps/debugger/model/Thread.h index 1cba07ff0c..17aa3307a0 100644 --- a/src/apps/debugger/model/Thread.h +++ b/src/apps/debugger/model/Thread.h @@ -74,6 +74,9 @@ public: target_addr_t SubroutineAddress() const { return fSubroutineAddress; } void SetExecutedSubroutine(target_addr_t address); + CpuState* SubroutineCpuState() const + { return fSubroutineState; } + void SetSubroutineCpuState(CpuState* state); private: Team* fTeam; @@ -82,6 +85,7 @@ private: uint32 fState; bool fExecutedSubroutine; target_addr_t fSubroutineAddress; + CpuState* fSubroutineState; uint32 fStoppedReason; BString fStoppedReasonInfo; CpuState* fCpuState; From 1efa0a42f6a490bfb88cfd928c53d17c3dd62907 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 26 Mar 2013 18:48:22 -0400 Subject: [PATCH 112/122] Fix return value handling. - In the case of position independent code, the initial call isn't to the function we want, but rather to a PLT slot which resolves the function's location. As such, find that slot and use it to determine the corresponding GOT offset for the function's real location. Still need some further refactoring of return value handling to properly handle the case of stepping over a single line that makes multiple calls, but this fixes the basic case at least. --- .../debug_info/DwarfImageDebugInfo.cpp | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index 4c0247fb66..0195eccae4 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -674,14 +674,10 @@ DwarfImageDebugInfo::CreateFrame(Image* image, instructionPointer, functionInstance->Address() - fRelocationDelta, subprogramEntry->Variables(), subprogramEntry->Blocks()); - // TODO: re-enable once PIC and false positive issues - // are properly dealt with -#if 0 if (returnFunctionAddress != 0) { - _CreateReturnValue(returnFunctionAddress, image, frame, - *stackFrameDebugInfo); + _CreateReturnValue(returnFunctionAddress, returnFunctionState, + image, frame, *stackFrameDebugInfo); } -#endif } _frame = frameReference.Detach(); @@ -1104,15 +1100,30 @@ DwarfImageDebugInfo::_CreateReturnValue(target_addr_t returnFunctionAddress, } status_t result = B_OK; + ImageDebugInfo* imageInfo = image->GetImageDebugInfo(); FunctionInstance* targetFunction; if (returnFunctionAddress >= fPLTSectionStart && returnFunctionAddress < fPLTSectionEnd) { - // TODO: handle resolving PLT entries - // to their target function - return B_UNSUPPORTED; + // if the function in question is position-independent, the call + // will actually have taken us to its corresponding PLT slot. + // in such a case, look at the disassembled jump to determine + // where to find the actual function address. + InstructionInfo info; + if (fDebuggerInterface->GetArchitecture()->GetInstructionInfo( + returnFunctionAddress, info, returnFunctionState) != B_OK) { + return B_BAD_VALUE; + } + + target_size_t addressSize = fDebuggerInterface->GetArchitecture() + ->AddressSize(); + ssize_t bytesRead = fDebuggerInterface->ReadMemory(info.TargetAddress(), + &returnFunctionAddress, addressSize); + + if (bytesRead != addressSize) + return B_BAD_VALUE; } - ImageDebugInfo* imageInfo = image->GetImageDebugInfo(); + targetFunction = imageInfo->FunctionAtAddress(returnFunctionAddress); if (targetFunction != NULL) { DwarfFunctionDebugInfo* targetInfo = From 2b41b37891fa6e98df5d60a8b9581103a55917f9 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 26 Mar 2013 23:30:35 -0400 Subject: [PATCH 113/122] Build fix. --- src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index 0195eccae4..5c58ed369c 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -1119,7 +1119,7 @@ DwarfImageDebugInfo::_CreateReturnValue(target_addr_t returnFunctionAddress, ssize_t bytesRead = fDebuggerInterface->ReadMemory(info.TargetAddress(), &returnFunctionAddress, addressSize); - if (bytesRead != addressSize) + if (bytesRead != (ssize_t)addressSize) return B_BAD_VALUE; } From cf2f912782a453abaad723df61bc380e137e7493 Mon Sep 17 00:00:00 2001 From: Matt Madia Date: Wed, 27 Mar 2013 17:45:03 -0400 Subject: [PATCH 114/122] Implement rule AddDirectoryToHaikuImage in installoptionalpackage. Fixes #9584. --- data/bin/installoptionalpackage | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/data/bin/installoptionalpackage b/data/bin/installoptionalpackage index 22677ae212..84a82f41a7 100755 --- a/data/bin/installoptionalpackage +++ b/data/bin/installoptionalpackage @@ -216,6 +216,21 @@ function InstallSourceArchive() } +function AddDirectoryToHaikuImage() +{ + # AddDirectoryToHaikuImage directoryTokens : attributeFiles + # Wrapper for Jam rule + ParseFunctionArguments "\$@" + + local dirTokens="/boot/\${functionArgs[0]}" + TrimLeadingSpace dirTokens + TrimEndingSpace dirTokens + dirTokens=\${dirTokens//' '/\/} + + mkdir -p "\${dirTokens}" +} + + function AddSymlinkToHaikuImage() { # AddSymlinkToHaikuImage

: [ : ] From 7e1e5bb6ca70e442f472dbb810e5f3433b595952 Mon Sep 17 00:00:00 2001 From: Matt Madia Date: Wed, 27 Mar 2013 17:47:27 -0400 Subject: [PATCH 115/122] Whitespace cleanup. No functional change. --- data/bin/installoptionalpackage | 88 ++++++++++++++++----------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/data/bin/installoptionalpackage b/data/bin/installoptionalpackage index 84a82f41a7..1e03bc4957 100755 --- a/data/bin/installoptionalpackage +++ b/data/bin/installoptionalpackage @@ -78,17 +78,17 @@ function ParseFunctionArguments() # ParseFunctionArguments # Parse arguments for Jam wrapper functions into an array. IN="\$@" - OIFS=\$IFS - IFS=":" + OIFS=\$IFS + IFS=":" - local count=0 + local count=0 functionArgs=( ) for x in \$IN do functionArgs[\${count}]="\${x}" ((count++)) done - IFS=\$OIFS + IFS=\$OIFS } @@ -98,11 +98,11 @@ function TrimLeadingSpace() eval local text='\$'"\$1" local _outvar="\$1" - local length=\${#text} - ((length--)) - if [ "\${text:0:1}" == ' ' ] ; then - text=\${text#' '} - fi + local length=\${#text} + ((length--)) + if [ "\${text:0:1}" == ' ' ] ; then + text=\${text#' '} + fi eval \$_outvar="'\$text'" } @@ -114,11 +114,11 @@ function TrimEndingSpace() eval local text='\$'"\$1" local _outvar="\$1" - local length=\${#text} - ((length--)) - if [ "\${text:\$length}" == ' ' ] ; then - text=\${text%' '} - fi + local length=\${#text} + ((length--)) + if [ "\${text:\$length}" == ' ' ] ; then + text=\${text%' '} + fi eval \$_outvar="'\$text'" } @@ -235,19 +235,19 @@ function AddSymlinkToHaikuImage() { # AddSymlinkToHaikuImage : [ : ] # Wrapper for Jam rule - ParseFunctionArguments "\$@" + ParseFunctionArguments "\$@" - local dirTokens="/boot/\${functionArgs[0]}" - TrimLeadingSpace dirTokens + local dirTokens="/boot/\${functionArgs[0]}" + TrimLeadingSpace dirTokens TrimEndingSpace dirTokens - dirTokens=\${dirTokens//' '/\/} + dirTokens=\${dirTokens//' '/\/} - local linkTarget="\${functionArgs[1]}" - TrimLeadingSpace linkTarget + local linkTarget="\${functionArgs[1]}" + TrimLeadingSpace linkTarget TrimEndingSpace linkTarget - local linkName="\${functionArgs[2]}" - TrimLeadingSpace linkName + local linkName="\${functionArgs[2]}" + TrimLeadingSpace linkName TrimEndingSpace linkName mkdir -p "\${dirTokens}" @@ -267,27 +267,27 @@ function AddUserToHaikuImage() ParseFunctionArguments "\$@" local user=\${functionArgs[0]} - local uid=\${functionArgs[1]} - local gid=\${functionArgs[2]} - local home=\${functionArgs[3]} - local shell=\${functionArgs[4]} - local realName=\${functionArgs[5]} + local uid=\${functionArgs[1]} + local gid=\${functionArgs[2]} + local home=\${functionArgs[3]} + local shell=\${functionArgs[4]} + local realName=\${functionArgs[5]} - passwdLine="\${user}:x:\${uid}:\${gid}:\${realName}:\${home}:\${shell}" - passwdLine=\${passwdLine//' :'/':'} - passwdLine=\${passwdLine//': '/':'} + passwdLine="\${user}:x:\${uid}:\${gid}:\${realName}:\${home}:\${shell}" + passwdLine=\${passwdLine//' :'/':'} + passwdLine=\${passwdLine//': '/':'} - local length=\${#passwdLine} - ((length--)) - if [ "\${passwdLine:\$length}" == ' ' ] ; then - passwdLine=\${passwdLine%' '} - fi + local length=\${#passwdLine} + ((length--)) + if [ "\${passwdLine:\$length}" == ' ' ] ; then + passwdLine=\${passwdLine%' '} + fi - passwdFile="\`finddir B_COMMON_ETC_DIRECTORY\`/passwd" - touch \${passwdFile} + passwdFile="\`finddir B_COMMON_ETC_DIRECTORY\`/passwd" + touch \${passwdFile} - local userExists=1 - while read line ; do + local userExists=1 + while read line ; do if [ "\${passwdLine}" == "\${line}" ] ; then userExists=0 fi @@ -510,7 +510,7 @@ function GeneratePackageNames() local lowerCasePkg=`echo ${pkg} | tr '[A-Z]' '[a-z]'` if ! ContainsSubstring "${alreadyInstalled} " "${pkg} " ; then if IsPackageAndDepsOkToInstall ${pkg} ; then - echo "${lowerCasePkg} : ${pkg} ${nonRepeatingDeps}" >> ${file} + echo "${lowerCasePkg} : ${pkg} ${nonRepeatingDeps}" >> ${file} fi fi @@ -623,7 +623,7 @@ function BuildFinalListOfPackagesToInstall() proceedWithInstallation=false for desiredPackage in ${wantsToInstall}; do - if IsPackageNameValid $desiredPackage ; then + if IsPackageNameValid $desiredPackage ; then for item in ${availablePackages[${desiredPackage}]} ; do if ! ContainsSubstring "${packagesToInstall}" "${item}" ; then packagesToInstall="${packagesToInstall} ${item}" @@ -729,7 +729,7 @@ function ConvertJamToBash() line=${line/'Echo'/'echo'} # TODO: add support for converting for loops. - # will need to introduce curly brace counting + # will need to introduce curly brace counting ConvertIfStatements "$line" ConvertVariables "$line" #ReplaceComparators "$line" @@ -776,7 +776,7 @@ function ConvertJamToBash() } { if($1!='InstallOptionalHaikuImagePackage' && isRule!=1 && $1!="\;") - print $0 + print $0 } { isRule=0; } ' ${tmpDir}/optpkg.stage1 > ${tmpDir}/optpkg.stage2 2>/dev/null @@ -838,7 +838,7 @@ function ConvertVariables() # One of the Jam-to-Bash conversion functions. # NOTE: jam's variables are normally '$(VARIABLE)'. \n - # The issue is with '(' and ')', so let's replace them globally. + # The issue is with '(' and ')', so let's replace them globally. if ContainsSubstring "$line" '$(' ; then line=${line//'('/'{'} line=${line//')'/'}'} From 37cdde518c5f9efabae338d60e06c7b3c116f55a Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Wed, 27 Mar 2013 20:03:53 +0900 Subject: [PATCH 116/122] Fix signature duplication of printer drivers Signed-off-by: Matt Madia --- src/add-ons/print/drivers/pcl6/PCL6.rdef | 2 +- src/add-ons/print/drivers/postscript/PS.rdef | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/add-ons/print/drivers/pcl6/PCL6.rdef b/src/add-ons/print/drivers/pcl6/PCL6.rdef index 54f106c0df..394459aa09 100644 --- a/src/add-ons/print/drivers/pcl6/PCL6.rdef +++ b/src/add-ons/print/drivers/pcl6/PCL6.rdef @@ -1,5 +1,5 @@ -resource app_signature "application/x-vnd.pcl5-compatible"; +resource app_signature "application/x-vnd.pcl6-compatible"; resource app_flags B_SINGLE_LAUNCH; diff --git a/src/add-ons/print/drivers/postscript/PS.rdef b/src/add-ons/print/drivers/postscript/PS.rdef index ed43e69fa1..90ffd911a6 100644 --- a/src/add-ons/print/drivers/postscript/PS.rdef +++ b/src/add-ons/print/drivers/postscript/PS.rdef @@ -1,5 +1,5 @@ -resource app_signature "application/x-vnd.pcl5-compatible"; +resource app_signature "application/x-vnd.ps-compatible"; resource app_flags B_SINGLE_LAUNCH; @@ -11,8 +11,8 @@ resource app_version { variety = B_APPV_DEVELOPMENT, internal = 0, - short_info = "PCL5 Compatible", - long_info = "PCL5 Compatible for BeOS 5\nCopyright 1999 Y.Takagi\nCopyright 2003 Michael Pfeiffer\nAll Rights Reserved." + short_info = "PS Compatible", + long_info = "PS Compatible for BeOS 5\nCopyright 1999 Y.Takagi\nCopyright 2003 Michael Pfeiffer\nAll Rights Reserved." }; resource vector_icon { From 043f96686e22863fb355b63efc130ee97175ac95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dancs=C3=B3=20R=C3=B3bert?= Date: Wed, 27 Mar 2013 17:30:13 +0000 Subject: [PATCH 117/122] Fix translation for "Scroll bar:" on Look and Feel panel. Signed-off-by: Matt Madia --- src/preferences/appearance/LookAndFeelSettingsView.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/preferences/appearance/LookAndFeelSettingsView.cpp b/src/preferences/appearance/LookAndFeelSettingsView.cpp index eb048aaa32..5e7f252639 100644 --- a/src/preferences/appearance/LookAndFeelSettingsView.cpp +++ b/src/preferences/appearance/LookAndFeelSettingsView.cpp @@ -107,7 +107,7 @@ LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name) B_ALIGN_VERTICAL_CENTER)); BStringView* scrollBarLabel - = new BStringView("scroll bar", "Scroll bar:"); + = new BStringView("scroll bar", B_TRANSLATE("Scroll bar:")); scrollBarLabel->SetExplicitAlignment( BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP)); From 2c74d7a458adf9503e89192156b0f7685825c64c Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Fri, 15 Mar 2013 21:22:30 +0900 Subject: [PATCH 118/122] Printserver: Add JIS B5 paper size Signed-off-by: Matt Madia --- src/servers/print/ConfigWindow.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/servers/print/ConfigWindow.cpp b/src/servers/print/ConfigWindow.cpp index 6a8f6fb2ec..042d6866e8 100644 --- a/src/servers/print/ConfigWindow.cpp +++ b/src/servers/print/ConfigWindow.cpp @@ -58,6 +58,8 @@ static const float ledger_width = 1224.0; static const float ledger_height = 792.0; static const float tabloid_width = 792.0; static const float tabloid_height = 1224.0; +static const float jis_b5_width = 516.0; +static const float jis_b5_height = 729.0; static struct PageFormat @@ -91,6 +93,8 @@ static struct PageFormat a6_width, a6_height }, {B_TRANSLATE_MARK_COMMENT("B5", "ISO 216 paper size"), b5_width, b5_height }, + {B_TRANSLATE_MARK_COMMENT("B5 (JIS)", "JIS P0138 B5, a Japanese " + "paper size"), jis_b5_width, jis_b5_height }, }; From 5a6b854033916abf2f924f11d6ce8d52c14153bd Mon Sep 17 00:00:00 2001 From: Matt Madia Date: Wed, 27 Mar 2013 18:32:33 -0400 Subject: [PATCH 119/122] Add Cc: text field to mails shown when it's not empty. Patch by Sean Healy 'jalopeura'. Fixes #2446. --- src/apps/mail/Header.cpp | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/apps/mail/Header.cpp b/src/apps/mail/Header.cpp index b386d1bbc9..60530c83b7 100644 --- a/src/apps/mail/Header.cpp +++ b/src/apps/mail/Header.cpp @@ -391,6 +391,19 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming, } y += controlHeight; } + + if (fIncoming) { + --y; + r.Set(SEPARATOR_MARGIN, y, + windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight); + y += controlHeight; + fCc = new TTextControl(r, B_TRANSLATE("Cc:"), + NULL, fIncoming, false, B_FOLLOW_LEFT_RIGHT); + fCc->SetEnabled(false); + fCc->SetDivider(x - 12 - SEPARATOR_MARGIN); + fCc->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); + AddChild(fCc); + } --y; r.Set(SEPARATOR_MARGIN, y, @@ -723,8 +736,10 @@ THeaderView::LoadMessage(BEmailMessage *mail) if (fBcc != NULL) fBcc->SetEnabled(false); - if (fCc != NULL) + if (fCc != NULL) { fCc->SetEnabled(false); + fCc->SetText(mail->CC()); + } if (fAccount != NULL) fAccount->SetEnabled(false); @@ -734,6 +749,29 @@ THeaderView::LoadMessage(BEmailMessage *mail) fSubject->SetEnabled(false); fTo->SetEnabled(false); + + // show/hide CC field + bool haveText = false; + if (mail->CC() != NULL && strlen(mail->CC()) > 0) { + haveText = true; + } + bool isHidden = fCc->IsHidden(this); // hidden relative to parent + if (haveText && isHidden) { + float diff = fAccountTo->Frame().top - fTo->Frame().top; + fSubject->MoveBy(0, diff); + fDate->MoveBy(0, diff); + fDateLabel->MoveBy(0, diff); + fCc->Show(); + this->ResizeBy(0, diff); + } + else if (!haveText && !isHidden) { + float diff = fAccountTo->Frame().top - fTo->Frame().top; + fSubject->MoveBy(0, - diff); + fDate->MoveBy(0, - diff); + fDateLabel->MoveBy(0, - diff); + fCc->Hide(); + this->ResizeBy(0, - diff); + } } // Set Subject: & From: fields From 3fa429781c54a21dd23f1ac128b4e2b79b7e1b82 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 27 Mar 2013 23:27:03 -0400 Subject: [PATCH 120/122] Add ReturnValueInfo class for storing function return information. --- src/apps/debugger/model/ReturnValueInfo.cpp | 47 +++++++++++++++++++++ src/apps/debugger/model/ReturnValueInfo.h | 38 +++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/apps/debugger/model/ReturnValueInfo.cpp create mode 100644 src/apps/debugger/model/ReturnValueInfo.h diff --git a/src/apps/debugger/model/ReturnValueInfo.cpp b/src/apps/debugger/model/ReturnValueInfo.cpp new file mode 100644 index 0000000000..e44da3541f --- /dev/null +++ b/src/apps/debugger/model/ReturnValueInfo.cpp @@ -0,0 +1,47 @@ +/* + * Copyright 2013, Rene Gollent, rene@gollent.com. + * Distributed under the terms of the MIT License. + */ + +#include "ReturnValueInfo.h" + +#include "CpuState.h" + + +ReturnValueInfo::ReturnValueInfo() + : + BReferenceable(), + fAddress(0), + fState(NULL) +{ +} + + +ReturnValueInfo::ReturnValueInfo(target_addr_t address, CpuState* state) + : + BReferenceable(), + fAddress(address), + fState(state) +{ + state->AcquireReference(); +} + + +ReturnValueInfo::~ReturnValueInfo() +{ + if (fState != NULL) + fState->ReleaseReference(); +} + + +void +ReturnValueInfo::SetTo(target_addr_t address, CpuState* state) +{ + fAddress = address; + + if (fState != NULL) + fState->ReleaseReference(); + + fState = state; + fState->AcquireReference(); +} diff --git a/src/apps/debugger/model/ReturnValueInfo.h b/src/apps/debugger/model/ReturnValueInfo.h new file mode 100644 index 0000000000..693da13199 --- /dev/null +++ b/src/apps/debugger/model/ReturnValueInfo.h @@ -0,0 +1,38 @@ +/* + * Copyright 2013, Rene Gollent, rene@gollent.com. + * Distributed under the terms of the MIT License. + */ +#ifndef RETURN_VALUE_INFO_H +#define RETURN_VALUE_INFO_H + +#include "ObjectList.h" +#include "Referenceable.h" +#include "Types.h" + + +class CpuState; + + +class ReturnValueInfo : public BReferenceable { +public: + ReturnValueInfo(); + ReturnValueInfo(target_addr_t address, + CpuState* state); + ~ReturnValueInfo(); + + void SetTo(target_addr_t address, CpuState* state); + + target_addr_t SubroutineAddress() const + { return fAddress; } + CpuState* State() const { return fState; } + +private: + target_addr_t fAddress; + CpuState* fState; +}; + + +typedef BObjectList ReturnValueInfoList; + + +#endif // RETURN_VALUE_INFO_H From 76ed6d72a535697c54305bc36c946e13dc5ed28c Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 27 Mar 2013 23:21:42 -0400 Subject: [PATCH 121/122] Refactoring to handle multiple return values. - Replace use of address + CpuState pair in Thread, SpecificImageDebugInfo::CreateStackTrace() with a ReturnValueInfoList. Adjust all implementing subclasses and callers accordingly. - DwarfImageDebugInfo::CreateReturnValue() -> CreateReturnValues(). Now processes a list of return value information structures rather than just a single one. This means we can now handle multiple return values in a single statement. This still isn't entirely correct though, since, e.g. for functions whose return types fit in a register we need to either retrieve them immediately after function return, or store the CPU state at that point in time for later use in value retrieval, otherwise the return values will all be those of the last called function. --- src/apps/debugger/Jamfile | 3 +- src/apps/debugger/arch/Architecture.cpp | 12 +- src/apps/debugger/arch/Architecture.h | 4 +- .../debugger/controllers/ThreadHandler.cpp | 48 +++-- .../debug_info/DebuggerImageDebugInfo.cpp | 5 +- .../debug_info/DebuggerImageDebugInfo.h | 3 +- .../debug_info/DwarfImageDebugInfo.cpp | 165 +++++++++--------- .../debugger/debug_info/DwarfImageDebugInfo.h | 8 +- .../debug_info/SpecificImageDebugInfo.h | 4 +- src/apps/debugger/jobs/GetStackTraceJob.cpp | 4 +- src/apps/debugger/model/Thread.cpp | 33 ++-- src/apps/debugger/model/Thread.h | 18 +- 12 files changed, 167 insertions(+), 140 deletions(-) diff --git a/src/apps/debugger/Jamfile b/src/apps/debugger/Jamfile index c2aaa66bd9..053121c22a 100644 --- a/src/apps/debugger/Jamfile +++ b/src/apps/debugger/Jamfile @@ -144,6 +144,7 @@ Application Debugger : FileSourceCode.cpp Image.cpp ImageInfo.cpp + ReturnValueInfo.cpp SourceCode.cpp StackFrame.cpp StackFrameValues.cpp @@ -151,7 +152,6 @@ Application Debugger : StackTrace.cpp Statement.cpp SymbolInfo.cpp - UserBreakpoint.cpp Team.cpp TeamMemory.cpp TeamMemoryBlock.cpp @@ -161,6 +161,7 @@ Application Debugger : Type.cpp TypeComponentPath.cpp TypeLookupConstraints.cpp + UserBreakpoint.cpp Variable.cpp Watchpoint.cpp diff --git a/src/apps/debugger/arch/Architecture.cpp b/src/apps/debugger/arch/Architecture.cpp index ecae506adb..162002466b 100644 --- a/src/apps/debugger/arch/Architecture.cpp +++ b/src/apps/debugger/arch/Architecture.cpp @@ -94,9 +94,8 @@ Architecture::InitRegisterRules(CfaContext& context) const status_t Architecture::CreateStackTrace(Team* team, ImageDebugInfoProvider* imageInfoProvider, CpuState* cpuState, - StackTrace*& _stackTrace, target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, int32 maxStackDepth, bool useExistingTrace, - bool getFullFrameInfo) + StackTrace*& _stackTrace, ReturnValueInfoList* returnValueInfos, + int32 maxStackDepth, bool useExistingTrace, bool getFullFrameInfo) { BReference cpuStateReference(cpuState); @@ -164,8 +163,8 @@ Architecture::CreateStackTrace(Team* team, if (function != NULL) { status_t error = functionDebugInfo->GetSpecificImageDebugInfo() ->CreateFrame(image, function, cpuState, getFullFrameInfo, - nextFrame == NULL ? returnFunctionAddress : 0, - nextFrame == NULL ? returnFunctionState : 0, frame, + nextFrame == NULL + ? returnValueInfos : NULL, frame, previousCpuState); if (error != B_OK && error != B_UNSUPPORTED) break; @@ -174,8 +173,7 @@ Architecture::CreateStackTrace(Team* team, // If we have no frame yet, let the architecture create it. if (frame == NULL) { status_t error = CreateStackFrame(image, functionDebugInfo, - cpuState, nextFrame == NULL, frame, - previousCpuState); + cpuState, nextFrame == NULL, frame, previousCpuState); if (error != B_OK) break; } diff --git a/src/apps/debugger/arch/Architecture.h b/src/apps/debugger/arch/Architecture.h index e39077400b..76d553bac4 100644 --- a/src/apps/debugger/arch/Architecture.h +++ b/src/apps/debugger/arch/Architecture.h @@ -13,6 +13,7 @@ #include #include +#include "ReturnValueInfo.h" #include "Types.h" @@ -110,8 +111,7 @@ public: ImageDebugInfoProvider* imageInfoProvider, CpuState* cpuState, StackTrace*& _stackTrace, - target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, + ReturnValueInfoList* returnValueInfos, int32 maxStackDepth = -1, bool useExistingTrace = false, bool getFullFrameInfo = true); diff --git a/src/apps/debugger/controllers/ThreadHandler.cpp b/src/apps/debugger/controllers/ThreadHandler.cpp index af647cb1c5..b40aa35efa 100644 --- a/src/apps/debugger/controllers/ThreadHandler.cpp +++ b/src/apps/debugger/controllers/ThreadHandler.cpp @@ -253,7 +253,7 @@ ThreadHandler::HandleThreadAction(uint32 action) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, NULL, 1, + fThread->GetTeam(), this, cpuState, stackTrace, NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } @@ -484,11 +484,20 @@ ThreadHandler::_DoStepOver(CpuState* cpuState) TRACE_CONTROL(" subroutine call -- installing breakpoint at address " "%#" B_PRIx64 "\n", info.Address() + info.Size()); - fThread->SetExecutedSubroutine(info.TargetAddress()); - fThread->SetSubroutineCpuState(cpuState); if (_InstallTemporaryBreakpoint(info.Address() + info.Size()) != B_OK) return false; + ReturnValueInfo* returnInfo = new(std::nothrow) ReturnValueInfo( + info.TargetAddress(), cpuState); + if (returnInfo == NULL) + return false; + + BReference returnInfoReference(returnInfo, true); + + if (fThread->AddReturnValueInfo(returnInfo) != B_OK) + return false; + + returnInfoReference.Detach(); _RunThread(cpuState->InstructionPointer()); return true; } @@ -567,8 +576,8 @@ ThreadHandler::_HandleBreakpointHitStep(CpuState* cpuState) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, - NULL, 1, false, false) == B_OK) { + fThread->GetTeam(), this, cpuState, stackTrace, NULL, + 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } } @@ -608,8 +617,16 @@ ThreadHandler::_HandleBreakpointHitStep(CpuState* cpuState) { // That's the return address, so we're done in theory, // unless we're a recursive function. Check if we've actually - // exited the previous stack frame or not. - fThread->SetExecutedSubroutine(cpuState->InstructionPointer()); + // exited the previous stack frame or not + ReturnValueInfo* info = new(std::nothrow) ReturnValueInfo( + cpuState->InstructionPointer(), cpuState); + if (info == NULL) + return false; + BReference infoReference(info, true); + if (fThread->AddReturnValueInfo(info) != B_OK) + return false; + + infoReference.Detach(); target_addr_t framePointer = cpuState->StackFramePointer(); bool hasExitedFrame = fDebuggerInterface->GetArchitecture() ->StackGrowthDirection() == STACK_GROWTH_DIRECTION_POSITIVE @@ -654,8 +671,8 @@ ThreadHandler::_HandleSingleStepStep(CpuState* cpuState) if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, - NULL, 1, false, false) == B_OK) { + fThread->GetTeam(), this, cpuState, stackTrace, NULL, + 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } } @@ -686,7 +703,7 @@ ThreadHandler::_HandleSingleStepStep(CpuState* cpuState) BReference stackTraceReference(stackTrace); if (stackTrace == NULL && cpuState != NULL) { if (fDebuggerInterface->GetArchitecture()->CreateStackTrace( - fThread->GetTeam(), this, cpuState, stackTrace, 0, + fThread->GetTeam(), this, cpuState, stackTrace, NULL, 1, false, false) == B_OK) { stackTraceReference.SetTo(stackTrace, true); } @@ -694,8 +711,15 @@ ThreadHandler::_HandleSingleStepStep(CpuState* cpuState) if (stackTrace != NULL && stackTrace->FrameAt(0) ->FrameAddress() != fPreviousFrameAddress) { - fThread->SetExecutedSubroutine( - cpuState->InstructionPointer()); + ReturnValueInfo* info = new(std::nothrow) ReturnValueInfo( + cpuState->InstructionPointer(), cpuState); + if (info == NULL) + return false; + BReference infoReference(info, true); + if (fThread->AddReturnValueInfo(info) != B_OK) + return false; + + infoReference.Detach(); } return false; diff --git a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp index c7a77e1603..8aa49b4c48 100644 --- a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp @@ -68,9 +68,8 @@ DebuggerImageDebugInfo::GetAddressSectionType(target_addr_t address) status_t DebuggerImageDebugInfo::CreateFrame(Image* image, FunctionInstance* functionInstance, CpuState* cpuState, - bool getFullFrameInfo, target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, StackFrame*& _previousFrame, - CpuState*& _previousCpuState) + bool getFullFrameInfo, ReturnValueInfoList* returnValueInfos, + StackFrame*& _previousFrame, CpuState*& _previousCpuState) { return B_UNSUPPORTED; } diff --git a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h index 91d0c1bc63..efe5816b58 100644 --- a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h +++ b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.h @@ -36,8 +36,7 @@ public: FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, - target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, + ReturnValueInfoList* returnValueInfos, StackFrame*& _previousFrame, CpuState*& _previousCpuState); virtual status_t GetStatement(FunctionDebugInfo* function, diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index 5c58ed369c..b467cd1188 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -522,9 +522,8 @@ DwarfImageDebugInfo::GetAddressSectionType(target_addr_t address) status_t DwarfImageDebugInfo::CreateFrame(Image* image, FunctionInstance* functionInstance, CpuState* cpuState, - bool getFullFrameInfo, target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, StackFrame*& _frame, - CpuState*& _previousCpuState) + bool getFullFrameInfo, ReturnValueInfoList* returnValueInfos, + StackFrame*& _frame, CpuState*& _previousCpuState) { DwarfFunctionDebugInfo* function = dynamic_cast( functionInstance->GetFunctionDebugInfo()); @@ -674,9 +673,9 @@ DwarfImageDebugInfo::CreateFrame(Image* image, instructionPointer, functionInstance->Address() - fRelocationDelta, subprogramEntry->Variables(), subprogramEntry->Blocks()); - if (returnFunctionAddress != 0) { - _CreateReturnValue(returnFunctionAddress, returnFunctionState, - image, frame, *stackFrameDebugInfo); + if (!returnValueInfos->IsEmpty()) { + _CreateReturnValues(returnValueInfos, image, frame, + *stackFrameDebugInfo); } } @@ -1087,88 +1086,94 @@ DwarfImageDebugInfo::_CreateLocalVariables(CompilationUnit* unit, status_t -DwarfImageDebugInfo::_CreateReturnValue(target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, Image* image, StackFrame* frame, - DwarfStackFrameDebugInfo& factory) +DwarfImageDebugInfo::_CreateReturnValues(ReturnValueInfoList* returnValueInfos, + Image* image, StackFrame* frame, DwarfStackFrameDebugInfo& factory) { - if (!image->ContainsAddress(returnFunctionAddress)) { - // our current image doesn't contain the target function, - // locate the one which does. - image = image->GetTeam()->ImageByAddress(returnFunctionAddress); - if (image == NULL) - return B_BAD_VALUE; - } - - status_t result = B_OK; - ImageDebugInfo* imageInfo = image->GetImageDebugInfo(); - FunctionInstance* targetFunction; - if (returnFunctionAddress >= fPLTSectionStart - && returnFunctionAddress < fPLTSectionEnd) { - // if the function in question is position-independent, the call - // will actually have taken us to its corresponding PLT slot. - // in such a case, look at the disassembled jump to determine - // where to find the actual function address. - InstructionInfo info; - if (fDebuggerInterface->GetArchitecture()->GetInstructionInfo( - returnFunctionAddress, info, returnFunctionState) != B_OK) { - return B_BAD_VALUE; + for (int32 i = 0; i < returnValueInfos->CountItems(); i++) { + ReturnValueInfo* valueInfo = returnValueInfos->ItemAt(i); + target_addr_t subroutineAddress = valueInfo->SubroutineAddress(); + CpuState* subroutineState = valueInfo->State(); + if (!image->ContainsAddress(subroutineAddress)) { + // our current image doesn't contain the target function, + // locate the one which does. + image = image->GetTeam()->ImageByAddress(subroutineAddress); + if (image == NULL) { + // nothing we can do, try the next entry (if any) + continue; + } } - target_size_t addressSize = fDebuggerInterface->GetArchitecture() - ->AddressSize(); - ssize_t bytesRead = fDebuggerInterface->ReadMemory(info.TargetAddress(), - &returnFunctionAddress, addressSize); - - if (bytesRead != (ssize_t)addressSize) - return B_BAD_VALUE; - } - - - targetFunction = imageInfo->FunctionAtAddress(returnFunctionAddress); - if (targetFunction != NULL) { - DwarfFunctionDebugInfo* targetInfo = - dynamic_cast( - targetFunction->GetFunctionDebugInfo()); - if (targetInfo != NULL) { - DIESubprogram* subProgram = targetInfo->SubprogramEntry(); - DIEType* returnType = subProgram->ReturnType(); - if (returnType == NULL) { - // check if we have a specification, and if so, if that has - // a return type - subProgram = dynamic_cast(subProgram->Specification()); - if (subProgram != NULL) - returnType = subProgram->ReturnType(); - - // function doesn't return a value, we're done. - if (returnType == NULL) - return B_OK; + status_t result = B_OK; + ImageDebugInfo* imageInfo = image->GetImageDebugInfo(); + FunctionInstance* targetFunction; + if (subroutineAddress >= fPLTSectionStart + && subroutineAddress < fPLTSectionEnd) { + // if the function in question is position-independent, the call + // will actually have taken us to its corresponding PLT slot. + // in such a case, look at the disassembled jump to determine + // where to find the actual function address. + InstructionInfo info; + if (fDebuggerInterface->GetArchitecture()->GetInstructionInfo( + subroutineAddress, info, subroutineState) != B_OK) { + return B_BAD_VALUE; } - uint32 byteSize = 0; - if (returnType->ByteSize() == NULL) { - if (dynamic_cast(returnType) != NULL) - byteSize = fArchitecture->AddressSize(); - } else - byteSize = returnType->ByteSize()->constant; + target_size_t addressSize = fDebuggerInterface->GetArchitecture() + ->AddressSize(); + ssize_t bytesRead = fDebuggerInterface->ReadMemory( + info.TargetAddress(), &subroutineAddress, addressSize); - ValueLocation* location; - result = fArchitecture->GetReturnAddressLocation(frame, - byteSize, location); - if (result != B_OK) - return result; + if (bytesRead != (ssize_t)addressSize) + return B_BAD_VALUE; + } - BReference locationReference(location, true); - Variable* variable = NULL; - BReference idReference( - targetFunction->GetFunctionID(), true); - result = factory.CreateReturnValue(idReference, returnType, - location, variable); - if (result != B_OK) - return result; + targetFunction = imageInfo->FunctionAtAddress(subroutineAddress); + if (targetFunction != NULL) { + DwarfFunctionDebugInfo* targetInfo = + dynamic_cast( + targetFunction->GetFunctionDebugInfo()); + if (targetInfo != NULL) { + DIESubprogram* subProgram = targetInfo->SubprogramEntry(); + DIEType* returnType = subProgram->ReturnType(); + if (returnType == NULL) { + // check if we have a specification, and if so, if that has + // a return type + subProgram = dynamic_cast( + subProgram->Specification()); + if (subProgram != NULL) + returnType = subProgram->ReturnType(); - BReference variableReference(variable, true); - if (!frame->AddLocalVariable(variable)) - return B_NO_MEMORY; + // function doesn't return a value, we're done. + if (returnType == NULL) + return B_OK; + } + + uint32 byteSize = 0; + if (returnType->ByteSize() == NULL) { + if (dynamic_cast(returnType) != NULL) + byteSize = fArchitecture->AddressSize(); + } else + byteSize = returnType->ByteSize()->constant; + + ValueLocation* location; + result = fArchitecture->GetReturnAddressLocation(frame, + byteSize, location); + if (result != B_OK) + return result; + + BReference locationReference(location, true); + Variable* variable = NULL; + BReference idReference( + targetFunction->GetFunctionID(), true); + result = factory.CreateReturnValue(idReference, returnType, + location, variable); + if (result != B_OK) + return result; + + BReference variableReference(variable, true); + if (!frame->AddLocalVariable(variable)) + return B_NO_MEMORY; + } } } diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.h b/src/apps/debugger/debug_info/DwarfImageDebugInfo.h index 7dab0fbffa..422925a9b9 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.h +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.h @@ -64,8 +64,7 @@ public: FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, - target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, + ReturnValueInfoList* returnValueInfos, StackFrame*& _frame, CpuState*& _previousCpuState); virtual status_t GetStatement(FunctionDebugInfo* function, @@ -105,9 +104,8 @@ private: const EntryListWrapper& variableEntries, const EntryListWrapper& blockEntries); - status_t _CreateReturnValue( - target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, + status_t _CreateReturnValues( + ReturnValueInfoList* returnValueInfos, Image* image, StackFrame* frame, DwarfStackFrameDebugInfo& factory); diff --git a/src/apps/debugger/debug_info/SpecificImageDebugInfo.h b/src/apps/debugger/debug_info/SpecificImageDebugInfo.h index 595d2383ab..02a1fa92e6 100644 --- a/src/apps/debugger/debug_info/SpecificImageDebugInfo.h +++ b/src/apps/debugger/debug_info/SpecificImageDebugInfo.h @@ -10,6 +10,7 @@ #include #include "AddressSectionTypes.h" +#include "ReturnValueInfo.h" #include "Types.h" @@ -56,8 +57,7 @@ public: FunctionInstance* functionInstance, CpuState* cpuState, bool getFullFrameInfo, - target_addr_t returnFunctionAddress, - CpuState* returnFunctionState, + ReturnValueInfoList* returnValueInfos, StackFrame*& _Frame, CpuState*& _previousCpuState) = 0; // returns reference to previous frame diff --git a/src/apps/debugger/jobs/GetStackTraceJob.cpp b/src/apps/debugger/jobs/GetStackTraceJob.cpp index c3a2316a76..0bc286ea73 100644 --- a/src/apps/debugger/jobs/GetStackTraceJob.cpp +++ b/src/apps/debugger/jobs/GetStackTraceJob.cpp @@ -58,9 +58,7 @@ GetStackTraceJob::Do() // get the stack trace StackTrace* stackTrace; status_t error = fArchitecture->CreateStackTrace(fThread->GetTeam(), this, - fCpuState, stackTrace, fThread->ExecutedSubroutine() - ? fThread->SubroutineAddress() : 0, fThread->ExecutedSubroutine() - ? fThread->SubroutineCpuState() : NULL); + fCpuState, stackTrace, fThread->ReturnValueInfos()); if (error != B_OK) return error; BReference stackTraceReference(stackTrace, true); diff --git a/src/apps/debugger/model/Thread.cpp b/src/apps/debugger/model/Thread.cpp index e32424c46d..0dc319fb6a 100644 --- a/src/apps/debugger/model/Thread.cpp +++ b/src/apps/debugger/model/Thread.cpp @@ -18,8 +18,7 @@ Thread::Thread(Team* team, thread_id threadID) fID(threadID), fState(THREAD_STATE_UNKNOWN), fExecutedSubroutine(false), - fSubroutineAddress(0), - fSubroutineState(NULL), + fReturnValueInfos(NULL), fStoppedReason(THREAD_STOPPED_UNKNOWN), fCpuState(NULL), fStackTrace(NULL) @@ -33,14 +32,19 @@ Thread::~Thread() fCpuState->ReleaseReference(); if (fStackTrace != NULL) fStackTrace->ReleaseReference(); - if (fSubroutineState != NULL) - fSubroutineState->ReleaseReference(); + + ClearReturnValueInfos(); + delete fReturnValueInfos; } status_t Thread::Init() { + fReturnValueInfos = new(std::nothrow) ReturnValueInfoList; + if (fReturnValueInfos == NULL) + return B_NO_MEMORY; + return B_OK; } @@ -74,7 +78,7 @@ Thread::SetState(uint32 state, uint32 reason, const BString& info) SetCpuState(NULL); SetStackTrace(NULL); fExecutedSubroutine = false; - fSubroutineAddress = 0; + ClearReturnValueInfos(); } fTeam->NotifyThreadStateChanged(this); @@ -117,20 +121,23 @@ Thread::SetStackTrace(StackTrace* trace) } -void -Thread::SetExecutedSubroutine(target_addr_t address) +status_t +Thread::AddReturnValueInfo(ReturnValueInfo* info) { + if (!fReturnValueInfos->AddItem(info)) + return B_NO_MEMORY; + + info->AcquireReference(); fExecutedSubroutine = true; - fSubroutineAddress = address; + return B_OK; } void -Thread::SetSubroutineCpuState(CpuState* state) +Thread::ClearReturnValueInfos() { - if (fSubroutineState != NULL) - fSubroutineState->ReleaseReference(); + for (int32 i = 0; i < fReturnValueInfos->CountItems(); i++) + fReturnValueInfos->ItemAt(i)->ReleaseReference(); - fSubroutineState = state; - fSubroutineState->AcquireReference(); + fReturnValueInfos->MakeEmpty(); } diff --git a/src/apps/debugger/model/Thread.h b/src/apps/debugger/model/Thread.h index 17aa3307a0..e25a6c78ad 100644 --- a/src/apps/debugger/model/Thread.h +++ b/src/apps/debugger/model/Thread.h @@ -11,6 +11,7 @@ #include #include +#include "ReturnValueInfo.h" #include "types/Types.h" @@ -69,14 +70,11 @@ public: StackTrace* GetStackTrace() const { return fStackTrace; } void SetStackTrace(StackTrace* trace); - bool ExecutedSubroutine() const - { return fExecutedSubroutine; } - target_addr_t SubroutineAddress() const - { return fSubroutineAddress; } - void SetExecutedSubroutine(target_addr_t address); - CpuState* SubroutineCpuState() const - { return fSubroutineState; } - void SetSubroutineCpuState(CpuState* state); + ReturnValueInfoList* + ReturnValueInfos() const + { return fReturnValueInfos; } + status_t AddReturnValueInfo(ReturnValueInfo* info); + void ClearReturnValueInfos(); private: Team* fTeam; @@ -84,8 +82,8 @@ private: BString fName; uint32 fState; bool fExecutedSubroutine; - target_addr_t fSubroutineAddress; - CpuState* fSubroutineState; + ReturnValueInfoList* + fReturnValueInfos; uint32 fStoppedReason; BString fStoppedReasonInfo; CpuState* fCpuState; From 4bc52e9f7890ec7d31345829301faf8f05b0e7bc Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 27 Mar 2013 23:34:44 -0400 Subject: [PATCH 122/122] Remove no longer needed member. --- src/apps/debugger/model/Thread.cpp | 4 +--- src/apps/debugger/model/Thread.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/apps/debugger/model/Thread.cpp b/src/apps/debugger/model/Thread.cpp index 0dc319fb6a..a52c6e1600 100644 --- a/src/apps/debugger/model/Thread.cpp +++ b/src/apps/debugger/model/Thread.cpp @@ -1,4 +1,5 @@ /* + * Copyright 2013, Rene Gollent, rene@gollent.com. * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ @@ -17,7 +18,6 @@ Thread::Thread(Team* team, thread_id threadID) fTeam(team), fID(threadID), fState(THREAD_STATE_UNKNOWN), - fExecutedSubroutine(false), fReturnValueInfos(NULL), fStoppedReason(THREAD_STOPPED_UNKNOWN), fCpuState(NULL), @@ -77,7 +77,6 @@ Thread::SetState(uint32 state, uint32 reason, const BString& info) if (fState != THREAD_STATE_STOPPED) { SetCpuState(NULL); SetStackTrace(NULL); - fExecutedSubroutine = false; ClearReturnValueInfos(); } @@ -128,7 +127,6 @@ Thread::AddReturnValueInfo(ReturnValueInfo* info) return B_NO_MEMORY; info->AcquireReference(); - fExecutedSubroutine = true; return B_OK; } diff --git a/src/apps/debugger/model/Thread.h b/src/apps/debugger/model/Thread.h index e25a6c78ad..9f936c7822 100644 --- a/src/apps/debugger/model/Thread.h +++ b/src/apps/debugger/model/Thread.h @@ -1,4 +1,5 @@ /* + * Copyright 2013, Rene Gollent, rene@gollent.com. * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ @@ -81,7 +82,6 @@ private: thread_id fID; BString fName; uint32 fState; - bool fExecutedSubroutine; ReturnValueInfoList* fReturnValueInfos; uint32 fStoppedReason;