unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jan D." <jan.h.d@swipnet.se>
Cc: m_wingert@sbcglobal.net, emacs-devel@gnu.org
Subject: Re: GtkPlug patch
Date: Tue, 3 Jan 2006 08:53:37 +0100 (CET)	[thread overview]
Message-ID: <200601030753.k037rc1o021950@coolsville.localdomain> (raw)
In-Reply-To: <E1EtDVV-00007z-A6@fencepost.gnu.org> "from Richard M. Stallman at Jan 1, 2006 07:25:01 pm"

>     > Does anyone know what we need to do
>     > to make the Xt versions of Emacs handle XEmbed?
> 
>     Since Emacs has its own event loop, the implementation for non-Xt (i.e. pure 
>     Xlib) would be the same as for Xt.  Like the drop part of drag and drop is now.
> 
> So much the better--but still, does someone know how to make the event loop
> handle these?

We have to take care of some SendEvent:s and PropertyNotify regarding
focus and keyboard/mouse input, as well as reacting slightly different
to ReparentNotify.

Basically XEMBED spcifies how an embedder shall forward events (key, mouse)
to the embedded application (Emacs in this case).  It also specifies how
the embedder tells the embedded application when it has focus or not, and
when it should move the focus to the next member in a TAB-group (like
tabbing to the next button in a toolbar).  The embedded application can
also register accelerator keys so when the embedder has focus it knows when
an accelerator key is pressed that it should go to the embedded application.

But even if it is very simple in the Gtk+ case, and only a bit more
complicated in the general case, there are other issues here.  Like for
instance, what should an embedded Emacs do when someone tries to
move or resize the window from lisp?  The code in general assumes Emacs
is not embedded, but a free standing application.  I suspect if we put this
in now, we will find several such issues.  Therefore I think this should wait
to the next release.

	Jan D.

  parent reply	other threads:[~2006-01-03  7:53 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-26 23:09 GtkPlug patch Timo Savola
2005-12-29  7:02 ` Timo Savola
2005-12-31 11:06   ` Jan Djärv
2005-12-31 11:23     ` Jan Djärv
2005-12-31 17:24     ` mr mike
2006-01-01  2:14       ` Richard M. Stallman
2006-01-01 15:57         ` Jan Djärv
2006-01-02  0:25           ` Richard M. Stallman
2006-01-02  9:18             ` Timo Savola
2006-01-02  9:51               ` Timo Savola
2006-01-02 23:48               ` Richard M. Stallman
2006-01-03  8:45                 ` Timo Savola
2006-01-03  7:53             ` Jan D. [this message]
2006-01-03 18:27               ` Richard M. Stallman
2006-01-03 18:37                 ` David Kastrup
2006-01-03 20:29                   ` Timo Savola
2006-01-04  6:15                     ` Richard M. Stallman
2006-01-04 22:11                     ` Jan D.
2006-01-04 22:09                   ` Jan D.
2006-01-05  6:13                     ` Timo Savola
2006-01-05 10:34                       ` Jan D.
2006-01-03 13:41 ` Lőrentey Károly

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200601030753.k037rc1o021950@coolsville.localdomain \
    --to=jan.h.d@swipnet.se \
    --cc=emacs-devel@gnu.org \
    --cc=m_wingert@sbcglobal.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).