From unknown Sun Jun 22 11:35:30 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#62164 <62164@debbugs.gnu.org> To: bug#62164 <62164@debbugs.gnu.org> Subject: Status: 29.0.60; ediff behaves poorly by default on tiling window managers Reply-To: bug#62164 <62164@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:35:30 +0000 retitle 62164 29.0.60; ediff behaves poorly by default on tiling window man= agers reassign 62164 emacs submitter 62164 Spencer Baugh severity 62164 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 13 12:44:32 2023 Received: (at submit) by debbugs.gnu.org; 13 Mar 2023 16:44:32 +0000 Received: from localhost ([127.0.0.1]:35521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pblHk-0004mP-7j for submit@debbugs.gnu.org; Mon, 13 Mar 2023 12:44:32 -0400 Received: from lists.gnu.org ([209.51.188.17]:54330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pblHi-0004mH-An for submit@debbugs.gnu.org; Mon, 13 Mar 2023 12:44:31 -0400 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 1pblHg-0004Ah-IW for bug-gnu-emacs@gnu.org; Mon, 13 Mar 2023 12:44:28 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pblHe-00078j-7H for bug-gnu-emacs@gnu.org; Mon, 13 Mar 2023 12:44:28 -0400 From: Spencer Baugh To: bug-gnu-emacs@gnu.org Subject: 29.0.60; ediff behaves poorly by default on tiling window managers Date: Mon, 13 Mar 2023 12:44:23 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@janestreet.com; helo=mxout5.mail.janestreet.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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 (--) 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 tiled 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. 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.) I'm not sure what we'd do for other windowing systems. Probably the only other platform where tiling window managers are at all common is Wayland; perhaps there's some way to set this hint through PGTK? In GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2023-03-13 built on igm-qws-u22796a Repository revision: e759905d2e0828eac4c8164b09113b40f6899656 Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: CentOS Linux 7 (Core) Configured using: 'configure --with-x-toolkit=lucid --with-modules --with-gif=ifavailable' Configured features: CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/d Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util pp apropos thai-util thai-word mule-util lao-util enriched disp-table facemenu view savehist misearch multi-isearch ibuffer ibuffer-loaddefs display-line-numbers hippie-exp comint ansi-osc ansi-color ring dabbrev saveplace completion time-date subr-x cl-extra vc-git diff-mode easy-mmode vc-dispatcher bug-reference find-func shortdoc text-property-search cl-print byte-opt gv bytecomp byte-compile thingatpt help-fns radix-tree help-mode cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 185840 15713) (symbols 48 11378 0) (strings 32 34965 1522) (string-bytes 1 1003016) (vectors 16 20776) (vector-slots 8 523892 22186) (floats 8 131 236) (intervals 56 2030 18) (buffers 976 20) (heap 1024 26111 1190)) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 13 20:59:24 2023 Received: (at 62164) by debbugs.gnu.org; 14 Mar 2023 00:59:24 +0000 Received: from localhost ([127.0.0.1]:35877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pbt0e-0006Mz-4V for submit@debbugs.gnu.org; Mon, 13 Mar 2023 20:59:24 -0400 Received: from sonic310-25.consmr.mail.ne1.yahoo.com ([66.163.186.206]:35548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pbt0b-0006Mg-Ah for 62164@debbugs.gnu.org; Mon, 13 Mar 2023 20:59:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678755555; bh=hx8GK3MDcODJOhexQEzOloT1S6bTvIjjQH5wV2g8cdw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=TlCcpOi+OP0L6yCcZps5cpsNK1qeNngM/7P3EUgFuHcfHHLm3DOJcRdKZNovdEXB/mndk1s8LgNluOK93OqOpf/QX0Ks9qZ95mIl9cwvedMd5/Gz96C6qEc+kuIc5Rssj5oTIDJuPlgFGht14DH0aOL7hbTQsCBzuQFGtbBkuyY4Emvwu7nTVrZlSIiEGNQEw2CQfBm2+1LKTjmRNDBDag3W2sV7nzK8AoL2n+clYMHlzjlAABEpW/8iSPAZHYpsLWmcb5GMuwsn2stJ+QUCT0EenaCXahCuKqAIny1D8qliH7cYaoZZ4dP0KDhE+Lphcqpe67/kEdoUkKQinCfZew== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678755555; bh=EOSNTn7QanihkGFi2pkqqlORO+lXpS12GWRSUYGe7c+=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=aU8zjZbFcd6Os/THmnKoHHKss7WjJ5iYjWrlj80H53qDcq9YF4HS4Jjkc6laJXJgUk8Pk/j/5zjIuqUE/cSoVhsVoTF6cvFSuHu4phBBDq24bgaHCkPrhviZ1yIoemp3i98BkaJ/UA1pkcFzY5thj0z+EG9qblij3SEvWU5/8qHT37lw00TAYOYuKGkC9wPMumWk6em3R8wlrRTqR/bVU4sbdRgkcAcXU7jB/w1qZN6NvD3vprfA2lcfPyV/vJzLgGBPlByt2xoIAkzY8uZ4wqFL4Ke8D3XYkIKVCk2wcSR5VJcD47kRIWZmXFe5TRcM+xXDmzAgsU1qx4C27xjPVA== X-YMail-OSG: U97o.UkVM1m7PmvPo7rp_.7Dx.Xs4nzlGXZm105YGRYplYH5dJAe.lf0.jcVK.D llW8jbqg.nJFZnCPEtDWL5fl.z5yzoFiqTSNxIrFZfHzjxX5SmpUq9JAb38obMMkA.8DDG.EXhDm kYbdEcL5cSX8W9IWGl74jno0ISjb0lxPJ4D4DFzoRstSzC0W.ZCwDqeRxUGV0QByjG.SP2cuVKth 3k.zbgJ57aVNTDvyqq8U7ldySNmmYBtqRxhUYkj_1CIqghKAjobj.J_FS1s1fB0KKpvDo7mhB8Ew GFoYW7SZV4hRjrHmJ918zq04TNC1FUIgQUscq6bMLx9yQcXOR4PfpfOMb5eMMZ89_Nczeej_8zRG ojU6Cqf_gG8nPcB1TeQYx475fUsCir74gU_2FA18xqGDGvAZ0WYpG_TDnz7HWGZyhMcaTd9ymAsq vVkXzJ9MmylXNM5NTuOeshG4RawVOaagmVjUIK0a3BFMOyndEcnAnxDjy_N.KiIJD0RBU89Elmbz r4JgsWv_f4jort9w5C3XXrc9RsEtZ1xghjkJTODa2dH7InY4pqXf8uq0mBIQigRC4pSv2IqXb1Jk lh7GwnB3fWE0e3DUsgfOOZ3JXCcUA4O.4XkoJeFxXrrJ8AEJAuPltlG.iDAzk5v4M7p_xhUwG9SV xgYpTUMaNs_Rc.annPfiVHZFwyt2SVTvM04SSbGvRTF63EGxLElm0NxfVSGc9nkxENUdYDWM.Gf3 OwNhPEQQ7v4_jYZTDzTjvhpz1ro0Y0Cd2a7ClsCbpRLNWdplKcP1nwGV_OuoSxkEr3elYQLIt5Hy Ve0EdiwQ0.ExuUhQJeRl2L2RJ5qfgFq.g.d2RlmViUefD9rQAUtCHkAtUWZffS7X0ms6L9xTvtWM 7ki2TMeNeCiLMNxvVD..REXv.B.4KRtBnacvArEYlbvzV1oImG1uZnaiYayTXkVlBXvhFwBGo5K6 7Iiv2Z_A9AtJ807UNa60de4ihVf40NeEGHvLlp7_UaQZfX1xoZLKIR.8BO71m11igzjQkr5BpH7X NkJ_qgUcOSREl7KJQAcSIx_B.Hs2rPzgrz.KlbF.eOJEk_95Xbb3mLfDwFnTRmmfPAl97AcruGX_ iKx5IBvhrOYiQlbdQf85NuyYqfXdlxj6cB7Dvt8d6wMiQ_zFLoNdeC66yHkH3x__rDL7Ztr2tOBg PKs9BpOYErFsvhPhK0ZcRT7VWMzgMD8MpmxBNAfUko8XDHgdfEEpb0xCk5yNagHXrfp36nfUgia0 .9CoAdKknFePDx7JTVW5yDAodIT0_wp7GcJT3DJSfDX_X_RH0RDfSkv_EQjJeNtS0NXih9_yjzcr DQreWRqfVN3AmrUvKmFkA9z3mFf1K.tURRhZHIU6rzp.rdfWcCl9Fb2cBdv4oFjJMhStk434gb_3 xaQ9h_6ilCL.GgYtAyh0U7EIcYUhgIw_bnTrvmijTGuWgddybGYqXY3EAx_3AYbJBZS5gxTdRiYV hpMExWl2Yr65yUFxA_Lmrv46tiZQKQytMy6Mres2R0biptV6jPdUKUfuJRQqiD_YScQaPJ2GoK7h H1ddMlcL_oIg8oaFmFySvB7DVKMeadTnCaKhxiTKQpdU1L9I7nErk49rJ0AMb_sE0By9LrwCRQ26 dBmn2BWWH9AnZQ8QMBqM42AGI_qcxkAXep_qwrRfWr44L.p1pvvtdnJjkIGg5AMfde7HXRi2hHmg gMDibDbxMAAVvLtoZIwGLwtz_C64VyrT6UO_fI_P3PIvKQzwznzUZPSXKLiZmt_jffBRKROdw.Ie aZdSZsb648W1SyufXBcsO4gk_4Mf5Jsz7.6JCO.l4NirWo01_R5becmlWE8rHw707fdY_pkHPY5X kGZWo59gKOUQ8DdeMfD0HQ9ii4YfrE0vFwxtFUbpJbmY4nGhtxHafVUuCR3I9Wbb24_aRvigNl.L 9BGFNAvKw9pTgvpfSHY_JX4lSCVkptcfDoyQpnIIDhgX_OsQyldJS2uJ6gxeke_VilLFx8FvLFmG JGPqyvypmESwdA8Ovop0zcB6j6YVyAj72v5VT3AjFTchlGwyfY_n51P6c8bO76WU7YkbBNMPXz12 oDWnBML_CPnEvoELIbmJjDh05Ye52JPgis6RF0IQahnY8JL7ncDHjCbTETaO3EsVpJ1KkI8ZqmaP ZXStQM6XmGASc7gqfHpyfEF.C6C8tzxeh0ElIB0LqY0UV2KrlyXw9k5WNBGeQL0r5D_wNFZELMCu Ka1JXgLrvQBNPvXdmQ3qP3SybSFWErkgyku70wC5TfrhOMYAiD3rI.7._l12p0d5WLp8- X-Sonic-MF: X-Sonic-ID: 45e5674b-893b-4cc1-8332-f61ea6035ee2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ne1.yahoo.com with HTTP; Tue, 14 Mar 2023 00:59:15 +0000 Received: by hermes--production-sg3-67c57bccff-ddhjj (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 41e331286467b6da34d0f788f35f3245; Tue, 14 Mar 2023 00:59:12 +0000 (UTC) From: Po Lu To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: (Spencer Baugh's message of "Mon, 13 Mar 2023 12:44:23 -0400") References: Date: Tue, 14 Mar 2023 08:59:07 +0800 Message-ID: <87cz5c87xg.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1886 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: 62164@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 (-) 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 tiled > 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. 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. > I'm not sure what we'd do for other windowing systems. Probably the > only other platform where tiling window managers are at all common is > Wayland; perhaps there's some way to set this hint through PGTK? No, Wayland doesn't provide any of this, unless you use a protocol that is exclusive to GNOME Shell. Popups are instead supposed to be implemented as xdg_popup windows and not xdg_toplevels, or toplevels transient for another toplevel. The former is technically infeasible under GTK, and the latter results in the control frame obscuring everything else. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 13 21:00:49 2023 Received: (at 62164) by debbugs.gnu.org; 14 Mar 2023 01:00:49 +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 1pbt20-0006R4-Km for submit@debbugs.gnu.org; Mon, 13 Mar 2023 21:00:48 -0400 Received: from sonic310-25.consmr.mail.ne1.yahoo.com ([66.163.186.206]:40506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pbt1y-0006Qo-6Z for 62164@debbugs.gnu.org; Mon, 13 Mar 2023 21:00:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678755640; bh=VdIgAjXmOaQrmr4nnwJxpI8xSchchhDQTLW1PlKe3Jg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=CYNOVsk+rH7VBduV7FuLpa66118gY1GsqAzgKeOqsyZD66UJLZ/iK60tK9j1b9NqurDuVu4YlSPpQCBEaasSSOg4StvmC1luRFshbC+OJlEqRVBcTyuH6tT7JhzEEBsgGevfXZqmHVxIjmF0YrZ7bLfg8B1YYAUF+jBFGGTpPuCcdLGk2rtpK0a4qkw8BNu4WgYvqnWPgPufOXQG5ioI5L/eoh5wWGoeD6mIKuh2sk0/J5I+scODlVCUhjuaLGXHzD4QPXkMXS+yG7WA04A8NWhM25sNi0bdWxJyGDK7zMYjxyb6pKkIqyKnzljmIS5A95SgnjZ06HlCqMgpgUPEEg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678755640; bh=lETnsMZESzWNe4pC3hSgueKo/JxZb79QiUEZ7O7zUvt=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=NUlKgyfe2BdumeP7f/q4JfgvhWvDYUVRIJHHxFxTO40ift+QKJfkn42/iBZKG/Yb9m6RMYxl4X6FtWRgdxBrO6Yie2bHgv0UWxcXz0i+4q2WHlnbqw7a7Z5t4a4okcC9++tcgjrreHXLL0dr3E2DJDOOiUBygP3J9yeLJ5yJEp2fTjckqkPSgSLoNBnfqDUzEQi/23hy6VK4WiSTNz2OnqCoLzRQ7PV+brAKfpYswW7hWPRVI3gDC0c5tlZg69vSvEM6Fsn5UAqoOSWGK/GZS77Pco4uk54XyVdeKV8Jd4eTC/SF42Fzk52jP2moF4IPeYcE7e93XKq375TNzEL1AQ== X-YMail-OSG: jFhdRZsVM1n_u6HAuyv5AIlKGVGRxU1ZiuhHZ6ghGaa.aivycT_b1loYjLcOAmP YO7zz8nwSJgt_xhXlop31tIB0Wkf60spnSrZwdDW8caTMjBVz2hZDQBc_6nzZsQ7ybDymlol87Bu TTAEb9OhrzQpSIIen7KFOkZqJwfuCFdWTRGWUZakQZdUytg7d2cd.hy7tuWsPoZ0HCRZ2S3pIxpJ hoxp696Pa1jB7QZBISTnlCxaThl_Ao79NqRWtBNaUb5nf6DCIb._6HXBd3l1lTi36LOQuoqchtLf 2ncl1Kr5B._NwbKth5f7FsS04XqII8nag7zsSPsxl9lLLHA.iB3cXJdaQ5Q09lplJW_.oTLukgtP xY2IL0q54RimPrlhKbcMin6Mh.uFczif_RBP7RGATKMb1jTtRXA4_y_XNokgHmWKsLjnCIbuTcL5 i9p6W929HfGiMe4fEH9YyWI1rlIluVsp.SYbUbEsU1H0L1wJBEgJ8ENhjug.e7o64C6UPqJ_efCI Oq5HDYyVR3tBftDDv04pzQlCuaLt4xyi2B151kn6lswJ0cUCyzJxP0peWP3evpJkV1f7FOdMo.9h 1mSyTtgYbN8Cl64qHdywharGC9OztxBkH9Z4Kji.rySRMOnmndwO7gAvWpNpAGqfcVhdzo8jilgu wYVsuKS9Yp_qXCpgW4JTCCnBDyb6pwF4SSagccTtFoxYzHmKF4jlRRrYfD_4XnP8NAWZAyn40hHj ngKz3KhItcHGEIcjsJJlX6lwt_z3dbN3UFlePfVPfME5ZL7_T89TKtNRznW5Hky7R6s_XCIXWhpT pFLBqDgJyKHH_9o47zhcWmc5cZgIU_upyjsuAsY69sknKwD74zk29my324I8NjLlR5XSiBORkAn_ DBorDQaQRNLiosQrnvIPgQEuJBTckXwMrduyB37j9Qe1.dJW7a_WG_SJLwRFotSWDn7kzQXE3gTN 9V0uyYS0JSyZKswGJZjr9PsEVDdc54B7NGY0UFcHVf1ug_PSpH.cWfUlx1xojitTzSXbnF7viXib ZCxKOa4wI4r4Qn_83xq.56QLsO9F3p.39Pe4Oqe6wBB7zXivOP9qLFaU2tNN9cjT6Yo__BOGINcy C4G4uAQSIan.Eg4zgJ1nwL7QjudXzwGLJCFZpxoFm64xbQ6hMn_QQD.XF.Q3LBDtlYQLBzWdx82Z k7Y_PQ.ZqUWbFKqY1BjdJv611ob1hWhIu19UCBI8B_bmFyyqRvbkE83jRjJxh79_Fg6LGDYlQtnQ Qh8trrOh9Pr4p0OQbh8p6YEtQceHwBHA0OhpuydScYhX.SGF0g3esOHABjCUNypJHJBTftzE7ssO DpZVbrZLW0EDAARCaxtJuqOrTvF8XGt8YFsCR4Q.UoKDLuEmbN2Z15jwp2dUw2TXk8pcOicJ4CwX 50TDHTsN0Bic74XDp_MNNP9W8xr4O4vQLRcYVShYCMbfvVNz7u0BCXv1tzSVJ7GSLR1nm03g2RUw 4cS67yXyc7EeXqYM2LE.kDm3.x_HA3MLhjV2IBTovNmvRICbuckzRyYPHfjaBe2VDPC87JIZAv7i kl5cJDWVAw6gKsxbUNTEAyFZJdS.diWGl2QN2VMKb1dCYHVxklwskuTuV36kzWJHH9bEz4P70oWA 8e7RIPS3hqiV3dKvj7yr6e7CoEdygfQ4KvGlMqK4ZfBFBut.aHpQBhzsm0g8657_OZCZLdLQjoIQ eoS5ahuxW7i25eyLgnb0AkBCUnuD4WuKYcoIiFivsyscNsPoaNwdaRyHkrv3sfcNxTKwSO9cqSpo iafbwxXR2RZYXmolFweHFR.jZrFjt_Tu3jnNCYTcbDupGpu5qrXN9b7kHLMBLAMM3wgfB.nkHpFV 9IZdplitsyrCnwBgWj0W2g55wIebVgtb8li5jZmn2a.GTCkUGI2OUcBptqDMgKtrqRP1SIRV4TpQ zu9gENfCvZcR1fWkhQk4ghGN6ckxk3MrlzhL_4__h3D7ZVnSJzpo3qYdAR4k.WmTo2UI7.37MqXQ r2mLRY6waIUSIwnXT37RRrZGQ9P9l6U_NAnCLMiuELs6WB3ct8JNzY_9Z8fIyLZ9YdVedBbpzTe_ fN9RO2nxUrJhi2jr8qpqYlPeUej88WW2UA27MIA.x5pefohgyegDUP5zudBxVTdTgPISJYczgCFG t7Hprt2DGfyhaxTb43iFir9mKfEqL8s7wYl6NqQaacSrF2r8mAuv2ZLq7pRKM6WtA61NacNJRblV 5qXRLJ2V4nwLgAfsP2889UMj9Pfa5rPYAJDOKk_U.gsOOtV201fdtOdRGhunarfIgNcqV X-Sonic-MF: X-Sonic-ID: eb7e3894-6290-4ebd-9fc1-a4e1d31dff1a Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ne1.yahoo.com with HTTP; Tue, 14 Mar 2023 01:00:40 +0000 Received: by hermes--production-sg3-67c57bccff-sjmln (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 95d0b64d3a2e0fc2b9790beb2f3eb5ad; Tue, 14 Mar 2023 01:00:35 +0000 (UTC) From: Po Lu To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <87cz5c87xg.fsf@yahoo.com> (Po Lu's message of "Tue, 14 Mar 2023 08:59:07 +0800") References: <87cz5c87xg.fsf@yahoo.com> Date: Tue, 14 Mar 2023 09:00:30 +0800 Message-ID: <878rg087v5.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2096 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: 62164@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 (-) Po Lu writes: > 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 tiled >> 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. > > 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. > >> I'm not sure what we'd do for other windowing systems. Probably the >> only other platform where tiling window managers are at all common is >> Wayland; perhaps there's some way to set this hint through PGTK? > > No, Wayland doesn't provide any of this, unless you use a protocol that > is exclusive to GNOME Shell. Popups are instead supposed to be > implemented as xdg_popup windows and not xdg_toplevels, or toplevels > transient for another toplevel. The former is technically infeasible > under GTK, and the latter results in the control frame obscuring > everything else. BTW, `x-change-window-property' lets you mess around with window properties if you want. No frame parameter needed. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 13 23:10:06 2023 Received: (at submit) by debbugs.gnu.org; 14 Mar 2023 03:10:07 +0000 Received: from localhost ([127.0.0.1]:35927 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pbv38-0001i3-L4 for submit@debbugs.gnu.org; Mon, 13 Mar 2023 23:10:06 -0400 Received: from lists.gnu.org ([209.51.188.17]:38106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pbv36-0001hu-Pc for submit@debbugs.gnu.org; Mon, 13 Mar 2023 23:10:05 -0400 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 1pbv36-0003FC-Ik for bug-gnu-emacs@gnu.org; Mon, 13 Mar 2023 23:10:04 -0400 Received: from netyu.xyz ([152.44.41.246] helo=mail.netyu.xyz) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pbv34-0000kT-Q3 for bug-gnu-emacs@gnu.org; Mon, 13 Mar 2023 23:10:04 -0400 Received: from fw.net.yu.netyu.xyz ( [222.248.4.98]) by netyu.xyz (OpenSMTPD) with ESMTPSA id 822c195d (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 14 Mar 2023 03:09:58 +0000 (UTC) References: <87cz5c87xg.fsf@yahoo.com> User-agent: mu4e 1.8.14; emacs 30.0.50 From: Ruijie Yu To: Po Lu Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers Date: Tue, 14 Mar 2023 11:06:23 +0800 In-reply-to: <87cz5c87xg.fsf@yahoo.com> Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=152.44.41.246; envelope-from=ruijie@netyu.xyz; helo=mail.netyu.xyz X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Spencer Baugh , bug-gnu-emacs@gnu.org, 62164@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.4 (-) Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: >> ediff defaults to a multiframe UI on graphical displays. [...] >> >> [...] perhaps there's some way to set this hint through PGTK? > > No, Wayland doesn't provide any of this, unless you use a protocol that > is exclusive to GNOME Shell. This is unfortunate. FTR, I had to configure Sway to make the window float by default: --8<---------------cut here---------------start------------->8--- # ediff should always be floating for_window [title="Ediff"] { floating enable gap 0 } --8<---------------cut here---------------end--------------->8--- -- Best, RY From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 14 09:13:06 2023 Received: (at 62164) by debbugs.gnu.org; 14 Mar 2023 13:13:06 +0000 Received: from localhost ([127.0.0.1]:36651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc4Sf-0003kX-W4 for submit@debbugs.gnu.org; Tue, 14 Mar 2023 09:13:06 -0400 Received: from smtp-3.orcon.net.nz ([60.234.4.44]:57129) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pc4Se-0003kM-C1 for 62164@debbugs.gnu.org; Tue, 14 Mar 2023 09:13:05 -0400 Received: from [10.253.37.70] (port=44195 helo=webmail.orcon.net.nz) by smtp-3.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1pc4Sb-0004RB-Ti for 62164@debbugs.gnu.org; Wed, 15 Mar 2023 02:13:02 +1300 Received: from ip-180-148-124-51.kinect.net.nz ([180.148.124.51]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Wed, 15 Mar 2023 02:13:01 +1300 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 15 Mar 2023 02:13:01 +1300 From: Phil Sainty To: 62164@debbugs.gnu.org Subject: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers Message-ID: X-Sender: psainty@orcon.net.nz User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62164 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.7 (-) Spencer Baugh wrote: > 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 tiled 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) Myself included -- the default value tends to give me a full-screen control frame entirely obscuring the original frame, which is very unhelpful indeed. That problem aside, I've observed that creating a separate GUI frame can be *significantly* slower; so for me the plain option is a win for performance as well as usability. As `ediff-setup-windows-plain' is the faster and the most reliable option across differing kinds of windowing systems, I am strongly in favour of changing the default `ediff-window-setup-function' value to that. Users who prefer the separate frame can easily make that change in their configs easily enough, and improvements to better support a separate control frame can of course still go ahead. -Phil From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 16 11:08:41 2023 Received: (at 62164) by debbugs.gnu.org; 16 Mar 2023 15:08:41 +0000 Received: from localhost ([127.0.0.1]:42764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcpDc-0002h2-Eu for submit@debbugs.gnu.org; Thu, 16 Mar 2023 11:08:40 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:45353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcpDb-0002gl-3J for 62164@debbugs.gnu.org; Thu, 16 Mar 2023 11:08:39 -0400 Received: from mail-yb1-f197.google.com ([209.85.219.197]) by mxgoog3.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) (Exim 4.96) id 1pcpDU-001vOy-1X for 62164@debbugs.gnu.org; Thu, 16 Mar 2023 11:08:33 -0400 Received: by mail-yb1-f197.google.com with SMTP id i11-20020a256d0b000000b0086349255277so2148055ybc.8 for <62164@debbugs.gnu.org>; Thu, 16 Mar 2023 08:08:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; t=1678979252; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fVe3lk/4rvmIgJE3472/dHyobqd8IzjP78iH4t5xyGI=; b=WU+ajpPfyb4xIswSe33vgnADbGw4u46QeQp8DRg2tC4oza67arFyqVS04+QW/n+CIa +im7ZR5CurEnBy7LaffCrdLNylDXxaUj+87KzezBLDuVC99bwV3mFpNuhD3OkDF3t7k6 86oAkIPP7McWaqP1J0F4p7Kgc9V5YMqFG8MMc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678979252; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fVe3lk/4rvmIgJE3472/dHyobqd8IzjP78iH4t5xyGI=; b=PYmMObg34pqlW5jH5hkaX7y5zfZtgrMduZU/0ZDq7mmlozBVHYyp/UixJwBBjeQ1jy r5aDet0corSDLehOkFbS65KojsW+BMCZq29lcRRRQljJqlrSD4aod6gLnxEeMxprmoEt tTTfTtAy2E46dGBn1tO5jpxXW1H0a5DOmMdsGH0LjsI4vfOaETAt8E/6nm1IRphGZ/pc 9F1dHDEvIWTqfut0nOw6PM9uTU5N5ZdjfO0A8lHpRX8gXG0SouOcugI4QxUNgjMyXbdP D/ZI6RjTyWt1mM6a+KwR5kBufW1KL6v2qLqW3rWQ8Bn/QsUwEiMhznZHrCA6MarVP3LT FuAg== X-Gm-Message-State: AO0yUKVI9qYoNfsVW01Dwv1f/gtry8sPf2QiojK6z+V0ni/okqOR4Zw5 ESghFgMZMpggOan61S1AsEpjow2+ks+Up8sqGupLqh3rfcGCB9RGpA965SfcFF11mq31o01/mD+ +nJI9pAjyt/iDHRP/jzSgtNmmqe0IDA== X-Received: by 2002:a05:6902:1142:b0:b47:5f4a:d5fc with SMTP id p2-20020a056902114200b00b475f4ad5fcmr5663069ybu.9.1678979252592; Thu, 16 Mar 2023 08:07:32 -0700 (PDT) X-Google-Smtp-Source: AK7set8MDXPVxGMyoRxDJNF9GRG9gqEpasXPVTRqPNI5Mnk72Mx9Iq1c5ljhM4ZoydDHCEKOdZg6tKlLK7msZ+yj+KY= X-Received: by 2002:a05:6902:1142:b0:b47:5f4a:d5fc with SMTP id p2-20020a056902114200b00b475f4ad5fcmr5663059ybu.9.1678979252376; Thu, 16 Mar 2023 08:07:32 -0700 (PDT) MIME-Version: 1.0 References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> In-Reply-To: <878rg087v5.fsf@yahoo.com> From: Spencer Baugh Date: Thu, 16 Mar 2023 11:07:21 -0400 Message-ID: Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers To: Po Lu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: 62164@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 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 i= s > > running a tiling window manager on X, the control panel frame gets tile= d > > 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. > 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. (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) > 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. 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? From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 16 21:56:50 2023 Received: (at 62164) by debbugs.gnu.org; 17 Mar 2023 01:56:50 +0000 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 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.M588uY3lwD6mBCU42l6pUBf7q_9dDbpKLr_f1nbAOoetKG4VIIlGBb ywziRYz8EG4j1lc2S6EhKrE2g1bLEheR_UGiYXN.Ac37rwPu0N3qtR7N.QmN3_LA9TXZV0x2ynyE nwtztTKOoTiuWMx7u85fo8EIHuw6l30ve51pr62V2n_OuKq4OPbamFjLhfJCw8I9obOlrcA3vO0H BK5v0KNfkHEQ5sCB.Wi0xvzuyQ3U3RQ0uBtfmPAiqONWJDvWZ1D594rE8uCXIwPQmGPGVfZOGx1u rxKr944QjLel8TVCsSwylCETvsibvKXjKelatbFeyKP2cLg7KoIQjWg1SC1GFbwg.HdCsNoLqNO4 NXCPPMRGWgkP_I6CLXZ79ZcB9bZWxFEOfWAZV4expRdBcis9X1ZPEqrPPOyMhN7byS_N5zYxXXI4 595EjCWUO4_G.UfK6beY6celmASOXS8eTilLJbWw8OD7oQ0Ijn9f29XUcwpHslpEr.8tz8L3nDU8 Bzz32IBECZLOzPsZbLIYpJTDLHEI7qznQwdo_rdQzwgDw4pgCwVYqYKPVv9jhPVBRerJL50KDGXp QXpJttcycyRtu9AY00uxPNn2hB6OPKK2IC1ZZLEobrNN5206qWEk6oyAYvl6XgDrK9USOfB4aM4A VjxHeMGLlEVCvGB6wKRJiKev.2GOBa1wDWVhEskP2cvRHB7o4kzJDpuZvPB_NwA6if4aHbg9ZKlm KpJVcVLT3qJdgxyXxXoLSpF.cHXSjtwaQ2eQk3edCUvr2HOHax4YTtBRPD.ioLFJuoYQHh82N9LM iVTQw86evzJs5vJwIvZGuxwjYgvQnCSmfmef0Ihhr7oup2lA22nbXKlACmnARA3zXWv0dcOpqvaw 6TcqYnGfmHbwwY.KbwzH3kgrvxQOsEkO0vJEg063H9.kSbH.2j0H3pDd4wUpk.Hu3RFEKvQOgRVO ek.sV0FtTdGpvcE7uLRbNxayo8MlXGORFT64s.hy4JoXVCsYfAhm8g2lPcq1jJu_VBNTEwgd5Yv7 R4MMOhKShDbaAAkvAyIiapOWMXkscZ3_f4OcwdbW3oMusJzmMBtUGzkFPcuDqvc8.e4mvrQgexfS bkuq5hU.Jj5ORrYaRG9eCeWBW14twqHtz07YBWRQpspTW5pKeHrs2Lwj4N6g8jR7jrs9.dzjToj6 HO2F.Iy2q711v6XPoMu0kjj0kmlj5Og.6c95se4EESLbWkYCmQY0kdWXQhn07ZtuQot9ZRr2yAkr _dhFxG4bhdlM4YVyHBS8Hdxjxvymdhxl40mBoRbhD7P2pi1Sy9As_Mb1V_Zny29DBdqWFR2WmIre OJ0uGKwJ65mao8obV7F5aX8EpwCF8dbfYzPuDDZWc5l.nnxq537vmvAyUhUetMTzObeCipBM4FBH CfVHDFFFHUD.O9fca9PWNoEWz7kzIX3zsPYNanFQjRjBXezG0GzCoOO662duKIDCz X-Sonic-MF: X-Sonic-ID: 5d3b446a-96dd-4347-9712-dac3aaa81fa7 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 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) From: Po Lu To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: (Spencer Baugh's message of "Thu, 16 Mar 2023 11:07:21 -0400") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> Date: Fri, 17 Mar 2023 09:56:27 +0800 Message-ID: <87a60c3zuc.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21311 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 3999 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: 62164@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 (-) 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. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 01 21:53:37 2023 Received: (at 62164) by debbugs.gnu.org; 2 Apr 2023 01:53:37 +0000 Received: from localhost ([127.0.0.1]:38783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pimuT-000347-KB for submit@debbugs.gnu.org; Sat, 01 Apr 2023 21:53:37 -0400 Received: from s.wrqvtbkv.outbound-mail.sendgrid.net ([149.72.123.24]:26290) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pimuR-00033s-R7 for 62164@debbugs.gnu.org; Sat, 01 Apr 2023 21:53:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com; h=from:subject:in-reply-to:references:mime-version:to:cc:content-type: content-transfer-encoding:cc:content-type:from:subject:to; s=s1; bh=7X6i81QbaTtpJ5EsVc7uxUruZumvQx/FGCObW4cGgkE=; b=CgwGlt35U4o9E2tzQ7nFmH9sJ2RZKpDASee9lNmwQt3fULNShGjQtGPZpemgxfgt9qmy YoKxMUlF8/WqfbXTfu0m2xaftlHiU4ifvG0LUGFtSIc3Zp/S4B3yPkTvIZ7/hNUDCMCVgg /8kc59gMFjJrvd0KkCe73aWF7UmthoZvRffdqsUPOqxPqDCJTO+aRNckOebcW6RKJ0xhHo /pDCxx4IlDf23jqYl5D3G78fD2V7C+edHxVNhIY24myeMGCjj6sZ6DFfVmgYCuefn6lMMe DA1vsRLsUQx/tdngRLfMSu5er0qsh8dlSk0Lk4Ozh7lWsw7uQybxSQy+rCL4tbpQ== Received: by filterdrecv-5848969764-pz6sb with SMTP id filterdrecv-5848969764-pz6sb-1-6428E016-1 2023-04-02 01:53:26.216161137 +0000 UTC m=+3378118.425963335 Received: from earth.catern.com (unknown) by geopod-ismtpd-18 (SG) with ESMTP id 1Ez55LFCRVet5qWdldV3aA Sun, 02 Apr 2023 01:53:26.090 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost; envelope-from=sbaugh@catern.com; receiver= Received: from localhost (localhost [IPv6:::1]) by earth.catern.com (Postfix) with ESMTPSA id 3E06760052; Sat, 1 Apr 2023 21:53:25 -0400 (EDT) From: sbaugh@catern.com Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <87a60c3zuc.fsf@yahoo.com> (Po Lu's message of "Fri, 17 Mar 2023 09:56:27 +0800") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> Date: Sun, 02 Apr 2023 01:53:26 +0000 (UTC) Message-ID: <871ql3nj6y.fsf@catern.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbIJ07OU6cIUlme=2F2wczF8?= =?us-ascii?Q?0EYy9jIBe+ny=2Fm=2FpexlFnbjJMPnpm4QHzGAIkaV?= =?us-ascii?Q?SK6OyLInwLKSGPz5W88u3FD0HnWnDioABLiGJqE?= =?us-ascii?Q?L1Jt5MwwoXL5uaHm4tWANx+Obxsit976ACY9PyD?= =?us-ascii?Q?qir9jlZAQU0gpubQtnGxeb9wgd2qnstgHzQ=3D=3D?= To: Po Lu X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q== Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: Spencer Baugh , 62164@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: 0.2 (/) Po Lu writes: > Spencer Baugh writes: >> On Mon, Mar 13, 2023 at 8:59=E2=80=AFPM Po Lu wrote= : >>> 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. Thank you for this. With that I was able to put together this simple patch which makes the ediff control window float by default on tiling window managers, or at least on most of them. What do you think about this patch? It would be really nice to have this behavior by default in this way, and I think it would benefit many users. diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..1a09bc4225e 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -948,6 +948,19 @@ ediff-setup-control-frame (goto-char (point-min)) =20 (modify-frame-parameters ctl-frame adjusted-parameters) + (if (eq window-system 'x) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" + '("_NET_WM_WINDOW_TYPE_UTILITY") + ctl-frame + "ATOM" 32 + t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + ctl-frame + "WINDOW" 32 + t)) (make-frame-visible ctl-frame) =20 ;; This works around a bug in 19.25 and earlier. There, if frame gets -- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 01:55:32 2023 Received: (at 62164) by debbugs.gnu.org; 2 Apr 2023 05:55:32 +0000 Received: from localhost ([127.0.0.1]:39010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piqgd-000201-Q5 for submit@debbugs.gnu.org; Sun, 02 Apr 2023 01:55:32 -0400 Received: from sonic304-20.consmr.mail.ne1.yahoo.com ([66.163.191.146]:33644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piqga-0001zn-FT for 62164@debbugs.gnu.org; Sun, 02 Apr 2023 01:55:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680414922; bh=faJLD/u4Bnma60p1gu3iyxvkX8jz0+wd9x8pWmoEphs=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=YR/umTSVpx/fYYUst3QEZW0J3QSvQRQtAKbFYceuuaPRefk1DMxGPFP5U/ItTAlFXBcuNjIXijIOuMRzFxC0/HVbPkPZWRDHthvir2o8INS1LI7V557tU4r239iHgrIdOvT7ijwpOsNpp8KVM14vqCKp1qhlcBnTPPKPwXjx/BgJUwjhdTk2Bv2l83oP1qpPaRwCfpnEI7K1dUMscuDO8U7rKeg6Y6PHTQ7Vc/rDjFyrAw3ZtYCEhT/s8m8AhPU5LvGBwaardn8KkP5mGej4EYJEkIHds52O3/91Zjcps3EeUsTyYNlDuC6dxsaqfCFwL1gc+V2PAB4XbuwF9ypbRA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680414922; bh=zMrUasZVFmsPpq/IKFynVnPXtfpVQ6fp098/xkX7vjC=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=PTmpGMXMjyUGJoeIGQ5EWnIYMi0PzuKnJTrEQrft4PdwH759rEUrQm73RnoTbEwGzNSbRuLEWY5bY6YL3lK66pwTLQePZNyv0EkktD/y490trVVOgvdtJBkQYTBuERUAi/YjQH5dkZRpQHBSoK0wq0lAYRbyqxkWnoOWOxSu8dOciPZ6TiYeqv4owV9cQrOQX3Xq/ZW4m/E/w0Ae2bYYl0pvTAtNV2AwC/JyiOv/rqDE70u6JtFqdMuXEsQFrgxaRq5jPeDCjA3VfMQn9b9fyF6GOrdRcrRuGJ5Xfo4eC237NiB8SYQlJ67fuShGV2IzYmFLTlMAc9kkNapZR9lchA== X-YMail-OSG: kvt0QygVM1kkQEnudkXNOxSHVfZ9rUFVmvVl9A_ibhmTstZsaOxUWMpCKbcMxl3 0qSIXpaKnb42N9QzQJldmkKlCruCA7XoAv.rfWPcQev20D3xS.ulqTyMfAo6lZ5yue.6hRpI8ioX aYwh5j1e6zaTLtkj6w0LNlw6_.vdXHmw1nDTbAcw1tSOArPQtgF1Y1wgiupfQOD.eIgydGOB09g_ QVDavS0g_tC7dfJCEowyCPIfjKdzxEkOCUCcXzcHFJDzUJMm9fFa4pFN1TBJIgHR6gms.wQstqsA awYkkrXj116d8aAJwm1XR_iZ.Qm295XDtrPH8lRW5LktmFtZUQor.zLRLrsJJXBR5FD2szqINb2t yhmfn.zo6HFPIItzO4e0AC8AByyOXe74CTljJAcZcdpzNTm3p.rYyveqehBkPt2rCmF3KUgcYhug ecANKfpg8akQBi6SNzz2rWDBWaaO.lWdM.jEMhM4lA.IPVOq00wfBRFpXZmHahh9iX38vqQrQ1gQ 3K5hgTJp81uyVr2fK0j2vg0qxeyBMvxfQM9ZFNaZDpEj08VNG1NVzAN8b.7NBMTgYnoBL7tpudBL JzUo.BghjZ2bVekAHViFwJIh7yoak.I5m0rvp.qfxv7ILIkFfA6LVA7GWq1rtm7X_uWFnThzmPdU CKcQEVolKp.SqQtPGGOVfu09XtTJz4KsfwjndlB0A5gk8ATsY9TEXsgZY43RrG_X2c.NQ1YEdGF. ZPzDvtqgIoQvxywuu7Hbb7PL4x06Zi3qAH3i.QB8g6ZD4xvIxb7UdI3k7oyJ8mXqRMPd8acbMjGI ZbjDrzFXoJ4thuuGckT0iBxA0wD52KbrMf1eJRfauGnvC2H56DvWlV1HvQNP0Kdfk2jllSkDbxFk XTb8rzb2wxdBkjlr_FaIz9p5aT2T_nml0.LlhJI2Ii5g1Js_UGpiaLmo8P6Z1IztD9OCUWr69aoe 7RPr7Eak2srmD_wkVBU2JrHhk8B5D7.22VUatQ.LAqQvhmF7tNeUAFiYDmVJx7eal7gJRaUZsM0t wjT.JqgNE.kIo1vC45N2fa_uksoKtiZSpm3QZ4No1na_P7Tvs8_1RhZEqlTlpGjx.N0zufByGmJm YWx.sBJ6u.4SuhO4_69KgmzEg2aoFVRGJ09E0U.1KTyMdjb_FPjI2Ay_.8jRAcnwFURfgqD.UaOp zjhwDQzKIc1qWTzQ3nedmcFLygOdrYLGy0Y4rwHe1SGv183k.PWeFhMlkabQGoulE62i8MkXW83x GkGpvdlpGTWuYoxaSn1MhCMW.CURGH5Hk1KD.8ebdFivHj_aSPL5biRf1uvJpnH9mPpbe37AYnxL C7iP1GLke4vRk63RLqdMnzM4K6jR_k76Exo.XcXgigqYaj0le4tYFDb6d2Eh81xiHfdQE8LWzKwo y9oBYFYUPvOS8I.X8nv4gxl.yxPaS64EJFYOf2GwGOEKr0CAP1KcZJOSH_fJrGYAu.kAHiXiqyl5 qJdqEd5vBOnO_6nGbJ4Ue5t64eKTxTxV0jB5Vvw4MV_XBiPYoen_94Tf_9g8R_fVl2i2cQYLFiXz AifiMe987mlT5gCw0dTwT3N0QWRgeP.76_Td7g5f0I4Gy0K_poB3xH7eoIOcm9elwdmRlleLYMl_ rFMpPCkJe2wPcU8ZP622YygZmPWX8UK9.s3w0smqapzfZM3.5RoLdUB0H8SloiUW5c5pUjila.TY kgIXjbMXd3rQbhmO7rGXK3_1kdB6kWFLdZW3V5UMUvI7pyVYsEk6ZLSWaSrftK5X6SnyUSyJJkhw 6x4C0dEi0rDzw.2R6YTN63Dt.0cvWyOjdQTyYMd9RmARXad4OKSJm9lm56sXSlwksOov370knMPH b5Vwj1lnKVpgoJr9kJ7Z3s2PV.WNMdQ6gHw1ShHZprOfbnNRR8n2jJNVEfru55R83dVqOC16pVam yhcFtkqfBw5zxpwDb06t6SQfXU7OuFJdQHzfVTIOm07.TCQPFX6rNiYFqkKoGWb53cUT6BA5w0qn MikG1jOkRUUF5Zg72J_mNcPcwc20xcDeiaay480trXV22g5r6_7.gZ6lT.Dn92IypkeVpgG31VVO 8gp5UA.UeOjDJdLYfSk3jA8qiFwhWKKzQUQLcfOkYoTOipBapMXZ3wTWvdk9oQtVsnBMANGvzAKh dUooVspOKVfu8hBYvYqL_tkVosGEnZMiQY5xxm6uN66VqsCt9T1ZElg7CXJsBvliMhepSh9jrOa8 i5YVoFyCw4SqViLyqQmVqdpudH0Tb8TLkmf0sfoeaMnye7J3gSWFnyjI8S2jkBQRO0w-- X-Sonic-MF: X-Sonic-ID: 4280cad7-03c6-4eec-a34b-b9ba8efd9f84 Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ne1.yahoo.com with HTTP; Sun, 2 Apr 2023 05:55:22 +0000 Received: by hermes--production-sg3-6d6fb994f6-94jgf (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2a344fd0636a1bc066dfe9dc66088615; Sun, 02 Apr 2023 05:55:17 +0000 (UTC) From: Po Lu To: sbaugh@catern.com Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <871ql3nj6y.fsf@catern.com> (sbaugh@catern.com's message of "Sun, 02 Apr 2023 01:53:26 +0000 (UTC)") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> Date: Sun, 02 Apr 2023 13:55:13 +0800 Message-ID: <871ql2su9q.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2167 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: Spencer Baugh , 62164@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 (-) sbaugh@catern.com writes: > Po Lu writes: >> Spencer Baugh writes: >>> On Mon, Mar 13, 2023 at 8:59=E2=80=AFPM Po Lu wrot= e: >>>> 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. > > Thank you for this. With that I was able to put together this simple > patch which makes the ediff control window float by default on tiling > window managers, or at least on most of them. > > What do you think about this patch? It would be really nice to have > this behavior by default in this way, and I think it would benefit many > users. > > diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el > index eb903f093f9..1a09bc4225e 100644 > --- a/lisp/vc/ediff-wind.el > +++ b/lisp/vc/ediff-wind.el > @@ -948,6 +948,19 @@ ediff-setup-control-frame > (goto-char (point-min)) >=20=20 > (modify-frame-parameters ctl-frame adjusted-parameters) > + (if (eq window-system 'x) > + (x-change-window-property > + "_NET_WM_WINDOW_TYPE" > + '("_NET_WM_WINDOW_TYPE_UTILITY") > + ctl-frame > + "ATOM" 32 > + t) > + (x-change-window-property > + "WM_TRANSIENT_FOR" > + (list (string-to-number (frame-parameter nil 'window-id))) > + ctl-frame > + "WINDOW" 32 > + t)) > (make-frame-visible ctl-frame) >=20=20 > ;; This works around a bug in 19.25 and earlier. There, if frame ge= ts > -- I think it is fine to make it a user option, but not the default. BTW, it is generally The Right Thing to bind `x-fast-protocol-requests' to t around functions which make X requests when those functions are not being debugged. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 07:34:04 2023 Received: (at 62164) by debbugs.gnu.org; 2 Apr 2023 11:34:04 +0000 Received: from localhost ([127.0.0.1]:39298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivyF-0005s0-SS for submit@debbugs.gnu.org; Sun, 02 Apr 2023 07:34:04 -0400 Received: from s.wrqvwxzv.outbound-mail.sendgrid.net ([149.72.154.232]:30102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivyD-0005rN-Oy for 62164@debbugs.gnu.org; Sun, 02 Apr 2023 07:34:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com; h=from:subject:in-reply-to:references:mime-version:to:cc:content-type: content-transfer-encoding:cc:content-type:from:subject:to; s=s1; bh=0bBKuVEynXixA4NzKHwW2gtRot6eiWuWJMWKAvrIK2c=; b=h60egUkQjp1KJ+NYKDmYDPfI5Qu8c6GDMLlgEIDo8uCib1uzCnqd6sRB9yPTDcY7Lq+8 eQmnwgzpJZ4PAX8Krh1YsjuAfhUiMvJD6T536xkPrmAL0LP5KZcFBjy4qBVfxFY/c7dAKd geOHTnnCUfDMLO7MG0t4jTV8DU/MycuwB6vONQwhb5IOCpKnVpNNffnsd7EVDgf11DsFj/ GoZrx2lZEjYNge5EuarkRdhXn8o6luvYsaPigT3FDlh8khDRBEbyI2DtIiK2WvcVosj+fi Ahgjj3XC3PPx2HDU5pJC5oeMo/w+63Vla0q33aljXwhh1Qec+uQhW4Y4U7v0WHwA== Received: by filterdrecv-59cb65cf6d-7z4fb with SMTP id filterdrecv-59cb65cf6d-7z4fb-1-64296823-23 2023-04-02 11:33:55.961154813 +0000 UTC m=+3412943.131034184 Received: from earth.catern.com (unknown) by geopod-ismtpd-22 (SG) with ESMTP id L40UZeSrTcmQj5TNs6UZTA Sun, 02 Apr 2023 11:33:55.837 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost; envelope-from=sbaugh@catern.com; receiver= Received: from localhost (localhost [IPv6:::1]) by earth.catern.com (Postfix) with ESMTPSA id E808360065; Sun, 2 Apr 2023 07:33:54 -0400 (EDT) From: sbaugh@catern.com Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <871ql2su9q.fsf@yahoo.com> (Po Lu's message of "Sun, 02 Apr 2023 13:55:13 +0800") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> Date: Sun, 02 Apr 2023 11:33:55 +0000 (UTC) Message-ID: <87v8iemsbh.fsf@catern.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbJoaWe1dFOkt0pIbuNlWU?= =?us-ascii?Q?xmtW9inN8t9LqXzmPUsBT=2FTn0BJx=2FEr3r+UhNRE?= =?us-ascii?Q?eBFHxYs=2FyaF84GizzL+E8DQP60CDoPFaIQr4o7F?= =?us-ascii?Q?CdspsR80YGrF3mtfU9521qsnZffIlD1xTwO5Soi?= =?us-ascii?Q?GV5QLamVEF2l4ilYrWOUWLWYwkwq1pBJZYg=3D=3D?= To: Po Lu X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Po Lu writes: > I think it is fine to make it a user option, but not the default. BTW, > it is generally The Right Thing to bind `x-fast-protocol-requests' to t > around functions [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net [Blocked - see ] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [149.72.154.232 listed in wl.mailspike.net] 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines X-Debbugs-Envelope-To: 62164 Cc: Spencer Baugh , 62164@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: 0.2 (/) Po Lu writes: > I think it is fine to make it a user option, but not the default. BTW, > it is generally The Right Thing to bind `x-fast-protocol-requests' to t > around functions which make X requests when those functions are not > being debugged. Okay, is there any other patch in this direction which you think would be an acceptable default? I think you may not realize how universal the (setq ediff-window-setup-function 'ediff-setup-windows-plain) configuration is, all because multi-frame ediff behaves poorly on certain window managers, I've seen it in many different configuration sources. My motivation is to make that line of configuration no longer necessary, by making things work better, if not absolutely right, by default. Just replacing it with another bit of configuration is much less satisfying. From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 14:27:20 2023 Received: (at 62164) by debbugs.gnu.org; 9 May 2023 18:27:20 +0000 Received: from localhost ([127.0.0.1]:44448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwS3T-0004DL-TW for submit@debbugs.gnu.org; Tue, 09 May 2023 14:27:20 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:37733) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwS3S-0004D2-8e for 62164@debbugs.gnu.org; Tue, 09 May 2023 14:27:19 -0400 From: Spencer Baugh To: sbaugh@catern.com Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <87v8iemsbh.fsf@catern.com> (sbaugh@catern.com's message of "Sun, 02 Apr 2023 11:33:55 +0000 (UTC)") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> Date: Tue, 09 May 2023 14:27:11 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: Po Lu , 62164@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 (-) --=-=-= Content-Type: text/plain Here's a patch which supports making the control frame into a utility window with a user option. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Allow-setting-the-ediff-control-frame-as-a-utility-w.patch >From f23dc72acd370ace6fd934f46e1d6f9a72f943bf Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Tue, 9 May 2023 14:22:29 -0400 Subject: [PATCH] Allow setting the ediff control frame as a utility window under X This is a step in the direction of making ediff behave better by default under tiling window managers and fixing bug#62164. * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add defcustom. (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting the control frame up as a utility window under X. (bug#62164) --- lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..9eaed48f16c 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -69,6 +69,16 @@ ediff-window-setup-function (function :tag "Other function")) :version "24.3") +(defcustom ediff-x-utility-control-frame nil + "If non-nil, the control frame is a utility window under X. + +This is useful in tiling window managers, where this will cause +the control frame to be floating rather than tiled. It should be +harmless on other well-behaved window managers." + :type '(choice (const :tag "Control frame is utility window" t) + (const :tag "Control frame is normal window" nil)) + :version "30.1") + (ediff-defvar-local ediff-multiframe nil "Indicates if we are in a multiframe setup.") @@ -873,6 +883,16 @@ ediff-window-ok-for-display (not (ediff-frame-has-dedicated-windows (window-frame wind))) ))) +(defun ediff-frame-make-utility (frame) + (let ((x-fast-protocol-requests t)) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" '("_NET_WM_WINDOW_TYPE_UTILITY") + frame "ATOM" 32 t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + frame "WINDOW" 32 t))) + ;; Prepare or refresh control frame (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) (let ((window-min-height 1) @@ -948,6 +968,8 @@ ediff-setup-control-frame (goto-char (point-min)) (modify-frame-parameters ctl-frame adjusted-parameters) + (when (and ediff-x-utility-control-frame (eq window-system 'x)) + (ediff-frame-make-utility ctl-frame)) (make-frame-visible ctl-frame) ;; This works around a bug in 19.25 and earlier. There, if frame gets -- 2.30.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 15:14:54 2023 Received: (at 62164) by debbugs.gnu.org; 9 May 2023 19:14:54 +0000 Received: from localhost ([127.0.0.1]:44524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwSnW-0002C2-A3 for submit@debbugs.gnu.org; Tue, 09 May 2023 15:14:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59756) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwSnV-0002Bn-D1 for 62164@debbugs.gnu.org; Tue, 09 May 2023 15:14:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pwSnP-0005wW-EG; Tue, 09 May 2023 15:14:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=rdapa0CGPdveQLtqQ/eIOJ6yjAYtbfKDmkg5XKZmoLk=; b=rrOAmFYKOe7M 9d743Kldup0WEDSWS70b9K2OYQiFwmXQ5SErXffbDB0eU5cS+vMwpsM5xDEMFWQLouBVoiFN+dJBg q+PO87l2YUMYY7D8CACE36zHSAljErxorUwcs3Zxt3HAc0wU6m9fmqDAhz+i/TUDEHpD+/Y9BuMD+ 1AYNee3ytUyyx6pdRcqKFGA1a76jMf4EVlbsvzJoYqJ8myoKitXnIfxYdhOBq2LRlcDyNCExGXRNJ OiI0/v5g9mOzfadU/DA06TnkSLoO1txGyu4PdWKVTQAnAerwj2ahu+YkAiLf8k4Oo8IscgHdc2uWy 5QObxuSbArJoYmNKyPKo0Q==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pwSnO-0000QD-Ie; Tue, 09 May 2023 15:14:47 -0400 Date: Tue, 09 May 2023 22:15:50 +0300 Message-Id: <83ild19uzd.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Tue, 09 May 2023 14:27:11 -0400) Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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: -3.3 (---) > Cc: Po Lu , 62164@debbugs.gnu.org > From: Spencer Baugh > Date: Tue, 09 May 2023 14:27:11 -0400 > > +(defcustom ediff-x-utility-control-frame nil > + "If non-nil, the control frame is a utility window under X. > + > +This is useful in tiling window managers, where this will cause > +the control frame to be floating rather than tiled. It should be > +harmless on other well-behaved window managers." If this option causes the control frame to be floating rather than tiled, the name of the option should reflect that. Using "utility" in the name of the variable makes the option less self-explanatory, because that technical terms is not relevant on the user level. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 05 17:56:46 2023 Received: (at 62164) by debbugs.gnu.org; 5 Jun 2023 21:56:46 +0000 Received: from localhost ([127.0.0.1]:50452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6IBy-0004cB-5h for submit@debbugs.gnu.org; Mon, 05 Jun 2023 17:56:46 -0400 Received: from mxout6.mail.janestreet.com ([64.215.233.21]:53709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6IBw-0004bu-G0 for 62164@debbugs.gnu.org; Mon, 05 Jun 2023 17:56:45 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <83ild19uzd.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 09 May 2023 22:15:50 +0300") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> Date: Mon, 05 Jun 2023 17:56:38 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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 (-) --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> Cc: Po Lu , 62164@debbugs.gnu.org >> From: Spencer Baugh >> Date: Tue, 09 May 2023 14:27:11 -0400 >> >> +(defcustom ediff-x-utility-control-frame nil >> + "If non-nil, the control frame is a utility window under X. >> + >> +This is useful in tiling window managers, where this will cause >> +the control frame to be floating rather than tiled. It should be >> +harmless on other well-behaved window managers." > > If this option causes the control frame to be floating rather than > tiled, the name of the option should reflect that. Using "utility" in > the name of the variable makes the option less self-explanatory, > because that technical terms is not relevant on the user level. > > Thanks. Agreed. Revised patch attached: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Allow-setting-the-ediff-control-frame-as-a-utility-w.patch >From 8725b7376b3e6ddaaa4389d363bd9da56bf3eedb Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Tue, 9 May 2023 14:22:29 -0400 Subject: [PATCH] Allow setting the ediff control frame as a utility window under X This is a step in the direction of making ediff behave better by default under tiling window managers and fixing bug#62164. * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add defcustom. (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting the control frame up as a utility window under X. (bug#62164) --- lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..e50df599a98 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -69,6 +69,16 @@ ediff-window-setup-function (function :tag "Other function")) :version "24.3") +(defcustom ediff-x-floating-control-frame nil + "If non-nil, the control frame is a utility window under X. + +This is useful in tiling window managers, where this will cause +the control frame to be floating rather than tiled. It should be +harmless on other well-behaved window managers." + :type '(choice (const :tag "Control frame is utility window" t) + (const :tag "Control frame is normal window" nil)) + :version "30.1") + (ediff-defvar-local ediff-multiframe nil "Indicates if we are in a multiframe setup.") @@ -873,6 +883,16 @@ ediff-window-ok-for-display (not (ediff-frame-has-dedicated-windows (window-frame wind))) ))) +(defun ediff-frame-make-utility (frame) + (let ((x-fast-protocol-requests t)) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" '("_NET_WM_WINDOW_TYPE_UTILITY") + frame "ATOM" 32 t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + frame "WINDOW" 32 t))) + ;; Prepare or refresh control frame (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) (let ((window-min-height 1) @@ -948,6 +968,8 @@ ediff-setup-control-frame (goto-char (point-min)) (modify-frame-parameters ctl-frame adjusted-parameters) + (when (and ediff-x-floating-control-frame (eq window-system 'x)) + (ediff-frame-make-utility ctl-frame)) (make-frame-visible ctl-frame) ;; This works around a bug in 19.25 and earlier. There, if frame gets -- 2.39.3 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 05 19:52:05 2023 Received: (at 62164) by debbugs.gnu.org; 5 Jun 2023 23:52:05 +0000 Received: from localhost ([127.0.0.1]:50525 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6JzY-0007tm-Ts for submit@debbugs.gnu.org; Mon, 05 Jun 2023 19:52:05 -0400 Received: from sonic313-9.consmr.mail.ne1.yahoo.com ([66.163.185.32]:41362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6JzX-0007tH-5C for 62164@debbugs.gnu.org; Mon, 05 Jun 2023 19:52:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1686009117; bh=wB7AYSxSGIv8FTS3bBgNh1p2fZC8oOInsHHCT26r4bc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=tlQsEtWnzGxBgDPKLA/U6aRzYeTET4Jzp0VBsIG1Rzkk5Tpuefw+hHFrDa7eD8L9DjI6zSgGcScZa1meUBvwltovxkV4b0I3s8Z9g3e1GEOclDuSK4NArZVr5LlqleFYHPe0vr0Dx2ha74OEjgEpGQ3zL7pDXBaZW5qbsiZ7gBvc8R+JAgBJimVi3KGXaym16Xc5MQEQTz3kH3UiC381Ns8iy0oFIGHqHql8bRkjPowh4TEyIHOx4izVXgwzC9dqY69ttflzV/0uOXWfrq1UXbDDLs/GFIkrMDsExuzZ0LGIO2FkjhU0aAsNlSupri6OCbyowYOFy8AC+0RjxyG3zQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1686009117; bh=8nmr1nr6TncMbc9I2Yzldd1jS5NannTqw0+Oshw7a6Z=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=PyU5ukikdY21sGaKI6Wsrodx8s8iAX/n2o69ekIg9KoJZRPnfHafJQjw8NihjVFDKx6Im4K1M21J+sGVDFha2emvraRO+4GoT2X+jgWSMr/51e1WAmoINDga5CpEQlV1DLNH3RUQ0uJgDbNNOMMq05mSF1uxexlUiZDPAHZMPPf/4B7IZtTUEqcBi+fVRk4zPlobx7T4GbxFAiK6qgitKRknC+C4UHk7gxBeHXWKwEEL+j1wY3r64EJFPONl0vPZfa8e6l6FFCqBKaQ9uAQQ+FxcesNtwNaE/Dl/7yzVh4wbpH6rSB4XinPw2INCmM+rXwM6DLiP5S+1yGBIfDwDFA== X-YMail-OSG: TnxPFTQVM1mfqwZG_M6APVjimLVVXemY5BjCMcEQIO9JjsBbix4Xan2I9fAP05L aBitaJeZdevbxTsrsHDPCe_SEwgLrWDIN.z5wMOBhGqQkYr9dq5vSuZYGO.LNPRASfp5E.rBCT.K 77TFDcdP2w9OJUY0UmUOlMjNjsKyO5vmYcAr9lcZ2kd7GOWsZQy2ksNlWchQvyEGlV58fsDda01p zt6oWtLKkmpzMPMEkMStw4fnIMIZoQEgJPNph3kRKQnSbq5tZz28gbyxoBvkEcZ_vHKiAbz9gDkM DxJE5BZDXF_AclS6jQ_K0NrLV2CdfhaSoHaDgvWk1rpIQpLqRURiNWIc8ZInLX3x_vIlcx.MzPib fT8pxmb_4KiiaZH.pjCEXfii_6vBCOgzlGS5vLgQ1T5VY78McxHQG65w2aovy9LgBxFCMzB1ezVn QedfKqmAzCL5wF5lZ_z2Y.mGqoOWfZ1VDflSQhpcVtOWijlCaaonURRgW0CtffDnljLCuioHbYWh zO8ZNcpejwu36BupwG_rAoEO0K.tOBSsWX7l5JDMXxvaaSEFLjCy.YkW8b0_25xx3ZlMNDyshn6K _uI6ZC95RfjCaXGTqHsLWADMtHK9R850wRx2sTtnnfPrKl9RMI9TETSDEJoUUkotex8cFV_Pvhjq Xpab2QgX5tOGKhOwMBXQP3ilJTUphgswvNpSsBbP7MvuGBAl_rjUkqo4cH4La4pL3xBKF8JENBtA wkyW.fuWcgaghpz.X3_UreyADb.3odXWCwNTnH53_2ooAj3dy9WuBD4kH.1148rutJ1sjygvKB1Z a6lz0uWY03r3_Zf4hd4cR6UAU67GztyFrqgnhiogw23LIJGhBQTDUUIjow8w4lOqV_ghnjRNZDPc CCs3Ex6Oyb5999Di3nwQv3cuMb6bkwFEue56KzXcVeZ7kNoLutvPDgoYK01N1KD577jgJFwcD1vV tH0yXZnKpVcEbCqWqtZxPrxg_d8TjbqJNg.uq3s8ACZxCEg3xARNa2FGKr1Q3QclLRSBVpPrhTGb mr8VI_20oEJ.3BxYCqsuzV8z8YSWJJpGQRbWowpO9qBAPM5BTDob3bPwckndkLq9Zf2JybI4Mao3 Aq92Gkq6RPMPVCHuJmRc9yrWrwjQLFYv3uw1J9Qe31gJy2T_r0aavw0gYQacGofSN2NYgS6kZx_0 mKfEY98T0FCYGPxK8EbJYRh3E5AveqB1VV.0dNdoDxMDGI1cg4C2z5vuDwzeOnyFjbJfWhOGThRe gV8bYdneut77mVsFh8MYgDLBMYVg1_Dr9Lk4a2Cjcx8WvkAnkJoBFLVbrgzCLas9E0pZJzeoTNEx pRL23E4e9uloF8VNnbKVh4tZwq.ZLcxE.LGWnCwKtJ6HgxMEMOHoFdCuFshFHau1DSziR3s.Nhaq ewUaGxKeJQiJDuYrJx.geqgadIpAwa3PQina.hHlqm0omQ1e036x3oEJst6GGdC45Udd1UAEAmsq CIOI7IBb_bP705l1QggwypduAB9gDaUG93SMFnNNeEn6KoLBeZO3WRrO0sNfMc5bPqIuJ9jWZ9U4 C_PJI._InHvca.QoZRLvp1wf7ILdHrqqaabmr8eMTE_aepG7b6o6Bul6XZr6W2HfRmfT_URfUMbW MD.W3BZriXOUfH8M7yXT_KmOa.6e8GQHvQJAP83o_XHoF4tnacLZi1lLqDcjUYT5eGpat6ckK.uC _8SfFcZXDEU5oB83o__.Uii4l.3ZXueV32R8IwaW_dhcAoTu4MbHJmT5Lj.xlJQQ.GB9S3nuA3Sr vJ0fiT6On9goco1jjRQReuSPvHfTFhAiOOSLhIshFgU7R0ZTNxJsChQ71suQ_1RfJaUXH7Y2HtcT CWPXGLwkCEhok8dkhzh_e1raod7G5V6_wbSuGAqx.e7LsmqRjewxHAXh58iHQqjAUVtqRica_xTz QXaKggroDMTTI1K0NSerfhbnyMjClJmSy_y5sY9xYX7pj9oiXcUeqqD_idqfAPvYSA9RLvDXawX0 AgCrrGy8QRHKqQ1oGJiYtAKTwCR0gKB_B9kY0Fe1awdsjBO9sW8EOPsw0eehFxmSP6GPJuMsGNSe s01jrKOBk5taV8CGIcf.3UcbOfbqnQqX.zWXplOGAB7O11pGssf5NQtlon6kvEC2x_RQ1nC60ixb CIik1SZhGGhSh8Xw60Tnb.m3EUaJhQynwOXG0JsSG7NkPlZ0L6AIP2KTVA8QQilf8KZrtjMkYTGI lbrq.VXi7L1ZGarfvDRy_2EScsUE.nwpDY5Rcv1Un6Ye.7efkezRCA948yCCGodYLAQ-- X-Sonic-MF: X-Sonic-ID: 149cb934-c353-4348-8e4f-8e5229c120b2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ne1.yahoo.com with HTTP; Mon, 5 Jun 2023 23:51:57 +0000 Received: by hermes--production-sg3-748897c457-fp9l7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID cc703af246c0334e114709b01d0de7e6; Mon, 05 Jun 2023 23:51:53 +0000 (UTC) From: Po Lu To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: (Spencer Baugh's message of "Mon, 05 Jun 2023 17:56:38 -0400") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> Date: Tue, 06 Jun 2023 07:51:44 +0800 Message-ID: <87r0qpjwmn.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21516 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2226 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: sbaugh@catern.com, Eli Zaretskii , 62164@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 (-) Spencer Baugh writes: > Eli Zaretskii writes: >>> Cc: Po Lu , 62164@debbugs.gnu.org >>> From: Spencer Baugh >>> Date: Tue, 09 May 2023 14:27:11 -0400 >>> >>> +(defcustom ediff-x-utility-control-frame nil >>> + "If non-nil, the control frame is a utility window under X. >>> + >>> +This is useful in tiling window managers, where this will cause >>> +the control frame to be floating rather than tiled. It should be >>> +harmless on other well-behaved window managers." >> >> If this option causes the control frame to be floating rather than >> tiled, the name of the option should reflect that. Using "utility" in >> the name of the variable makes the option less self-explanatory, >> because that technical terms is not relevant on the user level. >> >> Thanks. > > Agreed. Revised patch attached: > > From 8725b7376b3e6ddaaa4389d363bd9da56bf3eedb Mon Sep 17 00:00:00 2001 > From: Spencer Baugh > Date: Tue, 9 May 2023 14:22:29 -0400 > Subject: [PATCH] Allow setting the ediff control frame as a utility window > under X > > This is a step in the direction of making ediff behave better by > default under tiling window managers and fixing bug#62164. > > * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add > defcustom. > (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting > the control frame up as a utility window under X. (bug#62164) > --- > lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el > index eb903f093f9..e50df599a98 100644 > --- a/lisp/vc/ediff-wind.el > +++ b/lisp/vc/ediff-wind.el > @@ -69,6 +69,16 @@ ediff-window-setup-function > (function :tag "Other function")) > :version "24.3") > > +(defcustom ediff-x-floating-control-frame nil I don't think this is correct. Ordering the control frame above other windows is one policy taken towards utility windows, but other window managers may behave differently (by placing the utility window at a fixed position, for instance.) The name of this variable should not depend on the behavior of the window manager. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 06 07:29:33 2023 Received: (at 62164) by debbugs.gnu.org; 6 Jun 2023 11:29:33 +0000 Received: from localhost ([127.0.0.1]:51075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6UsW-0004kn-Vj for submit@debbugs.gnu.org; Tue, 06 Jun 2023 07:29:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6UsU-0004kY-F2 for 62164@debbugs.gnu.org; Tue, 06 Jun 2023 07:29:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q6UsO-0005F5-Kx; Tue, 06 Jun 2023 07:29:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=OFTGy1n/CFRvfWV3+hf/wNbV+RyfAcejNxvIrpuxCoA=; b=j+cTa86V2/db foDekl2K4mkjcxycvDL4d7Eh2Ws0WhgYDxelrsdNcyTZ9ZZiIRoQSOSIlzlvLU5E6D61rjpOyRZKs FyiPsINgjj78QVjg/9HZ5O+VgJq438Vfp39NaH4zXyAved1EW2NdlMzC/wjoudi4mhBT30+s96byW 1woYVF145VQ0D+mThPF13dzf6MST2SWAp1AF4eaWPiB5/nYI/TxSHNm7KSYHvknIV2zbBrpP0gb7Q U/HKKDk8WvbLIox4MmUQhvtjSkLUT9iSX4SB6c5hDRwqt+sChztbnrF4Mwqt5KvUJcYi6WhO44HKy vVqkYXuF7fVaCCrzxKT/fQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q6UsC-0002Yy-AF; Tue, 06 Jun 2023 07:29:23 -0400 Date: Tue, 06 Jun 2023 14:29:10 +0300 Message-Id: <83y1kw3k3d.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Mon, 05 Jun 2023 17:56:38 -0400) Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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: -3.3 (---) > From: Spencer Baugh > Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@debbugs.gnu.org > Date: Mon, 05 Jun 2023 17:56:38 -0400 > > Eli Zaretskii writes: > >> Cc: Po Lu , 62164@debbugs.gnu.org > >> From: Spencer Baugh > >> Date: Tue, 09 May 2023 14:27:11 -0400 > >> > >> +(defcustom ediff-x-utility-control-frame nil > >> + "If non-nil, the control frame is a utility window under X. > >> + > >> +This is useful in tiling window managers, where this will cause > >> +the control frame to be floating rather than tiled. It should be > >> +harmless on other well-behaved window managers." > > > > If this option causes the control frame to be floating rather than > > tiled, the name of the option should reflect that. Using "utility" in > > the name of the variable makes the option less self-explanatory, > > because that technical terms is not relevant on the user level. > > > > Thanks. > > Agreed. Revised patch attached: Thanks, but I think the first line of the doc string should also be modified to explain better what the option does. The rest of the doc string could then mention "utility window", if doing so will help someone to understand what happens and why. But the first line should be a concise summary, because the various apropos commands show only that one line. > (modify-frame-parameters ctl-frame adjusted-parameters) > + (when (and ediff-x-floating-control-frame (eq window-system 'x)) > + (ediff-frame-make-utility ctl-frame)) ^^^^^^^^^^^^^ I think it is better to use window-system the function here, since you are talking about a specific frame. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 27 21:13:19 2023 Received: (at 62164) by debbugs.gnu.org; 28 Jun 2023 01:13:19 +0000 Received: from localhost ([127.0.0.1]:49738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEJkE-0001bT-Od for submit@debbugs.gnu.org; Tue, 27 Jun 2023 21:13:19 -0400 Received: from mxout6.mail.janestreet.com ([64.215.233.21]:38763) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEJkA-0001bA-FP for 62164@debbugs.gnu.org; Tue, 27 Jun 2023 21:13:18 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <83y1kw3k3d.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 06 Jun 2023 14:29:10 +0300") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> Date: Tue, 27 Jun 2023 21:13:09 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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 (-) --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@debbugs.gnu.org >> Date: Mon, 05 Jun 2023 17:56:38 -0400 >> >> Eli Zaretskii writes: >> >> Cc: Po Lu , 62164@debbugs.gnu.org >> >> From: Spencer Baugh >> >> Date: Tue, 09 May 2023 14:27:11 -0400 >> >> >> >> +(defcustom ediff-x-utility-control-frame nil >> >> + "If non-nil, the control frame is a utility window under X. >> >> + >> >> +This is useful in tiling window managers, where this will cause >> >> +the control frame to be floating rather than tiled. It should be >> >> +harmless on other well-behaved window managers." >> > >> > If this option causes the control frame to be floating rather than >> > tiled, the name of the option should reflect that. Using "utility" in >> > the name of the variable makes the option less self-explanatory, >> > because that technical terms is not relevant on the user level. >> > >> > Thanks. >> >> Agreed. Revised patch attached: > > Thanks, but I think the first line of the doc string should also be > modified to explain better what the option does. The rest of the doc > string could then mention "utility window", if doing so will help > someone to understand what happens and why. But the first line should > be a concise summary, because the various apropos commands show only > that one line. > >> (modify-frame-parameters ctl-frame adjusted-parameters) >> + (when (and ediff-x-floating-control-frame (eq window-system 'x)) >> + (ediff-frame-make-utility ctl-frame)) ^^^^^^^^^^^^^ > > I think it is better to use window-system the function here, since > you are talking about a specific frame. OK, revised patch attached. I don't know how to name the variable to incorporate both you and Po's feedback. The name of the variable can either include "utility" to describe its implementation, or include "floating" to describe its effect on most window managers. (Or include neither, and describe nothing, which seems worse.) I personally prefer your variable name, since I still don't know of any window managers that don't float utility windows, but I don't care much. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Allow-setting-the-ediff-control-frame-as-a-utility-w.patch >From b8f893709f914b483997791507ee2db888bb9279 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Tue, 9 May 2023 14:22:29 -0400 Subject: [PATCH] Allow setting the ediff control frame as a utility window under X This is a step in the direction of making ediff behave better by default under tiling window managers and fixing bug#62164. * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add defcustom. (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting the control frame up as a utility window under X. (bug#62164) --- lisp/vc/ediff-wind.el | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..7471c5f0fd3 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -69,6 +69,17 @@ ediff-window-setup-function (function :tag "Other function")) :version "24.3") +(defcustom ediff-x-floating-control-frame nil + "If non-nil, the control frame will float under most X WMs. + +The control frame will be give the window type \"utility\". On +most tiling window managers, this will cause the control frame to +be floating rather than tiled. It should be harmless on other +well-behaved window managers." + :type '(choice (const :tag "Control frame floats" t) + (const :tag "Control frame has default WM behavior" nil)) + :version "30.1") + (ediff-defvar-local ediff-multiframe nil "Indicates if we are in a multiframe setup.") @@ -873,6 +884,16 @@ ediff-window-ok-for-display (not (ediff-frame-has-dedicated-windows (window-frame wind))) ))) +(defun ediff-frame-make-utility (frame) + (let ((x-fast-protocol-requests t)) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" '("_NET_WM_WINDOW_TYPE_UTILITY") + frame "ATOM" 32 t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + frame "WINDOW" 32 t))) + ;; Prepare or refresh control frame (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) (let ((window-min-height 1) @@ -948,6 +969,8 @@ ediff-setup-control-frame (goto-char (point-min)) (modify-frame-parameters ctl-frame adjusted-parameters) + (when (and ediff-x-floating-control-frame (eq (window-system ctl-frame) 'x)) + (ediff-frame-make-utility ctl-frame)) (make-frame-visible ctl-frame) ;; This works around a bug in 19.25 and earlier. There, if frame gets -- 2.39.3 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 27 21:25:46 2023 Received: (at 62164) by debbugs.gnu.org; 28 Jun 2023 01:25:46 +0000 Received: from localhost ([127.0.0.1]:49751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEJwH-0001uB-ON for submit@debbugs.gnu.org; Tue, 27 Jun 2023 21:25:46 -0400 Received: from sonic306-22.consmr.mail.ne1.yahoo.com ([66.163.189.84]:37794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEJwE-0001tu-3c for 62164@debbugs.gnu.org; Tue, 27 Jun 2023 21:25:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687915535; bh=oI7ClItiRbuepYJh6VIiGB634V38Msjd6Thtw/XM9Yc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=cKOsDLUjXIeq8M6pDu36/WhFpL1MyfTtSHEqXkTwMlV8oSrOmVk9hlTBisZpUeZlcy38k5y0tRHKJTUce2FLjVJtszM5FZ9j86P/ORetcyQmtVAL0RuuImCplQZSjirsgip0Kzk9iH19OwOWnMtqvVB7PPnfZ90xwO0PSgBy6HFgR2wyqApdRqv+gpMd9m6kq7IjKF55oOOfeMyDX+GpXiVqrtqGbz5se8X0g7QSRiAdDJjX8bxfhKv5rW9/uF8EuzNsgyHx/T0z41ZKUYeGnsMo95k6ffMkayqHoVz0QCAVy+sf66wIMRrszHBMWK1KCM6gDRgJgLdl49Ueg2huCQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687915535; bh=eqRitjdsZi82wNQ7U4Rusx2VNWBjdGIwZROs4YuSFLo=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=r9cpebzvpypt80CJui3lGBZkKPexhMzanu63lam0XcctwphXq4j1mNyo94y93Q3oFg8facUUGa2lLFHcj7fJXhRgK3jrQKZ2I1oPxT+huqZ9NLU2w7ElhE0JZdSGfBwHOWqh2yK1vjuiQ2fBg37XcPkfszwye937UATJ6LexXuxkCJmpbKJjOq9xiDAj5ZchHuoTnoLxCIE4mk4pl9fo6losOqDIISX3LiczBSLBEQHCW2wHe6NEbyVTSeBHUMVaOKyOaa6FWsJ1EDVpublIyJ30DxF0gdhfCkpJh5LFUqxPeD/muWd67HfEi3EzJtKzBnJKFZ6Nfnz9EP4fEY+UoA== X-YMail-OSG: xrHuKUEVM1mu_kKVf3EIFYJPWuM1hPsPAK_samFZuLWHHc8p2o.Pp94FutGxkBj qABXwFKRlht4mAGjZp.9YnUHvVBtVhYZk7y2u2xGgwkALoLVRFuxF1E6Ha3gSLTWu32m5BP1VaXn 1kkfEPQJMshXbRAv.1s.oYsPR214zo1hsNRjXCCBRoe4O9vFhT_tfvBQ4WFhfPcRNAy5WGbnovBw 7IYMgmG7SsMnm9Wj9u0kzBEqxHdFVTF1otFnUsRfmBTJ7Sxnb3SBV5_znJK.AKyLcKtABCoI5NVD oiug8Q.ncnD.mgEZK2uNmdhb2tD2uJVnh6kTChi92wukX_P0rGbbWxavHUco6yABsIsSELXyvaKl o4QmJBeJV7j9NUQc72U9NlPdoW9t2oa15OXeOWfzjMQ.xGi6wGygHZ2HH54.sCo.0EgBEyrPhfYv AvNfq7l4tM5d1t45jwoxvFsihB8rCYbkl1oBQMRx4NCkDhV0CdFobUIsBmjdEO_BqbHJGelBAWlJ 73t4KZZeRpr4yC8bQHFCZuKA6XcwH85MZNGbnDRnbTIx2stYnBMNe9wAofhNutBaWtng1jWEZsgP GAIg2irTK3VEvN47QNDf72AI02dVVBWu2MiI0aBHCifVb2xI5Q.hmpIUS1y0JO4mGhH.0nC0QSW0 pi4AqUzu96fE5oJufiHDdBjdOT26rZczg4c1yc6W0XQWex6yLS_jzgDLcXII8LTCX32fxgpLq0zF cKFVo_cxedFQQfxI_3K8gKRMi0jumLZoJ0nf0k9COhBzrYwvgv4q5.WbW.uYD2LZ1vU.XUdW14pK R0Iidc982dqIvnSB7UgMS_wtjbrNdT3Ein8QqSckmSYiHazu2Utqfu1MQcMzuBBWqN_ktvyM0kp8 aCBBNwAee_ry6HRhBNBbAD7yVaKj7c0LRSEedH9Q0Et0MxnKGZoloWTz89YqJYMXELdSZk6vIuur I_iEkkLnrV75V7qBEDXoBrGouUYV48WuH0kV9_vUXySr8VzFPJelf0RMp.__ilhsaNm4j6lEsF1S M4dkvPk2rjijvMG3TcsK4gir7t4NW1Hdmq2_muVzlngUZWXuL81O0gDdytA5NUt0lLP.Au6mLL7G EdoLN.WBBuZMPWlo0a8cVK_N0ike7OXVch1F8IlimzAhOuj6m426DLGLsYCoqH6AyMHdxdv_ZVml oNrU6_TejGpEcKZeYZ_8HAGGIDIUZwGQ58bs1Q3TjVSWCqf9WBuYzSOGGM1DvUV3VGVxYVq6Rkkf VUXllOqkZf8UoP5Ig4F.ACPztID_s0GzUpk65JVL.TN_zwis5ZPp23sfiJu_Uc5IzyFqlO_Omu8n nCMXrbpAnOVGrCHRxVjk4RKoMoAhLusAylWnEP7xlFvZUjC7uzgc9vV7hh4CAo6Q2NnQkcCDOsiY i49wXYi84EJU4XdqE1V1aUy1XRj8gzfI01d9NmMEIGxBKHtIUE0mAli2UHkclJgJEOzi746YWAdN xEVw14x_72eACMVpJ8KwZETZmG1g_2Tsa4NSVE5Po_mNnWgv5qzppy6GgJzYd_POl3eRSI6R6vWn kryVO8i3xqBSxiEuylWlD78Oz233uYd40cd6GkO20.YyQvC0UT7hXJisct6Jnc2sSRsLZ7Uvqn9F RtmtR_bVk.GCwu3v9lOhxVtHHnTQ8bua0bftOwh_m6MsrxqrL7QV9MChlo1cAeD7kSpzEBUzSRpU FIzIIjvGF5k4RRrEgae.fMwbjEMHt_r6PHeBtAEokKMA7wrjviDyrndbUd6.ocWK4q3GTO13tweV NlDLm5Wlvms4lAkzTX8l8kO8hb0v4y8UJ1fjR8Y7bbmWH6x_uMX5soghpn0mIvJYS1A1F5lVpwJt sEuL3VgD6TKhpRMv.ThE0d26YnDBrJoPnj_KG8c1cMInMcNwKcRIgD2TCOpKLF.ucnnc9ZPn1dxQ DZWw_UIAfim8DOa6T5G7iyRIdvI2llVeiqCZVkYS8bNpVW2790Eub0qZf17Fbp_dCVLWKLMamv8z t7BpXTL0z1WGsOVA8DVhCGU2HSPc9rQDTqPWR_FzwbY72RVNGCDodmvUSqA7F7ag7.oscKsiyjV3 _U3cLHa0qk5_.PynCfI41ReRjNWByllOKCC6pKkEVJZthAIhM_ke1deT4E8PqGbwuk24MUf0kPfn RmIDrAQVlZuzIBkCJHw.7DxumSBo07JYPJkVuc6kQ5J4vEWKMH91ssG2wmHhy8kyHuR.Wd_wPdRT j.Qe.EfOmCy2HD8r_ooIYkKWB8se6319tUJIDQ7JLX2YG0jvoUj3by170daN6RPJC X-Sonic-MF: X-Sonic-ID: ec4d6b36-9e00-4a71-8d08-6a7553c6441c Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ne1.yahoo.com with HTTP; Wed, 28 Jun 2023 01:25:35 +0000 Received: by hermes--production-sg3-67fd64777-rc8tr (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID d74a0a93e3c7fe82e3a2d4a2bda8029b; Wed, 28 Jun 2023 01:25:31 +0000 (UTC) From: Po Lu To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: (Spencer Baugh's message of "Tue, 27 Jun 2023 21:13:09 -0400") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> Date: Wed, 28 Jun 2023 09:25:27 +0800 Message-ID: <87cz1g74zc.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21557 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1115 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: sbaugh@catern.com, Eli Zaretskii , 62164@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 (-) Spencer Baugh writes: > I don't know how to name the variable to incorporate both you and Po's > feedback. The name of the variable can either include "utility" to > describe its implementation, or include "floating" to describe its > effect on most window managers. (Or include neither, and describe > nothing, which seems worse.) > > I personally prefer your variable name, since I still don't know of any > window managers that don't float utility windows, but I don't care much. Dtwm. Or any window manager that doesn't really support the EWMH, for that matter. I would simply suggest: (defun ediff-make-control-frame-utility-window nil "If non-nil, make the Ediff control frame a ``utility window''. Most X window managers will then order the control frame above all other windows as long as it remains visible.") I strongly object to Emacs trying to document behavior that is actually defined by individual window managers, because we will receive complaints from users about Emacs not behaving as expected, when in fact it is their window manager that behaves differently. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 28 07:56:24 2023 Received: (at 62164) by debbugs.gnu.org; 28 Jun 2023 11:56:24 +0000 Received: from localhost ([127.0.0.1]:50162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qETma-0004dF-6z for submit@debbugs.gnu.org; Wed, 28 Jun 2023 07:56:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qETmX-0004cy-Ew for 62164@debbugs.gnu.org; Wed, 28 Jun 2023 07:56:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qETmQ-0004CZ-36; Wed, 28 Jun 2023 07:56:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=KHeXlnZqxk4jduZh57ALonhe0qqWdUj0rKdzDRE0tW4=; b=O8vJ49wkp8Kk Dlqxt6qFdbIeMgh7310Wf6Mhphc1N725dRJ+hjOpdaurxIJhvZXJer33EhbNSqGzxCLeWo8id6wcW Jr9b9kAk1mcuw8pJDYE7B3eJiGW1IvgITHza9qquIYao2GtLuYWN1CzuZSMZhXcWDHPak4tTzAbUt UxwU7zaUx548aqLky6w+CvYZv9evTOuDKgITryPOD8VkNHSiRmAPJXr3uXm9UpQ3NPJFuG0WCMeyF AkRlphSwiBQTostWYBcgk77O1iM+7kvOF8VrmPGW+SvhqB6+gIFTc2ziygsAYyUYArCmp0IwGKQ6k 6vbwM+YLS+AK2Vuwkd2+2Q==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qETmO-0006MZ-7Q; Wed, 28 Jun 2023 07:56:13 -0400 Date: Wed, 28 Jun 2023 14:56:36 +0300 Message-Id: <83leg3vlzf.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Tue, 27 Jun 2023 21:13:09 -0400) Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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: -3.3 (---) > From: Spencer Baugh > Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@debbugs.gnu.org > Date: Tue, 27 Jun 2023 21:13:09 -0400 > > * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add > defcustom. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Copy/pasta, right? > +(defcustom ediff-x-floating-control-frame nil A better name is ediff-floating-control-frame. > + "If non-nil, the control frame will float under most X WMs. > + > +The control frame will be give the window type \"utility\". On > +most tiling window managers, this will cause the control frame to > +be floating rather than tiled. It should be harmless on other > +well-behaved window managers." I would document this slightly differently: If not-nil, try making the control frame be floating rather than tiled. If your X window manager makes the Ediff control frame a tiled one, set this to a non-nil value, and Emacs will try to make it floating. This only has effect on X displays. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 28 08:55:22 2023 Received: (at 62164) by debbugs.gnu.org; 28 Jun 2023 12:55:22 +0000 Received: from localhost ([127.0.0.1]:50259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEUhd-0006Dn-JK for submit@debbugs.gnu.org; Wed, 28 Jun 2023 08:55:22 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:54447) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEUha-0006DY-AF for 62164@debbugs.gnu.org; Wed, 28 Jun 2023 08:55:20 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <83leg3vlzf.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 28 Jun 2023 14:56:36 +0300") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> <83leg3vlzf.fsf@gnu.org> Date: Wed, 28 Jun 2023 08:55:13 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@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 (-) --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: luangruo@yahoo.com, sbaugh@catern.com, 62164@debbugs.gnu.org >> Date: Tue, 27 Jun 2023 21:13:09 -0400 >> >> * lisp/vc/ediff-wind.el (ediff-x-utility-control-frame): Add >> defcustom. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Copy/pasta, right? > >> +(defcustom ediff-x-floating-control-frame nil > > A better name is ediff-floating-control-frame. > >> + "If non-nil, the control frame will float under most X WMs. >> + >> +The control frame will be give the window type \"utility\". On >> +most tiling window managers, this will cause the control frame to >> +be floating rather than tiled. It should be harmless on other >> +well-behaved window managers." > > I would document this slightly differently: > > If not-nil, try making the control frame be floating rather than tiled. > > If your X window manager makes the Ediff control frame a tiled one, > set this to a non-nil value, and Emacs will try to make it floating. > This only has effect on X displays. OK, fixed these: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Allow-floating-the-ediff-control-frame-under-X.patch >From 5aea062fee4f265be146fd7df730ab077b31bb82 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Tue, 9 May 2023 14:22:29 -0400 Subject: [PATCH] Allow floating the ediff control frame under X This is a step in the direction of making ediff behave better by default under tiling window managers and fixing bug#62164. * lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add defcustom. (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting the control frame up as a utility window under X. (bug#62164) --- lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..74e0e1f9b9f 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -69,6 +69,16 @@ ediff-window-setup-function (function :tag "Other function")) :version "24.3") +(defcustom ediff-floating-control-frame nil + "If not-nil, try making the control frame be floating rather than tiled. + +If your X window manager makes the Ediff control frame a tiled one, +set this to a non-nil value, and Emacs will try to make it floating. +This only has effect on X displays." + :type '(choice (const :tag "Control frame floats" t) + (const :tag "Control frame has default WM behavior" nil)) + :version "30.1") + (ediff-defvar-local ediff-multiframe nil "Indicates if we are in a multiframe setup.") @@ -873,6 +883,16 @@ ediff-window-ok-for-display (not (ediff-frame-has-dedicated-windows (window-frame wind))) ))) +(defun ediff-frame-make-utility (frame) + (let ((x-fast-protocol-requests t)) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" '("_NET_WM_WINDOW_TYPE_UTILITY") + frame "ATOM" 32 t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + frame "WINDOW" 32 t))) + ;; Prepare or refresh control frame (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) (let ((window-min-height 1) @@ -948,6 +968,8 @@ ediff-setup-control-frame (goto-char (point-min)) (modify-frame-parameters ctl-frame adjusted-parameters) + (when (and ediff-floating-control-frame (eq (window-system ctl-frame) 'x)) + (ediff-frame-make-utility ctl-frame)) (make-frame-visible ctl-frame) ;; This works around a bug in 19.25 and earlier. There, if frame gets -- 2.39.3 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 28 09:41:09 2023 Received: (at 62164) by debbugs.gnu.org; 28 Jun 2023 13:41:09 +0000 Received: from localhost ([127.0.0.1]:50308 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEVPx-0007LI-6A for submit@debbugs.gnu.org; Wed, 28 Jun 2023 09:41:09 -0400 Received: from mail-lf1-f46.google.com ([209.85.167.46]:50251) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qEVPr-0007Kb-V4 for 62164@debbugs.gnu.org; Wed, 28 Jun 2023 09:41:07 -0400 Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-4fb7b2e3dacso4836761e87.0 for <62164@debbugs.gnu.org>; Wed, 28 Jun 2023 06:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687959657; x=1690551657; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=UTMDk5nYmMtbpqJYqZ351Zb62oz12WqNqV/e3xxgUtE=; b=gEKYt3D/6VWrsJYSXGsFSS6SO5UrSbUaxbEeyaVWrnj1jRzVyfJ1WIzklQHLAtQXMG 5YF3nzV7hoM4G1p3cW2QkdYveIKjxE8n3FrTplgkOBMToda/cFbKJ0x92wX4DnPdaQQC GDgIr6sxgnwngd9mi25E2hpH9tun8Dk1AfJzKYYp0X1omj3waoLkw6k7D46oYlkTF/kh YnfGt+seb0yV3qPzeygsLFe8yOL5bN0w17YTtQAMhr8+ZLzp6yB9MRwtuFZjVYhEI6ip smVDpQ8wFCnR5zGPfRnM5BYps2142FL1E/PfAm03Zqp8xI20D2qNinyay7+2bJZXZvgA kwHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687959657; x=1690551657; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UTMDk5nYmMtbpqJYqZ351Zb62oz12WqNqV/e3xxgUtE=; b=I9v1n1Kg4M8eP0beDStJPuNXPRu3fXe0S9AiOoHWhzcnxbnZBCivze2jhBCsCPyDHi nZ8q8zan2Dd9nVrvZKD/w87BTgAC/gAiIH4FlB9d9wCaE0Zqm1kffdKkvyDneXwtofTZ u0GmtVMD5WQsaZVQNYQp5h+G3ojMiEyqqhILfbOIGbvilfazaMQGWkdp9P2bEu9HeamJ m52uDJy9G0AHNBOW1aRCKzDQPDotXp8Zo6mpLx3cvl+bJc48lSoN7EdV4VxcXHj8+S91 ag44zR6DooJN5USRiXY/2AAiI+YnKZ2mXkoBf+pWAsLzLA3Z0BFU/QP3JqF7i3CulGta H9Dw== X-Gm-Message-State: AC+VfDw9Q2VE4gZRMwn1mbEwtGsciPfxULwqwwBsDMT4djtISZVUst+m e/d1tIHB2ZhGokLJDawEUuBbKr7pflg= X-Google-Smtp-Source: ACHHUZ4hc8qiqrgmvRcTQhhTYR5IGmgMf6TwWdtoFJYf9uoTtE/FXsoNESdFHzuSaQUR8shD1DtBdQ== X-Received: by 2002:a05:6512:39d0:b0:4f9:6581:8b4c with SMTP id k16-20020a05651239d000b004f965818b4cmr13334121lfu.44.1687959657305; Wed, 28 Jun 2023 06:40:57 -0700 (PDT) Received: from rltb ([2a01:e0a:3f3:fb50:c80e:1e3d:a9eb:e9bb]) by smtp.gmail.com with ESMTPSA id b15-20020a5d45cf000000b003140c8aa4fdsm1647831wrs.35.2023.06.28.06.40.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 06:40:56 -0700 (PDT) From: Robert Pluim To: Spencer Baugh Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: (Spencer Baugh's message of "Wed, 28 Jun 2023 08:55:13 -0400") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> <83leg3vlzf.fsf@gnu.org> Date: Wed, 28 Jun 2023 15:40:55 +0200 Message-ID: <87jzvnd7rs.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, sbaugh@catern.com, Eli Zaretskii , 62164@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 Wed, 28 Jun 2023 08:55:13 -0400, Spencer Baugh said: Spencer> * lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add Spencer> defcustom. Spencer> (ediff-frame-make-utility, ediff-setup-control-frame): Allow s= etting Spencer> the control frame up as a utility window under X. (bug#62164) Two spaces after full stop. And I think the convention is to capitalize 'Bug', but we don=CA=BCt follow that very consistently. I think the new user option warrants an entry in etc/NEWS Spencer> --- Spencer> lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ Spencer> 1 file changed, 22 insertions(+) Spencer> diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el Spencer> index eb903f093f9..74e0e1f9b9f 100644 Spencer> --- a/lisp/vc/ediff-wind.el Spencer> +++ b/lisp/vc/ediff-wind.el Spencer> @@ -69,6 +69,16 @@ ediff-window-setup-function Spencer> (function :tag "Other function")) Spencer> :version "24.3") =20 Spencer> +(defcustom ediff-floating-control-frame nil Spencer> + "If not-nil, try making the control frame be floating rathe= r than tiled. Spencer> + Style: the description of the option should state the action that follows from a non-nil value: "Whether to request a floating control frame rather than a tiled one." Robert --=20 From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 03 15:22:04 2023 Received: (at 62164) by debbugs.gnu.org; 3 Jul 2023 19:22:04 +0000 Received: from localhost ([127.0.0.1]:34528 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGP7b-0002oU-Kd for submit@debbugs.gnu.org; Mon, 03 Jul 2023 15:22:04 -0400 Received: from s.wrqvwxzv.outbound-mail.sendgrid.net ([149.72.154.232]:50060) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGP7X-0002nt-DA for 62164@debbugs.gnu.org; Mon, 03 Jul 2023 15:22:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=catern.com; h=from:subject:in-reply-to:references:mime-version:to:cc:content-type: cc:content-type:from:subject:to; s=s1; bh=A/Fzw1bRhufoa1bNxiAKtIVQrlcVuj4Qcwlq54PppMc=; b=ybEAE7WKlpby2g//0qCaS14Fe/LQm56RgvgAryDCuQTarS4Vg7zNbUiD5wL5BnwR36S7 2ZXdJuTOS2Fpj4gqdobgk1/oKcsVrhqwrzejaBL6DSu/JurXbeiQTqp0wUukXuhq2uNJDN XAQ9U6zn9E2T4z8OpASb5OHabrZKU4ZTZKolLuQEbvOTM/oa8edKiSi9lr5asiL0FfEYey YjN3cNeB/TlHAsv8uL1Ul8NQT5pesWHi154WM4OMORkwDIjYCK08My6qi1lTSn2SjsnjbW sUdK8qnOvAFToI2sLbUSyh2Rr47FiXyaUzb2pJohvh/BZQJuojcPzeYfTUJuFQzQ== Received: by filterdrecv-8684c58db7-w6bjw with SMTP id filterdrecv-8684c58db7-w6bjw-1-64A31FD1-4 2023-07-03 19:21:53.069533175 +0000 UTC m=+4650214.344217093 Received: from earth.catern.com (unknown) by geopod-ismtpd-33 (SG) with ESMTP id Fe9JqF2TTq-kbjJXp-7B-Q Mon, 03 Jul 2023 19:21:52.843 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=::1; helo=localhost; envelope-from=sbaugh@catern.com; receiver=gmail.com Received: from localhost (localhost [IPv6:::1]) by earth.catern.com (Postfix) with ESMTPSA id 537296001E; Mon, 3 Jul 2023 15:21:52 -0400 (EDT) From: sbaugh@catern.com Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers In-Reply-To: <87jzvnd7rs.fsf@gmail.com> (Robert Pluim's message of "Wed, 28 Jun 2023 15:40:55 +0200") References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> <83leg3vlzf.fsf@gnu.org> <87jzvnd7rs.fsf@gmail.com> Date: Mon, 03 Jul 2023 19:21:53 +0000 (UTC) Message-ID: <87edloreb3.fsf@catern.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-SG-EID: =?us-ascii?Q?ZgbRq7gjGrt0q=2FPjvxk7wM0yQFRdOkTJAtEbkjCkHbKlsYSisgjYAPe49Rr+c6?= =?us-ascii?Q?sWSkLC98BLGCW1MDdNys=2FZ8HjkfzzruxxF94JWl?= =?us-ascii?Q?iOv33vbuaPF+0AexXnq+RsxLz3AVQpdvmwlfbvr?= =?us-ascii?Q?AuZXtkZrKERWMZMgy4d3k6ECdE8T5c+tBfYqXuh?= =?us-ascii?Q?xjs3iSAokeg6M+9Tf4+U6jrKhIFxcVh+00w=3D=3D?= To: Robert Pluim X-Entity-ID: d/0VcHixlS0t7iB1YKCv4Q== Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62164 Cc: luangruo@yahoo.com, Spencer Baugh , Eli Zaretskii , 62164@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: 0.2 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Robert Pluim writes: >>>>>> On Wed, 28 Jun 2023 08:55:13 -0400, Spencer Baugh said: > > Spencer> * lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add > Spencer> defcustom. > Spencer> (ediff-frame-make-utility, ediff-setup-control-frame): Allow= setting > Spencer> the control frame up as a utility window under X. (bug#62164= ) > > Two spaces after full stop. And I think the convention is to > capitalize 'Bug', but we don=CA=BCt follow that very consistently. > > I think the new user option warrants an entry in etc/NEWS Added, patch at the end. > Spencer> --- > Spencer> lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ > Spencer> 1 file changed, 22 insertions(+) > > Spencer> diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el > Spencer> index eb903f093f9..74e0e1f9b9f 100644 > Spencer> --- a/lisp/vc/ediff-wind.el > Spencer> +++ b/lisp/vc/ediff-wind.el > Spencer> @@ -69,6 +69,16 @@ ediff-window-setup-function > Spencer> (function :tag "Other function")) > Spencer> :version "24.3") > =20 > Spencer> +(defcustom ediff-floating-control-frame nil > Spencer> + "If not-nil, try making the control frame be floating rat= her than tiled. > Spencer> + > > Style: the description of the option should state the action that > follows from a non-nil value: > > "Whether to request a floating control frame rather than a tiled one." No, this is correct style, see (info "(elisp) Documentation Tips") =E2=80=A2 The documentation string for a variable that is a yes-or-no fl= ag should start with words such as =E2=80=9CNon-nil means=E2=80=9D, to ma= ke it clear that all non-=E2=80=98nil=E2=80=99 values are equivalent and indicate = explicitly what =E2=80=98nil=E2=80=99 and non-=E2=80=98nil=E2=80=99 mean. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Allow-floating-the-ediff-control-frame-under-X.patch >From 6b347e419898ade96f459ddec9f1fda8d7dfef84 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Fri, 7 Apr 2023 17:54:06 -0400 Subject: [PATCH] Allow floating the ediff control frame under X This is a step in the direction of making ediff behave better by default under tiling window managers and fixing Bug#62164. * lisp/vc/ediff-wind.el (ediff-floating-control-frame): Add defcustom. (ediff-frame-make-utility, ediff-setup-control-frame): Allow setting the control frame up as a utility window under X. (Bug#62164) --- etc/NEWS | 11 +++++++++++ lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 9e6f0c16bcd..9c99cf6c725 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2314,6 +2314,17 @@ your mail user agent. The behavior of 'vc-prepare-patch' can be modified by the user options 'vc-prepare-patches-separately' and 'vc-default-patch-addressee'. +** Ediff + +--- +*** New user option 'ediff-floating-control-frame'. +If non-nil, try making the control frame be floating rather than tiled. + +Many X tiling window managers make the Ediff control frame a tiled +window equal in size to the main Emacs frame, which works poorly. +This option is useful to set if you use such a window manager, and +will be harmless (or helpful) on most other modern window managers. + ** Message --- diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index eb903f093f9..3077c562d63 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -69,6 +69,16 @@ ediff-window-setup-function (function :tag "Other function")) :version "24.3") +(defcustom ediff-floating-control-frame nil + "If non-nil, try making the control frame be floating rather than tiled. + +If your X window manager makes the Ediff control frame a tiled one, +set this to a non-nil value, and Emacs will try to make it floating. +This only has effect on X displays." + :type '(choice (const :tag "Control frame floats" t) + (const :tag "Control frame has default WM behavior" nil)) + :version "30.1") + (ediff-defvar-local ediff-multiframe nil "Indicates if we are in a multiframe setup.") @@ -873,6 +883,16 @@ ediff-window-ok-for-display (not (ediff-frame-has-dedicated-windows (window-frame wind))) ))) +(defun ediff-frame-make-utility (frame) + (let ((x-fast-protocol-requests t)) + (x-change-window-property + "_NET_WM_WINDOW_TYPE" '("_NET_WM_WINDOW_TYPE_UTILITY") + frame "ATOM" 32 t) + (x-change-window-property + "WM_TRANSIENT_FOR" + (list (string-to-number (frame-parameter nil 'window-id))) + frame "WINDOW" 32 t))) + ;; Prepare or refresh control frame (defun ediff-setup-control-frame (ctl-buffer designated-minibuffer-frame) (let ((window-min-height 1) @@ -948,6 +968,8 @@ ediff-setup-control-frame (goto-char (point-min)) (modify-frame-parameters ctl-frame adjusted-parameters) + (when (and ediff-floating-control-frame (eq (window-system ctl-frame) 'x)) + (ediff-frame-make-utility ctl-frame)) (make-frame-visible ctl-frame) ;; This works around a bug in 19.25 and earlier. There, if frame gets -- 2.41.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 06 03:51:29 2023 Received: (at 62164-done) by debbugs.gnu.org; 6 Jul 2023 07:51:29 +0000 Received: from localhost ([127.0.0.1]:39500 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHJlw-0004vt-VR for submit@debbugs.gnu.org; Thu, 06 Jul 2023 03:51:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHJlu-0004vg-Rn for 62164-done@debbugs.gnu.org; Thu, 06 Jul 2023 03:51:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qHJlo-0003wD-9Y; Thu, 06 Jul 2023 03:51:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=UufBP4pnMis2AtQUmo+1ZY64VNJ1SBHx5+mPKlMVEL0=; b=mELKu2DFDo+Cm+/4zNkx CWeVFrOLBj056DnVwfmH2VJLVRW6gyAH2j6X6+AR6GKYIzfqEl/d0Uh+IiwUDebdBEqseROK1RR8z RiPU2Yd+9UnOKFe82WPZesBe0ChICcxZ4otn8pyZYm8z2NreSQBDMg0LI/ioTfcHHj5KrcCQlfOEf htBY4qRqpYHAaCIMheNYUggoJUjWWrQpD93JymtP1ZgM9PYHeae9BM7YRze3yolb94Dif6tMX5oJu lPYQTjvNACjBkVeC9FaPzddT4pb7MIuROKepAysSCWP2UQdD2jA2/UlErizOi3WB3DiTHmC9UM2Wc lmb/BApMUbo2LA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qHJlj-0001hh-Ou; Thu, 06 Jul 2023 03:51:19 -0400 Date: Thu, 06 Jul 2023 10:51:15 +0300 Message-Id: <83fs61iiks.fsf@gnu.org> From: Eli Zaretskii To: sbaugh@catern.com In-Reply-To: <87edloreb3.fsf@catern.com> (sbaugh@catern.com) Subject: Re: bug#62164: 29.0.60; ediff behaves poorly by default on tiling window managers References: <87cz5c87xg.fsf@yahoo.com> <878rg087v5.fsf@yahoo.com> <87a60c3zuc.fsf@yahoo.com> <871ql3nj6y.fsf@catern.com> <871ql2su9q.fsf@yahoo.com> <87v8iemsbh.fsf@catern.com> <83ild19uzd.fsf@gnu.org> <83y1kw3k3d.fsf@gnu.org> <83leg3vlzf.fsf@gnu.org> <87jzvnd7rs.fsf@gmail.com> <87edloreb3.fsf@catern.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62164-done Cc: luangruo@yahoo.com, sbaugh@janestreet.com, rpluim@gmail.com, 62164-done@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: -3.3 (---) > From: sbaugh@catern.com > Date: Mon, 03 Jul 2023 19:21:53 +0000 (UTC) > Cc: Spencer Baugh , luangruo@yahoo.com, Eli Zaretskii > , 62164@debbugs.gnu.org > > > I think the new user option warrants an entry in etc/NEWS > > Added, patch at the end. > > > Spencer> --- > > Spencer> lisp/vc/ediff-wind.el | 22 ++++++++++++++++++++++ > > Spencer> 1 file changed, 22 insertions(+) > > > > Spencer> diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el > > Spencer> index eb903f093f9..74e0e1f9b9f 100644 > > Spencer> --- a/lisp/vc/ediff-wind.el > > Spencer> +++ b/lisp/vc/ediff-wind.el > > Spencer> @@ -69,6 +69,16 @@ ediff-window-setup-function > > Spencer> (function :tag "Other function")) > > Spencer> :version "24.3") > > > > Spencer> +(defcustom ediff-floating-control-frame nil > > Spencer> + "If not-nil, try making the control frame be floating rather than tiled. > > Spencer> + > > > > Style: the description of the option should state the action that > > follows from a non-nil value: > > > > "Whether to request a floating control frame rather than a tiled one." > > No, this is correct style, see (info "(elisp) Documentation Tips") > > • The documentation string for a variable that is a yes-or-no flag > should start with words such as “Non-nil means”, to make it clear > that all non-‘nil’ values are equivalent and indicate explicitly > what ‘nil’ and non-‘nil’ mean. Thanks, installed on master, and closing the bug. From unknown Sun Jun 22 11:35:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 03 Aug 2023 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator