Skip to content

feat: aliases, quicklink fallbacks, shared placeholders, new system commands, plain text copy - #55

Merged
jewei merged 32 commits into
mainfrom
feat/aliases-fallbacks-templates
Oct 14, 2026
Merged

jewei merged 32 commits into
mainfrom
feat/aliases-fallbacks-templates

Conversation

@jewei

@jewei jewei commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Adds aliases, shared placeholders for snippets and quicklinks, quicklink fallbacks, three system commands, and plain-text copy.

Changes

  • Aliases. Add Alias in the actions of any app, indexed file, snippet, quicklink, emoji, or command. A whole alias puts its result first, after instant answers; a partial one ranks like a name prefix. Settings > Search lists aliases with Remove. New aliases table (migration 4), up to 500, one result per alias; remove_alias command.
  • Shared placeholders. Snippets and quicklinks both take {query}, {clipboard}, {date}, {time}, {datetime}, filled in one pass. A keyword snippet with {query} takes the text after its keyword (hi Sam). Path quicklinks: the root comes from the template, and a value must be a name (no separator, ., .., dot-only name, or empty part before the template's own ..).
  • Quicklink fallbacks. After the web search, All offers up to three quicklinks with {query}, most used first; none after a keyword, for a hidden quicklink, or for one that shows as a name match.
  • System commands. Open Trash, Sleep Displays (Turn Off Displays), Toggle Dark Mode, with arms on macOS, Windows, and Linux.
  • Plain text. Make Clipboard Plain Text (System), and Copy as Plain Text for copied files in history.
  • Safety fixes found in review. Rows with typed text have no Hide or Add Alias, so Mod+Enter cannot hide a quicklink. On macOS a copy made in Passwords or Keychain Access stays secret for {clipboard}, plain text, and history, also when the launcher opens right after it. Clipboard reads drop a copy that changed during the read.

Named argument forms were left out: they need a new input UI in the launcher.

Review

Fifteen rounds of independent critics (Rust backend, frontend and docs, platform code) until each area reported no findings: Rust in rounds 12 and 13, platform in round 12 (no change since), frontend in round 15.

Checks

  • bun run verify: passes (format, lint, types, 144 frontend tests, build, 175 Rust tests, bindings).
  • CI: passes on macOS, Windows, and Linux.
  • Not done: screenshots and a manual run of the app. The new UI is the alias dialog in the launcher and the alias list in Settings > Search.

jewei added 30 commits October 11, 2026 01:46
…failures

- The clipboard monitor notes a copy made in Passwords or Keychain Access, also while history is off, so a later {clipboard} read treats it as secret.
- Open Trash on Linux waits for gio with its output discarded and reports a failure.
- Sleep Displays waits for the key release only where it is supported.
…n an item's own row

Also bring docs/architecture.md and the changelog up to date with aliases and fallbacks.
A value can no longer cancel a template's own .. to climb higher, or pick the root, such as ~ in {query}/x.
Also note the hidden-results fix in the changelog and say that a snippet's {query} needs a keyword.
@jewei
jewei marked this pull request as ready for review October 10, 2026 19:21
@jewei
jewei merged commit 49fd043 into main Oct 14, 2026
6 checks passed
@jewei
jewei deleted the feat/aliases-fallbacks-templates branch October 14, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant