Re: keywords as a core extenstion
- From: Britt Selvitelle <anotherbritt gmail com>
- To: Nigel Tao <nigel tao myrealbox com>
- Cc: Epiphany List <epiphany-list gnome org>
- Subject: Re: keywords as a core extenstion
- Date: Tue, 15 Nov 2005 17:13:33 -0500
Ah, have you seen yubnub? http://yubnub.org
On 11/15/05, Nigel Tao <nigel tao myrealbox com> wrote:
> Keywords in a nutshell: I type "wp Epiphany" and my browser goes to
> http://en.wikipedia.org/wiki/Epiphany
>
> The feature request was raised recently (and doubtless previously):
> http://mail.gnome.org/archives/epiphany-list/2005-November/msg00021.html
>
> which pointed to a bug report with patch:
> http://bugzilla.gnome.org/show_bug.cgi?id=118618
>
>
> First of all - what is the "right way to do it"? In particular, which
> signal should be caught to do the address re-write? The above patch
> hooks into the "resolve-address" signal. Alternatively, the
> sample-python-location tutorial extension (which listens to the
> "ge-location" signal) seems really easy to tweak into the proof of
> concept one-pager at the bottom of this e-mail.
>
> Second - what plans do the Epiphany devs have (if any) of "blessing"
> this feature (as part of epiphany-extensions, presumably)? Because I am
> hoping to provide it through the deskbar-applet, even if the preferred
> browser is Epiphany rather than Firefox (boo, hiss :-). So, what would
> make this part of Epiphany 1.10? How can I help (I'd be willing to do
> some coding/writing)? Or will I otherwise have to install an Epiphany
> extension as part of deskbar-applet, and mess with bookmark storage
> (which is itself another discussion)?
>
> thanks,
> Nigel.
>
>
> -------------------------
> import epiphany;
>
> keywords = {
> 'wp':'http://www.wikipedia.org',
> 'wp ':'http://en.wikipedia.org/wiki/%s' }
>
> def location_cb(embed, address, tab):
> if address.startswith('keyword:'):
> k = address[8:].strip()
> i = k.find('%20')
> if i != -1:
> key = k[:i] + ' '
> args = k[i+3:]
> try:
> embed.load_url(keywords[key] % args)
> except KeyError, TypeError:
> # either key was not in the map
> # keywords, or
> # the URL did not have a '%s' in it
> pass
> else:
> try:
> embed.load_url(keywords[k])
> except KeyError:
> # k was not in the map keywords
> pass
>
> def attach_tab(window, tab):
> embed = tab.get_embed()
> sig = embed.connect('ge-location', location_cb, tab)
> embed._python_sample_location_sig = sig
>
> def detach_tab(window, tab):
> embed = tab.get_embed()
> sig = embed._python_sample_location_sig
> del embed._python_sample_location_sig
> embed.disconnect(sig)
>
>
> _______________________________________________
> epiphany-list mailing list
> epiphany-list gnome org
> http://mail.gnome.org/mailman/listinfo/epiphany-list
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]