窗口管理是桌面计算的一个重要方面,几十年来一直是人们着迷和探索的话题。然而,尽管进行了多次尝试,仍然没有人能够破解完美的窗口管理解决方案的密码。GNOME 开发人员现在开始致力于彻底改变窗口管理,旨在提高生产力和用户体验。
GNOME 开发人员 Tobias Bernard 发表了一篇详细的文章,介绍了开发人员如何考虑为未来创新 GNOME 桌面。
传统窗口系统的挑战
传统的窗口系统为我们提供了很好的服务,允许应用生成可以手动移动和调整大小的矩形窗口。然而,随着窗口数量和尺寸的增加,问题开始出现。重叠的窗口很快就会变得一团糟,使得在不隐藏其他应用的情况下访问特定应序变得困难。最大化窗口可能会遮挡桌面上的其他所有内容,从而导致混乱和效率低下。
多年来,各种操作系统引入了工作区、任务栏和切换器等解决方法来处理这些问题。然而,窗口管理的核心问题仍未解决。特别是对于儿童和老年人等计算机新手来说,手动排列窗口可能会很麻烦且乏味。
引入平铺窗口管理器
平铺窗口管理器提供了防止窗口重叠的替代解决方案。虽然它们在某些情况下运行良好,但也有其局限性。平铺窗口可能会导致效率低下,因为应用通常是针对特定尺寸和纵横比设计的。此外,这些窗口管理器缺乏关于窗口内容和上下文的知识,需要额外的手动调整,并违背了简化工作流程的目的。更不用说记住很多键盘快捷键了。
GNOME 当前的平铺功能
GNOME 已经在 GNOME 3 系列中尝试了基本的平铺功能。然而,现有的实现有一些局限性。这是一个手动过程,仅支持两个窗口,缺乏复杂布局的可扩展性,并且不会将平铺窗口分组到窗口栈中。
窗口管理的新愿景
该团队提出了一种新的窗口管理方法,重点关注符合用户期望和需求的自动化系统。他们的概念涉及窗口的三种潜在布局状态:马赛克、边缘平铺和浮动。
马赛克模式将成为默认行为,根据用户偏好和可用屏幕空间智能定位窗口并调整窗口大小。随着新窗口的打开,现有窗口将进行调整以适应新来者。如果窗口不适合当前布局,它将被放置在自己的工作区中。当屏幕接近布满时,窗口将自动平铺。
用户还可以通过将窗口拖动到现有窗口或空白区域上来手动平铺窗口。该系统提供了灵活性和便利性,使其更容易高效地执行多任务。
维护用户友好的浮动窗口
虽然平铺提供了多种好处,但 GNOME 开发人员明白,总会有用户更喜欢手动定位窗口的情况。因此,经典的浮动行为仍然适用于这些特定情况,但随着新的马赛克系统的引入,它可能不太常见。
利用窗口元数据增强性能
GNOME 旨在优化平铺体验,以从窗口收集有关其内容的更多信息。这包括窗口的最大所需尺寸以及应用最佳运行的理想尺寸范围等详细信息。通过使用这些元数据,系统可以定制窗口布局以满足用户的需求,从而提高整体可用性。
展望未来
虽然 GNOME 开发人员对这个新的窗口管理方向感到兴奋,但他们也承认与这种新颖方法相关的风险。他们计划进行用户研究以验证他们的假设并完善交互。尽管没有具体的实施时间表,但该项目可能会跨越多个开发周期,并成为 GNOME 46 或更高版本的一部分。
截至发布此内容时,还没有草案合并请求,你可以参与其中并提供反馈。
参考自Tobias 的博客。