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

应用窗口的基于区的大小调整和定位.pdf

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

CN201580040729.4

申请日:

2015.07.27

公开号:

CN106662965A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

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

CN201580040729.4

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

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

摘要

本文档描述了使得能进行应用窗口的基于区的大小调整和定位的技术和装置。在一些实施例中,这些技术和装置使得能进行应用窗口的大小调整和定位以便提供应用窗口的优化布局。

权利要求书

1.一种响应于应用窗口的移动而?#36816;?#36848;应用窗口进行大小调整的计算机实现的方法,
所述方法包括:
在具有多个预定义区域的用户界面中呈现该应用窗口,所述多个预定义区域中的每一
个对应于所述用户界面的相应区;并且
响应于将所述应用窗口移动到对应于所述多个预定义区域之一的相应区中的输入,基
于该预定义区域而更改所述应用窗口的大小。
2.如权利要求1中所述的计算机实现的方法,其中所述应用窗口的大小被更改成使得
所述应用窗口的大小和所述预定义区域的大小是大致相同的。
3.如权利要求2中所述的计算机实现的方法,进一步包括将所述应用窗口移动到所述
用户界面的该预定义区域,使得所述应用窗口填充所述用户界面的该预定义区域。
4.如权利要求1中所述的计算机实现的方法,进一步包括显示所述应用窗口的预览,以
可视地指示所述应用窗口的更改的大小。
5.如权利要求1中所述的计算机实现的方法,其中,所述用户界面的该预定义区域占据
所述用户界面的大致一半,并且包括对应的相应区沿着其定位的所述用户界面的边缘。
6.如权利要求1中所述的计算机实现的方法,其中,所述用户界面的该预定义区域占据
所述用户界面的大?#28388;?#20998;之一或者二分之一,并且包括该对应的区所位于的所述用户界面
的转角。
7.如权利要求1中所述的计算机实现的方法,其中,所述用户界面的该预定义区域占据
整个用户界面,并且该对应的区沿着所述用户界面的顶部边?#24403;?#23450;位。
8.一种系统,包括:
显示器,其被配置成呈现具有多个预定义区域的用户界面;
一个或者多个处理器;
一个或者多个计算机可读介?#21097;?#20854;存储处理器可执行指令,所述指令响应于由所述一
个或者多个处理器执行而使所述一个或者多个处理器执行操作,所述操作包括:
接收关于在具有多个预定义区域的用户界面内移动应用窗口的输入;
基于所述应用窗口的状态和所接收到的输入,选择要在其中放置所述应用窗口的所述
多个预定义区域之一;
基于所选择的预定义区域,更改所述应用窗口的大小,使得所述应用窗口填充所述预
定义区域;以及
在所述用户界面的所选择的预定义区域中以更改的大小呈现所述应用窗口。
9.如权利要求8中所述的系统,其中所述应用窗口的状态包括所述应用窗口的当前大
小、所述应用窗口的当前位置或者当前被所述应用窗口占据的所述多个预定义区域之一。
10.如权利要求8中所述的系统,其中所述操作还包括先于在所选择的预定义区域中呈
现所述应用窗口而呈现所述应用窗口的预览,以可视地指示所述应用窗口的更改的大小和
所述应用窗口在所选择的预定义区域中的暂定位置。
11.如权利要求10中所述的系统,其中所述操作还包括在呈现所述应用窗口的预览的
同时,接收确认将所述应用窗口放置在所选择的预定义区域中的附加输入,并且其中在所
选择的预定义区域中呈现所述应用窗口是响应于接收到所述附加输入而执行的。
12.如权利要求10中所述的系统,其中所述操作还包括:
在呈现所述应用窗口的预览的同时接收附加输入;
基于所述预定义区域和所接收到的附加输入,选择所述多个预定义区域中的要在其中
呈现所述应用窗口的另一预定义区域;
基于所述另一预定义区域,进一步地更改所述应用窗口的更改的大小,使得所述应用
窗口填充所述另一预定义区域;以及
以进一步更改的大小将所述应用窗口呈现在所述用户界面的所述另一预定义区域?#23567;?br />
13.如权利要求8中所述的系统,其中所述输入包括触摸输入、鼠标输入、触摸板输入、
键盘输入、话音输入或者触控笔输入。
14.如权利要求8中所述的系统,其中所述用户界面包括呈现所述应用窗口和至少一个
其他应用窗口的多应用环境。
15.如权利要求8中所述的系统,其中所述用户界面的所述多个预定义区域包括所述用
户界面的象限区域、所述用户界面的一半区域或者所述用户界面的整个区域。

?#24471;?#20070;

应用窗口的基于区的大小调整和定位

背景技术


提供本背景是为了一般性地呈现用于本公开的上下文的目的。除非本文另外指明,否
则背景中描述的材料既不明确地也不隐含地被承认为是对于本公开或随后的权利要求的
现有技术。

常规的操作系统允许用户通过窗口来查看多个计算应用。这些窗口中的每一个通
常包括边框或控件以用于选择哪个窗口是主要的或要移动、调整大小、或以其它方式管理
窗口相对于工作空间和其他窗口的放置。然而,这些边框或控件常常只使得当前选择的窗
口能够被移动或调整大小,这可以导致窗口之间的非故意的遮挡和交叠。另外,移动或调整
多个窗口的大小常常需要用户执行一连串冗余任务以按所期望的去反复地移动或调整每
个窗口的大小。因此,以这种方式管理多个窗口的布局对于用户来说可能是过于复杂、耗时
并且烦人的。

发明内容


本文档描述了使得能在多应用环境中对应用窗口进行基于区(region)的大小调整
(size)和定位的技术和装置。本文描述的多应用环境呈现一个或多个应用窗口,其可以被
调整大小、定位或分层以提供优化的布局。在一些实施例中,这些技术和装置使得能基于另
一应用窗口的边缘来确定某个应用窗口的大小或位置。此外,在一些实施例中,这些技术和
装置使得能基于对多应用环境的区的选择来将应用窗口的大小调整到预定义区域。另外,
一些实施例使能接合处分隔器(joint divider)或接合处转角控件(joint corner
control),其使得能同时对多个应用窗口进行大小调整或定位。而且,一些实施例识别多应
用环境的可用区,并且使得能选择应用窗口以经由该可用区呈现。

提供本概要以介绍将在以下的详细?#24471;?#20013;进一步描述的简化的概念。本概要既不
打算标?#31471;?#35201;求保护的主题的必要特征,也不打算用于确定所要求保护的主题的范围。当
上下文允许时,使得能进行应用窗口的基于区的大小调整和定位的技术和/或装置在本文
中也被单独地或者联合地称为“技术?#20445;?#23613;管技术可以包括或代替性地代表本文描述的其他
方面。

附图?#24471;?br />

参考以下附图来描述使能多应用环境的实施例。贯穿附图使用相同的标号来引用
同样的特征和部件:

图1图示了示例性系统,在其中可以实现使得能进行应用窗口的基于区的大小调整和
定位的技术。

图2图示了具有呈现沉浸式界面的触敏显示器的示例性平板计算设备。

图3图示了对应用的窗口进行大小调整或定位以填充多应用环境的区的方法。

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

图5图示了用于基于多应用环境的其他应用窗口来?#38405;?#20010;应用窗口进行大小调整
和定位的方法。

图6图示了对应用窗口进行大小调整和/或定位以便在多应用环境中呈现的示例。

图7图示了展现对应用窗口进行大小调整和/或定位以便在多应用环境中呈现的
附加示例。

图8图示了在多应用环境的各个区中对分屏(snapped)的应用窗口重新调整大小
的示例。

图9图示了用于基于多应用环境的区来调整应用窗口的大小的方法。

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

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

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

图13图示了多应用环境的示例性放落区域(drop area)。

图14图示了使用接合处分隔器来同时调整多个应用窗口的大小的方法。

图15图示了在各种应用窗口之间建立的示例性接合处分隔器。

