Text scaling zooms the text of a particular buffer, everywhere that the buffer is displayed.
What you want to do is zoom a particular frame and not just scale the text of a particular buffer.
Commands zoom-in
, zoom-out
, and zoom-in/out
of library zoom-frm.el
let you do both of these things easily and incrementally.
From the keyboard, command zoom-in/out
is all you need - use it as a replacement for 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)
You can bind zoom-in
and zoom-out
to mouse-wheel rotations:
(global-set-key (vector (list 'control mouse-wheel-down-event)) 'zoom-in)
(global-set-key (vector (list 'control mouse-wheel-up-event)) 'zoom-out)
I bind these as well, for zooming by mouse clicking:
(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)
The zoom-frm.el
commands can behave like text-scale-adjust
,
zooming a buffer wherever it is displayed, or they can zoom an
entire single frame (all of its windows, including minibuffers; its mode line; its scroll bars; etc.).
Hit C-u
at any time while using these commands to toggle between buffer zooming and frame
zooming. The kind of zooming (buffer or frame) you get by default is defined by option zoom-frame/buffer
. C-u
with a zoom command toggles the option.