Bonjour,
je propose ma configuration du navigateur CONKEROR (à ne pas confondre avec Konqueror) pour un usage avec un clavier bépo (je reste cohérent avec le titre de ce post 🙂)
Je le fais ici, car je n'ai rien trouvé sur internet et j'ai passé pas mal de temps à créer ce document. Il me semble que ça pourrait aider d'autres personnes qui seraient dans la même démarche que moi. On ne sait jamais...
Mon OS est Debian Jessie, pour info, si ça peut être utile.
Cela permet d'utiliser les touches c, t, s et r pour naviguer sur une page (soit les touches h, j, k et l du clavier azerty)
En outre, je propose quelques simplifications pour l'usage courant :
- un copier/coller classique avec ctrl-c et ctrl-v
- l'usage de "ctrl-t" pour ouvrir un lien dans un nouvel onglet
- rédigé quelques webjumps pour l'exemple (à vous de voir ce que vous voulez en faire)
- ajouté la possibilité d'utiliser l'historique : utiliser la touche "h"
- redéfini la recherche textuelle dans une logique VIM-like (utiliser "/" pour lancer la recherche et, ensuite "ctrl-/" pour recherche après et "ctrl-*" pour recherche avant)
- l'utilisation de "ctrl-f" pour ouvrir un lien dans un autre onglet.
- la mise en place des barres d'onglets (avec "require new-tabs.js")
- et d'autres trucs dont je ne me souviens plus exactement...
J'ai essayé de rédiger ce .conkerorrc assez lisiblement pour être compris à la lecture. Mais si vous avez des questions, j'essaierai d'y répondre.
L'idée est de copier le code suivant dans le fichier ~/.conkerorrc (ô surprise !🙂)
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);
});
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);
interactive("paste-x-primary-selection",
"Insert the contents of the X primary selection into the selected field or "+
"minibuffer. Deactivates the region if it is active, and leaves the point "+
"after the inserted text.",
function (I) call_on_focused_field(I, paste_x_primary_selection));
//////////
//KEYMAP//
//////////
//BUFFER
undefine_key(default_global_keymap, "C-x C-f", "find-url-new-buffer");
define_key(default_global_keymap, "C-t", "find-url-new-buffer");
undefine_key(default_global_keymap, "C-f", "cmd_scrollright");
define_key(content_buffer_normal_keymap, "C-f", "follow-new-buffer-background");
//HISTORY
define_key(content_buffer_normal_keymap, "h", "find-url-from-history-new-buffer");
define_key(content_buffer_normal_keymap, "H", "find-url-from-history");
//COPY-PASTE (Libreoffice-like)
undefine_key(default_global_keymap, "M-W", "cmd_copy");
define_key(default_global_keymap, "C-c", "cmd_copy");
define_key(text_keymap, "C-v", "paste-x-primary-selection");
//REDEFINE ISEARCH
undefine_key(default_global_keymap, "C-s", "isearch-forward");
define_key(default_global_keymap, "/", "isearch-forward");
undefine_key(default_global_keymap, "C-r", "isearch-backward");
define_key(default_global_keymap, "C-*", "isearch-backward");
undefine_key(isearch_keymap, "C-s", "isearch-continue-forward");
define_key(isearch_keymap, "C-/", "isearch-continue-forward");
undefine_key(isearch_keymap, "C-r", "isearch-continue-backward");
define_key(isearch_keymap, "C-*", "isearch-continue-backward");
//VIM-Like BEPO MOVE
//Free c, t, s and r keys
undefine_key(content_buffer_normal_keymap, "s", "save");
define_key(content_buffer_normal_keymap, "C-s", "save");
undefine_key(content_buffer_normal_keymap, "r", "reload");
undefine_key(content_buffer_normal_keymap, "R", "isearch-continue-backward");
define_key(content_buffer_normal_keymap, "R", "reload");
undefine_key(content_buffer_normal_keymap, "c", "copy");
define_key(content_buffer_normal_keymap, "y", "copy");
//Define c, t, s and r keys
define_key(content_buffer_normal_keymap, "t", "cmd_scrollLineDown");
define_key(content_buffer_normal_keymap, "s", "cmd_scrollLineUp");
define_key(content_buffer_normal_keymap, "r", "cmd_scrollRight");
define_key(content_buffer_normal_keymap, "c", "cmd_scrollLeft");
////////////
//WEBJUMPS//
////////////
define_webjump("fb", "www.facebook.com");
define_webjump("ffdn", "www.ffdn.org");
define_webjump("gmail", "https://mail.google.com/");
define_webjump("drive", "https://drive.google.com/drive/my-drive");
define_webjump("wikipedia_fr", "https://secure.wikimedia.org/wikipedia/fr/w/index.php?search=%s");
webjumps.dd = webjumps.duckduckgo;
webjumps.wi = webjumps.wikipedia_fr
remove_hook("mode_line_hook", mode_line_adder(clock_widget));
load_paths.unshift("chrome://conkeror-contrib/content/");
require("mode-line-buttons.js");
mode_line_add_buttons(standard_mode_line_buttons, true);
/////////////
//REQUIRES///
/////////////
require("adblockplus.js");
require("favicon.js")
require("new-tabs.js");
tab_bar_show_icon = true;
tab_bar_show_index = true;
require("click-in-new-buffer.js");
require("cache.js");
require("download-manager.js");
require("history.js");
require("cookie.js");
require("login.js");
require("opensearch.js");
require("page-modes/google-search-results.js");
require("gmail")
require("page-modes/wikipedia.js");
require("google-calendar.js");
require("user-agent-policy");
// Tell Google Calendar that we are Firefox not Conkeror:
user_agent_policy.define_policy(
"GCal",
user_agent_firefox(),
build_url_regexp($domain = /(.*\.)?google/, $path = /calendar/)
);
//////////////
//SCRIPTS////
/////////////
//LOGIN MANAGER
/*
Implements new login-manager.
See:
- http://librelist.com/browser//conkeror/2013/11/28/login-manager-xulrunner-24-0/
- https://blog.mozilla.org/dolske/2013/08/21/a-change-in-password-manager/
(C) Copyright 2014 thorkill
BSD License
*/
let Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this,
"LoginManagerContent",
"resource://gre/modules/LoginManagerContent.jsm");
XPCOMUtils.defineLazyModuleGetter(this,
"LoginManagerParent",
"resource://gre/modules/LoginManagerParent.jsm");
define_buffer_local_hook("content_buffer_dom_form_has_password_hook");
define_buffer_local_hook("content_buffer_dom_auto_complete_hook");
// passwords
session_pref("signon.rememberSignons", true);
session_pref("signon.expireMasterPassword", false);
session_pref("signon.SignonFileName", "signons.txt");
session_pref("signon.useDOMFormHasPassword", true);
Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
/* debugging prefs */
//session_pref("browser.formfill.debug", false);
//session_pref("browser.dom.window.dump.enabled", true);
//session_pref("javascript.options.showInConsole", true);
//session_pref("javascript.options.strict", true);
//session_pref("nglayout.debug.disable_xul_cache", true);
//session_pref("nglayout.debug.disable_xul_fastload", true);
LoginManagerParent.init();
add_hook("create_buffer_hook", function (buffer) {
buffer.browser.addEventListener("DOMFormHasPassword", function(event) {
content_buffer_dom_form_has_password_hook.run(buffer, event);
}, true /* captrue */);
buffer.browser.addEventListener("DOMAutoComplete", function(event) {
content_buffer_dom_auto_complete_hook.run(buffer, event);
}, true /* captrue */);
buffer.browser.addEventListener("blur", function(event) {
content_buffer_dom_auto_complete_hook.run(buffer, event);
}, true /* captrue */);
buffer.browser.addEventListener("change", function(event) {
content_buffer_dom_auto_complete_hook.run(buffer, event);
}, true /* captrue */);
});
add_hook("content_buffer_dom_form_has_password_hook", function(buffer, event) {
// Sometimes onFormPassword is undefined
if (LoginManagerContent.onFormPassword) {
LoginManagerContent.onFormPassword(event);
}
});
add_hook("content_buffer_dom_auto_complete_hook", function(buffer, event) {
LoginManagerContent.onUsernameInput(event);
});
J'espère avoir été utile.
Bonne journée.