图16图示了根据一个或多个实施例的接合处控制分隔器的呈现。

图17图示了使用接合处分隔器来调整应用窗口大小的示例。

图18图示了用于在移动另一应用窗口的同时重新调整应用窗口大小的方法。

图19图示了图18的方法的示例性应用,包括将应用窗口逐出到多应用环境的另一
层。

图20图示了可以在应用窗口之间建立的示例性接合处分隔器。

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

图22图示了接合处分隔器和应用窗口边缘的详细示例。

图23图示了毗邻和非毗邻的应用窗口边缘的详细示例。

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

图25图示了具有用于呈现应用窗口的可用区的示例性多应用环境。

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

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

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

具体实施方式

概述

本文档描述了使得能进行应用窗口的基于区的大小调整和定位的技术和装置。这些装
置和技术可以使得多应用环境的应用窗口能够被方便地和?#34892;?#22320;定位或调整大小,以便提
供应用窗口的优化布局。在一些实施例中,这些技术和装置使得能基于另一应用窗口的边
缘来确定某个应用窗口的大小或位置。此外,在一些实施例中,所述技术和装置使得能基于
对多应用环境的区的选择来将应用窗口的大小调整到预定义区域。另外,一些实施例使能
接合处分隔器或接合处转角控件,其使得能同时对多个应用窗口进行大小调整或定位。还
有,一些实施例识别多应用环境的可用区,并且使得能选择应用窗口来经由该可用区呈现。
在一些实施例中,通过多应用环境的区或预定义区域来使能这些和其他形式的应用窗口管
理。这些仅是其中这些技术使得能进行应用窗口的基于区的大小调整和定位的许多方式的
几个示例,其它方式在下面描述。

示例性系统

图1图示了在其中可以具体化使得能进行应用窗口的基于区的大小调整和定位的技术
的示例性系统100。系统100包括计算设备102,其通过四个示例来图示,即:智能电话计算机
104、平板计算设备106、膝上?#22270;?#31639;机108和游戏设备110,但是也可以使用其他计算设备和
系统,?#28909;?#26426;顶?#23567;?#26381;务器和上网本。

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

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

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

