केवल मोड-लाइन के साथ एक नया फ्रेम बनाएं


13

मैं एक नया फ्रेम बनाना चाहता हूं जिसमें मोड-लाइन के अलावा कुछ नहीं है। खासकर फाइल बफर नहीं।

मैं इसकी क्या जरूरत है? मैं अपने काम के लिए ऑर्ग-मोड की क्लॉकिंग का उपयोग करता हूं। संगठन-मोड वर्तमान कार्य के लिए टाइमर प्रदर्शित करता है जो मैं मोड-लाइन में काम कर रहा हूं, और वास्तविक समय में टाइमर को अपडेट करता है। मैं Emacs के अलावा अन्य एप्लिकेशन का उपयोग करता हूं, इसलिए जब मैं उन्हें स्विच करता हूं (उदाहरण के लिए ब्राउज़र या टर्मिनल का उपयोग करते हुए) तो मैं अभी भी चल रहे टाइमर को देखने में सक्षम होना चाहता हूं। मैंने सोचा कि मैं एक नया फ्रेम बना सकता हूं, लेकिन जब मैं अब मोड-लाइन में टाइमर पर क्लिक करता हूं। .org फ़ाइल नए फ़्रेम में खोली जा रही है (जो पहले से ही केवल मोड-लाइन दिखाने के लिए आकार बदलने में सक्षम है) वापस कूदने के बजाय यह पहले फ्रेम में है।

यहां बताया गया है कि मेरा मोड-लाइन कैसा दिखता है (ब्लू बार) - यही सब मैं नए फ्रेम पर चाहता हूं:

यहाँ छवि विवरण दर्ज करें

(आखिरकार मुझे यह पता लगाना होगा कि नया फ्रेम हमेशा ऑन-टॉप कैसे दिखाई देता है, लेकिन यह इस सवाल के दायरे से बाहर है)

अगर यह प्रासंगिक है तो मैं ओएस एक्स का उपयोग करता हूं।


1
बस एक सिर, मैं कुछ elisp और एक macruby स्क्रिप्ट पर काम कर रहा हूं जो OSX मेनू बार में ऑर्ग मोड लाइन की जानकारी प्रदर्शित करेगा। यह मेरे लिए काम कर रहा है, लेकिन मैं इसे अच्छी तरह से लपेटने की कोशिश करने जा रहा हूं।
जॉर्डन बियोनडो

@JordonBiondo - उत्कृष्ट! मैं यहाँ क्या कर रहा हूँ, इससे भी बेहतर हो सकता है कि आपका हल निकल जाए। इसके लिए आगे देख रहे हैं। कृपया मुझे बताते रहना।
श्रीधर रत्नाकुमार

यदि आपको वास्तव में लगता है कि आप " उत्कृष्ट! " उत्तर दे रहे हैं, तो आपको अपने प्रश्न को फिर से लिखना चाहिए और अपने प्रश्न को फिर से लिखना चाहिए । क्योंकि जहां तक ​​मैं बता सकता हूं कि वे " कुछ भी नहीं है लेकिन एक मोड लाइन " के साथ एक फ्रेम के लिए आपके अनुरोध का जवाब नहीं देते हैं - (और मुझे संदेह है कि कोई भी उत्तर होगा)। IOW, यदि आपने अपने अनुरोध के मूल सूत्रीकरण के बाद से अपने उद्देश्य को शिथिल कर दिया है, तो कृपया प्रश्न को तदनुसार अद्यतन करने पर विचार करें।
ड्रू

मैं सहमत हूं, पढ़ने के बाद, यह वास्तव में ऐसा लग रहा था कि ओपी को एक विशिष्ट समस्या थी, लेकिन केवल एक समाधान के लिए पूछ रहा था, सबसे अच्छा समाधान नहीं।
जॉर्डन बियोनडो

@ ड्रू - क्या आप कोई विशिष्ट संपादन सुझाते हैं? PythonNut का मूल समाधान मेरे मूल अनुरोध का उत्तर देता है। ध्यान दें कि मैंने कहा "विशेष रूप से एक फ़ाइल बफर नहीं है।", और उसका समाधान - हालांकि एक खाली बफर बनाता है - नए फ्रेम पर प्रदर्शित होने वाले फ़ाइल बफ़र्स के लिए नेतृत्व नहीं करता है।
श्रीधर रत्नाकुमार

जवाबों:


7

मैथ्यू पिज़ियाक के सुझाव के साथ जोर्गेन शेफर के उत्तर का विस्तार निम्नलिखित स्निपेट का उत्पादन करता है:

(with-current-buffer (generate-new-buffer "*empty*")
  (make-frame '((minibuffer . nil)
                 (unsplittable . t)
                 (buffer-predicate . (lambda (x) nil))
                 (height . 2)
                 (left-fringe . 0)
                 (right-fringe . 0)
                 (tool-bar-lines . 0)
                 (menu-bar-lines . 0)))
  (set-window-dedicated-p
    (get-buffer-window (current-buffer) t) t))

जहाँ तक मैं बता सकता हूँ, यह सही ढंग से एक खाली बफर के लिए खिड़की बंद कर देता है। एक अलग बफर में स्विच करने का प्रयास मूल विंडो में मौजूदा विंडो में बफर को खोलेगा।


बहुत बढ़िया, मैंने इसे काम करने के लिए सत्यापित किया है। नया फ्रेम बनाने का कोई तरीका मुख्य फ्रेम के फ़ॉन्ट-आकार (और फ़ॉन्ट-नाम) को विरासत में मिला है? इसके अलावा, क्या मोड लाइन के बेमानी-विशिष्ट भागों को *empty* All L1 (Fundamental)हटाया जा सकता है? यहां देखें कि मेरा कैसा दिखता है: i.imgur.com/iOLw57c.png
श्रीधर

