On Sat, Apr 5, 2008 at 10:36 AM, Jeremy Maitin-Shepard
<[EMAIL PROTECTED]> wrote:
> Just to let you know, I just pushed a change that should take care of
> automatically updating buffer.keymap according to the current input mode
> when the page mode changes.
Awesome, it works well. Here's a new version of the patch:
commit e5d331fb4d095a76798a0a0a3fb681ef40ade93c
Author: David Glasser <[EMAIL PROTECTED]>
Date: Sat Apr 5 00:02:15 2008 -0700
Beginning of a gmail page mode.
diff --git a/modules/conkeror.js b/modules/conkeror.js
index fd655ac..7bfb414 100644
--- a/modules/conkeror.js
+++ b/modules/conkeror.js
@@ -56,6 +56,7 @@ require("media.js");
require("page-modes/youtube.js");
require("page-modes/google-video.js");
require("page-modes/google-search-results.js");
+require("page-modes/gmail.js");
//require("scroll-bars.js");
diff --git a/modules/page-modes/gmail.js b/modules/page-modes/gmail.js
new file mode 100644
index 0000000..b174ed8
--- /dev/null
+++ b/modules/page-modes/gmail.js
@@ -0,0 +1,30 @@
+require("content-buffer.js");
+require("bindings/default/content-buffer/normal.js");
+
+var gmail_keymap = new keymap($parent = content_buffer_normal_keymap);
+
+function gmail_label_go(buffer, label)
+{
+ buffer.window.content.location.hash = "#label/" +
encodeURIComponent(label);
+}
+interactive("gmail-label-go",
+ "Go to a GMail label.",
+ function(I) {
+ gmail_label_go(I.buffer, (yield
I.minibuffer.read($prompt = "Go to label: ")));
+ });
+
+define_key(gmail_keymap, "C-c g", "gmail-label-go");
+define_key(gmail_keymap, "j", null, $fallthrough);
+define_key(gmail_keymap, "k", null, $fallthrough);
+define_key(gmail_keymap, "u", null, $fallthrough);
+define_key(gmail_keymap, "n", null, $fallthrough);
+define_key(gmail_keymap, "p", null, $fallthrough);
+define_key(gmail_keymap, "r", null, $fallthrough);
+define_key(gmail_keymap, "C-c r", "reload");
+define_key(gmail_keymap, "a", null, $fallthrough);
+
+define_page_mode("gmail_mode", "GMail", $enable = function (buffer) {
+
buffer.local_variables.content_buffer_normal_keymap = gmail_keymap;
+ });
+
+auto_mode_list.push([/^https?:\/\/mail\.google\.com\//, gmail_mode]);
--
David Glasser | [EMAIL PROTECTED] | http://www.davidglasser.net/
_______________________________________________
Conkeror mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/conkeror