From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: ndame Newsgroups: gmane.emacs.devel Subject: Intelligent stacking of messages in the echo area Date: Sat, 31 Aug 2019 07:35:44 +0200 (CEST) Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1177_777556260.1567229610625" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="69555"; mail-complaints-to="usenet@blaine.gmane.org" To: "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Aug 31 07:36:08 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i3w3T-000I0R-6T for ged-emacs-devel@m.gmane.org; Sat, 31 Aug 2019 07:36:07 +0200 Original-Received: from localhost ([::1]:42598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3w3R-0001ny-Ec for ged-emacs-devel@m.gmane.org; Sat, 31 Aug 2019 01:36:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34599) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3w3I-0001ns-Sn for emacs-devel@gnu.org; Sat, 31 Aug 2019 01:35:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i3w3H-0003YK-Fp for emacs-devel@gnu.org; Sat, 31 Aug 2019 01:35:56 -0400 Original-Received: from fmfe30.onbox.hu ([46.107.16.235]:14090 helo=web-out.onbox.hu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i3w3G-0003Cb-OE for emacs-devel@gnu.org; Sat, 31 Aug 2019 01:35:55 -0400 X-fm-smtp-source: yes Original-Received: from localhost (localhost [85.238.93.199]) by web-out.onbox.hu (Postfix) with SMTP id 46L4nX210bzhg4 for ; Sat, 31 Aug 2019 07:35:44 +0200 (CEST) X-AccountId: 57978162 X-Originating-Ip: 85.238.93.199 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduvddrudeihedguddttdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdcuhfftgffgofetkffnnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffkufggtgfvihffsegrtdersgdttddunecuhfhrohhmpehnuggrmhgvuceovghmrggtshhushgvrhesfhhrvggvmhgrihhlrdhhuheqnecuffhomhgrihhnpehhohifthhoghgvvghkrdgtohhmnecukfhppeekhedrvdefkedrleefrdduleelnecurfgrrhgrmhephhgvlhhopedpihhnvghtpeekhedrvdefkedrleefrdduleelpdhmrghilhhfrhhomhepvghmrggtshhushgvrhesfhhrvggvmhgrihhlrdhhuhdprhgtphhtthhopegvmhgrtghsqdguvghvvghlsehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/relaxed; t=1567229744; s=20181004; d=freemail.hu; h=From:Message-ID:Subject:MIME-Version:Content-Type:To:Date; l=2736; bh=CjDZ09Q85xh2gNtIHIRTnwG4LePYTopUDpD/Hgn/a+8=; b=cjvh1fM2s/cr7hy6wO5KNWPQhmEd3U5SnBvdxbuOCYxgTipoP4jMyCmHpqboTQM+ 1dhnhfK6n3Sa4r2si+2ArLanAj+Y8CJeVKGkACsZs26iw6+Q5wADgurNK1+DqE5tePz AniIdKI0pnGRDKtLFZJkYjPc5x1Mc4Fk5u/CVaiC59mPErpd7PQZzPfLC66G1AshiIj IevbcCfJOEvTyIY8L81lEcLcvzNk+q33WFgvDZGd9rKJ7Al7cxT4GGK2xWhZmX98qjl 4Glb2HN61380HnmTu+npR5SCnpcpXeFne4gmVLHYSx3y2P23X8gr/M+8i0Ex9Gyrjy4 gaCiDVePrg== X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 46.107.16.235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:239716 Archived-At: ------=_Part_1177_777556260.1567229610625 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit If two or more packages use the echo area for informational messages then often they fight each other, overwriting each other's messages. For example, in lisp mode eldoc is automatically enabled in my emacs 26.2 If I also turn on a paren mode which shows in the message area the matching part of a paren outside of the screen then eldoc often overwrites this message with its own documentation message. Other systems solve this by stacking messages on top of each other: https://www.howtogeek.com/wp-content/uploads/2014/11/ximg_54669cfe004ae.jpg.pagespeed.gp+jp+jw+pj+js+rj+rp+rw+ri+cp+md.ic.iDwLFdLQh5.jpg Maybe the echo area could be smarter and stack messages on top of each other if they come from diferent sources and they are close to each other in time. So in case of the above example, if a message comes from eldoc and parens at the same time in quick succession then the echo area could show both of them in two lines. And if the same source is sending multiple messsages or there is enough delay between two messages from different sources (e.g. 1-2 seconds) then it would work as today using only a single line. ------=_Part_1177_777556260.1567229610625 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit If two or more packages use the echo area for informational messages
then often they fight each other, overwriting each other's messages.

For example, in lisp mode eldoc is automatically enabled in my emacs
26.2 If I also turn on a paren mode which shows in the message area
the matching part of a paren outside of the screen then eldoc often
overwrites this message with its own documentation message.

Other systems solve this by stacking messages on top of each other:

https://www.howtogeek.com/wp-content/uploads/2014/11/ximg_54669cfe004ae.jpg.pagespeed.gp+jp+jw+pj+js+rj+rp+rw+ri+cp+md.ic.iDwLFdLQh5.jpg

Maybe the echo area could be smarter and stack messages on top of each
other if they come from diferent sources and they are close to each
other in time.

So in case of the above example, if a message comes from eldoc and
parens at the same time in quick succession then the echo area could
show both of them in two lines.

And if the same source is sending multiple messsages or there is
enough delay between two messages from different sources (e.g. 1-2
seconds) then it would work as today using only a single line. ------=_Part_1177_777556260.1567229610625--