• exec/xtrn_sec.js

    From Michael Long@VERT to Git commit to main/sbbs/master on Fri Jan 1 18:21:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/62c559efa674be5d6e2fdcd1
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    If you aren't using a custom xtrn menu head per section, then you might fall back on a global one...but the prior logic would not display the actual section heading if it used a global (xtrn_head) file. If you are using xtrn_head, you don't have anything in there with a section name, so display the section name from code again

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Jan 1 18:21:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/b71a818491f7a3b500d89491
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Merge branch 'xtrnhead' into 'master'

    If using xtrn_head, display section name/header as well

    See merge request main/sbbs!67

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Jan 1 20:10:28 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/b3b4d332acd1b61cdbbd6d8d
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Please test before you commit and a submit merge request.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Jan 26 20:22:19 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/0deb94c785d2f6223a00e258
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Fix default program section selection

    Hitting [Enter] is supposed to select the current/default program
    section. Instead, it was quitting. This was apparently broken as
    part of the xtrn_sec.js refactor a year or so ago by/with mlong.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jul 3 16:04:04 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/0021b378b3edf3ebd36df174
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Add a carriage-return to the mouse hotspot value when needed

    For program listings, if the program number is fewer digits than the total program list count (number of digits), then a carriage return is required
    to launch that program. Automate this for the mouse hotspot value, so clicking Program #1 in a list of 10+ will just run that program and not require the
    user to hit the Enter key.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Jul 16 17:43:28 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/8651f2afd696e49a0eb783eb
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Don't treat Enter as choosing default section when no prompt was shown

    As pointed out via DOVE-Net by DesotoFireflite (VALHALLA):
    When xtrn_sec.* display file/menu is used, there's no auto-generated
    prompt (with a default section number indicated). So hitting Enter
    in this case and having the previous/default program section selected
    would be surprising behavior to a user. So, only support a default
    section selection when there was no xtrn_sec.* menu/display file.

    ---
    ■ 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 Mar 2 18:40:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ec6e617029885b4e1ebd7a0e
    Modified Files:
    exec/xtrn_sec.js
    Log Message:
    Don't try to center on terminals < 80 columns wide

    ---
    ■ 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