將應用窗口智能插入到受管理的顯示器區段中的制作方法
【專利說明】
【背景技術】
[0001]計算機窗口管理(windowing)系統已經被使用了很長時間。這樣的窗口管理系統可以具有許多設計,例如由用戶進行自由形式窗口操縱。這樣的窗口管理系統的特征是眾所周知的,并且在別處有記載。通常來說,窗口管理系統具有針對在計算機上運行的相應進程的圖形窗口。用戶與窗口管理系統進行交互,以便操縱和管理窗口。大多數窗口管理系統具有允許對應用(假設其具有相應的窗口)進行打開、關閉、移動、隱藏、顯示、調整尺寸、定制等功能。
[0002]雖然已經使用了針對窗口管理系統的各種方案,但是顯示器(包括投影儀和3D顯示器)尺寸的不斷增大以及平板計算設備和觸摸輸入的普及對于拼貼式窗口管理系統賦予了新的興趣。在這樣的窗口管理系統中,可以由用戶操縱應用窗口,以便在最大化窗口尺寸的同時防止窗口彼此遮擋,即使在添加了應用窗口時也是如此。一般來說,拼貼式窗口管理系統可以受益于自動管理由用戶將窗口插入到其中已經顯示一個或更多其他窗口的顯示器的改進的技術。后面將討論這樣的技術和有關的方法。
【發明內容】
[0003]包括后面的
【發明內容】
部分僅僅是為了介紹將在后面的【具體實施方式】部分中討論的一些概念。本
【發明內容】
部分并不是全面性的,并且不意圖界定由在結尾處呈現的權利要求書闡述的所要求保護的主題內容的范圍。
[0004]這里所描述的實施例涉及在用戶將應用窗口插入到受管理的顯示器區段時保持應用窗口的拼貼布置。拼貼布置是其中窗口不彼此重疊并且基本上最大化對于顯示器區段的窗口占用的布置。通常來說,當用戶插入應用窗口時,通過調整任何先前存在的應用窗口的尺寸來保持拼貼布置。可以基于比如用戶輸入、對于拼貼布置的任何先前的人工調節和/或最小窗口尺寸之類的因素來確定將在何處插入窗口、調整哪些所顯示的窗口的尺寸以及調整尺寸的程度。可以通過考慮任何前面所提到的因素來確定是按照受管理或受監管方式(例如通過在各個窗口之間均等地共享空間)還是按照半受監管(sem1-curated)方式來實施貼片布置。
[0005]后面將參照結合附圖考慮的后面的【具體實施方式】部分來解釋其中的許多伴隨特征。
【附圖說明】
[0006]通過根據附圖來閱讀后面的【具體實施方式】部分將更好地理解本說明書,其中相同的附圖標記被用來標明伴隨的描述中的相同部分。
[0007]圖1示出了計算設備。
[0008]圖2示出了拼貼窗口布置的示例。
[0009]圖3示出了允許用戶插入或替換應用窗口的預定義輸入區段的一個示例。
[0010]圖4示出了用于在由用戶插入應用窗口時自動保持拼貼窗口布置的算法的一個示例。
[0011]圖5示出了在發現有可能進行鄰近分割時在邊緣處插入應用窗口的示例。
[0012]圖6示出了其中邊緣插入包括在邊緣處插入的應用表示的一個示例。
[0013]圖7示出了在不可能分割鄰近應用時被導向邊緣的插入的一個示例。
[0014]圖8示出了在分割線或其他內部點處的插入的一個示例。
[0015]圖9示出了在已被人工調節過的分割線或內部點處插入目標應用窗口的一個示例。
[0016]圖10示出了可以在其上實施這里所描述的實施例的計算設備的一個示例。
【具體實施方式】
[0017]后面所討論的實施例涉及在通過交互式方式將窗口添加到顯示器時管理窗口的布局和布置。首先將討論拼貼式窗口管理系統。接下來將描述交互式窗口放置,隨后將討論用于使用在插入時可獲得的各種信號自動管理交互式窗口放置或插入的算法。此外將討論示例的插入情形。
[0018]圖1示出了計算設備100,其具有管理應用進程104并且在顯示器108上顯示相應的窗口 106的操作系統102。計算設備100可以是稍后將參照圖10描述的多種類型當中的任一種。可以假設計算設備100至少具有存儲裝置以及用于執行操作系統102和應用進程104的處理器。雖然可以有具有代表多個進程的各個單獨窗口的窗口管理系統以及不具有窗口的進程,但是為了易于討論,在這里假設應用進程104分別至少具有對應的窗口 108。進程是眾所周知的操作系統對象,其是被分立地管理的執行單元,通常具有進程標識符、由操作系統管理的存儲器(堆式和/或棧式存儲器),并且可以在由操作系統保持的進程標識符的進程表中或者類似物中管理進程。
[0019]窗口 108可以由窗口管理系統管理和渲染,所述窗口管理系統可以是操作系統102的一部分或者可以與操作系統102緊密耦合。窗口管理系統本身可以是一個進程104。窗口管理系統通常對用戶輸入事件和窗口事件作出響應,應對窗口 108的生成和移除,調整窗口尺寸,移動窗口,以及許多其他與窗口有關的功能。這里所描述的技術可以被直接實施在窗口管理系統中,或者被實施在包裹窗口管理系統的用戶界面外殼或層中,或者是其某種組合。為了討論,在這里描述窗口管理系統中的實現方式。但是計算機編程領域的技術人員將能夠把這里的教導應用于其他實現方式,并且此類實現方式被本說明書設想到。簡而言之,“窗口管理系統”是這里所描述的管理窗口的任何(多個)執行中的計算機組件。
[0020]如所提到的,窗口管理系統可以實施拼貼式管理方案,其中窗口被自動布局在拼貼布置中。拼貼布置可以通常是這樣的布置,其中窗口(或者可能至少是活躍的窗口)被自動防止彼此重疊或遮擋,但是窗口對于顯示器(或者其受管理區段)的占用被最大化,從而使得非窗口空間被最小化。這樣的拼貼布置可以被自動保持,同時容許窗口被新近顯示或重新顯示、打開、關閉、隱藏、移動、插入、調整尺寸等等。對于拼貼式窗口管理系統的一個示例參見2013年4月15日提交的美國專利申請號**13/863,369 (代理人案號338635.01)。非窗口空間可以包括邊界或有美感的邊際、用于比如搜索工具之類的用戶界面元素的區域、用于功能或特定窗口的快捷方式等等。
[0021]圖2示出了拼貼窗口布置的示例。從上方開始,示例120是顯示在受管理顯示器區段124中的單一應用窗口 122。假設由用戶添加了另一個應用窗口 128,例如通過打開應用、將應用的指示符拖曳到受管理顯示器區段124中、調用應用快捷方式等等,隨后窗口管理系統等等管理應用窗口 122、128的布局以便最大化顯示器區段124的窗口占用,如示例126中所示出的那樣。當有多個應用窗口被顯示時,窗口管理系統可以自動在應用窗口之間提供用戶可調節的分割線130。當由用戶通過交互式方式移動分割線130時,兩個或更多受影響的窗口被相應地調整尺寸,以便保持拼貼布置。如果添加了另一個應用窗口,則可以通過自動調整現有應用窗口的尺寸來繼續保持拼貼布置,正如示例132中所示出的那樣。在一個實施例中,應用窗口被拼貼到線性槽中(例如單一垂直列或單一水平行),正如在先前提到的示例中所看到的那樣(如后面所討論的那樣,還可以使用柵格風格布局)。此外,正如后面進一步描述的那樣,窗口管理系統可以被預先配置以便根據條件轉變到不同類型的布置,所述條件比如是應用窗口的數目、窗口的類型、用戶優選項、最小窗口尺寸以及其他條件。如在其他示例134、136中所見,受到自動管理的拼貼布置可以具有非對稱性以及比如柵格布局之類的各種直線性布局。
[0022]圖3示出了允許用戶插入或替換應用窗口的預定義輸入區段的一個示例。正如前面所提到的那樣,窗口管理系統可以允許用戶通過交互式方式將應用窗口添加到顯示器(或者其受管理區段)。用戶可以通過來自輸入設備的各種形式的輸入來控制將在何處以及如何添加應用窗口。在圖3的示例中,窗口管理系統關于正在顯示的應用窗口的數目和/或位置動態地布置輸入敏感區段。這樣的區段可以包括插入區段150和替換區段152。當用戶把針對將被顯示的(目標)應用窗口的輸入引導到特定的插入區段150時,則相應地插入目標窗口。類似地,當目標窗口被引導到替換區段152時,可以替換對應的應用窗口(應當提到的是,這里所描述的任何插入技術可以被應用于窗口替換或者與窗口替換相結合來使用)。如果用戶把目標應用窗口引導到最左側的插入區段150,則目標應用窗口將被相應地插入;先前所顯示的應用窗口(例如“應用1”和“應用2”)可以被移動和/或調整尺寸以便裝下先前所顯示的應用窗口