我在 Mac 下面的方案

呜呼,感谢伟大的 Jason Milkins 做了一堆尝试, 创造了一堆乱七八糟的桌面管理器。然后感谢 Kasper Hirvikoski 在 Jason 拍拍屁股走人之后,接过了 Jason 的棒子,将 Phoenix 这个项目快速推进,解决了一堆导致不可用的 bug, 并新增了很多特性。

回到要介绍的主角身上,Phoenix

A lightweight OS X window and app manager scriptable with JavaScript

基本特性是:

  • Javascript 作为配置文件,定制性超级强
  • 支持 App / Window / Space / Screen 等对象的操作

基于 Phoenix,我达成了我的窗口管理模式的目标:

  • 快速启动
    • 使用 Option + ` / 1 / 2 / 3 / 4 / 8 / 9 / e / a / s / z /, / . / / 启动
    • iTerm / Chrome / Safari / QQ / Bearychat / Wechat / Neteasy Music / MacVim / IntelliJ IDEA / Macdown / Mail / Evernote / Finder
  • 窗口操作
    • Option + - / =
      • 大小控制
    • Option + m
      • 窗口移动到屏幕中央
    • Option + Space
      • 鼠标找回到窗口中央
  • 屏幕内操作
    • Option + J / K
      • 焦点在同屏幕窗口切换
    • Ctrl + Option + J / K / H / L
      • 窗口移动
  • 屏幕间操作
    • Option + H / L
      • 焦点左右屏幕切换
  • Space 操作
    • Option + I / O
      • Space 左右切换
    • Option + Ctrl + I / O
      • 将当前窗口移动到相邻 Space
    • Option + Enter
      • 将当前窗口移动到 Work Space
    • Option + Delete
      • 将当前窗口移动到 Park Space
    • Work / Park Space 就是用来帮助我集中精力的

我的配置文件在 .oOo./.phoenix.js at master · alswl/.oOo. 我的配置文件可以开箱即用,但这是我自己的工作模式,想要获得自己最舒适的效果,需要自己进行一些研究和定制。

其他一些替代方案

  • Mac
    • SizeUp # 简单的桌面平铺工具,不支持一键切换
    • Spectacle # 类 SizeUp
    • Divvy # 类 SizeUp,收费
    • Slate # 支持配置,支持一键切换(推荐)