多应用环境模块118提供多应用环境,借助于该多应用环境,用户可以通过经?#19978;?br />应应用窗口呈现的应用UI 126来查看应用124中的一个或多个并与之交互。在一些情况下,
多应用环境是交叠的窗口化环境或工作空间,其使得能管理或操纵非交叠窗口或交叠窗口
的位置、大小和/或前后排序(统称为“放置?#20445;?#20363;如,窗口的z排序(z-ordering))。可以经由
多应用环境模块118的z堆栈来维持工作空间中的每个应用窗口的排序或“深度”。典型地,
主应用或无遮挡的应用窗口驻留在z堆栈的顶部。其他应用窗口,例如非主要或被遮挡的应
用窗口驻留在z堆栈中更深的位置。这些非主应用窗口可以基于它们在z堆栈内的各自位置
而彼?#31169;?#21472;或遮挡。

多应用环境模块118可以通过有边框的应用窗口来呈现应用UI 126。这些边框可
以提供通过其与应用交互的控件和/或使得用户能够定位和调整窗口大小的控件。替换地
或附加地,多应用环境模块118可以通过具有很少或没有窗口边框的应用窗口和/或在不呈
现可视控件(例如,在窗口边框上或在遮?#25991;?#23481;的窗口中的永?#27599;?#20214;)的情况下来呈现应用
UI 126。

由多应用环境模块118使能的多应用环境可以在不使用基于窗口的桌面环境的情
况下被宿有(host)和/或被表面化(surface),但不要求如此。因此,在一些情况下,多应用
环境模块118将多应用环境呈现为沉浸式环境,并且排除对桌面样的显示(例如,任务栏)的
使用。此外,在一些实施例中,这个多应用环境类似于操作系统,因为其不可关闭或不能够
被卸载。尽管不要求,但是在一些情况下,这个多应用环境使得能由多应用环境内的应用使
用显示器的所有或几乎所有像素。

系统接口模块120提供一个或多个接口,通过该接口使能与操作系统116的交互,
仅举几个例子,诸如应用启动接口、应用管理用户接口(应用管理UI)、开始?#35828;ァ?#25511;制面板
或者系统工具或选项?#35828;ァ?#36755;入模块122通过应用窗口、输入机构136或多应用环境的其他
控件和功能可见性(affordance)来接收输入。

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

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

应用管理器128使得能管理应用124,诸如启动、切换和跟踪活动的应用。在一些情
况下,应用管理器128使得能建立和维持应用之间的关系,诸如在彼?#31169;?#23494;的接近度内?#40644;?br />繁地启动、定位或使用的应用。应用管理器128还可以访问或维持应用队列130,应用队列
130可以包括活动的应用、最小化的应用或先前与之交互的应用。应用队列130的应用可以
以任何合适的方式组织,诸如最新近使用的、最频繁使用的、按字母?#25215;?#22320;、通过应用关联
或通过应用分组。

在至少一些实施例中,窗口管理器132使能定位或调整应用窗口大小的技术,以便
在多应用环境中提供应用窗口的优化布局。下面提供这些技术和应用窗口的布局的示例,
其中一些示例是基于多应用环境的区来呈现的,但是它们不是详尽的或意在限制本文所描
述的技术。

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

示例性方法

示例性方法300、500、900和1100致力于基于另一应用窗口或多应用环境的区来?#38405;?#20010;
应用窗口进行大小调整或定位,示例性方法1400和1800致力于使得接合处分隔器能够用于
对应用窗口进行大小调整或定位,而示例性方法2400和2600致力于在多应用环境的可用区
域中呈现应用窗口。

本文所述的方法可以整体地或部分地、单独地或彼此组合地使用。这些方法被示
为诸如通过一个或多个实体或模块执行的操作(或动作)集合,并?#20063;?#19968;定限于所示出的用
于执行操作的?#25215;頡?#20363;如,所述技术可以在多应用环境的某个区中呈现应用窗口,并且在多
应用环境的另一区中自动呈现另一应用窗口。这些技术还可基于多应用环境的所选区来对
应用窗口进行大小调整和定位,在所选区中呈现经大小调整的应用窗口,且接着建立接合
处分隔器,其使得该应用窗口和接触该应用窗口的另一应用窗口被同时重新调整大小。此
外,这些技术可以在多应用环境的某个区中呈现应用窗口,然后呈现关于可选择来填充多
应用环境的一个或多个可用区的其他应用窗口的提示。

图2图示了在其中可以执行本文所描述的技术的示例性操作环境200。在该特定示
例中,平板计算设备106经由多应用环境模块118、经?#19978;?#31034;器134呈现多应用环境202。这
里,也可以称为工作空间的多应用环境202包括应用窗口204和应用窗口206,它们中的每一
个占据多应用环境202的大约一半,如通过应用窗口分隔器208所示的。

如上所述,应用窗口可以包括使得应用窗口能够被调整大小、定位、最小化、关闭
等的控件(例如,应用窗口204)。替换地,应用窗口可以不包括控件,这使得应用的用户界面
或内容能够完全占据多应用环境202的区或区域(例如,应用窗口206)。应当注意,没有控件
的应用窗口仍然可以通过衔接(engage)应用窗口的边缘或内容而被调整大小、定位或以其
它方式操纵。

替代地或附加地,多应用环境202可以被实现为桌面,虚拟的或别样的,并且包括
被示为应用管理UI 210或开始?#35828;ィ?#26410;示出)的控制区域。例如,当被实现为桌面时,多应用
环境202可以提供基于窗口的工作空间,其中应用窗口可以被个体地移动、被调整大小或被
选择为主窗口(例如,移动到z堆栈的顶部)。

多应用环境202还可以提供一个或多个虚拟桌面,通过其可以呈?#21482;?#35775;问不同组
的应用窗口。作为示例,用户可以配置具有基于工作的或生产力应用窗口的一个虚拟桌面
和具有媒体消费应用窗口的另一个虚拟桌面。通过这样做,用户可以通过在两个虚拟桌面
之间切换或枢转(pivot)而与两组不同的应用窗口交互。在一些情况下,用户可以将应用窗
口从另一个虚拟桌面切换到当前选择的虚拟桌面,从而排除了在虚拟桌面之间枢转的需
要。在至少一些实施例中,多应用环境202或其某个区段(section)完全占据显示器的屏幕
或可见区域。这样,多应用环境202的边缘可以与显示器的屏幕或可见区域的相应边缘对
准。

应用管理UI 210使得能访问计算设备102的操作系统116、系统接口模块120或其
他应用124的特征和功能。例如,应用窗口可以从应用管理UI 210?#40644;?#21160;或切换。使用本文
中的技术,可以在多应用环境202中对应用窗口进行?#34892;?#22320;添加、切换、定位、调整大小或其
他方式的操纵,以便提供应用窗口的优化布局。

应用窗口的自适应大小调整和定位

图3描绘了用于基于另一应用窗口来对应用窗口进行大小调整或定位的方法300,包括
由窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,可以对图1
的系统100、图2的操作环境200以及在本文其他地方描述的其他方法和示例性实施例进行
参考,?#36816;?#20204;进行参考仅是为了示例。

在302,接收对多应用环境的区的选择。可以经由任何合适的输入来选择区,所述
输入?#28909;?#26159;经由应用窗口接收的热键组合或方向输入(例如,窗口拖动)。在一些情况下,经
由被添加到多应用环?#25345;小?#34987;切换到多应用环境中或在多应用环境内被移动的应用窗口来
接收对区的选择。该区可以包括多应用环境的任何合适的区?#20301;?#21306;域,诸如沿着屏幕边缘
的区?#20301;?#32773;处于屏幕?#34892;?#30340;区段。在一些情况下,用户可以将多应用环境内的特定区域(例
如,屏幕区域的一些区?#20301;?#26465;带)定义或配置为用户定义的区。

该区可以是固定的、预定义的或动态的,诸如由于显示器的取向或接收的输入类
型而改变大小或位置的区。在一些情况下,区可以与诸如“分屏(snap)”操作这样的对应操
作相关联,该操作以预定义大小或预定义位置用应用窗口填充该区。这些预定义大小或预
定义位置可以对应于多应用环境的预定义区域,其可以包括工作空间的水平和/或垂直象
限(quadrant)或分数,例如一半、四分之一、三分之一及其?#25105;?#32452;合。替换地或附加地,多应
用环境的预定义区域可以由用户来定义,诸如通过划分工作空间或通过保存应用窗口的大
小、位置或在z堆栈内的位置而定义为预定义区域。

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

在304,识别与所选区相邻的另一应用窗口的边缘。另一应用窗口可以占据多应用
环境的相邻区。在一些情况下,另一应用窗口的边缘与所选区互补(complimentary)。替换
地或附加地,可以识别非相邻应用窗口的边缘(例如,互补或非互补的)。

例如,沿着源自转角424的轴来考虑工作空间404的区418、区420和区422。这里,区
418和区420与转角424相邻,而区422与转角424不相邻。此外,各区的边缘可以沿着各个轴
被分类为互补或非互补的。从转角424起?#24050;?#30528;X轴,边缘426和边缘428是互补的,而边缘
430是非互补的。类似地,从转角424起?#24050;?#30528;Y轴,边缘432和边缘434是互补的,而边缘436
是非互补的。

在工作空间400的上下文中,假设将窗口438拖动到工作空间400的转角区?#23567;?#36825;
里,窗口管理器132识别应用窗口410的、与应用窗口438正移动到的区相邻的边缘。另外,在
工作空间402的上下文中,应用窗口440正被拖动到工作空间402的侧区(side region)?#23567;?br />这里,窗口管理器132识别应用窗口416的、与应用窗口440正移动到的区相邻的边缘。

在306,基于另一应用窗口的边缘为该应用窗口确定大小或位置。可以把应用窗口
的大小或位置确定成使得该应用窗口填充该区直到另一应用窗口的边缘。在一些情况下,
把大小或位置确定成使得应用窗口的边缘与相邻应用窗口的互补边缘对准。在这种情况
下,该应用窗口和相邻应用窗口可以具有相同的宽度或相同的高度。替代地或附加地,所确
定的大小或位置可以对应于多应用环境的预定义区域,例如工作空间的象限区域或半区
域。

返回到示例性工作空间400,窗口管理器为应用窗口438把大小确定成使得应用窗
口438的边缘与应用窗口410和应用窗口408的边缘对准。另外,在工作空间402的上下文中,
窗口管理器为应用窗口440把大小确定成使得应用窗口440的边缘与应用窗口416的边缘对
准。

在308,以所确定的大小或所确定的位置在多应用环境的所选区中呈现该应用窗
口。在一些情况下,在占据所选区的另一应用窗口之上呈现该应用窗口。在这样的情况下,
其他应用窗口可以被?#23548;?#21040;多应用环境的另一个主要层(primacy layer)(例如,在z堆栈
中更深)。替换地或附加地,该应用窗口可以被分屏到该区?#23567;?br />

结束参考工作空间400的示例,窗口管理器在工作空间400的象限中呈现应用窗口
438,其将应用窗口438抵靠着工作空间400的其他被分屏的窗口放置。另外,在工作空间402
的上下文中,窗口管理器将应用窗口440抵靠着半分屏的应用窗口414放置。

图5描绘了用以基于多应用环境的其他应用窗口来对应用窗口进行大小调整和定
位的方法500,包括由窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些
部分中,可以对图1的系统100、图2的操作环境200以及在本文其他地方描述的其他方法和
示例性实施例进行参考,?#36816;?#20204;进行参考仅是为了示例。

在502,接收输入以发起在多应用环境的区中放置应用窗口。应用窗口的放置可以
响应于用以在多应用环境中添加、切换或移动应用窗口的输入。在一些情况下,输入是?#36136;?br />或边缘触发动作,其中应用窗口或它的可视表示被拖动到多应用环境的边缘或抵靠着多应
用环境的边缘移动。在这样的情况下,应用窗口的接触或移动到多应用环境的边缘中可以
“触发”应用窗口的放置或其他变换。

在504,确定多应用环境中的其他应用窗口的各自大小和位置。在一些情况下,其
它应用窗口的相应边?#24403;?#35782;别为对该区互补的或非互补的边缘。在这样的情况下,可以基
于每个轴,诸如垂直轴或水平轴,?#35789;?#21035;这些相应的边缘。当沿着两个轴(例如,两个相邻的
应用窗口)识别出其它应用的互补边缘时,可以忽?#36816;?#24179;轴的边缘。

可选地,在506,确定其他应用窗口的各自状态。未在多应用环境中被分屏或被其
他窗口遮挡的应用窗口可以从方法500的其他操作中忽略。替代地或附加地,被最小化、最
大化或经由另一显示器呈现的应用窗口也可以从方法500的其它操作中忽略。通过这样做,
当对应用窗口进行大小调整或定位以便提供应用窗口的优化布局时,考虑的是多应用环境
的当前分屏的窗口或主窗口。在一些情况下,创建或维持描述其他应用窗口(例如,屏幕上
应用窗口)的信息及其相应状态信息的数据结构。可以访问或查阅此数据结构以确定在优
化应用窗口的布局?#24065;?#32771;虑哪些应用窗口。

在508,基于其他应用窗口的各自大小和位置来确定用于该应用窗口的大小和位
置。在一些情况下,还基于该应用窗口的属性或偏好(诸如默认的纵横比或最小尺寸)来确
定该窗口的大小和位置。在其他情况下,可以考虑其他应用窗口的属性或偏好,诸如以便维
持其他应用窗口之一的最小尺寸。

