Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
custom:menu_files [2013/10/02 23:54] digital mancustom:menu_files [2023/10/26 17:25] (current) – Document the text/menu/lang sub-directory used for translated menu files to alternate languages digital man
Line 2: Line 2:
  
 Menu files displayed to the remote terminal client / user are stored in the ''[[dir:text]]/menu'' directory. Menu files displayed to the remote terminal client / user are stored in the ''[[dir:text]]/menu'' directory.
 +
 +Menu files that have been translated to alternate languages (represented by ''[[dir:ctrl]]/text.//lang//.ini'' files) are stored in their ''[[dir:text]]/menu///lang//'' directory.
 +
 +Other display files (mainly used during the terminal server's //new user// registration process), are stored in the ''[[dir:text]]'' directory.
  
 Menu files may have one of the following file suffixes / extensions: Menu files may have one of the following file suffixes / extensions:
  
-^Extension       ^Description^ +^Extension       ^Description of expected contents
-|''.asc''        |[[Ctrl-A Codes]] for ANSI X3.64-subset and Dumb ASCII/TTY Terminals+|''.asc''        |ASCII characters (CP437 characters, optionally)| 
-|''.ans''        |ANSI X3.64 Color Terminals (only)+|''.msg''        |ASCII/CP437 characters ((the main difference between .asc and .msg files are their selection priority, with .asc files targeting plain-ASCII terminals)) | 
-|''.mon''        |ANSI X3.64 Monochrome Terminals+|''.seq''        |PETSCII characters and control-sequences 
-|''.rip''        |RIPscrip Terminals+|''.ans''        |ASCII/CP437 characters and ANSI X3.64 Terminal control-sequences
-|''.wip''        |WIP Terminals (deprecated)+|''.mon''        |ASCII/CP437 characters and ANSI X3.64 Terminal control-sequences suited for monochrome displays 
-|''.html''       |Experimental HTMLterm|+|''.rip''        |ASCII/CP437 characters and RIPscrip Terminal control-sequences
 + 
 +//All// of these file types may contain [[Ctrl-A Codes]] color/attribute codes and/or [[atcodes|@-Codes]]. 
 + 
 +Although you may have multiple menu files with the same base filename and different suffixes/extensions, only one menu file will be selected and displayed to the terminal user based on their configured or auto-detected terminal type/capabilities. The menu/display file selection priority is as follows (the highest-priority file type that exists on disk will be displayed to the user): 
 + 
 +|          |^ ANSI / CP437((ANSI/CP437 would be the most common BBS terminal-type encountered))         ^^ ANSI / ASCII       ^|   ||| 
 +^ Priority ^     RIP    ^ Color    ^ Mono      ^  Color   ^ Mono      PETSCII  ^ TTY / CP437    TTY / ASCII     ^ 
 +| 1        | ''.rip''   ''.ans'' | ''.mon'' | ''.ans'' | ''.mon''  | ''.seq''  | ''.msg''      | ''.asc''       
 +| 2        | ''.ans''   | ''.msg'' | ''.ans'' | ''.asc'' | ''.ans''  | ''.msg''  | ''.asc''      | ''.msg''       | 
 +3        | ''.msg''   | ''.asc'' | ''.msg'' | ''.msg'' | ''.asc''  | ''.asc''  |                              | 
 +| 4        | ''.asc''            | ''.asc'' |          | ''.msg''  |                                        | 
 + 
 +Each of these file types may be preempted by a terminal-width specific file with a name ending in ''.//X//col//.ext//'' where ''//X//'' is the **exact** number of screen columns required to display the file correctly (e.g. 40, 80, 132) and ''//.ext//'' is one of the supported file extensions from the above list. To specify a **minimum** number of screen columns for a display file, use filenames ending in ''.c//X.ext//'' where //X// is the minimum number of screen columns to display the file correctly. 
 + 
 +If you only have **one** display file for any particular base filename, it should have either a ''.msg'' or ''.asc'' extension and contain no terminal-control sequences (e.g. ANSI, PETSCII, or RIP).
  
-See the [[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/text/menu/|Menu Directory]] in [[dev:CVS]] for default menu files and their contents.+See the [[https://gitlab.synchro.net/main/sbbs/-/tree/master/text/menu|Menu Directory]] in [[dev:git]] for default menu files and their contents.
  
 Most menu files are loaded/displayed by a [[custom:command shell]], so the name and location (e.g. sub-directory) of those files may depend on which command shell is in use by the users of your [[server:terminal]] server. Most menu files are loaded/displayed by a [[custom:command shell]], so the name and location (e.g. sub-directory) of those files may depend on which command shell is in use by the users of your [[server:terminal]] server.
Line 56: Line 75:
 ===== Optional ===== ===== Optional =====
  
-Optional menu file names and descriptions (do not exist by default):+Optional menu file names and descriptions (these file do not exist by default):
  
 ^Base filename ^Displayed By^Description^ ^Base filename ^Displayed By^Description^
Line 65: Line 84:
 |ulprot        |str.cpp     |Upload transfer protocols (displayed instead of dynamically generated list)| |ulprot        |str.cpp     |Upload transfer protocols (displayed instead of dynamically generated list)|
 |grps          |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)| |grps          |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)|
-|subsx         |execmsg.cpp |Message Sub-board listing, 'xis the group number|+|subs//<x>//         |execmsg.cpp |Message Sub-board listing, //<x>// is the group number|
 |libs          |execfile.cpp|File Library listing (displayed instead of dynamically generated list)| |libs          |execfile.cpp|File Library listing (displayed instead of dynamically generated list)|
-|dirsx         |execfile.cpp|File Directory listing, 'xis the library number|+|msglist | msglist.js|Used by [[module:msglist|Message List]]| 
 +|msgview | msglist.js|Used by [[module:msglist|Message List]]| 
 +|msgtabs       |writemsg.cpp|Internal message editor tab bar| 
 +|dirs//<x>//         |execfile.cpp|File Directory listing, //<x>// is the library number
 +|xtrn_sec_head      |xtrn_sec.js |External Program Sections header|
 |xtrn_sec      |xtrn_sec.js |External Program Sections (displayed instead of dynamically generated list)| |xtrn_sec      |xtrn_sec.js |External Program Sections (displayed instead of dynamically generated list)|
-|xtrnx         |xtrn_sec.js |External Program listing, 'xis the section number|+|xtrn_sec_tail      |xtrn_sec.js |External Program Sections footer| 
 +|xtrn//<x>//_head    |xtrn_sec.js |External Program list header, //<x>// is the section number| 
 +|xtrn//<code>//_head    |xtrn_sec.js |External Program list header, //<code>// is the section code| 
 +|xtrn_head | xtrn_sec.js | External Program list header (global)| 
 +|xtrn//<x>//         |xtrn_sec.js |External Program listing, //<x>// is the section number
 +|xtrn//<code>//         |xtrn_sec.js |External Program listing, //<code>// is the section code| 
 +|xtrn///<code>//|xtrn_sec.js|Message displayed just before executing the external program represented by //<code>//
 +|xtrn//<x>//_tail    |xtrn_sec.js |External Program list footer, //<x>// is the section number| 
 +|xtrn//<code>//_tail    |xtrn_sec.js |External Program list footer, //<code>// is the section code| 
 +|xtrn_tail | xtrn_sec.js | External Program list footer (global)|
 |text_sec      |text_sec.cpp|Text File Section listing (displayed instead of dynamically generated list)| |text_sec      |text_sec.cpp|Text File Section listing (displayed instead of dynamically generated list)|
-|textx         |text_sec.cpp|Text File listing, 'xis the text file section number|+|text//<x>//         |text_sec.cpp|Text File listing, //<x>// is the text file section number|
 |chan          |chat.cpp    |Multinode Chat Channels (displayed instead of dynamically generated list)| |chan          |chat.cpp    |Multinode Chat Channels (displayed instead of dynamically generated list)|
 |tmessage      |default.src |Displays when the user enters the transfer section| |tmessage      |default.src |Displays when the user enters the transfer section|
 |tpolicy       |str.cpp     |File transfer policy (displayed instead of ''[[custom:text.dat]]'' strings: TransferPolicyHdr, TpUpload, TpDownload)| |tpolicy       |str.cpp     |File transfer policy (displayed instead of ''[[custom:text.dat]]'' strings: TransferPolicyHdr, TpUpload, TpDownload)|
-|randomx       |logon.js    |Random logon screen (random1, random2, random3, etc.)|+|random//<x>//       |logon.js    |Random logon screen (e.g. ''random1''''random2''''random3'', etc.)|
  
 ===== See Also ===== ===== See Also =====
   * [[custom:|Customization]]   * [[custom:|Customization]]
   * [[custom:Ctrl-A Codes]]   * [[custom:Ctrl-A Codes]]
 +  * [[custom:atcodes|@-Codes]]
   * [[util:ASC2ANS]] utility   * [[util:ASC2ANS]] utility
   * [[util:ANS2ASC]] utility   * [[util:ANS2ASC]] utility
 +  * [[resource:ANSI Editors]]
  
 {{tag>}} {{tag>}}
custom/menu_files.1380783271.txt · Last modified: 2013/10/02 23:54 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0