최근 편집
요약: Added a title so the purpose of the code snippet is clearer
추가됨:
> ==Teaching Emacs to Always Maintain 80 Columns==
When using a window manager that frequently reapportions screen space — such as a tiling window manager — or when in a situation where you are often flipping Emacs in and out of full-screen mode, you might want to train Emacs to maintain a width of 80 characters through each resize event. Though the following code is rudimentary — it would benefit from improvements like a cache of appropriate font sizes instead of recomputing the correct font size afresh with each call — it does maintain at least 80 columns of text across resizing.
;; Maintain at least 80 columns, even when the window is resized
(setq maximum-font-height 180)
(setq minimum-font-height 60)
(setq previous-frame-width 0)
(setq window-size-change-functions
'((lambda (frame)
(if (/= previous-frame-width (frame-width frame))
(let ((trial-size maximum-font-height))
(set-face-attribute 'default frame :height trial-size)
(while (and (> trial-size minimum-font-height)
(< (frame-width frame) 80))
(setq trial-size (- trial-size 10))
(set-face-attribute 'default frame :height trial-size))
(setq previous-frame-width (frame-width frame))
)))))
This code snippet was originally copied from auto-resize-font.el.