在一些实施例中,对应用窗口进行大小调整和定位以便与其他应用窗口对齐,所
述其他应用窗口邻近该应用窗口被选择来在其中呈现的区。例如,应用窗口的大小可以被
调整成与相邻应用窗口的互补边缘对齐。当其他应用窗口中的两个与该区相邻时,应用窗
口的大小可以被调整到某垂直相邻窗口的两个互补边缘。其示例在图6的示例性工作空间
600中图示,其包括与转角区606相邻的应用窗口602和604。这里,为应用窗口608确定大小
和位置,使得该应用窗口与应用窗口604对准。

替换地,如果另一应用窗口不是垂直相邻的,则应用窗口的大小可以被调整大小
到某水平相邻的窗口。这由示例性工作空间610图示,其包括与半区614水平相邻的应用窗
口612。这里,为应用窗口616确定大小和位置,使得该应用窗口与应用窗口612的互补边缘
对准。

此外,当相邻应用窗口在该区中不具有互补边缘时,可以对应用窗口进行大小调
整和定位以便与相邻窗口的非互补边缘对齐。这由示例性工作空间618图示,其包括与转角
622相邻的应用窗口620。这里,为应用窗口624确定大小和位置,以将该应用窗口与应用窗
口620的非互补边缘对准。

另外,当另一应用窗口不与该区相邻时,应用窗口可以被调整大小直到某非相邻
区的互补边缘。这由示例性工作空间626图示,其包括不与转角630相邻的应用窗口628。这
里,为应用632确定大小和位置,以使该应用窗口与应用窗口628的互补边缘对准。

替换地,当不存在其它边缘或应用窗口时,可以将应用窗口大小调整和定位到多
应用环境的预定义区域,?#28909;?#35937;限区域或半区域。这在图7的示例性工作空间700和702中图
示,其不包括相邻的应用窗口或那些具有互补边缘的应用窗口。在工作空间700中,应用窗
口704被分屏到工作空间的一半,并且位于转角706的对面。这样,确定大小和位置,使得应
用窗口708半分屏到工作空间700的上部区。在工作空间702中,当应用窗口710移动到半区
中时没有其他应用窗口。因此,确定大小和位置,使得窗口710可以被分屏到工作空间708的
半分屏区域?#23567;?br />

可选地,在510,更改其他应用窗口之一的相应大小或位置。在一些情况下,基于其
他应用窗口的属性或偏好(诸如默认的纵横比或最小尺寸)来确定另一应用窗口的大小或
位置。更改其他应用窗口可以包括移动其他应用窗口或调整其大小以适合或填充多应用环
境的预定义区域,诸如象限区域或半区域。

在一些实施例中,这在使能应用窗口交换(例如,当应用窗口和另一应用窗口被类
似地调整大小时)时可以是?#34892;?#30340;。这样的示例在图7的工作空间712和714中图示,其中分
别响应于半分屏和四分之一分屏边缘触发动作(触发)而发起应用窗口交换。在工作空间
712中,经由应用窗口718接收半分屏边缘触发716,以将该应用窗口移动到工作空间712的
?#20918;?#32536;。

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

用于确定何时发起应用窗口交换的示例?#36816;?#27861;是基于移动应用窗口之一的输入。
当垂直于移动的应用窗口的边缘分量相同时,可以交换应用窗口。换句话说,当沿着X轴移
动应用窗口时,Y轴上的应用窗口边缘必须匹配??。对于对角线移动(diagonal movement),
此算法可以被应用两次,每个轴方向一次。可以通过将移动?#25104;?#22238;边缘触发或其他方向输
入来确定沿着每个轴的基于矢量的运动。

在512,以所确定的大小和位置呈现应用窗口以完成窗口的放置。在一些情况下,
在占据所选区的另一应用窗口之上呈现该应用窗口。在这样的情况下,另一应用窗口可以
被?#23548;?#21040;多应用环境的另一个主要层(例如,在z堆栈中更深)。替换地或附加地,应用窗口
可以以预定义的大小被分屏到该区中,诸如以便占据多应用环境的象限区域或半区域。

此外,方法300或500可以被实现来对现有的被分屏窗口或最大化窗口重新调整大
小。可以使用任何合适的输入,诸如半分屏或四分之一分屏边缘触发,来发起对这些窗口的
大小的重新调整。在一些情况下,除了边缘触发或窗口拖动输入之外,还响应于接收到附加
输入(诸如鼠标按钮或键盘输入(例如,ALT键))而使能这些操作。

图8图示了重新调整被分屏的应用窗口的大小的示例,其是参考工作空间800和
802而示出的。工作空间800包括应用窗口804和应用窗口806,应用窗口806在工作空间中最
初被最大化。这里,半分屏边缘触发808将应用窗口810定位和大小调整到工作空间800的半
区域。响应于此,窗口管理器132将应用窗口806的大小重新调整到工作空间800的另一半区
域。

作为另一示例,考虑工作空间802,其包括应用窗口810和占据工作空间802的半区
域的应用窗口812。这里,象限分屏边缘触发811将应用窗口810定位和大小调整到工作空间
802的象限区域。响应于此,窗口管理器132将应用窗口812的大小重新调整到工作空间802
的相邻象限区域。这些仅仅是可以如何实现方法300和500以便对被分屏的应用窗口进行定
位或大小调整的几个示例。

应用窗口的基于区的大小调整和定位

图9描绘了用于应用窗口的基于区的大小调整的方法900,包括由窗口管理器132或多
应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,可以对图1的系统100、图2的操作
环境200以及在本文其他地方描述的其他方法和示例性实施例进行参考,?#36816;?#20204;进行参考
仅是为了示例。

在902,在具有预定义区域的用户界面中呈现应用窗口。应用窗口可以在预定义区
域之一中或在预定义区域之上呈现。每个预定义区域对应于用户界面的区。在一些情况下,
用户界面的区(例如,边缘)被用来触发将应用窗口放置到这些预定义区域(例如,象限)的
对应一个?#23567;?#29992;户界面的这些区可以是默认区,诸如屏幕边缘、或包括屏幕的任何区段的用
户定义区。在一些情况下,预定义区域可以在用户界面内具有相关联的大小或位置,诸如象
限大小、一半大小、最大化大小、最小化大小等等。用户界面可以被实现为多应用环境。

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

示例性工作空间1010包括象限区域,?#28909;?#35937;限分屏区域1012、1014、1016和1018,
其分别对应于转角区1020、1022、1024和1026。转角区可以被定义为正方?#20301;?#22278;形(例如,转
角区1026),并且可以具有预定义的大小,例如大约25像素的宽度或半径。在工作空间1028
中示出了其它示例性半区域,其包括半分屏区域1030和半分屏区域1032。边缘区1034可以
对应于工作空间的最大化区域,或者在纵向取向的显示器的情况下,可以对应于半分屏区
域1030。最后,半分屏区域1032对应于沿着工作空间1028的底部设置的边缘区1036。

在一些实施例中,可以取决于期望的输入的类型来更改区的大小。例如,当接收到
诸如鼠标输入这样的更精确的输入时,区可以具有更小的大小,因为用户可以容易地衔接
(engage)预期的区。在其它情况下,当接收到?#28909;?#35302;摸输入或?#36136;?#36755;入这样的不太精确的
输入时,?#31245;?#21152;区(例如,边缘区或转角边缘)的大小。替换地或附加地,可以基于显示器拓
扑来更改区的大小,诸如提供显示器的边缘在那里相遇的更大的区,以使得能进行更准确
的区选择。

在904,基于预定义区域之一来更改应用窗口的大小。响应于将应用窗口移动到与
预定义区域相对应的区中的输入,更改应用窗口的大小。在一些情况下,应用窗口被定位为
占据预定义区域的一部?#21482;?#20840;部。移动应用窗口的输入可以包括任何合适的输入,诸如通
过应用窗口接收的边缘触发或方向输入(例如,拖动)。例如,将应用窗口拖动到转角区中会
把该应用窗口的大小调整到对应于该转角区的象限?#23567;?#22240;此,可以通过将应用窗口移动到
对应区来将该应用窗口的大小调整到工作空间的任何预定义区域。

