我是Haskell的新手,目前没有时间真正地学习Haskell,因此我向已经弄清楚Haskell的专家寻求帮助。 :)
这是我当前的xmonad.hs文件:https://github.com/Greduan/dotfiles/blob/dd45d287fade73a3191ad313ec37231a8c802942/xmonad/xmonad.hs
如何添加/配置键绑定(bind)(请参见myKeys
变量)以及如何从Xmobar更改为基本的Dzen设置(尚无配置)。
这个设置似乎并未在我发现的任何配置中使用,并且每次eI尝试将其转换为其他格式时,都无法正常运行。
另一种格式是main = do etc. etc. etc.
BTW。
而且,如何将这种格式转换为更常用的格式。
最佳答案
关于“转换”:
由于xmonad.hs只是已被编译为“您的” xmonad的haskell源代码,因此实际上并没有“格式”,并且有很多方法可以编写相同的内容。
如果您的意思是如何将=<< operator从statusBar转换为符号:
main = xmonad =<< statusBar myBar myPP statusbarToggleKey myConfig
在这里,您正在使用两个功能:
main
。因此,基本上,使用传递给它的内容IO (XConfig (ModifiedLayout AvoidStruts l)
创建相应的XConfig并将其包装在IO monad中返回。 =
statusBar
。等价于do表示法是:
main = do
config <- statusBar myBar myPP statusbarToggleKey myConfig
xmonad config
但是,一旦您了解了Monad操作符的作用,它们看起来就会比符号更优雅。
使用dzen:
如果要继续使用
xmonad
函数,只需更改传递给它的参数即可。-- the command line to launch the status bar
myBar = "dzen2 -y -1" --that's for dzen at the bottom of the screen
-- the PP
myPP = defaultPP
键绑定(bind):
您可以在ojit_a中看到
statusBar
的类型。这是一个使用XConfig并返回映射的函数。这是使用
keys
中的fromList
函数编写“漂亮”方法的示例:import qualified Data.Map as M
myKeys conf@(XConfig {modMask = modm}) = M.fromList $
[
((modm, xK_c), kill),
((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
]
然后,如果您还想使用defaultConfig中定义的键,则可以使用
Data.Map
:myConfig = defaultConfig
{
...
, keys = myKeys <+> keys defaultConfig
}
关于haskell - 在这种不寻常的设置中如何使用Dzen而不是Xmobar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21218309/