From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Platform independent graphical display for Emacs Date: Thu, 23 Dec 2021 20:30:42 -0800 Message-ID: References: <87ilvgwfor.fsf@telefonica.net> <83a6grx1o9.fsf@gnu.org> <834k6zwvi1.fsf@gnu.org> <87h7azilmu.fsf@yahoo.com> <87sfujh4a2.fsf@yahoo.com> <877dbuhm6j.fsf@yahoo.com> <87tueyg5gc.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21093"; mail-complaints-to="usenet@ciao.gmane.io" To: Drew Adams , Po Lu , "xenodasein--- via Emacs development discussions." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Dec 24 05:31:40 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 1n0cF1-0005Ib-Hm for ged-emacs-devel@m.gmane-mx.org; Fri, 24 Dec 2021 05:31:39 +0100 Original-Received: from localhost ([::1]:37110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n0cF0-00065G-2q for ged-emacs-devel@m.gmane-mx.org; Thu, 23 Dec 2021 23:31:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41376) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n0cEA-0005Oz-IQ for emacs-devel@gnu.org; Thu, 23 Dec 2021 23:30:46 -0500 Original-Received: from [2607:f8b0:4864:20::535] (port=38879 helo=mail-pg1-x535.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n0cE8-0005nJ-Kt for emacs-devel@gnu.org; Thu, 23 Dec 2021 23:30:45 -0500 Original-Received: by mail-pg1-x535.google.com with SMTP id s1so5123935pga.5 for ; Thu, 23 Dec 2021 20:30:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:in-reply-to:references:mime-version:date:message-id:subject:to; bh=P7zIptEMAkslQB6gEd+sa+6Dv/V0TFyb3lS1pI2R+I4=; b=XwY++JkLJh5gzZmPDabUKEEUPllaZnk8jigzuFE0rL5aQGNiFkoFu+QmC6z65P/yPz h/baRtO7ZEMWIhz/LwuSpD+MmTDocr/vs2FLPDU+1B1htYLpH185pUeF7KpBXnV8PsW+ h+LJUsajIjbkjEmVaUHvW08YXXbBpKQL8gV9dODoh5SCWY2peoOZjvfdD/l0MQJv7luT pjlxQrxiVVFpfyE9vAbfDl1HKUuSOz7OXIf+ZCV32jdbkc6JQG6qUb4S0V3ikf7rekFU Xs0uBSaXJv5uAos0+3k1CfpUD+MmzzFddYnssG+ZGshxb42fUqc19UcyUhEw0EPt2zhC jgBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to; bh=P7zIptEMAkslQB6gEd+sa+6Dv/V0TFyb3lS1pI2R+I4=; b=IvKlteltZ0rw7MZnuvueFJAXPL7vb/2q/t/ydvs48ugvujJMuRKiIBwK6NJiZL51xT YRd9RlvwPH20THJu4v0RILc+BSjK97ACMTxmeliOkPUQVML7pjvHnADjJLTb2/IWxKYE OsJ9J9TxQDpE+qKvvmYl/YqGaods953ADt0LUZlEAbs26WrqesOx/iFReMtr4jNp//lR OwGIOMkhEHpjqBxMDc0tUlkazqYXjaqOXpFuFphpMhR/cSvHEDhgVlCThaFfw6HQM1WI Z7a0x5Fpacy7WRF8iYg2myFx6kjTL/tOIBgm0WOvvG++CBzd9m+P40ot3LNZIb3SN436 8bSg== X-Gm-Message-State: AOAM530xKVQvrZSm+weHQN+6DLBWJLQu/kQRUsxPfYq7o7rHxMUAg1aL PIcj5OJ/KGXtTzDB1/NxtCqPpz6J69EDpvchINw= X-Google-Smtp-Source: ABdhPJwLxpFlF3ibULmRrerYONgPbC9IdjEaG/Dy+pVbfnnJaO58ngGqLt/bh0szT8hDmFpIMKfpQqTfH2cIXo8bVy4= X-Received: by 2002:a63:2c11:: with SMTP id s17mr4602282pgs.435.1640320243177; Thu, 23 Dec 2021 20:30:43 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 23 Dec 2021 20:30:42 -0800 In-Reply-To: X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::535 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::535; envelope-from=stefankangas@gmail.com; helo=mail-pg1-x535.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, 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:283080 Archived-At: Drew Adams writes: >> FWIW, I think it would be highly preferable if Emacs >> could look and behave the same across all platforms. > > OK, why do you think that would be highly preferable? I don't think that what we do necessarily translates very well to the widgets provided by common toolkits. For example, the mode line is not rendered by a toolkit. OTOH, I can see plenty of benefits with doing things ourselves. With regards to tooltips, in VSCode they can also include links to relevant actions. I don't think we can currently do that (or e.g. use faces and have them work). Dialogs are basically not very useful or Emacsy as is. When they pop up, you are completely outside of "Emacs land", and there is no way for us to add keybindings, style them, etc. or do much of anything really. Our scrollbars are fairly subpar compared to the ones in VSCode, at least in GTK. Admittedly that might be to some extent because it is hard to style them from Lisp themes (I guess that's not currently possible). There is a similar story with the tab bar, tab line and toolbar. Then we have things like the posframe package, where the minibuffer pops up on top of the current buffers. That currently works with a hack (a separate frame) but we could imagine having our own widget for that. IMO, we would ideally want that to look the same across platforms. I think there are many more things that we could do if we wanted to. You can fire up an editor made by the competition and see what they do for more ideas. That said, all of this would obviously be a lot of work and until and unless someone starts such work this is all rather academic. > How similar are you aiming for? No idea. I guess the menus would be different on macOS. > And would that be by limiting what's possible on some platforms > (lowest common denominator)? I don't think it would necessarily imply that, no.