CN116368468A - 用于经由操作***用户界面提供选项卡预览的***和方法 - Google Patents

用于经由操作***用户界面提供选项卡预览的***和方法 Download PDF

Info

Publication number
CN116368468A
CN116368468A CN202180068597.1A CN202180068597A CN116368468A CN 116368468 A CN116368468 A CN 116368468A CN 202180068597 A CN202180068597 A CN 202180068597A CN 116368468 A CN116368468 A CN 116368468A
Authority
CN
China
Prior art keywords
application
tab
window
proxy
tabs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180068597.1A
Other languages
English (en)
Inventor
G·T·小马托克斯
R·N·卢恩根
R·E·希金斯
W·J·德弗罗
J·M·哈利特-胡克
L·E·G·莫顿
K·T·布雷迪
K·M·小图布斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN116368468A publication Critical patent/CN116368468A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文描述的实施例涉及经由操作***的图形用户界面同时显示针对应用窗口的代理窗口和/或包括在这样的应用窗口中的选项卡。例如,与支持选项卡式文档界面(TDI)的应用相关联的应用编程接口(API)提供与在与该应用相关联的应用窗口内打开的每个选项卡相关联的信息。操作***的API接收并利用这些信息来生成并显示针对每个选项卡的代理窗口。针对选项卡的代理窗口可以与针对其它应用的应用窗口的代理窗口一起显示。可以响应于操作***图形用户界面的各种功能的用户调用来生成和显示代理窗口,这些功能包括但不限于任务切换器功能、任务栏功能或窗口捕捉功能。

Description

