<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>The Textsmith manual on The Textsmith</title><link>https://thetextsmith.com/docs/</link><description>Recent content in The Textsmith manual on The Textsmith</description><generator>Hugo</generator><language>en-gb</language><copyright>Ishe Chinyoka</copyright><atom:link href="https://thetextsmith.com/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Installing</title><link>https://thetextsmith.com/docs/installing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/installing/</guid><description>&lt;p&gt;The Textsmith runs on Linux, under X11 and Wayland. It needs GTK 3 and VTE&#10;(2.91), which most desktops already have.&lt;/p&gt;&#10;&lt;h3 id="with-one-command"&gt;With one command&lt;/h3&gt;&#10;&lt;pre&gt;&lt;code&gt;curl -fsSL https://thetextsmith.com/install.sh | sh&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;On Debian, Ubuntu and Linux Mint, this adds The Textsmith&amp;rsquo;s apt&#10;repository and installs the &lt;code&gt;textsmith&lt;/code&gt; package; on Arch, the pacman&#10;repository. On other distributions it puts The Textsmith in&#10;&lt;code&gt;~/.local/bin&lt;/code&gt;. The repositories are signed with The Textsmith release key,&#10;fingerprint &lt;code&gt;EACA 85A8 8536 7887 6820 15F8 9364 9288 FCB4 8B9E&lt;/code&gt;, and new&#10;versions then arrive with your usual system updates.&lt;/p&gt;</description></item><item><title>First steps</title><link>https://thetextsmith.com/docs/first-steps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/first-steps/</guid><description>&lt;p&gt;Start The Textsmith from your application menu or with your shortcut. You&#10;get your usual shell, bash or zsh, with your own &lt;code&gt;~/.bashrc&lt;/code&gt; or&#10;&lt;code&gt;~/.zshrc&lt;/code&gt; read first. The Textsmith then adds its own small hooks, which&#10;make bookmarks and the review buffer work. Other shells start bash.&lt;/p&gt;&#10;&lt;p&gt;Everything you know still works: Ctrl+R searches history, Tab completes,&#10;Ctrl+C stops a program. The Textsmith adds a handful of keys of its own&#10;(see &lt;a href="../keys/"&gt;Keys&lt;/a&gt;), and only at the shell&amp;rsquo;s prompt: while a program runs,&#10;every key goes to it unchanged.&lt;/p&gt;</description></item><item><title>Bookmarks</title><link>https://thetextsmith.com/docs/bookmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/bookmarks/</guid><description>&lt;p&gt;A bookmark is a command you save once and run by name. The Textsmith keeps&#10;them in one plain text file, &lt;code&gt;bookmarks&lt;/code&gt;, one per line, which you can edit&#10;by hand and carry between machines.&lt;/p&gt;&#10;&lt;h3 id="making-a-bookmark"&gt;Making a bookmark&lt;/h3&gt;&#10;&lt;p&gt;Type the command as a comment, with a name and a colon in front, then&#10;press &lt;strong&gt;Alt+M&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;#vps: ssh forge&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;The line is saved as a bookmark called &lt;code&gt;vps&lt;/code&gt;. Alt+M on a line without a&#10;label bookmarks it as it is; on an empty line, it bookmarks the last&#10;command you ran. Pressing Alt+M on a bookmark that is already there removes&#10;it. &lt;strong&gt;Alt+Shift+M&lt;/strong&gt; saves the bookmark and runs it at once.&lt;/p&gt;</description></item><item><title>A command per machine</title><link>https://thetextsmith.com/docs/a-command-per-machine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/a-command-per-machine/</guid><description>&lt;p&gt;When your bookmarks travel between machines, in your dotfiles for instance,&#10;one name can stand for a different command on each:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;#update: [:anvil &amp;quot;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&amp;quot;, :brainpower &amp;quot;sudo pacman -Syu&amp;quot;, :hammer &amp;quot;sudo dnf update&amp;quot;]&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;&lt;code&gt;update&lt;/code&gt; then runs the command for the machine it is on. Several machines&#10;can share a command (&lt;code&gt;:anvil :forge &amp;quot;...&amp;quot;&lt;/code&gt;), and &lt;code&gt;:*&lt;/code&gt; stands for any other&#10;machine. Each command can have places, defaults and &lt;code&gt;&amp;lt;..&amp;gt;&lt;/code&gt; of its own.&#10;Commands go in double quotes (with &lt;code&gt;\&amp;quot;&lt;/code&gt; for a quote inside) or in single&#10;quotes. On a machine with no command and no &lt;code&gt;:*&lt;/code&gt;, the bookmark says so and&#10;runs nothing.&lt;/p&gt;</description></item><item><title>Inside ssh, tmux and other programs</title><link>https://thetextsmith.com/docs/inside-ssh-tmux-and-other-programs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/inside-ssh-tmux-and-other-programs/</guid><description>&lt;p&gt;Bookmarks run at your own shell&amp;rsquo;s prompt. Inside &lt;code&gt;ssh&lt;/code&gt;, &lt;code&gt;tmux&lt;/code&gt; or any other&#10;program, the shell is not The Textsmith&amp;rsquo;s, so &lt;code&gt;#@&lt;/code&gt;, Alt+Enter and Alt+M do&#10;not apply there. The bookmark list does: while a program runs, choosing a&#10;bookmark types its command into the program without pressing Enter, so you&#10;can hear it and then press Enter yourself. A bookmark that takes arguments&#10;is typed with its places (&lt;code&gt;&amp;lt;file&amp;gt;&lt;/code&gt;) for you to replace.&lt;/p&gt;</description></item><item><title>Bookmarks in other terminals</title><link>https://thetextsmith.com/docs/bookmarks-in-other-terminals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/bookmarks-in-other-terminals/</guid><description>&lt;p&gt;Bookmarks need not stay in The Textsmith. &lt;code&gt;textsmith bm export&lt;/code&gt; writes&#10;them as ordinary bash and zsh functions:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;textsmith bm export -o ~/.config/textsmith/bookmarks.sh&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Then, in &lt;code&gt;~/.bashrc&lt;/code&gt; or &lt;code&gt;~/.zshrc&lt;/code&gt; on any machine or terminal:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;[ -f ~/.config/textsmith/bookmarks.sh ] &amp;amp;&amp;amp; . ~/.config/textsmith/bookmarks.sh&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Each bookmark becomes a function of the same name. It takes the same&#10;arguments and says the same sentence when they are wrong:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;site() {&#10; (( $# == 2 )) || { printf '%s\n' 'site takes 2 arguments: source, destination; you gave '&amp;quot;$#.&amp;quot; &amp;gt;&amp;amp;2; return 2; }&#10; rsync -rltvP --delete &amp;quot;${1}&amp;quot; forge:/var/www/&amp;quot;${2}&amp;quot;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Defaults, &lt;code&gt;&amp;lt;..&amp;gt;&lt;/code&gt;, counts and commands per machine all carry over. A piped&#10;bookmark becomes a function to pipe into: &lt;code&gt;ls | count&lt;/code&gt;. Bookmarks without a&#10;name, and additions that are not commands on their own (&lt;code&gt;#quiet: 2&amp;gt;/dev/null&lt;/code&gt;), are left out. Run the export again after changing your&#10;bookmarks.&lt;/p&gt;</description></item><item><title>The review buffer</title><link>https://thetextsmith.com/docs/the-review-buffer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/the-review-buffer/</guid><description>&lt;p&gt;&lt;strong&gt;F4&lt;/strong&gt; opens a read-only view of the tab&amp;rsquo;s session: each command on a line&#10;of its own, &lt;code&gt;$ make (failed, exit 2)&lt;/code&gt;, and its output under it. The cursor&#10;starts on the last command.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The arrow keys and the usual text keys read it. Shift with them selects,&#10;and Ctrl+C copies.&lt;/li&gt;&#10;&lt;li&gt;Alt+Up and Alt+Down: the previous and next command.&lt;/li&gt;&#10;&lt;li&gt;Alt+PageUp and Alt+PageDown: the previous and next command that failed.&lt;/li&gt;&#10;&lt;li&gt;Alt+End: the last command, with the newest output.&lt;/li&gt;&#10;&lt;li&gt;Escape or F4: back to the terminal.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The output is taken when each command finishes, so progress bars show as&#10;they ended. Full-screen programs such as vim are not in the review, only&#10;what they left on the normal screen.&lt;/p&gt;</description></item><item><title>Keys</title><link>https://thetextsmith.com/docs/keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/keys/</guid><description>&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Key&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;What it does&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;F1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;This manual, in your web browser&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;Ctrl+F1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;About The Textsmith&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;F4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The review buffer, and back&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;Alt+Enter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Run the line as a bookmark call&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;Alt+Shift+Enter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Fill the bookmark call in without running it&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;Shift+Enter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Run the line with sudo&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;Alt+M&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Bookmark the line (or the last command), or remove that bookmark&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;Alt+Shift+M&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Bookmark the line and run it&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;Alt+Shift+B&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The bookmark list&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;Tab, Shift+Tab&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Complete: the next and previous choice&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;Ctrl+Shift+C, Ctrl+Shift+V&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Copy, paste&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;Ctrl+Shift+T, Ctrl+Shift+W&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;New tab, close tab&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;Ctrl+PageDown, Ctrl+PageUp&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Next tab, previous tab&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;Ctrl+Comma&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Open the preferences file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;In the review buffer: Alt+Up, Alt+Down, Alt+PageUp, Alt+PageDown and&#10;Alt+End, as above.&lt;/p&gt;</description></item><item><title>Preferences</title><link>https://thetextsmith.com/docs/preferences/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/preferences/</guid><description>&lt;p&gt;The Textsmith keeps your bookmarks and preferences in one folder, the first&#10;of these that applies:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;code&gt;TEXTSMITH_CONFIG&lt;/code&gt; (or &lt;code&gt;TEXTSMITH_HOME&lt;/code&gt;), if you set it;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;~/.textsmith&lt;/code&gt;, if it is there (earlier versions used it);&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;~/.config/textsmith&lt;/code&gt;, or &lt;code&gt;$XDG_CONFIG_HOME/textsmith&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;code&gt;textsmith --config-dir&lt;/code&gt; says which one is in use.&lt;/p&gt;&#10;&lt;p&gt;The preferences are in &lt;code&gt;gtk-prefs.json&lt;/code&gt;, written with every default the&#10;first time The Textsmith starts. &lt;strong&gt;Ctrl+Comma&lt;/strong&gt; opens it in your text&#10;editor, and it is read again when the window gets the focus back.&lt;/p&gt;</description></item><item><title>With a screen reader</title><link>https://thetextsmith.com/docs/with-a-screen-reader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/with-a-screen-reader/</guid><description>&lt;p&gt;The Textsmith is tested with Orca on GNOME and MATE. Some notes:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Typing, the cursor and new output are read by Orca as in GNOME&#10;Terminal. Enter and Tab do not make it read your prompt again.&lt;/li&gt;&#10;&lt;li&gt;For long output, F4 is the review buffer: a text view, where Orca&amp;rsquo;s&#10;usual reading keys work, with jumps between commands.&lt;/li&gt;&#10;&lt;li&gt;Alt+Shift with the arrows are Orca&amp;rsquo;s table keys, so The Textsmith leaves&#10;them alone; failed commands are on Alt+PageUp and Alt+PageDown.&lt;/li&gt;&#10;&lt;li&gt;When a key has nothing to report (&amp;ldquo;No earlier command&amp;rdquo;, a bookmark&#10;mistake), The Textsmith says so through the accessibility layer, once.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Help and feedback</title><link>https://thetextsmith.com/docs/help-and-feedback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thetextsmith.com/docs/help-and-feedback/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;The site, with this manual and news: &lt;a href="https://thetextsmith.com"&gt;https://thetextsmith.com&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Under the Anvil, the blog about working with text and the shell:&#10;&lt;a href="https://thetextsmith.com/blog/"&gt;https://thetextsmith.com/blog/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Questions, bugs and ideas: the issue tracker,&#10;&lt;a href="https://github.com/thetextsmith/textsmith/issues"&gt;https://github.com/thetextsmith/textsmith/issues&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Copyright 2026 Ishe Chinyoka. The Textsmith is free software: you can&#10;redistribute it and change it under the terms of the GNU General Public&#10;License, version 3 or (at your option) any later version. It comes with no&#10;warranty. The full licence is in the &lt;code&gt;LICENSE&lt;/code&gt; file and in the About&#10;window.&lt;/p&gt;</description></item></channel></rss>