计算机显示屏上按比例显示窗口的方法及装置的制作方法

文档序号:6406760阅读:249来源:国知局
专利名称:计算机显示屏上按比例显示窗口的方法及装置的制作方法
技术领域
本发明涉及数据处理领域。更具体地说,涉及计算机显示屏上的窗口的比例表示。
与此专利相关并从而作为参考资料的是题为“在计算机显示屏上醒目地显示窗口的方法和装置的共同未决的美国专利申请,其申请号为07,811,562,该申请在同一日转让和递交。
使用所谓的“图形用户接口”的计算机系统是一种最近方挤身于现代化行列的设备,该系统最初由Apple公司引入市场,以后又被Microsoft公司在它的“Windows”程序中采用,IBM公司也在它的OS/2及PresentationManager软件中用到它。这些图形用户接口系统的一个公共特点是多个窗口或视见区可以同时在计算机显示屏上出现。不同的应用程序可以并发地在该计算机显示屏上所显示的各窗口中运行(或者等候用户的输入)。此外,单个应用程序可生成许多不同的窗口。用户可以用鼠标器或其他输入设备在不同的窗口之间前后移动,从而完成多个不同的任务。
这些图形用户接口系统提供了比诸如DOS等常规操作系统(它在一个时间内只能运行和显示一个应用程序)更好的许多优点;与此同时,这些附加的功能也对用户产生新的问题。图形用户接口系统提供了在计算机屏幕上表达几乎无限多个窗口的能力,但这并不意味着这些几乎无限多个窗口可以在计算机屏幕上显示会使用户可以看得见。事实上,这些窗口绝大多数完全可能被其他窗口局部地或完全地掩盖掉。对于少至两个窗口的场合,这个问题便会出现。但当使用更多的窗口时,这个问题将更为突出。
当某些窗口被部分地或完全地掩盖掉时,用户很难成功地在不同窗口之间前后移动,因为用户不作大量的努力的话,便不能找到它们之中的许多窗口。由于图形用户接口系统的这种局限性严重地限制了真正并发使用的、或者通过窗口同时表示的任务或应用程序的数目,势必会使拥有这一系统的真正目的变成无效。
本发明的主要目的是提高图形用户接口系统的性能。
本发明的另一目的是给用户提供更有效的方式去找出部分地或完全被掩盖的窗口。
本发明的再一个目的是在计算机显示屏上醒目地显示出窗口,以帮助用户找出部分地或完全被掩盖着的窗口。
本发明的还有一个目的是在计算机显示屏上按比例地显示窗口,以帮助用户找出部分地或完全被掩盖的窗口。
上述这些及其他目的是以这里所公开的、计算机显示屏上按比例显示窗口的方法及装置来实现的。
这里公开一种在计算机显示屏上醒目地及按比例显示窗口的方法及装置。在显示屏上出现的每一窗口的活动(也谓之“聚焦”)时间是可以监控的。一旦收到用户的命令,较长时间活动的窗口较之较短时间活动的窗口显示得更加醒目些。更具体地说,显示屏上显示的窗口的尺寸与每一窗口活动着的时间成正比例。例如,40%活动时间的窗口,其尺寸是指定窗口矩形区域的40%。长时间不活动的窗口若其值已超出最低窗口矩形区域的阈值的话,则作为在该指定窗口区域之外或之下的图标显示出来,不再包括在窗口的活动性百分率的计算之中。
按活动性1-N的递降次序来对窗口表格进行排序,此外N=窗口数目。窗口的矩形区域首先分割成两个区域-H1区域和H2区域。如果窗口的矩形区域的宽度大于或等于其高度,则按垂直方式分割矩形区域;否则按水平方式分割。进行这种分割以便使H1区域与以下比值成正比即第一窗口和第二窗口活动的时间长度与第一窗口直至第N窗口都活动的时间长度之比值;这样一来,使得H2区域与以下比值成正比即第三窗口至第N窗口都活动的时间长度与第一窗口直至第N窗口都活动的时间长度之比值。
在完成这一分割之后,H1区域被分割成Q1区域和Q2区域。如果H1区域的宽度大于或等于其高度,则按垂直方式分割;否则按水平方式分割。实现这种分割是为了使Q1区域与该比值成正比即第一窗口活动的时间长度与第一及第二窗口活动的时间长度之比值。
在完成这一分割之后,H2区域被分割成Q3区域和Q4区域。如前一样,若H2区域的宽度大于或等于其高度,则按垂直方式分割否则按水平方式分割。实现这种分割是为了使Q3区域与该比值成正比即第三窗口活动的时间与第三窗口直至第N窗口都活动的时间长度之比值。
第一、第二及第三个最为活动的窗口在Q1、Q2和Q3区域内分别显示。如果只有四个窗口,则第四个窗口在Q4区域内显示。如果多于四个窗口,则Q4区域按与该窗口进行矩形区域、H1区域和H2区域的分割相同的方式递归进行分割,若有必要的话。这种分割递归地持续进行,一直到用以显示每个窗口的区域其活动长度超过最低窗口矩形阈值为止。


