Xmonad中的用户状态

时间:2016-10-26 19:36:50

标签: xmonad

是否可以在Xmonad中拥有用户状态?

我现在正在使用全局变量,但我想知道在Xmonad中是否有正确的方法。 (例如:在parsec中,有一个用户状态,因此你可以使用Parser TYPE ...,其中TYPE是用户状态的类型,可以使用getState,putState和modifyState查询。)

1 个答案:

答案 0 :(得分:2)

可以在config.hs模块中指定/修改Xmonad中的布局状态,但Xmonad也可以实现extensible states。我建议你看两个。 Haskell Extensible States上的文档将模块列为“不稳定”模块。但是我觉得自从文档更新(大约三年后?)以来它是公平的。

[sample]代码如下所示:

 {-# LANGUAGE DeriveDataTypeable #-}
import qualified XMonad.Util.ExtensibleState as XS

data ListStorage = ListStorage [Integer] deriving Typeable
instance ExtensionClass ListStorage where
initialValue = ListStorage []

.. XS.put (ListStorage [23,42])

 (e.g.)  put :: ExtensionClass a => a -> X ()