2010-05-06 7 views
5

J'essaie de créer un petit AppleScript pour créer et déplacer des fenêtres Terminal autour de mon écran. Le problème que je rencontre est que dans certains cas, il semble que OS X ignore les limites que je définis.Les limites de fenêtres définies sur une fenêtre utilisant AppleScript dans OS X sont ignorées

Utilisation de l'éditeur AppleScript:

tell application "Terminal" to set the bounds of the first window to {0, 50, 600, 700} 
tell application "Terminal" to get the bounds of the first window 

Affiche les éléments suivants dans le journal des événements:

tell application "Terminal" 
    activate 
    set bounds of window 1 to {0, 50, 600, 700} 
    get bounds of window 1 
     --> {0, 22, 600, 672} 
end tell 
Result: 
{0, 22, 600, 672} 

inspecter visuellement la fenêtre qui est créé lorsque le script est exécuté montre que résultat limites sont celles étant utilisé par la fenêtre.

Des idées?

Éditer: Exécution 10.6.3. Ma taille d'écran est 1280 X 800. Finder signale les limites de la fenêtre de bureau à {0, 0, 1280, 800}

+0

puis-je vous demander pourquoi vous faites cela? Si vous voulez juste carreler vos terminaux il y a déjà un script pour cela que vous pouvez obtenir gratuitement – mcgrailm

+0

C'est en gros ce que je fais ... cependant, j'ajoute aussi une personnalisation supplémentaire comme ouvrir quelques onglets et lancer des commandes dans chaque onglet . Et maintenant que je vois ce comportement, j'essaie de comprendre pourquoi cela se produit. –

Répondre

4

J'ai rencontré le même problème aujourd'hui. Vous ne savez pas quelle est la cause réelle, mais la solution consiste à ajouter une "position définie" après les limites définies:

# from my window tiling script: 
set the bounds of the first window to {0, 22, (screenWidth/2), screenHeight} 
set position of the first window to {0, 22} 
0

même problème ici. depuis la mise à jour de mavericks je ne peux pas définir la largeur de la fenêtre plus grande que la valeur par défaut. Au-dessus de solution de contournement ne fonctionne pas, mais la mise en position et la taille séparément par des œuvres:

ensemble de la position ... à {...} .. puis taille de l'ensemble de .. à .. {, ..}

fonctionne

3

Parfois, en racontant une application pour définir les limites ne fonctionne pas, dire des événements système pour modifier les propriétés de position et de taille ne:

tell application "System Events" to tell process "Live" 
    set position of window 1 to {0, 50} 
    set size of window 1 to {600, 650} 
end tell 
Questions connexes