emacs-devel
[Top][All Lists]
Advanced

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

Re: Implementing child frames on terminal


From: Eli Zaretskii
Subject: Re: Implementing child frames on terminal
Date: Tue, 12 Jul 2022 16:25:17 +0300

> From: Po Lu <luangruo@yahoo.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  monnier@iro.umontreal.ca,
>   emacs-devel@gnu.org,  ibluefocus@outlook.com
> Date: Tue, 12 Jul 2022 17:44:58 +0800
> 
> Akib Azmain Turja <akib@disroot.org> writes:
> 
> > Really?  It looks like it would require to modify whole redisplay logic
> > to make sure whether a glyph is inside edges and write to it only if it
> > is.  That sounds more tedious to me.  However, maybe it's easier to do
> > but I don't know how to.
> 
> I guess you could allocate the individual rows in the child frame's
> desired matrix separately,then copy them to the parent frame's desired
> matrix after the results of `display_line' are written to a row of the
> child frame's desired matrix, and then skip actual updates on the child
> frame entirely (thus eliminating use of its current matrix), relying on
> `update_frame' to DTRT on the parent.

That'd be a step in the wrong direction, I think.  The whole idea of
TTY display is that glyphs written to the glyph rows of a window's
matrix "miraculously" end up in the frame's glyph matrix.  This avoids
a costly copying of glyphs by allocating the glyphs of windows from
the glyphs of the frame glyph matrix, and allows the last stage of
redisplay to optimize the writes of the entire frame, as opposed to
doing that window by window, which will surely be less optimal.

I see no reason yet to abandon this trick.



reply via email to

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