ชุดรูปแบบที่แตกต่างกันสำหรับ -nw (เทอร์มินัล)


16

ฉันใช้งาน emacs (24.5.1) บน Mac osx และใช้ชุดรูปแบบการทำให้เป็นแสงอาทิตย์ สำหรับรุ่น gui ธีมใช้งานได้ดี หากฉันรันแอปพลิเคชันด้วยแฟล็ก -nw:

/Applications/Emacs.app/Contents/MacOS/Emacs -nw

สีสำหรับชุดรูปแบบได้รับรางวัลทั้งหมด ฉันถือว่านี่เป็นเพราะ:

TERM=xterm-256color

ฉันจะต้องใส่อะไรใน. emacs ของฉันเพื่อให้พฤติกรรมตามเงื่อนไขต่อไปนี้:

if (gui)
  theme=solarized
if (-nw)
  theme=wheatgrass

??


ฉันถูกล่อลวงให้บอกให้คุณเขียนบางอย่างเช่น: (ถ้า (ระบบวินโดวส์) ... ) จากนั้นฉันอ่านเอกสาร:> window-system เป็นตัวแปรที่กำหนดใน `ซอร์สโค้ด C ' > ค่าของมันคือไม่มีมันเป็นตัวแปร terminal-local; ค่าทั่วโลกคือ> เดียวกัน >> เอกสาร: ชื่อของระบบหน้าต่างซึ่งเฟรมที่เลือก> จะแสดงขึ้น ค่าเป็นสัญลักษณ์:> - ไม่มีสำหรับกรอบ termcap (เทอร์มินัลเฉพาะตัวอักขระ),> - 'x' สำหรับเฟรม Emacs ที่เป็นหน้าต่าง X> จริง ๆ > - 'w32' สำหรับเฟรม Emacs ที่เป็น หน้าต่างบน MS-Windows> display,> - 'ns' สำหรับเฟรม Emacs บน GNUstep หรือ Macintosh
Nsukami _

1
หากคุณต้องการทราบวิธีการตรวจสอบว่า emacs ทำงานใน gui หรือเทอร์มินัลฉันเชื่อว่านี่เป็นสิ่งที่ซ้ำกันหรือสิ่งนี้: emacs.stackexchange.com/questions/7151/ ถ้าคุณต้องการทราบวิธีเปิดใช้งานธีมจาก elisp แล้วฉันคิดว่ามันยืนตามคำถามของตัวเองเป็นอย่างดี หากคุณจำเป็นต้องรู้วิธีเปิดใช้งานชุดรูปแบบจาก elisp ฉันจะเพิ่มส่วนนั้นลงในเนื้อความของคำถามของคุณโดยเฉพาะ
Jordon Biondo

2
มีชุดรูปแบบที่มีลักษณะที่ดีทั้งในสภาพแวดล้อมแบบกราฟิกและไม่ใช่กราฟิก โซลูชันทางเลือกคือใช้ธีมดังกล่าว
Jordon Biondo

คำตอบ:


23

ใช้display-graphic-pเพื่อตรวจสอบว่า Emacs อยู่ใน GUI หรือไม่

สมมติว่าติดตั้งโซลาร์ไลซ์แล้วโหลด:

(if (display-graphic-p) 
    (enable-theme 'solarized) 
  (enable-theme 'wheatgrass))

ดูเพิ่มเติม: มีวิธีตรวจสอบว่า emacs กำลังทำงานอยู่ในเครื่องเทอร์มินัลหรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.