Synchronet v3.21e-Win32 (install) has been released (Mar-2026).

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 [2023/10/26 17:25] – Document the text/menu/lang sub-directory used for translated menu files to alternate languages digital mancustom:menu_files [2026/01/12 03:29] (current) – [Defaults] syssmail has gone away. 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.
 +
 +If the //[[dir:mods]]// directory has been configured (in SCFG->System->Advanced Options), menu files may also be stored in the ''[[dir:mods]]/text/menu'' directory and will take precedence.
  
 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. 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.+Other display files (mainly used during the terminal server's //new user// registration process), are stored in the ''[[dir:text]]'' directory (or ''[[dir:mods]]/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 41: Line 43:
  
 ^Base filename ^Displayed By^Description^ ^Base filename ^Displayed By^Description^
-|allmail       |readmail.cpp|Sysop's reading all mail on system menu| +|''allmail''       |readmail.cpp|Sysop's reading all mail on system menu| 
-|attr          |writemsg.cpp|Ctrl-A code help for use within the Synchronet internal message editor| +|''attr''          |writemsg.cpp|Ctrl-A code help for use within the Synchronet internal message editor| 
-|batchxfr      |bat_xfer.cpp|Batch transfer menu| +|''batchxfr''      |bat_xfer.cpp|Batch transfer menu| 
-|batflag       |listfile.cpp|Batch flag command key menu| +|''batflag''       |listfile.cpp|Batch flag command key menu| 
-|chat          |chat_sec.js |Chat section menu| +|''chat''          |chat_sec.js |Chat section menu| 
-|e-mail        |default.src |E-mail section menu| +|''e-mail''        |default.src |E-mail section menu| 
-|editor        |writemsg.cpp|Synchronet internal editor commands and line editing keys| +|''editor''        |writemsg.cpp|Synchronet internal editor commands and line editing keys| 
-|exempt        |useredit.cpp|Exemption flag descriptions for use within User Edit| +|''exempt''        |useredit.cpp|Exemption flag descriptions for use within User Edit| 
-|flagsx        |useredit.cpp|Flag set (x is 1 through 4) descriptions for use within User Editor (sysop to modify)| +|''flags//<x>//''  |useredit.cpp|Flag set (x is 1 through 4) descriptions for use within User Editor (sysop to modify)| 
-|logoff        |execfunc.cpp|Logoff screen (not displayed on fast logoff)| +|''logoff''        |execfunc.cpp|Logoff screen (not displayed on fast logoff)| 
-|logon         |logon.js    |Logon screen (logon1, logon2, logon3, etc. also supported)| +|''logoninfo''     |logon.cpp   |Brief system and user information displayed during logon((when SCFG->System->Toggles->Display Sys Info During Logon is set to "Yes")) | 
-|mailread      |readmail.cpp|Reading mail menu| +|''mailread''      |readmail.cpp|Reading mail menu| 
-|main          |default.src |Main section menu (the most commonly viewed menu)| +|''main''          |default.src |Main section menu (the most commonly viewed menu)| 
-|maincfg       |default.src |Main configuration menu| +|''maincfg''       |default.src |Main configuration menu| 
-|maininfo      |default.src |Main information menu| +|''maininfo''      |default.src |Main information menu| 
-|msgscan       |scansubs.cpp|Message reading/scanning menu| +|''msgscan''       |scansubs.cpp|Message reading/scanning menu| 
-|multchat      |chat.cpp    |Multinode chat menu| +|''multchat''      |chat.cpp    |Multinode chat menu| 
-|privchat      |chat.cpp    |Private node-to-node chat menu| +|''privchat''      |chat.cpp    |Private node-to-node chat menu| 
-|qwk           |qwk.cpp     |QWK Packet configuration and transfer menu| +|''qwk''           |qwk.cpp     |QWK Packet configuration and transfer menu| 
-|restrict      |useredit.cpp|Restriction flag descriptions for use within User Edit (sysop to modify)| +|''random*''       |logon.js    |Logon screen picked at random, e.g. ''random1'', ''random2'', ''random3'', etc. (see also ''logon//<n>//'')| 
-|sentmail      |readmail.cpp|Reading sent mail menu| +|''restrict''      |useredit.cpp|Restriction flag descriptions for use within User Edit (sysop to modify)| 
-|sysmailr      |readmail.cpp|Sysop additional commands while reading mail| +|''sentmail''      |readmail.cpp|Reading sent mail menu| 
-|sysmain       |default.src |Sysop additional commands for main section| +|''sysmailr''      |readmail.cpp|Sysop additional commands while reading mail| 
-|sysmscan      |readmsgs.cpp|Sysop additional commands while message reading/scanning| +|''sysmain''       |default.src |Sysop additional commands for main section| 
-|syssmail      |readmail.cpp|Sysop additional commands while reading sent mail| +|''sysmscan''      |readmsgs.cpp|Sysop additional commands while message reading/scanning| 
-|sysxfer       |default.src |Sysop additional commands for transfer section| +|''sysxfer''       |default.src |Sysop additional commands for transfer section| 
-|tempxfer      |tmp_xfer.cpp|Temporary directory commands menu| +|''tempxfer''      |tmp_xfer.cpp|Temporary directory commands menu| 
-|transfer      |default.src |File Transfer section menu| +|''transfer''      |default.src |File Transfer section menu| 
-|uedit         |useredit.cpp|User Edit menu| +|''userinfo''      |str.cpp     |User Information (statistics) screen | 
-|xfercfg       |default.src |File Transfer section configuration menu| +|''uedit''         |useredit.cpp|User Edit menu| 
-|xferinfo      |default.src |File Transfer section information menu|+|''xfercfg''       |default.src |File Transfer section configuration menu| 
 +|''xferinfo''      |default.src |File Transfer section information menu|
  
 ===== Optional ===== ===== Optional =====
Line 78: Line 81:
  
 ^Base filename ^Displayed By^Description^ ^Base filename ^Displayed By^Description^
-|batdprot      |str.cpp     |Batch download transfer protocols (displayed instead of dynamically generated list)| +|''batdprot''      |str.cpp     |Batch download transfer protocols (displayed instead of dynamically generated list)| 
-|batuprot      |str.cpp     |Batch upload transfer protocols (displayed instead of dynamically generated list)| +|''batuprot''      |str.cpp     |Batch upload transfer protocols (displayed instead of dynamically generated list)| 
-|biprot        |str.cpp     |Bidirectional transfer protocols (displayed instead of dynamically generated list)| +|''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)| +|''dirinfo''       |str.cpp     |Information about the current file directory | 
-|grps          |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)| +|''download''      |str.cpp |Displayed before the transfer protocol selection when downloading file from filebase (v3.20c)| 
-|subs//<x>//         |execmsg.cpp |Message Sub-board listing, //<x>// is the group number| +|''upload''        |shell_lib.js | Displayed before the prompt for user-supplied filename to upload | 
-|libs          |execfile.cpp|File Library listing (displayed instead of dynamically generated list)| +|''fileinfo''      |file.cpp    | Displayed when File Information is requested, in place of ''Fi*'' ''[[custom:text.dat]]'' strings (v3.20c)| 
-|msglist | msglist.js|Used by [[module:msglist|Message List]]| +|''grps''          |execmsg.cpp |Message Group listing (displayed instead of dynamically generated list)| 
-|msgview | msglist.js|Used by [[module:msglist|Message List]]| +|''subs//<x>//''   |execmsg.cpp |Message Sub-board listing, //<x>// is the (one-based) group number| 
-|msgtabs       |writemsg.cpp|Internal message editor tab bar| +|''libs''          |execfile.cpp|File Library listing (displayed instead of dynamically generated list)| 
-|dirs//<x>//         |execfile.cpp|File Directory listing, //<x>// is the library number| +|''logon//[n]//''  |logon.js    |Logon screen (logon1, logon2, logon3, etc. also supported), see also ''random*''
-|xtrn_sec_head      |xtrn_sec.js |External Program Sections header| +|''msglist''       | msglist.js|Used by [[module:msglist|Message List]]| 
-|xtrn_sec      |xtrn_sec.js |External Program Sections (displayed instead of dynamically generated list)| +|''msgview''       | msglist.js|Used by [[module:msglist|Message List]]| 
-|xtrn_sec_tail      |xtrn_sec.js |External Program Sections footer| +|''msgtabs''       |writemsg.cpp|Internal message editor tab bar| 
-|xtrn//<x>//_head    |xtrn_sec.js |External Program list header, //<x>// is the section number| +|''dirs//<x>//''   |execfile.cpp|File Directory listing, //<x>// is the (one-based) library number| 
-|xtrn//<code>//_head    |xtrn_sec.js |External Program list header, //<code>// is the section code| +|''xtrn_sec_head''        |xtrn_sec.js |External Program Sections header| 
-|xtrn_head | xtrn_sec.js | External Program list header (global)| +|''xtrn_sec''             |xtrn_sec.js |External Program Sections (displayed instead of dynamically generated list)| 
-|xtrn//<x>//         |xtrn_sec.js |External Program listing, //<x>// is the section number| +|''xtrn_sec_tail''        |xtrn_sec.js |External Program Sections footer| 
-|xtrn//<code>//         |xtrn_sec.js |External Program listing, //<code>// is the section code| +|''xtrn//<x>//_head''     |xtrn_sec.js |External Program list header, //<x>// is the (one-based) section number| 
-|xtrn///<code>//|xtrn_sec.js|Message displayed just before executing the external program represented by //<code>//+|''xtrn//<code>//_head''  |xtrn_sec.js |External Program list header, //<code>// is the section code| 
-|xtrn//<x>//_tail    |xtrn_sec.js |External Program list footer, //<x>// is the section number| +|''xtrn_head''            | xtrn_sec.js | External Program list header (global)| 
-|xtrn//<code>//_tail    |xtrn_sec.js |External Program list footer, //<code>// is the section code| +|''xtrn//<x>//''          |xtrn_sec.js |External Program listing, //<x>// is the (one-based) section number| 
-|xtrn_tail | xtrn_sec.js | External Program list footer (global)| +|''xtrn//<code>//''       |xtrn_sec.js |External Program listing, //<code>// is the section code| 
-|text_sec      |text_sec.cpp|Text File Section listing (displayed instead of dynamically generated list)| +|''xtrn///<code>//''      |xtrn_sec.js|Message displayed just before executing the external program represented by //<code>//
-|text//<x>//         |text_sec.cpp|Text File listing, //<x>// is the text file section number| +|''xtrn//<x>//_tail''     |xtrn_sec.js |External Program list footer, //<x>// is the (one-based) section number| 
-|chan          |chat.cpp    |Multinode Chat Channels (displayed instead of dynamically generated list)| +|''xtrn//<code>//_tail''  |xtrn_sec.js |External Program list footer, //<code>// is the section code| 
-|tmessage      |default.src |Displays when the user enters the transfer section| +|''xtrn_tail''            | xtrn_sec.js | External Program list footer (global)| 
-|tpolicy       |str.cpp     |File transfer policy (displayed instead of ''[[custom:text.dat]]'' strings: TransferPolicyHdr, TpUpload, TpDownload)| +|''sysinfo''       |str.cpp     |Displayed in place of the hard-coded strings (e.g. SiSysName) from ''[[custom:text.dat]]'' in response to user requests for System Information | 
-|random//<x>//       |logon.js    |Random logon screen (e.g. ''random1''''random2'', ''random3'', etc.)|+|''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 (one-based) text file section number| 
 +|''chan''          |chat.cpp    |Multinode Chat Channels (displayed instead of dynamically generated list)| 
 +|''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)| 
 +|''subinfo''       |str.cpp     |Information about the current message sub-board | 
 + 
 + 
 +===== Modifications ===== 
 +When modifying a stock display file from the ''[[dir:text]]'' directory (or its ''menu'' sub-directory)a sysop should first copy the file to the ''[[dir:mods]]/text[/menu]'' directory and modify that copy so that their modifications will **not** be overwritten (and thus lostby a future Synchronet update.
  
 ===== See Also ===== ===== See Also =====
Line 116: Line 128:
   * [[util:ANS2ASC]] utility   * [[util:ANS2ASC]] utility
   * [[resource:ANSI Editors]]   * [[resource:ANSI Editors]]
 +  * [[dir:text]] directory
 +  * [[dir:mods]] directory
  
-{{tag>}}+{{tag>menu ansi customiza}}