GNU ELPA - spacious-padding

spacious-padding Atom Feed

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:

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.

Old versions

spacious-padding-0.7.0.tar.lz2025-Jun-0123.5 KiB
spacious-padding-0.6.1.tar.lz2025-Apr-3023.1 KiB
spacious-padding-0.6.0.tar.lz2025-Jan-0622.7 KiB
spacious-padding-0.5.0.tar.lz2024-Apr-2921.8 KiB
spacious-padding-0.4.1.tar.lz2024-Mar-3120.9 KiB
spacious-padding-0.4.0.tar.lz2024-Mar-0420.9 KiB
spacious-padding-0.3.0.tar.lz2023-Dec-2118.8 KiB
spacious-padding-0.2.2.tar.lz2023-Nov-253.37 KiB
spacious-padding-0.2.1.tar.lz2023-Nov-253.37 KiB
spacious-padding-0.2.0.tar.lz2023-Nov-243.36 KiB
spacious-padding-0.1.0.tar.lz2023-Jun-062.41 KiB
spacious-padding-0.0.0.tar.lz2023-Jun-032.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 … …