平码五不中公式规律
  • / 50
  • 下载费用:30 金币  

应用窗口的动态联合划分器.pdf

关 键 ?#21097;?/dt>
应用 窗口 动态 联合 划分
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580040724.1

申请日:

2015.07.27

公开号:

CN106662964A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 3/0481申请日:20150727|||公开
IPC分类号: G06F3/0481(2013.01)I 主分类号: G06F3/0481
申请人: 微软技术许可有限责任公司
发明人: M.弗兰耶斯; O.R.琼斯; N.A.孙德林; R.方; C.D.萨里恩; J.鲍恩; A.斯尼特?#21697;蛩够?
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.07.31 US 14/448911
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 李舒;陈岚
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580040724.1

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

本文档描述使得能够实现用于应用窗口的动态联合划分器的技术和装置。在一些实施例中,这些技术和装置使得能够对应用窗口定尺寸和定位以提供应用窗口的最优的布局。

权利要求书

1.一种对多应用环境的多个应用窗口动态定尺寸的计算机实现的方法,包括:
在多应用环境中呈现第一应用窗口和第二应用窗口;
响应于第一应用窗口的第一边?#21040;?#35302;第二应用窗口的第二边缘,建立第一与第二应用
窗口之间的联合划分器;以及
响应于经由联合划分器接收到的输入,同?#22791;?#25913;第一应用窗口和第二应用窗口的相应
尺寸。
2.根据权利要求1所述的计算机实现的方法,还包括呈现联合划分器的视觉指示。
3.根据权利要求2所述的计算机实现的方法,其中联合划分器的视觉指示在接触或在
第一与第二窗口之间中呈现的第一边缘和第二边缘的相应部分上呈现。
4.根据权利要求1所述的计算机实现的方法,还包括:
在多应用环境中呈现第三应用窗口;
响应于第三应用窗口的第三边?#21040;?#35302;第二应用窗口的第二边缘,在第三与第二应用窗
口之间?#30001;?#32852;合划分器;以及
响应于经由联合划分器接收到的输入,同?#22791;?#25913;第一应用窗口、第二应用窗口和第三
应用窗口的相应尺寸。
5.根据权利要求1所述的计算机实现的方法,还包括:
在多应用环境中呈现第三应用窗口和第四应用窗口;
响应于第三应用窗口的第三边?#21040;?#35302;第四应用窗口的第四边缘,建立第三与第四应用
窗口之间的另一联合划分器,所述联合划分器在应用窗口之一的角落处接触所述另一联合
划分器;以及
响应于经由所述联合划分器接收到的输入,同?#22791;?#25913;第一应用窗口、第二应用窗口、第
三应用窗口和第四应用窗口的相应尺寸。
6.根据权利要求1所述的计算机实现的方法,还包括呈现配置为使得能够对第一应用
窗口或第二应用窗口独立定尺寸的联合分离控件。
7.根据权利要求1所述的计算机实现的方法,还包括并且在建立联合划分器之前:
在多应用环境中移动第一或第二应用窗口;
向多应用环?#31243;?#21152;第一或第二应用窗口;或
将第一或第二应用窗口定尺寸到多应用环境的区,移动、添加或定尺寸的动作有效导
致第一边缘与第二边缘之间的接触。
8.一种系统,包括:
配置为呈现多应用环境的显示器(134);
一个或多个处理器;
存储处理器可执行指令的一个或多个计算机可读介?#21097;?#21709;应于由一个或多个处理器的
执行,所述处理器可执行指令使一个或多个处理器实施包括以下各项的操作:
呈现由多应用环境中的第一应用窗口和第二应用窗口共享的联合划分器;
经由联合划分器,接收更改第一应用窗口的尺寸或第二应用窗口的尺寸的输入;以及
响应于经由联合划分器接收到的输入,同?#22791;?#25913;第一应用窗口和第二应用窗口的相应
尺寸。
9.根据权利要求8所述的系统,其中操作还包括响应于接收到接近联合划分器的光标
输入或触摸输入而指示联合划分器的存在。
10.根据权利要求9所述的系统,其中操作还包括经由触觉反馈或视觉指示而指示联合
划分器的存在。
11.根据权利要求8所述的系统,其中操作还包括呈现配置为使得能够对第一应用窗口
或第二应用窗口独立定尺寸的联合分离控件。
12.根据权利要求11所述的系统,其中操作还包括减小第一和第二应用窗口的相应尺
寸以创建第一与第二应用窗口之间的空间,并且其中联合划分器在第一与第二应用窗口之
间的空间中呈现并且联合分离控件在联合划分器上呈现。
13.根据权利要求8所述的系统,其中操作还包括响应于第一应用窗口或第二应用窗口
的独立移动而禁用联合控制划分器,所述独立移动经由不与联合划分器相关联的第一应用
窗口或第二应用窗口的相应边缘而发起。
14.根据权利要求8所述的系统,其中操作还包括响应于经由按键敲击或鼠标按钮接收
到的附加输入而禁用联合控制划分器。

?#24471;?#20070;

应用窗口的动态联合划分器

背景技术

提供该背景技术以用于大体呈现针对当前公开内容的上下文。除非在本文中以其
它方式指示,否则在背景技术中描述的材料既不明确地也不暗含地对当前公开内容或之后
的权利要求的现有技术的承认。

常规操作系统准许用户通过窗口查看多个计算应用。这些窗口中的每一个一般包
括框架或控件以用于选择哪个窗口是主要的或要移动、定尺寸、或者以其它方式管理窗口
关于工作空间和其它窗口的放置。然而,这些框架或控件通常仅使得当前所选窗口能够移
动或定尺寸,其可能导致窗口之间的无意遮挡和重叠。附加地。对多个窗口进行移动或定尺
寸通常要求用户执行一系列冗余任务,以便按照期望对每一个窗口反复移动或定尺寸。因
此,以该方式管理多个窗口的布局对于用户而言可能过于复杂、耗时和讨厌。

发明内容

本文档描述了使得能够实现多应用环境中的用于应用窗口的动态联合划分器的
技术和装置。本文描述的多应用环境呈现一个或多个应用窗口,其可以定尺寸、定位或分层
以提供最优布局。在一些实施例中,这些技术和装置使得应用窗口的尺寸或位置能够基于
另一个应用窗口的边缘来定位。而且,在一些实施例中,技术和装置使得应用窗口能够基于
多应用环境的区的选择而定尺寸到预限定的区域。进一步地,一些实施例使得能够实现联
合划分器或联合角落控件,其使得能够对多个应用窗口同时定尺寸或定位。另外,一些实施
例标识多应用环境的可用区,并且使得能够选择应用窗口以经由可用区进行呈现。

提供该发明内容来引入以下在具体实施方式中进一步描述的简化概念。该发明内
容不意图标?#31471;?#35201;求保护的主题的必要特征,也不意图用于确定所要求保护的主题的范
围。使得能够实现用于应用窗口的动态联合划分器的技术和/或装置还在本文中单独地或
者结合地称为通过上下文所准许的“技术?#20445;?#23613;管技术可以包括或者替代地表示本文描述的
其它方面。

附图?#24471;?br />

参照以下附图,描述使得能够实现多应用环境的实施例。整个附图中使用相同标
号来指代相同特征和组件:

图1图示了其中可以实现使得能够实现用于应用窗口的动态联合划分器的技术的示例
系统。

图2图示?#21496;?#26377;表?#22659;?#28024;式接口触摸敏感显示器的示例平板计算设备。

图3图示了对应用的窗口定尺寸或定位以填充多应用环境的区的方法。

图4图示了用于多应用环境的区的示例布局。

图5图示了用于基于多应用环境的其它应用窗口对应用窗口定尺寸和定位的方
法。

图6图示了对应用窗口定尺寸和/或定位以用于在多应用环境中呈现的示例。

图7图示了呈现对应用窗口定尺寸和/或定位以用于在多应用环境中呈现的附加
示例。

图8图示了对多应用环境的各种区中的分屏(snapped)应用窗口重新定尺寸的示
例。

图9图示了用于基于多应用环境的区对应用窗口定尺寸的方法。

图10图示了与多应用环境的各种区相关联的示例选择区域。

图11图示了用于基于应用窗口的状态选择多应用环境的区的方法。

图12图示了用于实现图12的方法的示例状态机。

图13图示了多应用环境的示例降下区域(drop area)。

图14图示了用于使用联合划分器对多个应用窗口同时定尺寸的方法。

图15图示了在各种应用窗口之间建立的示例联合划分器。

图16图示了依照一个或多个实施例的联合控制划分器的呈现。

图17图示了使用联合划分器对应用窗口定尺寸的示例。

图18图示了用于对应用窗口重新定尺寸而同?#24065;?#21160;另一个应用窗口的方法。

图19图示了图18的方法的示例应用,包括应用窗口向多应用环境的另一层的逐出
(eviction)。

图20图示了可以在应用窗口之间建立的示例联合划分器。

图21图示了可以在应用窗口之间建立的联合角落的示例。

图22图示了联合划分器和应用窗口边缘的详细示例。

