write
write is an opinionated, writing-centric editor whose entire purpose is to silence the
writer's inner editor. Text fades from the screen shortly after it is typed, so there is nothing
to look back at, nothing to second-guess, and nothing to fiddle with. You simply write.
Output is plain Markdown, appended to a daily file. There is no editing, no deletion, no cursor
movement, no selection — once a character is typed it is permanent in the file and soon invisible on
screen. When you are done, open the resulting .md in your real editor (Neovim, etc.) to revise.
How it works
- Fullscreen, borderless, distraction-free. The app takes over the screen with a black canvas and a single bottom-anchored column of text. No chrome, no menus, no mouse.
- The fading view. Each glyph stays fully visible for ~30 seconds, then fades out over ~1 second and is gone for good. Older lines scroll off the top as you write.
- Append-only Markdown. Everything you type is appended verbatim to today's session file at
~/Documents/write/YYYY-MM-DD.md(falling back to your home directory if there is no Documents folder). The file is flushed andfsync'd roughly every 30 seconds and again on a clean exit, so your words are durable. - One writer per day. Each day shares a single file, guarded by an advisory lock. If a second
writeis already running for today, the new instance exits quietly instead of fighting over the file.
Keys
| Key | Effect |
|---|---|
| any character | appended to the file and shown on screen |
Enter |
inserts a paragraph break (\n\n); a second consecutive Enter clears the screen |
Backspace |
does not delete — appends a single space and clears the screen |
Esc |
opens the menu (live word count); Esc again resumes, Q quits |
Arrows, Delete, Home/End, PageUp/PageDown, and Cmd/Ctrl combinations (paste, undo, …)
are intentionally ignored. There is no way to revise text from inside write.
Install & run
Requires a recent Rust toolchain (edition 2024).
Your writing lands in ~/Documents/write/, one Markdown file per day.
Platform support
write is built on egui/eframe and is portable in principle,
but it is developed and tested on macOS first. Other platforms track upstream egui maturity.