unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs plugin system & Gecko embedding
@ 2008-05-04 21:06 R. P. Dillon
  2008-05-04 21:19 ` David Reitter
  0 siblings, 1 reply; 14+ messages in thread
From: R. P. Dillon @ 2008-05-04 21:06 UTC (permalink / raw
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1752 bytes --]

I posted something like this to comp.emacs, but I thought this would be a
far better forum.

After reading Steve Yegge's recent post about Emacs' competitor being
Firefox (user extensibility being the central feature of concern) rather
than, say, XEmacs or IDEs, I began to see what he was saying, as outlandish
as it sounds.

Out of that post came a comment that having "real" browsing capability
inside of Emacs would be a killer feature.  I tend to agree.  I *live* in
Emacs and Firefox.
I don't think this can be effectively accomplished in elisp, and I also
think that starting from scratch would be too much burden on the dev team.
I think integration of Gecko would be a good option.  While it is GPL, it
can never become *part* of Emacs proper (no assignment of copyright to FSF),
but Mozilla is in the process of working on XULRunner, which is supposed to
provide something called libxul that can be used for cross-platform
embedding of Gecko into other programs.  If Emacs included a wrapper for
libxul, folks that have Firefox installed could make use of Gecko rendering
inside of Emacs.  For me, at least, this would be fabulous.  I'm aware of
efforts along these lines using XEmebed, but that is quite platform specific
(i.e. GNU/Linux, BSD, etc.), neither Windows users nor OS X users would be
able to avail themselves of that functionality.

To my question: is this something that anyone sees value in doing?  Can we
abstract a buffer in such a way that an arbitrary piece of C/C++ can be
wrapped to satisfy the buffer "contract" and be embeded in Emacs?  If so,
this could form the basis for a type of plugin system that could extend
Emacs at the C level and would allow for libxul to be leveraged to create an
in-Emacs browser system.

[-- Attachment #2: Type: text/html, Size: 1864 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-04 21:06 Emacs plugin system & Gecko embedding R. P. Dillon
@ 2008-05-04 21:19 ` David Reitter
  2008-05-04 21:33   ` R. P. Dillon
                     ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: David Reitter @ 2008-05-04 21:19 UTC (permalink / raw
  To: R. P. Dillon; +Cc: emacs-devel

On 4 May 2008, at 22:06, R. P. Dillon wrote:

> Out of that post came a comment that having "real" browsing  
> capability inside of Emacs would be a killer feature.  I tend to  
> agree.  I *live* in Emacs and Firefox.


A browser inside Emacs: do you agree that this would only make sense  
if all text editing was governed by Emacs, i.e. each text area was  
handled by Emacs directly as a buffer?
(Is that doable with the new Gecko library?)

In that case, why not have an extra port of Emacs that would provide a  
"text area widget" (and maybe more) to be used as library by other  
applications written in GTK/GNUStep/Cocoa/whatever frameworks?







^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-04 21:19 ` David Reitter
@ 2008-05-04 21:33   ` R. P. Dillon
  2008-05-05 11:09     ` David Kastrup
  2008-05-05 11:00   ` joakim
  2008-05-05 15:14   ` Richard M Stallman
  2 siblings, 1 reply; 14+ messages in thread
From: R. P. Dillon @ 2008-05-04 21:33 UTC (permalink / raw
  To: David Reitter; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1326 bytes --]

On Sun, May 4, 2008 at 2:19 PM, David Reitter <david.reitter@gmail.com>
wrote:

> A browser inside Emacs: do you agree that this would only make sense if
> all text editing was governed by Emacs, i.e. each text area was handled by
> Emacs directly as a buffer?
> (Is that doable with the new Gecko library?)


It would make the most sense to have the text areas in gecko governed by
Emacs.  It does complicate things, however; I don't think libxul provides
that level of transparency into what it renders, though I am quite ignorant
of both libxul and Emacs at the C level.  Of course, if libxul offered the
same plugin architecture that Firefox does, then a plugin like It's All Text
could be used to call emacsclient when editting text areas.  Seems a bit
like the snake eating its tail, but it may be a reasonable first cut at the
concept.


> In that case, why not have an extra port of Emacs that would provide a
> "text area widget" (and maybe more) to be used as library by other
> applications written in GTK/GNUStep/Cocoa/whatever frameworks?