用于经由操作***用户界面提供选项卡预览的***和方法
背景技术
操作***提供使用户能够在不同任务或应用之间快速切换的各种用户界面。在这种界面中,向用户提供当前被打开的每个应用窗口的预览。然而,这不能提供用户正在进行的所有任务的完整和准确的视图。例如,某些应用可使用选项卡式文档界面(tabbeddocument interface,TDI),它是允许多个文档或面板被包含在单个应用窗口内的图形界面。每个文档或面板可以使用被选择来查看对应文档或面板的对应的选项卡来访问。当提供针对应用窗口的预览时,操作***将特定应用窗口的预览限制为应用窗口当前显示的内容(即,最后活动选项卡中被显示的内容)。因此,被包括在非活动选项卡中的任何文档或面板保持对用户隐藏。因此,为了切换到该选项卡,用户必须首先导航到应用窗口,并且随后选择期望的选项卡。
发明内容
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
描述了用于经由操作***的图形用户界面同时显示针对应用窗口的代理窗口和/或包括在这样的应用窗口中的选项卡(子视图)的方法、***、装置和计算机可读存储介质。例如,与支持选项卡式文档界面(TDI)的应用相关联的应用编程接口(API)提供与在与该应用相关联的应用窗口内打开的每个选项卡相关联的信息。操作***的API接收并利用这些信息来生成并显示针对每个选项卡的代理窗口。选项卡的代理窗口可以与其它应用的应用窗口的代理窗口一起显示。可以响应于操作***图形用户界面的各种功能的用户调用来生成和显示代理窗口,这些功能包括但不限于任务切换器功能、任务栏功能或窗口捕捉功能。
下面参考附图详细描述实施例的其它特征和优点以及各个实施例的结构和操作。应注意,所述方法和***不限于本文所述的特定实施例。在此提出的这些实施例仅用于说明的目的。基于本文所包含的教示,相关领域的技术人员将明了其它实施例。
附图说明
结合于此并形成说明书一部分的附图示出了本申请的实施例,并与说明书一起进一步用于解释实施例的原理,并使相关领域的技术人员能够制造和使用这些实施例。
图1示出了根据示例实施例的用于经由操作***的图形用户界面来生成和显示选项卡的代理窗口的***的框图。
图2A-图2G描绘了例示根据示例实施例的使用任务切换器功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。
图3描绘了根据示例性实施例的示例性GUI菜单,当激活任务切换器功能时,该GUI菜单使得用户能够指定将经由代理窗口显示的多个最近的选项卡。
图4示出了根据示例实施例的由在计算设备上执行的操作***执行以同时显示针对应用窗口的代理窗口和应用窗口中包括的选项卡的方法的流程图。
图5示出了根据示例实施例的用于同时显示针对应用窗口的代理窗口和包括在应用窗口中的选项卡的***的框图。
图6A-图6H描绘了示出根据示例实施例的使用任务栏功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。
图7A-图7E描绘了例示根据附加示例实施例的使用任务栏功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。
图8示出了根据示例实施例的由在计算设备上执行的操作***执行以经由任务栏同时显示针对选项卡的代理窗口的方法的流程图。
图9示出了根据示例实施例的用于经由任务栏同时显示针对选项卡的代理窗口的***的框图。
图10A-图10H描绘了示出根据示例实施例的使用窗口捕捉功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。
图11示出了根据示例实施例的由在计算设备上执行的操作***执行的方法的流程图,该方法用于在激活窗口捕捉功能时同时显示应用窗口的代理窗口和应用窗口中包括的选项卡。
图12示出了根据示例性实施例的用于当窗口捕捉功能被激活时同时显示针对应用窗口的代理窗口和应用窗口中包括的选项卡的***的框图。
图13A-图13E描绘了根据示例实施例的用于为经由远程桌面应用执行的应用提供代理窗口的示例GUI。
图14是其中可以实现实施例的示例性用户设备的框图。
图15是可用于实现各种实施例的示例性基于处理器的计算机***的框图。
当结合附图时,从下面阐述的详细描述中,本文描述的实施例的特征和优点将变得更加明显,在附图中相同的附图标记始终标识相应的元件。在附图中,相同的附图标记通常表示相同,功能类似和/或结构类似的元件。元件首次出现的附图由相应附图标记中最左边的数字表示。
具体实施方式
Ⅰ.引言
以下详细描述公开了许多示例实施例。本专利申请的范围不限于所公开的实施例,而是还包括所公开的实施例的组合以及对所公开的实施例的修改。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括该特定特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,应认为结合其它实施例实现此类特征、结构或特性(无论是否明确描述)在本领域技术人员的知识范围内。
在讨论中,除非另有说明,否则修饰本公开的实施例的一个或多个特征的条件或关系特性的形容词(例如“基本上”和“约”)应理解为是指将条件或特性限定在对于其预期应用的实施例的操作可接受的公差内。
如下描述了多个示例性实施例。应注意,本文提供的任何部分/子部分标题不旨在是限制性的。贯穿本文档描述了实施例,并且在任何部分/子部分下可以包括任何类型的实施例。此外,在任何部分/子部分中公开的实施例可以以任何方式与在相同部分/子部分和/或不同部分/子部分中描述的任何其它实施例组合。
申请人明确放弃对附图中包含的任何第三方商标或受版权保护的图像/文本的任何权利。包括这样的标记和图像仅仅是为了说明的目的,并且构成它们各自所有者的唯一属性。
Ⅱ.实例性实施例
本文描述的实施例涉及经由操作***的图形用户界面同时显示针对应用窗口的代理窗口和/或被包括在这样的应用窗口中的选项卡(或子视图)。例如,与支持选项卡式文档界面(TDI)的应用相关联的应用编程接口(API)提供与在与该应用相关联的应用窗口内被打开的每个选项卡相关联的信息。操作***的API接收并利用这些信息来生成并显示针对每个选项卡的代理窗口。针对选项卡的代理窗口可以与针对其它应用的应用窗口的代理窗口一起被显示。可以响应于操作***图形用户界面的各种功能的用户调用来生成和显示代理窗口,这些功能包括但不限于任务切换器功能、任务栏功能或窗口捕捉功能。
本文描述的技术有利地改进了操作***的图形用户界面,因为用户界面提供了由用户操作的所有任务的增强视图,而不仅仅是***作的最后任务。例如,在每个选项卡呈现基于web的内容(例如,网页,web应用等)的实施例中,生成并显示每个网页和/或应用的代理窗口,从而使用户能够查看所有这样的网页或应用,并在选择其相应的代理窗口时快速切换到特定的网页或应用。此外,本文所述的技术改进了计算设备的功能。例如,这样的技术提供了更有效的用户导航手段,其需要相对于操作***的图形用户界面更少的用户交互以切换到特定任务。因此,当执行这样的操作时,较少量的计算资源(例如,输入/输出(I/O)操作、处理器周期、功率、存储器等)。
例如,图1示出了根据示例实施例的用于经由操作***的图形用户界面生成和显示针对选项卡的代理窗口的***100的框图。***100包括应用102、操作***104和共享存储器116。应用102可以是在特定应用窗口内提供多个选项卡、子视图或面板的任何类型的软件应用。此类应用的示例包括但不限于浏览器应用(诸如由华盛顿州雷蒙德市的微软公司发布的微软
Figure BDA0004164010290000051
)、电子表格应用(诸如由微软公司发布的微软/>
Figure BDA0004164010290000052
)、流程图/图表应用(诸如由微软公司发布的微软/>
Figure BDA0004164010290000053
)、远程桌面应用(诸如由微软公司发布的微软REMOTE DESKTOPTM)等。操作***104可包括执行与软件应用(例如应用102)的执行有关的任务的一个或多个组件。操作***104的示例包括但不限于由华盛顿州雷蒙德市的微软公司公布的微软WINDOWS操作***(OS)、Apple />
Figure BDA0004164010290000054
Google AndroidTM
Figure BDA0004164010290000055
或其它/>
Figure BDA0004164010290000056
变体。根据一个实施例,应用102和操作***104二者都在同一计算设备(未示出)上本地执行。根据另一实施例,应用102和操作***104中的每一个在不同的计算设备上执行。
同样如图1所示,应用102包括应用窗口106和选项卡管理器应用编程接口(API)108。应用窗口106包括经由操作***104的图形用户界面(例如,用户界面114)显示的查看区域(通常为矩形)。应用窗口106显示与应用102相关联的内容和/或用户界面(例如,图形用户界面)。如图1中进一步所示,应用窗口106可包括选项卡式文档界面(TDI),其中文档、网页、电子表格等经由应用窗口106内的选项卡110的相应的选项卡来显示。选项卡110中的每个选项卡是用户可选择的。选项卡110中的特定选项卡的选择使得对应的文档、网页、电子表格等被显示在应用窗口106内。例如,在应用102是浏览器应用的实施例中,每个选项卡可以显示特定的网页。在应用102是电子表格应用的实施例中,每个选项卡可显示特定的电子表格。在应用106是流程图/图表应用的实施例中,每个选项卡可以显示特定的流程图/图表。在应用102是远程桌面应用的实施例中,选项卡110中的每个选项卡可表示在不同计算机上执行并可经由远程桌面应用访问的应用的特定应用窗口。根据这样的实施例,选项卡110中的每个选项卡可被称为子视图,其中每个子视图表示在远程桌面应用内执行的应用(即,子应用)。
选项卡管理器API 108被配置为向操作***104共享与选项卡110相关联的信息,操作***104利用该信息将选项卡集成在操作***104内。例如,操作***104可利用这些信息来智能地提供表示应用窗口106中所包括的选项卡110中的每个选项卡的代理(或预览)窗口(与仅为选项卡110中的最后活动的选项卡(即,用户最后使用的选项卡)提供代理窗口相反),该代理窗口与操作***104所提供的各种用户界面功能有关。
可以针对为应用102打开的每个应用窗口(例如,应用窗口106)实例化选项卡管理器API 108,并且可以使用应用窗口的窗口标识符(例如,HWND)将选项卡管理器API 108与其对应的应用窗口相关联。因此,每个实例化的选项卡管理器API 108提供关于在选项卡管理器API 108被实例化的应用窗口内被打开的选项卡的选项卡信息。
同样如图1所示,操作***104包括至少一个选项卡数据模型API 112和用户界面114。操作***104可以为每个实例化的选项卡管理器API 108实例化至少一个选项卡数据模型API 112。例如,操作***104可以为操作***104所支持的每个用户体验(UX)表面实例化选项卡数据模型API 112。选项卡数据模型API 112还可使用应用窗口的窗口标识符与应用窗口(例如,应用窗口106)相关联。选项卡数据模型API 112被配置为从与其相关联的选项卡管理器API接收选项卡信息。
选项卡信息的示例包括但不限于在应用窗口106中被打开的选项卡110的数目、唯一标识该选项卡的标识符(即,选项卡标识符)、表示应用102的图标(例如,由用户与之交互以启动应用102的由操作***104显示的图标)、与多个选项卡中的每个选项卡相关联的标题(例如,文档的标题、网页的标题、电子表格的标题、绘图或流程图的标题等)、表示在选项卡110中的每个选项卡中被显示的内容的缩略图(例如,经由选项卡110显示的文档的内容、经由选项卡110显示的网页的内容和/或与其相关联的元数据/模式、经由选项卡110显示的电子表格的内容、经由选项卡110显示的绘图或流程图的内容等)。选项卡信息还可包括:经由选项卡110显示的网页的统一资源标识符、深度链接或任何其它标识符;当前活动的选项卡112中每个选项卡的选项卡的指示;表示选项卡110中的每个选项卡的时间被创建的时间戳;表示选项卡110中的每个选项卡被激活(或最后被激活)的时间的时间戳。
在应用102是浏览器应用的实施例中,选项卡信息还可包括标识其中包括选项卡110中的选项卡的组的组标识符。在一个示例中,该组可以指示与在特定选项卡中被显示的网站相关联的域(例如,公司或组织名称)。与相同域相关联的网页可以具有相同的组标识符。例如,由华盛顿州西雅图的Amazon.com,Inc发布的与Amazon.
Figure BDA0004164010290000071
相关联的网页可各自与第一组标识符相关联,而由加利福尼亚州圣布伦诺的YouTube,LLC公布的与YouTube.
Figure BDA0004164010290000072
相关联的网页可各自与第二组标识符相关联。根据该实施例,选项卡信息还可包括与选项卡110中显示的每个网站的域相关联的网站图标(favicon)。网站图标包括与特定网站相关联的图标,其表示与该网站相关联的域(例如,公司的徽标)。在另一示例中,组标识符标识选项卡110中的选项卡所属的类别(例如,工作、个人、文档、网站、购物、娱乐等)或用户身份或简档。
选项卡管理器API 108可被配置为经由应用102与操作***104之间共享的存储器将选项卡信息中的一些或全部提供给操作***104。例如,选项卡管理器API 108可以将一些或所有选项卡信息存储在共享存储器116中。共享存储器116可以包括存储在计算设备的存储设备上的页面文件,操作***104和/或应用102在该计算设备上执行。例如,页面文件可以被存储器映射到应用102的进程中(由此使得应用102能够向其写入选项卡信息),并且可以被存储器映射到操作***104的进程中(由此使得操作***104能够从其读取选项卡信息)。
在选项卡管理器API 108将选项卡信息存储到共享存储器116之后,选项卡管理器API 108可向选项卡数据模型API 112提供通知事件。响应于接收到通知事件,选项卡数据模型API 112可从共享存储器116检索选项卡信息。
根据一个实施例,选项卡管理器API 108被配置为在预定时间段期满之后提供通知。例如,选项卡管理器API 108可以利用定时器。每当关于选项卡做出改变时(例如,每当新的网页、文档、电子表格等被加载到选项卡中时,每当新的选项卡被打开时,每当选项卡被关闭时等),可以重置定时器。在预定时间段期满时(意味着对于经由应用窗口106显示的选项卡110没有发生活动),选项卡管理器API 108提供通知。这确保选项卡数据模型API112被提供有反映选项卡110的当前状态的选项卡信息(即,选项卡数据模型API 112未被提供有陈旧的选项卡信息)。上述技术有利地批量改变与选项卡110相关联,以避免太频繁地向共享存储器116提交更新。通过这样做,减少了对共享存储器116的输入/输出(I/O)事务,从而提高了***100的性能。
根据一个实施例,某些选项卡信息不存储在共享存储器116中,而是直接提供给选项卡数据模型API 112。例如,与选项卡110中的每个选项卡相关联的缩略图、图标、网站图标、和/或组标识符可直接提供给选项卡数据模型API 112。例如,响应于接收到该通知,选项卡数据模型API 112向选项卡管理器API 108提供请求。该请求指定要提供给选项卡数据模型API 112的所请求的选项卡信息(例如,缩略图、图标、网站图标、和/或组标识符)。响应于接收到该请求,选项卡管理器API 108从应用102请求并获得所请求的选项卡信息,并将所请求的选项卡信息提供给选项卡数据模型API 112。
该请求还可以指定要提供的缩略图的一个或多个尺寸。例如,选项卡数据模型API112使用与选项卡管理器API 108和选项卡数据模型API 112相关联的句柄来标识选项卡110位于其中的应用窗口(即,应用窗口106)。选项卡数据模型API 112确定与应用窗口106相关联的(多个)尺寸(例如,高度和宽度),并将该(多个)尺寸包括在对选项卡管理器API108的请求中。选项卡管理器API 108将(多个)尺寸提供给应用102,应用102根据(多个)尺寸为选项卡110中的每个选项卡生成缩略图,并将缩略图提供给选项卡管理器API 108,选项卡管理器API 108又将(多个)缩略图提供给选项卡数据模型API 112。根据一个实施例,选项卡数据模型API 112还可以在请求中提供比例因子,应用102利用该比例因子来对缩略图进行大小调整,使得缩略图中的每个缩略图与应用窗口106中显示的内容(例如,网页、电子表格、绘图等)成比例。例如,如果经由应用窗口显示的内容的尺寸是300像素乘以500像素,并且比例因子是1:5,则应用102根据比例因子对内容进行比例缩放,以生成具有60像素乘以100像素的尺寸的缩略图。根据另一实施例,选项卡管理器API 108将内容以其原始形式提供给选项卡数据模型API 112,并且选项卡数据模型API 112缩放内容以生成缩略图。
用户界面114可以包括操作***外壳和/或操作***104的一个或多个图形用户界面功能。用户界面114可包括多个不同的用户可交互元素或功能,诸如桌面、任务栏、任务切换器、应用窗口管理器等。这些元素或功能也可称为UX表面。用户界面114可利用由选项卡数据模型API 112检索的选项卡信息来经由各种用户可交互功能生成并提供表示应用窗口106中所包括的选项卡110中的每个选项卡的代理(或预览)窗口。下面的小节A描述了用于经由用户界面114的任务切换器功能来生成和提供代理窗口的实施例。以下小节B描述了用于经由用户界面114的任务栏功能来生成和提供代理窗口的实施例。以下小节C描述了用于经由用户界面114的窗口捕捉功能来生成和提供代理窗口的实施例。下面的小节D描述了用于生成和提供关于远程桌面应用的代理窗口的实施例。
A.用于显示针对选项卡的代理窗口的任务切换器功能
如上参考图1所述,用户界面114可以包括任务切换器功能。当激活任务切换器功能时,使操作***同时显示当前在用户设备上执行的每个应用。具体地,操作***为当前正在执行的每个应用显示被打开的每个应用窗口的代理窗口(无论它是最小化的还是最大化的)。如下所述,如果应用窗口包括多个选项卡,则将为多个选项卡中的每个选项卡显示单独的代理窗口。现在将参考如图2A-图2G所示的示例GUI屏幕200A-200G来描述前述特征。
图2A-图2G描绘了例示根据示例实施例的使用任务切换器功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。例如,图2A描绘了根据示例实施例的示例GUI屏幕200A。如图2A所示,GUI屏幕200A包括任务栏用户界面(或“任务栏”)201和应用窗口204。应用窗口204是应用窗口106的示例,如上面参考图1所述。任务栏201包括开始菜单用户界面元素202、搜索栏用户界面元素206、以及多个应用图标208、210和212。用户界面元素204、206、208、210和212中的每一个都是用户可交互的。用户可以例如经由鼠标、键盘、触摸屏等提供输入,以激活用户界面元素204、206、208、210和212中的每一个。当被激活时,用户界面元素204、206、208、210和212中的每一个执行特定动作。
例如,开始菜单用户界面元素204在被激活时使得显示提供安装在用户的计算设备上的应用的列表的菜单。搜索栏用户界面元素206在被激活时使得用户能够输入基于文本的搜索查询,该搜索查询在被执行时搜索安装在计算设备上的应用、存储在计算设备上的文档等。应用图标208在被激活时使得与应用图标208相对应的应用被启动和执行。当被激活时,应用图标210使对应于应用图标210的应用被启动和执行。当被激活时,应用图标212使对应于应用图标212的应用被启动和执行。在图2所示的示例中,应用图标208对应于web浏览器应用(例如微软公司发布的微软
Figure BDA0004164010290000111
)、应用图标210对应于文字处理应用(例如微软公司发布的微软/>
Figure BDA0004164010290000112
)、应用图标212对应于电子邮件客户端应用(例如微软公司发布的微软/>
Figure BDA0004164010290000113
)。
如图2A进一步所示,应用图标210和212分别与用户界面元素214和216相关联。用户界面元素214在可见时指示与应用图标208相关联的浏览器应用正在计算设备上执行。类似地,用户界面元素216在可见时指示与应用图标210相关联的文字处理应用正在计算设备上执行。如GUI屏幕200A所示,对应于应用图标212的电子邮件客户端应用不执行,因为相应的用户界面元素不显示。
应用窗口204与对应于应用图标208的浏览器应用相关联。如图2A所示,应用窗口204包括在应用窗口204内被打开的三个选项卡218、220和222。选项卡218、220和222是选项卡110的示例,如上面参照图1所述。可经由用户与用户界面元素224的交互来打开附加选项卡。选项卡218具有打开的第一网站(即,www.outlook.com),选项卡220具有打开的第二网站(即,www.amazon.com),并且选项卡222具有打开的第三网站(即,www.youtube.com)。在图2A所示的示例中,选项卡218是活动的,因此,在选项卡218中被打开的网站(示为网站226)的内容显示在应用窗口204中。用户可通过选择选项卡220使应用窗口204显示第二网站的内容,并可通过选择选项卡222使应用窗口204显示第三网站的内容。选项卡218、220和222中的每一个还显示与其中显示的网站相关联的标题和网站图标。例如,选项卡218显示与其中显示的网站相关联的标题250和网站图标256,选项卡220显示与其中显示的网站相关联的标题252和网站图标258,并且选项卡222显示与网站相关联的标题254和网站图标260。为对应于应用图标208的文字处理应用打开的(多个)应用窗口被最小化,因此不被显示。应注意,虽然图2A-图2G将选项卡218、220和222描绘为平坦的(即,针对单个网站的单个选项卡),但本文所述的实施例不限于此。例如,选项卡218、220和222中的每一个可以被配置为对多个网站进行分组(例如,通过域名、选项卡创建时间、选项卡激活时间或任何其他分组技术)。
操作***(例如,如图1所示的操作***104)被配置为检测使操作***激活任务切换器用户界面的用户输入。在检测到这种用户输入时,操作***呈现任务切换器用户界面,该任务切换器用户界面在相应的代理窗口中同时显示每个打开的应用窗口和每个打开的选项卡。根据一个实施例,用户输入包括与一个或多个键的交互。在一个示例中,一个或多个键可以是两个键的组合,诸如“Alt”和“Tab”。在这样的示例中,当操作***检测到用户按下“Alt”和“Tab”键时,激活任务切换器用户界面。注意,这种键的组合纯粹是示例性的,并且可以利用一个或多个其它键的组合来激活任务切换器用户界面。根据另一实施例,用户输入包括对由操作***呈现的用户界面元素(例如,按钮,滑块等)的选择,该用户界面元素在被选择时使得操作***显示任务切换器用户界面。
图2B描绘了根据一个实施例的示例GUI屏幕200B,其中已经激活了任务切换器功能228。如图2B所示,任务切换器功能228包括同时显示多个代理窗口230、232、234、236和238的GUI窗口。在图2B所示的示例中,代理窗口230显示选项卡218的内容(即,网页226),代理窗口232显示选项卡220的内容(即,在选项卡220中显示的网页),并且代理窗口234显示选项卡222的内容(即,在选项卡222中显示的网页)。代理窗口236显示与应用图标210相关联的文字处理应用的第一应用窗口(未图示)的内容,且代理窗口238显示与应用图标210相关联的文字处理应用的第二应用窗口(未图示)的内容。
代理窗口230、232和234被显示的方式是根据经由浏览器应用(例如,应用102)接收的选项卡信息,如以上参考图1所描述的。例如,响应于接收到选项卡218、220和222的选项卡信息,操作***分析选项卡信息以确定要为每个代理窗口230、232和234显示的标题,要为每个代理窗口230、232和234显示的应用图标,要为每个代理窗口230、232和234显示的网站图标,和/或要为每个代理窗口230、232和234显示的缩略图。
在图2B所示的示例中,任务切换器功能228显示针对代理窗口230的标题239(“Outlook”)、针对代理窗口232的标题240(“Amazon.com”)、以及针对代理窗口234的标题242(“YouTube”)。标题239对应于标题250,标题240对应于标题252,并且标题242对应于标题254。
任务切换器功能228还显示针对代理窗口230的网站图标244,针对代理窗口232的网站图标246,以及针对代理窗口234的网站图标248。网站图标244对应于网站图标256,网站图标246对应于网站图标258,以及网站图标248对应于网站图标260。
任务切换器功能228还显示表示在每个代理窗口230、232和234的每个选项卡218、220和222中显示的内容的缩略图。例如,任务切换功能228显示针对代理窗口230的缩略图262,针对代理窗口232的缩略图264和针对代理窗口234的缩略图266。缩略图262对应于在选项卡218中显示的网站,缩略图264对应于在选项卡220中显示的网站,而缩略图266对应于在选项卡222中显示的网站。缩略图262、264和266中的每一个保持在经由应用窗口204显示对应内容时所利用的相同纵横比。即,缩略图262与经由应用窗口204的选项卡218显示的对应内容成比例,缩略图264与经由应用窗口204的选项卡220显示的对应内容成比例,并且缩略图266与经由应用窗口204的选项卡222显示的对应内容成比例。
根据一个实施例,任务切换器功能228还包括用户界面元素268,其使得用户能够选择是否仅显示表示选项卡的代理窗口、是否仅显示表示不使用TDI的应用窗口的代理窗口、或者是否显示表示选项卡的代理窗口和不使用TDI的应用窗口两者。在图2B所示的示例中,用户界面元素268包括基于滑块的用户界面元素,该基于滑块的用户界面元素包括三个位置,但是本文描述的实施例不限于此。如图2B所示,滑块处于第一位置(“全部”),这使得表示选项卡的代理窗口和应用窗口都被显示。用户可以通过将滑块滑动到第二位置(“仅选项卡”)或第三位置(“仅窗口”)来将滑块移动到这些位置。
例如,图2C描绘了任务切换器功能228,其中用户界面元素268的滑块处于第二位置。响应于检测到滑块已被置于第二位置,操作***使得对应于未使用TDI的应用窗口(例如,代理窗口236和238)的代理窗口被隐藏,而对应于应用窗口(例如,代理窗口230、232和234)的选项卡的代理窗口被保持。如图2C所示,仅显示代理窗口230、232和234,而不再显示代理窗口236和238。
图2D描绘了任务切换器功能228,其中用户界面元素268的滑块处于第三位置。响应于检测到滑块已被置于第三位置,操作***使得对应于当前未活动的应用的选项卡的代理窗口(例如,代理窗口232和234)被隐藏,而对应于未使用TDI的应用窗口的代理窗口(例如,代理窗口236和238)和表示应用窗口204的最后活动选项卡的代理窗口(即,代理窗口230)被显示。如图2D所示,仅显示代理窗口230、236和238,而不再显示代理窗口232和234。
根据一个实施例,用户能够通过任务切换器功能228关闭打开的应用窗口和/或选项卡。例如,如图2E所示,用户可以例如通过将光标270悬停在代理窗口(例如,代理窗口234)上来选择要关闭的代理窗口。在这样做时,可以在代理窗口附近显示用户可交互元素272。当由用户选择时,用户可交互元素272关闭代理窗口和与其对应的应用窗口或选项卡。例如,在图2E所示的示例中,用户可选择用户可交互元素272来关闭代理窗口234。参照图1,响应于操作***104检测到关于用户可交互元素272的用户输入,选项卡数据模型API 112可向选项卡管理器API 108发送命令以关闭对应的选项卡。该命令可以包括代理窗口的标识符(例如,代理窗口的选项卡标识符或标题)。响应于接收到该命令,应用102基于标识符来标识对应的选项卡并关闭该选项卡。如图2F所示,响应于选择用户可交互元素272,代理窗口234和选项卡222都被关闭并且不再被显示。
根据一个实施例,用户能够利用任务切换器功能228来切换选项卡。例如,再次参考图2F,用户可以例如通过点击代理窗口(例如,代理窗口232)来选择对应于打开的选项卡的代理窗口。在选择代理窗口之后,不再显示任务切换器功能228,并且应用窗口204切换到对应于所选择的代理窗口的选项卡。例如,在图2F所示的示例中,用户选择代理窗口232。参照图1,响应于操作***104检测到选择代理窗口232的用户输入,选项卡数据模型API 112可向选项卡管理器API 108发送包括所选择的代理窗口的标识符(例如,选项卡标识符或代理窗口的标题)的命令。响应于接收到该命令,应用102使用标识符来标识对应的选项卡,并切换到选项卡220,因为选项卡220对应于所选择的代理窗口232。如图2G所示,选项卡220现在是活动的,并且通过选项卡220加载的网页的内容被显示在应用窗口204中。
根据一个实施例,使用户能够指定将经由代理窗口显示的最近选项卡的数目。例如,操作***可以包括进行这种指定的选项或设置。例如,图3描绘了根据示例实施例的示例GUI菜单,当激活任务切换器功能时,该GUI菜单使得用户能够指定将经由代理窗口显示的多个最近的选项卡。如图3所示,基于GUI的菜单300包括下拉菜单302。下拉菜单302包括多个用户可选选项304、306、308和310。当被激活时,用户可选选项304使任务切换器用户界面(例如,任务切换器功能228)显示表示每个打开的应用窗口(不利用TDI)和利用TDI在应用窗口中被打开的每个选项卡的代理窗口(例如,代理窗口230、232、234、236和238)。当被激活时,用户可选选项306使得任务切换器用户界面(例如,任务切换器功能228)显示表示每个打开的应用窗口(不利用TDI)的代理窗口,以及在利用TDI的每个应用窗口中被打开的五个最近(或活动)选项卡,或者备选地,在利用TDI的所有应用窗口上打开的五个最近选项卡。当被激活时,用户可选选项308使得任务切换器用户界面(例如,任务切换器功能228)显示表示每个打开的应用窗口(不利用TDI)的代理窗口以及在利用TDI的每个应用窗口中被打开的三个最近(或活动)选项卡,或者备选地,在利用TDI的所有应用窗口上打开的三个最近选项卡。用户可选选项310在被激活时使得任务切换器用户界面(例如,任务切换器功能228)仅显示表示每个打开的应用窗口的代理窗口。对于利用TDI的应用窗口,在那些应用窗口中显示表示最近选项卡的代理窗口。
注意,基于GUI的菜单300纯粹是示例性的,并且基于GUI的菜单300可以使用其它类型的用户可交互GUI元素(例如,按钮,滑块等)来实现。还应当注意,包括在基于GUI的菜单300中的选项和设置纯粹是示例性的,并且基于GUI的菜单300可以指定不同的选项或设置(例如,为要经由任务切换器用户界面显示的最近的选项卡指定不同的值)。
因此,针对应用窗口的代理窗口和被包括在应用窗口中的选项卡可以以多种方式同时显示。例如,图4示出了根据示例实施例的由在计算设备上执行的操作***执行以同时显示针对应用窗口的代理窗口和应用窗口中包括的选项卡的方法的流程图400。在一个实施例中,流程图400可以由***500实现,如图5所述。图5示出了根据示例实施例的用于同时显示针对应用窗口的代理窗口和被包括在应用窗口中的选项卡的***500的框图。如图5所示,***500包括第一应用502、第二应用518、操作***504和共享存储器516。应用502、操作***504和共享存储器516是应用102、操作***104和共享存储器116的示例,如以上分别参考图1所描述的。应用502包括应用窗口506和选项卡管理器API 508。应用窗口506包括多个选项卡510。应用窗口506是应用窗口106和应用窗口204的示例,如以上分别参考图1和图2所描述的。选项卡510是选项卡110和选项卡218、220和222的示例,分别如上参考图1和图2A-图2G所述。选项卡管理器API 508是选项卡管理器API 108的示例,如上面参考图1所描述的。操作***504包括选项卡数据模型API 512,用户界面514和应用窗口API 524。选项卡数据模型API 512和用户界面514是选项卡数据模型API 112和用户界面114的示例,如以上分别参考图1所描述的。用户界面514包括输入检测器526和任务切换器功能528。任务切换器功能228是如上参考图2A-图2G所述的任务切换器功能228的示例。应用518包括应用窗口520和应用窗口API 522。应用518可以是不利用TDI的任何软件应用,但本文所述的实施例不限于此。基于以下关于流程图400和***500的讨论,其它结构和操作实施例对相关领域的技术人员将是显而易见的。
图4的流程图400从步骤402开始。在步骤402中,检测用于启动在操作***的图形用户界面中同时显示在计算设备上执行的第一应用的第一应用窗口和第二应用的第二应用窗口的用户输入。例如,参考图5,输入检测器526检测启动任务切换器UI 526的用户输入530,其被配置为同时显示针对打开的应用窗口和选项卡的代理窗口。输入检测器526被配置为检测各种类型的用户输入,例如触摸屏输入、鼠标输入、键盘输入、触笔输入等。
根据一个或多个实施例,用户输入530包括与一个或多个键的交互。在一个示例中,一个或多个键可以是两个键的组合,诸如“Alt”和“Tab”。在这样的示例中,任务切换器功能528在输入检测器526检测到用户按下“Alt”和“Tab”键时被激活。注意,这种键的组合纯粹是示例性的,并且可以利用一个或多个其它键的组合来激活任务切换器功能528。根据另一实施例,用户输入530包括对用户界面元素(例如,按钮、滑块等)的选择,该用户界面元素在被选择时使得操作***504显示任务切换器用户界面。
在步骤404,确定第一应用具有在第一应用的第一应用窗口中被打开的多个选项卡。例如,参考图5,选项卡数据模型API 512确定第一应用502具有在第一应用窗口506中被打开的多个选项卡510。选项卡数据模型API 512可基于经由选项卡管理器API 508接收的选项卡信息来确定第一应用502具有在应用窗口506中被打开的多个选项卡510。
根据一个或多个实施例,选项卡管理器API 508可向共享存储器516提供选项卡信息(示为选项卡信息532)。选项卡管理器API 508还可向选项卡数据模型API 512提供指示选项卡信息532已被存储在共享存储器516中的通知534。响应于接收到通知534,选项卡数据模型API 512从共享存储器516检索选项卡信息532。
根据一个或多个实施例,选项卡信息532包括选项卡510的(多个)特性。这些(多个)特性包括但不限于:在第一应用窗口506中被打开的选项卡510的数目、唯一地标识选项卡510中的每个选项卡的选项卡标识符、表示第一应用502的图标、针对选项卡510中的每个选项卡的组标识符、与选项卡510中的每个选项卡相关联的标题、表示针对选项卡510中的每个选项卡显示的内容的缩略图、选项卡510中的最近活动选项卡的指示、表示选项卡510中的每个选项卡的时间被创建的时间戳、或选项卡510中的最近活动选项卡的指示、表示选项卡510中的每个选项卡最后活动的时间的时间戳。选项卡数据模型API 512可基于经由选项卡信息532接收的选项卡510的数目、选项卡标识符和/或标题来确定在应用窗口506中打开多个选项卡510。
注意,某些选项卡信息可以直接从选项卡管理器508而不是从共享存储器516接收。例如,缩略图和/或图标可直接从选项卡管理器API 508提供,因此,选项卡管理器API508可不将缩略图和/或图标存储在共享存储器516.1中。
在步骤406,响应于检测到用户输入并确定第一应用具有在应用的第一应用窗口中被打开的多个选项卡,在操作***的GUI中与针对第二应用窗口的第二代理窗口同时显示针对多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其对应的选项卡中被显示的内容,第二代理窗口表示在第二应用的第二应用窗口中被显示的内容。例如,参考图2B和图5,操作***504使任务切换器功能528(或任务切换器功能228)与第二应用窗口520的第二代理窗口(例如,代理窗口236或238)同时显示针对每个选项卡218、220和222的相应的第一代理窗口(代理窗口230、232和234)。代理窗口230表示在选项卡218(即,如图2A所示的网站226)中显示的内容,代理窗口232表示在选项卡220中显示的内容,并且代理窗口234表示在选项卡222中显示的内容。代理窗口236表示在应用窗口520中显示的内容,而代理窗口238表示针对应用518打开的另一应用窗口(未示出)的内容。
根据一个或多个实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图,并且第二代理窗口包括表示在第二应用窗口中显示的内容的缩略图。例如,参考图2B和图5,代理窗口230包括缩略图262,其表示在选项卡218中显示的内容(即,如图2A所示的网页226)。代理窗口232包括表示选项卡220中显示的内容的缩略图264。代理窗口234包括表示选项卡222中显示的内容的缩略图266。代理窗口236包括表示在应用窗口520中显示的内容的缩略图272,而代理窗口238包括表示在针对应用518打开的另一应用窗口(未示出)中显示的内容的缩略图274。如图5所示,应用窗口API 522可向操作***504的应用窗口API 524提供应用窗口信息536。应用窗口信息536可包括针对应用518打开的应用窗口(例如,应用窗口520)的特性。这些特性包括但不限于:针对应用518打开的应用窗口的数目、唯一地标识每个应用窗口的窗口标识符、表示应用518的图标、与针对应用518打开的每个应用窗口相关联的标题、或表示针对应用518打开的每个应用窗口显示的内容的缩略图。应用窗口API 524向任务切换器功能528提供应用窗口信息。任务切换功能528根据接收到的应用窗口信息536生成并显示代理窗口(例如,代理窗口236和238)。
根据一个或多个实施例,每个缩略图的大小与第一应用窗口的大小成比例。例如,参照图5,选项卡数据模型API 512可向选项卡管理器API 508提供对要生成和显示的每个代理窗口的缩略图的请求538。请求538可以指定要提供的缩略图的一个或多个尺寸。例如,选项卡数据模型API 512使用与选项卡管理器API 508和选项卡数据模型API 512相关联的应用窗口506的句柄来标识选项卡510位于其中的应用窗口(即,应用窗口506)。选项卡数据模型API 512确定与应用窗口506相关联的(多个)尺寸(例如,高度和宽度)并将(多个)尺寸包括在请求538中。选项卡管理器API 508将(多个)尺寸提供给应用502,应用502根据请求中的(多个)尺寸为选项卡510中的每个选项卡生成缩略图,并将缩略图提供给选项卡管理器API 508,选项卡管理器API 508又将缩略图提供给数据模型API 112。根据一个实施例,选项卡数据模型API 512还可以在请求538中提供比例因子,应用502利用该比例因子来对缩略图进行大小调整,使得每个缩略图与应用窗口506中显示的内容成比例。例如,如果经由应用窗口506显示的内容的尺寸是300像素乘500像素,并且比例因子是1:5,则选项卡管理器API 508根据比例因子缩放内容以生成具有60像素乘100像素的尺寸的缩略图。根据另一实施例,选项卡管理器API 508将内容以其原始形式提供给选项卡数据模型API 512,并且选项卡数据模型API 512缩放内容以生成缩略图。
根据一个或多个实施例,提供了用户界面元素,该用户界面元素使得能够经由表示在该N个最近活动的选项卡中显示的内容的第三代理窗口来表示该多个选项卡中的N个最近活动的选项卡的指定,其中N是大于1的正整数。例如,参考图2B、图3和图5,操作***504的用户界面514提供用户界面元素300,该用户界面元素300使得能够经由表示在N个最近活动的选项卡中显示的内容的代理窗口(例如,代理窗口230、232和234)来表示选项卡510的N个最近活动的选项卡的指定。
根据一个或多个实施例,提供了用户界面元素,其在被激活时使得第二代理窗口被隐藏,同时保持第一代理窗口的显示。例如,参考图2C和图5,任务切换器功能528提供用户界面元素268,该用户界面元素268在被激活(例如,放置在第二位置,如图2C所示)时使得代理窗口236和238被隐藏,同时保持代理窗口230、232和234的显示。
根据一个或多个实施例,检测用于关闭第一代理窗口中的特定第一代理窗口的用户输入,并且响应于检测到用于关闭第一代理窗口中的特定第一代理窗口的用户输入,向第一应用提供用于关闭多个选项卡中的对应于特定第一代理窗口的选项卡的命令。例如,参考图2E、图2F和图5,输入检测器526被配置为检测关闭代理窗口234的用户输入。例如,输入检测器526可以检测用户已经激活了用户界面元素272。响应于输入检测器526检测到这种用户输入,输入检测器526向选项卡数据模型API 512提供通知540,通知540使选项卡数据模型API 512向选项卡管理器API 508提供命令542。响应于接收到命令542,应用502关闭对应于代理窗口234的选项卡222。如图2F所示,代理窗口234和选项卡222都已关闭,因此不再显示。
B.用于显示针对选项卡的代理窗口的任务栏用户界面
如上参照图1所述,用户界面114可包括任务栏,该任务栏包括多个不同的用户界面元素,包括但不限于开始菜单用户界面元素、搜索栏用户界面元素和多个应用图标。根据一个实施例,用户能够将网站固定到任务栏。例如,在用户的计算设备上执行的浏览器应用可以包括菜单选项和/或用户可交互元素,其使得用户能够将在浏览器应用的特定选项卡中显示的网站固定到任务栏。现在将参照图6A-图6H描述上述特征。
图6A-图6H描绘了示出根据示例实施例的使用任务栏功能来显示和操纵针对选项卡的代理窗口的示例GUI屏幕。例如,图6A描绘了根据示例实施例的示例GUI屏幕600A,其中网站已被固定到任务栏。如图6A所示,GUI屏幕600A包括任务栏601,任务栏601是任务栏201的示例,如上面参照图2A-图2G所述。任务栏601包括开始菜单用户界面元素602、搜索栏用户界面元素606和多个应用图标608、610和612。开始菜单用户界面元素602、搜索栏用户界面元素606和应用图标608、610和612是开始菜单用户界面元素202、搜索栏用户界面元素206和应用图标208、210和212的示例,如以上分别参考图2A-图2G所描述的。如图6A进一步所示,任务栏601包括被固定的站点图标614。被固定的站点图标614对应于已经被固定到任务栏601的Web站点。被固定站点图标614可以与元数据相关联,元数据包括网站的统一资源标识符(例如,互联网协议(IP))、与网站相关联的网站图标、和/或在激活被固定站点图标614时要启动的浏览器应用的标识符。在图6A所示的示例中,用户已将Amazon.
Figure BDA0004164010290000221
网站固定到任务栏601。因此,被固定的站点图标614用与Amazon./>
Figure BDA0004164010290000222
相关联的网站图标来表示,并且与Amazon./>
Figure BDA0004164010290000223
的统一资源标识符(例如http://www.amazon.com)相关联。
被固定的站点图标614是用户可交互的。当由用户选择(例如,使用鼠标、键盘、触摸屏接口、触笔等)时,浏览器应用(例如,与应用图标608相关联的浏览器应用)被启动和/或被导航到与被固定的站点图标614相关联的统一资源标识符(例如,www.amazon.com)。例如,图6B描绘了根据示例实施例的示例GUI屏幕600B,其中已激活被固定的站点图标614。如图6B所示,对被固定站点图标614的选择使得启动对应于应用图标608的浏览器应用,使得浏览器应用打开具有选项卡618的应用窗口604、和/或使得浏览器应用导航到与被固定站点图标614相关联的统一资源标识符。位于统一资源标识符处的内容(例如,网页626)被显示在选项卡618内。
例如,操作***(例如,操作***504)可检测选择被固定的站点图标614的用户输入,分析与其相关联的元数据以确定要启动哪个浏览器应用和/或浏览器应用要导航到的统一资源标识符。操作***自动启动由元数据标识的浏览器应用,并将统一资源标识符提供给浏览器应用,从而进行导航。操作***还可以使用户界面元素616和618分别显示在应用图标616和618附近。用户界面元素616在可见时指示与应用图标208相关联的浏览器应用正在计算设备上执行。用户界面元素618在可见时指示浏览器应用的应用窗口(例如,应用窗口604)包括显示被固定的网站(例如,www.amazon.com)的选项卡(例如,选项卡618)。
如图6C所示,用户可打开附加选项卡(例如,选项卡620和622)并导航到其它网页或网站。在图6C所示的示例中,用户已经导航到由与经由被固定站点图标614固定到任务栏601的Web站点相同的域维护的其他Web页面,尽管本文描述的实施例不限于此。
操作***(例如,如图5所示的操作***504)被配置为检测使操作***经由任务栏601激活选项卡预览功能的用户输入。在检测到这种用户输入时,操作***呈现选项卡预览功能,其同时显示每个选项卡,选项卡显示具有与经由被固定站点图标614固定到任务栏601的Web站点相同的域的Web页面或Web站点。这样的选项卡可被包括在单个应用窗口中或经由多个应用窗口。根据一个实施例,用户输入包括与被固定的站点图标614的交互。在一个示例中,用户可将光标(例如,如图6D所示的光标670)悬停在被固定的站点图标614上。在这样的示例中,一旦操作***检测到光标在预定时间段内悬停在被固定的站点图标614上时,就激活选项卡预览功能。注意,该用户输入纯粹是示例性的,并且可以利用其他类型的用户输入来激活选项卡预览功能。
图6D描绘了示出根据示例实施例的选项卡预览功能628的示例GUI屏幕600D。选项卡预览功能628同时显示多个代理窗口630、632和634。在图6D所示的示例中,代理窗口630显示选项卡618的内容(即,网页626),代理窗口632显示选项卡620的内容(即,在选项卡620中显示的网页),并且代理窗口634显示选项卡622的内容(即,在选项卡622中显示的网页)。
显示代理窗口630、632和634的方式是根据经由浏览器应用(例如,应用502)接收的选项卡信息,如以上参考图5所述。例如,响应于接收到针对选项卡618、620和622的选项卡信息,操作***分析选项卡信息以确定要为代理窗口630、632和634中的每一个显示的标题,要为代理窗口630、632和634中的每一个显示的网站图标,当前活动的选项卡618、620和622中的选项卡的指示,表示创建选项卡618、620和622中的每一个的时间的时间戳,表示最后激活选项卡110中的每一个的时间的时间戳,和/或要为代理窗口630、632和634中的每一个显示的缩略图。操作***还基于被包括在选项卡信息中的组标识符来确定哪些选项卡将具有为其生成的代理窗口。例如,如上所述,组标识符标识其中包括每个打开的选项卡的组。该组可以指示与在特定选项卡中显示的网站相关联的域(例如,公司或组织名称)。与相同域相关联的网页可以具有相同的组标识符,而不管选项卡是被包括在相同的应用窗口中还是被包括在不同的应用窗口中。例如,与Amazon.
Figure BDA0004164010290000241
相关联的网页可各自与第一组标识符相关联,而与YouTube./>
Figure BDA0004164010290000242
相关联的网页可各自与第二组标识符相关联。
在图6D所示的示例中,选项卡预览功能628显示针对代理窗口630的标题638(“Amazon.com”)、针对代理窗口632的标题640(“Amazon.com:太阳镜”)、以及针对代理窗口634的标题642(“Amazon.com:家具”)。标题238对应于通过选项卡618显示的网站的标题650,标题640对应于通过选项卡620显示的网站的标题252,以及标题642对应于通过选项卡622显示的网站的标题654。
选项卡预览功能628还显示针对代理窗口630的网站图标644、针对代理窗口632的网站图标646和针对代理窗口634的网站图标648。网站图标644对应于与选项卡618中显示的网站相关联的网站图标656,网站图标646对应于与选项卡620中显示的网站相关联的网站图标658,网站图标648对应于与选项卡622中显示的网站相关联的网站图标660。
选项卡预览功能628还显示表示在针对每个代理窗口630、632和634的每个选项卡618、620和622中显示的内容的缩略图。例如,选项卡预览功能628显示针对代理窗口630的缩略图662,针对代理窗口632的缩略图664和针对代理窗口634的缩略图666。缩略图662表示在选项卡618中显示的网站,缩略图664表示在选项卡620中显示的网站,而缩略图666表示在选项卡622中显示的网站。缩略图662、664和666中的每一个保持与当经由包括其对应的选项卡的应用窗口显示对应内容时所使用的纵横比相同。在图6D所示的示例中,缩略图662、664和666中的每一个与经由应用窗口604的选项卡618、620和622显示的对应内容成比例。
根据一个实施例,用户能够通过选项卡预览功能628来关闭选项卡。例如,如图6E所示,用户可以例如通过将光标670悬停在代理窗口(例如,代理窗口634)上来选择要关闭的代理窗口。在这样做时,可以在代理窗口附近显示用户可交互元素672。用户可交互元素672在被用户选择时关闭代理窗口和与其对应的选项卡。例如,在图6E所示的示例中,用户可选择用户可交互元素672来关闭代理窗口634。参照图5,响应于操作***504检测到关于用户可交互元素272的用户输入,选项卡数据模型API 512可向选项卡管理器API 508发送命令以关闭对应的选项卡。该命令可以包括代理窗口的标识符(例如,代理窗口的选项卡标识符或标题)。响应于接收到该命令,应用502基于标识符来标识对应的选项卡并关闭该选项卡。如图6F所示,响应于选择用户可交互元素672,代理窗口634和选项卡622都被关闭并且不再被显示。
根据一个实施例,用户能够利用选项卡预览功能228来切换选项卡。例如,再次参考图6F,用户可以例如通过点击代理窗口(例如,代理窗口630)来选择显示打开选项卡的代理窗口。在选择代理窗口时,不再显示选项卡预览功能628,并且应用窗口604切换到对应于所选择的代理窗口的选项卡。例如,在图6F所示的例子中,用户通过光标670选择代理窗口630。参照图5,响应于操作***504检测到选择代理窗口630的用户输入,选项卡数据模型API 512可向选项卡管理器API 508发送包括所选择的代理窗口的标识符(例如,选项卡标识符或代理窗口的标题)的命令。响应于接收到该命令,应用502使用标识符来标识对应的选项卡,并切换到选项卡618,因为选项卡618对应于所选择的代理窗口630。如图6G所示,选项卡618现在是活动的,并且选项卡618的网页被显示在应用窗口604中。
根据一个实施例,当检测到用户已将光标670悬停在经由选项卡预览功能628显示的代理窗口上时,在保持选项卡预览功能628的同时显示对应的选项卡。在选择代理窗口(例如,经由鼠标点击)时,不再显示选项卡预览功能628,同时保持对应的选项卡的显示。
根据一个实施例,可以在任务栏601中为与经由应用窗口中被打开的选项卡打开的网站相关联的每个域显示网站图标。例如,如图6H所示,应用窗口604包括选项卡618和选项卡622。选项卡618与第一域(例如,Amazon.com)和网站图标656相关联,而选项卡622与第二域(例如,youtube.com)和网站图标660相关联。因此,任务栏601包括如上所述的网站图标614以及对应于网站图标660的网站图标615。如在图6H中进一步示出的,用户界面元素618被示为接近于网站图标614,并且用户界面元素619被示为接近于网站图标615。用户界面元素618指示浏览器应用的应用窗口(例如,应用窗口604)包括与第一域和网站图标656相关联的选项卡(即,选项卡618),并且用户界面元素619指示浏览器应用的应用窗口(例如,应用窗口604)包括与第二域和网站图标660相关联的选项卡(即,选项卡622)。
如上所述,操作***可在检测到关于网站图标614或网站图标615的用户输入时激活选项卡预览功能。例如,在检测到关于网站图标614的用户输入时,显示选项卡预览功能,其显示针对与第一域相关联的所有选项卡的代理窗口。在检测到关于网站图标615的用户输入时,显示选项卡预览功能,其显示针对与第二域相关联的所有选项卡的代理窗口。
在关闭显示与特定域相关联的网站的所有选项卡时,可以从任务栏601中移除对应的网站图标(除非这样的网站被固定到任务栏601)。例如,在关闭选项卡622时,可以将网站图标615连同用户界面元素619一起从任务栏201中移除。当关闭选项卡618时,网站图标614可以保持在任务栏上,因为它被固定到任务栏601。然而,不再显示用户界面元素618。
如上所述,可以通过与被固定的站点图标的交互来显示针对选项卡的代理窗口。根据一个实施例,还可以经由与利用TDI的应用的应用图标的交互来显示用于选项卡的代理窗口。现在将参照图7A-图7E描述上述特征。
图7A-图7E描绘了例示根据附加示例实施例的使用任务栏功能来显示和操纵选项卡的代理窗口的示例GUI屏幕。例如,图7A描绘了根据示例实施例的示例GUI屏幕700A,其中第一应用窗口704和第二应用窗口714被打开。如图7A所示,GUI屏幕700A包括任务栏701,任务栏701是任务栏601的示例,如上面参考图6A-6G所述。任务栏701包括开始菜单用户界面元素702、搜索栏用户界面元素706和多个应用图标708、710和712。开始菜单用户界面元素702、搜索栏用户界面元素706和应用图标708、710和712是开始菜单用户界面元素602、搜索栏用户界面元素606和应用图标608、610和612的示例,如以上分别参考图6A-图6H所描述的。
如图7A进一步所示,应用图标708与用户界面元素716相关联。用户界面元素716在可见时指示与应用图标708相关联的浏览器应用正在计算设备上执行。
应用窗口704和714中的每一个与对应于应用图标708的浏览器应用相关联。如图7A所示,应用窗口704包括在应用窗口704内打开的两个选项卡718和720,而应用窗口714包括在应用窗口714内打开的两个选项卡722和724。选项卡718具有在其中被打开的第一网站(即,www.amazon.com),选项卡720具有在其中被打开的第二网站,其与第一网站在同一域中,选项卡722具有在其中被打开的第三网站(即,www.youtube.com),并且选项卡724具有在其中被打开的第四网站,其也与第一和第二网站在同一域中。在图7A所示的示例中,应用窗口704的选项卡718是活动的,因此,在选项卡718中被打开的网站(示为网站726)的内容显示在应用窗口704中。应用窗口714的选项卡722是活动的,因此,在选项卡722中被打开的网站(示为网站729)的内容被显示在应用窗口714中。用户可通过选择选项卡720使应用窗口704显示第二网站的内容,并可通过选择选项卡724使应用窗口714显示第四网站的内容。选项卡718、720、722、724中的每一个还显示与其中所显示的网站相关联的标题和网站图标,如以上参考图6A-图6H所描述的。
操作***(例如,如图5所示的操作***504)被配置为检测使得操作***激活选项卡预览功能的用户输入。在检测到这种用户输入时,操作***呈现选项卡预览功能,其同时显示表示在应用窗口704和714中被打开的一个或多个选项卡的多个代理窗口。根据一个实施例,用户输入包括与应用图标708的交互。在一个示例中,用户可将光标悬停在应用图标708上。在这样的示例中,一旦操作***检测到光标在预定时间段内悬停在应用图标708上,就激活选项卡预览功能。注意,该用户输入纯粹是示例性的,并且可以利用其他类型的用户输入来激活选项卡预览功能。
图7B描绘了根据示例实施例示出选项卡预览功能728的示例GUI屏幕700B。选项卡预览功能728同时显示多个代理窗口730、732、734和736。在图7B所示的示例中,代理窗口730显示选项卡718的内容(即,网页726),代理窗口732显示选项卡720的内容(即,在选项卡720中显示的网页),代理窗口734显示选项卡722的内容(即,网页728),并且代理窗口736显示选项卡724的内容(即,在选项卡724中显示的网页)。
显示代理窗口730、732、734和736的方式是根据经由对应于应用图标708的浏览器应用接收的选项卡信息,如以上参考图5所述。例如,操作***(例如,操作***504)可从与应用窗口704相关联的选项卡管理器API 508的第一实例接收针对选项卡718和720的选项卡信息,并可从与应用窗口714相关联的选项卡管理器API 508的第二实例接收针对选项卡722和724的选项卡信息。针对选项卡718和720的选项卡信息可由选项卡数据模型API 512的第一实例接收,而针对选项卡722和724的选项卡信息可由选项卡数据模型API 512的第二实例接收。响应于接收到针对选项卡718、720、722和724的选项卡信息,操作***分析选项卡信息以确定要为每个代理窗口730、732、734和736显示的标题、要为每个代理窗口730、732、734和736显示的网站图标、和/或要为每个代理窗口730、732、734和736显示的缩略图。
在图7B所示的示例中,选项卡预览功能728显示针对代理窗口730的标题738(“Amazon.com”)、针对代理窗口732的标题740(“Amazon.com:太阳镜),针对代理窗口734的标题742(“Amazon.com:家具”)、以及针对代理窗口736的标题744(“YouTube”)。标题738、740、742和744中的每一者对应于其对应的选项卡的相应标题,如上文参看图6A-图6H所描述。
选项卡预览功能728还显示针对代理窗口730的网站图标744,针对代理窗口732的网站图标746,针对代理窗口734的网站图标748、以及针对代理窗口736的网站图标750。如上参考图6A-图6H所述,每个网站图标744、746、748和750对应于其对应的选项卡的相应网站图标。
选项卡718、720、722和724中的每一个被显示的顺序可以根据接收到的选项卡信息。例如,该顺序可以基于当前活动的选项卡718、720、722和724中的选项卡的指示、表示创建选项卡718、720、722和724中的每一个的时间的时间戳、表示激活(或最后激活)选项卡718、720、722和724中的每一个的时间的时间戳。选项卡718、720、722和724中的每一个被显示的顺序可以由用户例如经由使用户能够改变顺序的用户界面元素(未示出)来配置和改变。
选项卡预览功能728还显示表示在针对每个代理窗口730、732、734和736的每个选项卡718、720、722和724中显示的内容的缩略图。例如,选项卡预览功能728显示针对代理窗口730的缩略图762,针对代理窗口732的缩略图764,针对代理窗口734的缩略图766,针对代理窗口736的缩略图768。缩略图762表示在选项卡718中显示的网站(即,网站726),缩略图764表示在选项卡720中显示的网站,缩略图766表示在选项卡722中显示的网站(即,网站729),并且缩略图768表示在选项卡724中显示的网站。缩略图762、764、766和768中的每一者保持其中包括其对应的选项卡的应用窗口的相同纵横比。在图7B所示的示例中,缩略图762和764与应用窗口704的大小成比例,而缩略图766和768与应用窗口714的大小成比例。
根据一个实施例,选项卡预览功能728被配置为根据被包括在选项卡信息中的组标识符按域对代理窗口进行分组。例如,如上所述,组标识符标识其中包括每个打开的选项卡的组。该组可以指示与在特定选项卡中显示的网站相关联的域(例如,公司名称)。与相同域相关联的网页可以具有相同的组标识符,而不管选项卡是包括在相同的应用窗口中还是包括在不同的应用窗口中。例如,与Amazon.
Figure BDA0004164010290000301
相关联的网页可各自与第一组标识符相关联,而与YouTube./>
Figure BDA0004164010290000302
相关联的网页可各自与第二组标识符相关联。
根据这样的实施例,选项卡预览功能728最初可以为每个组显示单个代理窗口。例如,选项卡预览功能728可显示表示被包括在该组中的最后活动(或最近参与)选项卡的代理窗口。例如,图7C描绘了根据示例实施例的其中选项卡预览功能对代理窗口进行分组的示例GUI屏幕700C。如图7C所示,在检测到启动选项卡预览功能728的用户输入时(例如,通过将光标770悬停在应用图标708上预定时间段),操作***显示选项卡预览功能728。选项卡预览功能728显示由组标识符指定的针对每个组的代理窗口。例如,第一组标识符可指示一组选项卡(例如,选项卡718、720和722)显示与第一域(例如,www.amazon.com)相关联的网页。因此,选项卡预览功能728显示表示该组的代理窗口(即,代理窗口730)。代理窗口730表示与该组相关联的最后活动的选项卡。第二组标识符可指示显示与第二域(例如,www.youtube.com)相关联的网页的另一组选项卡(例如,选项卡722)。因此,选项卡预览功能728显示表示该组的代理窗口(即,代理窗口736)。代理窗口736表示与该组相关联的最后活动的选项卡。
为了显示与特定组相关联的所有选项卡,用户可以选择表示性的代理窗口(代理窗口730或736)。例如,图7D描绘了根据实施例的示例GUI屏幕700D,其中选择了表示组的代理窗口。如图7D所示,在选择代理窗口730时,如图7D所示,选项卡预览功能728为与关联于代理窗口730的组相关联的每个选项卡显示代理窗口。例如,如图7D所示,选项卡预览功能728显示代理窗口730、732和734,其各自表示显示与同一域(即,www.amazon.com)相关联的网页的选项卡(即,选项卡718、720和722)。
如果选择了图7C的代理窗口736,则选项卡预览选项卡界面728为显示与另一组或域(即,www.youtube.com)相关联的网站的每个选项卡显示代理窗口。在图7A-图7D所示的示例中,由于仅有一个选项卡显示来自www.youtube.com的内容,所以经由选项卡预览功能728仅提供针对该选项卡的单个代理窗口。再次参考图7D,选项卡预览功能728还使用户能够选择代理窗口730、732和734中的任一个。在选择代理窗口时,其对应的选项卡被显示,并且选项卡预览功能728不再以与以上参考图6F和6G描述的方式类似的方式被显示。
选项卡预览功能728使用户能够以与上面参考图6E-6F描述的类似方式关闭代理窗口。如上所述,在关闭代理窗口时,其对应的选项卡也关闭。
根据另一实施例,选项卡预览功能728可基于应用窗口对代理窗口分组,而不是按域对代理窗口分组。例如,再次参考图7C,当用户选择代理窗口730时,显示表示选项卡718和720的代理窗口,因为它们都被包括在应用窗口704中。类似地,当用户选择代理窗口736时,显示表示选项卡722和724的代理窗口,因为它们都被包括在应用窗口714中。
在一个实施例中,选项卡预览功能728同时显示针对基于客户端的应用程序打开的应用程序窗口的代理窗口和包括其中打开在线版本的客户端应用程序的选项卡的应用程序窗口的代理窗口。例如,参考图7E,应用图标712对应于电子邮件客户端应用(例如,微软公司发布的微软
Figure BDA0004164010290000311
)。如图7E所示,应用图标712与用户界面元素717相关联。用户界面元素717在可见时指示与应用图标712相关联的客户端应用正在计算设备上执行。应用窗口714与客户端应用相关联。应用窗口714包括标题722和显示内容729。
如图7E中进一步所示,与应用图标708相关联的浏览器应用也正在执行,如经由用户界面元素716变得显而易见的。应用窗口704与浏览器应用相关联并且包括两个选项卡718和720。选项卡718向执行由应用图标712表示的客户端应用的在线版本的网站打开。选项卡718包括表示网站上的域的网站图标756、以及标题750。选项卡718显示与客户端应用的在线版本相关联的网站726。用户可以经由相同的用户账户登录到客户端应用和客户端应用的在线版本,尽管本文描述的实施例不限于此。
如图7E所示,在检测到启动选项卡预览功能728的用户输入时(例如,通过将光标770悬停在应用图标712上预定时间段),操作***显示选项卡预览功能728。选项卡预览功能728显示与客户端应用和客户端应用的在线版本相关联的每个选项卡和/或应用窗口(例如,选项卡718和应用窗口714)的代理窗口。例如,选项卡预览功能728显示第一代理窗口730和第二代理窗口732。代理窗口730对应于应用窗口714,而代理窗口732对应于选项卡718。代理窗口730包括网站图标744和标题738,它们分别对应于应用窗口714的网站图标721和标题722。代理窗口732包括网站图标746和标题740,它们分别对应于选项卡718的网站图标756和标题750。根据一个实施例,选项卡预览功能728显示应用图标708来代替网站图标746,以更好地区分代理窗口730和732中的哪一个对应于在线版本而不是客户端应用。如图7E中进一步所示,代理窗口730显示表示应用窗口714的内容729的缩略图762,而代理窗口732显示表示选项卡718的内容726的缩略图768。
操作***(例如,操作***104)可利用经由选项卡管理器API 108接收的选项卡信息来将代理窗口730与代理窗口732相关联(或分组)。例如,操作***可利用选项卡718的标题和/或与其相关联的组标识符(对应于客户端应用的名称)。如果标题和/或组标识符与客户端应用的名称匹配,则操作***将应用窗口714与选项卡718相关联,并经由选项卡预览功能728生成对应于应用窗口714和选项卡718的代理窗口(即,代理窗口730和732)并将其分组在一起。
因此,可以通过任务栏以多种方式同时显示针对选项卡的代理窗口。例如,图8示出了根据示例实施例的由在计算设备上执行的操作***执行以经由任务栏同时显示选项卡的代理窗口的方法的流程图800。在一个实施例中,流程图800可以由***900实现,如图9所述。图9示出了根据示例实施例的用于经由任务栏同时显示选项卡的代理窗口的***900的框图。如图9所示,***900包括应用920、操作***904和共享存储器916。应用902、操作***904和共享存储器916是应用102、操作***104和共享存储器116的示例,如以上分别参考图1所描述的。应用902包括应用窗口906和选项卡管理器应用编程接口(API)908。应用窗口906包括多个选项卡910。应用窗口906是应用窗口106和应用窗口604、704和714的示例,如以上分别参考图1、图6和图7所描述的。选项卡910是选项卡110和选项卡618、620、622、718、720、722或724的示例,如上文分别参考图1、图6A-图6H和图7A-图7D所描述。选项卡管理器API 908是选项卡管理器API 108的示例,如上面参考图1所述。操作***904包括选项卡数据模型API 912和用户界面914。选项卡数据模型API 912和用户界面914是选项卡数据模型API 112和用户界面114的示例,如以上分别参考图1所描述的。用户界面914包括输入检测器926和选项卡预览功能728。输入检测器926是输入检测器526的示例,如上面分别参考图5所描述的。选项卡预览功能728是选项卡切换器功能628和728的示例,如以上参考图6A-图6H和图7A-图7E所描述的。基于以下关于流程图800和***900的讨论,其它结构和操作实施例对相关领域的技术人员将是显而易见的。
图8的流程图800从步骤802开始。在步骤802中,相对于固定在操作***的图形用户界面的任务栏的应用图标来检测用户输入。例如,参考图9,输入检测器926检测启动选项卡预览功能728的用户输入930,其被配置为经由任务栏同时显示打开的选项卡的代理窗口。输入检测器926被配置为各种类型的用户输入,例如触摸屏输入、鼠标输入、键盘输入、触笔输入等。
根据一个或多个实施例,用户输入930包括将光标悬停在被固定于任务栏的图标上预定时间段。例如,参考图6D,光标670悬停在被固定于任务栏601的固定的站点图标614上预定的时间段,并且作为响应,启动选项卡预览功能628。在另一示例中,参考图7B,光标770在被固定于任务栏701的应用图标708上悬停预定时间段,并且响应于此而启动选项卡预览功能728。注意,用户输入930纯粹是示例性的,并且可以利用其它类型的用户输入来启动选项卡预览功能728。
根据一个或多个实施例,被固定到任务栏的图标表示网站并且包括与该网站的域相关联的网站图标。例如,参考图6A,图标对应于被固定的网站图标614,其与网站相关联并且包括与该网站的域(例如,www.amazon.com)相关联的网站图标。
在步骤804,确定与图标相关联的应用具有在该应用的应用窗口中被打开的多个选项卡。例如,参考图9,选项卡数据模型API 912确定应用902具有在应用窗口906中被打开的多个选项卡910。选项卡数据模型API 912可基于经由选项卡管理器API 908接收的选项卡信息来确定应用902具有在应用窗口906中被打开的多个选项卡910。
根据一个或多个实施例,选项卡管理器API 908可向共享存储器916提供选项卡信息932。选项卡管理器API 918还可向选项卡数据模型API 912提供指示选项卡信息934已被存储在共享存储器916中的通知934。响应于接收到通知934,选项卡数据模型API 912从共享存储器916检索选项卡信息932。
根据一个或多个实施例,选项卡信息932包括选项卡912的特性。这些特性包括但不限于:在应用窗口906中被打开的选项卡910的数目,唯一地标识每个选项卡910的选项卡标识符,表示应用902的图标,与每个选项卡910相关联的标题,表示为每个选项卡910显示的内容的缩略图,标识包括每个选项卡910的组的组标识符,选项卡910中的最近活动选项卡的指示,表示创建每个选项卡910的时间的时间戳,或选项卡910的最近活动选项卡的指示,表示每个选项卡910最后活动的时间的时间戳。选项卡数据模型API 912可基于经由选项卡管理器API 908接收的选项卡910的数目、选项卡标识符和/或标题来确定在应用窗口906中打开多个选项卡910。
注意,某些选项卡信息直接从选项卡管理器API 908而不是从共享存储器916接收。例如,缩略图和/或图标可直接从选项卡管理器API 908提供,因此,选项卡管理器API908可不将缩略图和/或图标存储在共享存储器916中。
在步骤806,响应于检测到用户输入并确定与图标相关联的应用具有在应用的应用窗口中被打开的多个选项卡,在操作***的图形用户界面中同时显示针对多个选项卡中的每个选项卡的相应代理窗口,每个相应代理窗口表示在其对应的选项卡中显示的内容。例如,参考图6D和图9,操作***904使选项卡预览功能628(或选项卡预览功能728)同时显示针对每个选项卡618、620和622的相应的代理窗口(代理窗口630、632和634)。代理窗口630表示在选项卡618(即,网站626)中显示的内容,代理窗口632表示在选项卡620中显示的内容,并且代理窗口634表示在选项卡622中显示的内容。在另一示例中,参考图7B和图9,操作***904使选项卡预览功能728(或选项卡预览功能728)同时显示针对每个选项卡718、720、722和724的代理窗口(代理窗口730、732、734和736)。代理窗口730表示在选项卡718(即,网站726)中显示的内容,代理窗口732表示在选项卡720中显示的内容,代理窗口734表示在选项卡722(即,网站729)中显示的内容,并且代理窗口736表示在选项卡724中显示的内容。
根据一个或多个实施例,同时显示与相同组标识符相关联的多个选项卡中的每个选项卡的相应代理窗口。组标识符标识每个所述选项卡显示与网站的域相关联的网站。针对每个所述选项卡的相应代理窗口表示在其对应的选项卡中显示的网站的内容。例如,参考图6D,代理窗口630、632和634中的每一个与相同的组标识符相关联,该组标识符标识其相关联的选项卡(即,选项卡618、620和622)显示与相同域相关联的网站(例如,www.amazon.com)。
根据一个或多个实施例,在图标附近提供用户界面元素。用户界面元素指示应用正在执行,并且在多个选项卡中的至少一个选项卡中显示与域相关联的网站。例如,参考图6B和图9,操作***904提供接近被固定的站点图标614的用户界面元素618。用户界面元素618指示应用902正在执行(即,与应用图标608相关联的应用),并且在选项卡910中的至少一个选项卡(例如,选项卡618)中显示与域(例如,www.amazon.com)相关联的网站(例如,网站626)。
根据一个或多个实施例,每个相应的代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。例如,参考图6D和图9,代理窗口630包括缩略图662,缩略图662表示在选项卡618中显示的内容(即,网页626)。代理窗口632包括表示选项卡620中显示的内容的缩略图664。代理窗口634包括表示在选项卡622中显示的内容的缩略图666。
根据一个或多个实施例,每个缩略图的大小与应用窗口的大小成比例。例如,参照图9,选项卡数据模型API 912可向选项卡管理器API 908提供对要生成和显示的每个代理窗口的缩略图的请求938。请求938可以指定要提供的缩略图的一个或多个尺寸。例如,选项卡数据模型API 912使用与选项卡管理器API 908和选项卡数据模型API 912相关联的应用窗口906的句柄来标识选项卡910位于其中的应用窗口(即,应用窗口906)。选项卡数据模型API 912确定与应用窗口906相关联的(多个)尺寸(例如,高度和宽度)并将该(多个)尺寸包括在请求938中。选项卡管理器API 908将(多个)尺寸提供给应用902,应用902根据请求中的(多个)尺寸为每个选项卡910生成缩略图,并将缩略图提供给选项卡管理器API 908,选项卡管理器API 908又将缩略图提供给数据模型API 912。根据一个实施例,选项卡数据模型API 912还可以在请求938中提供比例因子,应用902利用该比例因子来对缩略图进行大小调整,使得每个缩略图与应用窗口906中显示的内容成比例。例如,如果经由应用窗口906显示的内容的尺寸是300像素乘500像素,并且比例因子是1:5,则选项卡管理器API 908根据比例因子来缩放内容,以生成具有60像素乘100像素的尺寸的缩略图。根据另一实施例,选项卡管理器API 908将内容以其原始形式提供给选项卡数据模型API 912,并且选项卡数据模型API 912缩放内容以生成缩略图。
根据一个或多个实施例,检测用于关闭代理窗口中的特定代理窗口的用户输入,并且响应于检测到用于关闭代理窗口中的特定代理窗口的用户输入,向应用提供用于关闭与特定代理窗口相对应的多个选项卡中的选项卡的命令。例如,参考图6E、图6F和图9,输入检测器926被配置为检测关闭代理窗口634的用户输入。例如,输入检测器926可以检测用户已经激活了用户界面元素672。响应于输入检测器926检测到这种用户输入,输入检测器926向选项卡数据模型API 912提供通知940,通知940使得选项卡数据模型API 912向选项卡管理器API 908提供命令942。响应于接收到命令942,应用902关闭对应于代理窗口634的选项卡622。如图6F所示,代理窗口634和选项卡622都已关闭,因此不再显示。
C.用于显示针对选项卡的代理窗口的窗口捕捉用户界面
如上参考图1所述,用户界面114可以包括窗口捕捉用户界面。当窗口捕捉用户界面被激活时,其使得应用窗口被捕捉到操作***的GUI的第一部分(例如,操作***的桌面用户界面),并导致多个代理窗口被显示用于操作***的第二部分中的打开的应用窗口。用户可以选择代理窗口之一。所选择的代理窗口使得相应的应用窗口被捕捉到操作***的GUI的第二部分,从而提供两个应用窗口的“分屏”视图。如本文所使用的,术语“捕捉”被定义为自动最大化应用窗口,使得它覆盖操作***的GUI(例如,操作***的桌面)的预定义部分(例如,四分之一或一半)。如下所述,如果应用窗口包括多个选项卡,则将为多个选项卡中的每个选项卡显示单独的代理窗口。现在将参考如图10A-图10H所示的示例GUI屏幕1000A-1000H来描述前述特征。
图10A-图10H描绘了示出根据示例实施例的使用窗口捕捉功能来显示和操纵选项卡的代理窗口的示例GUI屏幕。例如,图10A是根据示例实施例的示例GUI屏幕1000A。如图10A所示,GUI屏幕1000A包括任务栏1001、桌面1003、第一应用窗口1004和第二应用窗口1012。任务栏1001包括开始菜单用户界面元素1002、搜索栏用户界面元素1006和多个应用图标1008、1010和1012。开始菜单用户界面元素1002、搜索栏用户界面元素1006和应用图标1008、1010和1012是开始菜单用户界面元素602、搜索栏用户界面元素606和应用图标608、610和612的示例,如以上分别参考图6A-图6H所描述的。桌面1003包括操作***的GUI的一部分,其中可显示应用窗口1004和1012和/或快捷方式(例如,应用图标),并使用户能够以各种方式与应用交互。
如图10A进一步所示,应用图标1008和1010分别与用户界面元素1016和1018相关联。用户界面元素1016在可见时指示与应用图标1008相关联的浏览器应用正在计算设备上执行。类似地,用户界面元素1018在可见时指示与应用图标1010相关联的文字处理应用正在计算设备上执行。
应用窗口1004与对应于应用图标1008的浏览器应用相关联。如图10A所示,应用窗口1004包括在应用窗口1004内打开的三个选项卡1018、1020和1022。选项卡1018具有打开的第一网站(即,www.outlook.com),选项卡1020具有打开的第二网站(即,www.amazon.com),并且选项卡1022具有打开的第三网站(即,www.youtube.com)。在图10A所示的示例中,选项卡1018是活动的,因此,在选项卡1018中被打开的网站(示为网站1026)的内容显示在应用窗口1004中。用户可通过选择选项卡1020使应用窗口1004显示第二网站的内容,并且可通过选择选项卡1022使应用窗口1004显示第三网站的内容。选项卡1018、1020和1022中的每一个还显示与其中显示的网站相关联的标题和网站图标。例如,选项卡1018显示与其中显示的网站相关联的标题1050和网站图标1056,选项卡1020显示与其中显示的网站相关联的标题1052和网站图标1058,而选项卡1022显示与网站相关联的标题1054和网站图标1060。
应用窗口1012与对应于应用图标1010的文字处理应用相关联。应用窗口1012可包括显示应用窗口1012中所显示的文档(例如,文档1027)的标题1025的标题栏1024。
操作***(例如,如图1所示的操作***104)被配置为检测使得操作***激活窗口捕捉用户界面的用户输入。在检测到这种用户输入时,操作***在操作***的GUI的预定部分中呈现窗口捕捉用户界面,该窗口捕捉用户界面同时在相应的代理窗口中显示当前打开的每个应用窗口和在这种应用窗口中被打开的每个选项卡。根据一个实施例,用户输入包括与一个或多个键的交互。在一个示例中,一个或多个键可以是两个键的组合,诸如“windows”键和箭头键(例如,左箭头键或右箭头键)。在这样的示例中,一旦操作***检测到用户按下“windows”键和箭头键,就激活窗口捕捉用户界面。注意,这种键的组合纯粹是示例性的,并且可以利用一个或多个其它键的组合来激活窗口捕捉用户界面。
根据另一实施例,用户输入包括用户将应用窗口拖到操作***的GUI(例如,操作***的桌面)的边缘。例如,如图10A所示,用户可将光标1070置于应用窗口(例如,应用窗口1012)的标题栏(例如,标题栏1024)上。如图10B所示,用户可选择应用窗口1012并将其移动(或拖动)到GUI屏幕1000B的边缘(例如,边缘1029)。响应于检测到应用窗口1012被拖动到边缘1029,操作扩大(例如,最大化)应用窗口1012,使得它覆盖GUI屏幕1000B的第一部分1031。虚线1035用于划界桌面1003的不同部分,其中虚线1035右边的部分对应于桌面1003的第一部分(或一半)1031,虚线1035左边的部分对应于桌面1003的第二部分(或一半)1033。
图10C描绘了示出根据实施例的窗口捕捉功能1028的示例GUI屏幕1000C。如图10C所示,在应用窗口1012被拖到边缘1029之后,应用窗口1012被最大化以覆盖部分1031,并在桌面1003的第二部分1033中启动窗口捕捉功能1028的显示。窗口捕捉功能1028包括同时显示多个代理窗口1030、1032、1034和1036的GUI窗口。在图10C所示的示例中,代理窗口1030显示选项卡1018的内容(即,在选项卡1018中显示的网页1026,如图10B所示),代理窗口1032显示选项卡1020的内容(即,在选项卡1020中显示的网页,如图10B所示),并且代理窗口1034显示选项卡1022的内容(即,在选项卡1022中显示的网页,如图10B所示)。代理窗口1036显示与应用图标1010相关联的文字处理应用的最小化应用窗口(图10B中未示出)的内容。
代理窗口1030、1032和1034被显示的方式是根据经由浏览器应用(例如,应用102)接收的选项卡信息,如以上参考图1所描述的。例如,响应于接收到选项卡1030、1032和1034的选项卡信息,操作***分析选项卡信息以确定要为每个代理窗口1030、1032和1034显示的标题、要为每个代理窗口1030、1032和1034显示的应用图标、要为每个代理窗口1030、1032和1034显示的网站图标、和/或要为每个代理窗口1030、1032和1034显示的缩略图。
在图10C所示的示例中,窗口捕捉功能1028显示针对代理窗口1030的标题1039(“Outlook”)、针对代理窗口1032的标题1040(“Amazon.com”)、以及针对代理窗口1034的标题1042(“YouTube”)。标题1039对应于图10B所示的标题1050,标题1040对应于标题1052,标题1042对应于标题1054。
窗口捕捉功能1028还显示针对代理窗口1030的网站图标1044、针对代理窗口1032的网站图标1046、和针对代理窗口1034的网站图标1048。网站图标1044对应于网站图标1056,网站图标1046对应于网站图标1058,网站图标1048对应于网站图标1060。
窗口捕捉功能1028还显示表示在针对每个代理窗口1030、1032和1034的每个选项卡1018、1020和1022中显示的内容的缩略图。例如,窗口捕捉功能1028显示针对代理窗口1030的缩略图1062、针对代理窗口1032的缩略图1064、和针对代理窗口1034的缩略图1066。缩略图1062对应于在选项卡1018中显示的图10B中所示的网站1026,缩略图1064对应于在选项卡1020中显示的网站,而缩略图1066对应于在选项卡1022中显示的网站。缩略图1062、1064和1066中的每一个保持在经由图10B中所示的应用窗口1004显示对应内容时所利用的相同纵横比。即,缩略图1062与经由应用窗口1004的选项卡1018显示的对应内容成比例,缩略图1064与经由应用窗口1004的选项卡1020显示的对应内容成比例,并且缩略图1066与经由应用窗口1004的选项卡1022显示的对应内容成比例。
根据一个实施例,经由窗口捕捉功能1028显示的代理窗口可以以与上面参考图7C和图7D描述的类似方式而被分组。例如,窗口捕捉功能1028可根据包括在选项卡信息中的组标识符按域将代理窗口分组。根据这样的实施例,窗口捕捉功能1028最初可以为每个组显示单个代理窗口。为了显示与特定组相关联的所有选项卡,用户可以选择表示性的代理窗口。响应于选择表示性的代理窗口,窗口捕捉功能1028显示针对与该组相关联的每个选项卡的代理窗口,以及已经显示的任何其它代理窗口。
根据一个实施例,窗口捕捉功能1028还包括用户界面元素1068,其使得用户能够选择是否仅显示表示选项卡的代理窗口,是否仅显示表示应用窗口(不包括多个选项卡)的代理窗口,或者是否同时显示表示选项卡的代理窗口和应用窗口(不包括多个选项卡)。在图10C所示的示例中,用户界面元素1068包括基于滑块的用户界面元素,该基于滑块的用户界面元素包括三个位置。如图10C所示,滑块处于第一位置(“全部”),这使得表示选项卡的代理窗口和应用窗口都被显示。用户可以通过将滑块滑动到第二位置(“仅选项卡”)或第三位置(“仅窗口”)来将滑块移动到这些位置。
例如,图10D描绘了窗口捕捉功能1028,其中用户界面元素1068的滑块处于第二位置。响应于检测到滑块已被放置在第二位置,操作***使得对应于未使用TDI的应用窗口(例如,代理窗口1034)的代理窗口被隐藏,而对应于应用窗口(例如,代理窗口1030、1032和1034)的选项卡的代理窗口被保持。如图10D所示,仅显示代理窗口1030、1032和1034,而不再显示代理窗口1036。
图10E描绘了任务切换器功能1028,其中用户界面元素1068的滑块处于第三位置。响应于检测到滑块已被置于第三位置,操作***使得对应于当前未活动的应用的选项卡的代理窗口(例如,代理窗口1032和1034)被隐藏,而对应于未使用TDI的应用窗口(例如,代理窗口1036)的代理窗口和表示应用窗口1004的最后活动选项卡的代理窗口(即,代理窗口1030)被显示。如图10E所示,仅显示代理窗口1030和1036,而不再显示代理窗口1032和1034。
根据一个实施例,用户能够经由窗口捕捉功能1028关闭打开的应用窗口和/或选项卡。例如,如图10F所示,用户可以例如通过将光标1070悬停在代理窗口(例如,代理窗口1034)上来选择要关闭的代理窗口。这样做时,可以在代理窗口附近显示用户可交互元素1072。当由用户选择时,用户可交互元素1072将关闭代理窗口和与其对应的应用窗口或选项卡。例如,在图10F所示的示例中,用户可选择用户可交互元素1072来关闭代理窗口1034。参照图1,响应于操作***104检测到关于用户可交互元素1072的用户输入,选项卡数据模型API 112可向选项卡管理器API 108发送命令以关闭对应的选项卡。该命令可以包括代理窗口的标识符(例如,代理窗口的选项卡标识符或标题)。响应于接收到该命令,应用1002基于标识符来标识对应的选项卡并关闭该选项卡。如图10G所示,响应于选择用户可交互元素1072,代理窗口1034(连同选项卡1022)被关闭并且不再被显示。
根据一个实施例,用户能够利用任务切换器功能1028来切换选项卡。例如,再次参考图10G,用户可以例如通过点击代理窗口(例如,代理窗口1032)来选择显示打开选项卡的代理窗口。在选择代理窗口时,窗口捕捉功能1028不再被显示,并且相应的应用窗口被最大化以覆盖桌面103的第二部分1033,从而呈现两个应用窗口的分屏视图。例如,在图10G所示的示例中,用户选择代理窗口1032。参照图1,响应于操作***104检测到选择代理窗口1032的用户输入,选项卡数据模型API 112可向选项卡管理器API 108发送包括所选择的代理窗口的标识符(例如,选项卡标识符或代理窗口的标题)的命令。响应于接收到该命令,应用102使用标识符来标识对应的选项卡,并切换到选项卡1020,因为选项卡1020对应于所选择的代理窗口1032。如图10H所示,选项卡1020现在在应用窗口104中是活动的,并且应用窗口104被最大化以覆盖桌面103的第二部分1033。
因此,针对应用窗口的代理窗口和被包括在应用窗口中的选项卡可以通过窗口捕捉用户界面以多种方式而被同时显示。例如,图11示出了根据示例性实施例的由在计算设备上执行的操作***执行的方法的流程图1100,该方法用于在激活窗口捕捉功能时同时显示针对应用窗口的代理窗口和应用窗口中包括的选项卡。在一个实施例中,流程图1100可以由***1200实现,如图12所示。图12示出了根据示例实施例的用于经由窗口捕捉用户界面同时显示应用窗口的代理窗口和应用窗口中包括的选项卡的***1200的框图。如图12所示,***1200包括第一应用1202、第二应用1218、操作***1204和共享存储器1216。应用1202、应用1218、操作***1204和共享存储器1216是应用102、应用118、操作***104和共享存储器116的示例,如以上分别参考图1所描述的。应用1202包括应用窗口1206和选项卡管理器应用编程接口(API)1208。应用窗口1206包括多个选项卡1210。应用窗口1206是应用窗口1206和应用窗口1004的示例,如以上分别参考图1和图10A-图10H所描述的。选项卡1210是选项卡110和选项卡1018、1020和1022的示例,分别如上参考图1和图10A-图10H所述。选项卡管理器API 1208是选项卡管理器API 108的示例,如上面参考图1所描述的。操作***1204包括选项卡数据模型API 1212,用户界面1214和应用窗口API 1224。选项卡数据模型API 1212和用户界面1214是选项卡数据模型API 112和用户界面114的示例,如以上分别参考图1所描述的。用户界面1214包括输入检测器1226和窗口捕捉功能1228。窗口捕捉功能1228是窗口捕捉功能1028的一个示例,如以上参考图10A-图10H所描述的。应用1218包括应用窗口1220和应用窗口API 1222。应用1218可以是不利用TDI的任何软件应用,但本文所述的实施例不限于此。基于以下关于流程图1100和***1200的讨论,其它结构和操作实施例对(多个)相关领域的技术人员将是显而易见的。
图11的流程图1100从步骤1102开始。在步骤1102中,检测使第一应用的第一应用窗口显示在操作***的图形用户界面的第一部分中的用户输入。例如,参考图12,输入检测器1226检测使应用1218的应用窗口1220显示在用户界面1214的第一部分中的用户输入1230。参考图10A-图10C,检测到使应用窗口1012显示在桌面1003的第一部分1031中的用户输入。输入检测器1226被配置为各种类型的用户输入,例如触摸屏输入、鼠标输入、键盘输入、触笔输入等。
根据一个或多个实施例,用户输入1230包括与一个或多个键的交互。在一个示例中,一个或多个键可以是两个键的组合,诸如“windows”键和箭头键(例如,左箭头键或右箭头键)。在这样的示例中,当操作***检测到用户按下“windows”键和箭头键时,窗口捕捉功能1228被激活。注意,这种键的组合纯粹是示例性的,并且可以利用一个或多个其它键的组合来激活窗口捕捉用户界面。
根据另一实施例(如图10B-图10C所示),用户输入1230包括将应用窗口1012拖动到操作***的GUI(例如,桌面103)的边缘1029的用户。例如,如图10B所示,用户可将光标1070置于应用窗口1012的标题栏1024上,选择标题栏1024并将应用窗口1012拖动到边缘1029。响应于检测到应用窗口1012被拖动到边缘1029,操作***1204扩大(例如,最大化)应用窗口1012,使得它覆盖第一部分1031。
在步骤1104,确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡。例如,参考图12,选项卡数据模型API 1212确定应用窗口1202具有在应用窗口1206中被打开的多个选项卡1210。选项卡数据模型API 1212可基于经由选项卡管理器API 1208接收的选项卡信息来确定应用1202具有在应用窗口1206中被打开的多个选项卡1210。
根据一个或多个实施例,选项卡管理器API 1208可以向共享存储器1216提供选项卡信息1232。选项卡管理器API 1218还可向选项卡数据模型API 1212提供指示选项卡信息已被存储在共享存储器1216中的通知1234。响应于接收到通知1234,选项卡数据模型API1212从共享存储器1216中检索选项卡信息1232。
根据一个或多个实施例,选项卡信息1232包括选项卡1210的特性。这些特性包括但不限于:在应用窗口1206中被打开的选项卡1210的数目,唯一地标识每个选项卡1210的选项卡标识符,表示应用1202的图标,针对每个选项卡1210的组标识符,与每个选项卡1210相关联的标题,表示为每个选项卡1210显示的内容的缩略图,选项卡1210的最近活动选项卡的指示,表示创建每个选项卡1210的时间的时间戳,或者选项卡1210中的最近活动选项卡的指示,表示每个选项卡1210最后活动的时间的时间戳。选项卡数据模型API 1212可基于经由选项卡管理器API 1208接收的选项卡1210的数目、选项卡标识符和/或标题来确定在应用窗口1206中打开多个选项卡1210。
注意,某些选项卡信息直接从选项卡管理器API 1208而不是从共享存储器1216接收。例如,缩略图和/或图标可以直接从选项卡管理器API 1208提供,因此,选项卡管理器API 1208可以不将缩略图和/或图标存储在共享存储器1216中。
在步骤1106,响应于第一应用窗口显示在操作***的图形用户界面的第一部分中,并且确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡,在操作***的GUI的第二部分中显示用于在第二应用窗口中被打开的多个选项卡中的每个选项卡的相应的第一代理窗口。每个相应的第一代理窗口表示在其对应的选项卡中显示的内容。例如,参考图10B、图10C和图12,操作***1204使窗口捕捉功能1228(或窗口捕捉功能1028)显示在应用窗口1204(或应用窗口1004)中被打开的每个选项卡1018、1020和1022的相应的第一代理窗口(代理窗口1030、1032和1034)。代理窗口1030表示在选项卡1018(即,Web站点1026,如图10B所示)中显示的内容,代理窗口1032表示在选项卡1020中显示的内容,而代理窗口1034表示在选项卡1022中显示的内容。
根据一个或多个实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。例如,参考图10B、图10C和图12,代理窗口1030包括缩略图1062,缩略图1062表示在选项卡1018中显示的内容(即,如图10B所示的网页1026)。代理窗口1032包括表示在选项卡1020中显示的内容的缩略图1064。
根据一个或多个实施例,每个缩略图的大小与第二应用窗口的大小成比例。例如,参考图12,选项卡数据模型API 1212可向选项卡管理器API 1208提供对要生成和显示的每个代理窗口的缩略图的请求1238。请求1238可以指定要提供的缩略图的一个或多个尺寸。例如,选项卡数据模型API 1212使用与选项卡管理器API 1208和选项卡数据模型API 1212相关联的应用窗口1206的句柄来标识选项卡1210位于其中的应用窗口(即,应用窗口1206)。选项卡数据模型API 1212确定与应用窗口1206相关联的(多个)尺寸(例如,高度和宽度),并将该(多个)尺寸包括在请求1238中。应用1202根据请求中的(多个)尺寸为每个选项卡1210生成缩略图,并将缩略图提供给选项卡管理器API 1208,选项卡管理器API 1208又将缩略图提供给数据模型API 1212。根据一个实施例,选项卡数据模型API 1212还可以在请求1238中提供比例因子,应用1202利用该比例因子来对缩略图进行大小调整,使得每个缩略图与应用窗口1206中显示的内容成比例。例如,如果经由应用窗口1206显示的内容的尺寸是300像素乘500像素,并且比例因子是1:5,则选项卡管理器API 1208根据比例因子来缩放内容,以生成具有60像素乘100像素的尺寸的缩略图。根据另一实施例,选项卡管理器API 1208将内容以其原始形式提供给选项卡数据模型API 1212,并且选项卡数据模型API 1212缩放内容以生成缩略图。
根据一个或多个实施例,用于在计算设备上执行的第三应用的第二代理窗口与第一代理窗口同时显示在操作***的GUI的第二部分中。第二代理窗口表示在第三应用的第三应用窗口中显示的内容。提供了用户界面元素,其在被激活时使得第二代理窗口被隐藏,同时保持第一代理窗口的显示。例如,参考图10B、图10C和图12,用于对应于应用图标1010的文字处理应用的第二代理窗口(例如,代理窗口1036)与第一代理窗口(例如,代理窗口1030、1032和1034)同时显示在桌面1003的第二部分1033中。
代理窗口1036表示在应用窗口1012(或应用窗口1220)中显示的内容(例如,文档1027)。例如,代理窗口1036包括缩略图1072,缩略图1072表示在应用窗口1012中显示的内容(例如,文档1027)。如图12所示,应用窗口API 1222可向操作***1204的应用窗口API1224提供应用窗口信息1236。应用窗口信息1236可包括针对应用1218打开的应用窗口(例如,应用窗口1202)的特性。这些特性包括但不限于:为应用1218打开的应用窗口的数目,唯一地标识每个应用窗口的窗口标识符,表示应用1218的图标,与针对应用1218打开的每个应用窗口相关联的标题,或表示针对应用1218打开的每个应用窗口显示的内容的缩略图。应用窗口API 1224将应用窗口信息提供给窗口捕捉功能1228。窗口捕捉功能1228根据所接收的应用窗口信息1236生成并显示代理窗口(例如,代理窗口1036)。
窗口捕捉功能1028提供用户界面元素1068,该用户界面元素1068在被激活(例如,放置在第二位置,如图10D所示)时使得代理窗口1036被隐藏,同时保持代理窗口1030、1032和1034的显示。
根据一个或多个实施例,检测用于关闭第一代理窗口中的特定第一代理窗口的用户输入,并且响应于检测到用于关闭第一代理窗口中的特定第一代理窗口的用户输入,向第二应用提供用于关闭多个选项卡中对应于特定第一代理窗口的选项卡的命令。例如,参考图10F、图10G和图12,输入检测器1226被配置为检测用于关闭代理窗口1034的用户输入。例如,输入检测器1226可以检测用户已经激活了用户界面元素1072。响应于输入检测器1226检测到这种用户输入,输入检测器1226向选项卡数据模型API 1212提供通知1240,该通知1240使得选项卡数据模型API 1212向选项卡管理器API 1208提供命令1242。响应于接收到命令1242,应用1202关闭对应于代理窗口1034的选项卡1022。如图10G所示,代理窗口1034(连同选项卡1022)被关闭,因此不再被显示。
D.用于经由远程桌面应用执行的针对应用的代理窗口
图13A-图13B描绘了示例GUI屏幕1300,其示出了根据示例实施例的用于经由远程桌面应用远程执行的应用的代理窗口的同时显示。如图13A所示,GUI屏幕1300A包括任务栏1301,任务栏1301是任务栏1001的示例,如上面参照图10A所述。任务栏1301包括开始菜单用户界面元素1302、搜索栏用户界面元素1306和多个应用图标1308、1310、1312和1314。开始菜单用户界面元素1302、搜索栏用户界面元素1306和应用图标1308、1310和1312是开始菜单用户界面元素1002、搜索栏用户界面元素1006和应用图标1008、1010和1012的示例,如以上分别参考图10A-图10H所描述的。如图13进一步所示,任务栏1301包括应用图标1314。应用图标1314对应于基于客户端的远程桌面应用,其被配置为连接到远程计算设备并使操作***UI(例如,桌面)远程地显示在其上。使用户能够远程启动应用并使应用经由远程桌面应用在远程计算设备上执行。这样的应用可在用户的本地计算设备处经由远程桌面应用来访问。例如,如图13A所示,对应于应用图标1314的远程桌面应用在用户的本地计算设备上执行。因此,指示远程桌面应用正在执行的用户界面元素1328被显示在应用图标1314附近。
如图13A进一步所示,还打开与远程桌面应用相关联的应用窗口1304。应用窗口1304内是其中打开应用窗口1316和1318的操作***UI(例如,桌面1330)。应用窗口1316和1318可被称为应用窗口1304内的子视图。为了简洁起见,未示出附加的操作***UI元素(例如,任务栏、开始菜单等)。应用窗口1316和1318对应于在远程计算设备上执行的应用。在图13A所示的示例中,应用窗口1316对应于演示应用(例如,由微软公司发布的微软
Figure BDA0004164010290000491
),而应用窗口1318对应于电子表格应用(例如,由微软公司发布的微软
Figure BDA0004164010290000492
)。
同样如图13A所示,应用窗口1316包括演示应用的应用图标1320和通过演示应用打开和呈现的文档的标题1322。应用窗口1318包括电子表格应用的应用图标1324,以及经由电子表格应用打开和呈现的文档的标题1326。
根据一个实施例,操作***被配置为以与上面参考小节A-C描述的方式类似的方式生成和显示应用窗口1304中包括的每个子视图的代理窗口。例如,操作***可根据小节A经由在用户的本地计算设备(即,远程桌面应用经由其启动的设备)上执行的操作***的任务切换器功能来显示代理窗口,根据小节C经由在用户的本地计算设备上执行的操作***的任务栏功能来显示代理窗口,或者根据小节C经由在用户的本地计算设备上执行的操作***的窗口捕捉功能来显示代理窗口。
经由图13B呈现用于经由任务栏功能呈现代理窗口的示例GUI屏幕。如图13B所示,操作***检测使操作***经由任务栏1301激活选项卡预览功能1328的用户输入(例如,将光标1370悬停在应用图标1314上预定时间段)。选项卡预览功能1328同时显示多个代理窗口1330和1332。在图13B所示的例子中,代理窗口1332显示应用窗口1316的内容,代理窗口632显示应用窗口1318的内容。
显示代理窗口1330和1332的方式与通过远程桌面应用接收的选项卡信息一致,其方式与以上参照图1-图12所述的浏览器应用所述的方式类似。例如,远程桌面应用可与为应用窗口1316和1318提供选项卡(或子视图信息)的选项卡(或子视图)管理器API(例如,选项卡管理器API 108)相关联。子视图信息可由在用户的本地计算设备上执行的操作***(例如,操作***104)的选项卡(或子视图)数据模型API(例如,选项卡数据模型API 112)接收。响应于接收到应用窗口1316和1318的选项卡(或子视图)信息,操作***分析选项卡(或子视图)信息以确定要为代理窗口1330和1332中的每一个显示的标题,要为代理窗口1330和1332中的每一个显示的网站图标或应用图标,对当前活动的子视图(或应用窗口1316或1318)的视图的指示,表示应用窗口1316或1318中的每一个被创建的时间的时间戳,表示应用窗口1316或1318中的每一个最后被激活的时间的时间戳,和/或要为应用窗口1316或1318中的每一个显示的缩略图。操作***还可以基于包括在选项卡(或子视图)信息中的组标识符来确定经由远程桌面应用显示的应用窗口中的哪一个将具有为此生成的代理窗口。
在图13B所示的示例中,选项卡预览功能1328显示代理窗口1330的标题1338(“课堂演示”)和代理窗口1332的标题1340(“财务电子表格”)。标题1338对应于应用窗口1316的标题1322,标题1340对应于应用窗口1318的标题1326。
选项卡预览功能1328还显示针对代理窗口1330的应用图标1344和针对代理窗口1332的应用图标1346。应用图标1344对应于应用窗口1316的应用图标1320,并且应用图标1346对应于与应用窗口1318相关联的应用图标1324。
选项卡预览功能1328还显示表示在每个应用窗口1316和1318中显示的内容的缩略图。例如,选项卡预览功能1328显示对应于应用窗口1316的内容的缩略图1362,而选项卡预览功能1328显示对应于应用窗口1318的内容的缩略图1364。缩略图1362和1364中的每一个保持与其对应的应用窗口相同的纵横比。在图13B所示的示例中,缩略图1362和1364中的每一个与经由应用窗口1316和1318显示的对应内容成比例。
根据一个实施例,可以在任务栏301中显示经由远程桌面应用托管的应用的应用图标,而不是在任务栏1301中显示应用图标1314。例如,图13C描绘了根据示例实施例的示例GUI屏幕1300C,其中经由任务栏显示经由远程桌面应用托管的应用的应用图标。如图13C所示,应用图标1366和1374通过任务栏1301显示。应用图标1366对应于经由远程桌面应用执行的演示应用的应用图标1320。应用图标1374对应于通过远程桌面应用执行的电子表格应用的应用图标1324。如图13C中进一步所示,指示演示应用正在执行(在这种情况下,经由远程桌面应用)并且应用窗口(即,应用窗口1316)被打开)的用户界面元素1368被显示在应用图标1366附近。还如图13C所示,指示电子表格应用正在执行(在这种情况下,经由远程桌面应用)并且应用窗口(即,应用窗口1318)被打开)的用户界面元素1372被显示在应用图标1366附近。
如上所述,与演示应用或电子表格应用相关联的应用窗口的代理窗口可经由选项卡预览功能来显示。例如,图13D-图13E描绘了根据一个实施例的示例GUI屏幕1300D-1300E,其中经由任务栏显示选项卡预览功能。如图13D所示,操作***检测到使操作***经由任务栏1301激活选项卡预览功能1328的用户输入(例如,将光标1370悬停在应用图标1366预定时间段)。选项卡预览功能1328可同时显示为演示应用打开的每个应用窗口的代理窗口。在图13D所示的示例中,仅为演示应用打开一个应用窗口(即,应用窗口1316)。因此,经由选项卡预览功能1328显示单个代理窗口(即,代理窗口1330)。
如图13E所示,操作***检测使操作***经由任务栏1301激活选项卡预览功能1328的用户输入(例如,将光标1370悬停在应用图标1374上方预定时间段)。在图13E所示的示例中,对于电子表格应用仅打开一个应用窗口(即,应用窗口1318)。因此,经由选项卡预览功能1328显示单个代理窗口(即,代理窗口1322)。
应注意,以上关于小节A-C描述的选项卡(或子视图)显示和操纵技术也可用于前述实施例。例如,用户可以通过与其相应的代理窗口的交互来切换或关闭应用窗口。此外,子视图的代理窗口可以以与上面参考小节A-C中的选项卡分组所描述的方式类似的方式来分组。
还要注意,远程桌面应用不限于基于客户端的远程桌面应用。例如,用户可以经由基于云的环境来实例化远程桌面应用。在这样的实施例中,用户可以将浏览器应用导航到web门户,该web门户使得用户能够经由基于云的环境来实例化远程桌面应用。在这样的示例中,可以不经由任务栏1301显示单独的应用图标(例如,应用1314)。相反,与远程桌面应用相关联的子视图的代理窗口可以与浏览器应用(例如,应用图标1308)相关联地呈现。
Ⅲ.示例性移动和固定设备实施例
上述***和方法,包括参考图1-图12的代理窗口生成和显示技术、应用102、操作***104、共享存储器116、应用窗口106、选项卡管理器API 108、选项卡110、选项卡数据模型API 112、用户界面114,参考图2A-图3描述的GUI、应用502、操作***504、应用518、共享存储器516、应用窗口506、选项卡510、选项卡管理器API 508、应用窗口520、应用窗口API522、选项卡数据模型API 512、应用窗口API 524、用户界面514、输入检测器526、任务切换器功能528,参考图6A-图6H和图7A-图7E描述的GUI、应用902、操作***904、应用窗口906、选项卡910、选项卡管理器API 908、共享存储器916、选项卡数据模型API 912、用户界面914、任务切换器UI、输入检测器926,选项卡预览功能728,参考图10A-图10H描述的GUI、应用1202、操作***1204、应用1218、共享存储器1216、应用窗口1206、选项卡1210、选项卡管理器API 1208、应用窗口1220、应用窗口API 1222、选项卡数据模型API 1212、应用窗口API1224、用户界面1214、任务切换器功能1228、输入检测器1226,参考图13A-图13E描述的GUI和/或其中描述的每个组件,以及流程图400、800和/或1100可以用硬件或与软件和/或固件之一或两者结合的硬件来实现。例如,应用102、操作***104、共享存储器116、应用窗口106、选项卡管理器API 108、选项卡110、选项卡数据模型API 112、用户界面114,参考图2A-图3描述的GUI、应用502、操作***504、应用518、共享存储器516、应用窗口506、选项卡510、选项卡管理器API 508、应用窗口520、应用窗口API 522、选项卡数据模型API 512、应用窗口API 524、用户界面514、输入检测器526、任务切换器功能528,参考图6A-图6H和图7A-图7E描述的GUI、应用902、操作***904、应用窗口906、选项卡910、选项卡管理器API 908、共享存储器916、选项卡数据模型API 912、用户界面914、任务切换器UI、输入检测器926、选项卡预览功能728,参考图10A-图10H描述的GUI、应用1202、操作***1204、应用1218、共享存储器1216、应用窗口1206、选项卡1210、选项卡管理器API 1208、应用窗口1220、应用窗口API 1222,选项卡数据模型API 1212、应用窗口API 1224、用户界面1214、任务切换器功能1228、输入检测器1226,参考图13A-图13E描述的GUI和/或其中描述的每个组件,以及流程图400、800和/或1100可以各自被实现为被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码/指令。或者,应用102、操作***104、共享存储器116、应用窗口106、选项卡管理器API 108、选项卡110、选项卡数据模型API 112、用户界面114、参考图2A-图3描述的GUI、应用502、操作***504、应用518、共享存储器516、应用窗口506、选项卡510、选项卡管理器API 508、应用窗口520、应用窗口API 522、选项卡数据模型API 512、应用窗口API 524、用户界面514、输入检测器526、任务切换器功能528、参考图6A-图6H和图7A-图7E描述的GUI、应用902、操作***904、应用窗口906、选项卡910、选项卡管理器API 908、共享存储器916、选项卡数据模型API 912、用户界面914、任务切换器UI、输入检测器926、选项卡预览功能728、参考图10A-图10H描述的GUI、应用1202、操作***1204、应用1218、共享存储器1216、应用窗口1206、选项卡1210、选项卡管理器API 1208、应用窗口1220、应用窗口API 1222、选项卡数据模型API 1212、应用窗口API 1224、用户界面1214、任务切换器功能1228、输入检测器1226、参考图13A-图13E描述的GUI和/或其中描述的每个组件、以及流程图400、800和/或1100可以在一个或多个SoC(片上***)中实现。SoC可以包括集成电路芯片,该集成电路芯片包括例如,中央处理单元(CPU)、微控制器、微处理器,数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或其它电路中的一个或多个,且可视情况执行所接收的程序代码和/或包含嵌入式固件以执行功能。
图14示出了示例性移动设备1400的框图,其包括各种可选的硬件和软件组件,一般示为组件1402。以下各项的任何数量和组合的功能/元素:应用102、操作***104、共享存储器116、应用窗口106、选项卡管理器API 108、选项卡110、选项卡数据模型API 112、用户界面114、参考图2A-图3描述的GUI、应用502、操作***504、应用518、共享存储器516、应用窗口506、选项卡510、选项卡管理器API 508、应用窗口520、应用窗口API 522、选项卡数据模型API 512、应用窗口API 524、用户界面514、输入检测器526、任务切换器功能528、参考图6A-图6H和图7A-图7E描述的GUI、应用902、操作***904、应用窗口906、选项卡910、选项卡管理器API 908、共享存储器916、选项卡数据模型API 912、用户界面914、任务切换器UI、输入检测器926、选项卡预览功能728、参考图10A-图10H描述的GUI、应用1202、操作***1204、应用1218、共享存储器1216、应用窗口1206、选项卡1210、选项卡管理器API 1208、应用窗口1220、应用窗口API 1222、选项卡数据模型API 1212、应用窗口API 1224、用户界面1214、任务切换器功能1228、输入检测器1226、参考图13A-图13E描述的GUI和/或其中描述的每个组件、以及流程图400、800和/或1100可被实现为包括在移动设备实施例中的组件1402,以及相关领域的技术人员已知的附加和/或替换特征/元件。应注意,任何组件1402可与任何其它组件1402通信,但为了便于说明,未展示所有连接。移动设备1400可以是在其他地方描述或提及或以其他方式已知的各种移动设备(例如,蜂窝电话、智能电话、手持计算机、个人数字助理(PDA)等)中的任何一种,并且可以允许通过一个或多个通信网络1404(例如,蜂窝或卫星网络)与一个或多个移动设备进行无线双向通信、或者与局域或广域网进行无线双向通信。
所示的移动设备1400可以包括被称为处理器电路1410的控制器或处理器,用于执行诸如信号编码、图像处理、数据处理、输入/输出处理、功率控制和/或其它功能的任务。处理器电路1410是在作为中央处理单元(CPU)、微控制器、微处理器和/或其它物理硬件处理器电路的一个或多个物理硬件电路装置元件和/或集成电路装置(半导体材料芯片或管芯)中实现的电路和/或光电路。处理器电路1410可执行存储在计算机可读介质中的程序代码,诸如一个或多个应用1414的程序代码、操作***1412、存储在存储器1420中的任何程序代码等。操作***1412可控制组件1402的分配和使用,并支持一个或多个应用程序1414(又称为应用(application)、“应用(app)”等)。应用1414可包括通用移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)和任何其它计算应用(例如,文字处理应用、映射应用、媒体播放器应用)。
如图所示,移动设备1400可以包括存储器1420。存储器1420可以包括不可移动存储器1422和/或可移动存储器1424。不可移动存储器1422可以包括RAM、ROM、闪存、硬盘或其它公知的存储器存储技术。可移动存储器1424可以包括闪存或用户识别模块(SIM)卡,其在GSM通信***中是公知的,或其它公知的存储器存储技术,例如“智能卡”。存储器1420可用于存储用于运行操作***1412和应用1414的数据和/或代码。示例数据可以包括网页、文本、图像、声音文件、视频数据、或要经由一个或多个有线或无线网络发送到一个或多个网络服务器或其它设备和/或从一个或多个网络服务器或其它设备接收的其它数据集。存储器1420可用于存储用户标识符,例如国际移动用户身份(IMSI),以及设备标识符,例如国际移动设备标识符(IMEI)。这样的标识符可以被发送到网络服务器以标识用户和设备。
多个程序可以存储在存储器1420中。这些程序包括操作***1412、一个或多个应用1414、以及其它程序模块和程序数据。这样的应用或程序模块的示例可以包括例如用于实现上述***和方法(包括参考图1-图13E描述的实施例)的计算机程序逻辑(例如,计算机程序代码或指令)。
移动设备1400可支持一个或多个输入装置1430(例如,触摸屏1432、麦克风1434、相机1436、物理键盘1438和/或跟踪球1440)和一个或多个输出装置1450(例如,扬声器1452和显示器1454)。
其它可能的输出设备(未示出)可以包括压电或其它触觉输出设备。一些设备可以提供多于一个的输入/输出功能。例如,触摸屏1432和显示器1454可以组合在单个输入/输出设备中。输入设备1430可以包括自然用户界面(NUI)。
无线调制解调器1460可耦合到天线(未图示)且可支持处理器电路1410与外部装置之间的双向通信,如所属领域中众所周知。调制解调器1460一般地示出,并且可以包括用于与移动通信网络1404和/或其它基于无线电的调制解调器(例如,蓝牙1464和/或Wi–Fi1462)通信的蜂窝调制解调器1466。蜂窝调制解调器1466可以被配置为根据任何合适的通信标准或技术(例如GSM、3G、4G、5G等)来启用电话呼叫(并且可选地发送数据)。无线调制解调器1460中的至少一个典型地被配置为与一个或多个蜂窝网络通信,例如用于单个蜂窝网络内,蜂窝网络之间或移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。
移动设备1400可进一步包含至少一个输入/输出端口1480、电源1482、卫星导航***接收器1484(例如全球定位***(GPS)接收器)、加速度计1486和/或物理连接器1490,其可为USB端口、IEEE 1394(火线)端口和/或RS-232端口。所说明的组件1402不是必需的或全部包含的,因为本领域技术人员将认识到,可以不存在任何组件,可以另外存在其他组件。
此外,图15描绘了可在其中实现各实施例的计算设备1500的示例性实现,包括应用102、操作***104、共享存储器116、应用窗口106、选项卡管理器API 108、选项卡110、选项卡数据模型API 112、用户界面114、参考图2A-图3描述的GUI、应用502、操作***504、应用518、共享存储器516、应用窗口506、选项卡510、选项卡管理器API 508、应用窗口520、应用窗口API 522、选项卡数据模型API 512、应用窗口API 524、用户界面514、输入检测器526、任务切换器功能528、参考图6A-图6H和图7A-图7E描述的GUI、应用902、操作***904、应用窗口906、选项卡910、选项卡管理器API 908、共享存储器916、选项卡数据模型API912、用户界面914、任务切换器UI、输入检测器926、选项卡预览功能728、参考图10A-图10H描述的GUI、应用1202、操作***1204、应用1218、共享存储器1216、应用窗口1206、选项卡1210、选项卡管理器API 1208、应用窗口1220、应用窗口API 1222、选项卡数据模型API1212、应用窗口API 1224、用户界面1214、任务切换器功能1228、输入检测器1226、参考图13A-图13E描述的GUI、和/或其中描述的每个组件,以及流程图400、800和/或1100。本文提供的计算设备1500的描述是出于说明的目的而提供的,并且不旨在是限制性的。各实施例可在其它类型的计算机***中实现,如相关领域的技术人员所知。
如图15所示,计算设备1500包括被称为处理器电路1502的一个或多个处理器、***存储器1504、以及将包括***存储器1504的各种***组件耦合到处理器电路1502的总线1506。处理器电路1502是在作为中央处理单元(CPU)、微控制器、微处理器和/或其它物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或管芯)中实现的电气和/或光电路。处理器电路1502可以执行存储在计算机可读介质中的程序代码,诸如操作***1530、应用程序1532、其它程序1534等的程序代码。总线1506表示若干类型的总线结构中的任一种的一个或多个,包括存储器总线或存储器控制器、***总线、加速图形端口、以及使用各种总线体系结构中的任一种的处理器或局部总线。***存储器1504包括只读存储器(ROM)1508和随机存取存储器(RAM)1510。基本输入/输出***1512(BIOS)存储在ROM 1508中。
计算设备1500还具有以下驱动器中的一个或多个:硬盘驱动器1514用于对硬盘进行读写,磁盘驱动器1516用于对可移动磁盘1518进行读写,光盘驱动器1520用于对诸如CDROM、DVDROM或其它光学介质的可移动光盘1522进行读写。硬盘驱动器1514、磁盘驱动器1516和光盘驱动器1520分别通过硬盘驱动器接口1524、磁盘驱动器接口1526和光盘驱动器接口1528连接到总线1506。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令,数据结构,程序模块和其它数据的非易失性存储。虽然描述了硬盘、可移动磁盘和可移动光盘,但是可以使用其它类型的基于硬件的计算机可读存储介质来存储数据,例如闪存卡、数字视频盘、RAM、ROM和其它硬件存储介质。
多个程序模块可以存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作***1530、一个或多个应用1532、其它程序1534和程序数据1536。应用1532或其他程序1534可以包括例如用于实现上述***和方法的计算机程序逻辑(例如,计算机程序代码或指令),包括以上参考图1-图13E描述的实施例。
用户可以通过诸如键盘1538和定点设备1540的输入设备将命令和信息输入到计算设备1500中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、触摸屏和/或触摸板、接收语音输入的语音识别***、接收手势输入的手势识别***等。这些和其它输入装置通常通过耦合到总线1506的串行端口接口1542连接到处理器电路1502,但也可通过其它接口连接,例如并行端口、游戏端口或通用串行总线(USB)。
显示屏1544还通过诸如视频适配器1546的接口连接到总线1506。显示屏幕1544可以在计算设备1500的外部或结合在计算设备1500中。显示屏1544可以显示信息、以及作为用于接收用户命令和/或其他信息(例如,通过触摸、手指手势、虚拟键盘等)的用户界面。除了显示屏1544之外,计算设备1500可以包括其他***输出设备(未示出),诸如扬声器和打印机。
计算设备1500通过适配器或网络接口1550、调制解调器1552或用于在网络上建立通信的其他装置连接到网络1548(例如,互联网)。调制解调器1552可以是内置或外置的,它可以通过串行端口接口1542连接到总线1506,如图15所示,或者可以使用另一种接口类型连接到总线1506,包括并行接口。
如本文所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”一般用于指代物理硬件介质,诸如与硬盘驱动器1514相关联的硬盘、可移动磁盘1518、可移动光盘1522、其它物理硬件介质,诸如RAM、ROM、闪存卡、数字视频盘、zip盘、MEM、基于纳米技术的存储设备、以及其它类型的物理/有形硬件存储介质(包括图15的***存储器1504)。这种计算机可读存储介质与通信介质(不包括通信介质)不同并且不与通信介质重叠。通信介质通常在诸如载波的调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据。术语“已调制数据信号”是指以在信号中编码信息的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如声学、RF、红外和其它无线介质的无线介质、以及有线介质。实施例还涉及这种通信介质。
如上所述,计算机程序和模块(包括应用1532和其它程序1534)可以存储在硬盘、磁盘、光盘、ROM、RAM或其它硬件存储介质上。这样的计算机程序也可以经由网络接口1550,串行端口接口1552或任何其它接口类型来接收。当由应用执行或加载时,这样的计算机程序使得计算设备1500能够实现本文讨论的实施例的特征。因此,这样的计算机程序表示计算设备1500的控制器。
实施例还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。此类计算机程序产品包括硬盘驱动器、光盘驱动器、存储器装置封装、便携式存储棒、存储卡和其它类型的物理存储硬件。
Ⅳ.其他示例实施例
本文描述了由在计算设备上执行的操作***执行的方法。该方法包括:检测用户输入以启动在计算设备上执行的第一应用的第一应用窗口和第二应用的第二应用窗口在操作***的图形用户界面中的同时显示;确定第一应用具有在第一应用的第一应用窗口中被打开的多个选项卡;以及响应于检测到用户输入并确定第一应用具有在第一应用的第一应用窗口中被打开的多个选项卡,在操作***的图形用户界面中同时显示针对多个选项卡中的每个选项卡的相应的第一代理窗口与针对第二应用窗口的第二代理窗口,每个相应的第一代理窗口表示在其对应的选项卡中显示的内容,第二代理窗口表示在第二应用的第二应用窗口中显示的内容,
根据前述方法的实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图,并且其中第二代理窗口包括表示在第二应用窗口中显示的内容的缩略图。
根据前述方法的实施例,每个缩略图的大小与第一应用窗口的大小成比例。
根据前述方法的实施例,该确定包括:经由第一应用的应用编程接口接收多个选项卡的特性,特性包括以下至少一项:在第一应用窗口中被打开的多个选项卡的数目;表示第一应用的图标;针对多个选项卡中的每个选项卡的组标识符;与多个选项卡中的每个选项卡相关联的标题;针对多个选项卡中的每个选项卡的缩略图;多个选项卡中的最近活动的选项卡的指示;表示创建多个选项卡中的每个选项卡的时间的时间戳;或表示多个选项卡中的每个选项卡最后活动的时间的时间戳。
根据前述方法的实施例,方法还包括:提供用户界面元素,用户界面元素使得能够经由表示在N个最近活动的选项卡中显示的内容的第三代理窗口来表示多个选项卡中的N个最近活动的选项卡的指定,其中N是大于1的正整数。
根据前述方法的实施例,方法还包括:提供用户界面元素,用户界面元素在被激活时使第二代理窗口被隐藏,同时保持第一代理窗口的显示。
根据前述方法的实施例,该方法还包括:检测用于关闭第一代理窗口中的特定第一代理窗口的用户输入;以及响应于检测到用于关闭第一代理窗口的特定第一代理窗口的用户输入,向第一应用提供关闭多个选项卡中的与特定第一代理窗口相对应的选项卡的命令。
本文描述了由在计算设备上执行的操作***执行的另一种方法。该方法包括:检测关于被固定到操作***的图形用户界面的任务栏的图标的用户输入;确定与图标相关联的应用具有在应用的应用窗口中被打开的多个选项卡;以及响应于检测到用户输入并确定与图标相关联的应用具有在应用的应用窗口中被打开的多个选项卡,在操作***的图形用户界面中同时显示针对多个选项卡中的每个选项卡的相应代理窗口,每个相应代理窗口表示在其对应的选项卡中显示的内容。
根据前述方法的实施例,被固定到任务栏的图标表示网站并且包括与该网站的域相关联的网站图标。
根据前述方法的实施例,该同时显示包括为多个选项卡中与相同组标识符相关联的每个选项卡同时显示相应的代理窗口,组标识符标识每个选项卡显示与域相关联的网站;对于每个选项卡,相应的代理窗口表示在其对应的选项卡中显示的网站的内容。
根据前述方法的实施例,该方法还包括提供接近图标的用户界面元素,该用户界面元素指示应用正在执行,并且在多个选项卡中的至少一个选项卡中显示与域相关联的网站。
根据前述方法的实施例,每个相应的代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。
根据前述方法的实施例,每个代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。
根据前述方法的实施例,该确定包括:经由应用的应用编程接口接收多个选项卡的特性,特性包括以下至少一项:在应用窗口中被打开的多个选项卡的数目;表示应用的图标;与多个选项卡中的每个选项卡相关联的标题;针对多个选项卡中的每个选项卡的组标识符;针对多个选项卡中的每个选项卡的缩略图;对多个选项卡中的最近活动的选项卡的指示;表示创建多个选项卡中的每个选项卡的时间的时间戳;或表示多个选项卡中的每个选项卡最后有效的时间的时间戳。
根据前述方法的实施例,方法还包括:检测用于关闭代理窗口中的特定代理窗口的用户输入;以及响应于检测到用于关闭代理窗口的特定代理窗口的用户输入,向应用提供关闭对应于特定代理窗口的多个选项卡中的选项卡的命令。
本文描述了由在计算设备上执行的操作***执行的另一方法。该方法包括:检测使第一应用的第一应用窗口显示在操作***的图形用户界面的第一部分中的用户输入;确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡;以及响应于第一应用窗口被显示在操作***的图形用户界面的第一部分中并且确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡,在操作***的图形用户界面的第二部分中显示用于在第二应用窗口中被打开的多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其相应的选项卡中显示的内容。
根据前述方法的实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。
根据前述方法的实施例,每个缩略图的大小与第二应用窗口的大小成比例。
根据前述方法的实施例,确定包括:经由第二应用的应用编程接口接收多个选项卡的特性,特性包括以下至少一项:在第二应用窗口中被打开的多个选项卡的数目;表示第二应用的图标;针对多个选项卡中的每个选项卡的组标识符;与多个选项卡中的每个选项卡相关联的标题;针对多个选项卡中的每个选项卡的缩略图;多个选项卡中的最近活动的选项卡的指示;表示创建多个选项卡中的每个选项卡的时间的时间戳;或表示多个选项卡中的每个选项卡最后活动的时间的时间戳。
根据前述方法的实施例,方法还包括:在操作***的图形用户界面的第二部分中与第一代理窗口同时显示用于在计算设备上执行的第三应用的第二代理窗口,第二代理窗口表示在第三应用的第三应用窗口中显示的内容;以及提供用户界面元素,用户界面元素在被激活时使得第二代理窗口被隐藏,同时保持第一代理窗口的显示。
根据前述方法的实施例,第一部分包括操作***的图形用户界面的第一半,第二部分包括操作***的图形用户界面的第二半。
根据前述方法的实施例,方法还包括:检测用于关闭第一代理窗口中的特定第一代理窗口的用户输入;以及响应于检测到用于关闭第一代理窗口的特定第一代理窗口的用户输入,向第二应用提供关闭对应于特定第一代理窗口的多个选项卡中的选项卡的命令。
本文还描述了一种计算设备。计算设备包括至少一个处理器电路;以及至少一个存储器,其存储被配置为由至少一个处理器电路执行的程序代码。该程序代码包括:操作***,其被配置为:检测使第一应用的第一应用窗口显示在操作***的图形用户界面的第一部分中的用户输入;确定第二应用具有在该第二应用的第二应用窗口中被打开的多个选项卡;以及响应于在操作***的图形用户界面的第一部分中显示第一应用窗口并确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡,在操作***的图形用户界面的第二部分中显示用于在第二应用窗口中被打开的多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其对应的选项卡中显示的内容。
根据前述计算设备的实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。
根据前述计算设备的实施例,每个缩略图的大小与第二应用窗口的大小成比例。
根据前述计算设备的实施例,确定包括:经由第二应用的应用编程接口接收多个选项卡的特性,特性包括以下至少一项:在第二应用窗口中被打开的多个选项卡的数目;表示第二应用的图标;针对多个选项卡中的每个选项卡的组标识符;与多个选项卡中的每个选项卡相关联的标题;针对多个选项卡中的每个选项卡的缩略图;多个选项卡中的最近活动的选项卡的指示;表示创建多个选项卡中的每个选项卡的时间的时间戳;或表示多个选项卡中的每个选项卡最后活动的时间的时间戳。
根据前述计算设备的实施例,操作***还被配置为:在操作***的图形用户界面的第二部分中,与第一代理窗口同时显示用于在计算设备上执行的第三应用的第二代理窗口,第二代理窗口表示在第三应用的第三应用窗口中显示的内容;以及提供用户界面元素,用户界面元素在被激活时使第二代理窗口被隐藏,同时保持第一代理窗口的显示。
根据前述计算设备的实施例,第一部分包括操作***的图形用户界面的第一半,而第二部分包括操作***的图形用户界面的第二半。
根据前述计算设备的实施例,操作***还被配置为:检测用于关闭第一代理窗口的一个特定第一代理窗口的用户输入;以及响应于检测到用于关闭第一代理窗口的特定第一代理窗口的用户输入,向第二应用提供关闭对应于特定第一代理窗口的多个选项卡中的选项卡的命令。
本文还描述了一种其上记录有程序指令的计算机可读存储介质,程序指令在由计算设备的至少一个处理器执行时执行方法。该方法包括:检测使第一应用的第一应用窗口显示在操作***的图形用户界面的第一部分中的用户输入;确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡;以及响应于第一应用窗口被显示在操作***的图形用户界面的第一部分中并且确定第二应用具有在第二应用的第二应用窗口中被打开的多个选项卡,在操作***的图形用户界面的第二部分中显示用于在第二应用窗口中被打开的多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其相应的选项卡中显示的内容。
根据计算机可读存储介质的实施例,每个相应的第一代理窗口包括表示在其对应的选项卡中显示的内容的缩略图。
根据计算机可读存储介质的实施例,每个缩略图的大小与第二应用窗口的大小成比例。
根据计算机可读存储介质的实施例,确定包括:经由第二应用的应用编程接口接收多个选项卡的特性,特性包括以下至少一项:在第二应用窗口中被打开的多个选项卡的数目;表示第二应用的图标;针对多个选项卡中的每个选项卡的组标识符;与多个选项卡中的每个选项卡相关联的标题;针对多个选项卡中的每个选项卡的缩略图;多个选项卡中的最近活动的选项卡的指示;表示创建多个选项卡中的每个选项卡的时间的时间戳;或表示多个选项卡中的每个选项卡最后活动的时间的时间戳。
根据计算机可读存储介质的实施例,方法还包括:在操作***的图形用户界面的第二部分中,与第一代理窗口同时显示用于在计算设备上执行的第三应用的第二代理窗口,第二代理窗口表示在第三应用的第三应用窗口中显示的内容;以及提供用户界面元素,用户界面元素在被激活时使得第二代理窗口被隐藏,同时保持第一代理窗口的显示。
根据计算机可读存储介质的实施例,第一部分包括操作***的图形用户界面的第一半,第二部分包括操作***的图形用户界面的第二半。
Ⅴ结论
虽然上面已经描述了各种实施例,但是应当理解,它们仅仅是作为示例而非限制来呈现的。相关领域的技术人员将理解,在不脱离所附权利要求中限定的所述实施例的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本实施例的广度和范围不应受任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同物来限定。

