This is an old revision of the document!
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: 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, for terminal width ║ ║ │Automatically Quoted Text All ║ ║ │Editor Information Files WWIV EDITOR.INF/RESULT.ED ║ ║ │Expand Line Feeds to CRLF Yes ║ ║ │Handle Soft Carriage Returns Retain ║ ║ │Strip FidoNet Kludge Lines No ║ ║ │Support UTF-8 Encoding No ║ ║ │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.