모드 라인과 미니 버퍼에서 텍스트 크기를 일시적으로 조정 하시겠습니까?


10

공유 모니터 주변이나 화면 공유 (예 : Google 행 아웃)를 통해 다른 사람들과 작업 할 때 종종 다른 사람들이 내 화면을 더 쉽게 읽을 수 있도록 text-scale-adjust( C-x C-+)를 사용 합니다.

선택한 프레임에서 모드 라인과 미니 버퍼의 텍스트 크기를 일시적으로 늘릴 수 있기를 바랍니다. 그러한 기능이 이미 존재합니까? 그렇지 않다면, 나는 그것을 직접 작성하는 방법에 대해 퍼즐을 할 수도 있습니다 ... 결국.

답변:


9

텍스트 스케일링은 버퍼가 표시되는 모든 곳에서 특정 버퍼의 텍스트를 확대 / 축소합니다.

당신이하고 싶은 것은 특정 버퍼의 텍스트를 스케일하는 것이 아니라 특정 프레임을 확대하는 것 입니다.

명령 zoom-in, zoom-outzoom-in/out 라이브러리의 zoom-frm.el쉽고 점진적으로 이러한 것들을 모두 할 수 있습니다.

키보드에서 zoom-in/out필요한 명령 은 다음과 text-scale-adjust같습니다.

(define-key ctl-x-map [(control ?+)] 'zoom-in/out)
(define-key ctl-x-map [(control ?-)] 'zoom-in/out)
(define-key ctl-x-map [(control ?=)] 'zoom-in/out)
(define-key ctl-x-map [(control ?0)] 'zoom-in/out)

마우스 휠 회전 을 바인딩 zoom-in하고 바인딩 할 수 있습니다 .zoom-out

(global-set-key (vector (list 'control mouse-wheel-down-event)) 'zoom-in)
(global-set-key (vector (list 'control mouse-wheel-up-event))   'zoom-out)

마우스 클릭으로 확대 / 축소하기 위해 이것들을 바인딩합니다 .

(global-set-key [S-mouse-1]    'zoom-in)
(global-set-key [C-S-mouse-1]  'zoom-out)
;; Get rid of `mouse-set-font' or `mouse-appearance-menu':
(global-set-key [S-down-mouse-1] nil)

zoom-frm.el명령처럼 행동 할 수 text-scale-adjust가 표시되는 목적지 버퍼를 확대, 또는 그들이 전체 단일 프레임을 확대 할 수 (minibuffers 포함한 윈도우, 모두, 그 모드 라인을, 그 스크롤 바를; 등).

버퍼 줌과 프레임 줌 사이C-u전환 하려면이 명령을 사용하는 동안 언제든지 적중 하십시오 . 기본적으로 제공되는 확대 / 축소 종류 (버퍼 또는 프레임)는 option에 의해 정의됩니다 zoom-frame/buffer. C-u확대 / 축소 명령으로 옵션을 전환합니다.


5

기본 C-x C-0/-/=바인딩은 훌륭한 글꼴 크기 조정 작업을 수행합니다. 그러나 사용되는 버퍼에만 적용됩니다. 버퍼 외부의 텍스트 (예 : 모드 라인, 미니 버퍼 또는 기타 버퍼)의 글꼴 크기는 변경하지 않습니다.

아래 함수는 해당 영역의 글꼴 크기를 전체적으로 변경합니다.

default-font-size-pt변수를 사용하여 각 emacs 세션의 기본 글꼴 크기를 설정할 수 있습니다 .

(setq default-font-size-pt 12)

(defun modi/font-size-adj (&optional arg)
  "The default C-x C-0/-/= bindings do an excellent job of font resizing.
They, though, do not change the font sizes for the text outside the buffer,
example in mode-line. Below function changes the font size in those areas too.

M-<NUM> M-x modi/font-size-adj increases font size by NUM points if NUM is +ve,
                               decreases font size by NUM points if NUM is -ve
                               resets    font size if NUM is 0."
  (interactive "p")
  (if (= arg 0)
      (setq font-size-pt default-font-size-pt)
    (setq font-size-pt (+ font-size-pt arg)))
  ;; The internal font size value is 10x the font size in points unit.
  ;; So a 10pt font size is equal to 100 in internal font size value.
  (set-face-attribute 'default nil :height (* font-size-pt 10)))

(defun modi/font-size-incr ()  (interactive) (modi/font-size-adj +1))
(defun modi/font-size-decr ()  (interactive) (modi/font-size-adj -1))
(defun modi/font-size-reset () (interactive) (modi/font-size-adj 0))

(modi/font-size-reset) ; Initialize font-size-pt var to the default value

hydra패키지 의 도움으로 글꼴을 쉽게 조정할 수 있습니다 .

(require 'hydra)
(defhydra hydra-font-resize
    (global-map "C-M-=")
  "font-resize"
  ("-"   modi/font-size-decr  "Decrease")
  ("="   modi/font-size-incr  "Increase")
  ("0"   modi/font-size-reset "Reset to default size"))

사용 예 :

  • 글꼴을 4 포인트 늘립니다 C-M-= = = = =
  • 폰트를 6 포인트 줄입니다 C-M-= - - - - - -
  • 설정된 기본 포인트 크기로 글꼴 재설정 C-M-= 0
  • 글꼴이 얼마나 크거나 작을 지 확실하지 않습니다. :) C-M-= = = = - - = = - - 0 - - = =

C-M-=접두사를 원하는 다른 것으로 변경하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.