Change Log

What's new in each release of Todtler.

In development

See Latest builds at Download page. Note: some functions might not yet be available in today's build. — Latest update: today (v1.1.068)

  • Added smart_quotes (on by default): as-you-type, replaces ` with a curly opening quote (‘) and ' with a curly closing quote (’), regardless of file format; toggle off in todtler.conf if you need literal backticks/apostrophes (e.g. code spans).
  • (Un)folding a chapter now also (un)folds all of its sub-chapters, so you don't have to open each nested section one by one.
  • The Open File dialogue (ESC O) now has an option to show your recently opened files, listed with the newest first: just press R.
  • The "Find" tool now highlights every match on screen, just like tGrep already did.
  • Clearing a tGrep filter is now easier: open tGrep and simply press Enter to instantly go back to your full, unfiltered text.
  • You can now choose whether "Find" pays attention to uppercase/lowercase letters, using the same setting style as tGrep.
  • Zoom didn't work on macOS (Terminal.app, iTerm2): Both were misdetected as generic xterm, which sent an escape sequence they don't support. Now uses native macOS font control instead.
  • Added Chapter Swap (ESC ↓ / ESC ↑): reorder a chapter with its next/previous sibling, respecting sub-chapter levels.
  • Added Text Expansions: assign keyboard shortcuts to names, phrases, symbols, and other frequently used text.
  • #RRGGBB syntax-highlight colours now work on far more terminals. Previously they relied on a terminal capability that most common setups (including many SSH sessions and terminal multiplexers) don't advertise even when they actually support custom colours, so they silently fell back to plain white. Todtler now also tries a more broadly-supported method before giving up, and falls back to the closest standard colour — instead of always white — as a last resort. The real Linux virtual console (not a terminal emulator window) still can't show custom colours at all; that's a hardware limitation no software can work around
  • Added syntax highlighting for .odt files. ~/.config/todtler/odt.conf is now created automatically (like md.conf/fountain.conf) with five sections, checked in this order:
    • self_defined — an ordinary regex rule, colours specific words or patterns (e.g. TODO markers) regardless of formatting
    • bold_italic — colours text with both bold and italic formatting applied
    • bold — colours text with bold formatting applied (bold-only, since bold+italic is already claimed above)
    • italic — colours text with italic formatting applied (italic-only, since bold+italic is already claimed above)
    • normal — colours text with neither bold nor italic applied
    Since ODT text carries real bold/italic formatting rather than markup characters, these sections use special pattern tokens — @bold_italic@, @bold@, @italic@, @normal@ — matched against the document's actual formatting runs (the same ones toggled with the Bold/Italic commands) instead of a regex. Sections can be freely reordered, removed, or mixed with ordinary regex rules to change priority.
  • Added syntax highlighting for .txt files. ~/.config/todtler/txt.conf is now created automatically with one self_defined section (a regular regex rule) for users to customise, since plain text carries no formatting of its own
  • Toggling bold/italic on a selection (ESC B / ESC I) now immediately refreshes syntax colours where an ODT bold_italic/bold/italic/normal rule applies
  • Updated the in-app help screen ("Syntax highlighting") to document txt.conf, odt.conf, and the @bold_italic@/@bold@/@italic@/@normal@ tokens; removed the now-outdated note that syntax highlighting "has no effect on ODT files"
  • Added support for the Alacritty terminal
  • Added default_extension config option: choose which file format Todtler uses when saving a document with no extension typed (odt, txt, md, or fountain). Also controls the extension on timestamp filenames created by ESC N
  • Syntax highlighting: add colour rules for any file type via ~/.config/todtler/<ext>.conf. Each rule pairs a search pattern with a colour (by name, hex code, or inverse). Ready-to-edit default rules are created automatically for .md and .fountain on first open
  • Chapter-folding now includes subchapters: headings at all Markdown levels (`#`, `##`, `###`, etc.) are recognized as chapters
  • Added "Create [N]ew document" shortcut (ESC N) for creating a new empty document
  • Added newdoc_timestamp config option. Controls whether ESC N assigns a timestamp filename or opens a blank unnamed document
  • Save As now pre-fills the filename field with the current document name; one Backspace clears it
  • Full-text search ("/" in ESC O / ESC D): Search file contents directly from the file browser. Press "/" to enter a search term; Todtler scans the current directory and ranks matching files by hit count
  • Tgrep (ESC G): Filter your document to matching lines only. Non-matching lines fold away instantly; visible matches are highlighted. Navigation skips hidden lines, and ESC * restores everything at once. Match style (color or inverse) and case sensitivity are configurable
  • Added adjustable margins: ESC 1 (left), ESC 2 (right), ESC 3 (top), and ESC 4 (bottom) reserve blank space around the text area. Each is entered as a percentage of terminal width or height, so margins keep their proportions across window resizes instead of breaking at a fixed character count. Display only: The saved document is never altered. Persisted via the margin_left, margin_right, margin_top, and margin_bottom config options

Version 1.0 — June 22, 2026

Initial public release.

  • Distraction-free terminal editing for ODT, Markdown, Fountain, and plain text files
  • Full UTF-8 support, including accented and international characters
  • Adjustable font size, remembered between sessions
  • Fully remappable keyboard shortcuts
  • Typewriter mode
  • Section folding for Markdown and Fountain documents
  • Builds available for Linux (AppImage, Flatpak, and standalone binaries), macOS, and Raspberry Pi