all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: Aiko Kyle <aikokyle@gmail.com>
Cc: joakim@verona.se,  Lars Ingebrigtsen <larsi@gnus.org>,
	 Anand Tamariya <atamariya@gmail.com>,
	 Emacs Devel <emacs-devel@gnu.org>
Subject: Re: Multimedia dashboard in GNU Emacs
Date: Thu, 30 Dec 2021 09:02:02 +0800	[thread overview]
Message-ID: <87ee5usy5x.fsf@yahoo.com> (raw)
In-Reply-To: <CAPWcbYGpbyk9DWoU0J=B1HR+GwFMNys=Dn1ALVCiZO1Md6Xo-g@mail.gmail.com> (Aiko Kyle's message of "Wed, 29 Dec 2021 12:08:08 -0700")

Aiko Kyle <aikokyle@gmail.com> writes:

> I think that the question of how well an xwidget obeys "the emacs
> paradigm" depends on the content it's displaying. If it were a button
> or some other element in a larger button, I agree that the current
> model fits the emacs way well enough. However I think when the xwidget
> is the only element in a buffer and takes up a large portion or even
> the whole window, then I think the correct paradigm would resemble
> something like doc-view, where the two widow's xwidgets can show
> different views if they have some notion of scrolling.

I think Doc View uses per-window overlays to achieve that, which you can
also do with xwidgets.

> This is the current implementation that Po Lu has fixed various
> flickering bugs on master for xwidgets on x.

That was the old implementation as well, but it used GDK windows instead
of X windows, which could be painted over by Emacs drawing commands, and
caused flickering.

That doesn't make sense with a GtkSocket, because it uses XEmbed
under-the-hood, which basically tells some other program where to place
a window.  A GtkSocket does no drawing by itself.

A better solution would be to redirect a window (given an XID) to some
off-screen pixmap, and to display that pixmap in every window instead.



  parent reply	other threads:[~2021-12-30  1:02 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-24  6:35 Multimedia dashboard in GNU Emacs Anand Tamariya
2021-12-24  9:46 ` Lars Ingebrigtsen
2021-12-24 10:03   ` Po Lu
2021-12-27  4:22     ` Anand Tamariya
2021-12-27  5:03       ` Po Lu
2021-12-29  1:44         ` Aiko Kyle
2021-12-29 13:34           ` joakim
2021-12-29 19:08             ` Aiko Kyle
2021-12-29 20:08               ` joakim
2021-12-29 23:39                 ` Aiko Kyle
2021-12-30  1:02               ` Po Lu [this message]
2021-12-30  3:21                 ` Aiko Kyle
2021-12-30  3:29                   ` Po Lu
2021-12-30  4:18                     ` Aiko Kyle
2021-12-30  4:48                       ` Po Lu
2021-12-30 20:25                         ` Aiko Kyle
2021-12-31  0:59                           ` Po Lu
2021-12-31  2:39                             ` Aiko Kyle
2021-12-31  3:38                               ` Po Lu
2021-12-27  4:16   ` Anand Tamariya
2021-12-27 12:06     ` Lars Ingebrigtsen
2021-12-28  4:19     ` Richard Stallman
2021-12-28  5:41       ` Po Lu

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=87ee5usy5x.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=aikokyle@gmail.com \
    --cc=atamariya@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=joakim@verona.se \
    --cc=larsi@gnus.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.