Haskell 如何在这种不寻常的设置中使用Dzen而不是Xmobar
我是Haskell的新手,目前没有时间真正学习Haskell,因此我向已经了解Haskell的专家寻求帮助。:) 这是我当前的xmonad.hs文件: 如何添加/配置keybindings(请参阅Haskell 如何在这种不寻常的设置中使用Dzen而不是Xmobar,haskell,xmonad,Haskell,Xmonad,我是Haskell的新手,目前没有时间真正学习Haskell,因此我向已经了解Haskell的专家寻求帮助。:) 这是我当前的xmonad.hs文件: 如何添加/配置keybindings(请参阅myKeys变量)以及如何从Xmobar更改为基本(尚未配置)Dzen设置 这是一个似乎在我找到的任何配置中都没有使用的设置,每次我尝试将其转换为其他格式时,它都无法正常工作 另一种格式是main=do等BTW 还有,我怎样才能从这种格式转换成更常用的格式。至于密钥绑定,请使用附加密钥(来自模块)。 以
myKeys
变量)以及如何从Xmobar更改为基本(尚未配置)Dzen设置
这是一个似乎在我找到的任何配置中都没有使用的设置,每次我尝试将其转换为其他格式时,它都无法正常工作
另一种格式是main=do等
BTW
还有,我怎样才能从这种格式转换成更常用的格式。至于密钥绑定,请使用
附加密钥(来自模块)。
以下是我使用的一些关键绑定(可能需要更多的导入才能使一切正常工作):
D.dzen
来自import限定的XMonad.Util.dzen作为D
。我不使用dzen作为状态栏,但查看此模块可能会给您一些提示
编辑:这里有一个dzen配置:。从这个网站上摘自许多例子:
edit2:我刚刚使用了一个新的statusBar
函数,它显然很新,并给出了一个工作示例
edit3:删除了logHook,因为它不需要使用statusBar
main
现在看起来像这样:
main = do
xmonad =<< statusBar "dzen2" myPP toggleStrutsKey
defaultConfig { --stuff
}
整理完xmonad.hs后,我还可以提供整个文件。关于“转换”:
由于xmonad.hs只是编译成“您的”xmonad的haskell源代码,因此实际上没有“格式”,有很多方法可以编写相同的东西
如果您的意思是如何从使用转换main
。它是一个函数,获取一个XConfig并返回一个map
下面是一个使用Data.Map
中的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中定义的键以及您的键,您可以使用
:
myConfig = defaultConfig
{
...
, keys = myKeys <+> keys defaultConfig
}
myConfig=defaultConfig
{
...
,keys=myKeys-defaultConfig
}
回答得很好,谢谢!将来可能会使用它。:)哦,我没有将默认键添加到我的自定义键中,duh。对我来说也很好。
main = xmonad =<< statusBar myBar myPP statusbarToggleKey myConfig
main = do
config <- statusBar myBar myPP statusbarToggleKey myConfig
xmonad config
-- 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
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)
]
myConfig = defaultConfig
{
...
, keys = myKeys <+> keys defaultConfig
}