Skip to content

Omarchy T3 Code v0.2.18

Choose a tag to compare

@avillagran avillagran released this 20 Oct 09:54
· 104 commits to 5788f4138408821a6697587740caeef944d7611f since this release

Native aarch64 and x86_64 packages for Omarchy on Arch Linux, with the Rust client, the Qt HTML preview frontend and the new QML preview renderer. Install or update with the README one-liner:

curl -fsSL https://raw.githubusercontent.com/avillagran/omarchy-t3-code/main/install.sh | bash

Highlights

Native QML previews

When the agent answers with a qml code block, the finished message shows the running component in the block's place instead of the code:

  • A bar above each block switches to the code, copies it and opens the preview in a window.
  • While the answer is still streaming, the code is shown. The preview appears once the block is complete.
  • With Preferences > HTML renders > Side panel, each block becomes a card for the Renders tab, and new QML answers open there on their own, like HTML pages.
  • Components get the Omarchy theme: omarchy.background, foreground, accent, surface, muted, red, green, yellow and blue, and Qt Quick Controls follow the same palette.
  • Compile and runtime errors are listed inside the preview, with line and column.

Locked down to previewing

Agent-written QML never runs in the shell. Each preview runs in its own small Qt Quick process (no WebEngine), with several independent layers:

  • Imports: only QtQuick, QtQuick.Controls, QtQuick.Layouts, QtQuick.Shapes, QtQuick.Effects and QtQml. Anything else, including Quickshell, Quickshell.Io, QtCore, QtQuick.LocalStorage and file or directory imports, is refused with a clear message before Qt starts. Imports inside Qt.createQmlObject strings are checked too.
  • Qt engine: a private import path that only contains those modules, a network layer that fails every request, a URL filter that refuses files outside them, and links that open nothing.
  • Process: an empty environment (no tokens, D-Bus or display), no PATH, lower priority (nice 10) and a 512 MiB heap limit.
  • Kernel: a Landlock domain. The renderer can only read Qt, system libraries and fonts, can only write its frame directory, cannot open TCP connections and cannot start any other program.
  • Watchdog: a component stuck in an endless loop is closed after 4 seconds, and the preview says so.

A preview uses 25–85 MB in a single process, compared with about 150–240 MB over five processes for an HTML page. Animations are captured at up to 20 frames per second as uncompressed frames in memory, which costs about 2% of a core in the renderer.

Synced with T3 Code 0.1

This release follows the T3 Code 0.1 nightly (v0.1.1-nightly.20261020.3386):

  • Protocol: a live shell subscription per environment keeps the sidebar current, archive confirmations, and the new thread events (pull request links, detached sessions, background work, context handoffs and MCP apps).
  • Composer: effort shortcuts, a branch picker (switch, create, adopt or restore), worktree setup progress, a context window meter, a subagent bar with stop and workflow scripts, quoting a selection from a response, and sender attribution for automation and agent messages.
  • Threads: a command palette (Ctrl+K) with message search across every thread, fork from a response, merge back, reorder pinned threads, thread links across environments, and notification sounds.
  • Conversation: secret requests, MCP apps, Mermaid diagrams, LaTeX math, copying tables as Markdown or CSV, HEIC/HEIF/AVIF attachments, and a command's live output in the tool inspector.
  • Pull requests: merge, close, reopen, ready and draft, comments, reviews, reviewers and labels, and opening a pull request in a thread or a worktree.
  • Pages: usage (cost, tokens, sessions, prices), scheduled tasks, Claude and Codex session import, process diagnostics with resource history, storage cleanup, provider install, sign-in and update, ACP registry agents, telemetry export endpoints, discovered dev servers, device settings, and Initialize repository.

Fixes

  • A lighter shell. Loading spinners could leave the shared animation clock running at 60 fps for the rest of the session, so the panel kept redrawing even when nothing moved. With one HTML or QML preview on screen the shell now idles at about 1.5% CPU instead of 6–8%.
  • Remote environments with delegated tasks connect again. Thread ids that contain a dot (for example a delegated task named upload-1.2) made the whole environment look disconnected.
  • Settings writes no longer report a false settings_write_dropped.
  • The sidebar language picker and the provider name in the model label are gone.

Notes

  • Any QML component you want to preview can use omarchy.* for colours; a fixed-size root is centred, an unsized one fills the preview.
  • Diagnostics and measurements are in docs/DEVELOPMENT.md.

Checksums (SHA-256)

8297fc51f237104d499515621ba15a85da4b9f8d75f9d0f17703e087f45b3f71  omarchy-t3-code-v0.2.18-linux-aarch64.tar.gz
a446b20b87b062e1a9c7df58cdb16a38ae83e8a9f09397e5e76e8b25a35fddb7  omarchy-t3-code-v0.2.18-linux-x86_64.tar.gz