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 [2018/10/25 03:36] – [Menu Files] More details about the new-improve display/menu file selection process 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 3: Line 3:
 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.
  
-Other display files (mainly used during the terminal server's new user registration process), are stored in the ''[[dir:text]]'' 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'//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:
Line 9: Line 11:
 ^Extension       ^Description of expected contents^ ^Extension       ^Description of expected contents^
 |''.asc''        |ASCII characters (CP437 characters, optionally)| |''.asc''        |ASCII characters (CP437 characters, optionally)|
-|''.msg''        |ASCII/CP437 characters ((the main difference between .asc and .msg files are their selection priority with .asc files targeted at plain-ASCII terminals)) |+|''.msg''        |ASCII/CP437 characters ((the main difference between .asc and .msg files are their selection prioritywith .asc files targeting plain-ASCII terminals)) |
 |''.seq''        |PETSCII characters and control-sequences | |''.seq''        |PETSCII characters and control-sequences |
 |''.ans''        |ASCII/CP437 characters and ANSI X3.64 Terminal control-sequences| |''.ans''        |ASCII/CP437 characters and ANSI X3.64 Terminal control-sequences|
Line 19: Line 21:
 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): 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 / ASCII       ^^            +         |^ ANSI / CP437((ANSI/CP437 would be the most common BBS terminal-type encountered))         ^^ ANSI / ASCII       ^|   ||| 
-^     RIP    ^ Color    ^ Mono      ^  Color   ^ Mono      PETSCII  ^ TTY/CP437     ^  TTY/ASCII     ^ +^ Priority ^     RIP    ^ Color    ^ Mono      ^  Color   ^ Mono      PETSCII  ^ TTY / CP437   ^  TTY / ASCII     ^ 
-| ''.rip''   | ''.ans'' | ''.mon'' | ''.ans'' | ''.mon''  | ''.seq''  | ''.msg''      | ''.asc''       | +| 1        | ''.rip''   | ''.ans'' | ''.mon'' | ''.ans'' | ''.mon''  | ''.seq''  | ''.msg''      | ''.asc''       | 
-| ''.ans''   | ''.msg'' | ''.ans'' | ''.asc'' | ''.ans''  | ''.msg''  | ''.asc''      | ''.msg''       | +| 2        | ''.ans''   | ''.msg'' | ''.ans'' | ''.asc'' | ''.ans''  | ''.msg''  | ''.asc''      | ''.msg''       | 
-| ''.msg''   | ''.asc'' | ''.msg'' | ''.msg'' | ''.asc''  | ''.asc''  |                              | +| 3        | ''.msg''   | ''.asc'' | ''.msg'' | ''.msg'' | ''.asc''  | ''.asc''  |                              | 
-| ''.asc''            | ''.asc'' |          | ''.msg''  |                                        |+| 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 (exactnumber of screen columns (e.g. usually 80 or 40) and ''//.ext//'' is one of the supported file extensions from the above list.+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). 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 84: Line 86:
 |subs//<x>//         |execmsg.cpp |Message Sub-board listing, //<x>// is 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)|
 +|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| |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)|
 +|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//<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///<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)|
 |text//<x>//         |text_sec.cpp|Text File listing, //<x>// is the text file section number| |text//<x>//         |text_sec.cpp|Text File listing, //<x>// is the text file section number|
custom/menu_files.1540463806.txt · Last modified: 2018/10/25 03:36 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0