我使用的几乎是默认的bspwmrc和sxhkdrc。
我在一台笔记本电脑上工作,只要我没有把它连接到我的显示器上,一切都很好。
xrandr --output HDMI1 --mode 1920x1080现在打破了它。如果我想使用Super+1进入第一个工作区,那么什么都不会发生。相反,一号工作区的窗口现在可以在二号工作区上访问。
提前感谢!
发布于 2020-12-06 23:55:53
在启动BSPWM时,您必须决定xrandr输出连接了多少个监视器。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都将运行。如果只有一个监视器,则不会发生任何事情。
https://stackoverflow.com/questions/63104980
复制相似问题