CN116583819A - 自动化屏幕上窗口布置 - Google Patents

自动化屏幕上窗口布置 Download PDF

Info

Publication number
CN116583819A
CN116583819A CN202180083914.7A CN202180083914A CN116583819A CN 116583819 A CN116583819 A CN 116583819A CN 202180083914 A CN202180083914 A CN 202180083914A CN 116583819 A CN116583819 A CN 116583819A
Authority
CN
China
Prior art keywords
window
display
applications
arrangement
arrangements
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
CN202180083914.7A
Other languages
English (en)
Inventor
E·A·帕帕马科斯
A·M·普弗尔奇
R·J·迪萨诺
B·P·安德森
A·斯尼特科夫斯基
Y·米斯拉
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 CN116583819A publication Critical patent/CN116583819A/zh
Pending legal-status Critical Current

Links

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
    • 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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

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

Abstract

公开了一种用于生成针对显示器的窗口布置的系统,该系统包括处理器和计算机可读介质,该计算机可读介质存储指令,这些指令用于控制系统执行:接收第一用户输入,第一用户输入请求生成针对显示器的窗口布置;响应于接收到第一用户输入,基于关于应用的上下文信息来标识要被包括在针对显示器的窗口布置中的应用的组;基于显示器的显示信息和关于应用的上下文信息来生成窗口布置,每个窗口布置提供与组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义窗口中的每个窗口在显示器上的大小和位置;以及显示针对显示器的窗口布置的可选列表。

Description

