Synchronet External Program Menu GUI Mod
========================================

Files included
--------------

xtrnmenu.js
    Replacement/custom external program menu module.

xtrnmenucfg.js
    UIFC-style configuration program for xtrnmenu.js.

Purpose
-------

This mod provides an alternate external program menu for Synchronet systems.

Features include:

- cleaner external program menu display
- configurable title and footer text
- configurable one-column/two-column layout behavior
- scrolling support
- name-based color selector for Synchronet Ctrl-A color codes
- automatic creation of a JSON configuration file when saved

Installation
------------

Copy these files to your Synchronet mods directory:

    xtrnmenu.js
    xtrnmenucfg.js

Typical Windows path:

    C:\sbbs\mods\xtrnmenu.js
    C:\sbbs\mods\xtrnmenucfg.js

Typical Linux path:

    /sbbs/mods/xtrnmenu.js
    /sbbs/mods/xtrnmenucfg.js

Configuration
-------------

Run the configurator from the Synchronet exec directory.

Windows:

    cd \sbbs\exec
    jsexec.exe ..\mods\xtrnmenucfg.js

Linux:

    cd /sbbs/exec
    ./jsexec ../mods/xtrnmenucfg.js

or:

    jsexec ../mods/xtrnmenucfg.js

The configurator creates the config file automatically when you save.

The config file is:

    ctrl/xtrnmenu.json

Do not manually create this file unless you want to hand-edit the JSON.

Running the menu
----------------

Run the menu module from Synchronet as a loadable module.

Typical command:

    ?../mods/xtrnmenu

Depending on your Synchronet setup, you may also be able to call it as:

    ?xtrnmenu

If you already have an official Synchronet xtrnmenu.js in exec, calling the mods version explicitly is recommended:

    ?../mods/xtrnmenu

Notes
-----

This is a third-party/custom version of the Synchronet external program menu.

It is not intended to overwrite the official Synchronet repository version unless the sysop specifically wants to do that.

The mod uses Synchronet JavaScript objects and must be run under Synchronet's JavaScript runtime. It is not a Node.js script.

Tested paths
------------

Windows:

    C:\sbbs\mods
    C:\sbbs\ctrl

Linux equivalent:

    /sbbs/mods
    /sbbs/ctrl

Credits
-------

Original xtrnmenu concept and configurator:
    Michael Long
    innerrealmbbs.us

Updated/custom GUI menu work:
    Richard Vonzel