Lumi
Features

Snippets

Type a trigger, get a replacement — with the caret checked before anything is deleted.

Being written

This page is a stub.

Type vn, get Vietnam. Each snippet decides for itself whether it fires on the following space or the moment the trigger is finished, and each says where it works — everywhere except some applications, or only in some — over a pane-wide list that switches all of them off at once.

A replacement can hold dynamic variables, so part of it is fresh every time.

Vietnamese and other input methods

Lumi never deletes on trust. The keystrokes it watches are a guess at what was typed, because a Vietnamese IME rewrites characters after Lumi has seen them. So before replacing anything, Lumi reads the text actually in front of the caret:

  • It matches → the replacement happens.
  • It does not match → nothing happens, silently. Eating the wrong characters is much worse than a missed expansion.
  • The application exposes no text at all → Lumi falls back to backspaces.

Needs the Accessibility permission.

To write

  • Trigger rules, and what characters may be in one
  • Per-snippet scope, and the master switch
  • Where the history of what fired is kept

On this page