GNU ELPA - spacious-padding

spacious-padding

Description
Increase the padding/spacing of frames and windows
Latest
spacious-padding-0.4.1.tar (.sig), 2024-Mar-11, 110 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.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://git.sr.ht/~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.4.0 on 2024-03-04

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

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

1.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 configured to either (i) apply the same width to both fringes, per the :fringe-width property, or (ii) set different width values for either side with :right-fringe-width and :left-fringe-width.

The default value is 8, which the standard width of fringes. This means that there is no visible change for users unless they opt to modify the relevant value.

Sample using the default:

(setq spacious-padding-widths
      '( :internal-border-width 15
	 :header-line-width 4
	 :mode-line-width 6
	 :tab-width 4
	 :right-divider-width 30
	 :fringe-width 20 ; Make both fringes 20 pixels wide
	 :scroll-bar-width 8))

Or this for individuated values:

(setq spacious-padding-widths
      '( :internal-border-width 15
	 :header-line-width 4
	 :mode-line-width 6
	 :tab-width 4
	 :right-divider-width 30
	 :right-fringe-width 20 ; Make the right fringe 20 pixels wide
	 :left-fringe-width 8 ; Make the left fringe 8 pixels wide
	 :scroll-bar-width 8))

When combined with the aforementioned setting to keep the window divider visible, we can have something like this:

(setq spacious-padding-widths
      '( :internal-border-width 15
	 :header-line-width 4
	 :mode-line-width 6
	 :tab-width 4
	 :right-divider-width 1 ; Keep a visible vertical line between windows
	 :fringe-width 20 ; Make both fringes 20 pixels wide
	 :scroll-bar-width 8))

1.3. The built-in tab-line-mode is also covered

Previous versions of the package provided stylistic support for tab-bar-mode. This is now extended to tab-line-mode. Thanks to Lucas Gruss for providing the impetus for this inclusion in pull request 6: https://github.com/protesilaos/spacious-padding/pull/6.

Building on that, all tabbed interfaces are subject to the property :tab-width of the spaicous-padding-widths. A granular configuration is also possible with the :tab-bar-width and :tab-line-width.

Thanks again to Lucas Gruss for suggesting this arrangement. We discussed this as a follow-up to Lucas’ contribution in commit … …