Posso ottenere la risoluzione dello schermo del mio Macbook Pro usando il codice AppleScript su questo sito.
on getScreenSize()
-- from https://stackoverflow.com/questions/1866912/applescript-how-to-get-current-display-resolution
set resolutions to {}
repeat with p in paragraphs of ¬
(do shell script "system_profiler SPDisplaysDataType | awk '/Resolution:/{ printf \"%s %s\n\", $2, $4 }'")
set resolutions to resolutions & {{word 1 of p as number, word 2 of p as number}}
end repeat
-- return the last one assuming that it should be the one that is not the Laptop screen
return item (length of resolutions as integer) of resolutions
end getScreenSize
Il valore restituito corrisponde alle informazioni di "Informazioni su questo Mac".
Tuttavia,quandoottengoledimensionidellafinestradaundebugger,mostralametàdelvaloredalsistema.Facciounafinestraperriempireunoschermoecontrolloilimitidellafinestra.
Questo è confuso e problematico mentre sto scrivendo il codice AppleScript che allinea più finestre usando il comando set bounds
.
set bounds of s to {x1, y1, x2, y2}
Che cosa fa la differenza tra la risoluzione dello schermo di un sistema e i limiti di una finestra? È giusto presumere che (risoluzione di sistema) / 2 debba essere usato per impostare limiti per i display retina?