• [2024-09-14] 현재 상황: #둠이맥스 전환 이후

    별도 패키지는 사용하지 않는다.

KILL 테스트

  • popper 는 무조건 사용하는 패키지이다.
  • Spacemacs 에서는 purpose 를 사용하고 popwin dedication t 를 하라.

창 관리의 어려움

[2023-11-25 Sat 08:53]

Emacs 창 관리가 얼마나 어려운가? 아니면 얼마나 쉬운가? 먼저 기본으로 돌아가서 바닐라에서 효과적인 방법은 무엇인가? popper 만 있으면 된다. 팝업으로 빼놓으면 거기에 다 밀어놓고 지워버리면 된다.

나의 스페이스맥스에서 아주 곤란한 상황이 나왔다. 최근 purpose 를 제외했는데 창 관리가 꼬여버린 것 같다. 아무튼 다시 켰다. 그러니 뭔가가 된다.

popper 의 존재 이유 - 팝업 버퍼 묶음 관리

[2023-11-25 Sat 08:38]

팝업 버퍼 관리가 목적이다. 창 레이아웃 제어는 사용하지 않는다. 예를 들어 테스트 로그 팝업이 뜨면, 보고 한 번에 사라지게 하려는 것이다. 필요하면 다시 꺼내 볼수도 있다. 딱 여기 까지 역할이다. 즉 레이아웃에는 관계가 없다. popwin 에 부족한 기능을 보충하는 것이 목적이다.

그러기에 shackers 와 연계하여 사용하는 것이다. 크래프트 이맥스에는 이렇게 사용하려고 한다. 물론 display-buffer-alist 에 바로 등록해도 된다. 편하게 하려는 것일 뿐이다.

    (setq popper-echo-dispatch-keys '(?q ?w ?e ?r ?t ?y ?u ?i ?o ?p))
 
    (setq popper-display-control nil) ; use popwin and display-buffer-alist
    (setq popper-reference-buffers
      '("\\*Messages\\*"
         ;; "Output\\*$"
         "*cider-error*"
         ;; "*cider-doc*"
         ;; "^\\*eldoc for"

popwin 의 존재 이유

[2023-11-25 Sat 08:38]

팝윈은 Spacemacs 이기에 사용한다. 이걸 덜어내지 말자. 그렇다면 popper 와 잘 연동해야 한다.

문제가되던 시나리오를 보자면, 윈도우를 3 개 띄워놓고 작업하는 중에 테스트를 실행했다. 테스트 결과가 팝윈에 등록한 대로 하단에 새로운 윈도우로 떴다. 이게 뜨는 동시에 기존에 있던 창 3 개 중에 2 개를 닫아버리는 것이다. 이는 다시 purpose 레이어를 활성화 하니까 해결 되었다. 워크스페이스 묶음 처럼 사용하려면 뺄 수가 없겠다.

다른 문제는 하단에 테스트 결과 버퍼는 q 를 누르면 사라지길 원한다. 다시 윈도우 3 개가 남는 것이다. 근데 이는 아래 팝윈 설정에 영향을 받는다.

설정을 아래와 같이 해야 했다. dedication t 가 중요했다. nil 이면 q 로 사라지지 않는다. 그 윈도우를 없애버리는 귀찮음을 해야 했다.

여기에 popper 가 역할을 한다. 쉽게 닫으려면 poppeer 에 등록을 해두면 좋다. 근데 popper 에 상태에서는 dedicated 가 nil 이어도 동작을 하네? 일단 t 로 통일하는게 좋겠다.

:stick t 는 사라지라 하기 전까지 화면에 보이도록 한다.

(push '(compilation-mode :dedicated t :stick t

windows-purpose 의 존재 이유

[2023-11-25 Sat 08:38]

작업 할 때 코드 문서 뷰 등 뭐가 되든 윈도우 세트를 구성하고 작업한다. 여기에 적합한 규칙을 쉽게 지정할 수 있다.

팝업 버퍼는 새로운 윈도우에 띄우자

[2023-11-25 Sat 08:56]

창이 3 개 있는 상태에서 테스트 수행했다. 테스트 결과가 아래에 정의된 대로 좌측에 60 폭으로 등장한다. 그리고 닫는다. 자연스럽다. 원래 창 3 개는를 덮어쓰지 않기에 자유롭다. 그렇게 하자. 세로가 좋다. 여기에 visual-line-mode 를 하면 줄 나눔도 깔끔하게 들어간다. 그렇게 한 결과이다.

(push '(compilation-mode :dedicated t :position left :stick t :noselect t :width 60) popwin:special-display-config)

caption="<span class="figure-number">Figure 1: 창 예제" width="100%" >

Related-Notes

References