diff options
Diffstat (limited to 'wiki/Configuration:-Switch-Events.md')
| -rw-r--r-- | wiki/Configuration:-Switch-Events.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/wiki/Configuration:-Switch-Events.md b/wiki/Configuration:-Switch-Events.md new file mode 100644 index 00000000..bb438a20 --- /dev/null +++ b/wiki/Configuration:-Switch-Events.md @@ -0,0 +1,45 @@ +### Overview + +Switch event bindings are declared in the `switch-events {}` section of the config. + +Here are all the events that you can bind at a glance: + +```kdl +switch-events { + lid-close { spawn "bash" "-c" "niri msg output \"eDP-1\" off"; } + lid-open { spawn "bash" "-c" "niri msg output \"eDP-1\" on"; } + tablet-mode-on { spawn "bash" "-c" "gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true"; } + tablet-mode-off { spawn "bash" "-c" "gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false"; } +} +``` + +The syntax is similar to key bindings. +Currently only the `spawn` action are supported. + +> [!NOTE] +> In contrast to key bindings, switch event bindings are *always* executed, even when the session is locked. + +### `lid-close`, `lid-open` + +These events correspond to closing and opening of the laptop lid. + +You could use them to turn the laptop internal monitor off and on (until niri gets this functionality built-in). + +```kdl +switch-events { + lid-close { spawn "bash" "-c" "niri msg output \"eDP-1\" off"; } + lid-open { spawn "bash" "-c" "niri msg output \"eDP-1\" on"; } +} +``` + +### `tablet-mode-on`, `tablet-mode-off` + +These events trigger when a convertible laptop goes into or out of tablet mode. +In tablet mode, the keyboard and mouse are usually inaccessible, so you can use these events to activate the on-screen keyboard. + +```kdl +switch-events { + tablet-mode-on { spawn "bash" "-c" "gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true"; } + tablet-mode-off { spawn "bash" "-c" "gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false"; } +} +``` |
