Questão Usando o Firefox Pocket addon com Pentadactyl


estou a usar Pentadáctilo, um plugin do Firefox que emula ligações de teclas no estilo vim e navegação. Eu recentemente estive interessado em usar Bolso com 'Automaticamente disponibilizar todas as páginas salvas disponíveis off-line' como uma maneira simples de salvar e gerenciar artigos para visualização off-line.

O Pocket salva páginas com um botão na barra de URL. Há também um botão para a barra de ferramentas, mas isso não parece fazer nada para mim e só mostra uma caixa branca. Há também uma opção para isso no menu do botão direito e um marcador para adicioná-lo à sua conta de bolso. Eu não consigo encontrar uma maneira de chamar qualquer uma dessas opções usando os comandos Pentadactyl.

O único :emenu O comando de bolso que eu posso encontrar é para mostrar e esconder a barra lateral. Há uma maneira de vincular comandos ao marcador, mas frequentemente tenho uma Internet extremamente lenta e isso exige que o Pocket adicione a página à minha conta, sincronize com meus arquivos locais e baixe o arquivo para visualização off-line.

Existe alguma maneira de definir um comando Pentadactyl para acessar ações addon que estou faltando? Eu também não consigo encontrar uma maneira de acessar as entradas do menu de contexto, ou eu poderia usar o comando lá. Obrigado por qualquer ajuda.


2


origem




Respostas:


  • Você pode instalar o Bookmarklet de bolso e atribuir uma palavra-chave a ela, que permitirá que você a ative usando o seguido pela palavra-chave. Por exemplo. opocEntrar

  • Alternativamente, você pode converter o código do bookmarklet em um comando e salvá-lo no seu .pentadactylrc:

     command! pocket :open javascript:(function(){var%20e=function(t,n,r,i,s){var%20o=[3526112,5522661,1460314,3450302,5361262,5114635,2897350,3675444,1446118,2801611];var%20i=i||0,u=0,n=n||[],r=r||0,s=s||0;var%20a={'a':97,'b':98,'c':99,'d':100,'e':101,'f':102,'g':103,'h':104,'i':105,'j':106,'k':107,'l':108,'m':109,'n':110,'o':111,'p':112,'q':113,'r':114,'s':115,'t':116,'u':117,'v':118,'w':119,'x':120,'y':121,'z':122,'A':65,'B':66,'C':67,'D':68,'E':69,'F':70,'G':71,'H':72,'I':73,'J':74,'K':75,'L':76,'M':77,'N':78,'O':79,'P':80,'Q':81,'R':82,'S':83,'T':84,'U':85,'V':86,'W':87,'X':88,'Y':89,'Z':90,'0':48,'1':49,'2':50,'3':51,'4':52,'5':53,'6':54,'7':55,'8':56,'9':57,'\/':47,':':58,'?':63,'=':61,'-':45,'_':95,'&':38,'$':36,'!':33,'.':46};if(!s||s==0){t=o[0]+t}for(var%20f=0;f<t.length;f++){var%20l=function(e,t){return%20a[e[t]]?a[e[t]]:e.charCodeAt(t)}(t,f);if(!l*1)l=3;var%20c=l*(o[i]+l*o[u%o.length]);n[r]=(n[r]?n[r]+c:c)+s+u;var%20p=c%(50*1);if(n[p]){var%20d=n[r];n[r]=n[p];n[p]=d}u+=c;r=r==50?0:r+1;i=i==o.length-1?0:i+1}if(s==166){var%20v='';for(var%20f=0;f<n.length;f++){v+=String.fromCharCode(n[f]%(25*1)+97)}o=function(){};return%20v+'ce5c747776'}else{return%20e(u+'',n,r,i,s+1)}};var%20t=document,n=t.location.href,r=t.title;var%20i=e(n);var%20s=t.createElement('script');s.type='text/javascript';s.src='https://getpocket.com/b/r4.js?h='+i+'&u='+encodeURIComponent(n)+'&t='+encodeURIComponent(r);e=i=function(){};var%20o=t.getElementsByTagName('head')[0]||t.documentElement;o.appendChild(s)})()
    

    Então você pode salvar uma página usando :pocketEntrar

  • Se você quiser salvar todas as abas no bolso, você pode incluir este comando em seu .pentadactylrc:

     command! pocketall -js RIL.saveTabs()
    

    Nota: ao contrário do comando anterior, este não faz com que um banner apareça


Acessando a funcionalidade de extensão em geral.

