GNU bug report logs - #75056
31.0.50; tty-child-frames with server / multiple clients possible hangs

Previous Next

Package: emacs;

Reported by: Len Trigg <lenbok <at> gmail.com>

Date: Tue, 24 Dec 2024 05:44:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, lenbok <at> gmail.com, 75056 <at> debbugs.gnu.org
Subject: bug#75056: 31.0.50; tty-child-frames with server / multiple clients possible hangs
Date: Thu, 30 Jan 2025 19:00:01 +0100
[Message part 1 (text/plain, inline)]
>>>> Also when I want to move a child frame to the left of its parent via
>>>>
>>>>     (modify-frame-parameters nil '((left . 0)))
>>>>
>>>> the left border disappears.  Is that intended?
>>>
>>> If I understand that correctly, then probably yes. The borders are drawn
>>> around the frame, so the left border is at left - 1, the right at left +
>>> width + 1, and so on.
>>
>> I see.
>>
>>> Whatever is outside of the terminal is clipped.

Troublesome.  Please revise that.  When I want to resize a child frame
with the mouse, I have to drag its internal border.  But as it stands,
the internal border is part of the underlying or root frame and the
whole make_lispy_position mechanism is broken on ttys.

> _Much_ nicer than the default IMO. I still wished Emacs would do that by
> default, but here were objections.

Looks good.  But _where_ on earth (that is, in the code) do you that and
how is it related to the width of the internal border?

I attach my latest achievements both in the menu bar and mouse drag
child frame departments.  Menu bars now accept navigation with the
keyboard which was pretty non-trivial to do.  Mouse dragging works with
header and mode lines - the attached tty-child-frames.el should provide
the necessary ingredients via C-l and M-l.

One bug I noted now is the following.  Do C-l and M-l and drag the
yellow and orange frames somehow as in before.png with the cursor in the
yellow frame right before the left edge of the orange frame.  Do C-f -
the cursor appears on top of the left edge of the orange frame as in
middle.png.  Another C-f moves it into the orange frame as in after.png.

martin
[tty-menubar-and-drag.diff (text/x-patch, attachment)]
[tty-child-frames.el (text/x-emacs-lisp, attachment)]
[before.png (image/png, attachment)]
[middle.png (image/png, attachment)]
[after.png (image/png, attachment)]

This bug report was last modified 110 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.