随着概念的变化,这种演变还揭示出任务栏的 一些不足之处。在严格的MDI应用中,每个应用程序窗口都包含所有文档窗口,而任务栏按钮的数量依然是非常易于管理的。就算在Word或Excel中同时 打开多个文档,任务栏对每个程序也只显示一个按钮。这样就算同时运行多个应用程序,任务栏上的按钮也不会变得过于拥挤或难以辨识。但逐渐的,应用程序开始 为每个打开的文档创建一个任务栏按钮,同时任务栏上也出现了越来越多的工具栏,这些方式的使用使得任务栏空间成了人人争抢的香饽饽。每个新的Word或 Excel文档都会增加一个按钮,这样很快,任务栏上的按钮文字就无法看清了。
为了缓解这种问题,XP中提供了任务栏分 组功能,如果任务栏空间变得拥挤,那么来自同一个程序的多个窗口可以被合并成一个按钮。如果完全合并,则每个按钮又开始对应每个应用程序,随后需要使用按 钮的弹出菜单代表该程序中打开的每个文档。这种做法有助于保持任务栏以往的秩序,但依然无法提供MDI的所有优势。另外,默认的设置只有在必要时才合并按 钮,因此只有在任务栏被填满后,系统才会更改切换行为。可能这个时候按钮可切换窗口,但突然又变成可同时切换不同的应用程序和文档。最糟糕的情况下,可能 有些程序的按钮被合并了,但有些程序依然未被合并。
以往的做法意味着目前的任务栏是由互相冲突的目标和概念混合而成,虽然这并不是说这种方法就完全没用,但作为一种折衷的方法,这种设计依然有可取之处。不过这种设计还有很多可供改善的余地。
如何保持一致性
Apple的做法
在篱笆的另一头,还有Mac OS X。自始至终,Mac的做法是用窗口代表不同文档,因此Mac从来没有使用过类似Windows方式的MDI界面。应用程序完全没有自己的窗口,任何窗口 (通常)都代表特定文档,并且窗口可在桌面上随意放置。这意味着Mac OS X的应用程序永远不会违反系统的设计原则,例如为每个文档创建一个Dock图标。但也有少量应用程序不遵守这一规则,尤其是不需要面向“文档”的程序,例 如System Preferences就不是针对文档的,当这个程序的窗口被关闭后,该程序就会自动被关闭。不过一般来说,Windows上看到的多种不同方式并存的局 面并没有出现在OS X中。
Dock的底层概念和传统的Windows任务栏有 很大不同。Dock的左侧用于放置应用程序,对于这一点,有一个很有趣的情况,在Dock中,并不会区分对待切换运行中的应用程序,以及在没有运行的应用 程序之间切换这两种做法。不过在视觉上,这两种情况也有所区别(在图标下方会显示一个小蓝点,例如上图所示Adium的鸭子图标),但区别也仅限于此。这 种做法的理由在于,无论某个应用程序是否已经运行,都没有太大区别,Dock可以让我们在应用程序之间进行切换,而在切换到的时候,如果目标应用程序还没 有运行,Dock直接把该程序运行起来即可。
Dock的右侧位置则有些麻烦,这里充满了各种乱七八糟的功能。在上图所示的Dock中,这里包含了三个文件夹,四个最小化的窗口,还有一个垃圾 桶。任何文件夹都可以放到Dock上,单击文件夹即可显示其中的内容。最小化的窗口和垃圾桶的用途非常明显,不过垃圾桶和停靠在这里的文件夹也可以算作同 一种内容:虽然垃圾桶有些特殊,但在本质上也是一种“容器”。
最小化的窗口则是另一种完全不同的概念。在Dock上,除此之外没有其他内容可代表窗口,Dock可以代表应用程序和文件夹, 但直到,并且除非将窗口最小化,否则Dock上就不会有代表窗口的内容。而且最小化后窗口在Dock上的安置也很麻烦,被挤在最末尾,和垃圾桶放在一起, 这其实并不合理。虽然Dock中右侧这部分位置也可以看作是大杂烩,不过Dock也被应用了一些强制规则,应用程序无法被放到右侧部分,非应用程序也不能 放到左侧部分。
除了在Dock上代表不同窗口,每个运行中的应用程序还可以用上下文菜单的形式列出每个打开的窗口。
221 diamond briefcases out of 221, oh yeah【这句不知道是啥意思,和Far Cry有关吗?我不玩游戏,不清楚】
抛开窗口列表不说,Dock 可以算是是第一个,也是唯一只用于切换应用程序,而不是用于切换窗口的工具。如果要切换窗口,使用Exposé、“-`”命令,或单击需要的窗口,都是更简单的方法。至于Dock,就是切换应用程序用的,不是用于切换窗口的。
Windows 7任务栏
在了解了每种操作系统如何对待窗口,以及任务栏的演变历史后,很明显可以看出,Windows 7任务栏完全可以算作是老版本Windows中任务栏的继任者,而非对Dock的模仿。
Vista,以及更老版本Windows中任务栏最 大的问题在于,逐渐会变得越来越拥挤。大量需要打开多个窗口的应用程序逐渐破坏了自从 Windows 95时代沿用至今的,很方便的“每应用程序一个按钮”的模式。为了解决这一问题,Windows 7的任务栏包含两项改进:首先,默认就会隐藏所有文字标签,并且会直接将同一程序的多个窗口合并成一个按钮。但在Windows Vista中,使用的依然是混合的模式:有些应用程序被合并,有些依然显示了多个按钮。新的任务栏默认就会一直合并所有程序的按钮。同时,任务栏的行为相 比Windows 95时代的设计也更一致,每个按钮都对应一个应用程序。