Làm cách nào tôi có thể emacsclient -a '' -n
tạo một khung mới chỉ khi chưa có khung?
Vấn đề với -c
cờ là nó tạo ra một khung mới mỗi lần. Vấn đề không có nó là nếu không có khung mở thì nó sẽ mở trong dòng lệnh.
Nếu tôi có thể kiểm tra xem có khung Emacs mở từ vỏ hay không, tôi có thể gọi có hoặc không -c
tùy thuộc vào đó để có được hành vi tôi muốn. Tôi đã thử:
$ emacsclient -a '' --eval '(frames-on-display-list)'
(#<frame F1 0xba2740>)
Tôi luôn nhận được kết quả tương tự.
Tôi có thể sử dụng các tệp tạm thời hoặc pgrep, nhưng các phương pháp đó rất dễ bị lỗi.
Điều này tương tự với câu hỏi này , nhưng nó không phải là một bản sao, vì OP đã hài lòng với việc phải mở khung trước khi gọi emacsclient
.
elisp
,bash
vàsh
câu trả lời.