face-remap+

Homepage: https://www.emacswiki.org/emacs/download/face-remap%2b.el

Author: Drew Adams

Updated:

Summary

Extensions to standard library `face-remap.el'

Commentary

Commands `text-scale-decrease', `text-scale-increase', and
 `text-scale-adjust' (bound to `C-x C--', `C-x C-+', `C-x C-=', and
 `C-x C-0') let you resize the text in the current buffer by
 changing its scale factor.

 In vanilla Emacs:

 * When you shrink or enlarge the apparent text size this way,
   however, the window takes no notice of it.  In particular,
   although shrinking text can result in extra horizontal space at
   the right, window commands do not see this space as extra.

 * If you change the major mode in a buffer that you've
   text-scaled, that mode change resets the text size, so you lose
   any scaling you've done in it.

 This library provides two enhancements to standard library
 `face-remap.el':

 1. You can optionally have text-scaling also automatically resize
    the selected window (horizontally, vertically, or both) when
    text is resized, so that the way the window fits the buffer
    text remains relatively constant.  Shrinking the text in one
    window shrinks that window, giving more space to adjacent
    windows.  This is governed by user option
    `text-scale-resize-window'.

    If you also use library `fit-frame.el', then one-window frames
    also respond to text resizing by scaling.  If not, then the
    text-scale commands have no effect on frame size for one-window
    frames.

 2. You can optionally make text-scaling be permanently
    buffer-local, for all buffers.  This has the effect that if you
    change the major mode in a buffer that's been text-scaled, that
    mode change has no effect on the text size: whatever size you
    scaled it to remains in effect.  This is governed by global
    minor mode `text-scale-keep-mode'.

 For Emacs versions 23-28, this library also fixes a regression
 (bugs #46973 and #54114) introduced in 23 - it provides the Emacs
 29 version of function `face-remap-set-base'.

 See also:

 * Library `zoom-frm.el', which provides commands `zoom-in' and
   `zoom-out', which let you zoom the text in a buffer (as in text
   scaling) or the text in an frame.  In the latter case, the
   default font of the frame is enlarged or shrunk dynamically.

 * Library `doremi-frm.el', which provides commands
   `doremi-buffer-font-size+' and `doremi-frame-font-size+', which
   provide another way to zoom incrementally.

 To use library `face-remap+.el', put it in your `load-path' and
 put this sexp in your init file (~/.emacs):

  (require 'face-remap+)


 Commands defined here:

   `text-scale-keep-mode'.

 Options (user variables) defined here:

   `text-scale-resize-window'.


 ***** NOTE: The following standard functions defined in `face-remap.el'
             have been REDEFINED HERE:

   `text-scale-increase' -- Possibly resize the window or frame.

Dependencies