summaryrefslogtreecommitdiffstats
path: root/conkerorrc
blob: 9cdbd5c1802d09d57fbb7c4145f5761afab7f7b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// vim: ft=javascript
can_kill_last_buffer = false;
hints_display_url_panel = true;
homepage = "about:blank";
isearch_keep_selection = true;
minibuffer_auto_complete_default = true;
minibuffer_read_url_select_initial = false;
url_completion_use_bookmarks = false;
url_completion_use_history = true;
url_remoting_fn = load_url_in_new_buffer;

require("clicks-in-new-buffer.js");
clicks_in_new_buffer_target = OPEN_NEW_BUFFER_BACKGROUND;

require("new-tabs.js");

require("page-modes/wikipedia.js");
wikipedia_enable_didyoumean = true;

require("session.js");
session_auto_save_auto_load = true;

interactive(
    "copy-current-url",
    "Copy the current buffer's URL to the clipboard",
    function(I) {
        var text = I.window.buffers.current.document.location.href;
        writeToClipboard(text);
        I.window.minibuffer.message("Copied: " + text);
    }
);

interactive(
    "q",
    "Quit Conkeror",
    "quit"
);

define_webjump("imdb", "http://imdb.com/find?q=%s");
define_webjump("urban", "http://www.urbandictionary.com/define.php?term=%s");
define_webjump("cpan", "http://search.cpan.org/search?query=%s&mode=all");
define_webjump("youtube", "http://www.youtube.com/results?search_query=%s&search=Search");
define_webjump("de", "http://pda.leo.org/?lp=ende&lang=de&searchLoc=0&cmpType=relaxed&relink=on&sectHdr=off&spellToler=std&search=%s");
define_webjump("trans", "http://translate.google.com/translate_t#auto|en|%s");
define_webjump("gl", "http://www.google.com/search?q=%s&btnI=I'm Feeling Lucky");

// commands are in modules/commands.js
undefine_key(content_buffer_normal_keymap, "b");
undefine_key(content_buffer_normal_keymap, "g");
undefine_key(content_buffer_normal_keymap, "G");

define_key(content_buffer_normal_keymap, "L", "forward");
define_key(content_buffer_normal_keymap, "M-right", "forward");
define_key(content_buffer_normal_keymap, "H", "back");
define_key(content_buffer_normal_keymap, "M-left", "back");
define_key(content_buffer_normal_keymap, "g u", "up");
//define_key(content_buffer_normal_keymap, "g U", "root");

define_key(content_buffer_normal_keymap, "o", "find-url");
define_key(content_buffer_normal_keymap, "O", "find-alternate-url");
define_key(content_buffer_normal_keymap, "t", "find-url-new-buffer");
//define_key(content_buffer_normal_keymap, "T", "find-alternate-url-new-buffer");

define_key(content_buffer_normal_keymap, "k", "cmd_scrollLineUp");
define_key(content_buffer_normal_keymap, "j", "cmd_scrollLineDown");
define_key(content_buffer_normal_keymap, "h", "cmd_scrollLeft");
define_key(content_buffer_normal_keymap, "l", "cmd_scrollRight");
define_key(content_buffer_normal_keymap, "g g", "cmd_scrollTop");
define_key(content_buffer_normal_keymap, "G", "cmd_scrollBottom");

define_key(content_buffer_normal_keymap, "n", "isearch-continue-forward");
define_key(content_buffer_normal_keymap, "N", "isearch-continue-backward");

define_key(content_buffer_normal_keymap, "p", "paste-url");
define_key(content_buffer_normal_keymap, "P", "paste-url-new-buffer");
define_key(content_buffer_normal_keymap, "y", "copy-current-url");

define_key(content_buffer_normal_keymap, "C-c", "stop-loading");
define_key(content_buffer_normal_keymap, "C-[", "unfocus");

define_key(content_buffer_normal_keymap, "C-v", "quote-next-input-mode");
define_key(content_buffer_normal_keymap, "C-M-v", "quote-input-mode");

define_key(default_global_keymap, "d", "kill-current-buffer");
define_key(default_global_keymap, "/", "isearch-forward");
define_key(default_global_keymap, "?", "isearch-backward");
define_key(default_global_keymap, "b", "switch-to-buffer");
define_key(default_global_keymap, ":", "execute-extended-command");
define_key(default_global_keymap, "C-tab", "buffer-next");
define_key(default_global_keymap, "C-S-tab", "buffer-previous");
define_key(default_global_keymap, "g t", "buffer-next");
define_key(default_global_keymap, "g T", "buffer-previous");

//set the proxy server for this session only
proxy_server_default = "127.0.0.1";
proxy_port_default = 8118;

function set_proxy_session (window, server, port) {
    if (server == "N") {
        session_pref ('network.proxy.type', 0); //direct connection
        window.minibuffer.message ("Direction connection to the internet enabled for this session");
    } else {
        if (!server) server = proxy_server_default;
        if (!port)   port   = proxy_port_default;

        session_pref ('network.proxy.ftp',    server);
        session_pref ('network.proxy.gopher', server);
        session_pref ('network.proxy.http',   server);
        session_pref ('network.proxy.socks',  server);
        session_pref ('network.proxy.ssl',    server);

        session_pref ('network.proxy.ftp_port',    port);
        session_pref ('network.proxy.gopher_port', port);
        session_pref ('network.proxy.http_port',   port);
        session_pref ('network.proxy.socks_port',  port);
        session_pref ('network.proxy.ssl_port',    port);

        session_pref ('network.proxy.share_proxy_settings', 'true');
        session_pref ('network.proxy.type', 1);

        window.minibuffer.message ("All protocols using "+server+":"+port+" for this session");
    }
}

interactive(
    "set-proxy-session",
    "set the proxy server for all protocols for this session only",
    function (I) {
        set_proxy_session(
        I.window,
            (yield I.minibuffer.read ($prompt = "server ["+proxy_server_default+"] or N: ")),
            (yield I.minibuffer.read ($prompt = "port ["+proxy_port_default+"]: "))
        );
    }
);

add_hook("window_initialize_hook", set_proxy_session);

/*
 * TODO:
 * - "root" command for vimperator's gU
 * - "find-alternate-url-new-buffer" command for vimperator's T
 * - make isearch wrap around
 * - undo close tab
 * - there might be an easier way to do copy-current-url, using "0" or
 *   something? check this out
 * - attempting to kill the last buffer should close it, but leave an empty
 *   buffer open
 * - smarter webjumps - cpan should go to the first search result, need one for
 *   google i'm feeling lucky, everything2, maybe man pages?
 * - default webjump for none given should be i'm feeling lucky, not www.%s.com
 * - configure privoxy
 * - reimplement flashblock maybe?
 * - session stuff doesn't save tab history
*/