SYNCTERM(1)

๐Ÿ“ฆ
version 1.6 ยท 2 versions
, in nixos 26.05

๐Ÿ’– NAME ๐Ÿ’–

okay so you're looking at SYNCTERM(1) from the General Commands Manual bestie, and here's the whole vibe: syncterm is a BBS terminal program ๐Ÿซถ


โœจ SYNOPSIS โœจ

syncterm [-46chqrts] [-blist] [-edelay] [-iinterface] [-llines]
[-nconfig] [URL]

syncterm -T

syncterm -v

like, that's the whole shape of it ๐Ÿ’…


๐ŸŒธ DESCRIPTION ๐ŸŒธ

SyncTERM is a terminal program made specifically for connecting to a Bulletin Board System (BBS). that's the whole assignment. that's what it does. iconic behavior honestly ๐Ÿ‘‘

๐ŸŽ€ Options ๐ŸŽ€

  • -4 โ€” only resolve IPv4 addresses, no IPv6 shenanigans
  • -6 โ€” only resolve IPv6 addresses, flip side of the same coin
  • -blist โ€” use a different BBS list path than the usual one
  • -c โ€” hides the status line. gone. invisible. โœจ
  • -edelay โ€” sets the "escape delay" in milliseconds for curses(3) mode. okay so here's the lore: curses uses the escape key for its own stuff, so if you wanna use escape for anything else, there has to be a timeout. too low a timeout and extended keystrokes like arrow keys get read as an escape keypress followed by random other characters ๐Ÿ˜ญ too high a timeout and you're sitting there waiting forever after a single escape press. also if you ask for an escape delay under 10ms, it gets forced to 25ms. no negotiating.
  • -h โ€” sets the default scheme for URL to ssh://
  • -iinterface โ€” pick the interface to use. depending on compile options and what libraries you've got, not every interface will be available on every install. if -i isn't given, SyncTERM picks the "best" mode in this order: X11, GDI, SDL, Win32 Console, curses, ANSI. and ngl the SDL mode specifically can fail in ways the automatic fallback literally cannot detect (most notably with libGGI when it's enabled in SDL) โ€” when that happens you gotta force a specific mode yourself.

when -i is specified, only that one mode gets attempted. no automatic fallback. it's that mode or nothing, bestie ๐Ÿ’€

for the items marked [F|W], you can tack on an F or W to mean Fullscreen or Windowed mode respectively ๐Ÿ–ฅ๏ธ

the possible values for iface are:

  • A โ€” ANSI mode. this one, along with the curses modes, has Special caveats (go read TEXT MODE CAVEATS)
  • C โ€” curses mode. special caveats listed in TEXT MODE CAVEATS
  • F โ€” curses mode, and assumes the display in use will render Codepage 437 glyphs for characters above 127. special caveats listed in TEXT MODE CAVEATS
  • G[F|W] โ€” Windows GDI output mode. uses the Win32 API directly.
  • I โ€” curses mode, and forces ASCII only. special caveats listed in TEXT MODE CAVEATS
  • S[F|W] โ€” requires SyncTERM to run in SDL mode. this requires SDL support to have been compiled in, and the library libSDL.so to be in the library search path.
  • W โ€” run in Windows Console mode.
  • X โ€” requires SyncTERM to run in X11 mode. this requires X11 support to have been compiled in, and the library libX11.so to be in the library search path.
  • -llines โ€” sets the number of screen lines to lines. only specific values are allowed for lines, and they are: 14, 21, 25, 28, 43, 50, and 60. pick literally anything else and it just uses 50 instead. rude but fair ๐Ÿ™ˆ
  • -nconfig โ€” specify an alternative INI file
  • -q โ€” Quiet mode. hides various popups during a connect. peace and quiet, we love to see it ๐Ÿคซ
  • -r โ€” sets the default scheme for URL to rlogin://
  • -s โ€” run in "safe mode" which disables the modification of local files such as the
(yes, the manpage really does just stop there mid-sentence. iconic of it honestly. that's verbatim what's written ๐Ÿซ )
  • -t โ€” sets the default scheme for URL to telnet://
  • -T โ€” when this is the ONLY argument, dumps the terminfo entry to stdout and exits.
  • -v โ€” when this is the ONLY argument, dumps version info to stdout and exits.

๐Ÿฆ‹ RUN-TIME LINKING ๐Ÿฆ‹

for some features โ€” like SDL support and X11 support โ€” run-time linking is employed using dlopen(). what that buys you is being able to build a version that'll use SDL and X11 if they're present, but won't fail to run if they're not. flexible queen behavior fr fr ๐Ÿ’œ


๐Ÿงš TEXT MODE CAVEATS ๐Ÿงš

when you're running in one of the text modes like curses or ANSI, a bunch of the control functions get modified, because there's genuinely no reliable way to use extra modifier keys. as a result, CTRL-S and CTRL-Q can not be sent to the remote system. since those are the flow control characters, this shouldn't be a major usability issue, so like. breathe ๐Ÿ˜Œ

the escape character (ASCII 27) is used in curses and ANSI modes to begin a control sequence. so there's a delay while it figures out whether the next character continues the escape sequence or is just a base escape. because of that, there WILL be a perceptible delay when the escape key is used. you can adjust this delay with the -e parameter, but picking the "correct" value is a dark art, since any value is provably incorrect ๐Ÿ”ฎ no notes, that's just how it is.

also, the curses and ANSI modes aren't necessarily the right number of lines for a traditional screen mode. so filler gets added around the terminal screen. and for some display sizes, unpredictable results may occur ๐Ÿ‘€ consider yourself warned.


๐ŸŒˆ FILES ๐ŸŒˆ

  • /nix/store/2ddn1vfbnpw6f2a2xi80zx19f013p6pr-syncterm-1.6/etc/syncterm.lst โ€” the system wide dialing directory.
  • syncterm.lst โ€” the users dialing directory. the location of this file varies by OS, and you can view it in SyncTERM under the "File Locations" option of the "SyncTERM Settings" menu ๐Ÿ“
  • syncterm.ini โ€” the users SyncTERM configuration file. same deal, location varies by OS, and you can view it in SyncTERM under the "File Locations" option of the "SyncTERM Settings" menu ๐Ÿ“‚

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Stephen Hurd <shurd@sasktel.net> โ€” thank you for your service ๐Ÿซก


๐Ÿ’€ BUGS ๐Ÿ’€

None known at present. (slay?)

additional bugs should be reported at https://sf.net/p/syncterm/tickets/ โ€” go be a good citizen and file them ๐Ÿ›


bestie, that's the whole page ๐ŸŽ€ it came from SYNCTERM(1) and the version/date on the bottom was 2024-09-24, so that's your timestamp, mwah ๐Ÿ’‹ bye!! ๐ŸŒธ

๐Ÿ“ฆ where this page comes from