Ajustar temporariamente o tamanho do texto na linha de modo e no minibuffer?

10

Ao trabalhar com outras pessoas em torno de um monitor compartilhado ou através do compartilhamento de tela (por exemplo, Google Hangout), costumo usar text-scale-adjust( C-x C-+) para permitir que outras pessoas leiam minha tela com mais facilidade.

Gostaria muito de poder aumentar temporariamente o tamanho do texto da linha de modo e do minibuffer no quadro selecionado. Essa capacidade já existe? Se não, eu poderia descobrir como escrever isso ... eventualmente.

Colin Fraizer
fonte

Respostas:

9

A escala de texto amplia o texto de um buffer específico, em todos os lugares em que o buffer é exibido.

O que você quer fazer é ampliar um quadro específico e não apenas dimensionar o texto de um buffer específico.

Comandos zoom-in, zoom-oute zoom-in/out da biblioteca zoom-frm.elpermitem que você faça as duas coisas de maneira fácil e incremental.

No teclado, zoom-in/outbasta o comando - use-o como um substituto para 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)

Você pode ligar zoom-ine zoom-outpara as rotações do mouse rodas :

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

Também os vinculo, para aumentar o zoom clicando no mouse :

(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)

Os zoom-frm.elcomandos podem se comportar como text-scale-adjustampliar um buffer em qualquer lugar em que é exibido ou podem ampliar um único quadro inteiro (todas as suas janelas, incluindo minibuffers; sua linha de modo; suas barras de rolagem; etc.).

Pressione C-ua qualquer momento enquanto estiver usando esses comandos para alternar entre o zoom do buffer e o zoom do quadro . O tipo de zoom (buffer ou quadro) obtido por padrão é definido por opção zoom-frame/buffer. C-ucom um comando de zoom alterna a opção.

Desenhou
fonte
5

As C-x C-0/-/=ligações padrão fazem um excelente trabalho de redimensionamento de fontes. Mas eles se aplicam apenas ao buffer em que são usados. Eles não alteram o tamanho da fonte do texto fora do buffer, por exemplo, na linha de modo, no mini buffer ou em outros buffers.

A função abaixo também altera o tamanho da fonte nessas áreas, globalmente.

Você pode usar a default-font-size-ptvariável para definir o tamanho da fonte padrão para cada sessão do 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

O ajuste da fonte pode ser facilitado com a ajuda do hydrapacote.

(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"))

Exemplos de uso:

  • Aumentar a fonte em 4 pontos C-M-= = = = =
  • Diminuir a fonte em 6 pontos C-M-= - - - - - -
  • Redefinir fonte para o tamanho do ponto padrão definido C-M-= 0
  • Você não tem certeza de quão grande ou pequeno deseja que as fontes sejam :) C-M-= = = = - - = = - - 0 - - = =

Sinta-se livre para alterar o C-M-=prefixo para qualquer outra coisa do seu agrado.

Kaushal Modi
fonte