图23图示了相邻以及非相邻的应用窗口边缘的详细示例。

图24图示了用于使得能够选择应用窗口以用于在可用区中呈现的方法。

图25图示?#21496;?#26377;可用区以呈现应用窗口的示例多应用环境。

图26图示了用于在可用区中呈现所选应用窗口的方法。

图27图示了通过选择应用窗口创建的应用窗口布局的示例。

图28图示了其中可以实现使得能够实现多应用环境的技术的示例设备。

具体实施方式

概述

该文档描述了使得能够实现用于应用窗口的动态联合划分器的技术和装置。这些装置
和技术可以使得能够方便地并且高效地对多应用环境的应用窗口进行定位或定尺寸,以提
供应用窗口的最优布局。在一些实施例中,这些技术和装置使得能够基于另一个应用窗口
的边缘来确定应用窗口的尺寸或位置。而且,在一些实施例中,技术和装置使得能够基于多
应用环境的区的选择而将应用窗口定尺寸到预限定的区域。进一步地,一些实施例使得能
够实现联合划分器或联合角落控件,其使得能够同时对多个应用定尺寸或定位。另外,一些
实施例标识多应用环境的可用区并且使得能够选择应用窗口以经由可用区进行呈现。在一
些实施例中,通过多应用环境的区或预限定区域而使得能够实现这些以及其它形式的应用
窗口管理。存在技术通过其使得能够实现用于应用窗口的动态联合划分器的许多方式中的
仅仅几个示例,其中其它示例在下文描述。

示例系统

图1图示了其中可以体现使得能够实现用于应用窗口的动态联合划分器的技术的示例
系统100。系统100包括计算设备102,其以四个示例?#27492;得鰨?#26234;能电话计算机104、平板计算
设备106、膝上?#22270;?#31639;机108和游戏设备110,尽管也可以使用其它计算设备和系统,诸如机
顶?#23567;?#26381;务器和上网本。

计算设备102包括(多个)计算机处理器112和计算机可读存储介质114(介质114)。
介质114包括操作系统116、多应用环境模块118、系统接口模块120、输入模块122、(多个)应
用124、应用管理器128和窗口管理器132,每一个应用124具有一个或多个应用用户接口126
((多个)应用UI 126),应用管理器128包括或者能够访问应用队列130。

计算设备102还包括或者能够访问一个或多个显示器134和输入机构136。图1图示
了四个示例显示器,其可以是分离的或者与计算设备102集成。输入机构142可以包括?#36136;?br />敏感传感器和设备,诸如基于触摸的传感器和移动追踪传感器(例如,基于相机),以及鼠标
(鼠标是自立式的或者与键盘集成的)、触笔、触摸板、加速度计和具有伴随的语音识别软件
的麦克风,上述仅仅是几个示例。输入机构136可以是分离的或者与显示器134集成,集成的
示例包括具有集成的触摸敏感或运动敏感传感器的?#36136;?#25935;感显示器。

操作系统116管理计算设备102的资源并且可以使用任何合适的指令格式实现,诸
如64位、32位、简约指令集计算(RISC)、复杂指令集计算(CISC)等。在一些情况下,操作系统
116可以使得通过虚拟化来执行具有不同指令格式的模块或应用。操作系统116使得计算设
备102的其它模块能够访问计算设备102的资源,所述资源诸如是多应用环境模块118和应
用124。

