Как я могу сохранить привязки клавиш режима по умолчанию в новом режиме?

[1123839] Единственная ссылка на специальный параметр [1124258]$_[1124259] в POSIX находится в разделе обоснования [1124260]Shell Variables[1124261]. Этот отрывок подразумевает, что он использовался различными оболочками, но не стандартным образом всеми и был намеренно опущен:

_

(Underscore.) Хотя подчеркивание является исторической практикой, его перегруженное использование в KornShell сбивает с толку, и он был опущен из тома Shell и Utilities. IEEE Std 1003.1-2001.

Так что он может использоваться большинством или всеми POSIX-совместимыми оболочками, но он определён не POSIX.[1123844].

2
06.06.2015, 01:19
1 ответ

Поскольку ясно, что не существует "ванильного" i3 способа сделать это, я создал небольшой препроцессор под названием i3bang , который позволяет мне добиться этого.

Просто

  1. Загрузите и установите i3bang.

  2. Оберните все сочетания клавиш в режиме по умолчанию следующим образом:

    ! @ <+ Default_keybindings 
    bindsym ...
    > 
     
  3. Теперь включите ссылку на этот раздел в конце режима, в котором вы хотите сохранить привязки клавиш по умолчанию:

     режим "skype" {
    bindsym $ mod + !! 1..9,0 exec xdotool mousemove 90! <70 + 40 * !! <0..9 >>; \ 
    exec xdotool click 1 
     ... 
    ! @Default_keybindings 
    } 
     

    Поскольку i3 (несколько неинтуитивно) использует первое возникновение привязки к определенному ключу, если есть несколько привязок, использующих один и тот же ключ, размещение ссылки на default_keybindings last означает, что любые конфликтующие привязки клавиш в вашем новом режиме переопределят значение по умолчанию.

Полное раскрытие : если это уже недостаточно ясно, это мой собственный инструмент.

1
27.01.2020, 22:21

Теги

Похожие вопросы