图11描绘了用于应用窗口的基于区的大小调整和定位的方法1100,包括由窗口管
理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,可以对图1的系统
100、图2的操作环境200以及在本文其他地方描述的其他方法和示例性实施例进行参考,对
它们进行参考仅是为了示例。

在1102,接收输入以在具有预定义区域的用户界面内移动应用窗口。接收的输入
可以包括任何合适类型的输入,诸如键击、方向输入、?#36136;?#36755;入等。例如,输入可以包括经由
鼠标或一个或多个键击(?#28909;鏦indowsTM键和箭头键)来选择和拖动该应用。在其他实例中,
可以将应用拖动到与预定义区域之一相对应的区?#23567;?br />

在1104,基于该输入和应用窗口的状态来选择用户界面的预定义区域。应用窗口
的状态可以包括当前大小、当前位置、在z堆栈中的当前深度、或应用窗口占据的当前预定
义区域。预定义区域可以包括任何预定义区域,诸如用户定义的区域、或本文所描述的其他
预定义区域,?#28909;?#20998;屏区域。在一些实施例中,预定义区域也可以是交叠的,并且在窗口的z
堆栈中具有可定制的深度。通过这样做,可以创建有变化的首要性或深度的应用窗口布局。

使用应用窗口的状态可以使得能进行应用窗口的动态大小调整和定位。作为示
例,可以使用状态机来确定对预定义区域或应用窗口状态的选择。在一些情况下,基于应用
窗口的当前状态和所接收的输入来访?#39318;?#24577;机可以为应用窗口选择下一预定义区域或下
一状态。

考虑图12,其图示了用于为应用窗口动态选择预定义区域或状态的示例性状态机
1200。这里,图例1202指示响应于接收到的相应输入——诸如在按住WindowsTM键的同时按
下箭头键——而发生哪些状态转移。如状态机1200的状态所示,可以通过输入一系列键击
来选择预定义区域,以达到相应的状态。在该特定示例中,状态机1200包括用于半区域的状
态,半区域诸如是左半部1204、右半部1206、分裂(split)顶部1208和分裂底部1210。状态机
还包括用于象限区域的状态,象限区域诸如是左上四分之一1212、左?#28388;?#20998;之一1214、右上
四分之一1216和右?#28388;?#20998;之一1218。此外,状态机1200的其它预定义区域或状态也是可选
择的,并且包括最小化1220、还原1222和最大化1224。替换地或附加地,用户可以将一个或
多个状态或其他按键组合?#25104;?#21040;工作空间的定制的用户定义区域。

返回到手边的方法,在1106处,更改应用窗口的大小和位置,使得应用窗口将填充
预定义区域。在一些情况下,应用窗口的大小被调整成填充用户界面的象限区域或半区域。
在其他情况下,应用窗口可以被最小化或者在当前呈现的应用窗口的z堆栈中更深地?#23548;丁?br />如上所述,预定义区域可以是用户定义的,诸如在用户界面或多应用环境的?#34892;?#30340;放落区。

作为示例,考虑图13的工作空间1300,其图示了定制的放落区域1302、1304和
1306。这些定制的放落区域可以由用户定义并且?#25104;?#21040;区(例如,在工作空间中间的区)或
按键组合,使得应用窗口的大小和位置被更改成填充该放落区域。这些放落区域可以以任
何合适的方式来配置,诸如通过存储应用窗口的大小、位置或在z堆栈中的深度来作为工作
空间的用户定义区域。

可选地,在1108,预览应用窗口以可视地指示该应用窗口的更改的大小和位置。应
用窗口的预览可以被示为应用窗口或其内容的非不透明(或部分透明)表示。在一些情况
下,接收附加输入,其确认应用窗口在该预定义区域中的被预览的放置。在这样的情况下,
方法500可以响应于用来?#20449;擔╟ommit)如预览的应用窗口的输入而前进到操作1110。

替换地,附加输入可以选择预定义区域中的另一个来在其中呈现该应用界面。这
可以?#34892;?#22320;使得方法500返回到操作1102来用于选择另一预定义区域。在另外的其他情况
下,可以以施加在应用窗口或其预览上的?#20013;?#25302;动或惯性的形式来接收附加输入。响应于
这种?#20013;?#30340;拖动或惯性(例如,进入边缘区),可以在预定义区域中重新调整应用窗口的预
览的大小,或将其大小调整到另一预定义区域。

在1110,以更改的大小和位置在用户界面的预定义区域中呈现应用窗口。在一些
情况下,根据与用户界面的预定义区相关联的深度,以z堆栈中的特定深度来呈现应用窗
口。以更改的大小和位置呈现应用可以?#34892;?#22320;填充预定义区域。这个的示例由工作空间
1308图示,其中搜索应用1310被调整大小和定位为填充放落区域1302。在图13的上下文中,
可以重复方法1100的操作以分别用图像应用1312和记事本应用1314来填充放落区域1304
和1306。

用于应用窗口的动态接合处分隔器

图14描绘了用于在应用窗口之间建立接合处分隔器的方法1400,包括由窗口管理器
132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,可以对图1的系统100、图
2的操作环境200以及在本文其他地方描述的其他方法和示例性实施例进行参考,?#36816;?#20204;进
行参考仅是为了示例。

在1402,在多应用环境的第一应用窗口和第二应用窗口之间建立接合处分隔器。
响应于第一应用窗口的边?#21040;?#35302;(例如,无交叠地触到)第二应用窗口的边缘而建立接合处
分隔器。在一些情况下,接合处分隔器沿着每个应用窗口的接触中的相应区段建立。在其他
情况下,接合处分隔器沿着每个相应的应用窗口的整个长度建立,而?#36824;?#24212;用窗口之间的
接触量。应用窗口的边缘之间的接触可以由任何合适的操作引起,诸如对多应用环境中的
应用窗口之一进行移动、分屏、添加或大小调整。接合处分隔器还可以沿着应用窗口的任何
可见边缘建立。在一些情况下,建立接合处分隔器可以限于被分屏的应用窗口并且排除未
被分屏或浮动的应用窗口。

在一些实施例中,接合处分隔器在沿着一个或多个边?#24403;舜私?#35302;的多个应用窗口
之间建立。例如,当两个应用窗口的相应边?#21040;?#35302;第三应用窗口的边缘时,可以建立单个接
合处分隔器。替换地,当应用窗口在应用窗口的相应转角处彼?#31169;?#35302;时,可以形成复杂的接
合处分隔器。替代地或附加地,建立接合处分隔器将应用窗口聚集(group)(或相关)在一
起,使得能对被聚集的应用窗口执行操作。例如,被聚集的应用窗口可以被一起打开、关闭、
最小化、重新调整大小、被切换到/从其切换或者移动。此外,对被聚集的应用窗口取消聚集
可以使先前被聚集的应用窗口返回到它们各自的原始状态。在一些情况下,在切?#36824;?#33021;可
见性(affordance)中一起呈现被聚集的应用窗口,切?#36824;?#33021;可见性诸如是开始?#35828;ァ?#24212;用
管理UI或热键切换器(例如,ALT + Tab或WindowsTM + Tab)。

可以在彼?#31169;?#35302;的两个或更多个应用窗口的相应边缘上随时随地建立接合处分
隔器。作为示例,考虑图15,其图示了在工作空间1500、1502和1504中的各?#32440;?#21512;处分隔器。
工作空间1500包括建立在象限分屏的应用窗口之间的接合处分隔器1506和建立在象限分
屏的应用窗口和半分屏的应用窗口之间的接合处分隔器1508。也可以在如工作空间1502中
所示的被遮挡的应用窗口之间建立接合处分隔器,其中应用分隔器1510被建立在部分被遮
挡?#20918;?#20998;屏的应用窗口之间。此外,在被遮挡且浮动的应用窗口之间建立应用分隔器1512,
所述被遮挡且浮动的应用窗口不是处在应用窗口的z堆栈中的最高级别。

在1404,呈现由第一应用窗口和第二应用窗口共享的接合处分隔器。呈?#32440;?#21512;处
分隔器可以包括提供接合处分隔器的视觉或触觉指示。例如,在共享接合处分隔器的应用
窗口的边缘上呈?#36136;?#35273;指示。在其他情况下,接合处分隔器在共享该接合处分隔器的两个
应用窗口之间呈现。在这样的情况下,可以减小一个或两个应用窗口的大小,以提供用于呈
?#32440;?#21512;处分隔器的空间。替换地或附加地,触觉反馈(例如,凸起或起伏)可以被用来指示接
合处分隔器的存在。在一些情况下,接合处分隔器响应于接近接合处分隔器的输入或光标
移动而被呈现。

在一些实施例中,还呈?#32440;?#21512;处分离控件或功能可见性以使得接合处分隔器能够
被禁用。接合处分离控件可以呈现在接合处分隔器的某个区段上、接合处控件的某个边缘
上或接合处控件的两个边缘上。在一些情况下,接合处分离控件使得用户能够“解开
(unbuckle)”接合处分隔器,这使得能对先前共享接合处分隔器的应用窗口个别地进行大
小调整或移动。接合处分隔器也可以通过其他操作而被禁用,其他操作诸如是双击接合处
分隔器、在按住键(例如,CTRL)的同时点击接合处分隔器,或者通过经由不是接合处分隔器
的组成部分的边缘来对应用窗口进行大小调整或移动而被禁用。

接合处分隔器可以响应于在应用窗口之间建立接合处分隔器而被呈现。替换地,
接合处分隔器可以存在而不被呈现,直到接收到接近接合处分隔器的输入或光标移动。图
16图示了响应于光标移动而呈?#32440;?#21512;处分隔器的示例。光标的移动在开始于工作空间1600
的所图示工作空间的连续系列中示出,工作空间1600包括应用窗口1602、应用窗口1604和
光标1606。

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

在1406,经由接合处分隔器接收关于更改第一应用窗口和第二应用窗口各自的大
小的输入。接收的输入可以包括任何合适类型的输入,诸如经由光标移动接收的方向输入、
触摸输入或箭头键。作为示例,考虑图17的示例性工作空间1700,其包括由应用窗口1704和
1706共享的接合处分隔器1702。在这个特定示例中,接合处分隔器1702还包括接合处分离
控件,以使得能对应用窗口1704和1706个别地进行大小调整。这里,关于在横向上对应用窗
口1704和1706进行大小调整的输入经由光标1710被接收。

在1408,响应于输入,同?#22791;?#25913;第一应用窗口和第二应用窗口各自的大小。应用窗
口各自的大小可以随着接收到输入(诸如定向的光标移动)而被更改。例如,可以通过沿着
接收到输入的轴滑动接合分隔器而在视觉上指示应用窗口的更改的大小。因此,滑动接合
处分隔器可以在视觉上指?#38236;?#19968;和第二应用窗口的同时的大小调整。

替换地或附加地,接合处分隔器可以对于沿着工作空间的边缘的中点展现吸引力
或亲和力(例如,磁性)。这可以?#34892;?#22320;帮助用户在对称布局中调整窗口大小。在一些情况
下,可以响应于键输入(例如,按住CTRL键)而禁用对于沿着工作空间的边缘的点的吸引。

在图17的上下文中,基于接合处分隔器1702到工作空间1712中所示的某个位置的
移动来对应用窗口1704和1706调整大小。在这个特定示例中,还图示了接合处分离控件的
特征。这里,经由接合处分离控件1708接收关于独立地调整应用窗口1704大小的附加输入。
如图所示,从光标1710接收的输入在相反的横向上调整应用窗口1704的大小。结果,如工作
空间1714中所示,应用窗口1704与应用窗口1706分离,从而禁用接合处分隔器,并且大小被
调整为显露先前被遮挡的应用窗口1716。

图18描绘了用于利用接合处分隔器来对应用窗口进行大小调整和定位的方法
1800,包括由窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,
可以对图1的系统100、图2的操作环境200以及在本文其他地方描述的其他方法和示例性实
施例进行参考,?#36816;?#20204;进行参考仅是为了示例。

在1802,在多应用环境中呈现在第一应用窗口和第二应用窗口之间共享的接合处
分隔器。呈?#32440;?#21512;处分隔器可以包括提供接合处分隔器的视觉或触觉指示。例如,在共享接
合处分隔器的应用窗口的边缘之间或之上呈?#36136;?#35273;指示。替换地或附加地,触觉反馈(例
如,凸起或起伏)可以被用来指示接合处分隔器的存在。作为示例,考虑图19的工作空间
1900,其中应用窗口1902和应用窗口1904共享接合处分隔器1906。这里,接合处分隔器1906
在应用窗口1902和应用窗口1904的接触的边缘上被在视觉上指示。

