由于 macOS 的窗口切换逻辑过于感人:
导致总是不小心切错窗口,甚至某些设置窗口之类的压根就切不到了。四指上滑倒是没有这些问题,就是速度慢了点。
参考了一些收费软件后,抽空写了个软件解决这个问题,把 Cmd+Tab 换成了和 Windows 切换窗口类似的逻辑,Cmd+Tab 就能在所有的窗口间进行切换。/p>
感兴趣的 v 友欢迎进群交流
1 shell233 2019-04-20 15:28:46 +08:00 水军来了 |
![]() | 2 ilumer 2019-04-20 15:31:56 +08:00 ![]() 最新版体验很好,切换不同窗口时比较爽。 |
![]() | 3 hhyvs111 2019-04-20 15:34:41 +08:00 ![]() 有点丑啊,能自己改成 cmd+ esc 吗 hhkb 没有 ` |
![]() | 4 xell 2019-04-20 15:37:32 +08:00 |
![]() | 5 xcodebuild OP @hhyvs111 emmm 不需要 ` 了,` 是 macOS 自己的逻辑 xTab 就只需要 Cmd+Tab 就能应付所有需求了 外观这个问题嘛我还没想出更合适的样子,如果有设计大手子求改进。目前可能那个预览的样式比较随意一些 |
![]() | 6 xcodebuild OP @xell 啊我得澄清一下其实并没有开源,只是 release 是托管在 Github 的(发布比较方便)。因为以前开源过一个 mac 软件( < target="_blank" href="https://github.com/MacGesture/MacGesture" rel="nofollow noopener">https://github.com/MacGesture/MacGesture ) GPL 协议结果被人抄去做成了闭源软件。。感觉比较没意思 和 HyperSwitch 的基础功能非常接近,都是实现和 Windows 一致的切换逻辑。但是我期望更倾向于高效的窗口切换而不仅仅是和 Windows 一样(例如后面会加入窗口搜索功能等),所以你会发现他的界面更像 Contexts。 // 还有也比较担心哪天 HyperSwitch beta 结束了收费怎么破(就是给自己造轮子找个理由) |
![]() | 7 sunocean 2019-04-20 16:31:28 +08:00 via iPhone 我来吹 hammerspoon 开源,免费,可定制。窗口管理只是一个小功能。其他的你想到的想不到的都有。 |
![]() | 8 xcodebuild OP ![]() |
9 missdeer 2019-04-20 17:00:38 +08:00 ![]() `其实本质上我也是在用 XCode 定制自己的需求 ` 赞这句! |
![]() | 10 aborigine 2019-04-20 17:10:57 +08:00 ![]() 希望加个功能,能在 manu bar 隐藏,用着还是不错的 |
![]() | 12 xcodebuild OP @aborigine menubar 隐藏后一些配置之类的地方(例如配置 menubar 隐藏这个操作本身)就比较麻烦了 话说这里可以推荐另外一个软件: https://github.com/Mortennn/Dozer,我是用这个清理 menubar 的 |
![]() | 13 aborigine 2019-04-20 17:20:06 +08:00 @codefalling #12 感谢,我去试试 |
![]() | 14 xell 2019-04-20 19:30:34 +08:00 @codefalling #6 多谢说明。 |
15 THaGKI9 2019-04-20 19:38:59 +08:00 via iPhone 有个软件叫做 Contexts … 和你这个差不多…不过人家收费 |
![]() | 16 xcodebuild OP @THaGKI9 对的,有试用过。。。然后到期了干脆自己写了个 |
![]() | 17 lazyyz 2019-04-20 21:06:35 +08:00 via Android rmbp 触摸板 表示四指切换很方便 |
![]() | 19 azoon 2019-04-20 21:24:45 +08:00 ![]() 不错,用上了。macOS 的窗口管理真是不够人性化。 |
![]() | 20 orangeade 2019-04-20 21:38:55 +08:00 就因为 macOS 糟糕的窗口管理和 Finder,对 mac 一直喜欢不上来 目前是用 HyperSwitch+Maget 解决的 |
![]() | 21 xcodebuild OP |
![]() | 22 xcodebuild OP @lazyyz 四指切换除了慢了点没毛病,另外外接键盘鼠标的时候就只能用触发角了,触摸板太贵了 |
![]() | 23 run2 2019-04-20 22:31:37 +08:00 关键是这些获取已打开的窗口,并能切换到它的 这些 api lz 怎么找到的 能教下方法么 谢谢 |
![]() | 24 xcodebuild OP ![]() @sobigfish 主要是 Stack Overflow 和 Apple 的文档(并看不懂)和一些 Cocoa 相关的论坛,基本上就靠一手 SearchFu 不得不吐槽一句,微软的技术文档比起来真的是业界良心 |
![]() | 25 elone 2019-04-20 22:48:20 +08:00 我就想借楼问下,有没有办法在 dock 栏显示同一软件的多个实例图标。比如说我用 vscode 打开两个项目,只是在 dock 栏里只显示一个 vscode,切换起来很痛苦。 |
![]() | 26 xcodebuild OP @elone 如果坚持要用 dock 切换的话,目测只能和 xTab 的思路一样再实现一个 dock 栏,不太可能改变系统本身的设定,苹果在这个层面留下的可定制性几乎没有。 我就是为了解决切换 VSCode 这类需求开发的 xTab,不过我习惯用键盘切换而不是 dock |
![]() | 27 elone 2019-04-20 23:41:11 +08:00 @codefalling 刚安装了应用,也给了相应的权限,为何打开后一片空白? 10.14.2 |
![]() | 28 xcodebuild OP @elone 啊抱歉刚刚为了修复一个 bug 发了一个错误的版本上去,现在已经修复了,得麻烦你手动重新安装一下: https://github.com/xtab-app/xtab/releases/tag/1.0.4 |
![]() | 29 elone 2019-04-20 23:51:44 +08:00 ![]() @codefalling 可以了。非常感谢 。这确实是我非常需要的东西。 |
30 lrigi 2019-04-21 00:00:12 +08:00 via iPhone 我是把鼠标中键设成了和触摸板四指上划一样的功能 这样 command+tab 就可以愉快的使用了 |
![]() | 31 youthcould 2019-04-21 00:51:50 +08:00 via iPhone ![]() @codefalling 隐藏 menubar 后的设置可以参考 scroll reverser |
32 littleMaple 2019-04-21 02:53:14 +08:00 via iPhone @hhyvs111 HHKB 键盘的最右上角那个键就是“`”啊 |
![]() | 33 TonyLiu2ca 2019-04-21 04:06:49 +08:00 强烈支持楼主! 还没有使用,主要是,想问问:如何干净地卸载? |
![]() | 34 xcodebuild OP @TonyLiu2ca 从 menubar 退出,把程序拖到垃圾桶就干净的卸载了。不用担心篡改了系统功能什么的,这是运行时实现的,退出就没有了 |
![]() | 35 xcodebuild OP |
![]() | 36 TonyLiu2ca 2019-04-21 10:09:25 +08:00 @codefalling 应该还会在注入~/Library 中有其它的可以清除的吧? |
![]() | 37 ladit 2019-04-21 11:39:10 +08:00 via iPhone @elone hyperdock 可以让鼠标悬浮在 dock 的每个图标时显示可用窗口,调整成低延迟和大窗口后可能是最符合你需求的折中方案了。 |
![]() | 38 xcodebuild OP @TonyLiu2ca 这一类就是常规的应用配置了,对系统不会有什么影响。可以用 appcleaner 直接清理 |
![]() | 39 POPOEVER 2019-04-21 12:20:18 +08:00 哦,我倒是一直觉得挺习惯的,哈哈 |
![]() | 40 visitant 2019-04-21 12:34:23 +08:00 感谢楼主让我知道了“同应用不同窗口切换用 Cmd+`” |
![]() | 41 konakona 2019-04-21 12:35:43 +08:00 我已经用了几年的 mac 了,我已经喜欢了,不会按错这个 2 个快捷键,2333 |
![]() | 42 xcodebuild OP @visitant 哈哈哈我刚开始也是不知道,经常切懵 |
![]() | 43 xcodebuild OP @konakona 用了两年多还是没适应,其实 Apple 家一贯如此,有些设定只要接受了也还是不错的 |
![]() | 44 TonyLiu2ca 2019-04-21 13:03:10 +08:00 @codefalling [Imgur]( ![]() 彻底清楚地话,上图中所有 xTab 相关的文件需要删除。 其它的关于 studentd 和钥匙串中的一个新建的密码项不知是否相关,可能是相关,也应该可以删除。 |
![]() | 45 TonyLiu2ca 2019-04-21 13:12:44 +08:00 ![]() @codefalling 有个问题,当一个打开的窗口最小化后,无法切换,这与 macOS 原来的 +` 的问题一样。 |
![]() | 46 xcodebuild OP |
![]() | 47 xcodebuild OP |
![]() | 48 hackpro 2019-04-21 13:54:09 +08:00 非常非常棒 建议添加 Homebrew 支持 另外 Finder 多个标签情况下 似乎 Cmd+`循环会出现有一次所有的 Windows 都未被选中的状况? |
![]() | 49 xcodebuild OP @hackpro 有道理,可以加一个 brew cask 的支持 第二句话没理解,cmd ` 和 xTab 没关系。 我试了下 finder 多 tab (指的是其中一个窗口有多个 tab 对吧)。似乎 xTab 和系统的 cmd` 都没问题。他们都不会把 finder 的 tab 当做窗口处理。 |
![]() | 50 rikka 2019-04-21 15:33:06 +08:00 ![]() |
51 KHfqLAYYS6BKJT3R 2019-04-21 16:01:01 +08:00 最小化后就不管用了- - 其实最难受的是最小化后,想切换回来 |
![]() | 52 xcodebuild OP @rikka 哈哈哈这个我再修一修 |
![]() | 53 xcodebuild OP @cjzlol 我研究下最小化的问题,我自己是不怎么去主动最小化来着 |
![]() | 54 hackpro 2019-04-21 16:10:56 +08:00 @codefalling 举个例子 将如有两个 Finder Window(比如名字分别叫 W1/W2) 不是 Cmd+T 新建的 Tab 通过 Cmd+`切换的正常逻辑应该为 W1/W2,但是我这边复现的结果是 W1->W2->None selected->W1->W2->None selected... 菜单栏的标题倒一直是 Finder 希望排查以下 |
![]() | 55 xcodebuild OP |
![]() | 56 youthcould 2019-04-21 17:53:12 +08:00 期待可以把最小化的窗口包括进来 |
57 KHfqLAYYS6BKJT3R 2019-04-21 18:37:22 +08:00 @codefallng #52 能有最小化就完美了 |
![]() | 58 xcodebuild OP ![]() ![]() @cjzlol @youthcould @TonyLiu2ca 新版本已经支持切换最小化窗口了 @rikka 新版图标也修了 下载: https://github.com/xtab-app/xtab/releases |
![]() | 59 rikka 2019-04-21 20:49:58 +08:00 @codefalling #58 ![]() |
![]() | 60 xcodebuild OP @rikka 哈哈哈我受不了你了其实是故意的但是作为图标确实有点扎眼,下个版本再改了 |
![]() | 61 rikka 2019-04-21 20:58:54 +08:00 @codefalling #60 这个图标拉低了我 launchpad 上面的整体颜值,哈哈 |
62 KHfqLAYYS6BKJT3R 2019-04-21 22:39:26 +08:00 @codefalling #57 等明天试试,刚刚关机 233 |
![]() | 63 gesse 2019-04-22 08:34:58 +08:00 cmd+shift+tab 还是能弹出原生切换 |
![]() | 64 PopeyeLau 2019-04-22 08:41:01 +08:00 挺好用的.. 就是跟 `CheatSheet` 有冲突.. |
![]() | 65 xcodebuild OP |
![]() | 66 1ychee 2019-04-22 13:28:25 +08:00 我用 TotalSpaces 来划分桌面 xTab 运行后,在桌面 A 中通过 Cmd+Tab 呼出的菜单中,只显示「在桌面 A 中运行的 APP 们」;在桌面 B 中只显示「在桌面 B 中运行的 APP 们」。 所以暂时用不了。但我相信用 TotalSpaces 的人还是比较少的,所以应该不影响。 |
![]() | 67 eddiechen 2019-04-22 16:49:57 +08:00 我倒是想把 mac 的切换窗口挪到 win 去,习惯了比 win 好用很多 |
![]() | 68 xcodebuild OP @1ychee Space 的问题比较难搞,Apple 几乎没提供任何相关的 API,还得再研究研究 |
![]() | 69 xcodebuild OP @eddiechen 你也可以用 visual studio 定制一个 |
![]() | 70 xcodebuild OP |
71 lunare 2019-04-24 10:19:44 +08:00 关注一下 |
![]() | 72 lunacory 2019-04-24 14:33:19 +08:00 cmd+tab cmd+` 分开了明明很好使啊 |
![]() | 73 xcodebuild OP @lunacory 哈对我自己来说,总是要思考一下是 tab 还是 ` 有点难受 |
74 icecream 2020-03-22 10:13:20 +08:00 这个项目是关掉了吗?下载不了了的,contexts 在 mac 15 下快捷键没法用。 |
![]() | 75 youthcould 2020-04-14 17:19:27 +08:00 @icecream 推荐你用 hyperswitch,10.15.4 下依旧好用 |