请问 Mac 下有没有类似的窗口管理/缩放/布局软件(我知道这类软件满天飞),能够实现我的下述功能?我试了好一些,发现都不行……

2013-12-03 20:53:12 +08:00
 xell
我举例来说明我的需求吧:

假设我打开了 n 个 Finder 窗口,而我希望它们排列到屏幕左边二分之一的区域中,那么这个软件应当可以实现:我按下某个快捷键,那么这 n 个窗口根据计算出来的高度(屏幕高/n)和宽度(屏幕宽/2),自动缩放并平铺排列(tile)到左边。

再举一例。如果我希望这 n 个窗口平铺整个屏幕,那么该软件应当能在我按下另一个指定的快捷键之后做到:确定两个合适的整数 a 和 b 满足 a*b=n,同时 a/b 最接近屏幕宽高比(这个计算很简单的啦),然后以 屏幕宽/a 和 屏幕高/b 自动缩放所有窗口并平铺排列到整个屏幕上(当然,留空 Dock 所在的区域)。

核心思想就是,在用户指定的区域中(只需要 {上,下,左,右}半屏,或全屏),将某个(通常是当前)程序的 n 个窗口以某种合适的方式平铺布满整个区域。

流行的大多数软件我都使用、试用或了解过,举凡 Cinch、SizeUP、ShiftIt、Spectacle、BetterTouchTool、Divvy、Arrange、Moom、TileWindows 等等,都不具备上述功能,只能实现将窗口移动缩放1/2或1/4屏幕等等,TileWindows 等能实现额外的平铺,但仅限二或三个窗口。

现在最大的希望似乎就是 Slate[1],但我看了它的说明文档,没有太大把握——不知道这里有没有用它的高手能指点一二。另外就是自己写 AppleScript 了,但我至今没有掌握这个像说话一样来写代码的语言。有网友给出过类似的代码[2][3],但离我的需求还很远。

请教诸位,有什么建议不?

[1] https://github.com/jigish/slate
[2] http://apple.stackexchange.com/a/111557/12530
[3] http://superuser.com/a/89680/99870
5448 次点击
所在节点    问与答
16 条回复
zhouquanbest
2013-12-03 20:59:01 +08:00
Slate 只要你会配 想要什么都行
lilydjwg
2013-12-03 21:42:29 +08:00
你这是在找 OS X 版的 Awesome 么 :D
MrGba2z
2013-12-03 22:19:15 +08:00
![merge finder]( )
这种不喜欢么?
FrankFang128
2013-12-03 23:35:57 +08:00
强迫症,得治。
要不你自己写一个软件。
9hills
2013-12-03 23:56:27 +08:00
放弃OSX用Awesome吧。。。
vincent178
2013-12-04 08:42:35 +08:00
xell
2013-12-04 21:31:26 +08:00
@zhouquanbest
@vincent178

两位对 Slate 有研究吗?我没找到 Slate 如何读取当前程序的窗口数量之类的,也不知道如何循环遍历操作(多个 AFTER/BEFORE lists 连着写?),愿闻其详。

@lilydjwg
@9hills

放弃操作系统这就太不现实啦,毕竟是生产力工具。

@FrankFang128

不是强迫症的问题,是现实需要的问题,例如我写论文的时候 BibDesk 开好几个窗口,等等。

@MrGba2z

我是拿 Finder 做例子而已,而且即便是 10.9 下的 Finder,合并窗口也不太符合我的实际操作需求。
tywtyw2002
2014-06-30 13:12:33 +08:00
楼主slate目前支持,快捷键启动/focus程序吗?
xell
2014-06-30 22:55:24 +08:00
@tywtyw2002 当然没问题,它的 operation 支持运行任意的 shell 指令(例如 [1]),同时也有一个专门的 focus 指令。不过因为我是 Alfred 用户,所以并未使用 Slate 来完成此类功能。

[1] bind 1:ctrl wait path:~/code '/opt/local/bin/mvim' 这条指令的功能是以 ~/code 为 pwd 来运行 /opt/local/bin/mvim ,而 wait 的意思是一直等到此指令运行完毕。
xell
2014-06-30 22:58:22 +08:00
@tywtyw2002 v2ex 不能改贴真是棘手,只好再发一帖。上面的回复中的命令来自 Slate 自己的官方帮助,但我觉得似乎有问题(懒得尝试了),应当在 wait 前面有一个 shell 关键字。你自己多试试吧。
tywtyw2002
2014-07-01 07:49:08 +08:00
@xell 那你一般怎么去切换程序呢,我目前觉得用cmd+tab 在几个程序之间切换很麻烦,像找下按一个键就快速切换到某个程序
xell
2014-07-01 15:57:44 +08:00
@tywtyw2002 我用 Alfred(已购买 Powerpack)。
tywtyw2002
2014-07-02 02:00:20 +08:00
@xell 我也有那个pack,每次 cmd+space? 然后输入要切换程序的名称?
xell
2014-07-02 13:13:11 +08:00
@tywtyw2002 然后就自己写 workflow 呀,有各种方法可以满足所需,例如 triggers 选用 hotkey,actions 选择 launch apps 等等。
tywtyw2002
2014-07-02 14:25:13 +08:00
@xell 哦,能不能提供下api文档的位置呀?
我只写过一些查询类的,不知道怎么去focus程序,和切换程序。
sammo
2018-10-15 16:28:08 +08:00
窗口管理 我用的几个软件:
XtraFinder ( Finder 增强 )
Moom ( 快速缩放 )
WindowMizer ( 窗口卷起 )
ForkLift ( 查看 - 两排面板 )
Xfile ( 导航 - 树形面板 )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/91680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX