From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Emacs's set-frame-size can not work well with gnome-shell? Date: Sun, 26 Jan 2020 09:43:19 +0100 Message-ID: <8f8f03e2-39d3-af46-361d-2d5060d15217@gmx.at> References: <2056a194.3971.16f8d4dd4c5.Coremail.tumashu@163.com> <15405719-d58d-44db-f1df-ad3bb272b2fc@yandex.ru> <437eae9b-ccc1-3875-86b7-1af0e61b6e15@gmx.at> <710da57c-28dc-fab7-81af-0318a9389d6a@yandex.ru> <0e41cd9e-8be3-f67a-6958-7bad38ee1266@gmx.at> <6c86c25b-22df-2b69-34fe-539605f624ba@yandex.ru> <7dd69fe5-4ef4-782c-2fba-031d475f6406@yandex.ru> <32fb4915-be55-f753-5f6c-423a09030fd6@gmx.at> <8b252ea4-5902-d21e-a0d7-cdb3ddbb4e08@yandex.ru> <44e78be7-be8b-3756-805b-e1455516ef2c@gmx.at> <7f0ebc82.7f9.16fcf69ab7e.Coremail.tumashu@163.com> <7237c15a-8e6c-316d-8d0f-cf15a6c58d14@gmx.at> <619a81b3-d89e-dde0-0cbf-a42c45fcde03@yandex.ru> <93b0c6f4-74e5-854d-3bad-a0b994f83e89@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------A86471FC41363AFFDC0E8145" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="67733"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: Dmitry Gutov , tumashu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 26 09:49:39 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ivdbu-000HaW-EP for ged-emacs-devel@m.gmane-mx.org; Sun, 26 Jan 2020 09:49:38 +0100 Original-Received: from localhost ([::1]:60490 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ivdbt-0000tM-CB for ged-emacs-devel@m.gmane-mx.org; Sun, 26 Jan 2020 03:49:37 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53649) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ivdVx-0007KO-Rq for emacs-devel@gnu.org; Sun, 26 Jan 2020 03:43:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ivdVw-0004Xp-Dc for emacs-devel@gnu.org; Sun, 26 Jan 2020 03:43:29 -0500 Original-Received: from mout.gmx.net ([212.227.17.20]:58263) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ivdVw-0004Wv-3j for emacs-devel@gnu.org; Sun, 26 Jan 2020 03:43:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1580028200; bh=6cJEbpAY4XIrksIME4fLi0NlF4uMQ6ksnD40/Xdf4f8=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=SqnHjwb+tkeTc73Hb/3l0oEditze50M5nGs4gsl+mGg6ZnefCL6e4uxjEKns0HpvY KvloPA0/kZJ5FpGEXLZekF8XgA+ljirPsAJO1GkYdrf4v7bHSzKZusCwfALC3uBt7G QWccyxfzRZxlXym8BeDwrU4MLWUsDvPx/WjSOKAk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.101] ([212.95.5.152]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mi2O1-1jZ4w52v33-00e5D6; Sun, 26 Jan 2020 09:43:20 +0100 In-Reply-To: <93b0c6f4-74e5-854d-3bad-a0b994f83e89@yandex.ru> Content-Language: en-US X-Provags-ID: V03:K1:ZK43TF33Aa9F3yASzB3thCt12OLYfJzWKIscKT/e1l/yo6lfdnA Ki1O3tSxQwO7pCz5iQrkgLoQD311xNB6wqvJnZMhSGIHAGVrX8nKXNebO3+SwAF60VFoSCe ULXizlCVEkwcndLJQgU29PKm9Jo1ay61dDLhjS/JXQyNqf5I/Afin3f1fAHXH4r39RfgPwl n36UnMV0xQorIrAcz69tQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:2lnJJ+DP4YY=:GSWAWtjIHnYXOTGne0cuKm 22AUXp+TcN712XFd6yzwczxugPFvtpzrW9kug0mS5oY/U5BZ7ZqR5tfd/0kIFkXBFl9uqz0Vf 0NU/75tKiKt0ywsXYFXtmVgYitxp+rIFCGPzgYxeaRqlwrlBVcyCcW5SXvznqw22yWdLzOa43 A5gadb/7EZn3Iwjl8op069EvduYkU8DJ7ulTt4YEviGJLznFKGuHZeR8r349hZdqO9beFkOQg pARMiYUTA8mPxMmF79CTgpyTzq5OwAE74LxNUNwxoYOLZC9AaI6KCNdLAtSnozcpK/WvLSWSJ STky5BsRt7btNnOXgDAx4CZ/x/qrAf0cY0Fq5T2tAeUidugXFgSdgKqT4+NcGFqDpYo8zbtGC 7XxGWUZCRx72C5EAW8ajygSAIUQk+yLDSwdOC0l4lr1y5YsWlhlEtfB2Ion8Z4aYThRoOCVPy FAPDeOjmI4mOJDYsItGvKXhHCK1UK0o0JvOjePI7Rfkev9KyZCRyMkClZapzT4YIfrKOeLVAU kP6BFhWoTC0SDkd25DpeJaAUSgcLvAq2qbz1vmMs6/6QUqDsK+o6MLedSbqPA7uZcNR5dJrsc bz6DjtU9VRxKrrAN5/ndyC8Zr8iP/jw7Mob5Cl5i5SIsb+lPFrkoqy9JExZhlCFCWWRlP3nP7 Gr8WyLyliKMvsYjqLyGbWOkF0LZzgfbabEn39ryn4uAsCN9xLRSLf/ZKpi+GGLc7cjdhrwxLo U52XMhLBpEMB0DVNiJOGMVmpmEWHqhMbkhxOiI1o+aGu84+Mi4p8hYLVgZNbevVy/g33yJ08 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244651 Archived-At: This is a multi-part message in MIME format. --------------A86471FC41363AFFDC0E8145 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit > 1. When trying to resize the child frame, adjust_frame_size (...) *is* > hit. "configureEvent = ..." is not hit. OK. Someone else swallows our resize request and I have no idea who and why. Can you try these steps once more with xterm.diff applied? I'll attach it again. > 2. When moving the child frame by dragging the mode-line (or any other > way), the second breakpoint is hit. OK. > The first one (if (FRAME_WINDOW_P (f)) ...), -- isn't hit when > dragging the mode-line. It *is* hit if I call set-frame-position > explicitly from Lisp. The former uses frame parameters so this is expected. martin --------------A86471FC41363AFFDC0E8145 Content-Type: text/x-patch; name="xterm.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="xterm.diff" diff --git a/src/xterm.c b/src/xterm.c index 21d99f0c7b..02055f133f 100644 =2D-- a/src/xterm.c +++ b/src/xterm.c @@ -10604,9 +10604,13 @@ x_set_offset (struct frame *f, register int xoff,= register int yoff, int change_ } #ifdef USE_GTK - /* Make sure we adjust for possible scaling. */ - gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), - modified_left / scale, modified_top / scale); + if (FRAME_PARENT_FRAME (f)) + XMoveWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), + modified_left, modified_top); + else + /* Make sure we adjust for possible scaling. */ + gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), + modified_left / scale, modified_top / scale); #else XMoveWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), modified_left, modified_top); @@ -11355,9 +11359,14 @@ x_set_window_size_1 (struct frame *f, bool change= _gravity, int old_height =3D FRAME_PIXEL_HEIGHT (f); Lisp_Object fullscreen =3D get_frame_param (f, Qfullscreen); - if (change_gravity) - f->win_gravity =3D NorthWestGravity; - x_wm_set_size_hint (f, 0, false); + + if (!FRAME_PARENT_FRAME (f)) + { + if (change_gravity) + f->win_gravity =3D NorthWestGravity; + + x_wm_set_size_hint (f, 0, false); + } /* When the frame is fullheight and we only want to change the width or it is fullwidth and we only want to change the height we should @@ -11489,7 +11498,7 @@ x_set_window_size (struct frame *f, bool change_gr= avity, } #ifdef USE_GTK - if (FRAME_GTK_WIDGET (f)) + if (FRAME_GTK_WIDGET (f) && !FRAME_PARENT_FRAME (f)) xg_frame_set_char_size (f, width, height); else x_set_window_size_1 (f, change_gravity, width, height); --------------A86471FC41363AFFDC0E8145--