From: Eli Zaretskii <eliz@gnu.org>
To: Akira Kyle <ak@akirakyle.com>
Cc: emacs-devel@gnu.org
Subject: Re: Rethinking the design of xwidgets
Date: Tue, 13 Oct 2020 17:16:20 +0300 [thread overview]
Message-ID: <835z7e2ouj.fsf@gnu.org> (raw)
In-Reply-To: <864kmzupp0.fsf@akirakyle.com> (message from Akira Kyle on Mon, 12 Oct 2020 14:58:19 -0600)
> From: Akira Kyle <ak@akirakyle.com>
> Date: Mon, 12 Oct 2020 14:58:19 -0600
>
> One of my primary uses of emacs is as a scientific notebook
> utilizing org mode's support for literate programming to
> interweave prose, LaTeX, and code. I find this to be far more
> powerful and comfortable than using the Jupyter notebooks which
> have quickly become incredibly popular for such scientific
> computing. However the biggest pain point I have is due to Emacs'
> relatively poor capabilities for interfacing with objects other
> than text. Sure Emacs can display images ok, but I'm not aware of
> any way to get emacs to display more dynamic content.
Can you tell more about the dynamic content you had in mind, and why
you thought to use xwidgets as the basis for that? There's IMO a leap
of logic here that I cannot follow, perhaps because I don't have the
necessary background information.
From my POV, xwidgets have several problems which don't allow me to
easily see them as the basis for some much more general set of
features or infrastructure:
. they depend on GTK and webkit, whose development leaves a lot to
be desired, and some say parts of that have no future; they are
definitely less portable than I'd like to see in Emacs
. their integration in the Emacs display code "needs work", there's
at least one or two places where the code which handles them is
clearly wrong -- this is semi-okay for a minor niche feature, but
not for something on which we want to build our future
So before we decide that xwidgets is the way to go, I'd like to make a
step back and see what other alternatives we can think of, if any, and
carefully consider which alternative is best in the long run.
> That leads me to my following proposal to rethink the design of
> xwidgets. Given that Emacs now has support for dynamic modules and
> it is now enabled by default, I propose exposing an interface for
> dynamic modules to define custom xwidgets. I believe this would be
> a good way to solve the two fundamental issues with the current
> xwidgets implementation that I described above. Having a well
> defined interface means one wouldn't have to deal with debugging
> subtle redisplay and lisp interpreter issues when creating a
> custom xwidget type. Furthermore any external library needed for a
> custom xwidget type will only be required if one chooses to use
> that xwidget type and would keep such dependencies out of Emacs
> itself.
Here, too, I'd like first to consider a design that doesn't require
dynamic modules as a prerequisite for the feature. If we can come up
with something that requires only Lisp (like image display does, for
example), then I think we all win, because it is much easier to write
a Lisp package than a package that requires a module in C or similar
language.
Bottom line, I'd like to understand the problem you are trying to
solve better before we conclude that xwidgets and dynamic modules are
the way to go.
Thanks.
next prev parent reply other threads:[~2020-10-13 14:16 UTC|newest]
Thread overview: 224+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-12 20:58 Rethinking the design of xwidgets Akira Kyle
2020-10-12 22:18 ` joakim
2020-10-13 16:07 ` Akira Kyle
2020-10-13 19:06 ` joakim
2020-10-14 0:33 ` Akira Kyle
2020-10-13 13:36 ` Stefan Monnier
2020-10-13 16:09 ` Akira Kyle
2020-10-13 14:16 ` Eli Zaretskii [this message]
2020-10-13 17:05 ` Akira Kyle
2020-10-13 17:24 ` Qiantan Hong
2020-10-13 18:29 ` Akira Kyle
2020-10-13 18:44 ` Qiantan Hong
2020-10-13 19:17 ` Eli Zaretskii
2020-10-13 20:52 ` Akira Kyle
2020-10-14 14:36 ` Eli Zaretskii
2020-10-14 17:01 ` Stefan Monnier
2020-10-15 19:55 ` arthur miller
2020-10-13 18:45 ` Eli Zaretskii
2020-10-13 21:00 ` Akira Kyle
2020-10-14 14:44 ` Eli Zaretskii
2020-10-15 0:35 ` Akira Kyle
2020-10-15 2:07 ` Stefan Monnier
2020-10-15 3:35 ` arthur miller
2020-10-15 15:06 ` Eli Zaretskii
2020-10-15 15:20 ` Arthur Miller
2020-10-15 15:48 ` Eli Zaretskii
2020-10-13 17:55 ` Eli Zaretskii
2020-10-13 18:42 ` Basil L. Contovounesios
2020-10-13 19:10 ` Eli Zaretskii
2020-10-13 20:37 ` Akira Kyle
2020-10-14 14:33 ` Eli Zaretskii
2020-10-14 15:04 ` Arthur Miller
2020-10-14 15:32 ` Eli Zaretskii
2020-10-15 13:20 ` Arthur Miller
2020-10-17 4:26 ` Kai Ma
2020-10-17 4:42 ` Qiantan Hong
2020-11-14 5:40 ` Richard Stallman
2020-10-14 16:53 ` Stefan Monnier
2020-10-14 18:56 ` Aiko Kyle
2020-10-15 12:48 ` Arthur Miller
2020-10-15 16:25 ` Akira Kyle
2020-10-15 12:35 ` Arthur Miller
2020-10-16 4:02 ` Richard Stallman
2020-10-16 13:03 ` Arthur Miller
2020-10-16 18:38 ` Dmitry Gutov
2020-10-17 4:19 ` Richard Stallman
2020-10-17 4:21 ` Richard Stallman
2020-10-17 6:30 ` Arthur Miller
2020-10-17 13:35 ` Stefan Monnier
2020-10-17 19:15 ` Arthur Miller
2020-10-19 3:44 ` Richard Stallman
2020-10-18 4:17 ` Richard Stallman
2020-10-18 4:17 ` Richard Stallman
2020-10-18 9:31 ` Dmitry Gutov
2020-10-19 3:44 ` Richard Stallman
2020-10-19 12:37 ` Dmitry Gutov
2020-10-19 13:43 ` Arthur Miller
2020-10-20 5:13 ` Richard Stallman
2020-10-20 5:47 ` Arthur Miller
2020-10-20 12:58 ` Stefan Monnier
2020-10-20 13:40 ` Arthur Miller
2020-10-21 4:42 ` Richard Stallman
2020-10-21 12:25 ` Arthur Miller
2020-10-21 4:46 ` Richard Stallman
2020-10-20 5:14 ` Richard Stallman
2020-10-20 5:56 ` Arthur Miller
2020-10-20 10:45 ` Dmitry Gutov
2020-10-20 13:49 ` Arthur Miller
2020-10-20 20:11 ` Jean Louis
2020-10-20 23:25 ` Sv: " arthur miller
2020-10-21 8:10 ` Jean Louis
2020-10-21 11:59 ` Arthur Miller
2020-10-21 12:58 ` Hardware respecting your freedom Jean Louis
2020-10-22 2:53 ` Arthur Miller
2020-10-22 7:08 ` Jean Louis
2020-10-23 3:40 ` Richard Stallman
2020-10-23 12:53 ` Arthur Miller
2020-10-23 15:15 ` Pankaj Jangid
2020-10-24 3:49 ` Richard Stallman
2020-10-24 6:02 ` Jean Louis
2020-10-24 15:00 ` Arthur Miller
2020-10-25 3:54 ` Richard Stallman
2020-10-21 4:46 ` Rethinking the design of xwidgets Richard Stallman
2020-10-19 13:34 ` Arthur Miller
2020-10-19 14:04 ` Stefan Monnier
2020-10-20 5:13 ` Richard Stallman
2020-10-18 14:41 ` Arthur Miller
2020-10-19 3:48 ` Richard Stallman
2020-10-19 13:48 ` Arthur Miller
2020-10-16 14:54 ` Dmitry Gutov
2020-10-14 18:07 ` Akira Kyle
2020-10-14 18:32 ` Eli Zaretskii
2020-10-14 19:10 ` Akira Kyle
2020-10-13 18:36 ` Tomas Hlavaty
2020-10-13 18:38 ` Tomas Hlavaty
2020-10-13 21:20 ` Aiko Kyle
2020-10-14 0:12 ` Corwin Brust
2020-10-14 19:16 ` Akira Kyle
2020-10-14 7:32 ` Tomas Hlavaty
2020-10-14 15:02 ` Eli Zaretskii
2020-10-14 16:35 ` Tomas Hlavaty
2020-10-14 19:22 ` Akira Kyle
2020-10-14 21:29 ` Tomas Hlavaty
2020-10-16 4:02 ` Richard Stallman
2020-10-16 13:09 ` Arthur Miller
2020-10-14 19:24 ` Mingde (Matthew) Zeng
2020-10-14 21:46 ` Akira Kyle
2020-10-15 5:17 ` Mingde (Matthew) Zeng
2020-10-14 4:38 ` Richard Stallman
2020-10-14 6:36 ` Akira Kyle
2020-11-22 3:35 ` Introducing emacs-webkit and more thoughts on Emacs rendering (was Rethinking the design of xwidgets) Akira Kyle
2020-11-22 12:01 ` Jean Louis
2020-11-22 12:04 ` Jean Louis
2020-11-22 12:18 ` tomas
2020-11-22 12:57 ` Jean Louis
2020-11-22 16:24 ` tomas
2020-11-22 17:18 ` Jean Louis
2020-11-22 17:48 ` tomas
2020-11-22 18:40 ` Akira Kyle
2020-11-22 19:58 ` Jean Louis
2020-11-22 20:29 ` Akira Kyle
2020-11-22 20:38 ` Jean Louis
2020-11-22 15:27 ` Arthur Miller
2020-11-22 12:50 ` Jean Louis
2020-11-22 18:33 ` Akira Kyle
2020-11-22 18:04 ` Eli Zaretskii
2020-11-22 18:46 ` Akira Kyle
2020-11-22 21:20 ` Vasilij Schneidermann
2020-11-22 22:04 ` Akira Kyle
2020-11-22 18:29 ` T.V Raman
2020-11-22 18:53 ` Akira Kyle
2020-11-22 19:35 ` T.V Raman
2020-11-22 20:26 ` Akira Kyle
2020-11-23 0:46 ` T.V Raman
2020-11-23 3:44 ` Akira Kyle
2020-11-23 3:01 ` T.V Raman
2020-11-23 3:47 ` Akira Kyle
2020-11-23 16:29 ` Jose A. Ortega Ruiz
2020-11-23 9:39 ` Lars Ingebrigtsen
2020-11-23 13:26 ` joakim
2020-11-24 6:21 ` Lars Ingebrigtsen
2020-11-23 14:59 ` Arthur Miller
2020-11-23 23:47 ` Alan Third
2020-11-24 3:58 ` Akira Kyle
2020-11-24 8:06 ` Arthur Miller
2020-11-24 5:51 ` Richard Stallman
2020-11-24 6:24 ` Lars Ingebrigtsen
2020-11-26 4:49 ` Richard Stallman
2020-11-26 5:25 ` Arthur Miller
2020-11-26 8:27 ` tomas
2020-11-26 14:55 ` Arthur Miller
2020-11-26 19:11 ` Tomas Hlavaty
2020-11-26 19:34 ` arthur miller
2020-11-27 8:04 ` Tomas Hlavaty
2020-11-27 8:44 ` Arthur Miller
2020-11-27 13:35 ` Richard Stallman
2020-11-27 19:22 ` Arthur Miller
2020-11-27 20:01 ` Eli Zaretskii
2020-11-27 21:22 ` Arthur Miller
2020-11-27 20:07 ` Stefan Monnier
2020-11-27 21:09 ` Arthur Miller
2020-11-27 21:35 ` Stefan Monnier
2020-11-27 23:23 ` Arthur Miller
2020-11-28 0:28 ` Stefan Monnier
2020-11-28 8:48 ` Arthur Miller
2020-11-27 21:22 ` Akira Kyle
2020-11-28 7:31 ` Eli Zaretskii
2020-11-28 5:55 ` Richard Stallman
2020-11-28 8:50 ` Arthur Miller
2020-11-29 5:24 ` Richard Stallman
2020-11-24 7:50 ` Arthur Miller
2020-11-24 8:47 ` tomas
2020-11-24 9:04 ` Arthur Miller
2020-11-25 5:38 ` Richard Stallman
2020-11-25 8:46 ` tomas
2020-11-25 15:26 ` Arthur Miller
2020-11-25 16:15 ` Eric S Fraga
2020-11-24 15:43 ` T.V Raman
2020-11-25 5:38 ` Richard Stallman
2020-11-25 8:54 ` tomas
2020-11-24 6:23 ` Lars Ingebrigtsen
2020-11-24 3:33 ` Akira Kyle
2020-11-24 6:27 ` Lars Ingebrigtsen
2020-11-25 1:36 ` Akira Kyle
2020-11-25 15:11 ` Eli Zaretskii
2020-11-27 20:56 ` Akira Kyle
2020-11-28 8:38 ` Eli Zaretskii
2020-11-28 8:57 ` Arthur Miller
2020-11-28 9:19 ` Eli Zaretskii
2020-11-29 0:22 ` Arthur Miller
2020-11-29 1:29 ` Akira Kyle
2020-11-29 8:22 ` martin rudalics
2020-11-29 19:01 ` Eli Zaretskii
2020-11-30 3:54 ` Akira Kyle
2020-11-30 15:39 ` Eli Zaretskii
2020-11-30 17:03 ` Akira Kyle
2020-11-30 18:11 ` Eli Zaretskii
2020-11-30 18:30 ` Akira Kyle
2020-12-01 7:44 ` Tomas Hlavaty
2020-12-03 0:24 ` Akira Kyle
2020-12-03 8:07 ` Tomas Hlavaty
2020-12-03 20:34 ` Arthur Miller
2020-12-03 20:53 ` Stefan Monnier
2020-12-01 8:01 ` Tomas Hlavaty
2020-12-01 15:36 ` Arthur Miller
2020-12-01 16:48 ` Tomas Hlavaty
2020-12-01 15:58 ` Eli Zaretskii
2020-12-01 17:33 ` Tomas Hlavaty
2020-12-01 19:41 ` Eli Zaretskii
2020-12-02 20:37 ` Tomas Hlavaty
2020-12-03 14:39 ` Eli Zaretskii
2020-12-03 21:02 ` Tomas Hlavaty
2020-12-04 7:48 ` Eli Zaretskii
2020-12-03 0:37 ` Akira Kyle
2020-12-03 8:15 ` Tomas Hlavaty
2020-12-03 15:13 ` Eli Zaretskii
2020-12-03 21:15 ` Tomas Hlavaty
2020-12-04 8:00 ` Eli Zaretskii
2020-11-30 9:05 ` martin rudalics
2020-11-30 16:10 ` Eli Zaretskii
2020-11-23 22:12 ` Alexander Adolf
2020-11-24 1:30 ` T.V Raman
2020-11-24 8:13 ` Arthur Miller
2020-11-24 3:51 ` Akira Kyle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=835z7e2ouj.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=ak@akirakyle.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.