Skip to content
All projects

Open source / GNOME

Castword

Your words. The tone you need.

Rewrite draft text from anywhere on your GNOME desktop. Type, paste, or dictate; choose a tone, compare the changes, and copy the result.

Castword — compare your draft with the rewritten text
See what changed before using the result.
Desktop
GNOME
Shortcut
Super + Shift + W
Built with
GTK4 · Libadwaita
Availability
Free & open source

From draft to clipboard

  1. Open the overlay

    Press Super + Shift + W from any app.

  2. Choose a tone

    Type, paste, or speak your draft, then select how it should read.

  3. Use the result

    Review the word-level changes. The rewritten text is ready on your clipboard.

Get Castword

Before you start

  • GNOME desktop and Python 3.11+.
  • A supported cloud provider API key, or Ollama for local rewriting.
  • GStreamer for microphone recording; whisper.cpp for offline transcription.
Release notes

What’s inside

Expand a category for details.

Text Rewriting
Global keyboard shortcut (Super+Shift+W by default) activates overlay from any app
Paste or type text, pick a tone — result on clipboard
Word-level diff view — green additions, red strikethrough removals
Three output modes: clipboard + diff, clipboard only, replace in place
Tone System
7 built-in tones: Direct, Technical, Professional, Social, TL;DR, Flirty, Playful — 4 enabled by default (Direct, Technical, Professional, Social)
Create custom tones with a fully editable system prompt
Enable, disable, reorder, edit, or delete any tone
Reset to built-in defaults at any time
AI Providers
OpenAI (GPT-4o), Anthropic (Claude), Google Gemini, Ollama
Switch providers without restarting
API keys auto-detected from environment and shell config (.env, .bashrc, .bash_profile, .profile, .zshrc, .zprofile, fish/config.fish, ~/.config/castword/.env)
Keys stored securely in GNOME Keyring — discovered keys migrated automatically on first run
Test connection button to verify provider setup
Speech-to-Text Phase 2 — infrastructure complete
Microphone recording via GStreamer with automatic silence detection
OpenAI Whisper (cloud) or whisper.cpp (fully offline) — binary auto-detected from PATH, model files scanned from standard directories
Transcribed text appended to input and copied to clipboard
Pause and resume recording without closing the window
System Integration
D-Bus service — no cold-start delay, process stays resident between activations
Launch at Login toggle — installs XDG autostart entry, process starts with --background before the first keypress
Registered in GNOME app menu with icon, desktop file, AppStream metadata
First-run onboarding — guided shortcut registration (with conflict detection) and launch-at-login, all in one dialog
GTK4 + Libadwaita — native GNOME look and feel
Preferences
Four-page prefs window: Tones, Providers, Behaviour, Speech
All changes apply immediately — no save button required
Dismiss on Focus Loss — overlay closes automatically when you switch apps
Keep Text on Dismiss — choose whether input text is retained between activations

A closer look

Support open source

Keep Castword moving.

Castword is free and open source. If it’s useful to you, consider sponsoring its development.

Sponsor Castword(opens in a new tab)