我想知道当前机器有多少个X屏幕,以使我的.xmonad更通用一些;我有一台上网本和一台带有两台显示器的台式机,而且我也使用了几台单台的受监控设备。查找来自Haskell的X11屏幕的数量
为此,我希望能够找出当前机器有多少个X屏幕。 (我认为屏幕是正确的词,我的意思是物理监视器)。
原因是我想要xmobar的多个实例,每个显示器一个。我现在硬编码它在两个。
我想知道当前机器有多少个X屏幕,以使我的.xmonad更通用一些;我有一台上网本和一台带有两台显示器的台式机,而且我也使用了几台单台的受监控设备。查找来自Haskell的X11屏幕的数量
为此,我希望能够找出当前机器有多少个X屏幕。 (我认为屏幕是正确的词,我的意思是物理监视器)。
原因是我想要xmobar的多个实例,每个显示器一个。我现在硬编码它在两个。
如果使用the X11 package:
import Graphics.X11.Xinerama (getScreenInfo)
,将动态返回Rectangle
个清单,告诉你有多少的屏幕,和它们的尺寸。
对于好奇,我结束了使用
screenCount :: X Int
screenCount = withDisplay (io.fmap length.getScreenInfo)
我还发现了XMonad模块具有功能
screenCount :: Display -> Foreign.C.Types.CInt
如何获得显示器作为参数使用? – Squidly 2011-04-09 19:56:28
在xmonad的情况下,'display'是'XConf'状态的一部分,所以使用例如'XMonad.Core'中的'withDisplay'。 – 2011-04-09 20:02:09