23 Commits
Author SHA1 Message Date
weishauptandClaude Opus 5.5 78bd235a48 Minimize hides only that window, Show wIRC main tray item, remember hidden main, bump to 0.1.15
- Minimizing a window hides only that window to the tray. The other windows stay
  on the desktop. Win+D still hides everything.
- Tray left click shows every hidden window at its old position, or hides them
  all if none are hidden.
- The tray menu has a new Show wIRC main item that brings back just wIRC main.
- If wIRC main was hidden when wIRC quit, it starts hidden next time and the
  servers that were connected reconnect by themselves, so their channel windows
  open without wIRC main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.15
2026-10-11 09:31:29 -04:00
weishauptandClaude Opus 5.5 24f54574ec Live in the system tray instead of the taskbar, bump to 0.1.14
- A tray icon (the app icon) is there for as long as wIRC runs. Left click hides
  or shows every wIRC window; right click has Show wIRC, Hide wIRC and Exit. Exit
  disconnects every server and quits.
- No wIRC window has a taskbar button. Each window is given a hidden owner window
  through JNA, because Window.Type.UTILITY can't be set after Compose builds the
  window and would take wIRC main's minimize button away.
- Minimizing any window hides all of them to the tray. Showing them again puts
  each one back where it was. Hidden windows stay connected and keep filling their
  buffers. Closing a window with X works the same as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.14
2026-10-11 09:14:43 -04:00
weishauptandClaude Opus 5.5 4ac7b75962 Keep image previews and wrapped messages on whole lines so the top line isn't cut off, bump to 0.1.13
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.13
2026-10-10 11:19:31 -04:00
weishauptandClaude Opus 5.5 5bcd1a7bcd Snap windows to the desktop grid and to whole lines, font size picker (10 to 18), white text in settings dialogs, bump to 0.1.12
- After a move, windows snap to the Windows desktop icon grid; after a resize,
  the window height is trimmed so the scrollback ends on a whole line.
- The font size slider is replaced by square 10 to 18 buttons. Sizes saved by
  the old slider round to the nearest picker size.
- Settings and font dialogs always use white text, so a dark window text color
  no longer makes their labels invisible.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.12
2026-10-10 10:49:55 -04:00
weishauptandClaude Opus 5.5 026e349db8 No mention highlight on join/part/quit lines, bump to 0.1.11
Only chat, action and notice lines get the mention tint now. Join, part,
quit, nick and mode lines about you always contain your nick, so every one
of your own joins used to be highlighted as a mention.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.11
2026-10-10 03:16:02 -04:00
weishauptandClaude Opus 5.5 efad80e141 Add font picker (Segoe UI, Tahoma, Tw Cen MT, Nunito, Quicksand, Varela Round), bump to 0.1.10
Each channel window's settings panel gets a Font list, and wIRC main gets a Font
button that opens the same list for the server messages box. Every name is drawn
in its own font as a preview. The choice is saved per window in window_prefs.json
(fontId) and applies to the scrollback, user list, input box and title.

- Segoe UI, Tahoma and Tw Cen MT are Microsoft-licensed, so they aren't bundled:
  they load from the Windows font folders at runtime and are only listed when
  present (Tw Cen MT comes with Office).
- Nunito, Quicksand and Varela Round are SIL OFL fonts, bundled in
  resources/fonts with their license files.
- A missing or unloadable font falls back to Monospace.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.10
2026-10-09 19:18:31 -04:00
weishauptandClaude Opus 5.5 3538274805 Make bare /quit disconnect only that server, keep windows open, bump to 0.1.9
/quit now disconnects the window's server without closing anything: every
buffer of that server and wIRC main get a "Disconnected" line, the server card
shows Disconnected with its Connect button, history is flushed to disk, and
there's no auto-reconnect. Connect rejoins the channels we were in (including
ones joined with /join, now tracked) into the still-open windows. Sending while
disconnected shows a "Not connected" line in that window. Exit wIRC still
disconnects everything and closes the app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.9
2026-10-06 12:46:59 -04:00
weishauptandClaude Opus 5.5 d9a0297cc7 Add scrollback text selection/copy, route all /whois output to wIRC main, bump to 0.1.8
- Scrollback (channel windows and wIRC main): mouse drag selection, double-click word,
  triple-click line, shift-click extend, Ctrl+C / Ctrl+Insert, Ctrl+A, Esc, and a
  right-click menu (Copy / Copy line / Select all). Copies one line per message.
  Clipboard writes go off the UI thread with a timeout, like the paste handler.
  Auto-scroll pauses while selecting and catches up once the selection is cleared.
- /whois: header, every reply line, related numerics (401/402/716/263...) and server or
  services notices arriving right after it all go to wIRC main under a bold
  "===== WHOIS <nick> (<server>) =====" header, counted by its unread indicator.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.8
2026-10-05 17:07:52 -04:00
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>
v0.1.7
2026-10-05 15:08:38 -04:00
weishauptandClaude Opus 5.5 242d7a7c42 Fade title-bar buttons in on hover, remove temp debug logger, bump to 0.1.6
- Nicklist, settings, minimize and close buttons in the channel window
  title bar now rest at alpha 0 and fade to full opacity on hover
  (graphicsLayer alpha, so they stay laid out and clickable). Resting
  alpha, hover alpha and fade duration are constants at the top of
  ChannelScreen.kt. Channel name and window dragging are unchanged.
- Remove the unused temporary ircUiDebug helper now that the scrollback
  fix is confirmed.
- Bump version to 0.1.6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.1.6
2026-10-05 14:07:02 -04:00
weishaupt 21b52477aa Bump version to 0.1.5, remove outdated 0.1.4 installers v0.1.5 2026-10-04 16:55:28 -04:00
weishaupt 4f717709d2 Fix scrollback: burst-proof stick-to-bottom, cap-proof layout wait, serialized buffer updates, atomic history saves 2026-10-04 16:29:21 -04:00
weishaupt 6709db3b13 Add LICENSE 2026-09-01 17:03:57 +00:00
weishaupt cd6deb73f3 Add Readme 2026-09-01 17:01:50 +00:00
weishaupt 9cdafb61ad Delete wIRC-0.1.3.exe 2026-09-01 16:59:29 +00:00
weishaupt e19b9ef7cd Delete wIRC-0.1.2.msi 2026-09-01 16:59:21 +00:00
weishaupt 948769b29e Delete wIRC-0.1.2.exe 2026-09-01 16:59:13 +00:00
weishaupt adc1b827d4 Delete wIRC-0.1.1.msi 2026-09-01 16:59:07 +00:00
weishaupt c700c1582c Delete wIRC-0.1.1.exe 2026-09-01 16:58:57 +00:00
weishaupt d0fd5f8ed4 Delete wIRC-0.1.0.msi 2026-09-01 16:58:51 +00:00
weishaupt 08c17f80ee Delete wIRC-0.1.0.exe 2026-09-01 16:58:44 +00:00
weishaupt cbecbce448 Delete wIRC-0.1.3.msi 2026-09-01 16:58:37 +00:00
weishaupt defdefdb28 Initial commit 2026-09-01 12:32:15 -04:00