TL; DR
A melhor solução para desenvolvedores de aplicativos é usar o python-nautilus .
Crie seu script python ( seguinte exemplos e ruins documentação ) e copie-a para a pasta correta:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Explicação detalhada
Digamos que você queira criar um aplicativo que o usuário instale com um script ou com um arquivo .deb
. Com isso em mente, explicarei por que acho que python-nautilus
é uma solução melhor em comparação com nautilus-actions e os scripts do nautilus .
Esta é a única solução para oferecer uma GUI e, portanto, facilita a criação de um comportamento complexo, por exemplo, decidir quais entradas de menu serão exibidas se o tipo de mime do arquivo selecionado for text/plain
.
O principal problema com esta solução é que não é fácil (se possível) importar as entradas para outro computador sem o Configuration Tool e o usuário importá-lo, digamos que não seria possível fazer com um script .
Esta é a solução mais direta, pegue um script, coloque-o em uma pasta e pronto. Isso definitivamente permitiria que um script de instalação ou um arquivo .deb
criasse uma nova entrada no menu de contexto. Quais são os problemas? Por onde eu começo ...
- Ele sempre aparece no submenu "Scripts".
- Não aparece se você não tem nada selecionado.
- Ele não permite decidir se você deve mostrar a entrada ou não.
- Não permite dicas de ferramentas ou títulos diferentes. (talvez eu esteja sendo exigente)
Um bom aplicativo não usa atalhos como esse, porque isso estraga a experiência do usuário.
Não é tão fácil de criar como as soluções anteriores, mas oferece o melhor dos dois mundos. Scripting e personalização.
Esta solução permite criar um script python que recebe os arquivos selecionados no nautilus e permite que você decida se deseja mostrar uma entrada ou não e o que fazer com essa entrada. Também permite criar sub-menus e / ou coisas legais.
A desvantagem é a grande falta de documentação e desenvolvedores que apenas querem adicionar uma entrada podem perder algumas horas para criar um protótipo funcional (na minha pesquisa eu encontrei uma solução baseada em C, que foi muito mais complicado do que isso).
Eu normalmente uso o Visual Studio Code, enquanto no Windows ele oferece uma entrada no menu de contexto Open with Visual Studio Code
, está faltando a mesma funcionalidade no Linux, com a solução Python seria fácil resolver o problema. Acho que os aplicativos do Linux podem se beneficiar de uma integração com o nautilus.
Espero que esta explicação o tenha ajudado a decidir o que escolher.