2016-06-04 4 views
1
starten

Ich versuche, wieder zu konfigurieren xmonad witout irgendwelche Kenntnisse Haskell ...Start xmobar mit Shortcut-Tastatur nach xmonad

Ich mag würde einen Weg finden, ohne Statusbar am Anfang beginnen xmonad. Ich möchte vermeiden, xmobar im Hintergrund laufen zu lassen und Batterie zu entleeren. Dann, wenn Drücken von Meta-b xmobar sollte gestartet werden. Kennt jemand eine Tastenkürzeldefinition für die Xmonad-Konfigurationsdatei , die Xmobar startet und die Pipes verbindet?

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

ist der Standard, aber wie kann ich es als eine Tastenkombination definieren? Beim Binden einer einfachen "spawn xmobar" wird nicht gestartet (beim Start von xmobar in einer Shell erscheint jedoch die Statusleiste). Die einfache "spawn xmobar" würde jedoch wahrscheinlich nicht den Text von xmonad enthalten, der die verbundenen Arbeitsbereiche anzeigt.

Antwort

0

Ab xmonad (-contrib) 0.9 gibt es eine neue StatusBar-Funktion in XMonad.Hooks.DynamicLog. Es ermöglicht Ihnen, Ihre eigene Konfiguration zu verwenden:

  • der Befehl der Bar
  • Die PP auszuführen verwendet, der bestimmt, was in der Bar geschrieben wird
  • Die Schlüssel Bindung, die Lücke für die Bar wechseln

Das folgende ist ein Beispiel dafür, wie es zu benutzen:

~/.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 } 

Weitere Informationen finden Sie unter folgendem Link: Source