to post messages and comments.

отключил url_completion_use_history на нетбуке. Тормозит. Один фиг у меня через dmenu навигация по истории браузеров сделана, и работает гораздо быстрее.

запилил русские шорткаты для conkeror - просто переделав define_key (чтоб вызывался два раза для каждой раскладки)
Костыльно, вроде работает, единственные косяки - из-за user_pref("conkeror.load.bindings/default/bindings", 0) нужно два раза перезапустить. Ну и "M-ч" вместо "M-x" забавно смотрится
//--------------------------------
ru = decodeURIComponent(escape('ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ'));
en = '`qwertyuiop[]asdfghjkl;\'zxcvbnm,.~QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>';

function e2r (ch) {
    let (idx = en.indexOf(ch)) {
        return (idx == -1)? ch : ru[idx];
    }
}

function tr (seq) {
    var nseq = [];
    seq.forEach(
        function (tmp) {
            if (typeof tmp == "string") {
                var m = tmp.match(/^(M-|)(.)$/);
                if (m)
                    nseq.push(m[1] + e2r(m[2]));
                else
                    nseq.push(tmp);
            }
        }
    );
    return nseq;
}


define_keywords("$fallthrough", "$repeat", "$browser_object");
function define_key (kmap, seq, cmd) {
    keywords(arguments);
    var orig_seq = seq;
    try {
        var ref = get_caller_source_code_reference();

        if (typeof seq == "string" && seq.length > 1)
            seq = seq.split(" ");

        if (!(typeof seq == "object") || !(seq instanceof Array))
            seq = [seq];

        // normalize the order of modifiers in key combos
        seq = seq.map(
            function (k) {
                if (typeof(k) == "string")
                    return format_key_combo(unformat_key_combo(k));
                else
                    return k;
            });

        var new_command = null;
        var new_keymap = null;
        if (typeof cmd == "string" || typeof cmd == "function")
            new_command = cmd;
        else if (cmd instanceof keymap)
            new_keymap = cmd;
        else if (cmd != null)
            throw new Error("Invalid `cmd' argument: " + cmd);

        define_key_internal(ref, kmap, seq, new_command, new_keymap,
                            forward_keywords(arguments));

        define_key_internal(ref, kmap, tr(seq), new_command, new_keymap,
                          forward_keywords(arguments));

    } catch (e if (typeof e == "string")) {
        dumpln("Warning: Error occurred while binding sequence: " + orig_seq);
        dumpln(e);
    }
}

user_pref("conkeror.load.bindings/default/bindings", 0);
require("bindings/default/bindings");

//----------------------

Ура! сабж умеет выделение текста с клавы, чуть через жопу, но всё лучше, чем мой костыль с переводом страницы в режим rw.


"In conkeror, the keyboard only method is first to i-Search for the text you want to copy. Once you see the light grey highlight over the first part of what you'd like to select, press Return. You may then use the following keybindings to select text:

C-B — one char back C-F — one char forward M-B — one word back M-F — one word forward

C-P — back one line C-N — forward one line S-down — forward one line

Notice that those are shifted characters, so it's really C-S-b etc.

Use M-w to copy the text to the clipboard. Use C-h b to see the full list of bindings. Try searching for "Extend selection."

The key is to highlight the first component of your desired selection using i-Search."

stackoverflow.com

не совсем Ъ емакс, но щас попробую порыться и подпилить

С третьего раза вроде как удалось пересесть на сабж.

Пришлось, правда, пакет из гита собрать, ибо в 8м xul-е перемудрили с кэшированием js, в остальном всё ок.

Спасибо @Elemir за пинок в нужном направлении, да.

NP: Dream Theater — Blind Faith