2009-05-28 39 views

Trả lời

15

câu trả lời của bạn trên là chính xác, mặc dù nếu bạn muốn phân biệt giữa các hệ thống cửa sổ khác và chỉ muốn chạy mã nếu bạn đang thực sự sử dụng X, bạn sẽ phải đi

(if (eq window-system 'X) (foo)) 
+0

Mặc dù tôi không cần loại đặc trưng đó, nhưng đó là câu trả lời hay hơn tôi. Cảm ơn! – JasonFruit

+2

Khi tôi cố gắng tìm cách tắt chúng trong chế độ cửa sổ duy nhất, tôi đã kết thúc với câu trả lời ban đầu của JasonFruit, nhưng chúng thực sự đang nhận được cùng một điều. '(if (eq window-system 'X) (foo))' hoặc '(nếu window-system (foo))' hoặc '(khi window-system (foo))' nó không thực sự tạo ra sự khác biệt. Đối với những người quan tâm đến chi tiết, hãy để tôi nói với bạn "C-h a" là bạn của bạn. Sử dụng nó tôi tìm kiếm "biến" và tìm thấy 'mô tả biến và sử dụng cộng với tab-hoàn thành tôi tìm thấy biến hệ thống cửa sổ. Sau đó, tôi chỉ cần gõ 'window-system' vào vùng đệm đầu và sau đó kiểm tra nó –

+3

Chúng sẽ hoạt động giống nhau nếu tất cả những gì bạn quan tâm là nếu hệ thống cửa sổ là X hay không, nhưng giá trị của hệ thống cửa sổ có thể là một giá trị khác ' X. –

14

Tôi nghĩ rằng tôi đã tìm thấy câu trả lời của riêng tôi:

(when window-system 
    (foo)) 

sẽ chỉ foo khi tôi đang chạy trong X.

+0

Vui lòng ngừng bỏ phiếu cho câu trả lời của riêng tôi cho câu hỏi của tôi --- câu trả lời tôi chấp nhận ở trên về bản chất là giống nhau, nhưng hoàn chỉnh hơn! – JasonFruit

+0

Được rồi --- ai đã làm vậy?!?! – JasonFruit

+0

Chúng ta chỉ cần thêm một upvote nữa ... –

3

Lưu ý rằng câu hỏi có phần không được hình thành: Emacs có thể chạy với cả khung hình tty và khung giao diện GUI cùng một lúc.

Biến số window-system là "thiết bị đầu cuối cục bộ" có nghĩa là giá trị của nó sẽ phụ thuộc vào khung hiện được chọn là khung tty hay khung GUI.

+0

Tôi thậm chí không nhận ra rằng có thể được thực hiện. Hấp dẫn! – JasonFruit

Các vấn đề liên quan