From: Eli Zaretskii <eliz@gnu.org>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: 62048@debbugs.gnu.org
Subject: bug#62048: 30.0.50; Non-nil `line-spacing' takes precendence over 'line-height t text property
Date: Thu, 09 Mar 2023 11:47:46 +0200 [thread overview]
Message-ID: <83edpy2r3x.fsf@gnu.org> (raw)
In-Reply-To: <87sfeecmom.fsf@localhost> (message from Ihor Radchenko on Thu, 09 Mar 2023 09:13:13 +0000)
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: 62048@debbugs.gnu.org
> Date: Thu, 09 Mar 2023 09:13:13 +0000
>
> > That shouldn't happen: if an image is taller than the window, then
> > C-n/C-p use window-vscroll to scroll the image only partially, at
> > least as long as line-move-visual is non-nil (which it is by default).
>
> Interesting. I did not notice this because this feature only manifests
> itself on really tall images. The images that are about screen height
> still feel jumpy.
AFAIU the code, this is intentional: the goal of using vscroll in
C-n/C-p is to make sure the user can see all the parts of the tall
image. Smooth scrolling is not the goal; if you want that, try
pixel-scroll-precision-mode.
> 1. Scrolling a very tall image with C-n/C-p https://0x0.st/HibG.mkv
> - Emacs behaves nicely, except at the beginning/end of the image
> - At the beginning the image suddenly jumps half a screen
> May this behaviour be somehow customized?
> - At the end, the image disappears very quickly. Maybe something do
> to with end of buffer.
No, it happens once the last part is seen in its entirety; see above
regarding the goal.
> 2. Scrolling a very tall image with mouse https://0x0.st/Hibk.mkv
> - Unexpectedly, most of the tall image is skipped upon mouse scroll.
> Bug?
I cannot reproduce this on my system, using drawing.svg you posted and
another large image I have here. Mouse scrolls behave for me like
C-n/C-p does.
> 3. Scrolling a near-screen tall image with C-n/C-p https://0x0.st/Hibn.mkv
> - Note how the image goes across the screen in just a few "jumps"
> (C-n strokes). This is the commonly observed behaviour in the images
> I often deal with. Probably something to do with what initial
> half-screen jump in (1).
If it jumps after all the portions of the image have been seen, and
the last portion is completely visible, that's the intended behavior.
> I think that jumping half screen at the beginning/end of the image
> is too drastic, especially for images near as tall as screen
> height. It would help if this behaviour is fixed or made
> customizable.
That's because you expect something C-n/C-p weren't programmed to do,
see above. If someone wants to work on making the scrolling more
smooth, I won't object, but the current code doesn't try to provide
smooth scrolling, only a chance to see the whole image part by part.
Please don't forget:
. The code in C-n/C-p that scrolls partially is not only for tall
images, it is also for tall text (try using a very large font for
some face or part of the buffer text). The relevant parts of
Emacs treat tall screen lines the same no matter what caused the
large height, whether an image or some tall text.
. The code in C-n/C-p needs to strike a fine balance between smooth
scrolling and user expectation that text that is not too large be
scrolled one line at a time, i.e. that you won't need several
C-n/C-p key strokes to move the display by a single screen line.
As image height goes smaller and smaller, at some point it is
reasonable to expect that a single C-n/C-p will scroll across the
entire line which contains the image, not just some part of that
line. The question is where to draw the line (pun intended); the
code has some heuristic regarding that.
next prev parent reply other threads:[~2023-03-09 9:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-08 12:18 bug#62048: 30.0.50; Non-nil `line-spacing' takes precendence over 'line-height t text property Ihor Radchenko
2023-03-08 17:31 ` Eli Zaretskii
2023-03-08 18:26 ` Ihor Radchenko
2023-03-08 19:50 ` Eli Zaretskii
2023-03-08 20:39 ` Ihor Radchenko
2023-03-09 6:54 ` Eli Zaretskii
2023-03-09 9:13 ` Ihor Radchenko
2023-03-09 9:47 ` Eli Zaretskii [this message]
2023-03-09 10:55 ` Ihor Radchenko
2023-03-09 12:16 ` Eli Zaretskii
2023-03-11 11:10 ` Ihor Radchenko
2023-03-11 12:28 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83edpy2r3x.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=62048@debbugs.gnu.org \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).