在1804,经由接合处分隔器接收关于增加第一应用窗口大小的输入。在一些情况
下,关于增加第一应用窗口大小的输入可以指示在朝向第二应用窗口的方向上增加第一应
用窗口的大小。在这样的情况下,取决于第二窗口相对于工作空间的边缘的位置,输入可以
指示调整第二应用的大小、移动第二应用或者在窗口的z堆栈中将第二应用更深地?#23548;丁?#20363;
如,不接触多应用环境的边缘的应用窗口可以被移动而不是被调整大小。

接收的输入可以包括任何合适类型的输入,诸如经由光标移动、触摸输入或箭头
键而接收的方向输入。在当前示例的上下文中,经由如图19的工作空间1900中所示的应用
分隔器接收方向输入。在这里要注意,应用窗口1904不与工作空间1900的边?#21040;?#35302;,并且因
此可移动而不被调整大小。

在1806,响应于接收到的输入,增加第一应用窗口的大小。当第一应用窗口的大小
增加时,第二应用窗口同时被移动以便?#34892;?#22320;维持第二应用窗口的大小。第二应用窗口的
移动可以继续,直到遇到多应用环境的边缘。继续正在进行的示例,应用窗口1902的大小被
增加,同时应用窗口1904朝向工作空间1908的边缘移动。

操作1808、1810和1812是可选的,并且可以响应于附加输入或对第一应用窗口的
大小的进一步增加而被执?#23567;?#22312;1808,响应于第二应用窗口的边缘遇到多应用环境的边缘,
减小第二应用窗口的大小。当第一应用窗口的大小继续增加时,发生第二应用窗口大小的
减小。可以减小第二应用窗口的大小,直至达到最小窗口大小。在图19的上下文中,这在层
视图1908中图示,其中接合处分隔器1906的继续移动增加了应用窗口1902的大小,并且减
小了应用窗口1904的大小。

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

在1812,响应于接合处分隔器遇到多应用环境的边缘,将第二应用窗口?#23548;?#21040;多
应用环境的另一层。在一些情况下,第二应用窗口被更深地推入到应用窗口的z堆栈?#23567;?#26367;
换地或附加地,第二应用窗口的大小可以被还原到默认大小或者被移动之前的大小。这可
以?#34892;?#22320;使得第二应用窗口能够被还原或被切换到,而不重新调整大小。总结本示例,应用
窗口1904以还原的大小被?#23548;?#21040;工作空间的下一层。因此,应用窗口1904可以被还原或被
切换到,而不重新调整大小。

也可以在多个应用窗口之间建立接合处分隔器,并且可以将其称为复合式接合处
分隔器。多个应用窗口的大小调整或移动可以通过相对于方法1400或1800描述的操作来实
现。作为示例,考虑图20,其包括示例性工作空间2000和2002,图示了在多个应用窗口之间
建立的接合处分隔器。在工作空间2000的上下文中,接合处分隔器2004使得能调整彼此相
邻并且共享接合处分隔器2004的应用窗口2006和2008的大小。在应用窗口2006、2008和
2012的边缘之间共享的接合处分隔器2010使得能调整所有三个应用窗口的大小。

