अधिकांश टर्मिनल अनुकरणकर्ता स्क्रीन की सामग्री को सहेजने और पुनर्स्थापित करने में सक्षम हैं।
इसके लिए टर्मिनो कोड smcup
पूर्ण स्क्रीन मोड और rmcup
दर्ज करने के लिए इसे छोड़ने के लिए हैं। , किसी भी कार्यक्रम ncurses
का उपयोग करता है प्रवेश पर smcup
स्ट्रिंग प्रिंट होगा, और बाहर निकलने पर rmcup
स्ट्रिंग (पुराने termcap कोड ti
और te
कर रहे हैं।)
इन क्षमताओं terminfo
डेटाबेस में सक्षम हैं, तो।
प्रणाली मैं इस समय का उपयोग कर रहा पर, तार (\E
भागने चरित्र का प्रतिनिधित्व करने के साथ) कर रहे हैं:
smcup: \E7\E[?1;47h
rmcup: \E[2J\E[?1;47l\E8
इस स्क्रीन के पिछले सामग्री के साथ-साथ कर्सर स्थिति पुनर्स्थापित करता है।
दृश्यों के विशिष्ट अर्थ (टर्म के लिए) documented here हैं:
- smcup:
\E7
सहेजें कर्सर
\E[?1;47h
आवेदन कर्सर कुंजी; वैकल्पिक स्क्रीन का उपयोग बफर
- rmcup:
\E[2J
मिटाएं स्क्रीन
\E[?1;47l
आवेदन कर्सर कुंजी; सामान्य स्क्रीन बफर
\E8
का उपयोग करें पुनर्स्थापित कर्सर
(इसका मतलब यह है मैं सही ढंग से अर्धविराम के उपयोग को समझने कर रहा हूँ;। मैं 100% है कि के बारे में सुनिश्चित नहीं कर रहा हूँ)
स्रोत
2015-07-22 23:05:26
कुछ नया सीख लिया। यह बहुत समझाता है; धन्यवाद। – Qix
एप्लिकेशन कर्सर-कुंजी सेट करना सामान्य रूप से smcup/rmcup में नहीं किया जाता है - अधिकांश प्रोग्राम मानते हैं कि यह प्रारंभिक स्ट्रिंग (is2) में किया जाता है। उदाहरण के लिए देखें [पुटी] (http://invisible-island.net/ncurses/terminfo.src.html#tic-putty) ncurses टर्मिनल डेटाबेस में। और निश्चित रूप से, मोड 47 को xterm के साथ अप्रचलित कर दिया गया है (जब से [1 99 8] (http://invisible-island.net/xterm/xterm.log.html#xterm_90))। –
@ थॉमस डिकी: जाहिर है कि मेरी टर्मकैप/टर्मिनो प्रविष्टियां पुरानी हैं (जो आश्चर्यजनक नहीं है)। जानकारी के लिए धन्यवाद। मैं कुछ शोध करूँगा और अपना उत्तर रियल जल्द ही अपडेट करूंगा। –