spacious-padding 
- Description
- Increase the padding/spacing of frames and windows
- Latest
- spacious-padding-0.8.0.tar (.sig), 2025-Dec-14, 130 KiB
- Maintainer
- Protesilaos Stavrou <info@protesilaos.com>
- Website
- https://github.com/protesilaos/spacious-padding
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- spacious-padding
To install this package from Emacs, use package-install or list-packages.
Full description
spacious-padding for GNU Emacs
DEMO IMAGES:
- https://protesilaos.com/codelog/2023-06-03-emacs-spacious-padding/
- https://protesilaos.com/codelog/2023-11-15-spacious-padding-extra-ui-dev/
This package provides a global minor mode to increase the
spacing/padding of Emacs windows and frames. The idea is to make
editing and reading feel more comfortable. Enable the mode with M-x
spacious-padding-mode. Adjust the exact spacing values by modifying
the user option spacious-padding-widths.
Inspiration for this package comes from Nicolas Rougier's impressive
designs and Daniel Mendler's
org-modern package.
- Package name (GNU ELPA):
spacious-padding - Official manual: https://protesilaos.com/emacs/spacious-padding
- Change log: https://protesilaos.com/emacs/spacious-padding
- Git repositories:
- Sample images:
- Backronyms: Space Perception Adjusted Consistently Impacts Overall Usability State ... padding; Spacious ... Precise Adjustments to Desktop Divider Internals Neatly Generated.
Old versions
| spacious-padding-0.7.0.tar.lz | 2025-Jun-01 | 23.5 KiB |
| spacious-padding-0.6.1.tar.lz | 2025-Apr-30 | 23.1 KiB |
| spacious-padding-0.6.0.tar.lz | 2025-Jan-06 | 22.7 KiB |
| spacious-padding-0.5.0.tar.lz | 2024-Apr-29 | 21.8 KiB |
| spacious-padding-0.4.1.tar.lz | 2024-Mar-31 | 20.9 KiB |
| spacious-padding-0.4.0.tar.lz | 2024-Mar-04 | 20.9 KiB |
| spacious-padding-0.3.0.tar.lz | 2023-Dec-21 | 18.8 KiB |
| spacious-padding-0.2.2.tar.lz | 2023-Nov-25 | 3.37 KiB |
| spacious-padding-0.2.1.tar.lz | 2023-Nov-25 | 3.37 KiB |
| spacious-padding-0.2.0.tar.lz | 2023-Nov-24 | 3.36 KiB |
| spacious-padding-0.1.0.tar.lz | 2023-Jun-06 | 2.41 KiB |
| spacious-padding-0.0.0.tar.lz | 2023-Jun-03 | 2.27 KiB |
News
This document contains the release notes for each tagged commit on the project’s main git repository: https://github.com/protesilaos/spacious-padding.
The newest release is at the top. For further details, please consult the manual: https://protesilaos.com/emacs/spacious-padding.
Table of Contents
1. Version 0.8.0 on 2025-12-13
This release introduces some nice refinements and fixes a couple of subtle bugs.
1.1. Subtle mode and header line
The new user option spacious-padding-subtle-frame-lines supersedes
the ~spacious-padding-subtle-mode-line. It does the same thing,
namely, of making the mode lines use only a thin line instead of a
background. Though it extends this feature to header lines as well.
The documentation string of spacious-padding-subtle-frame-lines
describes the technicalities and includes examples. In short, we can
associate a keyword with either a face that has a foreground color or
a color value directly. For the convenience of the user, the package
also defines the faces spacious-padding-line-active and
spacious-padding-line-inactive. Here is a sample configuration:
;; Read the doc string of `spacious-padding-subtle-mode-line' as it
;; is very flexible. Here we make the mode lines be a single
;; overline, while header lines have an underline.
(setq spacious-padding-subtle-frame-lines
'( :mode-line-active spacious-padding-line-active
:mode-line-inactive spacious-padding-line-inactive
:header-line-active spacious-padding-line-active
:header-line-inactive spacious-padding-line-inactive))
In the future, we might decide that other elements can benefit from this style.
1.2. The header line underline is spaced further away from the text
As noted above, when spacious-padding-subtle-frame-lines is
configured to cover header lines, those will be drawn with an
underline. This will not intersect with the text of the header line.
Normally, underlines cut through letters that descend below the
baseline, such as the letters g and y. We choose to avoid that
because it makes for a cleaner interface (though I personally think it
is not a good style for paragraph text, because of the rivers of
negative space it introduces).
This specific design is available for Emacs version 29 or higher.
Users of Emacs 28 must set x-underline-at-descent-line to a
non-nil value. Though note that this has a global effect: we cannot
limit it to a single face.
Thanks to Steven Allen for covering this in pull request 37: https://github.com/protesilaos/spacious-padding/pull/37. Steven has assigned copyright to the Free Software Foundation.
1.3. The spacious-padding-widths can affect Custom buttons
This is about the buttons we find in buffers of the Custom system. For
example, we get such a buffer after we do M-x customize.
The relevant keyword is :custom-button-width. It is set to a number
of spaces for padding. Here is the default value and, as always, the
documentation cover the details:
(setq spacious-padding-widths
'( :internal-border-width 15
:header-line-width 4
:mode-line-width 6
:custom-button-width 3 ; the new one
:tab-width 4
:right-divider-width 30
:scroll-bar-width 8
:fringe-width 8))
1.4. Fixes for the Emacs daemon
There were reports about incorrect face specifications that could … …