From: joakim@verona.se
To: "Malk'Zameth" <malk@zameth.org>
Cc: emacs-devel@gnu.org
Subject: Re: Emacs as the windows manager for graphical windows, How can I help?
Date: Wed, 03 Apr 2013 13:41:58 +0200 [thread overview]
Message-ID: <m34nfnsuwp.fsf@chopper.vpn.verona.se> (raw)
In-Reply-To: <CAE5mhfJKcWQ2uQkJdDiLcvs7zVe6x1Z8qatPFBv7OL5nUBUmiw@mail.gmail.com> (Malk'Zameth's message of "Wed, 3 Apr 2013 12:04:35 +0200")
"Malk'Zameth" <malk@zameth.org> writes:
> Hello all!
>
> I have always dreamed of using emacs as my WM, or at least opening a
> graphical webbrowser inside Emacs, (only program I use outside Emacs
> is my browser anyway, and I do use w3m.el for loads of stuff).
>
> I was not the only one dreaming, because during the @EmacsConf this
> past weekend I saw a presentation of the Emacs xwidget patch (
> http://bzr.savannah.gnu.org/lh/emacs/xwidget/files ) by Joakim Verona
> ( http://www.emacswiki.org/emacs/JoakimVerona ) that does just that!
>
> During his presentation he opens a webkit browser inside emacs,
> watches streaming html5 videos and opens an Emacs inside Emacs.
>
> So I asked Joakim : "Can this be merged into mainline Emacs?"
>
> and he answered : "It is a matter of someone having the time and
> patience to format the patch so it can be accepted into the mainline
> Emacs"
>
> Well, time to put my free time where my mouth is : I volunteer to work
> on that, giving it all my "sideproject time" from the first of may
> until completion.
Thanks for the offer!
> I have never hacked Emacs source itself (maybe there is a welcome
> guide somewhere?) and I am a newbie to Emacs lisp itself (only emacs
> lisp I've done: ugly init.el config
> https://github.com/malk/.emacs.d/blob/master/init.el ) but I am a
> developer by trade and I do want to invest my time on that.
>
> This Email here is to announce me volunteering but also to ask:
> 1. What needs to be done? what "format" does a code needs to conform
> to be acceptable by the mainline Emacs?
A good start would be to check out the branch and read the README.xwidget
file. (the Emacs Xwidget branch is packaged in AUR and Gentoo, I think,
so maybe its pretty easy there)
The readme can be read here:
http://bzr.savannah.gnu.org/lh/emacs/xwidget/annotate/head:/README.xwidget
The readme is in org format.
That said, the remaining work should not be underestimated. The work
should be documented as TODO:s in the readme, but briefly, these are the
hard remaining tasks:
- I have a bunch of hard coded C arrays in xwidget.c that should be
switched over to lisp data.
- there are many different attempts simultaneously represented in
xwidget.c to achieve the difficult emacs split window paradigm with
external widgets. The old ones should be removed and the best one
should be fully implemented. the best approach so far being:
- rendering widgets offscreen and blit copies on-screen(this is
implemented and works well for webkit but not for sockets)
- flesh out the gnome introspection approach, that i believe is the
most promising. (its called "xwgir" in the code). When xwgir works
properly, potentially any gtk widget could be used dynamically in an
Emacs buffer.
- event copying and propagation works well for webkit but oddly enough
not for simpler widgets like buttons. this needs to be investigated,
and is extra hard because Emacs has its own event handling.
- sockets are xtra hard(which I used for the Emacs-in-Emacs demo). I
want to use the same approach as for the webkit case, but offscreen
rendering and event propagation is especially messy in this case.
Then we need to split up the branch in reviewable patches that can be
applied to trunk piece by piece.
so, to summarize, "format" isn't quite the right word(but I think you
knew that), and theres more C than Lisp work. (OTOH, I want to remove
quite a lot of C code and turn it into Lisp)
> 2. Where do I need to apply to have the right to contribute those
> changes to emacs at all? I understand I need to sign away a
> contributor agreement with the FSF, I have no problem with that (and
> my employer is eager to, being a FLOSS company) but what do I need to
> do exactly?
You need to fill out a form that the FSF copyright clerk will send to
you. This takes some time. I dont remember how I got mine, so someone
else will hopefully chime in.
> sorry for the wall of text
>
> Have a nice day
>
--
Joakim Verona
next prev parent reply other threads:[~2013-04-03 11:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 10:04 Emacs as the windows manager for graphical windows, How can I help? Malk'Zameth
2013-04-03 11:41 ` joakim [this message]
2013-04-03 12:44 ` Xue Fuqiao
2013-04-03 19:24 ` Adrian Robert
2013-04-03 19:45 ` joakim
2013-04-04 0:44 ` Stefan Monnier
2013-04-03 19:43 ` Stefan Monnier
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=m34nfnsuwp.fsf@chopper.vpn.verona.se \
--to=joakim@verona.se \
--cc=emacs-devel@gnu.org \
--cc=malk@zameth.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.