From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuri D'Elia Newsgroups: gmane.emacs.devel Subject: Re: Bigger fringe bitmaps Date: Thu, 17 Mar 2022 08:43:44 +0100 Message-ID: <87wngtf2hb.fsf@wavexx.thregr.org> References: <87sfrhu6et.fsf@wavexx.thregr.org> <87h77xpgg6.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2488"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:sDJBU5TzP2dbQoDWy15CuDqXdAI= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Mar 17 08:44:43 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nUkoM-0000Vk-TK for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Mar 2022 08:44:42 +0100 Original-Received: from localhost ([::1]:37344 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nUkoL-0006cm-Lt for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Mar 2022 03:44:41 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:46564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nUknb-0005vV-1f for emacs-devel@gnu.org; Thu, 17 Mar 2022 03:43:55 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:50236) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nUknZ-0007nJ-C9 for emacs-devel@gnu.org; Thu, 17 Mar 2022 03:43:54 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1nUknW-0009n0-20 for emacs-devel@gnu.org; Thu, 17 Mar 2022 08:43:50 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:287248 Archived-At: On Thu, Mar 17 2022, Po Lu wrote: >> I suspect upscaling with nearest-neighbor would be a possibility for the >> moment, but it's the API surrounding the fixed bitmap sizes that doesn't >> look future-proof to me. > > It should be reasonably future-proof, since we can always add > higher-resolution fringe bitmaps later. > > Scaling of display elements (such as face boxes, tool-bar margins and > bitmaps, and fringes) is something I'm working on, but progress is > limited since I don't have any HiDPI hardware to test on. No comment on the idea of potentially using characters in the fringe? I find the idea appealing somehow, even ignoring hidpi issues, simply because "it's just more text". I like the idea of using 🢱 (or ⤶⤷) for wrapped text, 🮗 as a end-of-buffer, and so on. Easily scaled, and nicely antialiased. Especially the fact that this would potentially mean an usable fringe mode on character displays that can be toggled, so that you don't need to provide an alternate signaling mechanism if you rely on the fringe to show makers (like gud). Just to throw ideas on the ground, what if we accepted 3 alternatives when setting a fringe symbol: - a bitmap - a character symbol for character displays (where the font family has to be the same throughout the display and thus can be more limited in choice) - a character for graphical displays (where the fringe face can be set to a different family entirely)