GNU bug report logs - #65183
29.1; Child frame moving and resizing problems

Previous Next

Package: emacs;

Reported by: 陈宇迪 <jodieydchen <at> gmail.com>

Date: Wed, 9 Aug 2023 16:37:01 UTC

Severity: normal

Found in version 29.1

Full log


Message #38 received at 65183 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: 陈宇迪 <jodieydchen <at> gmail.com>
Cc: Po Lu <luangruo <at> yahoo.com>, 65183 <at> debbugs.gnu.org,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#65183: 29.1; Child frame moving and resizing problems
Date: Sun, 13 Aug 2023 09:21:02 +0200
> But there is one thing that I don't know what the best solution is: how to
> reuse the code
> in the function `adjust_frame_size' (defined in src/frame.c, used by
> `set-frame-size')?
> I want to add two arguments: `new_x' and `new_y'. When  `new_x' and `new_y'
> are the
> same with the current frame position,

... with GNOME/mutter it's hard to tell but that shouldn't bother us
here ...

> execute the original branch
> (`set_window_size_hook'
> or `resize_frame_window'); otherwise, call a move and resize function.
> But I have to rename this function to `adjust_frame_position_and_size'. For
> compatibility,

Alternatively you could put new_x and new_y together with an identifier
(say 'size_and_position') into PARAMETER and extract them before running
the hook.  INHIBIT would be 1 anyway, so frame_inhibit_resize is of no
concern here.

> I will also create a wrapper function called `adjust_frame_size', in which
> `adjust_frame_position_and_size' is called with the current frame position
> as the last two args

This is the crucial point - rewriting all those adjust_frame_size calls
would be a great pain.

> so that the frame will be only resized but not moved.
> Do you think this is an appropriate solution?

I think so, yes.

Before coding other backends of set_window_size_hook make sure that the
code gives the desired results on your own system to avoid writing them
without any gain.

martin




This bug report was last modified 1 year and 311 days ago.

Previous Next


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