Claims (15)

1.一种由在计算设备上执行的操作***执行的方法,包括:
检测使第一应用的第一应用窗口在所述操作***的图形用户界面的第一部分中被显示的用户输入;
确定第二应用具有在所述第二应用的第二应用窗口中被打开的多个选项卡;以及
响应于所述第一应用窗口在所述操作***的所述图形用户界面的所述第一部分中被显示并且确定所述第二应用具有在所述第二应用的所述第二应用窗口中被打开的所述多个选项卡,在所述操作***的所述图形用户界面的第二部分中显示针对在所述第二应用窗口中被打开的所述多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其对应的选项卡中被显示的内容。
2.根据权利要求1所述的方法,其中每个相应的第一代理窗口包括表示在其对应的选项卡中被显示的所述内容的缩略图。
3.根据权利要求2所述的方法,其中每个缩略图的大小与所述第二应用窗口的大小成比例。
4.根据权利要求2所述的方法,其中所述确定包括:
经由所述第二应用的应用编程接口接收所述多个选项卡的特性,所述特性包括以下至少一项:
在所述第二应用窗口中被打开的所述多个选项卡的数目;
表示所述第二应用的图标;
针对所述多个选项卡中的每个选项卡的组标识符;
与所述多个选项卡中的每个选项卡相关联的标题;
针对所述多个选项卡中的每个选项卡的所述缩略图;
所述多个选项卡中的最近活动的选项卡的指示;
表示所述多个选项卡中的每个选项卡被创建的时间的时间戳;或
表示所述多个选项卡中的每个选项卡最后活动的时间的时间戳。
5.根据权利要求1所述的方法,还包括:
在所述操作***的所述图形用户界面的所述第二部分中,与所述第一代理窗口同时显示针对在所述计算设备上执行的第三应用的第二代理窗口,所述第二代理窗口表示在所述第三应用的第三应用窗口中被显示的所述内容;以及
提供用户界面元素,所述用户界面元素在被激活时使所述第二代理窗口被隐藏,同时保持所述第一代理窗口的所述显示。
6.根据权利要求1所述的方法,其中所述第一部分包括所述操作***的所述图形用户界面的第一半,并且其中所述第二部分包括所述操作***的所述图形用户界面的第二半。
7.根据权利要求1所述的方法,还包括:
检测用于关闭所述第一代理窗口中的特定第一代理窗口的用户输入;以及
响应于检测到用于关闭所述第一代理窗口中的所述特定第一代理窗口的所述用户输入,向所述第二应用提供用于关闭所述多个选项卡中的与所述特定第一代理窗口相对应的选项卡的命令。
8.一种计算设备,包括:
至少一个处理器电路;以及
至少一个存储器,存储被配置为由所述至少一个处理器电路执行的程序代码,所述程序代码包括:
操作***,被配置为:
检测使第一应用的第一应用窗口在所述操作***的图形用户界面的第一部分中被显示的用户输入;
确定第二应用具有在所述第二应用的第二应用窗口中被打开的多个选项卡;以及
响应于所述第一应用窗口在所述操作***的所述图形用户界面的所述第一部分中被显示并且确定所述第二应用具有在所述第二应用的所述第二应用窗口中被打开的所述多个选项卡,在所述操作***的所述图形用户界面的第二部分中显示针对在所述第二应用窗口中被打开的所述多个选项卡中的每个选项卡的相应的第一代理窗口,每个相应的第一代理窗口表示在其对应的选项卡中被显示的内容。
9.根据权利要求8所述的计算设备,其中每个相应的第一代理窗口包括表示在其对应的选项卡中被显示的所述内容的缩略图。
10.根据权利要求9所述的计算设备,其中每个缩略图的大小与所述第二应用窗口的大小成比例。
11.根据权利要求9所述的计算设备,其中所述确定包括:
经由所述第二应用的应用编程接口接收所述多个选项卡的特性,所述特性包括以下至少一项:
在所述第二应用窗口中被打开的所述多个选项卡的数目;
表示所述第二应用的图标;
针对所述多个选项卡中的每个选项卡的组标识符;
与所述多个选项卡中的每个选项卡相关联的标题;
针对所述多个选项卡中的每个选项卡的所述缩略图;
所述多个选项卡中的最近活动的选项卡的指示;
表示所述多个选项卡中的每个选项卡被创建的时间的时间戳;或
表示所述多个选项卡中的每个选项卡最后活动的时间的时间戳。
12.根据权利要求8所述的计算设备,其中所述操作***还被配置为:
在所述操作***的所述图形用户界面的所述第二部分中,与所述第一代理窗口同时显示针对在所述计算设备上执行的第三应用的第二代理窗口,所述第二代理窗口表示在所述第三应用的第三应用窗口中被显示的所述内容;以及
提供用户界面元素,所述用户界面元素在被激活时使所述第二代理窗口被隐藏,同时保持所述第一代理窗口的所述显示。
13.根据权利要求8所述的计算设备,其中所述第一部分包括所述操作***的所述图形用户界面的第一半,并且其中所述第二部分包括所述操作***的所述图形用户界面的第二半。
14.根据权利要求8所述的计算设备,其中所述操作***还被配置为:
检测用于关闭所述第一代理窗口中的特定第一代理窗口的用户输入;以及
响应于检测到用于关闭所述第一代理窗口中的所述特定第一代理窗口的所述用户输入,向所述第二应用提供用于关闭所述多个选项卡中的与所述特定第一代理窗口相对应的选项卡的命令。
15.一种计算机可读存储介质,所述计算机可读存储介质上记录有程序指令,所述程序指令在由计算设备的至少一个处理器执行时,执行根据权利要求1-7中任一项所述的方法。
CN202180068597.1A 2020-10-07 2021-06-28 用于经由操作***用户界面提供选项卡预览的***和方法 Pending CN116368468A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/065,330 US11620034B2 (en) 2020-10-07 2020-10-07 Systems and methods for providing tab previews via an operating system user interface
US17/065,330 2020-10-07
PCT/US2021/039334 WO2022076049A1 (en) 2020-10-07 2021-06-28 Systems and methods for providing tab previews via an operating system user interface

