<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alex's Adventures on the Infobahn - chrome</title><link href="https://www.bennee.com/~alex/" rel="alternate"></link><link href="https://www.bennee.com/~alex/blog/tag/chrome/feed" rel="self"></link><id>https://www.bennee.com/~alex/</id><updated>2020-12-24T16:10:00+00:00</updated><subtitle>the wanderings of a supposed digital native</subtitle><entry><title>Edit with Emacs v1.16 released</title><link href="https://www.bennee.com/~alex/blog/2020/12/24/edit-with-emacs-v116-released/" rel="alternate"></link><published>2020-12-24T16:10:00+00:00</published><updated>2020-12-24T16:10:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2020-12-24:/~alex/blog/2020/12/24/edit-with-emacs-v116-released/</id><summary type="html">&lt;p&gt;Despite what I said &lt;a href="https://www.bennee.com/~alex/blog/2018/01/17/edit-with-emacs-v1-15-released" title="link to the last release"&gt;last time&lt;/a&gt; it seems that this is still a useful tool for me. I had some free time to peruse some of the open issues and managed to work out what was breaking the GMail interaction and work out a fix. While &lt;a href="https://github.com/alpha22jp/atomic-chrome" title="Atomic Chrome homepage"&gt;Atomic Chrome&lt;/a&gt; provides a …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Despite what I said &lt;a href="https://www.bennee.com/~alex/blog/2018/01/17/edit-with-emacs-v1-15-released" title="link to the last release"&gt;last time&lt;/a&gt; it seems that this is still a useful tool for me. I had some free time to peruse some of the open issues and managed to work out what was breaking the GMail interaction and work out a fix. While &lt;a href="https://github.com/alpha22jp/atomic-chrome" title="Atomic Chrome homepage"&gt;Atomic Chrome&lt;/a&gt; provides a nicer interactive experience with direct feedback the release of Crostini keeps the Emacs flame alive on my Chromebook. I suspect I still need someone to step up who is more conversant in the web languages of Javascript and CSS to improve the front end experience and maybe tackle the frequently requested feature of interaction with fancy javascript editors. In the meantime I'll continue to bumble along and look at what pull requests do come in and leave the pile of feature requests slowly growing.&lt;/p&gt;
&lt;p&gt;Merry Christmas ;-)&lt;/p&gt;
&lt;p&gt;v1.16&lt;/p&gt;
&lt;p&gt;Extension&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;allow disabling of switch to settings behaviour&lt;/li&gt;
&lt;li&gt;whitelist penguin.linux.test for edit server (ChromeOS/Crostini)&lt;/li&gt;
&lt;li&gt;fix context menu on newer Chromes (#158)&lt;/li&gt;
&lt;li&gt;honour edit_server_host instead of hard-coding 127.0.0.1&lt;/li&gt;
&lt;li&gt;use the Chrome/Firefox extension UI to set keyboard shortcuts.&lt;/li&gt;
&lt;li&gt;fix handling of spellcheck=false nodes for Gmail (#171, #162)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;edit-server.el&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;use make-frame (see updated docs for edit-server-new-frame-alist)&lt;/li&gt;
&lt;/ul&gt;</content><category term="geek"></category><category term="emacs"></category><category term="edit with emacs"></category><category term="chrome"></category><category term="chromeos"></category><category term="firefox"></category></entry><entry><title>Edit with Emacs v1.13 now available</title><link href="https://www.bennee.com/~alex/blog/2013/11/08/edit-with-emacs-v1-13-now-available/" rel="alternate"></link><published>2013-11-08T14:05:00+00:00</published><updated>2013-11-08T14:05:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2013-11-08:/~alex/blog/2013/11/08/edit-with-emacs-v1-13-now-available/</id><summary type="html">&lt;p&gt;I've just pushed the latest version of Edit with Emacs to the Chrome App Store. Hopefully most people are already tracking the latest edit-server.el via MELPA but this does introduce a few minor fixes to the extension itself. A new piece of functionality is the ability to trigger bringing …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've just pushed the latest version of Edit with Emacs to the Chrome App Store. Hopefully most people are already tracking the latest edit-server.el via MELPA but this does introduce a few minor fixes to the extension itself. A new piece of functionality is the ability to trigger bringing Emacs to the foreground from a key-stroke within Chrome. I added this to support running Emacs on ChromeOS which together with &lt;a class="reference external" href="https://github.com/stsquad/emacs-chromebooks"&gt;my chromebooks.el&lt;/a&gt; package gives me a rather nice development environment without having to dump ChromeOS.&lt;/p&gt;
&lt;p&gt;So new for v1.13&lt;/p&gt;
&lt;p&gt;Extension&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* Change the handling of hidden elements (fix bug #78)&lt;/div&gt;
&lt;div class="line"&gt;* Add debugging for erroneous hidden text areas (#93)&lt;/div&gt;
&lt;div class="line"&gt;* Add keyboard shortcut to bring Emacs to foreground&lt;/div&gt;
&lt;div class="line"&gt;* Pass clipboard contents to foreground request&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;edit-server.el&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* add advice to save-buffers-kill-emacs to avoid prompting on shutdown&lt;/div&gt;
&lt;div class="line"&gt;* add autoload cookies&lt;/div&gt;
&lt;div class="line"&gt;* fix bug with format chars in url (#80)&lt;/div&gt;
&lt;div class="line"&gt;* don't call kill buffer hooks twice (#92)&lt;/div&gt;
&lt;div class="line"&gt;* don't set-buffer-multibyte on process buffer&lt;/div&gt;
&lt;div class="line"&gt;* support the &amp;quot;foreground&amp;quot; request with optional clipboard contents&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Get the latest from &lt;a class="reference external" href="https://chrome.google.com/webstore/detail/edit-with-emacs/ljobjlafonikaiipfkggjbhkghgicgoh"&gt;the Chrome Webstore&lt;/a&gt;.&lt;/p&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromeos"></category><category term="chromium"></category><category term="edit with emacs"></category><category term="emacs"></category></entry><entry><title>Edit with Emacs v1.10 released</title><link href="https://www.bennee.com/~alex/blog/2011/11/06/edit-with-emacs-v1-10-released/" rel="alternate"></link><published>2011-11-06T20:25:00+00:00</published><updated>2011-11-06T20:25:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2011-11-06:/~alex/blog/2011/11/06/edit-with-emacs-v1-10-released/</id><summary type="html">&lt;p&gt;I received a bunch of feedback and patches from my last announcement but I think all the outstanding bugs are now squashed. The edit-server.el has seen some love to make it more idiomatically correct for elisp. The main change is new code to handle editable DIV tags beloved of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I received a bunch of feedback and patches from my last announcement but I think all the outstanding bugs are now squashed. The edit-server.el has seen some love to make it more idiomatically correct for elisp. The main change is new code to handle editable DIV tags beloved of such sites as Google+ (which you are welcome to &lt;a class="reference external" href="https://plus.google.com/u/0/110732415405459842150/posts"&gt;follow me on&lt;/a&gt;, maybe I should have an elisp circle?).&lt;/p&gt;
&lt;p&gt;A big cosmetic change is a brand new settings page which looks less like a web-form from the early 90's and more like part of Chrome. Alas I can take no credit for this but can thank Frank Kohlhepp's &lt;a class="reference external" href="https://github.com/frankkohlhepp/fancy-settings"&gt;fancy-settings&lt;/a&gt; library. In fact a lot of the credit should go to third party libraries like &lt;a class="reference external" href="http://jquery.com/"&gt;jQuery&lt;/a&gt; and of course the growing list of contributors who have submitted code for merging.&lt;/p&gt;
&lt;p&gt;So the final changelog for 1.10 is:&lt;/p&gt;
&lt;p&gt;Extension&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* Ignore textareas marked as read only&lt;/div&gt;
&lt;div class="line"&gt;* Don't tag areas that are not visible&lt;/div&gt;
&lt;div class="line"&gt;* General clean-up to use jQuery to find elements&lt;/div&gt;
&lt;div class="line"&gt;* Explicit CSS for edit button to override page settings&lt;/div&gt;
&lt;div class="line"&gt;* Handle editable DIV blocks (e.g. Google+)&lt;/div&gt;
&lt;div class="line"&gt;* Optimise the finding of text areas for highly dynamic pages&lt;/div&gt;
&lt;div class="line"&gt;* Revamp the settings page with &amp;quot;Fancy Settings&amp;quot;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;edit-server.el&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* Allow customisation of edit-server-default-major-mode&lt;/div&gt;
&lt;div class="line"&gt;* Allow edit mode to be set by matched URL&lt;/div&gt;
&lt;div class="line"&gt;* Tweak detection of MacOS X Emacsen&lt;/div&gt;
&lt;div class="line"&gt;* Change behaviour of C-x C-s to save to kill-ring&lt;/div&gt;
&lt;div class="line"&gt;* Persist the buffer-local variables beyond mode changes&lt;/div&gt;
&lt;div class="line"&gt;* Setup keymap within defvar&lt;/div&gt;
&lt;div class="line"&gt;* Clean-ups to code to be more idiomatic.&lt;/div&gt;
&lt;/div&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromium"></category><category term="edit with emacs"></category><category term="emacs"></category><category term="javascript"></category><category term="jquery"></category></entry><entry><title>Chromium Privacy Plugin</title><link href="https://www.bennee.com/~alex/blog/2011/01/10/chromium-plugins/" rel="alternate"></link><published>2011-01-10T14:50:00+00:00</published><updated>2011-01-10T14:50:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2011-01-10:/~alex/blog/2011/01/10/chromium-plugins/</id><summary type="html">&lt;p&gt;Did you know every time you see a Facebook/Twitter/Social Media-de-jour button on a web-page it's reporting your visiting patterns to home base? If you thought Ad tracking was a worrying invasion of your privacy then just consider how much info Facebook has on you along with your browsing …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Did you know every time you see a Facebook/Twitter/Social Media-de-jour button on a web-page it's reporting your visiting patterns to home base? If you thought Ad tracking was a worrying invasion of your privacy then just consider how much info Facebook has on you along with your browsing history?&lt;/p&gt;
&lt;p&gt;While things like incognito mode have their place I'd rather reduce the amount of information sites collect on me by default. Enter the &lt;a class="reference external" href="https://chrome.google.com/extensions/detail/jeoacafpbcihiomhlakheieifhpjdfeo"&gt;Disconnect&lt;/a&gt; extension for Chrome. Simple and easy to use it offers a single click button to re-enable those buttons should you want to &amp;quot;Like&amp;quot; something.&lt;/p&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromium"></category><category term="facebook"></category><category term="privacy"></category><category term="twitter"></category></entry><entry><title>Edit with Emacs v1.8</title><link href="https://www.bennee.com/~alex/blog/2010/08/19/edit-with-emacs-v1-8/" rel="alternate"></link><published>2010-08-19T11:10:00+01:00</published><updated>2010-08-19T11:10:00+01:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2010-08-19:/~alex/blog/2010/08/19/edit-with-emacs-v1-8/</id><summary type="html">&lt;p&gt;After a relatively quiet period a number of patches have flowed my way so I thought it was worth pushing out a new version. Perhaps the most &amp;quot;important&amp;quot; feature is the edit box flashing and fading from yellow after being updated (like &lt;a class="reference external" href="http://trac.gerf.org/itsalltext"&gt;It's All Text&lt;/a&gt;). It wasn't that hard to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After a relatively quiet period a number of patches have flowed my way so I thought it was worth pushing out a new version. Perhaps the most &amp;quot;important&amp;quot; feature is the edit box flashing and fading from yellow after being updated (like &lt;a class="reference external" href="http://trac.gerf.org/itsalltext"&gt;It's All Text&lt;/a&gt;). It wasn't that hard to do given &lt;a class="reference external" href="http://jquery.com/"&gt;jQuery&lt;/a&gt; and the &lt;a class="reference external" href="http://plugins.jquery.com/project/color"&gt;colour animation plugin&lt;/a&gt; do all the heavy lifting.&lt;/p&gt;
&lt;p&gt;We've added a new hook to the edit-server for pre-edit customisation. If anyone has some nice examples of using the various hooks it would great if you could add examples at the &lt;a class="reference external" href="http://www.emacswiki.org/emacs/Edit_with_Emacs"&gt;emacs wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As ever the extension can be found at the &lt;a class="reference external" href="https://chrome.google.com/extensions/detail/ljobjlafonikaiipfkggjbhkghgicgoh"&gt;Chrome Extensions site&lt;/a&gt;. Development versions are hosted at &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome"&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Full Change Log&lt;/p&gt;
&lt;p&gt;v1.8&lt;/p&gt;
&lt;p&gt;Extension&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* Added option to enable/disable visual edit boxes&lt;/div&gt;
&lt;div class="line"&gt;* Improved feedback as editable elements come in and out of focus&lt;/div&gt;
&lt;div class="line"&gt;* Updated text box will now fade from yellow after an update&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;edit-server.el&lt;/p&gt;
&lt;p&gt;* Added edit-server-start-hook for additional customisation when edit starts&lt;/p&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromium"></category><category term="development"></category><category term="elisp"></category><category term="emacs"></category><category term="extension"></category><category term="javascript"></category></entry><entry><title>Edit with Emacs v1.7</title><link href="https://www.bennee.com/~alex/blog/2010/07/29/edit-with-emacs-v1-7/" rel="alternate"></link><published>2010-07-29T15:31:00+01:00</published><updated>2010-07-29T15:31:00+01:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2010-07-29:/~alex/blog/2010/07/29/edit-with-emacs-v1-7/</id><summary type="html">&lt;p&gt;It's been a while so I released a new version of &lt;a class="reference external" href="https://chrome.google.com/extensions/detail/ljobjlafonikaiipfkggjbhkghgicgoh?hl=en"&gt;Edit with Emacs&lt;/a&gt; for Google Chrome(ium). To be honest most of the changes are to edit-server.el. The most major change is moving all the frame configuration options into a single &lt;em&gt;edit-server-new-frame-alist&lt;/em&gt; which might cause confusion if people …&lt;/p&gt;</summary><content type="html">&lt;p&gt;It's been a while so I released a new version of &lt;a class="reference external" href="https://chrome.google.com/extensions/detail/ljobjlafonikaiipfkggjbhkghgicgoh?hl=en"&gt;Edit with Emacs&lt;/a&gt; for Google Chrome(ium). To be honest most of the changes are to edit-server.el. The most major change is moving all the frame configuration options into a single &lt;em&gt;edit-server-new-frame-alist&lt;/em&gt; which might cause confusion if people don't read the change log which is:&lt;/p&gt;
&lt;p&gt;Extension&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* New icon state. Blue=Waiting, Green=In Progress, Red=Error&lt;/div&gt;
&lt;div class="line"&gt;* Improved mouse-over text for icon to give more useful feedback&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;edit-server.el&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;* Move all frame customisation into edit-server-new-frame-alist&lt;/div&gt;
&lt;div class="line"&gt;* Don't ask user before closing emacs and network process&lt;/div&gt;
&lt;div class="line"&gt;* Just skip creating new network process if it's already running&lt;/div&gt;
&lt;div class="line"&gt;* Make sure edit buffer is selected on new frames&lt;/div&gt;
&lt;div class="line"&gt;* Prompt window manager to bring new frames to the top of the stack (X windows only)&lt;/div&gt;
&lt;div class="line"&gt;* Enable multi-byte mode on edit buffers for better unicode handling&lt;/div&gt;
&lt;div class="line"&gt;* Explicitly fail on XEmacs if make-network-process isn't found (XEmacs patches welcome)&lt;/div&gt;
&lt;/div&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromium"></category><category term="emacs"></category></entry><entry><title>First elisp patch for emacs chrome</title><link href="https://www.bennee.com/~alex/blog/2010/01/09/first-elisp-patch-for-emacs-chrome/" rel="alternate"></link><published>2010-01-09T12:40:00+00:00</published><updated>2010-01-09T12:40:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2010-01-09:/~alex/blog/2010/01/09/first-elisp-patch-for-emacs-chrome/</id><summary type="html">&lt;p&gt;One of the nice things about putting your coding experiments up early and under a permissive license is people can submit patches. I'd been trying to get the native elisp &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome/blob/master/servers/edit_server.el"&gt;edit server&lt;/a&gt; working but I'd fallen back to the working python script as I've been busy at work. However along …&lt;/p&gt;</summary><content type="html">&lt;p&gt;One of the nice things about putting your coding experiments up early and under a permissive license is people can submit patches. I'd been trying to get the native elisp &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome/blob/master/servers/edit_server.el"&gt;edit server&lt;/a&gt; working but I'd fallen back to the working python script as I've been busy at work. However along comes Riccardo Murri who cleaned up the code and got it working. I've pushed the changes to the &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome"&gt;repo&lt;/a&gt; and with a little extra glue spawn it when emacs is in &lt;em&gt;--daemon&lt;/em&gt; mode:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
;; Do we want an edit-server?
(if (and (daemonp) (maybe-load-library &amp;quot;edit_server&amp;quot;))
    (edit-server-start))
&lt;/pre&gt;
&lt;p&gt;And bingo you save the cost of 2 unnecessary fork/execve's to get emacs editing your Google Chrome(ium) hosted &amp;lt;textarea&amp;gt;. It seems to have an odd interaction with longlines-mode though which I need to investigate, perhaps longlines mode does magic stuff with the buffer text on save which gets skipped when the edit server does it's thing?&lt;/p&gt;
&lt;p&gt;I've submitted the extension to the Google extension gallery although it's currently held up in actual physical paperwork. As my content script needs fairly liberal permissions to work I have to at least demonstrate I'm not an evil hacker/spammer intent on creating browser malware. I may take advantage of the delay to some clean ups to the browser feedback as we will likely be housebound sheltering from the weather. That is of course unless anyone else beats me to it :-)&lt;/p&gt;
</content><category term="general"></category><category term="chrome"></category><category term="elisp"></category><category term="emacs"></category><category term="extensions"></category></entry><entry><title>Update on Emacs Chrome</title><link href="https://www.bennee.com/~alex/blog/2009/12/21/update-on-emacs-chrome/" rel="alternate"></link><published>2009-12-21T13:49:00+00:00</published><updated>2009-12-21T13:49:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2009-12-21:/~alex/blog/2009/12/21/update-on-emacs-chrome/</id><summary type="html">&lt;p&gt;In my spare time I've been mostly bashing away at trying to implement an edit server for the Emacs Chrome extension in Emacs Lisp. It's taking longer than I hoped mainly as it's the first time I've ever tried to use the Emacs Lisp Debugger and it's fairly alien compared …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In my spare time I've been mostly bashing away at trying to implement an edit server for the Emacs Chrome extension in Emacs Lisp. It's taking longer than I hoped mainly as it's the first time I've ever tried to use the Emacs Lisp Debugger and it's fairly alien compared to the usual functional GDB's of the world which I'm used to. The &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome/blob/master/servers/edit_server.el"&gt;current version&lt;/a&gt; should be pushing canned response back to every edit request but for some reason it's not working. Once the basics are working the rest is just cleanup :-)&lt;/p&gt;
&lt;p&gt;In the meantime I've pushed a few additional updates to the repo. The first makes the extension usable on multiple tabs by passing the &amp;quot;port&amp;quot; back to the XmlHttp handler. You would think being an Emacs user I'd be used to the &lt;a class="reference external" href="http://en.wikipedia.org/wiki/First-class_function"&gt;first class function&lt;/a&gt; paradigm by now but it's not something I really get a chance to use much in the day job. I'm not sure if:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
function contentTalking(port)
{
    port.onMessage.addListener(function(msg, port) {
        handleContentMessages(msg,port);
    });
}
&lt;/pre&gt;
&lt;p&gt;is the correct way way to pass parameters from the local function's scope to the listener function's scope but I'm not sure how else you'd do it. Certainly the pattern of declaring functions in-line seems to be very common in the world of Javascript (as well as Emacs Lisp via the &lt;em&gt;lambda ()&lt;/em&gt; directive). If you look at the earlier &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome/commit/a642737b39f38f36507485588ad22b4dabd6eaf2"&gt;version of the code&lt;/a&gt; you'll see my C habits come through, after all it's just a pointer :-).&lt;/p&gt;
&lt;p&gt;I've also tweaked the pycl.py edit server code to handle running on Python 2.5 as my work box is running a fairly old Hardy Heron. Anyway the latest results of my hacking can, as always be seen &lt;a class="reference external" href="http://github.com/stsquad/emacs_chrome"&gt;on github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT TO ADD&lt;/strong&gt;: Well that seems to be working now. I was getting confused in my use of car/cdr which is probably a result of too much &lt;a class="reference external" href="http://en.wikipedia.org/wiki/Forth_(programming_language)"&gt;Forth&lt;/a&gt; when I was younger. They are not equivalent to grabbing the first and next bits off the stack. Specifically cdr returns a list, so you had better munge it to what you want if it's not a list.&lt;/p&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="chromium"></category><category term="emacs"></category><category term="javascript"></category></entry><entry><title>Chrome and Emacsclient</title><link href="https://www.bennee.com/~alex/blog/2009/12/12/chrome-and-emacsclient/" rel="alternate"></link><published>2009-12-12T13:24:00+00:00</published><updated>2009-12-12T13:24:00+00:00</updated><author><name>alex</name></author><id>tag:www.bennee.com,2009-12-12:/~alex/blog/2009/12/12/chrome-and-emacsclient/</id><summary type="html">&lt;p&gt;I had a number of things planned to do today, one of which was to go pick up some parcels that the local delivery service failed to do. However some workmen started digging up the road opposite my house. As the un-controlled single lane alternating between inbound and outbound traffic …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I had a number of things planned to do today, one of which was to go pick up some parcels that the local delivery service failed to do. However some workmen started digging up the road opposite my house. As the un-controlled single lane alternating between inbound and outbound traffic is right outside my drive I decided I couldn't face the horror and stayed in to tinker.&lt;/p&gt;
&lt;p&gt;I've switched my default browser settings to Chromium on all my machines. It's just so much faster to launch and get around. I've sacrificed the security of NoScript but I'm less worried about Flash on my netbook now as each tab kills any CPU sucking plugins when deleted. The only major problem left is finding an alternative to It's All Text so I don't have to fire up Firefox every time I post something to the web (like this blog entry).&lt;/p&gt;
&lt;p&gt;I decided to have a look into what was involved in getting a Chrome extension running that can call an external editor. I checked the group before I started and stumbled on Dave Hilley's &lt;a class="reference external" href="http://www.thegibson.org/blog/archives/689"&gt;rough cut solution&lt;/a&gt;. It's almost exactly what I need so I've started toying with it.&lt;/p&gt;
&lt;p&gt;Due to the way Chrome works it doesn't seem possible to spawn additional processes from Chrome itself (unless you want to use the NSAPI sledgehammer). Dave's solution is a simple server script that the Chrome extension can make calls to using XMLHttpRequest's. The server is written in Python but my first thought is there is no reason why the local &lt;em&gt;emacs --daemon&lt;/em&gt; couldn't terminate the calls directly. Certainly the &lt;a class="reference external" href="http://www.emacswiki.org/emacs-se/EmacsEchoServer"&gt;example echo server&lt;/a&gt; on the Emacs Wiki doesn't look too complicated to hack up.&lt;/p&gt;
&lt;p&gt;The other thing that could be improved is the detection of text areas. Currently the Javascript just searches the DOM for text areas and selects the first one as a candidate for editing. I'm fairly sure it would be possible to detect either which text area currently has focus or do something more akin to It's All Text and wrap unique &amp;lt;div&amp;gt;'s around each text area and have a edit content button.&lt;/p&gt;
&lt;p&gt;Unfortunately I seem to be having trouble getting the Chrome side to work. Trying to set breakpoints in the extension scripts keeps causing the extension to &amp;quot;crash&amp;quot; so it's hard to follow the sequence and tweak it. I also have to wrap my mind around Chrome's distinction between &amp;quot;content&amp;quot; and extension scripts. Still at least it's something to work from. Of course if anyone else wants to jump in with ideas (or even better a pointer to a better piece of emacs server code for handling XMLHttpRequests) then don't let my stumbling hack attempts hold you back :-)&lt;/p&gt;
</content><category term="geek"></category><category term="chrome"></category><category term="editor"></category><category term="emacs"></category><category term="extensions"></category><category term="javascript"></category></entry></feed>