Quand on utilise le default answer
paramètre dans display dialog
dans AppleScript, quel que soit le texte défini default answer
est automatiquement mis en surbrillance lors de l’affichage de la boîte de dialogue.
Est-il possible de spécifier une réponse par défaut sans la réponse en surbrillance?
Je souhaiterais idéalement que le curseur soit placé après le dernier caractère de la réponse par défaut, afin que l'utilisateur puisse ajouter du texte à cette réponse sans appuyer au préalable → clé (ou pire, écrasant accidentellement la réponse par défaut).
macos
applescript
dialog
rubik's sphere
la source
la source
default answer
être désélectionné, de sorte que l’utilisateur puisse immédiatement ajouter du texte sans avoir à appuyer d’abord sur la flèche droite) Employant undefault answer
C’est le moyen le plus efficace pour moi d’offrir toutes ces options à portée de main de l’utilisateur.Réponses:
Je l'ai compris.
Si on appuie sur la flèche droite juste millisecondes avant la boîte de dialogue est affichée, puis le
default answer
ne sera pas sélectionné et le curseur clignotant sera placé après le texte par défaut.Vous pouvez effectuer cette action dans AppleScript comme suit:
En théorie, la solution ci-dessus ne devrait pas fonctionner. En théorie, la touche doit commencer et se terminer avant le
display dialog
la commande initie. Mais, cette méthode fonctionne, pour une raison quelconque.Remarque: cette méthode ne fonctionnera pas si vous insérez
key code 124
avant le très premier dialogue de votre fichier AppleScript. Dans ce cas, mon code ci-dessus ne se comportera pas comme souhaité et ledefault answer
le texte restera sélectionné. (Il peut sembler erroné de fonctionner correctement si vous exécutez simplement le code AppleScript à partir de Script Editor.app ou Automator.app, mais cela ne fonctionnera pas correctement si vous exécutez le fichier .scpt via Fast Scripts,osascript
dans Terminal.app, ou toute autre méthode.)Cependant, si le
display dialog
Il s’agit du deuxième, troisième ou cinquantième dialogue d’un fichier AppleScript, ma solution fonctionne correctement. Ne me demandez pas pourquoi cela ne fonctionnera pas lors du premier dialogue (car je ne sais pas).Vous n'avez donc pas d'autre choix que de réorganiser les boîtes de dialogue du fichier AppleScript afin que la première boîte de dialogue n'ait pas besoin de
default answer
.Une solution de contournement, si votre dialogue initial doit avoir un
default answer
qui est désélectionné, est d'insérer un dialogue qui procède automatiquement après un court laps de temps. Cette boîte de dialogue doit être insérée immédiatement avant le bloc tell ci-dessus. Ce n'est pas une solution élégante, mais voici un code qui fonctionnera:Tant qu’elle ne précède pas le dialogue initial d’un script, j’ai personnellement trouvé ma méthode fiable; cela fonctionne 100% du temps sur mon ordinateur.
la source
key code
un événement devrait effectivement se terminer avant ladisplay dialog
. Cela variera probablement sur chaque système testé et IMO c'est une deune fiable pour vous. Aditionellement, fiable c'est quand ça marche à tous les coups pour quiconque l'essaie.display dialog
en question n’est pas le dialogue initial d’un AppleScript (et quand vous exécutez le fichier .scpt en dehors d’un environnement comme Script Editor.app ou Automator.app)osascript
.