请问 Mac 下有没有类似的窗口管理/缩放/布局软件(我知道这类软件满天飞),能够实现我的下述功能?我试了好一些,发现都不行…… - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xell
V2EX    问与答

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

  •  
  •   xell 2013-12-03 20:53:12 +08:00 5890 次点击
    这是一个创建于 4335 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我举例来说明我的需求吧:

    假设我打开了 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
    第 1 条附言    2014-03-22 22:09:58 +08:00
    今天周末,心情甚佳,开始研究 Slate,终于写出了一个初步的 JS 配置脚本基本实现来主贴的上述功能,请见

    https://raw.githubusercontent.com/xell/dotfiles/master/configs/slate.js

    Slate 确实足够强大。
    16 条回复    2018-10-15 16:28:08 +08:00
    zhouquanbest
        1
    zhouquanbest  
       2013-12-03 20:59:01 +08:00
    Slate 只要你会配 想要什么都行
    lilydjwg
        2
    lilydjwg  
       2013-12-03 21:42:29 +08:00
    你这是在找 OS X 版的 Awesome 么 :D
    MrGba2z
        3
    MrGba2z  
       2013-12-03 22:19:15 +08:00
    ![merge finder]( )
    这种不喜欢么?
    FrankFang128
        4
    FrankFang128  
       2013-12-03 23:35:57 +08:00
    强迫症,得治。
    要不你自己写一个软件。
    9hills
        5
    9hills  
       2013-12-03 23:56:27 +08:00
    放弃OSX用Awesome吧。。。
    vincent178
        6
    vincent178  
       2013-12-04 08:42:35 +08:00
    xell
        7
    xell  
    OP
       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
        8
    tywtyw2002  
       2014-06-30 13:12:33 +08:00 via iPhone
    楼主slate目前支持,快捷键启动/focus程序吗?
    xell
        9
    xell  
    OP
       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
        10
    xell  
    OP
       2014-06-30 22:58:22 +08:00
    @tywtyw2002 v2ex 不能改贴真是棘手,只好再发一帖。上面的回复中的命令来自 Slate 自己的官方帮助,但我觉得似乎有问题(懒得尝试了),应当在 wait 前面有一个 shell 关键字。你自己多试试吧。
    tywtyw2002
        11
    tywtyw2002  
       2014-07-01 07:49:08 +08:00 via iPhone
    @xell 那你一般怎么去切换程序呢,我目前觉得用cmd+tab 在几个程序之间切换很麻烦,像找下按一个键就快速切换到某个程序
    xell
        12
    xell  
    OP
       2014-07-01 15:57:44 +08:00
    @tywtyw2002 我用 Alfred(已购买 Powerpack)。
    tywtyw2002
        13
    tywtyw2002  
       2014-07-02 02:00:20 +08:00 via iPhone
    @xell 我也有那个pack,每次 cmd+space? 然后输入要切换程序的名称?
    xell
        14
    xell  
    OP
       2014-07-02 13:13:11 +08:00
    @tywtyw2002 然后就自己写 workflow 呀,有各种方法可以满足所需,例如 triggers 选用 hotkey,actions 选择 launch apps 等等。
    tywtyw2002
        15
    tywtyw2002  
       2014-07-02 14:25:13 +08:00 via iPhone
    @xell 哦,能不能提供下api文档的位置呀?
    我只写过一些查询类的,不知道怎么去focus程序,和切换程序。
    sammo
        16
    sammo  
       2018-10-15 16:28:08 +08:00
    窗口管理 我用的几个软件:
    XtraFinder ( Finder 增强 )
    Moom ( 快速缩放 )
    WindowMizer ( 窗口卷起 )
    ForkLift ( 查看 - 两排面板 )
    Xfile ( 导航 - 树形面板 )
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2374 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:55 PVG 23:55 LAX 08:55 JFK 11:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86