这个方面可以被扩展到如工作空间2002中所示的四个应用窗口,工作空间2002包
括应用窗口2014、2016、2018和2020。在该示例中,接合处分隔器2022、2024、2026和2028每
个都使得能调整它们的共享边缘的相应相邻窗口的大小。例如,接合处分隔器2022调整应
用窗口2014和2016的大小,但是不调整应用窗口2018或2020的大小。替换地或附加地,当调
整多个窗口的大小时,接合处分隔器可以响应于将多个窗口之一的大小调整到最小尺寸而
解除(separate)或“解开”。

复合式接合处分隔器还可以被实现来维持窗口的独立性或者将改变局限于特定
窗口。例如,考虑图20的工作空间2030、2032和2034,其图示了共享接合处分隔器的三个浮
动应用窗口。这里,应用窗口2036、2038和2040共享接合处分隔器2042。如工作空间2030所
示,经由由应用窗口2036和2040共享的接合处分隔器2042的某个区段接收的输入2044调整
那些应用窗口的大小,但是不调整应用窗口2038的大小。在工作空间2032中示出了这种独
立的大小调整的另一示例,其中输入2046在应用窗口2036和2038之上对应用窗口2040进行
大小调整。替换地,经由由应用窗口2038和2040共享的接合处分隔器的某个区段接收的输
入2048可以对这些应用窗口进行大小调整,正如工作空间2034所示的。

接合处分隔器还可以组合地被实现来提供接合处转角。接合处转角使得能在一个
或两个轴上进行应用窗口的大小调整,并且可以调整共享该接合处转角的至少两个应用窗
口的大小。图20图示了转角接合处的各?#36136;?#20363;,正如工作空间2100和2102中所示的。在工作
空间2100中,转角接合处2104使得应用窗口2106、2108、2110和2112能够在两个轴上被调整
大小。

在一些情况下,当两个应用窗口共享转角而不是公共边缘时,可以建立接合处转
角。这个的示例由工作空间2102图示,其中应用窗口2114和2116在转角处相遇并且共享接
合处转角2118。这里,接合处转角2118使得能在两个轴上调整应用窗口2114和2116的大小。
如同接合处分隔器一样,可以响应于到达应用窗口最小尺寸或其他合适的输入(诸如键输
入或从不是接合处转角的一部分的边缘拖动应用窗口)来禁用接合处转角。

每当应用窗口的转角接触或触到彼此时,可以建立接合处转角。窗口管理器132可
以通过跟踪各个窗口的转角或两个相邻边缘来建立或维持接合处转角。返回图21,考?#21069;?br />括应用窗口2122、2124和2126的示例性工作空间2120。这些窗口中的每一个包括一转角,它
们各自的边缘中的两个在该转角处相遇。这里,窗口管理器132跟踪边缘2128、2130和2132
以建立或维持用于这些应用窗口的接合处转角。

窗口管理器132还可以跟踪各个应用窗口的边缘以建立或维持接合处分隔器。作
为示例,考虑图22,其中工作空间2200包括应用窗口2202和2204。应用窗口2202和2204共享
接合处分隔器2206,并且因此可以通过经接合处分隔器接收的输入来调整大小。为了使能
调整大小或其他接合处分隔器操作,窗口管理器132可以构建?#35272;?#38142;(dependency chain)
来跟踪应用窗口的各个边缘。

在图22的上下文中并且如详细视图2208所示,接合处分隔器2206包括应用窗口
2202的边缘2210和应用窗口2204的边缘2212。这里,光标2214悬停在应用窗口2204的边缘
2212上,并且窗口管理器132可以构建相对于边缘2212和光标2214的位置的?#35272;?#38142;。从边缘
2212开始,窗口管理器确定哪些其它应用窗口边缘与边缘2212接触。这里,如详细视图2216
所示,边缘2210被确定为接触边缘2212,且因此受到接合处分隔器2206的影响。

替换地或附加地,当执行接合处分隔器操作时,可忽视并忽略非毗邻边缘。例如,
在详细视图2218中,窗口管理器132确定应用窗口2220和2222的边缘与边缘2212接触。然
而,应用窗口2224的边缘由于居间的应用窗口2226而被确定为不与边缘2212接触,并且可
以被忽视。如详细视图2228所示,应用窗口2226也可以被确定为不接触边缘2212,并且对于
接合处分隔器操作也可以被忽视。

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

应用窗口的辅助呈现

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

在2402,在多应用环境的可用区中呈现应用窗口的可视表示。可视表示对应于可
选择来或适于在可用区域中呈现的应用窗口,诸如可以被调整大小以完全占据可用区的应
用窗口。应用窗口的可视表示可以包括应用窗口的文本、图标或缩小尺寸的图像,诸如缩略
图图像。这些缩小尺寸的图像可以可视地指示应用窗口内容或先前呈现的内容的预览。

在一些实施例中,经由可用区中的提示或其他应用选择界面来呈现应用窗口的可
视表示。在一些情况下,响应于在多应用环境的另一区中呈现另一应用——诸如在象限区
域或半区域中呈现另一应用的分屏操作——而呈现该可视表示。在其他情况下,响应于经
由应用选择控件(诸如用来调用提示或应用选择界面的控件)接收的输入而呈现该可视表
示。应用选择控件可以被实现为接近地沿着可用区域的边缘的悬停区或图形标签。

应用选择控件还可以响应于光标移动或“推”入多应用环境的边缘区的其他输入
而被呈现。推移动可以包括双推移动或在工作空间或屏幕区域的某个距离上的移动。在一
些情况下,使用特定准则来检测推移动,以避免把与边缘的无意中的接触(例如,滚动滚动
条)认作为推移动。例如,一旦光标的移动停留在边缘区处或恰好在边缘区内,则进一步进
入边缘区的后续“推?#20445;?#20363;如,双推)可以调用应用选择控件。替换地,如果光标离开边缘区、
暂停的时长未能满足预定义阈值或光标继续移动穿过边缘区而不暂停,则可以不调用应用
选择控件。

在一些实施例中,还可以考虑在遇到边缘区之前光标的移动。可以跟踪光标移动
的垂直和水平分量以确定光标是否以足够的角度跨工作空间行进得足够远或行进到边缘
区?#23567;?#20316;为示例,当遇到水平边缘时,可以响应于确定光标行进了至少150个垂直像素并且
在边缘区内相比于水平移动被更多地垂?#24065;?#21160;,而调用应用选择控件。类似的准则可以被
应用于垂直边缘区,?#28909;?#36890;过确定光标在边缘区内相比于垂直地移动被更多地水平移动。
替换地或附加地,光标移动或其他输入可以由状态机跟踪,该状态机被配置为响应于这些
准则被满足而调用或触发应用选择控件的呈现。

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

应用选择控件2510被实现为沿着可用区2504的边缘的悬停区,并且响应于接近光
标2516(或触摸输入)而出现。悬停区可以具有沿着工作空间的边缘的预定义宽度或区域,
例如10到25个像素。应用选择控件2510使得用户能够触发或调用应用选择提示2508,其然
后可以以上下文方式向用户呈现所有活动的应用窗口。替换地或附加地,解除控件2415使
得应用选择提示2508能够被暂时地解除(或隐藏),或被解除(或隐藏)直到随后与光标接近
或其他输入。这里,假设用户已经轻敲应用选择控件2510以调用应用选择提示2508。响应于
该输入,应用选择提示2508被呈现,并且包括最新近被用户访?#20351;?#30340;应用窗口的可视表示
(例如,缩略图)。

替换地或附加地,可以响应于在多应用环境的另一区中呈现另一应用窗口而呈现
该应用窗口的可视表示。这可以?#34892;?#22320;使用户能够容易地为可用区选择应用窗口之一,以
完成多应用环境中的应用窗口的布局。