This is a possibilty - my focus was less on Emacs as a text editor, and more
on the buffer management, search, window configurations (C-x r w) and kill
ring sharing that embedding would offer.  Of course, being able to edit text
areas in Emacs would be icing on the cake.

[-- Attachment #2: Type: text/html, Size: 1792 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-04 21:19 ` David Reitter
  2008-05-04 21:33   ` R. P. Dillon
@ 2008-05-05 11:00   ` joakim
  2008-05-05 12:26     ` Jan Djärv
                       ` (2 more replies)
  2008-05-05 15:14   ` Richard M Stallman
  2 siblings, 3 replies; 14+ messages in thread
From: joakim @ 2008-05-05 11:00 UTC (permalink / raw
  To: David Reitter; +Cc: emacs-devel

David Reitter <david.reitter@gmail.com> writes:

> On 4 May 2008, at 22:06, R. P. Dillon wrote:
>
>> Out of that post came a comment that having "real" browsing
>> capability inside of Emacs would be a killer feature.  I tend to
>> agree.  I *live* in Emacs and Firefox.
>
>
> A browser inside Emacs: do you agree that this would only make sense
> if all text editing was governed by Emacs, i.e. each text area was
> handled by Emacs directly as a buffer?
> (Is that doable with the new Gecko library?)
>
> In that case, why not have an extra port of Emacs that would provide a
> "text area widget" (and maybe more) to be used as library by other
> applications written in GTK/GNUStep/Cocoa/whatever frameworks?


FWIW I'm working(rather slowly), towards the goal of allowing embedding of
gtk widgets in emacs buffers. If it suceeds, it would be possible to
embed firefox in emacs, using the gtk-socket facility which allows for
easy embedding of xembed capable programs.

Initially the interaction between emacs and embedded apps would be very
spartan though.

>
>
>
>
-- 
Joakim Verona




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-04 21:33   ` R. P. Dillon
@ 2008-05-05 11:09     ` David Kastrup
  0 siblings, 0 replies; 14+ messages in thread
From: David Kastrup @ 2008-05-05 11:09 UTC (permalink / raw
  To: R. P. Dillon; +Cc: David Reitter, emacs-devel

"R. P. Dillon" <rpdillon@gmail.com> writes:

> This is a possibilty - my focus was less on Emacs as a text editor,
> and more on the buffer management, search, window configurations (C-x
> r w) and kill ring sharing that embedding would offer.  Of course,
> being able to edit text areas in Emacs would be icing on the cake.

The layout of the text areas is not usually suitable for an Emacs
window.

The "It's all Text" addon for firefox already allows using
Emacs/Emacsclient as a text editor for all text areas.

I have my doubts that an integration tighter than that is doable with
reasonable effort and provides a consistent user interface.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 11:00   ` joakim
@ 2008-05-05 12:26     ` Jan Djärv
  2008-05-05 12:52       ` joakim
  2008-05-05 22:06     ` Richard M Stallman
  2008-05-06  1:02     ` David Hansen
  2 siblings, 1 reply; 14+ messages in thread
From: Jan Djärv @ 2008-05-05 12:26 UTC (permalink / raw
  To: joakim; +Cc: David Reitter, emacs-devel



joakim@verona.se skrev:
> David Reitter <david.reitter@gmail.com> writes:
> 
>> On 4 May 2008, at 22:06, R. P. Dillon wrote:
>>
>>> Out of that post came a comment that having "real" browsing
>>> capability inside of Emacs would be a killer feature.  I tend to
>>> agree.  I *live* in Emacs and Firefox.
>>
>> A browser inside Emacs: do you agree that this would only make sense
>> if all text editing was governed by Emacs, i.e. each text area was
>> handled by Emacs directly as a buffer?
>> (Is that doable with the new Gecko library?)
>>
>> In that case, why not have an extra port of Emacs that would provide a
>> "text area widget" (and maybe more) to be used as library by other
>> applications written in GTK/GNUStep/Cocoa/whatever frameworks?
> 
> 
> FWIW I'm working(rather slowly), towards the goal of allowing embedding of
> gtk widgets in emacs buffers. If it suceeds, it would be possible to
> embed firefox in emacs, using the gtk-socket facility which allows for
> easy embedding of xembed capable programs.
> 
> Initially the interaction between emacs and embedded apps would be very
> spartan though.

You could go the other way as Emacs can be embedded now.  I.e. embedd Emacs in 
other apps.

	Jan D.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 12:26     ` Jan Djärv
@ 2008-05-05 12:52       ` joakim
  0 siblings, 0 replies; 14+ messages in thread
From: joakim @ 2008-05-05 12:52 UTC (permalink / raw
  To: Jan Djärv; +Cc: David Reitter, emacs-devel

Jan Djärv <jan.h.d@swipnet.se> writes:

>>
>> FWIW I'm working(rather slowly), towards the goal of allowing embedding of
>> gtk widgets in emacs buffers. If it suceeds, it would be possible to
>> embed firefox in emacs, using the gtk-socket facility which allows for
>> easy embedding of xembed capable programs.
>>
>> Initially the interaction between emacs and embedded apps would be very
>> spartan though.
>
> You could go the other way as Emacs can be embedded now.  I.e. embedd
> Emacs in other apps.

Yes this is possible right now with the current xembed support. It can
be used already to embed Emacs in Firefox. I'm personally more curious
about embedding apps and gtk controls in Emacs, though.

>
> 	Jan D.
-- 
Joakim Verona




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-04 21:19 ` David Reitter
  2008-05-04 21:33   ` R. P. Dillon
  2008-05-05 11:00   ` joakim
@ 2008-05-05 15:14   ` Richard M Stallman
  2008-05-05 15:44     ` Lennart Borgman (gmail)
  2008-05-05 16:16     ` R. P. Dillon
  2 siblings, 2 replies; 14+ messages in thread
From: Richard M Stallman @ 2008-05-05 15:14 UTC (permalink / raw
  To: David Reitter; +Cc: rpdillon, emacs-devel

    A browser inside Emacs: do you agree that this would only make sense  
    if all text editing was governed by Emacs, i.e. each text area was  
    handled by Emacs directly as a buffer?
    (Is that doable with the new Gecko library?)

I agree.  If it is a matter only of having a browser display inside
the Emacs frame, we might as well do so by fork/exec'ing the other
program and telling it to display on part of the Emacs frame.

    In that case, why not have an extra port of Emacs that would provide a  
    "text area widget" (and maybe more) to be used as library by other  
    applications written in GTK/GNUStep/Cocoa/whatever frameworks?

I think that is a separate issue, but it would be a good feature.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 15:14   ` Richard M Stallman
@ 2008-05-05 15:44     ` Lennart Borgman (gmail)
  2008-05-05 16:16     ` R. P. Dillon
  1 sibling, 0 replies; 14+ messages in thread
From: Lennart Borgman (gmail) @ 2008-05-05 15:44 UTC (permalink / raw
  To: rms; +Cc: David Reitter, emacs-devel, rpdillon

Richard M Stallman wrote:
>     A browser inside Emacs: do you agree that this would only make sense  
>     if all text editing was governed by Emacs, i.e. each text area was  
>     handled by Emacs directly as a buffer?
>     (Is that doable with the new Gecko library?)
> 
> I agree.  If it is a matter only of having a browser display inside
> the Emacs frame, we might as well do so by fork/exec'ing the other
> program and telling it to display on part of the Emacs frame.

I think that even without text editing it might be useful when editing 
web pages. The browser inside Emacs could perhaps be updated with an 
idle timer in a more controlled way than an external browser.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 15:14   ` Richard M Stallman
  2008-05-05 15:44     ` Lennart Borgman (gmail)
@ 2008-05-05 16:16     ` R. P. Dillon
  2008-05-06 12:00       ` Richard M Stallman
  1 sibling, 1 reply; 14+ messages in thread
From: R. P. Dillon @ 2008-05-05 16:16 UTC (permalink / raw
  To: rms; +Cc: David Reitter, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]

On Mon, May 5, 2008 at 8:14 AM, Richard M Stallman <rms@gnu.org> wrote:

>    A browser inside Emacs: do you agree that this would only make sense
>    if all text editing was governed by Emacs, i.e. each text area was
>    handled by Emacs directly as a buffer?
>    (Is that doable with the new Gecko library?)
>
> I agree.  If it is a matter only of having a browser display inside
> the Emacs frame, we might as well do so by fork/exec'ing the other
> program and telling it to display on part of the Emacs frame.
>

It is hard for me to tell how much work this would be since I am so
unfamiliar with both codebases - it would certainly be useful though.  I
will try to research how this could be done; nothing in the Mozilla docs on
embedding mentioned that it could be told to draw an a part of another
window, but there may be a standard way to do this or perhaps I missed
something in their documentation.  This may be the type of approach that
offers a fairly good effort/benefit ratio though; every time I have to leave
Emacs, it's a little annoying.

[-- Attachment #2: Type: text/html, Size: 1433 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 11:00   ` joakim
  2008-05-05 12:26     ` Jan Djärv
@ 2008-05-05 22:06     ` Richard M Stallman
  2008-05-06  1:02     ` David Hansen
  2 siblings, 0 replies; 14+ messages in thread
From: Richard M Stallman @ 2008-05-05 22:06 UTC (permalink / raw
  To: joakim; +Cc: david.reitter, emacs-devel

    FWIW I'm working(rather slowly), towards the goal of allowing embedding of
    gtk widgets in emacs buffers. If it suceeds, it would be possible to
    embed firefox in emacs, using the gtk-socket facility which allows for
    easy embedding of xembed capable programs.

It sounds like a very useful feature, whether or not it reaches the point
of being sufficient to support a browser.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 11:00   ` joakim
  2008-05-05 12:26     ` Jan Djärv
  2008-05-05 22:06     ` Richard M Stallman
@ 2008-05-06  1:02     ` David Hansen
  2008-05-06  5:51       ` joakim
  2 siblings, 1 reply; 14+ messages in thread
From: David Hansen @ 2008-05-06  1:02 UTC (permalink / raw
  To: emacs-devel

On Mon, 05 May 2008 13:00:33 +0200 joakim@verona.se wrote:

>
> FWIW I'm working(rather slowly), towards the goal of allowing embedding of
> gtk widgets in emacs buffers. If it suceeds, it would be possible to
> embed firefox in emacs, using the gtk-socket facility which allows for
> easy embedding of xembed capable programs.

Would that allow embedding not GTK programs to?

David





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-06  1:02     ` David Hansen
@ 2008-05-06  5:51       ` joakim
  0 siblings, 0 replies; 14+ messages in thread
From: joakim @ 2008-05-06  5:51 UTC (permalink / raw
  To: emacs-devel

David Hansen <david.hansen@gmx.net> writes:

> On Mon, 05 May 2008 13:00:33 +0200 joakim@verona.se wrote:
>
>>
>> FWIW I'm working(rather slowly), towards the goal of allowing embedding of
>> gtk widgets in emacs buffers. If it suceeds, it would be possible to
>> embed firefox in emacs, using the gtk-socket facility which allows for
>> easy embedding of xembed capable programs.
>
> Would that allow embedding not GTK programs to?

Yes, all programs that support xembed. I did a small gtk test xembed
host using gtk-socket, and it was able to embed mplayer, which isnt a
gtk app. I'm just using gtk-socket because its convenient.

The interface I envision wont be tied to any particular toolkit.  I
currently use a display property called xwidget(external widgets), and
it is supposed to work similar to the image display property.

Again, I should emphasize that this is going rather slowly, because the
emacs display code is complex. I have as yet to reach the stage where my
new display property for xwidgets triggers a "hello world"
message to stdout...


>
> David
>
>
-- 
Joakim Verona




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Emacs plugin system & Gecko embedding
  2008-05-05 16:16     ` R. P. Dillon
@ 2008-05-06 12:00       ` Richard M Stallman
  0 siblings, 0 replies; 14+ messages in thread
From: Richard M Stallman @ 2008-05-06 12:00 UTC (permalink / raw
  To: R. P. Dillon; +Cc: david.reitter, emacs-devel

I do not know whether browsers have the feature of being told to
display in a part of another program's window.  Maybe Emacs can create
another X window for that part of the frame, and tell the browser to
use that X window.




^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-05-06 12:00 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-04 21:06 Emacs plugin system & Gecko embedding R. P. Dillon
2008-05-04 21:19 ` David Reitter
2008-05-04 21:33   ` R. P. Dillon
2008-05-05 11:09     ` David Kastrup
2008-05-05 11:00   ` joakim
2008-05-05 12:26     ` Jan Djärv
2008-05-05 12:52       ` joakim
2008-05-05 22:06     ` Richard M Stallman
2008-05-06  1:02     ` David Hansen
2008-05-06  5:51       ` joakim
2008-05-05 15:14   ` Richard M Stallman
2008-05-05 15:44     ` Lennart Borgman (gmail)
2008-05-05 16:16     ` R. P. Dillon
2008-05-06 12:00       ` Richard M Stallman

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).