Como posso fazer o gerenciador de arquivos do Nautilus lembrar de minhas guias abertas?

8

É possível preservar minhas abas abertas entre o fechamento e a abertura do gerenciador de arquivos Nautilus?

Preferencialmente, mesmo em diferentes logouts e reinicializações.

    
por orschiro 24.02.2016 / 13:47

4 respostas

6

Opções de linha de comando (muito) limitadas do nautilus

Infelizmente, o nautilus não oferece opções de linha de comando para ler o diretório aberto de suas janelas, nem tem qualquer opção para enviar uma janela existente para outro diretório. Como você não consegue lembrar o que não vê, estamos ficando sem opções à primeira vista.

No entanto

Temos xdotool , não fazer o que nautilus não faz, mas pelo menos falsificar o comportamento que você descreve. Podemos fazer isso de tal maneira que "você acreditaria" se não soubesse como isso é feito.

Embora a solução abaixo não sobreviva a uma reinicialização, a janela "lembrando" (possivelmente com abas) e todos os diretórios abertos é muito bem possível dentro de uma sessão. Desde que você mencionou estar interessado nisso como uma "segunda escolha", aqui está.

Como funciona; o processo

Embora não possamos fechar uma janela e preservar suas guias e abrir diretórios, podemos fazer com que uma janela existente desapareça (e completamente), com a ajuda de xdotool .

Se, posteriormente, alterarmos o comportamento do nautilus launcher de modo que primeiro procure possíveis janelas não mapeadas para remapear, antes de abrir um novo, efetivamente temos exatamente o mesmo comportamento como se nautilus se lembrasse da (s) última (s) janela (s) usada (s).

Como configurar

  1. Copie o script abaixo em um arquivo vazio, salve-o como remember.py

    #!/usr/bin/env python3
    import subprocess
    import os
    
    app = "nautilus"
    
    wfile = os.environ["HOME"]+"/.unmapped_"+app
    
    def get(cmd):
        # simply a helper function
        return subprocess.check_output(cmd).decode("utf-8").strip()
    
    def check_windowtype(w_id):
        # check the type of window; only unmap "NORMAL" windows
        return "_NET_WM_WINDOW_TYPE_NORMAL" in get(["xprop", "-id", w_id])
    
    def get_pid(app):
        # (try to) get the pid of the application 
        try:
            return get(["pgrep", app])
        except subprocess.CalledProcessError:
            pass
    
    def get_matches(pid):
        # get the window list, select the valid (real) app's windows
        ws = get(["wmctrl", "-lpG"]).splitlines()
        matches = [w.split() for w in ws if pid in w]
        return [w for w in matches if check_windowtype(w[0]) == True]
    
    try:
        # try to read the file with unmapped windows
        wininf = [l.split() for l in open(wfile).readlines()]
    except FileNotFoundError:
        # if there are no, unmap the current app's windows
        filebrowserwins = get_matches(get_pid(app))
        if filebrowserwins:
            open(wfile, "wt").write(("\n").join((" ").join(l) for l in filebrowserwins))
            for w in [w[0] for w in filebrowserwins]:
                subprocess.Popen(["xdotool", "windowunmap", w])
        else:
            arg = "--new-window" if app == "nautilus" else "" 
            subprocess.Popen([app, arg])
    else:
        # re- map unmapped windows
        for w in wininf:
            wid = w[0]; geo = w[3:7]
            subprocess.call(["xdotool", "windowmap", wid])
            subprocess.Popen(["wmctrl", "-ir", wid, "-e", "0,"+(",").join(geo)])
        os.remove(wfile)
    
  2. O script precisa dos dois wmctrl e xdotool :

    sudo apt-get install wmctrl xdotool
    
  3. Copie o iniciador nautilus de /usr/share/applications para ~/.local/share/applications

    para 15.04 e posterior:

    cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
    

    para versões anteriores do Ubuntu:

    cp /usr/share/applications/nautilus.desktop  ~/.local/share/applications
    
  4. abra a cópia local com o gedit:

    gedit ~/.local/share/applications/org.gnome.Nautilus.desktop
    

    (no caso de 15.04 + )

    e procure a linha primeiro , começando com Exec= . Mude para:

    Exec=python3 /path/to/remember.py
    

    Salve e feche o arquivo.

  5. Crie um atalho de teclado com o mesmo comando: Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:

    python3 /path/to/remember.py
    
  6. Agora efetue logout e volte em

Como usar

O uso é muito simples:

  • Para abrir uma janela, faça como de costume: clique no lançador nautilus. Aba a janela como você gosta:

  • Parafecharumajaneladefinitivamente,feche-aclicandonacaixa"fechar" da janela ( x ).

  • Para preservar a (s) janela (s) + todas as suas guias:
    pressione a tecla de atalho. A (s) janela (s) desaparecerão (aparentemente próximas).

  • Dapróximavezquevocêclicarnolançador,asjanelasdonautilusaparecerãoexatamentecomonaúltimavez,atéa(s)posição(ões)dajanelaserápreservada.

Éisso

Nota

  • Nostestesqueexecutei,nãoconseguiencontrarnenhumdown(14.04).Sevocêspodesedepararcomqualquer,porfavormencione!
  • NaseçãoComousar,sugericlicarnoíconedonautiluspararemapearpossíveisjanelasnãomapeadas.Noentanto,atecladeatalhofaráomesmo,paraquevocêpossaveroquefuncionadamaneiramaisconvenienteparavocê.Alémdisso,sevocêabrirumapastaclicandoduasvezesemapósvocênãotermapeadoemoumaispastas,aspastasnãomapeadasaindaserãoremapeadaspeloatalho.

EDITAR:

UsuáriosdoNemo

OsusuáriosdoNemotambémpodemusarasoluçãoacima,mas:

  • Naseçãoprincipaldoscript,altere:

    app="nautilus"
    

    para:

    app = "nemo"
    
  • No ponto 3, use:

    cp /usr/share/applications/nemo.desktop ~/.local/share/applications
    
  • No ponto 4, use:

    gedit ~/.local/share/applications/nemo.desktop
    

Testado, provou estar trabalhando com o nemo

    
por Jacob Vlijm 25.02.2016 / 21:42
4

Eu recomendo usar o outro gerenciador de arquivos em vez disso, se estiver tudo bem com você, já que o Nautilus não tem esse recurso .

Aqui está um aplicativo alternativo que faz o truque: SpaceFM

Veja como instalá-lo

Ele possui recursos avançados, como, é claro, reabrir as últimas guias .

Para torná-lo o gerenciador de arquivos padrão :

xdg-mime default spacefm.desktop inode/directory

    
por Giraldi 17.01.2017 / 08:29
1

Experimente esses scripts para salvar e restaurar as guias do gerenciador de arquivos Nautilus. link

    
por susurri 24.07.2017 / 10:58
0

A maneira mais fácil de acessar pastas é o bookmarking. Você não manterá as abas abertas, mas poderá pelo menos ver as pastas que deseja rapidamente (e, se pensar sobre isso, os indicadores agem como abas).

Basta abrir uma pasta no Nautilus, ir ao menu Bookmark e adicionar um marcador.

    
por lapisdecor 24.02.2016 / 15:05

Tags