help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to Display a Zero Height Line


From: Psionic K
Subject: Re: How to Display a Zero Height Line
Date: Sun, 1 Dec 2024 10:04:32 +0900

For motivating context, the Dslide package currently uses a
`line-height` modifying overlay to animate text below, achieving a
"slide-in" effect in graphical terminals.  The implementation is
visible around line 2699 in dslide.el, available on Non-GNU ELPA.

The problem with the use of `line-height` is that it interacts with
Emacs display to stretch out the `:inverse-video' background of TODO
tags from the org-modern package.  I expect text with a background
property will be similarly affected.

As I was saying in the title, I am looking for more ways to display a
zero-height line above a line of actual text.  This line can be real,
exist in an overlay, or be achieved through some kind of specified
vertical space or similar concept.  The design requirements are as
follows:

1. There is vertical space between a target line and the line above or
top of the buffer
2. This vertical space does not have a side effect of extending the
background or `:inverse-video' background of the target line or the
line above it
3. The vertical space can be drawn at zero height and at fractional
heights up to the distance content is slid in from

I have set these boundary conditions wide because I might not be aware
of all ways to achieve the desired effect.

Within a fontified buffer, I have been unable to make actual newlines
into fractional or zero height using overlays.  I have neither been
able to use `:before-string` or `:after-string` as properties or
overlays.  I have used what I believe are every combination of
`line-height' and `line-spacing'.  However, the vertical spacing I
have achieved either cannot be drawn all the way down to zero height
or stretches the background of the animated line or preceding line.

As I did not write the display, I am unfamiliar with any intersection
of conditions that is capable of achieving the desired effect.

To be clear, this email is not replying to any previous email in this thread.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]