是否可以在i3中使用2x2网格布局?我查看了文档并尝试移动窗户,但我无法做到。
答案 0 :(得分:6)
您可以组合水平分割和垂直分割容器以获得所需的布局。
如果在工作区上打开四个窗口,它们都在一个容器内。其布局取决于workspace_layout
和default_orientation
设置。要进入2x2网格,您有两个基本选项:
其中一个可能的 i3 命令序列是
layout splith
move down
layout splith
focus up
move down
这也可以在一个命令链中完成,该命令链可以使用i3-msg
运行或绑定到快捷方式:
layout splith, move down, layout splith, focus up, move down
layout splith
将初始容器的布局更改为水平拆分。move down
将当前关注的窗口向下移动,从初始容器移动到新容器中。初始容器和新容器都放在一个垂直拆分容器中。layout splith
这会将新(内部)容器的布局更改为水平拆分focus up
将其余三个窗口中的一个放在原始容器中(使用focus left|right
选择一个特定的窗口)move down
将焦点窗口移动到先前移动的窗口右侧的新容器中。 (当移动到现有容器 i3 时,始终将移动的窗口放置在该容器中最后一个活动的窗口的右侧或下方(取决于布局)。)命令序列与前一个命令序列非常相似。您只需使用splitv
代替splith
和right|left
代替down|up
:
layout splitv
move right
layout splitv
focus left
move right
或者一气呵成:
layout splitv, move right, layout splitv, focus left, move right
两个选项的序列仅是示例。根据您的workspace_layout
和default_orientation
,可能没有必要明确调用layout splitv|splith
。也可以将窗口向左或向上移动而不是向右或向下移动。
注意:由于嵌套特性,在某些情况下,两个内部容器之间的导航可能看起来与直觉相反。当焦点移动到当前容器之外时, i3 将始终将最后一个活动窗口聚焦在另一个容器中,该容器不一定是当前窗口旁边的窗口。例如:
+-----------+-----------+
|+---------+|+---------+|
|| ||| ||
|| 1* ||| 3 ||
|| ||| ||
|+---------+|+---------+|
|| ||| ||
|| 2 ||| 4+ ||
|| ||| ||
|+---------+|+---------+|
+-----------+-----------+
这是水平分割容器内的两个垂直分割容器。第一个容器的窗口为 1 , 2 ,其中 1 是当前关注的窗口。第二个容器的窗口为 3 , 4 , 4 是上次关注该容器窗口时处于活动状态的容器。在这种情况下,focus right
将关注窗口 4 和不窗口 3 ,正如人们所期望的那样。
答案 1 :(得分:0)
你只需要两个基本的键组合(默认值, mod 是 left alt 键):
mod + 方向键:在窗口上移动活动焦点
mod + shift + 方向键:移动焦点窗口本身
其中:
方向键是 j , k , l ,; 或箭头;
示例:
mod + h 或 mod + 向左箭头将活动焦点移动到左侧窗口
mod + shift + k 或 mod + shift + 向下箭头向下移动焦点窗口
只需使用 mod + 输入打开任意数量的终端,然后尝试使用上面的快捷方式在当前工作区中移动它们。