Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
custom:ctrl-a_codes [2018/03/01 12:21] – old revision restored digital mancustom:ctrl-a_codes [2018/10/10 21:29] – Redefined Ctrl-AZ (now, send Ctrl-Z char) and re-arranged fixed up some other stuff digital man
Line 1: Line 1:
-====== Ctrl-A Codes ======+====== Ctrl-A (Attribute) Codes ======
 "Control A" codes (a.k.a. ^A codes) are terminal control sequences embedded in Synchronet text and menu display files. "Control A" codes (a.k.a. ^A codes) are terminal control sequences embedded in Synchronet text and menu display files.
  
Line 12: Line 12:
  
 ===== 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 sequences 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 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.
  
 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 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.
  
-In the ''[[custom:text.dat]]'' and possibly some other files, Ctrl-A characters may be entered using the escape sequence''\1''.+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'' rather than having to insert an 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]]//).
Line 22: Line 22:
 ===== Colors ===== ===== Colors =====
  
-The following table is a list of Color Ctrl-A codes and their purpose:+The following table is a list of //Color Control// Ctrl-A codes and their purpose:
  
 ^Color ^Foreground^Background^ ^Color ^Foreground^Background^
Line 36: Line 36:
 ===== Attributes ===== ===== Attributes =====
  
-The following table is a list of Attribute Ctrl-A codes, and a brief description of each code's usage:+The following table is a list of //Attribute Control// Ctrl-A codes, and a brief description of each code's usage:
  
 ^Attribute ^ Code    ^Description                    ^ ^Attribute ^ Code    ^Description                    ^
Line 43: Line 43:
 |Blink-Font        ''f''  |Set the //Blink// attribute **only** if a alternate [[config:fonts.ini|Blink-font]] has been activated in the terminal (new in v3.17) | |Blink-Font        ''f''  |Set the //Blink// attribute **only** if a alternate [[config:fonts.ini|Blink-font]] has been activated in the terminal (new in v3.17) |
 |High-Blink-Font  |  ''F''  |Set the //Blink// attribute **only** if a alternate [[config:fonts.ini|High-intensity Blink-font]] has been activated in the terminal (new in v3.17) | |High-Blink-Font  |  ''F''  |Set the //Blink// attribute **only** if a alternate [[config:fonts.ini|High-intensity Blink-font]] has been activated in the terminal (new in v3.17) |
-|Normal            ''N''  |No Special Attributes (Normal) | +|Normal            ''N''  |No Special Attributes (Normal, e.g. light-gray) | 
-|Optimized Normal |  ''-''  |Only sends sequence if High Intensity, Blinking, or Background attribute is set (or pop attributes if pushed)| +|Optimized Normal |  ''-''  |Only changes to //normal// if High Intensity, Blinking, or Background attribute is set (or pop attributes if pushed)| 
-|Optimized Normal |  ''_''  |Only sends sequence if Blinking or Background attribute is set|+|Optimized Normal |  ''_''  |Only changes to //normal// if the Blinking or Background attribute is set |
  
 ===== Control ===== ===== Control =====
  
-The following table is a list of Terminal Control Ctrl-A codes, and a brief description of each code's usage:+The following table is a list of //Terminal Control// Ctrl-A codes, and a brief description of each code's usage:
  
 ^ Operation       Code   ^ Description                    ^ ^ Operation       Code   ^ Description                    ^
Line 58: Line 58:
 |Delay          |  ''.''   |Delay for two seconds| |Delay          |  ''.''   |Delay for two seconds|
 |Cls            |  ''L''   |Clear the screen and home the cursor| |Cls            |  ''L''   |Clear the screen and home the cursor|
-|Home            ''`''   |Home the cursor|+|Home            ''`''   |Home the cursor (without necessarily clearing the screen)|
 |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)|
Line 66: Line 66:
 |Cond-Newline    ''/''   |Send a new-line sequence (CRLF) **only** when the cursor is not already in the first column (new in v3.17) | |Cond-Newline    ''/''   |Send a new-line sequence (CRLF) **only** when the cursor is not already in the first column (new in v3.17) |
 |Cond-Blankline |  ''?''   |Send a blank-line sequence **only** when the previously printed line was not blank (new in v3.17) | |Cond-Blankline |  ''?''   |Send a blank-line sequence **only** when the previously printed line was not blank (new in v3.17) |
-|Push Attr      |  ''+''   |Save current attributes into attribute LIFO stack|+|Push Attr      |  ''+''   |Save current attributes into (server-side) attribute LIFO stack|
 |Pop Attr        ''-''   |Restore attributes from stack (or Optimized Normal, if no attributes saved/pushed)| |Pop Attr        ''-''   |Restore attributes from stack (or Optimized Normal, if no attributes saved/pushed)|
 +|Ctrl-A          ''A''   |Send an actual Ctrl-A (ASCII 1) character|
 +|Ctrl-Z          ''Z''   |Send an actual Ctrl-Z (ASCII 26) character (used to be: premature end-of-file) |
 |Cursor Right    128-255 |Move cursor to the right (code-127) characters| |Cursor Right    128-255 |Move cursor to the right (code-127) characters|
  
 ===== Macros =====  ===== Macros ===== 
  
-The following table is a list of Macro Ctrl-A codes, and a brief description of each code's usage:+The following table is a list of //Macro// Ctrl-A codes, and a brief description of each code's usage:
  
 ^Macro    ^ Code    ^Description                    ^ ^Macro    ^ Code    ^Description                    ^
 |Date      ''D''  |Display the current system date (in "MM/DD/YY" or "DD/MM/YY" format)| |Date      ''D''  |Display the current system date (in "MM/DD/YY" or "DD/MM/YY" format)|
 |Time      ''T''  |Display the current system time (in "HH:MM am" or "HH:MM:SS" format)| |Time      ''T''  |Display the current system time (in "HH:MM am" or "HH:MM:SS" format)|
-|Ctrl-A    ''A''  |Send an actual Ctrl-A (ASCII 1) character| 
  
 ===== Advanced =====  ===== Advanced ===== 
  
-The following table is a list of Advanced Ctrl-A codes, and a brief description of each code's usage:+The following table is a list of //Advanced// Ctrl-A codes, and a brief description of each code's usage:
  
 ^Operation^ Code    ^Description                          ^ ^Operation^ Code    ^Description                          ^
-|Sync      ''S''  |Synchronize output with remote system| +|Sync      ''S''  |Synchronize node status and output with terminal (i.e. initiates a call to ''nodesync()'')
-|EOF      |  ''Z''  |End of displayable text in this file +|Embed File| ''%%"%%//filename//''| Display contents of //filename// from the Terminal Server'''[[dir:text]]'' directory|
-|Embed File| ''%%"%%//filename//''| Display contents of //filename// from your ''[[dir:text]]'' directory|+
  
 ===== Security ===== ===== Security =====
  
-Synchronet also supports Ctrl-A codes used to hide text from users+Synchronet also supports //Secure Control// Ctrl-A codes which may be used to hide text from users
 not meeting certain security criteria (i.e.: Security Level or Flags from Flag Set #1). not meeting certain security criteria (i.e.: Security Level or Flags from Flag Set #1).
  
-The following table is a list of Security Ctrl-A codes, and a brief description of each code's usage:+The following table is a list of Security Control Ctrl-A codes, and a brief description of each code's usage:
  
 ^Code    ^Description^ ^Code    ^Description^