提供該
背景技術(shù):
以用于大體呈現(xiàn)針對當(dāng)前公開內(nèi)容的上下文。除非在本文中以其它方式指示,否則在背景技術(shù)中描述的材料既不明確地也不暗含地對當(dāng)前公開內(nèi)容或之后的權(quán)利要求的現(xiàn)有技術(shù)的承認(rèn)。
常規(guī)操作系統(tǒng)準(zhǔn)許用戶通過窗口查看多個計算應(yīng)用。這些窗口中的每一個一般包括框架或控件以用于選擇哪個窗口是主要的或要移動、定尺寸、或者以其它方式管理窗口關(guān)于工作空間和其它窗口的放置。然而,這些框架或控件通常僅使得當(dāng)前所選窗口能夠移動或定尺寸,其可能導(dǎo)致窗口之間的無意遮擋和重疊。附加地。對多個窗口進行移動或定尺寸通常要求用戶執(zhí)行一系列冗余任務(wù),以便按照期望對每一個窗口反復(fù)移動或定尺寸。因此,以該方式管理多個窗口的布局對于用戶而言可能過于復(fù)雜、耗時和討厭。
技術(shù)實現(xiàn)要素:
本文檔描述了使得能夠?qū)崿F(xiàn)多應(yīng)用環(huán)境中的應(yīng)用窗口的輔助呈現(xiàn)的技術(shù)和裝置。本文描述的多應(yīng)用環(huán)境呈現(xiàn)一個或多個應(yīng)用窗口,其可以定尺寸、定位或分層以提供最優(yōu)布局。在一些實施例中,這些技術(shù)和裝置使得應(yīng)用窗口的尺寸或位置能夠基于另一個應(yīng)用窗口的邊緣來定位。而且,在一些實施例中,技術(shù)和裝置使得應(yīng)用窗口能夠基于多應(yīng)用環(huán)境的區(qū)的選擇而定尺寸到預(yù)限定的區(qū)域。進一步地,一些實施例使得能夠?qū)崿F(xiàn)聯(lián)合劃分器或聯(lián)合角落控件,其使得能夠?qū)Χ鄠€應(yīng)用窗口同時定尺寸或定位。另外,一些實施例標(biāo)識多應(yīng)用環(huán)境的可用區(qū),并且使得能夠選擇應(yīng)用窗口以經(jīng)由可用區(qū)進行呈現(xiàn)。
提供該發(fā)明內(nèi)容來引入以下在具體實施方式中進一步描述的簡化概念。該發(fā)明內(nèi)容不意圖標(biāo)識所要求保護的主題的必要特征,也不意圖用于確定所要求保護的主題的范圍。使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的技術(shù)和/或裝置還在本文中單獨地或者結(jié)合地稱為通過上下文所準(zhǔn)許的“技術(shù)”,盡管技術(shù)可以包括或者替代地表示本文描述的其它方面。
附圖說明
參照以下附圖,描述使得能夠?qū)崿F(xiàn)多應(yīng)用環(huán)境的實施例。整個附圖中使用相同標(biāo)號來指代相同特征和組件:
圖1圖示了其中可以實現(xiàn)使得能夠輔助呈現(xiàn)應(yīng)用窗口的技術(shù)的示例系統(tǒng)。
圖2圖示了具有表示沉浸式接口觸摸敏感顯示器的示例平板計算設(shè)備。
圖3圖示了對應(yīng)用的窗口定尺寸或定位以填充多應(yīng)用環(huán)境的區(qū)的方法。
圖4圖示了用于多應(yīng)用環(huán)境的區(qū)的示例布局。
圖5圖示了用于基于多應(yīng)用環(huán)境的其它應(yīng)用窗口對應(yīng)用窗口定尺寸和定位的方法。
圖6圖示了對應(yīng)用窗口定尺寸和/或定位以用于在多應(yīng)用環(huán)境中呈現(xiàn)的示例。
圖7圖示了呈現(xiàn)對應(yīng)用窗口定尺寸和/或定位以用于在多應(yīng)用環(huán)境中呈現(xiàn)的附加示例。
圖8圖示了對多應(yīng)用環(huán)境的各種區(qū)中的分屏(snapped)應(yīng)用窗口重新定尺寸的示例。
圖9圖示了用于基于多應(yīng)用環(huán)境的區(qū)對應(yīng)用窗口定尺寸的方法。
圖10圖示了與多應(yīng)用環(huán)境的各種區(qū)相關(guān)聯(lián)的示例選擇區(qū)域。
圖11圖示了用于基于應(yīng)用窗口的狀態(tài)選擇多應(yīng)用環(huán)境的區(qū)的方法。
圖12圖示了用于實現(xiàn)圖12的方法的示例狀態(tài)機。
圖13圖示了多應(yīng)用環(huán)境的示例降下區(qū)域(drop area)。
圖14圖示了用于使用聯(lián)合劃分器對多個應(yīng)用窗口同時定尺寸的方法。
圖15圖示了在各種應(yīng)用窗口之間建立的示例聯(lián)合劃分器。
圖16圖示了依照一個或多個實施例的聯(lián)合控制劃分器的呈現(xiàn)。
圖17圖示了使用聯(lián)合劃分器對應(yīng)用窗口定尺寸的示例。
圖18圖示了用于對應(yīng)用窗口重新定尺寸而同時移動另一個應(yīng)用窗口的方法。
圖19圖示了圖18的方法的示例應(yīng)用,包括應(yīng)用窗口向多應(yīng)用環(huán)境的另一層的逐出(eviction)。
圖20圖示了可以在應(yīng)用窗口之間建立的示例聯(lián)合劃分器。
圖21圖示了可以在應(yīng)用窗口之間建立的聯(lián)合角落的示例。
圖22圖示了聯(lián)合劃分器和應(yīng)用窗口邊緣的詳細示例。
圖23圖示了相鄰以及非相鄰的應(yīng)用窗口邊緣的詳細示例。
圖24圖示了用于使得能夠選擇應(yīng)用窗口以用于在可用區(qū)中呈現(xiàn)的方法。
圖25圖示了具有可用區(qū)以呈現(xiàn)應(yīng)用窗口的示例多應(yīng)用環(huán)境。
圖26圖示了用于在可用區(qū)中呈現(xiàn)所選應(yīng)用窗口的方法。
圖27圖示了通過選擇應(yīng)用窗口創(chuàng)建的應(yīng)用窗口布局的示例。
圖28圖示了其中可以實現(xiàn)使得能夠?qū)崿F(xiàn)多應(yīng)用環(huán)境的技術(shù)的示例設(shè)備。
具體實施方式
概述
該文檔描述了使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的技術(shù)和裝置。這些裝置和技術(shù)可以使得能夠方便地并且高效地對多應(yīng)用環(huán)境的應(yīng)用窗口進行定位或定尺寸,以提供應(yīng)用窗口的最優(yōu)布局。在一些實施例中,這些技術(shù)和裝置使得能夠基于另一個應(yīng)用窗口的邊緣來確定應(yīng)用窗口的尺寸或位置。而且,在一些實施例中,技術(shù)和裝置使得能夠基于多應(yīng)用環(huán)境的區(qū)的選擇而將應(yīng)用窗口定尺寸到預(yù)限定的區(qū)域。進一步地,一些實施例使得能夠?qū)崿F(xiàn)聯(lián)合劃分器或聯(lián)合角落控件,其使得能夠同時對多個應(yīng)用定尺寸或定位。另外,一些實施例標(biāo)識多應(yīng)用環(huán)境的可用區(qū)并且使得能夠選擇應(yīng)用窗口以經(jīng)由可用區(qū)進行呈現(xiàn)。在一些實施例中,通過多應(yīng)用環(huán)境的區(qū)或預(yù)限定區(qū)域而使得能夠?qū)崿F(xiàn)這些以及其它形式的應(yīng)用窗口管理。存在技術(shù)通過其使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的許多方式中的僅僅幾個示例,其中其它示例在下文描述。
示例系統(tǒng)
圖1圖示了其中可以體現(xiàn)使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的技術(shù)的示例系統(tǒng)100。系統(tǒng)100包括計算設(shè)備102,其以四個示例來說明:智能電話計算機104、平板計算設(shè)備106、膝上型計算機108和游戲設(shè)備110,盡管也可以使用其它計算設(shè)備和系統(tǒng),諸如機頂盒、服務(wù)器和上網(wǎng)本。
計算設(shè)備102包括(多個)計算機處理器112和計算機可讀存儲介質(zhì)114(介質(zhì)114)。介質(zhì)114包括操作系統(tǒng)116、多應(yīng)用環(huán)境模塊118、系統(tǒng)接口模塊120、輸入模塊122、(多個)應(yīng)用124、應(yīng)用管理器128和窗口管理器132,每一個應(yīng)用124具有一個或多個應(yīng)用用戶接口126((多個)應(yīng)用UI 126),應(yīng)用管理器128包括或者能夠訪問應(yīng)用隊列130。
計算設(shè)備102還包括或者能夠訪問一個或多個顯示器134和輸入機構(gòu)136。圖1圖示了四個示例顯示器,其可以是分離的或者與計算設(shè)備102集成。輸入機構(gòu)142可以包括手勢敏感傳感器和設(shè)備,諸如基于觸摸的傳感器和移動追蹤傳感器(例如,基于相機),以及鼠標(biāo)(鼠標(biāo)是自立式的或者與鍵盤集成的)、觸筆、觸摸板、加速度計和具有伴隨的語音識別軟件的麥克風(fēng),上述僅僅是幾個示例。輸入機構(gòu)136可以是分離的或者與顯示器134集成,集成的示例包括具有集成的觸摸敏感或運動敏感傳感器的手勢敏感顯示器。
操作系統(tǒng)116管理計算設(shè)備102的資源并且可以使用任何合適的指令格式實現(xiàn),諸如64位、32位、簡約指令集計算(RISC)、復(fù)雜指令集計算(CISC)等。在一些情況下,操作系統(tǒng)116可以使得通過虛擬化來執(zhí)行具有不同指令格式的模塊或應(yīng)用。操作系統(tǒng)116使得計算設(shè)備102的其它模塊能夠訪問計算設(shè)備102的資源,所述資源諸如是多應(yīng)用環(huán)境模塊118和應(yīng)用124。
多應(yīng)用環(huán)境模塊118提供多應(yīng)用環(huán)境,用戶通過所述多應(yīng)用環(huán)境可以查看應(yīng)用124中的一個或多個并且通過應(yīng)用UI 126與其交互,應(yīng)用UI 126經(jīng)由相應(yīng)應(yīng)用窗口呈現(xiàn)。在一些情況下,多應(yīng)用環(huán)境是使得能夠管理或者操控重疊窗口(例如,窗口的z排序)或非重疊窗口的位置、尺寸和/或前后次序(總體地,“放置”)的重疊窗口化環(huán)境或工作空間。工作空間中的每一個應(yīng)用窗口的排序或“深度”可以經(jīng)由多應(yīng)用環(huán)境模塊118的z堆疊而維持。典型地,主要應(yīng)用或者非遮擋應(yīng)用駐留在z堆疊的頂部。其它應(yīng)用窗口,諸如非主要或遮擋應(yīng)用窗口,在z堆疊中駐留于更深的位置。這些非主要應(yīng)用窗口可以基于它們在z堆疊內(nèi)的相應(yīng)位置而彼此重疊或遮擋。
多應(yīng)用環(huán)境模塊118可以通過具有框架的應(yīng)用窗口來呈現(xiàn)應(yīng)用UI 126。這些框架可以提供通過其與應(yīng)用交互的控件和/或提供使得用戶能夠?qū)Υ翱诙ㄎ缓投ǔ叽绲目丶?。可替換地或者附加地,多應(yīng)用環(huán)境模塊118可以通過具有很少窗口框架或者沒有窗口框架的應(yīng)用窗口和/或在沒有呈現(xiàn)虛擬控件(例如,窗口框架上或者掩蓋內(nèi)容的窗口中的永久性控件)的情況下呈現(xiàn)應(yīng)用UI 126。
通過多應(yīng)用環(huán)境模塊118使得能夠?qū)崿F(xiàn)的多應(yīng)用環(huán)境可以在沒有使用基于窗口的桌面環(huán)境的情況下托管和/或浮現(xiàn),但是并不要求如此。因而,在一些情況下,多應(yīng)用環(huán)境模塊118將多應(yīng)用環(huán)境呈現(xiàn)為沉浸式環(huán)境并且排除桌面式顯示器(例如,任務(wù)欄)的使用。進一步地,在一些實施例中,這種多應(yīng)用環(huán)境類似于操作系統(tǒng),因為其不可閉合或者能夠卸載。盡管并不要求,但是在一些情況下,這種多應(yīng)用環(huán)境使得能夠由多應(yīng)用環(huán)境內(nèi)的應(yīng)用使用顯示器的所有或者幾乎所有像素。
系統(tǒng)接口模塊120提供一個或多個接口,通過所述接口使得能夠與操作系統(tǒng)116交互,諸如應(yīng)用啟動接口、應(yīng)用管理用戶接口(應(yīng)用管理UI)、開始菜單、控制面板、或者系統(tǒng)工具或選項菜單,以上僅僅是幾個示例。輸入模塊122通過應(yīng)用窗口、輸入機構(gòu)136或者多應(yīng)用環(huán)境的其它控件和可視件(affordance)接收輸入。
應(yīng)用124可以包括任何適合類型的應(yīng)用,諸如生產(chǎn)力應(yīng)用、web瀏覽器、媒體查看器、導(dǎo)航應(yīng)用、多媒體編輯應(yīng)用等。操作系統(tǒng)116或多應(yīng)用環(huán)境模塊118可以在本機或者經(jīng)由虛擬化而支持變化類型的應(yīng)用或者指令集。例如,多應(yīng)用環(huán)境模塊118可以同時呈現(xiàn)變化類型的多個應(yīng)用124或指令集,諸如32位、64位、運行時間環(huán)境(例如,Java或Silverlight、插件(例如,F(xiàn)lash)、RISC、CISC、運行時間語言等)。
每一個應(yīng)用124包括一個或多個應(yīng)用UI 126,其使得能夠查看應(yīng)用的內(nèi)容或者與其交互。應(yīng)用UI 126可以包括用于呈現(xiàn)應(yīng)用124的預(yù)限定的屬性或偏好(例如,默認(rèn)值或設(shè)置),諸如縱橫比、最大尺寸、最小尺寸、位置、首要性、顯示取向等。在至少一些實施例中,與應(yīng)用124相關(guān)聯(lián)的應(yīng)用編程接口(API)使得能夠訪問應(yīng)用124或相應(yīng)應(yīng)用UI 126的屬性或偏好。
應(yīng)用管理器128使得能夠管理應(yīng)用124,諸如啟動、切換以及追蹤有效應(yīng)用。在一些情況下,應(yīng)用管理器128使得能夠建立和維護應(yīng)用之間的關(guān)系,諸如在彼此的極接近范圍(close proximity)內(nèi)頻繁啟動、定位或使用的應(yīng)用。應(yīng)用管理器128還可以能夠訪問或者維護應(yīng)用隊列130,其可以包括有效應(yīng)用、最小化應(yīng)用或者之前與之交互的應(yīng)用。應(yīng)用隊列130的應(yīng)用可以以任何適合方式組織,諸如最近使用、最頻繁使用、按照字母順序、通過應(yīng)用關(guān)聯(lián)或者通過應(yīng)用分組。
在至少一些實施例中,窗口管理器132使得能夠?qū)崿F(xiàn)對應(yīng)用窗口進行定位或定尺寸以提供多應(yīng)用環(huán)境中的應(yīng)用窗口的最優(yōu)布局的技術(shù)。在下文提供應(yīng)用窗口的這些技術(shù)和布局的示例,其中一些基于多應(yīng)用環(huán)境的區(qū)來呈現(xiàn),盡管它們不是窮舉性的或者不意圖限制本文描述的技術(shù)。
操作系統(tǒng)116、多應(yīng)用環(huán)境模塊118、系統(tǒng)接口模塊120、輸入模塊122、(多個)應(yīng)用124、應(yīng)用管理器128和窗口管理器132中的任一個或全部可以彼此分離地實現(xiàn)或者以任何適合形式組合或集成。
示例方法
示例方法300、500、900和1100針對的是基于多應(yīng)用環(huán)境的另一個應(yīng)用窗口或區(qū)對應(yīng)用窗口定尺寸或定位,示例方法1400和1800針對的是使得能夠?qū)崿F(xiàn)用于對應(yīng)用窗口定尺寸或定位的聯(lián)合劃分器,并且示例方法2400和2600針對的是在多應(yīng)用環(huán)境的可用區(qū)域中呈現(xiàn)應(yīng)用窗口。
本文描述的方法可以整體或者部分單獨地或者彼此組合地使用。這些方法被示為所執(zhí)行的操作(或動作)的集合,諸如通過一個或多個實體或模塊,并且未必限于所示出的用于執(zhí)行操作的次序。例如,技術(shù)可以在多應(yīng)用環(huán)境的區(qū)中呈現(xiàn)應(yīng)用窗口并且在多應(yīng)用環(huán)境的另一個區(qū)中自動地呈現(xiàn)另一個應(yīng)用窗口。技術(shù)還可以基于多應(yīng)用環(huán)境的所選區(qū)對應(yīng)用窗口定尺寸和定位,在所選區(qū)中呈現(xiàn)經(jīng)定尺寸的應(yīng)用窗口,并且然后建立聯(lián)合劃分器,所述聯(lián)合劃分器使得能夠同時對應(yīng)用窗口和接觸應(yīng)用窗口的另一個應(yīng)用窗口定尺寸。另外,技術(shù)可以在多應(yīng)用環(huán)境的區(qū)中呈現(xiàn)應(yīng)用窗口,并且然后呈現(xiàn)可選擇以填充多應(yīng)用環(huán)境的一個或多個可用區(qū)的其它應(yīng)用窗口的提示。
圖2圖示了其中可以執(zhí)行本文描述的技術(shù)的示例操作環(huán)境200。在該特定示例中,平板計算設(shè)備106經(jīng)由多應(yīng)用環(huán)境模塊118而經(jīng)由顯示器134呈現(xiàn)多應(yīng)用環(huán)境202。此處,還可以被稱為工作空間的多應(yīng)用環(huán)境202包括應(yīng)用窗口204和應(yīng)用窗口206,其中每一個占據(jù)如應(yīng)用窗口劃分器208示出的多應(yīng)用環(huán)境202的大概一半。
如上文所指出,應(yīng)用窗口可以包括控件(例如,應(yīng)用窗口204),所述控件使得能夠?qū)?yīng)用窗口定尺寸、定位、最小化、關(guān)閉等??商鎿Q地,應(yīng)用窗口可以不包括控件(例如,應(yīng)用窗口206),所述控件使得應(yīng)用的用戶接口或內(nèi)容能夠完全占據(jù)多應(yīng)用環(huán)境202的區(qū)或區(qū)域。應(yīng)當(dāng)指出,沒有控件的應(yīng)用窗口仍舊可以通過緊密結(jié)合(engage)應(yīng)用窗口的邊緣或內(nèi)容來定尺寸、定位或以其它方式操控。
可替換地或者附加地,多應(yīng)用環(huán)境202可以實現(xiàn)為虛擬的或者以其它方式的桌面,并且包括控制區(qū)域,所述控制區(qū)域被示為應(yīng)用管理UI 210或開始菜單(未示出)。例如,當(dāng)實現(xiàn)為桌面時,多應(yīng)用環(huán)境202可以提供基于窗口的工作空間,其中應(yīng)用窗口可以獨立地移動、定尺寸或者選擇為主要窗口(例如,移動到z堆疊的頂部)。
多應(yīng)用環(huán)境202還可以提供一個或多個虛擬桌面,通過所述虛擬桌面可以呈現(xiàn)或者訪問應(yīng)用窗口的不同集合。作為示例,用戶可以配置具有基于工作或生產(chǎn)力應(yīng)用窗口的一個虛擬桌面以及具有媒體消費應(yīng)用窗口的另一個虛擬桌面。通過如此做,用戶可以通過在兩個虛擬桌面之間切換或樞轉(zhuǎn)(pivot),與應(yīng)用窗口的兩個不同集合進行交互。在一些情況下,用戶可能從另一個虛擬桌面向當(dāng)前所選虛擬桌面切換應(yīng)用窗口,由此排除在虛擬桌面之間樞轉(zhuǎn)的需要。在至少一些實施例中,多應(yīng)用窗口202或其區(qū)段完全占據(jù)顯示器的屏幕或可見區(qū)域。因此,多應(yīng)用環(huán)境202的邊緣可以與顯示器的屏幕或可見區(qū)域的相應(yīng)邊緣對準(zhǔn)。
應(yīng)用管理UI 210使得能夠訪問操作系統(tǒng)116、系統(tǒng)接口模塊120或者計算設(shè)備102的其它應(yīng)用124的特征和功能。例如,應(yīng)用窗口可以從應(yīng)用管理UI 210啟動或切換。使用本文的技術(shù),可以在多應(yīng)用環(huán)境202中高效地添加、切換、定位、定尺寸或以其它方式操控應(yīng)用窗口以提供應(yīng)用窗口的最優(yōu)布局。
應(yīng)用窗口的自適應(yīng)定尺寸和定位
圖3描繪了用于基于另一個應(yīng)用窗口對應(yīng)用窗口定尺寸或定位的方法300,所述方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以引用圖1的系統(tǒng)100、圖2的操作環(huán)境200以及在本文其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在302處,接收多應(yīng)用環(huán)境的區(qū)的選擇。區(qū)可以經(jīng)由任何適合的輸入來選擇,諸如熱鍵組合或者經(jīng)由應(yīng)用窗口接收的方向輸入(例如,窗口拖拽)。在一些情況下,區(qū)的選擇經(jīng)由在多應(yīng)用環(huán)境內(nèi)添加、切換或移動的應(yīng)用窗口來接收。區(qū)可以包括多應(yīng)用環(huán)境的任何適合的區(qū)段或區(qū)域,諸如沿屏幕邊緣的區(qū)段或者在屏幕中心的區(qū)段。在一些情況下,用戶可以限定或者配置多應(yīng)用環(huán)境內(nèi)的特定區(qū)域(例如,屏幕區(qū)域的區(qū)段或條帶)來作為用戶限定的區(qū)。
區(qū)可以是固定、預(yù)限定或動態(tài)的,諸如由于所接收的輸入的顯示或類型的取向而改變尺寸或位置的區(qū)。在一些情況下,區(qū)可以與對應(yīng)操作相關(guān)聯(lián),諸如“分屏”操作,其為該區(qū)填充預(yù)限定尺寸或預(yù)限定位置處的應(yīng)用窗口。這些預(yù)限定的尺寸或預(yù)限定的位置可以對應(yīng)于多應(yīng)用環(huán)境的預(yù)限定的區(qū)域,所述區(qū)域可以包括工作空間的水平和/或豎直四分之一或小部分,諸如一半、四分之一、三分之一及其任何組合。可替換地或者附加地,多應(yīng)用環(huán)境的預(yù)限定的區(qū)域可以由用戶限定,諸如通過劃分工作空間或者通過保存應(yīng)用窗口在z堆疊內(nèi)的尺寸、位置或定位來作為預(yù)限定的區(qū)域。
作為示例,考慮圖4,其圖示了示例工作空間400、402和404,其中每一個圖示了區(qū)的各種布局。此處,工作空間400的應(yīng)用窗口406、408、410和412最初分屏到工作空間的四分之一區(qū)域。當(dāng)應(yīng)用窗口接觸或者觸碰工作空間或屏幕的兩個或更多鄰近邊緣時,應(yīng)用窗口可以被視為分屏的。類似地,應(yīng)用窗口414和416最初分屏到工作空間402的一半?yún)^(qū)域。
在304處,標(biāo)識鄰近于所選區(qū)的另一個應(yīng)用窗口的邊緣。另一個應(yīng)用窗口可以占據(jù)多應(yīng)用環(huán)境的鄰近區(qū)。在一些情況下,另一個應(yīng)用窗口的邊緣與所選區(qū)互補??商鎿Q地或者附加地,可以標(biāo)識非鄰近應(yīng)用窗口的邊緣(例如,互補或非互補)。
例如,考慮沿源自于角落424的軸線的工作空間404的區(qū)418、區(qū)420和區(qū)422。此處,區(qū)418和區(qū)420鄰近于角落424并且區(qū)422不鄰近于角落424。另外,區(qū)的邊緣可以歸類為沿單獨軸線是互補或非互補的。從角落424并且沿X軸線,邊緣426和428互補并且邊緣430沒有互補。類似地,從角落424并且沿Y軸線,邊緣432和邊緣434互補并且邊緣436沒有互補。
在工作空間400的上下文中,假設(shè)窗口438被拖拽到工作空間400的角落區(qū)中。此處,窗口管理器132標(biāo)識應(yīng)用窗口410的邊緣,所述邊緣鄰近于應(yīng)用窗口438移動到的區(qū)。附加地,在工作空間402的上下文中,應(yīng)用窗口440被拖拽到工作空間402的側(cè)邊區(qū)中。此處,窗口管理器132標(biāo)識應(yīng)用窗口416的邊緣,所述邊緣鄰近于應(yīng)用窗口440移動到的區(qū)。
在306處,基于另一個應(yīng)用窗口的邊緣,針對應(yīng)用窗口確定尺寸或位置。應(yīng)用窗口的尺寸或位置可以確定為使得應(yīng)用窗口填充該區(qū)以到達另一個應(yīng)用窗口的邊緣。在一些情況下,尺寸或位置確定為使得應(yīng)用窗口的邊緣與鄰近應(yīng)用窗口的互補邊緣對準(zhǔn)。在這樣的情況下,應(yīng)用窗口和鄰近應(yīng)用窗口可以具有相同寬度或相同高度??商鎿Q地或者附加地,所確定的尺寸或位置可以對應(yīng)于多應(yīng)用環(huán)境的預(yù)限定的區(qū)域,諸如工作空間的四分之一區(qū)域或一半?yún)^(qū)域。
返回到示例工作空間400,窗口管理器確定用于應(yīng)用窗口438的尺寸,以使得應(yīng)用窗口438的邊緣與應(yīng)用窗口410和應(yīng)用窗口408的邊緣對準(zhǔn)。附加地,在工作空間402的上下文中,窗口管理器確定用于應(yīng)用窗口440的尺寸,以使得應(yīng)用窗口440的邊緣與應(yīng)用窗口416的邊緣對準(zhǔn)。
在308處,在所確定的尺寸或者所確定的位置,在多應(yīng)用環(huán)境的所選區(qū)中呈現(xiàn)應(yīng)用窗口。在一些情況下,應(yīng)用窗口呈現(xiàn)在占據(jù)所選區(qū)的另一個應(yīng)用窗口上。在這樣的情況下,另一個應(yīng)用窗口可以被降級到多應(yīng)用環(huán)境的另一個首位(primacy)層(例如,在z堆疊中更深的層)??商鎿Q地或者附加地,應(yīng)用窗口可以分屏到區(qū)中。
總結(jié)引用工作空間400的示例,窗口管理器在工作空間400的四分之一中呈現(xiàn)應(yīng)用窗口438,其緊靠工作空間400的其它分屏窗口放置應(yīng)用窗口438。附加地,在工作空間402的上下文中,窗口管理器緊靠半分屏應(yīng)用窗口414放置應(yīng)用窗口440。
圖5描繪了用于基于多應(yīng)用環(huán)境的其它應(yīng)用窗口對應(yīng)用窗口定尺寸和定位的方法500,所述方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200以及在本文其它地方描述的其他方法和示例實施例,對上述的引用僅僅是作為示例而做出。
在502處,接收輸入以發(fā)起多應(yīng)用環(huán)境的區(qū)中的應(yīng)用窗口的放置。應(yīng)用窗口的放置可以響應(yīng)于添加、切換或者移動多應(yīng)用環(huán)境中的應(yīng)用窗口的輸入。在一些情況下,輸入是手勢或邊緣觸發(fā)動作,其中緊靠多應(yīng)用環(huán)境的邊緣拖拽或者移動應(yīng)用窗口或者其視覺表示。在這樣的情況下,應(yīng)用窗口向多應(yīng)用環(huán)境的邊緣中的接觸或移動可以“觸發(fā)”應(yīng)用窗口的放置或者其它變換。
在504處,確定多應(yīng)用環(huán)境中的其它應(yīng)用窗口的相應(yīng)尺寸和位置。在一些情況下,其它應(yīng)用窗口的相應(yīng)邊緣被標(biāo)識為區(qū)的互補或非互補邊緣。在這樣的情況下,這些相應(yīng)邊緣可以在逐軸線的基礎(chǔ)上標(biāo)識,諸如豎直軸線或水平軸線。當(dāng)沿兩個軸線標(biāo)識其它應(yīng)用的互補邊緣(例如,兩個鄰近應(yīng)用窗口)時,可以忽視水平軸線的邊緣。
可選地,在506處,確定其它應(yīng)用窗口的相應(yīng)狀態(tài)。沒有在多應(yīng)用環(huán)境內(nèi)分屏或者被其它窗口遮擋的應(yīng)用窗口可以在方法500的其它操作中忽視??商鎿Q地或者附加地,經(jīng)由另一個顯示器而最小化、最大化或呈現(xiàn)的應(yīng)用窗口也可以在方法500的其它操作中忽視。通過如此做,當(dāng)對應(yīng)用窗口定尺寸或定位以提供應(yīng)用窗口的最優(yōu)布局時,考慮多應(yīng)用環(huán)境的當(dāng)前分屏或主要窗口。在一些情況下,創(chuàng)建或者維護描述其它應(yīng)用窗口(例如,屏幕上的應(yīng)用窗口)的信息的數(shù)據(jù)結(jié)構(gòu)以及它們相應(yīng)狀態(tài)信息??梢栽L問或咨詢該數(shù)據(jù)結(jié)構(gòu)以確定在優(yōu)化應(yīng)用窗口的布局時考慮哪些應(yīng)用窗口。
在508處,基于其它應(yīng)用窗口的相應(yīng)尺寸和位置來確定用于應(yīng)用窗口的尺寸和位置。在一些情況下,還基于應(yīng)用窗口的屬性或偏好來確定窗口的尺寸和位置,諸如默認(rèn)縱橫比或最小尺寸。在其它情況下,可以考慮其它應(yīng)用窗口的屬性或偏好,以便維持其它應(yīng)用窗口之一的最小尺寸。
在一些實施例中,對應(yīng)用窗口定尺寸和定位以與其它應(yīng)用窗口對齊,所述其他應(yīng)用窗口鄰近于在其中選擇應(yīng)用窗口以用于呈現(xiàn)的區(qū)。例如,應(yīng)用窗口可以定尺寸為與鄰近應(yīng)用窗口的互補邊緣對齊。當(dāng)其它應(yīng)用窗口中的兩個鄰近于該區(qū)時,應(yīng)用窗口可以定尺寸到豎直鄰近窗口的兩個互補邊緣。這樣的示例在圖6的示例工作空間600中圖示,其包括鄰近于角落區(qū)606的應(yīng)用窗口602和604。此處,針對應(yīng)用窗口608確定尺寸和位置,使得應(yīng)用窗口與應(yīng)用窗口604對準(zhǔn)。
可替換地,如果另一個應(yīng)用窗口不是豎直鄰近,則應(yīng)用窗口可以定尺寸到水平鄰近窗口。這通過示例工作空間610圖示,其包括水平鄰近于半?yún)^(qū)614的應(yīng)用窗口612。此處,針對應(yīng)用窗口616確定尺寸和位置,使得應(yīng)用窗口與應(yīng)用窗口612的互補邊緣對準(zhǔn)。
另外,當(dāng)鄰近應(yīng)用窗口不具有區(qū)中的互補邊緣時,應(yīng)用窗口可以定尺寸和定位成與鄰近窗口的非互補邊緣對齊。這通過示例工作空間618圖示,其包括鄰近于角落622的應(yīng)用窗口620。此處,針對應(yīng)用窗口624確定尺寸和位置,以使應(yīng)用窗口與應(yīng)用窗口620的非互補邊緣對準(zhǔn)。
附加地,當(dāng)另一個應(yīng)用窗口不鄰近于該區(qū)時,應(yīng)用窗口可以定尺寸到非鄰近區(qū)的互補邊緣。這通過示例工作空間626圖示,其包括不鄰近于角落630的應(yīng)用窗口628。此處,針對應(yīng)用632確定尺寸和位置,以使應(yīng)用窗口與應(yīng)用窗口628的互補邊緣對準(zhǔn)。
可替換地,當(dāng)不存在其它邊緣或者應(yīng)用窗口時,應(yīng)用窗口可以定尺寸和定位到多應(yīng)用環(huán)境的預(yù)限定區(qū)域,諸如四分之一區(qū)域或一半?yún)^(qū)域。這在圖7的示例工作空間700和702中圖示,其不包括鄰近應(yīng)用窗口或者具有互補邊緣的那些窗口。在工作空間700中,應(yīng)用窗口704分屏到工作空間的一半并且與角落706相對地定位。因此,確定尺寸和位置,使得應(yīng)用窗口708半分屏到工作空間700的上部區(qū)中。在工作空間702中,當(dāng)應(yīng)用窗口710移動到半?yún)^(qū)中時,不存在其它應(yīng)用窗口。相應(yīng)地,確定尺寸和位置,使得窗口710可以分屏到工作空間708的半分屏區(qū)域中。
可選地,在510處,更改其它應(yīng)用窗口之一的相應(yīng)尺寸或位置。在一些情況下,基于另一個應(yīng)用窗口的屬性或偏好來確定另一個應(yīng)用窗口的尺寸或位置,所述屬性或偏好諸如默認(rèn)縱橫比或最小尺寸。更改另一個應(yīng)用窗口可以包括對另一個應(yīng)用窗口移動或定尺寸以適應(yīng)或填充多應(yīng)用環(huán)境的預(yù)限定區(qū)域,諸如四分之一區(qū)域或一半?yún)^(qū)域。
在一些實施例中,這對使得能夠?qū)崿F(xiàn)應(yīng)用窗口交換是有效的,諸如當(dāng)應(yīng)用窗口和另一個應(yīng)用窗口類似地定尺寸時。這樣的示例在圖7的工作空間712和714中圖示,其中響應(yīng)于半分屏和四分之一分屏邊緣觸發(fā)動作(觸發(fā))而分別發(fā)起應(yīng)用窗口交換。在工作空間712中,經(jīng)由應(yīng)用窗口718接收半分屏邊緣觸發(fā)716以將應(yīng)用窗口移動到工作空間712的右邊緣。
此處,應(yīng)用窗口720和722重新定位到工作空間712的左邊緣,由此使得能夠與應(yīng)用窗口718實現(xiàn)位置交換。在工作空間714中,經(jīng)由應(yīng)用窗口726接收四分之一分屏邊緣觸發(fā)724以將應(yīng)用窗口移動到工作空間714的左上角落。此處,應(yīng)用窗口728重新定位到工作空間714的左下角落,由此使得能夠與應(yīng)用窗口726實現(xiàn)位置交換。
確定何時發(fā)起應(yīng)用窗口交換的示例算法是基于移動應(yīng)用窗口之一的輸入。當(dāng)與運動垂直的應(yīng)用窗口的邊緣組件相同時,應(yīng)用窗口可以交換。換言之,當(dāng)沿X軸線移動應(yīng)用窗口時,Y軸線上的應(yīng)用窗口邊緣必須匹配。對于對角運動,該算法可以應(yīng)用兩次,在每一個軸線方向上應(yīng)用一次。沿每一個軸線的基于向量的運動可以通過將運動映射回邊緣觸發(fā)或者其它方向輸入來確定。
在512處,以所確定的尺寸和位置來呈現(xiàn)應(yīng)用窗口以完成窗口的放置。在一些情況下,應(yīng)用窗口放置在占據(jù)所選區(qū)的另一個應(yīng)用窗口上。在這樣的情況下,另一個應(yīng)用窗口可以被降級到多應(yīng)用環(huán)境的另一個首位層(例如,在z堆疊中更深的層)??商鎿Q地或者附加地,應(yīng)用窗口可以以預(yù)限定的尺寸分屏到區(qū)中,以占據(jù)多應(yīng)用環(huán)境的四分之一區(qū)域或一半?yún)^(qū)域。
另外,方法300或500可以實現(xiàn)為對現(xiàn)有分屏窗口或最大化窗口重新定尺寸。對這些窗口重新定尺寸可以使用任何適合的輸入來發(fā)起,諸如半分屏或四分之一分屏邊緣觸發(fā)。在一些情況下,除邊緣觸發(fā)或窗口拖拽輸入之外,響應(yīng)于接收附加輸入而啟用這些操作,諸如鼠標(biāo)按鈕或鍵盤輸入(例如,ALT按鍵)。
圖8圖示了對分屏應(yīng)用窗口重新定尺寸的示例,其參照工作空間800和802示出。工作空間800包括應(yīng)用窗口804和應(yīng)用窗口806,其最初在工作空間中最大化。此處,半分屏邊緣觸發(fā)808將應(yīng)用窗口810定位和定尺寸到工作空間800的一半?yún)^(qū)域。響應(yīng)于此,窗口管理器132將應(yīng)用窗口806重新定尺寸到工作空間800的另一個一半?yún)^(qū)域。
作為另一個示例,考慮工作空間802,其包括占據(jù)工作空間802的一半?yún)^(qū)域的應(yīng)用窗口810和應(yīng)用窗口812。此處,四分之一分屏邊緣觸發(fā)811將應(yīng)用窗口810定位和定尺寸到工作空間802的四分之一區(qū)域。響應(yīng)于此,窗口管理器132將應(yīng)用窗口812重新定尺寸到工作空間802的鄰近四分之一區(qū)域。這些僅僅是可以如何實現(xiàn)方法300和500以對分屏應(yīng)用窗口定位或定尺寸的幾個示例。
基于區(qū)對應(yīng)用窗口定尺寸和定位
圖9描繪了用于應(yīng)用窗口的基于區(qū)的定尺寸的方法900,其包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200、以及在本文其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在902處,在具有預(yù)限定區(qū)域的用戶接口中呈現(xiàn)應(yīng)用窗口。應(yīng)用窗口可以呈現(xiàn)在預(yù)限定區(qū)域之一中或者預(yù)限定區(qū)域之上。每一個預(yù)限定區(qū)域與用戶接口的區(qū)對應(yīng)。在一些情況下,用戶接口的區(qū)(例如,邊緣)用于觸發(fā)應(yīng)用窗口向預(yù)限定區(qū)域(例如,四分之一)中的對應(yīng)一個中的放置。用戶接口的這些區(qū)可以是默認(rèn)區(qū),諸如屏幕邊緣,或者是包括屏幕的任何區(qū)段的用戶限定的區(qū)。在一些情況下,預(yù)限定的區(qū)域可以具有用戶接口內(nèi)的相關(guān)聯(lián)的尺寸或位置,諸如四分之一尺寸、一半尺寸、最大化尺寸、最小化尺寸等。用戶接口可以實現(xiàn)為多應(yīng)用環(huán)境。
作為示例,考慮圖10,其圖示了示例預(yù)限定區(qū)域和對應(yīng)區(qū)。僅作為示例,預(yù)限定區(qū)域被圖示為分屏區(qū)域,其可以均勻地或者非均勻地跨工作空間的區(qū)段劃分。例如,圖10的工作空間1000包括半分屏區(qū)域1002和半分屏區(qū)域1004,其分別對應(yīng)邊緣區(qū)1006和邊緣區(qū)1008。
示例工作空間1010包括四分之一區(qū)域,諸如四分之一分屏區(qū)域1012、1014、1016和1018,其分別對應(yīng)于角落區(qū)1020、1022、1024和1026。角落區(qū)可以限定為方形或圓角(例如,角落區(qū)1026),并且可以具有預(yù)限定的尺寸,諸如大概25個像素的寬度或半徑。其它示例半?yún)^(qū)域在工作空間1028中示出,其包括半分屏區(qū)域1030和半分屏區(qū)域1032。邊緣區(qū)1034可以與工作空間的最大化區(qū)域?qū)?yīng),或者在縱向取向的顯示器的情況下,可以與半分屏區(qū)域1030對應(yīng)。最后,半分屏區(qū)域1032與沿工作空間1028的底部定位的邊緣區(qū)1036對應(yīng)。
在一些實施例中,區(qū)的尺寸可以取決于預(yù)期的輸入類型而更改。例如,當(dāng)接收到更為精確的輸入時,諸如鼠標(biāo)輸入,區(qū)可以具有較小的尺寸,因為用戶可以容易地緊密結(jié)合意圖的區(qū)。在其它情況下,當(dāng)接收到較不精確的輸入(諸如觸摸輸入或手勢輸入)時,區(qū)(例如,邊緣區(qū)或者角落邊緣)的尺寸可以增大??商鎿Q地或者附加地,區(qū)的尺寸可以基于顯示器拓撲而更改,諸如在顯示器的邊緣相遇的地方提供較大的區(qū)以使得能夠?qū)崿F(xiàn)更加精確的區(qū)選擇。
在904處,基于預(yù)限定區(qū)域之一,更改應(yīng)用窗口的尺寸。響應(yīng)于將應(yīng)用窗口移動到與預(yù)限定區(qū)域?qū)?yīng)的區(qū)中的輸入,而更改應(yīng)用窗口的尺寸。在一些情況下,將應(yīng)用窗口定位成占據(jù)預(yù)限定區(qū)域的部分或全部。移動應(yīng)用窗口的輸入可以包括任何適合的輸入,諸如通過應(yīng)用窗口所接收的邊緣觸發(fā)或者方向輸入(例如,拖拽)。例如,將應(yīng)用窗口拖拽到角落區(qū)中使得應(yīng)用窗口定尺寸到對應(yīng)于角落區(qū)的四分之一中。因而,應(yīng)用窗口可以通過將該窗口移動到對應(yīng)區(qū)而定尺寸到工作空間的任何預(yù)限定區(qū)域。
圖11描繪了用于應(yīng)用窗口的基于區(qū)的定尺寸和定位的方法1100,所述方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200、以及在本文其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在1102處,接收輸入以在具有預(yù)限定區(qū)域的用戶接口內(nèi)移動應(yīng)用窗口。所接收的輸入可以包括任何適合類型的輸入,諸如鍵盤敲擊、方向輸入、手勢輸入等。例如,輸入可以包括經(jīng)由鼠標(biāo)或者一個或多個按鈕敲擊的應(yīng)用的選擇和拖拽,諸如WindowsTM按鍵和箭頭鍵。在其它實例中,應(yīng)用可以被拖拽到與預(yù)限定區(qū)域之一對應(yīng)的區(qū)中。
在1104處,基于應(yīng)用窗口的狀態(tài)和輸入,來選擇用戶接口的預(yù)限定區(qū)域。應(yīng)用窗口的狀態(tài)可以包括當(dāng)前尺寸、當(dāng)前位置、在z堆疊中的當(dāng)前深度、或者由應(yīng)用窗口占據(jù)的當(dāng)前預(yù)限定區(qū)域。預(yù)限定區(qū)域可以包括任何預(yù)限定區(qū)域,諸如用戶限定的區(qū)域或者本文描述的其它預(yù)限定的區(qū)域,諸如分屏區(qū)域。在一些實施例中,預(yù)限定的區(qū)域還可以是重疊的并且具有窗口的z堆疊中的可定制的深度。通過這樣做,可以創(chuàng)建變化的首位或深度的應(yīng)用窗口布局。
使用應(yīng)用窗口的狀態(tài)可以使得能夠?qū)崿F(xiàn)應(yīng)用窗口的動態(tài)定尺寸和定位。作為示例,應(yīng)用窗口狀態(tài)或預(yù)限定區(qū)域的選擇可以使用狀態(tài)機確定。在一些情況下,基于所接收的輸入和應(yīng)用窗口的當(dāng)前狀態(tài),訪問狀態(tài)機可以選擇用于應(yīng)用窗口的下一預(yù)限定區(qū)域或下一狀態(tài)。
考慮圖12,其圖示了用于動態(tài)地選擇用于應(yīng)用窗口的預(yù)限定區(qū)域或狀態(tài)的示例狀態(tài)機1200。此處,圖例1202指示響應(yīng)于所接收的相應(yīng)輸入而發(fā)生哪些狀態(tài)轉(zhuǎn)變,諸如箭頭鍵被按壓而同時按住WindowsTM鍵。如通過狀態(tài)機1200的狀態(tài)所示,預(yù)限定區(qū)域可以通過錄入一系列鍵擊以達到對應(yīng)狀態(tài)來選擇。在該特定示例中,狀態(tài)機1200包括用于一半?yún)^(qū)域的狀態(tài),諸如左半部1204、右半部1206、劃分頂部1208和劃分底部1210。狀態(tài)機還包括用于四分之一區(qū)域的狀態(tài),諸如左上四分之一1212、左下四分之一1214、右上四分之一1216和右下四分之一1218。另外,狀態(tài)機1200的其它預(yù)限定區(qū)域或狀態(tài)也是可選擇的并且包括最小化1220、恢復(fù)1222和最大化1224??商鎿Q地或者附加地,用戶可以映射一個或多個狀態(tài)或者其它按鍵組合,以定制工作空間的用戶限定區(qū)域。
返回到手頭的方法,在1106處,應(yīng)用窗口的尺寸和位置更改成使得應(yīng)用窗口將填充預(yù)限定區(qū)域。在一些情況下,對應(yīng)用窗口定尺寸以填充用戶接口的四分之一區(qū)域或者一半?yún)^(qū)域。在其它情況下,應(yīng)用窗口可以在當(dāng)前呈現(xiàn)的應(yīng)用窗口的z堆疊中最小化或者降級得更深。如上文所指出,預(yù)限定區(qū)域可以是用戶限定的,諸如用戶接口或者多應(yīng)用環(huán)境的中心處的降下區(qū)。
作為示例,考慮圖13的工作空間1300,其圖示了定制降下區(qū)域1302、1304和1306。這些定制降下區(qū)域可以由用戶限定并且映射到區(qū)(例如,工作空間中部的區(qū))或按鍵組合使得應(yīng)用窗口的尺寸和位置更改以填充降下區(qū)域。這些降下區(qū)域可以以任何適合的方式配置,諸如通過將應(yīng)用窗口的尺寸、位置或z堆疊中的深度存儲為工作空間的用戶限定區(qū)域。
可選地,在1108處,預(yù)覽應(yīng)用窗口以明顯地指示應(yīng)用窗口的經(jīng)更改的尺寸和位置。應(yīng)用窗口的預(yù)覽可以被示為應(yīng)用窗口或其內(nèi)容的透光(或部分透明)表示。在一些情況下,接收附加輸入,其確認(rèn)應(yīng)用窗口在預(yù)限定區(qū)域中的所預(yù)覽的放置。在這樣的情況下,方法500可以響應(yīng)于提交所預(yù)覽的應(yīng)用窗口的輸入而前進到操作1110。
可替換地,附加輸入可以選擇預(yù)限定區(qū)域中的另一個,在限定區(qū)域中的另一個中呈現(xiàn)應(yīng)用接口。這可以有效地使方法500返回到操作1102,以用于選擇另一個預(yù)限定區(qū)域。在又其它情況下,附加輸入可以以強加于應(yīng)用窗口或其預(yù)覽上的連續(xù)拖拽或不活動的形式接收。響應(yīng)于這種連續(xù)拖拽或不活動(例如,進入邊緣區(qū)中),應(yīng)用窗口的預(yù)覽可以在預(yù)限定區(qū)域中重新定尺寸或者定尺寸到另一個預(yù)限定區(qū)域。
在1110處,以更改的尺寸和位置在用戶接口的預(yù)限定區(qū)域中呈現(xiàn)應(yīng)用窗口。在一些情況下,依照與用戶接口的預(yù)限定區(qū)相關(guān)聯(lián)的深度,在z堆疊中以特定深度呈現(xiàn)應(yīng)用窗口。以更改的尺寸和位置呈現(xiàn)應(yīng)用可以有效地填充預(yù)限定區(qū)域。這樣的示例通過工作空間1308圖示,其中對搜索應(yīng)用1310定尺寸和定位以填充降下區(qū)域1302。在圖13的上下文中,方法1100的操作可以重復(fù)以分別利用圖像應(yīng)用1312和記事本應(yīng)用1314填充降下區(qū)域1304和1306。
用于應(yīng)用窗口的動態(tài)聯(lián)合劃分器
圖14描繪了用于在應(yīng)用窗口之間建立聯(lián)合劃分器的方法1400,所述方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200以及在本文中其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在1402處,在多應(yīng)用環(huán)境的第一應(yīng)用窗口和第二應(yīng)用窗口之間建立聯(lián)合劃分器。聯(lián)合劃分器響應(yīng)于第一應(yīng)用窗口的邊緣接觸(例如,在沒有重疊的情況下觸碰)第二應(yīng)用窗口的邊緣而建立。在一些情況下,聯(lián)合劃分器沿接觸的每一個應(yīng)用窗口的相應(yīng)區(qū)段而建立。在其它情況下,聯(lián)合劃分器沿每一個相應(yīng)應(yīng)用窗口的整個長度來建立,而不管應(yīng)用窗口之間的接觸量如何。應(yīng)用窗口的邊緣之間的接觸可以由任何適合的操作引起,諸如對多應(yīng)用環(huán)境中的應(yīng)用窗口之一進行移動、分屏、添加或者定尺寸。聯(lián)合劃分器還可以沿應(yīng)用窗口的任何可見邊緣而建立。在一些情況下,建立聯(lián)合劃分器可以限于分屏應(yīng)用窗口并且排除非分屏或浮動的應(yīng)用窗口。
在一些實施例中,聯(lián)合劃分器建立在沿一個或多個邊緣彼此接觸的多個應(yīng)用窗口之間。例如,當(dāng)兩個應(yīng)用窗口的相應(yīng)邊緣接觸第三應(yīng)用窗口的邊緣時,可以建立單個聯(lián)合劃分器??商鎿Q地,當(dāng)應(yīng)用窗口在應(yīng)用窗口的相應(yīng)角落處彼此接觸時,可以形成復(fù)雜聯(lián)合劃分器??商鎿Q地或者附加地,建立聯(lián)合劃分器將應(yīng)用窗口分組(或相關(guān))在一起,從而使得能夠在分組式應(yīng)用窗口上執(zhí)行操作。例如,分組式應(yīng)用窗口可以打開、關(guān)閉、最小化、重新定尺寸、向/自…切換或者一起移動。另外,對分組式應(yīng)用窗口解除分組可以使之前分組的應(yīng)用窗口返回到其相應(yīng)原始狀態(tài)。在一些情況下,分組式應(yīng)用窗口一起呈現(xiàn)在切換可視件中,諸如開始菜單、應(yīng)用管理UI或者熱鍵切換器(例如,ALT+Tab或者WindowsTM+Tab)。
在兩個或更多應(yīng)用窗口的相應(yīng)邊緣彼此接觸的任何時間和任何地方,可以建立聯(lián)合劃分器。作為示例,考慮圖15,其圖示了工作空間1500、1502和1504中的各種聯(lián)合劃分器。工作空間1500包括在四分之一分屏應(yīng)用窗口之間建立的聯(lián)合劃分器1506以及在四分之一分屏應(yīng)用窗口與半分屏應(yīng)用窗口之間建立的聯(lián)合劃分器1508。如在工作空間1502中所示,聯(lián)合劃分器還可以建立在遮擋的應(yīng)用窗口之間,其中應(yīng)用劃分器1510建立在部分遮擋和分屏的應(yīng)用窗口之間。另外,應(yīng)用劃分器1512建立在遮擋和浮動的應(yīng)用窗口之間,所述遮擋和浮動的應(yīng)用窗口沒有處于應(yīng)用窗口的z堆疊中的最高層級。
在1404處,呈現(xiàn)了由第一應(yīng)用窗口和第二應(yīng)用窗口共享的聯(lián)合劃分器。呈現(xiàn)聯(lián)合劃分器可以包括提供聯(lián)合劃分器的視覺或觸覺指示。例如,視覺指示呈現(xiàn)在共享聯(lián)合劃分器的應(yīng)用窗口的邊緣之上。在其它情況下,聯(lián)合劃分器呈現(xiàn)在共享聯(lián)合劃分器的兩個應(yīng)用窗口之間。在這樣的情況下,一個或兩個應(yīng)用窗口的邊緣可以減小,以提供在其中呈現(xiàn)聯(lián)合劃分器的空間??商鎿Q地或者附加地,可以使用觸覺反饋(例如,隆起或波浪)來指示聯(lián)合劃分器的存在。在一些情況下,響應(yīng)于接近聯(lián)合劃分器的輸入或光標(biāo)運動而呈現(xiàn)聯(lián)合劃分器。
在一些實施例中,還呈現(xiàn)聯(lián)合分離控件或可視件以使得能夠禁用聯(lián)合劃分器。聯(lián)合分離控件可以呈現(xiàn)在聯(lián)合劃分器的區(qū)段、聯(lián)合控件的邊緣或者聯(lián)合控件的兩個邊緣之上。在一些情況下,聯(lián)合分離控件使得用戶能夠“解開”聯(lián)合劃分器,這使得能夠?qū)崿F(xiàn)之前共享聯(lián)合劃分器的應(yīng)用窗口的單獨定尺寸或移動。聯(lián)合劃分器還可以通過其它操作而禁用,諸如雙擊聯(lián)合劃分器、點擊聯(lián)合劃分器而同時按住按鍵(例如,CTRL),或者通過經(jīng)由不是聯(lián)合劃分器的部分的邊緣對應(yīng)用窗口定尺寸或移動。
聯(lián)合劃分器可以響應(yīng)于在應(yīng)用窗口之間建立聯(lián)合劃分器而呈現(xiàn)??商鎿Q地,聯(lián)合劃分器可以在沒有呈現(xiàn)的情況下存在,直至接收到接近聯(lián)合劃分器的輸入或光標(biāo)移動。圖16圖示了響應(yīng)于光標(biāo)移動而呈現(xiàn)聯(lián)合劃分器的示例。光標(biāo)的移動在開始于工作空間1600中的所圖示的工作空間的進展中示出,其包括應(yīng)用窗口1602、應(yīng)用窗口1604和光標(biāo)1606。
如工作空間1608中所示,光標(biāo)1606的移動可以基于接近閾值1610來檢測。接近閾值1610可以配置成具有任何適合的維度,諸如距聯(lián)合劃分器10個像素,并且可以基于所接收的輸入的類型重新配置。如工作空間1612中所示,當(dāng)光標(biāo)1606跨過接近閾值1610時,聯(lián)合劃分器1614和聯(lián)合分離控件1616呈現(xiàn)在應(yīng)用窗口1602和1604的接觸邊緣之上。
在1406處,經(jīng)由聯(lián)合劃分器接收更改第一應(yīng)用窗口和第二應(yīng)用窗口的相應(yīng)尺寸的輸入。所接收的輸入可以包括任何適合類型的輸入,諸如經(jīng)由光標(biāo)移動所接收的方向輸入、觸摸輸入或箭頭按鍵。作為示例,考慮圖17的示例工作空間1700,其包括由應(yīng)用窗口1704和1706共享的聯(lián)合劃分器1702。在該特定示例中,聯(lián)合劃分器1702還包括聯(lián)合分離控件,以使得能夠?qū)崿F(xiàn)應(yīng)用窗口1704和1706的單獨定尺寸。此處,經(jīng)由光標(biāo)1710接收在橫向方向上對應(yīng)用窗口1704和1706定尺寸的輸入。
在1408處,響應(yīng)于輸入而同時更改第一應(yīng)用窗口和第二應(yīng)用窗口的相應(yīng)尺寸。應(yīng)用窗口的相應(yīng)尺寸可以在接收到輸入(諸如,方向光標(biāo)移動)時更改。例如,應(yīng)用窗口的更改的尺寸可以通過沿其中接收輸入的軸線滑動聯(lián)合劃分器而明顯地指示。因而,滑動聯(lián)合劃分器可以明顯地指示第一和第二應(yīng)用窗口的同時定尺寸。
可替換地或者附加地,聯(lián)合劃分器可以展現(xiàn)針對沿工作空間的邊緣的中點的吸引或親和(例如,磁力)。這可以有效地幫助用戶在對稱布局中對窗口定尺寸。在一些情況下,對于沿工作空間的邊緣的點的吸引可以響應(yīng)于按鍵輸入(例如,按住CTRL按鍵)而停用。
在圖17的上下文中,基于聯(lián)合劃分器1702的運動而將應(yīng)用窗口1704和1706定尺寸到在工作空間1712中示出的位置。在該特定示例中,還圖示了聯(lián)合分離控件的特征。此處,經(jīng)由聯(lián)合分離控件1708接收對應(yīng)用窗口1704獨立定尺寸的附加輸入。如所示的,從光標(biāo)1710接收的輸入在相反橫向方向上對應(yīng)用窗口1704定尺寸。作為結(jié)果,如在工作空間1714中所示,應(yīng)用窗口1704與應(yīng)用窗口1706分離,從而禁用聯(lián)合劃分器并且定尺寸以暴露之前遮擋的應(yīng)用窗口1716。
圖18描繪了用于利用聯(lián)合劃分器對應(yīng)用窗口定尺寸和定位的方法1800,所述方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200、以及在本文中其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在1802處,在第一應(yīng)用窗口和第二應(yīng)用窗口之間共享的聯(lián)合劃分器呈現(xiàn)在多應(yīng)用環(huán)境中。呈現(xiàn)聯(lián)合劃分器可以包括提供聯(lián)合劃分器的視覺或觸覺指示。例如,在共享聯(lián)合劃分器的應(yīng)用窗口的邊緣之上或之間呈現(xiàn)視覺指示。附加地或者可替換地,可以使用觸覺反饋(例如,隆起或波浪)來指示聯(lián)合劃分器的存在。作為示例,考慮圖19的工作空間1900,其中應(yīng)用窗口1902和應(yīng)用窗口1904共享聯(lián)合劃分器1906。此處,聯(lián)合劃分器1906明顯地指示在應(yīng)用窗口1902和應(yīng)用窗口1904的接觸邊緣之上。
在1804處,經(jīng)由聯(lián)合劃分器接收增大第一應(yīng)用窗口的尺寸的輸入。在一些情況下,增大第一應(yīng)用窗口的尺寸的輸入可以指示在朝向第二應(yīng)用窗口的方向上增大第一應(yīng)用窗口的尺寸。在這樣的情況下,取決于第二應(yīng)用窗口關(guān)于工作空間的邊緣的位置,輸入可以指示將第二應(yīng)用定尺寸、移動或者降級到窗口的z堆疊中更深處。例如,可以移動沒有觸碰多應(yīng)用環(huán)境的邊緣的應(yīng)用窗口,而不是對其定尺寸。
所接收的輸入可以包括任何適合類型的輸入,諸如經(jīng)由光標(biāo)移動所接收的方向輸入、觸摸輸入或者箭頭按鍵。在當(dāng)前示例的上下文中,經(jīng)由如在圖19的工作空間1900中所示的應(yīng)用劃分器接收方向輸入。此處,注意應(yīng)用窗口1904沒有與工作空間1900的邊緣接觸,并且因而在沒有定尺寸的情況下可移動。
在1806處,響應(yīng)于所接收的輸入,增大第一應(yīng)用窗口的尺寸。當(dāng)?shù)谝粦?yīng)用窗口的尺寸增大時,第二應(yīng)用窗口同時移動,從而有效地維持第二應(yīng)用窗口的尺寸。第二應(yīng)用窗口的移動可以繼續(xù)直至遇到多應(yīng)用環(huán)境的邊緣。繼續(xù)進行中的示例,應(yīng)用窗口1902的尺寸增大而同時應(yīng)用窗口1904朝向工作空間1908的邊緣移動。
操作1808、1810和1812可選并且可以響應(yīng)于附加輸入或者第一應(yīng)用窗口的尺寸中的進一步增大而執(zhí)行。在1808處,響應(yīng)于第二應(yīng)用窗口的邊緣遇到多應(yīng)用環(huán)境的邊緣,減小第二應(yīng)用窗口的尺寸。在第一應(yīng)用窗口的尺寸繼續(xù)增大的同時,減小第二應(yīng)用窗口的尺寸發(fā)生。第二應(yīng)用窗口的尺寸可以減小直至達到最小窗口尺寸。在圖19的上下文中,這在層視圖1908中圖示,其中聯(lián)合劃分器1906的連續(xù)移動增大應(yīng)用窗口1902的尺寸并且減小應(yīng)用窗口1904的尺寸。
在1810處,響應(yīng)于第二應(yīng)用窗口的尺寸達到最小尺寸,準(zhǔn)許第一應(yīng)用窗口與第二應(yīng)用窗口重疊。一旦達到第二應(yīng)用窗口的最小尺寸,第一應(yīng)用的前進邊緣就開始與第二應(yīng)用窗口重疊。應(yīng)用窗口的最小尺寸可以通過與應(yīng)用用戶接口相關(guān)聯(lián)的應(yīng)用、操作系統(tǒng)或者用戶輸入來限定。繼續(xù)進行中的示例,應(yīng)用窗口1904的最小尺寸由在層視圖1910中所示的聯(lián)合劃分器1906達到。響應(yīng)于此,并且如在層視圖1912中所圖示的,應(yīng)用窗口1902的前進邊緣開始與應(yīng)用窗口1904重疊。
在1812處,響應(yīng)于聯(lián)合劃分器遇到多應(yīng)用環(huán)境的邊緣,將第二應(yīng)用窗口降級到多應(yīng)用環(huán)境的另一個層。在一些情況下,將第二應(yīng)用窗口推進得更深到應(yīng)用窗口的z堆疊中??商鎿Q地或者附加地,第二應(yīng)用窗口的尺寸可以恢復(fù)到默認(rèn)尺寸或者移動之前的尺寸。這可以有效地使得第二應(yīng)用窗口能夠恢復(fù)或切換到?jīng)]有重新定尺寸。總結(jié)當(dāng)前示例,應(yīng)用窗口1904以經(jīng)恢復(fù)的尺寸降級到工作空間的下一層。因而,應(yīng)用窗口1904可以恢復(fù)或者切換到?jīng)]有重新定尺寸。
聯(lián)合劃分器還可以建立在多個應(yīng)用窗口之間并且可以稱之為復(fù)雜聯(lián)合劃分器。多個應(yīng)用窗口的定尺寸或移動可以通過關(guān)于方法1400或1800描述的操作而實現(xiàn)。作為示例,考慮圖20,其包括圖示了建立在多個應(yīng)用窗口之間的聯(lián)合劃分器的示例工作空間2000和2002。在工作空間2000的上下文中,聯(lián)合劃分器2004使得能夠?qū)?yīng)用窗口2006和2008定尺寸,其鄰近彼此并且共享聯(lián)合劃分器2004。在應(yīng)用窗口2006、2008和2012的邊緣之間共享的聯(lián)合劃分器2010使得能夠?qū)λ腥齻€應(yīng)用窗口定尺寸。
該方面可以擴展到如在工作空間2002中示出的四個應(yīng)用窗口,其包括應(yīng)用窗口2014、2016、2018和2020。在該示例中,聯(lián)合劃分器2022、2024、2026和2028各自使得能夠?qū)蚕磉吘壍钠湎鄳?yīng)鄰近窗口定尺寸。例如,聯(lián)合劃分器2022對應(yīng)用窗口2014和2016定尺寸,但是不對應(yīng)用窗口2018或2020定尺寸??商鎿Q地或者附加地,當(dāng)對多個窗口定尺寸時,聯(lián)合劃分器可以響應(yīng)于將多個窗口之一定尺寸到最小尺寸而分離或“解開”。
復(fù)雜聯(lián)合劃分器還可以實現(xiàn)成維持窗口的獨立性或者局部化對特定窗口的改變。例如,考慮圖20的工作空間2030、2032和2034,其圖示了共享聯(lián)合劃分器的三個浮動應(yīng)用窗口。此處,應(yīng)用窗口2036、2038和2040共享聯(lián)合劃分器2042。如在工作空間2030中所示,經(jīng)由應(yīng)用窗口2036和2038所共享的聯(lián)合劃分器2042的區(qū)段而接收的輸入2044對那些應(yīng)用窗口定尺寸,但是不對應(yīng)用窗口2038定尺寸。這種獨立定尺寸的另一個示例在工作空間2032中示出,其中輸入2046對應(yīng)用窗口2040,而不對應(yīng)用窗口2036和2038定尺寸??商鎿Q地,如在工作空間2034中所示的,經(jīng)由應(yīng)用窗口2038和2040所共享的聯(lián)合劃分器的區(qū)段而接收的輸入2048可以對這些應(yīng)用窗口定尺寸。
聯(lián)合劃分器還可以組合地實現(xiàn)以提供聯(lián)合角落。聯(lián)合角落使得能夠?qū)崿F(xiàn)一個或兩個軸線上的應(yīng)用窗口定尺寸并且可以對共享聯(lián)合角落的至少兩個應(yīng)用窗口定尺寸。圖20圖示了在工作空間2100和2102中所示的角落聯(lián)合的各種示例。在工作空間2100中,角落聯(lián)合2104使得能夠在兩個軸線上對應(yīng)用窗口2106、2108、2110和2112定尺寸。
在一些情況下,當(dāng)兩個應(yīng)用窗口共享角落并且不是公共邊緣時,可以建立聯(lián)合角落。這樣的示例通過工作空間2102圖示,其中應(yīng)用窗口2114和2116在角落處相遇并且共享聯(lián)合角落2118。此處,聯(lián)合角落2118使得能夠在兩個軸線上對應(yīng)用窗口2114和2116定尺寸。如聯(lián)合劃分器那樣,聯(lián)合角落可以響應(yīng)于達到應(yīng)用窗口最小尺寸或者其它適當(dāng)輸入而禁用,諸如按鍵輸入或者從不是聯(lián)合角落的部分的邊緣拖拽應(yīng)用窗口。
每當(dāng)應(yīng)用窗口的邊緣接觸或觸碰彼此時可以建立聯(lián)合角落。窗口管理器132可以通過追蹤各個窗口的角落或者兩個鄰近邊緣,來建立或者維持聯(lián)合角落。返回到圖21,考慮包括應(yīng)用窗口2122、2124和2126的示例工作空間2120。這些窗口中的每一個包括角落,在所述角落中相應(yīng)邊緣中的兩個相遇。此處,窗口管理器132追蹤邊緣2128、2130和2132以建立或者維持用于這些應(yīng)用窗口的聯(lián)合角落。
窗口管理器132還可以追蹤各個應(yīng)用窗口的邊緣以建立或者維持聯(lián)合劃分器。作為示例,考慮圖22,其中工作空間2200包括應(yīng)用窗口2202和2204。應(yīng)用窗口2202和2204共享聯(lián)合劃分器2206,并且因而可以通過經(jīng)由聯(lián)合劃分器所接收的輸入定尺寸。為了使得能夠?qū)崿F(xiàn)定尺寸或者其它聯(lián)合劃分器操作,窗口管理器132可以構(gòu)建獨立性鏈,以追蹤應(yīng)用窗口的各個邊緣。
在圖22的上下文中,并且如在詳細視圖2208中所示,聯(lián)合劃分器2206包括應(yīng)用窗口2202的邊緣2210和應(yīng)用窗口2204的邊緣2212。此處,光標(biāo)2214懸停在應(yīng)用窗口2204的邊緣2212上,并且窗口管理器132可以關(guān)于邊緣2212和光標(biāo)2214的位置構(gòu)建獨立性鏈。從邊緣2212開始,窗口管理器確定哪些其它應(yīng)用窗口邊緣與邊緣2212接觸。此處,如在詳細視圖2216中所示的,確定邊緣2210在接觸邊緣2212,并且因而受聯(lián)合劃分器2206所影響。
可替換地或者附加地,當(dāng)執(zhí)行聯(lián)合劃分器操作時,可以忽略并且忽視非相鄰邊緣。例如,在詳細視圖2218中,窗口管理器132確定應(yīng)用窗口2220和2222的邊緣與邊緣2212接觸。然而,由于介入應(yīng)用窗口2226,確定應(yīng)用窗口2224的邊緣不與邊緣2212接觸,并且可以忽視。如在詳細視圖2228中所示,應(yīng)用窗口2226還可以被確定為不接觸邊緣2212并且還可以針對聯(lián)合劃分器操作而忽視。
圖23在詳細視圖2300處進一步圖示了邊緣依賴性的示例,其中確定應(yīng)用窗口2304的邊緣2302要與應(yīng)用窗口2308的邊緣2306接觸。從應(yīng)用窗口2304,窗口管理器132可以從邊緣依賴性鏈中的下一應(yīng)用窗口的視角進行確定接觸。此處,確定應(yīng)用窗口2312的邊緣2310要與應(yīng)用窗口2308的邊緣2306接觸。在詳細視圖2314中,由輸入2316發(fā)起的尺寸操作通過依賴性鏈傳播并且使每一個接觸應(yīng)用窗口相應(yīng)地定尺寸或移動。
應(yīng)用窗口的輔助呈現(xiàn)
圖24描繪了用于在多應(yīng)用環(huán)境的可用區(qū)中呈現(xiàn)可選應(yīng)用窗口的方法2400,包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200、以及在本文中其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在2402處,在多應(yīng)用環(huán)境的可用區(qū)中呈現(xiàn)應(yīng)用窗口的視覺表示。視覺表示對應(yīng)于可選擇或者適用于在可用區(qū)域中呈現(xiàn)的應(yīng)用窗口,諸如可以定尺寸成完全占據(jù)可用區(qū)的應(yīng)用窗口。應(yīng)用窗口的視覺表示可以包括應(yīng)用窗口的文本、圖標(biāo)或者減小尺寸的圖像,諸如縮略圖像。這些減小尺寸的圖像可以明顯地指示應(yīng)用窗口內(nèi)容或者之前呈現(xiàn)的內(nèi)容的預(yù)覽。
在一些實施例中,應(yīng)用窗口的視覺表示經(jīng)由可用區(qū)中的提示或者其它應(yīng)用選擇接口而呈現(xiàn)。在一些情況下,視覺表示響應(yīng)于在多應(yīng)用環(huán)境的另一個區(qū)中呈現(xiàn)另一個應(yīng)用而呈現(xiàn),諸如在四分之一區(qū)域或一半?yún)^(qū)域中呈現(xiàn)另一個應(yīng)用的分屏操作。在其它情況下,響應(yīng)于經(jīng)由應(yīng)用選擇控件所接收的輸入來呈現(xiàn)視覺表示,諸如調(diào)用提示或者應(yīng)用選擇接口的控件。應(yīng)用選擇控件可以實現(xiàn)為沿可用區(qū)域的邊緣附近的懸停區(qū)或圖形標(biāo)簽。
應(yīng)用選擇控件還可以響應(yīng)于光標(biāo)移動或者“推進”至多應(yīng)用環(huán)境的邊緣區(qū)中的其它輸入而呈現(xiàn)。推進運動可以包括雙推運動或者在工作空間或屏幕區(qū)域的距離之上的運動。在一些情況下,使用特定準(zhǔn)則檢測推進運動,以避免將與邊緣的無意接觸(例如,滾動滾動條)識別為推進運動。例如,一旦光標(biāo)的運動在邊緣區(qū)處或者正好在邊緣區(qū)內(nèi)暫停,則進一步向邊緣區(qū)中的隨后“推進”(例如,雙推)可以調(diào)用應(yīng)用選擇控件。可替換地,如果光標(biāo)離開邊緣區(qū)、暫停長度沒有滿足預(yù)限定的閾值、或者光標(biāo)繼續(xù)移動通過邊緣區(qū)而沒有暫停,則可以不調(diào)用應(yīng)用選擇控件。
在一些實施例中,還可以考慮在遇到邊緣區(qū)之前的光標(biāo)的運動??梢宰粉櫣鈽?biāo)運動的豎直和水平分量以確定光標(biāo)是否跨工作空間行進得足夠遠或者以充足角度進入行進到邊緣區(qū)中。作為示例,當(dāng)遇到水平邊緣時,可以響應(yīng)于確定光標(biāo)行進至少150個豎直像素并且在邊緣區(qū)內(nèi)更為豎直地而不是水平地移動,來調(diào)用應(yīng)用選擇控件。類似準(zhǔn)則可以應(yīng)用于豎直邊緣區(qū),諸如通過確定光標(biāo)在邊緣區(qū)內(nèi)更為水平地而不是豎直地移動??商鎿Q地或者附加地,光標(biāo)移動或者其它輸入可以由狀態(tài)機追蹤,該狀態(tài)機配置為響應(yīng)于滿足這些準(zhǔn)則而調(diào)用或者觸發(fā)應(yīng)用選擇控件的呈現(xiàn)。
作為示例,考慮圖25,其中圖示了多應(yīng)用環(huán)境的示例工作空間2500。工作空間2500包括應(yīng)用窗口2502、可用區(qū)2504和任務(wù)欄2506。在該特定示例中,應(yīng)用選擇提示2508呈現(xiàn)在可用區(qū)2504中,該可用區(qū)還包括應(yīng)用選擇控件2510。應(yīng)用選擇控件25010的更詳細視圖在2512處提供并且包括去除控件2514。
應(yīng)用選擇控件2510實現(xiàn)為沿可用區(qū)2504的邊緣的懸停區(qū)并且響應(yīng)于接近光標(biāo)2516(或者觸摸輸入)而出現(xiàn)。懸停區(qū)可以具有預(yù)限定的寬度或區(qū)域,諸如沿工作空間的邊緣的10到25個像素。應(yīng)用選擇控件2510使得用戶能夠觸發(fā)或者調(diào)用應(yīng)用選擇提示2508,其然后可以以上下文方式將所有有效應(yīng)用窗口呈現(xiàn)給用戶??商鎿Q地或者附加地,去除控件2415使得能夠臨時地去除(或隱藏)應(yīng)用選擇提示2508或者直至隨后接近光標(biāo)或其它輸入。此處,假設(shè)用戶已經(jīng)輕擊應(yīng)用選擇控件2510以調(diào)用應(yīng)用選擇提示2508。響應(yīng)于該輸入,呈現(xiàn)應(yīng)用選擇提示2508并且該提示包括用戶最近訪問的應(yīng)用窗口的視覺表示(例如,縮略圖像)。
可替換地或者附加地,應(yīng)用窗口的視覺表示可以響應(yīng)于在多應(yīng)用環(huán)境的另一個區(qū)中呈現(xiàn)另一個應(yīng)用窗口而呈現(xiàn)。這可以有效地使得用戶能夠容易地選擇用于可用區(qū)的應(yīng)用窗口之一,以完成多應(yīng)用環(huán)境中的應(yīng)用窗口的布局。
這樣的示例在圖25的工作空間2518中示出,其中經(jīng)由應(yīng)用窗口2522接收邊緣觸發(fā)2520。邊緣觸發(fā)2520使應(yīng)用窗口2522半分屏到工作空間2518的邊緣,并且應(yīng)用窗口2252呈現(xiàn)在半分屏區(qū)中。該示例圖示了僅僅一個示例,其中邊緣觸發(fā)或與邊緣的其它接觸可以有效地引起應(yīng)用窗口向與邊緣對應(yīng)的預(yù)限定區(qū)域中的呈現(xiàn)或“分屏”。此處,注意非分屏(例如,浮動的)應(yīng)用窗口2524在應(yīng)用窗口2522的半分屏操作之前部分遮擋。響應(yīng)于半分屏區(qū)中的應(yīng)用窗口2522的呈現(xiàn),對應(yīng)于非分屏應(yīng)用窗口2524的視覺表示2528呈現(xiàn)在應(yīng)用選擇提示2528中。
在2404處,在可用區(qū)中呈現(xiàn)應(yīng)用窗口之一。響應(yīng)于接收到選擇視覺表示中的對應(yīng)一個的輸入,而呈現(xiàn)應(yīng)用窗口。在一些情況下,選擇視覺表示的輸入經(jīng)由其它應(yīng)用選擇用戶接口來接收,諸如應(yīng)用管理UI、開始菜單或者基于按鍵的應(yīng)用切換器(例如,ALT+Tab按鍵)。
對應(yīng)用窗口定尺寸和定位以填充或者完全地占據(jù)可用區(qū)。在呈現(xiàn)應(yīng)用窗口之前,可以呈現(xiàn)應(yīng)用窗口的預(yù)覽以明顯地指示應(yīng)用窗口在可用區(qū)內(nèi)的尺寸和位置。在圖25和工作空間2500的上下文中,用戶輕擊電子郵件應(yīng)用拼塊2530將使對應(yīng)電子郵件應(yīng)用填充可用區(qū)2504。因而,在單個輕擊輸入的情況下,用戶能夠方便地優(yōu)化工作空間的布局。
圖26描繪了用于標(biāo)識要在其中呈現(xiàn)應(yīng)用窗口的多應(yīng)用環(huán)境的可用區(qū)的方法2600,該方法包括通過窗口管理器132或多應(yīng)用環(huán)境模塊118執(zhí)行的操作。在以下討論的部分中,可以參照圖1的系統(tǒng)100、圖2的操作環(huán)境200、以及在本文中其它地方描述的其它方法和示例實施例,但對上述的引用僅僅是以示例做出的。
在2602處,標(biāo)識多應(yīng)用環(huán)境的可用區(qū)。可用區(qū)可以包括其中可以呈現(xiàn)應(yīng)用接口的任何適當(dāng)?shù)膮^(qū),諸如工作空間或屏幕的矩形區(qū)??捎脜^(qū)的標(biāo)識可以響應(yīng)于多應(yīng)用環(huán)境的另一個區(qū)中的另一個應(yīng)用窗口的呈現(xiàn)而執(zhí)行。另一個應(yīng)用窗口可以經(jīng)由任何適合的操作而呈現(xiàn)在另一個區(qū)中,諸如分屏操作、經(jīng)由動態(tài)聯(lián)合劃分器定尺寸、或者基于區(qū)定尺寸。在一些情況下,可用區(qū)被標(biāo)識為不包括未遮擋窗口的區(qū)或者可能完全被應(yīng)用窗口占據(jù)的區(qū)。可替換地或者附加地,針對多應(yīng)用環(huán)境的主要或最前面的一個層標(biāo)識可用區(qū)(例如,z堆疊的頂部)。
考慮圖27,其中工作空間2700一般地在2702處呈現(xiàn),并且包括應(yīng)用窗口2702、2704、2706和2708,后面三個被應(yīng)用窗口2702部分遮擋。此處,假設(shè)經(jīng)由應(yīng)用窗口2702接收半分屏邊緣觸發(fā)2710,應(yīng)用窗口2702然后分屏到工作空間2700的右半部,如在2712處所示。響應(yīng)于該分屏操作,窗口管理器132將工作空間2700的左半部標(biāo)識為可用區(qū)域2714。
可選地,在2604處,確定可選擇用于在可用區(qū)中呈現(xiàn)的應(yīng)用窗口。這些應(yīng)用窗口可以包括任何適合的應(yīng)用窗口,諸如被遮擋、部分遮擋、最小化、或者與另一個有效或打開的應(yīng)用窗口成組的應(yīng)用窗口。用于選擇的候選應(yīng)用窗口還可以是可定尺寸的以填充可用區(qū),所以可以排除固定尺寸的應(yīng)用窗口和分屏到其它區(qū)的應(yīng)用窗口。
在2606處,在可用區(qū)中呈現(xiàn)應(yīng)用窗口的視覺表示。這些應(yīng)用窗口包括可選擇用于在可用區(qū)中呈現(xiàn)的那些應(yīng)用窗口。應(yīng)用窗口的視覺表示可以包括應(yīng)用窗口的文本、圖標(biāo)或者減小尺寸的圖像,諸如縮略圖像。這些減小尺寸的圖像可以明顯地指示應(yīng)用窗口內(nèi)容或者之前呈現(xiàn)的內(nèi)容的預(yù)覽。在當(dāng)前示例的上下文中,并且如在2712處所示,窗口管理器132在工作空間2700的可用區(qū)2714中呈現(xiàn)應(yīng)用窗口2704、2706和2708的視覺表示(諸如減小尺寸的圖像)。
可替換地或者附加地,確定用于應(yīng)用窗口的視覺表示的次序或布局。該次序或布局可以基于應(yīng)用窗口的任何特性或?qū)傩詠泶_定,諸如最頻繁使用、最近使用、名稱、標(biāo)題、尺寸、z堆疊中的位置、或者與另一個有效或打開的應(yīng)用窗口成組。
在2608處,經(jīng)由視覺表示中的對應(yīng)一個接收選擇應(yīng)用窗口之一的輸入。輸入可以包括任何適合的輸入,諸如光標(biāo)輸入、手勢輸入或觸摸輸入。在一些情況下,觸摸輸入包括輕擊或四分之一分屏或半分屏到可用區(qū)中。繼續(xù)進行中的示例,經(jīng)由應(yīng)用窗口2706的視覺表示來接收四分之一分屏觸發(fā)2716。
在2610處,至少在可用區(qū)的部分中,呈現(xiàn)所選應(yīng)用窗口。對應(yīng)用窗口定尺寸和定位以填充或者完全地占據(jù)可用區(qū)。在呈現(xiàn)應(yīng)用窗口之前,可以呈現(xiàn)應(yīng)用窗口的預(yù)覽以明顯地指示應(yīng)用窗口在可用區(qū)內(nèi)尺寸和位置??蛇x地,方法2600的操作可以重復(fù)地執(zhí)行以填充多應(yīng)用環(huán)境的其它可用區(qū)。通過如此做,可以以最小用戶交互提供應(yīng)用窗口的最優(yōu)布局。
在一些實施例中,應(yīng)用窗口可以選擇用于用戶并且在沒有用戶輸入的情況下呈現(xiàn)在可用區(qū)中。例如,如果應(yīng)用窗口與另一個區(qū)中的另一個應(yīng)用窗口配對,則可以響應(yīng)于另一個區(qū)中的另一個應(yīng)用窗口的呈現(xiàn)而呈現(xiàn)所配對的應(yīng)用窗口。應(yīng)用窗口還可以基于用于確定哪些應(yīng)用可選擇用于呈現(xiàn)的準(zhǔn)則而自動地選擇,諸如最近用戶或者最頻繁使用的應(yīng)用窗口。
總結(jié)當(dāng)前示例,如在2718處所示的,窗口管理器132對應(yīng)用窗口2706定尺寸和定位以填充工作空間2700的四分之一。另外,窗口管理器132然后可以標(biāo)識工作空間2700的可用區(qū)2720,其中要呈現(xiàn)應(yīng)用窗口2704和2708的視覺表示。此處,假設(shè)經(jīng)由應(yīng)用窗口2708的視覺表示接收輕擊輸入2722。作為響應(yīng),如在2724處所示的,窗口管理器132對應(yīng)用窗口2708定尺寸和定位以填充工作空間2700的四分之一區(qū)。因而,在輸入的僅僅三個實例的情況下,已經(jīng)在工作空間2700中提供應(yīng)用窗口的布局。
這些方法的方面可以實現(xiàn)在硬件(例如,固定邏輯電路)、固件、片上系統(tǒng)(SoC)、軟件、手動處理或者其任何組合中。軟件實現(xiàn)表示程序代碼,所述程序代碼在由計算機處理器執(zhí)行時實施指定任務(wù),該軟件實現(xiàn)諸如是軟件、應(yīng)用、例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、進程、模塊、功能等。程序代碼可以存儲在一個或多個計算機可讀存儲器設(shè)備中,在計算機處理器本地和/或遠離計算機處理器二者。方法還可以在分布式計算環(huán)境中通過多個計算設(shè)備來實踐。
示例設(shè)備
圖28圖示了示例設(shè)備2800的各種組件,其可以實現(xiàn)為任何類型的客戶端、服務(wù)器和/或如參照之前圖1-28描述的計算設(shè)備以實現(xiàn)使得能夠輔助呈現(xiàn)應(yīng)用窗口的技術(shù)。在實施例中,設(shè)備2800可以實現(xiàn)為有線和/或無線設(shè)備中的一個或組合,作為電視客戶端設(shè)備(例如,電視機頂盒、數(shù)字視頻刻錄機(DVR)等)、消費者設(shè)備、計算機設(shè)備、服務(wù)器設(shè)備、便攜式計算機設(shè)備、用戶設(shè)備、通信設(shè)備、視頻處理和/或渲染設(shè)備、電器設(shè)備、游戲設(shè)備、電子設(shè)備的形式,和/或作為另一類型的設(shè)備。設(shè)備2800還可以與用戶(例如,人)和/或操作設(shè)備的實體相關(guān)聯(lián),以使得設(shè)備描述包括用戶、軟件、固件和/或設(shè)備的組合的邏輯設(shè)備。
設(shè)備2800包括通信設(shè)備2802,所述通信設(shè)備使得能夠?qū)崿F(xiàn)設(shè)備數(shù)據(jù)2804(例如,所接收的數(shù)據(jù)、正接收的數(shù)據(jù)、安排廣播的數(shù)據(jù)、數(shù)據(jù)的數(shù)據(jù)分組等)的有線和/或無線通信。設(shè)備數(shù)據(jù)2804或其它設(shè)備內(nèi)容可以包括設(shè)備的配置設(shè)置、存儲在設(shè)備上的媒體內(nèi)容和/或與設(shè)備的用戶相關(guān)聯(lián)的信息。存儲在設(shè)備2800上的媒體內(nèi)容可以包括任何類型的音頻、視頻和/或圖像數(shù)據(jù)。設(shè)備2800包括一個或多個數(shù)據(jù)輸入2806,經(jīng)由該一個或多個數(shù)據(jù)輸入可以接收任何類型的數(shù)據(jù)、媒體內(nèi)容和/或輸入,諸如用戶可選擇的輸入、消息、音樂、電視媒體內(nèi)容、錄制的視頻內(nèi)容、以及從任何內(nèi)容和/或數(shù)據(jù)源接收的任何其它類型的音頻、視頻和/或圖像數(shù)據(jù)。
設(shè)備2800還包括通信接口2808,其可以實現(xiàn)為串行和/或并行接口、無線接口、任何類型的網(wǎng)絡(luò)接口、調(diào)制解調(diào)器中的任何一個或多個,以及任何其它類型的通信接口。通信接口2808提供設(shè)備2800和通信網(wǎng)絡(luò)之間的連接和/或通信鏈接,通過所述通信網(wǎng)絡(luò)其它電子、計算和通信設(shè)備與設(shè)備2800傳遞數(shù)據(jù)。
設(shè)備2800包括一個或多個處理器2810(例如,任何微處理器、控制器等),其處理各種計算機可執(zhí)行指令以控制設(shè)備2800的操作并且使得技術(shù)能夠?qū)崿F(xiàn)多應(yīng)用環(huán)境??商鎿Q地或者此外,設(shè)備2800可以以硬件、固件或固定邏輯電路中的任何一個或組合而實現(xiàn),其結(jié)合一般地在2812處標(biāo)識的處理和控制電路來實現(xiàn)。盡管沒有示出,但是設(shè)備2800可以包括系統(tǒng)總線或數(shù)據(jù)傳遞系統(tǒng),其耦合設(shè)備內(nèi)的各種組件。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)中的任何一個或組合,諸如存儲器總線或存儲器控制器、外圍總線、通用串行總線、和/或利用任何各種總線架構(gòu)的處理器或局部總線。
設(shè)備2800還包括計算機可讀存儲介質(zhì)2814,諸如使得能夠?qū)崿F(xiàn)持久性和/或非暫時性數(shù)據(jù)存儲的一個或多個存儲器設(shè)備(例如,相比于單純的信號傳送),其示例包括隨機存取存儲器(RAM)、非易失性存儲器(例如,只讀存儲器(ROM)、閃速存儲器、EPROM、EEPROM等中的任何一個或多個)以及盤存儲設(shè)備。盤存儲設(shè)備可以實現(xiàn)為任何類型的磁性或光學(xué)存儲設(shè)備,諸如硬盤驅(qū)動、可錄制和/或可再寫壓縮盤(CD)、任何類型的數(shù)字多用盤(DVD)等。設(shè)備2800還可以包括大容量存儲介質(zhì)設(shè)備2816。
計算機可讀存儲介質(zhì)2814提供數(shù)據(jù)存儲機構(gòu)以存儲設(shè)備數(shù)據(jù)2804,以及各種設(shè)備應(yīng)用2818和涉及設(shè)備2800的操作方面的任何其它類型的信息和/或數(shù)據(jù)。例如,操作系統(tǒng)2820可以利用計算機可讀存儲介質(zhì)2814而維持為計算機應(yīng)用并且在處理器2810上執(zhí)行。設(shè)備應(yīng)用2818可以包括設(shè)備管理器,諸如任何形式的控制應(yīng)用、軟件應(yīng)用、信號處理和控制模塊、特定設(shè)備本機的代碼、用于特定設(shè)備的硬件抽象層等。
設(shè)備應(yīng)用2818還包括任何系統(tǒng)組件或模塊以實現(xiàn)技術(shù),諸如包括多應(yīng)用環(huán)境模塊118、系統(tǒng)接口模塊120、輸入模塊122、(多個)應(yīng)用124、應(yīng)用管理器128和窗口管理器132的設(shè)備應(yīng)用2818。
總結(jié)
盡管已經(jīng)以具體到特征和/或方法的語言描述了使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的技術(shù)和裝置的實施例,但是要理解到,隨附權(quán)利要求的主題未必限于所描述的具體特征或方法。相反,具體特征和方法被公開為使得能夠?qū)崿F(xiàn)應(yīng)用窗口的輔助呈現(xiàn)的示例實現(xiàn)。