Недавно я начал пользоваться i3wm
и влюбился в него. Однако меня беспокоит одна вещь: управление более чем 10 рабочими пространствами.
В моем конфиге $mod+1
для $mod+9
переключения между рабочими пространствами от 1 до 9 (и $mod+0
для 10), но иногда 10 рабочих областей просто недостаточно.
На данный момент я достучаться до рабочих 11 до 20 с $mod+mod1+1
до $mod+mod1+0
, т.е. удара mod+alt+number
. Конечно, это работает без каких-либо проблем, но переключать подобные рабочие места довольно сложно, поскольку клавиши не легко нажимаются. Кроме того, перемещение приложений между рабочими пространствами с 11 по 20 требует mod+shift+alt+number
-> безобразно.
В моих Vim
привязках (у меня много плагинов) я начал использовать двойные ярлыки модификаторов, как modkey + r
для плагина 1 и modkey + modkey + r
для плагина 2. Таким образом, я могу связывать каждую клавишу дважды, а нажатие клавиши модификации дважды - легко и быстро.
Могу ли я сделать что-то подобное в i3wm
?
Как вы используете более 10 рабочих пространств в i3wm
? Любые другие решения?
источник
i3
действий. Желательно, чтобы у меня было что-то похожее$mod + $mod + 1
на рабочее пространство 11, чтобы быстрое двойное нажатие клавиши «мод» напрямую позволяло мне перейти на рабочее пространство 11-20 с помощью цифровых клавиш 1, 2, ..., 9, 0. ВVim
У меня такое поведение:leader + r
сопоставляется с другим действием, чемleader + leader + r
, таким образом, я могу запускать различные действия с одной и той же горячей клавишей, просто нажав клавишу лидера один или два раза.Ответы:
i3 на самом деле не поддерживает последовательности клавиш, такие как vim . Любая привязка ключа состоит из одного ключа, которому предшествует необязательный список различных (поэтому нет
Shift+Shift
) модификаторов. И все модификаторы должны быть нажаты в то время, когда нажата основная клавиша.При этом есть два основных способа иметь много рабочих пространств, не связывая их с длинными списками модификаторов:
1. Динамически создавать и получать доступ к рабочим пространствам с помощью внешних программ
Вам не нужно определять ярлык для каждой отдельной рабочей области, вы можете просто создать их на лету, отправив
workspace NEW_WS
в i3 , например, с помощьюi3-msg
программы:i3 также поставляется с
i3-input
командой, которая открывает небольшое поле ввода, а затем запускает команду с заданным входом в качестве параметраСвяжите эти две команды с ярлыками, и вы можете получить доступ к произвольному количеству рабочих пространств, просто нажав ярлык, а затем введя имя (или номер) требуемой рабочей области. (Если вы работаете только с пронумерованными рабочими пространствами, вы можете использовать
workspace number %s
вместо простоworkspace %s
)2. Статически привязывать рабочие пространства к простым сочетаниям клавиш в режимах привязки клавиш.
Кроме того, для более статического подхода вы можете использовать режимы в конфигурации i3 . Вы можете иметь отдельные режимы для фокусировки и перемещения в рабочие области:
Или вы можете иметь отдельные привязки для фокусировки и перемещения в одном режиме:
В обоих примерах команды
workspace
или объединеныmove
в цепочкуmode "default"
, так что i3 автоматически возвращается к карте привязки клавиш по умолчанию после каждой команды.источник
Мое решение этого заключается в использовании большего количества ключей:
источник