From unknown Sat Jun 21 03:22:11 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#57012 <57012@debbugs.gnu.org> To: bug#57012 <57012@debbugs.gnu.org> Subject: Status: Activating versus raising frames Reply-To: bug#57012 <57012@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:22:11 +0000 retitle 57012 Activating versus raising frames reassign 57012 emacs submitter 57012 Daniel Colascione severity 57012 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 05 20:54:52 2022 Received: (at submit) by debbugs.gnu.org; 6 Aug 2022 00:54:52 +0000 Received: from localhost ([127.0.0.1]:60762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK85c-0001U1-Ip for submit@debbugs.gnu.org; Fri, 05 Aug 2022 20:54:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:40370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK85Y-0001Tr-H7 for submit@debbugs.gnu.org; Fri, 05 Aug 2022 20:54:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oK85Y-00066Y-CN for bug-gnu-emacs@gnu.org; Fri, 05 Aug 2022 20:54:48 -0400 Received: from dancol.org ([2600:3c01:e000:3d8::1]:42290) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oK85W-00022w-5W for bug-gnu-emacs@gnu.org; Fri, 05 Aug 2022 20:54:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Subject:Message-ID:Date:To:From:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=p19dI9TvQjPlO5UStNo6icW2Ic4VeUufRO9VbwRIWkA=; b=NpRWvlsq/ZdQ+TV6PL1uZljjk3 TLJNu3YtPzyoCSK4mYLdYmUIfSboingZAdsPK7rDOUfnpKIX95O8OHObpCeRqXSKmwulJEGplv/Xm dfaCzjiRA77F/ZEMas6tgJ3Qb5Ow0MSyRwOf9RNz4ndhWKMaSKxEfcqMdmpMaEcSqAmfxQqo482Vt 1Ha5rwTFLhy+z4iWnraK4tpui1w4xED4pxSRQtUO5wnAnltSkudMoyBhn/3HVUoCuTYVP2uFZVyMM 2Ch3NPtIAUpzQARP6d+M0/iDiJQLPwAaAxSIuTTPii60t9kRAnMtoott4HoSOIz/V8hl5ePbgBeig M9uvhJSw==; Received: from 29.sub-174-212-35.myvzw.com ([174.212.35.29]:8804 helo=[100.107.184.123]) by dancol.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1oK85P-00041t-3Z for bug-gnu-emacs@gnu.org; Fri, 05 Aug 2022 17:54:41 -0700 From: Daniel Colascione To: Date: Fri, 05 Aug 2022 20:54:38 -0400 Message-ID: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> User-Agent: AquaMail/1.38.0 (build: 103800177) Subject: Activating versus raising frames MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="18270a5a073531928293629b0" Received-SPF: pass client-ip=2600:3c01:e000:3d8::1; envelope-from=dancol@dancol.org; helo=dancol.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is a multi-part message in MIME format. --18270a5a073531928293629b0 Content-Type: text/plain; format=flowed; charset="us-ascii" Content-Transfer-Encoding: 8bit I noticed that raising an Emacs frame (latest master) with emacsclient does nothing under current Cinnamon. Emacs gains focus, but the focused window isn't raised. I can reproduce the problem with xdotool's windowraise command, which similarly did nothing. xdotool windowactivate works though, so I'm guessing the EWMH activate code in xterm.c would similarly do the trick. Emacs used to use EWMH activate on frame raise but stopped in 2007 to work around deadlocks in a version of metacity in use at the time. Can we once again activate Emacs frames on raise? --18270a5a073531928293629b0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
I noticed that raising an Emacs frame (latest master) with emacsclient does= nothing under current Cinnamon. Emacs gains focus, but the focused window = isn't raised.

