[Conkeror] [PATCH] google-search-results: use search result links for more commands
David Kettler
kettler at internode.on.net
Fri Feb 6 20:46:51 PST 2009
Use browser_object_google_search_results_links as the default browser
object for all interactive commands that normally use
browser_object_links. This commit adds follow-new-buffer,
follow-new-buffer-background, follow-new-window and removes
shell-command-on-url.
The code is restructured a little too.
---
It's clunky to have to explicitly list and override all relevant
commands. Alternatives:
- trawl through interactive_commands and set
buffer.default_browser_object_classes for those that have
browser_object == browser_object_links.
That's very heavy handed though.
- Have some further indirection in the hints or browser_object
system to allow classes to be overridden. Perhaps this relates to
the generalized interactive extensions discussed at
http://bugs.conkeror.org/issue90.
---
modules/page-modes/google-search-results.js | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/modules/page-modes/google-search-results.js b/modules/page-modes/google-search-results.js
index abca8e9..29037c1 100644
--- a/modules/page-modes/google-search-results.js
+++ b/modules/page-modes/google-search-results.js
@@ -56,15 +56,18 @@ function google_search_bind_number_shortcuts () {
define_page_mode("google_search_results_mode", "Google Search Results",
$enable = function (buffer) {
- buffer.local_variables.content_buffer_normal_keymap = google_search_results_keymap;
- buffer.default_browser_object_classes = {
- follow: browser_object_google_search_results_links,
- copy: browser_object_google_search_results_links,
- save: browser_object_google_search_results_links };
- buffer.default_browser_object_classes['shell-command-on-file'] =
- browser_object_google_search_results_links;
- buffer.default_browser_object_classes['shell-command-on-url'] =
- browser_object_google_search_results_links;
+ buffer.local_variables.content_buffer_normal_keymap =
+ google_search_results_keymap;
+ var link_using_commands = ["follow",
+ "follow-new-buffer",
+ "follow-new-buffer-background",
+ "follow-new-window",
+ "save",
+ "copy",
+ "shell-command-on-file"];
+ for each (var c in link_using_commands)
+ buffer.default_browser_object_classes[c] =
+ browser_object_google_search_results_links;
});
let (google_search_re = build_url_regex(
--
1.5.6.5
More information about the Conkeror
mailing list