• Custom Shell and ANSIs

    From Alterego@VERT/ALTERANT to Digital Man on Monday, August 19, 2019 21:51:38
    Hey DM,

    I cloned email_sec.js and put it in mods/ as alterant_email_sec.js, and changed one line in there:

    root@18423768ed64:/opt/sbbs/mods# diff alterant_email_sec.js ../exec/email_sec.js
    17c17
    < bbs.menu("alterant/e-mail");
    ---
    bbs.menu("e-mail");

    I've also made my own shell, by cloning default.src (in exec), and creating it as alterant.src in mods/ (and the appropriate change in scfg). The only changes I have made is to refer to my ANSIs in a custom dir.

    (I'm doing this so that I can preserve the Synchronet shell if anyuse wants to use it - or if I want to reference it - and created my own shell which loads
    my custom ANSIs.)

    It all works well, and I have my own main/transfer and email rendered menus, however, when I read "Unread" email (in the email menu) and there isnt any, it doesnt pause with the message "no unread mail" (or whatever the you aint got none message is). It quickly goes back to the prompt.

    If I change back to the defaul shell, I get the pause as expected (so you can read the message).

    Why would there be a difference?
    ...ëîå*

    ... Martyrdom is the only way in which a man can become famous without ability ---
    þ Synchronet þ Alterant | an SBBS in Docker on Pi!
  • From Digital Man@VERT to Alterego on Monday, August 19, 2019 13:25:12
    Re: Custom Shell and ANSIs
    By: Alterego to Digital Man on Mon Aug 19 2019 09:51 pm

    Hey DM,

    I cloned email_sec.js and put it in mods/ as alterant_email_sec.js, and changed one line in there:

    ...

    If I change back to the defaul shell, I get the pause as expected (so you can rad the message).

    Why would there be a difference?

    Are you displaying a custom menu file as well? Perhaps your menu file is using ANSI animation sequences or something that is defeating the line-counter (which is used for auto-pausing before scroll and screen-clear that would cause unread text to disappear).

    digital man

    Synchronet "Real Fact" #31:
    The Synchronet IRC server (ircd) was written in JS by Randy Sommerfeld (Cyan). Norco, CA WX: 84.0øF, 51.0% humidity, 5 mph E wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Alterego@VERT/ALTERANT to Digital Man on Tuesday, August 20, 2019 07:59:24
    Re: Custom Shell and ANSIs
    By: Digital Man to Alterego on Mon Aug 19 2019 01:25 pm

    Are you displaying a custom menu file as well? Perhaps your menu file is using ANSI animation sequences or something that is defeating the line-counter (which is used for auto-pausing before
    scroll and screen-clear that would cause unread text to disappear).

    Well, I am.

    I'm using a custom ansi file, that renders the display a little differently - and if anything is using more screen lines than the original.

    When I slow my session down (to 300 baud), I can see it rendering the "You have no unread messages", and then immediately display my e-mail.ans file (which has a ESC [ 2j ESC [ ;h to clear the screen and home the cursor.)

    Where as with the default shell, it displays a shorter menu (in terms of screen length used), that message and a pause after it (regardless of my screen size - since it behaves the same on my UTF terminal (which is 51 lines) or my CP437 80x25 terminal).

    I guess I dont understand what triggers that pause after the message.
    ...ëîå*

    ... Degeneration and evolution are not the same thing.

    ---
    þ Synchronet þ Alterant | an SBBS in Docker on Pi!
  • From Digital Man@VERT to Alterego on Monday, August 19, 2019 16:29:09
    Re: Custom Shell and ANSIs
    By: Alterego to Digital Man on Tue Aug 20 2019 07:59 am

    Re: Custom Shell and ANSIs
    By: Digital Man to Alterego on Mon Aug 19 2019 01:25 pm

    Are you displaying a custom menu file as well? Perhaps your menu file is using ANSI animation sequences or something that is defeating the line-counter (which is used for auto-pausing before
    scroll and screen-clear that would cause unread text to disappear).

    Well, I am.

    I'm using a custom ansi file, that renders the display a little differently - and if anything is using more screen lines than the original.

    When I slow my session down (to 300 baud), I can see it rendering the "You have no unread messages", and then immediately display my e-mail.ans file (which has a ESC [ 2j ESC [ ;h to clear the screen and home the cursor.)

    Where as with the default shell, it displays a shorter menu (in terms of screen length used), that message and a pause after it (regardless of my screen size - since it behaves the same on my UTF terminal (which is 51 lines) or my CP437 80x25 terminal).

    I guess I dont understand what triggers that pause after the message.

    A new-line or a screen-clear. The ANSI escape sequences in your menu aren't triggering the screen-clear login Synchronet (it doesn't parse outgoing ANSI escape sequences).

    The solution is to convert your raw-ANSI file to Ctrl-A (.msg or .asc), e.g. using ans2asc. This will replace the ANSI screen-clear with a Ctrl-AL code which will then trigger the auto-pause.


    digital man

    Synchronet/BBS Terminology Definition #64:
    SMB = Synchronet Message Base (e.g. smblib)
    Norco, CA WX: 86.1øF, 44.0% humidity, 11 mph NE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Alterego@VERT/ALTERANT to Digital Man on Tuesday, August 20, 2019 11:01:31
    Re: Custom Shell and ANSIs
    By: Digital Man to Alterego on Mon Aug 19 2019 04:29 pm

    The solution is to convert your raw-ANSI file to Ctrl-A (.msg or .asc), e.g. using ans2asc. This will replace the ANSI screen-clear with a Ctrl-AL code which will then trigger the auto-pause.

    That did it :)

    Thanks.
    ...ëîå*

    ... A continuing flow of paper is sufficient to continue the flow of paper.

    ---
    þ Synchronet þ Alterant | an SBBS in Docker on Pi!
  • From mark lewis@VERT to Digital Man on Tuesday, August 20, 2019 09:17:12
    On 2019 Aug 19 16:29:08, you wrote to Alterego:

    I guess I dont understand what triggers that pause after the message.

    A new-line or a screen-clear. The ANSI escape sequences in your menu aren't triggering the screen-clear login Synchronet (it doesn't parse outgoing ANSI escape sequences).

    aahhh! that's the (main?) difference between ANSI and CTRL-A files...

    The solution is to convert your raw-ANSI file to Ctrl-A (.msg or
    .asc), e.g. using ans2asc. This will replace the ANSI screen-clear
    with a Ctrl-AL code which will then trigger the auto-pause.

    i ended up doing this with some of my screens that just wouldn't display as desired... once converted, everything was good... i think i do everything as CTRL-A .asc/.msg files now because of this...

    )\/(ark

    Once men turned their thinking over to machines in the hope that this would set
    them free. But that only permitted other men with machines to enslave them.
    ... Too roight, mate. Oi, lookit tha' kangaroo!
    ---
    * Origin: (1:3634/12.73)
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to mark lewis on Tuesday, August 20, 2019 06:54:32
    Re: Custom Shell and ANSIs
    By: mark lewis to Digital Man on Tue Aug 20 2019 09:17 am


    On 2019 Aug 19 16:29:08, you wrote to Alterego:

    I guess I dont understand what triggers that pause after the message.

    A new-line or a screen-clear. The ANSI escape sequences in your menu aren't triggering the screen-clear login Synchronet (it doesn't parse outgoing ANSI escape sequences).

    aahhh! that's the (main?) difference between ANSI and CTRL-A files...

    Synchronet parses outgoing Ctrl-A codes, so it:
    1. Can do the "right thing" for the terminal (which is not always ANSI)
    2. Can track the currente remote terminal attributes (e.g. text color)
    3. Can accurately track lines and perform auto-pausing
    4. Can do things like conditional newline, not possible with raw ANSI

    The solution is to convert your raw-ANSI file to Ctrl-A (.msg or
    .asc), e.g. using ans2asc. This will replace the ANSI screen-clear
    with a Ctrl-AL code which will then trigger the auto-pause.

    i ended up doing this with some of my screens that just wouldn't display as desired... once converted, everything was good... i think i do everything as CTRL-A .asc/.msg files now because of this...

    Good. :-)

    digital man

    This Is Spinal Tap quote #35:
    Jeanine Pettibone: You don't do heavy metal in Dubly, you know.
    Norco, CA WX: 64.7øF, 78.0% humidity, 1 mph SSW wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net