2010-05-06 4 views
5

अनदेखा की जा रही हैं, मैं अपनी स्क्रीन के चारों ओर कुछ टर्मिनल विंडो बनाने और स्थानांतरित करने के लिए एक छोटी ऐप्पलस्क्रिप्ट बनाने की कोशिश कर रहा हूं। जिस समस्या में मैं दौड़ रहा हूं वह यह है कि कुछ मामलों में, ऐसा लगता है कि ओएस एक्स उन सीमाओं को अनदेखा कर रहा है जो मैं स्थापित कर रहा हूं।ओएस एक्स में ऐप्पलस्क्रिप्ट का उपयोग कर विंडो पर सेट विंडो सीमाएं

AppleScript संपादक का उपयोग:

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} 

दिखने वाली विंडो बनाई गई है निरीक्षण जब स्क्रिप्ट से पता चलता है कि परिणाम सीमा लोगों की जा रही हैं चलाता है:

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 

ईवेंट लॉग में निम्न शो खिड़की से प्रयोग किया जाता है।

कोई विचार?

संपादित करें: 10.6.3 चल रहा है। मेरा स्क्रीन आकार 1280 एक्स 800 है। खोजक डेस्कटॉप विंडो की सीमाओं को {0, 0, 1280, 800}

+0

मैं पूछ सकता तुम ऐसा क्यों कर रहे हैं? यदि आप बस अपने टर्मिनलों को टाइल करना चाहते हैं तो इसके लिए पहले से ही एक स्क्रिप्ट है, आप मुफ्त – mcgrailm

+0

प्राप्त कर सकते हैं जो मूल रूप से मैं कर रहा हूं ... हालांकि, मैं कुछ टैब को खोलने और प्रत्येक टैब में कमांड लॉन्च करने जैसे कुछ अतिरिक्त अनुकूलन भी जोड़ता हूं । और अब जब मैं इस व्यवहार को देखता हूं तो मैं यह पता लगाने की कोशिश कर रहा हूं कि यह क्यों हो रहा है। –

उत्तर

4

पर रिपोर्ट करता है, आज मैंने एक ही समस्या को मारा। सुनिश्चित नहीं है कि असली कारण क्या है, लेकिन वर्कअराउंड सेट सीमाओं के बाद अतिरिक्त "सेट स्थिति" जोड़ना है:

# 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

यहां एक ही समस्या है। चूंकि मैवरिक्स में अपडेट मैं डिफ़ॉल्ट रूप से विंडो की चौड़ाई सेट नहीं कर सकता। वर्कअराउंड ऊपर काम नहीं करता है लेकिन कार्यों के माध्यम से स्थिति और आकार को अलग से सेट करता है:

... की स्थिति ... {..., ..} और फिर सेट आकार .. .. .., ..}

3

काम करता है कभी-कभी जब सीमा निर्धारित करने के लिए काम नहीं करता है एक आवेदन, स्थिति और आकार गुण है परिवर्तित करने के लिए सिस्टम घटनाक्रम कह कह:

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