0 votos

killall Dock - todos los Windows activos se maximizan y aparecen en el Escritorio

He escrito Python script para cambiar el fondo de pantalla.

Después de cambiar mi fondo de pantalla utilizando el siguiente código:

app('Finder').desktop_picture.set(mactypes.File(imageAddress))

He añadido

os.system("killall Dock")

El fondo de pantalla cambia con éxito, pero todos los Windows activos pero minimizados en la maximización. Mi pregunta es ¿Cómo puedo refrescar mi Dock sin cambiar el estado de los Windows minimizados/maximizados?

1voto

user3439894 Puntos 5883

No conozco ninguna forma de evitar que el Windows minimizado se restaure al ejecutar un
killall Dock comando por cualquier método.

La solución larga es enumerar todos los procesos de aplicación con ventanas visibles y hacer una lista de todas las ventanas minimizadas antes de ejecutar killall Dock y luego usar la lista para volver a minimizarla. En serio no recomiendo hacer eso, pero es factible si quieres pasar el tiempo de codificación.

Dicho esto, ¿por qué no utilizar un método que no requiera el uso de killall Dock y cambia inmediatamente el fondo de pantalla?

Aquí hay dos ejemplos utilizando AppleScript:

tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Milky Way.jpg"

O:

tell application "Finder" to set desktop picture to alias "Macintosh HD:Library:Desktop Pictures:Sierra.jpg"

Desde la línea de comandos, por ejemplo, en Terminal o en el shell basado en script:

osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/Library/Desktop Pictures/Milky Way.jpg"'

Cualquiera de ellos cambia inmediatamente el fondo de pantalla sin necesidad de hacer nada más.

0 votos

Tengo que seguir usando killall Dock para que se produzcan los cambios. Incluso cuando ejecuto lo anterior desde mi shell, a menos que ejecute killall Dock Los últimos cambios no tienen lugar.

0 votos

@nakulchawla09, En mi sistema con 10.12.5, el cambio de fondo de pantalla es inmediato y no es necesario usar killall Dock .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X