Both sides previous revisionPrevious revisionNext revision | Previous revision |
custom:menu_files [2022/03/24 23:31] – [Menu Files] the .Xcol.ext feature is now the minimum number of cols, not the exact number digital man | custom:menu_files [2024/10/24 13:56] (current) – [Optional] Clarify that group/lib/section numbering is 1-based for menu files digital man |
---|
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'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: |
| 4 | ''.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 minimum number 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). |
|dlprot |str.cpp |Download transfer protocols (displayed instead of dynamically generated list)| | |dlprot |str.cpp |Download transfer protocols (displayed instead of dynamically generated list)| |
|ulprot |str.cpp |Upload transfer protocols (displayed instead of dynamically generated list)| | |ulprot |str.cpp |Upload transfer protocols (displayed instead of dynamically generated list)| |
| |upload |shell_lib.js | Displayed before the prompt for user-supplied filename to upload | |
|grps |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)| | |grps |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)| |
|subs//<x>// |execmsg.cpp |Message Sub-board listing, //<x>// is the group number| | |subs//<x>// |execmsg.cpp |Message Sub-board listing, //<x>// is the (one-based) 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]]| | |msglist | msglist.js|Used by [[module:msglist|Message List]]| |
|msgview | 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| | |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 (one-based) library number| |
|xtrn_sec_head |xtrn_sec.js |External Program Sections header| | |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_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//<x>//_head |xtrn_sec.js |External Program list header, //<x>// is the (one-based) section number| |
|xtrn//<code>//_head |xtrn_sec.js |External Program list header, //<code>// is the section code| | |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_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 (one-based) section number| |
|xtrn//<code>// |xtrn_sec.js |External Program listing, //<code>// is the section code| | |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//<x>//_tail |xtrn_sec.js |External Program list footer, //<x>// is the (one-based) section number| |
|xtrn//<code>//_tail |xtrn_sec.js |External Program list footer, //<code>// is the section code| | |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)| | |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 (one-based) 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| |