Para responder à sua pergunta mais geral, muitas vezes você pode acessar a funcionalidade das extensões via javascript, mas geralmente envolve alguma exploração e tentativa e erro. Existem duas maneiras de executar javascript a partir de pentadáctilo:

  1. :js ...
  2. :open javascript: ... (ou equivalente, ojavascript: ...)

    Isso é como executar um bookmarklet: ele está usando o comando open document com o javascript: "pseudo-protocolo".

Os dois métodos executam o javascript em diferentes contextos. Neste último, o objeto global é o padrão window objeto, que fornece acesso ao código do cliente para o navegador. No primeiro, o objeto global é um ChromeWindow objeto que lhe dá acesso a mais internals do navegador, incluindo elementos de interface do Firefox e objetos de extensão que não estão disponíveis no window objeto.

Você pode explorar o ChromeWindow objeto usando a conclusão da linha de comando do pentadactyl. Tipo :jsEspaçoABA e você receberá uma lista rolável de conclusões. Agora continue: RIL.ABA  e você obterá uma lista de membros do objeto RIL (pertencente à extensão Pocket).

Outra ferramenta é o Firefox Console do Navegador, que é executado no mesmo contexto. Você pode acessá-lo com Ctrl-Mudança-j. Isso fornece uma linha de comando interativa e um inspetor de objetos.

Finalmente, você pode querer inserir os arquivos da extensão em seu diretório de perfil (no GNU / Linux, geralmente $HOME/.mozilla/firefox/PROFILE_NAME/extensions/). Isso pode lhe dar dicas sobre o que procurar. Por exemplo, mesmo sem realmente abrir nenhum arquivo de origem, os nomes me disseram para procurar objetos iniciando "RIL" quando eu estava procurando pela funcionalidade da extensão de bolso.


2



uau, um mês sem respostas para este post e 2 pessoas respondem praticamente ao mesmo tempo. Louco :) - simonwjackson
Exatamente o que eu estava procurando, particularmente as informações gerais sobre o acesso à funcionalidade de extensão. Obrigado. (e sim, não esperava que isso fosse respondido, e consegui dois em um dia xD) - kstew


Eu trabalhei com tags. Adicione isto ao seu pentadactylrc:

command! pocket -nargs=* :open javascript:(function(){window.open('https://getpocket.com/edit?url='+escape(window.location.href)+'&tags=<args>', '_self');})()

que disparar via:

:pocket optionalFirstTag,optionalSecondTag

As tags não serão exibidas na página carregada, mas serão salvas na sua lista de leitura. Para abri-lo em uma nova guia, altere o código de '_self' para '_blank'.

Se alguém souber como lançar um link do modo hint sem visitá-lo, isso seria ótimo.


3



Para adicionar um modo de dica, primeiro você precisa editar eht para registrar a tag de dica. Você pode simplesmente adicionar sua carta ao [asotvvwy] grupo ou usar set eht+=[p]:':-moz-any-link'. Então você tem que fornecer uma descrição e função. Você pode fazer isso com o hints.addMode função. Por exemplo js hints.addMode('p','save with pocket', e=>saveLinkWithPocket(e.href)); Onde saveLinkWithPocket é uma função que adiciona um link ao bolso. Você pode encontrar alguns exemplos no meu arquivo .pentadactylrc ou na fonte de dáctil sob common/content/hints.js. - pyrocrasty


Existem várias opções adicionais:

  1. Você pode mudar para Instapaper (links de exportação do Pocket, e depois usar configuração Instapaper "Import from pocket") e usar o meu plugin nativo para instapaper pentadactyl.
  2. Se você tiver algum tempo e desejar, você pode adotar Plugin vimperator para readitlater (bolso) para pentadactil. Não é tão difícil como você pode esperar.

1





Você pode fazer isso facilmente com um bookmarklet.

  1. Vá para este site: https://getpocket.com/add?sb=1
  2. Clique com o botão direito do mouse no botão bookmarklet vermelho e clique em "Copiar local do link"
  3. Coloque esta linha no seu arquivo ~ / .pentadactylrc e substitua #BOOKMARKLET LINK # pelo URL que você acabou de copiar:

    command! pocket -description "Save to Pocket" open #BOOKMARKLET LINK#

Agora você pode simplesmente usar o :pocket ex comando quando você está em uma página que você deseja salvar.

Espero que isto ajude.

Fonte: http://www.martinjosefsson.com/2012/10/30/pocket-and-pentadactyl.html


0