[go: up one dir, main page]

CN100549927C - 用于应用程序窗口分组和管理的方法和装置 - Google Patents

用于应用程序窗口分组和管理的方法和装置 Download PDF

Info

Publication number
CN100549927C
CN100549927C CNB2005800492429A CN200580049242A CN100549927C CN 100549927 C CN100549927 C CN 100549927C CN B2005800492429 A CNB2005800492429 A CN B2005800492429A CN 200580049242 A CN200580049242 A CN 200580049242A CN 100549927 C CN100549927 C CN 100549927C
Authority
CN
China
Prior art keywords
application window
represented
application
window
tile
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.)
Expired - Fee Related
Application number
CNB2005800492429A
Other languages
English (en)
Other versions
CN101167045A (zh
Inventor
J·W·贝蒂罗斯
S·E·施洛克
C·W·斯塔伯
D·J·林德赛
C·K·范多克
H·N·库珀曼
C·库明斯
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN101167045A publication Critical patent/CN101167045A/zh
Application granted granted Critical
Publication of CN100549927C publication Critical patent/CN100549927C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

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)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)

Abstract

描述了一种用于管理多个应用程序窗口表示的方法。该方法包括以下步骤:在预定义区域内定义一组应用程序窗口表示位置、在应用程序窗口表示位置中显示多个应用程序窗口表示、接收打开第一应用程序窗口的输入、在预定义区域中创建第一应用程序窗口表示、确定是否需要将多个应用程序窗口表示中的第二应用程序窗口表示重新定位到隐藏的应用程序窗口表示位置、以及在确定需要重新定位第二应用程序窗口表示时将第二应用程序窗口表示重新定位到隐藏的应用程序窗口表示,其中隐藏的应用程序窗口表示位置在一粗略扫视内。

Description

