From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#45844: 27.1; unwanted raising of other frame when emacs is in the backgound and switch-to-buffer is used in a dedicated frame Date: Wed, 13 Jan 2021 19:07:59 +0100 Message-ID: <698ea7a3-c2b2-7705-3fc4-16d52c8a7acd@gmx.at> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1427"; mail-complaints-to="usenet@ciao.gmane.io" To: emacser , 45844@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jan 13 19:14:02 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kzkee-0000DM-Cs for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 13 Jan 2021 19:14:00 +0100 Original-Received: from localhost ([::1]:47952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kzked-00072a-Dh for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 13 Jan 2021 13:13:59 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53246) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kzkao-0004BZ-R5 for bug-gnu-emacs@gnu.org; Wed, 13 Jan 2021 13:10:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53246) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kzkao-00055W-Ii for bug-gnu-emacs@gnu.org; Wed, 13 Jan 2021 13:10:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kzkao-0000aT-D9 for bug-gnu-emacs@gnu.org; Wed, 13 Jan 2021 13:10:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Jan 2021 18:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45844 X-GNU-PR-Package: emacs Original-Received: via spool by 45844-submit@debbugs.gnu.org id=B45844.16105613472171 (code B ref 45844); Wed, 13 Jan 2021 18:10:02 +0000 Original-Received: (at 45844) by debbugs.gnu.org; 13 Jan 2021 18:09:07 +0000 Original-Received: from localhost ([127.0.0.1]:36559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzkZv-0000Yx-F9 for submit@debbugs.gnu.org; Wed, 13 Jan 2021 13:09:07 -0500 Original-Received: from mout.gmx.net ([212.227.17.21]:43345) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzkZt-0000Y8-T1 for 45844@debbugs.gnu.org; Wed, 13 Jan 2021 13:09:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1610561282; bh=w/X0lHzymmH4+5JiRItngzu9zEsVknNKl8cb1QY05Es=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=HCa9Ggef0SArrKb5ZH56RgpV7YpIAjuXUz46sKfMsDTftjPs4Zc89ny4G1z52G5x8 A/2Q3zyMWww0VEC5HvLVCoUAKpvg8mb8tj8NrM67nKc5jemIhxWcnKa8XlTiiHrQKP jZuujoILaPrYhhpYNbtyE/iyzx5csrfJbrQEKWTY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.103] ([212.95.5.65]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MEm6F-1kjTpK3WWJ-00GKCL; Wed, 13 Jan 2021 19:08:02 +0100 In-Reply-To: Content-Language: en-US X-Provags-ID: V03:K1:yfxpG+W7P+biVZc0fxuWJw181HGzTIBuODmVqZeuYRBCj5vxuLx zNUfmPlBgPBabIxbRaF6TuaHdl6zAyQuH/J/ZCQWZqF1T7eUIqtaUjspumE+bEDR0rzZxwx uKKQGcNGhFz4k/0kO4MMjAdf42fOZxeycHMBp9JkmA3yVuXczm+jA9hMBwNy+9xXc9+YXEn 7u0c3pOHn94YHIG4o8vhA== X-UI-Out-Filterresults: notjunk:1;V03:K0:IB3ZSAJcC6s=:Ey7Suh6NjeRMMDegZOOE4J YLrluSLMxs77bY36Vqt51LXhYJv8DHk6YjNbm7xrMOcZ7geaBO6IUGTO5NY9D+0E5mEKYEr0G oSKb6fhEd+c5aWaVy5bK2voKol07R02ym7eANOgL/0q0PET9HId4TXrsU6/PlfTVFyVY8KSz5 G461DzRFU6NwsjD9cWLBxoAcVY7LJabTixDJN6cQ667v6+ugEc6a1vTkIGlEhrnHDnp0qRPUp 3mAy5wJ5o1nBM6cq0MR8UbzsB9qRxqOsrF567jOzld/F2Q0dXeeW8Q5UZwlE7oI92I+pZXtxp 97WO/DVKR8ltqD39+Ci+oCda74g8Q9MCOufeDC2X43W9AGLHIICCy9Zc8eL9HmwFOb367xNn+ CRmisWOHNLYpNBzmh9elEYfhaanBkfhxQQb2+3Ei6zN7xXALudqy9jnAlhupQZfAQ8yDqzmtg bBoGsCKKexpCy4f1Nz4ES5j9k+i5EJ+UMRo5sPU+mKmW1/dNzSYdh2aWE/VhmNbWWsmA2dfii HKFxS5CVGN2qnH5IRAzwTB0dcAyiDYppCnygNmoCLYaCa4EhWghFyvahcZGm1N5SZgxA/0x/k K0SZnERHKNUFWPCS0F9Ls6lYl/m6xJB8JR/vn5j/ogRFQYI952WtuPWYtRC8FBFfjsysG0F4B Bxs4RacMTLnpI1uPAcFOHIbqV1CT8Rg/y0INHUm94lM88qXUbUMjkvc7+KlplPTkxjFfYr/I5 zR4A7zaxMis27h2HtdT00Jc1wjZL3WsRPa4ptW88WtnvTdmAXYdZXGmAYguE8cDs+niCzD2F X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:197911 Archived-At: > (run-with-timer > 3 nil > (lambda () > (switch-to-buffer "*test*"))) You are asking for the impossible. 'switch-to-buffer' with a dedicated window on an unsplittable frame will inevitably trigger 'pop-to-buffer' as documented in the Elisp manual: Sometimes, the selected window may not be suitable for displaying the buffer. This happens if the selected window is a minibuffer window, or if the selected window is strongly dedicated to its buffer (*note Dedicated Windows::). In such cases, the command normally tries to display the buffer in some other window, by invoking =E2=80=98pop-to-buffer=E2=80=99 (see below). And 'pop-to-buffer' makes a new frame because it cannot use the selected one, raises that frame and even requests input focus for it. I haven't much to recommend for how to handle such situations. You can try the following: - Make an invisible frame when you start running the timer, maybe giving it a non-nil =E2=80=98no-focus-on-map=E2=80=99 parameter. - Use 'display-buffer' to show *test* in that frame and make that frame visible, preferably using an 'inhibit-switch-frame' alist entry. In either case it will be up to your WM whether it will raise that frame and give it focus. Often it does both, "stealing" another application's focus. martin