Both sides previous revisionPrevious revisionNext revision | Previous revision |
custom:ctrl-a_codes [2020/04/19 21:41] – [Attributes] Document ^AE and (new behavior) of ^AI codes digital man | custom:ctrl-a_codes [2021/10/05 22:19] (current) – [Use] Some Ctrl-A operands are case sensitive. digital man |
---|
====== Ctrl-A (Attribute) Codes ====== | ====== Attribute (Ctrl-A) Codes ====== |
"Control A" codes (a.k.a. ^A codes) are terminal control sequences embedded in Synchronet text and menu display files. | //Attribute Codes// (a.k.a. ^A codes) are terminal control sequences embedded in Synchronet text and menu display files. |
| |
===== Background ===== | ===== Background ===== |
| |
===== Use ===== | ===== Use ===== |
Ctrl-A codes are 2-character sequences which begin with a Ctrl-A (ASCII 1) character (hence the name) and are followed by a single character (case insensitive) which determines the operation to be performed. The only exception to this 2-character sequence is the Ctrl-A''"//filename//'' code, which takes a filename as an argument and the filename is considered part of the sequence and not displayed. | Ctrl-A codes are 2-character sequences that begin with a Ctrl-A (ASCII 1) character (hence the name) followed by a single character (the operand) which determines the operation to be performed. The only exception to this 2-character sequence is the Ctrl-A''"//filename//'' code, which takes a filename as an argument and the filename is considered part of the sequence and not displayed. |
| |
It can sometimes require a special purpose text editor to actually enter a Ctrl-A character into a text file. Some editors may require a special key sequence or use of a menu option to enter a Ctrl-A character into a file. The graphical representation of the character may be a happy face or any other non-alphanumeric symbol that the editor chooses to render to represent that character code. There are [[atcodes|@-Codes]] for the equivalent of many of the Ctrl-A codes, so may consider using them if they are more convenient for your text editor of choice. | It can sometimes require a special purpose text editor to actually enter a Ctrl-A character into a text file. Some editors may require a special key sequence or use of a menu option to enter an actual Ctrl-A character into a file. The graphical representation of the character may be a happy face (☺) or any other non-alphanumeric symbol that the editor chooses to render to represent that character code. There are [[atcodes|@-Codes]] for the equivalent of most Ctrl-A codes, so consider using them if they are more convenient for your text editor of choice. |
| |
In the ''[[custom:text.dat]]'' and possibly some other files (e.g. [[JavaScript]] and [[:util:Baja]] source files), Ctrl-A characters may be included by using the escape sequence ''\1'' (or ''\x01'') rather than having to insert an actual control character into the file. | In the ''[[custom:text.dat]]'' and possibly some other files (e.g. [[JavaScript]] and [[:util:Baja]] source files), Ctrl-A characters may be included by using the escape sequence ''\1'' (or ''\x01'') rather than having to insert the actual control character into the file. |
| |
The [[util:ANS2ASC]] utility may be used to convert files encoded with ANSI X3.64 terminal escape sequences (e.g. ''*.ans'') into Ctrl-A encoded output and the [[util:ASC2ANS]] utility can be used to perform the opposite operation (useful for editing Ctrl-A encoded files (e.g. ''*.msg'' or ''*.asc'') with an //[[resource:ansi editors|ANSI-BBS screen editor]]//). | The [[util:ANS2ASC]] utility may be used to convert files encoded with ANSI X3.64 terminal escape sequences (e.g. ''*.ans'') into Ctrl-A encoded output and the [[util:ASC2ANS]] utility can be used to perform the opposite operation (useful for editing Ctrl-A encoded files (e.g. ''*.msg'' or ''*.asc'') with an //[[resource:ansi editors|ANSI-BBS screen editor]]//). |
|Delay | '';'' |Delay for one half second| | |Delay | '';'' |Delay for one half second| |
|Delay | ''.'' |Delay for two seconds| | |Delay | ''.'' |Delay for two seconds| |
|Cls | ''L'' |Clear the screen and home the cursor| | |Cls | ''L'' |Clear the screen, clear any existing mouse hot-spots, and home the cursor | |
|Home | ''`'' |Home the cursor (without necessarily clearing the screen)| | |Home | ''''' |Home the cursor (without necessarily clearing the screen, used to be ''`'')| |
| |Hungry-hotspot | ''~'' |Precedes a single-character hungry mouse hot-spot command (CR if next character is a ctrl char or end of string) | |
| |Strict-hotspot | ''`'' |Precedes a single-character strict mouse hot-spot command (or "Home" if next character is a ctrl char or end of string) | |
|Clreos | ''J'' |Clear to end of screen (leave cursor in current position)| | |Clreos | ''J'' |Clear to end of screen (leave cursor in current position)| |
|Clreol | ''>'' |Clear to end of line (leave cursor in current position)| | |Clreol | ''>'' |Clear to end of line (leave cursor in current position)| |