From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Motif support Date: Wed, 22 Dec 2021 21:08:31 +0100 Message-ID: <87r1a4wgg0.fsf@telefonica.net> References: <83fsqlzyxo.fsf@gnu.org> <837dbxzv6x.fsf@gnu.org> <83r1a4wnay.fsf@gnu.org> <83lf0cwif8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33737"; 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:LxOAs8LQt8P4xaZr5mA575U4Xk8= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 22 21:12:28 2021 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 1n07yM-0008db-SP for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Dec 2021 21:12:26 +0100 Original-Received: from localhost ([::1]:40944 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n07yL-00031G-30 for ged-emacs-devel@m.gmane-mx.org; Wed, 22 Dec 2021 15:12:25 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n07uo-0006Pj-6n for emacs-devel@gnu.org; Wed, 22 Dec 2021 15:08:46 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:56036) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n07um-0008PX-8t for emacs-devel@gnu.org; Wed, 22 Dec 2021 15:08:45 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1n07ui-0004K0-1W for emacs-devel@gnu.org; Wed, 22 Dec 2021 21:08:40 +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: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:282833 Archived-At: Eli Zaretskii writes: >> What I try to say is that it is possible to do gui on it's own. > > It's possible, sure. But why would we want to do that? It gives you ultimate control over the GUI. Start with a surface and put there whatever you want. > We have enough work on our hands without that. He is not asking you to do the work ;-) >> Menus, toolbar and scrollbar are not very hard to do without external >> toolkit, and since this thread took up that Emacs talks to numerous toolkits, it >> may be pointed out that doing own thing might be a simplification of the code >> base. > > If you read this thread since its beginning, you have read the message > where I explained that it won't simplify the code, because eventually > you'd need to call the GUI APIs that are different for different > platforms. You can use a cross-platform layer for that. There are many readily available, developed by the game crowd. Some of them are ridiculously simple and powerful at the same time. >> > Did you look at, for example, the MS-Windows back-end of the Cairo >> > port to Windows? >> >> Not really. I am quite sure they need to talk to the OS at some point, but >> that is different to rely on OS to render menus and buttons, or just low level >> stuff to open a window or blit ssurfaces. > > I suggest that you look at the code, because the reality is quite > different from what you think. The calls to Win32 APIs are all over > the place there. See above. >> I am not trying to be devil't advocate, or annoying, I just believe that code >> base would be easier to work and experiment with without so many different paths. > > If you can suggest reasonable practical ways of doing that, by all > means go ahead. I didn't yet hear any such proposal in this > discussion. It would be not easy. Well, actually, the easier part would be the pure graphical one. But integrating events and, above all, defining, exposing and implementing on the display engine the new primitives for the drawing features we wish to expose to Elisp looks like the most difficult part to me. And then every possible technique for the graphical part has its own rough edges that you need to overcome. But if done right Emacs would give any other modern editor a run for his money.