Xmonad 在 1 以外的屏幕上启动

Xmonad 在 1 以外的屏幕上启动

最近,Xmonad 在启动时开始将我置于工作区#3 上。我经常会对此措手不及,因为我会去#2 做某事,而当我切换回#1 时,什么也没有。

根据我对文档的理解,默认情况下,工作区#1 应位于屏幕#1 上,工作区#2 位于屏幕#2(如果存在)上,等等。我使用的是笔记本电脑,据我所知,就在X 启动 xrandr 仅报告一个已连接的屏幕。但出于某种原因,Xmonad 认为唯一连接的屏幕是屏幕#3。

来自 xmonad 联机帮助页:

当使用多个显示器 (Xinerama) 运行时,每个屏幕恰好有 1 个可见工作区。 mod-{w,e,r} 在屏幕之间切换焦点,而 shift-mod-{w,e,r} 将当前窗口移动到该屏幕。当 xmonad 启动时,工作区 1 位于屏幕 1 上,工作区 2 位于屏幕 2 上,依此类推。将工作区切换到已经可见的工作区时,当前工作区和可见工作区会交换。

因此,当我第一次启动 xmonad 时,我打开的第一个窗口位于工作区#3(我将通过按 mod-3 返回到该工作区),上面表明这应该只在我盯着屏幕#3 时发生,但按mod-wmod-emod-r不会从窗口中移除焦点,就像我实际连接了多个显示器一样。

答案1

我刚刚遇到了同样的问题,我的第一个屏幕(笔记本电脑)获得第二个工作区,而我的外部屏幕获得第三个工作区。

在我的情况下,问题是由先前生成xmonad.state~/.xmonad/.删除该文件即可解决问题。

在 xmonad 执行过程中,xmonad.state每次按重新启动 xmonad 时都会生成该文件。mod+q该文件引起了很多问题,根据最新的 github 问题跟踪器,应该在下一个版本中修复https://github.com/xmonad/xmonad/pull/91

相关内容