我几乎使用默认的bspwmrc
和sxhkdrc
。
我在笔记本电脑上工作,只要我不把它连接到显示器上,一切都很好。
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都将运行。如果只有一个监视器,什么都不会发生。