Re: Address bar searches (was: epiphany-list gnome org)



On Sun, 2005-09-04 at 23:50 +0200, Kristoffer Lundén wrote:
> > How about a better fix? Well, if we could allow a keyboard shortcut to
> > go to a smart bookmark field, we could bind "Ctrl-K" to a default
> > "google" smart bookmark, as done in Firefox. I personally dislike that
> > behavior, because I'm used to typing anything I want into the one, big
> > "location" field. (In my experience, 90% of Firefox browsing sessions
> > begin by typing a whole lot of words into that 10-character-wide field;
> > and the Location bar is rarely -- if ever -- used.)
> 
> Completely agree. I've had FF set up in old Epiphany behaviour for at
> least a year, and always remove that box completely from my interface.
> Not a good solution.

Okay, here's a dinky extension which may appeal to some: "Ctrl-K
Search". I've attached the source files. I wrote it up in about 10
minutes, and I gave its UI absolutely 0 consideration. All it does is
make Ctrl-K work. (See attached.)

> Ok, now that was a longwinded letter alright. Sorry about that. I am
> not trying to pick a fight - at least not for the purpose of fighting,
> but I am very concerned about the direction Epiphany is taking. I
> would extremely much want it to be as great as it can possibly be, and
> I want to use it myself. So I'm a bit vehement about issues like
> these, which I feel are going in the wrong direction. I hope you can
> have some understanding. :)

Don't worry, I understand completely, and I think the other Epiphany
developers do, too. Your email is definitely insightful.

-- 
Adam Hooper <adamh densi com>
#!/usr/bin/env python

import gtk
import epiphany
import urllib

def dialog_cb(dialog, response_id, window, entry):
	dialog.hide()
	if response_id == gtk.RESPONSE_ACCEPT:
		window.load_url("http://www.google.com/search?q=%s"; % \
				urllib.quote_plus(entry.get_text()))

def ctrlk_cb(action, window):
	dialog = gtk.Dialog("Search",
			    window,
			    gtk.DIALOG_DESTROY_WITH_PARENT,
			    (gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
			     gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT))
	hbox = gtk.HBox()
	hbox.pack_start(gtk.Label("Search for:"))
	entry = gtk.Entry()
	entry.connect("activate",
		      lambda e: dialog.response(gtk.RESPONSE_ACCEPT))
	hbox.pack_start(entry)
	dialog.vbox.pack_start(hbox)

	dialog.connect("response", dialog_cb, window, entry)
	dialog.show_all()

_actions = [
	('CtrlKSearch', None, 'Search', '<Ctrl>k', None, ctrlk_cb),
	]

def attach_window(window):
	ui_manager = window.get_ui_manager()
	group = gtk.ActionGroup('CtrlKSearch')
	group.add_actions(_actions, window)
	ui_manager.insert_action_group(group, 0)
	ui_id = ui_manager.new_merge_id()
	ui_manager.add_ui(ui_id, '/menubar/ToolsMenu', 'CtrlKSearch',
			  'CtrlKSearch', gtk.UI_MANAGER_MENUITEM, False)
	window._ctrl_k_search_data = (group, ui_id)

def detach_window(window):
	ui_manager = window.get_ui_manager()
	group, ui_id = window._ctrl_k_search_data
	del window._ctrl_k_search_data
	ui_manager.remove_ui(ui_id)
	ui_manager.remove_action_group(group)
<?xml version="1.0" encoding="UTF-8"?>
<extension>
	<name>Ctrl-K Search</name>
	<description>Make Ctrl-K open a Google search</description>
	<author>Adam Hooper &lt;adamh densi com&gt;</author>
	<url>http://www.gnome.org/projects/epiphany/extensions.html</url>
	<version>1</version>
	<gettext-domain>epiphany-extensions-1.8</gettext-domain>
	<locale-directory>/this/means/nothing/to/me</locale-directory>
	<loader type="python">
		<attribute name="module">ctrl_k_search</attribute>
	</loader>
</extension>

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]