Open-source Linux productivity · Rust · MIT

WayExpand: a text expander built for Wayland

Type ;sig and get your signature. Type ;ty and get your support reply, with the cursor waiting where you need to keep typing. Local, offline, no account, no telemetry.

Why another text expander?

Most Linux text expanders were built for X11 and break, or need raw keyboard access, on Wayland desktops. WayExpand is written for Wayland from the start, with input-method, libei and wlroots backends, and a setup flow that picks the safest input path your desktop offers. It never grants raw keyboard access on its own.

Features

  • Matcher preview: try your snippets as you type, using the daemon's own matching engine, before any desktop setup.
  • Quick-insert picker: bind wayexpand-gui --picker to a shortcut, type a few letters, press Enter.
  • Whole config files from templates: wayexpand new playbook asks for the host group and writes a ready Ansible playbook. Dockerfiles, Compose, Kubernetes, systemd units, nginx sites and CI workflows are built in.
  • Safe by design: matching pauses in password fields when the desktop reports them, command snippets run without a shell under timeouts, and errors never echo your snippet text.
  • Bring your library: import Espanso YAML, edit in the GUI, the terminal UI or plain TOML, and roll out team snippets with fleet policy.

Install

On Ubuntu 26.04, the experimental daily package is in the PPA:

sudo add-apt-repository ppa:cyberducttape/ppa
sudo apt update
sudo apt install wayexpand

Experimental .deb, .rpm and archives for x86_64 and aarch64 are on the releases page, or build from source with Rust 1.92 or newer:

git clone https://github.com/cyberducttape/wayexpand
cd wayexpand
./scripts/install-user.sh
wayexpand-gui

Then run wayexpand doctor to see what your desktop supports.

Desktop compatibility

Wayland backends are available, but compositor support varies and no compositor is certified yet by automated end-to-end tests. App-specific snippets need focused-window tracking, currently only on KDE Plasma; elsewhere they fail closed. Packages are experimental builds that pass CI but not real-desktop certification. Check wayexpand doctor on your own session before relying on it.