打开窗口以预设大小和位置

时间:2018-02-17 08:04:09

标签: macos finder

我想知道是否有办法创建一个脚本或自动播放器任务,它将打开具有预设大小和位置的窗口。我想用应用程序以及finder窗口来做这件事。

例如,我想打开Sublime,让它占据屏幕的上半部分,然后打开Chrome占据屏幕的下半部分。
另一个例子是我想打开四个取景器窗口,每个窗口占据屏幕的四分之一。

2 个答案:

答案 0 :(得分:0)

我建议使用脚本编辑器编写一些AppleScripts,以满足不同应用程序的不同布局要求。

我将演示如何使用您的第一个以 Sublime Google Chrome 为主题的示例,这些示例将占据上半部分和下半部分屏幕分别。

此脚本假定应用程序已在运行,并且每个应用程序都有可见的窗口可供操作。它实际上是一个非常短的脚本,但看起来很长,因为我在每个阶段插入的注释行(它们以--开头)引导您完成脚本的每个部分所做的事情:

    tell application "System Events"
        set Chrome to the front window of application process "Google Chrome"
        set Sublime to the front window of application process "Sublime Text"

        -- Get the size of the screen's display in pixels
        get the size of scroll area 1 of application process "Finder"
        set Display to {width:item 1, height:item 2} of the result

        -- First attempt to make Sublime take up the full width and
        -- height of the display. 
        set position of Sublime to [0, 0]
        set size of Sublime to [the Display's width, the Display's height]

        -- However, the presence of a visible menu bar and dock
        -- will create natural barriers that the window won't cross.

        -- Retrieve the actual size and position that Sublime's
        -- window ended up adopting.
        set [_w, _h] to the size of Sublime
        set [_x, _y] to the position of Sublime

        -- Half Sublime's window's height.  It should now be
        -- correctly positioned and sized.
        set the size of Sublime to [_w, _h / 2 - 1]

        -- Position Chrome first so that its horizontally aligned
        -- with Sublime, and the top edge of Chrome's window's meets 
        -- the bottom edge of Sublime's.
        set position of Chrome to [_x, _y + _h / 2]
        -- Then size Chrome's window identically to that of Sublime.
        set size of Chrome to [_w, _h / 2 - 1]
    end tell


    -- Lastly, bring both applications to the foreground
    activate application "Sublime Text"
    activate application "Google Chrome"

请记住,这只是一个快速示例,说明如何在给定最佳起点的情况下完成此任务(两个应用程序都打开,每个应用程序都有一个活动窗口)。但是,您可能希望采用处理不太理想情况的方法,例如,如果您在打开 Chrome 之前意外触发了脚本,那么您希望脚本的行为如何;或者如果您希望将四个 Finder 窗口安排到屏幕的不同角落,但当时有五个窗口打开。

或者,您可以花费大约1美元从 App Store 获取应用程序,该应用程序将根据您希望的任何安排来确定窗口的大小和位置。这是一个:

答案 1 :(得分:0)

至少在 Sublime 上,我通过以下三个简单步骤解决了该问题

  1. 将此内容放在Preferences.sublime-preferences
"remember_full_screen": true
  1. 打开崇高状态

  2. 手动调整升华窗口的大小至所需大小(最大高度和宽度)

☝️

按照上述步骤操作后,现在每次打开崇高状态(即使使用subl),崇高状态也会在我手动调整其大小的最后一个窗口中打开。