OS X 窗口管理器应用程序

Avatar of Chris Coyier
Chris Coyier on

DigitalOcean 提供适用于您旅程各个阶段的云产品。 立即开始使用 $200 免费信用额度!

帮助您排列窗口的应用程序并不少见。 我发现它们非常有用。 我认识的大多数 Windows(操作系统)用户都非常喜欢它内置的定位窗口的能力,但 OS X 中没有那么多内置的功能。 OS X El Capitan (10.11) 带来了分屏功能,但它有很多限制,当然不能满足挑剔的极客的所有需求。

所以让我们来看看这些选项! **警告:** 此页面上有许多超大的 GIF 文件,我认为这将是展示这些应用程序功能的一种有用的方式。

SizeUp

SizeUp($12.99)自称为“缺少的窗口管理器”。

**我最喜欢的部分:** 智能默认值。 对我来说,我使用这些工具的 95% 是“你! 左边! 你! 右边!”,所以内置的非常简单的默认命令很棒。 如果你更喜欢菜单控制,那么它也设计精良,具有良好的默认值

Cinch

Cinch($6.99)由与 SizeUp(Irradiated Software)相同的公司开发。 它不是使用键盘命令调整窗口大小,而是通过在屏幕边缘设置热区来实现。 当您将屏幕拖到边缘时,它将捕捉到覆盖屏幕的那一侧。

需要了解的事项: 他们说它在单显示器设置中效果最佳。 您可以将它与基于键盘快捷键的窗口管理器一起使用,尽管您可能最终会 更喜欢其中一个或另一个。

Spectacle

Spectacle(免费,请求捐赠)与 SizeUp 非常相似。

它在将窗口立即移动到屏幕的一半、三分之一或四分之一方面具有很好的默认值。 默认的按键命令使用 Option 键(而不是没有,就像 SizeUp 一样),但您可能更喜欢它。 按键命令也可以在首选项中自定义。

Better Snap Tool

Better Snap Tool($2.99)与 Cinch 很像,都有用于将窗口调整到位的“热区”。

Better Snap Tool 可高度配置。 您可以创建完全任意的区域来捕捉窗口。 您可以以像素为单位控制窗口捕捉的间距。 您可以使用可自定义的键盘快捷键禁用它。 您可以设置它的外观。 您可以在按钮中添加自定义菜单以进行自定义点击类型。 如果您喜欢自定义,这可能适合您。

Better Touch Tool 也可以进行窗口捕捉。 我认为它具有 Better Snap Tool 的所有功能,只是更多,例如自定义触控板手势和其他各种输入类型来执行自定义操作。

Divvy

Divvy($13.99)采用了调整窗口大小的新方法。 它为您提供了一个小网格,您可以在其中快速绘制要放置窗口的位置。 这样一来,无需事先进行自定义配置,即可快速创建自定义布局。

您可以通过按下菜单栏中的图标或设置全局快捷键命令来激活它。 您可以自定义网格的细粒度,以及为预定义的窗口放置设置自定义键盘快捷键。

HyperDock

HyperDock($6.95)提供了许多功能来增强 Dock 的工作方式。 例如,在将鼠标悬停在应用程序图标上时,显示所有应用程序窗口的气泡窗口,以及特定应用程序的特殊控制窗口。

它还具有窗口管理工具,包括将窗口捕捉到位的按键命令和边缘捕捉。

一个很酷的小功能是,在标题栏中滚动可以执行操作,例如上下捕捉甚至更改窗口所在的区域。

Moom

Moom($10)功能强大,因为它可以执行我们已经介绍过的所有功能,以及更多。 它的一个独特功能是在您将鼠标悬停在窗口的“最大化”按钮上时,它会显示一个菜单。

这些操作也可以通过可自定义的键盘命令从活动窗口触发,或者如果您选择以这种方式运行该应用程序,则可以通过菜单栏菜单触发。 您可以选择将应用程序作为普通应用程序(码头)、菜单栏应用程序或根本没有非键盘访问权限来运行。

您还可以启用窗口边缘捕捉(如 Cinch/Better Snap Tool),如果您愿意。 如果您使用多个屏幕,您可以让它忽略与其他屏幕相邻的边缘。 如果你不喜欢它捕捉到的位置,稍微移动它一下就会重置它的尺寸。

您可以在 Moom 中设置多应用程序窗口“快照”,这意味着您可以通过单一操作告诉来自多个应用程序的窗口移动到适当位置。

