谁分享一点 mac 窗口管理方面的操作技巧

153 天前
 quqiu

一直用 Windows 做开发,wsl 卡出天际,正好要入职新公司,打算申请个 mac 用用。 谁介绍点窗口管理的小技巧。

mac 的预计使用场景如下

  1. 有可能会开好几个 vscode 窗口
  2. 主要做后端,偶尔做前端,所以对于一边开浏览器,一边看变更没有强需求
  3. mac 应该会关盖子外接单显示器
  4. 想尝试放弃鼠标
4517 次点击
所在节点    macOS
42 条回复
ferock
153 天前
妙控板手势视频仔细看一下,所有功能都打勾

另,多用多桌面,四指切换很丝滑
jheroy
153 天前
使用平铺式窗口管理器,比如 yabai 或 amethyst
Goalonez
153 天前
我自己目前是这样的,可以参考一下
1.常用软件切换可以用 raycast 或者 manico 设置个快捷键。option + ( 123qweasdzxc )之类的。常用工具类的在 dock 栏右键分配给所有桌面,这样快捷键切换不会切换虚拟桌面。
2.通过虚拟桌面拆分浏览器和 IDE 。左右滑触摸板就行。
3.同一个软件多个窗口的通过调度中心切换。上滑触摸板。
sjhhjx0122
153 天前
用 aerospace ,脱离鼠标,全用快捷键切换聚焦和软件,体验丝滑
Syriana
153 天前
我用的 MAC 自带顶部 16 个桌面切,一个项目占用一个桌面,平常就记住项目在哪个桌面就快速切了
peteretep
153 天前
1 、mac 用户最大的幻觉是 触控板 比 鼠标 效率强。除了只听汇报的老板。
2 、mac 用户第二大幻觉是 和 windows 天差地别。 实际上使用习惯几乎相同。
3 、针对窗口管理,下载个 https://contexts.co/ 这种切换工具或者类似的,满足 99% 需求
spritecn
153 天前
@Syriana 对对的,触控板三指滑来滑去,简单实在
chenzfp
153 天前
b 站找两个视频看一下就会了,四指切换,三指选中,三指拖拽,已经完全习惯了触控板,新入了一个 mac mini 也给配了妙控板
justwkj07
153 天前
@peteretep 我就买的 contexts 还可以
clf
153 天前
装一个 DockDoor ,开源免费,和 win 一样的 alt+tab 以及 dock 栏看程序的所有窗口。
ooxxcc
153 天前
习惯不了平铺式窗口管理器的话,可以试试 hammerspoon ,自己写快捷键快速修改窗口布局
jheroy
153 天前
想放弃鼠标的话可以试试浏览器安装 Surfingkeys 插件, 系统安装 Homerow 软件, 配置 karabiner-elements + GokuRakuJoudo 的快捷键增强, 然后使用平铺式窗口管理器, 可以基本实现全键盘操作。 如果还要追求极致可以上 Keyboard Maestro
XiLemon
153 天前
alt-tab + loop 这俩软件
z1645444
153 天前
听起来很适合入坑 tiling window manager ,看到 4. 猜测你需要的功能可能包括:

- 窗口大小控制
- 桌面间移动窗口移动
- 按方向聚焦窗口
- 按方向 / 桌面序号移动窗口到桌面
- 按方向桌面内移动窗口
- 按方向 / 桌面序号聚焦桌面
- 切换布局

在 Linux 主流是 i3wm ,来到 macOS 主流是 yabai 和 amethyst ,还有一个 hammerspoon ,我个人用 aerospace ,建议去 ytb 看看 i3wm 的使用演示,感觉对了就从 yabai 和 aerospace 中挑一个试试。

除了 amethyst ,其他都用过,大概列举一下缺点,优点 reddit 和 ytb 上都有吹,不说了。