用于应用程序窗口分组和管理的方法和装置
发明领域
本发明的各方面一般涉及操作系统中的应用程序窗口图形界面。更具体而言,本发明的各方面涉及用于对操作系统中的多个应用程序窗口表示分组并允许在应用程序窗口表示之间存在某一智能行为的方法和系统。
发明背景
随着在工作和个人生活中对计算机的使用的增加,对允许更容易地使用它们的期望也增加。当今的许多操作系统利用基于窗口的应用程序配置。信息被显式在显示屏上看似为若干张纸。通过与窗口交互,用户可如同抓住单张纸那样来访问任何窗口。基于窗口的配置允许用户在显示屏上同时打开两个或更多窗口。
应用程序窗口是所有图形用户界面(GUI)系统的用户界面工具。尽管应用程序窗口在各个系统之间在外观上可能不同,但它们共享许多共同的属性,诸如调整大小和重新定位以及在与不同应用程序相关联的其它应用程序窗口中存在的能力。在许多GUI系统中,在诸如任务栏等预定义区域中对每一打开的应用程序窗口都存在一个表示。该表示是可由用户用于快速定位特定应用程序窗口和/或访问特定应用程序窗口的参考指导。
现代GUI常见的一种用户交互情形涉及共享公共屏幕实际面积的多个同时打开的应用程序窗口。对多个同时打开的应用程序窗口的支持是现代GUI的吸引力和能力的一部分,但是这通常会导致应用程序窗口彼此重叠和遮挡,从而使得用户难以定位或导航到特定的应用程序窗口。这种情形和相关联的解决方案通常被称为窗口管理问题和解决方案。
用户通常将应用程序窗口与诸如电子邮件等任务相关联,并且还可在多个应用程序窗口和单个任务或项目之间创建心理上的关联。例如,为了产生幻灯片演示,用户可能需要来自三个或四个不同应用程序窗口,可能来自诸如电子邮件、图形应用程序和电子表格应用程序等一个或多个应用程序的内容。多个应用程序窗口可以在屏幕上可见,且每一应用程序窗口可以与一个或多个任务相关联。用户必须定位这些完全不同的应用程序窗口并在它们之间导航以访问或交换内容来完成任务。
许多GUI中都有公用窗口管理解决方案,其中应用程序窗口在主要工作屏幕空间中可被最小化并从视图中移除。最小化的应用程序窗口通常由一小得多的UI元素来表示。在华盛顿州雷蒙德市
Figure C20058004924200051
公司的Windows XP中,最小化的应用程序窗口被表示为控制栏上的应用程序窗口小块,诸如任务栏控件。在加利福尼亚州库珀蒂诺市Apple计算机公司的Mac OS X中,最小化的应用程序窗口被表示为停靠栏中的微型缩略图按钮。最小化应用程序窗口允许用户将不需要的应用程序窗口从屏幕空间中移除,从而允许它们聚焦在较小的一组应用程序窗口上。然而,当试图通过从任务栏区域访问其表示来检索应用程序窗口时,所需的表示在较不重要的表示对用户可见时通常在粗略扫视之下是被埋没的。
发明概述
存在对提供窗口管理系统以协助管理显示屏幕的预定义区域内的多个应用程序窗口表示的能力的需求。本发明的各方面提供了一种用于管理多个应用程序窗口表示的新方法。该方法包括在预定义区域中定义一组应用程序窗口表示位置以及在该应用程序窗口表示位置中显示多个应用程序窗口表示的步骤。在接收到打开第一应用程序窗口的输入之后,该方法在预定义区域中创建第一应用程序窗口表示、确定多个窗口表示中的第二应用程序窗口表示是否需要被重新定位到隐藏应用程序窗口表示位置、并在确定该第二应用程序窗口表示需要被重新定位时将该第二应用程序窗口表示重新定位到隐藏应用程序窗口表示,其中隐藏应用程序窗口表示位置在粗略扫视之中。
本发明的另一方面提供了一种用于显示与应用程序窗口相关联的通知的方法。该方法包括在显示屏幕的预定义区域中的可见应用程序窗口表示位置中显示第一应用程序窗口表示、以及将第二应用程序窗口表示维持在隐藏应用程序窗口表示位置内的步骤,一眼就能看到的隐藏应用程序窗口表示位置与第一窗口应用程序表示相关联。该方法还包括接收与第二应用程序窗口相关联的通知、以及将第二应用程序窗口表示从隐藏应用程序窗口表示位置重新定位到显示屏幕的预定义区域内的第二可见应用程序窗口表示位置的步骤。
附图简述
当结合附图阅读时能更好地理解以上发明概述以及以下说明性实施例的详细描述,附图是作为示例而非对所要求保护的本发明的限制而被包括在内的。
图1A示出了其中可实现本发明的某些方面的通用数字计算环境的示意图;
图1B到1M示出了支持本发明的一个或多个方面的通用计算机环境;
图2示出了常规的窗口管理情形;
图3示出了根据本发明的至少一方面的包括应用程序相关应用程序窗口的粗略扫视的应用程序窗口表示系统的示例;
图4示出了根据本发明的至少一方面的包括与多文档界面(MDI)父应用程序窗口相关联的MDI子应用程序窗口的粗略扫视的应用程序窗口表示系统的另一示例;
图5A示出了包括翻阅应用程序窗口小块的溢出添加滚动条的常规任务栏区域;
图5B示出了根据本发明的至少一方面的包括溢出菜单的应用程序窗口表示系统的示例;
图6A示出了包括应用程序通知的常规任务栏区域;
图6B和6C示出了根据本发明的至少一方面的包括应用程序窗口专用通知的应用程序窗口表示系统的示例;
图7是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的说明性示例的流程图;
图8是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的另一说明性示例的流程图;
图9是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的另一说明性示例的流程图;
图10是根据本发明的至少一方面的用于显示对应于应用程序窗口表示的通知的方法的另一说明性示例的流程图。
说明性实施例的详细描述
在以下各说明性实施例的描述中,参考了附图,附图形成各实施例的一部分,并作为说明示出了其中可实现本发明的各实施例。可以理解,可利用其它实施例并且可做出结构和功能上的修改而不脱离本发明的范围。
图1示出了其上可实现本发明的合适的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将计算系统环境100解释为对示例性计算系统环境100中示出的任一组件或其组合具有任何依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适用于本发明的众所周知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图1A,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如ROM 131和RAM 132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1A示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1A示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141、对可移动、非易失性磁盘152进行读写的磁盘驱动器151以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
上文讨论并在图1A中示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1A中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如数码相机163、键盘162和定位设备161(通常指鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括笔、指示笔和输入板、话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线121的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也可包括其它外围输出设备,如扬声器197和打印机196,它们通过输出外围接口195连接。
计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于计算机110所描述的元件,尽管在图1A中仅示出了存储器存储设备181。图1A描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它通过用户输入接口160或其他合适的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1A示出远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。假定诸如TCP/IP、以太网、FTTP、HTTP等各种公知协议中的任一种的存在,且系统可在客户机-服务器配置中操作以允许用户从基于web的服务器检索网页。可使用各种常规web浏览器中的任一种来显示和操纵网页上的数据。
编程接口(或简称之为接口)可以被视为用于允许一个或多个代码段与由一个或多个其它代码段提供的功能进行通信或对其进行访问的任何机制、进程、协议。或者,编程接口可以被视为能够通信地耦合至其它组件的一个或多个机制、方法、函数调用、模块等的系统的组件的一个或多个机制、方法、函数调用、模块、对象等。上述语句中的术语“代码段”意在包括一个或多个指令或代码行,并包括例如,代码模块、对象、子例程、函数等等,而无论应用的术语是什么、或代码段是否被单独编译、或代码段是否作为源代码、中间代码或目标代码来提供、代码段是否在运行时系统或进程中使用、或它们是否位于同一或不同机器上或跨多个机器分布、或由代码段表示的功能是否完全由软件、完全由硬件或由硬件和软件的组合来实现。
概念上,编程接口可以被一般地察看,如图1B或图1C所示的。图1B示出了接口“接口1”为管道,第一和第二代码段通过该管道进行通信。图1C示出了接口包括接口对象I1和I2(可以是或不是第一和第二代码段的部分),它们允许系统的第一和第二代码段通过介质M进行通信。在图1C的视图中,可以认为接口对象I1和I2为同一系统的分开的接口,并且也可以认为对象I1和I2加上介质M构成了接口。尽管图1B和1C示出了双向流程以及该流程的每一侧上的接口,但某些实现可仅具有一个方向上的信息流(或如下所述没有信息流),或仅具有一侧的接口对象。作为示例而非局限,诸如应用程序编程接口(API)、入口点、方法、函数、子例程、远程过程调用和组件对象模型(COM)接口等术语包含在编程接口的定义之内。
这类编程接口的各方面可包括第一代码段向第二代码段发送信息的方法(其中,“信息”以其最广泛的意义使用,并包括数据、命令、请求等等);第二代码段接收信息的方法;以及该信息的结构、序列、句法、组织、模式、定时和内容。在这一点上,只要信息以接口所定义的方式传输,底层传输介质本身可以对接口的操作不重要,无论该介质是有线还是无线,或两者的组合。在某些情况下,信息可以不在常规意义上的一个或两个方向上传递,因为信息传输可以或者通过另一机制(如,信息被放置在与代码段之间的信息流分离的缓冲区、文件等中)或者不存在,如当一个代码段仅访问由第二代码段执行的功能的时候。这些方面的任一个或所有可以在给定的情况下是重要的,如,取决于代码段是否是松耦合或紧耦合配置的系统的一部分,并且因此该列表应当被认为是说明性的而非限制。
编程接口的这一概念对本领域的技术人员是已知的,并且可以通过阅读上述本发明的详细描述而清楚。然而,有其它方法来实现编程接口,并且除非明显地排除,否则这些方法也由本说明说提出的所附权利要求书包含在内。这些其它方法看似比图1B和1C的视图更精密或复杂,但是它们仍执行类似的功能来实现同一整体结果。现在简要描述编程接口的某些说明性替换实现。
A.分解
可以通过将通信分裂成多个离散通信来间接地实现从一个代码段到另一个的通信。这在图1D和1E中示意性地描述。如图所示,可以按照可分功能集来描述某些接口。由此,可以分解图1B和1C的接口功能来达到相同的结果,如同可以在数学上提供24,或2乘2乘3乘2一样。因此,如图1D所示,可以细分由接口“接口1”提供的功能以将该接口的通信转换成多个接口“接口1A”、“接口1B”、“接口1C”等,而达到相同的结果。如图1E所示,由接口I1提供的函数可以被细分成多个接口I1a、I1b、I1c等,而达到相同的结果。类似地,从第一代码段接收信息的第二代码段的接口I2可以被分解成多个接口I2a、I2b、I2c等。当分解时,包括在第一代码段中的接口的数量不需要匹配包括在第二代码段中的接口的数量。在图1D或1E的任一情况下,接口“接口1”和I1的功能性精神分别与图1B和1C的保持相同。接口的分解也可遵从结合、交换和其它数学性质,使得分解较难识别。例如,操作的排序可以是不重要的,并且因此由接口完成的功能可以在达到该接口之前由另一段代码或接口较好地完成,或者由系统的单独组件执行。此外,编程领域的普通技术人员可以理解有各种方式来作出达到相同结果的不同函数调用。
B.重定义
在某些情况下,可能忽略、添加或重定义编程接口的某些方面(如参数),而仍达到预期的结果。这在图1F和1G中示出。例如,假定图1B的接口“接口1”包括函数调用Square(input,precision,output)(求平方),这是包括三个参数:input(输入)、precision(精度)和output(输出),并且由第一代码段向第二代码段发出的调用。如果中间参数precision在给定的情形下无关紧要,如图1F所示,则它也可以被忽略或甚至由一meaningless(无意义)(在这一情况下)参数来替换。一种方式也可以添加无关紧要的additional(另外)参数。在任一情况下,只要在输入由第二代码段求平方之后返回输出,就可以达到求平方的功能。Precision也有可能对计算系统的某一下游或其它部分是极有意义的参数;然而,一旦认识到precision对计算平方这一有限目的不是必需的,它就可以被替换或忽略。例如,并非传递一个有效的pricision值,而是在不对结果产生不利影响的情况下传递诸如出生日期等无意义的值。类似地,如图1G所示,接口I1由接口I1′替换,它被重定义来忽略或向接口添加参数。接口I2可类似地被重定义为接口I2′,它被重定义来忽略不必要的参数,或可在别处处理的参数。此处的要点是在某些情况下,编程接口可包括对某一目的而言所不需要的方面,诸如参数,因此可以忽略或重定义它们,或在别处为其它目的处理它们。
C.内联代码编写
合并两个分开的代码模块的一些或全部功能,使得它们之间的“接口”改变形式也是可行的。例如,图1B和1C的功能可以被分别转化成图1H和1I的功能。在图1H中,图1B的先前的第一和第二代码段被合并成包含两者的模块。在这一情况下,该代码段仍可以彼此通信,但是该接口可以适用于更适合单个模块的形式。由此,例如,正式的Call(调用)和Return(返回)语句将不再必需,但是依照接口“接口1”的类似处理或响应仍是有效的。类似地,如图1I所示,图1C的部分(或全部)接口I2可以内联地写入接口I1来形成接口I1″。如图所示,接口I2被划分成I2a和I2b,并且接口部分I2a与接口I1内联地编写代码来形成接口I1″。对于一个具体的示例,考虑图1C的接口I1执行一函数调用square(input,output),它由接口I2接收,接口I2在由第二代码段处理了随input传递的的值(对其求平方)之后,使用output传回已求平方的结果。在这一情况下,由第二代码段执行的处理(对input求平方)可以由第一代码段在不调用该接口的情况下执行。
D.脱离
可以通过将通信分裂成多个离散的通信来间接地实现从一个代码段到另一个的通信。这在图1J和1K中示意性地描述。如图1J所示,提供了一个或多个中间件(脱离接口,因为它们从原始接口脱离功能和/或接口函数),以转化第一接口“接口1”上的通信,使得它们符合不同的接口,在本情况下为“接口2A”、“接口2B”和“接口2C”。这可以在这样一种情况中完成,例如,存在被设计成依照“接口1”协议与如操作系统进行通信的已安装应用程序库,但是然后该操作系统被改为使用不同的接口,在本情况下为接口“接口2A”、“接口2B”和“接口2C”。要点是改变了由第二代码段使用的原始接口,使得它不再与第一代码段所使用的接口兼容,因此使用中介来令旧接口和新接口兼容。类似地,如图1K所示,可以使用脱离接口DI1引入第三代码段以从接口I1接收通信,并使用脱离接口DI2引入第三代码段以向例如被重新设计成与DI2一起工作的接口I2a和I2b发送接口功能,但是提供相同的功能性结果。类似地,DI1和DI2可以共同工作以将图1C的接口I1和I2的功能转换到一新的操作系统,而提供相同或类似的功能性结果。
E.重写
再一种可能的变型是动态地重写代码,以使用别的东西来替换接口功能,而仍达到相同的总体结果。例如,可以有这样一种系统,其中,向执行环境(如由.Net框架提供的环境、Java运行时环境或其它类似的运行时型环境)中的即时(Just-in-Time)(JIT)编译器或解释器提供了以中间语言(如Microsoft IL、JavaByteCode等)呈现的代码段。可以编写JIT编译器以动态地将通信从第一代码段转换到第二代码段,即,令它们符合第二代码段(原始或不同的第二代码段)可能需要的不同接口。这在图1L和1M中有描述。如图1L中所看见的,这一方法类似于上述的脱离情形。它可以在这样一种情况下完成,例如,已安装应用程序库被设计成依照“接口1”协议来与操作系统进行通信,但是然后该操作系统被改为使用不同的接口。JIT编译器可以用于令来自已安装应用程序库的进行中的通信符合操作系统的新接口。如图1M所描述的,这一动态重写接口的方法也可应用于动态地分解或者改变接口。
应当注意,通过替换实施例实现与接口相同或相似的结果的上述情形也可以用各种方式串行地和/或并行地或与其它干预代码组合。由此,上文呈现的替换实施例并非互斥,并且可以被混合、匹配和组合以产生与图1B和1C中所呈现的一般情形相同或等效的情形。也应当注意,对于大多数编程构造,可以有此处未描述的实现接口的相同或相似功能的其它类似的方式,但是它们仍由本发明的精神和范围来表示,即,应当注意,它至少部分地是由作为接口的值的基础的接口表示的功能和由其启用的有利结果。
图2示出了某些图形用户界面系统中的常规窗口管理情形200。如图所示,多个打开的应用程序窗口部分或完全被定位在前面的其它更大的窗口遮挡。具体地,图2示出了Z顺序配置的多个窗口203a-203d的情形200,其中应用程序窗口203a在Z顺序中比窗口203b、203c和203d高。应用程序窗口203a-203d被示为在桌面空间201内。
桌面空间201是允许显示对应于应用程序的窗口的显示区域。底部的诸如任务栏等预定义区域210指示哪些应用程序窗口当前正在使用中,包括哪些窗口可以是可见的或可被最小化。预定义区域210是用于列出窗口并启用对其的操纵(如激活、移动、隐藏和最小化)的屏幕上窗口远程控制的一种具体实现。窗口203a、203b和203c由应用程序小块213a表示,而窗口203d由应用程序窗口小块213b表示。如本示例中所示,应用程序被标识为当前具有6个打开窗口的“InternetEngine”。应用程序窗口203a-203d和应用程序小块213包括应用程序图标标识符223a以允许用户标识运行该应用程序窗口的应用程序的类型。尽管未提及,但应用程序窗口小块213b也可包括应用程序图标标识符。窗口203a-203d的内容的文件名在用户将指针231在用于打开弹出菜单的图标247上移动时在弹出菜单271中示出。文件名可以由操作该窗口的应用程序生成和/或可由用户定制。
图2示出了粗略扫视之下的应用程序窗口的示例。所示的常规粗略扫视为应用程序小块213a之下的每一打开的应用程序窗口小块维护一应用程序窗口小块。应用程序小块213a标识了该粗略扫视之中的应用程序窗口之间的公共应用程序,并且不表示任何特定的打开的应用程序窗口。例如,如图2所示,在“Internet Engine”应用程序之下打开的任何应用程序窗口被包含在该粗略扫视之内。如图所示,示出了应用程度窗口小块计数器244,它是一种类型的视觉指示符,以允许用户标识当前在“Internet Engine”应用程序下打开了多少应用程序窗口。
窗口203a-203d由应用程序用于向用户显示内容。窗口203a-203d中的每一个独立于其它窗口203a-203d并在其外部。如此处所使用的,当第一窗口不包含在第二窗口内且第二窗口不包含在第一窗口内时,第一窗口在第二窗口外部。应当理解,如果两个窗口仅仅是重叠的,则第一窗口不包含在第二窗口内。
图3示出了根据本发明的至少一方面的包括对应用程序相关应用程序窗口的粗略扫视的应用程序窗口表示系统的一个示例。在情形300中,诸如任务栏区域等预定义区域包括其中定位了应用程序窗口小块313a-3131的一组定义的位置。如图所示,应用程序窗口小块313a占据了最近使用的位置,应用程序窗口小块313b占据了第二最近使用的位置,而其它应用程序窗口小块被示为占据其它位置。本领域的技术人员应当理解,应用程序窗口小块的位置排列可被配置为基于与使用相应的应用程序窗口的新近性不同的格式。
应用程序窗口小块313c被示为在第三最近使用的位置中。示出了其中示出五个应用程序窗口小块并且特别地提及小块313c、313d和313g的粗略扫视。应用程序窗口小块313a-313g对应于在同一应用程序下操作的应用程序窗口。应用程序图标标识符323a指示该应用程序窗口小块在什么应用程序下操作。当用户将指针231在用于打开粗略扫视菜单371的图标347a上移动时,粗略扫视菜单371从隐藏状态显示。粗略扫视菜单371示出了该粗略扫视的应用程序窗口小块以允许用户快速访问特定的应用程序窗口。本发明的一方面允许用户直接访问应用程序窗口小块313c而无需首先打开应用程序窗口小块的粗略扫视。图2中的常规系统示出用户必须首先打开应用程序小块213a来看见该粗略扫视中的所有小块。在本发明的一方面中,用户可直接访问与应用程序窗口小块313c相关联的应用程序窗口而不用首先打开该粗略扫视。
应用程序窗口小块313c和313j不同于应用程序窗口小块313a、313b、313h和3131,因为它们被配置成对用户包括附加数据。用户可通过点击应用程序图标标识符的标题部分来访问与应用程序窗口小块313c相关联的应用程序窗口。或者,用户可通过访问图标347a、347b之一以扩展粗略扫视来看见该粗略扫视的内容。在扩展粗略扫视时,可显示粗略扫视菜单371或粗略扫视的应用程序窗口小块的某一其它形式的显示。用户然后可使用指针231来通过选择粗略扫视菜单371中的对应应用程序窗口小块来访问期望的应用程序窗口。用户可通过应用程序窗口小块计数器324a来标识粗略扫视内的应用程序窗口小块的数目。应用程序窗口小块计数器324a是用于标识粗略扫视中的应用程序窗口的数目的一种视觉指示符。如图3所示,应用程序窗口小块计数器示出了值4以相关到该粗略扫视内的4个应用程序窗口小块。应用程序窗口小块计数器324b示出了值2以相关到不同的粗略扫视中的两个应用程序窗口小块。本领域的技术人员应当理解可使用多个不同的应用程序窗口表示并且应用程序窗口小块仅是一个示例。本发明不限于应用程序窗口的任何类型的表示。
另外,图3示出了用户可在应用程序窗口粗略扫视上做出的各种动作。例如,用户可在“Minimize All(最小化全部)”操作上移动指针231以将该粗略扫视中的所有应用程序窗口最小化到诸如任务栏等预定义区域。此外,用于粗略扫视应用程序窗口的方法可被系统配置成默认操作、可由第三方销售商配置和/或可由用户配置。例如,默认程序可按照使用应用程序窗口的新近性来排列应用程序窗口小块。第三方销售商程序可根据内容中的相似性来排列应用程序窗口,而用户可根据某一其它方法,如按照应用程序的类型来配置其应用程序窗口。再一次,本领域的技术人员应当理解本发明并不如此限于所提供的示例和图示。
在常规的图形用户界面系统下,用户只能切换到顶层窗口。然而,某些窗口被称为子窗口,因为它们是某一类型的容器内的一组窗口的一部分。这一容器的一个示例是多文档界面(MDI)应用程序,其中诸如
Figure C20058004924200151
Visio等应用程序具有单个顶层,即父窗口和在该窗口内打开的多个文档,即子窗口。对MDI的一种替换是单文档界面(SDI),其中每一窗口包含一个文件,但是在显示屏上可以打开多个窗口以一次显示几个文件。
Figure C20058004924200152
Word是SDI应用程序的一个示例。
图4示出了根据本发明的至少一方面的包括与多文档界面(MDI)父应用程序窗口相关联的MDI子应用程序窗口的粗略扫视的应用程序表示系统的一个示例。在这一情形400中,示出了多个应用程序窗口403a-403d。应用程序窗口403a由应用程序窗口小块413a表示。应用程序窗口小块413a类似于应用程序窗口小块313c,表现在它包括应用程序窗口小块计数器424和图标447。如果用户将指针悬停在图标447上,则显示粗略扫视菜单471以示出该粗略扫视内的底层应用程序窗口图标。
应用程序窗口403a是MDI父应用程序窗口。应用程序窗口403b-403d是与MDI父应用程序窗口403a相关联的MDI子应用程序窗口。如作为一个示例示出的,应用程序窗口403b-403d中的每一个由显示屏的预定义区域210中的粗略扫视中的应用程序窗口小块413a表示。用户然后可使用指针231来通过选择粗略扫视菜单471中的对应应用程序窗口小块来访问期望的应用程序窗口。应用程序图标标识符423指示应用程序窗口小块在什么应用程序下操作。对此,每一应用程序窗口小块的应用程序图标标识符与作为与MDI父应用程序窗口403a相关联的MDI子应用程序窗口的应用程序窗口403b-403d相同。应用程序窗口小块的粗略扫视的配置可以是默认系统配置、由第三方销售商设计的配置和/或用户可定制的配置。由此,在本发明的至少一方面中,打开的MDI子应用程序可被自动配置成在MDI父应用程序窗口403a的粗略扫视内具有其对应的应用程序窗口表示413。
本领域的技术人员应当理解,图3的描述的各方面也可被包括在图4的描述中。例如,用户可以与参考图3所描述的相同或相似的方式对MDI应用程序窗口的粗略扫视做出各种动作。用户可类似于图3所示的在“Minimize All”操作上移动指针231以将该粗略扫视中的所有MDI子应用程序窗口最小化到诸如任务栏等预定区域。此外,用于粗略扫视应用程序窗口的方法可由系统配置为默认操作、可由第三方销售商配置和/或可由用户配置。例如,默认程序可按照使用应用程序窗口的新近性来排列应用程序窗口小块。第三方销售商程序可根据内容的相似性来排列应用程序窗口小块,而用户可根据某一其它方法,如按照应用程序类型来配置其应用程序窗口。再一次,本领域的技术人员应当理解,本发明并不如此限于所提供的示例和说明,并且也可一起使用来自其它不同示例的特征的组合。
图5A示出了包括用于翻阅应用程序窗口小块的溢出添加滚动条的常规任务栏区域。在情形500a中,当打开了超过任务栏区域210a中的一组小块位置的个数的应用程序窗口时,另外的小块被定位在第二任务栏区域210b中。情形500a示出如何将应用程序小块513a和513b定位在任务栏区域210a的该组小块位置中。类似地,应用程序窗口小块513c和513j也被定位在任务栏区域210a内。当任务栏区域210a内的所有小块位置被占据且打开一新的应用程序窗口时,对应于该新的应用程序窗口的应用程序窗口小块518a被定位在第二任务栏区域210b中。用户必须点击滚动条551以在各任务栏210a和210b之间滚动。一旦占据了任务栏区域210b中的所有小块位置,可创建第三任务栏区域。当有了要滚动通过的所有各种任务栏区域,可能难以标识无数应用程序窗口小块和应用程序小块内的期望小块。
图5B示出了根据本发明的至少一方面的包括溢出菜单的应用程序窗口表示系统的一个示例。在情形500b中,当打开超过诸如任务栏区域等预定区域中的一组应用程序窗口小块位置的个数的应用程序窗口时,另外的应用程序窗口小块被定位在溢出表示562中的粗略扫视内。溢出标识562类似于应用程序窗口小块519c,表现在它包括应用程序窗口小块计数器563和图标564。如果用户将指针悬停在图标564上,则显示粗略扫视菜单(未示出)以示出溢出粗略扫视内的底层应用程序窗口图标。在情形500b中,用户无需滚动通过各个任务栏区域以找出特定的应用程序窗口小块。相反,用户将指针231悬停在图标564上,从而显示与预定区域中未标识的剩余14个应用程序窗口小块有关的信息。由此,用户对所有窗口应用程序小块都有一步访问。
图6A示出了包括应用程序通知的常规任务栏区域。在情形600a中,应用程序小块213b被示为在粗略扫视中包括8个应用程序窗口。这8个应用程序窗口由应用程序窗口小块计数器224来标识。应用程序小块213b被示为处于向用户做出通知的状态。通知是表示可由用户解决的情况/事件的某一信号。例如,通知可以是小块213b的闪烁以指示接收到新的电子邮件消息。通知可导致应用程序小块213b的颜色改变以试图吸引用户的注意。然而,当粗略扫视应用程序窗口时,也粗略扫视任何通知。用户在不打开粗略扫视菜单的情况下不能确定哪一应用程序窗口对应于该通知。要求用户打开粗略扫视菜单来看见引起该通知的应用程序窗口小块以及用户需要什么类型的注意。
图6B示出了根据本发明的至少一方面的包括应用程序窗口专用通知的应用程序窗口表示系统的一个示例。在情形600b中,8个应用程序窗口小块表示被示为占据预定义区域中一组位置内的位置。在这一示例中,示出了8个位置,其中最近使用的位置在预定义区域的左侧。应用程序窗口小块613a被示为位于最近使用的位置内,且应用程序窗口小块6131被示为位于第八即最后一个位置内。应当理解,这仅是应用程序窗口小块表示的配置的一个说明性示例,且可使用用于显示这些表示的其它方式。
应用程序窗口小块613e在预定义区域中的第三位置处的粗略扫视菜单内。应用程序窗口小块613c包括指示该粗略扫视菜单包括4个应用程序窗口小块的应用程序窗口小块计数器624a。应用程序窗口小块613e被示为处于向用户作出通知的状态。如此示例中所示,当接收到对于该粗略扫视内的应用程序窗口的通知时,可自动显示粗略扫视菜单。由此,当接收到对应用程序窗口的通知时,可通过使粗略扫视菜单中的应用程序窗口小块613e闪烁来通知用户,如图6B所示。
应用程序窗口6C示出了根据本发明的至少一方面的包括应用程序窗口专用通知的应用程序窗口表示系统的另一示例。在情形600c中,接收到通知的应用程序窗口613e被移动以占据预定义区域中的8个位置中对用户可见的那一个。在此示例中,应用程序窗口613e被拉出粗略扫视并被插入到预定义区域中的最近使用的位置中。作为响应,由于应用程序窗口小块已在第三最近使用的位置处从粗略扫视中移除,因此可发生对预定义区域中的小块的排列的多个改变。例如,如图6C所示,预定义区域中的每一应用程序窗口小块被下移(向右)一个位置。例如,图6B中最近使用的位置中的应用程序窗口小块613a未在图6C中的第二最近使用的位置中示出。接收到通知的应用程序窗口613e被移至最近使用的位置。此外,由于应用程序窗口小块613e已从粗略扫视中移除,因此应用程序窗口小块计数器624a递减1以指示在相应的粗略扫视菜单中仅粗略扫视3个其它应用程序窗口。此外,可由于应用程序窗口小块613e的重新定位而建立粗略扫视。在图6C中,应用程序窗口小块613k被转换成包括应用程序窗口小块计数器624b的应用程序窗口小块。尽管未示出,但应用程序窗口小块6131被定位在预定义区域中的该组内的第8即最后一个位置处的粗略扫视中。
本领域的技术人员应当理解,本发明的各方面不限于图中所示的应用程序窗口和/或粗略扫视的个数,并且可创建应用程序窗口的任意个数的不同粗略扫视。此外,应当理解,根据本发明的各方面,可向粗略扫视添加或从其移除一个或多个窗口。此外,应当理解,用于在接收到通知之后从重新定位来自一粗略扫视的应用程序窗口小块表示的说明性示例并不限制本发明。可使用其它方法来重新定位应用程序窗口小块表示。例如,应用程序窗口小块表示可从粗略扫视中移除并将其重新定位到与图中所示的不同位置,如相应粗略扫视的右边。
图7是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的一个说明性示例的流程图。该过程在步骤701处开始,其中在显示屏上的预定义区域内定义一组应用程序窗口小块位置。该预定义区域可以是沿显示屏底部的任务栏区域。例如,该组应用程序窗口小块位置可以是如果预定区域总是可见则总是对用户可见的8个位置。该过程前进到步骤703,其中在该组位置中显示多个应用程序窗口表示。小块是一种类型的表示。在步骤705处,确定是否接收到打开新的应用程序窗口的输入。如果否,则该过程继续等待,直到接收到输入。当在步骤705中接收到输入时,该过程移至步骤707,其中创建与该新的应用程序窗口相关联的应用程序窗口小块。在步骤709处,在该组最近使用的位置中显示新创建的应用程序窗口小块。再一次,本领域的技术人员应当理解,新创建的应用程序窗口小块可根据不同的方案来定位,这些不同方案有默认方案、第三方销售商方案和/或用户配置的方案。
前进到步骤711,确定响应于添加新的应用程序窗口小块是否需要重新定位该多个应用程序窗口小块中的一个。如果否,则该过程结束。如果是,则在步骤713处另外确定是否需要将来自步骤711的窗口小块重新定位到隐藏的应用程序窗口小块位置。隐藏的应用程序窗口小块位置可以如上所述位于粗略扫视菜单或溢出菜单内。隐藏应用程序窗口小块在访问该粗略扫视菜单或溢出菜单时对用户可见。如果小块需要被重新定位到隐藏位置,则在步骤715处,在适当时在该组内重新定位和显示该应用程序窗口小块。如果在步骤713中小块无需被重新定位在隐藏位置,则该过程移至步骤717,其中在适当时在该组内的可见位置中重新定位和显示该应用程序窗口小块。
图8是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的另一说明性示例的流程图。在步骤801处,接收到打开多文档界面(MDI)父应用程序窗口的请求。这一情形可在用户启动诸如
Figure C20058004924200191
Visio等应用程序时发生。在步骤803处,创建MDI父应用程序窗口小块,并且在步骤805处将该MDI父应用程序窗口小块显示在预定义区域内。移至步骤807,接收到打开新应用程序窗口的请求。在步骤809处,确定是否接收到打开MDI子应用程序窗口的输入。如果否,则该过程移至步骤811,其中为该新应用程序窗口创建相应的应用程序窗口,并且在步骤813处,在预定义区域中显示该应用程序窗口小块。应用程序窗口小块在必要时在该过程结束之前的步骤819处被重新定位在预定义区域内。例如,新应用程序窗口小块可占据预定义区域中的最近使用的位置。由此,MDI父应用程序窗口小块可被重新定位到另一位置。
如果在步骤809中接收到打开MDI子应用程序窗口的请求,则该过程前进到步骤815,其中创建MDI子应用程序窗口小块。在步骤817处,将MDI子应用程序窗口小块显示为MDI父应用程序窗口小块下的粗略扫视的项。前进到步骤819,在适当时将应用程序窗口小块重新定位在预定义区域内。例如,MDI父应用程序窗口可被定位到预定义区域内的最近使用的位置中。
图9是根据本发明的至少一方面的用于定位应用程序窗口表示的方法的另一说明性示例的流程图。该过程在步骤901处开始,其中在显示屏上的预定义区域中定义一组应用程序窗口小块位置。该预定义区域可以是沿显示屏底部的任务栏区域。例如,该组应用程序窗口小块位置可以是如果预定义区域总是可见则总是对用户可见的8个位置。该过程前进到步骤903,其中显示多个应用程序窗口表示以占据多达预定义区域内的该组中的全部可见位置。小块是一种类型的表示。在步骤905处,确定是否接收到打开另一应用程序窗口的输入。如果否,则该过程继续等待,直到接收到输入。当在步骤905中接收到输入时,该过程移至步骤907,其中创建与该新应用程序窗口相关联的应用程序窗口小块。在步骤909处,在溢出区域中显示新创建的应用程序窗口小块,并且将溢出计数器递增1。溢出区域可以是菜单。再一次,本领域的技术人员应当理解,新创建的应用程序窗口小块可根据不同的方案来定位,这些不同方案有默认方案、第三方销售商方案、和/或用户配置的方案,并且然后可将不同的应用程序窗口小块重新定位到溢出区域。
在步骤911处,创建任何另外的应用程序窗口小块并将其显示在溢出区域中,并对每一小块将计数器递增1。移至步骤913,确定是否接收到访问溢出区域的输入。如果否,则该过程结束。如果是,则该过程移至步骤915,其中显示溢出区域内的应用程序窗口小块。在步骤917处,确定是否接收到访问溢出区域中的应用程序窗口小块的输入。如果否,则该过程等待,直到接收到输入访问。当在步骤917处接收到访问溢出区域中的应用程序窗口小块的输入时,该过程前进到步骤919,其中在显示屏上的桌面空间中Z顺序的顶部显示与所选的应用程序窗口小块相关联的应用程序窗口。该过程前进到步骤921,其中应用程序窗口小块在适当时被重新定位在预定义区域和溢出区域内。
图10是根据本发明的至少一方面的用于显示对应于应用程序窗口表示的通知的方法的另一说明性示例的流程图。该过程在步骤1001处开始,其中在预定义区域中显示多个应用程序窗口小块,包括用于应用程序窗口的粗略扫视的应用程序窗口小块。在步骤1003处,确定是否接收到需要注意的输入。例如,这一情形可在接收到通知警告时发生。如果否,则该过程等待,直到接收到输入。如果是,则该过程移至步骤1005,其中确定需要注意的应用程序窗口是否在粗略扫视内。如果否,则该过程前进到步骤1007,其中为用户向应用程序窗口小块应用一动作并且该过程结束。如果在步骤1005处应用程序窗口在粗略扫视内,则该过程移至步骤1009,其中应用程序窗口小块在适当时从用于粗略扫视的粗略扫视菜单重新定位到预定义区域内的可见位置。例如,应用程序窗口可被重新定位到最近使用的位置。在步骤1011处,为用户向应用程序窗口小块应用一动作。这一动作可以是使得应用程序窗口小块闪烁和/或改变颜色。在步骤1013处,将标识粗略扫视中的应用程序窗口小块的个数的计数器递增1,因为来自步骤1005的粗略扫视的应用程序窗口小块被重新定位到可见位置。
另一实施例是编程上控制应用程序窗口直接到粗略扫视的定位。例如,诸如
Figure C20058004924200211
Office等一个或多个应用程序可共享由若干文档构成的项目的概念。这些文档可被同时打开到粗略扫视中,或者作为用户打开的项目中的新文档被自动添加到粗略扫视。
对于应用程序编程接口(API),本发明的各方面可由API来执行。例如,公用API可与操作系统接口以允许操作系统提供本发明的各种特征。在一个实施例中,用于处理代表粗略扫视的应用程序窗口小块的数据的软件体系结构可包括被配置成将第一应用程序窗口小块和第二应用程序窗口小块定位到粗略扫视中的组件以及访问该组件的应用程序接口。API可接收粗略扫视两个应用程序窗口小块、访问必要的功能以执行操作、然后将结果发回操作系统的请求。操作系统可使用从API提供的数据来执行本发明的各种特征。使得应用程序利用应用程序窗口小块粗略扫视的API包括在编程上定位和重新定位应用程序窗口小块。
尽管示出了此处所描述的利用本发明的各方面的说明性系统和方法,但是本领域的技术人员可以理解,本发明不限于这些实施例。本领域的技术人员特别是鉴于以上教导可做出各种修改。例如,可单独或与其它实施例的元素组合或子组合地利用上述实施例的每一元素。还可以明白和理解,可在不脱离本发明的真实精神和范围的前提下做出各种修改。由此,本说明书被认为是说明性的而非对本发明的限制。

Claims (17)

1.一种用于管理多个应用程序窗口表示的方法,所述方法包括以下步骤:
在预定义区域中定义一组应用程序窗口表示位置,所述组被配置成基于一格式将应用程序窗口表示定位在预定义个数的可见应用程序窗口表示位置中;
显示所述应用程序窗口表示位置中的多个应用程序窗口表示,每一应用程序窗口表示与一应用程序窗口相关联;
接收打开第一应用程序窗口的输入;
在所述预定义区域中创建与所述第一应用程序窗口相关联的第一应用程序窗口表示,其中所述第一应用程序窗口表示基于所述格式占据所述组中的一个位置;
确定是否需要将所述多个应用程序窗口表示中的第二应用程序窗口表示重新定位到一隐藏的应用程序窗口表示位置;以及
在确定需要重新定位所述第二应用程序窗口表示时将所述第二应用程序窗口表示重新定位到所述隐藏的应用程序窗口表示,
其中所述隐藏的应用程序窗口表示位置在一粗略扫视内。
2.如权利要求1所述的方法,其特征在于,所述格式是由使用应用程序窗口小块的新近性来定义的。
3.如权利要求1所述的方法,其特征在于,所述隐藏的应用程序窗口表示在接收到显示所述隐藏的应用程序窗口表示的输入时可见。
4.如权利要求1所述的方法,其特征在于,占据一可见应用程序窗口表示位置、与第三应用程序窗口相关联的第三应用程序窗口表示被配置成包括标识所述粗略扫视内的应用程序窗口表示的个数的计数器。
5.如权利要求4所述的方法,其特征在于,所述第三应用程序窗口是多文档界面父应用程序窗口。
6.如权利要求5所述的方法,其特征在于,所述粗略扫视内的应用程序窗口表示是多文档界面子应用程序窗口。
7.如权利要求1所述的方法,其特征在于,还包括将第三应用程序窗口表示重新定位到所述一组应用程序窗口表示位置内的一不同位置的步骤。
8.如权利要求1所述的方法,其特征在于,所述第一应用程序窗口表示的位置是最近使用的位置。
9.如权利要求1所述的方法,其特征在于,所述预定义区域被配置成包括溢出表示。
10.如权利要求9所述的方法,其特征在于,所述溢出表示被配置成显示不在所述组内的应用程序窗口表示。
11.如权利要求10所述的方法,其特征在于,所述溢出表示被配置成在接收到显示所述溢出表示内的应用程序窗口表示的输入时显示。
12.如权利要求9所述的方法,其特征在于,所述溢出表示被配置成包括表示所述溢出表示内的应用程序窗口表示的个数的视觉指示。
13.一种显示与应用程序窗口相关联的通知的方法,包括以下步骤:
在显示屏的预定义区域内的可见应用程序窗口表示位置中显示第一应用程序窗口表示;
在一隐藏的应用程序窗口表示位置内维护第二应用程序窗口表示,一粗略扫视内的所述隐藏的应用程序窗口表示位置与所述第一窗口应用程序表示相关联;
接收与所述第二应用程序窗口相关联的通知;以及
将所述第二应用程序窗口表示从所述隐藏的应用程序窗口表示位置重新定位到所述显示屏的预定义区域内的第二可见应用程序窗口表示位置。
14.如权利要求13所述的方法,其特征在于,所述第一应用程序窗口表示被配置成包括表示所述粗略扫视内的应用程序窗口表示的个数的视觉指示。
15.如权利要求14所述的方法,其特征在于,所述视觉指示是计数器,且所述方法还包括将所述计数器递减1的步骤。
16.如权利要求13所述的方法,其特征在于,所述第二应用程序窗口表示被重新定位到所述显示屏的预定义区域内的最近使用的位置。
17.如权利要求16所述的方法,其特征在于,所述第一应用程序窗口表示被重新定位在所述显示屏的预定义区域内。
CNB2005800492429A 2005-04-01 2005-08-25 用于应用程序窗口分组和管理的方法和装置 Expired - Fee Related CN100549927C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/095,616 US7478339B2 (en) 2005-04-01 2005-04-01 Method and apparatus for application window grouping and management
US11/095,616 2005-04-01

Publications (2)

Publication Number Publication Date
CN101167045A CN101167045A (zh) 2008-04-23
CN100549927C true CN100549927C (zh) 2009-10-14

Family

ID=37072090

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800492429A Expired - Fee Related CN100549927C (zh) 2005-04-01 2005-08-25 用于应用程序窗口分组和管理的方法和装置

Country Status (6)

Country Link
US (1) US7478339B2 (zh)
EP (1) EP1864212A4 (zh)
JP (1) JP4825869B2 (zh)
KR (1) KR101183396B1 (zh)
CN (1) CN100549927C (zh)
WO (1) WO2006107327A2 (zh)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882448B2 (en) * 2005-12-29 2011-02-01 Sap Ag Taskbar configuration tool for computer systems
US8108785B2 (en) * 2006-01-09 2012-01-31 Microsoft Corporation Supporting user multi-tasking with clipping lists
US8689134B2 (en) * 2006-02-24 2014-04-01 Dana W. Paxson Apparatus and method for display navigation
US7595810B2 (en) 2006-03-22 2009-09-29 Apple Inc. Methods of manipulating a screen space of a display device
US8296684B2 (en) * 2008-05-23 2012-10-23 Hewlett-Packard Development Company, L.P. Navigating among activities in a computing device
US9274807B2 (en) 2006-04-20 2016-03-01 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US8683362B2 (en) 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US20080086700A1 (en) * 2006-10-06 2008-04-10 Rodriguez Robert A Systems and Methods for Isolating On-Screen Textual Data
US20080162243A1 (en) * 2006-12-29 2008-07-03 Michael Muller Peripheral deadline indicators in an activity-centric collaborative computing environment
US20080163107A1 (en) * 2006-12-30 2008-07-03 Tobias Haug Method and system for organizing multiple user interfaces on a display screen
US8675847B2 (en) 2007-01-03 2014-03-18 Cisco Technology, Inc. Scalable conference bridge
US20080172609A1 (en) * 2007-01-11 2008-07-17 Nokia Corporation Multiple application handling
AU2015255314A1 (en) * 2007-06-08 2015-12-03 Apple Inc. Object stack
US9003321B2 (en) * 2007-06-28 2015-04-07 International Business Machines Corporation Application bar browsing of tabbed-view applications
US9137377B2 (en) 2007-08-22 2015-09-15 Citrix Systems, Inc. Systems and methods for at least partially releasing an appliance from a private branch exchange
US8315362B2 (en) * 2007-08-22 2012-11-20 Citrix Systems, Inc. Systems and methods for voicemail avoidance
US8750490B2 (en) * 2007-08-22 2014-06-10 Citrix Systems, Inc. Systems and methods for establishing a communication session among end-points
US8615710B2 (en) * 2007-09-11 2013-12-24 Sas Institute Inc. Computer-implemented systems and methods for portlet management
US9411794B2 (en) * 2007-09-14 2016-08-09 International Business Machines Corporation Facilitating selection of objects on display screens
US8850351B2 (en) * 2007-09-25 2014-09-30 Ati Technologies Ulc Method and tool for virtual desktop management
US20090144648A1 (en) * 2007-12-04 2009-06-04 Google Inc. Tabbed windows for viewing multimedia programs
JP5004779B2 (ja) * 2007-12-11 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチウインドウ・システム、マルチウインドウ・システムのセキュリティ保護方法、及びマルチウインドウ・システムのセキュリティ保護プログラム
US20090187854A1 (en) * 2007-12-21 2009-07-23 Richard Leo Murtagh Methods and systems for generating an enumeration of window types that lack contact data relevant to a user
US8490019B2 (en) * 2008-01-29 2013-07-16 Microsoft Corporation Displaying thumbnail copies of each running item from one or more applications
KR100977385B1 (ko) * 2008-04-10 2010-08-20 주식회사 팬택 위젯형 대기화면을 제어할 수 있는 이동 단말기 및 그를이용한 대기화면 제어 방법
US8612614B2 (en) 2008-07-17 2013-12-17 Citrix Systems, Inc. Method and system for establishing a dedicated session for a member of a common frame buffer group
US20100031189A1 (en) * 2008-08-01 2010-02-04 International Business Machines Corporation Connecting Standard Operating System Windows with a Visual Tack
US8667417B1 (en) * 2008-09-01 2014-03-04 Google Inc. Methods and systems for pop-up suppression
US8499254B2 (en) 2008-10-27 2013-07-30 Microsoft Corporation Surfacing and management of window-specific controls
US8819585B2 (en) * 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8572502B2 (en) * 2008-11-21 2013-10-29 Honeywell International Inc. Building control system user interface with docking feature
US20100146449A1 (en) * 2008-12-09 2010-06-10 Michael William Brown Method, apparatus and system for management of application switching in an electronic device
US8306522B1 (en) * 2008-12-23 2012-11-06 Sprint Communications Company L.P. Dynamic interface for mobile devices
US20160320938A9 (en) * 2009-03-17 2016-11-03 Litera Technologies, LLC System and Method for the Auto-Detection and Presentation of Pre-Set Configurations for Multiple Monitor Layout Display
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
CN101996072B (zh) * 2009-08-21 2013-12-25 联想(北京)有限公司 一种操作系统的窗口管理方法及计算机
CN102023848A (zh) * 2009-09-10 2011-04-20 联想(北京)有限公司 一种任务栏按钮的管理方法及装置
US9268466B2 (en) 2009-12-09 2016-02-23 Citrix Systems, Inc. Methods and systems for updating a dock with a user interface element representative of a remote application
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
EP3734449B1 (en) 2010-06-18 2023-07-12 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US10740117B2 (en) * 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9436685B2 (en) 2010-12-23 2016-09-06 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US20120174021A1 (en) * 2011-01-04 2012-07-05 Motorola, Inc. Systems and methods for displaying android applications launchers in webtop application tray
US20120216124A1 (en) * 2011-02-18 2012-08-23 International Business Machines Corporation Bundling web browser session contexts
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US20120304077A1 (en) 2011-05-23 2012-11-29 International Business Machines Corporation Accessing window pixel data for application sharing
US8924885B2 (en) 2011-05-27 2014-12-30 Microsoft Corporation Desktop as immersive application
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
TWI579827B (zh) * 2011-09-23 2017-04-21 微軟技術授權有限責任公司 以動態佈局在網格上展現圖磚之技術
US8726189B2 (en) * 2011-12-07 2014-05-13 Google Inc. Multiple tab stack user interface
US10776103B2 (en) 2011-12-19 2020-09-15 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
US11089134B1 (en) 2011-12-19 2021-08-10 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
US9032292B2 (en) 2012-01-19 2015-05-12 Blackberry Limited Simultaneous display of multiple maximized applications on touch screen electronic devices
EP2618246B1 (en) * 2012-01-19 2020-03-18 BlackBerry Limited Simultaneous display of multiple maximized applications on touch screen electronic devices
CN104077180B (zh) * 2012-03-15 2017-11-14 北京奇虎科技有限公司 多进程管理方法与装置
CN104063218B (zh) * 2012-03-15 2017-10-31 北京奇虎科技有限公司 针对多个应用的进程的管理方法
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
EP3185116B1 (en) 2012-05-09 2019-09-11 Apple Inc. Device, method and graphical user interface for providing tactile feedback for operations performed in a user interface
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
DE112013002412T5 (de) 2012-05-09 2015-02-19 Apple Inc. Vorrichtung, Verfahren und grafische Benutzeroberfläche zum Bereitstellen von Rückmeldung für das Wechseln von Aktivierungszuständen eines Benutzerschnittstellenobjekts
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
CN108897420B (zh) 2012-05-09 2021-10-22 苹果公司 用于响应于手势在显示状态之间过渡的设备、方法和图形用户界面
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
CN104487930A (zh) 2012-05-09 2015-04-01 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
EP2975512B1 (en) 2012-05-09 2019-02-06 Apple Inc. Device and method for displaying a virtual loupe in response to a user contact
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US9448813B2 (en) * 2012-05-24 2016-09-20 Microsoft Technology Licensing, Llc Entry points to image-related applications in a mobile device
US8775917B2 (en) 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US9081757B2 (en) 2012-08-28 2015-07-14 Sweetlabs, Inc Systems and methods for tracking and updating hosted applications
US20140075363A1 (en) * 2012-09-13 2014-03-13 International Business Machines Corporation Context Aware Non-Linear Task Bar Orientation
US9069735B2 (en) 2012-10-15 2015-06-30 Sweetlabs, Inc. Systems and methods for integrated application platforms
US10057400B1 (en) 2012-11-02 2018-08-21 Majen Tech, LLC Lock screen interface for a mobile device apparatus
US20140157184A1 (en) * 2012-11-30 2014-06-05 International Business Machines Corporation Control of user notification window display
KR20170081744A (ko) 2012-12-29 2017-07-12 애플 인크. 다중 접촉 제스처에 대한 촉각적 출력의 발생을 보류하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2014105277A2 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
CN107832003B (zh) 2012-12-29 2021-01-22 苹果公司 用于放大内容的方法和设备、电子设备和介质
CN104903834B (zh) 2012-12-29 2019-07-05 苹果公司 用于在触摸输入到显示输出关系之间过渡的设备、方法和图形用户界面
JP6138274B2 (ja) 2012-12-29 2017-05-31 アップル インコーポレイテッド ユーザインタフェース階層をナビゲートするためのデバイス、方法、及びグラフィカルユーザインタフェース
WO2014105279A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for switching between user interfaces
US10051103B1 (en) 2013-01-10 2018-08-14 Majen Tech, LLC Screen interface for a mobile device apparatus
US11431834B1 (en) 2013-01-10 2022-08-30 Majen Tech, LLC Screen interface for a mobile device apparatus
US10261650B2 (en) * 2013-03-12 2019-04-16 Oracle International Corporation Window grouping and management across applications and devices
US10761673B2 (en) * 2013-03-12 2020-09-01 Oracle International Corporation Managing display of detachable windows in a GUI computing environment
US9712577B2 (en) 2013-06-09 2017-07-18 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
US10120541B2 (en) * 2013-06-09 2018-11-06 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
US11256385B2 (en) * 2013-09-19 2022-02-22 Micro Focus Llc Application menu modification recommendations
CN104469256B (zh) * 2013-09-22 2019-04-23 思科技术公司 沉浸式和交互式的视频会议房间环境
KR102192155B1 (ko) * 2013-11-12 2020-12-16 삼성전자주식회사 어플리케이션 정보를 제공하는 방법 및 장치
US9851896B2 (en) * 2013-12-17 2017-12-26 Google Inc. Edge swiping gesture for home navigation
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
US11385774B2 (en) * 2014-01-06 2022-07-12 Red Hat, Inc. Intuitive workspace management
CN103744584A (zh) * 2014-01-27 2014-04-23 贝壳网际(北京)安全技术有限公司 在通知栏中进行类型信息切换的方法、装置和移动终端
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
JP6081409B2 (ja) * 2014-06-16 2017-02-15 富士フイルム株式会社 プリント注文受付機とその作動方法および作動プログラム
US10198153B1 (en) * 2014-07-30 2019-02-05 Google Llc Ordering items for switching
US10291597B2 (en) 2014-08-14 2019-05-14 Cisco Technology, Inc. Sharing resources across multiple devices in online meetings
KR20160057822A (ko) 2014-11-14 2016-05-24 삼성전자주식회사 디스플레이를 제어하기 위한 방법 및 그 전자 장치
US10542126B2 (en) 2014-12-22 2020-01-21 Cisco Technology, Inc. Offline virtual participation in an online conference meeting
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US9948786B2 (en) 2015-04-17 2018-04-17 Cisco Technology, Inc. Handling conferences using highly-distributed agents
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US10073720B2 (en) * 2015-07-30 2018-09-11 Airwatch, Llc Restricted application visibility
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10291762B2 (en) 2015-12-04 2019-05-14 Cisco Technology, Inc. Docking station for mobile computing devices
US10574609B2 (en) 2016-06-29 2020-02-25 Cisco Technology, Inc. Chat room access control
US9996366B2 (en) * 2016-07-12 2018-06-12 Visa International Service Association Method and system for an interactive user interface to dynamically validate application program interface modification requests
US10732996B2 (en) 2016-09-23 2020-08-04 Apple Inc. Dynamic function row constraints
US10223128B2 (en) 2016-09-23 2019-03-05 Apple Inc. Booting and power management
US10394449B2 (en) 2016-09-23 2019-08-27 Apple Inc. Dynamic function row management
US10261667B2 (en) * 2016-09-23 2019-04-16 Apple Inc. Dynamic function row item discovery and context
CN107015721A (zh) * 2016-10-20 2017-08-04 阿里巴巴集团控股有限公司 一种应用界面的管理方法和装置
US10592867B2 (en) 2016-11-11 2020-03-17 Cisco Technology, Inc. In-meeting graphical user interface display using calendar information and system
KR102606119B1 (ko) * 2016-12-05 2023-11-24 엘지전자 주식회사 단말기 및 그 제어 방법
US10516707B2 (en) 2016-12-15 2019-12-24 Cisco Technology, Inc. Initiating a conferencing meeting using a conference room device
US10515117B2 (en) 2017-02-14 2019-12-24 Cisco Technology, Inc. Generating and reviewing motion metadata
US9942519B1 (en) 2017-02-21 2018-04-10 Cisco Technology, Inc. Technologies for following participants in a video conference
US10331293B2 (en) 2017-02-22 2019-06-25 International Business Machines Coporation Automated resizing of application windows based on interactive states
CN107066268B (zh) * 2017-03-28 2022-03-04 腾讯科技(深圳)有限公司 微件应用的显示位置切换方法及装置
US10440073B2 (en) 2017-04-11 2019-10-08 Cisco Technology, Inc. User interface for proximity based teleconference transfer
US10375125B2 (en) 2017-04-27 2019-08-06 Cisco Technology, Inc. Automatically joining devices to a video conference
US10404481B2 (en) 2017-06-06 2019-09-03 Cisco Technology, Inc. Unauthorized participant detection in multiparty conferencing by comparing a reference hash value received from a key management server with a generated roster hash value
US10375474B2 (en) 2017-06-12 2019-08-06 Cisco Technology, Inc. Hybrid horn microphone
US10477148B2 (en) 2017-06-23 2019-11-12 Cisco Technology, Inc. Speaker anticipation
US10516709B2 (en) 2017-06-29 2019-12-24 Cisco Technology, Inc. Files automatically shared at conference initiation
US10706391B2 (en) 2017-07-13 2020-07-07 Cisco Technology, Inc. Protecting scheduled meeting in physical room
US10091348B1 (en) 2017-07-25 2018-10-02 Cisco Technology, Inc. Predictive model for voice/video over IP calls
JP6460191B2 (ja) * 2017-09-13 2019-01-30 カシオ計算機株式会社 情報処理装置、表示制御方法、及びプログラム
US10771621B2 (en) 2017-10-31 2020-09-08 Cisco Technology, Inc. Acoustic echo cancellation based sub band domain active speaker detection for audio and video conferencing applications
US11341274B2 (en) 2018-12-19 2022-05-24 Elasticsearch B.V. Methods and systems for access controlled spaces for data analytics and visualization
US11068140B2 (en) * 2019-01-04 2021-07-20 Servicenow, Inc. Intelligent overflow menu
US11477207B2 (en) * 2019-03-12 2022-10-18 Elasticsearch B.V. Configurable feature level controls for data
US11240126B2 (en) 2019-04-11 2022-02-01 Elasticsearch B.V. Distributed tracing for application performance monitoring
CN110221892B (zh) * 2019-05-20 2022-07-15 北京字节跳动网络技术有限公司 一种滚动窗口信息的方法、装置、介质和电子设备
CN113934356B (zh) * 2019-10-09 2024-06-18 广州视源电子科技股份有限公司 智能交互平板的显示操作方法、装置、设备和存储介质
US11397516B2 (en) 2019-10-24 2022-07-26 Elasticsearch B.V. Systems and method for a customizable layered map for visualizing and analyzing geospatial data
CN112698758B (zh) * 2020-10-19 2022-04-29 统信软件技术有限公司 一种窗口显示方法及计算设备
US11880554B2 (en) * 2021-10-20 2024-01-23 Microsoft Technology Licensing, Llc Overflow application tool for computing devices
CN118276998A (zh) * 2022-12-29 2024-07-02 北京小米移动软件有限公司 悬浮窗的显示控制方法、装置、电子设备及存储介质
CN116301482B (zh) * 2023-05-23 2023-09-19 杭州灵伴科技有限公司 3d空间的窗口显示方法和头戴式显示设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3206047B2 (ja) * 1991-11-14 2001-09-04 株式会社日立製作所 グラフィックデータ処理システム
DE69523543T2 (de) * 1994-12-13 2002-04-04 Microsoft Corp Taskbar mit Startmenü
US6088032A (en) 1996-10-04 2000-07-11 Xerox Corporation Computer controlled display system for displaying a three-dimensional document workspace having a means for prefetching linked documents
US6710788B1 (en) * 1996-12-03 2004-03-23 Texas Instruments Incorporated Graphical user interface
US5910802A (en) 1997-06-11 1999-06-08 Microsoft Corporation Operating system for handheld computing device having taskbar auto hide
US6806892B1 (en) * 1999-12-20 2004-10-19 International Business Machines Corporation Layer viewport for enhanced viewing in layered drawings
US6957395B1 (en) * 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US6756999B2 (en) * 2000-04-06 2004-06-29 Microsoft Corporation Method and system for clustering and grouping taskbar buttons
US20030179240A1 (en) * 2002-03-20 2003-09-25 Stephen Gest Systems and methods for managing virtual desktops in a windowing environment
US7913183B2 (en) * 2002-10-08 2011-03-22 Microsoft Corporation System and method for managing software applications in a graphical user interface

Also Published As

Publication number Publication date
WO2006107327A2 (en) 2006-10-12
JP4825869B2 (ja) 2011-11-30
KR101183396B1 (ko) 2012-09-17
WO2006107327A3 (en) 2007-11-15
KR20070118083A (ko) 2007-12-13
US7478339B2 (en) 2009-01-13
JP2008535084A (ja) 2008-08-28
CN101167045A (zh) 2008-04-23
EP1864212A2 (en) 2007-12-12
EP1864212A4 (en) 2009-02-04
US20060224989A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
CN100549927C (zh) 用于应用程序窗口分组和管理的方法和装置
CN101167122B (zh) 程序窗口的显示方法
JP5876648B2 (ja) 自動フォーム・レイアウト方法、システム、およびコンピュータ・プログラム
US7496857B2 (en) Systems and methods for relating events to a date or date range selection
Florins et al. Graceful degradation of user interfaces as a design method for multiplatform systems
US7278111B2 (en) Systems and methods for selecting a date or range of dates
CN100568188C (zh) 操作系统运行菜单程序清单
US6119186A (en) Computer system with environmental manager for detecting and responding to changing environmental conditions
US6327623B2 (en) Computer system with environmental detection
US20110197165A1 (en) Methods and apparatus for organizing a collection of widgets on a mobile device display
US20110087982A1 (en) Workspace management tool
CN1936943A (zh) 用于动态地配置基于角色的协作空间的方法和系统
US20100131898A1 (en) History display apparatus, history display system, history display method, and program
JP2009093613A (ja) ディスプレイ環境において基準者に基づいてオブジェクトを管理する方法およびこのシステム
US20220197675A1 (en) System-Independent User Interface Framework
CN106796495A (zh) 合并的切换和窗口放置
CN102436344A (zh) 上下文菜单
US6249290B1 (en) Object oriented zooming graphical user interface
CN101960483A (zh) 来自应用程序页的服务预览和访问
CN102981814A (zh) 用于开发成像装置的应用的方法和装置
CN102446094A (zh) 用于有效地实现系统和桌面配置增强的装置和方法
US20110270421A1 (en) Plant control system and program relocate method
US8615710B2 (en) Computer-implemented systems and methods for portlet management
US20020038387A1 (en) Computer system environmental messaging structure
US11644954B2 (en) Method and apparatus for providing a document editing interface for providing resource information related to a document using a backlink button

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20200825

CF01 Termination of patent right due to non-payment of annual fee