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 revision
Previous revision
custom:menu_files [2022/03/25 00:05] – [Menu Files] Document the new .cXX.ext menu file naming supported digital mancustom:menu_files [2024/10/24 13:56] (current) – [Optional] Clarify that group/lib/section numbering is 1-based for menu files 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 81: Line 83:
 |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|