
Welcome to SnapShot, a Sixel viewer mod for Synchronet BBS.

*** Please read the complete documentation before doing anything.
    You've been warned.

*** Big Note *** These instruction assume you are a Synchronet
                 Sysop, and you are accustomed to working with
                 js files, and making mods to your system. Use
                 this program at your own risk. If you follow
                 my instructions, you should be ok. 

*** Important *** Back up any file you modify or change, so you
                  will have something to restore if you make a 
                  mistake. 

I've included all the files you will need to put this in 
place and test it, then make it your own. As it is set
now, it will show 20 sixels selected by the user. 

This program will only show Sixel's to users that have
terminals that will show Sixel's. As far as I know, only
SyncTERM version 1.0 and up will do this. No worries, I
included some code that will test the terminal to see
if it's Sixel compatable, and if it's not, it exits
gracefully with a simple non compatability message and
suggests what terminal the user will need to view Sixel's.

You will need to convert any JPG/PNG file you want to use to
Sixel format. This can be done online using a varity of 
online converters that are FREE. Just do a search for:

      JPG to Sixel      or      PNG to Sixel

I suggest your JPG/PNG files be no bigger than 640x300, as they
work the best. Of course they can be smaller, but I don't suggest
going any bigger/larger with this mod.

Another suggestion is to reduce the depth of the JPG/PNG file
before converting so the actual file size is smaller, and it 
will display faster.

Files included in snapshot.zip
------------------------------

     snapshot.txt - This file you are reading now.
     snapshot.js  - Fully commented js file you will edit with your
                    picture file names and descriptions.
     sixel.js     - js file courtesy of eChicken that makes this mod
                    possable. DO NOT EDIT 
     snapshot.msg - Menu file in Synchronet Ctrl-A format you will 
                    have to edit to make this your own. You can also
                    use ans/asc if you would like. I imagine it will
                    also work with rip  
     construction.six - Simple .six file I included to test the mod. All
                        it is, is a under construction.six for you
                        test your setup, or to use if you don't have
                        enough pics to fill up the menu.

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

1 - Make a directory under your text directory called sixel
     \sbbs\text\sixel
    and that will hold all of your sixel files. Put the file
    construction.six included in the zip in this directory.
    Also, any files you get converted online will have a 
    .sixel extension. Change the extension to .six and place
    your converted files in the directory you just made.

2 - Place the snapshot.js and sixel.js files in your MODS
    directory \sbbs\mods.

3 - Place the snapshot.msg or an snapshot.ANS/ASC file in 
    the \sbbs\text\menu directory.

4 - give the program a test. From your main menu prompt type ;EXEC
    and hit enter. put in your sysop password when it comes up with
    the command SYS: and hit enter.
    Now use the command ?snapshot.js and hit enter. If everything
    was installed the way I said, you should see a snapshot menu.
    Type any letter on the menu, and you will see the sixel
    construction.six show up. If it shows up, you have success.

5 - If step 4 worked, you are ready to convert some JPG/PNG files,
    edit the snapshot.js file to suit your needs. The js file is
    fully commented out, so it should be very easy to follow. Now 
    all thats left to do is edit or make your menu. be sure to
    call it snapshot.msg or snapshot.ans/asc

6 - After you add all the files, and edit your snapshot.js file, and
    make or edit your snapshot menu, you are ready to test it again
    as in step 4 above.

7 - the second test worked, and you are happy with your results, it's
    time to release this thing on your users. You can add it to your
    main Synchronet menu, or make and external entry in your 
    synchronet externals, or have it as a logon event, or a 
    combination.

    If yo want it to be a part of you main menu, you will have to 
    add a command to your default.src, then re compile using baja.
    Make sure you add this to the main menu section.

	cmdkey @
                EXEC "?snapshot.js"
		end_cmd
  
    This will exicute the snapshot module directly from your main
    menu. I used the @ for my command key, but you can use anything
    that isn't being used by another command. 

    If you want to add it as a external door only, you can add it
    to your externals in whatever section you wish. Below is an
    example of a external setup.

╔[■][?]════════════════════════════════════════════════════╗
║                        Snap Shots                        ║
╠══════════════════════════════════════════════════════════╣
║ │Name                       Snap Shots                   ║
║ │Internal Code              SNAPSHOT                     ║
║ │Start-up Directory                                      ║
║ │Command Line               ?snapshot.js                 ║
║ │Clean-up Command Line                                   ║
║ │Execution Cost             None                         ║
║ │Access Requirements        PROT NOT HTTP                ║
║ │Execution Requirements                                  ║
║ │Multiple Concurrent Users  Yes                          ║
║ │I/O Method                 FOSSIL or UART               ║
║ │Native Executable/Script   No                           ║
║ │Use Shell or New Context   No                           ║
║ │Modify User Data           No                           ║
║ │Execute on Event           No                           ║
║ │Pause After Execution      No                           ║
║ │BBS Drop File Type         None                         ║
║│Place Drop File In         Node Directory                ║
╚══════════════════════════════════════════════════════════╝

    If you want to do both, have it on your main menu, and allow
    users to be able to use it as a external, add the below
    command to the default.scr instaead of the one I mentioned
    above. Be sure to recompile your default.src using Baja.

cmdkey @
        EXEC_XTRN "SNAPSHOT"
        end_cmd		

If you want to use it as a logon event, which is not suggested. Add
it to your externals as below, but make it for a logon event only.


╔[■][?]════════════════════════════════════════════════════╗
║                        Snap Shots                        ║
╠══════════════════════════════════════════════════════════╣
║ │Name                       Snap Shots                   ║ 
║ │Internal Code              SNAPSHOT                     ║ 
║ │Start-up Directory                                      ║ 
║ │Command Line               ?snapshot.js                 ║ 
║ │Clean-up Command Line                                   ║ 
║ │Execution Cost             None                         ║ 
║ │Access Requirements        PROT NOT HTTP                ║ 
║ │Execution Requirements                                  ║ 
║ │Multiple Concurrent Users  Yes                          ║ 
║ │I/O Method                 FOSSIL or UART               ║ 
║ │Native Executable/Script   No                           ║ 
║ │Use Shell or New Context   No                           ║ 
║ │Modify User Data           No                           ║ 
║ │Execute on Event           Logon                        ║ 
║ │Pause After Execution      No                           ║ 
║ │BBS Drop File Type         None                         ║ 
║│Place Drop File In         Node Directory                ║ 
╚══════════════════════════════════════════════════════════╝

Be sure to make access requirments PROT NOT HTTP if you have
a website, as the ftelnet window will not be able to show
Sixel immages.

I'm not good at making documention files, so excuse the spelling
and bad grammer. Good Luck.

-------------------------------------------------------------
I want to give thanks to eChicken and Digital Man for their
help in making this happen. Also thanks to the SyncTERM Team.
-------------------------------------------------------------

As a footnote. I use this program on Valhalla, and if you are
curious to what it can look like when finished, you are welcome 
to check it out at telnet://bbs.valhallabbs.com. It's located
in the externals section, under the "Annex", option 25.

C.G. Learn
DesotoFireflite
valhalla.synchro.net
bbs.valhallabbs.com
bbs.valhallahomeservices.com