diff --git a/README.md b/README.md index 0499392..af165b8 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,25 @@ sway_inputs: ### Keybinding -Manage keybinding +Keybinding require two variables: `sway_keys_variables` and `sway_keybindings`. + `sway_keys_variables` defined variables for keybinding. Because configuration + file checking throw an error if the first argument of `bindsym` contains a + variable not defined is the file (because `10-variables.config` is not included + when testing) + +```yaml +sway_keys_variables: + - name: '$left' + value: 'h' + - name: '$down' + value: 'j' + - name: '$up' + value: 'k' + - name: '$right' + value: 'l' + - name: '$mod' + value: 'Mod4' +``` ```yaml sway_keybindings: diff --git a/defaults/main/keybindings.yml b/defaults/main/keybindings.yml index 39e0ba5..e936ad6 100644 --- a/defaults/main/keybindings.yml +++ b/defaults/main/keybindings.yml @@ -1,4 +1,16 @@ --- +sway_keys_variables: + - name: '$left' + value: 'h' + - name: '$down' + value: 'j' + - name: '$up' + value: 'k' + - name: '$right' + value: 'l' + - name: '$mod' + value: 'Mod4' + sway_keybindings: - mode: 'normal' bindings: diff --git a/defaults/main/variables.yml b/defaults/main/variables.yml index 4391596..ae36d40 100644 --- a/defaults/main/variables.yml +++ b/defaults/main/variables.yml @@ -1,13 +1,5 @@ --- sway_variables: - - name: '$left' - value: 'h' - - name: '$down' - value: 'j' - - name: '$up' - value: 'k' - - name: '$right' - value: 'l' - name: '$term' value: 'foot' - name: '$menu' diff --git a/templates/50-keybindings.config.j2 b/templates/50-keybindings.config.j2 index 4d79fa4..7be13a4 100644 --- a/templates/50-keybindings.config.j2 +++ b/templates/50-keybindings.config.j2 @@ -1,8 +1,9 @@ -set $mod Mod4 -set $left h -set $down j -set $up k -set $right l +# Keys variables +{% if sway_keys_variables %} +{% for v in sway_keys_variables %} +set {{ v.name }} {{ v.value}} +{% endfor %} +{% endif %} # Dynamic workspace keybindings {% for k,v in sway_workspaces.items() %}