2014-08-27 7 views
1

haskell-mode에서 C-c C-b은 테스팅을위한 GHC REPL을 엽니 다. 그러나, 그것은 항상 내가 코딩하고있는 것과 같은 크기의 프레임에서 열립니다. 이 모드 후크, inferior-haskell-mode-hook이지만, 내 시도는 효과 없음 또는 오류 메시지 Cannot resize the root window of a frame 중 하나 이어질모드가 열리는 창의 크기를 조정하려면 모드 후크에 함수를 추가 할 수 있습니까?

(add-hook 'inferior-haskell-mode-hook 
    (lambda() (shrink-window 4))) 

의 라인을 따라 뭔가를 추가 할 수 있습니다. 어떤 제안이라도 대단히 감사하겠습니다.

편집 :

+0

'C-'' 또는'haskell-interactive-bring' 함수를 사용하지 않는 이유는 무엇입니까? – Sibi

+0

새 프레임 대신 분할 창을 사용하는 것으로 생각 해 봤니? –

답변

1

귀하의 오류는 말한다 ... 하스켈 모드를 할 수있는 최신 업데이트는 완전히 REPL 기능을 borked했다, 그래서이 질문은 이론에 불과하거나, 내가 그것을 고칠 때까지 적어도 나는 답을 테스트 할 수 없습니다 모든 것이 프레임의 유일한 창인 경우 창 크기를 조정할 수 없으므로 그렇게하지 않는 것이 좋습니다.

프레임 높이를 실제로 변경하려는 경우 set-frame-height 만 사용하고 frame-height과 함께 사용하면 프레임을 4 줄 축소 할 수 있습니다.

(set-frame-height (current-frame) (- (frame-height (current-frame)) 4) 

그런 다음 shrink-window 다른 프레임을 축소 할 당신은 항상 당신이 실제로 확인하여 창을 축소해야하는 경우 (window-size-fixed-p (current-window) nil)가 1 인 경우 확인할 수있는 경우 새로운 프레임을 생성하지 않는 경우 일 수 있습니다.

1

@Jordan이 말한 것처럼, 생성 된 프레임의 크기를 명시 적으로 지정할 수 있습니다.

또한 프레임을 (일반적으로 단독) 창에 표시된 버퍼에 맞추려면 라이브러리 fit-frame.el을 사용할 수 있습니다. 나는 그것을 C-x C-_에 묶는다. 또한 라이브러리 autofit-frame.el을 사용하면 프레임이 자동으로 버퍼에 맞춰 지도록 할 수 있습니다.

예를 들어 C-c C-b이 이미 텍스트로 채워진 버퍼를 표시하는 프레임을 만드는 경우 (그럴 지 모르겠 음) autofit-frame.el을 사용하여 새 프레임에 자동으로 맞춰 지도록 할 수 있습니다 .

- 새 프레임이 기본적으로 빈 버퍼 (예 : 테스트 용)를 표시하고 입력 할 대상에 대해 더 큰 프레임을 원하면 언제든지 수동으로 프레임을 자동으로 맞추고 맞출 수 있습니다.

또는 명령 fit-frame을 후크에 놓아서 일부 상태 또는 이벤트에 따라 버퍼에 프레임을 맞출 수 있습니다.

More info.