I can reproduce = the problem with xdotool's windowraise command, which similarly did nothing= . xdotool windowactivate works though, so I'm guessing the EWMH activate co= de in xterm.c would similarly do the trick. Emacs used to use EWMH activate= on frame raise but stopped in 2007 to work around deadlocks in a version o= f metacity in use at the time. Can we once again activate Emacs frames on r= aise?
--18270a5a073531928293629b0-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 05 21:44:44 2022 Received: (at 57012) by debbugs.gnu.org; 6 Aug 2022 01:44:44 +0000 Received: from localhost ([127.0.0.1]:60792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK8rr-0002gh-Uq for submit@debbugs.gnu.org; Fri, 05 Aug 2022 21:44:44 -0400 Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:45684) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oK8rp-0002gR-Gl for 57012@debbugs.gnu.org; Fri, 05 Aug 2022 21:44:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659750273; bh=THLPwpnsyCw0dT2gVFFNoXxWojKI2BYaqwLS2QnNOvw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=XAmiLMZgwLbiWTKEm+E0TcWeNaMdC3baUN28H2lengAQttCn47uxt2tWpgej1kofC1CTW2F9c56F5/mjOfjvOu2HjzSOtz0mp0YyxRlGXvqwL8D5VFSi4Lo97MNRlIJbNu8w3oK7YR4PS4R9oOV7LMU6ik7P9qzISjUaCsf3BH9n1A32kXrTv+KF4EyrxluIfRquYacyEVzugK2ahWkNaq7mHcBGYwwZN+ivuTfer9dCY+70l/h5aeuBDGl5Zj36KS7l2DuFCQT+XzwLrXLPZaiEHZ7cQviM3R9CVJRzLRp/CdQVkHkQeDgex1ljIY4jVcdvVwXjRnxMA4P8aZv5Xg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659750273; bh=k/098bTWnWrMpHIgqt4sMID7OqKI1hS1n9+dv0ZpcXp=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=NBMO0gdb+YDP+MF7KFZZ22bU2eQYP5DTJLEktpXxIuDr4a0JpfwqzZe54JWdUK7fMyip/r0IYcVxITuPGZuvmWMZniSi7h/iBS7ZheRkcLkiQKl2BDhM2F81YnU8XwRAt6WR/adLjNGO1jQuC3HJdyY/e8rIEn3yV/eKz7uZAFrhzs1rKvlC+IlaIuRTtagnCUE3qCoSFjdfcfvQJKYd8pES8SVxVIWldBz/0wNmwU/8EVHHVD6fizjkLQEB2ZoFi4tYf4QzA3Lmuz02gjYi+ZGCyuk0pK/A7MMm7oWQzowKb+b2sEX/DZsS4UydT0hTeyKFGdM0SKWo0d838Kka7g== X-YMail-OSG: W_8w.3kVM1k1mHQb03CRHYqkPazatYZ0xmqKcdJlDsBrd7aqsEGoh8BB.x7BoHv Azqg6YssuqJ5UuTBhI.rmHy46zp0pe47l7rWs9OTgEsKpXp1hAp411mhvnFMqiRcqU1wDi7VZZT8 3jBaPBvM73eOOQ2TNIjMDsQ22Pf2QOsJv4gb8JkqO1eFpJrutVoPebrVOq.hs1WeRT4VorhbSut7 iN0vh9WvPIF10U8Jva30r3nYCAJzF.uXygVCp88V7a_K6HmhWkUBVaUi4nOh5JfWdNcMm6GmnzlA VPGR9S4HrMNFzAtNG5gyTOgvAL6mIJhOC55jGrOIegkmKmi_ieScwDYhfS4S.df7CSUUWZRbp78I 29e8VWwD_fQEBPcFU1zg7IsznjdVWWZUdxSD6SdEEYgmaFHjHL0wg.h4_Ua.MVsX2jSusil._qlA UHXYGHSIPsCgvYeS7EuavVsvzOxMX66ccgqTEmPk2sVv9OUUTN0WQ0uBSl_QV5MYjotW.t8roe.u 8S62tWtCRlmj_Z5sHYssNOqEGBuaW2DgeKu9HfgRVapb4.ymkIfeDHC6UsEELmWLW67E4fgJOwUb fPf5ngZcX.gI13RhukYXzvnFsfZJfyJRe5ja32lV32xmgAKHaFApWWyzPTbLBNYiwdPKtLu.UlRF 5sfXf6zuI8PX.GZ26Ree4MA0umf50v4PT_SD.NxCyIdUGt3Oq9z3cJV6a5lBaqKEXl44CkTMd56w SEYFSoWsOplAqH8TZ4MmL5RJjvCxUfJbINpHqjeENs65ful_31JZMxmodSJiSlBi0xDniMp4rVMz inPmuY93vkNz3ZYNVgy18ZJZhvKy2qUOzpsAsOdqF1ccg4Sq6rvFs2kUrHGfSbOykCKHCi2zOBcu isfRTJMOwImm4idTmzGnC3GkfFa0PLpLII9vtqlt4tKh_Ec9Mq9NFpTNPK87tTqa7KCX6E80jvmT GkskuLirejbahtGbr.op1QmaaP5hefANVHlSUaeq2k_ieAHAHcG037IUVzieB7AhZNU8GObItzBK InyTO76CG88Jk4qYJob7ClQIx9Mx0S0oQsJv.uyeHb61rHrBWkerKPasRE6FY78lwgud73EVn9Dv kveSW_l355IepKOg_8jJk3oIzWiMx5yDNjuCmM63iTRR1UWT_s7IQ3ewkX394xD.yLtyzNNCkKfA g9Fnf8EGqmb2SlbcLmmG3Cek.iR9g6rBDAzXySwEgYHBX9XhYwl2NYQqDNRKxNb6bUrb6hH_YhCp I0A_YDMUZy0.xPzHqcCtAzbKJUmgSzltVrqS_OqwlHoiLSxaYOnyujTrUp1A4Vkf6Jx0XlHZr5sn m3KKTbfEPSoCKOZpQLLmpJq1g6DEnAxHp7LbtbsupDgLawOKXEbkAkIggQvYC6Npk4URxaqXeKB6 vtOOIDIm4Au4fTVwoP2E.ta0M7xnyn2wRWp.mPQCSrVHJqD4r2mYI3mdkfnaPaoeQFY8K5zMCcNt QOIPNGgPHH_.XLnsJNNnUBzFNjiKSFFaN6pdSAAzlmpdwN4kYMEOCuFhN7ShnkrRFQjNhYvc9YXy rrQqvY25CVnY_DYea1D25yGhG.KF6gPXo5lyBmkwJvb39BmXypTrMK455jHSd61EaqyOO7QLgWzZ KNoMg8WTJIEC7.oQnEb1iEdi9VAz_lMpDIUDHeMTNa.LfzwXftQA3mgKEcumHHpu_rneL8uUm0eM Uy3YujRsJ9m_VZM7yx7KXge4IXcb66NTDS2VfAbRYAYIphPUVUYussGI2nwBjEG0SGQ_xwF_vweA OVEy5I6dGrJWjfO6lWRf0JsGckETKIn9Y24uabDXOq3INuwOpmUWQu4XgoPh7MqzL_rxLDzYeERW R6KTDYwRcd4cmEQ8L0vbsMi0E6djR0cxG4tuefoRAnGvPEAou31TK5OZvo7pyryO4cNpcNwnqzR2 uzPzg2yOfroTGtsYUhT1YEeMfsot2HzhMx2obQmRIDcS8iIxbYWCoLqXyHoT9L4HQvVdw.V7.EPX nQK1ltPcv21ZIInr3V_MpCDACTi_lMuNHA5uGO5kt2s_tQUFvbJ_p.t053entcFQXBMTvLWeas9x TbAvaQHXYcR6JYzPrE54Mjucjz5MBdXJ6sgHWZNvJIIVAvsjVsj6VIVpGLVa46OeM2q3Azl.DIPj 85Y2L6Le5CKWj5EYc5agdxzIiv0jTYe6ghqhhJJ0HHgiu3H3q.gTEEy_6E68Dutro6jhcmjHmPv5 CBbQaiS_UEW9pGCUrAQeEEm.yZlfueF8Q0ei9nsQXWErq_pJa2VnGvHjQHhQw1JxV X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sat, 6 Aug 2022 01:44:33 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-pcmsn (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1d9ebe0d392bacd4c0d85a6a03f4962f; Sat, 06 Aug 2022 01:44:28 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> Date: Sat, 06 Aug 2022 09:44:24 +0800 In-Reply-To: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> (Daniel Colascione's message of "Fri, 05 Aug 2022 20:54:38 -0400") Message-ID: <878ro25eo7.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 729 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > I noticed that raising an Emacs frame (latest master) with emacsclient > does nothing under current Cinnamon. Emacs gains focus, but the > focused window isn't raised. > > I can reproduce the problem with xdotool's windowraise command, which > similarly did nothing. xdotool windowactivate works though, so I'm > guessing the EWMH activate code in xterm.c would similarly do the > trick. Emacs used to use EWMH activate on frame raise but stopped in > 2007 to work around deadlocks in a version of metacity in use at the > time. Can we once again activate Emacs frames on raise? Wouldn't it make more sense for emacsclient to focus the frame, which does activate it by default? From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 19:57:53 2022 Received: (at 57012) by debbugs.gnu.org; 6 Aug 2022 23:57:53 +0000 Received: from localhost ([127.0.0.1]:35661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKTg0-0003nz-HB for submit@debbugs.gnu.org; Sat, 06 Aug 2022 19:57:53 -0400 Received: from dancol.org ([96.126.100.184]:51958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKTfu-0003nm-VN for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 19:57:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=MIME-Version:Content-Transfer-Encoding:Content-Type:References: In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=e2AGEuzQH/7NSVKJjN9iv+bmMpoXNJ2eBq9PfZMyT9g=; b=HCUVF/mv7vF8lEdsQHvlPuJuQS fxLelWmyq2qzrpHfm/24PavNgJssxuLrgxT5IbG75XnFVGo4kJedH7w+zSmD+gWHITpOo3oIp27ln 5Cs6xs1iWkWjlFmII+uinto6x88k4cnn81hjmzoDUNybESef2KqqlF86zHQQesO5jIVwMWOFnF/Kb JGUpR4ZRvWUkStLFvnuuwofWrhEr5oLcIMwfDN9GG5StlOCt1ufsA2lC87wxIHxhjdZzYfmUE0y4z VhwEq8aTLpv20lGSxKgpuGH6WyLwLcD1ACgJ83zVBDYviEuEUOH0EhdW4VhyzM84oSHDIzpWzD9Av cJlke27g==; Received: from 2603-9001-4203-1ab2-640d-a545-3db0-5adc.inf6.spectrum.com ([2603:9001:4203:1ab2:640d:a545:3db0:5adc]:39122) by dancol.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oKTfq-0006Wz-5V; Sat, 06 Aug 2022 16:57:44 -0700 Message-ID: <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> Subject: Re: bug#57012: Activating versus raising frames From: Daniel Colascione To: Po Lu Date: Sat, 06 Aug 2022 19:57:41 -0400 In-Reply-To: <878ro25eo7.fsf@yahoo.com> References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.1-0ubuntu1 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sat, 2022-08-06 at 09:44 +0800, Po Lu wrote: > Daniel Colascione writes: >=20 > > I noticed that raising an Emacs frame (latest master) with > > emacsclient > > does nothing under current Cinnamon. Emacs gains focus, but the > > focused window isn't raised. > >=20 > > I can reproduce the problem with xdotool's windowraise command, > > which > > similarly did nothing. xdotool windowactivate works though, so > > I'm > > guessing the EWMH activate code in xterm.c would similarly do the > > trick. Emacs used to use EWMH activate on frame raise but stopped > > in > > 2007 to work around deadlocks in a version of metacity in use at > > the > > time. Can we once again activate Emacs frames on raise? >=20 > Wouldn't it make more sense for emacsclient to focus the frame, > which > does activate it by default? >=20 Hoo boy. I spent a bit of time digging into the event code. The root cause of the inability of emacsclient to raise the frame is that we've been getting X11 event timestamps wrong for some time. In particular, 1) in GTK builds, we're not updating the X timestamps for keyboard and mouse input events, and 2) we're not updating the X timestamp when we get an emacsclient request. Because of #2, when we=C2=A0call x-focus-window in select-frame-set-input-focus, the timestamp we send along with the _NET_ACTIVE_WINDOW request is stale, causing some window managers (e.g. cinnamon and kwin) to just ignore the _NET_ACTIVE_WINDOW. But because we use _NET_ACTIVE_WINDOW *and* XSetInputFocus and the latter works, the overall effect is that the call to select-frame-set-input-focus in server.el focuses the Emacs window, but doesn't raise it. The following patch should fix both problems: diff --git a/lisp/server.el b/lisp/server.el index a06f2f952f..cd3a8f80f0 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -1721,7 +1721,9 @@ server-switch-buffer ;; a minibuffer/dedicated-window (if there's no other). (error (pop-to-buffer next-buffer))))))) (when server-raise-frame - (select-frame-set-input-focus (window-frame))))) + (let ((frame (window-frame))) + (frame-note-oob-interaction frame) + (select-frame-set-input-focus frame))))) =20 (defvar server-stop-automatically nil "Internal status variable for `server-stop-automatically'.") diff --git a/src/frame.c b/src/frame.c index 25d71e0769..084df8ef21 100644 --- a/src/frame.c +++ b/src/frame.c @@ -5942,6 +5942,25 @@ DEFUN ("frame--set-was-invisible", Fframe__set_was_invisible, =20 return f->was_invisible ? Qt : Qnil; } + +DEFUN ("frame-note-oob-interaction", + Fframe_note_oob_interaction, + Sframe_note_oob_interaction, 0, 1, 0, + doc: /* Note that the user has interacted with a frame. +This function is useful when the user interacts with Emacs out-of- band +(e.g., via the server) and we want to pretend for purposes of Emacs +interacting with the window system that the last interaction time was +the time of that out-of-band interaction, not the time of the last +window system input event delivered to that frame. */) + (Lisp_Object frame) +{ + struct frame *f =3D decode_any_frame (frame); + if (FRAME_LIVE_P (f) && + FRAME_TERMINAL (f)->note_oob_interaction_hook) + FRAME_TERMINAL (f)->note_oob_interaction_hook (f); + return Qnil; +} + =0C /********************************************************************* ** Multimonitor data @@ -6626,6 +6645,7 @@ focus (where a frame immediately loses focus when it's left by the mouse defsubr (&Sframe_window_state_change); defsubr (&Sset_frame_window_state_change); defsubr (&Sframe_scale_factor); + defsubr (&Sframe_note_oob_interaction); =20 #ifdef HAVE_WINDOW_SYSTEM defsubr (&Sx_get_resource); diff --git a/src/gtkutil.c b/src/gtkutil.c index a6bba096a4..b2af5ff5c2 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -6658,6 +6658,17 @@ xg_filter_key (struct frame *frame, XEvent *xkey) } #endif =20 +#ifndef HAVE_PGTK +void +xg_set_user_timestamp (struct frame *frame, guint32 time) +{ + GtkWidget *widget =3D FRAME_GTK_OUTER_WIDGET (frame); + GdkWindow *window =3D gtk_widget_get_window (widget); + eassert (window); + gdk_x11_window_set_user_time (window, time); +} +#endif + #if GTK_CHECK_VERSION (3, 10, 0) static void xg_widget_style_updated (GtkWidget *widget, gpointer user_data) diff --git a/src/gtkutil.h b/src/gtkutil.h index 190d662831..bca7ea8176 100644 --- a/src/gtkutil.h +++ b/src/gtkutil.h @@ -224,6 +224,10 @@ #define XG_ITEM_DATA "emacs_menuitem" extern bool xg_filter_key (struct frame *frame, XEvent *xkey); #endif =20 +#ifndef HAVE_PGTK +extern void xg_set_user_timestamp (struct frame *frame, guint32 time); +#endif + /* Mark all callback data that are Lisp_Objects during GC. */ extern void xg_mark_data (void); =20 diff --git a/src/termhooks.h b/src/termhooks.h index c5f1e286e9..2c204afeca 100644 --- a/src/termhooks.h +++ b/src/termhooks.h @@ -860,6 +860,13 @@ #define EVENT_INIT(event) (memset (&(event), 0, sizeof (struct input_event)), \ will be considered as grabbed. */ bool (*any_grab_hook) (Display_Info *); #endif + + /* Called to note that the user has interacted with a window system + frame outside the window system and that we should update the + window system's notion of the user's last interaction time with + that frame. */ + void (*note_oob_interaction_hook) (struct frame *); + } GCALIGNED_STRUCT; =20 INLINE bool diff --git a/src/xterm.c b/src/xterm.c index 4bbcfb0e59..4d42f30e20 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -6581,12 +6581,6 @@ x_set_frame_alpha (struct frame *f) x_stop_ignoring_errors (dpyinfo); } =20 - /********************************************************************* ** - Starting and ending an update - ********************************************************************* **/ - -#if defined HAVE_XSYNC && !defined USE_GTK - /* Wait for an event matching PREDICATE to show up in the event queue, or TIMEOUT to elapse. =20 @@ -6640,6 +6634,12 @@ x_if_event (Display *dpy, XEvent *event_return, } } =20 +/******************************************************************* **** + Starting and ending an update + ********************************************************************* **/ + +#if defined HAVE_XSYNC && !defined USE_GTK + /* Return the monotonic time corresponding to the high-resolution server timestamp TIMESTAMP. Return 0 if the necessary information is not available. */ @@ -7521,26 +7521,25 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, user time. We don't sanitize timestamps from events sent by the X server itself because some Lisp might have set the user time to a ridiculously large value, and this way a more reasonable timestamp - can be obtained upon the next event. */ + can be obtained upon the next event. If EXPLICIT_FRAME is NULL, + update the focused frame's timestamp; otherwise, update + EXPLICIT_FRAME's. */ =20 static void -x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time, - bool send_event) +x_display_set_last_user_time_1 (struct x_display_info *dpyinfo, Time time, + bool send_event, + struct frame *explicit_frame) { -#ifndef USE_GTK - struct frame *focus_frame; + struct frame *frame; Time old_time; -#if defined HAVE_XSYNC +#if defined HAVE_XSYNC && !defined USE_GTK uint64_t monotonic_time; #endif =20 - focus_frame =3D dpyinfo->x_focus_frame; + frame =3D explicit_frame ? explicit_frame : dpyinfo->x_focus_frame; old_time =3D dpyinfo->last_user_time; -#endif =20 -#ifdef ENABLE_CHECKING eassert (time <=3D X_ULONG_MAX); -#endif =20 if (!send_event || time > dpyinfo->last_user_time) dpyinfo->last_user_time =3D time; @@ -7567,23 +7566,35 @@ x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time, } #endif =20 -#ifndef USE_GTK - /* Don't waste bandwidth if the time hasn't actually changed. */ - if (focus_frame && old_time !=3D dpyinfo->last_user_time) + /* Don't waste bandwidth if the time hasn't actually changed. + Update anyway if we're updating the timestamp for a non-focused + frame, since the event loop might not have gotten around to + updating that frame's timestamp. */ + if (frame && (explicit_frame || old_time !=3D dpyinfo- >last_user_time)) { time =3D dpyinfo->last_user_time; =20 - while (FRAME_PARENT_FRAME (focus_frame)) - focus_frame =3D FRAME_PARENT_FRAME (focus_frame); + while (FRAME_PARENT_FRAME (frame)) + frame =3D FRAME_PARENT_FRAME (frame); =20 - if (FRAME_X_OUTPUT (focus_frame)->user_time_window !=3D None) +#if defined USE_GTK + xg_set_user_timestamp (frame, time); +#else + if (FRAME_X_OUTPUT (frame)->user_time_window !=3D None) XChangeProperty (dpyinfo->display, - FRAME_X_OUTPUT (focus_frame)- >user_time_window, + FRAME_X_OUTPUT (frame)->user_time_window, dpyinfo->Xatom_net_wm_user_time, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) &time, 1); - } #endif + } +} + +static void +x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time, + bool send_event) +{ + x_display_set_last_user_time_1 (dpyinfo, time, send_event, NULL); } =20 /* Not needed on GTK because GTK handles reporting the user time @@ -25859,9 +25870,11 @@ xembed_request_focus (struct frame *f) XEMBED_REQUEST_FOCUS, 0, 0, 0); } =20 -/* Activate frame with Extended Window Manager Hints */ +/* Activate frame with Extended Window Manager Hints =20 -static void +Return whether we were successful in doing so. */ + +static bool x_ewmh_activate_frame (struct frame *f) { XEvent msg; @@ -25869,8 +25882,7 @@ x_ewmh_activate_frame (struct frame *f) =20 dpyinfo =3D FRAME_DISPLAY_INFO (f); =20 - if (FRAME_VISIBLE_P (f) - && x_wm_supports (f, dpyinfo->Xatom_net_active_window)) + if (x_wm_supports (f, dpyinfo->Xatom_net_active_window)) { /* See the documentation at =09 https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html @@ -25890,7 +25902,9 @@ x_ewmh_activate_frame (struct frame *f) XSendEvent (dpyinfo->display, dpyinfo->root_window, False, (SubstructureRedirectMask | SubstructureNotifyMask), &msg); + return true; } + return false; } =20 static Lisp_Object @@ -25928,16 +25942,14 @@ x_focus_frame (struct frame *f, bool noactivate) events. See XEmbed Protocol Specification at https://freedesktop.org/wiki/Specifications/xembed-spec/ */ xembed_request_focus (f); - else + else if (noactivate || + (!FRAME_PARENT_FRAME (f) && !x_ewmh_activate_frame (f))) { /* Ignore any BadMatch error this request might result in. */ x_ignore_errors_for_next_request (dpyinfo); XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), RevertToParent, CurrentTime); x_stop_ignoring_errors (dpyinfo); - - if (!noactivate) - x_ewmh_activate_frame (f); } } =20 @@ -28552,6 +28564,54 @@ x_have_any_grab (struct x_display_info *dpyinfo) } #endif =20 +static Bool +server_timestamp_predicate (Display *display, + XEvent *xevent, + XPointer arg) +{ + XID *args =3D (XID *) arg; + + if (xevent->type =3D=3D PropertyNotify + && xevent->xproperty.window =3D=3D args[0] + && xevent->xproperty.atom =3D=3D args[1]) + return True; + + return False; +} + +static bool +x_get_server_time (struct frame* f, Time* time) +{ + struct x_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (f); + Atom property_atom =3D dpyinfo->Xatom_EMACS_SERVER_TIME_PROP; + XEvent event; + + XChangeProperty (dpyinfo->display, FRAME_OUTER_WINDOW (f), + property_atom, XA_ATOM, 32, + PropModeReplace, (unsigned char *) &property_atom, 1); + + if (x_if_event (dpyinfo->display, &event, server_timestamp_predicate, + (XPointer) &(XID[]) {FRAME_OUTER_WINDOW (f), property_atom}, + dtotimespec (XFLOAT_DATA (Vx_wait_for_event_timeout)))) + return false; + *time =3D event.xproperty.time; + return true; +} + +static void +x_note_oob_interaction (struct frame *f) +{ + while (FRAME_PARENT_FRAME (f)) + f =3D FRAME_PARENT_FRAME (f); + if (FRAME_LIVE_P (f)) { + Time server_time; + if (!x_get_server_time (f, &server_time)) + error ("Timed out waiting for server timestamp"); + x_display_set_last_user_time_1 ( + FRAME_DISPLAY_INFO (f), server_time, false, f); + } +} + /* Create a struct terminal, initialize it with the X11 specific functions and make DISPLAY->TERMINAL point to it. */ =20 @@ -28622,6 +28682,7 @@ x_create_terminal (struct x_display_info *dpyinfo) #ifdef HAVE_XINPUT2 terminal->any_grab_hook =3D x_have_any_grab; #endif + terminal->note_oob_interaction_hook =3D x_note_oob_interaction; /* Other hooks are NULL by default. */ =20 return terminal; From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 21:55:47 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 01:55:47 +0000 Received: from localhost ([127.0.0.1]:35707 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKVW6-0006h5-NU for submit@debbugs.gnu.org; Sat, 06 Aug 2022 21:55:46 -0400 Received: from sonic305-22.consmr.mail.ne1.yahoo.com ([66.163.185.148]:34453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKVW2-0006gp-J3 for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 21:55:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659837334; bh=HgoBXwEoMTvieVRakks7RxUx4lxf68dI91WQDzWTszM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=rZTum5JCyFIOXU6xGqHoweYSjQQ/dAFW2jMC7bWvvauJhQmNOC/i3h7ddbQEuCVmVvhzCSfLUjebiK0DlLl8V3S9Y6v4BawZcv22c9AzbKHlTOZJca0g78urJ4nzCiqJ+r3k2BpZ1qIPoD9kK/7AkG5jM6weeflhXzYz4uAqSFE4rBheNAdkUxgpSUxVG3qpgVmy7Ec2sGHphCMpcBcpg+xKWe1c6nyNPnG2D4w7lG7r1Z6MYsJRAciF7VsDqXLqjKY5/LTnY6s1bHTZV/rV2Ma9Yaxc3A9CSPWRBAaJGzmqdHbJLwoD//50crVJCIDYlSPvDp3J4p3npDxWsw5mJQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659837334; bh=O0PIdjsjB3KPs1FQnOQWwSbXXxcPpozui5BuKkNC1xf=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=HuZax/a4eQdnXmpPyui0EvftVgi4CGO+ukG/id25d6W5rYyFQvB95H7oLd4FWJh5/cgn4BMsM0S60637zA4OaEQo61bDMCrSwvQCuTDqktftbnpu66nTnhJLiXYC2DBuiifxzsOevu2VyNHIlk5oqVS2Uh/273qDUx+L9RgbUoSYqX4Ev50+1/A56Ahw6jPN7lfnRa5apdkoKXJxlVlGre4Qzr6cJAea+eHGhhYVDaDawLLgP31DZvwIDbNMr470VCZop6UNR9KMg/3BqprjveWGRrKsFO586bpjDwIkSi1Jx7dEUixumarwn7qh8ck7n1G0D8zP+GD4+cjfZS+Bzw== X-YMail-OSG: zkiIYvsVM1lb2.9foZ6jpXeKJPL5rrRhitxeHDuk5pyvH.lL7oKOcQqE589NNE6 82uQZRvm.RE3decV1Gn37E65hPnl2IxBJTZxVX5hvf8S61CLyaAtPhjh80cYzBZLOKhprwfjtUED I0WO33SU6D3ooLMkM40fk9S0aZkIKz1F8CKeh2FH5zmI0ru_VIjs4hNB5aIkuOTZO_GcQp3jllI7 ZPYc5aoDG6yeX_cAY7R6J0oe.u7dMBskVt2dYm1hOMeB126TyHSg092x3AFnEs2hOI14Ch0aeYhx kbngf.sFZlTWMRZY6qnL0dl1BBi0Vj04P5gBkBML9KGgeTFRncLc4Lwg6WmMh2c9Lt9cJZ2Pid4s lM5dfEBptRCLJFuPp1h.44_ROdaCpJ_wjQXiyTvN.UOMG61hWJo4U93vIPusUq88eIgRDBQ1kONI QBmJsJsrkMi0DwnUK4NZi3x0d5Ywz2IN86Sojm4of9LDrQikfy0hEHFq.polkyu6bhXMsoNwCQwi iMBIFNDlfYPLGbJFS.DvKZVA9t1R_bClpusMd3rWWZh930XBlNrr02bfuNqsJ_LSKmyUEAjFqeGL y8EtngYHm0hBi7WOlr_6z275QB2tzdkXKduSN2dml1oeZEI4leE.McEUlo_wnub3hE7BAn0UOwB4 _HTeu1EuDh78_dziOgCjT.Vi.kk..bX8lRcfRUinjpUQX_HI9sxhIo__HtqY7eLad__Z5ytZ6aGi rsuws9LlCYHGZKfH5njVmyYiHFg6IBBFcGkVrkj8EAgxR3Tj44mTHJJDx6MXMSPEQQzGRl4a3VO6 13xusjM8584v_ifTU1VSYay1P3.sFpBMpIgdyg7kwSaVYuYwaZwCY.1q5ZQqGCOyenMQ0IBRg2YZ xm5UqyYBD7ZORK6siGoRDXImah769S7iFnDVclPFkeMTLrOhnozKVwZmCGwUjsm9hRf.ijRSE4Uj SbnNoaui2.CIcl5YXe8qv8vxJjFTibso7BrZ9Tr3lN_nbf1VjMd4dd7Sb_R7czBzjX5Au.YvDsnH bu5WffCzTrEhX5Ms3oWKkctnJ0SYvl5nU8CE52LtSGT9_WJxy3Vgq.PQcA0Zh_3qSyw3Ib6oFID6 SkmQTEyEnRthoINamGN6LDprnv6jW4ZzxOc3ejelIYwH3.QUDNoRVwUXRStXaqS2w1Z0QC5n0FRh PwyBTpjqZMsqDZ8gnNiM3KG.GrYsEN9lilYF1YoYy_cUGlLkhX_9JfmPnSVdJhK108nJFblXhEt. GuK6mT6b5yhaDpBzWJ.b1VgWkuanc7X2JK7_pYiVMor7cxQChyj.irbw3TxWf3zTPupWVI4aEc2J tysvLmjTDxbda.yA6QYY49ZYdS2MpawA337UAsezjjX4RKswO4TL9yyKyfixfdRpwy5biD.KkaZD A16GIuhL3u_xYiFCGa.7jqdEIIngem_7nj2AE1NTBnBh0sKIPLktTY5z9s2NVX4z4uG62.6dgUfg l4tH1zuw2lW73URBryJEQ52i5SHfrP2LFqWWV8ZL6t5YTX4cBJJV8hVtS3goE51nRgrDKiSEq6VY GWbJoEzPkd_r_0Bk02eONmpIsyQRvmyWKfsNJMM7OkbjLogWs4yGRqiSfrPghl1bitGuW0fLuB.J QCYMtHA4C1v__JUKW6v6aEWoQoVpciFTTgR8yQgTA3ekaNFl9x4O6hWkUh0fUMYomnZk.CBJ8DSu 2.S6czHTi954nqQYVRWDVSgQhgyKCUEkykYZkIPyBKoIElHQhCpa7_U9Qd5b588aS7j8hc1nm84I Ti20PaU0Z5xtb3kqUl.jl1DkGzuupvKsaTNCVsyJ8eOqz1jTSX4H9.RWOn9j_P9dOrGqWJMj1Xyl Yn._QZIhlDKBz0OE6kl21x5EnKogKABm2lXMV5HkKuZSSC41evk0f7DuznbA60HLtSs7ov5EUJVm FFRYEGbE3hZEKOIJrSgj58eOCIAn5WX9qHFW5cNIgVmo0hquJgvRni9g6KUp5yCEMjgp2g56VN_o G5mp0QKco67Mfh052scRB3XWAevyTqfHhjkuSJwsDYZbQuLPqeuTATlyIV3d5f2cGRymHMLX8Oaq .3u.7rjHBE27uZe8GWqL2ARUq228IJQEzbP3LodTxmip0pcRdZDik0JEP6W_OzPRxnkj.hj2YsFC bsmEyWMdYVt4fTRvF3IyPv5IQxupGBxa417WfqX0Shkk6wAV1Fw8taKyBifu9HL0Cv.JFtgzh4iM 49ckZqjMPQzGeJ03iirkdsjbLe8WTUnXGlDjAjG9uUaRAfz6Aq9eEnOlCOg-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 01:55:34 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-q5dg5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 1b7ba6513734d35cfc9abe8b56a8bd64; Sun, 07 Aug 2022 01:55:29 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> Date: Sun, 07 Aug 2022 09:55:24 +0800 In-Reply-To: <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> (Daniel Colascione's message of "Sat, 06 Aug 2022 19:57:41 -0400") Message-ID: <87y1w03jhv.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1682 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > Hoo boy. I spent a bit of time digging into the event code. The root > cause of the inability of emacsclient to raise the frame is that > we've been getting X11 event timestamps wrong for some time. In > particular, 1) in GTK builds, we're not updating the X timestamps for > keyboard and mouse input events The reason for that is because GTK is supposed to do that itself, after the event ends up dispatched to GDK. I will investigate this further. > , and 2) we're not updating the X timestamp when we get an emacsclient > request. Because of #2, when we=C2=A0call x-focus-window in > select-frame-set-input-focus, the timestamp we send along with the > _NET_ACTIVE_WINDOW request is stale, causing some window managers > (e.g. cinnamon and kwin) to just ignore the _NET_ACTIVE_WINDOW. But > because we use _NET_ACTIVE_WINDOW *and* XSetInputFocus and the latter > works, the overall effect is that the call to > select-frame-set-input-focus in server.el focuses the Emacs window, > but doesn't raise it. That sounds likely to me, thanks for investigating. > The following patch should fix both problems: Right, but I saw a similar problem in the DND code, so I'd prefer you modified `x-display-set-last-user-time' instead. I think adding a separate FRAME argument to that function would be in order. Aside from that, this is too X-specific to warrant a terminal hook. The rest of the code is fine by me (tho there is a dpyinfo->server_time_monotonic_p flag that can be used to avoid a sync with the X server when trying to obtain the server time), but needs coding style fixes. I'm sure you already know how to do that. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 22:08:11 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 02:08:11 +0000 Received: from localhost ([127.0.0.1]:35720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKVi7-00070S-Hw for submit@debbugs.gnu.org; Sat, 06 Aug 2022 22:08:11 -0400 Received: from dancol.org ([96.126.100.184]:51960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKVi4-00070I-67 for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 22:08:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc: To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ByyXE13BfoXA7nh8GNK0puOye3HWAzGsAm2GWTfx9DQ=; b=S+zGP9kZHm1IDgtOF17+4DOR+8 35lJVAtrp+7fG7ax1Wdcwn1iXx5TJXE/gsVsDuzodyjkzj6yiecwSnXrLvcLzQMYLCWqxZZYUt4ZD VWLu7pHDLqze1aNJPuz1xlqEwwuwxAWdP3PQRTC6aapocF3SQkwJvDEseIuCsDp2qOMqGVSCvA1mB 9rBTx2UiqqM/5t7cxPBReycUXyG5sdcJYFwZb2p261Uif/xS7QLUTkdLUlGGV2YPrCX7fux9nLG3x nICSu6HloaU5oCDcJrVvZHEwyvw6zw3HRG4I5ftlEr5NzQJ6wNs28SC4y3sNlDYX+SqZA7uZ35axB bnaXoTzA==; Received: from 2603-9001-4203-1ab2-640d-a545-3db0-5adc.inf6.spectrum.com ([2603:9001:4203:1ab2:640d:a545:3db0:5adc]:39128) by dancol.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1oKVi2-0006jR-KQ; Sat, 06 Aug 2022 19:08:06 -0700 Message-ID: <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> Date: Sat, 6 Aug 2022 22:07:23 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Re: bug#57012: Activating versus raising frames Content-Language: en-US To: Po Lu References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> From: Daniel Colascione In-Reply-To: <87y1w03jhv.fsf@yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 8/6/22 21:55, Po Lu wrote: > Daniel Colascione writes: > >> Hoo boy. I spent a bit of time digging into the event code. The root >> cause of the inability of emacsclient to raise the frame is that >> we've been getting X11 event timestamps wrong for some time. In >> particular, 1) in GTK builds, we're not updating the X timestamps for >> keyboard and mouse input events > The reason for that is because GTK is supposed to do that itself, after > the event ends up dispatched to GDK. I will investigate this further. The GDK code specifically mentions that programs that handle events themselves (like Emacs) need to explicitly update the event time (as my patch does) >> , and 2) we're not updating the X timestamp when we get an emacsclient >> request. Because of #2, when we call x-focus-window in >> select-frame-set-input-focus, the timestamp we send along with the >> _NET_ACTIVE_WINDOW request is stale, causing some window managers >> (e.g. cinnamon and kwin) to just ignore the _NET_ACTIVE_WINDOW. But >> because we use _NET_ACTIVE_WINDOW *and* XSetInputFocus and the latter >> works, the overall effect is that the call to >> select-frame-set-input-focus in server.el focuses the Emacs window, >> but doesn't raise it. > That sounds likely to me, thanks for investigating. > >> The following patch should fix both problems: > Right, but I saw a similar problem in the DND code, What is the bug? > so I'd prefer you > modified `x-display-set-last-user-time' instead. I think adding a > separate FRAME argument to that function would be in order. We could do that, sure. > Aside from > that, this is too X-specific to warrant a terminal hook. Sorry, but I strongly disagree. The concept of signaling to the underlying window system that the user has interacted in some manner with a frame is generic and not X-specific. In fact --- doesn't the pgtk backend need an implementation of this hook too? It, like the conventional GTK backend, is blind to interactions with the frame performed using emacsclient. > The rest of the code is fine by me (tho there is a > dpyinfo->server_time_monotonic_p flag that can be used to avoid a sync > with the X server when trying to obtain the server time), I think server_time_monotonic_p is an unnecessary optimization. > but needs coding style fixes. I'm sure you already know how to do that. The style is fine, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 22:45:34 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 02:45:34 +0000 Received: from localhost ([127.0.0.1]:35745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWII-0007tY-CX for submit@debbugs.gnu.org; Sat, 06 Aug 2022 22:45:34 -0400 Received: from sonic312-25.consmr.mail.ne1.yahoo.com ([66.163.191.206]:38478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWIF-0007tK-Vn for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 22:45:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659840324; bh=+m0P+juq/5L3t6CCv0Af6QqQpIBugfwn1ijrU8pFVAo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=iA0EwkdCgkldp0pcuVOBF4kFKlmYfrDVqb4+pJdGLD6E0SjaX1xP+JN0RQUrCLHixyKvXSM7M5mP5GlSWyu5BZjjnLRwE6RnoLjGHe6trM9yvjng7AZR8wJxRDyrmgsXLrOoxWS2VK7j/YWTShi3lmtKVJxy5NmNYJM0gqAxPQGRgHLuYyCAdt+Xt5n/58GDcsQrRopfNSZDXSzJ5BN7kHx9HVccAf/9sxUgw7O/v1KWk55WQYP0GhDr7iYobVTbBu0XSYfzGAEkQUA1veMh141jOHpuRQ1dVrG1RUq0OTNukA59Zy4lmAsgj70rLNwaF3jPx+QFx+P57jn0mhpE1g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659840324; bh=8XZDXSh3w/hfXydmvOzJKXJpEFG9xj4MA0IDOsdGPnn=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=T0LUKYQZ1y8+b+KSqDmLJVc4fXB7E+RIzVp4Nu/DOJg8MvaURg1ICb4uO/VrWT8Z+oe6Vg8qQZEtgUIscvB6yeKyc6pFy5mdo1pSec6jIua9uscDT/V0LdThDyYSvHL2UDM2+VvuFimD+X/ydAZb9Lmm4bCGlqu8KsI8y08A0wkm0OOd9OGqv1nqWw3nv03MFhpOXJCxgV7CruPG0fsTjQVVt1jIDD7xxFpPK/EmBMs6/olARwryvtMSL1kOjP4IP3SEV+0TIWHBMPfOgGmM0cCdsSYhLKR7SLWc7MVpVgFVz8oPujKgN8sEQw9rBRYMIN70Dh6yuGcLwfe9gxww5Q== X-YMail-OSG: Sxi27PIVM1n68b7lm6JjZa9nzlqUn72bNwLclIyKxEYjWENZRb7VNxdtDWv0jhw .4eV1Wp1yFgy1Dpan9ESo4IuRexqhzRDBEqjPhKB6RgAYUnD_XhoAaKcjdvRTWBUFGfs74atzPEU rD9WKTHLO_5qMgtjJ4Et1.E3frmDt7o_M5_6MoZqVZ6c1hG2op4jgioeNI.MrQJzq9RUOumBOg_6 1BGMxMgnMWG0kwFtA6Xudq5JjVUiLQ8zs9FR_PUx5Od6p79TgHbXSEY8DLLad_FR0rOAMNL5pKE_ 6nk5GUQD8gXSD5BQYSQFs3X4dMX9RfueUZR616P3GH7kDCZffmD_dRfN.hpSzPhTbtweXryo7LD0 5QvwpnvQOcxKSymif4O8XLPvel3OII0FUNaDH5ajnT1GBzlLAUX6YarpNOS_Yt7mktG4zAbZ3i9Q t8_UP1WM6ih4DDlLhYiyAVam_teAVY9R6nt0Q_owK1fju9hEAdoevrqbBYMaVaImyEP_TSXjWowK vCqSW_FgQphXPa_cVx4sl3a0avUDO9cg6O2XvDqaWdo91gcGwdw7npmKhxQ.x6PDzattbAImuscr Wn5jjDb1D0t8t.L5VvmRMLxwarI.aKYomhUmkdS4BRi4sC4M5jESOwny7ztP3DGy0ohQcOJN2a.l qJmSDF2GCpKmXUUFAzQWm5DzgBcz9eBDL2bYiEL4ehauMxLWhCedIKk_w5m3sZRC4f0z3DUqmqqW oZwuMesAFPBa.Dku9wU.e8JqXVIsk2TReJaER_bken6cLfvomgIh1P5TYDK.2JYqhkBdjR7dcHHB sKiDxfrhfcTAHJ9dLjzMHiBETtX22k5euAYB0vL3_feKVPSN5kxO65PjWbAcR5i_f4BSg8aNuT8P gSS3ZDWuq4icZ72P6a74EqAdiJQukMS7zOCD6hwLlMtmqNg8eygkOBP4o1jyLthQa5o4nPdFWa3f woXUffNtvIauisWI04SX3.UoiUcyab3K4mLAQ6B_JdBu3Y9nNaJPWaxNItvzp0S9ertsgjJMJyAs fq_2kgOx0z6hjCYDefmE2YL6UWztWKN.ofEQJf67n8gGLw.1B5FEQyGSZcx4zAj51RhwAI_PQv0H 084BXGNezS9qfjCSWZuQASKV8oKoq0jfzrz1UhpRZdKHu6ZjdrjxlpP_iG26cBMoRVZQUa1KRojr r9KWVL5pGN5TKAbkgh5DBmfM2Ei1T7zenhcCseGaQ3XnrrtoxuRJd2CA00K8HeTrjE9l.jTWVvl7 V9.9ZDmUJ0LXouyjznd2q74Xs82p61e7RrGqsDEREN.MoJHUhMLqKWFR8vIovachu6kaJ2OQHQss ZEMIhPnzsMgyKuVEpKfDB5tvVmt4vsfqOTHP9hd7UBaDe.C8yU_COkzdyM6DcKrExCjJ91h6ZqaF nzXiqYqYTFuuIsJ8ImoAyWdnJA3.IEJymnLGG34GOGOD8I19JETshWo5RNv4oWQTGC5pivnaCzLI E4_urjf4tpDSMP.nPux8l8AfODxMQ24vWFEmM_JO23AZiV6fAk2vTwUkqdaf1KpfvmsHJwmXt.Tb isZxK1kPSRKo.r1VSUizra_YmpTF7B8QOZpSvDRplrMQYh7i6kVH.EKTZHbr8vhKgLFvoVa_iz2J 44qsIv12AbfjkZR8SSSkGojsSi1MraI7sOI5NZF2ng_0grhJwqgSA5QKNyqli14R6OI5cKVvLwxT qvClOv8iUHb9wXLXSkHSvuOhBHBYbutXQAk1poGEtjhX9TAz6SKUlMFRoTaMYvaKw5GGQvwlw5MM zccwSe0QOLwsayN48eUE0NCazVvzurZS8HYJQ1EwuEfQiNOqK7GEehRPVxcBBOs1h5yS1CjMdias TLCGrNZL9EZZ4wo4_wE3eIrGA2foFGVoteHmRqMIvMgcOp6exs5wFUf5k.7lr1KpnXs5WkzX.2R. XhooqjOzejwCcS_0p6b4UMrmYYmSqFnlroCScPykpcsyOwS2ge8duOSQS15wp78Y7y3dDv10gLwV ly2xT4Mm5takYbAMwGreuEpGYn.C6bX.tz12SAXhsOEU8m03O_5NOyFrnyGxu_SAA0PqiyRz2ZG5 RuWY5s32.hBGvC_TA3WKJHni7PVt_Jx_M2nkjUgGK71PmDTir.n1a1waSd_4aiWJT46ThMyeu0pU 3k9.b1r1D3e1XaSmWU4o_6KRkrDi8FFjmyGmrqyBde1xTrDZ6sk35hlzmB_4..FCMnyo2QBmhzSi S54w1KOJI4ikxQtyJFusVMuuDp37sNkrmZfA8.F80KmHDU1r6b6CQ2uQFcg-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 02:45:24 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-pcmsn (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID f24e79004f61fb44a08871d1bc1807e2; Sun, 07 Aug 2022 02:45:21 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames In-Reply-To: <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> (Daniel Colascione's message of "Sat, 6 Aug 2022 22:07:23 -0400") References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Date: Sun, 07 Aug 2022 10:45:15 +0800 Message-ID: <87czdc3h6s.fsf@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2123 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > The GDK code specifically mentions that programs that handle events > themselves (like Emacs) need to explicitly update the event time (as > my patch does) The GDK documentation is unclear. You only have to update the event time if the event is not passed to GDK, by setting *finish to X_EVENT_DROP, which really only happens with key press events. > What is the bug? Client messages sent to x-dnd.el did not automatically update the user time, causing various selection-related functions to use an outdated timestamp. > Sorry, but I strongly disagree. The concept of signaling to the > underlying window system that the user has interacted in some manner > with a frame is generic and not X-specific. In fact --- doesn't the > pgtk backend need an implementation of this hook too? It, like the > conventional GTK backend, is blind to interactions with the frame > performed using emacsclient. No, the PGTK backend doesn't have a concept of "server time". The GDK Wayland backend implements them via event serials, which cannot be generated. It is also unnecessary to specify the server time when trying to activate a toplevel window. The only window system I know of that requires that to be specified is X, so let's keep the code specific to X. > I think server_time_monotonic_p is an unnecessary optimization. It's used during frame synchronization, which naturally requires highly accurate views of the server time. Further more, we try to _reduce_ the amount of calls to XSync, which leads to slow performance over display connections with high latency. > The style is fine, thanks. No, it's not: > +static bool > +x_get_server_time (struct frame* f, Time* time) should be > +x_get_server_time (struct frame* f, Time *time) and > + if (FRAME_LIVE_P (f)) { > + Time server_time; > + if (!x_get_server_time (f, &server_time)) > + error ("Timed out waiting for server timestamp"); > + x_display_set_last_user_time_1 ( > + FRAME_DISPLAY_INFO (f), server_time, false, f); > + } Should have the opening braces on a new line. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 22:52:28 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 02:52:28 +0000 Received: from localhost ([127.0.0.1]:35764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWOx-00087k-Kl for submit@debbugs.gnu.org; Sat, 06 Aug 2022 22:52:28 -0400 Received: from dancol.org ([96.126.100.184]:51962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWOv-00087c-Fs for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 22:52:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Subject:References:In-Reply-To:Message-ID: Date:CC:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=yxW8s3QpHCzD4iwUHfdgevLjiLT2mzJmONw7EPAXm3A=; b=X3JuR0QmVqI45onVlUfQqhRn6Y rt/Fn658Spt/U425TRHOz7hQy0zRgwgL4/kFXfjBsolTOQBm2uR8CVbHvWtrxAiX7sS/mciBHFDm/ U4D8QZO5xqTp9BQ7GqoScwk5ByArRrGWktvZ6p6uSnFLG30KyVS8Ii56pXRsAMxe+vi8VIYf4yw/Z ZnZD5PQVUooyhKL+miiQ1+YDPKUEjBmsf8yMMB++WGtGmxYjtFsZvdqSEategPBfdLdEN37sCPPzR jCBDWobz8MY9uU1KHmzzVwCsc+YKh+JYQ4BpON99jVfEdoETmU5MyfKEvVrhVzcIOVsdCjyoXO+Tg kDwrE4YQ==; Received: from 146.sub-174-212-35.myvzw.com ([174.212.35.146]:10817 helo=[100.107.178.96]) by dancol.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1oKWOt-0006nm-TT; Sat, 06 Aug 2022 19:52:24 -0700 From: Daniel Colascione To: Po Lu Date: Sat, 06 Aug 2022 22:52:20 -0400 Message-ID: <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> In-Reply-To: <87czdc3h6s.fsf@yahoo.com> References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> User-Agent: AquaMail/1.38.0 (build: 103800177) Subject: Re: bug#57012: Activating versus raising frames MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1827637be0e50e228299db4d03" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --1827637be0e50e228299db4d03 Content-Type: text/plain; format=flowed; charset="us-ascii" Content-Transfer-Encoding: 8bit On August 6, 2022 22:45:26 Po Lu wrote: > Daniel Colascione writes: > >> The GDK code specifically mentions that programs that handle events >> themselves (like Emacs) need to explicitly update the event time (as >> my patch does) > > The GDK documentation is unclear. You only have to update the event > time if the event is not passed to GDK, by setting *finish to > X_EVENT_DROP, which really only happens with key press events. > >> What is the bug? > > Client messages sent to x-dnd.el did not automatically update the user > time, causing various selection-related functions to use an outdated > timestamp. > >> Sorry, but I strongly disagree. The concept of signaling to the >> underlying window system that the user has interacted in some manner >> with a frame is generic and not X-specific. In fact --- doesn't the >> pgtk backend need an implementation of this hook too? It, like the >> conventional GTK backend, is blind to interactions with the frame >> performed using emacsclient. > > No, the PGTK backend doesn't have a concept of "server time". The GDK > Wayland backend implements them via event serials, which cannot be > generated. It is also unnecessary to specify the server time when > trying to activate a toplevel window. > > The only window system I know of that requires that to be specified is > X, so let's keep the code specific to X. pgtk also runs on X, and the problem must be solved there in some manner. GTK has no magic facility for knowing that emacsclient ran. Regardless, a terminal hook is not expensive, and I don't want to add yet more window system typecases to the code. Terminal access should be polymorphic. It's through terminal hooks that we make them polymorphic. I'm not removing the terminal hook. --1827637be0e50e228299db4d03 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable


On August 6, 2022 22:45:26 Po Lu <luangruo@yahoo.com&g= t; wrote:

Daniel Colascione <dancol@dancol.org> writes:

The GDK code specifically mentions that programs that han= dle events
themselves (like Emacs) need to explicitly update the eve= nt time (as
my patch does)

The GDK documentation is unclear.  You only have to = update the event
time if the event is not passed to GDK, by setting *finis= h to
X_EVENT_DROP, which really only happens with key press ev= ents.

What is the bug?

Client messages sent to x-dnd.el did not automatically up= date the user
time, causing various selection-related functions to use = an outdated
timestamp.

Sorry, but I strongly disagree. The concept of signaling = to the
underlying window system that the user has interacted in = some manner
with a frame is generic and not X-specific. In fact --- d= oesn't the
pgtk backend need an implementation of this hook too? It,= like the
conventional GTK backend, is blind to interactions with t= he frame
performed using emacsclient.

No, the PGTK backend doesn't have a concept of "server ti= me".  The GDK
Wayland backend implements them via event serials, which = cannot be
generated.  It is also unnecessary to specify the se= rver time when
trying to activate a toplevel window.

The only window system I know of that requires that to be= specified is
X, so let's keep the code specific to X.

pgtk also runs on X, = and the problem must be solved there in some manner. GTK has no magic facil= ity for knowing that emacsclient ran. Regardless, a terminal hook is not ex= pensive, and I don't want to add yet more window system typecases to the co= de. Terminal access should be polymorphic. It's through terminal hooks that= we make them polymorphic. I'm not removing the terminal hook.
--1827637be0e50e228299db4d03-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 23:03:19 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 03:03:19 +0000 Received: from localhost ([127.0.0.1]:35769 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWZO-0008Oh-Um for submit@debbugs.gnu.org; Sat, 06 Aug 2022 23:03:19 -0400 Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:42628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWZJ-0008OO-Kr for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 23:03:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659841382; bh=1zODDEej30f986BrLA7eWACK2AViNxc+wx+iBqzOqGY=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=ejtsBOBwaZxlwBxwL5pIF8/1AtHcQv3wPy70qDAsurJfnK0hwf0Bh/SXI0zQd+Z1wgMbG1zKHU7zIEJ54TFN6UzeM9cAGoWBhUdBPjJojLnAF+g8v93MkAHJCe76eJbE/PX/BmGZ0XN349rmHCTyFMQZwstRlFzCoGjfGSBcB1r7n2CytQLlNYHtfp28O0z6mMBxlME8jNyVO++mPla0DAU1PeTEwtOymIEHagljt+Yg73GlEg4fAfMxTkX+YNy9lO4T8Taa4N+AvYIdT1DR9ZXJmElVpz/lfA0q07VBGzWMnXvQr0mXmBusXN9k4B9N5zt3UBY3TJi3eU4RO3enwg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659841382; bh=YetA9RWBuD6YbX/kFaR2y8etlgmw8Uee2d2Y2G7CB0H=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=gQArEkP6Bpq9SplMSYIoDPCkvV4oho+1ygkxB1gLsmQMuA8JGl4+vD9l/SsfPI4HNYzm16Bw2OQbLqgVf7bKx6wsFgXBsnlgqxuPieXno1qJxxrswgKaDxdfX2mK5Wfem0AV5ZaxRmAlbRWCTDHRI79ObCr+bXc1rTpxng0/KC04Th6fRk/UAsKMLahNd7lgZhW3esYK2tGZ8EIr5DATuQePMZHhhr35hdmqVkLF2eqHAWKe4tNJC2dZyMx9ekDAqPi7yRGbLW0Y0QVjJiVm5h+TPKAHy7uShiw5gY66zCqEqcobtwWdPHY3mOd/vK/IufQcBWMw6qN/HtAPO8hIww== X-YMail-OSG: 24VG1roVM1ltCKFLXv_bKTsmTrgd4t3TFIj0LGLM29x71Qm1dF_r3sLniAn7NI9 bZTKrSnXSdci7rIPa4GPZLopT_PlcJnONOINlSM.MnfsAMiGbG7tiN3OfLj3DgFWphMqLPd4fiF7 L9L1anqcoE8W3KJIfXoI2nHVdiI.L4s0MLanglZPvj7BUKDGnUHzoVUmrwq7c9PTSJbpBj.otW_l vlkUZkzWTcPBCEbEtTZjvp7LAYUeQQBZCMAM8PL4tjBAmBUzXanid47ivar4x5AqmBuLBGuU1WEC 6t8wHTY70aPkWysyh79QV6RkJcLTJw7V7Xefi.UB5lEnLyg8kxFtbxJ7ELLXVAusSxT7Ydo47Oes feehWf3.2XWHYd46YOcqOwiREayBQs_8wiF4o0GXEB5qt4siueyfDlMIe9s2.1Cq8nrC5ID92MHI 7T2k.8Lq9nAkOk88pDbcv4zJMQO_AHl8oQjcz5eF9_WOiC5TEzFQfwDC0HWWpF_guEJ9vGmjg52d PTW8Tv0nxcEnkSFSyzYEIVW0vWta5Z0K9vqh2b97rlpUedvkblz17J5TNFaVZar9pCx.iFHu53qT lpZqmqvMmUbB6BnA.FnFHmG8VqhGHGVDVwMJUWi0RtT.i7lUSHKhZHJsEBURmRM87KeH9jntbXJo KTAgHY9nxXrAVs2RYoyE3ng4AoNrgcx5ClerJas8nZDng.6P95PR3wH51LnnUKVhljn81Bziqd8V DR_XaZmY.7SggnS3lSJGwg42dT0uqndBMibKteN.UJ5sJI4ZTyBwkJukEJ1sHTKV1yiXcyqOvtk2 lW51IOzomet6mj0dVQAApjviZXD4OFI60VP.gk5_okjvGeZMSq0pg5.l_X0acpZHoxTjwVtif3le RA6.BbKAM_5w5dVN4naYqYr0CeXpZGCVCVKWbYVSaxs7.NI61t6s2xzEkzNsH8HRnl8KybME7a.D DmMobxqvdobhaoBiQMpDC7WBvTjJbs_j7l5DW1syzRiIkd63WJ9aKs.T.y4kG3ISZwUOMss.58Qj xRw06VK7lQ4bCeAJjKZugeK4DtoSY4q8dZDJ8ldXId.SFwoAXh3IaQngowyidq6dOxf5K3UiE_MW pWovWf_iFCtu1Z9jY0F.iGGl53l3vy1rUytyxj3LO7BiT6AnLzPymzqHs9zJFg6Cb8t9i4_E8pZ5 Je8SWUMElBfD7eqV5wN2sb08La84if_nteo3.hLnX5A2XOUINjFqBuAw6tgXyZYqESOBqqrDuxdQ L23TtXTUecypr78WlYls1_t0gMSt5U0D0vyIWVjh_uvhvNWnjf41.UcbLZOfAz_helZVL5Rthqjo 9EGC74soSVfCQpv93ahOS6POzxYZ7Qd.SqRrWVJLInPacg8xWN_P.kahAaQfm5fDdFxrDjf232z3 gQ.PxkvVKi0er8By_Dua.VRqg1ry0HsM0vbuG4_orCsaY3Py1QgPWswqJZQoGa69XbykpUVn5Nlk TkV2XQCBaBp4ZtyoGslozvgSYsnsNK1BKRaJ7qLZZHCTf06D5IMCA_K8AC5v619h_frBZZECzEo8 jlkrOC6petaGhZGUjVhDEuhbNV5lZJBc7gCKznfqgevm6uX3FcdxFgX_TnFh52VcOvZDUsXA2NYo pLeOY5vgcyQeHc_0ufRAlk8h6azEdcn3p4vePcnW1qH2W1X02AaR_xfNNvSFqPQdPFEyFWNR.ux3 TF.OhFYYPTZrhnGsPwghCWZTiKJxEcaGwzKrxORXjAaKIGiCC4K96KafSzoTr3eczdwoHGsttr_6 4AtHRMPsZrI7v1xmN8ju7x7RVkNxSv14xRBWWkWDK9rpJrk8yllCTEXw_Phap.9b3zwJg_I6f4nx y8Bx1QTVovMpbg6N0Zee9Ds9Nl3ZcUO3Bg2Aiu53uqGg4SFsiOcmPeedxAo.5bBaPp23CNCZAJpm bKTB737RU63A6zsW3T6JSi2Ud2lj2jqxADPnUAY5d4a2NZ98Vhwh0FkhvcgospAfmXQ2y3Pi7mT_ N0ieS_ebNov2Lwq5QkPR7DU5v0rJHjG9H_POGOrW52r4cwMgTjuarq2co1x3ZVMQ44ifcG7OVKkv kdZixwbaA.ZHmD9cMWeRqv1v49zqim_oly57uucH_17umpamGjlIHe.DecRNnm7J_4NXFd7dSyzC P5VnrvvOFuH8p9OdzrMn1JfSLqFoL94s_eHDSMohN1fyivWQh7i5ScRiPkJ4La8i3_0.4J_.9og. wvj_ajPdkWR1N2Qfd5evdD31nARHwLckYHnuwrMzrhULnWVedyG36GuKcf59G X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 03:03:02 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-jq7xs (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 58c0291ab3f292df46e753456b34cd33; Sun, 07 Aug 2022 03:02:55 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> Date: Sun, 07 Aug 2022 11:02:48 +0800 In-Reply-To: <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> (Daniel Colascione's message of "Sat, 06 Aug 2022 22:52:20 -0400") Message-ID: <87pmhc21t3.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1074 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > pgtk also runs on X, and the problem must be solved there in some > manner. It does not. We do not support running the PGTK build on X (the selection code doesn't work on X, for example), and there is no way to "touch" the user time on that platform without relying on X11-specific code. At present, it's not even possible to include gdk/gdkx.h there due to typedef conflicts with dispextern.h. > GTK has no magic facility for knowing that emacsclient > ran. Regardless, a terminal hook is not expensive, and I don't want to > add yet more window system typecases to the code. Terminal access > should be polymorphic. It's through terminal hooks that we make them > polymorphic. I'm not removing the terminal hook. After thinking a bit, I figure that a better way to solve the problem would be to document that window managers don't always respect x-focus-frame, and to add a force parameter which makes it query for the current server time and set it as the user time, thus making focus setting more reliable. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 23:11:32 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 03:11:32 +0000 Received: from localhost ([127.0.0.1]:35774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWhP-000094-Q0 for submit@debbugs.gnu.org; Sat, 06 Aug 2022 23:11:32 -0400 Received: from dancol.org ([96.126.100.184]:51964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWhM-00008t-2V for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 23:11:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Subject:References:In-Reply-To:Message-ID: Date:CC:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=VVk60tR/25H7xrpv94AikALew0kb/dXgRxHzu+xGioc=; b=WSSS+KwL+q1hppOKjdDi7pZhdj swW2lQ5pNFYu0h8Kq5j8cVQFnKL2ZAgoiDZTjR9ItKYJ9ApJV/hB5jg4OcJL73d5Jf59fxafetWBs XZ3SAClu9/TMJ1AOPz/A5aRCJ4R+oyLmOa4TcgHAzCfMhGerSMDzlq7Q9GLxQ9Tysl9IU3NilIfle w+tYCdRNCxaYoQOWmt0LwpoZetV4LtcV/2E1fv/5kl/a36Wm7JFRqNiBCc2tVl6zUndNucu/uWC9g CITpR92nFt6bbD9CMqE/ooqXxyjKnSBhIeNFxxQAftZat+F5wjeNB5njXF9HcnTvO+hpyUJI18BVD ZxlQA/xA==; Received: from [97.104.88.154] (port=41478 helo=[192.168.86.77]) by dancol.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1oKWhK-0006pW-Hz; Sat, 06 Aug 2022 20:11:26 -0700 From: Daniel Colascione To: Po Lu Date: Sat, 06 Aug 2022 23:11:24 -0400 Message-ID: <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> In-Reply-To: <87pmhc21t3.fsf@yahoo.com> References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> User-Agent: AquaMail/1.38.0 (build: 103800177) Subject: Re: bug#57012: Activating versus raising frames MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1827649312950e22829942815c" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --1827649312950e22829942815c Content-Type: text/plain; format=flowed; charset="us-ascii" Content-Transfer-Encoding: 8bit On August 6, 2022 23:03:04 Po Lu wrote: > Daniel Colascione writes: > >> pgtk also runs on X, and the problem must be solved there in some >> manner. > > It does not. We do not support running the PGTK build on X (the > selection code doesn't work on X, for example), and there is no way to > "touch" the user time on that platform without relying on X11-specific > code. At present, it's not even possible to include gdk/gdkx.h there > due to typedef conflicts with dispextern.h I'm surprised to hear that considering that many other GTK applications manage selections adequately. If the intent of pgtk is to run only on Wayland, you should break the pgtk build at runtime if it's running under X11, and probably rename it too --- because "pure GTK" sounds like it should rely only on things GTK provides and that it should therefore run anywhere GTK does. If in fact it's just a Wayland window system implementation, call it that. > > >> GTK has no magic facility for knowing that emacsclient >> ran. Regardless, a terminal hook is not expensive, and I don't want to >> add yet more window system typecases to the code. Terminal access >> should be polymorphic. It's through terminal hooks that we make them >> polymorphic. I'm not removing the terminal hook. > > After thinking a bit, I figure that a better way to solve the problem > would be to document that window managers don't always respect > x-focus-frame, and to add a force parameter which makes it query for the > current server time and set it as the user time, thus making focus > setting more reliable. I don't agree. Telling Emacs that a user has interacted with a frame is not an X specific concept. And even in the context of X11, we should be resetting the user time generally, not just hacking something up for the special case of x-focus-frame, because 1) the general approach preserves timestamp monotonicity, and 2) the user did in fact interact with the frame. > > Thanks. --1827649312950e22829942815c Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable


On August 6, 2022 23:03:04 Po Lu <luangruo@yahoo.com&g= t; wrote:

Daniel Colascione <dancol@dancol.org> writes:

pgtk also runs on X, and the problem must be solved there= in some
manner.

It does not.  We do not support running the PGTK bui= ld on X (the
selection code doesn't work on X, for example), and there= is no way to
"touch" the user time on that platform without relying on= X11-specific
code.  At present, it's not even possible to include= gdk/gdkx.h there
due to typedef conflicts with dispextern.h

I'm surprised to he= ar that considering that many other GTK applications manage selections adeq= uately. If the intent of pgtk is to run only on Wayland, you should break t= he pgtk build at runtime if it's running under X11, and probably rename it = too --- because "pure GTK" sounds like it should rely only on things GTK pr= ovides and that it should therefore run anywhere GTK does. If in fact it's = just a Wayland window system implementation, call it that.


GTK has no magic facility for knowing that emacsclient
ran. Regardless, a terminal hook is not expensive, and I = don't want to
add yet more window system typecases to the code. Termina= l access
should be polymorphic. It's through terminal hooks that w= e make them
polymorphic. I'm not removing the terminal hook.

After thinking a bit, I figure that a better way to solve= the problem
would be to document that window managers don't always re= spect
x-focus-frame, and to add a force parameter which makes i= t query for the
current server time and set it as the user time, thus mak= ing focus
setting more reliable.


I don't a= gree. Telling Emacs that a user has interacted with a frame is not an X spe= cific concept. And even in the context of X11, we should be resetting the u= ser time generally, not just hacking something up for the special case of x= -focus-frame, because 1) the general approach preserves timestamp monotonic= ity, and 2) the user did in fact interact with the frame.



Thanks.

--1827649312950e22829942815c-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 06 23:29:42 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 03:29:42 +0000 Received: from localhost ([127.0.0.1]:35796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWyz-0000bt-Nr for submit@debbugs.gnu.org; Sat, 06 Aug 2022 23:29:42 -0400 Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:46331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKWyv-0000ba-Ht for 57012@debbugs.gnu.org; Sat, 06 Aug 2022 23:29:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659842970; bh=hlBAzEwJ9WqCzc81U9C3OPcAVtiTJcSp9+U3tPpy1UI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=CkUnTr5ye4xaKoPb0zGfxFLYvKzDHPoMt1p8AugcIVmqolSJPVSv5FPwbHn/NOAbTQ0Z2VzNlRNiRipldepwq+/+1rqRag2DKmrxaGapEfyOcCIZFQWwfZnVxrt6kDZW0w+u1XBIDUl5lTwpEpzEsbVBIXHrHJijp34uxbK7IH+zNnw0I344c3+DaMjb2fdeVkBk9SlhniWPIwj1+ZZjeK8S1SCBpuwZeO5po0m/zj3HEtmvC+E6g8EQi4eBVbW1V0MzF+gqMw829ZcfNwsOJ7kdnM49DU4nToA7k7383jFywE7rJ854ii5U7/NmHVrPuplClm08H6a4rtuhy5dFog== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659842970; bh=qio4Im6iHWhU2rK5JuQMLJfwS+zDL8J95EKDH+RJgCQ=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Ps+3+CezFaa1o09MMxRT+2mGfpSB0DilkQ/o38eO3av/iZ+vk1XipRjNfAmVbz0Jpx/Fz5ruch9Wdm76M9BiOPkhdtGN0mULbBq6M0Q3uuMbm813HHc5OT7Q8QA4hkrEZN0vfCLDTkI96VjDHyn3eQrm6jDuxht2suJ4YT9gvV+9WIJL7JEof1lc8naHs6JMGqEoWVWbPzigHQOhDe9/mZCOGpIeTPY42gs3AmjSsAFlYvmezJLkzYfKUs5tSMtD5Iv3T4EW+c1/8avLPLOW6qNcdceOb5eu6qHRn0Sgak/1N1VGA3bcstgb20+7C7KGGbKz8oQDkjIquxn7uxhpWw== X-YMail-OSG: LT6awlwVM1k3cI7ockQp17X4jBDOFqa3X36j38rKEY4maD3iBZkv42L4ojVpoil fvtzp56Q_fRLl9eeRRU42rMWnDRBQCJuhBEOMCHGpWnwo0jB1dbvhLASYfDsR0hFCyO_4UaLXbiu 5RZoZS5nHUf.vEg71je94rRDPSKKWCCOn.d0qLbosbgSrccHFJQKzDTgs.A7ECwxfRwXmik6m1JD kWSQweh.duL4g7MNceCiDslC_UvSF_cwkwuL1bdXvH5qTElYglnRRPwPj3e5lBv2EA_xSR3j4GwG di5JbqsGy3H1y5HLVF1jwwn2Qi0e4YTwnQ2L9Fj5S6cQ1qMSiQpjQrT9u8dSAy2SqV.PQnI9ka1_ dHFU3Z_aky2wfSqF8P14._3x3TXJrLSnBGWRsRK3L9Aj8NhvlrZZaoecmsUptDmT_UuYjIJLIL7y ywtl1Mn3XDKf8o0xdhq_mG0AKP0befciRy_lx9oWaRQUNDXq1PdqEtwKQWp7Hj92bUSCJr44wNAu L_dIJ.18NR2eWhb._6O5un4kVpt8oN_B5NM1b8j7uigt.hp4WxkmXGw_cPRSA3r87Ae15W1TFKkU OFbTQRj7rGG24ixr3.E1hQB5hCTP8inqdsJ3BJLWAxGDHALn_5Ls3BNnmk6g1zUmJ8C8ZgdDQpFK CFTglRNPOYQdY1BFsDJJRVetvIgjcIZC7XxVvUOLzJkdX8TFSjWlrqY6d4Ok2NZxo.BEBUtUdXhW QcVcqHh0HTkWLIoeWTb8yPlFZ5cvBWYmX.5BLOxmr.D6AdkbuJJ_gpoxK4JHZ88OirxdYVvtX63a NYUcaJTeT1c3PUTt0Zkfx5LtwhOhjpKzd3Wzvncvuf3uIoN3USd2nWJ7erWPUr9d7YMsFgtzdowQ I6usuEMMab69VxH02vD6upKBsKA7GwmRlnXrbvj_hx.hGLqPq1jUU9HSGZy8ZQwqrejSia_vHUYU Lnc9AwyPqp0xSaimiBtUsa67ZeqPUJawYIauWEsWTeIaHEVQGqxFiN_ypPihFmuUhzf2Hcng95Ms 0J7P6nTgYDa2YyZb3xCZFUYxDv8fcWn0.IR5r33JcXBToQUP6xWtBa3gp5BhHFft01unY7.RWa1u qlZTTdrpUwcqPBB86uRPcRfwtBiVEtmJU9JFUFFcd9xThngyd5D52w6xww2VufzE9U8cptCixEjZ qsyisyge3R1716Cr8og3.cX0UfGLKIgdP1m5lntVLhLi_wZoWBd5e23I9aopf12Jo5ekXpu2z39J su7oZm5Ge4FMCrI7XfEi4dLkXi.krPRHgG6IW2ptVX2S5AHnBQhaNDlqlRdUpKHk7QtjV7qfbjaH xBSyJXeULncof_4xmZiVZNPagmKDpAgaSCzoY4IdNdFwkS0xXrq8oTOhOvmPeo880_hRBVI7xNsJ n4Zfg6GpaspeO.EhGOBwaihRRe9tj6s5pHRJCSlVgHPdP8UZVEDlrBKqCsUBPOXuKjucB_1hrJOH JXYuyTDDK1xJUZlHky0tBnQ40GvsRObIbu6Q6oTGlSPdo1s4TfkQmzrR.UX_psN4osVL_pNaIFAx 4QIWiKo5ytRn6HTnJVKOjMM6sqLvviUU0Zx06CuaItaKjJtoM9JELHrFYXFdiavC7RYVwXtTX4i5 v8N7kp4p2cRviuqoEqaOWdpHM90CkFq73BCl5YkTf1XN0hgju4DSnU4P4.5bSVML0wpSPTb_6abl yd4DufMPFBD7u0AoH7GAw46jrpWH9oMFhojXTaqTuzfMC32Sb.ceka.zp2yPc2TnMoDWyi2bWND9 O1fTseeGiXYFRUur1Ll8Zf3WVRRroU0WUH0ywbzHNKDTUu2Ab_QNyyh8WlpwsSY9QjpuDk6JuCop 6ZeRQNvRP_ozBnQYYLOPzPYmu56TGzzsssAVvVeraLIjwDFU5VpG.ILftYkc94wP0RWlgejJFPmQ hhWLmgi.z__M4zo_jDAb2QZwT8o1op38ldzTA205F0bcIKfRZMiI1D470lM_5lPif_R8JPO.5ZV_ B5MRbzPLY9FuHv9BJeTKlkqkqHCL_XNSZg1e74ZK0dsClliMQ7v8P.nblINHZqzxGluaKHLgsUb4 kQDfsEVhy7X56KRrpAHYivyOEFsaf3Eb_JALrKzRmrglxip6RCviQasEjG8FMW.RFohQH9ZrxayL khLCYjYKAEJet8p8BjQvgKkZF3XS28fdUrtYCEtstr_sGdFzG18u8Ux62fkHn2wEDiYAuCEgag4s uWrkFuDZ18JvS.TrUX1i9_oXQ5wxrfdfLmttIxLHJGSRUfsyBN8BnS5fpODV2 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 03:29:30 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-q5dg5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID aec3099b74d3938dcfc77d7dfe9b0013; Sun, 07 Aug 2022 03:29:25 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> Date: Sun, 07 Aug 2022 11:29:19 +0800 In-Reply-To: <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> (Daniel Colascione's message of "Sat, 06 Aug 2022 23:11:24 -0400") Message-ID: <874jyo20kw.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 3011 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > On August 6, 2022 23:03:04 Po Lu wrote: > > Daniel Colascione writes: > > pgtk also runs on X, and the problem must be solved there in some > manner. > > It does not. We do not support running the PGTK build on X (the > selection code doesn't work on X, for example), and there is no way to > "touch" the user time on that platform without relying on X11-specific > code. At present, it's not even possible to include gdk/gdkx.h there > due to typedef conflicts with dispextern.h > > I'm surprised to hear that considering that many other GTK > applications manage selections adequately. If the intent of pgtk is to > run only on Wayland, you should break the pgtk build at runtime if > it's running under X11, and probably rename it too --- because "pure > GTK" sounds like it should rely only on things GTK provides and that > it should therefore run anywhere GTK does. If in fact it's just a > Wayland window system implementation, call it that. It does break at runtime when run under X11: just type "C-x h" in a large file (like xdisp.c), and try to insert the region into another program with mouse-2. Other GTK programs run well because simply don't provide the amount of features that Emacs does. Their users don't notice various problems caused by GTK, including "C-S-u" being read as "C-u", or "kp-home" being translated by the input method into "home". But our users do, which is why we do not support X11 on the PGTK builds, since the regular X build works much better. It's documented to only support window systems that aren't X11, such as Wayland and Broadway. > I don't agree. Telling Emacs that a user has interacted with a frame > is not an X specific concept. The point I'm making is that telling Emacs that a user has "interacted" with a frame should not be necessary at all, and should not be part of an API exposed anywhere. Lisp code calls `x-focus-frame'; as a result, the frame is focused and activated. Further more, modern window managers are rather notorious for their draconian "focus stealing prevention", which is probably what we are running into here. Kwin and Mutter apparently ignore all _NET_ACTIVE_WINDOW requests that don't come from a pager when the window being activated belongs to a program different from that of the currently active window. > And even in the context of X11, we should be resetting the user time > generally, not just hacking something up for the special case of > x-focus-frame, because 1) the general approach preserves timestamp > monotonicity, and 2) the user did in fact interact with the frame. Some data being written to an Emacs server socket does not or a timer calling `focus-frame' does not qualify as "user interaction" and is not sufficient reason to set the user time. Timestamp monotonicity does not really matter either, since we are not dealing with X selections, drag-and-drop or other fancy synchronization mechanisms. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 07 00:10:09 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 04:10:09 +0000 Received: from localhost ([127.0.0.1]:35813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKXc8-0001ew-TP for submit@debbugs.gnu.org; Sun, 07 Aug 2022 00:10:09 -0400 Received: from dancol.org ([96.126.100.184]:51966) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKXc4-0001ei-JY for 57012@debbugs.gnu.org; Sun, 07 Aug 2022 00:10:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=MIME-Version:Content-Transfer-Encoding:Content-Type:References: In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=waQpSmFFx8U0DLc9t4Wo0n8QtNvFeVVkbQmNaq+g1XM=; b=bF3pu5A4M7p024w1aK7xUlQ8ET EYqF7/ZAgwwU9iXyUaUF/ZCTLhl06IhBiBvoYal0SSpzbKI4hru8Fo73qWAGwSpA6zLCwAybXonE0 8WGS6rtpkQSOkvLzC81e/p4F/TPKP24DT+Ira9/foULjifdgVqlPP2lfw2oG21J2F6PciILauewFy XLpmOZxZTT0EM9CTRQ9iE4qeVtKN7gLi49/I46kCvyA9n2MMLqPKZwzmNYsYWYsN4JvyLr2DCx18X wlGedyl0gQCotSiqCewDY8diKOMotPO5E+RDxiM2E2pGc4N+nr2Xo0zeJ70HWHDY7PqUI5Q0W/oNK 48pRmItw==; Received: from 2603-9001-4203-1ab2-640d-a545-3db0-5adc.inf6.spectrum.com ([2603:9001:4203:1ab2:640d:a545:3db0:5adc]:39136) by dancol.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oKXc2-0006v0-CF; Sat, 06 Aug 2022 21:10:02 -0700 Message-ID: <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> Subject: Re: bug#57012: Activating versus raising frames From: Daniel Colascione To: Po Lu Date: Sun, 07 Aug 2022 00:10:01 -0400 In-Reply-To: <874jyo20kw.fsf@yahoo.com> References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <874jyo20kw.fsf@yahoo.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.1-0ubuntu1 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sun, 2022-08-07 at 11:29 +0800, Po Lu wrote: > Daniel Colascione writes: >=20 > > On August 6, 2022 23:03:04 Po Lu wrote: > >=20 > > Daniel Colascione writes: > >=20 > > pgtk also runs on X, and the problem must be solved there in some > > manner. > >=20 > > It does not. We do not support running the PGTK build on X (the > > selection code doesn't work on X, for example), and there is no way to > > "touch" the user time on that platform without relying on X11-specific > > code. At present, it's not even possible to include gdk/gdkx.h there > > due to typedef conflicts with dispextern.h > >=20 > > I'm surprised to hear that considering that many other GTK > > applications manage selections adequately. If the intent of pgtk is to > > run only on Wayland, you should break the pgtk build at runtime if > > it's running under X11, and probably rename it too --- because "pure > > GTK" sounds like it should rely only on things GTK provides and that > > it should therefore run anywhere GTK does. If in fact it's just a > > Wayland window system implementation, call it that. >=20 > It does break at runtime when run under X11: just type "C-x h" in a > large file (like xdisp.c), and try to insert the region into another > program with mouse-2. >=20 > Other GTK programs run well because simply don't provide the amount of > features that Emacs does. Their users don't notice various problems > caused by GTK, including "C-S-u" being read as "C-u", or "kp-home" being > translated by the input method into "home". But our users do, which is > why we do not support X11 on the PGTK builds, since the regular X build > works much better. >=20 > It's documented to only support window systems that aren't X11, such as > Wayland and Broadway. Then emit an error message at runtime if you detect them running on X11 telling users that things will mysteriously. To let them build and run pgtk initially, then get frustrated with a few edge cases, is doing them a disservice. They're not going to read that documentation. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 07 00:29:42 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 04:29:42 +0000 Received: from localhost ([127.0.0.1]:35827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKXv4-000282-2y for submit@debbugs.gnu.org; Sun, 07 Aug 2022 00:29:42 -0400 Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:39793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKXv2-00027o-Ab for 57012@debbugs.gnu.org; Sun, 07 Aug 2022 00:29:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659846574; bh=iU0nuYBwCtPuI53IAV09zILiyEwr64ZHFyJEAgQCWSM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=p3qSpUexmn5DiXvwkvh+FvKsf4mjAyhAhStRDxcl20hoDtaZwWDiFSPGWfAd0k0tQ8UrT7LkL7ZumkihNTQlxbJFnKJAdDzz8eJl+VCjFZO8ztOiZ6oxX58dbexwOPVHNfKfw7X4fWa/gjospTjkkAfbblut2KKuKt0rhOs5DWSy8isN1KPqhnHjGE/vevyiyXqCn9IeGjoZFAiq3AD/GpZYD4u7I5ub9iEAFdtDjiL/2D4qkGKBRliGz9dPwV1G7fbN/RznOEuegWBuPDDq9r/xsWA2XlSTEHhr0HaKwONP4Fo2tsGaY5r9ebVjQu8Xy5y1ciekJBiH8I6HO1Vyig== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659846574; bh=cENgqH+UbpYAsCQHq6ZKP/IvltqSzfIH2zz2W4bawvH=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Qh62/OCvReddJNeGHlzbL2LErps9SNC4o7PIibRgq5/qU08/k0inPyyFqf9tkOeEbpL8WgSMwR8oRqaV/iAUxKvS2HoMgV0em2bNUZPbcluj3cOp7gLsQM0E1cXhofRnBB8wTbktA9Eq5vMuGwuZQ58DmkiSdHfcF7rZlB3pRr5Z7XNRPEDcneQ5lwXu1LKcjy864iVU+o6iGkJ4xeNdy7twiAQS/WSiCGrEDJdhUkD4AbIYIeXXWc1irHUhBYJXSeOHXSoGCjmBbrrB8tDez5VUD0NM/240c8YquzB4WXCj501IjX2lciW97rtJR6uDO/yx0CRjypSNHnoM3em6mQ== X-YMail-OSG: sKD5v0gVM1myYYFyJ6EecDLMqLk7bvDlhUWc1iqr5SfMncj8xuoUszEyo79NOAs TZj6z4GEKwfSIMW_AAp18qhlH7K6LE7p6fZ3_5Vn_5DCAbC6SlTkR6CzKSYwK_oLYeSlvQLBowns ImwIPGyV5gS3ZdIpnMvSGrr.iIWMDiVb14KS9aTiT86sR6wkFNLNnt.47cuNt9OaS7gqFIcGzzpJ c1ofiCnC1SIg7RAUt3Ub6_YAGW9B6WElV9A8qh8VnFQ0wRD98WAfs7K0RZ2ZBhQP8bSv1ViUrw2H ZSzz3SdTKmXVQQxv9yDlocw87RZUFMMbWHcLjzX43YhZ4LEuygugBKDDcCXW6NCw6XkAT6p.JARw HG1hCF6YUCo00D4JyxDDkZ_JlmmReHxCujN3xv2fYr0ootIkQFcMyJk5GUfXQTZLHsYGRa7z2Qwd qQy6XuLco5VQaF5YZqJOi9MPPSoemclPd46iaRPkBKzuKirFv1QAe55T8lyCmnGPqkgAMZLATXMy FJfR17INa13SHHdoVr31LUFIFkW5QhAaaQkKPxOths_1vP9ekx_AVqyEWIbtTgpCn0RNIgKzWszM SoINjwXejDIt4HzufMslZa_OX6h8QUw6NzNT6q1f74JqiW6g2pQSDqKKBry.OogAYrLYprVo5dOF eT8WMubxVYlWf.U8D2QWoepID296XKU0WY7MAuY542mmI29xuZF1zpp4PjpUgmAouWVDjQBraIDA wwP0mQlirYnOiBFKHQF6Zy4VagKQrQmAWqUVKPoUr6CeuvsioKlV87BAyNVXYNZUdweKkt4U59Nu BU62l0ra8cgvl2i7NZAfHwXWkT5FCWLzCM3OhFqOOK39cz8wCDgD6KzOt7zeOMlQZoOrjhnoaJyE mH127JFc8E1gITRcXWMuf88cJakqSrzrUSBQz6uoixE6up8g0G0mc2LQoH0L9kfNovk111DZAGuH 2NrqjPjw3CkEEbkyvmE4cQ16UZU59NdNkKN.B577HNICXNdzMBECqGUme1jLjX_0pIFUxyGqWv97 10FPKeuG09xJHhZ0MzC1qaAGuvbAM6PuJ2Xxczm9HtNrustYHfUNNVdIoWQKEj1x4A3xiGxP0Uim 8LcXUbkDUZYMsCttGFAgv4ij6uMadmoi.gOx2tjso_LwGYV_QMFACxU_L43gGModBKZ.e0kCfi.x osn4m7D3Sjin..z6GBwubmKcqM3OthVP4CaoUBGII5rQz9DtCFBoKWXPVtD6hXXqQDPYnF1ciWm7 MI4DeKCdqA.nnXcK_Sv_xO2lianmJRisRFrOeX4Jp5hEKcnWrdmZmZcqe6ySpxlkYEXj6fvwh0sn q_nrWASv81LTb01n40RwrdOVngxE.9GLb9sSDh0mdTxOywRmnXwXWUcIUhAr8kXcRgR8qxD0ZA3M tozzagivhvaAJUKbkytBcKYsnjmSKspfEUebUfh15krqIn4o086s3K1SpFllNW0wX03mwlUiXKwZ RPNYmAYcQPbpq1mCk6At99lbRDKuKkrqtA40qa1YUmDO.5Bne5r7hM4OL5q_mnN33mzaFPF7QqVc zK2sOxx25WcaEicP5n9TiO47iIJc4TlpGARUw.EhOu8DLpNk3z1LEVo97VTY4uoog4R0zyyfh0tk EQSSKgy2iyn_44CA0W3vZqbw52zs4_vzUSUYbeOOuhFp6GyIHSPaeJWdVLyX2.6MzbGqxK_w7_XV 0Aswb4.C1NOE9g2TtPMs3jxEwuZdAbZNet90yVWhX7D0m5LL.YHQt49O3uPwXI4meBnKrAOrP2C7 Vxn35u_RhyPRtlmwEqzR3hAgN.MF7umODuqgFxcZsQYmkeCQlYPmZwnHvSKqmlQi1JJmghMoZWq8 5BulHdttlwfGMu4CBl4IcYOSapRBNbpDNc56ltZCy0izewNGpxl3.Gw_uk143aqOIEjCmSZWexWS hHr5UQ0ohZgjOpzoATnzZJQlENaTZrucL1TVCsLZNIkYHL1GT2uxUHqIs64N_3FHf1Q-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 04:29:34 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-q5dg5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID a4f00c60661e81f189e621cb3523d70e; Sun, 07 Aug 2022 04:29:31 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <874jyo20kw.fsf@yahoo.com> <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> Date: Sun, 07 Aug 2022 12:29:26 +0800 In-Reply-To: <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> (Daniel Colascione's message of "Sun, 07 Aug 2022 00:10:01 -0400") Message-ID: <87zgggy8ux.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20491 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 350 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > Then emit an error message at runtime if you detect them running on > X11 telling users that things will mysteriously. To let them build > and run pgtk initially, then get frustrated with a few edge cases, is > doing them a disservice. They're not going to read that > documentation. Why won't they? From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 07 00:59:09 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 04:59:09 +0000 Received: from localhost ([127.0.0.1]:35853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKYNZ-0002uJ-9G for submit@debbugs.gnu.org; Sun, 07 Aug 2022 00:59:09 -0400 Received: from dancol.org ([96.126.100.184]:51968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKYNX-0002uB-1k for 57012@debbugs.gnu.org; Sun, 07 Aug 2022 00:59:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:MIME-Version:Subject:References:In-Reply-To:Message-ID: Date:CC:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ObxOdh2FSvL+OjHRmTVj8A8dvd6hE7jwAxqMzO1k7rY=; b=YpXCVECShdlmNHAyDFpb/eqgfI 0DZ/0v/IMCjMlEeuwiwxAVYjJNF1QXNrTraShgAT4LHo+UxzGwGUhVJKVsF0OaRxLO4BsM72MG1eB Q9tky2fyHRm64skwnUbYPO9UPAsCTeTCeX8J6YlmaZXpP3OHycaEkv7mH/l7WlEIAZYi8ZYyruNcQ uXGRULJCRqzjnHnxcS66Jcq/W9Rj6gNCIZ4XB2+vWbLJtnq7TH7CJ9Ro1v0nGYwmOaHON+IGsSbqq SWqaH5650azTxulyyg2+dItJcHN5uHeKgveT40E40a4MajqG+E6SWQE07CTTWSbIp2pfMMm1IBYFY B8e8PjhA==; Received: from [97.104.88.154] (port=43476 helo=[192.168.86.77]) by dancol.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1oKYNV-0006yd-S3; Sat, 06 Aug 2022 21:59:06 -0700 From: Daniel Colascione To: Po Lu Date: Sun, 07 Aug 2022 00:59:03 -0400 Message-ID: <18276abbdd8.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> In-Reply-To: <87zgggy8ux.fsf@yahoo.com> References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <874jyo20kw.fsf@yahoo.com> <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> <87zgggy8ux.fsf@yahoo.com> User-Agent: AquaMail/1.38.0 (build: 103800177) Subject: Re: bug#57012: Activating versus raising frames MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="18276abbff450e228297098c64" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --18276abbff450e228297098c64 Content-Type: text/plain; format=flowed; charset="us-ascii" Content-Transfer-Encoding: 8bit On August 7, 2022 00:29:36 Po Lu wrote: > Daniel Colascione writes: > >> Then emit an error message at runtime if you detect them running on >> X11 telling users that things will mysteriously. To let them build >> and run pgtk initially, then get frustrated with a few edge cases, is >> doing them a disservice. They're not going to read that >> documentation. > > Why won't they? Because, as a pragmatic matter, they don't. We're lucky if users read fatal error messages. People don't have time to trawl through documentation before trying something. They read about some cool new compilation mode on Reddit (scanning just the post titles of course), them try it. It's not that they're dumb. They've busy. It doesn't matter whether some file somewhere says a scenario isn't supported: users are going to try that scenario anyway if it plausibly looks like it might work, and when it doesn't, they're going to think less of the whole project. I'd feel much better if pgtk simply refused to start under X (explaining that it's not supported) than silently give users a poor experience. --18276abbff450e228297098c64 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable


On August 7, 2022 00:29:36 Po Lu <luangruo@yahoo.com&g= t; wrote:

Daniel Colascione <dancol@dancol.org> writes:

Then emit an error message at runtime if you detect them = running on
X11 telling users that things will mysteriously. To let t= hem build
and run pgtk initially, then get frustrated with a few ed= ge cases, is
doing them a disservice. They're not going to read that
documentation.

Why won't they?


Because, as a pragmatic matter, they don't. We're lucky if users read = fatal error messages. People don't have time to trawl through documentation= before trying something. They read about some cool new compilation mode on= Reddit (scanning just the post titles of course), them try it. It's not th= at they're dumb. They've busy. It doe= sn't matter whether some file somewhere says a scenario isn't supported: us= ers are going to try that scenario anyway if it plausibly looks like it mig= ht work, and when it doesn't, they're going to think less of the whole proj= ect. I'd feel much better if pgtk simply refused to start under X (explaini= ng that it's not supported) than silently give users a poor experience.

--18276abbff450e228297098c64-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 07 01:28:01 2022 Received: (at 57012) by debbugs.gnu.org; 7 Aug 2022 05:28:01 +0000 Received: from localhost ([127.0.0.1]:35882 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKYpU-0003lz-Op for submit@debbugs.gnu.org; Sun, 07 Aug 2022 01:28:01 -0400 Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:34029) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oKYpS-0003li-Dp for 57012@debbugs.gnu.org; Sun, 07 Aug 2022 01:27:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659850071; bh=SUXfmftuDTYUkP9sjDwapUmVyyeLNG1o53MHbfZAO44=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=iIPxM/2lYbv2MeKKOXt+jRSwE17BfP32vbNr222w7eP0WnVUMfycnPE8HI1Ii06KeckRWtgmXhxstbeKXNXdX0+8+829P+ME5BIeIjrdZKgRqFGLs7tB5KHdXJdTUTYP3u2WfqS/m2hpZ2/RqHY+VqnZXAgcx5d04jjlAav51K3MY7t3UBjU+61aDELe6JV5dmR96SdysWG85Ar7cpf3PeAeLq7x+CHVm7rkRXvr55hjD/bAUdvS/IBtZXIb6lqSbZsS3Lsxo2eJL7GjjxelQ/3ekiC86+ybXs4GSaqDA+mGgj3JvZo7kXMChuZ4ltSwT+w+P9ZHDmr6Qr97Mxx63g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1659850071; bh=vy6AqvXPDeHDaCH+pHe1rPy+/cVXGfL8wDb2iL9hs4M=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=AfbaCSNJ0CXAGGLzIYFSzSQ+1D2FrdJ8OH5LTfojWBjaO+uZ72TCrKuP6kktl1vzrXnNm4Y5mskqHQ5O/12/0bDMDB5PEg0V67SOncFm68u9SG34mJpDypCU99WbiU0++eAXkoQeauKicPK8aqgrJWI1qZ0X6T4cTumxkAgSsoTsD6QxWVFO1cAtBlTz7PngWlRxye84t0pCpyml+0thClZcr5xD73JsD4BgcNRgPYkq6ojOhGajn64BEHnpyRzNNQUSrjRuZn4U8k2UzHhaCo85pOpxmzx4NjTKNgddJj6e5hQaUi3KoM0vSbVJqQ/kF7rRGGiIceebYh2KtGA01A== X-YMail-OSG: 16G8KtkVM1laAYZ40uZdsL755lhhQeB1xGkD0ibaydi_mvoOUrY_1SiqCBJo95X pjmb3hwNXGodt3retMkSKKRXIernDqlofSFVM7rWUgcmWuQU1VNTTQ_1cY5SLEQ3uY0OZXQLBzGZ 6lFHT4PJTWMAuZraO7W0lkXYEwAv90qd2edwgXT8Wk3pE2U.tjwnPmaCChPh8G3AgU2e1JLsHqRH cFHYDrDYHBit2IYrSe.I3p0Lqn_ahVPgFJUmiwDEm2wL.9FiuEyPyKC2Ax.B4BlfkuiZqx0fV6TQ 7wKZY8a_jDaiwXeMHaDaMzsgSfO1hSsHo.kBQg8iVo8mMnnQKaBexiCki95lktGKtPl8G0zGGabn WdFj5P1EResXqjDmEVBtwaw5.U_MmV.n_8GGzs3WmgPfXBJDni7bQJNwglFhK9SZVVFD36SSTFD6 849v_kXYQEmHgAyUcpgtKySpq..RjrbXkgbKbKdg8iM0hBb8IWzuUEC290xqrTyKDBEa3YNlnWVj 9Xlxg856bccDG92DJP4GuKR3vD70_evnargDmG5kK5OQZ8Mw_dxQHWMFdqq2oEfymV_aSjVpRSvk MfDF4jn1aXMb.BwcBKLOs6hsdGt7rM5hcP4FYoI0pbGvDeb5ocnaHQcu9erQPmiNC5I3.wJ2HxL1 byiZgoIPF6CfCAtoMDzuZrqMao_nOdSU5Q55lF4ict4WTYZ2C0d4I_QaKNto.Sl5KZl96twuZoL3 02D46OwFKK4zVR6RqS2T26oW3n_hXUagk0qPnPnyOPI70E9OHs4l1BHozapiHNUlyQo5B0lf3_6m q482Hm4mkKHU7mBAI2G6PdPCDy03137jgPURKe4PacQgmZrM646CiRXWcAywAMT0n08iJoL8tlXA mJHDKW5or0d1f1zyWygMwTTp8_KsqYKeJ3Fy2I5vAXqpeolaa_W2fzAbNc27SmoRR7SbARilzfB8 B2hwxwSBEFmuDf6TqMckAYCkASUEmECkLhslCa.66EY1.CA6jXsv2FbDAdmKFPBXfgxr4TNy0qaw lLkKieliGDX.hzygQGkAJ9dvQkldLFxyldpZm2Zg0t08DwVuyzawOXWL6fqC2hxiaOvGSb1kCIhJ wVYcfldGedil3UPy4BdpR24LTIAwTkSlEkNCl.vQkBzyJyG2bXHvbll8Nqj_ICHP4jO0Dswt.q5Q Q6i9aSFdAbDx0REdNBa4Dqsw8PYJDJzhnTccGlELSucsVhtN8Y9DJj79l5Go8IQL71B9M9dm4o14 _F_TxUALMaVrlSfNsAATuSB2jAnQatl1a1v9lfUdNMNfzO8AIeU8MnIAWyODTOZKwTcs9eP7oiBJ LCCiZ6xtZAYjxvw1VipfJ9GfqnkV5iMJbkS.o6WAlURuUUoZQ_MWnT89kkAeBKOLPH5_AyI.4X7O Cf9sUuBeVWxgdLMH_WnCcRSMf1Zm3eyVpjYnYP38NLf6kp8t4nh5lvOFp2mObo0S0LaS3U0YmEDF qy3_vncV5LncXTNipotkhuGIiG6yUX7Bifu7YyyNeIUi0zx7SqoNxQ5lY0tMQJvO39i1zoq6PQ3r vavrkfWvcdpkHsv.3kl.4TxiUXnVFmFu65.99Ai0CJ.vVEqyM2zgj1PTpYm8m2LOVhSaQEQrAtfC 5qnGHlmYV.R1jRG8kHV1tCOHLqghP.85lAICB3lkDwrPB.GCopAat4NkY6RpH64FIcCQLqHNS1Wl gyjhl4Ie2bA0Ud6Pvm3BwD9akOSxaDNw9w0x6wKf2tNJW9zXg2g3e98x_q0POLEb_nZP9M8FL4UI bKX3E1kalTlMpSLKAv8H30UPvP7k2jyKydqpDdRFmC9gzWqSvg3jXCdXsEH7emTi_TwO5V2R3nP_ Mh1lmcfnLZDGR3JWeR6rLWr1_ymEtBW0eslYkIK7Cay8wT4eJrFYrhpe.K3a5A.UP2gDF24vajVt dRnjsvHWoBBM9uACZsdx1mH_75uXfJA5riJhmrd248UVzA1JEPT7nWf0RWybthXr_QuRvVAXL.G7 oo7C3BC5dCbQtolDt_rpBI2LJTdbUBLxBewGN5rSqODAHnSZhpwyaPb26lxHF0e.kHbj.bOF5UB8 SPWS5WofcfBmXD9sysiv3TaB8eTVfTYGyeNaCBAkPlxdnfZUZayjYA01mmrIk.Rxpy_WVR7mdNiV u0macDo4GVBJ.NayLMTntEbkEF6HQjWhyrPNMZOshWaiw2adDyhCmTFLpVcJNnyb5BFkMyVOky.m MCsP44fpdmIu1pG51e1WWAI1vN41jbJJUTSX5WoHrqgiCRZltnbE4iqDue4Yg6m59 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Sun, 7 Aug 2022 05:27:51 +0000 Received: by hermes--canary-production-sg3-6f58cd9b5-fz6jj (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID c23aee3ff13eabcd85527ba901576020; Sun, 07 Aug 2022 05:27:48 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <874jyo20kw.fsf@yahoo.com> <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> <87zgggy8ux.fsf@yahoo.com> <18276abbdd8.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> Date: Sun, 07 Aug 2022 13:27:40 +0800 In-Reply-To: <18276abbdd8.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> (Daniel Colascione's message of "Sun, 07 Aug 2022 00:59:03 -0400") Message-ID: <87bkswy65v.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20523 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 868 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Colascione writes: > Because, as a pragmatic matter, they don't. We're lucky if users read > fatal error messages. People don't have time to trawl through > documentation before trying something. They read about some cool new > compilation mode on Reddit (scanning just the post titles of course), > them try it. It's not that they're dumb. They've busy. It doesn't > matter whether some file somewhere says a scenario isn't supported: > users are going to try that scenario anyway if it plausibly looks like > it might work, and when it doesn't, they're going to think less of the > whole project. I'd feel much better if pgtk simply refused to start > under X (explaining that it's not supported) than silently give users > a poor experience. How about adding a warning to configure.ac instead? Do you think those users will read that? From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 20 07:30:30 2022 Received: (at 57012) by debbugs.gnu.org; 20 Oct 2022 11:30:30 +0000 Received: from localhost ([127.0.0.1]:33173 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1olTks-0004Uf-DY for submit@debbugs.gnu.org; Thu, 20 Oct 2022 07:30:30 -0400 Received: from sonic302-21.consmr.mail.ne1.yahoo.com ([66.163.186.147]:46440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1olTkq-000460-Ap for 57012@debbugs.gnu.org; Thu, 20 Oct 2022 07:30:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1666265421; bh=wHFFHv4zmMEBAo/YR50Um/NGKRv2A8HLx3kw/GGLhHY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=aIST8LoKCJ33Y76AzWojg2SWUIQOVmyqeR0crpfdZ3b204YSQAsjL7CD3imQLjWOc+gA5Fj/PPutI+FYiUYZ8LFCgYJBgHrRXqrbp5jE4Gc7r4X/2/sO++RjG1jdPTS/SNXyqk197i5IPSVw7HAI91M3ASpPBQXNW6G7TLpwCLBld1cEpWvQWKAdnHZ5sZT7N5LL7RgDrFPrN2HUncmG1XDPCOwQ59T9y6KLZcWjMdbjKH8bKbDi9wBEAKe0ypBAIrG+XI8GHWP+Ec2kh3u88CnnUH0HetGwfzMEhVCz1Ynq190e9qw17A8EQkss1hW92rmfJwF0Cyf4BwC+bxgyow== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1666265421; bh=8r/NCT5mmhNiaThjzi4dXt+CvKrELS5ucyRMWIPkd+x=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=dEW1o0W0gQ+RxZHdApervx92Xx4RS6daN7QR7ddClBFfftjG3mwPqWWvzi3l5G09frsVhfeGyBFC7B35GMYkXV2/VoMzaY6LmohehmmPIPH+iV1W3HqDbpEkwcyjuztm18DeMcJP9T2jwLD7/GWSXtSJlQXsVGPnixTeGlHzTLwou3AHL7kSS1N7GQQ0uadq+MnLFguuW+nyUFuDEyqbALqetwJ40JAV5qdQTG9vSADGz0SiAsbqjaqYuIq3zK8RceEZ2fhtmt5py2dhJxJKrnv7M6l69JDXd6Xq/A4q1510pK2QGI2eIpdvfONnLilQsr+LnmOhu5MY6LV50gTs/A== X-YMail-OSG: ajhwg2YVM1mT5GXHbwEhCk58aG4ru0xZwl3f4UkvI2Skr5y3q3KZH7b9nWbJJtw 3.BtUM6rOixkc.pNiPzwmCNNdR2DUEI6FOHS8ptIr558mi9G.1szVZ3offbwUKwwlKoz6xB9NADy c_emZiwixH2UbDuzDvXNmjIvNp1my3vqOvQB1i6UhSVQPE5hwnv_oEBEW1LeY2f1OTKmluwtYRD2 YprC_aKKM1okSGgywdxE69BPugNiL71R2UZlbOPMsz_Pgg5uQ3wxoD2C_AM.WYkzw5wAk7WWiYlQ z.wxgU5eC8kurKP3Lu1qSHA7FIsY3hDzrIkcLQX8Z188a7ZK3.ekgcKbaiBnGy2m3a.Gq_7ppujF L7PLuAyFGWBhPLi9J0ZHTMfuX7DNnU.BTpy25Zr38n9QKVZ_vDXC6_zhUTYc3IPmC5FpTnepR4mX yK0eadGbgRXPVclPXFweWX_NIxS9rq1avX77Qbw5KyHFEfR9qVDBEo3UW19a_VW2KCV36jZ8Rlzy rOoURp35h.7ImTvPWqZQzPezlafolaAinIofh5C3Z3o0ww9EF3FUMjQl4xb8YWTf6iJI7UN4Qn5u SX94ocP9yVW.g3pnqPZ1vduR6ShIfdD2Kv99TS9UDFpEoYdIfsSFd8nNZyUQxsUyb4S6TGiLjBda _KRte1Zcu5C241w61QsGBnlIR0yWDib28NqUuKEchWJrAFYTjn.DDzoKAFoIsgZOMSK4.Uee2b3w d4F7PqHuY7I7_.2zr2i6XPhVQmbop2yZFPCTGLUJk59ayB9vQ834TWK00yg00mvL4ZU9sbMWs8Hh uvCmZBgTVmHGcOvoOuDdy5QpDRRFzi26YX4nGpzv2XxzhPBFBKTSWwc7y.JP5ym3FDtUFLXIMJUp YOXcxXYG9Bk_br02wMMM.7rzbQ5O4BFfR634nZ5jRxSWDH2OM.rSB89KMfIxcmr66_2EXSUhPQx6 sdWJyy5Dp3c6dGczwI.bRVPO75XKKdOOolhhg1z6fAZcuwX28Xcx1y.2EZklPJS7KPXEKnu1O6.Z fqjCudjnPtowEjra61HrQmqLkoEAzjFvsxpqFn.VGxUPvjQ6f1lOQtbRpDYRpXpN2RBf1xUx9vKx v2Q6b_.DfrSR.9zuRmAyAHCflj7nVKBakJ0y5oiay3YZ1CXbQ_g7KH81QFFhdEoRh5lrShpvMXLs BQ3F.cOcqdqZFAh.yOqA2Q8kvFi6ulv8FfSQxn4WwNW7D55uUF2wl9R56bEYzyDm36WeiHXrMfRS w725fGX7Yhqp7_f4cDY0v.ajz.rC1Bi7Z1TgyDGDjJj3ih_KlGRO5ggXx3r1lqH2LzBVbxQ6PpeF JHq2ryxp4.DMJtkn_VIEHyIDQqNf2sEyQdXVJdExr1Or_nuzh8EIEIgC.1dXjtoaHzGN7EQs_5uj HQBYT2pKJubfcs_aL9yojozqSAbA91gTfejV6FWZCzr5yqUohS6VjIbAnWjRMdLbWm7ObDg88QqA PzLF7ORgNN2BZfa_M7vGHm.OSQIoCF.nGVBvOFRiSMjmTcGhPSr2DF55sqVPeHtpET0G59T01HYZ WdOU6nVFyKmFKJ4ygHoIYkCiDc6DlrIWxL_v6pvPvRLPipoLOBug8oEx7KmPgThpHbGGknRX.tGH BkE1El_JOWegMkg7NnmStPlwdWTKWjjrK5TjrLRAfZ._P12WrimhJZ1X3TWOzutIcv2GvVgZtTNY 2lte7BxBqTzYwgbAbcO9wyQ2NCQUP.cKBjGxRVORI02UmnckuQgclMfkMBUKs11JF9ZO4mZNz0_W 5l74pFloLOPWZANI0QxpgTihi82qBsVLEyZbHzKgKQaQMOEf4Hm95dzY0ItFhrOj_P18KVCjRzU5 qDN7baxCUgFvrbI4Kob6pDP2IlxEJfc3ZGhjtDHR.xSMBrHiOGltcDHl6mC0EgqwB3sDeVkp_ka6 X5hoItAyz4LKMctD_.V7lJXdNfOe9tR8jIjnkAbdkBytvUODD7OMGhqwtZo_fvvYwWjRuANHRIgL 7bVrKeII540JAIlU5_B4XxpsL64RTHFtdfujwItbUdO5UL9Ryne8yBKTq141SlOIMu462rW5OsmE l6WMgIgtSX2VKysLjzwqHixNLZ8GfrL82y6t9boPQz1QNspRs.XaJql1KEe8fkIRYBxjSH1tY9Te WLF.I3nYYwCcDBWBrQRDVPc43BiG0Qinm3LCs6XnOJV7n9GIQfoD.PYS.BI8IC2vWs5Ji61AytPv SrDu6tcXgwyjmOnOo7apZYLXwoAEEqMj5zyhvw4ywzqNscKB9r2E7xGyHgthnUNMZIagN_iXK X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.ne1.yahoo.com with HTTP; Thu, 20 Oct 2022 11:30:21 +0000 Received: by hermes--production-sg3-74fb94585-65f2n (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ef5f7a85ac0db806da1d784ce858bbe8; Thu, 20 Oct 2022 11:30:16 +0000 (UTC) From: Po Lu To: Daniel Colascione Subject: Re: bug#57012: Activating versus raising frames In-Reply-To: <87bkswy65v.fsf@yahoo.com> (Po Lu's message of "Sun, 07 Aug 2022 13:27:40 +0800") References: <18270a59cb0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <878ro25eo7.fsf@yahoo.com> <6c3817726a4fc63e83a3d004dffdf072cae278c5.camel@dancol.org> <87y1w03jhv.fsf@yahoo.com> <06468240-fd7c-72e8-2538-b65dd2f28665@dancol.org> <87czdc3h6s.fsf@yahoo.com> <1827637baa0.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87pmhc21t3.fsf@yahoo.com> <18276492f60.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <874jyo20kw.fsf@yahoo.com> <83278e2613c4a27ade2ed7c0e59210068279782a.camel@dancol.org> <87zgggy8ux.fsf@yahoo.com> <18276abbdd8.2829.cc5b3318d7e9908e2c46732289705cb0@dancol.org> <87bkswy65v.fsf@yahoo.com> Date: Thu, 20 Oct 2022 19:30:11 +0800 Message-ID: <87lepa7mws.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.20754 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 175 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 57012 Cc: 57012@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I installed the change I proposed earlier, since Emacs 29 should not be released with this broken, and it's sat on the list since August without serious technical objections.