i3はvimのようなキーシーケンスを実際にはサポートしていません。すべてのキーバインディングは、個別の(したがってno Shift+Shift
)修飾子のオプションのリストが前に付いた単一のキーで構成されます。そして、すべての修飾キーは、メインキーが押されたときに押される必要があります。
そうは言っても、修飾子の長いリストにバインドせずに多くのワークスペースを作成するには、主に2つの方法があります。
1.外部プログラムでワークスペースを動的に作成してアクセスする
すべてのワークスペースにショートカットを定義する必要はありません。たとえば、プログラムを使用workspace NEW_WS
してi3にを送信することで、その場でそれらを作成できますi3-msg
。
i3-msg workspace NEW_WS
i3-msg move container to workspace NEW_WS
i3にはi3-input
、小さな入力フィールドを開き、指定された入力をパラメーターとしてコマンドを実行するコマンドも付属しています
i3-input -F 'workspace %s' -P 'go to workspace: '
i3-input -F 'move container to workspace %s' -P 'move to workspace: '
これらの2つのコマンドをショートカットにバインドすると、ショートカットを押して目的のワークスペースの名前(または番号)を入力するだけで、任意の数のワークスペースにアクセスできます。(番号付きのワークスペースのみを使用する場合workspace number %s
は、単にの代わりに使用したい場合がありますworkspace %s
)
2.キーバインディングモード内でワークスペースを単純なショートカットに静的にバインドします
あるいは、より静的なアプローチの場合、i3構成でモードを使用できます。フォーカスとワークスペースへの移動に個別のモードを使用できます。
set $mode_workspace "goto_ws"
mode $mode_workspace {
bindsym 1 workspace 1; mode "default"
bindsym 2 workspace 2; mode "default"
# […]
bindsym a workspace a; mode "default"
bindsym b workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+w mode $mode_workspace
set $mode_move_to_workspace "moveto_ws"
mode $mode_move_to_workspace {
bindsym 1 move container to workspace 1; mode "default"
bindsym 2 move container to workspace 2; mode "default"
# […]
bindsym a move container to workspace a; mode "default"
bindsym b move container to workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace
または、単一のモード内で焦点を合わせて移動するための個別のバインディングを持つこともできます。
set $mode_ws "workspaces"
mode $mode_ws {
bindsym 1 workspace 1; mode "default"
bindsym Shift+1 move container to workspace 1; mode "default"
bindsym 2 workspace 2; mode "default"
bindsym Shift+2 move container to workspace 2; mode "default"
# […]
bindsym a workspace a; mode "default"
bindsym Shift+a move container to workspace a; mode "default"
bindsym b workspace b; mode "default"
bindsym Shift+b move container to workspace b; mode "default"
# […]
bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace
どちらの例でも、workspace
or move
コマンドはと連鎖しているmode "default"
ため、i3は各コマンドの後に自動的にデフォルトのキーバインディングマップに戻ります。