Configuration 从Haskell查找X11屏幕的数量

Configuration 从Haskell查找X11屏幕的数量,configuration,haskell,x11,xmonad,Configuration,Haskell,X11,Xmonad,我想知道当前机器有多少个X屏幕,使我的.xmonad更通用一些;我有一个上网本和一个带有两个显示器的桌面,我还使用了几个单显示器的机器 为此,我想知道当前机器有多少个X屏幕。(我认为屏幕是正确的词,我指的是物理监视器) 原因是我需要多个xmobar实例,每个监视器一个。我已将其硬编码为当前在2上。如果您使用: 这将动态返回一个矩形的列表,告诉您有多少屏幕及其尺寸。出于好奇,我最终使用了 screenCount :: X Int screenCount = withDisplay (io.

我想知道当前机器有多少个X屏幕,使我的.xmonad更通用一些;我有一个上网本和一个带有两个显示器的桌面,我还使用了几个单显示器的机器

为此,我想知道当前机器有多少个X屏幕。(我认为屏幕是正确的词,我指的是物理监视器)

原因是我需要多个xmobar实例,每个监视器一个。我已将其硬编码为当前在2上。

如果您使用:


这将动态返回一个
矩形的列表,告诉您有多少屏幕及其尺寸。

出于好奇,我最终使用了

 screenCount :: X Int  
 screenCount = withDisplay (io.fmap length.getScreenInfo)
我还发现XMonad模块有一个函数

 screenCount :: Display -> Foreign.C.Types.CInt

如何将显示器用作参数?在xmonad的情况下,
Display
XConf
状态的一部分,因此使用
withDisplay
from
xmonad.Core
 screenCount :: Display -> Foreign.C.Types.CInt