让网页应用保持在最前,Mac 和 Windows 都适用
想让一个网站始终压在其他窗口前面,就把它做成 Pake 应用,在窗口外观里打开始终置顶,再把窗口尺寸设小一点,给手头的工作留出位置。置顶只作用在这一个网站的窗口上,不会像固定浏览器那样把所有标签页一起带上,Mac 和 Windows 上的做法一样。
Mac 和 Windows 自带了什么
Apple 关于排列窗口和窗口平铺的说明讲了拖动、平铺到半屏、铺满桌面和最小化,没有哪一项能让一个窗口停在其他窗口上面,平铺只是把窗口并排放,点到哪个,哪个还是会跑到前面。
Windows 上的 Snap 用来排列窗口,不会让哪个窗口一直在前面。PowerToys 的 Always On Top 可以,前提是装了 PowerToys,按 Windows 徽标键 + Ctrl + T 固定当前活动窗口,再按一次就取消。微软也提到,它不一定能盖住本来就置顶的窗口,比如某些远程桌面或 VMware 窗口。少数应用自己带开关,比如计算器在标准模式下的 Keep on top。
固定浏览器窗口会把里面所有标签页一起固定,只想一直看着一个页面时,这多半不是想要的结果。
置顶是怎么实现的
Pake 用 Tauri 创建每个应用的窗口,始终置顶在创建窗口时作为原生属性传下去,Tauri 的窗口接口把它描述为窗口是否始终处在其他窗口之上。在 Windows 上,系统层面对应的是最顶层(topmost)状态,微软对 SetWindowPos 的说明是,最顶层窗口排在所有非最顶层窗口之上,窗口失去激活状态后也保持这个位置。
由此有两点。置顶属于窗口本身,所以切到别的应用、到处点击都不会取消,应用退出后才结束。另外最顶层只是一个排位,不是绝对优先,别的程序也把自己设成最顶层时,两者会互相争前后,这和微软说 PowerToys 可能盖不住某些远程桌面、VMware 窗口是同一个原因,Pake 的窗口对它们没有特权。
打开始终置顶
在 Mac 或 Windows 版 Pake 里打开创建页,粘贴网址或选一个精选网站,在窗口外观里打开始终置顶,它默认是关的。标着窗口和选项已调好的精选网站可能已经替你设过,开或关都有可能,点创建应用之前看一眼,所有选项见创建应用。
已经做好的应用,打开我的应用,点编辑,切换始终置顶,再点保存修改。编辑是原地重装同一个应用,登录状态还在,见管理应用。
配一个小窗口
一直在前面的窗口,要给下面的工作留出地方。设一下默认尺寸,宽和高都可以在 200 到 10000 之间,默认是 1200 × 780,窄而高的窗口适合聊天、计时器、写代码时对照着看的文档,或者直播。改了已有应用的尺寸,它记住的上次窗口大小会清掉,新尺寸下次启动就生效。
Mac 上打开隐藏标题栏,网页能一直铺到窗口顶部,再省一点地方,Windows 没有这个选项,从 Mac 导入配置时也会忽略它。深色窗口只让标题栏和边框变深,不改网页,其他窗口设置见定制网页应用窗口。
窄窗口里网站的内容被挤到折叠线以下时,可以缩小页面,Mac 上按 Command 加 -,Windows 上按 Ctrl 加 -,每个 Pake 应用都支持,0 恢复原大小。
怎么快速收起来
置顶的窗口可能正好挡住手头的事,所以要先想好怎么让它走开。Mac 上常驻后台默认是开的,关掉窗口应用仍在运行,点程序坞图标就能把窗口叫回来,每个 Pake 应用里 Command 加 W 也是只隐藏窗口、不退出。用命令行还可以加 --activation-shortcut,这是一个全局快捷键,应用的窗口有任何一个可见时就全部隐藏,否则全部显示:
pake https://example.com --name Example --width 420 --height 720 --always-on-top --activation-shortcut CmdOrControl+Shift+P
桌面版的输入框里没有这个选项,菜单栏和托盘的做法见把网站放进菜单栏或托盘。
用 CLI 打包
配好 CLI 之后,--always-on-top 会打开这个选项:
pake https://example.com --name Example --width 420 --height 720 --always-on-top
macOS 上加 --hide-title-bar,网页就能铺到窗口顶部。不传 --width 和 --height 时窗口按 1200 × 780 打开,其他参数见 CLI 参数说明。
没有留在最前面时怎么查
打开应用,再点一下别的窗口试一次,置顶的窗口在别的窗口处于活动状态时仍然可见。没有的话,编辑应用,确认始终置顶确实保存了,因为精选网站调好的设置可能和你以为的相反。如果有别的东西一直盖住它,看看那个程序是不是也设了置顶,两个最顶层窗口按它们自己的顺序叠放。
要放在前面的是一个现成的应用时,PowerToys 或应用自带的开关还是更合适,Pake 应用适合的是另一种情况,一个网站要一直留在视线里,浏览器照常干自己的活。
常见问题
全屏应用里始终置顶还管用吗?
Pake 只设置窗口的置顶属性,没有为全屏应用做额外处理,Pake 文档和上面引用的系统页面也没有讲这种情况,所以用你自己在意的那个应用先试一次再依赖它。
重启应用后置顶还在吗?
在,它保存在应用的设置里,每次启动都按开着的状态创建窗口,直到你编辑应用把它关掉。
可以只让某些页面置顶吗?
不行,这个设置属于窗口而不是页面,网站显示什么都一样。
