Làm cách nào tôi có thể hiển thị menu Emacs trong khung GUI emacs nhưng không hiển thị trong khung tty khi sử dụng chế độ daemon của emacs


0

Tôi bắt đầu một trình nền emacs mà tôi kết nối với cả hai từ các khung emacs GUI tồn tại lâu và các khung tty emacs tồn tại ngắn. Tôi hiện đang sử dụng như sau trong .emacs.d / init.el:

(if (not window-system) (menu-bar-mode 0))

Thật không may, đây là một thiết lập toàn cầu vì vậy nó áp dụng cho tất cả các khung. Tôi chỉ muốn có menu trên các khung GUI của mình; menu chiếm quá nhiều không gian trên các khung hình tty.

Có cách nào để thiết lập khung này cụ thể không?

Cảm ơn.


Mặc dù tôi đồng ý rằng câu hỏi này phù hợp với SuperUser, tôi nghĩ bạn có thể gặp may mắn hơn trên StackOverflow. Thật không may, đám đông SO có thể đẩy nó trở lại đây.
Benjamin Pollack

Câu trả lời:


2

Cài đặt là khung cụ thể: mỗi khung có một menu-bar-lines tham số. Trong thực tế menu-bar-mode vòng lặp qua tất cả các khung để đặt tham số này. Để đặt tham số cho khung hiện tại:

(set-frame-parameter (selected-frame) 'menu-bar-lines 1) ; or 0 for off

Bước tiếp theo là đặt tham số mỗi lần tạo khung:

(defun set-frame-menu-bar-lines (frame)
  (let ((want-menu (memq (framep frame) '(x w32 ns))))
    (set-frame-parameter frame 'menu-bar-lines (if want-menu 1 0))))
(add-hook 'after-make-frame-functions 'set-frame-menu-bar-lines)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.