自动化屏幕上窗口布置
背景技术
显示技术的最新发展已带来了显示设备的多样化,并且在选择显示设备方面,消费者现在已具有大量选择。例如,对于网络浏览、电子邮件和轻型办公室工作,消费者通常选择24英寸或27英寸的全高清晰度(FHD,1920×1080个像素)宽屏(例如,纵横比为16:9)监视器。对于摄影、内容创建或科学/工程任务,消费者选择具有较高屏幕分辨率(例如,4K或超高清晰度(UHD),3840×2160个像素)的较大(例如,32英寸或43英寸)监视器或纵横比为21:9的34英寸或49英寸超宽屏幕监视器。而且,通常使用两个或更多个水平或垂直并排的监视器来同时显示更多信息。
屏幕实际使用面积的这种增加允许用户在一个或多个屏幕上同时放置两个以上的应用窗口。为了帮助布置应用窗口,已进行了各种尝试。例如,一些操作系统提供各种屏幕快照功能以将特定应用窗口放置在屏幕的特定部分处。而且,监视器制造商和第三方软件开发者已提供了各种屏幕分段解决方案来将屏幕划分成两个或更多个分段,其中每个分段可以用作单独的监视器屏幕。然而,现有解决方案限于将由用户选择的应用窗口放置到屏幕的特定区域或分段(例如,左半部或右半部、上半部或下半部等)。因此,对于每个应用窗口,要求用户指定应用窗口应被放置在屏幕的哪个部分。在存在两个以上的监视器的情况下,除了标识应使用屏幕的哪个部分或分段以外,用户还需要指定应使用哪个监视器。如此,对于更具流线型的应用屏幕上窗口布置,仍然存在新实现和改进实现的显著空间。
发明内容
在实现中,一种用于生成针对一个或多个显示器的多个窗口布置的系统,包括处理器和计算机可读介质,该计算机可读介质存储指令,这些指令在由处理器执行时,使处理器控制系统执行:接收第一用户输入,第一用户输入请求生成针对第一显示器的第一窗口布置;响应于接收到第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对第一显示器的第一窗口布置中的应用的第一组;基于第一显示器的第一显示信息和关于多个应用的上下文信息来生成多个第一窗口布置,每个第一窗口布置提供与第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在第一显示器上的大小和位置;以及显示针对第一显示器的多个第一窗口布置的第一可选列表。
在另一实现中,一种用于生成针对一个或多个显示器的多个窗口布置的系统的操作方法,包括:接收第一用户输入,第一用户输入请求生成针对第一显示器的多个第一窗口布置;响应于接收到第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对第一显示器的第一窗口布置中的应用的第一组;基于第一显示器的第一显示信息和关于多个应用的上下文信息来生成多个第一窗口布置,每个第一窗口布置提供与第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在第一显示器上的大小和位置;以及显示针对第一显示器的多个第一窗口布置的第一可选列表。
在另一实现中,一种用于生成针对一个或多个显示器的多个窗口布置的系统,包括处理器和计算机可读介质,该计算机可读介质包括指令,这些指令在由处理器执行时使处理器控制系统执行接收第一用户输入,第一用户输入请求生成与第一窗口有关的多个窗口布置;生成多个窗口布置,每个窗口布置提供多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在显示器上的大小和位置;接收第二用户输入,第二用户输入选择多个窗口布置中的第一窗口布置,第一窗口布置将显示器划分成多个分段并且定义多个分段中的每个分段的大小和位置;接收第三用户输入,第三用户输入选择根据所选择的第一窗口布置而被划分的多个分段中的第一分段;以及响应于接收到第三用户输入,在显示器的第一分段处显示第一窗口。
本发明内容被提供来以简化形式介绍一些概念,这些改变在以下具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺陷的实现。
附图说明
附图仅通过示例而非限制的方式描述了根据本教导的一个或多个实现。在附图中,相同的附图标记表示相同或相似的元素。此外,应理解,附图不必按比例绘制。
图1图示了用于生成多个屏幕上窗口布置的系统的实现。
图2A图示了在其上打开三个应用窗口的示例屏幕。
图2B图示了基于显示信息和上下文信息而生成的多个屏幕上窗口布置的实现。
图2C图示了在其上基于用户对图2B所示的屏幕上窗口布置中的一个屏幕上窗口布置的选择来显示两个应用窗口的图2A的屏幕。
图2D图示了还基于排程信息而生成的多个屏幕上窗口布置的另一实现。
图3A图示了激活屏幕上窗口布置菜单框的示例。
图3B图示了选择图3A中所示的屏幕上窗口布置中的一个屏幕上窗口布置的示例。
图4A图示了具有不同方位并且并排布置的两个屏幕的示例。
图4B图示了用于图4A中所示的屏幕的屏幕上窗口布置的实现。
图4C图示了用于图4A中所示的屏幕的屏幕上窗口布置的实现。
图4D图示了在针对图4B和图4C中所示的显示器中的每个显示器选择屏幕上窗口布置之后的图4A的屏幕。
图5图示了示出用于生成多个屏幕上窗口布置的操作的实现的流程图。
图6A图示了在其上打开四个应用窗口的示例屏幕。
图6B图示了针对图6A中所示的四个应用窗口中的所选择的一个应用窗口激活屏幕上窗口布置的菜单框的示例。
图6C图示了与图6B中所示的菜单框交互以选择屏幕上窗口布置中的一个屏幕上窗口布置并且选择所选择的窗口屏幕布置中的分段中的一个分段的示例;
图6D图示了在屏幕的所选择的分段处显示所选择的应用窗口并且显示用户选择的其他应用窗口的预览的图6A中所示的屏幕。
图6E图示了显示经由图6B、图6C和图6D中所示的步骤选择的两个应用的图6A中所示的屏幕。
图7图示了示出用于生成多个屏幕上窗口布置的操作的另一实现的流程图。
图8是示出了可以在其上实现本公开的实现的示例计算机系统的框图。
具体实施方式
在以下具体实施方式中,为了提供对相关教导的透彻理解,通过示例的方式对许多具体细节进行了阐述。然而,应显而易见的是,本教导可以在没有这些细节的情况下实践。在其他实例中,为了避免不必要地模糊本教导的各方面,在无需细节的情况下,以相对较高的层级描述了公知方法、过程、组件和/或电路。
该描述涉及生成多个应用的一个或多个屏幕上布置。基于诸如显示配置信息、应用上下文信息等的各种信息,系统可以标识可能由用户使用并因此应在一个或多个屏幕上显示的应用,所选择的应用的窗口应如何被缩放或放置在一个或多个屏幕上等。然后,系统可以生成所选择的应用的一个或多个屏幕上布置,该一个或多个屏幕上布置作为窗口布置建议呈现给用户。响应于接收到选择所呈现的窗口布置建议中的一个窗口布置建议的用户输入,系统使所选择的应用窗口被缩放或放置在一个或多个屏幕上。应用可以处于不同的操作和显示状态。例如,在若干个应用中,应用可以正在运行并且其窗口可以在显示器的屏幕上打开。另一应用可以正在运行,但是其窗口可以被最小化或被另一应用窗口完全或部分阻挡,并且因此可以根本不显示或完全不显示在屏幕上。另一应用可能未正在运行,因此可能不在屏幕上显示。不管每个应用的操作和显示状态如何,系统都可以确定应显示哪个应用以及应如何经由一个或多个屏幕呈现应用窗口。基于这样的确定,系统可以生成用户可以从中选择的一个或多个屏幕上窗口布置。在接收到选择屏幕上窗口布置中的一个屏幕上窗口布置的用户输入时,系统根据在所选择的屏幕上窗口布置中定义的布置自动重新缩放和放置应用。
因此,用户不必确定哪些应用应显示在屏幕上并且确保所有必要的应用正在运行。而且,无需用户手动设置一个或多个屏幕应如何被划分并且每个应用应被放置到一个或多个屏幕的哪个部分。因此,本公开提供了针对用户必须确定并且手动设置一个或多个屏幕应如何被划分以及每个应用窗口应被放置在该一个或多个屏幕的哪些部分的常规方法的技术问题的技术解决方案。
通过该概述,现在将注意力转向附图以对呈现的教导的各种实现进行描述。图1图示了用于生成多个屏幕上窗口布置的系统100的实现。系统100可以包括本地设备110、服务器120、各种数据源(例如,数据库130等)、处理资源(例如,人工智能(AI)引擎140、深度学习(DL)引擎150等)等。
本地设备110代表任何物理或虚拟计算系统、设备或其集合,诸如智能电话、膝上型计算机、台式计算机、混合计算机、平板计算机、游戏机、智能电视、娱乐设备、互联网家用电器、虚拟机、可穿戴式计算机、以及其任何变型或组合。本地设备110可以远离服务器120操作,因此可以通过在合适的一个或多个通信链路上交换的数据和信息来彼此通信。本地设备110可以实现所有功能或部分功能,以执行视觉搜索查询生成方案。本地设备110可以经由服务器120与数据库130、AI引擎140和DL引擎150通信。
本地设备110可以包括一个或多个内部显示器112A和/或连接到一个或多个外部显示器112B和112C(仅示出两个)。一个或多个内部显示器和/或外部显示器被统称为显示器112。本地设备110还可以包括或连接到一个或多个用户接口设备,诸如鼠标、键盘、扬声器、麦克风等(未示出)。本地设备110可以托管本地服务114,该本地服务114被配置为生成一个或多个屏幕上窗口布置。本地服务114代表能够标识相关信息并且生成一个或多个屏幕上窗口布置的任何软件应用、模块、部件或其集合。
在实现中,本地服务114可以被实现为操作系统(OS)的一部分,诸如MicrosoftTMWindowsTM、AppleTM iOSTM、LinuxTM、GoogleTM Chrome OSTM等。备选地,本地服务114可以被实现为以本地方式安装和执行的应用、流式应用、移动应用、或其任何组合或变型,其可以被配置为执行与生成一个或多个屏幕上窗口布置有关的操作或功能。本地服务114可以被实现为独立应用,或可以跨多个应用分布。
服务器120代表任何物理或虚拟计算系统、设备或其集合,诸如网络服务器、机架服务器、刀片服务器、虚拟机服务器或塔式服务器、以及任何其他类型的计算系统,在一些场景中,其可以在数据中心、虚拟数据中心或一些其他合适的设施中被实现。服务器120可以操作屏幕上窗口布置服务122,该屏幕上窗口布置服务122可以实现所有部分或部分功能,以执行生成屏幕上窗口布置。服务122可以托管诸如数据库130、AI引擎140、DL引擎150等的各种数据源和处理资源、与之集成、或者与之通信。服务122可以是能够向本地服务114提供屏幕上窗口布置服务的任何软件应用、模块、部件或其集合。在一些情况下,服务122是执行与各种屏幕上窗口布置服务有关的各种操作的独立应用。
由本地服务114和服务122提供的特征和功能可以被共同定位或甚至被集成为单个应用。除了跨应用和服务平台可用的上述特征和功能以外,可以在相同或不同计算设备上的多个设备上执行所描述的生成屏幕上窗口布置的各方面。例如,用于视觉搜索查询生成的一些功能可以由本地设备10上的本地服务114提供,并且本地服务114可以通过与服务器120或其他设备之间交换的数据和信息的方式进行通信。作为另一示例,本地设备110可以在虚拟计算环境中作为所谓的“瘦客户端”操作,并且接收要经由显示器112显示的视频数据。在该虚拟计算场景中,服务器120可以执行生成一个或多个屏幕上窗口布置的整个操作。
为了生成更准确和相关的屏幕上窗口布置,可以搜索并考虑来自诸如数据库130、AI引擎140、DL引擎150等的各种源的各种信息。例如,系统100可以搜索与本地服务114和/或服务122有关的数据集合,该数据集合可以存储在本地设备110、服务器120和/或数据库130中。系统100还可以搜索其他数据源,诸如网站/网页、联系人/目录、地图、用户/成员帐户等。
系统100可以使用AI引擎140和/或DL引擎150等来提供生成更为准确且相关的屏幕上窗口布置。可以基于机器学习(ML)来实现AI引擎140和DL引擎150,该机器学习通常包括可以随时间而自动学习的各种算法。这些算法的基础通常建立在可以用于预测事件、对实体进行分类、诊断问题和对函数逼近进行建模的数学和统计上。作为示例,可以训练系统以便标识用户活动中的模式、确定各种数据点之间的关联、以及基于模式和关联来作出决定。在随着时间累积、回顾和/或分析来自大量用户的数据之后,可以进行这种确定,这种确定可以被配置为向ML算法(MLA)提供初始训练集或正在进行的训练集。
在不同的实现中,可以使用训练系统,该训练系统包括初始ML模型(其可以被称为“ML模型训练器”),该初始ML模型被配置为根据从训练数据储存库获得的训练数据来生成后续经训练的ML模型。该ML模型的生成可以被称为“训练”或“学习”。训练系统可以包括和/或可以访问用于训练的大量计算资源(诸如,云),包括适用于机器学习训练的许多计算机服务器系统。在一些实现中,ML模型训练器被配置为根据相同或相似的训练数据自动生成多个不同的ML模型以供比较。例如,可以训练不同的基础ML算法,诸如但不限于决策树、随机决策森林、神经网络、深度学习(例如,卷积神经网络)、支持向量机、回归(例如,支持向量回归、贝叶斯线性回归或高斯过程回归)。作为另一示例,模型的大小或复杂度可以在不同的ML模型(诸如,决策树的最大深度、或卷积神经网络中的隐藏层的数目和/或大小)之间发生变化。
此外,不同的训练方法可以用于训练不同的ML模型,诸如但不限于对训练的选择、训练数据的验证集和测试集、训练数据项的排序和/或加权、或者训练迭代的数目。可以基于诸如但不限于准确性、计算效率和/或功率效率之类的因素来选择所得的多个经训练的ML模型中的一个或多个经训练的ML模型。在一些实现中,可以产生单个经训练的ML模型。可以不断更新训练数据,并且可以修订或重新生成系统所使用的模型中的一个或多个模型以反映对训练数据的更新。随着时间的推移,训练系统(无论是远程存储的、本地存储的、或者远程存储的和本地存储的两者)可以被配置为接收并累积越来越多的训练数据项,从而增加可用于ML模型训练的训练数据的数量和种类,最终增加经训练的ML模型的准确性、有效性和鲁棒性。
例如,可以向DL引擎150提供显示信息(例如,显示器的数目、显示布置、显示配置(例如,显示方位和尺寸)等)、应用的上下文信息(例如,应用的显示状态和操作状态、事件信息、事件和应用之间的关联等)、用户选择历史。根据各种信息,DL引擎150可能已学习了一个或多个屏幕上窗口布置,该一个或多个屏幕上窗口布置被优化和/或可能被用户用于已发生或将要发生的给定环境或事件。然后,可以与AI引擎140共享这样的信息,使得系统100可以更准确且更有效地生成屏幕上窗口布置。
系统100可以接收用户输入,该用户输入请求生成用于在屏幕200上显示多个应用窗口的多个建议。响应于接收到这样的用户输入,系统100可以基于系统100中可用的多个应用的上下文信息来标识要被包括在建议中的应用的组。然后,系统100可以基于显示配置和上下文信息来生成多个屏幕上窗口布置。每个屏幕上窗口布置可以提供所标识的组的应用的多个窗口的不同屏幕上布置。每个屏幕上窗口布置还可以定义每个窗口的大小和位置。然后,多个屏幕上窗口布置可以被呈现为可选列表,该可选列表可以经由屏幕200显示。当用户选择建议中的一个建议时,可以根据由所选择的屏幕上窗口布置定义的大小和位置来显示所选择的屏幕上窗口布置中表示的应用窗口。对应用的选择不限于窗口在屏幕200上打开的那些应用、或者窗口被最小化并且未在屏幕200上示出的那些应用。如果需要,则还可以选择那些当前未运行的应用,因此它们的窗口不显示在屏幕200上。
在一实现中,上下文信息可以包括与以下各项有关的信息:当前运行的应用;屏幕上当前打开的窗口;当前屏幕上彼此重叠的打开窗口的Z次序;最近使用的应用、文件、网站等;最常用的应用;最近被分组在一起以形成一个或多个屏幕上窗口布置的应用;被频繁分组在一起以形成一个或多个屏幕上窗口布置的应用;在先前生成的屏幕上窗口布置中未被分组在一起或很少被分组在一起的应用;具有相似标题和/或与相似关键词相关联的应用,用户对分组、缩放和放置应用的隐式或显式反馈;用户最近或频繁打开的网站或文件;开发者或管理员提供的指定或建议将多个应用分组在一起的信息,组中每个应用的大小和位置等;和/或类似物。
上下文信息还可以包括事件信息,诸如排程信息、时间和定位信息等。例如,用户的排程应用或电子邮件应用可以具有与事件有关的数据,诸如即将到来的视频会议,其中用户被指示为参与者之一。系统100可以使用这种信息来确定这种事件可能需要视频会议应用或协作应用。如果用户在事件信息中被指示为演示者,则系统100还可以确定事件可能需要演示应用。系统100可能已检测到在办公时间期间,用户已频繁地在特定文件上工作或访问特定网站,这可以指示在经排程的视频会议期间,用户可能打开用于该特定文件的应用或网络浏览器以访问该特定网站。然后,系统100可以确定用户可能运行应用和/或网络浏览器。在标识对于即将到来的事件可能需要哪些应用之后,系统100可以响应于检测到事件将要开始而生成并显示多个屏幕上窗口布置。上下文信息的来源可以不限于用户当前正在使用的设备;上下文信息可以来自同一用户的其他设备或一个或多个其他用户的设备。
在一个实现中,显示信息可以包括显示设备的数目(例如,单个显示器,两个显示器等)、显示设备的布置(例如,水平并排布置的两个显示器、垂直堆叠的三个显示器、两行两列的四个显示器等)、每个显示器的方位(例如,横向(水平)方位、纵向(垂直)方位,对角线方位等)、每个显示器的大小(例如,24英寸、27英寸、32英寸、49英寸等)、每个显示器的显示分辨率/纵横比(例如,纵横比为16:9的1360(宽度)×768(高度)像素的高清晰度(HD)分辨率;纵横比为16:9的1920(宽)×1080(高)像素的全高清(FHD)分辨率;纵横比为16:9的2560(宽)×1440(高)像素的四重HD(QHD)分辨率等)、和/或类似物。
图2A图示了图1中所示的显示器112的示例屏幕200。例如,屏幕200可以是以横向或水平方位定位并且具有纵横比为16:9的全高清晰度(FHD)分辨率(即,1920×1080个像素)的27英寸屏幕。屏幕200可以处于不同的方位,并且具有不同的分辨率和/或大小。在屏幕200上,具有不同大小和位置的多个窗口是打开的。例如,窗口包括第一应用APP1(例如,文字处理应用)的第一窗口210A、第二应用APP2(例如,演示应用)的第二窗口210B、以及第三应用APP3(例如,会议应用)的第三窗口210C。图2A中仅示出了三个窗口210A、210B和210C(在下文中同时被称为窗口210),但是窗口210的数目、大小、位置和布置可以变化,并且不限于本公开中所示的特定实现。
在实现中,系统100可以接收用户输入,该用户输入请求生成用于在屏幕200上显示多个窗口的多个建议。响应于用户输入,系统100可以生成多个屏幕上窗口布置。备选地,系统100可以主动生成屏幕上窗口布置。例如,当满足触发条件时,系统100可以提供自动生成多个屏幕上窗口布置的选项,该选项可以响应于来自用户的输入而被激活。当激活这样的选项时,系统100可以周期性地检查是否满足触发条件。例如,用户的排程信息可以指示存在涉及用户的经排程的视频会议。然后,系统100可以检查该选项是否已被激活。在确定用户已激活该选项并且视频会议被排程在预定的时段(例如,10分钟或15分钟)内开始时,系统100可以生成包括经排程的视频会议的屏幕上窗口布置的通知。这样的通知可以经由屏幕200显示或经由电子邮件、消息等发送给用户。
所生成的屏幕上窗口布置可以被显示为屏幕上窗口布置的可选列表。例如,如图2B中所示,系统100可以生成显示多个屏幕上窗口布置230A、230B、230C、230D、230E和230F(以下被统称为布置230)的菜单框220。图2B示出了包括六个布置230的菜单框220,但是布置230的数目和次序、以及布置230中的每个布置230的细节不限于本公开中所示的特定实现。布置230中的每个布置230可以以视觉方式标识针对特定布置而选择的应用,并且以视觉方式表示每个应用在屏幕200上的大小和位置。例如,布置230B示出了屏幕200被水平地分成两等份,这两等份分别被应用APP1和应用APP2(例如,演示应用)的窗口占据。备选地或附加地,布置230可以以文本格式(未示出)或作为图形符号(未示出)呈现。
为了生成布置230,系统100可以从系统100上可用的多个应用中标识可能被用户使用并且因此需要被包括在至少一个布置230中的应用的组。例如,参考图2A中所示的屏幕200,系统100可以检测第一窗口210A、第二窗口210B和第三窗口210C在屏幕200上正在运行和打开。系统100还可以检测一个或多个应用正在运行但被最小化,因此不在屏幕200上显示。基于应用的这样的上下文信息,系统100可以标识第一应用至第四应用需要被包括在布置230中的至少一个布置230中。系统100可以确定所标识的应用中的任何所标识的应用是否不支持由该系统生成的布置中的任一布置或与其不兼容。
系统100还可以在生成布置230时考虑显示信息。例如,系统100检测到屏幕200处于横向方位。对于横向方位上的屏幕,并不期望垂直划分屏幕,因为这种垂直划分可能会生成产生水平太宽(例如,1920个像素)和垂直太窄(例如,540个像素或更少像素)的一个或多个窗口。因此,响应于检测到屏幕200处于横向方位,系统100将水平并排布置窗口优先于垂直堆叠窗口。系统100还可以基于显示配置来确定三个应用是否可以水平并排布置。
基于上下文信息,系统100可以检测第一应用APP1(例如,文字处理应用)的窗口210A在屏幕200上具有前景聚焦,并且第二应用APP2(例如,演示应用)的第二窗口210B在第一窗口210A后面处于Z顺序中。然后,系统100可以生成一个或多个布置230以显示第一窗口210A和第二窗口210B。例如,参考图2B,系统100可以生成布置230A,该布置230A将屏幕200水平划分成具有不同大小的两个分段:占据屏幕200的70%的左分段以及占据屏幕200的30%的右分段。较大的左分段可以被视为主要分段,因此可以被指派给在屏幕200上具有前景聚焦的第一窗口210A;较小的右分段可以被视为次要分段,因此可以被指派给在第一窗口210A后面包括在Z次序中的第二窗口210B。系统100还可以生成布置230B,该布置230B将屏幕200水平划分成两个大小相等的分段:窗口210A的左分段和窗口210B的右分段。
基于上下文信息,系统100还可以检测第三应用APP3(例如,会议应用)的第三窗口210正在运行并且在屏幕200上未被最小化。然后,系统100可以生成布置230C,该布置230C将屏幕200水平划分成两个大小相等的分段:第一窗口210A的左分段和窗口210C的右分段。
上下文信息还可以指示除了第一窗口210A、第二窗口210B和第三窗口210C之外没有窗口打开。基于这样的上下文信息,系统100可以生成一个或多个布置来同时显示当前在屏幕200上打开的第一窗口210A、第二窗口210B和第三窗口210C。例如,系统100可以生成第四布置230D和第五布置230E,其中第一窗口210A、第二窗口210B和第三窗口210C水平并排布置。在第四布置230D中,屏幕200可以被分成三个分段:中间分段,占据屏幕200的50%;左分段和右分段,分别布置在中间分段的左侧和右侧上,并且各自占据屏幕200的25%。较大的中间分段可以被认为主要分段,因此可以被指派给第一窗口210A。较小的左分段和右分段被认为次要分段,因此可以分别被指派给第二窗口210B和第三窗口210C。在第五布置230E中,屏幕200被水平划分成三个大小相等的分段:左分段、中间分段和右分段。由于其相对位置,所以中间分段可以被认为是主要分段,因此可以被指派给第一窗口210A。左分段和右分段可以被认为次要分段,并且可以分别被指派给第二窗口210B和第三窗口210C。
基于上下文信息,系统100可以检测其他应用正在运行并且被最小化,因此不经由屏幕200显示。上下文信息还可以指示在这些应用中,第四应用APP4(例如,笔记记录应用)最近已被最小化。基于这样的上下文信息,系统100可以生成一个或多个布置,该一个或多个布置显示第四应用以及来自第一应用210A、第二应用210B和第三应用210C的一个或多个应用。例如,如图2B中所示,系统100可以生成第六布置230F,该第六布置230F将屏幕200水平划分成两个大小相等的分段:被指派给第一窗口210A的左分段和被指派给第四应用APP4的第四窗口的右分段。
布置230可以被呈现为可选列表,诸如可以被显示在屏幕200上的菜单框220。然后,用户可以选择菜单框220中的布置230中的一个布置。响应于接收到用户的选择,系统100可以重新缩放每个应用,并且如所选择的布置中所定义的那样放置应用。例如,当用户选择第三布置230C时,系统100可以重新缩放第一窗口210A和第三窗口210B以占据屏幕200的50%(例如,960×1040个像素),并且并排水平布置第一窗口210A和第三窗口210B,如图2C中所示。如此,系统100可以基于多个应用的显示信息和上下文信息来生成多个屏幕上窗口布置。因此,无需用户单独重新缩放和放置窗口中的每个窗口,或者依靠现有的快照功能将必要应用中的每个必要应用快照到屏幕上的期望位置。此外,菜单框220允许用户选择期望屏幕上窗口布置,因此用户不需要记住如何激活快照功能或搜索与快照功能有关的信息。因此,用户可以以期望方式容易快速地布置期望窗口。即使用户熟悉并且已使用了现有快照功能,系统100也能够生成针对用户尚未意识到的不同使用场景而优化的新窗口布置。因此,可以向用户提供各种窗口布置,这些窗口布置可以提供改进的用户体验并且提高生产力。
上下文信息可以包括事件信息。例如,在系统100中操作的排程应用可以包括指示即将到来的在线会议的事件信息。还可以从电子邮件应用、聊天应用、笔记记录应用等获得这种事件信息。当检测到这种事件被排程在预定的时间段(例如,15分钟)内开始时,系统100可以自动发起用于基于显示信息和上下文信息来生成屏幕上窗口布置的操作。附加上下文信息(例如,事件信息)可以使系统100生成与图2B中所示的布置230不同的屏幕上窗口布置集。附加信息可以允许系统100生成与即将到来的事件或当前时机更具上下文相关性的布置集。例如,图2D图示了另一示例菜单框240,该另一示例菜单框240包括多个屏幕上窗口布置,该多个屏幕上窗口布置包括第一屏幕上窗口布置250A、第二屏幕上窗口布置250B、第三屏幕上窗口布置250C、第四屏幕上窗口布置250D、第五屏幕上窗口布置250E和第六屏幕上窗口布置250F(在下文中被统称为布置250),还基于附加事件信息来生成这些屏幕上窗口布置。在图2D中,第一窗口250A至第六窗口250F可以分别是文字处理应用、演示应用、会议应用、笔记记录应用、聊天应用和网络浏览应用。
在检测到事件(例如,在线会议)被排程在预定的时间段(例如,15分钟)内开始时,系统100可以标识要被包括在布置250中的至少一个布置250中的应用的组。例如,系统100可以确定是否存在即将到来的在线会议所需的或与即将到来的在线会议相关的应用。系统100还可以确定哪些应用当前正在运行、哪些应用已被用户最频繁地使用等。系统100还可以确定是否存在由显示信息、应用开发者、IT管理员等引起或强加的任何约束或优先化。例如,IT管理员或安全人员可能具有对某些数据的受限访问或共享。在检测到这些约束时,系统100可以排除与受限数据有关的应用被认为是屏幕上窗口布置建议的一部分。基于这样的显示信息和上下文信息,系统100可以生成若干个布置250,这些布置250可以与事件更相关或针对事件进行优化。
例如,基于上下文信息和事件信息,系统100可以确定需要第三应用APP3(例如,会议应用)来主持或参与在线会议。当用户是在线会议的演示者时,系统100可以确定在线会议需要第二应用APP2(例如,演示应用)。系统100可以确定第四应用APP4(例如,笔记记录应用)是用户的默认笔记记录应用。系统100可以确定第六应用APP6(例如,网络浏览器)对于在线会议并非必不可少。基于这样的确定,系统100可以生成第一布置250A、第二布置250B和第三布置250C,其中每个配置包括第二应用APP2、第三应用APP3和第四应用APP4中的至少任意两个应用。当用户是演示者时,系统100可以生成第一布置250A和第二布置250B,第一布置250A和第二布置250B包括被指派给第二应用APP2(例如,演示应用)的第二窗口210B的较大左分段。当用户是在线会议的参与者时,系统100可以生成第三布置250C,第三布置250C将屏幕200划分成分别针对第三应用APP3(例如,会议应用)和第四应用APP4(例如,笔记记录应用)的两个大小相等的两等份。
系统100可以考虑其他上下文信息。例如,与图2B中所示的生成布置230的操作相似,上下文应用可以指示第一应用APP1(例如,文字处理应用)具有前景聚焦,而诸如第四应用APP4和第五应用APP5(例如,聊天应用)等的其他应用当前正在运行并且被最小化。上下文信息还可以指示哪些应用从未或很少被一起选择并且被包括在相同布置中、哪些应用已频繁地一起被选择并且被包括在相同布置中、哪些应用已频繁地与具有前景聚焦的第一应用APP1一起被选择、哪些应用已频繁地与第一应用APP1一起被选择但当前未正在运行等。基于该上下文信息,系统100可以确定第一应用APP1已频繁地与第四应用APP4和第五应用APP5一起被选择。在此基础上,系统100可以生成第四布置250D,该第四布置250D将屏幕200划分成三个分段,这三个分段包括被指派给第一应用APP1(例如,文字处理应用)的第一窗口210A的较大中间分段。系统100还可以确定第六应用APP6(例如,网络浏览器应用)当前未正在运行,但已与具有前景聚焦的第一应用APP1一起频繁地被选择,然后可以生成第五布置250E,该第五布置250E将屏幕200划分成较大左分段和较小右分段,该较大左分段和较小右分段分别被指派给第一窗口210A和第五窗口210E。
上下文信息可以指示哪些应用已被用户最频繁地使用但当前未正在运行。例如,基于上下文信息,系统100可以确定第六应用APP6(例如,网络浏览应用)已被用户最频繁地使用但当前未正在运行。上下文信息还可以指示第六应用APP6已与第四应用APP4一起频繁被选择,并且当第六应用APP6与第四应用APP4一起被选择时,特定网站已被用户最频繁地访问。在此基础上,系统100可以生成第六布置250F,其中经由针对第六应用APP6(例如,网络浏览应用)的窗口来显示被频繁访问的网站。
附加显示或上下文信息可以用于系统100,因此系统100将其考虑在内。例如,显示信息可以包括屏幕方位信息。上下文信息可以包括操作系统或开发者施加的约束。例如,第二应用APP2可以与开发者在演示期间第二应用APP2必须占据屏幕200的至少60%的约束相关联。当屏幕200被水平划分成三个分段时,上下文信息可以指示用户已频繁地把第一应用APP1放置在中间分段。基于这样的附加显示信息或上下文信息,可以确定每个应用的大小和位置。
可以以各种方式激活屏幕上窗口布置生成。例如,如图3A中所示,一些操作系统呈现图形用户界面300(GUI),其包括被配置为显示多个图标、搜索框、网络状态、日期和时间等的任务栏302。任务栏302通常被放置在如图3A中所示的GUI的底部。系统100可以被配置为当用户移动光标304以将光标304放置在任务栏302上预定时间段(例如,400ms等)时启动屏幕上窗口布置生成。任务栏302的某些部分可以与预定功能相关联。例如,当光标304被放置在被显示在任务栏302上的网络状态指示符之上时,这种操作可以与显示当前无线网络的SSID的预定功能相关联。为了避免激活这种不相关的功能,系统100可以被配置为检测光标304是否被放置在任务栏302的不与任何预定功能相关联的部分之上。GUI 300的其它元素可用于触发点。例如,如图6B中所示,当光标604被放置在窗口610A的最大化按钮612之上预定时间段时,系统100可以开始生成多个屏幕上窗口布置。备选地,当用户在最大化按钮612上执行右击或长按时,或者当用户在应用窗口处于选择或聚焦状态时激活键盘快捷方式时,可以生成这样的布置。也可以考虑其它方法。例如,可以修改应用窗口以显示与生成多个屏幕上窗口布置的功能相关的附加按钮。这样的按钮可以位于应用窗口的标题栏中或在最大化按钮612附近。当接收到选择附加按钮的用户输入时,系统100可以生成多个屏幕上窗口布置。当用户在OS GUI的任务栏的应用入口点上执行右击时,也可以生成这样的布置。
在完成屏幕上窗口布置生成时,系统100可以显示菜单框220,其可以位于光标304附近,如图3A中所示。备选地,任务栏302可以被配置为显示与屏幕上窗口布置生成功能相关联的图标或指示符,使得当用户的鼠标操作(例如,左击)选择了这样的图标或指示符或者光标304被放置在这样的图标或指示符之上时,菜单框220被激活。一旦显示了菜单框220,用户可以将光标304移动并放置在菜单框220中呈现的屏幕上窗口布置中的期望的一个屏幕上窗口布置之上,如图3B中所示。然后,用户可以通过例如执行左击等来选择期望的布置。响应于接收到这样的用户输入,系统100可以执行由所选择的布置定义的应用的缩放和放置。因此,用户能够仅通过几个鼠标操作以期望的大小和位置布置期望的窗口。
图4A示出了水平并排布置的第一屏幕400A和第二屏幕400B。第一屏幕400A处于横向并且显示三个窗口,包括第一应用APP1的第一窗口410A、第二应用APP2的第二窗口410B和第三应用APP3的第三窗口410C。第二屏幕400B处于纵向,并显示两个应用窗口,包括第四应用APP4的第四窗口410D和第五应用410E的第五窗口APP5。基于第一屏幕400A和第二屏幕400B的显示信息以及应用的上下文应用,系统100可以生成分别针对第一屏幕400A和第二屏幕400B的两个单独的菜单框,其示例分别在图4B和4C中示出。图4B示出了针对第一屏幕400A的第一菜单框420A,其包括六个屏幕上窗口布置430A、430B、430C、430D、430E和430F。图4C示出了针对第二屏幕400B的第二菜单框420B,其包括四个屏幕上窗口布置440A、440B、440C和440D。如此,当存在具有不同显示配置的两个或更多个屏幕时,系统100可以为每个屏幕提供单独的屏幕上窗口布置集,并且可以允许用户为每个屏幕选择不同的屏幕上窗口布置。例如,如图4D中所示,可以为第一屏幕400A选择布置430B,并且可以为第二屏幕400B选择布置440D。
图5示出了示出用于生成多个屏幕上窗口布置的系统100的操作的实现的流程图。在步骤510,系统100可以接收请求生成针对多个窗口布置的用户输入。在步骤520,系统100可以基于关于多个应用的上下文信息来标识要被包括在针对显示器的窗口布置中的应用的组。在步骤530,系统100可以基于显示器的显示信息和关于应用的上下文信息来生成多个窗口布置。每个窗口布置可以提供分别与应用的组相关联的多个窗口的不同屏幕上布置,并且可以定义窗口中的每个窗口在第一显示器上的大小和位置。在540,系统100可以显示第一显示器的多个窗口布置的可选列表。
在实现中,系统100可以被配置成允许用户与特定窗口交互以用于发起屏幕上窗口布置生成,选择所生成的屏幕上窗口布置中的一个屏幕上窗口布置,以及选择特定窗口应被放置在所选择的布置的哪个分段处。例如,图6A示出了另一示例屏幕600,其上打开了四个窗口610A、610B、610C和610D(以下被统称为窗口610)。用户可以与窗口610A、610B,610C和610D中的任何窗口交互以发起屏幕上窗口布置生成。例如,如图6B中所示,用户可以通过将光标604悬停在窗口610的左上角处显示的最大化按钮612之上来与窗口610A交互。当检测到光标604已悬停在按钮612之上预定时段(例如,400ms等)而没有激活按钮612(例如,右击)时,系统100可以确定用户已请求生成多个屏幕上窗口布置。如图6B中所示,系统100然后可以显示菜单框620,该菜单框620示出多个屏幕上窗口布置630A、630B、630C、630D、630E和630F(在下文中被统称为布置630)。可以基于显示信息和上下文信息来生成布置630。然后,用户可以选择布置630中的一个布置来指示屏幕600应如何被划分以及窗口610应被放置在哪个分段处。例如,如图6C中所示,用户可以移动光标604以悬停在第一布置630A之上,第一布置630A包括大小相等的左分段632和右分段634。
然后,用户可以通过与布置630A交互来选择窗口610A应放置在左分段632和右分段634中的哪一个分段处。例如,当用户想要将窗口610A放置在右分段634上时,用户可以移动光标604以悬停在右分段634之上,这可以使右分段634高亮。然后,用户可以通过例如右击来激活右分段634,以指示用户想要将窗口610A放置在右分段634处。响应于接收到这样的用户输入,系统100可以重新缩放窗口610并将窗口610放置为占据屏幕600的右半部,如图6D中所示。用户可以选择在未被占用的左分段632处显示的另一窗口。例如,如图6D中所示,一旦第一窗口610被放置在屏幕600的右分段634,系统100就可以在屏幕600的左半部分上显示其他窗口610B、610C和610D的预览或缩略图610B'、610C'和610D'。用户可以通过例如将光标604移过并点击预览610B'、610C'和610D'之一来选择预览610B',610C'和610D'之一。例如,如图6D中所示,用户可以在预览610C'上移动光标604并点击鼠标右键以选择窗口610C。然后,如图6E中所示,可以重新缩放和放置窗口610C以占据屏幕600的左半部。如此,系统100可以允许用户选择应使用哪个屏幕上窗口布置以及每个窗口应被放置在所选择的布置的哪个分段处。
图7图示了了示出用于生成多个屏幕上窗口布置的系统100的操作的另一实现的流程图。在步骤710,系统100可以接收第一用户输入,第一用户输入请求生成与第一窗口有关的多个窗口布置。在步骤720,系统100可以生成多个窗口布置。每个窗口布置可以提供多个窗口的不同屏幕上布置,并且可以定义每个窗口在显示器上的大小和位置。在步骤730,系统100可以接收第二用户输入,第二用户输入从多个窗口布置选择第一窗口布置,第一窗口布置可以将显示器划分成多个分段并且可以定义每个分段的大小和位置。在步骤740,系统100可以接收第三用户输入,第三用户输入选择根据所选择的第一窗口布置而被划分的多个分段中的第一分段。在步骤750,系统100可以在显示器的第一分段处显示第一窗口。
图8是示出了可以在其上实现本公开的各方面的计算机系统800的示例的框图。计算机系统800可以包括总线802或用于传送信息的其他通信机制、以及与总线802耦合以用于处理信息的处理器804。计算机系统800还可以包括主存储器806,诸如随机存取存储器(RAM)或其他动态存储设备,该主存储器806耦合到总线802,以用于存储信息和要由处理器804执行的指令。主存储器806还可以用于在要由处理器804执行的指令的执行期间存储临时变量或其他中间信息。计算机系统800可以实现例如本地设备110和/或服务器120。
计算机系统800还可以包括只读存储器(ROM)808或其他静态存储设备,该ROM 808或其他静态存储设备耦合到总线802,以用于存储处理器804的静态信息和指令。诸如闪存或其他非易失性存储器之类的存储设备810可以耦合到总线802,以用于存储信息和指令。
计算机系统800可以经由总线802耦合到用于显示信息的显示器812,诸如液晶显示器(LCD)。诸如示例用户输入设备814之类的一个或多个用户输入设备可以耦合到总线802,并且可以被配置为接收诸如用户命令选择之类的各种用户输入,并且将这些用户输入传送到处理器804或主存储器806。用户输入设备814可以包括物理结构或虚拟实现、或者两者,其提供用户输入模式或选项,以用于控制例如通过显示器812或通过其他技术对用户可见的光标,并且这样的模式或操作可以包括例如虚拟鼠标、跟踪球或光标方向键。
计算机系统800可以包括以重叠或交错方式执行相应程序指令的处理器804的相应资源。可以将指令从诸如存储设备810之类的另一机器可读介质读取到主存储器806中。在一些示例中,可以使用硬连线电路来代替软件指令或与软件指令相结合。本文中所使用的术语“机器可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。这种介质可以采取包括但不限于非易失性介质、易失性介质和传输介质的形式。非易失性介质可以包括例如光盘或磁盘,诸如存储设备810。传输介质可以包括光路、或电信号传播路径或声信号传播路径,并且可以包括声波或光波,诸如在无线电波数据通信和红外数据通信期间生成的声波或光波,这些声波或光波能够携带物理机制可检测的指令以输入到机器。
计算机系统800还可以包括通信接口818,该通信接口818耦合到总线802,用于耦合到连接到本地网络822的网络链路820的双向数据通信。网络链路820可以通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路820可以提供通过本地网络822与主计算机824或与由互联网服务提供商(ISP)826操作的数据设备的连接,以通过互联网828访问服务器830,例如,以获得应用程序的代码。
在下文中,借助于各项来描述本发明的其他特征、特性和优点。
项1.一种用于生成针对一个或多个显示器的多个窗口布置的系统,该系统包括处理器;以及计算机可读介质,该计算机可读介质包括指令,这些指令在由处理器执行时,使处理器控制系统执行:接收第一用户输入,第一用户输入请求生成针对第一显示器的多个第一窗口布置;响应于接收到第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对第一显示器的第一窗口布置中的应用的第一组;基于第一显示器的第一显示信息和关于多个应用的上下文信息来生成多个第一窗口布置,每个第一窗口布置提供与第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在第一显示器上的大小和位置;以及显示针对第一显示器的多个第一窗口布置的第一可选列表。
项2.根据项1所述的系统,其中应用的第一组包括第一应用和第二应用,多个第一窗口布置包括第一布置,第一布置包括分别与第一应用和第二应用相关联的第一窗口和第二窗口,第一布置定义第一窗口和第二窗口中的每个窗口在第一显示器上的大小和位置,并且指令在由处理器执行时,还使处理器控制系统执行:接收第二用户输入,第二用户输入从所显示的多个第一窗口布置的第一可选列表选择第一布置;以及响应于接收到第二用户输入,根据由针对第一窗口和第二窗口中的每个窗口的第一布置定义的大小和位置,经由显示器显示第一窗口和第二窗口。
项3.根据项1所述的系统,其中指令在由处理器执行时,还使处理器控制系统执行:接收第二用户输入,第二用户输入请求生成针对第二显示器的多个第二窗口布置;响应于接收到第二用户输入,基于多个应用的上下文信息来标识要被包括在第二窗口布置中的应用的第二组;基于第二显示器的第二显示信息和关于多个应用的上下文信息来生成多个第二窗口布置,每个第二窗口布置提供分别与第二组的应用相关联的多个窗口的不同屏幕上布置,并且定义窗口中的每个窗口在第二显示器上的大小和位置;以及显示针对第二显示器的多个第二窗口布置的第二可选列表。
项4.根据项3所述的系统,其中为了显示第一可选列表和第二可选列表,指令在由处理器执行时,还使处理器控制系统执行显示菜单框,菜单框包括第一可选列表和第二可选列表。
项5.根据项1所述的系统,其中第一显示信息包括以下至少一项:显示设备的数目、显示方位、显示大小、显示分辨率和显示纵横比。
项6.根据项1所述的系统,其中上下文信息标识以下至少一项:在第一显示器上具有前景聚焦的应用;包括在第一显示器上显示的多个应用的Z次序中的一个或多个应用;当前在第一显示器上打开的一个或多个应用;以及运行并且未被最小化的应用。
项7.根据项1所述的系统,其中上下文信息包括与经排程的事件有关的事件信息。
项8.根据项7所述的系统,其中上下文信息标识以下至少一项:与经排程的事件相关的一个或多个应用;与经排程的事件相关联的一个或多个文件或网站;一个或多个默认应用;已与在第一显示器上具有前景聚焦的另一应用被频繁分组在一起的应用;当前打开但尚未被频繁分组在一起的两个或更多个应用;当前未正在运行但已与当前正在运行的另一应用被频繁分组在一起的应用;以及当前未正在运行但已被频繁使用的一个或多个应用。
项9.一种用于生成针对一个或多个显示器的多个窗口布置的系统的操作方法,包括:接收第一用户输入,第一用户输入请求生成针对第一显示器的多个第一窗口布置;响应于接收到第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对第一显示器的第一窗口布置中的应用的第一组;基于第一显示器的第一显示信息和关于多个应用的上下文信息来生成多个第一窗口布置,每个第一窗口布置提供与第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在第一显示器上的大小和位置;以及显示针对第一显示器的多个第一窗口布置的第一可选列表。
项10.根据项9所述的方法,其中应用的第一组包括第一应用和第二应用,多个第一窗口布置包括第一布置,第一布置包括分别与第一应用和第二应用相关联的第一窗口和第二窗口,第一布置定义第一窗口和第二窗口中的每个窗口在第一显示器上的大小和位置,以及该方法还包括:接收第二用户输入,第二用户输入从所显示的多个第一窗口布置的第一可选列表选择第一布置;以及响应于接收到第二用户输入,根据由针对第一窗口和第二窗口中的每个窗口的第一布置定义的大小和位置,经由显示器显示第一窗口和第二窗口。
项11.根据项9所述的方法,还包括:接收第二用户输入,第二用户输入请求生成针对第二显示器的多个第二窗口布置;响应于接收到第二用户输入,基于多个应用的上下文信息来标识要被包括在第二窗口布置中的应用的第二组;基于第二显示器的第二显示信息和关于多个应用的上下文信息来生成多个第二窗口布置,每个第二窗口布置提供分别与第二组的应用相关联的多个窗口的不同屏幕上布置,并且定义窗口中的每个窗口在第二显示器上的大小和位置;以及显示针对第二显示器的多个第二窗口布置的第二可选列表。
项12.根据项11所述的方法,其中显示第一可选列表和第二可选列表包括:显示菜单框,该菜单框包括第一可选列表和第二可选列表。
项13.根据项9所述的方法,其中第一显示信息包括以下至少一项:显示设备的数目、显示方位、显示大小、显示分辨率和显示纵横比。
项14.根据项9所述的方法,其中上下文信息标识以下至少一项:在第一显示器上具有前景聚焦的应用;包括在第一显示器上显示的多个应用的Z次序中的一个或多个应用;当前在第一显示器上打开的一个或多个应用;以及运行并且未被最小化的应用。
项15.根据项9所述的方法,其中上下文信息包括与经排程的事件有关的事件信息。
项16.根据项15所述的方法,其中上下文信息标识以下至少一项:与经排程的事件相关的一个或多个应用;与经排程的事件相关联的一个或多个文件或网站;一个或多个默认应用;已与在第一显示器上具有前景聚焦的另一应用被频繁分组在一起的应用;当前打开但尚未被频繁分组在一起的两个或更多个应用;当前未正在运行但已与当前正在运行的另一应用被频繁分组在一起的应用;以及当前未正在运行但已被频繁使用的一个或多个应用。
项17.一种用于生成针对一个或多个显示器的多个窗口布置的系统,包括处理器;以及计算机可读介质,该计算机可读介质包括指令,这些指令在由处理器执行时,使处理器控制系统执行:接收第一用户输入,第一用户输入请求生成与第一窗口有关的多个窗口布置;生成多个窗口布置,每个窗口布置提供多个窗口的不同屏幕上布置,并且定义多个窗口中的每个窗口在显示器上的大小和位置;接收第二用户输入,第二用户输入选择多个窗口布置中的第一窗口布置,第一窗口布置将显示器划分成多个分段并且定义多个分段中的每个分段的大小和位置;接收第三用户输入,第三用户输入选择根据所选择的第一窗口布置而被划分的多个分段中的第一分段;以及响应于接收到第三用户输入,在显示器的第一分段处显示第一窗口。
项18.根据项17所述的系统,其中指令在由处理器执行时,还使处理器控制系统执行:检测与第二窗口相关联的应用当前正在运行;在根据所选择的第一窗口布置而被划分的多个分段中的第二分段上显示第二窗口的表示;接收第四用户输入,第四用户输入选择所显示的第二窗口的表示;以及响应于接收到第四用户输入,在显示器的第二分段处显示第二窗口。
项19.根据项17所述的系统,其中为了生成多个窗口布置,指令在由处理器执行时,还使处理器控制系统执行:显示第一窗口布置的第一视觉表示,第一视觉表示包括第一分段的第二视觉表示,并且第三用户输入包括用户对第二视觉表示的选择。
项20.根据项17所述的系统,其中第一用户输入包括与在显示器上显示的第一窗口交互的用户输入。
虽然已对各种实施例进行了描述,但是该描述旨在是示例性的而非限制性的,并且应当理解的是,在这些实施例的范围内可能存在更多个实施例和实现。尽管在附图中示出并且在该具体实施方式中讨论了特征的许多可能组合,但是所公开的特征的许多其他组合也是可能的。除非明确限制,否则任何实施例的特征中的任何特征可以与任何其他实施例中的任何其他特征或元素组合使用或替代任何其他实施例中的任何其他特征或元素。因此,将理解的是,可以以任何合适组合一起实现本公开中示出和/或讨论的特征中的任一特征。因此,除了根据所附权利要求及其等同物以外,这些实施例不受限制。此外,在所附权利要求的范围内可以做出各种修改和改变。
虽然前面已描述了被认为是最佳模式和/或其他示例的内容,但是应当理解的是,可以在其中做出各种修改,并且可以以各种形式和示例来实现本文中所公开的主题,并且可以将教导应用于许多应用中,本文中仅描述了其中的一些应用。所附权利要求旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
除非另有说明,否则本说明书(包括所附权利要求书)中所阐述的所有测量、值、额定值、位置、量值、大小、以及其他规格均为近似的,而非精确的。它们旨在具有与它们所涉及的功能以及与它们所属领域的惯例一致的合理范围。
保护范围仅由所附权利要求限定。当根据本说明书和随后的诉讼历史进行解释时,该范围旨在并且应当被解释为与权利要求中使用的语言的普通含义一致地宽广,并且涵盖所有结构和功能等同物。尽管如此,但是这些权利要求都不旨在包含不能满足专利法第101部分、第102部分或第103部分的要求的主题,也不应以这种方式解释它们。由此不要求对这样的主题的任何非预期包含。
除了上文刚刚所陈述的以外,已陈述或说明的任何内容都不旨在或不应被解释为使得任何部件、步骤、特征、目的、益处、优点或等同物专用于公众,而不管其是否在权利要求中陈述。
将理解的是,本文中所使用的术语和表达具有与这些术语和表达相对于它们对应的各自的查询和研究领域一致的普通含义,除非本文中另外阐述了具体含义。诸如第一和第二等的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不必要求或暗示这些实体或动作之间的任何实际的这种关系或次序。术语“包括(comprises)”、“包括(comprising)”或其任何其他变型都旨在涵盖非排他性的包含,使得包括一系列要素的过程、方法、物品或装置不仅包括这些要素,而且可以包括未明确列出的或此类过程、方法、物品或装置固有的其他要素。在没有进一步限制的情况下,以“一”或“一个”开头的元素并不排除在包括该元素的过程、方法、物品或装置中存在附加的相同元素。
提供本公开的摘要以允许读者快速确认技术公开的性质。所提交的内容应当被理解为不用于解释或限制权利要求的范围或含义。另外,在前面的具体实施方式中,可以看出,为了简化本公开,各种特征在各种示例中被分组在一起。本公开的方法不应被解释为反映了权利要求要求比每个权利要求中明确记载的特征更多的特征的意图。相反,如所附权利要求所反映的,发明主题在于少于单个所公开的示例的所有特征。因此,所附权利要求由此并入具体实施方式中,其中每个权利要求独立作为单独要求保护的主题。

