<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ida-tui.git/tests/test_kittygfx.py, branch main</title>
<subtitle>tui for headless ida</subtitle>
<id>https://git.sl0p.foo/ida-tui.git/atom/tests/test_kittygfx.py?h=main</id>
<link rel='self' href='https://git.sl0p.foo/ida-tui.git/atom/tests/test_kittygfx.py?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/'/>
<updated>2026-08-21T10:15:15Z</updated>
<entry>
<title>reformat: ruff format + import sort, mechanically (see ruff.toml)</title>
<updated>2026-08-21T10:15:15Z</updated>
<author>
<name>blasty</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-21T10:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=02d02417800184fb76cd0245cdaa94c437aa4081'/>
<id>urn:sha1:02d02417800184fb76cd0245cdaa94c437aa4081</id>
<content type='text'>
No behavior. Listed in .git-blame-ignore-revs (next commit).
</content>
</entry>
<entry>
<title>Merge PR #1 from mrexodia: Windows support and auto-refresh on events</title>
<updated>2026-08-21T10:09:21Z</updated>
<author>
<name>blasty</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-21T10:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=9541043c9dee7973c140159b3af561c6d0405e9e'/>
<id>urn:sha1:9541043c9dee7973c140159b3af561c6d0405e9e</id>
<content type='text'>
https://github.com/blasty/ida-tui/pull/1 — from the ida-nexus (né
ida-codemode) maintainer: kitty-graphics fallback for platforms without
termios, Ctrl+R view refresh, typed remote operations through ida_nexus
RemoteModule, live auto-refresh from other clients' IDB events (upstream
item 7), discard-without-save (item 6), and the ida-nexus 0.7.0 rename.

tests/test_kittygfx.py is the union of both sides' files: our escape-
construction checks plus the PR's cross-platform fallback checks.
</content>
</entry>
<entry>
<title>splash: give the logo a placement id so re-anchoring replaces, not stacks</title>
<updated>2026-08-21T10:08:42Z</updated>
<author>
<name>blasty</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-21T10:08:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=7a3b198a904da186cc2860df059b063db24282ea'/>
<id>urn:sha1:7a3b198a904da186cc2860df059b063db24282ea</id>
<content type='text'>
A kitty placement is identified by (image id, placement id); an a=p with no
p= key is anonymous and every one stacks another copy. The splash re-anchors
on every progress note (~5/s), so a 60s load ended with ~300 placements of an
RGBA logo alpha-compositing over each other -- soft edges creeping to solid,
and the terminal re-rendering all of them per frame.

Same pair every time (LOGO_PLACEMENT) = the terminal REPLACES the placement,
so re-anchoring is free and atomic. That is also why on_resize no longer
clear()s first (that showed a hole for a frame), and why a shrunk-to-nothing
region now drops the placement instead of leaving a stale one anchored.

tests/test_kittygfx.py pins the escapes (pure, stdlib);
experiments/splash_place_count.py counts what a real splash sends.
</content>
</entry>
<entry>
<title>Switch to ida-nexus</title>
<updated>2026-08-20T21:55:52Z</updated>
<author>
<name>Duncan Ogilvie</name>
<email>mr.exodia.tpodt@gmail.com</email>
</author>
<published>2026-08-20T21:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=f4c1d9b5497fd0d38137b6b345e8171b307c1117'/>
<id>urn:sha1:f4c1d9b5497fd0d38137b6b345e8171b307c1117</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add kitty graphics fallback for Windows support</title>
<updated>2026-08-17T13:21:59Z</updated>
<author>
<name>Duncan Ogilvie</name>
<email>mr.exodia.tpodt@gmail.com</email>
</author>
<published>2026-08-17T13:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=61b93538fe6e03f175b907c19c2d196ecd860782'/>
<id>urn:sha1:61b93538fe6e03f175b907c19c2d196ecd860782</id>
<content type='text'>
</content>
</entry>
</feed>
