Automatic sizing of Emacs windows according to the golden ratio.
This is an updated and greatly simplified derivative of golden-ratio.el for Emacs 27. Version 27 overhauled the way window changes are registered, obviating the need for the original code's complexity. The UX was also simplified in the process and a number of outstanding issues fixed.
Running a divider down the middle of a user interface violates basic design principles, creating a cramped editing environment. Unfortunately, this is the reality for most Emacs users. Whether or not you believe in its cosmic significance, the golden ratio is a tried and true method of sectioning space in a pleasing manner.
golden automatically expands the active window to fill 2/(1+√5) of the frame. With two windows, this corresponds to a golden rectangle. Because only the active window is resized, returns diminish with more windows but are still generally effective.
Toggle one of the following minor modes:
golden-mode: Enable or disable automatic resizing when switching to windows containing this buffer
global-golden-mode: Enable or disable automatic resizing for all windows
global-golden-resize can also be used to manually resize the selected window.
golden-ratio.el customization options dedicated to inhibiting the resizing of particular buffers, major modes, etc. have been replaced by a single list of predicate functions:
golden-inhibit-predicates: List of functions to be called with no arguments the first time
global-golden-modemight be enabled in a buffer; if any returns a non-nil value, automatic resizing is inhibited when switching to windows containing that buffer