2

我想知道当前机器有多少个 X 屏幕,让我的 .xmonad 更通用一点;我有一个上网本和一个带两个显示器的台式机,我也使用几台单监控机器。

为此,我希望能够找出当前机器有多少个 X 屏幕。(我认为屏幕是正确的词,我的意思是物理监视器)。

原因是我想要多个 xmobar 实例,每个监视器一个。目前我已经硬编码为两个。

4

2 回答 2

4

如果您使用X11 包

 import Graphics.X11.Xinerama (getScreenInfo)

这将动态返回一个Rectangles 列表,告诉你有多少个屏幕,以及它们的尺寸。

于 2011-04-09T19:41:20.753 回答
0

出于好奇,我最终使用

 screenCount :: X Int  
 screenCount = withDisplay (io.fmap length.getScreenInfo)

我还发现 XMonad 模块有一个功能

 screenCount :: Display -> Foreign.C.Types.CInt
于 2011-04-12T12:56:11.267 回答