我是更新策略比较激进的用户,yabai 每次系统更新需要重新关闭 SIP ,并且跨大版本会遇到它的注入脚本失效的问题,有时候小版本也会,我记得 14.x 的时候就遇到过某次更新直接爆了,所有 keymap 只剩 focus 还活着,蛋疼的回到用触控板 / 鼠标进行 window manage 的年代...如果不喜欢关闭 SIP 并注入脚本,那你将会失去一部分功能,其中包括 [按方向 / 桌面序号聚焦桌面] ,其实一直好奇是不是 macOS 自己就不提供这个 API...

hammerspoon 提供的 API 非常丰富,但是 focus 另一个桌面,会有概率无法正确 focus 到另一个桌面上的顶层窗口,例如,桌面 B 同时放着 [spotify, intellij, wezterm],最顶层的是 spotify 向右以此类推,现在执行 focus 指令,期望按照原始的层级关系展示,但实际上可能会变成 [intellij, spotify, wezterm]😂

aerospace 会在某一个应用接近或进入 [无法响应] 状态的时候,失去作用,点名 Chrome ,很多时候 debug 时,某个页面爆了,你很可能将失去所有的能力。长时间开启,focus 桌面或者应用都会卡,reload 有时候可以解决有时候不能😵
ndxxx
153 天前
放弃鼠标?那不就是平铺式。不过我在 mac 上已经不玩了...
Linux 下玩过两年 i3 ,半年 hyprland+kde 。macOS 下玩过 yabai ,各种定制 menubar 还有比较新的 aerospace ,都可以靠键盘管理窗口。再加上个浏览器的 vim-like 插件装起,差不多了。

不过 AI IDE 时代了,全键盘流未必效率会有多高。而且 macOS 的 app 窗口逻辑和 Windows 差别挺大,macOS 的平铺窗口基本都是 hack 系统接口,和 Linux 没的比。建议别上来就在 macOS 下玩平铺式,我配置了 N 年的 yabai 和半年多的 aerospace 都我都弃坑了,还是适合自己的工作流的灵活布局更符我的习惯。

必装的一个就是 alt-tab ,再一个就是学会灵活使用类似 Hammerspoon 脚本或者 Raycast 或者 moom 或者 KM 这种快速打开应用,resize 窗口和移动窗口的快捷键管理功能。
z1645444
153 天前
@z1645444 #14 补充 aerospace 非常 wtf 的一点...

两台显示器的情况下:显示器 A 两个桌面,桌面 1 是 Chrome ,桌面 2 是通讯工具;显示器 B 两个桌面,桌面 9 是 WebStorm ,桌面 10 也是 Chrome 。

应用启动顺序,先在桌面 1 启动 Chrome ,再启动一个 move to 到桌面 10 。

焦点在除桌面 10 外的任何桌面,聚焦桌面 10 ,你将会聚焦到桌面 1 ,这个 issue 躺在 issues 区的时间比我去年用的毛巾时间都久。

对应的场景是,1Chrome 用于 debug 页面,10Chrome 用于查看需求或者在线对接文档 etc.,你在通讯工具接收到 UX 更新信息,想去 Chrome 看看更什么了,focus 过去,得,focus 到 debug 页面了,再怎么 focus ,只要目标页面顶层应用是 Chrome ,你就一定会 focus 桌面 1 ,因为那里的 Chrome 先启动 :(
Wooork
153 天前
ldyisbest
153 天前
command+~( tab 上面那个符号) 可以在多个同一个应用的窗口之间切换

比如打开多个 vscode ,command+~就可以在多个 vscode 之间切换,我觉得很好用
4332weizi
153 天前
鼠标配合开源软件 Mac Mouse Fix: https://github.com/noah-nuebling/mac-mouse-fix
我目前设置了
- 点按滚轮进入调度中心,切换桌面或窗口
- 点住滚轮左右移动鼠标,直接切换桌面
4332weizi
153 天前
我觉得鼠标比妙控板好用的多

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

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

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

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

© 2021 V2EX