Come ottenere a livello di codice il percorso per lo sfondo sul desktop attivo?

1

Sto cercando di ottenere il percorso per lo sfondo sul desktop attivo. Tuttavia, sto riscontrando dei problemi in modo affidabile per ottenere questo.

Le seguenti fonti indicano che ~/Library/Application Support/Dock/desktoppicture.db è un database sqlite con informazioni sullo sfondo.

  • link
  • gist.github.com/gregneagle/6225747 (Qualcuno può prefissarlo con http ? SE mi impedisce di pubblicare più di 2 collegamenti a causa della mia bassa reputazione su questo forum)

Tuttavia, queste fonti impostano un nuovo background e non provano per leggere il contenuto del database sqlite per il desktop attivo.

Ho scaricato il contenuto di questo file sul mio sistema e ho caricato come un succo di link .

Questo file sembra contenere informazioni sui display, e leggere l'ultimo valore di data sembra ottenere lo sfondo attivo a volte .

  • C'è un modo in cui posso usare desktoppicture.db per ottenere lo sfondo sul desktop attivo ogni volta?
  • C'è un altro modo per ottenere a livello di codice un percorso per lo sfondo attivo?

Modifica: forums.macrumors.com/showthread.php?t=1525299 (qualcuno può aggiungere http?) è un altro fonte di ottenere queste informazioni con AppleScript, ma per qualche motivo il seguente snippet restituisce Wave.jpg quando Wave.jpg non è il sfondo attivo.

tell application "Finder"
    set theDesktopPic to desktop picture
    set theName to displayed name of theDesktopPic
    display dialog theName
end tell

Per chiarire, il mio sfondo è impostato per scorrere in modo casuale una directory.

Ho provato a eseguire il seguente comando come suggerito nelle risposte.

tell application "System Events" to get properties of every desktop

Tuttavia, sul mio sistema, questa uscita:

display name:Color LCD, change interval:1800.0, id:69731840, random order:true, picture rotation:1, pictures folder:/Users/bamos/Pictures/wallpaper/nature, picture:/Library/Desktop Pictures/Wave.jpg, translucent menu bar:missing value, class:desktop,

che non include lo sfondo del desktop attivo.

Ho disattivato il ciclo di immagini casuali e

osascript -e 'tell application "Finder" to set desktop picture to {"Macintosh HD:Library:Desktop Pictures:Beach.jpg"} as alias'

cambia il mio sfondo sullo sfondo della spiaggia di riserva e

osascript -e 'tell application "System Events" to get properties of every desktop'

ora mostra picture:/Library/Desktop Pictures/Beach.jpg . Tuttavia, questo non è utile perché voglio ottenere lo sfondo quando sono in modo casuale in bicicletta attraverso una directory.

    
posta Brandon Amos 19.10.2014 - 09:18
fonte

1 risposta

2
tell application "System Events" to picture of desktop 1

Visualizza tutte le proprietà:

tell application "System Events" to get properties of every desktop
    
risposta data 19.10.2014 - 09:50
fonte

Leggi altre domande sui tag