From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Layered display API (was: bug#18195: 24.3.92; window-screen-lines is not accurate) Date: Wed, 06 Aug 2014 20:19:26 +0300 Message-ID: <8361i5pmch.fsf@gnu.org> References: <86tx5r7l1j.fsf@yandex.ru> <53E097F7.5050407@gmx.at> <53E0ABF9.7070506@yandex.ru> <8338dbqcai.fsf@gnu.org> <53E14AF4.6050804@yandex.ru> <83k36mpbxg.fsf@gnu.org> <53E22245.4070307@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1407345580 31352 80.91.229.3 (6 Aug 2014 17:19:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 6 Aug 2014 17:19:40 +0000 (UTC) Cc: rudalics@gmx.at, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 06 19:19:34 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XF4s5-0008AN-8G for ged-emacs-devel@m.gmane.org; Wed, 06 Aug 2014 19:19:29 +0200 Original-Received: from localhost ([::1]:40241 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4s4-00083w-RV for ged-emacs-devel@m.gmane.org; Wed, 06 Aug 2014 13:19:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44138) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4ry-00081d-Df for emacs-devel@gnu.org; Wed, 06 Aug 2014 13:19:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XF4rt-0000GT-RQ for emacs-devel@gnu.org; Wed, 06 Aug 2014 13:19:22 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:42482) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4rt-0000F5-Jg for emacs-devel@gnu.org; Wed, 06 Aug 2014 13:19:17 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0N9W00600AK2Z800@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Wed, 06 Aug 2014 20:19:15 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N9W006ZPAS1DI90@a-mtaout22.012.net.il>; Wed, 06 Aug 2014 20:19:14 +0300 (IDT) In-reply-to: <53E22245.4070307@yandex.ru> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.172 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:173455 Archived-At: > Date: Wed, 06 Aug 2014 16:40:37 +0400 > From: Dmitry Gutov > CC: rudalics@gmx.at, emacs-devel > > Basically, we'd like to be able to display a rectangle with propertized > text inside, at an arbitrary position (I would say pixel coordinates, > but that might not work well in terminal), so that it would be displayed > above the buffer contents. That you already have, don't you? The problem is not display, AFAIU, the problem is the decision where exactly to display it, and the answer depends on the dimensions of the text and the window. If some features are missing to achieve the above (and they are not the 2 mentioned below), then please spell them out, because I thought the display part was already solved, once the layout is decided. (And pixel units work quite well on text terminals, except that each character position is 1 pixel.) > 1. If the buffer ends (shortly) after the current line, we're forced to > pad it with a newline, and then carefully undo that and restore the > buffer modification status. Why can't you include the newline in the overlay string instead? > 2. If the buffer is already heavily using the `display' text property, > or other similar ones, our tooltip positioning also breaks or works > unexpectedly. Example: the `report-emacs-bug' buffer > (https://github.com/company-mode/company-mode/issues/136). This is indeed a missing feature. It should be easy enough to provide some special kind of display property that would overlay any other displayed content, but won't that introduce the kind of arms race we already have with overlay priorities? IOW, what if more than one feature wants to have its string displayed on top of everything? Btw, why doesn't company use normal tooltips on GUI frames and text-mode menus on a TTY? Wouldn't that be better? > Somewhat relatedely, I'd love to be able to sanely display smooth > graphics spanning multiple lines in the fringe (or in the area that > would replace it) How is this different from displaying bitmaps that fill the whole height of a screen line, so that adjacent bitmaps don't leave any pixels between them? > Maybe even support buttons? Clicking on the fringes already works.