Claims (15)

1.一种用于生成针对一个或多个显示器的多个窗口布置的系统,所述系统包括:
处理器;以及
计算机可读介质,所述计算机可读介质包括指令,所述指令在由所述处理器执行时,使所述处理器控制所述系统执行:
接收第一用户输入,所述第一用户输入请求生成针对第一显示器的多个第一窗口布置;
响应于接收到所述第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对所述第一显示器的所述第一窗口布置中的所述应用的第一组;
基于所述第一显示器的第一显示信息和关于所述多个应用的所述上下文信息来生成所述多个第一窗口布置,每个第一窗口布置提供与所述第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义所述多个窗口中的每个窗口在所述第一显示器上的大小和位置;以及
显示针对所述第一显示器的所述多个第一窗口布置的第一可选列表。
2.根据权利要求1所述的系统,其中:
所述应用的所述第一组包括第一应用和第二应用,
所述多个第一窗口布置包括第一布置,所述第一布置包括分别与所述第一应用和所述第二应用相关联的第一窗口和第二窗口,所述第一布置定义所述第一窗口和所述第二窗口中的每个窗口在所述第一显示器上的大小和位置,并且
所述指令在由所述处理器执行时,还使所述处理器控制所述系统执行:
接收第二用户输入,所述第二用户输入从所显示的所述多个第一窗口布置的所述第一可选列表选择所述第一布置;以及
响应于接收到所述第二用户输入,根据由针对所述第一窗口和所述第二窗口中的每个窗口的所述第一布置定义的所述大小和所述位置经由所述显示器显示所述第一窗口和所述第二窗口。
3.根据权利要求1所述的系统,其中所述指令在由所述处理器执行时,还使所述处理器控制所述系统执行:
接收第二用户输入,所述第二用户输入请求生成针对第二显示器的多个第二窗口布置;
响应于接收到所述第二用户输入,基于所述多个应用的所述上下文信息来标识要被包括在所述第二窗口布置中的所述应用的第二组;
基于所述第二显示器的第二显示信息和关于所述多个应用的所述上下文信息来生成所述多个第二窗口布置,每个第二窗口布置提供分别与所述第二组的所述应用相关联的多个窗口的不同屏幕上布置,并且定义所述窗口中的每个窗口在所述第二显示器上的大小和位置;以及
显示针对所述第二显示器的所述多个第二窗口布置的第二可选列表。
4.根据权利要求3所述的系统,其中为了显示所述第一可选列表和所述第二可选列表,所述指令在由所述处理器执行时,还使所述处理器控制所述系统执行显示菜单框,所述菜单框包括所述第一可选列表和所述第二可选列表。
5.根据权利要求1所述的系统,其中所述第一显示信息包括以下至少一项:显示设备数目、显示方位、显示大小、显示分辨率和显示纵横比。
6.根据权利要求1所述的系统,其中所述上下文信息标识以下至少一项:
在所述第一显示器上具有前景聚焦的应用;
被包括在被显示在所述第一显示器上的多个应用的Z次序中的一个或多个应用;
在所述第一显示器上当前打开的一个或多个应用;以及
运行并且未被最小化的应用。
7.根据权利要求1所述的系统,其中所述上下文信息包括与所排程的事件有关的事件信息。
8.根据权利要求7所述的系统,其中所述上下文信息标识以下至少一项:
与所述所排程的事件相关的一个或多个应用;
与所述所排程的事件相关联的一个或多个文件或网站;
一个或多个默认应用;
已与在所述第一显示器上具有前景聚焦的另一应用被频繁分组在一起的应用;
当前打开但是尚未被频繁分组在一起的两个或更多个应用;
当前未正在运行但是已与当前正在运行的另一应用被频繁分组在一起的应用;以及
当前未正在运行但是已被频繁使用的一个或多个应用。
9.一种用于生成针对一个或多个显示器的多个窗口布置的系统,所述系统包括:
处理器;以及
计算机可读介质,所述计算机可读介质包括指令,所述指令在由所述处理器执行时,使所述处理器控制所述系统执行:
接收第一用户输入,所述第一用户输入请求生成与第一窗口有关的多个窗口布置;
生成所述多个窗口布置,每个窗口布置提供多个窗口的不同屏幕上布置,并且定义所述多个窗口中的每个窗口在所述显示器上的大小和位置;
接收第二用户输入,所述第二用户输入选择所述多个窗口布置中的第一窗口布置,所述第一窗口布置将所述显示器划分成多个分段并且定义所述多个分段中的每个分段的大小和位置;
接收第三用户输入,所述第三用户输入选择根据所选择的所述第一窗口布置而被划分的所述多个分段中的第一分段;以及
响应于接收到所述第三用户输入,在所述显示器的所述第一分段处显示所述第一窗口。
10.根据权利要求9所述的系统,其中所述指令在由所述处理器执行时,还使所述处理器控制所述系统执行:
检测与第二窗口相关联的应用当前正在运行;
在根据所选择的所述第一窗口布置而被划分的所述多个分段中的第二分段上显示所述第二窗口的表示;
接收第四用户输入,所述第四用户输入选择所显示的所述第二窗口的所述表示;以及
响应于接收到所述第四用户输入,在所述显示器的所述第二分段处显示所述第二窗口。
11.一种操作用于生成针对一个或多个显示器的多个窗口布置的系统的方法,所述方法包括:
接收第一用户输入,所述第一用户输入请求生成针对第一显示器的多个第一窗口布置;
响应于接收到所述第一用户输入,基于关于多个应用的上下文信息来标识要被包括在针对所述第一显示器的所述第一窗口布置中的所述应用的第一组;
基于所述第一显示器的第一显示信息和关于所述多个应用的所述上下文信息来生成所述多个第一窗口布置,每个第一窗口布置提供与所述第一组的两个或更多个应用相关联的多个窗口的不同屏幕上布置,并且定义所述多个窗口中的每个窗口在所述第一显示器上的大小和位置;以及
显示针对所述第一显示器的所述多个第一窗口布置的第一可选列表。
12.根据权利要求11所述的方法,其中:
所述应用的所述第一组包括第一应用和第二应用,
所述多个第一窗口布置包括第一布置,所述第一布置包括分别与所述第一应用和所述第二应用相关联的第一窗口和第二窗口,所述第一布置定义所述第一窗口和所述第二窗口中的每个窗口在所述第一显示器上的大小和位置,并且
所述方法还包括:
接收第二用户输入,所述第二用户输入从所显示的所述多个第一窗口布置的所述第一可选列表选择所述第一布置;以及
响应于接收到所述第二用户输入,根据由针对所述第一窗口和所述第二窗口中的每个窗口的所述第一布置定义的所述大小和所述位置经由所述显示器显示所述第一窗口和所述第二窗口。
13.根据权利要求11所述的方法,还包括:
接收第二用户输入,所述第二用户输入请求生成针对第二显示器的多个第二窗口布置;
响应于接收到所述第二用户输入,基于所述多个应用的所述上下文信息来标识要被包括在所述第二窗口布置中的所述应用的第二组;
基于所述第二显示器的第二显示信息和关于所述多个应用的所述上下文信息来生成所述多个第二窗口布置,每个第二窗口布置提供分别与所述第二组的所述应用相关联的多个窗口的不同屏幕上布置,并且定义所述窗口中的每个窗口在所述第二显示器上的大小和位置;以及
显示针对所述第二显示器的所述多个第二窗口布置的第二可选列表。
14.根据权利要求11所述的方法,其中所述上下文信息标识以下至少一项:
在所述第一显示器上具有前景聚焦的应用;
被包括在被显示在所述第一显示器上的多个应用的Z次序中的一个或多个应用;
在所述第一显示器上当前打开的一个或多个应用;以及
运行并且未被最小化的应用。
15.根据权利要求11所述的方法,其中所述上下文信息包括与所排程的事件有关的事件信息。
CN202180083914.7A 2020-12-15 2021-11-23 自动化屏幕上窗口布置 Pending CN116583819A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/123,052 US20220187958A1 (en) 2020-12-15 2020-12-15 Automated on-screen windows arrangements
US17/123,052 2020-12-15
PCT/US2021/060415 WO2022132404A1 (en) 2020-12-15 2021-11-23 Automated on-screen windows arrangements