@SridharRatnakumar सौभाग्य से, अतिरिक्त मोड-लाइन जानकारी अलग करना तुच्छ है। मैंने इसमें शामिल करने के लिए अपने उत्तर में संशोधन किया है। मुझे यकीन नहीं है कि फॉन्ट को संरक्षित करने से आपका क्या मतलब है? क्या बफर खाली नहीं है?
PythonNut

मैं मोड-लाइन में पाठ की फ़ॉन्ट संपत्ति का उल्लेख कर रहा था (खाली बफर नहीं)।
श्रीधर रत्नाकुमार 23

आह, आपके बाद के कोड ने मुख्य फ्रेम की मोड-लाइन को भी साफ कर दिया! यदि यह संभव नहीं है, तो उस परिवर्तन को वापस लाएं और मैं आपके उत्तर को स्वीकार करूंगा (यह प्रश्न को संतुष्ट करता है)।
श्रीधर रत्नाकुमार 23

मैंने बस उस पर भी ध्यान दिया। मैंने इसे ठीक कर लिया है। जब मैं ऐसा करता हूं तो मोड-लाइन फ़ॉन्ट नहीं बदलता है, इसलिए मुझे यकीन नहीं है कि क्या हो रहा है।
पायथनटन

5

यह सबसे अच्छा है जो मैं साथ आ सकता हूं:

(with-current-buffer (generate-new-buffer "*empty*")
  (make-frame '((minibuffer . nil)
                (unsplittable . t)
                (buffer-predicate . (lambda (x) nil))
                (height . 2)
                (left-fringe . 0)
                (right-fringe . 0)
                (tool-bar-lines . 0)
                (menu-bar-lines . 0))))

मुझे वहां एक बफर के साथ कम से कम एक विंडो को अक्षम करने का तरीका नहीं दिखता है, लेकिन इस स्निपेट का उपयोग करने वाला कोई भी फ़ाइल से जुड़ा नहीं है। buffer-predicateवहाँ किसी भी (अन्य) बफ़र्स प्रदर्शित करने के लिए चुने जाने से फ्रेम से बचाता है, इसलिए यदि आप एक अतिरिक्त खाली पंक्ति के साथ सौदा कर सकते हैं, यह क्या करना चाहिए।


यह अपेक्षा के अनुरूप काम नहीं करता है। नए फ्रेम में बफर अभी भी सक्रिय किए जा रहे हैं। यहाँ उदाहरण के लिए एक एनिमेटेड जिफ़ है
श्रीधर

2
इसका उपयोग करना display-buffer-alistसमाधान हो सकता है।
कौशल मोदी

मुझे नहीं पता कि ऑर्ग का उपयोग यहां क्यों नहीं होता है buffer-predicate। उपयोग करना display-buffer-alistवास्तव में एक विचार हो सकता है, लेकिन मुझे नहीं पता कि इसका उपयोग किसी विशिष्ट फ्रेम को उपयोग करने से रोकने के लिए कैसे किया जाए।
जोर्गेन शेफर

2
इसके साथ तय किया जा सकता है set-window-dedicated-p?
मैथ्यू पिज़ियाक

1
buffer-predicateहै, जानकारी के अनुसार, केवल द्वारा इस्तेमाल किया other-bufferसमारोह है, यह फ्रेम में किसी भी बफर प्रदर्शित करने से अन्य कार्यों को नहीं रोकता है अर्थात्।
पॉलिट्जा

3

ओएसएक्स में ऑर्ग-क्लॉक के लिए एक और समाधान

स्टेटस बार में एक छोटा सा बॉक्स। जब आप घड़ी में नहीं गए तो यह लाल हो गया।

लाल बॉक्स के लिए चित्रण, जीथब पृष्ठ देखें

https://github.com/koddo/org-clock-statusbar-app


1
मैं थोड़ा लेट हो गया हूं और सटीक सवाल का जवाब नहीं देता, लेकिन मैं एक विकल्प देता हूं जो किसी के लिए काम करेगा।
कोदडो

3

OSX मेनू बार में org- घड़ी की जानकारी प्रदर्शित करने के लिए समाधान

यहाँ आपके द्वारा निर्दिष्ट समस्या का वैकल्पिक समाधान है:

मैं Emacs के अलावा अन्य एप्लिकेशन का उपयोग करता हूं, इसलिए जब मैं उन्हें स्विच करता हूं (उदाहरण के लिए ब्राउज़र या टर्मिनल का उपयोग करते हुए) तो मैं अभी भी चल रहे टाइमर को देखने में सक्षम होना चाहता हूं।

आप ऑक्स-मेनुबार में ऑर्ग-क्लॉक से जानकारी प्रदर्शित करने के लिए इसका उपयोग कर सकते हैं जिसे आपको लगभग हमेशा देखने में सक्षम होना चाहिए।

https://github.com/jordonbiondo/osx-org-clock-menubar MELPA पर उपलब्ध है

ध्यान दें कि इसके लिए मैक्रूबी की आवश्यकता होती है।

अंदर जाते समय यह कैसा दिखता है।

यहाँ छवि विवरण दर्ज करें


1
एक सरल कार्यान्वयन जो मैक्रूबी पर भरोसा नहीं करता है emacsclient -e "(org-clock-get-clocked-time)"और बिटबार के साथ किया जा सकता है : getbitbar.com
mankoff

यह बढ़िया है कि आपको एक समाधान लिखना चाहिए!
जॉर्डन बियोन्डो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.