<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ntrecord</title><link>https://nimbleterminal.github.io/ntrecord/</link><description>Recent content on ntrecord</description><generator>Hugo</generator><language>en</language><atom:link href="https://nimbleterminal.github.io/ntrecord/index.xml" rel="self" type="application/rss+xml"/><item><title>Install</title><link>https://nimbleterminal.github.io/ntrecord/guide/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/install/</guid><description>&lt;h1 id="install"&gt;Install&lt;a class="anchor" href="#install"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;With &lt;a href="https://brew.sh"&gt;Homebrew&lt;/a&gt;, on macOS (13 or later) or Linux, Intel or ARM:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install --cask nimbleterminal/tap/ntrecord&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord --version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The release is a single binary. It includes the terminal engine and default text, symbol, and color emoji fonts, so recording a GIF needs nothing else. Release archives and checksums are on the &lt;a href="https://github.com/NimbleTerminal/ntrecord/releases"&gt;releases page&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;ntrecord runs on macOS and Linux. There is no Windows build.&lt;/p&gt;&#10;&lt;h2 id="for-mp4-and-webm"&gt;For MP4 and WebM&lt;a class="anchor" href="#for-mp4-and-webm"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Video is encoded by &lt;a href="https://ffmpeg.org"&gt;FFmpeg&lt;/a&gt;, which you install yourself:&lt;/p&gt;</description></item><item><title>Your first recording</title><link>https://nimbleterminal.github.io/ntrecord/guide/first-recording/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/first-recording/</guid><description>&lt;h1 id="your-first-recording"&gt;Your first recording&lt;a class="anchor" href="#your-first-recording"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="record-what-you-do"&gt;Record what you do&lt;a class="anchor" href="#record-what-you-do"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord record -o session.gif&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This opens a new shell inside the recorder. Type commands as you normally would; when you are done, exit the shell (type &lt;code&gt;exit&lt;/code&gt; or press Ctrl-D). ntrecord then writes &lt;code&gt;session.gif&lt;/code&gt; and prints &lt;code&gt;Wrote session.gif&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;The recording is a fixed-size window, 80 columns by 24 rows unless you say otherwise:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord record -o session.gif -cols &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt; -rows &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord record -o session.gif -font-size &lt;span style="color:#ae81ff"&gt;22&lt;/span&gt; &lt;span style="color:#75715e"&gt;# larger text, larger picture&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord record -o session.gif -shell /bin/bash &lt;span style="color:#75715e"&gt;# a different shell&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To record one command instead of a shell, put it after &lt;code&gt;--&lt;/code&gt;. The recording ends when the command does:&lt;/p&gt;</description></item><item><title>Writing tapes</title><link>https://nimbleterminal.github.io/ntrecord/guide/tapes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/tapes/</guid><description>&lt;h1 id="writing-tapes"&gt;Writing tapes&lt;a class="anchor" href="#writing-tapes"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A tape is a plain text file, one command after another. Lines starting with &lt;code&gt;#&lt;/code&gt; are comments. If you have used &lt;a href="https://github.com/charmbracelet/vhs"&gt;VHS&lt;/a&gt;, this is the same language.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# demo.tape&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Output demo.gif # where the recording goes&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Shell /bin/sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Columns 80&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Rows 24&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Type &amp;#34;echo hello&amp;#34; # type text, one key at a time&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enter # press a key&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Sleep 1s # let the viewer read it&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run it with &lt;code&gt;ntrecord demo.tape&lt;/code&gt;. Mistakes are reported with the file, line, and column. To check a tape without recording it, run &lt;code&gt;ntrecord validate demo.tape&lt;/code&gt;: it also confirms the font, theme, &lt;code&gt;Require&lt;/code&gt; programs, and outputs (video needs FFmpeg) are all usable.&lt;/p&gt;</description></item><item><title>How it looks</title><link>https://nimbleterminal.github.io/ntrecord/guide/appearance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/appearance/</guid><description>&lt;h1 id="how-it-looks"&gt;How it looks&lt;a class="anchor" href="#how-it-looks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Appearance is set at the top of a tape with &lt;code&gt;Set&lt;/code&gt;. Everything has a default, so set only what you want to change.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Output demo.gif&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Theme &amp;#34;Catppuccin Mocha&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set FontSize 20&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Columns 70&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Rows 14&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Padding 20&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set Margin 30&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set MarginFill &amp;#34;#1e1e2e&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set WindowBar Colorful&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set BorderRadius 10&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="colors"&gt;Colors&lt;a class="anchor" href="#colors"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;Set Theme &amp;quot;Name&amp;quot;&lt;/code&gt; picks one of 348 bundled themes (the &lt;a href="https://github.com/charmbracelet/vhs"&gt;VHS&lt;/a&gt; set, such as &lt;code&gt;Dracula&lt;/code&gt;, &lt;code&gt;Nord&lt;/code&gt;, or &lt;code&gt;Catppuccin Mocha&lt;/code&gt;). An unknown name is an error that tells you so. Or give your own colors as a JSON object:&lt;/p&gt;</description></item><item><title>Using your own font</title><link>https://nimbleterminal.github.io/ntrecord/guide/fonts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/fonts/</guid><description>&lt;h1 id="using-your-own-font"&gt;Using your own font&lt;a class="anchor" href="#using-your-own-font"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The built-in font is Go Mono. To use another, set &lt;code&gt;FontFamily&lt;/code&gt; in a tape, or pass &lt;code&gt;-font&lt;/code&gt; to &lt;code&gt;ntrecord render&lt;/code&gt; and &lt;code&gt;ntrecord play&lt;/code&gt;. (&lt;code&gt;ntrecord record&lt;/code&gt; has no &lt;code&gt;-font&lt;/code&gt; flag; record a &lt;code&gt;.cast&lt;/code&gt; and &lt;code&gt;render&lt;/code&gt; it with the font you want.)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set FontFamily &amp;#34;JetBrains Mono&amp;#34; # an installed family, by name&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Set FontFamily ./fonts/MyMono.ttf # or a font file&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord render session.cast -o session.gif -font &lt;span style="color:#e6db74"&gt;&amp;#34;JetBrains Mono&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="by-name-or-by-file"&gt;By name or by file&lt;a class="anchor" href="#by-name-or-by-file"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Value&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;What happens&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;Go Mono&lt;/code&gt; (or &lt;code&gt;monospace&lt;/code&gt;)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The built-in font, with regular, bold, italic, and bold italic.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An installed family name&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Matched ignoring case and spaces against the font&amp;rsquo;s family or full name. Bold and italic faces are picked from the family; a style it lacks uses the regular face.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &lt;code&gt;.ttf&lt;/code&gt;, &lt;code&gt;.otf&lt;/code&gt;, or &lt;code&gt;.ttc&lt;/code&gt; path&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;That one file, used for every style, so bold and italic text will not look different. A &lt;code&gt;.ttc&lt;/code&gt; collection uses its first face.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;A name is searched for in the standard macOS and Linux font folders: &lt;code&gt;/Library/Fonts&lt;/code&gt;, &lt;code&gt;/System/Library/Fonts&lt;/code&gt;, &lt;code&gt;~/Library/Fonts&lt;/code&gt;, &lt;code&gt;/usr/share/fonts&lt;/code&gt;, &lt;code&gt;/usr/local/share/fonts&lt;/code&gt;, &lt;code&gt;~/.fonts&lt;/code&gt;, &lt;code&gt;~/.local/share/fonts&lt;/code&gt;, and &lt;code&gt;$XDG_DATA_HOME/fonts&lt;/code&gt;. Font files larger than 32 MiB are skipped in that search; a path can be up to 64 MiB.&lt;/p&gt;</description></item><item><title>Output formats</title><link>https://nimbleterminal.github.io/ntrecord/guide/formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/formats/</guid><description>&lt;h1 id="output-formats"&gt;Output formats&lt;a class="anchor" href="#output-formats"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The file name&amp;rsquo;s extension chooses the format, both for &lt;code&gt;ntrecord record -o&lt;/code&gt; and for a tape&amp;rsquo;s &lt;code&gt;Output&lt;/code&gt;.&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Extension&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;What you get&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Needs&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.cast&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Asciicast v3 terminal events with inline Kitty graphics&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nothing&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.gif&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An animated GIF&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nothing&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.mp4&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;H.264 video&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="../install/#for-mp4-and-webm"&gt;FFmpeg&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.webm&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;VP9 video&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="../install/#for-mp4-and-webm"&gt;FFmpeg&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;.txt&lt;/code&gt;, &lt;code&gt;.ascii&lt;/code&gt;, &lt;code&gt;.test&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The screen&amp;rsquo;s text, saved at each step&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nothing&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a path ending in &lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;One numbered PNG per frame&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nothing&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;An unsupported extension is rejected before the session starts, so you do not lose a recording to a typo.&lt;/p&gt;</description></item><item><title>Recording images</title><link>https://nimbleterminal.github.io/ntrecord/guide/kitty/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/kitty/</guid><description>&lt;h1 id="recording-images"&gt;Recording images&lt;a class="anchor" href="#recording-images"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;ntrecord draws &lt;a href="https://sw.kovidgoyal.net/kitty/graphics-protocol/"&gt;Kitty graphics&lt;/a&gt;, so a program that shows pictures in a Kitty-capable terminal (charts, shader demos, image viewers) can be recorded to a GIF or video with the pictures in it.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord record -o plot.gif -cols &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt; -rows &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt; -- ./my-chart-program&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The repository&amp;rsquo;s &lt;code&gt;examples/kitty.tape&lt;/code&gt; records a small program that shows an image; run it to see the result.&lt;/p&gt;&#10;&lt;h2 id="what-works"&gt;What works&lt;a class="anchor" href="#what-works"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;PNG, RGB, and RGBA images sent directly in the terminal&amp;rsquo;s data stream, shown at their own size or fitted to a number of cells, cropped, offset, and transparent.&lt;/li&gt;&#10;&lt;li&gt;Images that sit behind text, behind cell backgrounds, or in front of everything.&lt;/li&gt;&#10;&lt;li&gt;Pictures built from Unicode placeholder characters, as charting libraries such as &lt;a href="https://github.com/NimbleMarkets/ntcharts"&gt;ntcharts&lt;/a&gt; draw them. They scroll and erase with the cells they occupy.&lt;/li&gt;&#10;&lt;li&gt;The questions programs ask to find out whether graphics are available, which ntrecord answers.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="what-does-not"&gt;What does not&lt;a class="anchor" href="#what-does-not"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Animation frames, relative placements, and images sent through shared memory or files are not supported. If a program lets you choose how it sends images, choose direct transfer; an image sent through shared memory or a file will not be shown.&lt;/p&gt;</description></item><item><title>When something goes wrong</title><link>https://nimbleterminal.github.io/ntrecord/guide/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimbleterminal.github.io/ntrecord/guide/troubleshooting/</guid><description>&lt;h1 id="when-something-goes-wrong"&gt;When something goes wrong&lt;a class="anchor" href="#when-something-goes-wrong"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Two commands answer most questions before you read further:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord doctor &lt;span style="color:#75715e"&gt;# can this machine record? engine, fonts, PTY, ffmpeg&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ntrecord validate demo.tape &lt;span style="color:#75715e"&gt;# is this tape sound? nothing is recorded&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; prints one line per check and says plainly what is missing (an absent FFmpeg is a warning, since only MP4 and WebM need it). &lt;code&gt;validate&lt;/code&gt; reads the tape the way a recording would and reports every problem at once: syntax errors with their line and column, an unknown theme or font, a &lt;code&gt;Require&lt;/code&gt; program that is not installed, an &lt;code&gt;Output&lt;/code&gt; that needs FFmpeg.&lt;/p&gt;</description></item></channel></rss>