多应用环境模块118提供多应用环境,用户通过所述多应用环境可以查看应用124
中的一个或多个并且通过应用UI 126与其交互,应用UI 126经?#19978;?#24212;应用窗口呈现。在一
些情况下,多应用环境是使得能够管理或者操控重叠窗口(例如,窗口的z排序)或非重叠窗
口的位置、尺寸和/或前后次序(总体地,“放置?#20445;?#30340;重叠窗口化环境或工作空间。工作空间
中的每一个应用窗口的排序或“深度”可以经由多应用环境模块118的z堆叠而维持。典型
地,主要应用或者非遮挡应用驻留在z堆叠的顶部。其它应用窗口,诸如非主要或遮挡应用
窗口,在z堆叠中驻留于更深的位置。这些非主要应用窗口可以基于它们在z堆叠内的相应
位置而彼此重叠或遮挡。

多应用环境模块118可以通过具有框架的应用窗口来呈现应用UI 126。这些框架
可以提供通过其与应用交互的控件和/或提供使得用户能够对窗口定位和定尺寸的控件。
可替换地或者附加地,多应用环境模块118可以通过具有很少窗口框架或者没有窗口框架
的应用窗口和/或在没有呈现虚拟控件(例如,窗口框架上或者掩盖内容的窗口中的永久性
控件)的情况下呈现应用UI 126。

通过多应用环境模块118使得能够实现的多应用环境可以在没有使用基于窗口的
桌面环境的情况下托管和/或浮现,但是并不要求如此。因而,在一些情况下,多应用环境模
块118将多应用环境呈现为沉浸式环境并且排除桌面式显示器(例如,任务栏)的使用。进一
步地,在一些实施例中,这种多应用环境类似于操作系统,因为其不可闭合或者能够?#23545;亍?br />尽管并不要求,但是在一些情况下,这种多应用环境使得能够由多应用环境内的应用使用
显示器的所有或者几乎所有像素。

系统接口模块120提供一个或多个接口,通过所述接口使得能够与操作系统116交
互,诸如应用启动接口、应用管理用户接口(应用管理UI)、开始?#35828;ァ?#25511;制面板、或者系统工
具或选项?#35828;ィ?#20197;上仅仅是几个示例。输入模块122通过应用窗口、输入机构136或者多应用
环境的其它控件和可视件(affordance)接收输入。

应用124可以包括任?#38382;?#21512;类型的应用,诸如生产力应用、web浏览器、媒体查看
器、导航应用、多媒体编辑应用等。操作系统116或多应用环境模块118可以在本机或者经由
虚拟化而支持变化类型的应用或者指令集。例如,多应用环境模块118可以同时呈现变化类
型的多个应用124或指令集,诸如32位、64位、运行时间环境(例如,Java或Silverlight、插
件(例如,Flash)、RISC、CISC、运行时间语?#32536;齲?br />

每一个应用124包括一个或多个应用UI 126,其使得能够查看应用的内容或者与
其交互。应用UI 126可以包括用于呈现应用124的预限定的属性或偏好(例如,默?#29616;?#25110;设
置),诸如纵横比、最大尺寸、最小尺寸、位置、首要性、显示取向等。在至少一些实施例中,与
应用124相关联的应用编程接口(API)使得能够访问应用124或相应应用UI 126的属性或偏
好。

应用管理器128使得能够管理应用124,诸如启动、切换以及追踪有效应用。在一些
情况下,应用管理器128使得能够建立和维护应用之间的关系,诸如在彼此的极接近范围
(close proximity)内频繁启动、定位或使用的应用。应用管理器128还可以能够访问或者
维护应用队列130,其可以包括有效应用、最小化应用或者之前与之交互的应用。应用队列
130的应用可以以任?#38382;?#21512;方式组织,诸如最近使用、最频繁使用、按照字母?#25215;頡?#36890;过应用
关联或者通过应用分组。

在至少一些实施例中,窗口管理器132使得能够实现对应用窗口进行定位或定尺
寸以提供多应用环境中的应用窗口的最优布局的技术。在下文提供应用窗口的这些技术和
布局的示例,其中一些基于多应用环境的区来呈现,尽管它们不是穷举性的或者不意图限
制本文描述的技术。

操作系统116、多应用环境模块118、系统接口模块120、输入模块122、(多个)应用
124、应用管理器128和窗口管理器132中的任一个或全部可以彼此分离地实现或者以任何
适合形式组合或集成。

示例方法

示例方法300、500、900和1100针对的是基于多应用环境的另一个应用窗口或区对应用
窗口定尺寸或定位,示例方法1400和1800针对的是使得能够实现用于对应用窗口定尺寸或
定位的联合划分器,并且示例方法2400和2600针对的是在多应用环境的可用区域中呈现应
用窗口。

本文描述的方法可以整体或者部分单独地或者彼此组合地使用。这些方法被示为
所执行的操作(或动作)的集合,诸如通过一个或多个实体或模块,并且未必限于所?#22659;?#30340;
用于执行操作的次序。例如,技术可以在多应用环境的区中呈现应用窗口并且在多应用环
境的另一个区中自动地呈现另一个应用窗口。技术还可以基于多应用环境的所选区对应用
窗口定尺寸和定位,在所选区中呈现经定尺寸的应用窗口,并且然后建立联合划分器,所述
联合划分器使得能够同时对应用窗口和接触应用窗口的另一个应用窗口定尺寸。另外,技
术可以在多应用环境的区中呈现应用窗口,并且然后呈现可选择以填充多应用环境的一个
或多个可用区的其它应用窗口的提示。

图2图示了其中可以执行本文描述的技术的示例操作环境200。在该特定示例中,
平板计算设备106经由多应用环境模块118而经?#19978;?#31034;器134呈现多应用环境202。此处,还
可以被称为工作空间的多应用环境202包括应用窗口204和应用窗口206,其中每一个占据
如应用窗口划分器208?#22659;?#30340;多应用环境202的大概一半。

如上文所指出,应用窗口可以包括控件(例如,应用窗口204),所述控件使得能够
对应用窗口定尺寸、定位、最小化、关闭等。可替换地,应用窗口可以不包括控件(例如,应用
窗口206),所述控件使得应用的用户接口或内容能够完全占据多应用环境202的区或区域。
应当指出,没有控件的应用窗口仍旧可以通过紧密结合(engage)应用窗口的边缘或内容来
定尺寸、定位或以其它方式操控。

可替换地或者附加地,多应用环境202可以实现为虚拟的或者以其它方式的桌面,
并且包括控制区域,所述控制区域被示为应用管理UI 210或开始?#35828;ィ?#26410;?#22659;觶?#20363;如,当实
现为桌面时,多应用环境202可以提供基于窗口的工作空间,其中应用窗口可以独立地移
动、定尺寸或者选择为主要窗口(例如,移动到z堆叠的顶部)。

多应用环境202还可以提供一个或多个虚拟桌面,通过所述虚拟桌面可以呈现或
者访问应用窗口的不同集合。作为示例,用户可以配置具有基于工作或生产力应用窗口的
一个虚拟桌面以及具有媒体消费应用窗口的另一个虚拟桌面。通过如此做,用户可以通过
在两个虚拟桌面之间切换或枢转(pivot),与应用窗口的两个不同集合进行交互。在一些情
况下,用户可能从另一个虚拟桌面向当前所选虚拟桌面切换应用窗口,由此排除在虚拟桌
面之间枢转的需要。在至少一些实施例中,多应用窗口202或其区段完全占据显示器的屏幕
或可见区域。因此,多应用环境202的边缘可以与显示器的屏幕或可见区域的相应边缘对
准。

应用管理UI 210使得能够访问操作系统116、系统接口模块120或者计算设备102
的其它应用124的特征和功能。例如,应用窗口可以从应用管理UI 210启动或切换。使用本
文的技术,可以在多应用环境202中高效地添加、切换、定位、定尺寸或以其它方式操控应用
窗口以提供应用窗口的最优布局。

应用窗口的自适应定尺寸和定位

图3描绘了用于基于另一个应用窗口对应用窗口定尺寸或定位的方法300,所述方法包
括通过窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以引用
图1的系统100、图2的操作环境200以及在本文其它地方描述的其它方法和示例实施例,但
对上述的引用仅仅是以示例做出的。

在302处,接收多应用环境的区的选择。区可以经由任?#38382;?#21512;的输入来选择,诸如
热键组合或者经由应用窗口接收的方向输入(例如,窗口拖拽)。在一些情况下,区的选择经
由在多应用环境内添加、切换或移动的应用窗口来接收。区可以包括多应用环境的任?#38382;?br />合的区?#20301;?#21306;域,诸如沿屏幕边缘的区?#20301;?#32773;在屏幕中心的区段。在一些情况下,用户可以
限定或者配置多应用环境内的特定区域(例如,屏幕区域的区?#20301;?#26465;带)来作为用户限定的
区。

区可以是固定、预限定或动态的,诸如由于所接收的输入的显示或类型的取向而
改变尺寸或位置的区。在一些情况下,区可以与对应操作相关联,诸如“分屏”操作,其为该
区填充预限定尺寸或预限定位置处的应用窗口。这些预限定的尺寸或预限定的位置可以对
应于多应用环境的预限定的区域,所述区域可以包括工作空间的水平和/或竖直四分之一
或小部分,诸如一半、四分之一、三分之一及其任何组合。可替换地或者附加地,多应用环境
的预限定的区域可以由用户限定,诸如通过划分工作空间或者通过保存应用窗口在z堆叠
内的尺寸、位置或定位来作为预限定的区域。

作为示例,考虑图4,其图示了示例工作空间400、402和404,其中每一个图示了区
的各种布局。此处,工作空间400的应用窗口406、408、410和412最初分屏到工作空间的四分
之一区域。当应用窗口接触或者触碰工作空间或屏幕的两个或更多邻近边缘时,应用窗口
可以被视为分屏的。类似地,应用窗口414和416最初分屏到工作空间402的一半区域。

在304处,标?#35835;?#36817;于所选区的另一个应用窗口的边缘。另一个应用窗口可以占据
多应用环境的邻近区。在一些情况下,另一个应用窗口的边缘与所选区互补。可替换地或者
附加地,可以标识非邻近应用窗口的边缘(例如,互?#22815;?#38750;互补)。

例如,考虑沿源自于角落424的轴线的工作空间404的区418、区420和区422。此处,
区418和区420邻近于角落424并且区422不邻近于角落424。另外,区的边缘可以归类为沿单
独轴线是互?#22815;?#38750;互补的。从角落424并?#24050;豖轴线,边缘426和428互补并?#20918;?#32536;430没有互
补。类似地,从角落424并?#24050;豗轴线,边缘432和边缘434互补并?#20918;?#32536;436没有互补。

在工作空间400的上下文中,假设窗口438被拖拽到工作空间400的角落区中。此
处,窗口管理器132标识应用窗口410的边缘,所述边缘邻近于应用窗口438移动到的区。附
加地,在工作空间402的上下文中,应用窗口440被拖拽到工作空间402的侧边区中。此处,窗
口管理器132标识应用窗口416的边缘,所述边缘邻近于应用窗口440移动到的区。

在306处,基于另一个应用窗口的边缘,针对应用窗口确定尺寸或位置。应用窗口
的尺寸或位置可以确定为使得应用窗口填充该区以到达另一个应用窗口的边缘。在一些情
况下,尺寸或位置确定为使得应用窗口的边缘与邻近应用窗口的互补边缘对准。在这样的
情况下,应用窗口和邻近应用窗口可以具有相同宽度或相同高度。可替换地或者附加地,所
确定的尺寸或位置可以对应于多应用环境的预限定的区域,诸如工作空间的四分之一区域
或一半区域。

返回到示例工作空间400,窗口管理器确定用于应用窗口438的尺寸,以使得应用
窗口438的边缘与应用窗口410和应用窗口408的边缘对准。附加地,在工作空间402的上下
文中,窗口管理器确定用于应用窗口440的尺寸,以使得应用窗口440的边缘与应用窗口416
的边缘对准。

在308处,在所确定的尺寸或者所确定的位置,在多应用环境的所选区中呈现应用
窗口。在一些情况下,应用窗口呈现在占据所选区的另一个应用窗口上。在这样的情况下,
另一个应用窗口可以被?#23548;?#21040;多应用环境的另一个首位(primacy)层(例如,在z堆叠中更
深的层)。可替换地或者附加地,应用窗口可以分屏到区中。

总结引用工作空间400的示例,窗口管理器在工作空间400的四分之一中呈现应用
窗口438,其紧靠工作空间400的其它分屏窗口放置应用窗口438。附加地,在工作空间402的
上下文中,窗口管理器紧靠半分屏应用窗口414放置应用窗口440。

图5描绘了用于基于多应用环境的其它应用窗口对应用窗口定尺寸和定位的方法
500,所述方法包括通过窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部
分中,可以参照图1的系统100、图2的操作环境200以及在本文其它地方描述的其他方法和
示例实施例,对上述的引用仅仅是作为示例而做出。

在502处,接收输入以发起多应用环境的区中的应用窗口的放置。应用窗口的放置
可以响应于添加、切换或者移动多应用环境中的应用窗口的输入。在一些情况下,输入是手
势或边缘触发动作,其中紧靠多应用环境的边缘拖拽或者移动应用窗口或者其视觉表示。
在这样的情况下,应用窗口向多应用环境的边缘中的接触或移动可以“触发”应用窗口的放
置或者其它变换。

在504处,确定多应用环境中的其它应用窗口的相应尺寸和位置。在一些情况下,
其它应用窗口的相应边?#24403;?#26631;识为区的互?#22815;?#38750;互补边缘。在这样的情况下,这些相应边
缘可以在逐轴线的基础上标识,诸如竖直轴线或水平轴线。当沿两个轴线标识其它应用的
互补边缘(例如,两个邻近应用窗口)时,可以忽视水平轴线的边缘。

可选地,在506处,确定其它应用窗口的相应状态。没有在多应用环境内分屏或者
被其它窗口遮挡的应用窗口可以在方法500的其它操作中忽视。可替换地或者附加地,经由
另一个显示器而最小化、最大化或呈现的应用窗口也可以在方法500的其它操作中忽视。通
过如此做,当对应用窗口定尺寸或定位以提供应用窗口的最优布局时,考虑多应用环境的
当前分屏或主要窗口。在一些情况下,创建或者维护描述其它应用窗口(例如,屏幕上的应
用窗口)的信息的数据结构以及它们相应状态信息。可以访问或咨询该数据结构以确定在
优化应用窗口的布局时考虑哪些应用窗口。

在508处,基于其它应用窗口的相应尺寸和位置来确定用于应用窗口的尺寸和位
置。在一些情况下,?#22815;?#20110;应用窗口的属性或偏好来确定窗口的尺寸和位置,诸如默认纵横
比或最小尺寸。在其它情况下,可以考虑其它应用窗口的属性或偏好,以便维持其它应用窗
口之一的最小尺寸。

在一些实施例中,对应用窗口定尺寸和定位以与其它应用窗口对齐,所述其他应
用窗口邻近于在其中选择应用窗口以用于呈现的区。例如,应用窗口可以定尺寸为与邻近
应用窗口的互补边缘对齐。当其它应用窗口中的两个邻近于该区时,应用窗口可以定尺寸
到竖直邻近窗口的两个互补边缘。这样的示例在图6的示例工作空间600中图示,其包括邻
近于角落区606的应用窗口602和604。此处,针对应用窗口608确定尺寸和位置,使得应用窗
口与应用窗口604对准。

可替换地,如果另一个应用窗口不是竖直邻近,则应用窗口可以定尺寸到水平邻
近窗口。这通过示例工作空间610图示,其包括水平邻近于半区614的应用窗口612。此处,针
对应用窗口616确定尺寸和位置,使得应用窗口与应用窗口612的互补边缘对准。

另外,当邻近应用窗口不具有区中的互补边缘时,应用窗口可以定尺寸和定位成
与邻近窗口的非互补边缘对齐。这通过示例工作空间618图示,其包括邻近于角落622的应
用窗口620。此处,针对应用窗口624确定尺寸和位置,以使应用窗口与应用窗口620的非互
补边缘对准。

附加地,当另一个应用窗口不邻近于该区时,应用窗口可以定尺寸到非邻近区的
互补边缘。这通过示例工作空间626图示,其包括不邻近于角落630的应用窗口628。此处,针
对应用632确定尺寸和位置,以使应用窗口与应用窗口628的互补边缘对准。

可替换地,当不存在其它边缘或者应用窗口时,应用窗口可以定尺寸和定位到多
应用环境的预限定区域,诸如四分之一区域或一半区域。这在图7的示例工作空间700和702
中图示,其不包括邻近应用窗口或者具有互补边缘的那些窗口。在工作空间700中,应用窗
口704分屏到工作空间的一半并且与角落706相对地定位。因此,确定尺寸和位置,使得应用
窗口708半分屏到工作空间700的上部区中。在工作空间702中,当应用窗口710移动到半区
中时,不存在其它应用窗口。相应地,确定尺寸和位置,使得窗口710可以分屏到工作空间
708的半分屏区域中。

可选地,在510处,更改其它应用窗口之一的相应尺寸或位置。在一些情况下,基于
另一个应用窗口的属性或偏好来确定另一个应用窗口的尺寸或位置,所述属性或偏好诸如
默认纵横比或最小尺寸。更改另一个应用窗口可以包括对另一个应用窗口移动或定尺寸以
适应或填充多应用环境的预限定区域,诸如四分之一区域或一半区域。

在一些实施例中,这对使得能够实现应用窗口交换是有效的,诸如当应用窗口和
另一个应用窗口类似地定尺寸时。这样的示例在图7的工作空间712和714中图示,其中响应
于半分屏和四分之一分屏边缘触发动作(触发)而分别发起应用窗口交换。在工作空间712
中,经由应用窗口718接收半分屏边缘触发716以将应用窗口移动到工作空间712的?#20918;?#32536;。

此处,应用窗口720和722重新定位到工作空间712的左边缘,由此使得能够与应用
窗口718实现位置交换。在工作空间714中,经由应用窗口726接收四分之一分屏边缘触发
724以将应用窗口移动到工作空间714的左上角落。此处,应用窗口728重新定位到工作空间
714的左下角落,由此使得能够与应用窗口726实现位置交换。

确定何时发起应用窗口交换的示例算法是基于移动应用窗口之一的输入。当与运
动垂直的应用窗口的边缘组件相同时,应用窗口可以交换。换言之,当沿X轴线移动应用窗
口时,Y轴线上的应用窗口边缘必须匹配。对于对角运动,该算法可以应用两次,在每一个轴
线方向上应用一次。沿每一个轴线的基于向量的运动可以通过将运动?#25104;?#22238;边缘触发或者
其它方向输入来确定。

在512处,以所确定的尺寸和位置来呈现应用窗口以完成窗口的放置。在一些情况
下,应用窗口放置在占据所选区的另一个应用窗口上。在这样的情况下,另一个应用窗口可
以被?#23548;?#21040;多应用环境的另一个首位层(例如,在z堆叠中更深的层)。可替换地或者附加
地,应用窗口可以以预限定的尺寸分屏到区中,以占据多应用环境的四分之一区域或一半
区域。

另外,方法300或500可以实现为对现有分屏窗口或最大化窗口重新定尺寸。对这
些窗口重新定尺寸可以使用任?#38382;?#21512;的输入来发起,诸如半分屏或四分之一分屏边缘触
发。在一些情况下,除边缘触发或窗口拖拽输入之外,响应于接收附加输入而启用这些操
作,诸如鼠标按钮或键盘输入(例如,ALT按键)。

图8图示了对分屏应用窗口重新定尺寸的示例,其参照工作空间800和802?#22659;觥?#24037;
作空间800包括应用窗口804和应用窗口806,其最初在工作空间中最大化。此处,半分屏边
缘触发808将应用窗口810定位和定尺寸到工作空间800的一半区域。响应于此,窗口管理器
132将应用窗口806重新定尺寸到工作空间800的另一个一半区域。

作为另一个示例,考虑工作空间802,其包括占据工作空间802的一半区域的应用
窗口810和应用窗口812。此处,四分之一分屏边缘触发811将应用窗口810定位和定尺寸到
工作空间802的四分之一区域。响应于此,窗口管理器132将应用窗口812重新定尺寸到工作
空间802的邻近四分之一区域。这些仅仅是可以如何实现方法300和500以对分屏应用窗口
定位或定尺寸的几个示例。

基于区对应用窗口定尺寸和定位

图9描绘了用于应用窗口的基于区的定尺寸的方法900,其包括通过窗口管理器132或
多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以参照图1的系统100、图2的操作
环境200、以及在本文其它地方描述的其它方法和示例实施例,但对上述的引用仅仅是以示
例做出的。

在902处,在具有预限定区域的用户接口中呈现应用窗口。应用窗口可以呈现在预
限定区域之一中或者预限定区域之上。每一个预限定区域与用户接口的区对应。在一些情
况下,用户接口的区(例如,边缘)用于触发应用窗口向预限定区域(例如,四分之一)中的对
应一个中的放置。用户接口的这些区可以是默认区,诸如屏幕边缘,或者是包括屏幕的任何
区段的用户限定的区。在一些情况下,预限定的区域可以具有用户接口内的相关联的尺寸
或位置,诸如四分之一尺寸、一半尺寸、最大化尺寸、最小化尺寸等。用户接口可以实现为多
应用环境。

作为示例,考虑图10,其图示了示例预限定区域和对应区。仅作为示例,预限定区
域被图示为分屏区域,其可以均匀地或者非均匀地跨工作空间的区段划分。例如,图10的工
作空间1000包括半分屏区域1002和半分屏区域1004,其分别对应边缘区1006和边缘区
1008。

示例工作空间1010包括四分之一区域,诸如四分之一分屏区域1012、1014、1016和
1018,其分别对应于角落区1020、1022、1024和1026。角落区可以限定为方?#20301;?#22278;角(例如,
角落区1026),并且可以具有预限定的尺寸,诸如大概25个像素的宽度或半径。其它示例半
区域在工作空间1028中?#22659;觶?#20854;包括半分屏区域1030和半分屏区域1032。边缘区1034可以
与工作空间的最大化区域对应,或者在纵向取向的显示器的情况下,可以与半分屏区域
1030对应。最后,半分屏区域1032与沿工作空间1028的底部定位的边缘区1036对应。

在一些实施例中,区的尺寸可以取决于预期的输入类型而更改。例如,当接收到更
为精确的输入时,诸如鼠标输入,区可以具有较小的尺寸,因为用户可以容易地紧密结合意
图的区。在其它情况下,当接收到较不精确的输入(诸如触摸输入或?#36136;?#36755;入)时,区(例如,
边缘区或者角落边缘)的尺寸可以增大。可替换地或者附加地,区的尺寸可以基于显示器拓
扑而更改,诸如在显示器的边缘相遇的地方提供较大的区以使得能够实现更加精确的区选
择。

在904处,基于预限定区域之一,更改应用窗口的尺寸。响应于将应用窗口移动到
与预限定区域对应的区中的输入,而更改应用窗口的尺寸。在一些情况下,将应用窗口定位
成占据预限定区域的部分或全部。移动应用窗口的输入可以包括任?#38382;?#21512;的输入,诸如通
过应用窗口所接收的边缘触发或者方向输入(例如,拖拽)。例如,将应用窗口拖拽到角落区
中使得应用窗口定尺寸到对应于角落区的四分之一中。因而,应用窗口可以通过将该窗口
移动到对应区而定尺寸到工作空间的任何预限定区域。

图11描绘了用于应用窗口的基于区的定尺寸和定位的方法1100,所述方法包括通
过窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以参照图1的
系统100、图2的操作环境200、以及在本文其它地方描述的其它方法和示例实施例,但对上
述的引用仅仅是以示例做出的。

在1102处,接收输入以在具有预限定区域的用户接口内移动应用窗口。所接收的
输入可以包括任?#38382;?#21512;类型的输入,诸如键盘敲击、方向输入、?#36136;?#36755;入等。例如,输入可以
包括经由鼠标或者一个或多个按钮敲击的应用的选择和拖拽,诸如WindowsTM按键和箭头
键。在其它实例中,应用可以被拖拽到与预限定区域之一对应的区中。

在1104处,基于应用窗口的状态和输入,来选择用户接口的预限定区域。应用窗口
的状态可以包括当前尺寸、当前位置、在z堆叠中的当前深度、或者由应用窗口占据的当前
预限定区域。预限定区域可以包括任何预限定区域,诸如用户限定的区域或者本文描述的
其它预限定的区域,诸如分屏区域。在一些实施例中,预限定的区域还可以是重叠的并且具
有窗口的z堆叠中的可定制的深度。通过这样做,可以创建变化的首位或深度的应用窗口布
局。

使用应用窗口的状态可以使得能够实现应用窗口的动态定尺寸和定位。作为示
例,应用窗口状态或预限定区域的选择可以使用状态机确定。在一些情况下,基于所接收的
输入和应用窗口的当前状态,访?#39318;?#24577;机可以选择用于应用窗口的下一预限定区域或下一
状态。

考虑图12,其图示了用于动态地选择用于应用窗口的预限定区域或状态的示例状
态机1200。此处,图例1202指示响应于所接收的相应输入而发生哪些状态转变,诸如箭头键
被按压而同时按住WindowsTM键。如通过状态机1200的状态所示,预限定区域可以通过录入
一系列键击以达到对应状态来选择。在该特定示例中,状态机1200包括用于一半区域的状
态,诸如左半部1204、右半部1206、划分顶部1208和划分底部1210。状态机还包括用于四分
之一区域的状态,诸如左上四分之一1212、左?#28388;?#20998;之一1214、右上四分之一1216和右?#28388;?br />分之一1218。另外,状态机1200的其它预限定区域或状态也是可选择的并且包括最小化
1220、?#25351;?222和最大化1224。可替换地或者附加地,用户可以?#25104;?#19968;个或多个状态或者其
它按键组合,以定制工作空间的用户限定区域。

返回到手头的方法,在1106处,应用窗口的尺寸和位置更改成使得应用窗口将填
充预限定区域。在一些情况下,对应用窗口定尺寸以填充用户接口的四分之一区域或者一
半区域。在其它情况下,应用窗口可以在当前呈现的应用窗口的z堆叠中最小化或者?#23548;?#24471;
更深。如上文所指出,预限定区域可以是用户限定的,诸如用户接口或者多应用环境的中心
处的降下区。

作为示例,考虑图13的工作空间1300,其图示了定制降下区域1302、1304和1306。
这些定制降下区域可以由用户限定并且?#25104;?#21040;区(例如,工作空间中部的区)或按键组合使
得应用窗口的尺寸和位置更改以填充降下区域。这些降下区域可以以任?#38382;?#21512;的方式配
置,诸如通过将应用窗口的尺寸、位置或z堆叠中的深度存储为工作空间的用户限定区域。

可选地,在1108处,预览应用窗口以明显地指示应用窗口的经更改的尺寸和位置。
应用窗口的预览可以被示为应用窗口或其内容的透光(或部分透明)表示。在一些情况下,
接收附加输入,其确认应用窗口在预限定区域中的所预览的放置。在这样的情况下,方法
500可以响应于提交所预览的应用窗口的输入而前进到操作1110。

可替换地,附加输入可以选择预限定区域中的另一个,在限定区域中的另一个中
呈现应用接口。这可以有效地使方法500返回到操作1102,以用于选择另一个预限定区域。
在又其它情况下,附加输入可以以强加于应用窗口或其预览上的连续拖拽或不活动的形式
接收。响应于这种连续拖拽或不活动(例如,进入边缘区中),应用窗口的预览可以在预限定
区域中重新定尺寸或者定尺寸到另一个预限定区域。

在1110处,以更改的尺寸和位置在用户接口的预限定区域中呈现应用窗口。在一
些情况下,依照与用户接口的预限定区相关联的深度,在z堆叠中以特定深度呈现应用窗
口。以更改的尺寸和位置呈现应用可以有效地填充预限定区域。这样的示例通过工作空间
1308图示,其中对搜索应用1310定尺寸和定位以填充降下区域1302。在图13的上下文中,方
法1100的操作可以重复以分别利用图像应用1312和记事本应用1314填充降下区域1304和
1306。

用于应用窗口的动态联合划分器

图14描绘了用于在应用窗口之间建立联合划分器的方法1400,所述方法包括通过窗口
管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以参照图1的系统
100、图2的操作环境200以及在本文中其它地方描述的其它方法和示例实施例,但对上述的
引用仅仅是以示例做出的。

在1402处,在多应用环境的第一应用窗口和第二应用窗口之间建立联合划分器。
联合划分器响应于第一应用窗口的边?#21040;?#35302;(例如,在没有重叠的情况下触碰)第二应用窗
口的边缘而建立。在一些情况下,联合划分器沿接触的每一个应用窗口的相应区段而建立。
在其它情况下,联合划分器沿每一个相应应用窗口的整个长度来建立,而?#36824;?#24212;用窗口之
间的接触量如何。应用窗口的边缘之间的接触可以由任?#38382;?#21512;的操作引起,诸如对多应用
环境中的应用窗口之一进行移动、分屏、添加或者定尺寸。联合划分器还可以沿应用窗口的
任何可见边缘而建立。在一些情况下,建立联合划分器可以限于分屏应用窗口并且排除非
分屏或浮动的应用窗口。

在一些实施例中,联合划分器建立在沿一个或多个边?#24403;舜私?#35302;的多个应用窗口
之间。例如,当两个应用窗口的相应边?#21040;?#35302;第三应用窗口的边缘时,可以建立单个联合划
分器。可替换地,当应用窗口在应用窗口的相应角落处彼?#31169;?#35302;时,可以形成复杂联合划分
器。可替换地或者附加地,建立联合划分器将应用窗口分组(或相关)在一起,从而使得能够
在分组式应用窗口?#29616;?#34892;操作。例如,分组式应用窗口可以打开、关闭、最小化、重新定尺
寸、向/自…切换或者一起移动。另外,对分组式应用窗口解除分组可以使之前分组的应用
窗口返回到其相应原始状态。在一些情况下,分组式应用窗口一起呈现在切换可视件中,诸
如开始?#35828;ァ?#24212;用管理UI或者热键切换器(例如,ALT+Tab或者WindowsTM+Tab)。

在两个或更多应用窗口的相应边?#24403;舜私?#35302;的任何时间和任何地方,可以建立联
合划分器。作为示例,考虑图15,其图示了工作空间1500、1502和1504中的各种联合划分器。
工作空间1500包括在四分之一分屏应用窗口之间建立的联合划分器1506以及在四分之一
分屏应用窗口与半分屏应用窗口之间建立的联合划分器1508。如在工作空间1502中所示,
联合划分器还可以建立在遮挡的应用窗口之间,其中应用划分器1510建立在部分遮挡和分
屏的应用窗口之间。另外,应用划分器1512建立在遮挡和浮动的应用窗口之间,所述遮挡和
浮动的应用窗口没有处于应用窗口的z堆叠中的最高层级。

在1404处,呈现了由第一应用窗口和第二应用窗口共享的联合划分器。呈现联合
划分器可以包括提供联合划分器的视觉或触觉指示。例如,视觉指?#22659;?#29616;在共享联合划分
器的应用窗口的边缘之上。在其它情况下,联合划分器呈现在共享联合划分器的两个应用
窗口之间。在这样的情况下,一个或两个应用窗口的边缘可以减小,以提供在其中呈现联合
划分器的空间。可替换地或者附加地,可以使用触觉反馈(例如,隆起或波浪)来指示联合划
分器的存在。在一些情况下,响应于接近联合划分器的输入或光标运动而呈现联合划分器。

在一些实施例中,还呈现联合分离控件或可视件以使得能够禁用联合划分器。联
合分离控件可以呈现在联合划分器的区段、联合控件的边缘或者联合控件的两个边缘之
上。在一些情况下,联合分离控件使得用户能够“解开”联合划分器,这使得能够实现之前共
享联合划分器的应用窗口的单独定尺寸或移动。联合划分器还可以通过其它操作而禁用,
诸如双击联合划分器、点击联合划分器而同时按住按键(例如,CTRL),或者通过经由不是联
合划分器的部分的边缘对应用窗口定尺寸或移动。

联合划分器可以响应于在应用窗口之间建立联合划分器而呈现。可替换地,联合
划分器可以在没有呈现的情况下存在,直至接收到接近联合划分器的输入或光标移动。图
16图示了响应于光标移动而呈现联合划分器的示例。光标的移动在开始于工作空间1600中
的所图示的工作空间的进展中?#22659;觶?#20854;包括应用窗口1602、应用窗口1604和光标1606。

如工作空间1608中所示,光标1606的移动可以基于接近阈值1610来检测。接近阈
值1610可以配置成具有任?#38382;?#21512;的维度,诸如距联合划分器10个像素,并且可以基于所接
收的输入的类型重新配置。如工作空间1612中所示,当光标1606跨过接近阈值1610时,联合
划分器1614和联合分离控件1616呈现在应用窗口1602和1604的接触边缘之上。

在1406处,经由联合划分器接收更改第一应用窗口和第二应用窗口的相应尺寸的
输入。所接收的输入可以包括任?#38382;?#21512;类型的输入,诸如经由光标移动所接收的方向输入、
触摸输入或箭头按键。作为示例,考虑图17的示例工作空间1700,其包括由应用窗口1704和
1706共享的联合划分器1702。在该特定示例中,联合划分器1702还包括联合分离控件,以使
得能够实现应用窗口1704和1706的单独定尺寸。此处,经由光标1710接收在横向方向上对
应用窗口1704和1706定尺寸的输入。

在1408处,响应于输入而同?#22791;?#25913;第一应用窗口和第二应用窗口的相应尺寸。应
用窗口的相应尺寸可以在接收到输入(诸如,方向光标移动)?#22791;?#25913;。例如,应用窗口的更改
的尺寸可以通过沿其中接收输入的轴线滑动联合划分器而明显地指示。因而,滑动联合划
分器可以明显地指?#38236;?#19968;和第二应用窗口的同时定尺寸。

可替换地或者附加地,联合划分器可以展现针对沿工作空间的边缘的中点的吸引
或亲和(例如,磁力)。这可以有效地帮助用户在对称布局中对窗口定尺寸。在一些情况下,
对于沿工作空间的边缘的点的吸引可以响应于按键输入(例如,按住CTRL按键)而停用。

在图17的上下文中,基于联合划分器1702的运动而将应用窗口1704和1706定尺寸
到在工作空间1712中?#22659;?#30340;位置。在该特定示例中,还图示了联合分离控件的特征。此处,
经由联合分离控件1708接收对应用窗口1704独立定尺寸的附加输入。如所示的,从光标
1710接收的输入在相反横向方向上对应用窗口1704定尺寸。作为结果,如在工作空间1714
中所示,应用窗口1704与应用窗口1706分离,从而禁用联合划分器并且定尺寸以暴露之前
遮挡的应用窗口1716。

图18描绘了用于利用联合划分器对应用窗口定尺寸和定位的方法1800,所述方法
包括通过窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以参
照图1的系统100、图2的操作环境200、以及在本文中其它地方描述的其它方法和示例实施
例,但对上述的引用仅仅是以示例做出的。

在1802处,在第一应用窗口和第二应用窗口之间共享的联合划分器呈现在多应用
环境中。呈现联合划分器可以包括提供联合划分器的视觉或触觉指示。例如,在共享联合划
分器的应用窗口的边缘之上或之间呈现视觉指示。附加地或者可替换地,可以使用触觉反
馈(例如,隆起或波浪)来指示联合划分器的存在。作为示例,考虑图19的工作空间1900,其
中应用窗口1902和应用窗口1904共享联合划分器1906。此处,联合划分器1906明显地指示
在应用窗口1902和应用窗口1904的接触边缘之上。

在1804处,经由联合划分器接收增大第一应用窗口的尺寸的输入。在一些情况下,
增大第一应用窗口的尺寸的输入可以指示在朝向第二应用窗口的方向上增大第一应用窗
口的尺寸。在这样的情况下,取决于第二应用窗口关于工作空间的边缘的位置,输入可以指
示将第二应用定尺寸、移动或者?#23548;?#21040;窗口的z堆叠中更深处。例如,可以移动没有触碰多
应用环境的边缘的应用窗口,而不是对其定尺寸。

所接收的输入可以包括任?#38382;?#21512;类型的输入,诸如经由光标移动所接收的方向输
入、触摸输入或者箭头按键。在当前示例的上下文中,经由如在图19的工作空间1900中所示
的应用划分器接收方向输入。此处,注意应用窗口1904没有与工作空间1900的边?#21040;?#35302;,并
且因而在没有定尺寸的情况下可移动。

在1806处,响应于所接收的输入,增大第一应用窗口的尺寸。当第一应用窗口的尺
寸增大时,第二应用窗口同?#24065;?#21160;,从而有效地维持第二应用窗口的尺寸。第二应用窗口的
移动可以继续直至遇到多应用环境的边缘。继续进行中的示例,应用窗口1902的尺寸增大
而同时应用窗口1904朝向工作空间1908的边缘移动。

操作1808、1810和1812可选并且可以响应于附加输入或者第一应用窗口的尺寸中
的进一步增大而执行。在1808处,响应于第二应用窗口的边缘遇到多应用环境的边缘,减小
第二应用窗口的尺寸。在第一应用窗口的尺寸继续增大的同时,减小第二应用窗口的尺寸
发生。第二应用窗口的尺寸可以减小直至达到最小窗口尺寸。在图19的上下文中,这在层视
图1908中图示,其中联合划分器1906的连续移动增大应用窗口1902的尺寸并且减小应用窗
口1904的尺寸。

在1810处,响应于第二应用窗口的尺寸达到最小尺寸,准许第一应用窗口与第二
应用窗口重叠。一旦达到第二应用窗口的最小尺寸,第一应用的前进边缘就开?#21152;?#31532;二应
用窗口重叠。应用窗口的最小尺寸可以通过与应用用户接口相关联的应用、操作系统或者
用户输入来限定。继续进行中的示例,应用窗口1904的最小尺寸由在层视图1910中所示的
联合划分器1906达到。响应于此,并且如在层视图1912中所图示的,应用窗口1902的前进边
缘开?#21152;?#24212;用窗口1904重叠。

在1812处,响应于联合划分器遇到多应用环境的边缘,将第二应用窗口?#23548;?#21040;多
应用环境的另一个层。在一些情况下,将第二应用窗口推进得更深到应用窗口的z堆叠中。
可替换地或者附加地,第二应用窗口的尺寸可以?#25351;?#21040;默认尺寸或者移动之前的尺寸。这
可以有效地使得第二应用窗口能够?#25351;?#25110;切换到没有重新定尺寸。总结当前示例,应用窗
口1904以经?#25351;?#30340;尺寸?#23548;?#21040;工作空间的下一层。因而,应用窗口1904可以?#25351;?#25110;者切换
到没有重新定尺寸。

联合划分器还可以建立在多个应用窗口之间并且可以称之为复杂联合划分器。多
个应用窗口的定尺寸或移动可以通过关于方法1400或1800描述的操作而实现。作为示例,
考虑图20,其包括图示?#31169;?#31435;在多个应用窗口之间的联合划分器的示例工作空间2000和
2002。在工作空间2000的上下文中,联合划分器2004使得能够对应用窗口2006和2008定尺
寸,其邻近彼此并且共享联合划分器2004。在应用窗口2006、2008和2012的边缘之间共享的
联合划分器2010使得能够对所有三个应用窗口定尺寸。

该方面可以扩展到如在工作空间2002中?#22659;?#30340;四个应用窗口,其包括应用窗口
2014、2016、2018和2020。在该示例中,联合划分器2022、2024、2026和2028各自使得能够对
共享边缘的其相应邻近窗口定尺寸。例如,联合划分器2022对应用窗口2014和2016定尺寸,
但是不对应用窗口2018或2020定尺寸。可替换地或者附加地,当对多个窗口定尺寸时,联合
划分器可以响应于将多个窗口之一定尺寸到最小尺寸而分离或“解开”。

复杂联合划分器还可以实现成维持窗口的独立性或者局部化对特定窗口的改变。
例如,考虑图20的工作空间2030、2032和2034,其图示?#26031;?#20139;联合划分器的三个浮动应用窗
口。此处,应用窗口2036、2038和2040共享联合划分器2042。如在工作空间2030中所示,经由
应用窗口2036和2038所共享的联合划分器2042的区段而接收的输入2044对那些应用窗口
定尺寸,但是不对应用窗口2038定尺寸。这种独立定尺寸的另一个示例在工作空间2032中
?#22659;觶?#20854;中输入2046对应用窗口2040,而不对应用窗口2036和2038定尺寸。可替换地,如在
工作空间2034中所示的,经由应用窗口2038和2040所共享的联合划分器的区段而接收的输
入2048可以对这些应用窗口定尺寸。

联合划分器还可以组合地实现以提供联合角落。联合角落使得能够实现一个或两
个轴线上的应用窗口定尺寸并且可以对共享联合角落的至少两个应用窗口定尺寸。图20图
示了在工作空间2100和2102中所示的角落联合的各?#36136;?#20363;。在工作空间2100中,角落联合
2104使得能够在两个轴线上对应用窗口2106、2108、2110和2112定尺寸。

在一些情况下,当两个应用窗口共享角落并?#20063;?#26159;公共边缘时,可以建立联合角
落。这样的示例通过工作空间2102图示,其中应用窗口2114和2116在角落处相遇并且共享
联合角落2118。此处,联合角落2118使得能够在两个轴线上对应用窗口2114和2116定尺寸。
如联合划分器那样,联合角落可以响应于达到应用窗口最小尺寸或者其它?#23454;?#36755;入而禁
用,诸如按键输入或者从不是联合角落的部分的边缘拖拽应用窗口。

每当应用窗口的边?#21040;?#35302;或触碰彼此时可以建立联合角落。窗口管理器132可以
通过追踪各个窗口的角落或者两个邻近边缘,来建立或者维持联合角落。返回到图21,考虑
包括应用窗口2122、2124和2126的示例工作空间2120。这些窗口中的每一个包括角落,在所
述角落中相应边缘中的两个相遇。此处,窗口管理器132追踪边缘2128、2130和2132以建立
或者维持用于这些应用窗口的联合角落。

窗口管理器132还可以追踪各个应用窗口的边缘以建立或者维持联合划分器。作
为示例,考虑图22,其中工作空间2200包括应用窗口2202和2204。应用窗口2202和2204共享
联合划分器2206,并且因而可以通过经由联合划分器所接收的输入定尺寸。为了使得能够
实现定尺寸或者其它联合划分器操作,窗口管理器132可以构建独立性链,以追踪应用窗口
的各个边缘。

在图22的上下文中,并且如在详细视图2208中所示,联合划分器2206包括应用窗
口2202的边缘2210和应用窗口2204的边缘2212。此处,光标2214悬停在应用窗口2204的边
缘2212上,并且窗口管理器132可以关于边缘2212和光标2214的位置构建独立性?#30784;?#20174;边缘
2212开始,窗口管理器确定哪些其它应用窗口边缘与边缘2212接触。此处,如在详细视图
2216中所示的,确定边缘2210在接触边缘2212,并且因而受联合划分器2206所影响。

可替换地或者附加地,当执行联合划分器操作时,可以忽略并且忽视非相邻边缘。
例如,在详细视图2218中,窗口管理器132确定应用窗口2220和2222的边缘与边缘2212接
触。然而,由于介入应用窗口2226,确定应用窗口2224的边缘不与边缘2212接触,并且可以
忽视。如在详细视图2228中所示,应用窗口2226还可以被确定为不接触边缘2212并?#19968;?#21487;
以针对联合划分器操作而忽视。

图23在详细视图2300处进一步图示了边缘?#35272;?#24615;的示例,其中确定应用窗口2304
的边缘2302要与应用窗口2308的边缘2306接触。从应用窗口2304,窗口管理器132可以从边
缘?#35272;?#24615;链中的下一应用窗口的视角进行确定接触。此处,确定应用窗口2312的边缘2310
要与应用窗口2308的边缘2306接触。在详细视图2314中,由输入2316发起的尺寸操作通过
?#35272;?#24615;链传播并且使每一个接触应用窗口相应地定尺寸或移动。

应用窗口的辅助呈现

图24描绘了用于在多应用环境的可用区中呈现可选应用窗口的方法2400,包括通过窗
口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,可以参照图1的系统
100、图2的操作环境200、以及在本文中其它地方描述的其它方法和示例实施例,但对上述
的引用仅仅是以示例做出的。

在2402处,在多应用环境的可用区中呈现应用窗口的视觉表示。视觉表示对应于
可选择或者适用于在可用区域中呈现的应用窗口,诸如可以定尺寸成完全占据可用区的应
用窗口。应用窗口的视觉表示可以包括应用窗口的文本、图标或者减小尺寸的图像,诸如缩
略图像。这些减小尺寸的图像可以明显地指示应用窗口内容或者之前呈现的内容的预览。

在一些实施例中,应用窗口的视觉表示经由可用区中的提示或者其它应用选择接
口而呈现。在一些情况下,视觉表示响应于在多应用环境的另一个区中呈现另一个应用而
呈现,诸如在四分之一区域或一半区域中呈现另一个应用的分屏操作。在其它情况下,响应
于经由应用选择控件所接收的输入来呈现视觉表示,诸如调用提示或者应用选择接口的控
件。应用选择控件可以实现为沿可用区域的边缘附近的悬停区或图形标签。

应用选择控件还可以响应于光标移动或者“推进”至多应用环境的边缘区中的其
它输入而呈现。推进运动可以包括双推运动或者在工作空间或屏幕区域的距离之上的运
动。在一些情况下,使用特定准则检测推进运动,以避免将与边缘的无意接触(例如,滚动滚
动条)识别为推进运动。例如,一旦光标的运动在边缘区处或者正好在边缘区内暂停,则进
一步向边缘区中的随后“推进?#20445;?#20363;如,双推)可以调用应用选择控件。可替换地,如果光标离
开边缘区、暂停长度没有满足预限定的阈值、或者光标继续移动通过边缘区而没有暂停,则
可以不调用应用选择控件。

在一些实施例中,还可以考虑在遇到边缘区之前的光标的运动。可以追踪光标运
动的竖直和水平分量以确定光标是否跨工作空间行进得足够远或者以充足角度进入行进
到边缘区中。作为示例,当遇到水平边缘时,可以响应于确定光标行进至少150个竖直像素
并且在边缘区内更为竖直地而不是水平地移动,来调用应用选择控件。类似准则可以应用
于竖直边缘区,诸如通过确定光标在边缘区内更为水平地而不是竖直地移动。可替换地或
者附加地,光标移动或者其它输入可以由状态机追踪,该状态机配置为响应于满足这些准
则而调用或者触发应用选择控件的呈现。

作为示例,考虑图25,其中图示了多应用环境的示例工作空间2500。工作空间2500
包括应用窗口2502、可用区2504和任务栏2506。在该特定示例中,应用选择提示2508呈现在
可用区2504中,该可用区还包括应用选择控件2510。应用选择控件25010的更详细视图在
2512处提供并且包括去除控件2514。

应用选择控件2510实现为沿可用区2504的边缘的悬停区并且响应于接近光标
2516(或者触摸输入)而出现。悬停区可以具有预限定的宽度或区域,诸如沿工作空间的边
缘的10到25个像素。应用选择控件2510使得用户能够触发或者调用应用选择提示2508,其
然后可以以上下文方式将所有有效应用窗口呈现给用户。可替换地或者附加地,去除控件
2415使得能够临时地去除(或隐藏)应用选择提示2508或者直?#20102;?#21518;接近光标或其它输入。
此处,假设用户已经轻击应用选择控件2510以调用应用选择提示2508。响应于该输入,呈现
应用选择提示2508并且该提示包括用户最近访问的应用窗口的视觉表示(例如,缩略图
像)。

可替换地或者附加地,应用窗口的视觉表示可以响应于在多应用环境的另一个区
中呈现另一个应用窗口而呈现。这可以有效地使得用户能够容易地选择用于可用区的应用
窗口之一,以完成多应用环境中的应用窗口的布局。

这样的示例在图25的工作空间2518中?#22659;觶?#20854;中经由应用窗口2522接收边缘触发
2520。边缘触发2520使应用窗口2522半分屏到工作空间2518的边缘,并且应用窗口2252呈
现在半分屏区中。该示例图示?#31169;?#20165;一个示例,其中边缘触发或与边缘的其它接触可以有
效地引起应用窗口向与边缘对应的预限定区域中的呈现或“分屏”。此处,注意非分屏(例
如,浮动的)应用窗口2524在应用窗口2522的半分屏操作之前部分遮挡。响应于半分屏区中
的应用窗口2522的呈现,对应于非分屏应用窗口2524的视觉表示2528呈现在应用选择提示
2528中。

在2404处,在可用区中呈现应用窗口之一。响应于接收到选择视觉表示中的对应
一个的输入,而呈现应用窗口。在一些情况下,选择视觉表示的输入经由其它应用选择用户
接口来接收,诸如应用管理UI、开始?#35828;?#25110;者基于按键的应用切换器(例如,ALT+Tab按键)。

对应用窗口定尺寸和定位以填充或者完全地占据可用区。在呈现应用窗口之前,
可以呈现应用窗口的预览以明显地指示应用窗口在可用区内的尺寸和位置。在图25和工作
空间2500的上下文中,用户轻击电子邮件应用拼块2530将使对应电子邮件应用填充可用区
2504。因而,在单个轻击输入的情况下,用户能够方便地优化工作空间的布局。

图26描绘了用于标识要在其中呈现应用窗口的多应用环境的可用区的方法2600,
该方法包括通过窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;部分中,
可以参照图1的系统100、图2的操作环境200、以及在本文中其它地方描述的其它方法和示
例实施例,但对上述的引用仅仅是以示例做出的。

在2602处,标识多应用环境的可用区。可用区可以包括其中可以呈现应用接口的
任?#38382;实?#30340;区,诸如工作空间或屏幕的矩形区。可用区的标识可以响应于多应用环境的另
一个区中的另一个应用窗口的呈现而执行。另一个应用窗口可以经由任?#38382;?#21512;的操作而呈
现在另一个区中,诸如分屏操作、经由动态联合划分器定尺寸、或者基于区定尺寸。在一些
情况下,可用区被标识为不包括未遮挡窗口的区或者可能完全被应用窗口占据的区。可替
换地或者附加地,针对多应用环境的主要或最前面的一个层标识可用区(例如,z堆叠的顶
部)。

考虑图27,其中工作空间2700一般地在2702处呈现,并且包括应用窗口2702、
2704、2706和2708,后面三个被应用窗口2702部分遮挡。此处,假设经由应用窗口2702接收
半分屏边缘触发2710,应用窗口2702然后分屏到工作空间2700的右半部,如在2712处所示。
响应于该分屏操作,窗口管理器132将工作空间2700的左半部标识为可用区域2714。

可选地,在2604处,确定可选择用于在可用区中呈现的应用窗口。这些应用窗口可
以包括任?#38382;?#21512;的应用窗口,诸如被遮挡、部分遮挡、最小化、或者与另一个有效或打开的
应用窗口成组的应用窗口。用于选择的候选应用窗口还可以是可定尺寸的以填充可用区,
所以可以排除固定尺寸的应用窗口和分屏到其它区的应用窗口。

在2606处,在可用区中呈现应用窗口的视觉表示。这些应用窗口包括可选择用于
在可用区中呈现的那些应用窗口。应用窗口的视觉表示可以包括应用窗口的文本、图标或
者减小尺寸的图像,诸如缩略图像。这些减小尺寸的图像可以明显地指示应用窗口内容或
者之前呈现的内容的预览。在当前示例的上下文中,并且如在2712处所示,窗口管理器132
在工作空间2700的可用区2714中呈现应用窗口2704、2706和2708的视觉表示(诸如减小尺
寸的图像)。

可替换地或者附加地,确定用于应用窗口的视觉表示的次序或布局。该次序或布
局可以基于应用窗口的任何特性或属性来确定,诸如最频繁使用、最近使用、名称、标题、尺
寸、z堆叠中的位置、或者与另一个有效或打开的应用窗口成组。

在2608处,经由视觉表示中的对应一个接收选择应用窗口之一的输入。输入可以
包括任?#38382;?#21512;的输入,诸如光标输入、?#36136;?#36755;入或触摸输入。在一些情况下,触摸输入包括
轻击或四分之一分屏或半分屏到可用区中。继续进行中的示例,经由应用窗口2706的视觉
表示来接收四分之一分屏触发2716。

在2610处,至少在可用区的部分中,呈现所选应用窗口。对应用窗口定尺寸和定位
以填充或者完全地占据可用区。在呈现应用窗口之前,可以呈现应用窗口的预览以明显地
指示应用窗口在可用区内尺寸和位置。可选地,方法2600的操作可以重复地执行以填充多
应用环境的其它可用区。通过如此做,可以以最小用户交互提供应用窗口的最优布局。

在一些实施例中,应用窗口可以选择用于用户并且在没有用户输入的情况下呈现
在可用区中。例如,如果应用窗口与另一个区中的另一个应用窗口配对,则可以响应于另一
个区中的另一个应用窗口的呈现而呈现所配对的应用窗口。应用窗口还可以基于用于确定
哪些应用可选择用于呈现的准则而自动地选择,诸如最近用户或者最频繁使用的应用窗
口。

总结当前示例,如在2718处所示的,窗口管理器132对应用窗口2706定尺寸和定位
以填充工作空间2700的四分之一。另外,窗口管理器132然后可以标识工作空间2700的可用
区2720,其中要呈现应用窗口2704和2708的视觉表示。此处,假设经由应用窗口2708的视觉
表示接收轻击输入2722。作为响应,如在2724处所示的,窗口管理器132对应用窗口2708定
尺寸和定位以填充工作空间2700的四分之一区。因而,在输入的仅仅三个实例的情况下,已
经在工作空间2700中提供应用窗口的布局。

这些方法的方面可以实现在?#24067;?#20363;如,固定逻辑电路)、固件、片上系统(SoC)、软
件、手动处理或者其任何组合中。软件实现表示程序代码,所述程序代码在由计算机处理器
执行时实施指定任务,该软件实现诸如是软件、应用、例程、程序、对象、组件、数据结构、进
程、模块、功能等。程序代码可以存储在一个或多个计算机可读存储器设备中,在计算机处
理器本地和/或?#29420;?#35745;算机处理器二者。方法还可以在分布式计算环境中通过多个计算设
备来实践。

示例设备

图28图示了示例设备2800的各种组件,其可以实现为任何类型的客户端、服务器和/或
如参照之前图1-28描述的计算设备以实现使得能够实现用于应用窗口的动态联合划分器
的技术。在实施例中,设备2800可以实现为有线和/或无线设备中的一个或组合,作为电视
客户端设备(例如,电视机顶?#23567;?#25968;?#36136;?#39057;刻录机(DVR)等)、消费者设备、计算机设备、服务
器设备、便携式计算机设备、用户设备、通信设备、视频处理和/或渲染设备、电器设备、游戏
设备、电子设备的形式,和/或作为另一类型的设备。设备2800还可以与用户(例如,人)和/
或操作设备的实体相关联,以使得设备描述包括用户、软件、固件和/或设备的组合的逻辑
设备。

设备2800包括通信设备2802,所述通信设备使得能够实现设备数据2804(例如,所
接收的数据、正接收的数据、安排广播的数据、数据的数据分组等)的有线和/或无线通信。
设备数据2804或其它设备内容可以包括设备的配置设置、存储在设备上的媒体内容和/或
与设备的用户相关联的信息。存储在设备2800上的媒体内容可以包括任何类型的音频、视
频和/或图像数据。设备2800包括一个或多个数据输入2806,经由该一个或多个数据输入可
以接收任何类型的数据、媒体内容和/或输入,诸如用户可选择的输入、消息、音乐、电?#29992;?br />体内容、录制的视?#30340;?#23481;、以及从任?#25991;?#23481;和/或数据源接收的任何其它类型的音频、视频
和/或图像数据。

设备2800还包括通信接口2808,其可以实现为串行和/或并行接口、无线接口、任
何类型的网络接口、调制解调器中的任何一个或多个,以及任何其它类型的通信接口。通信
接口2808提供设备2800和通信网络之间的连接和/或通信链接,通过所述通信网络其它电
子、计算和通信设备与设备2800传递数据。

设备2800包括一个或多个处理器2810(例如,任何微处理器、控制器等),其处理各
种计算机可执行指令以控制设备2800的操作并且使得技术能够实现多应用环境。可替换地
或者此外,设备2800可以以?#24067;?#22266;件或固定逻辑电?#20998;?#30340;任何一个或组合而实现,其结合
一般地在2812处标识的处理和控制电路来实现。尽管没有?#22659;觶?#20294;是设备2800可以包括系
统总线或数据传递系统,其耦合设备内的各种组件。系统总线可以包括不同总线结构中的
任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用任
何各种总线架构的处理器或局部总线。

设备2800还包括计算机可读存储介质2814,诸如使得能够实现持久性和/或非暂
时性数据存储的一个或多个存储器设备(例如,相比于单纯的信号传?#20572;?#20854;示例包括随机
存取存储器(RAM)、?#19988;资源?#20648;器(例如,只读存储器(ROM)、?#20102;?#23384;储器、EPROM、EEPROM等
中的任何一个或多个)以及盘存储设备。盘存储设备可以实现为任何类型的磁性或光学存
储设备,诸如硬盘驱动、可录制和/或?#31245;?#20889;压缩盘(CD)、任何类型的数字多用盘(DVD)等。
设备2800还可以包括大容量存储介质设备2816。

计算机可读存储介质2814提供数据存储机构以存储设备数据2804,以及各种设备
应用2818和涉及设备2800的操作方面的任何其它类型的信息和/或数据。例如,操作系统
2820可以利用计算机可读存储介质2814而维持为计算机应用并且在处理器2810?#29616;?#34892;。设
备应用2818可以包括设备管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模
块、特定设备本机的代码、用于特定设备的?#24067;?#25277;象层等。

设备应用2818还包括任何系统组件或模块以实现技术,诸如包括多应用环境模块
118、系统接口模块120、输入模块122、(多个)应用124、应用管理器128和窗口管理器132的
设备应用2818。

总结

尽管已经以具体到特征和/或方法的语言描述了使得能够实现用于应用窗口的动态联
合划分器的技术和装置的实施例,但是要理解到,随附权利要求的主题未必限于所描述的
具体特征或方法。相反,具体特征和方法?#36824;?#24320;为使得能够实现用于应用窗口的动态联合
划分器的示例实现。

关于本文
本文标题:应用窗口的动态联合划分器.pdf
链接地址:http://www.pqiex.tw/p-6091821.html
关于我们 - 网?#26087;?#26126; - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 临沂股票配资公司 大额股票配资 000876股票行情 股票配资论坛c互利计划 上证指数历史数据 股票分析师下载 股票指数是怎样计算的 股票融资软件ˉ杨方配资开户 大智慧股票软件 股票行情大盘走势,今日大盘行情