Topit 使用指南:3步把任意Mac窗口强制置顶
【免费下载链接】TopitPin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶项目地址: https://gitcode.com/gh_mirrors/to/Topit
你在浏览器里查一份资料,随手把窗口挪到屏幕左边。一回头,它又被别的窗口盖住了。找回来,只能再点一遍窗口切换。Topit 是一款免费开源的 Mac 窗口置顶工具,帮你在 macOS 上把任意窗口强制钉在屏幕最上层,钉多久都行。
Topit 窗口置顶的原理:它不是画中画
很多人把窗口置顶和画中画搞混。画中画是视频专属的浮层,播一段画面而已。Topit 钉住的是一个还正常工作的窗口:内容实时更新,你能点它、拖它、在里面打字,它只是永远排在所有窗口前面。
原理不复杂。Topit 用 macOS 自带的 ScreenCaptureKit 实时读取目标窗口画面,叠一层在上层显示;再用辅助功能 API 跟踪窗口的位置和大小。相当于给这个窗口发了一张永久优先通行证,走到哪都排最前。
核心逻辑在
Topit/ViewModel/OverlayView.swift,想深入的话可以翻源码,结构很清晰。
十分钟装好 Topit,完成第一次窗口置顶
系统要求 macOS 13.0 及以上,基本覆盖所有还在服役的 Mac。
主推 Homebrew 安装,一条命令:
brew install lihaoyun6/tap/topit另一种方式是源码编译:clone 仓库https://gitcode.com/gh_mirrors/to/Topit,打开Topit.xcodeproj自行构建,适合想读代码改行为的读者。
首次启动,macOS 会弹两个权限请求,都要点允许:
屏幕录制权限:用来读取目标窗口画面,生成实时画面层。不授权,钉上去的是空白。 辅助功能权限:用来控制窗口层级、位置和大小。不授权,窗口钉不上去。
授权完成后重启一次应用,然后开始第一次置顶,一共 3 步:
- 启动 Topit,主窗口弹出网格选择器,每台显示器一个独立标签页
- 点中想钉住的窗口卡片,卡片右上角出现绿色对勾
- 点右上角蓝色的 "Topit!" 按钮,完成
现在移动、缩放、输入都照常,它始终压在别的窗口上面。想取消,点置顶窗口角落的蓝色小圆点,选 "Unpin" 即可。
窗口选择器:缩略图、应用图标、窗口标题齐全,点一下即选中
习惯暗色环境也不用担心,选择器会自动跟随系统切成深色主题。
深色模式下的窗口选择器,夜战不刺眼
三个真实场景,把置顶窗口用出效果
场景一:边写代码边查文档,文档半透明钉在侧面
文档窗口置顶后,点它角落的蓝色小圆点,打开菜单里的 Opacity 滑杆。范围是 20% 到 100%,拖到 75% 左右,能读字,又不挡代码。
小贴士:半透明状态下如果要调整窗口大小,先在同一菜单里点 Pause 暂停,Topit 会弹提示提醒你,照做就行。
场景二:多窗口来回对照,鼠标指哪钉哪
在设置的 Hotkey 页可以绑 5 个全局快捷键:
| 快捷键动作 | 效果 |
|---|---|
| Select a Window to Pin | 进入高亮选择,点中哪个钉哪个 |
| Open Window Selector | 呼出网格选择器 |
| Pin / Unpin Under-Mouse Window | 钉/放鼠标下方的窗口 |
| Pin / Unpin Frontmost Window | 钉/放最前端的窗口 |
| Unpin All Pinned Windows | 一次性全部解除 |
重点绑 "Pin / Unpin Under-Mouse Window"。触发后屏幕进入高亮选择状态,鼠标移到哪个窗口就亮蓝色边框,点一下即钉;再按一下快捷键又松开。多个表格、日志窗口互相对照时,来回不用碰网格。
搭配设置里的 "Ducking Between Pinned Windows" 开关:多个置顶窗口重叠时,只有当前活跃的那个正常显示,其余自动让位,桌面不会糊成一片。
场景三:开会演示,议程钉住,散会全放
会前点置顶窗口角落的蓝点确认窗口就位,或直接从菜单栏选 "Pin a Window",屏幕进入高亮选择,点中议程窗口即完成。演示全程议程压在共享内容上面,切到哪里都不会被挤没。
散会时按一次 "Unpin All Pinned Windows",桌面立刻恢复原样,不用逐个清理。
常见问题:Topit 耗电吗、安全吗
费电吗?日常几乎无感。捕获走 ScreenCaptureKit 低功耗通道,设置里还能把刷新率限到 30Hz、60Hz、120Hz 或不限制。但一次钉太多窗口,耗电会明显增加,README 里也这么提示。
安全吗?项目开源,代码全部公开可查,没有任何上传数据的逻辑,捕获全在本地完成。屏幕录制和辅助功能这两项权限,是 macOS 对同类功能的硬性要求,不是 Topit 额外索要的。
需要什么系统?macOS 13.0 及以上。
进阶技巧:省资源与防抢焦点
- 给静态窗口限帧率。设置里把 Maximum Refresh Rate 调成 30Hz。画面几乎不变的文档类窗口 30Hz 完全够,资源占用随之降下来。
- 防焦点抢占。设置里把 "Activate Pinned Window on" 改成 Double Click,并打开 "Prevent Focus Switching"。鼠标扫过置顶窗口时不会抢走键盘焦点,正在打字的内容不被打断;需要操作时双击激活。
- 给半透明窗口描边。打开 "Add Border for Translucent Window",窗口淡到 40% 透明度时依然有蓝框勾边,一眼能定位,不会找不着。
Topit 没什么玄学,它只是把每天几百次的"切窗口"压缩成"看一眼、点一下"。现在打开终端敲下brew install lihaoyun6/tap/topit,把那个最容易被盖住的窗口钉上去试试。
【免费下载链接】TopitPin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶项目地址: https://gitcode.com/gh_mirrors/to/Topit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考