图1为本发明的计算机系统的方框图。
图2A表示出某一用户在计算机上花了若干分钟或小时完成任务之后,窗口是如何显示的。
图2B表示显示屏的行和列如何能映射为x和y坐标。
图2C-1到2C-4示出了显示屏的窗口矩形区域如何按本发明分割成多个区域。
图2D表示出本发明的最佳实施例中,窗口是如何地作比例显示的。
图2E表示出本发明的第一个其他实施例中,窗口是如何地作比例显示的。
图2F表示出本发明第二个其他实施例中,窗口如何地作醒目但却是非比例的显示。
图2G示出了本发明第三个其他实施例中,窗口是如何地作醒目但却是非比例的显示的。
图3A表示出本发明的控制数据。
图3B为排序之前本发明的窗口数据。
图3C为排序之后本发明的窗口数据。
图4示出了一个用于设置用户修改本发明的参数的示范屏幕。
图5-10为本发明的流程图。
图1为本发明的计算机系统10的方框图。计算机系统10具有显示器17、键盘18及输入设备19,它们每个都联至系统单元11。系统单元11包含着与存贮器13、存贮器14以及显示适配器15相联的处理器12,如在图5-10的流程图中详尽地说明那样,处理器12可作适当编程以实施此发明。存贮器13和存贮器14包含控制数据30和窗口数据40。
在本最佳实施例中,计算机系统10是IBMPS/2,其中处理器12是Intel80386微处理器。显示适配器15是IBM8513显示适配器,显示器17是IBM8513显示器。输入设备19最好是IBM鼠标器,但也可以是跟踪球、光笔,或其他输入设备。磁盘14含有操作系统软件,最好是带有PresentationManager的OS/2,但也可以选择Microsoft的Windows3.0,还有最好是一个至多个OS/2应用程序,诸如用于PresentationManager的Wordperfect,或者也可以选择DOS的应用程序,诸如用于Windows的MicrosoftWord。当运行时,这些程序可以部分地或全部地安装在存贮器13上并由处理器12执行。
计算机系统10还能够是另一种类型的计算机系统,不管它是诸如AppleMacintosh的微计算机,IBMAS/400的小型计算机,还是IBM390那样的主机,都符合本发明的精神和范围。此外,计算机系统10可以是联向诸如IBMAS/400这样较大型计算机的上述微计算机。
显示器17含有窗口21-26。对于本发明的目的而言,一个“窗口”或视见区可以占据显示屏上任何一个地方,从几乎是整个显示屏幕到显示屏的一个非常小的部分,在诸如OS/2的多任务环境中或在诸如DOS的单任务环境中,可以联同其他窗口一起显示。当窗口的数目增加时,很可能许多窗口会部分地或全部地被其他窗口掩盖住,如图1显示器17上所示。
图2A更详尽地表示图1的显示器17上的窗口21-26。图2A是示范性的,表明用户在计算机上完成若干分钟或小时的任务之后,显示屏幕会呈示出什么样子。具体地说,我们的用户正用计算机作某些年终税务计划工作。在屏幕上显示出六个窗口的同时,显示屏上任何地方还可能存在着一个至几十个窗口。注意,窗口25较之其他窗口有更黑的外框,并且没有被任何其他一个窗口所叠合。这对用户表明,窗口25是一个活动着的窗口,或者认为处于“聚焦”状态。当某一窗口是“聚焦”时,用户可以进行输入,或者整理该窗口所含的数据。
窗口21,22,23,24及26至少有一部分被其他窗口所掩盖,窗口22完全被掩盖住了。窗口24和26是绝大部分被掩盖的-如果这两窗口内所含的数据显示给用户的话,那也只是一点点。
我们虚拟的用户,TammyTaxpayer在圣诞节前周六清晨开始她的年终税务计划工作(她在八月份已经完成她的圣诞节购物)Tammy同时使用若干应用程序帮助她作税务计划。她把数据安排在Excel和Lotus上,在Wordperfect上写信给IRS,写一备忘录给她的会计师,在Quicken上获取她的财政资料,并把她的税务数据输入到TurboTax。她也用到称之为FileManager的OS/2应用程序,此程序帮助Tammy管理OS/2上的目录及文件的其他方面。
Tammy随意从一个窗口跳到另一个窗口-这是她特别喜欢的PresentationManager的一个特点,并且她最近化了许多时间来整理窗口25中的数据(也就是用Lotus1-2-3上的记录页)。但现在Tammy希望返回到花费了几乎一早上的程序,即Quicken。Tammy快速地扫描了一下显示器,只是发现含有Quicken的窗口在何处并不是很容易一目了然的。她可以看见窗口21,23和25足够大的范围,从而知道这些窗口内并不含有Quicken。但是,Quicken可能处于部分地被掩盖的窗口24和26中;或者处在完全被掩盖的窗口22之内。Tammy可以利用反覆试验法并观察每个窗口(方法是移动鼠标指针到被掩盖的窗口上,按两个鼠标器的按钮使该窗口活动起来),但这种方法是极费力的,当屏上有许多窗口时或一个或多个窗口被完全掩盖时,这方面不能生效。
幸而对Tammy而言,她的计算机系统是本发明的计算机系统10。因此,她可以快速地重新规定她的窗口尺寸,旨在使这些窗口显示时,其尺寸与它们活动或“聚焦”的时间长度成正比。如后面详细讨论那样,计算机系统10的处理器12适于编程以执行流程图5-10,它控制着每个窗口存在于显示屏上活动或“聚焦”的时间量。当Tammy选择显示窗口矩形模式时,较长时间活动着的窗口显示得比活动时间较短的窗口更为醒目。活动窗口显示得更为醒目的实际方法取决于Tammy对显示窗口矩形模式所选定的各参数值。
倘若Tammy使该显示窗口矩形模式的参数值能达到按比例和最佳配合,则她用的是本发明的最佳实施例,且显示屏17如图2D所示。计算机系统10从Tammy今天开始使用该计算机以来,一直监视着Tammy的活动情况,并且知道她用TurboTax的时间占40%,Quicken占35%,Excel占10%,Wordper-fect占7%,Lotus1-2-3占5%,FileManager占3%。如图2C-1到2C-4所示,计算机系统10将指定的窗口矩形区域分割成与各窗口迄今为止活动着的时间成正比的各区域。由于参数实现了最佳配合,如果每一块的宽度大于或等于其高度,则该块按垂直方式分割;否则,按水平方式分割。由于FileManager并未超过指定的最低窗口尺寸阈值5%,故它没有作为窗口显示出来。因而,FileManager作为窗口矩形区域外的一个图象显示着。在确定其他窗口的比例区域尺寸时,FileManager的活动时间不予计入。
如果Tammy使参数按比例、但没有实现最佳配合,则她用的是本发明的第一个其他实施例,且显示屏17如图2E所示。如前一样,计算机系统10将该指定的窗口矩形区域分割成与各窗口迄今为止活动着的时间成正比的各区域。由于没有使参数实现了最佳配合,所以第一块是垂直方式分割的,后继的“子”区域是按水平方式分割的,然后再是垂直方式,一直到该窗口矩形区域分割成所要求数目的窗口区域。如前一样,FileManager的图标形式显示在该窗口矩形区域之外。
如果Tammy没有实现按比例的参数但却实现了最佳配合的参数,则她用的是本发明的第二个其他实施例,且显示屏17如图2F所示。和前面不一样,现在计算机系统10将该指定窗口矩形区域分割成四个相等区域。由于参数实现了最佳配合,所以如果每一块的宽度大于或等于其高度,则该块按垂直方式分割,否则,按水平方式分割。如前一样,FileManager以图标形式显示在该窗口矩形区域之外。
如果Tammy既没有使参数实现按比例又没有实现最佳配合,则她用的是本发明的第三个其他实施例,且显示屏17如图2G所示。计算机系统10将该指定窗口矩形区域分割成四个相等区域,由于参数没有实现最佳配合,所以第一块是按垂直方式分割的,第二块是水平方式分割,如此等等一直到该窗口矩形区域已被分割成所需数目的各区域为止。如前一样,FileManager以图标形式显示在该窗口矩形区域之外。
说英语的文化环境会认为按图2D-2G从左向右组织起各窗口是最佳的、按所希望的醒目性排序的窗口组织方式,而不论尺寸是否按比例,其他文化环境会喜欢从右向左的处理方式。如后所见,可将本发明稍加修改以适应这些文化上的差异。
图3A详尽地示出了图1的控制数据30。在本最佳实施例中,控制数据30贮存在存贮器14并被读入到存贮器13内,如后所计论那样。控制数据30含有图5-10流程图所用到的信息和加以更新的信息,以实现本发明的窗口计时功能。
ON/OFF标志31始终监视本发明的窗口计时功能是“开”还是“关”。计时器32始终监视当前系统计时器的值。在本最佳实施例中,计时器32有九位数字值,该值表示计时器从开始或重新设置以来经历的时间周期数(由采样速率33来确定)。暂停标志34始终监视该窗口的计时功能是否一直暂停着,如后将详述的那样。最后事件标志36用来监控用户的活动。这些数据用来校核某窗口长时间“聚焦”但没有用户活动(即喝咖啡,等)的情况,当指定的无活动超时时间已过便自动地将该窗口计时功能暂停。非活动超时标志37含有指定的无活动超时时间值。保存标志38始终监视用户是否希望保存数据40。
矩形区域字段51表示为窗口矩形动作而保留的屏幕区域,如图2B所示,头两个数指出了显示屏左下角为(0,0)时该矩形区域右上角的x,y坐标值。自然,也可以选择异于左下角的点为另一个原点。该最后两个数指出了该矩形区域右下角的x,y坐标值。在本实施例中,这些坐标是以毫米为单位而不是用字符为单位测定的,所以可维持该显示器的高度与宽度间的合理的长宽比。也可以使用其他诸如象素点这样的测量单位用。在本最佳实施例中,显示器17是IBM8512显示器,其显示区域约200mm宽和155mm高。因而,这个显示区域的左上角x、y坐标是(0,155),右下角x,y坐标是(200,0)。在图2B所示的例子的显示屏中,示出了矩形区域62,其左上角的坐标为(0,140),右下角的坐标为(200,0)。因而,控制数据30的矩形区域字段51将包含以下数据0,140,200,0。非矩形区域61在显示屏上为各图标及其他非矩形应用而保留。
字段52含有比例矩形是ON还是OFF的指示值。如果字段52是ON,则本发明根据该窗口活动的时间长度按比例分割其矩形区域。如果字段52是OFF,本发明便将该矩形区域分割成四个相等象限,然后相续地分割第四象限,一直到用以显示每个窗口的区域其活动长度超过最低窗口矩形阈值为止。在本最佳实施例中,这个字段是开(ON)。
字段53包含着最佳配合是ON还是OFF的指示。如果字段53是ON,当块的宽度大于或等于其高度时,本发明将该块按垂直方式分割,当块的宽度小于高度时,按水平方式分割。如果字段53是OFF,本发明将在块的垂直分割和水平分割之间交替进行分割。在本最佳实施例中,这个字段是ON。
字段54含有最低矩形百分率值的指示。其活动值低于最低矩形百分率值的窗口将以图标而不是以窗口形式显示。这样做是为了使窗口不致变得小到不可读或不可用。例如,如果某窗口在1000个计时周期中有30个计时周期是活动的(或3%的时间),在字段54内指定最低矩形百分率值是5%时,此窗口作为图标显示出来。注意,图标是在该窗口矩形区域以外的地方显示的,或是占用屏幕其他可用空间,或是当无空间可用时处在该窗口矩形区域的下面。
图3B详尽地示出了图1的窗口数据40。在本最佳实施例中,作为用户的选择,窗口数据40存在存贮器14内并被读进存贮器13,如后面讨论的那样。窗口数据40含有图5-10流程图所用到的和加以更新的信息,以完成本发明的窗口计时功能及窗口矩形功能。窗口数据排列在列41至列44内。当本发明的窗口计时功能处在ON时,在某时间点还活动着的每一个打开的窗口都包含在存贮器13的窗口数据40内。列41包含着这些窗口的标题及其他标识符。列42含有每个窗口最后一次被置在“聚焦”时的计时器32的值。列43含有在窗口数据40中每一个窗口处在“聚焦”时的时间周期的总数。列44含有由图8-9流程图所确定的、被显示的窗口左上角和右下角的x、y坐标值。
图3C表出了以活动性的降序排序之后的窗口数据。
图4表出了窗口计时功能参数。这些参数在正常状态下被赋于隐含值,但根据可能的修改的需要,可以向用户显示。第一个参数询问窗口计时功能应该是开还是关。因为会存在这种情况,即用户宁愿窗口以更常规的方式运行。下一个参数是采样速率。这允许用户控制窗口计时功能的时间刻度(granularity)的大小。下一个参数规定了非活动超时周期值。再下一个参数询问用户是否希望将窗口计时功能暂停。这个参数可以通过图4所示的屏幕来选择,或者可以设置特定的键序将这个参数置成“开”或“关”。这个参数会是非常有用的,它可以将在浴室内的休息及其他中断引起的影响减到最小。接着的参数询问在这一次计算时间生成的窗口数据40是否要保留到下一次。如果是,当窗口关闭时,窗口数据40由存贮器13写入到存贮器14中去。接着的参数询问是否应该复位把窗口计时功能复位。有时是希望在计算中间“起动”,特别是如果用户现在正完成和以前所作的完全无关的任务。如果用户指明窗口计时应该复位,则所有窗口开始刷新,如它们在此期间从未活动起来过一样。
下一个参数提示用户所希望的矩形区域左上角和右下角的x,y坐标。再下一个参数查询比例矩形应该是开还是关。再一个参数阅最佳配合应该是开还是关。最后的参数让用户指明最低矩形百分值。
现在详细描述如流程图5-10所示的本发明的工作过程。现参照图5,程序块101将控制数据30从存贮器14装入存贮器13,程序块102将计时器32初始化,以及把控制数据30里的最后事件标志36初始化。程序块103启动计时器32。这点是通过起始执行图7的流程图来完成的。现参见图7,程序块201询问是否从图5A的程序块198收到什么指示来停止此计时器。如果是,程序将在程序块299结束。如果不是,程序块202等候控制数据30中的采样速率33经过。程序块205查看在控制数据30中的暂停标志34是否为FALSE。如果此标志不是FALSE(在本最佳实施例中为TRUE或TRUE2),这就表示窗口计时功能应该暂停。倘若用户指明她希望暂停采样,或者非活动超时周期已经终止,如后所详细讨论的那样,这一条件是会存在的。如果不是,控制回路流程返回程序块201。如果程序块205指明暂停乃是FALSE,程序块208将控制数据30中的计时器32增加1,以表明又经历了一个计时器周期。
重新参照图5A,在程序块103启动该计时器后,程序块110查看这里是否有窗口事件要处理。在本最佳实施例中,“窗口事件”是指由PresentationManager生成的任一事件,诸如将数据输入到窗口,移动文本光标或鼠标,在滚动条上按动等等,以及本发明所生成的事件。如果程序块110的回答是否定,则程序块112查看是否所有的窗口都关闭了。如果是,程序块198使计时器32停止并将控制数据30写入存贮器14,其条件是保存标志38为ON。然后,本程序在程序块199终止。如果程序块112指出并没有关闭所有的窗口,则程序块115查看控制数据30中的非活动超时周期37是否已终止。这点可以将最后事件36从计时器32中减去,把此结果乘以采样速率,再被60除。如果这个结果大于非活动超时37中的值,则给予程序块115的回答是肯定的,于是程序块118自动地产生一个暂停的窗口事件。在任一种事件中,控制流程均返回程序块110。
当程序块110指出这里有一窗口事件要处理,程序块104就查看这是否是开启窗口事件。如果是,这个窗口在程序块106中被赋于一个新名字(即TurboTax2)。无论是有任何这种数据被从前一次时间保存下来还是保存标志为ON,程序块107均会将记录中的这个窗口从存贮器14装入存贮器13中去。然后,在程序块108完成正常的窗口处理过程。
程序块121查看这是否是一窗口关闭事件。如果是,比较合适的是将此窗口从存贮器13中的窗口数据40里撤除,旨在使用户在选择窗口显示模式时该窗口不再重现。此功能由程序块122完成。程序块122把此窗口记录资料在保存标志38为ON时,写到存贮器14中去。程序块123接着完成该事件的正常窗口处理工作。
如果程序块121被作否定回答,则程序块120就问这个事件是否是一件要作“聚焦”的事件。在本最佳实施例中,不论此时某窗口是作成活动的,或是置入“聚焦”状态,“要聚焦”事件均由PresentationManager生成。如果程序块120被肯定回答,程序块125便把进入聚焦状态的窗口寄存起来。这寄存乃是启动图6的流程来完成的。
现参见图6,程序块301查看在窗口数据中ON/OFF标志31是否为开。如果不是,此程序立刻在程序块399内终止。如果该标志是开,程序块303会从控制数据30中的计时器32获得当前时间值。程序块304查看窗口数据40中是否存在被置入聚焦状态的窗口。如果没有,则程序块306在窗口数据40中为此窗口生成一个新的记录。在Infocus(聚焦)列42中置零,在total(总数)列43中及region(区域)列44中也置零。如果对程序块304的回答为否定,程序块308将使用在窗口数据40中这个被置成“聚焦”窗口的相关窗口记录资料。
程序块310查看这是一件“要聚焦”的窗口事件还是一件“散焦”窗口事件。既然我们的事件是一件“要聚焦”事件,程序块315把计时器32当前的值从控制数据30放入到这个窗口的Infocus(聚焦)列42里,程序在程序块399终止。
再参照图5A,通过启动图6的流程,程序块125把进入聚焦的窗口寄存之后,程序块126完成这一事件的正常窗口处理工作。在本最佳实施例中,PresentationManager把选定的窗口聚焦。
如程序块120得到否定回答,程序块130查问这是否是一件散焦窗口事件。在本最佳实施例中,每当某一窗口由于另一窗口被聚焦而不再活动时,PresentationManager便生成一“散焦”事件。如程序块130得到肯定回答,则程序块135寄存这个散焦的窗口。如已讨论过的那样,这一寄存过程是通过再次启动图6的流程而完成的,例外之处是程序块310(图6)确定这是一散焦事件且不由程序块315而由程序块320来执行。程序块320对此窗口,更新其窗口数据40中总数列43的值以指示该窗口曾活动了多久。从控制数据30中的计时器32的当前值中减去此窗口在聚焦列42所含的值。其结果再与该窗口在总数列43的当前值相加,将得到的相加和放在此窗口总数列43之中。
再参见图5A,通过启动图6的流程,程序块135将散焦的窗口寄存之后,程序块126完成这一事件的正常窗口处理工作。在本最佳实施例中,PresentationManager把落选的窗口的聚焦取消。
如果程序块130作否定回答,150(图5B)查看是否已生成了一窗口暂停事件。这种事件可以由图5A的程序块118(超时周期终止)生成,或是如用户指明在图4菜单中的计时作用应该暂停而生成。如果此事件由用户生成,151把控制数据30中的暂停标志34设成TRUE。如果此事件由程序块118生成,程序块151把控制数据30中的暂停标志34设成TRUE2。在任一种情况中,这均会造成图7的独立执行流程图的程序块205得到否定的回答,从而执行程序块208。
再参见图5B,如果程序块150是被否定的回答,则程序块155查看是否生成了一个窗口恢复事件。这种事件可以由图10的程序块1050生成,(超时周期终止,但用户现在已完成了由用户操作形成的某一窗口事件),或者如用户指明在图4的菜单中的计时作用应该暂停而生成。在任一情况下,程序块156均把控制数据30中的暂停标志34置成FALSE。这造成图7的独立执行流程图的程序块205得到肯定回答,从而执行程序块208。
重新回到图5B,如果程序块155得到否定的回答,则程序块160查看是否生成了一窗口复位事件。如果用户指明图4的菜单中的计时作用应该复位,则此事件将生成。程序块161通过窗口数据40中的所有窗口作循环,程序块162将Infocus(聚焦)列42、total(总数)列43以及region(区域)列44的值置为零。若窗口数据40中没有窗口记录资料要作处理,则程序块161被作否定回答,于是控制流程转向程序块163。
程序块163查看是否生成了窗口保存事件。如果用户改变了图4菜单中的保存参数值,就会生成这一事件。如果产生这一改变,则程序块164把控制数据30中的保存标志38按用户的指示置成ON或者OFF。
程序块165查看是否生成了一个把窗口计时作用关闭的事件。如果用户指明在图4菜单中的计时作用应该关闭,则这一事件就会生成。倘若如此,程序块166把控制数据30中的ON/OFF标志31置成OFF。程序块168通过窗口数据40中的所有窗口作循环,程序块169将Infocns(聚焦)列42,total(总数)列43的值置成零。若窗口数据40中没有窗口记录资料要作处理,则程序块162得到否定回答,于是控制流程转向,程序块170。
程序块170查看是否生成了一个把窗口计时作用开启的事件。如果用户指明在图4菜单中的计时作用应该开启,则这一事件就会生成。倘若这样的话,程序块171把控制数据30中的ON/OFF标志31置成ON。在任一种情况下,控制流程均转向程序块175。
程块175查看是否生成了一个设置窗口的采样速率事件。如果用户在图4菜单中填入采样速率的数值,则这一事件就会生成。倘若这样的话,程序块176把控制数据30中的采样速率字段33置入用户所设置的数值。
程序块177查看是否生成了一个定义窗口矩形区域的事件。如果用户在图4菜单中填入了此矩形区域的左上角及右下角的x、y坐标值,则这一事件就会生成。倘若这样的话,程序块178便把用户设定的该矩形区域坐标值输入到控制数据30中的字段51内。
程序块180查看是否生成了一个开启比例矩形窗口的事件。如果用户在图4菜单中表明应该开启窗口矩形模式的比例矩形参数,则这一事件就会生成。倘若这样的话,程序块181把控制数据30中的比例矩形标识52置成ON。
程序块182查看是否生成了一个将比例矩形窗口关闭的事件。如果用户在图4菜单中表明应该开启窗口矩形模式的比例矩形参数,则这一事件就会生成。倘若这样的话,程序块181把控制数据30中的比例矩形标识52置成ON。
程序块182查看是否生成了一个将比例矩形窗口关闭的事件。如果用户在图4菜单中表明应该关闭窗口矩形模式的比例矩形参数,则这一事件就会生成。若如此,程序块183把控制数据30中的比例矩形标识52置成OFF。
程序块185查看是否生成了一个开启最佳配合窗口的事件。如果用户在图4的菜单中表明应该开启窗口矩形模式的最佳配合的参数则这一事件就会生成。如果这样的话,程序块186把控制数据30中的最佳配合标识53置成ON。
程序块187查看是否生成了一个把最佳配合窗口关闭的事件。如果用户在图4的菜单中表明应该关闭窗口矩形模式的最佳配合的参数,则这一事件就会生成。如果这样的话,程序块183把控制数据30中的最佳配合标识53置成OFF。
程序块190查看是否生成了一个设置最低矩形百分率窗口的事件。如果用户在图4的菜单中填入该最低矩形百分率的数值,则这一事件就会生成。这时,程序块191把控制数据30中的最低矩形百分率字段54置成用户所设定的值。
程序块195查看是否有别的窗口事件要处理。如果是这样的话,程序块196对此事件实现正常窗口处理工作。在任一情况下,控制回路的流程返回到图5A的程序块115。
图5A-5B及图7的流程图在互相独立地执行时,图8的流程图也在处理器12内独立地执行。这一流程图监控着用户的输入,看一下用户是否希望利用本发明的窗口计时功能来重新排列其窗口,如图2D-2G所示。现在参见图8,程序块401查看用户是否已选择了显示窗口矩形模式。如果程序块401确定该显示窗口矩形模式没有选上,则程序块403查看是否所有的窗口都已关闭。如果这样,程序便在程序块499终止。如果不是,程序回路回到程序块401再次查看是否已选择了显示窗口矩形模式。在本最佳实施例中,由某一指定的键序来选择该显示窗口模式。例如,可以用ALT-W序列。作为替代,也可以使用鼠标器按纽的组合或者用户由菜单,或是在该显示屏上按动图标或按纽的表示来选择此模式。在任何事件中,只要程序块401确定此显示窗口矩形模式已被选定,程序块407便把正在聚焦的窗口的总数列43的值设为计时器32的当前值减去聚焦列42中的值,然后把这结果加入到目前的总数列43的值中去。这一功能和图6程序块320要实现的功能一样,且该功能保证了用的是正在聚焦窗口的最及时的信息。程序块407也把这窗口的聚焦列42的值设成是计时器32的当前值。
程序块901以常规方式清除了所有数据显示。程序块903按total(总数)列43中的值把窗口数据40中的窗口记录资料按活动性的次序由最高到最低排序。因而,最活动的窗口现在将处在窗口数据40顶部成为第一个记录,活动性最差的窗口成为窗口数据40底部的最后一个记录。程序块905查核窗口数据40的窗口记录,看看是否有哪个窗口的活动性低于最低阈值百分率值。完成这一点是用以下方法把每个窗口在窗口数据40中总数列43内的数值,除以控制数据30未作鉴别情况下到达每个窗口均已活动的百分率时所有活动窗口的总时间,再乘以100,然后把这个值与含在控制数据30的字段54中的最低阈值百分率作比较。对于每个已由程序块905判定处在阈值最低百分率以下的窗口,程序块905把“ICON”(图标)置入控制数据40的区域列44之内以备后用。控制流程然后转向程序块1100,在那里调用图9A的计算窗口矩形区域子程序。把所有处理中的窗口按活动性排序的窗口表格传送到该子程序。
图9A的计算窗口矩形子程序对每一个在region(区域)列44中已没有“ICON”值的窗口,计算并填入窗口数据40中的该列的值。程序块1101通过分配四个象限的权而开始,第一象限(Q1wt)被给予窗口数据40中第一个窗口记录(即最活动的窗口)在总数列43中含有的值。类似地,第二象限(Q2wt)被给予窗口数据40中第二个窗口记录(即次最活动窗口)在总数列43中含有的值。第三象限(Q3wt)被赋于窗口数据40中第三个窗口记录在总数列43中含有的值。第四象限(Q4wt)被赋于窗口数据40中其余所有窗口在总数列43中的值之和。注意,如果某窗口在字段44中存在“ICON”表示,程序块1101则不把在总数列43中的值用于任何一个象限。反之,则将“0”加入到这些权之中去。“0”也用于不存在任一窗口时的权。
利用我们在窗口数据40的示范数据(如图3C所示的排序),程序块1101分别把权400,350,100和120分配给Q1wt,Q2wt,Q3wt和Q4wt。Q4wt是把WordPerfect及Lotus1-2-3在总数列43中的值相加而得到的(70+50)。因为程序块905判定该窗口没有超过最低阈值百分率,于是总数列43中FileManager的数值(30)则由0代替被加入到Q4wt中去,并把“ICON”放到列44中去。
程序块1105把Q1wt和Q2wt的权组合起来确定出H1wt,再把Q3wt和Q4wt的权组合起来确定H2wt。在我们的例子中,H1wt=750(400+350),和H2wt=220(100+120)。然后在程序块1200A中第一次调用图9B的分块子程序1200。以下的输入参数被传到该子程序矩形区域坐标(在我们例子中为0,140,200,0,参见图2B),H1wt(750),H2wt(120)。输出参数区域H1和区域H2也传向子程序1200。子程序1200分割该指定块(矩形区域),并把它将该块分割出的两个区域,即区域H1及区域H2的左上角和右下角的x,y坐标值传回来。
现在参见图9B,程序块1201计算来自图9A作为第一个输入参量传来的该块的宽度和高度。将该块的右下角x坐标值(本例中是200)减去该块的左上角x坐标(本例中是0),来计算宽度。将该块的左上角的y坐标(本例中是140)减去该块的右下角的y坐标(本例中是0)来计算高度。因而,程序块1201判定了我们这一块的宽度是200,高度是140。程序块1205把这一块所分割成的两个区域的x,y坐标初始化为与该块自身的x,y坐标相同的值。在本例中,两个区域均有左上角(UL)x,y坐标值(0,140)以及右下角(LR)x,y)坐标值(200,0)。
程序块1210询问作为输入参量传入的wt1+wt2是否大于0。如果不是,便不将该块分割成两个区域,原因是没有窗口要放入这些块内,于是该子程序便返回到它被程序块1298所调用的地方。如果程序块1210得到肯定答复,则至少有一个窗口放置入一个区域,控制流程继续通向程序块1215。
程序块1215查看在控制数据30中的比例矩形标识52是否为开(ON),如果是,程序块1220查看控制数据30中的最佳配合标识53是否为开(ON)。如果是,正如本最佳实施例的情况,则控制流程通向程序块1230。程序块1230查看该块的宽度是否大于或等于其高度。如果是,则将此块作垂直分割看起来更好些(并且是“最佳配合”)。这点由程序块1235完成。程序块1235把区域1的右下角(LR)x坐标以及区域2的左上角(UL)x坐标,设置成等于被分割块的ULx坐标,再加上被乘以因子wt1/(wt1+wt2)的该块的宽度。图2C-1表示出了这种情况。程序块1235通过改变区域1的LRx坐标值,从200(在程序块1205中被初始化而得)变起,把该块(矩形区域)分割如下Region1LRx=0+(200×750/(750+220))=155。Region2ULx坐标也变成155。注意,区域1的LRx及区域2的ULx的坐标值155实际上是从154、63918四舍五入而得到的,这是因为在PsesentationManager之下,窗口坐标正常情况下必须表示成整数。这种四舍五入意味着窗口区域是成比例值加减0.5mm的舍入误差,对于本发明的目的而言,这将被认为和“比例”完全一样。在程序块1235执行完后,子程序在程序块1299返回到图9A的程序块1200B,将区域H1和区域H2的坐标作为输出参数传回。
再参见图9A,图9B的分块子程序1200在程序块1200B第二次被调用,下列输入参数被传入到该子程序内区域H1坐标(本例中是0,140,155,0,参见图2C-1),Q1wt(400)和Q2wt(350)。输出参数区域Q1和区域Q2也被传向子程序1200。子程序1200把区域H1分割成区域Q1和区域Q2,传回这两个区域的左上角及右下角的x、y坐标。
再参照图9B,如前一样,程序块1201计算从图9A作为第一个输入参数传过来的该块的高度和宽度。程序块1201确定区域H1的宽度是155,高度是140。程序块1205把这一块所分割成的两区域的x、y坐标初始化为与该块自身的x、y坐标相同的值(本例中0,140,155,0)。
控制流程如前通过程序块1215、1220和1230,且程序块1235垂直分割区域H1。程序块1235把区域1的右下角(LR)x坐标以及区域2的左上角(UL)x坐标设置成等于被分块的ULx坐标,加上被乘以因子Wt1/(wt1+wt2)的该块宽度。图2C-2示出了这种情况。程序块1235通过从155(在程序块1205中被初始化而得)变起,改变区域1的LRx的坐标值,把该块(区域H1)分割如下。区域1LRx=0+(155×400/(400+350))=83。区域2ULx坐标也变成83。在程序块1235执行完后,子程序在程序块1299返回到图9A的程序块1200C,将区域H1和区域H2的坐标作为输出参数传回。
再参见图9A,图9B的分块子程序在程序块1200C中第三次被调用。下列输入参数被传入到该子程序内区域H2坐标(本例中是155,140,200,0,参见图2C-2),Q3wt(100)和Q4wt(120)。输出参数区域Q3和区域Q4也被传向子程序1200。子程序1200把区域2分割成区域Q3和区域Q4,传回这两个区域的左上角和右下角的x,y座标值。
再参照图9B,如前一样,程序块1201计算从图9A作为第一个输入参数传过来的该块的高度和宽度。程序块1201确定区域2的宽度为45,高度为140。程序块1205把这一块将分割成的两区域的x、y坐标初始化为与该块自身的x,y坐标相同的值(本例中155,140,200,0)。
控制流程如前通过程序块1215,1220,但这时方框1230被否定地回答,原因是区域H2的宽度小于高度。因此,控制流程通过程序块1240把区域H2水平地分割。程序块1240把区域1的右下角(LR)的y坐标以及区域2的左上角(UL)的y坐标设置成等于被分块的ULy坐标,减去被乘以因子wt1/(wt1+wt2)的该块高度。图2C-3示出了这种情况。程序块1240通过从0(在程序块1205中被初始化而得)变起改变区域1的LRy的坐标值,把该块(区域H2)分割如下区域1的LRy=140-(140×100/(100+120))=76区域2的ULy坐标也变成76。在程序块1240执行完了之后,子程序在程序块1299返回到图9A的1115,将区域Q3及区域Q4的坐标(利用区域1和区域2的值)作为输出参数传回。再参见图9A,程序块1115把前三个窗口所计算得到的坐标写入到窗口数据40的区域字段44中去。在本例中,最活动的窗口(TurboTax)的区域字段44填入了区域1的坐标值0,14083,0。以最活动窗口(Quicken)的区域字段44填入了区域Q2的坐标83,140,155,0。再下一个最活动的窗口(Excel)的区域字段填入了区域Q3的坐标155,140,200,76。这一情况由图3C表示出。
程序块1120询问是否有更多的窗口需要处理。通过查核传向子程序1000的窗口表格,去看看是否还有未生成区域的更多窗口存在着,便可以做到这一点。既然在本例中我们在窗口表格中有第四个及第五个窗口待处理,程序块1120就得到肯定的回答。
程序块1130通过执行程序块1101,1105,1200A,1200B,1200C,1115和1120,递归地重复着计算窗口矩形子程序1100。做到这一点的方法是进一步把区域Q4分割成足够多的区域,旨在使在窗口数据40中对每一个窗口均有一个区域且其区域字段44中没有“ICON”值。每次调用子程序1100时,传向子程序1100的窗口表格只含有对其不再会有区域生成的窗口。在本例中,传向子程序1100的窗口表格将包括窗口数据40中的第四和第五个窗口,如图3C所示那样排序(即WordPerfectMy、TXT和Lotus1-2-3)。如有三个以上的窗口留在此窗口表格中传向子程序1100,则程序块1130会多次调用子程序1100,一直到子程序1100最后一次执行时在此窗口表格中只剩下三个或更少的窗口。
由于在本例窗口表格中只有两个窗口传到子程序1100中去,程序块1130调用子程序1100一次。因而,程序块1101是再次执行,对象限加权如下Q1wt=70,Q2wt=50,Q3wt=0和Q4wt=0。程序块1105把这些象限权组合成H1wt=120,H2wt=0。分块子程序1200然后在程序块1200A里再度被调用。将下列输入参数传向此子程序区域Q4的坐标值(本例中为155、76,200,0,参见图2C-3),H1wt(120)和H2wt(0)。输出参数区域Q4-H1及区域Q4-H2也传向子程序1200。子程序1200把区域Q4分割成区域Q4-H1和区域Q4-H2,并把这两个区域的左上角及右下角的x、y坐标值传回来。
再参见图9B,程序块1201如前一样计算从图9作为第一个输入参数传过来的该块的高度和宽度。程序块1201确定区域Q4的宽度是45,高度为76。程序块1205把这一块将分割成的两个区域的x,y坐标初始化成为与该块自身的x、y坐标相同的值(本例中155,76,200,0)。
控制流程如前通过程序块1215,1220,但这时程序块1230得到肯定回答,原因是区域Q4的宽度小于其高度。因此,控制流程通过程序块1240把区域Q4水平地分割。程序块1240把区域1的右下角(LR)y坐标以及区域2的左上角(UL)y坐标设置成等于被分块的ULy坐标,减去被乘以因子wt1/(wt1+wt2)的该块的高度。图2C-3表明这种情况。程序块1240通过从0(在程序块1205中被初始化而得)起改变区域1的LRy坐标值,旨在把该块(区域Q4)分割如下区域1的LRy=76-(76×120/(120+0))=0。区域2的ULy坐标也变成0。注意,区域2不再有宽度了,原因是ULy坐标和LRy坐标值均变成0。这是一个指示,即不会有任何窗口进入到这个区域,且这个区域也不会再被分割。在程序块1240执行完了以后,该子程序在程序块1299返回到图9A的1200B,将区域Q4-H1和区域Q4-H2(利用区域1及区域2的值)作为输出参数传回。如在后面所见,再也不会用区域Q4-H2了,故这个区域的亮度为0是无关紧要的。
再参见图9A,图9B的分块子程序1200,然后在程序块1200B中通过程序块1130被第二次调用。下列输入参数被传入到该子程序内。区域Q4-H1坐标(本例中是155,76,200,0,参见图2C-4),Q1wt(70)和Q4wt(50)。输出参数区域Q4-Q1和区域Q4-Q2也被传向子程序1200。子程序1200把区域Q4-H1分割成区域Q4-Q1和区域Q4-Q2,传回这两个区域的左上角和右下角的x、y坐标值。
同以前一样,控制流程通过程序块1215,1220和1230直到程序块1240把区域Q4-H1水平分割为止。程序块1240把区域1的右下角(LR)y坐标以及区域2的左上角(UL)y坐标设置成等于被分割块的ULy坐标,减去被乘以因子wt1/(wt1+wt2)的该块高度。图2C-3表示出这种情况。程序块1240通过改变区域1的LRy坐标值,从0(在程序块1205中被初始化而得)变起,把该块(区域Q4-H1)分割如下区域1的LRy=76-(76×120/(70+150))=32。区域2的ULy坐标也变成32。在程序块1240执行完之后,子程序在程序块1299返回到图9A的1200C,将区域Q4-Q1和Q4-Q2(利用区域1和区域2的值)作为输出参数传回。
再参见图9A,图9B的分块子程序1200由程序块1200C内的程序块1130第三次调用。下列输入参数被传入到该子程序内区域Q4-H2的坐标(本例中是155,0,200,0),Q3wt(0)以及Q4wt(0)。输出参数区域Q4-Q3和区域Q4-Q4也被传向子程序1200。但是在子程序1200有机会消除我们的简并情况即0宽度的区域Q4-H2之前,程序块1210将wt1和wt2加在一起并确定了它们不大于0。这表明,对于窗口而言已存在着足够的区域,于是该子程序在程序块1298返回到图9A的1115。将这两个区域的左上角和右下角的x,y坐标的初始值传回,从而表明区域Q4-H2不被分割。
再参见图9A,程序块1115把头三个窗口计算得到的区域的坐标值写入到窗口数据40的区域字段44中去。在本例中,以最活动窗口(WordPerfect)的区域字段44被填入区域Q4-Q1的坐标值155,76,200,32。再下一个最活动窗口(Lotus1-2-3)的区域字段44填入区域Q4-Q2的坐标值155,32,200,0。由于这是最后一个窗口,程序块1115的执行在此停止。
程序块1120询问是否有更多的窗口需要处理。校核传向子程序1100的窗口表格,看一下是否有还未生成区域的任何窗口存在。既然在本例中,在我们的窗口表格里只有两个窗口传向子程序1100,并且由于对这两个窗口都已生成了区域,则程序块1120作否定的回答。因为程序块1130是所谓可递归调用的子程序1100,该子程序在程序块1149里通过程序块1130返回到1139中去。程序块1139返回到图8的程序块1150。
现参见图8,程序块1150和1155根据窗口数据40里每个窗口区域字段44经由图9A及9B的流程图所提供的数据来决定各窗口在显示屏幕上的位置。对于在区域字段44中带有“ICON(图标)值的窗口,便生成一个图标(用到表示管理员)。图2D表明,本例中的各窗口是如何呈现在用户面前的。当程序块1150指示所有窗口均已作处理时,程序块1160便对排序的窗口表格的第一个窗口(最活动的窗口)进行聚焦。然后程序流程返回到程序块401再次查看用户是否选择了显示窗口矩形模式。
我们现在必须返回到图9A和9B来讨论迄今还未讨论过的另三种实施例。图9A的情况和前面讨论过的一样,只是要把一个附加参量传到分块子程序1200用以指明,被分割的块是从较大的块自身按垂直方式还是水平方式分割而成。“水平”参数在该子程序第一次被调用时传入。如果纳税人Tammy实现了水平参数但没有实现最佳配合的参数,则她用的正是本发明的第一个其他实施例,显示屏17如图2E所示。在这实施例中,程序块1220作否定回答,原因是没有实现最佳配合的参数。程序块1245的作用如同一个开关,第一次乃是使程序块1235执行分割某一块(从而实现了垂直分割),第二次是使程序块1240执行,进一步把该块(“双亲”块)分割成为两个“子”块,从而完成了水平分割。把矩形区域分割成区域1和区域2是按垂直方式进行的,把区域H1分割成区域Q1和区域Q2是按水平方式进行的。把区域H2分割成区域Q3和区域Q4也是按水平方式进行的。进一步先按垂直方式,然后是水平方式分割区域Q4,如果必要的话再继续下去。此子程序返回到它在程序块1299调用它的地方。关于此块如何被分割的信息也被传回到程序块1299。
如果Tammy没有实现比例参数但实现了最佳配合的参数,则她用的正是本发明的第二个其他实施例。显示屏17如图2F所示。在此实施例中,程序块1215作否定回答。程序块1250确定wt2是否等于0。如果情况是真,则只有一个窗口要寻找某一区域,故该块并不分割。反之,程序块1251保持区域1的坐标值与在程序块1205作初始化时的值相同,但把区域2的坐标值变成0,0,0,0以表明这个区域是不存在的。该子程序返回到它在程序块1297调用它的地方。如果程序块1250作否定回答,程序块1255便要问最佳配合的参数是否实现。由于在本实施例中它是实现了的,则程序块1255作肯定回答。程序块1260的作用如同前面讨论过的程序块1230一样,如果该块的宽度大于或等于其高度,该块作垂直分割,否则作水平分割。程序块1265的作用如同前面讨论过的程序块1235一样,但程序块1265总是把块均匀地分割。同样地,程序块1270的作用如同前面讨论过的程序块1240,但程序块1270总是把块均匀地分割。在执行完程序块1265或1270之后,该子程序返回到在程序块1296调用它的地方。关于此块如何被分割的信息也被传回到程序块1296。
如果Tammy既没有启动比例参数也没有启动最佳配合的参数,则她用的正是本发明第三个其他实施例,显示屏17如图2G所示。本例中,图2G看起来与图2F相同,但情况通常不会是这样。在本实施例中,程序块1255作否定回答。程序块1275的工作类似于前面讨论过的程序块1245。
现在来讨论图10,它是独立地联同图5A-5B,图7,图8的流程图在处理器12内执行的。程序块1001查看是否有一窗口事件要处理。这与图5A中程序块110所作的校核完全相同。如果程序块1001确定没有窗口事件要作处理,则程序块1003查看是否所有的窗口都被关闭了。如果是,程序在程序块1099终止。如果不是,该程序回路返回到程序块1001再次查看有没有窗口事件要处理。一旦程序块1001作肯定地回答,则程序块1010便获得该窗口事件。程序块1020查问此窗口事件是否由用户活动所导致。如果不是,程序回路返回到程序块1001去寻找另一个要处理的窗口事件。注意,图5A-5B是真正地完成此事件-而图10恰是寻找影响着本发明窗口定时功能的特殊事件。如果程序块1020作肯定回答,程序块1050便查看控制数据30中的暂停标识34是否等于TRUE2。如果这个标识等于TRUE2,则由于非活动时间超时,窗口计时功能便被暂停。由于用户现在作完了某些事,合适的是把此窗口计时功能重新启动。完成这一点乃是把暂停标识34的值变成FALSE(假),结果图7的程序块205便作肯定回答,且窗口数据30的计时器标志32的值可由程序块208进行增大。
再参见图10,不论程序块1050回答的是什么,控制流程通向程序块1060。在这里,最后事件标志36被置成控制数据30的计时器32的值。最后事件标志36因而包含着某事件出现的最后一次时间,它在显示屏以一窗口指出用户的活动。这些信息由程序块图5A的115和118利用来查看所指定非活动超时值是否已被超过。控制流程返回到程序块1001。
本发明已描述了最佳实施例和若干其他的实施例,本领域的技术人员自然明白,其中是可以作一些细节变化而不会偏离本发明的精神,范围和教诲的。例如,最活动的窗口可以定位在屏幕的右侧而不是左侧,这只须稍稍改变一下图9B的程序块1235,12401265和1270。因此,可以考虑文化及个人的差异,这些差异所在被认为就是对最活动的窗口其最醒目的显示位置的处理。因而,这里所公开的仅由以下权利要求所指明的内容来限制。
权利要求
1.在显示屏上有效地显示多个窗口的方法,其特征在于下列步骤监控所述多个窗口处在活动状态的时间长度;确定窗口N活动期没有长得足以超过最小阈值;以活动性递降次序醒目地表示出1到N-1个窗口;把第N个窗口表示成图标。
2.在显示屏上有效地显示多个窗口的方法,其特征在于下列步骤监控所述多个窗口处在活动状态的时间长度;并且以与活动的时间长度成正比的尺寸来显示所述的多个窗口。
3.根据权利要求2的方法,其特征在于所述的显示步骤中还进而包括以下的步骤决定所述的显示屏的矩形区域;把所述的矩形区域分割为H1区域和H2区域;把所述的H1区域分割为Q1区域和Q2区域;把所述的H2区域分割为Q3区域和Q4区域。
4.根据权利要求3的方法,其特征在于所述的矩形区域分割步骤是这样进行的,所述H1区域的尺寸正比于这样一个比值即所述的第一窗口和所述的第二窗口迄今活动的时间长度与所述的第一窗口直至第N个窗口迄今活动的时间长度之比值;所述的H2区域的尺寸正比于这样一个比值即所述的第三窗口直到第N个窗口迄今活动的时间长度与第一窗口直至第N个窗口迄今活动的时间长度的比值。
5.根据权利要求4的方法,其特征在于区域H1的分割步骤是这样地实现的,所述Q1区域的尺寸正比于这样一个比值所述的第一窗口迄今活动的时间长度与所述的第一窗口和第二窗口迄今活动的时间长度的比值所述Q2区域的尺寸正比于这样一个比值即所述第二窗口迄今活动的时间长度与所述第一窗口和第二窗口迄今活动的时间长度的比值。
6.根据权利要求5的方法,其特征在于区域H2的分割步骤是这样地实现的,所述Q3区域的尺寸正比于这样一个比值即所述第三窗口迄今活动的时间长度与所述第三窗口直到第N个窗口迄今活动的时间长度的比值所述Q4区域的尺寸正比于这样一个比值即所述第四直到第N个窗口迄今活动的时间长度与所述第三直到第N个窗口迄今活动的时间长度的比值。
7.根据权利要求6的方法,其特征在于下列步骤以所述Q1区域中显示所述第一个窗口;以所述Q2区域中显示所述第二个窗口;且以所述Q3区域中显示所述第三个窗口。
8.根据权利要求7的方法,其特征在于下列步骤这样地实现把区域Q4分割成Q4-Q1区域和Q4-Q2区域,使得Q4-Q1区域的尺寸正比于这样一个比值即所述的第四个窗口迄今处于“聚焦”的时间长度与所述的第四窗口直到第N个窗口迄今处于聚焦的时间长度的比值使得Q4-Q2区域的尺寸正比于这样一个比值所述第五个窗口迄今处在“聚焦”的时间长度与所述的第四窗口直到第N个窗口迄今处在聚焦的时间长度的比值,这里N=5;在所述Q4-Q1区域内显示所述的第四窗口;在所述Q4-Q2区域内显示所述的第五窗口。
9.根据权利要求8的方法,其特征在于所述的显示步骤中还进而包括以下的步骤确定第六个窗口迄今活动还未长得足以超过一最小阈值;把第六个窗口显示成一个图标。
10.根据权利要求3的方法,其特征在于如果所述的矩形区域的宽度大于或等于其高度,则按垂直方式实现所述的矩形区域的分割步骤。
11.根据权利要求3的方法,其特征在于如果所述矩形区域的所述分割步骤是按垂直方式进行的话,则按水平方式实现所述H1区域的分割步骤。
12.根据权利要求3的方法,其特征在于如果所述的矩形区域宽度小于其高度,则按水平方式实现所述的矩形区域的分割步骤。
13.根据权利要求3的方法,其特征在于如果所述的矩形区域的所述分割步骤是按水平方式进行的话,则按垂直方式实现所述H2区域的分割步骤。
全文摘要
公开了一种在计算机显示屏上醒目地和按比例地显示窗口的方法和装置。在显示屏上出现的每一窗口的活动(也谓之“聚焦”)时间是可以监控的。一旦收到用户的命令,较长时间活动的窗口较之较短时间活动的窗口显示得更加醒目些。显示屏上显示的窗口,其窗口尺寸与每一窗口活动着的时间成正比。
文档编号G06F3/033GK1073787SQ9211346
公开日1993年6月30日 申请日期1992年11月28日 优先权日1991年12月20日
发明者卡利·李·贝茨, 杰弗里·迈克尔·里安 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1