从 Haskell 查找 X11 屏幕的数量

发布于 2024-10-31 06:00:53 字数 185 浏览 0 评论 0原文

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

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

原因是我想要多个 xmobar 实例,每个显示器一个。我目前已将其硬编码为两个。

I'd like to know how many X screens the current machine has, to make my .xmonad a little more general; I have a netbook as well as a desktop with two monitors, and I use several single monitored machines too.

To this end, I'd like to be able to find out how many X screens the current machine has. (I think screens is the correct words, I mean physical monitors).

The reason being is that I want multiple instances of xmobar, one per monitor. I've hard coded it to be on two at the moment.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

合约呢 2024-11-07 06:00:53

如果您使用 X11 包

 import Graphics.X11.Xinerama (getScreenInfo)

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

If you use the X11 package:

 import Graphics.X11.Xinerama (getScreenInfo)

that will dynamically return a list of Rectangles, telling you how many screens, and their dimensions.

失退 2024-11-07 06:00:53

出于好奇,我最终使用了

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

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

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

For the curious, I ended up using

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

I also found out that the XMonad module has a function

 screenCount :: Display -> Foreign.C.Types.CInt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文