新 Edge 标签页作为 Alt+Tab 切换项的评论

听闻最近 Windows 10 预览版里 Alt+Tab 可以切换(新)Edge 标签页,我有一些评论想要发表。另,最近忙了很多事儿,密码学研究系列久久未更,还在计划重写博客网站,烦呀!

原帖里提到

他就是一个软件,非得展示 N 个窗口,本来一下 ALT+TAB 可以切回上个软件,现在要小心翼翼按 100 下才能切回去。

根据 Windows Latest 上的文章,这个功能有几档可以选择:

  • 显示非 Edge 窗口和所有 Edge 标签页
  • 显示非 Edge 窗口和最多固定数量个最近的 Edge 标签页
  • 仅显示窗口

基于这些信息,自然就要思考以下几个问题。

Alt+Tab 切换的逻辑:在 Windows 世界里,自古以来 Alt+Tab 就是切换窗口的工具(macOS 的世界里则是切换应用的工具),现在 Edge 把标签页升格为窗口,显然改变了传统用户界面的逻辑。改变传统可以是好的,也可以是不好的,可以从好几方面考虑。

应用—文档用户界面:常见的应用—文档用户界面有三种,单文档界面、多文档界面、标签化文档界面,即 SDI、MDI、TDI。其中 MDI 已经基本不用(Word 2000 和 mmc.exe 是 MDI),最新版的 Word 是 SDI 例子,现代浏览器都是 TDI。在 SDI 下,每个文档即一个窗口,因此 Alt+Tab 的窗口切换和(全局)文档切换是同一回事儿。现在这个改变即是让这种巧合进一步实现。

是否是新 Edge 专属:从目前的设置表述来看,似乎标签页升格为“Alt+Tab 意义下的窗口”是新 Edge 专属功能。这样显然不好:首先这让 Edge 处于非常特殊的地位,用户无法通过一般逻辑思考 Alt+Tab 的意义,而必须记住 Edge 的特例;如果 Alt+Tab 向“切换文档”靠近,也没有理由认为 Edge 应当特殊对待;最后,如果让 Edge 在这里特殊,则可能涉嫌利用操作系统的垄断地位推广浏览器。

和任务栏按钮的关系:自从 Windows 7 引入新版任务栏以来,程序可以通过公开 API 把一个实体窗口替换成多个虚拟窗口,例如点击 Internet Explorer 合并后的任务栏按钮,会显示所有标签页而不是所有 IE 窗口。如果启用了任务栏缩略图,则每个虚拟窗口会显示对应标签页的缩略图;如果启用了 Aero Peek,则光标悬停在虚拟窗口的按钮上时,桌面窗口管理器会隐藏其他窗口、显示对应窗口,但会把页面内容的位置替换为对应标签页的内容(一个值得注意的小瑕疵是标签选项卡并不会替换为切换到悬停标签的样子)。Adobe Reader 在一个窗口里打开多个文档时也会如此处理。值得注意的是,当下版本的 Edge、Chrome、Firefox 都没有这样做,实属可惜。

当日更新:Zhe Li 提示我 Firefox 可以在 about:preferences | General | Tabs 里勾选 Show tab previews in the Windows taskbar 来在任务栏上以标签页替换实体窗口。

19 日更新:经调查,Chrome 曾经尝试过实现该功能,然而后来 Google 决定删除该功能,另一个相关帖子 见此。我很失望。

我认为任务栏按钮显示所有标签页比较恰当,因为利用任务栏按钮切换时,目标显然是该应用中的内容,TDI 应用通过把实体窗口替换为标签的虚拟窗口,可以把切换逻辑和 SDI 应用统一,而且也确实很方便。

至于 Alt+Tab,我倾向于原先的“切换该桌面上所有窗口”的逻辑,主张不把实体窗口替换为标签的虚拟窗口。如果选择“显示窗口和所有标签页”,则 Alt+Tab 任务切换对话框很容易被塞满、溢出;如果选择“显示窗口和有限数量个最近的标签页”,则可能会有切换到较早浏览的标签时不太容易找到正确窗口,反而降低效率。

所以,我觉得新 Edge 亟需的是像 Internet Explorer 一样充分利用 Windows 7 以来的 新任务栏 API

请启用 JavaScript 来查看由 Disqus 驱动的评论。