Espanso config.yml
define HOW Espanso acts
Validate with Lintel
npx @lintel/lintel check
a schema to validate base.yaml
Properties
Filter based on the current window title.
Filter based on the current application's executable path. For example, C:\Programs\Telegram.exe
Filter based on the current window class. This is mostly relevant on Linux
OS specific filter
extend the defaults with these files
redefine includes without extending them
extend the defaults with these files
redefine includes without extending them
If true, instructs the daemon process to restart the worker (and refresh the configuration) after a configuration file change is detected on disk. Default true
How many backspace espanso tracks to correct misspelled keywordsMaximum number of backspace presses espanso keeps track of. For example, this is needed to correctly expand even if typos are typed. Default 5
On Wayland, overrides the auto-detected keyboard configuration (RMLVO) which is used both for the detection and injection process.
5 nested properties
If true, Espanso will attempt to preserve the previous clipboard content after an expansion has taken place.
Hotkey used to show the Search UI.
Trigger used to show the Search UI.
Hide the Espanso status icon on the macOS menu bar or the Windows system tray
If false, disable all notifications.
Defines the key that disables/enables espanso when double pressed.
If true, filter out keyboard events without an explicit HID device source on Windows. This is needed to filter out the software-generated events, including those from Espanso, but might need to be disabled when using some software-level keyboards. Disabling this option might conflict with the undo feature.
The maximum interval (in milliseconds) for which a keyboard layout can be cached. If switching often between different layouts, you could lower this amount to avoid the "lost detection" effect described in this issue: https://github.com/federico-terzi/espanso/issues/745.
Chars that when pressed mark the start and end of a word. Examples of this are . or ,
When enabled, espanso automatically "reverts" an expansion if the user presses the Backspace key afterwards. This is not available on some platform/configurations.
If false, avoid applying the built-in patches to the current config.
The mechanism used to perform the injection. Espanso can either inject text by simulating keypresses (Inject backend) or by using the clipboard (Clipboard backend). Both of them have pros and cons, so the Auto backend is used by default to automatically choose the most appropriate one based on the situation. If for whatever reason the Auto backend is not appropriate, you can change this option to override it.
Number of chars after which a match is injected with the clipboard backend instead of the default one. This is done for efficiency reasons, as injecting a long match through separate events becomes slow for long strings. This is only relevant if the backend is set to Auto.
NOTE: This is only relevant on Linux under X11 environments. Switch to a slower (but sometimes more supported) way of injecting key events based on XTestFakeKeyEvent instead of XSendEvent. From my experiements, disabling fast inject becomes particularly slow when using the Gnome desktop environment.
Restores ALT-code functionality to Windows.
If false, Espanso will be disabled for the current configuration. This option can be used to selectively disable espanso when using a specific application (by creating an app-specific config).
Extra delay to apply when injecting modifiers under the EVDEV backend (Wayland). This is useful on Wayland if espanso is injecting seemingly random cased letters, for example"Hi theRE1" instead of "Hi there!". Increase if necessary, decrease to speed up the injection.
Number of milliseconds between text injection events. Increase if the target application is missing some characters.
Number of milliseconds between key injection events. Increase if the target application is missing some key events. For example, increasing might help if the trigger is not deleted completely.
Number of milliseconds between keystrokes when simulating the Paste shortcut. For example: CTRL + (wait 5ms) + V + (wait 5ms) + release V + (wait 5ms) + release CTRL. This is needed as sometimes (for example on macOS), without a delay some keystrokes were not registered correctly.
Customize the keyboard shortcut used to paste an expansion. This should follow this format: CTRL+SHIFT+V.
Delay (in ms) returning text after closing a form, to allow the target application regain focus.
Maximum width of a form window.
Maximum height of a form window.
The max number of characters held in memory for regex matching
Delay (in ms) returning text after the search bar has closed, to allow the target application regain focus.
Delay (in ms) that espanso should wait to trigger the paste shortcut after copying the content in the clipboard. This is needed because if we trigger a "paste" shortcut before the content is actually copied in the clipboard, the operation will fail. If you see previous contents of the clipboard being inserted instead of the correct replacement, increase this value.
The number of milliseconds to wait before restoring the previous clipboard content after an expansion. This is needed as without this delay, sometimes the target application detects the previous clipboard content instead of the expansion content.
If true, use the xclip command to implement the clipboard instead of the built-in native module on X11. You'll need to install the xclip command. Enable if the clipboard "get stuck" for some applications on Linux.
If true, use the xdotool command to implement the clipboard.