From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers Date: Fri, 17 Mar 2023 09:56:27 +0800 Message-ID: <87a60c3zuc.fsf@yahoo.com> References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34345"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 62164@debbugs.gnu.org To: Spencer Baugh Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 17 02:57:22 2023 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 1pczLO-0008lB-FR for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Mar 2023 02:57:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pczLB-0003WU-U8; Thu, 16 Mar 2023 21:57:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pczLA-0003WK-0q for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 21:57:08 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pczL4-0000hW-Gf for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 21:57:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pczL4-0005Z3-0M for bug-gnu-emacs@gnu.org; Thu, 16 Mar 2023 21:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 17 Mar 2023 01:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62164 X-GNU-PR-Package: emacs Original-Received: via spool by 62164-submit@debbugs.gnu.org id=B62164.167901821021372 (code B ref 62164); Fri, 17 Mar 2023 01:57:01 +0000 Original-Received: (at 62164) by debbugs.gnu.org; 17 Mar 2023 01:56:50 +0000 Original-Received: from localhost ([127.0.0.1]:43380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pczKs-0005Ye-2o for submit@debbugs.gnu.org; Thu, 16 Mar 2023 21:56:50 -0400 Original-Received: from sonic311-25.consmr.mail.ne1.yahoo.com ([66.163.188.206]:38505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pczKo-0005YN-RY for 62164@debbugs.gnu.org; Thu, 16 Mar 2023 21:56:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1679018199; bh=N5ZLakG/hrlGd43tIzsy9b9aGa8JNo4T/7XjaPJLyTc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=ngfOQDdXUH+H5/n/usvO4ZBocW2HAQhqL0huDMnoJldz3u7iwsQWF5qO/RoNeHnAFqNMyjciQvcjAi0tMeouIZJocFH33SmigwGme0IYkV1IVQt6dzs50k4IkACP8QK43FbojVe/2Ah5iNWURO8IulQFoOehqFwTC8rEG+C9nrwj9NQVeq8SnQ4EJn1mj/aWS8Dunv76fI4zLBp1gmRBIv2lEe781nUgRn9ffT9yyId7hpZYtd1YF9+rRf41D//l9IEaxQGr2HNkp/l8K/2kvD2OSONd0zXT5sLjB43QYDTfTT0/ch7N+sWNJKczI1ScyS8yrlZ/6j/Al8R2xaND8Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1679018199; bh=Fo+WimKsjveaUottGd+RsqWQFsEDU6VFhZVyQcVnTn2=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=dp3Am36anwU88KbhfpLvGgAJ7MbedvbWo08v91zi26Y+BwRju1nCuILJ59Ywj3vioSmApyGPNygVwg8m2tkGCWOqd3knRoVwAlDZrXGf/dc/+qqzdkkGaUc9gfERsujBLTAVku2vK8aDgtod3Fam5QjyU1FA0lYJjeRt85cn6Ylwp1AnZJWYXso3OCXQ62TPr41bRx+3UPjljZIGK9LYoUvagTIF116d5OcED0P7hiXepVwJ4e+5fDQ+C9pi5czqPXGchUjdmmmYVuasNdKxa8fbk3EOPOG/T0Zh4Mrbh2TNwsJs1pvzSgFjn38oenjJf1EvbpbzW/M9HV9uWHUe2g== X-YMail-OSG: XM4RexAVM1nLHNmhtTqo4bywqGtmntzBQzFdEumH3nj3uobggkK07BSp7AWsCjJ bXlwrJ8i9k3NRvbDCTQVlxIIeL0G.6wQ.70NcUIUJUqkE03TovD8G2q5ELhzn0NqYSw_IZVhBjgs kKG.XLZQ57jItboBQYi3BMTE2b4iTsBJLe_nc7tSRCDmG26oNysE5sN9t0XTrz6oK74hlYbtskqn lDXrJZRiSa3zaxsz2lmA7qAHfxRFKzX3nFEgonT5waWMuK5BpeTPCx9Tf2FvAv_pWipabKW7wdtU oUQIuDHe8e6nGqGEYYW2S6Cx03AqzWOqJ7Oxonzl2o3YTK.uBpk01q34EZBEChTwIXi7CgEGEe54 0ZgOvKS3MzkMKPc3ttQzqhAQCxveTjzIK7HiWp6gv.J.0CQ8hpz5n45aLW46bJa51HwZDh9Fj0eM ..c8R4m5E_k2ZWzbAfl6N_7sJ7RLEXDKpttMvfZeeJgL6HF.e2ygj5VOQbIqH4.vpCig03ZWEuMO bU2zVJA7Fw.YyrapwZy8CNabitdgc5ou8O69YtcC694l6tQPWE9OhLGV_uq70gNGlZO7ADBVrT.l khN_VjB2dPLIu4hy9asx_qIX0TiA6k3PcG9549CiD_qy_mBxmO5hMx5xe8gwZYIhXvcujejh5NDe R9mg9uqMIxlT5jV4gLkTB0iDQN8wWPe5xn5lodKT0fY0pVxwcON489WYnKFZCG.GmAE4Huy_2KDF Xb_SbVW7keQvakgFlDaSF4B7WMW80F5KCrpee2ncTSbq06lJZ.sjcMX9rE_KwxiGSZbQreTkZII6 oS39j_8chVha3.cJtMFHD.M588uY3lwD6mBCU42l6p X-Sonic-MF: X-Sonic-ID: 5d3b446a-96dd-4347-9712-dac3aaa81fa7 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.ne1.yahoo.com with HTTP; Fri, 17 Mar 2023 01:56:39 +0000 Original-Received: by hermes--production-sg3-67c57bccff-b6t8r (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 74411867aa00bee9258c20c92a4f9f32; Fri, 17 Mar 2023 01:56:32 +0000 (UTC) In-Reply-To: (Spencer Baugh's message of "Thu, 16 Mar 2023 11:07:21 -0400") X-Mailer: WebService/1.1.21311 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:258045 Archived-At: Spencer Baugh writes: > On Mon, Mar 13, 2023 at 8:59=E2=80=AFPM Po Lu wrote: >> Spencer Baugh writes: >> > ediff defaults to a multiframe UI on graphical displays. If the user = is >> > running a tiling window manager on X, the control panel frame gets til= ed >> > and the whole thing becomes either very ugly or unusable. >> > >> > This is a very long-standing bug, but it should be fixed. Most tiling >> > window manager users work around this with: >> > >> > (setq ediff-window-setup-function 'ediff-setup-windows-plain) >> > >> > But I would rather the multiframe UI just work correctly by default. >> >> Maybe such users could be taught to make the utility window >> override-redirect instead. >> >> > On X, perhaps we should set _NET_WM_WINDOW_TYPE to >> > _NET_WM_WINDOW_TYPE_UTILITY for the ediff control panel frame, so that >> > tiling window managers float the control panel frame frame by default. >> > This would probably need to be a new frame parameter specific to X. I >> > can try to make that change if that seems reasonable. (This would also >> > be useful for allowing other packages to have multiframe UI modes.) >> >> The ediff control frame is not a utility frame because you are supposed >> to type in it. > > When in multi-window mode, Gimp displays its toolbar as a utility > window, and you are supposed to type in that. If Gimp does it, surely > we can do it. GIMP has been made to work with less window managers than Emacs, simply by virtue of being much newer. As a result, users come to expect less from GIMP than they do from Emacs. >> One window manager which extensively uses keyboard navigation (I'm not >> sure I remember which) applies the No Input focus model to >> _NET_WM_WINDOW_TYPE_UTILITY, not letting you type in such toplevel >> windows. > > Does it do this even if the Input hint is set in WMHints? If so, > isn't that window manager just plain broken? Gimp's toolbar would > also be broken on that WM. If Gimp isn't hacking around this broken > window manager, I don't think we should either. Here, Emacs isn't ``hacking around'' a broken window manager (and we do that very often!) It's simply refraining from using a feature it knows is buggy. > (That argument suffices on its own, but as an extra point, keep in > mind that if this broken WM is a tiling window manager, the ediff > experience is *already* broken-by-default on that WM) AFAIK that broken window manager is not a tiling window manager. I think it was based on an old version of Openbox. >> BTW, `x-change-window-property' lets you mess around with window >> properties if you want. No frame parameter needed. > > AFAICT, my tiling window manager (XMonad) makes its tiling vs floating > decision when the window is first created, so changing the window > property after the fact doesn't help. I assume most tiling window > managers behave the same. You can withdraw the window prior to mapping it: see `make-frame-visible' and `make-frame-invisible'. Window managers don't care about a window until it is mapped. > So, we need a new frame parameter so that we can set the window type > at the time of creating the frame. Unless there's some existing way > to set a window property for a new frame at creation time? You can set it prior to the frame being managed by the window manager, by creating it with the `visible' frame parameter set to nil, prior to changing window properties on it. Anyway, I object to exposing any more EWMH features than we already do via frame parameters. The EWMH rarely apply to all window managers, but since we will document its features as frame parameters, people will use them, and users of partially compliant or non-compliant window managers will suffer. We already have too many: consider the Qfullwidth and Qfullheight values of the `fullscreen' frame parameter, which are not only nusiances when people try to use them, but also a porting hazard.