在多显示器设置中,有没有办法将整个工作区(而不是单个应用程序)转移到不同的显示器?
答案1
您可以在 i3 配置中定义绑定。注意:窗口称为“容器”,监视器称为“输出”。相关文档是这里。
move workspace to output left|right|down|up|current|primary|nonprimary|next|<output1>
这是我在配置中使用的内容:
# move focused workspace between monitors
bindsym $mod+Ctrl+greater move workspace to output right
bindsym $mod+Ctrl+less move workspace to output left
奇怪的是,我希望$mod+Ctrl+greater
要求我同时按下 Ctrl 和 Shift,因为您需要按 Shift 才能键入<
和>
。然而,只按 mod、Ctrl 和,
就可以了,这非常好。
请注意,您还可以设置键绑定以按名称将内容发送到特定监视器。
答案2
对于workspace_name 和output_name 的值,可以通过名称显式指定工作区,如下所示:
i3-msg '[workspace="workspace_name"]' move workspace to output output_index
请注意,如果您将工作区命名为1:first
,则使用1
not first
。
答案3
要移动到下一个工作区,您可以使用:
bindsym $mod+Ctrl+greater move workspace to output next
这样做的优点是不可知位置工作空间的 - 它只是在它们之间循环,无论它们是向上还是向下还是其他什么。