emacs-devel
[Top][All Lists]
Advanced

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

Re: "Final" version of tty child frames


From: Gerd Möllmann
Subject: Re: "Final" version of tty child frames
Date: Thu, 16 Jan 2025 14:41:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:

>> We need only a suitable hpos/x though that is in the child frame.
>> That should make the cursor magic in dispnew.c work that prevents
>> cursors from "shining through child frames". Don't know what that means
>> for R2L though.
>
> "Suitable" in what way?  What is proposed here is to have an hpos
> whose relation to charpos is indeterminate.  I'm not sure this will
> fly.  

Can't say anything to that. Can you elaborate what the problem might be?

> AFAIU, we don't even understand well enough how come it fixed the
> problem, do we?

We do :-). The magic involved is in combine_updates_for_frame

  /* If a child is displayed, and the cursor is displayed in another
     frame, the child might lay above the cursor, so that it appears to
     "shine through" the child.  Avoid that because it's confusing.  */
  if (topmost_child)
    terminal_cursor_magic (root, topmost_child);

where

static void
terminal_cursor_magic (struct frame *root, struct frame *topmost_child)
{
  /* By default, prevent the cursor "shining through" child frames.  */
  if (is_cursor_obscured ())
    tty_hide_cursor (FRAME_TTY (root));

and so on, which ultimately looks at w->cursor of the selected frame's
selected window. So "suitable" position means in this context, that (x,
y) is inside the child frame's rectangle (top, left, width, height).



reply via email to

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