Bagaimana cara memeriksa apakah Emacs dalam mode GUI (dan jalankan `tool-bar-mode` saja)?


16

Saya memiliki baris ini di .emacsfile saya :

(tool-bar-mode 0)

karena saya benci toolbar di GUI emacs saya ( /Applications/Emacs.app/Contents/MacOS/Emacs).

Tetapi ketika saya memulai emacs berbasis teks saya yang lain di terminal ( /opt/local/bin/emacs) ia mengeluhkan perintah itu:

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

Bagaimana saya bisa menambahkan ifkondisi sehingga mengeksekusi tool-bar-modeperintah hanya ketika saya di GUI emacs?

Terima kasih!

Jawaban:


22

Oke, temukan sendiri. Cukup tambahkan

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

3

Cara lain untuk melakukannya adalah:

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

seperti ini, fungsinya dipanggil hanya jika ada



0

Penggunaan window-systemvariabel sebagai boolean sudah usang . Alih-alih, gunakan display-graphic-patau display-*-p predikat lain mana saja yang melaporkan kemampuan terkait-UI khusus frame.

Jika Anda ingin kode Anda kompatibel dengan versi Emacs sebelumnya, maka pembungkus kompatibilitas berikut adalah caranya:

(if (< emacs-major-version 23)
    (or window-system (getenv "DISPLAY"))
  (display-graphic-p))
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.