1. 12 Feb, 2022 1 commit
  2. 20 Jan, 2022 2 commits
  3. 08 Jun, 2021 1 commit
  4. 14 May, 2021 2 commits
    • Rob Swindell's avatar
      Fix-ups for the "continuous random tone" sysop chat pager · 1903e398
      Rob Swindell authored
      I haven't played with this chat pager in *years*! The lowest tones were inaudible (raise the range from 0-800Hz to 400-1200Hz).
      Increase the msgabort() tone from 1 to 10ms, sounds like those computerized voice recognition phone systems now.
      
      Remove the redundant "<user> paged you to chat" notifications (and log message) when turning *off* the chat pager.
      1903e398
    • Rob Swindell's avatar
      Simplify the check-and-clear of console abort status · 7c1e72b8
      Rob Swindell authored
      by adding a 'clear' argument to msgabort() that defaults to false. Pass true to check-and-clear.
      checkline() is a NO-OP, so start eliminating "calls" to it.
      7c1e72b8
  5. 25 Apr, 2021 1 commit
  6. 24 Apr, 2021 1 commit
  7. 14 Apr, 2021 1 commit
  8. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      fcf58640
  9. 22 Feb, 2021 1 commit
  10. 15 Feb, 2021 2 commits
  11. 12 Dec, 2020 1 commit
  12. 26 Nov, 2020 1 commit
  13. 07 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Store client terminal information in node#/terminal.ini · ff449a11
      Rob Swindell authored
      In preparation for node-spy applications that can support multiple terminal sizes/types (none exist yet). The file is updated whenever there is new/updated information about the client's terminal.
      
      Exposed as JS method: console.term_updated().
      ff449a11
  14. 06 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · 8a7b7308
      Rob Swindell authored
      I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values.
      
      This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service).
      
      The new macros names are bit more descriptive as well.
      8a7b7308
  15. 09 Oct, 2020 1 commit
    • Rob Swindell's avatar
      Use an enum for ANSI output state · f26b296b
      Rob Swindell authored
      No functional change with regard to the ANSI output state, just making the code easier to read.
      
      Removed the conversion of `[ and \xFA[ to \x1b[ in putmsg(). This unexplained output translation has been supported since at least v2.xx and I have no recollection of exactly why it was added. If I recall correctly, some BBS software at some point in time sent ANSI-encoded messages into message networks by translating the ESC (\x1b) character in the ANSI sequences to either ` or \xFA in the process. This "feature" seems like it would still work, but it's completely undocumented and I have no idea why it was added (and seriously doubt anyone relies on this behavior), so I'm removing it. If anyone misses this feature, I'll happily add it back, but I'm skeptical that'll happen.
      f26b296b
  16. 16 Aug, 2020 1 commit
  17. 04 Aug, 2020 1 commit
    • rswindell's avatar
      Some users have complained about moue support being enabled by default, · 077eadbc
      rswindell authored
      so made it enabled/disabled per-user-terminal settings. This means that if
      you were already enjoying mouse support, you're going to have to turn it on
      to keep enjoying it. It also means there's currently no way to enable/use
      mouse support pre-logon, but I have ideas about how to support that for
      sysops that want that.
      077eadbc
  18. 24 May, 2020 1 commit
  19. 12 May, 2020 2 commits
  20. 11 May, 2020 1 commit
  21. 09 May, 2020 3 commits
    • rswindell's avatar
      If ^A~or ^A` is followed by a ctrl charcter, don't treat as a hot-spot. This... · 62880f22
      rswindell authored
      If ^A~or ^A` is followed by a ctrl charcter, don't treat as a hot-spot. This helps to insure that if there are any .asc/.msg files "in the wild" that have a sequence of ^A`^AL (home-cursor, clear-screen), they'll still render as before
      the introduction fo the strict hot-spot ^A` sequence.
      62880f22
    • rswindell's avatar
      Both hungry/liberal hot-spots and strict hot-spots can be defined now, at the... · 6f16fafe
      rswindell authored
      Both hungry/liberal hot-spots and strict hot-spots can be defined now, at the same time. For Nelgin.
      Use ^A` to define a single-char strict hot-spot using Ctrl-A codes. Unfortunately, this usurps the "home" Ctrl-A code which nothing seems to use but has now been changed to ^A'.
      Use ` instead of ~ in mnemonics to define strict single-char hot-spots (also displays the cmd key in [] instead () on non ANSI/PETSCII terms).
      Use @` instead of @~ codes to define strict hot-keys.
      Use HOT:STRICT @-code to declare a strict hot-key color.
      Use HOT:HUNGRY @-code to toggle back to hungry color-defined hot-keys (the default).
      New optional boolean argument to JS console.add_hotkey(), hungry = true by default.
      6f16fafe
    • rswindell's avatar
      One more method of creating a (single-character) mouse hot-spot since @-codes... · 2c443f78
      rswindell authored
      One more method of creating a (single-character) mouse hot-spot since @-codes are not universally supported everywhere or always convenient:
        Ctrl-A~
      The character immediately following a ^A~ will be added as a single-char mouse hot-spot.
      2c443f78
  22. 08 May, 2020 2 commits
    • rswindell's avatar
      fc5bc299
    • rswindell's avatar
      Add mouse hot spot support: · 87c9982c
      rswindell authored
      - hot spots are clickable screen areas (e.g. in menus and prompts) that   generate key-strokes
      - commands may be from 1 to 127 ASCII-characters in length
      - currently using the X10 mouse reporting mode, may change
      - all mnemonics strings (~Example) are automatically hot-spots
      - The new ~ @-code defines a hot spot
      - Any screen-clear operation clears all hot spots
      - sbbs now tracks the current screen (cursor position) row
      - eliminated the old "tos" (top-of-screen) boolean (row == 0 indicates "tos")
      - created an sbbs_t::ungetstr() method
      - keep track if in pause (hit a key) prompt, for special mouse behavior
      
      new JS console object:
      - row property
      - tos property is now read-only (and deprecated)
      - new methods:
        add_hotspot()
        clear_hotspots()
        scroll_hotspots()
      
      redrwstr() gets some UTF8 touch-ups as part of this commit. <shrug>
      87c9982c
  23. 04 May, 2020 1 commit
  24. 30 Apr, 2020 2 commits
  25. 28 Apr, 2020 1 commit
    • rswindell's avatar
      Fix some cosmetic issues with saveline/restoreline and its interaction with · fa37e0a7
      rswindell authored
      getstr's insert mode (Ctrl-V) indicator and edit/line modes. Global Hot Keys
      (e.g. Ctrl-T) would do weird stuff like return the cursor to the end of the
      line or redraw the input string multiple times.
      So as part of this fix:
      - backspasce() now removed the last count characters from the save-line buffer
        (it is a destructive backspace afterall).
      - outchar('\b') (a non-destructive backspace) adds the \b to the save-line buf
      - restoreline() now always redraws the current insert/overwrite indicator in
        the upper right-most corner fo the screen
      - insert_indicator() now uses functions that aren't line-saved.
      
      An unrelated change included in this comment: center() now sends a CR before
      the cursor movement and centered-text, for times when the current column is
      *not* already at 0. Very useful for use with @-codes (e.g. display some pattern
      or "graphics" and then center some text over it).
      fa37e0a7
  26. 20 Mar, 2020 1 commit
  27. 08 Oct, 2019 2 commits
  28. 21 Sep, 2019 2 commits
    • rswindell's avatar
      Make center() less destructive: · da0f2a1a
      rswindell authored
      Use cursor-right movement rather than spaces for left-margin.
      Don't do the clear-to-EOL thing added in previous commit.
      da0f2a1a
    • rswindell's avatar
      sbbs_t::center() and thusly JS console.center() now accepts an optional · 77f2c366
      rswindell authored
      "width" argument (in columns), defaults the user's current screen column-width
      but you can now over-ride this value when an additional/optional argument.
      Also, center() now clears-to-EOL before sending the CRLF to the terminal.
      Hopefully this doesn't mess up anyone's existing use of center().
      77f2c366
  29. 10 Sep, 2019 1 commit
  30. 20 Aug, 2019 1 commit