激活其他监视器后,bspwm工作区无法工作



我几乎使用默认的bspwmrcsxhkdrc

我在笔记本电脑上工作,只要我不把它连接到显示器上,一切都很好。

xrandr --output HDMI1 --mode 1920x1080现在破坏了它。如果我想用Super+1去工作区一,那么什么都不会发生。取而代之的是,工作区一的窗口现在可以在工作区二上访问。

提前感谢!

您必须在xrandr输出上决定启动BSPWM时连接了多少监视器。BSPWM是平铺窗口管理器,它做得很好。

start_from=1
monitors_connected=$(bspc query -M | wc -l)
per_monitor=$(( 10 / monitors_connected ))
for monitor in $(bspc query -M); do
bspc monitor $monitor -d $(seq $start_from $(( start_from + per_monitor - 1)))
start_from=$(( start_from + per_monitor ))
done

在您的情况下,它将把前5个工作区放在第一个监视器上,其他5个放在外部监视器上。

在启动一些状态栏程序之前,上面的代码可以包含在bspwmrc中。

while pgrep -x polybar >/dev/null; do sleep 1; done
xrandr -q | awk '/ connected / {print $1}' | while read -r monitor _; do
polybar -r "$monitor" & 
done

因此每个连接的监视器的polybar都将运行。如果只有一个监视器,什么都不会发生。

最新更新