Publications (1)

Publication Number Publication Date
CN116368468A true CN116368468A (zh) 2023-06-30

Family

ID=77022291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180068597.1A Pending CN116368468A (zh) 2020-10-07 2021-06-28 用于经由操作***用户界面提供选项卡预览的***和方法

Country Status (4)

Country Link
US (1) US11620034B2 (zh)
EP (1) EP4226242A1 (zh)
CN (1) CN116368468A (zh)
WO (1) WO2022076049A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD869491S1 (en) * 2018-06-03 2019-12-10 Apple Inc. Electronic device with graphical user interface
US10977095B2 (en) * 2018-11-30 2021-04-13 Microsoft Technology Licensing, Llc Side-by-side execution of same-type subsystems having a shared base operating system
USD973677S1 (en) * 2019-11-27 2022-12-27 GE Precision Healthcare LLC Display screen with graphical user interface
CN114935989B (zh) * 2022-06-24 2024-04-19 Vidaa国际控股(荷兰)公司 一种浏览器页面显示方法及显示设备
US20240004524A1 (en) * 2022-06-30 2024-01-04 Microsoft Technology Licensing, Llc Window arrangements using tabbed user interface elements
US20240069695A1 (en) * 2022-08-29 2024-02-29 Pete Phillip Bragansa Method for Grouping and Managing Web Pages or Browser and Non-Browser Tabs in Two-Dimensional Manner
US11921986B1 (en) * 2022-09-27 2024-03-05 Open Text Holdings, Inc. System and method for web page navigation behavior

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596760B2 (en) * 2005-04-07 2009-09-29 Microsoft Corporation System and method for selecting a tab within a tabbed browser
US9424653B2 (en) * 2014-04-29 2016-08-23 Adobe Systems Incorporated Method and apparatus for identifying a representative area of an image
US10216370B2 (en) * 2016-03-29 2019-02-26 Microsoft Technology Licensing, Llc Tabs in system task switchers

