我已在Linux笔记本电脑上使用i3。我通常只使用笔记本电脑的内置显示器(显示器eDP1
),但是在工作时,我倾向于将辅助显示器连接到计算机的HDMI端口(显示器HDMI2
)。到目前为止,通过将以下命令添加到我的i3配置文件中,我可以使此工作正常进行:
# use workspaces on different monitors
workspace "1: P1" output eDP1
workspace "2: P2" output eDP1
workspace "3: P3" output eDP1
workspace "4: P4" output eDP1
workspace "5: P5" output eDP1
workspace "6: S1" output HDMI2
workspace "7: S2" output HDMI2
workspace "8: S3" output HDMI2
workspace "9: S4" output HDMI2
workspace "10: S5" output HDMI2
# add HDMI monitor when connected
exec --no-startup-id xrandr --output HDMI2 --right-of eDP1
bindsym $mod+m exec --no-startup-id xrandr --output HDMI2 --auto --right-of eDP1
换句话说,当我连接HDMI显示器时,只需按Mod+ M即可让i3对其进行检测,将其放置在主显示器的右侧,然后将5个命名的工作区(6-10)委派给它。
问题出在这里:在家里,我有另一台显示器可以与VGA连接(显示器DP2
)。我也可以运行xrandr
上面的命令将该显示器也放置在主显示器的右侧,但是默认情况下我无法将工作区分配给该显示器,除非我替换了我的HDMI监视器已有的规则。无论我使用哪个监视器,我都希望这两个工作区都可以工作,所以这不是一个选择。
TL; DR是否有一种方法可以根据所连接的显示器将工作区分配给两个不同的显示器(假设它们永远不会同时连接)?