Regola temporaneamente le dimensioni del testo nella riga della modalità e nel minibuffer?


10

Quando lavoro con altri attorno a un monitor condiviso o tramite la condivisione dello schermo (ad es. Google Hangout), utilizzo spesso text-scale-adjust( C-x C-+) per consentire agli altri di leggere più facilmente il mio schermo.

Mi piacerebbe anche essere in grado di aumentare temporaneamente le dimensioni del testo della riga della modalità e del minibuffer nel riquadro selezionato. Tale capacità esiste già? Altrimenti, potrei scoprire come scriverlo da solo ... alla fine.

Risposte:


9

Il ridimensionamento del testo ingrandisce il testo di un determinato buffer, ovunque sia visualizzato il buffer.

Quello che vuoi fare è ingrandire un determinato fotogramma e non solo ridimensionare il testo di un determinato buffer.

Comandi zoom-in, zoom-oute zoom-in/out di libreria zoom-frm.elconsentono di fare entrambe le cose in modo semplice e in modo incrementale.

Dalla tastiera, il comando zoom-in/outè tutto ciò che serve - usalo come sostituto di 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)

È possibile associare zoom-ine zoom-outalle rotazioni della rotellina del mouse :

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

Li associo anche a questi, per lo zoom facendo clic con il 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)

I zoom-frm.elcomandi possono comportarsi come text-scale-adjust, ingrandendo un buffer ovunque sia visualizzato, oppure possono ingrandire un intero singolo fotogramma (tutte le sue finestre, compresi i minibuffer; la sua linea di modalità; le sue barre di scorrimento; ecc.).

Premi C-uin qualsiasi momento mentre usi questi comandi per alternare tra lo zoom del buffer e lo zoom della cornice . Il tipo di zoom (buffer o frame) ottenuto per impostazione predefinita è definito dall'opzione zoom-frame/buffer. C-ucon un comando zoom attiva o disattiva l'opzione.


5

I C-x C-0/-/=binding predefiniti fanno un ottimo lavoro di ridimensionamento dei caratteri. Ma si applicano solo al buffer in cui vengono utilizzati. Non modificano le dimensioni del carattere per il testo all'esterno del buffer, ad esempio nella riga di modalità, nel mini-buffer o in altri buffer.

La funzione di seguito cambia la dimensione del carattere anche in quelle aree, a livello globale.

Puoi usare la default-font-size-ptvariabile per impostare la dimensione del carattere predefinita per ogni sessione di 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

La regolazione del carattere può essere facilitata con l'aiuto del hydrapacchetto.

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

Esempi di utilizzo:

  • Aumenta il carattere di 4 punti C-M-= = = = =
  • Diminuisci il carattere di 6 punti C-M-= - - - - - -
  • Ripristina il carattere alla dimensione del punto predefinita impostata C-M-= 0
  • Non sei esattamente sicuro di quanto siano grandi o piccoli i caratteri :) C-M-= = = = - - = = - - 0 - - = =

Sentiti libero di cambiare il C-M-=prefisso con qualsiasi altra cosa di tuo gradimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.