v1.11.1
Fixed
- Checking for updates from an installed Windows copy downloads the setup again. The HTTP body limit matched the asset size exactly, and ureq then failed the end-of-stream read, so About showed "Could not download the update."
New features, fixes, and platform improvements from GitHub Releases, newest first.
vivid set from Preferences → Color palette, with
/pref palette vivid, or colorPalette=vivid under [preferences] in
omairc.conf. Desktop classic uses the live theme accent for slot 0; the
TUI classic nick hues stay on the fixed dark fallback accent so they do
not move with Omarchy theme changes. Vivid uses fixed hues on both clients.omairc-dev config/state tree and OMAIRC_DEV_HOME
(was omairc-poc / OMAIRC_POC_HOME). Desktop proof scripts and the CI
recipe job use verify-omairc-desktop / control-omairc-desktop and
test-artifacts/verify-desktop/ (was *-poc).opt-level = "s",
thin LTO, strip = "debuginfo"). On Windows MSVC the product omairc.exe
is about 16 MiB (was about 23 MiB with Cargo's default release settings)./pref colors and a Show mIRC colors switch on the Preferences tab strip
mIRC foreground and background colors (formatting stays). Desktop client.--mouse
or OMAIRC_TUI_MOUSE=1. The pointer path stays off by default, so the
terminal keeps its own text selection.client/NOTES.md._NET_WM_STATE_HIDDEN suspension matches X11;
some compositors still disagree on when a Wayland surface counts as
minimized, so background suspension can lag the Qt shell on those setups./autoaway settings survive a restart, matching the
desktop PreferenceStore keys and leaving the one-shot reason unpersisted.Alt+U keeps ↓ new while the next unseen row is
not fully visible. Another press steps to that row, and the view follows
the end once that landing reaches it. Scrolling back into history already
read hides the marker until Alt+U returns to the unseen run.client/ (default product
feature). Arch PKGBUILD, bin/test, bin/test-install, and
bin/test-desktop build and drive that binary. The Qt/qmake tree is gone;
shared contracts compare the Rust client with the TUI.hicolor-icon-theme, matching the official
Omarchy package.omarchy pkg add omairc. The GitHub releases
repository remains the install path for Omarchy stable, Omarchy rc, and
other Arch-based systems./pref feedback prints one row per line.(CN=…); DNS failures read
lookup HOST: no such host.makepkg and rejects binaries that need
newer Qt_6.* symbol versions than Omarchy ships.Shift+3 types # again. The terminal client no longer asks those
terminals to report every key as an escape code, which turned # into 3
and dropped AltGr, dead keys, and composed input. Windows still requests that
mode, plus alternate keys, so shift chords stay distinct.Ctrl+/ shortcuts hint whole on narrow widths,
drops the version label first, shortens status before hints, and pads the row
to the window width instead of truncating it.… when a label does not fit, instead of cutting the word./join (including from Status), /list, an invite, or
the channel header's Join after a part.file:// path on Windows, including
a drive letter.nick_ and nick2 fallback,
and the other registration refusals, or a registration ERROR, shows the
server's reason on that network and in the open pane. The desktop client and
the terminal client both stop instead of retrying. A sentence the existing
transcript or preview redactors reject is left off the connection error and
off the Status line. A refusal with no usable sentence shows the numeric
on Status.CHANTYPES.Ctrl+Shift+U) on a server that offers a file host. It has no drop
target./pref joins shows every line or hides these lines, including history playback.CHATHISTORY AFTER, and a direct message that was never opened is discovered and filled.
A closed conversation stays closed. A server without chathistory keeps the
playback it already had.CHATHISTORY AFTER, and a direct message that was never opened is discovered and filled.
A closed conversation stays closed. A server without chathistory keeps the
playback it already had./part leaves without dropping it,
/join brings it back, and /close drops a channel you have left. A direct
message someone else writes after it was closed stays open across a restart.
A join you did not ask for does not bring a closed channel back.Alt+Shift+A. Sidebar
badges clear, and that background title clears with them. Alt+A still
prefers a mention, then ordinary unread. When nothing is unread, it opens
Status for the selected conversation's network. When Status is already open,
it opens that Status network./me counts the CTCP
ACTION wrapper, so a filled action still fits in one frame.draft/read-marker, and
soju.im/read when that is the only token offered): a server marker clears
unread another client already read, and Omairc publishes a marker when this
window is caught up on the selected conversation.Alt+Shift+A. Sidebar
badges clear, and that background title clears with them. Alt+A still
prefers a mention, then ordinary unread. When nothing is unread, it opens
Status for the selected conversation's network. When Status is already open,
it opens that Status network.draft/read-marker, and
soju.im/read when that is the only token offered): a server marker clears
unread another client already read, and Omairc publishes a marker when this
window is caught up on the selected conversation.VERSION reply names the client:
omairc-tui https://omairc.app. The desktop client answers
https://omairc.app. Neither reply includes the build number.install-tui.sh installs the omairc-tui terminal client on Linux or macOS
without a package manager. It resolves the latest release, downloads the
static binary for the host OS and architecture, checks its --version, and
installs it under ~/.local/bin. install.sh still installs the Qt client
only, and now publishes install-tui.sh as a release asset too.Page Up / Page Down, Home / End, and the arrow keys
moved the member cursor off-screen with no way to see it. The column now
slides to keep the focused row visible, matching the desktop client.Alt+Down / Alt+Up walked to a conversation below the fold
and Alt+Left / Alt+Right focused a network header below it, both off-screen
and unreachable without a mouse. The column now slides to keep the selected
conversation, or the focused network header, visible, matching the desktop
client's revealSidebarRow.Alt+Down / Alt+Up moved to a
conversation but left a previously focused network header armed, so the next
Enter opened that network's Status instead of sending, and the typed line
stayed in the composer as a draft until a second attempt. A selection change
now clears the header focus, matching the desktop client.omairc-tui binary on the same
GitHub release as the Qt app. Arch installs it with pacman -S omairc-tui
after the existing repository is configured. go install, a Homebrew
formula, and a Scoop manifest point at that same tag. install.sh still
installs the Qt client.<state>/omairc/omairc-tui.log, beside the Qt
client's omairc.log. A recovered Bubble Tea panic and an unrecovered
runtime fatal both land there with the full stack, so a crash is diagnosable
after the terminal that printed it is gone. The file stays empty until
something crashes.message-tags sends +typing=active TAGMSG and
clearing or sending the line withdraws it, matching the desktop client. The
session already built the frames, but nothing in the shell ever reported
composer text to the controller, so no hint reached the wire.server-time tag is stored in UTC, so a message
carried the wrong hour on any non-UTC machine. The row's clock is localized
once, which also restores the same-minute grouping the transcript rows and the
direct-message typing footer share.s in #ricing matching sam and sol).consoleVisible, so clearing the
selection also returns to Status.Ctrl+Shift+O opens a link sheet for the current transcript. It lists
http/https URLs newest first, filters as you type, and Enter opens
the URL or joins an INVITE channel on Status.Ctrl+Shift+/ opens About. The chord is blocked while Connect, find,
jump, nick, link, or inbox sheets are open.AUTHENTICATE chunk are sent through
the existing chunk framer, including the empty continuation when the base64
encoding lands on a 400-byte boundary.httpUrlAt keeps balanced parentheses and brackets in URL paths. Trailing
) or ] is stripped only when the close count exceeds the open count
inside the match.Ctrl+Tab. Ctrl+Shift+Tab no longer switches them.OMAIRC_BUILD_VERSION from omairc --version,
so the Arch package check can see the override.znc.in/playback when a bouncer offers it together with
batch. After registration it sends ZNC *playback PLAY, starting from
each target's stored server-time, or 0 on the first attach. A channel
PLAY is sent again on self-JOIN until a playback batch for that channel
is kept. Replayed lines stay muted backlog and are not duplicated. A
bouncer that replays without the cap is unchanged.account-tag, account-notify, and extended-join. Omairc keeps
each nick's services account and shows it in the member list, on message
headers, beside your nick, and on the join line only when it differs from
the nick.--demo-server seeds IRCv3 service accounts so the member list, message
header, and identity footer can show an account that differs from the nick.--demo-server keeps profiles, preferences, open directs, transcripts, and
window geometry in memory instead of writing them to your config. On Windows
it also redirects QSettings into that temporary tree so ignores, highlights,
mutes, and monitors never touch the registry./pref reads and sets the Preferences toggles from the composer. Bare
/pref prints all three. A name (directs, avatars, unread) prints
one, and on or off changes it. Completion offers the names, then
on and off. Asking about avatars also prints the IP note.Restart to update and open the installer wizard. Closing the window after
the download has finished opens that same wizard. Portable copies still open
the GitHub release page./avatar URL and sends it again after connect when
the server offers metadata./autoaway writes a Status line when the idle timer trips and when activity
clears it. Turning /autoaway off still clears AWAY without that return line.Ctrl+C copies selected text in a message, whois line, or Status line. The composer keeps focus. A selection in the composer still copies that draft.PRIVMSG seed lines combine account and time in one IRCv3 tag
section so tagged history replays parse.account tags with the same value no longer repaint the open
transcript; logout and real account changes still refresh member rows and
headers.qsvg.dll so the About logo loads. qmake no longer
uses a leftover Linux QtKeychain tree.brew install no longer warns
about deprecated url verified and preflight./disconnect./highlight hits use a softer wash so
mentions stay noticeable without dominating the transcript.znc.in/playback was landing while that buffer was
already focused, so the mark never appeared there even though other channels
got it. Unread and mention badges stay at zero../bin/install (makepkg) no longer warns about an unused composer surface on
/status /avatar watches, or a missing CredentialKey::purpose initializer.labeled-response. When a network advertises it (and message-tags),
Omairc tags outbound WHOIS and CTCP /ping /time /version with a unique
label and routes the matching reply — including labeled-response batches —
to the asking transcript. Unlabeled servers keep the existing nick-keyed
watches. Composer PRIVMSG/NOTICE sends stay unlabeled.Shift+Page Up / Shift+Page Down scroll the conversation transcript
and Status by about half a page. Unmodified Page Up / Page Down stay
the full hop. The composer stays focused; both chords are disabled
while Connect or the shortcuts overlay is open.Ctrl+Home / Ctrl+End jump the conversation transcript and Status
to the top / bottom. Ctrl+End resumes follow-the-end. The composer
stays focused; both chords are disabled while Connect or the shortcuts
overlay is open./highlight hits get a calm wash so
they are easy to scan./autoaway idle timer (off by default). /autoaway 15 or
/autoaway 15m enables a timeout in minutes; /autoaway reason stores a
default AWAY text; extra text on a duration is one-shot. It is not
/status and does not replace manual /away.inbox mark with a count badge;
Ctrl+Shift+A opens a sheet to walk and activate rows. Selecting the
matching conversation from the sidebar consumes related rows.Alt+Shift+Left /
Alt+Shift+Right collapse or expand the focused network; a header chevron
toggles the same state. Ctrl+Alt+Shift+Left / Ctrl+Alt+Shift+Right
collapse or expand every network. Alt+Shift+Up / Alt+Shift+Down reorder
the focused header. Custom order and collapsed ids live in preferences./list [mask] opens a searchable overlay of channels on the focused network (name, users, topic; Enter joins). Each network keeps that LIST in memory until disconnect, so opening /list again with the same mask is instant; /list while the overlay is open refreshes. 322/323 stay out of Status. --demo-server answers LIST, including unjoined #linux / #random (omarchy) and #debian (oftc).MONITOR watch lists. /monitor <nick>, /unmonitor <nick>, and
/monitored persist per network, re-subscribe after ISUPPORT, and write a
Status line on real online/offline edges. Unfocused desktop notify follows
mentions, including mute, without toast spam on reconnect hydration.Ctrl+/ shortcuts sheet groups chords under MOVE, JUMP, WRITE,
WINDOW, and CONNECT headings and pairs opposite network collapse/expand/move
rows. Ctrl+Shift+S sits in WINDOW alongside the members-panel chords.
Connect-sheet chords live under CONNECT so Ctrl+N / Ctrl+Enter are not
read as global.Ctrl+Tab / Ctrl+Shift+Tab switch tabs,
Alt+Left / Alt+Right walk networks (focus stays in the field unless
already in the rail), Ctrl+N adds a network and focuses Name, and
Ctrl+Shift+Delete arms then removes the selected network. Ctrl+Enter
applies the selected network from Preferences as well.main CI no longer package or upload Windows/macOS
installers, zips, or the Arch snapshot. Use a manual workflow run when you
need those artifacts; version tags still package and publish. Intel macOS
pull requests skip the portable test rebuild (Linux and Apple Silicon still
run it)./list overlay topics strip mIRC colors and keep bold, italic, and
underline the same way chat transcripts do.DBUS_SESSION_BUS_ADDRESS is autolaunch: or a unix:path that does
not exist, instead of blocking on QDBusConnection::sessionBus().
An unset address still uses the normal session bus./list recovers when the server answers 263/416 or goes silent:
the overlay leaves "Loading channels…", Status gets the reason, and a
later /list sends LIST again. A 323 from a timed-out LIST that
arrives after that retry — including after the retry's 321/322 —
does not complete the new load. /list while
another network's LIST is in flight shows that network's own rows
instead of the previous overlay.Contents/MacOS/omairc
is started through a symlink. Qt otherwise skips the bundle qt.conf and
fails with qtquickcontrols2plugin not found. The Homebrew PATH helper
already execs the binary inside omairc.app.Alt+Left / Alt+Right, collapse/expand, and
collapse-all) work from the composer on macOS instead of moving the caret.
Collapse-all matches Command as MetaModifier in Keys.onPressed. The
shortcuts sheet and Connect hint show Cmd and Option in place of Ctrl
and Alt.--demo-server answers client PING, so the idle-socket watchdog no
longer drops the loopback session after a silent minute.Casks/omairc.rb) for the notarized macOS GitHub zips. brew tap fredimachado/omairc https://github.com/fredimachado/omairc then brew install --cask fredimachado/omairc/omairc installs omairc.app into /Applications and puts omairc on PATH. Uninstall leaves profiles and logs; --zap removes ~/Library/Preferences/omairc and ~/Library/Preferences/State/omairc. Version tags rewrite the cask version and sha256s.LC_RPATH into the CI Qt prefix and unused SQL plugins that load
Postgres.app / Homebrew libraries. Relocatable builds now keep library
validation on, strip those dangling load commands, and syspolicy_check
the bundle the way a downloaded copy is assessed.clang_64 Qt kit is
universal and macdeployqt copied unused Quick Controls styles, Widgets,
and SQL plugins. Relocatable builds now thin to the host architecture and
prune those extras, matching the Windows deploy./znc <text> sends PRIVMSG *status <text> on the focused network, the same way /ns talks to NickServ and /cs talks to ChanServ. Empty /znc is refused. Replies from *status stay on the Status console and do not open a DM. This is not /status.maxim-lobanov/setup-xcode on macos-15 and macos-15-intel (Qt 6.8.3; macos-latest is macOS 26 and no longer ships Xcode 16). After notarization and stapling, tag releases run spctl --assess --type execute --verbose=4 so Gatekeeper rejection fails the job. Official GitHub Actions in that workflow use their current Node 24 majors.Alt+Up/Down, Alt+Left/Right, Alt+A, Ctrl+K, reveal) reads irc.conversations and connection.networks through the list models instead of scanning QML children, so released delegates no longer trigger QQmlVMEMetaObject warnings on startup.CAP LS/ACK/NAK/NEW/DEL read as Server supports/Acknowledged/Rejected/Server added/Server removed with pipe-separated tokens, outgoing CAP REQ as Requesting, 004 fields as labeled Host, IRCd, User modes, Channel modes, and Parametric channel modes, and LUSERS numerics (250–255, 265, 266, 396, among others) as their text. --demo-server seeds that burst.omairc connections / status rows show. Older configs without a name keep using the host. Name and Host stay independent: editing Host does not rewrite a loaded name./avatar [url|email] sets the local user's standing avatar metadata. HTTPS URLs pass the same safety checks as peer avatars; email addresses store a Gravatar SHA-256 HTTPS URL with {size} and d=404. Empty /avatar echoes the stored URL (clickable when HTTPS). Sole /avatar clear unsets the key.Ctrl+Shift+S collapses and restores the left server list column. Collapsing changes its width rather than hiding the column, so Alt+Down / Alt+Up still walk conversations while it is out of view, and Alt+Left / Alt+Right brings it back. Collapsing drops the focused network header so Enter in the composer sends again. The chord is in the shortcuts sheet./status and /avatar replies (inspect, set/clear confirmation, and errors) copy into the selected conversation transcript when one is open, including from the Status composer. /status [text] sets standing status; empty /status echoes the current value; sole /status clear unsets it.draft/ICON shows the server icon in the sidebar network square when the URL is safe and loads; otherwise the initial letter and palette color stay. --demo-server ships a bundled qrc icon for the omarchy seed network.draft/metadata-2 now covers peer avatar, status, and bot, plus WHOIS extras (display-name, pronouns, homepage, color). Member, nick picker, transcript, and DM circles load an HTTPS avatar when it is safe; a bad URL keeps the initial. Bots get a small mark next to the nick. Standing status stays separate from AWAY. --demo-server ships bundled qrc avatars for mira, anna, and kai so glyphs reach Image.Ready without outbound HTTPS./status [text|clear] sets or clears the local user's standing metadata without reconnecting. Empty /status echoes the current value. Networks that do not grant metadata say so on Status or the asking transcript. Success waits for the server's 761 / 766 reply; legacy numerics and FAIL METADATA codes (KEY_NO_PERMISSION, VALUE_INVALID, RATE_LIMITED, and kin) surface the failed set/clear on Status or the asking transcript instead of an optimistic echo. Capability values honor max-subs (status-first subscriptions) and max-value-bytes (including an explicit 0, which refuses non-empty text locally) with a 512-byte client ceiling.omairc-*-macos-arm64.zip and omairc-*-macos-x64.zip). bin/build-macos Developer ID signs when CODESIGN_IDENTITY is set. GitHub Actions notarizes and staples on version tags; pull-request zips stay signed but not notarized because Apple can hold a new Developer ID In Progress for hours. Tag releases refuse to ship an ad-hoc bundle. Local Homebrew-Qt builds stay ad-hoc.omairc conversations includes topic on channel rows.omairc.exe. Explorer, the title bar, and the taskbar use it instead of the default executable mark.omairc-*-windows-x64-setup.exe) on each version tag, next to the portable zip. bin\package-windows.bat compiles it from the windeployqt tree. Start Menu and user PATH are created; config is left alone on uninstall./part drops the local channel conversation. PART is written only when the buffer was joined, so a failed /join window can be dismissed without a 403. /leave is the same command. Named channels that were never opened still send PART. A delayed self JOIN after that dismiss sends PART and drops the buffer instead of resurrecting a channel the user already left.omairc send returns exit 2 with "uncertain": true after a successful local-socket write of the send request when the CLI does not get a readable reply, so agents do not double-send on a lost ack.false flags so agent payloads stay small. Missing means that default. Numbers such as unread stay. Top-level "ok": false on errors is unchanged.msvcp140 and vcruntime140 next to omairc.exe so a user-mode install does not need vc_redist. bin\build.bat copies those DLLs from VCToolsRedistDir. It does not pass windeployqt --compiler-runtime: on MSVC that switch only adds an unused vc_redist.x64.exe.448 (illegal channel name) copies into the selected channel transcript as well as Status, like the other join errors.-include arm_acle.h workaround, so Qt 6.8 compiles on macos-15-intel instead of failing with "ACLE intrinsics support not enabled."draft/ICON favicon) is not 403'd.connectionStatus when focus falls back to another network, so the identity footer and Status header no longer keep a stale Connected mark next to the new nick.offline with a muted mark when the focused network is not Connected, matching the sidebar network status. It still shows away or available only while Connected.--help and the local CLI still print in cmd or PowerShell by attaching to the parent terminal.bin\build.bat finds vswhere.exe when cl is not already on PATH. Delayed expansion cannot read %ProgramFiles(x86)%.LICENSE copyright name Fredi Machado.%LOCALAPPDATA%\Programs\Omairc entry is not duplicated on install and is removed on uninstall.bin\build.bat and bin\build.ps1 produce a portable tree next to omairc.exe. CI uploads that tree as an artifact; each version tag also publishes omairc-*-windows-x64.zip on the GitHub release. Portal text scale, desktop notifications, and the Omarchy theme watch stay Linux-only.install.sh adds the omairc pacman repository from the latest GitHub release and installs the package. Safe to re-run. Served from main and as a release asset for a version-pinned URL./join opens the last named channel as soon as the JOIN is sent, including /j and a Status submit. Multiple names land on the last one.VERSION reply no longer reveals the build number. It answers https://omairc.app instead./query clears the composer and focuses the new direct message. The command no longer stays as a draft on the source buffer or the new query. A refused /query stays in the composer, including on Status./join is consumed from the composer before the window switches, so it cannot remain as a draft on the previous conversation./join copies the server's reason into the selected channel transcript as well as Status./away and /back mark our own nick away or online on every channel member row when 306 / 305 land, even when the server does not echo our own away-notify. The identity footer already had that fact; the panel and the nick picker now match it.away-notify is off, like member rows.--help, --version, and control commands print in a terminal or into a redirect, then FreeConsole() drops that console when opening the window. The local server uses a named pipe (omairc) instead of a drive-letter path that QLocalServer cannot listen on./ping [nick], /time [nick], and /version [nick] send those CTCP queries. Empty form uses the open direct message. Replies copy into the asking conversation, like /whois. Status stays the log. Channel targets are refused. --demo-server answers those queries so the transcript row shows up without a live peer.Reopen direct messages on startup toggle, on by default. Turning it off stops restore but still records engaged targets under [openDirects] in omairc.conf, so turning it back on can reopen them. Ctrl+W drops a query from that set. NickServ and other service queries are not restored. Replayed history stays muted, with no unread badge or notification. Restore waits until after ISUPPORT (376 / 422).Ctrl+Shift+K. Type filters the current channel's members, Up/Down highlight, Enter opens or creates that DM, Escape dismisses. The ONLINE heading opens the same sheet. Disabled on direct messages and Status.Ctrl+Enter applies. The network rail owns Up/Down/Home/End and shows a Ctrl+/ shortcut hint. Server password (PASS) and NickServ password are labeled apart, with the SASL fallback in the NickServ help. Closing the sheet returns focus to the composer.omairc names list nicks by the server's PREFIX rank, highest first, then nick. Tab nick completion stays alphabetical.omairc read, omairc names, and omairc conversations snapshot the running window as JSON. An agent can fetch recent chat, a joined-channel member list, and the channel and DM list without changing the UI selection. read --unread is a CLI cursor under $XDG_STATE_HOME/omairc/cli-cursors/ and does not clear GUI unread or mention badges. --since and --unread keep the newest 100 lines and set "truncated": true when they drop older ones. The unread cursor tie-breaks same-millisecond lines with a per-conversation sequence so empty msgid tags do not drop later arrivals.$XDG_STATE_HOME/omairc/logs/{networkId}/{target}. Join and opening a DM reload the tail as muted backlog. Lines that IrcSecretPolicy redacts are not written.Today, Yesterday, or the locale short date. Status stays a raw console./highlight <word>, /unhighlight <word>, and /highlights. Each network keeps its own list, persisted next to ignore. A whole-word hit increments mentions and notifies like a nick mention. Clearing the network drops the list./mute [target], /unmute [target], and /muted. Each network keeps its own list by conversation key. Chat still arrives. Mentions do not notify, increment, or badge. Alt+A skips muted mentions. Opening the buffer does not unmute. /close and clearing the network drop the flag. Status /mute without a target is refused./disconnect [reason] stops the focused network. /quit is the same command. Connect shows Disconnect next to Apply while that network is live or reconnecting. The profile, sidebar, and other networks stay./join joins the latest inbound invite for that network. Clicking the channel token on the Status INVITE line does the same. A new invite replaces the stored one. Ignore still drops invites from ignored nicks.JOIN #chan key. Part and kick drop both. The Connect field stays names only.server-time. Omairc requests the capability whenever the server advertises it, so a server that gates the time message tag behind it now sends real timestamps instead of folding them into the message body.znc.in/playback batch now lands as backlog in muted text instead of as live traffic, so reattaching after a day away no longer raises unread counts or announces yesterday's mentions as new desktop notifications. A channel buffer splices above the join line. A query buffer opens its direct message only when the backlog holds a line somebody else wrote, so an outbound /msg that the bouncer kept in a buffer still opens nothing. Replay needs only the batch capability, which is what a bouncer offers.--demo-server seeds the real IrcController in-process. --mock and the
QML prototype sidebar are gone. OmaircWindow requires irc; a null
binding no longer loads mock conversations.*status and its *** playback markers stay on the Status console, where every inbound line is already logged. A nick starting with a digit is still a person and still opens a direct message.Ctrl+F find works on live conversation and Status transcripts. Empty first press enters find and waits. The composer shows Find. Matches include author and body, or Status label and text. The current row uses the selection color.Omairc 0.2.0 can stay on more than one network at once. It also keeps one window, talks to that window from the CLI, and makes the session quieter and more resilient.
From a checkout:
./bin/install
Or add the release repository and pacman -Sy omairc / omarchy pkg add omairc. See the README for the [omairc] snippet.
While a window is running, the same binary can talk to it without starting another nick:
omairc --help
omairc connections
omairc status
omairc send --network <id> '#channel' hello
omairc raise
Warnings and errors go to $XDG_STATE_HOME/omairc/omairc.log.
javascript: and file: stay closed.nick_ then nick2 before giving up.VERSION / PING / TIME replies go to Status and are rate-limited.Full Changelog: https://github.com/fredimachado/omairc/compare/v0.1.0...v0.2.0
First public release: a simple IRC client for Omarchy.
IrcController, plus --mock for the bundled prototype window.