2012-05-25 5 views
7

मैं अपने प्रोग्राम स्क्रीन पर फंसाना चाहता हूं जो फोकस में था जब इसकी कीबाइंडिंग स्क्रीन पर नहीं दबाई गई थी, जो वर्तमान में लोड होने पर ध्यान केंद्रित करती है।एक्समोनैड: स्पॉन ऑन वर्कस्पेस जिस पर फोकन कुंजी दबाया गया था

क्यों: मेरा वर्तमान सेटअप आर्क लिनक्स + एक्समोनाड है और मैं इसे 6 मॉनीटर पर चला रहा हूं। मैं अब लगभग एक साल के लिए एक्समोनाड का उपयोग कर रहा हूं और इसके साथ मेरा एकमात्र मुद्दा उन कार्यक्रमों के लिए है जो खोलने में थोड़ी देर लगते हैं। उदाहरण के लिए पहली बार क्रोमियम शुरू करने में लोड होने में 3 अजीब सेकंड लगते हैं। मैं क्रोम के लिए अपनी कुंजी बाध्यकारी दबाता हूं और फिर कुछ और करने के लिए एक अलग स्क्रीन पर जाता हूं। लेकिन जब क्रोम लोड करता है तो यह स्क्रीन पर लोड होता है, वर्तमान में उस स्क्रीन पर ध्यान केंद्रित नहीं किया जाता है, जिस समय स्पॉन कुंजी बाध्यकारी दबाया गया था।

मेरे हैकेल कौशल अच्छी तरह से हैं ... अस्तित्व में नहीं है। मैंने पहले लिस्प में प्रोग्राम किया है और सी, पायथन और जावास्क्रिप्ट में बहुत समय बिताया है, इसलिए मुझे यकीन है कि अगर आवश्यकता हो तो मैं इसे उठा सकता हूं (इसलिए उत्तर में हैकेल नमूने की बात आती है तो कृपया स्पष्ट रहें)।

अग्रिम धन्यवाद।

उत्तर

7

मुझे अपने स्वयं के प्रश्न का उत्तर मिला।

सबसे पहले आप अपने आयात के लिए जोड़ना होगा:

main = do 
xmonad $ defaultConfig 
    {  
     manageHook = myManageHooks <+> manageSpawn <+> manageDocks <+> manageHook defaultConfig 
     , startupHook = myStartupHook 
     , ETC..... 

कुंजी यहाँ manageHook लाइन में manageSpawn के अलावा था:

import XMonad.Actions.SpawnOn 

फिर अपने मुख्य कार्य के तहत की तरह कुछ है।

फिर spawnHere के साथ अपने spawn रों बदल देते हैं:

, ((modMask, xK_w), spawn "chromium") 

बन जाता है:

, ((modMask, xK_w), spawnHere "chromium") 
संबंधित मुद्दे