[Pythonmac-SIG] trouble getting window bounds via appscript
t.greenwoodgeer at gmail.com
Sat Feb 6 07:39:40 CET 2010
Thanks! That unblocked me. I changed my code to enumerate over the
applications, and then create an app instance from that.
// get the front most app from system events
se_app_name = se.processes...name.get()
// get the actual application
real_app = app(se_app_name)
// get the windows for the app
Works like a charm, tho some apps, like firefox, have a System Event
name that I cannot simply call 'app(name)' on. I'll sort that out later.
On 2/5/10 2:21 PM, Ned Deily wrote:
> In article<4B6C8E7B.8000105 at gmail.com>,
> Todd<t.greenwoodgeer at gmail.com> wrote:
>> I'd like to perform some window management via appscript on Mac OSX
>> This is pretty straightforward using AppleScript (see code#1 below).
>> However, my attempts to perform the same tasks in python appscript have
>> 1. get bounds of display
>> 2. get bounds of foreground process
>> I can query the 'System Events' for the process list, and get the
>> foremost process...however, I cannot get the bounds from the windows.
>> (see code#2 below).
>> The appscript error is:
>> CommandError: Command failed:
>> OSERROR: -1728
>> MESSAGE: Can't get reference.
>> OFFENDING OBJECT:
>> Events.app').application_processes[u'iTerm'].windows[u'todd at greenmachine:
> You need to get a windows reference from each application's object, not
> from a System Events app object:
>>>> bounds_tuple = app('Terminal').windows.first.bounds()
>>>> print bounds_tuple
> (675, 310, 1330, 820)
More information about the Pythonmac-SIG