यदि आपके पास एक्समोबार शुरू करने के लिए एक शेल स्क्रिप्ट है तो आप 'गलत कर रहे हैं'। आपको xmonad.hs config स्रोत फ़ाइल में सही Haskell फ़ंक्शन का उपयोग करके xmobar शुरू करना चाहिए। मेरे विन्यास मुख्य कार्य पर एक नज़र डालें:
-- put it all together
main = do
nScreens <- countScreens -- just in case you are on a laptop like me count the screens so that you can go
xmonad =<< xmobar myBaseConfig
{ modMask = myModMask
, workspaces = withScreens nScreens myWorkspaces
, layoutHook = myLayoutHook nScreens
, manageHook = myManageHook
, borderWidth = myBorderWidth
, normalBorderColor = myNormalBorderColor
, focusedBorderColor = myFocusedBorderColor
, keys = myKeys
, mouseBindings = myMouseBindings
, logHook = myLogHook
}
where
myLogHook = dynamicLogXinerama
myBaseConfig = gnomeConfig
मुख्य रेखा यह है:
xmonad =<< xmobar myBaseConfig
यह xmobar चलाता है क्योंकि इसे चलाया जाना चाहिए, तब भी जब आप xmonad को पुनः लोड करते हैं। आपको कथन से 'xmobar' फ़ंक्शन मिलता है:
import XMonad.Hooks.DynamicLog (xmobar)
जो बदले में xmonad-contrib पैकेज से आता है ।
तो आप देखते हैं, अधिकांश चीजें जो आप एक्समोनैड के साथ करना चाहते हैं, पहले से ही एक हल की गई समस्या है, आपको बस यह जानना होगा कि कहां देखना है। मूल रूप से, बस अपनी स्क्रिप्ट को खोदें और इसके बजाय उसका उपयोग करें। आशा है कि ये आपकी मदद करेगा।
spawnPipe
कोड को एक्समोनाड वेबसाइट पर पाया है , यह वास्तव में जानना आसान नहीं है कि कहां देखना है! लेकिन अंत में, मैं उस तकनीक को पसंद करता हूं जिसका उपयोग मैं कर रहा हूं क्योंकि यह क्लीनर है,DynamicLog
मेरे परीक्षणों में पुरानी प्रक्रिया को नहीं मारा। मैं वास्तव में एक्समोनाड पसंद करता हूं, लेकिन हास्केल एक अच्छी कॉन्फ़िगरेशन भाषा नहीं है।