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
howto:editor:slyedit [2019/04/18 19:20] – Updated for SlyEdit v1.63, with support for wide terminal message input Nightfoxhowto:editor:slyedit [2026/03/05 15:12] (current) – SlyEdit 2.00: Having just one SlyEdit entry nightfox
Line 1: Line 1:
-====== SlyEdit ====== +====== SlyEdit installation ====== 
-SlyEdit version 1.63 (released on 2019-04-18) is the second full-featured full screen editor for Synchronet, written by ''[[person:nightfox]]'' in JavaScript.  SlyEdit can run in one of two styles, to mimic the look & feel of IceEdit or DCT Edit, two popular BBS message editors from the 1990s.  The style is specified by a command-line argument.  SlyEdit also supports customization of options via a configuration file and colors via theme files.\\+SlyEdit is the second full-featured full screen editor for Synchronet, written by ''[[person:nightfox]]'' in JavaScript.  SlyEdit can run in one of two styles, to mimic the look & feel of IceEdit or DCT Edit, two popular BBS message editors from the 1990s.  The style is specified by a command-line argument.  SlyEdit also supports customization of options via a configuration file and colors via theme files.\\
 \\ \\
-SlyEdit will recognize the user's terminal size and set up the screen accordingly.  The width of the edit area will always be 80 characters and support up to 79 characters of text; however, an increased terminal size will provide more room for information to be displayed such as the message area, from/to names, etc.  Also, a terminal height greater than the standard 24 or 25 characters will provide a taller edit area, allowing more of the message to be seen on the screen at a time.\\+The ''[[module:slyedit]]'' module page describes SlyEdit's features and configuration files in more detail. This page discusses SlyEdit's setup with Synchronet. 
 +\\ 
 +SlyEdit will recognize the user's terminal size and set up the screen accordingly.\\
 \\ \\
 Thanks go out to all the sysops and users who have reported bugs, made suggestions, and helped test SlyEdit, including the following people: Thanks go out to all the sysops and users who have reported bugs, made suggestions, and helped test SlyEdit, including the following people:
Line 18: Line 20:
  
 ===== Getting SlyEdit ===== ===== Getting SlyEdit =====
