<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-eat-config--xtwinops.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-07-13T21:01:51+00:00</updated>
<entry>
<title>feat(eat-config): answer XTWINOPS queries so tmux renders sixel in EAT</title>
<updated>2026-07-13T21:01:51+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-13T21:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=c53671b06e585b5f663e0218490a855e7389d29e'/>
<id>urn:sha1:c53671b06e585b5f663e0218490a855e7389d29e</id>
<content type='text'>
tmux 3.7b won't emit sixel until it learns the client's cell pixel size via CSI 14/16/18 t. EAT 0.9.4's parser has no CSI t clause and drops the queries, so images never render. I added a :before advice on eat--t-handle-output that scans the raw output and answers through the terminal's own input function (eat--t-with-env binds eat--t-term). I verified it live: images render and survive window switches, scrolling, and resizing.

I guarded the advice-add so it installs only while EAT itself can't answer. Two answerers give tmux a double reply, and it forwards the second one's raw bytes into the pane as keystrokes. The guard keys on eat--t-send-window-size-report, the function an upstream clause would define.

I kept an upstream-shaped parser-clause patch locally for a PR to akib/emacs-eat.
</content>
</entry>
</feed>
