Skip to content

Configuration Cookbook

Leshiy edited this page Jul 31, 2026 · 1 revision

Configuration cookbook

Two ways to configure, always in sync:

  1. Tray → "Settings…" — a native GUI with seven panes (Languages, Hotkeys, Commands, Wordlists, General, Exceptions, About).
  2. Tray → "Edit config.toml…" — the raw file, for anything the GUI doesn't expose yet:
    • Windows: %APPDATA%\opensource\poltertype\config\config.toml
    • macOS: ~/Library/Application Support/dev.opensource.poltertype/config.toml
    • Linux: ~/.config/poltertype/config.toml

Edits apply without a restart: closing the Settings window (or tray → "Reload Settings" after hand-edits) picks everything up.

Recipes

Limit which layouts the engine considers

[languages]
active  = ["en-US", "uk-UA"]   # empty = every layout the OS has
ignored = ["ru-RU"]            # never switch to these

Silence PolterType in one app

[exceptions]
disabled_apps = ["Code.exe", "kitty"]   # executable basename, case-insensitive

The list is empty by default — two engine-level guards (the identifier guard and the plausibility keep) are what keep PolterType out of kubectl-style tokens everywhere, on every OS. Needs the focus tracker (Windows / Hyprland / X11).

Turn the identifier guard off (or keep it — it's why code survives)

[engine]
suppress_in_identifiers = true   # default; snake_case / camelCase / x2 tokens are left alone

The manual force-switch hotkey (Ctrl+Shift+Backspace; Ctrl+Shift+F9 on Wayland) bypasses every filter by design — use it for that one wrong-layout comment word inside your IDE.

Text expanders / smart commands

[[commands]]
id      = "anrl"
trigger = "anrl"
action  = { type = "type_text", text = "Anatomical Reference List" }

[[commands]]
id      = "to-english"
trigger = "((en))"
action  = { type = "switch_layout", layout = "en-US" }

[[commands]]
id      = "open-config"
trigger = ";cfg"
action  = { type = "open_path", path = "~/.config/poltertype/config.toml" }
apps    = ["Code.exe"]   # optional per-app scoping

Teach it your vocabulary

Easiest: Settings → Wordlists — pick a layout, one word per line, Save. Or drop files into <config-dir>/poltertype/wordlists/ (en-USen_us.txt). The tooltip's Add to dictionary row does the same thing one word at a time. Per-app overlay profiles are documented in docs/DATA_LAYOUT.md.

Turn the updater off

[updates]
enabled = false   # never check, never download; also deletes anything staged

Tune or disable spelling suggestions

[suggestions]
enabled = false   # or tune timeout / candidate count — see the Suggestions pane

Hotkeys (defaults)

Chord Action
Ctrl+Shift+Space (Ctrl+Shift+P on macOS) Pause / resume auto-switching
Ctrl+Shift+Backspace (Ctrl+Shift+F9 on Wayland) Force-switch the last word, ignoring every filter

Both rebindable on the Hotkeys pane; the platform substitutions apply only while you are on the default, and the README explains why each exists.