2011-08-11 06:00:52 +00:00
|
|
|
// File: ~/.conkerorrc
|
|
|
|
// Author: Collin J. Doering <rekahsoft@gmail.com>
|
|
|
|
// Date: Mar 27, 2011
|
|
|
|
|
|
|
|
// REKAHSOFT-MINI
|
|
|
|
|
|
|
|
// the default page for new buffers.
|
2012-03-08 05:22:28 +00:00
|
|
|
homepage = "http://www.duckduckgo.com";
|
2011-08-11 06:00:52 +00:00
|
|
|
|
|
|
|
// load urls from the command line in new buffers instead
|
|
|
|
// of new windows.
|
|
|
|
url_remoting_fn = load_url_in_new_buffer;
|
|
|
|
|
|
|
|
// load download buffers in the background in the current
|
|
|
|
// window, instead of in new windows.
|
|
|
|
download_buffer_automatic_open_target = OPEN_NEW_BUFFER_BACKGROUND;
|
|
|
|
|
|
|
|
// save a keystroke when selecting a dom node by number.
|
|
|
|
hints_auto_exit_delay = 500;
|
|
|
|
hints_ambiguous_auto_exit_delay = 500;
|
|
|
|
|
|
|
|
// display properties of the current selected node during
|
|
|
|
// the hints interaction.
|
|
|
|
hints_display_url_panel = true;
|
|
|
|
|
|
|
|
// default directory for downloads and shell commands.
|
|
|
|
cwd = get_home_directory();
|
|
|
|
//cwd.append("downloads");
|
|
|
|
|
2012-06-18 21:00:34 +00:00
|
|
|
// set how conkeror will handle certian mime types
|
|
|
|
content_handlers.set("application/x-bittorrent", content_handler_open_url);
|
2011-08-11 06:00:52 +00:00
|
|
|
|
|
|
|
// external programs for handling various mime types.
|
2012-06-18 21:00:34 +00:00
|
|
|
external_content_handlers = {
|
|
|
|
"*": "emacsclient",
|
|
|
|
text: { "*": "emacsclient" },
|
|
|
|
image: { "*": "feh --scale-down" },
|
|
|
|
application: {
|
|
|
|
pdf: "zathura",
|
|
|
|
postscript: "zathura",
|
|
|
|
"x-dvi": "zathura",
|
|
|
|
"x-bittorrent": "transmission-remote -a"
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2012-01-12 09:19:15 +00:00
|
|
|
external_content_handlers.set("application/pdf", "zathura");
|
2011-08-11 06:00:52 +00:00
|
|
|
external_content_handlers.set("video/*", "urxvtc -e mplayer");
|
2012-06-18 21:00:34 +00:00
|
|
|
external_content_handlers.set("application/x-bittorrent", "transmission-remote -a");
|
2011-08-11 06:00:52 +00:00
|
|
|
|
|
|
|
// use emacsclient as external editor.
|
|
|
|
editor_shell_command = "emacsclient";
|
|
|
|
|
|
|
|
// view source in your editor.
|
|
|
|
view_source_use_external_editor = true;
|
|
|
|
|
|
|
|
// let xkcd-mode put the funny alt text into the page.
|
|
|
|
xkcd_add_title = true;
|
|
|
|
|
|
|
|
// use session module
|
|
|
|
require("session.js");
|
|
|
|
session_auto_save_auto_load = true;
|
|
|
|
|
|
|
|
// Put history completion along side webjumps
|
|
|
|
url_completion_use_history = true;
|
|
|
|
|
2012-01-12 09:19:15 +00:00
|
|
|
// Setup some handy web jumps
|
|
|
|
define_webjump("wolframalpha", "http://www.wolframalpha.com/input/?i=%s");
|
|
|
|
define_webjump("duckduckgo", "https://duckduckgo.com/?q=%s");
|
|
|
|
|
|
|
|
// Create some shortcuts to the webjumps above
|
|
|
|
webjumps.ddg = webjumps.duckduckgo
|
|
|
|
webjumps.wa = webjumps.wolframalpha
|
|
|
|
|
|
|
|
// START SECTION: thanks to 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);
|
|
|
|
|
|
|
|
define_webjump("eggref4", "http://wiki.call-cc.org/eggref/4/%s",
|
|
|
|
$alternative = "http://wiki.call-cc.org/chicken-projects/egg-index-4.html");
|
|
|
|
|
|
|
|
define_webjump("srfi", function (i) {
|
|
|
|
return "http://srfi.schemers.org/srfi-" + i + "/srfi-" + i + ".html";
|
|
|
|
});
|
|
|
|
|
|
|
|
define_webjump("commandlinefu",
|
|
|
|
function(term) {
|
|
|
|
return 'http://www.commandlinefu.com/commands/matching/' +
|
|
|
|
term.replace(/[^a-zA-Z0-9_\-]/g, '')
|
|
|
|
.replace(/[\s\-]+/g, '-') +
|
|
|
|
'/' + btoa(term);
|
|
|
|
},
|
|
|
|
$argument = 'optional',
|
|
|
|
$alternative = "http://www.commandlinefu.com/");
|
|
|
|
|
|
|
|
define_webjump("emacswiki",
|
|
|
|
"http://www.google.com/cse?cx=004774160799092323420%3A6-ff2s0o6yi"+
|
|
|
|
"&q=%s&sa=Search&siteurl=emacswiki.org%2F",
|
|
|
|
$alternative="http://www.emacswiki.org/");
|
|
|
|
|
|
|
|
define_webjump("savannah", "https://savannah.gnu.org/search/?words=%s&type_of_search=soft");
|
|
|
|
|
|
|
|
define_webjump("youtube", "http://www.youtube.com/results?search_query=%s&search=Search");
|
|
|
|
// END SECTION
|
|
|
|
|
2011-08-11 06:00:52 +00:00
|
|
|
// Do a google search if a webjump is not recognized
|
2012-01-12 09:19:15 +00:00
|
|
|
read_url_handler_list = [read_url_make_default_webjump_handler("duckduckgo")];
|
2011-08-11 06:00:52 +00:00
|
|
|
|
|
|
|
// recognize urls a little diffently (allow one worded default webjumps)
|
|
|
|
function possibly_valid_url (str) {
|
|
|
|
return (/[\.\/:]/.test(str)) &&
|
|
|
|
!(/\S\s+\S/.test(str)) &&
|
|
|
|
!(/^\s*$/.test(str));
|
|
|
|
}
|
|
|
|
|
|
|
|
// turn off mode line
|
|
|
|
mode_line_mode(false);
|
|
|
|
|
2011-10-24 23:52:46 +00:00
|
|
|
// force scrolling bars so that incremental search (isearch) works and mousewheel scrolling
|
|
|
|
function enable_scrollbars (buffer) {
|
|
|
|
buffer.top_frame.scrollbars.visible = true;
|
|
|
|
}
|
|
|
|
add_hook("create_buffer_late_hook", enable_scrollbars);
|
|
|
|
|
2011-11-11 23:24:42 +00:00
|
|
|
// Turn on password management in XUL runner
|
|
|
|
session_pref("signon.rememberSignons", true);
|
|
|
|
session_pref("signon.expireMasterPassword", false);
|
|
|
|
session_pref("signon.SignonFileName", "signons.txt");
|
|
|
|
Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager); // init
|
|
|
|
|
2011-08-11 06:00:52 +00:00
|
|
|
// Some keybindings i like from firefox + pentadactyl, and luakit
|
|
|
|
define_key(content_buffer_normal_keymap, "C-f", "buffer-next");
|
|
|
|
define_key(content_buffer_normal_keymap, "C-b", "buffer-previous");
|
|
|
|
define_key(content_buffer_normal_keymap, "j", "cmd_scrollLineDown");
|
|
|
|
define_key(content_buffer_normal_keymap, "k", "cmd_scrollLineUp");
|
|
|
|
define_key(content_buffer_normal_keymap, "J", "follow-new-buffer-background");
|
|
|
|
define_key(default_global_keymap, "C-x C-b", "switch-to-buffer");
|
|
|
|
|
|
|
|
// Some code thanks to retroj on #conkeror@irc.freenode.net
|
|
|
|
define_browser_object_class(
|
|
|
|
"history-url", null,
|
|
|
|
function (I, prompt) {
|
|
|
|
check_buffer (I.buffer, content_buffer);
|
|
|
|
var result = yield I.buffer.window.minibuffer.read_url(
|
|
|
|
$prompt = prompt, $use_webjumps = false, $use_history = true, $use_bookmarks = false);
|
|
|
|
yield co_return (result);
|
|
|
|
},
|
|
|
|
$hint = "choose url from history");
|
|
|
|
|
|
|
|
interactive("find-url-from-history",
|
|
|
|
"Find a page from history in the current buffer",
|
|
|
|
"find-url",
|
|
|
|
$browser_object = browser_object_history_url);
|
|
|
|
|
|
|
|
interactive("find-url-from-history-new-buffer",
|
|
|
|
"Find a page from history in the current buffer",
|
|
|
|
"find-url-new-buffer",
|
|
|
|
$browser_object = browser_object_history_url);
|
|
|
|
|
|
|
|
function history_clear () {
|
|
|
|
var history = Cc["@mozilla.org/browser/nav-history-service;1"]
|
|
|
|
.getService(Ci.nsIBrowserHistory);
|
|
|
|
history.removeAllPages();
|
|
|
|
}
|
|
|
|
interactive("history-clear",
|
|
|
|
"Clear the history.",
|
|
|
|
history_clear);
|
|
|
|
|
|
|
|
// Disable whitelist (Causes extensions from unknown/unsigned sites to silently fail if not enabled!)
|
2012-01-12 09:19:15 +00:00
|
|
|
session_pref("xpinstall.whitelist.required", false);
|