यदि इमैक जीयूआई मोड में है (और तब ही 'टूल-बार-मोड' निष्पादित करें) तो कैसे जांचें?


16

मेरी .emacsफ़ाइल में यह पंक्ति है :

(tool-bar-mode 0)

क्योंकि मैं अपने GUI emacs ( /Applications/Emacs.app/Contents/MacOS/Emacs) में टूलबार से नफरत करता हूं ।

लेकिन जब मैं टर्मिनल में अपने अन्य, टेक्स्ट-आधारित एमएसीएस शुरू करता हूं (तो /opt/local/bin/emacsयह उस कमांड के बारे में शिकायत करता है:

Symbol's function definition is void: tool-bar-mode

मैं एक ifशर्त कैसे जोड़ सकता हूं ताकि यह tool-bar-modeकमांड को तभी निष्पादित करे जब मैं जीयूआई एमएसीएस में हूं?

धन्यवाद!

जवाबों:


22

ठीक है, यह खुद पाया। बस जोड़ दो

;; turn off toolbar
(if window-system
    (tool-bar-mode 0))

3

एक और तरीका यह होगा:

 (if (functionp 'tool-bar-mode) (tool-bar-mode 0))

इस तरह, फ़ंक्शन को केवल तभी कहा जाता है यदि वह मौजूद है



0

window-systemएक बूलियन के रूप में चर का उपयोग पदावनत किया जाता है । इसके बजाय, उपयोग display-graphic-pया किसी अन्य की display-*-p भविष्यवाणी करता है जो फ्रेम की विशिष्ट यूआई-संबंधित क्षमताओं की रिपोर्ट करता है।

यदि आप चाहते हैं कि आपका कोड Emacs के पिछले संस्करणों के साथ पिछड़ा-संगत हो, तो निम्नलिखित संगतता आवरण जाने का तरीका है:

(if (< emacs-major-version 23)
    (or window-system (getenv "DISPLAY"))
  (display-graphic-p))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.