From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.devel Subject: Re: GtkPlug patch Date: Tue, 3 Jan 2006 08:53:37 +0100 (CET) Message-ID: <200601030753.k037rc1o021950@coolsville.localdomain> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1136277278 2250 80.91.229.2 (3 Jan 2006 08:34:38 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 3 Jan 2006 08:34:38 +0000 (UTC) Cc: m_wingert@sbcglobal.net, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 03 09:34:33 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Ethcj-0005Oi-BU for ged-emacs-devel@m.gmane.org; Tue, 03 Jan 2006 09:34:29 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EtheL-0008DO-0H for ged-emacs-devel@m.gmane.org; Tue, 03 Jan 2006 03:36:09 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Eth3w-00054J-Uy for emacs-devel@gnu.org; Tue, 03 Jan 2006 02:58:33 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Eth2R-0004HM-0M for emacs-devel@gnu.org; Tue, 03 Jan 2006 02:57:01 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Eth1i-00040l-5z for emacs-devel@gnu.org; Tue, 03 Jan 2006 02:56:14 -0500 Original-Received: from [195.54.107.70] (helo=mxfep01.bredband.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Eth2q-0004xg-PC; Tue, 03 Jan 2006 02:57:25 -0500 Original-Received: from coolsville.localdomain ([83.226.180.193] [83.226.180.193]) by mxfep01.bredband.com with ESMTP id <20060103075428.SRQK17450.mxfep01.bredband.com@coolsville.localdomain>; Tue, 3 Jan 2006 08:54:28 +0100 Original-Received: (from jhd@localhost) by coolsville.localdomain (8.13.4/8.13.4/Submit) id k037rc1o021950; Tue, 3 Jan 2006 08:53:38 +0100 In-Reply-To: "from Richard M. Stallman at Jan 1, 2006 07:25:01 pm" Original-To: rms@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:48645 Archived-At: > > 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.