<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Octodo</title>
    <link>https://octodo.sudo8.com/</link>
    <description>Recent content on Octodo</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 08 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://octodo.sudo8.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://octodo.sudo8.com/about/</link>
      <pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://octodo.sudo8.com/about/</guid>
      <description>&lt;h2 id=&#34;what-is-octodo&#34;&gt;What is Octodo?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Octodo&lt;/code&gt; is a desktop terminal &amp;ldquo;complex&amp;rdquo; — a single window that hosts&#xA;multiple workspaces, each with its own shell sessions, split&#xA;panes, and tabs. It is built on top of &lt;strong&gt;Flutter&lt;/strong&gt; for the UI and&#xA;&lt;strong&gt;Rust&lt;/strong&gt; (via &lt;a href=&#34;https://github.com/alacritty/alacritty&#34;&gt;Alacritty&lt;/a&gt;) for&#xA;GPU-accelerated terminal rendering.&lt;/p&gt;&#xA;&lt;h2 id=&#34;highlights&#34;&gt;Highlights&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;GPU-rendered terminal powered by Alacritty, a Rust-based renderer.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flutter-native multi-pane / tab layouts.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keyboard-shortcut driven.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;IME support.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Auto-detect available shells, including WSL distributions.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;platform-support&#34;&gt;Platform support&lt;/h2&gt;&#xA;&lt;div style=&#34;margin: 0 auto; width: fit-content;&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;#&lt;/th&gt;&#xA;          &lt;th&gt;Platform&lt;/th&gt;&#xA;          &lt;th&gt;Status&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;1&lt;/td&gt;&#xA;          &lt;td&gt;Windows&lt;/td&gt;&#xA;          &lt;td&gt;✅&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;          &lt;td&gt;macOS&lt;/td&gt;&#xA;          &lt;td&gt;❌&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;3&lt;/td&gt;&#xA;          &lt;td&gt;Linux&lt;/td&gt;&#xA;          &lt;td&gt;❌&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Download the latest &lt;code&gt;octodo-windows.zip&lt;/code&gt; from&#xA;&lt;a href=&#34;https://github.com/invented-pro/octodo/releases/latest&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Releases&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;mark&gt;Before unzipping, right-click the zip → &lt;strong&gt;Properties&lt;/strong&gt; → tick &lt;strong&gt;Unblock&lt;/strong&gt; → &lt;strong&gt;OK&lt;/strong&gt;.&lt;/mark&gt;&lt;br&gt;&#xA;This stops Windows from marking the unpacked &lt;code&gt;.exe&lt;/code&gt; as untrusted&#xA;(which would block network and shell-spawn APIs).&lt;/li&gt;&#xA;&lt;li&gt;Unzip anywhere and double-click &lt;code&gt;octodo.exe&lt;/code&gt; to launch.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;build-from-source&#34;&gt;Build from source&lt;/h2&gt;&#xA;&lt;p&gt;Requires the Flutter SDK (&amp;gt;= 3.44.0), the Rust toolchain (installed&#xA;via &lt;a href=&#34;https://rustup.rs/&#34;&gt;rustup&lt;/a&gt;), and Windows 10/11 with the&#xA;&lt;strong&gt;Desktop development with C++&lt;/strong&gt; Visual Studio workload:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Showcase</title>
      <link>https://octodo.sudo8.com/showcase/</link>
      <pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://octodo.sudo8.com/showcase/</guid>
      <description>&lt;p&gt;A reference of every keyboard shortcut Octodo exposes, grouped by area&#xA;of the interface.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://octodo.sudo8.com/img/screenshot.png&#34; alt=&#34;Octodo screenshot&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;keyboard-shortcuts&#34;&gt;Keyboard shortcuts&lt;/h2&gt;&#xA;&lt;h3 id=&#34;workspace-sidebar&#34;&gt;Workspace (sidebar)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Windows / Linux&lt;/th&gt;&#xA;          &lt;th&gt;macOS&lt;/th&gt;&#xA;          &lt;th&gt;Action&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+B&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+B&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Toggle the workspace drawer&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+N&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+N&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;New workspace (auto-focuses)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+W&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+W&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Close current workspace (confirm)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Next workspace (cyclic)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+[&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+[&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Previous workspace (cyclic)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+1&lt;/code&gt; … &lt;code&gt;9&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+1&lt;/code&gt; … &lt;code&gt;9&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Jump to workspace N&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;F11&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Cmd+F&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Toggle fullscreen&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+Q&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+Q&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Quit&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;panes-split--focus&#34;&gt;Panes (split + focus)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Windows / Linux&lt;/th&gt;&#xA;          &lt;th&gt;macOS&lt;/th&gt;&#xA;          &lt;th&gt;Action&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+D&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+D&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Split focused pane right&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+E&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+E&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Split focused pane down&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+↑&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+↑&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Focus pane above&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+↓&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+↓&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Focus pane below&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+←&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+←&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Focus pane to the left&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+→&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+→&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Focus pane to the right&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+M&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+M&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Toggle maximize focused pane&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;tabs-within-a-pane&#34;&gt;Tabs (within a pane)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Windows / Linux&lt;/th&gt;&#xA;          &lt;th&gt;macOS&lt;/th&gt;&#xA;          &lt;th&gt;Action&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+T&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+T&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;New tab in focused pane&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+K&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+K&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Close focused tab&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Tab&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Option+→&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Next tab in focused pane (cyclic)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+Tab&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Option+←&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Previous tab in focused pane&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+1&lt;/code&gt; … &lt;code&gt;9&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+1&lt;/code&gt; … &lt;code&gt;9&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Jump to tab N in focused pane&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;terminal-engine--clipboard-scroll&#34;&gt;Terminal (engine — clipboard, scroll)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Windows / Linux&lt;/th&gt;&#xA;          &lt;th&gt;macOS&lt;/th&gt;&#xA;          &lt;th&gt;Action&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+C&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+C&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Copy selection&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Insert&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Insert&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Copy selection (alternative)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+V&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+V&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Paste&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+Shift+V&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+Shift+V&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Paste&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Shift+Insert&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Shift+Insert&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Paste&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;PageUp&lt;/code&gt; / &lt;code&gt;PageDown&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;PageUp&lt;/code&gt; / &lt;code&gt;PageDown&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scroll one page&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+=&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+=&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Font Zoom in&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+-&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+-&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Font Zoom out&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;Ctrl+0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;Cmd+0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Font Reset zoom&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
  </channel>
</rss>