Publications (1)

Publication Number Publication Date
CN116583819A true CN116583819A (zh) 2023-08-11

Family

ID=78957927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180083914.7A Pending CN116583819A (zh) 2020-12-15 2021-11-23 自动化屏幕上窗口布置

Country Status (4)

Country Link
US (1) US20220187958A1 (zh)
EP (1) EP4264408A1 (zh)
CN (1) CN116583819A (zh)
WO (1) WO2022132404A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868160B2 (en) 2022-02-09 2024-01-09 Microsoft Technology Licensing, Llc Just-in-time snap layouts

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013271A1 (en) * 2012-07-05 2014-01-09 Research In Motion Limited Prioritization of multitasking applications in a mobile device interface
KR102069014B1 (ko) * 2012-09-25 2020-02-12 삼성전자 주식회사 휴대단말기의 분리화면 제어장치 및 방법
US9667904B2 (en) * 2013-03-11 2017-05-30 Sony Corporation Managing extra space on ultra high definition display presenting high definition video
US9921714B1 (en) * 2013-07-22 2018-03-20 Rockwell Collins, Inc. Graphical method to select formats
US20160085388A1 (en) * 2014-09-18 2016-03-24 Microsoft Technology Licensing, Llc Desktop Environment Differentiation in Virtual Desktops
US10209869B2 (en) * 2015-10-29 2019-02-19 Sap Se Persistent application interface management

