2026-04-29 11:44:36 +02:00
2026-04-29 11:44:36 +02:00
2026-04-29 11:44:36 +02:00
2026-04-29 11:44:36 +02:00
2026-04-29 11:44:36 +02:00
2026-04-29 11:44:36 +02:00

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 (server messages, numerics, notices)
    • Window 2: Private messages
    • Windows 39: 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 <nick> <server> [port]

Port defaults to 6667.

Key Bindings

Key Action
ESC+19 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 <target> <text> Send private message
/nick <newnick> Change nickname
/mode <target> <modes> Set mode
/whois <nick> WHOIS query
/wii <nick> Extended WHOIS (queries remote server)
/quit [reason] Quit (default: "See you later")
/raw <line> Send raw IRC command

Typing text without a / prefix sends to the channel on the current window.

Window Workflow

  1. Press ESC+3 to switch to window 3
  2. /join #channel — the channel is bound to that window
  3. Press ESC+4, /join #other — second channel on window 4
  4. ESC+1 to check status, ESC+2 for 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.

S
Description
Simple irc client the way I want it.
Readme 548 KiB
Languages
C 99.6%
Makefile 0.4%