Salvando guias do Nautilus

0

Existe alguma maneira de salvar o estado do Nautilus? Eu geralmente estou abrindo mais janelas e mais abas, divididas por argumentos, mas é muito frustrante perdê-las toda vez que eu desligo o sistema.

    
por tigerjack89 19.09.2014 / 10:17

2 respostas

2

Não há uma maneira (simples) de fazer isso, mas essa pergunta tem um script que pode ajudar:

abra o nautilus como nova aba na janela existente

Observe que xdotool e wmctrl precisam ser instalados para que funcione.

Usando esse script como base, você pode criar um script que abra automaticamente um conjunto definido de janelas e guias. Isto é apenas para dar uma ideia geral e não testado. Por exemplo, não sei como wmctrl funcionaria com várias janelas do Nautilus. Tenho certeza de que os loops / variáveis / citações também poderiam ser melhores (não estou tentando simular um array 2D ainda).

windows=2
tabs1=(/home/user/Documents /home/user/Downloads)
tabs2=(/usr/share /etc)

#Save old clipboard value
oldclip="$(xclip -o -sel clip)"

#The following would be the cleanest way to code this:

#while i < $windows; do
    #open nautilus
    #for tab in tabs; do
        #open tab in this window
    #done
#done

nautilus ${tabs1[0]}

for tab in ${tabs1[@]}; do
    i=0
    for tab in ${tabs[@]}; do
        if [ $i -gt 0]; then
            echo -n tab | xclip -i -sel clip
            wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
        fi
        i=$[$i + 1]
    done
done

#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip

A melhor maneira de fazer isso seria percorrer todas as janelas e todas as guias. Ele abriria o Nautilus com a guia 1, depois abriria a guia 2, etc. Ele usaria a área de transferência para armazenar o local da guia e colá-lo no campo de localização.

Você precisaria definir manualmente o número de janelas e as guias em cada uma antes de cada desligamento. Mas percebi que você poderia usar o script ao contrário para salvar as guias abertas:

#Save old clipboard value
oldclip="$(xclip -o -sel clip)"

wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
tab=$(xclip -o -sel clip)
tabs[0]=""

i=1

while [ "$tab" != "$tabs[0]"]; do
    tabs[i]="$tab"
    wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
    tab=$(xclip -o -sel clip)
    i=$[$i + 1]
done

#i=1

#while i < $windows; do
    #open window, open tabs?
#done

#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip

Isso é tudo o que posso fazer no momento. Eu posso tentar testar isso mais tarde, e qualquer sugestão / correção será bem-vinda.

    
por Nattgew 19.09.2014 / 19:39
1

No caso das janelas, é possível fazer um lançador personalizado que abra todos os URIs especificados.

Você pode ver o arquivo /usr/share/applications/nautilus-home.desktop . Há uma linha começando com Exec :

Exec=nautilus --new-window %U

Você pode alterá-lo desta maneira:

Exec=nautilus -n URI1 URI2 …

Depois de salvá-lo em algum lugar, como sua área de trabalho, e verificar as permissões executáveis, ele abrirá cada URI especificado em uma janela separada.

    
por AliNâ 19.09.2014 / 20:44