gdo*_*eod 6 macos bash applescript multiple-monitors
我有两个显示器设置,我试图在第二个显示器中定位应用程序的窗口,但我做的任何事情似乎都没有.例如,我正在使用我的笔记本电脑,终端窗口在屏幕上最大化.然后我插上一个外接显示器.然后我想运行applescript并让终端在更大的第二台显示器上最大化.
这就是我现在所拥有的:
set monitorTwoPos to {1050, -600}
set monitorTwoSze to {1200, 1920}
tell application "Microsoft Outlook"
set position of window 1 to monitorTwoPos
set size of window 1 to monitorTwoSze
end tell
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
/Users/vcutten/AppleScripts/SpacesWork.scpt:1291:1332: execution error: Microsoft Outlook got an error: Can’t make position of window 1 into type specifier. (-1700)
我很确定我只是使用设置位置和设置大小完全错误:(当我使用边界它有点工作...
奖金问题:如何在打开的窗户中循环并获得它们的大小?谢谢!
你尝试了什么?
我认为要解决这个问题,您需要计算第二个显示器的屏幕尺寸和坐标。例如,您的主显示器从位置 {0,0} 开始。因此,第二台显示器的起始位置必须有所不同,您需要找到它。幸运的是,我编写了一个工具,可以为您提供显示器的起始坐标和屏幕尺寸。一旦确定了尺寸和位置,那就很简单了。系统事件可以设置窗口的大小和位置,所以你可以做这样的事情......
set monitorSize to {800, 600}
set monitorPosition to {-800, 0}
tell application "System Events"
tell process "Terminal"
set frontWindow to first window
set position of frontWindow to monitorPosition
set size of frontWindow to monitorSize
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
因此,从上面的脚本中,您只需要大小和位置变量。你可以在这里找到我的工具hmscreens,它会给你这些。您可能需要对坐标进行一些调整,具体取决于屏幕是从左下角还是左上角测量,但这只是简单的数学计算。
我希望这有帮助...
| 归档时间: |
|
| 查看次数: |
9169 次 |
| 最近记录: |