Moom 的真正强大之处在于构建您自己的自定义操作。 每个自定义操作都可以在菜单栏菜单以及您激活全局 Moom 热键(也可以自定义)后的辅助快捷键中使用。 这些操作可以捕捉到网格(您可以像 Divvy 一样绘制网格)、移动窗口、居中……等等。

我最喜欢的一点: 您可以让 Moom 在您插入 X 个屏幕时执行自定义操作。 因此,如果您有时只使用笔记本电脑工作,有时使用显示器工作,那么 Moom 可以在您插入该显示器时将窗口捕捉到位。

Breeze

Breeze($3.99)完全是关于窗口的“保存状态”。 将窗口放置在您想要的位置,将保存/命名/应用快捷键应用于它,这样您就可以随时捕捉回它。

它只适用于单个窗口……与大多数其他应用程序相比,功能相当有限。

Magnet

Magnet($1.99)设计精美,并且可能是有意限制其功能。 它对一半或四分之一进行边缘捕捉,并且可以通过菜单栏菜单进行相同操作。

看起来那里还有一些额外的功能,例如最大化和将窗口移到下一个显示器。

Zooom/2

Zooom/2($19.95)采用了另一种略有不同的方法。

主要思想很简单: 按住一个组合键,然后移动鼠标。 ……你只需要知道两个组合键,你就会完全训练有素!

它还具有其他独特的功能,例如在你将鼠标悬停在窗口上时将窗口“提升”到顶部。

OS X (El Capitan)

正如我在文章开头所说,Windows 用户享受一些直接内置于操作系统的窗口管理功能。从 OS X 10.11 El Capitan 开始,Mac 用户也可以。使用它的技巧是按住窗口上的全屏按钮,它将允许您将窗口拖到您想要的侧面,然后选择另一个打开的窗口作为另一侧。

AppleScript

AppleScript 内置于 OS X 中,当然能够调整窗口的大小和位置。以下是 Arley McBlain 为他写的调整东西位置的脚本。它甚至连接到 Alfred 工作流程。

值得一提:给硬核玩家

有很多低级工具用于做窗口管理,但也有一些更“生产力”相关的事情。例如,Mjolnir“用于 OS X 的轻量级自动化和生产力应用程序”。它允许您安装模块,这些模块允许您控制/API 访问某些东西。然后您可以编写自己的代码来执行操作。

据推测,这(来自文档)会将窗口向右移动 10 像素吗?

local application = require "mjolnir.application"
local hotkey = require "mjolnir.hotkey"
local window = require "mjolnir.window"
local fnutils = require "mjolnir.fnutils"

hotkey.bind({"cmd", "alt", "ctrl"}, "D", function()
  local win = window.focusedwindow()
  local f = win:frame()
  f.x = f.x + 10
  win:setframe(f)
end)

Hammerspoon 看起来非常相似,只是它可能附带预先打包的模块?我不知道这些东西超出了我的能力范围。

Hammerspoon 是一款适用于 OS X 的桌面自动化工具。它将各种系统级 API 桥接到 Lua 脚本引擎,允许您通过编写 Lua 脚本对您的系统产生强大的影响。


Phoenix“一个可以用 JavaScript 脚本化的轻量级 OS X 窗口和应用程序管理器”

您还可以轻松使用编译成 JavaScript 的语言,例如 CoffeeScript。Phoenix 追求效率和极小的占用空间。如果您喜欢用 JavaScript 编写自己的窗口或应用程序管理工具的想法,Phoenix 可能会提供您想要的东西。使用 Phoenix,您可以绑定键盘快捷键和系统事件,并使用这些来与 OS X 交互。


Slate,“一个窗口管理应用程序”,看起来它正在尝试成为一个原生应用程序竞争对手

Slate 是一个类似于 Divvy 和 SizeUp 的窗口管理应用程序(但更好且免费!)。它最初是为了替换它们而编写的,因为它们在工作方式上存在一些限制,它试图通过简单地提供极高的可配置性来克服这些限制。

它看起来既有粉丝,但有一段时间没有更新了,需要一些专门的极客才能使用。

ShiftIt 看起来也在同一条船上。最近更新了一点,但您仍然需要了解自己在做什么。即使下载构建也会警告您它来自不受信任的来源,因此您必须进行一些操作才能绕过它。

用你那该死的鼠标随意拖动东西

谢谢!

对于 所有建议。请在评论中告诉我们您使用什么以及如何使用。

就我个人而言,我一直使用 SizeUp 很长时间了。但我想试试切换到 Moom。