Ajuster temporairement la taille du texte dans la ligne de mode et le mini-tampon?

10

Lorsque je travaille avec d'autres personnes autour d'un moniteur partagé ou via le partage d'écran (par exemple, Google Hangout), j'utilise souvent text-scale-adjust( C-x C-+) pour permettre aux autres de lire plus facilement mon écran.

J'aimerais pouvoir également augmenter de manière transitoire la taille du texte de la ligne de mode et du mini-tampon dans le cadre sélectionné. Cette capacité existe-t-elle déjà? Sinon, je pourrais trouver comment l'écrire moi-même ... éventuellement.

Colin Fraizer
la source

Réponses:

9

La mise à l'échelle du texte effectue un zoom sur le texte d'un tampon particulier, partout où le tampon est affiché.

Ce que vous voulez faire, c'est zoomer un cadre particulier et pas seulement redimensionner le texte d'un tampon particulier.

Les commandes zoom-in, zoom-outet zoom-in/out de la bibliothèque zoom-frm.elvous permettent de faire ces deux choses facilement et progressivement.

Depuis le clavier, la commande zoom-in/outest tout ce dont vous avez besoin - utilisez-la en remplacement de 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)

Vous pouvez lier zoom-inet zoom-outaux rotations de la molette de la souris :

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

Je les lie également, pour zoomer en cliquant avec la souris :

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

Les zoom-frm.elcommandes peuvent se comporter comme text-scale-adjust, zoomer un tampon partout où il est affiché, ou zoomer sur une seule image (toutes ses fenêtres, y compris les mini-tampons; sa ligne de mode; ses barres de défilement; etc.).

Frappez C-uà tout moment en utilisant ces commandes pour basculer entre le zoom de tampon et le zoom de cadre . Le type de zoom (buffer ou frame) que vous obtenez par défaut est défini par option zoom-frame/buffer. C-uavec une commande de zoom bascule l'option.

A dessiné
la source
5

Les C-x C-0/-/=liaisons par défaut font un excellent travail de redimensionnement de police. Mais ils s'appliquent uniquement au tampon où ils sont utilisés. Ils ne modifient pas les tailles de police pour le texte en dehors du tampon, par exemple dans la ligne de mode, le mini-tampon ou d'autres tampons.

La fonction ci-dessous modifie également la taille de la police dans ces zones, globalement.

Vous pouvez utiliser la default-font-size-ptvariable pour définir la taille de police par défaut pour chaque session 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

L'ajustement des polices peut être fait en un clin d'œil à l'aide du hydrapackage.

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

Exemples d'utilisation:

  • Augmente la police de 4 points C-M-= = = = =
  • Diminue la police de 6 points C-M-= - - - - - -
  • Réinitialiser la police à la taille de point par défaut définie C-M-= 0
  • Vous ne savez pas exactement quelle taille vous voulez que les polices soient grandes :) C-M-= = = = - - = = - - 0 - - = =

N'hésitez pas à changer le C-M-=préfixe en toute autre chose de votre goût.

Kaushal Modi
la source