====== 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. {{:module:msglist_screenshot.png?600|}} This module was first demonstrated in this [[https://www.youtube.com/watch?v=5mwimlWJOko|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/[[dir:load]]'' directory to get the latest ''.js'' load-libraries, including the newly added ''age.js''. The following menu files are used by this module: * ''[[dir:text]]/menu/msglist.asc'' * ''[[dir:text]]/menu/msgview.asc'' ===== Install ===== ==== System Modules ==== Run ''[[util:jsexec]] msglist.js -install''. This procedure this will configure the "Read Mail" and "List Msgs" modules in [[util: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 [[util: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 ''[[config: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 ''[[config:modopts.ini]]'' file may be created by the sysop to customize the look-and-feel of this module. If a ''[msglist:]'' 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 ===== * [[:module:|module index]] {{tag>messages}}