Je me suis rendu au URL dans votre question, cliquez sur le bouton Brut a copié le bouton code et l'a collé dans script Éditeur où je l'ai sauvegardé en tant que application nommé : Rassembler les fenêtres hors écran.app
Je suis ensuite entré dans Préférences du système > Sécurité et vie privée > Accessibilité comme le montre l'image ci-dessous, et a ajouté l'élément Rassembler les fenêtres hors écran.app .
J'ai déplacé quelques fenêtres hors de l'écran, puis j'ai exécuté la commande Rassembler les fenêtres hors écran.app L'opération s'est déroulée sans erreur et a permis d'afficher entièrement à l'écran la fenêtre qui n'était pas à l'écran.
Alors que j'ai ajouté le Rassembler les fenêtres hors écran.app a Préférences du système > Sécurité et vie privée > Accessibilité après l'avoir sauvegardé, si je ne l'avais pas fait, je me serais attendu à voir apparaître ce qui suit boîtes de dialogue lorsque j'ai lancé l'application (il arrive que l'un des deux ou les deux n'apparaissent pas) :
Cela dit, permettez-moi de dire que, bien que je n'aie pas étudié la script en profondeur pour en comprendre parfaitement les mécanismes, je constate néanmoins ce que je considère comme un mauvais codage dans ce cas au début et je changerais la ligne suivante de code de :
repeat with proc in application processes
A :
repeat with proc in (application processes whose visible is equal to true)
La raison pour laquelle ce changement me semble logique est que, par exemple, j'ai actuellement 38 processus d'application en cours d'exécution, dont seulement 10 sont visibles, et qu'il semble donc inutile d'interroger davantage les 28 processus d'application qui ne sont même pas visibles.
Notez également que j'ai minimisé certaines fenêtres hors écran avant de lancer l'application et que lorsque je les ai déminimisées, elles se sont retrouvées complètement à l'écran. Ainsi, les visible
Dans ce cas, la propriété concerne le processus qui n'est pas minimisé hors de l'écran. Les fenêtres qui sont minimisées ne sont pas visibles.