Also Published As

Publication number Publication date
WO2022076049A1 (en) 2022-04-14
US20220107712A1 (en) 2022-04-07
US11620034B2 (en) 2023-04-04
EP4226242A1 (en) 2023-08-16

Similar Documents

Publication Publication Date Title
US11620034B2 (en) Systems and methods for providing tab previews via an operating system user interface
US10248305B2 (en) Manipulating documents in touch screen file management applications
US10496268B2 (en) Content transfer to non-running targets
US10437418B2 (en) Overloading app icon touchscreen interaction to provide action accessibility
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
TWI463368B (zh) 提供螢幕鎖定之背景的方法、電子裝置及電腦程式產品
US20170024226A1 (en) Information processing method and electronic device
US9749269B2 (en) User terminal and method of displaying lock screen thereof
KR102004553B1 (ko) 사용자 인터페이스에서의 작업 공간 관리
WO2018019169A1 (zh) 二维码识别方法、设备和移动终端
TWI431527B (zh) 具視覺資訊轉換系統之電子裝置
WO2019206158A1 (zh) 一种界面显示方法、装置及设备
US10551998B2 (en) Method of displaying screen in electronic device, and electronic device therefor
JP2012511209A (ja) ロックされた装置上での受信情報の分離
WO2013180975A2 (en) Optimization schemes for controlling user interfaces through gesture or touch
US20160085388A1 (en) Desktop Environment Differentiation in Virtual Desktops
KR20140094540A (ko) 크로스 윈도우 애니메이션
WO2020006669A1 (zh) 一种图标切换方法、显示gui的方法及电子设备
US20160004406A1 (en) Electronic device and method of displaying a screen in the electronic device
US9804774B1 (en) Managing gesture input information
US10089001B2 (en) Operating system level management of application display
EP2638464A2 (en) Application file system access
CN115698988A (zh) 用于经由远程浏览器实例查看不兼容网页的***和方法
WO2015085520A1 (zh) 移动终端及其应用图标生成方法
CN106415626B (zh) 从单个项目发起的组选择

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination