diff options
| author | user <user@clank> | 2026-07-17 20:22:48 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-07-17 20:22:48 +0200 |
| commit | c9495d4b52b245951bf4768379b38aeb1843d60f (patch) | |
| tree | 62bc4e2b00d691f5a3c06e4904f198e26bca900c /tools/gbhub | |
| parent | net: SYS_POLLCON + larger console ring for link-injected input (diff) | |
| download | gbos-c9495d4b52b245951bf4768379b38aeb1843d60f.tar.gz gbos-c9495d4b52b245951bf4768379b38aeb1843d60f.tar.xz gbos-c9495d4b52b245951bf4768379b38aeb1843d60f.zip | |
irc: a bitchx/irssi-style IRC client
irc HOST [NICK] - connects over the kernel TCP stack (DNS-resolves the
host), registers, and runs a live client on the 40x18 LCD.
UI, within the terminal's means (no cursor addressing - just \r + \b):
messages scroll above a fixed irssi-style input line '[#chan] text_'
redrawn in place; long input scrolls horizontally. The elders' formats:
<nick> msg, <nick:#c> off-channel, *nick* private, -nick- notice,
* nick action, >target< outbound, -!- server/status. Keys come from both
the OSK (SELECT) and the console ring (pollcon), so a hub can drive it.
Commands: /join /part /msg /me /nick /quit /raw, plus bare text to the
current channel. Handles PING (PONG + a wink), CTCP ACTION/VERSION,
JOIN/PART/QUIT/KICK/NICK, 332/353 topic+names, and 433 nick-in-use
(auto-appends _). Registers on bank 32 as program id 30.
Note: gbos doesn't zero C statics, so main() inits its state explicitly;
the local TCP port is randomized (DIV) to dodge a stale server-side
half-open from an unclean prior exit. Tested end to end against a small
ircd through gbhub: full MOTD burst, join, channel + private messages,
actions, and bot replies all render correctly.
Diffstat (limited to 'tools/gbhub')
0 files changed, 0 insertions, 0 deletions
