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: Eli Zaretskii
Subject: Re: "Final" version of tty child frames
Date: Fri, 17 Jan 2025 14:29:05 +0200

> Date: Fri, 17 Jan 2025 10:08:12 +0100
> Cc: Eli Zaretskii <eliz@gnu.org>, jared@finder.org, emacs-devel@gnu.org
> From: martin rudalics <rudalics@gmx.at>
> 
>  >> +     - There exists at least one visible child frame whose root is the
>  >> +       same frame as the root of W's frame.  Such a frame could overlap
>  >> +       the position of point in W in which case we (1) don't want to
>  >> +       show the cursor and (2) make sure that if point is not overlapped
>  >> +       by that frame, the cursor is shown.  */
>  >
>  > If one wants, one could sharpen the second point a bit. Glyphs from
>  > child frames can only ever appear if
>  >
>  > - in a current matrix
>  >
>  >    matrix == w->current_matrix
>  >
>  > - if w->frame is a root frame (NILP (w->frame->parent_frame)
>  >    IOW, the current matrix of child frames will never show this
>  >    phenomenon.
>  >
>  >    struct frame *f = XFRAME (w->frame);
>  >    is_tty_root_frame (f);
>  >
>  > - w is the selected window
>  >
>  > - that root frame has visible child frames. Something like
>  >
>  >    Lisp_Object z_order = frames_in_reverse_z_order (f, true);
>  >    bool has_visible_child = CONSP (XCDR (z_order);
>  >
>  > Which might be easier to understand than the below.
> 
> I am a bit lost with this.

Welcome to the club.

Can you explain why you need the is_tty_selected flag in the first
place?  What problem does it solve that the rest of the code in
set_cursor_from_row cannot?  IOW, why should set_cursor_from_row care
whether the 'w' argument is the selected window or not?



reply via email to

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