有几种可能性可以进行窗口管理。
您认为从可用性角度来看,最佳解决方案是什么?在这些示例之一中实现了吗?是否有另一个可以实现完美系统的OS?您对完美系统有想法吗?
您将对当前的每种主流操作系统及其大小调整方法进行非常详细的分析。正如您已经指出的,每种方法都有其优点和缺点。但是,在每个系统中都有一个常数(希望移动):单击并拖动。此动作是放大动作的通用动作,它也内置于用户模型(人们使用程序时的想法)。
将这个基本操作限制在较小的单击区域是一个重大错误,我看到Ubuntu和Apple。我可以得出结论,Windows OS具有更好的(尽管很“沉重”)UI设计来调整窗口大小。
此外,调整大小的方法应符合用户的期望。如您所述,MacOS具有一个不会放大窗口的放大按钮。您在Mac上使用过几次,并且希望屏幕最大化?您谈到了移动设备及其无法调整大小。这与人们使用产品的方式有关。在移动设备上,屏幕已经很小,因此最小/最大将是不必要的过程。这与系统的使用方式有关!
然而,Apple越来越多地将他们的触摸屏手势系统(捏,轻按)集成到他们的UI中。由于其可用性,我对此感到非常兴奋。例如,如果有一只手调整大小/最大化窗口的手势,这将完全消除对“沉重”寄宿生的需求。通过使用这些手势,系统可以通过将点击区域减小为0来创建更好的UX(因为不必将鼠标移至调整大小区域)。
管理窗口是一项簿记任务。如果用户不必管理窗口,那将是最好的。当然,用户不会使用计算机来管理窗口!
确实,就我而言,用于移动或调整窗口大小的UI并不重要。如果必须移动窗口或调整窗口大小,我已经感到不舒服了。
我在1280×800屏幕的笔记本电脑上使用Windows 7。由于屏幕很小,因此我几乎在最大化的窗口中使用每个应用程序。文件夹窗口和命令行窗口是个例外,我很少(如果有的话)最大化它们。尽管我总是在最大化的窗口中使用它们,但有几个应用程序会忘记最后一个窗口的大小,因此,当发生这种情况时,我会使用Aero Snap最大化窗口。 Aero Snap很不错,但是我希望应用程序记住上一个窗口的大小。除此之外,我很少更改窗口的大小或位置。
在较大的屏幕上,用于移动窗口或调整窗口大小的UI可能更重要,因为在最大化的窗口中运行的应用程序并不多。
我认为,就像大多数事情一样,这取决于。我只能说说我的经验和喜好。
对于工作站,我更喜欢平铺+选项卡+多个工作区系统,例如X11的离子窗口管理器,它能够为重叠的窗口创建图块/空间。 (为此,我将Xnest与Ion一起使用。)将窗口扩展到全屏的选项也很好。
对于手持设备,我发现全屏效果最佳。尽管需要状态和通知功能,这些功能需要从活动应用程序中借用空间。
对于平板电脑而言,全屏通常是最好的,但是我发现我偶尔希望能够在两个应用程序之间拆分屏幕。
对于重叠的窗口,我希望能够从任何Edge(例如MS Windows和Ubuntu)调整大小。我希望能够隐藏窗口,使其全屏显示,并使它们“合适”。能够像MS Windows一样平铺窗口很有用,尽管它不能替代Ion的功能。
我想要一种顶级方法来浏览按应用程序分组的所有窗口。背景窗口应仅为背景。为它提供附加功能意味着您必须提供一种机制将其放在最前面或隐藏所有其他窗口。最好只是将该功能移到一流的窗口中。
尽管最终,细节决定了魔鬼。例如从隐藏/全屏/适当大小切换时,不会丢失Windows的原始大小和位置。
甚至还没有涉及Mac的Exposé或MS Windows的alt + tab机制。或者能够将多个窗口组合成一个选项卡式窗口。或滚动,在讨论中也应包括在内。
另外,我认为这里还有很多尚未探索的领域。
理想的窗口管理将最有效地利用屏幕空间,并允许用户尽快,轻松地执行窗口管理任务。但是,通常在这些目标之间进行权衡。我认为这是最好的折衷方案:
按钮
确实与按钮位于窗口的哪一侧无关。应将其从破坏性最小到破坏性最大的顺序排列,并在距窗户中心最远的位置破坏性最大。这意味着关闭,最小化,最大化/还原(如果在左侧)或最大化/还原,最小化,关闭(如果在右侧)。无论如何,大多数默认用户界面都会执行此操作。
调整大小
边框太小以至于很难抓住边框是一个糟糕的设计决定。实际上,这已被Ubuntu设计团队标记为严重错误( bug#160311 )。但是,在Windows中使用非常粗的边框会占用过多的屏幕空间。我认为窗口应保留较小的可见边框,但应具有较大的不可见边框(什么也没有,但足以抓住)。同样,可以使用快捷键来简化大小调整。我目前使用配置的compiz调整大小,以便按 super 键使我可以通过简单地移动鼠标来调整聚焦窗口的大小。我对它感到满意后就可以单击。我发现这比使用边框调整大小节省了很多时间,即使它是粗边框也是如此。
移动
移动窗口几乎无处不在的拖放方法效果很好,因此应予以保留。将鼠标一直移动到顶部窗口边框有点麻烦。 GNOME窗口管理器(移动性)和compiz提供了一种移动窗口的快捷方法。您按 Alt 键,然后您可以单击并拖动到窗口的任何位置。这样可以节省时间,因此是良好的行为,应该保留/采用。我不确定其他桌面环境(如KDE,XFCE,Mac OSX和Windows)是否可以使用,但如果还没有,则应实现此行为。
切换
传统上,使用扩展坞或面板来切换Windows。我发现这很好用,但不是唯一的窗口切换方法。船坞和面板应具有躲闪/智能窗的功能,以节省空间。我发现像GNOME面板当前使用的那种那样的普通自动隐藏是不够的。扩展坞位于屏幕的哪一侧并不重要,应该是个人喜好。我碰巧喜欢左侧的码头。与面板相比,Dock可以通过对窗口进行分组并使用图标代替文本来节省空间。作为窗口切换的主要方法,我使用compiz缩放比例。这为我提供了所有工作区中所有窗口的概述。我对其进行了配置,以便单击以选择一个窗口,然后单击鼠标右键以关闭一个窗口,从而使这些操作非常迅速。缩放的另一个优点是,它可以为您在每个窗口中执行的操作提供更好的视觉线索,因此更容易知道选择哪个。 compiz还提供的窗口预览也具有此效果,但是需要将鼠标悬停在停靠/面板项目上才能获得预览,从而使其变慢。我也发现规模比 Alt+Tab 因为我不必在窗户之间翻转。可以使用快捷键激活比例,但是我更喜欢使用“热角”。鼠标角非常快,因为它们在两个方向上是无限的,尤其是在触控板上,因为这只需要快速滑动手指即可。我使用右下角,因为它离大多数活动最远,因此不容易意外激活。显然,这取决于其他桌面元素的放置位置,但是右下角最适合我使用左侧基座和顶部面板。我仍然发现停靠项对于启动和最小化等操作很有用。
多任务处理
通常经常需要一次查看多个窗口,例如。用于窗口之间的拖放操作。重叠窗口工作得很好,对于仅存在很短时间的对话窗口是最佳选择。但是,从多个窗口进行读取或拖放操作时,平铺效果要好得多。我发现我必须手动平铺,这很繁琐,应该会更容易。我希望能够 Ctrl+在基座/窗口切换器中单击项目以平铺它们。默认情况下,它们应在屏幕上占据相等的空间(或尽可能相等-3个窗口将很难相等地容纳),并应占据整个屏幕,但应该可以拖动它们之间的边界来进行调整。如果关闭或最小化一个窗口,则其他窗口应增加尺寸以占用剩余空间。只需单击任何一个停靠项,即可恢复到正常的窗口模式并聚焦于该窗口。
其中一些解决方案在没有键盘的平板电脑和其他设备上无法真正使用。但是,多个手势可以代替某些键盘快捷键。该接口实际上应取决于与其一起使用的设备。我的建议对笔记本电脑或台式机很有用。
我发现,尽管我从未使用过Max OSX,但通过compiz进行调整后,Ubuntu上的窗口管理体验就超过了其他方面。但是,它仍然不完美。我认为我的建议将使这些窗口管理系统更好,但它并不完美,我认为没有完美的方法。我们受到输入设备的限制。也许有一天,我们将找到一种方法,将我们的大脑直接吸引到系统上,但是在那之前,我们仍然束手无策。