Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Message List

This module (msglist.js) can be used as a full-screen scrolling user interface for listing messages (public posts and private email messages) and reading and replying to messages.

This module was first demonstrated in this video.


For full/proper function of this module, you'll need a recent v3.17c dev-build (as of March, 2020) of Synchronet, or later.

This module may require an update of your Synchronet exec/load directory to get the latest .js load-libraries, including the newly added age.js.

The following menu files are used by this module:

  • text/menu/msglist.asc
  • text/menu/msgview.asc


System Modules

Run jsexec msglist.js -install.

This procedure this will configure the “Read Mail” and “List Msgs” modules in SCFG->System->Loadable Modules with command-lines that call this module to handle those system functions from all built-in menus and stock command shells.

If you wish to allow your BBS users to list sub-board messages directly from a Baja command shell menu (e.g. using the 'L' command key from the main or message menu) add the following command key handler to the desired command shell source (.src) file(s):

for Synchronet v3.18 or later:

cmdkey L

for Synchronet v3.17 or older:

cmdkey L
   exec_bin "msglist"

... and then recompile the source file with baja (e.g. baja default.src).

In Synchronet v3.20, the default command shell (default.js) already has main menu L command key mapped to the BBS message list function.


The behavior of this module is sysop-configurable through the use of command-line arguments and the modopts.ini file.

Command-Line Options

Option Description
-preview Enable the message preview pane by default
-nospam Don't load SPAM-tagged messages
-spam Only load SPAM-tagged messages
-unread Only load unread messages
-reverse Reverse the default message list order


The [msglist] section of the modopts.ini file may be created by the sysop to customize the look-and-feel of this module.

If a [msglist:<code>] section exists, then those settings will take precedence when the module is being used to list/view messages in the message base with the specified internal code (e.g. [msglist:mail] for the mail message base).

Option Default Description
reverse_mail true List mail messages in reverse chronological order (newest first) by default
reverse_msgs true List sub-board messages in reverse chronological order (newest first) by default
cache_msg_text false Cache message text in memory
large_msg_threshold 64 KBytes Message text larger than this value will not be cached in memory
preview_label “\xd9 Preview” Displayed string
preview_label_terminator “ \xc0” Displayed string
preview_lines_fmt “ lines %u-%u” Displayed string
preview_total_lines_fmt “ of %u” Displayed string
preview_separator '\xC4' Character for Preview Pane separator
preview_properties date,attributes,subject Properties to display in the Preview Pane separator
preview_properties_fmt “\xd9 %s \xc0” Displayed string format
preview_properties_maxlen 10 Maximum length of a previewed property value
preview_properties_separator “, ” Separator to use between previewed property values
hide_redundant_properties true Repeated property columns are automatically hidden
date_fmt %Y-%m-%d Format of dates displayed in list
date_time_fmt system default Format of date/time displayed in list
pause true Pause for a key-press after posting a message, or set to a duration (in seconds), or false
beep true Console alerts/beeps are enabled
view_lines_fmt “%slines %u-%u” Displayed string
view_total_lines_fmt “ of %u” Displayed string
view_line_range_fmt “\x01n\x01h\x01k[%s]” Displayed string
preparing_preview_fmt “%25s” Displayed string
reading_message_text “\x01[Reading message text ...” Displayed string
preparing_hex_dump “\x01[Preparing hex-dump ...” Displayed string
translating_charset “\x01[Translating charset ...” Displayed string
wrapping_lines “\x01[Wrapping lines ...” Displayed string
splitting_lines “\x01[Splitting lines ...” Displayed string
area_name_fmt “\x01n\x01k\x017%s / %s\x01h” Displayed string
area_nums_fmt “[message %u of %u]” Displayed string
attr_spam “Sp” Displayed string
attr_attach “Att” Displayed string
attr_delete “Del” Displayed string
attr_new “New” Displayed string
attr_replied “Re” Displayed string
attr_read “Rd” Displayed string
attr_perm “Perm” Displayed string
attr_anon “Anon” Displayed string
attr_locked “Lck” Displayed string
attr_kill “Kill” Displayed string
attr_noreply “NoRe” Displayed string
attr_mod “Mod” Displayed string
attr_valid “Valid” Displayed string
attr_private “Priv” Displayed string
attr_poll “Poll” Displayed string
attr_sent “Sent” Displayed string
attr_intransit “InTransit” Displayed string
attr_sep “ ” Displayed string

See Also