1. 外部プログラムを使用してワークスペースを動的に作成してアクセスします。

1. 外部プログラムを使用してワークスペースを動的に作成してアクセスします。

最近私はそれを使い始め、それとi3wm恋に落ちた。しかし、1つの面倒なことは、10以上のワークスペースを制御することです。

私の構成では、ワークスペース1から9(および10)を切り替えますが、$mod+1時には10のワークスペースでは不十分です。$mod+9$mod+0

現在私はクリックを介して$mod+mod1+1ワークスペース11〜20に達しています。もちろん、あまり問題はありませんが、このようにワークスペースを切り替えるのはキーを簡単に押すことができないのでかなり面倒です。また、ワークスペース11と20の間でアプリを移動するのに時間がかかります。 -> 見苦しいです。$mod+mod1+0mod+alt+numbermod+shift+alt+number

私のVimバインディング(プラグインがたくさんあります)では、私はmodkey + rプラグイン1やmodkey + modkey + rプラグイン2などの二重修飾子ショートカットを使い始めました。これにより、各キーを2回バインドでき、モードキーを2回押すのが簡単で迅速です。

似たようなことができますかi3wm

10以上のワークスペースをどのように活用しますかi3wm?他の解決策がありますか?

ベストアンサー1

i3実際、このようなキーシーケンスをサポートしていませんウィム。すべてのキーバインディングは、単一のキーとその前のShift+Shift別の修飾子(したがってなし)のオプションのリストで構成されています。そして、すべての修飾キーは主キーと同時に押す必要があります。

つまり、長い修飾子のリストに縛らずに大きなワークスペースを持つことができる2つの主な方法があります。

1. 外部プログラムを使用してワークスペースを動的に作成してアクセスします。

各ワークスペースのショートカットを定義する必要はなく、転送して動的に作成できますworkspace NEW_WSi3たとえば、プログラムは次のようになります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

どちらの例でも、workspaceorコマンドはmove次のようにmode "default"関連付けられています。i3各コマンドの後、自動的に主キーバインディングマッピングに戻ります。

おすすめ記事