From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#35592: Use display-buffer-in-direction for completion-like windows Date: Sun, 05 May 2019 23:40:10 +0300 Organization: LINKOV.NET Message-ID: <87woj4r5xx.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="228361"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) To: 35592@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 05 22:43:20 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hNNyh-000xIS-34 for geb-bug-gnu-emacs@m.gmane.org; Sun, 05 May 2019 22:43:19 +0200 Original-Received: from localhost ([127.0.0.1]:45658 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNNyg-0005ll-5E for geb-bug-gnu-emacs@m.gmane.org; Sun, 05 May 2019 16:43:18 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:46102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNNyV-0005lU-EI for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:43:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNNyT-0004GZ-KD for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:43:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41472) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hNNyT-0004FQ-E6 for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:43:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hNNyP-0004yx-SG for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:43:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 05 May 2019 20:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 35592 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.155708896019117 (code B ref -1); Sun, 05 May 2019 20:43:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 5 May 2019 20:42:40 +0000 Original-Received: from localhost ([127.0.0.1]:55015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hNNy4-0004yH-3z for submit@debbugs.gnu.org; Sun, 05 May 2019 16:42:40 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:59898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hNNy0-0004y0-8V for submit@debbugs.gnu.org; Sun, 05 May 2019 16:42:38 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:57662) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNNxt-0002Dw-B0 for submit@debbugs.gnu.org; Sun, 05 May 2019 16:42:30 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:46035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNNxs-0005lB-7x for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:42:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNNxk-0001kr-OZ for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:42:26 -0400 Original-Received: from quail.birch.relay.mailchannels.net ([23.83.209.151]:31584) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNNxj-0001Qx-2J for bug-gnu-emacs@gnu.org; Sun, 05 May 2019 16:42:19 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Original-Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id EA51F124B5A for ; Sun, 5 May 2019 20:42:14 +0000 (UTC) Original-Received: from pdx1-sub0-mail-a53.g.dreamhost.com (unknown [100.96.20.60]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A7539124285 for ; Sun, 5 May 2019 20:42:14 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Original-Received: from pdx1-sub0-mail-a53.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.17.2); Sun, 05 May 2019 20:42:14 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Keen-Rock: 600b0a08661f84d6_1557088934793_2795891718 X-MC-Loop-Signature: 1557088934792:3008707226 X-MC-Ingress-Time: 1557088934792 Original-Received: from pdx1-sub0-mail-a53.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a53.g.dreamhost.com (Postfix) with ESMTP id 5C6D280986 for ; Sun, 5 May 2019 13:42:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=linkov.net; bh=WMh6uz/g8AAfy2nz4W1 DT8FDlCY=; b=coO+iMwVTWSpLyGJ7h+Tqmwstei2vyw8kjr1XEGDi+inn99cKbr lVwFHlrHaKCR8vMwXeIlRcXPBYsKe1RV4AEiJZWlhwnpsxDhnajIz1j2bux0o53K mjECLPmZj9O9tipSYo0wiAiZtDYt+FSMqKCkh8vUu3BLNanHOBdPJFXA= Original-Received: from mail.jurta.org (m91-129-107-198.cust.tele2.ee [91.129.107.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a53.g.dreamhost.com (Postfix) with ESMTPSA id 393B280984 for ; Sun, 5 May 2019 13:42:12 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a53 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: 0 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduuddrjeehgdduiedtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvffuohffkfgfgggtgfesthekredttderjeenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrdduleeknecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrudelkedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegsuhhgqdhgnhhuqdgvmhgrtghssehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:158809 Archived-At: Proced has dired-like UI. Dired smoothly displays a completion-like confirmation window with filenames. =E2=80=98proced-with-processes-buffe= r=E2=80=99 even has a comment proudly declaring its compatibility with dired: ;; Analogous to `dired-pop-to-buffer' ;; Don't split window horizontally. (Bug#1806) But in fact currently Proced can't handle more than 1 window on the same = frame. For example, compare these cases: When there is only 1 window: 0. emacs -Q 1. M-x proced 2. C-x 1 3. d d x then a list of *Marked Processes* is displayed in the bottom window nicely like in Dired. But when windows are split vertically: 0. emacs -Q 1. M-x proced 2. d d x then a list of *Marked Processes* is displayed in the top window. When windows are split horizontally: 0. emacs -Q 1. C-x 3 2. M-x proced 3. d d x then the buffer *Marked Processes* is displayed in the left window. Splitting to more windows cause it to display this buffer in random place= s. This could be fixed by using something like: (display-buffer "*Marked Processes*" '((display-buffer-in-direction) (direction . bottom) (window . main) (window-height . fit-window-to-buffer))) The same would be useful also for Widget using e.g. diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index b9f98cdc4c..b077299c0e 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -252,7 +252,11 @@ widget-choose (define-key map [?\M--] 'negative-argument) (save-window-excursion (let ((buf (get-buffer " widget-choose"))) - (fit-window-to-buffer (display-buffer buf)) + (display-buffer + buf + '(display-buffer-in-direction + (direction main bottom) + (window-height . fit-window-to-buffer))) (let ((cursor-in-echo-area t) (arg 1)) (while (not value)