Also Published As

Publication number Publication date
WO2022132404A1 (en) 2022-06-23
EP4264408A1 (en) 2023-10-25
US20220187958A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
US11348070B2 (en) Digital processing systems and methods for context based analysis during generation of sub-board templates in collaborative work systems
Li et al. Older adults’ use of mobile device: usability challenges while navigating various interfaces
US10261659B2 (en) Orbit visualization for displaying hierarchical data
US8600967B2 (en) Automatic organization of browsing histories
US9710240B2 (en) Method and apparatus for filtering object-related features
US20150234573A1 (en) Methods and apparatus for organizing applications and widgets on a mobile device interface
EP3074888B1 (en) Contextual information lookup and navigation
US20150378600A1 (en) Context menu utilizing a context indicator and floating menu bar
US20150074541A1 (en) Desktop and mobile device integration
US11900046B2 (en) Intelligent feature identification and presentation
US8949858B2 (en) Augmenting user interface elements with information
KR101952171B1 (ko) 전자기기 및 그의 웹 히스토리 표시 방법
US20220138412A1 (en) Task templates and social task discovery
EP3942490B1 (en) Enhanced task management feature for electronic applications
US10860675B2 (en) Informational tabs
WO2022225668A1 (en) Intuitive display of intelligent snap assist recommendations
CN116583819A (zh) 自动化屏幕上窗口布置
US20180173379A1 (en) Integrating desktop and mobile devices
Marcial A comparison of screen size and interaction technique: Examining execution times on the smartphone, tablet and traditional desktop computer
KR101176317B1 (ko) 검색어와 검색된 정보 간의 연관성에 따른 검색된 정보의 차등적 배치 방법
US11625148B2 (en) Intelligent snap assist recommendation model
US20130205211A1 (en) System and method for enterprise information dissemination
US20190073118A1 (en) Semantic dimensions in a user interface
US11960882B2 (en) Facilitating generation of contextual profile data
WO2020069638A1 (en) Page navigation with tree menu

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