Alterar o ícone da pasta de várias pastas (filmes) [duplicado]

1

Como posso alterar os ícones de muitas pastas?

Como definir a primeira foto de todas as pastas como ícones de pasta?

Eu estive aqui, mas não funciona para mim. Como meus filmes não estão na partição home, eles estão em uma partição ext4 diferente e quando tento colocar a localização dessa partição nesse comando, simplesmente não funciona porque ela coloca automaticamente / home / sumeet na frente do local que eu digito.

Os scripts no segundo post não estão funcionando! Talvez eu esteja fazendo algo errado.

[EDIT 2 DETALHADO]

{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I -mindepth 1 -maxdepth 1 -type d)

Eu executei este comando primeiro no primeiro post, o que me deu uma saída

find: ‘/home/sumeet/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I’: No such file or directory

Em seguida, movi alguns dos arquivos para home / videos / films como sugerido na postagem original e executei este comando

{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/Videos/Films -mindepth 1 -maxdepth 1 -type d)

O que funcionou perfeitamente, mas não consigo mover toda a minha coleção de filmes para a pasta inicial.

Então eu tentei a solução no segundo post mencionado e corri

python3 /home/sumeet/change_icon.py </mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I>

E recebi essa saída

bash: syntax error near unexpected token 'newline'

Então eu percebi que fiz algo errado e tentei isso

python3 /home/sumeet/change_icon.py /mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I

Não obteve nenhuma saída, mas também não funcionou.

Então eu tentei o segundo script 3 ou 4 vezes. A opção de clique direito apareceu, mas não funcionou, e eu fiz tudo o que as postagens pediram. Eu fiz o logout, entrei novamente, tentei reiniciar, -q nautilus

Parece que não está funcionando.

    
por Sumeet Deshmukh 14.03.2017 / 14:35

1 resposta

6

Este script foi escrito por Jacob Vlijm e foi originalmente publicado aqui .

#!/usr/bin/env python3
import subprocess
import os

# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---

# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)

for root, dirs, files in os.walk(dr):
    for directory in dirs:
        folder = os.path.join(root, directory)
        try:
            first = min(p for p in os.listdir(folder) 
                        if p.split(".")[-1].lower() in ext)
        except ValueError:
            pass
        else:
              subprocess.Popen([
                  "gvfs-set-attribute", "-t", "string",
                  os.path.abspath(folder), "metadata::custom-icon",
                  "file://"+os.path.abspath(os.path.join(folder, first))
                  ])

Para usar

  1. Crie, se ainda não existir, o diretório

    ~/.local/share/nautilus/scripts
    
  2. Copie o script em um arquivo vazio, salve-o em ~/.local/share/nautilus/scripts as set_foldericons (sem extensão!), clique com o botão direito e vá para as propriedades do arquivo e torne-o executável . / p>

  3. Faça logout e volte, funciona.

Se você quiser ocultar todos os ícones de pastas (para não presumir acidentalmente que sejam pastas), adicione um . no início dos nomes dos arquivos, por exemplo, folder.png se torna .folder.png

Trabalho original

    
por Sumeet Deshmukh 04.04.2017 / 12:35