GNU ELPA - spacious-padding


Increase the padding/spacing of frames and windows
spacious-padding-0.5.0.tar (.sig), 2024-Apr-29, 120 KiB
Protesilaos Stavrou <>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

spacious-padding for GNU Emacs


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.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


This document contains the release notes for each tagged commit on the project’s main git repository:

The newest release is at the top. For further details, please consult the manual:

1. Version 0.5.0 on 2024-04-29

This is a bug fix release.

1.1. Starting a frame from the daemon/server works as well

Before, if Emacs would start as a new server process via a client, it would not set the faces and the frame parameters correctly.

I have made sure this no longer happens, so the padding/spacing should look as expected at startup no matter what.

Thanks to tusharhero and Julian Flake for reporting this and testing the updated code. It was done in issue 13:

1.2. The padding of relevant elements can be set to 0

This concerns anything that has a box with padding around it. From the user option spacious-padding-widths, we have the following attributes:

  • :tab-width
  • :tab-bar-width
  • :tab-line-width
  • :header-line-width
  • :mode-line-width

Thanks to Ruby Iris Juric for the contribution. It was done in pull request 7:

The change is less than the 15-line limit, so Ruby does not need to assign copyright to the Free Software foundation.

1.3. The right-divider-width has a fallback value at all times

This means that even if the :right-divider-width is not included in the value of spacious-padding-widths, there will still be a padding in place. We were already doing this for other scenaria, but not for this specific case. Thanks to Stefano Rodighiero for bringing this matter to my attention in issue 11:

1.4. Reasonable defaults even if spacious-padding-widths is set to nil

All the attributes of the spacious-padding-widths should be optional and the value could even be nil. We take care internally to use a reasonable fallback value. We do this on the assumption that the user who enables spacious-padding-mode does actually want “spacious padding” and not something that does nothing.

2. Version 0.4.0 on 2024-03-04

This version add some quality-of-life improvements to an already solid package.

2.1. The vertical border can now remain visible

The user option spacious-padding-widths is the single point of entry for all types of padding supported by the package. The property :right-divider-width applies to the vertical border between windows. When it is set to 1 pixel in width, it is no longer made invisible. Higher values do make it invisible, to produce the padding effect.

Spacing between windows can still be increased by modifying the now-supported fringes (more below, including a code sample).

Thanks to Aronne Raimondi for suggesting the possibility of a visible divider. This was done via a private channel and the information is shared with permission.

2.2. Add padding to the window fringes

The fringe area is the space to the left and right side of every window where indicators such as for line continuation/truncation are displayed. The user option spacious-padding-widths can now be … …