summaryrefslogtreecommitdiffstats
path: root/.conkerorrc/init.js
diff options
context:
space:
mode:
Diffstat (limited to '.conkerorrc/init.js')
-rw-r--r--.conkerorrc/init.js85
1 files changed, 76 insertions, 9 deletions
diff --git a/.conkerorrc/init.js b/.conkerorrc/init.js
index 6594523..157f125 100644
--- a/.conkerorrc/init.js
+++ b/.conkerorrc/init.js
@@ -1,10 +1,10 @@
require("content-policy.js");
require("favicon");
-load_paths.push("file:///home/slash/var/src/linkwave/conkeror/");
+load_paths.push("file:///home/slash/projects/markam/conkeror/");
theme_load_paths.push("/home/slash/.conkerorrc/themes/");
-require("linkwave");
+require("markam");
define_browser_object_class(
"history-url", null,
@@ -23,6 +23,15 @@ function ext_title_format(window) {
+ window.buffers.current.description;
}
+function oni_add_sheet(css) {
+ let (sheet = get_home_directory()) {
+ sheet.append(".conkerorrc");
+ sheet.append("styles");
+ sheet.append(css);
+ register_user_stylesheet(make_uri(sheet));
+ };
+}
+
function oni_before_quit_func() {
var w = get_recent_conkeror_window();
var result = (w == null) ||
@@ -112,18 +121,43 @@ define_webjump("arch/packages",
"https://www.archlinux.org/packages/?sort=&q=%s&limit=50",
$alternative="https://packages.archlinux.org");
+/// Chickadee
+// From http://conkeror.org/Webjumps
+function chickadee_completer (input, cursor_position, conservative) {
+ var completions = [];
+ var content = yield send_http_request(
+ load_spec({uri: "http://api.call-cc.org/cdoc/ajax/prefix?q="+
+ encodeURIComponent(input)}));
+ if (content.responseText) {
+ var parser = Cc["@mozilla.org/xmlextras/domparser;1"]
+ .createInstance(Ci.nsIDOMParser);
+ var doc = parser.parseFromString(content.responseText, "text/xml");
+ var res = doc.getElementsByTagName("li");
+ for (let i = 0, n = res.length; i < n; ++i) {
+ completions.push(res[i].textContent);
+ }
+ }
+ yield co_return(prefix_completer($completions = completions)
+ (input, cursor_position, conservative));
+}
+define_webjump("chickadee",
+ "http://api.call-cc.org/cdoc?q=%s&query-name=Lookup",
+ $alternative = "http://api.call-cc.org/doc/",
+ $completer = chickadee_completer);
+/// /Chickadee
+
// content_policy_bytype_table.object = oni_block_flash;
cwd = make_file("/home/slash/downloads/");
hint_digits = "arstdhneio";
read_buffer_show_icons = true;
title_format_fn = ext_title_format;
url_remoting_fn = load_url_in_new_buffer;
+markam_program = "/home/slash/projects/markam/src/markam";
-define_key(content_buffer_normal_keymap, "h",
- "find-url-from-history-new-buffer");
-define_key(content_buffer_normal_keymap, "H",
- "find-url-from-history");
define_key(content_buffer_normal_keymap, "C-x C-b", "switch-to-buffer");
+define_key(content_buffer_normal_keymap, "C-y", "paste-url-new-buffer");
+define_key(content_buffer_normal_keymap, "H", "find-url-from-history");
+define_key(content_buffer_normal_keymap, "h", "find-url-from-history-new-buffer");
define_key(default_base_keymap, "C-x f", "follow-new-buffer");
add_hook("before_quit_hook", oni_before_quit_func);
@@ -227,14 +261,47 @@ function read_url_github_command_handler(input)
function read_url_local_port_handler(input)
{
- var m = /^lh (\d{1,5})$/.exec(input);
+ var m = /^lh (\d{1,5})(?:\s+([a-zA-Z0-9%/]+))?$/.exec(input),
+ rv = null;
if (m) {
- return "http://localhost:" + m[1];
+ rv = "http://localhost:" + m[1];
+
+ if (m[2])
+ rv += "/" + m[2];
}
- return null;
+ return rv;
}
read_url_handler_list = [read_url_local_port_handler,
read_url_github_command_handler];
+
+// Mozrepl
+let (mozrepl_init = get_home_directory()) {
+ mozrepl_init.appendRelativePath(".mozrepl-conkeror.js");
+ session_pref('extensions.mozrepl.initUrl', make_uri(mozrepl_init).spec);
+};
+
+if ('@hyperstruct.net/mozlab/mozrepl;1' in Cc) {
+ let mozrepl = Cc['@hyperstruct.net/mozlab/mozrepl;1']
+ .getService(Ci.nsIMozRepl);
+ if (!mozrepl.isActive())
+ mozrepl.start(4242);
+}
+
+register_user_stylesheet(
+ "data:text/css," +
+ escape(
+ "@namespace url(\"http://www.w3.org/1999/xhtml\");\n" +
+ "span.__conkeror_hint {\n" +
+ " font-family: \"Envy Code R\" !important;\n" +
+ " font-size: 12px !important;\n" +
+ " line-height: 12px !important;\n" +
+ " padding: 0 2px !important;\n" +
+ "}"
+ )
+);
+
+oni_add_sheet("github.css");
+oni_add_sheet("help.css");