在xmonad start

时间:2016-06-04 15:52:04

标签: xmonad xmobar

我正在尝试再次配置xmonad,没有任何Haskell知识......

我想在一开始就找到一种启动xmonad但没有任何状态栏的方法。我想避免在后台运行xmobar 和电池耗尽。 然后,当按下meta-b xmobar时应该开始。 有没有人知道xmonad配置文件的键盘快捷键定义 启动xmobar并连接管道?

  ...  
  xmproc <- spawnPipe "xmobar ~/.xmonad/xmobar.hs"
  xmonad $ defaults  {
      logHook = dynamicLogWithPP $ xmobarPP {
            ppOutput = hPutStrLn xmproc
          , ppTitle = xmobarColor xmobarTitleColor "" . shorten 100
          , ppCurrent = xmobarColor xmobarCurrentWorkspaceColor ""
          , ppSep = "   "
      } 
  ...

是标准的,但如何将其定义为键盘快捷键? 当绑定一个简单的“spawn xmobar”时,它没有启动(当在shell中启动xmobar但是状态栏出现时)。然而,简单的“spawn xmobar”可能没有来自xmonad的文本显示连接的工作区。

1 个答案:

答案 0 :(得分:0)

从xmonad(-contrib)0.9开始,XMonad.Hooks.DynamicLog中有一个新的statusBar函数。它允许您使用自己的配置:

  • 用于执行栏的命令
  • 决定写入栏的内容的PP
  • 用于切换条形间隙的键绑定

以下是如何使用它的示例:

〜/ .xmonad / xmonad.hs

-- Imports.
import XMonad
import XMonad.Hooks.DynamicLog

-- The main function.
main = xmonad =<< statusBar myBar myPP toggleStrutsKey myConfig

-- Command to launch the bar.
myBar = "xmobar"

-- Custom PP, configure it as you like. It determines what is being written to the bar.
myPP = xmobarPP { ppCurrent = xmobarColor "#429942" "" . wrap "<" ">" }

-- Key binding to toggle the gap for the bar.
toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask, xK_b)

-- Main configuration, override the defaults to your liking.
myConfig = defaultConfig { modMask = mod4Mask }

有关详细信息,请参阅以下链接: Source