¿Cómo configurar la primera imagen de cada carpeta como su icono de carpeta?
La pregunta vinculada anteriormente tiene una respuesta que consiste en un script que ha estado funcionando para mí. Solo necesita una pequeña mejora.
¿Qué hace?
Encuentra archivos con extensiones .jpg, .jpeg, .png, .gif, .icns, .ico y los establece como el icono de carpeta de la carpeta en la que se encontró el archivo. Funciona en múltiples carpetas, de forma recursiva. Básicamente trata de encontrar un archivo de imagen dentro de la carpeta, y la primera imagen que encuentra se configura como un icono de carpeta. Funciona muy bien para muchos escenarios, y configurar este script generalmente es lo primero que hago después de una nueva instalación (porque es increíble).
¿Cuál es el problema?
Puede haber algunos directorios que contengan muchos archivos de imagen y el primer archivo de imagen en ese directorio podría no ser el adecuado para ser el ícono de la carpeta.
Que debe hacer
En lugar de estar basado en la extensión, si se convirtió en un nombre de archivo y se dirigió a uno (por ejemplo folder.png
) o múltiples (por ejemplo albumart.png
cover.png
) nombres de archivo, entonces este problema podría resolverse.
o mejor aún, hacer que ambos enfoques funcionen en un solo script
- Encuentra predefinido
filenames
- Si lo encuentra, configúrelo como icono de carpeta y vaya a la siguiente carpeta
- Si NO se encuentra, busque la extensión predefinida y configúrela como ícono de carpeta y vaya a la siguiente carpeta
fuente
Respuestas:
Todavía podría "darle un poco de elegancia", pero a continuación se encuentran las versiones editadas de las vinculadas.
¿Cuál es la diferencia?
Agregué una lista predefinida a la sección principal:
y reemplacé:
por:
para que el script primero intente encontrar (archivo) coincidencias en la lista
specs
, (solo) si no hay, salta a buscar una extensión coincidente y hace el truco si encuentra una imagen adecuada.1. La versión básica
Para ser utilizado con el directorio de destino como argumento:
Cómo utilizar
change_icon.py
Ejecútelo con el directorio de destino como argumento:
¡Eso es!
2. La opción editada de hacer clic con el botón derecho, que se utilizará como secuencia de comandos nautilus (clic con el botón derecho)
Usar
Cree, si aún no existe, el directorio
Copie el script en un archivo vacío, guárdelo
~/.local/share/nautilus/scripts
comoset_foldericons
(¡sin extensión!) Y hágalo ejecutable .Si, por algún motivo, desea restablecer los iconos dentro de una carpeta a sus iconos predeterminados, use el script aquí
fuente
file://
. En lugar dereplace("%20", " ")
usar la decodificación URI adecuada (purllib.parse.unquote
. Ej. ) Y la codificación posterior (urllib.parse.quote
).subprocess.Popen
asubprocess.call
, pero en grandes directorios con casi 700 + compartimento no todos los iconos de carpetas chnage.urllib.parse.quote
funciona bien en una prueba "en seco", no en el script. Necesito averiguar por qué, pero dejando la versión funcional del script por ahora.unquote
Funciona como se esperaba?