From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#54863: 28.1; hook move-frame-functions not working in emacs 28.1 Date: Tue, 12 Apr 2022 16:14:52 +0800 Message-ID: <87r162wweb.fsf@yahoo.com> References: <0ee6195e-4561-d9ff-e30b-68707ce14b9e@gmx.at> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21258"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Cc: James Ahlborn , 54863@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Apr 12 10:23:17 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1neBnw-0005Dt-Uc for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Apr 2022 10:23:17 +0200 Original-Received: from localhost ([::1]:46118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1neBnv-0001C2-IO for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Apr 2022 04:23:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1neBgw-0007Tw-8M for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2022 04:16:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53508) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1neBgv-0008JF-Vf for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2022 04:16:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1neBgv-0001nv-PM for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2022 04:16:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Apr 2022 08:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54863 X-GNU-PR-Package: emacs Original-Received: via spool by 54863-submit@debbugs.gnu.org id=B54863.16497513136849 (code B ref 54863); Tue, 12 Apr 2022 08:16:01 +0000 Original-Received: (at 54863) by debbugs.gnu.org; 12 Apr 2022 08:15:13 +0000 Original-Received: from localhost ([127.0.0.1]:47402 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neBg8-0001mP-VB for submit@debbugs.gnu.org; Tue, 12 Apr 2022 04:15:13 -0400 Original-Received: from sonic312-23.consmr.mail.ne1.yahoo.com ([66.163.191.204]:38280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neBg5-0001m2-FJ for 54863@debbugs.gnu.org; Tue, 12 Apr 2022 04:15:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649751302; bh=6kXcDerw9JZJmEAu1rz1Yj63wlTasFHQKqYESvjCii8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=BCxFw9nFsdgOYUKhOFIjty9YlxxXSNfp6xKb47VbfyzDRJBjQYMFzx0UrbwbGbbWGaGecdY7cWXgXPZRY1ohd0NnHrp0rWy+Vv7Oh00jhfG1NKPSXYuVrVfDxcqwBuSwE0B7QonHDAGe1o0ADjCWoTRCo03k01hpcYefVwy/28UOKZnhVsa6LOl86tKIJc1l737FMiufFAJNK7IRXrqLZMlAPE6fSmRA1hfBMVR2yQ/Q4K27IJO51RMSUPwZ+RfxvWmMOdsUUmsKgDCzITuMTiM5BC5JSoOPHhuwlWDnX7ZPqDh5Crv5WpHdwrJlJZp/NVBeJHuI+OMnSfDTgB4UVg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649751302; bh=0SWWYP8R25hP+VDs6upIqfjS8M5U4BFRZP19gKlSJNd=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=ln0aDB9elwc0StIYFQ0OGAy2qJmfdwDy53R9zLiIoX0jIjvzBAkgJyr4ssX+srUX7BpQqvogrA8vdhz/RQSrVdWaiM7si0MMZhreqjcK41CpuB0sfAtzB24jRsDgCscZ5FeEJ//ZLy5v76rmW5ztVT4aKdUHxoB9S8LoiU39Ew6xsUn5yrx3FyQfj4v/v2AScHy6Or6+f55kOXstVIx0LWxceQ7JPbB/cnFj9e9tuLBbot7+OnVIjUPnGbtEq97qLuSOmJt0pNrLBu7yW5DmK3QTli9NZHa76wm+Bk+z0SLb88hyC0Y5Wltpr2N2gLgODWnSHow3yYdMtP6p5XM6ag== X-YMail-OSG: wxVifcwVM1kmRyihGCQ._tIB0n2YQ5Hr3PE2wf1taT_rSiyisCRnkoNgbVevkko t6UHZWr003V_YIy94mXyECGMq7PBxLwX18U5mU9rUjU.V3EtAztUqUliVdQrVBKoPSo2KJ.zwKh1 T8.VkBMMKpEKslOlQ1y2lU3Dkk_n2.EawvAAh2oZb9Y17WFzoTeA1v8dkVbNHF2i9S3KE54AAbJC vhopoc9KTWqHvs5KCrCKWi.CajUMkqTtZKc.Xy1SBGKzEXANTr10GpLNjvZBja2jQWmu.YmQkqI9 awO8tX19UrgWVVWdI1olyBQMng6BGViS9A3EM5eQQBD0VHTNf2JxK.VBaVxIdMPkSOnwJZHNJuqL ybaopMCrG_bAc2WO.oo3Vy2LoRP9rbC2kwYxDk0Ks7C0aiB6uBFdKMU.Ch1dha0OQGYDGa6SfELR E5dVjkxGBLLniEO.Q7fOhYZ9oKrxur5qMjszkZbA8RicW0Jd2l8SpEVRssgX1V.BNjeUmkyKIRdo c0gVTvzy90rnPcFQQcGx_zuJvTslouhped8oDatblIsut9EOLa4fe4ectLZ6AdXx5_3ivwDoeWrc DPVzbWVNpZByvPO9s01QeSyZi0e78gH7vPMElRo5yKSHyZcl5X9gsACQKNzCufGZKzHSr5o5_BFl 8uD8__XtiVpcw7AerU8KO_vhdmV98ysiM61hNNFAPpXFegy8PG0.BKu9JSR9851OBxCVSwPiB8CI 6P_AvVSvcEz10.xA38m5wrD4UMLOoqvoDn2q0z5gNdTk5HJ1ZhDFzf3Mmlfv0BGy3TmAU7e2r3nS SJUzZAMCrMhZHTPf6QrZaMuY0F_mxRutPsmq7Wawxb X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.ne1.yahoo.com with HTTP; Tue, 12 Apr 2022 08:15:02 +0000 Original-Received: by hermes--canary-production-sg3-65d7bd97b5-rvrjv (VZM Hermes SMTP Server) with ESMTPA ID eb8d579f0b0dd66e412c85ae13de09b5; Tue, 12 Apr 2022 08:14:57 +0000 (UTC) In-Reply-To: <0ee6195e-4561-d9ff-e30b-68707ce14b9e@gmx.at> (martin rudalics's message of "Tue, 12 Apr 2022 09:45:02 +0200") X-Mailer: WebService/1.1.20001 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:229750 Archived-At: martin rudalics writes: >> i have a hook function attached to 'move-frame-functions'. however, in >> emacs 28.1, this hook does not seem to fire at all. >> >> >> In GNU Emacs 28.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 >> Version 10.14.6 (Build 18G95)) >> of 2022-04-04 built on builder10-14.lan >> Windowing system distributor 'Apple', version 10.3.2113 >> System Description: macOS 12.2.1 > > A couple of days ago John Yates told me that > > (add-hook > 'move-frame-functions > (lambda (frame) > (message "Frame %s moved to %s" frame (frame-position frame)))) > > doesn't work for him with a pgtk build either. So I suspect that this > never worked on macOS. > > martin It's because the responsible code was commented out, probably sometime after the release of 27.1. Please try the following patch (I suspect the didExitFullScreen bug alluded to in the comment is also related to using emacs_event somehow): diff --git a/src/nsterm.m b/src/nsterm.m index 550f29212e..ed7ee1401b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7243,6 +7243,7 @@ - (void)windowDidMove: sender NSRect r = [win frame]; NSArray *screens = [NSScreen screens]; NSScreen *screen = [screens objectAtIndex: 0]; + struct input_event ie; NSTRACE ("[EmacsView windowDidMove:]"); @@ -7253,12 +7254,10 @@ - (void)windowDidMove: sender emacsframe->left_pos = NSMinX (r) - NS_PARENT_WINDOW_LEFT_POS (emacsframe); emacsframe->top_pos = NS_PARENT_WINDOW_TOP_POS (emacsframe) - NSMaxY (r); - // FIXME: after event part below didExitFullScreen is not received - // if (emacs_event) - // { - // emacs_event->kind = MOVE_FRAME_EVENT; - // EV_TRAILER ((id)nil); - // } + ie.kind = MOVE_FRAME_EVENT; + XSETFRAME (ie.frame_or_window, emacsframe); + XSETINT (ie.x, emacsframe->left_pos); + XSETINT (ie.y, emacsframe->top_pos); } }