-As of Synchronet 3.16, SlyEdit is included with Synchronet.  The latest version of SlyEdit can also be acquired by browsing to the ''[[dev:CVS]]'' and download the SlyEdit .js files from the ''[[dir:exec]]'' directory and the SlyEdit .cfg and SlyEdit_Taglines.txt files from the ''[[dir:ctrl]]'' directory.  Place the files in the respective directories in your Synchronet directory tree.+As of Synchronet 3.16, SlyEdit is included with Synchronet.  The latest version of SlyEdit can also be acquired by browsing to the Synchronet ''[[dev:git]]'' repository and downloading the following files, and copying them to the corresponding directories in your Synchronet setup: 
 +  * [[https://gitlab.synchro.net/main/sbbs/-/tree/master/exec|exec directory]] directory: [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/SlyEdit.js?ref_type=heads|SlyEdit.js]] 
 +  * [[https://gitlab.synchro.net/main/sbbs/-/tree/master/exec/load|load directory]] directory: [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/load/slyedit_misc.js|slyedit_misc.js]], [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/load/slyedit_ice_stuff.js|slyedit_ice_stuff.js]], and [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/load/slyedit_dct_stuff.js|slyedit_dct_stuff.js]] 
 +  * [[https://gitlab.synchro.net/main/sbbs/-/tree/master/ctrl|ctrl]] directory: All of the Sly_* files 
 + 
 +Additionally, there is a [[https://gitlab.synchro.net/main/sbbs/-/blob/master/docs/slyedit_readme.txt?ref_type=heads|SlyEdit readme file]] in the [[https://gitlab.synchro.net/main/sbbs/-/tree/master/docs|docs directory]]; however, that contains much of the same information that's available on the wiki.
  
 ===== Installation ===== ===== Installation =====
-Copy the .js files to the ''[[dir:exec]]'' directory and the .cfg files into the ''[[dir:ctrl]]'' directory.  If you make any changes to the SlyEdit configuration file (SlyEdit.cfg) or color theme files, it is recommended that you save your modified configuration/theme files to the ''[[dir:mods]]'' directory so that any modifications you make to them won't be accidentally overwritten when updating the Synchronet files from the Synchronet ''[[dev:CVS]]'' repository.+Copy the .js files to the ''[[dir:exec]]'' directory and the .cfg files into the ''[[dir:ctrl]]'' directory.  If you make any changes to the SlyEdit configuration file (SlyEdit.cfg) or color theme files, it is recommended that you save your modified configuration/theme files to the ''[[dir:mods]]'' directory so that any modifications you make to them won't be accidentally overwritten when updating the Synchronet files from the Synchronet ''[[dev:git]]'' repository.
  
 ===== Configuration with Synchronet ===== ===== Configuration with Synchronet =====
-Make sure any or all of these configurations (as desired) are in [[util:SCFG]]->External Programs->External Editors.+Make sure this configuration is in [[util:SCFG]]->External Programs->External Editors.  Note that the ARS requirements string is "ANSI AND COLS 80" This means that the user's terminal must support ANSI and have a width of at least 80  columns.
  
-For IceEdit style:\\ +  Name                            SlyEdit 
 +  Internal Code                   SLYEDIT 
 +  Command line                    ?SlyEdit.js %f 
 +  Access requirements             ANSI AND COLS 80 
 +  Native Executable               No 
 +  I/O method                      FOSSIL or UART 
 +  Use Shell or New Context        No 
 +  Record Terminal Width           Yes 
 +  Word-wrap Quoted Text           Yes, for 79 columns 
 +  Retain Ctrl-A Codes in Quotes   Yes 
 +  Automatically Quoted Text       All 
 +  Editor Information Files        QuickBBS MSGINF/MSGTMP 
 +  Handle Soft CRs                 N/A 
 +  Strip FidoNet Kludges           No 
 +  Support UTF-8 Encoding          Yes 
 +  BBS Drop File Type              None                          
  
-  Name                            SlyEdit (Ice Style) +The first time a user runs SlyEdit, they will be prompted about which style they want to use (Ice, DCT, or random).                       
-  Internal Code                   SLYICE                             +
-  Command Line                    ?slyedit %f ICE                    +
-  Access Requirements             ANSI                               +
-  Intercept I/O                   No                                 +
-  Native Executable               No                                 +
-  Use Shell to Execute            No                                 +
-  Record Terminal Width           Yes                                +
-  Word Wrap Quoted Text           Yesfor terminal width            +
-  Automatically Quoted Text       All                                +
-  Editor Information Files        QuickBBS MSGINF/MSGTMP             +
-  Expand Line Feeds to CRLF       Yes                                 +
-  Strip FidoNet Kludge Lines      No                                 +
-  BBS Drop File Type              None                               +
- +
-For DCT Edit style:\\  +
- +
-  Name                            SlyEdit (DCT Style) +
-  Internal Code                   SLYDCT                             +
-  Command Line                    ?slyedit %f DCT                    +
-  Access Requirements             ANSI                               +
-  Intercept I/O                   No                                 +
-  Native Executable               No                                 +
-  Use Shell to Execute            No                                 +
-  Record Terminal Width           Yes                                +
-  Word Wrap Quoted Text           Yesfor terminal width            +
-  Automatically Quoted Text       All                                +
-  Editor Information Files        QuickBBS MSGINF/MSGTMP             +
-  Expand Line Feeds to CRLF       Yes                                 +
-  Strip FidoNet Kludge Lines      No                                 +
-  BBS Drop File Type              None                               +
- +
-To have SlyEdit choose either IceEdit or DCT Edit style randomly:\\  +
- +
-  Name                            SlyEdit (Random Style) +
-  Internal Code                   SLYRAND                             +
-  Command Line                    ?slyedit %f RANDOM                    +
-  Access Requirements             ANSI                               +
-  Intercept I/O                   No                                 +
-  Native Executable               No                                 +
-  Use Shell to Execute            No                                 +
-  Record Terminal Width           Yes                                +
-  Word Wrap Quoted Text           Yes, for terminal width            +
-  Automatically Quoted Text       All                                +
-  Editor Information Files        QuickBBS MSGINF/MSGTMP             +
-  Expand Line Feeds to CRLF       Yes                                 +
-  Strip FidoNet Kludge Lines      No                                 +
-  BBS Drop File Type              None                              +
  
 ===== SlyEdit configuration files ===== ===== SlyEdit configuration files =====
Line 85: Line 60:
 \\ \\
  
-Upgrading to version 1.63+New in version 2.00 
 +------------------- 
 +SlyEdit 2.00 has a new user setting (in the user settings menu, opened with Ctrl-U), to specify which UI style to use (Ice/DCT/Random), and if the user hasn't chosen, SlyEdit will ask the user when SlyEdit starts. That way, there only needs to be one SlyEdit entry in the external editors. 
 + 
 +SlyEdit will still work as configured previously in Synchronet, but you may wish to edit their external editors in Synchronet  to have only one SlyEdit entry (and it can be just called "SlyEdit"). 
 + 
 +For the SlyEdit entry that is deleted, users who were using that style of SlyEdit may find that their editor has been defaulted to another editor, so they may need to change their preferred editor to SlyEdit again. 
 + 
 +When removing the 2nd SlyEdit entry from your external editor configuration, you may want to change the internal code for your remaining SlyEdit entry to match (i.e., "SLYEDIT"). 
 + 
 +NOTE: Before changing your Synchronet editor configuration to only have one SlyEdit, download the following JS script and run it (either on your BBS PC using jsexec or on the terminal); It will list users who currently appear to be using SlyEdit.  Note them down: 
 + 
 +[[http://digdist.synchro.net/usersUsingSlyedit.js]] 
 + 
 +After changing your Synchronet external editor configuration to just have one SlyEdit (and changing its internal code), you should go through and check the users listed by that script to ensure they have SlyEdit selected as their external editor. 
 + 
 +New in version 1.90 
 +------------------- 
 +For adding a 'meme' to a message, new configuration settings have been added in SlyEdit.cfg: 
 +^Setting                              ^ Description^ 
 +| memeMaxTextLen | For appending a 'meme' to a message, this specifies the maximum text length for a meme. | 
 +| memeDefaultWidth | The default width for memes | 
 +| memeStyleRandom | For appending a meme to a message, whether or not to choose a random style (border style & color) for the meme. The user will still be able to change it. Valid values are true and false. If this is true, the border & color settings will be ignored. | 
 +| memeDefaultBorder | Default border for posting a meme. This can be one none, single, mixed1, mixed2, mixed3, double, ornate1, ornate2, or ornate3. This can also be a number between 1 and the maximum number of meme border styles. You can refer to sbbs/exec/load/meme_lib.js - Near the top, there are definitions such as BORDER_NONE, BORDER_SINGLE, etc., up to BORDER_COUNT (which is the number of border styles supported). | 
 +| memeDefaultColor | For appending a meme to a message, this is a number that specifies the coloring for the meme. This can be between 1 and the maximum number of coloring options supported by sbbs/exec/load/meme_chooser.js. You can refer to sbbs/exec/load/meme_chooser.js. At the time of this writing, under "function main" in that file, there is an array of attribute codes, declared via "var attr", and there are are 7 of them as of now. | 
 +| memeJustify | For appending a meme to a message, this specifies the text justification. Valid values are center, left, and right. | 
 + 
 +New in version 1.80 
 +------------------- 
 +New configuration settings have been added in SlyEdit.cfg: 
 +^Setting                              ^ Description^ 
 +| allowColorSelection             | Whether or not to let the user change the text color | 
 +| saveColorsAsANSI                | Whether or not to save message color/attribute codes as ANSI (if not, they will be saved as Synchronet attribute codes) | 
 + 
 +The TextEditColor setting has been removed from the color theme configuration files. 
 + 
 +New in version 1.71 
 +------------------- 
 +There is a new setting in SlyEdit.cfg, allowSpellCheck, which specifies whether the spell check feature is allowed.  Valid values are true and false; it defaults to true if not specified.  You might want to disable spell check if, for instance, the spell check feature causes an "out of memory" error on your system. 
 + 
 +New in version 1.68 
 +------------------- 
 +Each paragraph of text written in a message is now saved as one long line so that they can be wrapped appropriately according to the terminal/reader width (which should work online as well as in offline readers).  Also, message uploads are now supported by typing /UPLOAD (or /UL) on a line by itself (the uploaded message will replace any message written into the editor).  Also, now honors the SUB_ANON and SUB_AONLY flags for the sub-boards when cross-posting so that the "from" name is "Anonymous" if either of those flags enabled. 
 + 
 +New in version 1.67 
 +-------------------- 
 +Version 1.67 added the ability to change the message subject.  Note that if using a Synchronet 3.17c development build, this requires a build from July 21, 2019 or newer (that build added the ability to use the RESULT.ED file, even if the editor is configured for QuickBBS MSGINF/MSGTMP). 
 + 
 +1.66 update 
 +----------------- 
 +For dictionaries with localized spellings, the filenames can have a "-supplemental" at the 
 +end of their name before the extension if they only contain words that are unique to a 
 +particular region that don't exist for all regions.  Also, dictionary filenames can just 
 +contain the language without a localization if they contain words common to all regions. 
 +For example: 
 +^ Filename                          ^ Description ^ 
 +| dictionary_en.txt                 | General English dictionary with spellings common to all regions | 
 +| dictionary_en-US-supplemental.txt | English word spellings only specific to the US | 
 +| dictionary_en-US.txt              | Full English US dictionary | 
 + 
 +New in 1.64 
 +----------------- 
 +Version 1.64 added a spell checker feature.  There is a new option for SlyEdit.cfg, 
 +dictionaryFilenames, which is a comma-separated list of filenames.  The filenames 
 +are in the format dictionary_<language>.txt, where <language> is the language name. 
 +For dictionaryFilenames, you can also just specify the language names if you want. 
 +The dictionary filenames will be looked for in sbbs/mods, sbbs/ctrl, and then the 
 +directory where SlyEdit.js is located. 
 + 
 +New in version 1.63
 ------------------------- -------------------------
 This version allows using the full width of the terminal for message text. This version allows using the full width of the terminal for message text.
Line 94: Line 138:
 the reader. the reader.
  
-Upgrading to version 1.34+New in version 1.34
 ------------------------- -------------------------
 This version includes a new configuration option in SlyEdit.cfg for Ice-style colors (in the [ICE_COLORS] section): menuOptClassicColors.  If this option is set to false, then new colors will be used for Ice-style menu options.  If this is set to false, then the classic Ice-style menu option colors will be used. This version includes a new configuration option in SlyEdit.cfg for Ice-style colors (in the [ICE_COLORS] section): menuOptClassicColors.  If this option is set to false, then new colors will be used for Ice-style menu options.  If this is set to false, then the classic Ice-style menu option colors will be used.
  
-Upgrading to version 1.33+New in version 1.33
 ------------------------- -------------------------
 In this version, taglines can now be optionally prefixed with some text and/or surrounded by double quotes.  Also, the list of taglines can optionally be shuffled before being displayed to the user.  Three new configuration settings have been added in this version to configure these options: In this version, taglines can now be optionally prefixed with some text and/or surrounded by double quotes.  Also, the list of taglines can optionally be shuffled before being displayed to the user.  Three new configuration settings have been added in this version to configure these options:
Line 106: Line 150:
 | shuffleTaglines                 | Whether or not to shuffle (randomize) the list of taglines displayed to the user for selection. | | shuffleTaglines                 | Whether or not to shuffle (randomize) the list of taglines displayed to the user for selection. |
  
-Upgrading to version 1.32+New in version 1.32
 ------------------------- -------------------------
 A new color setting has been added, listBoxItemHighlight, which is used for the currently selected item in a list box. A new color setting has been added, listBoxItemHighlight, which is used for the currently selected item in a list box.
Line 125: Line 169:
  
 \\ \\
-Upgrading to version 1.29+New in version 1.29
 ------------------------- -------------------------
 A new "text replacements" (AKA macros) feature has been added.  This feature lets you (the sysop) define words to be replaced with other text.  This feature can be used, for instance, to replace commonly misspelled words with their correct versions or to replace swear words with less offensive words as the user types a message.  For more details, see the section regarding text replacements in SlyEdit's readme file. A new "text replacements" (AKA macros) feature has been added.  This feature lets you (the sysop) define words to be replaced with other text.  This feature can be used, for instance, to replace commonly misspelled words with their correct versions or to replace swear words with less offensive words as the user types a message.  For more details, see the section regarding text replacements in SlyEdit's readme file.
Line 137: Line 181:
  
 \\ \\
-Upgrading to version 1.28+New in version 1.28
 ------------------------- -------------------------
 New general color settings (for both the DCT-style and Ice-style theme files): New general color settings (for both the DCT-style and Ice-style theme files):
Line 151: Line 195:
  
 \\ \\
-Upgrading to version 1.20+New in version 1.20
 ------------------------- -------------------------
-Version 1.20 added a cross-posting feature, and there is a new configuration setting and some new color settings for cross-posting.  Also, starting with version 1.20, you can put your customized SlyEdit configuration file (SlyEdit.cfg) and color theme files in the ''[[dir:mods]]'' directory so that they won't be accidentally overwritten when updating the Synchronet files from the Synchronet ''[[dev:CVS]]'' repository.+Version 1.20 added a cross-posting feature, and there is a new configuration setting and some new color settings for cross-posting.  Also, starting with version 1.20, you can put your customized SlyEdit configuration file (SlyEdit.cfg) and color theme files in the ''[[dir:mods]]'' directory so that they won't be accidentally overwritten when updating the Synchronet files from the Synchronet ''[[dev:git]]'' repository.
  
 New setting for SlyEdit.cfg: New setting for SlyEdit.cfg:
Line 173: Line 217:
  
 \\ \\
-Upgrading to version 1.18+New in version 1.18
 ------------------------- -------------------------
 * **Important:** If you use Digital Distortion's Message Lister on your BBS, then you must update Digital Distortion's Message Lister must to at least version 1.36 in order for message quoting with author's initials to work properly when replying to a message from Digital Distortion's Message Lister.  The latest version of the Digital Distortion BBS doors & add-ons can be downloaded from the [[http://digdist.synchro.net/DigDistBBSStuff/DigDistBBSStuff.html|Digital Distortion BBS Doors and Tools page]]. * **Important:** If you use Digital Distortion's Message Lister on your BBS, then you must update Digital Distortion's Message Lister must to at least version 1.36 in order for message quoting with author's initials to work properly when replying to a message from Digital Distortion's Message Lister.  The latest version of the Digital Distortion BBS doors & add-ons can be downloaded from the [[http://digdist.synchro.net/DigDistBBSStuff/DigDistBBSStuff.html|Digital Distortion BBS Doors and Tools page]].
Line 182: Line 226:
  
 \\ \\
-Upgrading to version 1.17+New in version 1.17
 ------------------------- -------------------------
 Starting with version 1.17, when replying to a message, quoted lines from the previous message will be prefixed with the last author's initials by default.  If desired, this behavior can be disabled by adding the following line in the [BEHAVIOR] section of SlyEdit.cfg: Starting with version 1.17, when replying to a message, quoted lines from the previous message will be prefixed with the last author's initials by default.  If desired, this behavior can be disabled by adding the following line in the [BEHAVIOR] section of SlyEdit.cfg:
Line 190: Line 234:
  
 \\ \\
-Upgrading to version 1.16+New in version 1.16
 ------------------------- -------------------------
-As of version 1.16, the configuration files may be placed in the ''[[dir:ctrl]]'' directory if desired.  This change was made for SlyEdit's inclusion in the Synchronet ''[[dev:CVS]]'' repository.  The .js files can be placed anywhere, but for the standard Synchronet installation from the ''[[dev:CVS]]'' repository, the .js files will be in the ''[[dir:exec]]'' directory.+As of version 1.16, the configuration files may be placed in the ''[[dir:ctrl]]'' directory if desired.  This change was made for SlyEdit's inclusion in the Synchronet ''[[dev:git]]'' repository.  The .js files can be placed anywhere, but for the standard Synchronet installation from the ''[[dev:git]]'' repository, the .js files will be in the ''[[dir:exec]]'' directory.
  
 \\ \\
-Upgrading to version 1.15+New in version 1.15
 ------------------------- -------------------------
 In version 1.15, the configuration setting splitLongQuoteLines was removed and replaced with the reWrapQuoteLines setting.  Refer to the list of settings above for its description. In version 1.15, the configuration setting splitLongQuoteLines was removed and replaced with the reWrapQuoteLines setting.  Refer to the list of settings above for its description.
Line 206: Line 250:
  
 \\ \\
-Upgrading to version 1.08+New in version 1.08
 ------------------------- -------------------------
 Starting with version 1.08, the "Expand Line Feeds to CRLF" for SlyEdit in SCFG should now be set to Yes.  This option enables Synchronet to save messages properly, regardless of whether Synchronet is running in Windows or a *nix system.  The SCFG examples above reflect this option.  Enabling this option fixes problems with line wrapping that was seen on Linux Synchronet systems when the messages were sent across some networks to other BBSs.  Thanks goes to Access Denied, sysop of The Pharcyde, for helping to test this. Starting with version 1.08, the "Expand Line Feeds to CRLF" for SlyEdit in SCFG should now be set to Yes.  This option enables Synchronet to save messages properly, regardless of whether Synchronet is running in Windows or a *nix system.  The SCFG examples above reflect this option.  Enabling this option fixes problems with line wrapping that was seen on Linux Synchronet systems when the messages were sent across some networks to other BBSs.  Thanks goes to Access Denied, sysop of The Pharcyde, for helping to test this.
Line 219: Line 263:
 \\ \\
  
-Upgrading to version 1.07+New in version 1.07
 ------------------------- -------------------------
 Starting with version 1.07, the option "Expand Line Feeds to CRLF" in SCFG should now be set to Yes.  Refer to the example configuration near the top of this article. Starting with version 1.07, the option "Expand Line Feeds to CRLF" in SCFG should now be set to Yes.  Refer to the example configuration near the top of this article.