weishauptandClaude Opus 5.5 807903fe0f Add wIRC main scrollback, route services to it, remember window bounds, bump to 0.1.7
wIRC main scrollback
- The main window now has a "Server messages" scrollback using the same
  rendering and stick-to-bottom code as channel windows (extracted from
  ChannelScreen into a shared MessageScrollback composable).
- MOTD, numerics, errors, connection status, user modes, INVITE, ERROR,
  non-ACTION CTCP requests and notices/messages from services
  (NickServ, ChanServ, *Serv, Global, ...) and the server go there. Its
  history persists like any other buffer (history/wirc-main__main.json).
- Unread indicator: lines arriving while the main window is unfocused
  show as "N new" next to the label and in the window title/taskbar.

Private messages and /whois
- A PM or notice from a real user opens its query window, and reopens it
  if it was closed. Services and the server no longer open windows.
- /whois <nick> sends WHOIS and shows the formatted reply in the window
  it was typed in, or in wIRC main if that window has since closed.
- /me now sends a proper CTCP ACTION (the \x01 wrapper was missing).

Window position and size
- Main, channel and PM windows remember position and size in
  window_prefs.json under the existing "<serverId>__<name>" key (main
  uses "wirc-main__main"). The new windowX/windowY/windowWidth/
  windowHeight fields are optional, so older files still load.
- A saved position is only used if the window's title strip is on a
  connected monitor; otherwise, and for windows with no saved position,
  windows cascade from the primary screen's top-left with a 32dp offset.
- window_prefs.json is now written via a temp file + atomic move.

Cleanup
- Remove the TEMP DEBUG aliasDebug tracing, ServerRepository.upsert
  printlns and connmgr-debug printlns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:08:38 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 12:32:15 -04:00
2026-09-01 17:03:57 +00:00
2026-09-01 17:01:50 +00:00
2026-09-01 12:32:15 -04:00

wIRC is a custom IRC client built with Kotlin and Compose Multiplatform, developed as a personal project for use on Windows desktop. It features full mIRC color-code parsing, persistent scrollback across sessions, tab-complete, per-nick coloring, operator (OP) power support, and NickServ auto-identify on connect. The client is built with a focus on getting the small details right — reliable auto-scroll behavior, accurate message ordering, and dialogs that behave like proper native windows rather than clipped overlays. wIRC is a work in progress, actively developed and refined through iterative bug fixes and feature additions.
S
Description
An IRC client for Windows that allows individual windows for each channel the user is in.
Readme MIT
890 MiB
0.1.17
Latest
2026-10-29 18:14:49 +00:00
Languages
Kotlin 100%