From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tomas Hlavaty Newsgroups: gmane.emacs.devel Subject: Re: Introducing emacs-webkit and more thoughts on Emacs rendering (was Rethinking the design of xwidgets) Date: Tue, 01 Dec 2020 09:01:20 +0100 Message-ID: <87czzu7y5r.fsf@logand.com> References: <864kmzupp0.fsf@akirakyle.com> <86pn46awrr.fsf@akirakyle.com> <87y2ise7j5.fsf@gnus.org> <86tutfwhr6.fsf@akirakyle.com> <87h7pfb76z.fsf@gnus.org> <86h7peqkt5.fsf@akirakyle.com> <83tutdsc8i.fsf@gnu.org> <86eeker01y.fsf@akirakyle.com> <83wny5naf5.fsf@gnu.org> <86o8jh9cij.fsf@akirakyle.com> <83czzwkmwk.fsf@gnu.org> <86lfeja49y.fsf@akirakyle.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6489"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 01 09:02:24 2020 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 1kk0cB-0001ba-7f for ged-emacs-devel@m.gmane-mx.org; Tue, 01 Dec 2020 09:02:23 +0100 Original-Received: from localhost ([::1]:50702 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kk0cA-0006NZ-A5 for ged-emacs-devel@m.gmane-mx.org; Tue, 01 Dec 2020 03:02:22 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34432) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kk0bI-0005sE-81 for emacs-devel@gnu.org; Tue, 01 Dec 2020 03:01:28 -0500 Original-Received: from logand.com ([37.48.87.44]:43668) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kk0bF-0000gC-7p for emacs-devel@gnu.org; Tue, 01 Dec 2020 03:01:27 -0500 Original-Received: by logand.com (Postfix, from userid 1001) id 2ED7319F1A1; Tue, 1 Dec 2020 09:01:23 +0100 (CET) X-Mailer: emacs 26.3 (via feedmail 11-beta-1 I) In-Reply-To: <86lfeja49y.fsf@akirakyle.com> Received-SPF: pass client-ip=37.48.87.44; envelope-from=tom@logand.com; helo=logand.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-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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:260109 Archived-At: On Sun 29 Nov 2020 at 20:54, Akira Kyle wrote: > However I think designing such a feature should keep eventual > integration with modules in mind. Especially since in general graphics > is very performance sensitive and so doing some drawing in elisp just > might not cut it and many interesting applications of such a feature > would require interfacing with an external c library. Not necessarily. There could also be a specialized program which could handle drawing. In fact there already is such a program: w3mimgdisplay and is part of the w3m web browser and pager. It is also used in the file manager ranger. It works both with or without X. I am using it in emacs-framebuffer too to display images and documents in Emacs. The issues I am facing have nothing to do with modules or libraries. For example: It would be more convenient, if there was a way to specify elisp function to draw an image. By default, it could just call the existing C code but this would also allow me to specify a different elisp function which would then for example call w3mimgdisplay. It would be more convenient, if an image was represented as elisp data instead of C data. iirc there is no way to add new image types without touching C. Is there a way to turn off cursor for a buffer? (Blinking cursor disrupts the drawn image.) Is there a way run a function after emacs changes something on the screen in a buffer?