Come attivare manualmente il cambiamento dell'immagine di sfondo?

2

Ho impostato lo sfondo per cambiarlo ogni ora e ho abilitato il ciclo in ordine casuale. A volte l'immagine di sfondo si trasforma in un'immagine che è stata impostata solo pochi round fa e vorrei ricrearla a qualcos'altro.

Come attivare manualmente la modifica dello sfondo? In modo che venga selezionata l'immagine casuale successiva nella cartella e venga riprodotto l'effetto dissolvenza incrociata.

Mi piacerebbe sentire una soluzione da riga di comando e preferirei non installare software di terze parti (anche se, se hai qualcosa da condividere, non permettermi di trattenerti, qualcuno potrebbe trovarlo utile). / p>     

posta Jari Keinänen 15.04.2011 - 16:58
fonte

3 risposte

4

Ho trovato questo post di MacWorld che mostra un AppleScript che puoi eseguire per forzarlo.

I have my desktop images set to change every 30 minutes in random order. Sometimes the desktop will display an image that displayed earlier in the day, and I wanted a way to 'advance' the image easily. The following AppleScript will cause the desktop image to change, in whatever order you have set, each time it is run:

E questo è lo script:

property theSwitch : 0
if theSwitch = 0 then
  tell application "System Events"
    tell current desktop
      set change interval to 1801.0
    end tell
  end tell
  set theSwitch to 1
else
  tell application "System Events"
    tell current desktop
      set change interval to 1800.0
    end tell
  end tell
  set theSwitch to 0
end if

Controlla il link e i commenti per alternative più simili o complete.

Nota: non l'ho provato.

UPDATE Mi dispiace sapere che non ha funzionato per te, ma lo fa per me su Snow Leopard con il seguente script:

tell application "System Events"
    tell current desktop
        set initInterval to get change interval -- get the currrent display interval
        set change interval to -1 -- force a change to happen right now
        set change interval to initInterval -- change it back to the original display interval
    end tell
end tell

ATTENZIONE

Questo presuppone che tu abbia

[X] "cambia immagine x sempre timestep"

[X] Ordine casuale

Quanto sopra funziona per me. L'ho eseguito dall'AppleScript Editor più volte per assicurarmi che funzionasse e in effetti cambia lo sfondo.

    
risposta data 15.04.2011 - 18:59
fonte
1

@ La risposta di Martín funziona in modo impeccabile in Snow Leopard. Tuttavia, in Lion, ogni modifica del change interval risulta in un cambiamento di sfondo, es. lo sfondo viene cambiato due volte quando viene eseguito lo script.

Non preoccuparti, è facilmente risolvibile: basta impostare change interval come qualunque sia attualmente impostato:

tell application "System Events"
    tell current desktop
        set initInterval to get change interval
        set change interval to initInterval
     end tell
end tell

È un po 'tautologico, certo, ma funziona.

    
risposta data 03.08.2011 - 15:45
fonte
1

Apoloiges per rispondere a una vecchia domanda.

Grazie a @koiyu per quel codice, è confermato che lavora a Mountain Lion. Tuttavia, se si utilizzano più monitor, funziona solo sul primo monitor. Ho leggermente modificato il tuo codice per farlo funzionare su tutti i monitor.

tell application "System Events"
    repeat with thisDesktop in every desktop
        tell thisDesktop
            set initInterval to get change interval
            set change interval to initInterval
        end tell
    end repeat
end tell

È interessante notare che se utilizzi più spazi con Controllo missione, cambierà solo gli sfondi su tutti i monitor dello spazio attualmente focalizzato. È possibile passare a un altro spazio ed eseguirlo di nuovo per cambiare gli sfondi su quello spazio. Spero che questo aiuti!

    
risposta data 02.05.2013 - 16:27
fonte

Leggi altre domande sui tag