Como personalizo o menu de contexto no Nautilus?

28

De tempos em tempos, tenho ideias de ações que gostaria de ter disponíveis no menu de contexto do Nautilus. Como os adiciono lá? Existe algo como um plugin Thunar UCA para o Nautilus?

    
por Ivan 17.01.2011 / 13:09

6 respostas

23

A resposta abaixo está desatualizada: uma resposta recentemente atualizada é esta .

Os menus de contexto do Nautilus costumavam ser personalizáveis pelas extensões do Nautilus . Esteja avisado que este link leva ao documento arquivado; Os desenvolvedores do Gnome removeram essa documentação e não suportam mais esse tipo de personalização. Ainda pode funcionar embora.

Você também pode colocar scripts de shell simples no diretório ~/.local/share/nautilus/scripts ( ~/.gnome2/nautilus-scripts in early releases), e eles aparecerão no menu de contexto do arquivo no submenu Scripts .

    
por ulidtko 17.01.2011 / 13:34
29

Atualização para o Ubuntu 18.04

Na data em que o Ubuntu 18.04 foi lançado, o Nautilus-Actions estava / não está mais disponível. Ele também parece ter sido substituído por um novo programa, chamado Filemanager-Actions, que de outra forma parece idêntico.

Para instalar este programa, veja esta solução .

Ações Nautilus

Podemos definir nossos próprios itens de menu de contexto do botão direito com nautilus-actions .

  • ExecuteaFerramentadeConfiguraçãodeAçõesdoNautilusnoDashouemumterminalcom

    nautilus-actions-config-tool

  • No separador Acção , atribua à sua ação um rótulo sensato, por ex. "Abrir no Terminator" e escolha exibir isso na seleção ou no menu de contexto.

  • Em seguida, abra a guia Comando para inserir os comandos a serem executados

  • Concedaocaminhocompletoaoseucomando(/usr/bin/command_to_run)eàsopçõesdoprograma.

  • Apósefetuarlogoutenovamente,omenudecontextodobotãodireitoabaixoseráexibido:

por Takkat 08.11.2011 / 22:22
11

Pode-se usar a extensão python-nautilus como uma alternativa para nautilus-actions .

Para instalar:

sudo apt-get install python-nautilus

Um exemplo simples:

 
import os

from gi.repository import Nautilus, GObject

class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
    def __init__(self):
        pass
    def menu_activate_cb(self, menu, file):
         os.system("write here your simple bash command & pid=$!")

    def get_background_items(self, window, file):
        item = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2', 
                                         label='Name of your item', 
                                         tip='',
                                         icon='')
        item.connect('activate', self.menu_activate_cb, file)
        return item,

Copie este script python em ~/.local/share/nautilus-python/extensions e reinicie o nautilus. Quando você clica com o botão direito na área de trabalho e seleciona seu item, seu comando bash simples será executado:)

    
por mnrl 28.05.2013 / 20:59
3

Se você quiser fazer algo a qualquer momento, faça como o ulidtko diz e use ~/.gnome2/nautilus-scripts .

Se você quiser personalizar quando o vir, instale o pacote nautilus-actions e, em seguida, vá para System- > Preferences- > Configuração das ações do Nautilus.

    
por zpletan 17.01.2011 / 13:50
3

29 de novembro de 2016 era Ubuntu 14.04, 16.04 e 16.10 mais versões anteriores.

Veja as instruções do Nautilus para criar seu próprio script aqui ( Ajuda Ubuntu - Nautilus Scripts Como ). Basicamente você:

  • Navegue até o diretório ~/.local/share/nautilus/scripts/
  • Coloque seu script (escrito em Bash, Perl ou Python) lá.
  • Marque o script como executável usando o Nautilus ou do terminal com chmod +x script_name
  • O Nautilus disponibiliza variáveis ambientais para seu script: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI e NAUTILUS_SCRIPT_WINDOW_GEOMETRY

Existem exemplos de scripts localizados em ( Ajuda do Ubuntu - Scripts de exemplo do Nautilus ) para enviar arquivos por e-mail, montagem um arquivo ISO, definindo arquivos para somente leitura, editando arquivos com privilégios de ROOT do gedit, abrindo o terminal na localização atual, etc.

Examine os scripts e use um como um modelo para criptografar arquivos, fazer o upload para a nuvem, compactar para backup ou o que for necessário.

    
por WinEunuuchs2Unix 30.11.2016 / 03:12
2

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 .

Ações 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 .

Scripts do Nautilus

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.

python-nautilus

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.

    
por Ricardo Rodrigues 06.03.2017 / 01:51

Tags