• exec/xtrn_sec.js

    From rswindell@VERT to CVS commit on Wed Apr 22 16:01:18 2020
    exec xtrn_sec.js 1.23 1.24
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv19256

    Modified Files:
    xtrn_sec.js
    Log Message:
    For Nelgin: if text/menu/xtrn#_head.* exists, display it before the auto-generated program list for that section # or the custom menu for that section.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wed Apr 22 18:33:31 2020
    exec xtrn_sec.js 1.24 1.25
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv7529

    Modified Files:
    xtrn_sec.js
    Log Message:
    Allow all the displayed strings to be over-ridden with modopts.ini [xtrn_sec] key values (the defaults of which mostly come from text.dat).


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wed Apr 22 18:58:48 2020
    exec xtrn_sec.js 1.25 1.26
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv10788

    Modified Files:
    xtrn_sec.js
    Log Message:
    Clear the screen from here (rather than depending on menu/header files or text.dat strings to do it) by default. Set "clear_screen = false" in
    [xtrn_sec] of modopts.ini to disable.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sat May 9 03:05:15 2020
    exec xtrn_sec.js 1.27 1.28
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv18348

    Modified Files:
    xtrn_sec.js
    Log Message:
    Add hotspots to 2nd column, when multicolumn.



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sat May 9 03:11:23 2020
    exec xtrn_sec.js 1.28 1.29
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv19425

    Modified Files:
    xtrn_sec.js
    Log Message:
    Define "use strict" - insure no \001's sneak into this file.



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sun Sep 13 22:58:30 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/45afbcddaede90ca17cafd10
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Reset to attributes to normal (lightgray, black bg) before executing xtrns

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Tue Nov 3 12:44:51 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/8dfb469c0581ef03ec736dae
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Support text/menu/xtrn<sec-code>.* and text/menu/xtrn<sec-code>_head.* files

    Using the xtrn program section internal code protects against renumbering upon configuration changes (inserting/removing program sections).
    At Nelgin's suggestion/request.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to Main/master on Tue Nov 24 15:37:04 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/dc70b7de09629773a2303acd
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Refactor commit b63b3bb3a85 (customizable xtrn program section menu)

    Use the text.dat strings that corresponded with the previous behavior
    (used by console.uselect()). The defaults include new-lines, so removed
    some hard-coded console.crlf() calls that were added. If you have a
    custom section_header_fmt, you'll likely need to add a \r\n to it.

    Allow the "External Program Section" title string to be customized
    (separately from section_header_fmt, e.g. for localization).

    Save/use the current section.

    Mouse-enable the program section list.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Nigel Reed@VERT to Git commit to main/sbbs/master on Mon Nov 30 18:18:25 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/15c4611531def3af43843599
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Add similar functionality to the xtrn<secnum>_head file but will
    display the file after the list of external programs.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Nov 30 18:18:25 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/0d0863d2a79c3803146b4173
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Merge branch 'nelgin/xtrn_tail' into 'master'

    Nelgin/xtrn tail

    See merge request main/sbbs!48

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Nov 30 18:37:03 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/b4fbc321e479305a3afe809b
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Support text/menu/xtrn*_tail even when xtrn<secnum|name> menu exists.

    Previously, the xtrn*_tail menu was only displayed in the programmatic menu mode.

    Also, using the P_NOERROR mode flag for bbs.menu() to simplify all the if/else logic.

    And use require() instead of load().

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to Git commit to main/sbbs/master on Mon Nov 30 20:19:24 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/bab4a66824b99bb9f940d6d7
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    add global head and tail for both section menu and external program menu
    use options.clear_screen for clear instead of hardcoded value in SelectItemHdr remove redundant code for input in main section menu

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Nov 30 20:19:24 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/d995e889e9ad303dc1a01bde
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Merge branch 'mlong/xtrnheadtail' into 'master'

    add global head and tail for both section menu and external program menu

    See merge request main/sbbs!49

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Dec 6 14:30:20 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/3470d723eb6163b64fed0734
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    "center" feature/option added and text.dat section header suppression

    Add support for modopts.ini "center=true" option to center single-column program listing in the terminal.

    When a custom section header files (xtrn<sec>_head.*) is displayed, don't
    print the XtrnProgLstHdr string from the text.dat.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Dec 6 15:56:46 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/400c5e0b0f452096aeeeae55
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Give the section selection menu the same center & header suppression treatment

    Don't display the text.dat SelectItemHdr if an xtrn_sec_head.* file was shown. Center the sections and the "Which" prompt when the "center=true" modopts.ini option is set.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Jan 1 23:47:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5acb54dd1cbaa6e4c678f1d3
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Fix typo

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Apr 18 17:18:20 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ce108b52438d07f19ec3efc8
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Add 'indent_list_items' option

    For use when multi/singlecolumn_fmt strings don't contain padded integer specifiers (e.g. %3u).

    Fix issue #911

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Apr 19 13:25:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2fbab2bb71549f3edd74184f
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Renamed 'indent_list_items' option to 'align_prog_list'

    Add 'align_section_list' option too for good measure, for instances where 'section_fmt' (by default, the text.dat SelectItemFmt string) does not contain any integer alignment/padding (e.g. %3u).

    This is related to issue #911

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Apr 23 12:23:55 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0b50d69f76f17dc94ae0b3a1
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Support multicolumn xtrn program *section* listing

    While we've long supported multicolumn program lists (for long lists
    that would likely cause a user's terminal to scroll), we've never supported multicolumn external program *section* listings.

    So if the multicolumn option is set to true (the default) and the list of sections is longer than would fit on the user's terminal screen, split into
    2 columns (just two).

    This introduces the new configurable string-option: multicolumn_section_fmt

    This fixes issue #915

    Hopefully Nelgin will be in a better mood as a result.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Apr 23 12:57:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b844660207c360d4ad3429df
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Define 'xtrn_sec' in the global JS scope when an section is listed

    This allows the use of JS:xtrn_sec @-code in the 'which' prompt string.
    For Nelgin.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Jan 20 22:26:38 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d9a7709c7f9afc0d7af6ec9b
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Remove extraneous character ("statement")

    added in commit 0b50d69f76f17dc94ae0b3a16253801685d2a190

    Caught by running libmozjs in "strict" mode (which is stricter than "use strict")

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Jul 21 01:49:54 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0d838a1664d3281c45314e3c
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Fix centering (margin calculation) for widths not modulo 4

    e.g. program lists would be centered for a 116 column terminal, but not
    for a 117 column terminal.
    `

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Jul 23 00:08:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/08dab3e8d41ca038f76d4c9a
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    xtrn_sec.js: center the program list on its content, not screen/4

    The single-column program list used a fixed left margin of screen_columns/4, which only lands near center at 80 columns and drifts steadily left as the terminal widens -- at 132 columns the list sits in the left third (left gap 32, right gap 69). It is not well centered even at 80 (left 19, right 30).

    Measure the widest row's DISPLAYED width instead -- strip_ctrl() drops the zero-width \x01 attribute codes -- and split the remaining slack. That balances the list to within the odd-column rounding at every width, and stays correct when a sysop customizes singlecolumn_fmt (a cost column, different separators), because it measures the rendered rows rather than assuming a layout. This is the same measure-the-content approach the section list a few blocks down already uses.

    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Jul 23 00:08:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0986ce16e012c80d9deec348
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    xtrn_sec.js: center the section list on its content too

    Follow-up to centering the program list. The section list used
    (screen_columns - longest)/2 - 5, where longest was the longest section NAME and 5 was a guessed allowance for the "%3d: " numbering. That misjudges the real row width both ways: with the default format the list sits a few columns left of center at every width, and a customized section_fmt (wider numbering,
    a suffix) throws it off in the other direction.

    Measure the widest rendered row with strip_ctrl(), exactly as the program list now does, and split the slack -- dead center regardless of screen width or how section_fmt is themed. The separate longest-name precomputation at the top of external_section_menu() is now unused and removed.

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