7 votes

script pour obtenir Windows au-delà de la limite d'affichage

J'ai un problème avec mon nouveau moniteur. Souvent, lorsque je déverrouille l'écran, il y a des fenêtres qui dépassent le bord du bureau. C'est assez irritant de devoir les ramener manuellement au centre de la fenêtre.

Heureusement, j'ai trouvé un script qui peut le faire pour moi : https://github.com/bradchoate/gather-Windows/blob/master/Gather%20Windows.applescript

Malheureusement, cela ne fonctionne qu'à partir de la fenêtre de l'éditeur script. Lorsque j'essaie de l'exécuter en cliquant sur son nom dans la barre de menu script, rien ne se passe. J'ai essayé de l'enregistrer en tant qu'application et de l'exécuter, mais le résultat est le même.

Quelqu'un peut-il m'aider ?

5voto

user3439894 Points 52496

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.

Insert Image 1

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) :

Insert Image 2

Insert Image 3

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.

3voto

Monomeeth Points 61435

J'utiliserais Automator pour créer un service qui exécute le script Apple script. En prime, vous pourriez également utiliser les préférences système pour attribuer un raccourci clavier au service.

Vous trouverez ci-dessous les étapes à suivre pour chacune d'entre elles.

1. Créer un service à l'aide d'Automator

  1. Lancez Automator (qui se trouve généralement dans votre dossier Applications).
  2. Allez dans Fichier > Nouveau
  3. Sélectionnez Service et cliquez sur Choisir
  4. Dans la partie supérieure droite de la fenêtre qui s'affiche, assurez-vous que l'option "Aucune entrée" est sélectionnée dans la liste des options. Le service reçoit liste déroulante
  5. Veiller à ce que le En La liste déroulante affiche "Toute application"
  6. Dans la deuxième colonne contenant la liste longue, trouvez "Run AppleScript" et double-cliquez dessus.
  7. La fenêtre Exécuter AppleScript s'affiche alors sur la droite.
  8. Aujourd'hui, remplacer le (* Votre script va ici *) avec le script que vous voulez
  9. Enregistrez le service en utilisant un nom significatif (par exemple Gather Windows).
  10. Quitter l'Automator

Je testerais maintenant le service en déplaçant quelques fenêtres hors de l'écran. Vous pouvez lancer le service à partir de tous en allant dans la liste des services dans n'importe quel menu d'application (par exemple Finder > Services, Safari > Services, TextEdit > Services, etc) et en sélectionnant le service que vous venez de créer.

Si cela fonctionne, vous pouvez également créer un raccourci clavier pour l'exécuter.

2. Création d'un raccourci

  1. Allez dans Préférences système > Clavier > Raccourcis
  2. Sélectionnez Services dans la barre latérale
  3. Trouvez votre service (il se trouve dans la liste de droite)
  4. Ajouter un raccourci en double-cliquant sur le nom du service
  5. Allez maintenant dans Préférences système > Sécurité et confidentialité > Confidentialité
  6. Sélectionner Accessibilité dans la barre latérale
  7. Cliquez sur le signe + (vous devrez peut-être déverrouiller le cadenas s'il est fermé).
  8. Ajouter un automate.
  9. Add Finder (pour le trouver, vous devez naviguer vers /System/Library/CoreServices/Finder.app ).
  10. Quittez vos préférences système.

Vous devriez maintenant pouvoir utiliser le raccourci clavier pour lancer le service.

NOTE : Je suis conscient que pour les certains les raccourcis clavier des utilisateurs ne semblent pas fonctionner bien qu'ils aient été attribués à un service. Il s'agit là d'un tout autre sujet, mais si cela se produit dans votre cas, vous pouvez au moins exécuter le service depuis n'importe quelle application que vous utilisez.

Tenez-moi au courant.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X