Table of Contents
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.
Dependencies
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:
Install
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.
Menu Command
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 msg_list end_cmd
for Synchronet v3.17 or older:
cmdkey L exec_bin "msglist" end_cmd
... 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.
Configure
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 |
modopts.ini
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 |