如何将所有工作区转移到下一个(或上一个)输出

如何将所有工作区转移到下一个(或上一个)输出

假设我有 3 个显示器或输出:左、中、右。我有 6 个工作区。活动工作区标有星号:

左边 中心 正确的
1* 2、3* 4、5*, 6

我怎样才能触发动作转移所有活动工作区都位于左/右输出,因此在一侧输出之一长时间工作时不会出现斜颈? “向右移动”后所需的结果将是这样的:

左边 中心 正确的
5* 2、1* 4、3*, 6

我知道i3-msg move workspace to output next,但我想同时在我所有可用的监视器中执行此操作。

我的猜测是,我将不得不编写一个小脚本来解析输出的名称,然后对于每个输出,将其活动工作区移动到左/右。但我需要某种临时监视器来放入第一个监视器(否则我无法进行转换)。

或者也许识别 i3 树中的每个工作区 ID,并将其移动(通过 ID,而不是通过“活动”状态)到其左/右。

这个问题有一些相关,但不完全相关。据我了解,OP 想要一个“跨输出的大工作空间”。我仍然想要“一个输出同时显示一个工作区”的 i3 方法,但我想要一种简单的方法来跨输出转移所有活动的工作区。

相关内容