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

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


Full Screen Editor

fseditor.js is a Full Screen Editor (FSE) written by Deuce in JavaScript1) for the Synchronet Terminal Server.

Download

The newest version of fseditor can always be download from: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/exec/fseditor.js

Install

fseditor.js is normally installed into the Synchronet exec directory.

Configure

To add fseditor.js to your FSE list, use the following settings in SCFG->External Programs->External Editors:

╔════════════════════════════════════════════════════════════════════╗
║                         FSEditor.js Editor                         ║
╠════════════════════════════════════════════════════════════════════╣
║ │Name                            FSEditor.js                       ║
║ │Internal Code                   FSEDITOR                          ║
║ │Command Line                    ?fseditor %f                      ║
║ │Access Requirements             ANSI                              ║
║ │Intercept I/O                   No                                ║
║ │Native Executable               No                                ║
║ │Use Shell to Execute            No                                ║
║ │Record Terminal Width           Yes                               ║
║ │Word-wrap Quoted Text           Yes                               ║
║ │Automatically Quoted Text       All                               ║
║ │Editor Information Files        WWIV EDITOR.INF/RESULT.ED         ║
║ │Expand Line Feeds to CRLF       No                                ║
║ │Strip FidoNet Kludge Lines      No                                ║
║ │BBS Drop File Type              None                              ║
╚════════════════════════════════════════════════════════════════════╝

Note: as of v1.75, FSeditor saves auto-wrapped lines with a so-called “soft linebreak”, identified with a sole line-feed (ASCII 0x0A) character in the file (contrasted with “hard linebreak” identified by a CRLF pair).

If posting on FidoNet networks, you may want to set Expand Line Feeds to CRLF to Yes so that the soft linebreaks are actually stored as hard linebreaks (CRLF) in the Sychronet message base and FidoNet nodes which do not auto-wrap long lines can view your message as you intended when exported via SBBSecho.

Key Bindings

The key bindings for using fseditor.js are:

Edit Mode

In edit mode, the following CTRL keys function:

CTRL-Key Action
@ Colour/Attribute (Same as CTRL-A)
A Colour/Attribute
B Home cursor (Beginning of line)
C Center line in message
E End of line
F Right one character
G Enter Graphic Char
H Backspace
I Tab
J Down one line
K List keybindings
L Insert line
M Carriage Return
N Page Down
P Page Up
Q Quick abort
R Redraw screen
S Edit Subject
T Change Tab Size
U Quote
V Toggle insert mode
W Delete word backwards
Y Delete Line
Z Save and exit
\ Edit Subject (Same as Xon CTRL-S)
] Move left
^ Move up
_ Quick abort (Same as Xoff CTRL-Q)

Quote Mode

Key Action
CTRL-B Home (Top of document)
CTRL-E End of document
CTRL-J Down one line
CTRL-K List keybindings
CTRL-N Page Down
CTRL-P Page Up
CTRL-Q Quick abort... FLOW CONTROL CHAR!!!
CTRL-R Redraw screen
CTRL-^ Up one line
CTRL-_ Quick abort (Same as CTRL-Q)
SPACE Toggle sepection of current line
ENTER Pastes selected lines into message
A Select All
B Enter block mode
N Unselect all (“Select None”)

A few notes on keybindings

I am not completely opposed to changing some keybindings. However, the current ones fall into three catagories:

  1. “Keepers” ones that I like and would need a very good reason to change.
  2. “Lukewarm” ones I understand but don't particularily like very much.
  3. “Changers” ones I would change in a heartbeat if I had an alternative.

The breakdown is as follows:

  • Keepers: ABCEFGHIJLMRWZ
  • Lukewarm: KSTVY\]
  • Changers: @NPQU_

The following CTRL keys are currently unused: DOX[

CTRL-Q and CTRL-S I do *not* want to use without alternates as they are the Xon/Xoff chars used in flow control and are sometimes impossible to send from a terminal.

I am open to suggestions.

See Also

1)
the first of its kind