2016-06-04 2 views
1

Я пытаюсь настроить xmonad снова witout каких-либо знаний Haskell ...Начиная xmobar с клавиатурой ярлыком после xmonad запуска

Я хотел бы найти способ, чтобы начать xmonad без статусного в самом начале. Я хочу избежать использования xmobar в фоновом режиме и слить аккумулятор. Затем, когда необходимо нажать мета-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» он не запускается (при запуске xmobar в оболочке, однако появляется строка состояния). Однако простой «spawn xmobar», вероятно, не имел бы текста из xmonad, показывающего связанные рабочие области.

ответ

0

Начиная с xmonad (-contrib) 0,9, в XMonad.Hooks.DynamicLog есть новая функция statusBar. Это позволяет использовать собственную конфигурацию:

  • Команда используется для выполнения планку
  • ПЗ, который определяет, что записывается в строке
  • Ключ привязки для переключения пробел для бара

Ниже приведен пример того, как использовать его:

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