视图管理架构的制作方法

文档序号:11530620阅读:191来源:国知局
相关申请本申请要求申请号为14/495,376、题为“viewmanagementarchitecture(视图管理架构)”并提交于2014年9月24日的美国专利申请的优先权,其通过引用并入本文。
背景技术
::在计算领域内,许多场景涉及通过一组至少两个显示器来呈现计算环境的应用。例如,包含电子邮件客户端的第一应用可包含不同消息的一组视图,其分别被呈现为具有可调尺寸和形状的可移动窗口,并且包含媒体播放器的第二应用可包含显示器区域,其在没有用户界面控件(“chrome”)的情况下被呈现。一些应用可以展示关系(例如一起使用的第一应用和第二应用,和/或展示上级/下级关系的应用的一些视图)。用户可以选择以各种方式遍及整个显示器组地定位相应的应用和视图。例如,第一应用的视图可被合并到一个窗口或窗格(pane)中,被合并在第一显示器上,或跨第一显示器和第二显示器分布。第二应用可被呈现为一个显示器的一部分;被呈现为以“最大化”模式填充显示器的全尺寸区域;或被呈现为跨越两个或更多个显示器的至少部分的区域。显示器还可以展示逻辑布置(例如,第一显示器可被逻辑地定位于第二显示器的左侧,使得将指针移动到第二显示器的左边缘之外引起该指针出现在第一显示器上,并且反之亦然),并且该逻辑布置可以或可以不对应于显示器的物理布置。为了使这样的交互能够实现,计算环境可以将显示器的集合表示为围绕原点取向的二维坐标空间,并且可以将每个视图的位置表示为该显示空间内的一组坐标。视图的定位还可以反映三维排序,其中一些视图在其它视图之上被呈现。在显示器之间,用户最近与其交互过的特定应用可包含该排序中的“顶”应用(例如与来自用户的最新用户输入相关联的应用),使得来自各种输入组件的用户输入被递送到该“顶”应用。用户还可以以各种方式与跨显示器分布的应用交互,诸如允许用户将“顶”应用转换成该排序中的第二最“顶”应用的“回退栈”,和/或允许用户选择任何正在运行的应用作为接收用户输入的“顶”应用的应用切换器。以这种方式,计算环境可以跨多个显示器向用户呈现应用,并且根据当前的输入焦点来管理输入的路由。技术实现要素:提供本
发明内容以便以简化形式介绍选出的一些概念,这些概念在具体实施方式中在下面被进一步描述。本
发明内容不旨在识别所要求保护的主题的关键要素或必要特征,其也不旨在被用于限制所要求保护的主题的范围。将一组显示器表示为统一坐标空间,以及将其中的视图表示为这样的空间的区域会展示一些缺点。作为第一个这样的示例,随着数量增加,可能难以管理视图组,特别是鉴于视图和应用之间的相互关系。在维持的同时将布局调整到坐标空间内的视图可能变得困难。作为第二个这样的示例,虽然呈现统一的显示空间可以展示一些优点,但是一些限制也会随之出现。例如,可能期望在统一的显示空间之外呈现特定显示,例如作为特征在于特定布局或呈现模式的有区别的或“脱节的”显示,但是基于统一坐标空间的表示可能不允许这样的表示。作为第三个这样的示例,统一的坐标空间可使得一些区域能够跨越多个显示器,但是此特征在一些情况下可能不具有吸引力,并且可能随着对用户没有价值的选项来增加显示空间的维护。本文提出的是用于表示计算环境的显示空间的技术,该技术可以解决统一坐标空间的这些方面中的一些。根据这些技术,设备可以使设备能够生成用户界面集合,对于相应的显示器,该用户界面集合包含在显示器上呈现的相应视图的视图项的布置。响应于接收到在选定的显示器上呈现应用的请求,该设备可以在该选定的显示器的视图项的布置中创建新的视图项,该新的视图项表示在该选定的显示器上的一个位置处的应用的视图。该设备还可以响应于接收到将布局应用到选定的显示器的请求,将该布局应用到该选定的显示器的至少一个视图项的布置。以这种方式,该设备可以提供视图管理架构和框架,其使得能够实现多显示器计算环境内的视图的布置的可适应性更强的表示。为了实现前述和相关目的,下面的描述和附图阐述了某些说明性方面和实现方式。这些仅仅指示一个或多个方面可被采用的各种方式中的一些。当结合附图而被考虑时,本公开的其它方面、优点和新颖特征将从下面的具体实施方式变得显而易见。附图说明图1是示例场景的图示,其特征在于多显示器设备的计算环境的应用的应用视图的表示。图2是示例场景的图示,其特征在于根据本文所提出技术的,多显示器设备的计算环境的应用的应用视图的表示。图3是根据本文提出的技术呈现多显示器设备的计算环境的示例方法的流程图。图4是示例多显示器设备的组件框图,其特征在于根据本文提出的技术呈现计算环境的应用视图的系统。图5是包含被配置成实现本文阐述的一个或多个装置的处理器可执行指令的示例计算机可读介质的图示。图6是示例场景的图示,其特征在于根据本文所提出的技术的,用于管理计算环境内的应用呈现的历史的应用呈现历史的提供。图7是示例场景的图示,其特征在于根据本文所提出的技术的,可被应用于多显示器设备的计算环境的应用视图的一组布局模板。图8是示例场景的图示,其特征在于根据本文所提出的技术的,从输入设备到用户界面集合的各种视图的映射。图9是示例场景的图示,其特征在于根据本文所提出的技术的,用于呈现跨多个显示器的计算环境的设备的协调。图10是示例计算环境的图示,其中本文阐述的一个或多个装置可被实现。具体实施方式现在参考附图描述所要求保护的主题,其中贯穿全文相同的附图标记用于指代相同的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以便提供对所要求保护的主题的透彻理解。然而可能显然的是,所要求保护的主题可以在没有这些具体细节的情况下被实践。在其它实例中,以框图形式示出结构和设备,以便使描述所要求保护的主题更容易。a.引言图1是示例场景的图示,其特征在于在设备104上向用户102呈现计算环境110,该设备包含至少两个显示器108的集合106。在此示例场景100中,计算环境110的应用112生成一组视图116,诸如窗口、显示区域和“窗口小部件(widget)”,以便被布置和呈现在跨显示器集合106的计算环境110的视觉表示内。相应视图116的外观和行为也可以在若干方面变化,诸如尺寸、形状、宽高比、视觉风格、以及附接窗口管理控件(“chrome”)的包括或排除。相应视图116还可以展示视觉排序,诸如“z顺序”,其中第一视图116待被描绘在第二视图116前,并且其中与计算环境的输入焦点相关联的选定的视图116在此排序中被首先呈现(“最顶”视图116)。另外,视图116的集合之间可能存在关系;例如,应用112可能特征在于要被保持紧密接近的若干视图116。为了使得能够实现视图116的呈现的这些方面,计算环境110可提供统一坐标空间122的表示,其中相应的显示器108被逻辑地(并且可能物理地)布置成显示相对于原点124的统一坐标空间122内的坐标的逻辑范围。相应的视图116可以由设备104表示为统一坐标空间122内的坐标区域118的集合114,诸如根据矩形区域的左上和右下坐标的坐标。显示器集合106内的坐标区域118的认识可被实现为从统一坐标空间122到相应显示器108的坐标的逻辑范围的映射120。这样的映射120可能导致跨越128特定显示器108的整体的第一视图116(例如全屏或“最大化的”视图)以及跨越多个显示器108的第二视图116。另外,视图116的表示可以以相反的顺序排序和渲染,使得在z顺序126中更早的视图116在z顺序126中更晚的视图116之后被画出(并且因此在后者顶上),并且在z顺序126前面的视图116在最后被画出,以便将其呈现为“最顶”视图116。以这种方式,呈现统一坐标空间122的显示器集合106的表示可以提供。虽然以图1的示例场景100中图示的方式的视图116的表示可以呈现一些优点,但是从计算环境110的视图116的此表示也可能产生一些限制。作为第一个这样的示例,将显示器108渲染为统一坐标空间112可能难以与没有一起形成矩形空间的不同物理和/或逻辑尺寸的显示器108一起利用。相反,统一坐标空间112的各部分可以不被显示器集合106覆盖,并且因此可以表示统一坐标空间112内的盲点;例如,定位于这样的缺失区域内的视图116的各部分在任何显示器108上不可见。作为第二个这样的示例,统一坐标空间124可导致视图116的部分或全部落在显示器集合106的显示器108的范围之外。例如,视图116可以被移动或重新调整尺寸,使得用户界面的缺失部分130在显示器106的逻辑范围之外,并且因此不可见。这样的缺失部分130也可由于显示器集合106的显示器108的改变(例如,降低显示器108的显示空间的分辨率,或从显示器集合106移除显示器108)而出现。作为另外的问题,用于重新定位附接到逻辑区域118的视图116的控件也可以被定位在可视显示空间的外部,并且将视图116重新安置到显示空间中可能是困难的。作为第三个这样的示例,跨越128多个显示器108的视图116的逻辑区域118的呈现可以是概念上感兴趣的,但是在许多情况下可能是视觉上无吸引力的,因为显示器的物理分离可能在视图116的用户界面中引入间隙。此间隙可能破坏跨显示器108的词语或图像,并且如果显示器108不是物理上相邻的,则中断可能被加剧,使得视图108以非直观的方式被随意地分割。作为第四个这样的示例,此布置可能使视图116的管理复杂化。作为第一个这样的示例,在应用112呈现要被一起呈现的一组相关视图116的情况下,在无序的集合114中维持这样的关系可能是困难的。例如,虽然这样的视图116要被一起显示,但是当视图116跨越128多个显示器108时如何应用此约束可能是不清楚的。作为第二个这样的示例,将布局应用到显示器108,诸如“全屏”布局,可能导致渲染跨越128多个显示器108的视图112的仅仅一部分。作为第五个这样的示例,作为在显示器集合106之上分布的集合114的视图116的表示可能不会被缩放到大量的显示器108和视图116。例如,可能限制的是,将显示器108和视图116的大集合114约束到与z顺序126中的“最顶”视图116相关联的单个输入焦点;即,可能难以改变此模型,以使得不同输入设备(诸如由不同的用户操作)能够与不同视图116同时交互。因此,此模型可能不能很好地缩放以向各种用户102呈现计算环境110的各种交互应用112。这些和其它限制会出现在视图116的集合114的表示内,诸如在图1的示例场景100中所图示的。b.提出的技术本文所提出的是用于使设备104能够以促进对多显示器集合106的可缩放性的方式呈现计算环境110的应用112的视图116的技术。根据这样的技术,显示器集合106可以被组织为一组“脱节的”显示器108,而不是呈现统一的坐标空间122,每个显示器呈现计算环境110的应用112的视图116的有区别的子集。图2是涉及设备104的示例场景200的图示,其特征在于显示器108的显示器集合106,该显示器108在计算环境110内一起呈现应用112的视图116。在此示例场景200中,视图116被表示为用户界面集合210,其中显示器集合106的每个显示器108被表示为在显示器108上呈现的相应用户界面元素的视图项214的布置212。这样的用户界面元素214例如可以被组织为诸如树的分层结构,以便捕获视图116之间的关系,作为用户界面集合210的结构的部分。用户界面集合210可以被视图管理架构202生成、维持和暴露给计算环境110。视图管理架构202可以包括显示器管理器204,其生成显示器集合106的用户界面集合210,作为在显示器集合106的相应显示器108上呈现的相应视图的视图项214的布置。例如,显示器管理器204可以枚举显示器集合106的显示器108,并且可以处理诸如增加或移除显示器108这样的请求。视图管理架构202还可以包括应用定位器206,其响应于接收到在选定的显示器108上呈现应用108的请求,在该选定的显示器108的视图项214的布置212中创建表示该选定的显示器108上的一个位置处的应用112的视图116的新的视图项218。视图管理架构202还可以包括视图管理器208,其响应于接收到将布局222应用于选定的显示器108的请求,将布局222应用224到该选定的显示器108的视图项214的布置212。以这种方式,根据本文提出的技术,视图管理架构202可以表示通过显示器集合106的计算环境110的应用112的视图116的呈现。以这种方式呈现应用112的视图116可以避免其它技术的一些限制,诸如从图1的示例场景100中显而易见的那些。作为第一个这样的示例,将视图116组织到相应显示器108的离散的布置212中可以减少随着显示器108的跨越128而产生的一些困难,包括无吸引力的视觉外观和在其间维持逻辑关系的困难。作为第二个这样的示例,由于用户界面集合210的结构可以合并布局222待被应用到的显示器108的视图214,该表示可以使得将布局22应用于显示器212更容易。作为第三个这样的示例,该表示可以使得将用户输入绑定到相应的视图214更容易;例如,相应的输入设备可以参与对用户界面集合210内的特定视图114的绑定220,而不一定根据仅建立单个最顶视图116作为唯一输入焦点的z顺序126。作为第四个这样的示例,当与不同尺寸的显示器108的显示器集合106一起使用时,对统一坐标空间122的依赖性的避免可以减少盲点和/或缺失部分130的出现。作为第五个这样的示例,相应显示器108上的视图214的离散表示可以使得用户界面集合210能够更高效地缩放以处理大量的显示器108和/或视图116,因为对特定显示器108和/或视图116的调整(诸如应用布局22)可以通过仅调整该选定的显示器108的布置212内的视图项214来实现。根据本文提出的技术,这些和其它特征可以通过应用112和视图116的表示(其通过用户界面集合210和视图管理架构202)实现。c.技术效果使用本文提出的技术以通过显示器集合106向用户102呈现主计算环境204在一些实施例中可以导致各种技术效果。作为可以通过本文提出的技术实现的第一个技术效果,本文提供的计算环境110的视图116的表示可以通过下述操作为用户102提供更一致的用户体验:减少在计算环境110内产生的视觉问题(诸如由矩形显示器108的非矩形布置引起的统一坐标空间122中的盲点;定位于所显示的空间外部的用户界面的缺失部分130;由于区域管理控件的屏幕外定位所导致的重新定位视图116的困难;以及创建视觉赝像的跨显示器108的跨越128)。脱节的呈现(其中每个显示器108呈现所显示的空间内的视图112)可以减少这样的问题并提供更可用的计算环境110。作为可以通过本文提出的技术实现的第二个技术效果,本文提供的计算环境110的视图116的表示可以减少不一致性。作为第一个这样的示例,相比于遍及并且潜在地跨越多个显示器108的视图116,在特定显示器108的视图116之间应用z顺序可能是更容易的。作为第二个这样的示例,维持应用112和视图116之间的关系,诸如维持显示器集合106内的相关项目的紧密接近可能更容易,因为视图项214可以被一起存储在布置212内。作为可以通过本文提出的技术实现的第三个技术效果,本文提供的计算环境110的视图116的表示可以使得计算环境106的用户界面集合210的管理更容易。作为第一个这样的示例,如果视图项214被合并到相应显示器108的布置212中,将布局222应用到显示器108可以仅通过调整显示器108的布置212内的视图项214的位置来实现,而不必识别可被布局222影响的视图116,包括跨越128特定显示器108的部分或全部的视图116。作为第二个这样的示例,如果视图116与特定显示器108相关联,而不是必须在潜在的大组的元素中执行这样的确定,缩放计算环境110以包括大量应用112、视图116和/或显示器108可以是更可行的。作为第三个这样的示例,将输入组件绑定220到特定视图116可以通过将输入组件与视图116的视图项214相关联来实现。这样的组织可以使得能够实现将不同输入组件同时绑定220到不同视图116。这些和其它技术效果可以通过本文提出的技术的各种实现方式实现。d.示例实施例图3呈现了本文所提出的技术的第一个示例实施例,其被图示为将计算环境110呈现给设备104的用户102的示例方法300,该设备包含至少两个显示器108的显示器集合106。示例方法300可以被实现为例如储存在设备104的存储器组件中的一组指令,并且被组织成使得当在设备的处理器上被执行时,引起设备104根据本文所提出的技术来操作,所述存储器组件诸如是存储器电路、硬盘驱动器的盘、固态储存设备或者磁盘或光盘。示例方法300在302处开始,并且涉及在设备104的处理器上执行304指令。具体地,在处理器上执行304指令引起设备104生成306用户界面集合210,对于相应的显示器108,该用户界面集合210包含在显示器108上呈现的相应视图116的视图项214的布置212。在处理器上执行304指令还引起设备104响应于接收到在选定的显示器108上呈现应用112的请求,在该选定的显示器108的视图项214的布置212中创建308表示该选定的显示器108上的一个位置处的应用112的视图116的新视图项214。执行304指令还引起设备104响应于接收到将布局222应用到选定的显示器108的请求,将布局222应用310到该选定的显示器108的至少一个视图项214的布置212。以这种方式,指令引起设备104根据本文提出的技术,通过设备104将计算环境110呈现给用户102,并且因此在312处结束。图4呈现了本文提出的技术的第二示例实施例,其被图示为在示例设备402上实现的示例系统410,该示例设备402包含至少两个显示器108的显示器集合106。示例设备402托管和/或管理计算环境110,其包含在计算环境110内被呈现为一个或多个视图116的一组应用112。示例设备402还包括处理器404和存储器406,其中示例系统引起相应示例设备根据本文提出的技术向用户102呈现计算环境。相应的示例系统可被实现为例如一组组件,其分别包含储存在相应示例设备的存储器408中的一组指令,其中当被在处理器406上执行时,相应组件的指令引起示例设备根据本文提出的技术来操作。可替代地,相应组件可被实现为根据本文提出的技术来操作的离散电路或硬件设备或其组合。示例系统408包括在存储器406中生成用户界面集合210的显示器管理器204,该用户界面集合210对于相应的显示器108,包含在显示器108上呈现的相应视图116的视图项214的布置212。示例系统408还包括应用定位器206,其响应于接收到在选定的显示器106上呈现应用108的请求,在该选定的显示器108的视图项214的布置212中创建表示在该选定的显示器108上的一个位置处的应用112的视图116的新的视图项218。示例系统408还包括视图管理器208,其响应于接收到将布局222应用到选定的显示器108的请求,将布局108应用到该选定的显示器108的至少一个视图项214的布置212。以这种方式,示例系统408使得示例设备402能够根据本文提出的技术呈现计算环境110。又一实施例涉及一种包含被配置成应用本文提出的技术的处理器可执行指令的计算机可读介质。这样的计算机可读介质可以包括各种类型的通信介质,诸如可以通过各种物理现象传播(例如电磁信号、声波信号或光信号),并且在各种有线场景(例如,经由以太网或光纤线缆)和/或无线场景(例如,诸如wifi的无线局域网(wlan)、诸如蓝牙的个人区域网(pan)或者蜂窝或无线电网络)中传播的信号,并且其编码一组计算机可读指令,当该指令被设备的处理器执行时,引起该设备实现本文提出的技术。这样的计算机可读介质还可以(作为排除通信介质的一类技术)包括计算机-计算机可读存储器设备,诸如存储器半导体(例如,利用静态随机存取存储器(sram)、动态随机存取存储器(dram)和/或同步动态随机存取存储器(sdram)技术的半导体)、硬盘驱动器的盘、闪速存储器设备或者磁盘或光盘(诸如cd-r、dvd-r或软盘),其编码一组计算机可读指令,当该指令被设备的处理器执行时,引起该设备实现本文提出的技术。图5图示了一种可以以这些方式被设计的示例计算机可读介质,其中实现方式500包含计算机可读数据504编码于其上的计算机可读存储器设备502(例如cd-r、dvd-r或硬盘驱动器的盘)。此计算机可读数据504进而包含一组计算机指令506,当在设备510的处理器404上被执行时,该指令引起设备510根据本文阐述的原理来操作。在第一个这样的实施例中,处理器可执行指令506可以引起设备通过至少两个显示器108向用户102呈现计算环境110,诸如图3的示例方法300。在第三个这样的实施例中,处理器可执行指令506可以引起设备实现用于向用户102呈现计算环境的系统,诸如在图4的示例场景400中呈现的示例系统408。本领域普通技术人员可以设计出被配置成根据本文提出的技术而操作的许多这样的计算机可读介质。e.变型本文讨论的技术可以与许多方面的变型一起被设计,并且一些变型相对于这些和其它技术的其它变型,可能呈现附加优点和/或减少缺点。此外,一些变型可以组合地实现,并且一些组合可能特征在于具有通过协同合作得到的附加的优点和/或减少的缺点。这些变型可被并入各种实施例中(例如图3的示例方法300;图4的示例系统408;以及图5的示例存储器设备502),以在这样的实施例之上赋予独立和/或协同的优点。e1.场景可能在这些技术的实施例之间变化的第一方面涉及这些技术可以被利用的场景。作为此第一方面的第一种变型,本文提出的技术可被用于实现各种设备104的配置,诸如工作站、膝上型计算机,平板计算机、移动电话、游戏控制台、便携式游戏设备、便携式或非便携式媒体播放器、诸如电视机的媒体显示设备、电器、家庭自动化设备、与集成了诸如目镜或手表的可穿戴设备集成的计算组件、以及监督控制和数据采集(scada)设备。作为此第一方面的第二种变型,本文提出的技术可以与在设备104的计算环境110内呈现的各种应用112一起被利用,该应用诸如是办公室生产力应用;媒体呈现应用(诸如音频和视频播放器);通信应用(诸如网页浏览器、电子邮件客户端、聊天客户端和ip语音(voip)客户端);导航应用(诸如地理定位、地图和路线规划应用);实用程序(诸如向用户102呈现警报的天气和新闻监测应用);以及游戏。此外,计算环境110的应用112可涉及通过一个或多个呈现模态呈现内容,诸如文本、图像、实况和/或预录视频、声音效果、音乐、语音、触觉反馈、三维渲染、和交互式和/或非交互式用户界面、以及用于从用户102接收用户输入的各种技术,该用户输入诸如是文本输入、指针输入、触觉输入、手势输入、语言输入和注视跟踪输入。作为此第一方面的第三种变型,本文提出的技术可与涉及设备104的各种架构一起被利用。作为第一个这样的示例,设备104还可以是设备集合的一部分(例如用户102的移动电话、工作站和家庭影院计算机),并且各种显示器108和其它组件可以在设备集合的其它设备104上被提供。作为第二个这样的示例,设备104可利用直接和物理地连接到每个这样的设备的组件,诸如有线显示器、扬声器和耳机。作为第三个这样的示例,设备104可利用经由无线连接(诸如射频)可访问的再一个组件。作为第四个这样的示例,设备104可通过个人区域网、局域网和/或广域网与其它设备通信,以便根据本文提出的技术来交互操作。作为第五个这样的示例,设备104诸如在客户端/服务器或点对点架构中,可利用通过设备集合的另一设备可访问的一个或多个组件。此外,设备104可被一个用户102或被一组用户102利用,和/或可被至少一个第一用户102代表至少一个第二用户102控制。这些和其它场景可能合适于根据本文提出的技术,通过设备104呈现计算环境110。e2.用户界面集合可能在本文所提出技术的实施例之间变化的第二方面涉及作为相应显示器108的视图项214的一组布置212的用户界面集合210的组织。作为此第二方面的第一种变型,用户界面集合210可以以各种方式被结构化。在图2的示例场景200中图示了一个这样的示例,其中视图项214的布置212还包含用户界面元素树,该户界面元素树包含可以与其它节点具有父子关系的根节点,并且其中树结构建立节点的分层结构,该分层结构可使得在显示器108上渲染视图116更容易(例如,以从下到上的递归方式渲染布置212的节点,以便展示z排序的呈现)。通过将新的视图项218插入到提供用户界面元素树的布置212的树根的节点的子树中,视图可被添加到显示器108。作为此第二方面的第二种变型,在用户界面集合210的结构内,视图项214之间的关系可以以各种方式被表示。作为一个这样的示例,计算环境110内的相应应用112可以在用户界面集合中被表示为封装应用112的相应视图的视图项214的应用容器。这种封装可使得用户界面集合210的管理更容易;例如,移动计算环境110内的应用112(例如,从第一显示器108到第二显示器108,通过将封装应用112的视图项214的应用容器从第一显示器108的布置212移动到第二显示器108的布置212,或通过重定位特定显示器108的z顺序126内的应用112)通过移动封装应用112的视图项214的应用容器(例如,重定位用户界面集合210的树组织内的应用容器的节点)可被实现。应用112的新的视图116可通过在应用112的应用容器内创建新的视图项218被添加到计算环境110。作为此第二方面的第三种变型,用户界面集合210可以使得更易于维护待被一起呈现的视图116和/或应用112之间的关系。例如,在第一应用112与计算环境110内的相关应用112相关联的情况下,设备104可以通过从第一显示器108的布置212到第二显示器108的布置212移动第一应用112的应用容器和封装相关应用108的视图项212的应用容器两者,来满足将第一应用112从第一显示器108移动到第二显示器108的请求。作为此第二方面的第四种变型,设备104还可以利用用户界面集合210以表示和组织与计算环境110的用户界面外壳相关联(并且不与任何特定应用112相关联)的视图116。用户界面外壳的这样的元素可包括例如任务栏、菜单栏、应用快捷方式栏(dock)、通知区域、系统警报消息和控制面板。作为一个这样的示例,可以提供外壳chrome管理器,其响应于接收到在选定的显示器108上创建外壳用户界面元素的请求,创建表示在该选定的显示器108上的一个位置处的外壳用户界面元素的外壳视图项,并且将该外壳视图项插入到该选定的显示器108的视图项214的布置212中。作为特定示例,选定的外壳视图项还可包含定位在第一视图116和第二视图116之间的间隔元素,诸如显示器108的视觉分割器。响应于调整第一视图116在选定的显示器108上的位置,应用定位器206还可以根据第一视图116和第二视图116的位置来调整间隔元素的位置。作为此第二方面的第五变型,用户界面集合210可以允许应用112的视图116跨越两个或更多个显示器108,但是可以通过将视图116的每个部分表示为特定显示器108的布置212内的视图项214来这样做。例如,外壳chrome管理器可以接收创建跨越至少两个显示器108的外壳用户界面元素(例如水平地跨越多个显示器108的任务栏)的请求,并且可以创建表示每个这样的显示器108的布置212内的外壳用户界面元素的外壳视图项。图6呈现了示例场景600的图示,其特征在于此第二方面的第六种变型,其中对于每个显示器108,用户界面集合210包括表示已被呈现在显示器108上的视图116和应用112的历史的应用呈现历史602,包括最顶或具有计算环境110的输入焦点的当前视图606。应用呈现历史602的包括可以使得被呈现在显示器108上的视图116和应用112之间的切换和选择更容易。作为第一个这样的示例,响应于接收到从当前视图606转换到针对选定的显示器108的下一视图608的请求604(例如,根据视图116和/或应用112的z顺序126),设备104可以记录610下一视图608作为该选定的显示器108的应用呈现历史602中的新的当前视图606。设备104还可以在该选定的显示器108的用户界面集合210的视图项214的布置212内的当前视图606之上重新布置下一视图608的视图项214。作为第二个这样的示例,设备104可以包括应用切换器,其响应于接收到呈现视图116(其被呈现在选定的显示器108上)的列表的请求,呈现该选定的显示器108的视图116的应用呈现历史602;并且响应于从应用呈现历史602接收到对应用112和/或视图116的选择,调用应用转换器以选择该选定的视图作为当前视图606。作为第三个这样的示例,在接收到将应用112从第二显示器108移动到第三显示器108的请求612时,设备104可以从第二显示器108的应用呈现历史602到第三显示器108应用呈现历史602移动614经选择的应用112的视图116的视图项214(例如,将这样的视图116记录为第三显示器108的最顶视图116),以及重新布置相应显示器108的布置212内的视图项214。以这种方式,设备104可以根据本文提出的技术来表示、生成和管理用户界面集合210。e3.布局可在实施例之间变化的第三方面涉及将布局222应用到计算环境110的显示器108。例如用户界面集合210的表示可以使得视图项214的布置212的调整能够展示各种视觉配置。作为此第三方面的第一种变型,将布局222应用于选定的显示器108的请求可通过调整记录在该选定的显示器108的布置212的视图项214中的视图116的位置,和/或通过重新布置布置212内的视图项214(例如,作为该选定的显示器108的z顺序126的调整)来实现。作为另一种变型,设备104可以维持被应用于显示器108的布局222;例如,响应于移动选定的显示器108的视图项214的布置212中的应用112的视图116,设备104还可以调整该选定的显示器108的布局222(例如,当第一应用112使用全屏布局222被呈现在显示器108上时,向同一显示器108移动第二应用112可能引起布局222的调整,以反映应用112的视图116的并排呈现或z排序的呈现)。图7呈现了示例场景700的图示,其中相应布局222被呈现为布局模板组702,其包含可以被应用于在显示器108上呈现的视图116的一组布局模板704。响应于接收到呈现布局模板组702的请求,设备104可以向用户102呈现布局模板组702;并且响应于接收到对将被应用到选定的显示器108的选定的布局模板704的选择,设备104可以将该选定的布局模板704应用于该选定的显示器108。在另一变型中,设备104可以允许用户102和/或应用112定义新的布局模板704;例如响应于接收到在布局模板组702中储存新的布局模板704的请求,设备104可以在布局模板组702中储存新的布局模板704,这可以使得能够实现将布局模板704另外应用于其它显示器108。将模板222应用于相应显示器108的视图项214的布置212的许多这样的变型可被包括在本文提出的技术的实施例中。e4.组件集成可在本文提出的技术的实施例之间变化的第四方面涉及将计算环境110的各种组件与用户界面集合212集成的方式。图8呈现了示例场景800的图示,其特征在于此第四方面的第一变型,其中输入组件802与应用112的视图116的绑定220可以通过创建输入组件802和视图项214之间的关联804而被实现。这样的绑定220可以使得能够实现用户102与呈现在特定显示器108上的视图116的离散的用户交互,而不考虑与呈现在同一或其它显示器108上的其它视图116的用户交互。作为第一个这样的示例,不同的输入组件802可以被同时绑定到同一显示器212上的不同视图116。作为此第四方面的第二种变型,用户界面集合210可以允许输入焦点标志(metaphor)在每个显示器的基础上被应用。例如,相应显示器108还可以包含与在显示器108上呈现的选定的视图116相关联的输入焦点。响应于从没有被绑定到视图116的输入组件802接收到被导向选定的显示器108的用户输入,设备104可以将用户输入导向到与输入焦点相关联的该选定的视图116。另外,响应于接收到将第二视图116与该选定的显示器108的输入焦点相关联的请求,设备104可以使输入焦点和该选定的视图116解除关联,并且将输入焦点和第二视图116进行关联。作为此第四方面的第三种变型,设备104可以允许虚拟显示器108被包括在显示器集合106中,诸如可以存储视图116的背景或隐藏区域,用户102偶尔希望在特定显示器108上观看到该视图116,但是在相反的情况下用户希望在背景中维持它而不预留特定的显示器108。在这样的场景下,设备104可以响应于接收到将虚拟显示器添加到显示器集合106的至少两个显示器108的请求,在用户界面集合210中生成虚拟显示器108的布置212。设备104还可以在用户界面集合210中相对于至少两个显示器108定位虚拟显示器108,例如,概念上将虚拟显示器108置于物理显示器108的右侧,使得将鼠标移动到物理显示器108的右边界之外引起设备104在物理显示器108上显示虚拟显示器108的区域。作为此第四方面的第四种变型,用户界面集合210可以支持在第二显示器108上投影和/或镜像第一显示器108。例如,响应于接收到将选定的视图116从第一显示器108投影到第二显示器108(例如,为投影仪创建的显示空间)的请求,作为向第一显示器108呈现该选定的视图116的替代或补充,设备104可以在第二显示器108上呈现该选定的视图116。图9呈现了示例场景900的图示,其特征在于此第四方面的第五种变型,其中用户界面集合210使得设备104能够包括辅助显示器108作为显示器集合106的显示器108,该辅助显示器108被连接到辅助设备902,并且通过辅助设备902对设备104而言是可访问的。用户界面集合210可以添加辅助显示器108的视图项214的布置212,并且设备104可以向辅助设备902传输诸如视频的输出906,以用于呈现在辅助显示器108上。另外,辅助设备902可以提供对辅助输入组件802(诸如被连接到辅助设备902的键盘或鼠标)的访问,并且可以将输入904传输到设备104以用于计算环境110内的应用。各种组件与计算环境110的集成中的许多这样的变型可以被包括在本文提出的技术的实施例中。f.计算环境图10和以下讨论提供了用于实现本文阐述的一个或多个装置的实施例的合适的计算环境的简要的、一般的描述。图10的操作环境仅仅是合适的操作环境的一个示例,并且不旨在对操作环境的功能或使用的范围提出任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(pda)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。尽管不是必须的,实施例在被一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述。计算机可读指令可以经由计算机可读介质来分发(其在下面被讨论)。计算机可读指令可以被实现为执行特定任务或实现特定抽象数据类型的程序模块,诸如函数、对象、应用编程接口(api)、数据结构等。通常,计算机可读指令的功能可以根据需要在各种环境中被组合或分布。图10图示了系统1000的示例,其包含被配置成实现本文提供的一个或多个实施例的计算设备1002。在一种配置中,计算设备1002包括至少一个处理单元1006和存储器1008。根据计算设备的确切配置和类型,存储器1008可以是易失性的(诸如例如ram)、非易失性的(诸如例如rom、闪速存储器等)或两者的某种组合。此配置在图10中通过虚线1004图示。在其它实施例中,设备1002可以包括附加的特征和/或功能。例如,设备1002还可以包括附加储存器(例如可移除和/或不可移除的),其包括但不限于磁性储存器、光学储存器等。这样的附加储存器在图10中通过储存器1010图示。在一个实施例中,用于实现本文提供的一个或多个实施例的计算机可读指令可以位于储存器1010中。储存器1010还可以储存其它计算机可读指令以实现操作系统、应用程序等。例如,计算机可读指令可以被加载到存储器1008中以便被处理单元1006执行。本文使用的术语“计算机可读介质”包括计算机可读存储器设备,该计算机可读存储器设备排除包含诸如信号之类的通信介质的其它形式的计算机可读介质。这样的计算机可读存储器设备可以是易失性和/或非易失性的、可移除和/或不可移除的,并且可以涉及储存计算机可读指令或其它数据的各种类型的物理设备。存储器1008和储存器1010是计算机储存介质的示例。计算机储存储存设备包括但不限于ram、rom、eeprom、闪速存储器或其它存储器技术,cd-rom、数字通用盘(dvd)或其它光学储存器,磁带盒、磁带和磁盘储存器或其它磁性储存设备。设备1002还可以包括允许设备1002与其它设备通信的(多个)通信连接1016。(多个)通信连接1016可包括但不限于调制解调器、网络接口卡(nic)、集成网络接口、射频发射器/接收器、红外端口、usb连接或用于将计算设备1002连接到其它计算设备的其它接口。(多个)通信连接1016可包括有线连接或无线连接。(多个)通信连接1016可发射和/或接收通信介质。术语“计算机可读介质”可包括通信介质。通信介质通常在“经调制的数据信号”(诸如载波或其它传输机制)中包含计算机可读指令或其它数据,并且包括任何信息递送介质。术语“经调制的数据信号”可包括使其一个或多个特性以在信号中编码信息的方式被设置和改变的信号。设备1002可以包括(多个)输入设备1014,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外摄像机、视频输入设备和/或任何其它输入设备。诸如一个或多个显示器、扬声器、打印机和/或任何其它输出设备的(多个)输出设备1012也可以被包括在设备1002中。(多个)输入设备1014和(多个)输出设备1012可以经由有线连接、无线连接或其任何组合被连接到设备1002。在一个实施例中,来自另一计算设备的输入设备或输出设备可被用作计算设备1002的(多个)输入设备1014或(多个)输出设备1012。计算设备1002的组件可以通过诸如总线的各种互连被连接。这样的互连可包括诸如pciexpress的外围组件互连(pci)、通用串行总线(usb)、火线(ieee1394)、光学总线结构等。在另一实施例中,计算设备1002的组件可通过网络互连。例如,存储器1008可包含位于不同物理位置、通过网络互连的多个物理存储器单元。本领域技术人员将认识到,被用于储存计算机可读指令的储存器设备可以跨网络分布。例如,可经由网络1018访问的计算设备1020可以储存计算机可读指令以实现本文提供的一个或多个实施例。计算设备1002可以访问计算设备1020并下载部分或全部的计算机可读指令以供执行。可替代地,计算设备1002可以根据需要下载若干段计算机可读指令,或者一些指令可以在计算设备1002处被执行,并且一些指令在计算设备1020处被执行。g.术语的使用尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应但理解,所附权利要求中定义的主题不一定被限制于上面描述的特定特征或动作。相反,上面描述的特定特征和动作被公开为实现权利要求的示例形式。如在此申请中所使用的,术语“组件”、“模块”、“系统”、“接口”和/或其类似物一般旨在指代计算机相关的实体,其或者是硬件、或者是硬件和软件的组合、或者是软件、或者是执行中的软件。例如,组件可以是但不限于处理器上运行的进程、处理器、对象、可执行文件(executable)、执行的线程、程序和/或计算机。通过说明的方式,在控制器上运行的应用和该控制器两者都可以是组件。一个或多个组件可以驻留在执行的进程和/或线程内,并且组件可被定位于一个计算机上和/或在两个或更多个计算机之间分布。另外,所要求保护的主题可被实现为一种方法、装置或制品,其使用标准编程和/或工程技术来制造软件、固件、硬件或其任何组合以便控制计算机实现所公开的主题。本文使用的术语“制品”旨在包括可从任何计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到,可以对此配置作出许多修改,而不脱离所要求保护的主题的范围或精神。本文提供了实施例的各种操作。在一个实施例中,所描述的一个或多个操作可以构成储存在一个或多个计算机可读介质上的计算机可读指令,如果该指令被计算设备执行,将引起计算设备执行所描述的操作。一些或所有的操作被描述的顺序不应被解释为暗示这些操作必须是顺序相关的。受益于本说明书的本领域技术人员将领会替代的排序。此外,应理解,并非所有的操作一定存在于本文提供的每个实施例中。本文中被描述为“示例”的任何方面或设计不一定被解释为比其它方面或设计更有利。相反,词语“示例”的使用旨在提出可能属于本文所提出技术的一个可能的方面和/或实现方式。这样的示例对于这样的技术不是必需的或并非旨在是限制性的。这样的技术的各种实施例可以单独地或与其它特征组合地包括这样的示例,和/或可以改变和/或省略所图示的示例。如在本申请中所使用的,术语“或”旨在意指包括性的“或”而不是排他性的“或”。即,除非另有说明或从上下文清楚,“x采用a或b”旨在意指任何自然的包括性排列。即,如果x采用a;x采用b;或x采用a和b两者,则“x采用a或b”在任何前述实例的情况下都被满足。此外,本申请和所附权利要求中使用的冠词“一(a和an)”一般可被解释为意指“一个或多个”,除非另有说明或者根据上下文清楚地被指向单数形式。另外,尽管本公开已经关于一个或多个实现方式而被示出和描述,但是基于阅读和理解本说明书和附图,本领域其他技术人员将想到等同的改变和修改。本公开包括所有这样的修改和改变,并且仅由下述权利要求的范围限制。特别地,关于由上述组件(例如元件、资源等)执行的各种功能,除非另外指出,用于描述这样的组件的术语旨在对应于执行所描述的组件的指定功能的任何组件(例如,其是功能上等同的),即使没有在结构上等同于执行本公开的本文图示的示例实现方式中的功能的所公开的结构。另外,虽然本公开的特定特征可能已关于若干实现方式中的仅仅一个而被公开,但是这样的特征可以与其它实现方式的一个或多个其它特征组合,如对于任何给定或特定应用而言可能是期望和有利的。此外,就术语“包括”、“具有(having、has、with)”或其变型在具体实施方式或权利要求中被使用而言,这样的术语旨在以类似于术语“包含”的方式是包括性的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1