Changer le comportement d'activation (onglet) pour les mappages Vimperator


0

Je souhaite créer un nouveau mappage de clé vimperator qui duplique la fonctionnalité d'annulation, mais ouvre l'onglet dans un onglet non ciblé / en arrière-plan.

Je sais que tabopen utilise le drapeau! pour basculer le comportement d'activation pour le nouvel onglet, mais la commande: u! ne fonctionne pas de la même manière. Est-il possible de le faire sans recourir à javascript (que je ne connais pas)?

Réponses:


0

Ajoutez le code suivant à votre .vimperatorrcfichier pour créer une commande undobpermettant de rouvrir les onglets fermés en arrière-plan, en préservant leur historique et en n’affectant pas l’onglet alternatif en cours.

command! undob -description "Undo closed tab in background" :js undob();
:js <<EOF
  undob = function() {
      var currT = gBrowser.selectedTab;
      var ssService = Components.interfaces.nsISessionStore;
      var ssClass = Components.classes['@mozilla.org/browser/sessionstore;1']
      var ss = ssClass.getService(ssService);
      var closedTabs = JSON.parse(ss.getClosedTabData(window));
      var ct0 = closedTabs[0]
      ss.undoCloseTab(window, ct0);
      gBrowser.selectedTab = currT;
  }
EOF

Exemple de liaison de clé C-cu:

nnoremap <C-c>u :undob<CR>

Il semble que cela continue à faire basculer le focus vers le nouvel onglet ouvert. Je voudrais garder le focus sur l'onglet en cours et "annuler" l'onglet fermé sans y basculer.
cccqmp

Désolé pour ça. Je suis confus et viens de reproduire normale :undo. En fait, je ne peux pas penser à un moyen de faire ça tout seul. Vimperator ne semble pas avoir la :backgroundcommande, et même sur Pentadactyl, il ne semble pas fonctionner avec :undo. Vous pourriez avoir besoin d'une fonction javascript personnalisée. Je vais y regarder plus tard et je reviendrai vers vous.
pyrocrastie

@ ccqmp: Ok, ça fonctionne. Faites-moi savoir s'il y a des problèmes.
pyrocrastie
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.