# Mirk — Holck's IRC Client A lightweight terminal IRC client written in C with automatic charset conversion and ircII-style window levels. ## Features - **Automatic charset conversion** — detects UTF-8, UTF-16 (BOM), and ISO-8859-1 input; always sends ISO-8859-1 on the wire - **Window levels** — isolated windows with independent 500-line scrollback: - Window 1: Status and private messages - Windows 2–9: Channels - **Status bar** — shows current window, channel, nick prefix (@/+), and channel modes - **UTF-8 terminal support** — full multi-byte input editing - **CTCP VERSION** reply with OS info - **SIGWINCH** handling (terminal resize) - **Ident** — works with system identd on port 113 - **Real name** from passwd GECOS field ## Building ``` make ``` Requires only a C compiler and POSIX headers. No external dependencies. ## Usage ``` ./irc [port] ``` Port defaults to 6667. ## Key Bindings | Key | Action | |-----|--------| | ESC+1–9 | Switch window | | Ctrl-A | Beginning of line | | Ctrl-E | End of line | | Ctrl-U | Kill to beginning (yank buffer) | | Ctrl-K | Kill to end (yank buffer) | | Ctrl-Y | Yank (paste) | | Ctrl-D | Quit (EOF) | | Ctrl-C | Quit prompt (Y/N, default N) | ## Commands | Command | Description | |---------|-------------| | `/join #channel` | Join channel (assigned to current window) | | `/part [#channel]` | Part channel (defaults to current) | | `/msg ` | Send private message | | `/nick ` | Change nickname | | `/mode ` | Set mode | | `/whois ` | WHOIS query | | `/wii ` | Extended WHOIS (queries remote server) | | `/quit [reason]` | Quit (default: "See you later") | | `/raw ` | Send raw IRC command | Typing text without a `/` prefix sends to the channel on the current window. ## Window Workflow 1. Press ESC+2 to switch to window 2 2. `/join #channel` — the channel is bound to that window 3. Press ESC+3, `/join #other` — second channel on window 3 4. ESC+1 to check status and private messages Each window maintains its own scrollback. Switching redraws the full history. ## CTCP VERSION Reply ``` Holck's Mirk, OS: Linux 6.x.x x86_64 :: This space available for rent ``` ## License Public domain.