Table of Contents
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 Git
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:
╔════════════════════════════════════════════════════════════════════╗ ║ Deuce's FSEditor Editor ║ ╠════════════════════════════════════════════════════════════════════╣ ║ │Name Deuce's FSEditor ║ ║ │Internal Code FSEDITOR ║ ║ │Command Line ?fseditor %f ║ ║ │Access Requirements ANSI ║ ║ │I/O Method Socket ║ ║ │Native Executable/Script Yes ║ ║ │Use Shell or New Context No ║ ║ │Record Terminal Width Yes ║ ║ │Word-wrap Quoted Text Yes, for terminal width ║ ║ │Automatically Quoted Text None ║ ║ │Editor Information Files WWIV EDITOR.INF/RESULT.ED ║ ║ │Expand Line Feeds to CRLF Yes ║ ║ │Handle Soft CRs N/A ║ ║ │Strip FidoNet Kludges No ║ ║ │Support UTF-8 Encoding Yes ║ ║ │BBS Drop File Type None ║ ╚════════════════════════════════════════════════════════════════════╝
Command Line
The first argument to fseditor.js must be the path/name of the file to edit (specified as %f
in SCFG).
Optionally, -utf8
may be passed as a secondary argument to enable UTF-8 message support.
modopts.ini
The ctrl/modopts.ini
file may contain an [fseditor]
section with the following keys:
Key | Default | Description |
---|---|---|
utf8_support | false | Enable UTF-8 message support (experimental at this time) |
default_tabstop | 8 | Specify the default interval of tab-stops (can be overridden and saved per-user) |
soft_cr | false | Soft carriage-returns are included in saved files |
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:
- “Keepers” ones that I like and would need a very good reason to change.
- “Lukewarm” ones I understand but don't particularily like very much.
- “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.