버퍼의 가시 / 집중 상태를 아는 방법은 무엇입니까?


16

외부 프로세스와 대화하는 확장 프로그램을 작성 중이므로 버퍼에 초점이 맞지 않을 때 'hey whats up'요청의 양을 줄이는 것이 좋습니다.

따라서 가장 잘 인식하는 방법은 무엇입니까?

  1. 버퍼가 보이고 집중 될 때
  2. 버퍼가 보이지만 초점이 맞지 않을 때
  3. 버퍼가 보이지 않거나 집중되지 않을 때

명백한 질문 : 외부 프로세스가 이러한 특성을 어떻게 "인식" 한다는 의미 입니까?
Dan

@ Dan 나는 유휴 타이머로 실행되는 기능을 가지고 있다고 생각 하며이 기능을 알아야합니다.
Malabarba

답변:


24
  • window-buffer 주어진 창에 의해 현재 표시된 버퍼를 반환합니다.

  • get-buffer-window반대로, 현재 주어진 버퍼를 표시 하는 창을 반환 합니다 (또는 nil그러한 창이없는 경우 선택적 두 번째 인수로 재생하여 여러 프레임이있는 경우 동작하는 방법을 알려줍니다).

이 두 가지 성분으로 모든 사례를 구별 할 수 있어야합니다.

;; my-buffer is supposed to be the buffer you are looking for
(cond ((eq my-buffer (window-buffer (selected-window)))
       (message "Visible and focused"))
      ((get-buffer-window my-buffer)
       (message "Visible and unfocused")) 
      (t
       (message "Not visible")))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.