在图25的工作空间2518中示出了这个的示例,其中边缘触发2520经由应用窗口
2522被接收。边缘触发2520将应用窗口2522半分屏到工作空间2518的边缘,并且应用窗口
2522在半分屏区中呈现。此示例图示了其中边缘触发或与边缘的其他接触可以?#34892;?#22320;使得
应用窗口呈?#21482;頡?#20998;屏”到与该边缘对应的预定义区域中的仅一个实例。这里,注意,未分屏
的(例如浮动的)应用窗口2524在应用窗口2522的半分屏操作之前被部分地遮挡。响应于应
用窗口2522在半分屏区中的呈现,对应于未分屏的应用窗口2524的可视表示2528在应用选
择提示2528中呈现。

在2404,在可用区中呈现应用窗口之一。响应于接收关于选择可视表?#23616;?#19968;的输
入,呈现对应的应用窗口。在一些情况下,经由诸如应用管理UI、开始?#35828;?#25110;基于键的应用
切换器(例如,ALT + Tab键)这样的其他应用选择用户界面来接收选择可视表示的输入。

应用窗口被调整大小和定位为填充或完全占据可用区。在呈现应用窗口之前,可
以呈现应用窗口的预览以可视地指示可用区内的应用窗口的大小和位置。在图25和工作空
间2500的上下文中,用户轻敲电子邮件应用图块2530将使对应的电子邮件应用填充可用区
2504。因此,通过单个轻敲输入,用户能够方便地优化工作空间的布局。

图26描绘了用于识别在其中呈现应用窗口的多应用环境的可用区的方法2600,包
括由窗口管理器132或多应用环境模块118执行的操作。在以下?#33268;?#30340;一些部分中,可以对
图1的系统100、图2的操作环境200以及在本文其他地方描述的其他方法和示例性实施例进
行参考,?#36816;?#20204;进行参考仅是为了示例。

在2602,识别多应用环境的可用区。可用区可以包括能在其中呈现应用界面的任
何合适的区,诸如工作空间或屏幕的矩形区。可以响应于在多应用环境的另一区中呈现另
一应用窗口而执行可用区的识别。可以经由任何合适的操作,诸如分屏操作、经由动态接合
处分隔器的大小调整或基于区的大小调整,而在其他区中呈现其他应用窗口。在一些情况
下,可用区被识别为不包括未遮挡窗口的区或可以被应用窗口完全占据的区。替换地或附
加地,针对多应用环境的主要的或最前面的一层(例如,z堆栈的顶部)?#35789;?#21035;可用区。

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

可选地,在2604,确定可选择用于在可用区中呈现的应用窗口。这些应用窗口可以
包括任何合适的应用窗口,诸如被遮挡的、被部分遮挡的、最小化的或与另一活动或打开的
应用窗口聚集的应用窗口。供选择的候选应用窗口还可以进行大小调整以便填充可用区,
因此可以排除固定大小的应用窗口和被分屏到其他区的应用窗口。

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

替换地或附加地,确定应用窗口的可视表示的?#25215;?#25110;布局。这种?#25215;?#25110;布局可以
基于应用窗口的任何特性或属性来确定,诸如最频繁使用的、最新近使用的、名称、标题、大
小、在z堆栈中的位置或者与另一个活动或打开的应用窗口聚集。

在2608,经由可视表?#23616;?#19968;来接收对于选择应用窗口的相应一个的输入。输入可
以包括任何合适的输入,诸如光标输入、?#36136;?#36755;入或触摸输入。在一些情况下,触摸输入包
括轻敲或象限分屏或半分屏到可用区。继续正在进行的示例,经由应用窗口2706的可视表
示来接收象限分屏触发2716。

在2610,在可用区的至少一部分中呈现所选择的应用窗口。应用窗口被大小调整
和定位为填充或完全占据可用区。在呈现应用窗口之前,可以呈现应用窗口的预览以可视
地指示可用区内的该应用窗口的大小和位置。可选地,可以重复执行方法2600的操作以填
充多应用环境的其他可用区。通过这样做,可以以最小的用户交互提供应用窗口的优化布
局。

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

总结本示例,窗口管理器132对应用窗口2706进行大小调整和定位以填充工作空
间2700的象限,如2718所示。此外,窗口管理器132然后可以识别工作空间2700的可用区
2720,在其中呈现应用窗口2704和2708的可视表示。这里,假设经由应用窗口2708的可视表
示接收到轻敲输入2722。作为响应,窗口管理器132对应用窗口2708进行大小调整和定位,
以填充工作空间2700的象限区,如2724所示。因此,仅使用三个输入实例,便已在工作空间
2700中提供了应用窗口的布局。

这些方法的各方面可以在?#24067;?#20363;如,固定的逻辑电路)、固件、片上系统(SoC)、软
件、手动处理或其任何组合中实现。软件实现表?#38236;?#30001;计算机处理器执行时完成指定任务
的程序代码,诸如软件、应用、例程、程序、对象、组件、数据结构、过程、模块、函数等。程序代
码可以被存储在相对于计算机处理器本地的和/或远程的一个或多个计算机可读存储器设
备?#23567;?#36825;些方法还可以在分布式计算环境中由多个计算设备来实践。

示例性设备

图28图示了示例性设备2800的各种组件,示例性设备2800可以被实现为如参考前面的
图1-28所描述的任何类型的客户端、服务器和/或计算设备,以实现使得能进行应用窗口的
基于区的大小调整和定位的技术。在实施例中,设备2800可以被实现为有线和/或无线设备
之一或者其组合,被实现为以下形式:电视客户端设备(例如,电视机顶?#23567;?#25968;?#33268;?#20687;机
(DVR)等)、消费者设备、计算机设备、服务器设备、便携式计算机设备、用户设备、通信设备、
视频处理和/或再现设备、电器设备、游戏设备、电子设备,和/或被实现为另外类型的设备。
设备2800还可以与操作该设备的用户(例如,人)和/或实体相关联,使得设备描述包括用
户、软件、固件和/或设备组合的逻辑设备。

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

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

设备2800包括一个或多个处理器2810(例如,微处理器、控制器等中的任一个),其
处理各种计算机可执行指令以控制设备2800的操作并使能那些使能多应用环境的技术。替
换地或附加地,设备2800可利用?#24067;?#22266;件或固定逻辑电路中的任一个或其组合来实施,其
被结合总地以2812标识的处理和控制电路来实施。虽然未示出,但设备2800可包括用来耦
合设备内的各种组件的系统总线或数据转移系统。系统总线可以包括不同总线结构中的任
何一个或其组合,?#28909;?#23384;储器总线或存储器控制器、外围总线、通用串行总线和/或利用各
种各样总线架构中的任一种的处理器或局部总线。

设备2800还包括计算机可读存储介质2814,诸如使得能进行持久和/或非暂态数
据存储(即,对比于仅仅信号传输)的一个或多个存储器设备,其示例包括随机存取存储器
(RAM)、?#19988;资源?#20648;器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多
个)以及盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备,诸如硬盘驱动
器、可记录和/或可重写压缩盘(CD)、任何类型的数字通用盘(DVD)等。设备2800还可以包括
大容量存储介质设备2816。

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

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

结论

虽然已经以特定于特征和/或方法的语言描述了使得能进行应用窗口的基于区的大小
调整和定位的技术和装置的实施例,但是应当理解,所附权利要求的主题不一定限于所描
述的具体特征或方法。相反,这些具体特征和方法是作为使得能进行应用窗口的基于区的
大小调整和定位的示例性实现而?#36824;?#24320;的。

关于本文
本文标题:应用窗口的基于区的大小调整和定位.pdf
链接地址:http://www.pqiex.tw/p-6091709.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

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


收起
展开
平码五不中公式规律 二八杠游戏网站 奔驰宝马最新版 西洋棋马怎么走 博彩游戏老虎机网址 开什么半成品店加工最赚钱 在天涯发表文章咋赚钱 玩极速时时是骗局吗 手机打鱼有挂是真的吗 香港王中王博彩王网站 广东的十一选五