TWI844216B - Windows arrangement system, windows arrangement method and windows arrangement program - Google Patents
Windows arrangement system, windows arrangement method and windows arrangement program Download PDFInfo
- Publication number
- TWI844216B TWI844216B TW111150776A TW111150776A TWI844216B TW I844216 B TWI844216 B TW I844216B TW 111150776 A TW111150776 A TW 111150776A TW 111150776 A TW111150776 A TW 111150776A TW I844216 B TWI844216 B TW I844216B
- Authority
- TW
- Taiwan
- Prior art keywords
- window
- desktop
- arrangement
- windows
- window arrangement
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 28
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims abstract description 32
- 230000004913 activation Effects 0.000 claims abstract description 24
- 238000005457 optimization Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- OCKGFTQIICXDQW-ZEQRLZLVSA-N 5-[(1r)-1-hydroxy-2-[4-[(2r)-2-hydroxy-2-(4-methyl-1-oxo-3h-2-benzofuran-5-yl)ethyl]piperazin-1-yl]ethyl]-4-methyl-3h-2-benzofuran-1-one Chemical compound C1=C2C(=O)OCC2=C(C)C([C@@H](O)CN2CCN(CC2)C[C@H](O)C2=CC=C3C(=O)OCC3=C2C)=C1 OCKGFTQIICXDQW-ZEQRLZLVSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Abstract
Description
本發明係有關於窗編排系統、視窗編排方法以及視窗編排程式產品。The present invention relates to a window layout system, a window layout method and a window layout program product.
隨著處理器的效能越來越強大,使用者在電腦的作業系統中配置多個桌面或虛擬桌面並在各個桌面中開啟多個視窗已成為常態。例如,軟體開發人員在進行開發時,通常需要開啟複數網頁、手冊文件、開發平台等多個視窗,並在複數個桌面或虛擬桌面中編排成方便快速切換閱覽的形式。此外,例如硬體或韌體開發人員、影音工作者、編輯人員、創作工作者或文書處理人員等也可能遇到需要編排多個桌面與視窗的情況。As processors become more powerful, it has become common for users to configure multiple desktops or virtual desktops in the computer operating system and open multiple windows in each desktop. For example, when developing software, software developers usually need to open multiple web pages, manual documents, development platforms and other windows, and arrange them in multiple desktops or virtual desktops to facilitate quick switching and browsing. In addition, hardware or firmware developers, audio and video workers, editors, creative workers or word processing personnel may also encounter the need to arrange multiple desktops and windows.
由於在工作中開啟的視窗或虛擬桌面數量可能非常龐大,編排多個桌面與視窗所耗費的時間也很可觀。舉例而言,軟體開發人員每次佈置工作環境時,從開啟各個所需視窗,到將各個視窗安排在各個桌面上,並調整視窗大小使視窗便於閱讀,可能會耗費數十分鐘,嚴重影響工作效率。目前並無任何先前技術可以改善此問題。Since the number of windows or virtual desktops opened at work may be very large, the time spent on arranging multiple desktops and windows is also considerable. For example, every time a software developer sets up a work environment, it may take tens of minutes to open each required window, arrange each window on each desktop, and adjust the window size to make it easy to read, which seriously affects work efficiency. Currently, no previous technology can improve this problem.
有鑑於此,本發明提出一種視窗編排系統、視窗編排方法以及視窗編排程式產品,可以偵測並推論使用者的桌面及視窗編排,協助使用者快速建立工作環境。In view of this, the present invention proposes a window arrangement system, a window arrangement method and a window arrangement program product, which can detect and infer the user's desktop and window arrangement, and help the user quickly establish a working environment.
本發明的一實施例提供一種視窗編排系統,包括:一記憶裝置,用以儲存一應用程式;以及一處理裝置,執行該應用程式以實現一視窗偵測模組以及一視窗編排推論模組;其中:該視窗偵測模組,偵測一作業系統中的桌面/視窗狀態是否符合一視窗編排啟動條件,該桌面/視窗狀態包括該作業系統中的桌面之數量以及各該桌面中的視窗;該視窗編排推論模組,在該桌面/視窗狀態符合該視窗編排啟動條件時,將關於該桌面/視窗狀態的資訊輸入該視窗編排推論模型並輸出一視窗編排推論結果,並將該視窗編排推論結果回傳給該視窗偵測模組以編排該桌面/視窗狀態。An embodiment of the present invention provides a window arrangement system, comprising: a memory device for storing an application program; and a processing device for executing the application program to implement a window detection module and a window arrangement inference module; wherein: the window detection module detects whether the desktop/window state in an operating system meets a window arrangement activation condition, and the desktop/window state includes The number of desktops in the operating system and the windows in each desktop; the window arrangement inference module inputs information about the desktop/window state into the window arrangement inference model and outputs a window arrangement inference result when the desktop/window state meets the window arrangement activation condition, and returns the window arrangement inference result to the window detection module to arrange the desktop/window state.
在該實施例中該視窗偵測模組可以在編排該桌面/視窗狀態後,偵測一桌面/視窗變更資訊,並將該桌面/視窗變更資訊傳送給一優化模組;該優化模組根據該桌面/視窗變更資訊重新訓練該視窗編排推論模型。In this embodiment, the window detection module can detect desktop/window change information after arranging the desktop/window state, and transmit the desktop/window change information to an optimization module; the optimization module retrains the window arrangement inference model according to the desktop/window change information.
本發明的另一實施例提供一種視窗編排方法,包括:偵測一作業系統中的桌面/視窗狀態是否符合一視窗編排啟動條件,該桌面/視窗狀態包括該作業系統中的桌面之數量以及各該桌面中的視窗;在該桌面/視窗狀態符合該視窗編排啟動條件時,將關於該桌面/視窗狀態的一資訊輸入視窗編排推論模型並輸出一視窗編排推論結果,並根據該視窗編排推論結果編排該桌面/視窗狀態。Another embodiment of the present invention provides a window arrangement method, including: detecting whether a desktop/window state in an operating system meets a window arrangement activation condition, the desktop/window state including the number of desktops in the operating system and the windows in each of the desktops; when the desktop/window state meets the window arrangement activation condition, inputting information about the desktop/window state into a window arrangement inference model and outputting a window arrangement inference result, and arranging the desktop/window state according to the window arrangement inference result.
在該實施例中可以在編排該桌面/視窗狀態後,偵測一桌面/視窗變更資訊,並根據該桌面/視窗變更資訊重新訓練該視窗編排推論模型。In this embodiment, after arranging the desktop/window state, a desktop/window change information can be detected, and the window arrangement inference model can be retrained according to the desktop/window change information.
本發明的另一實施例提供用以在電腦中執行以下處理:一視窗偵測處理,偵測一作業系統中的一桌面/視窗狀態是否符合一視窗編排啟動條件,該桌面/視窗狀態包括該作業系統中的桌面之數量以及各該桌面中的視窗,並接收一視窗編排推論結果;一視窗編排推論處理,在該桌面/視窗狀態符合該視窗編排啟動條件時,將關於該桌面/視窗狀態的資訊輸入該視窗編排推論模型並輸出該視窗編排推論結果,並根據該視窗編排推論結果編排該桌面/視窗狀態。Another embodiment of the present invention provides for executing the following processing in a computer: a window detection process, detecting whether a desktop/window state in an operating system meets a window arrangement activation condition, the desktop/window state including the number of desktops in the operating system and the windows in each of the desktops, and receiving a window arrangement inference result; a window arrangement inference process, when the desktop/window state meets the window arrangement activation condition, inputting information about the desktop/window state into the window arrangement inference model and outputting the window arrangement inference result, and arranging the desktop/window state according to the window arrangement inference result.
在該實施例中可以更包括一優化處理;其中該視窗偵測處理在編排該桌面/視窗狀態後,偵測一桌面/視窗變更資訊;該優化處理根據該桌面/視窗變更資訊重新訓練該視窗編排推論模型。The embodiment may further include an optimization process, wherein the window detection process detects desktop/window change information after arranging the desktop/window state; the optimization process retrains the window arrangement inference model according to the desktop/window change information.
以下,參照隨附圖式詳細說明根據本發明之實施例。所揭露的實施例僅為例示,本發明的範圍不限於此。Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. The disclosed embodiments are merely illustrative, and the scope of the present invention is not limited thereto.
本發明的實施例1為視窗編排系統1。視窗編排系統1藉由包括至少一處理裝置11的電腦裝置實現。電腦裝置中的處理裝置11與記憶裝置12連接,透過執行儲存於記憶裝置12中的程式,運行視窗編排系統1。記憶裝置12可以為記憶體或儲存裝置。執行視窗編排系統1時,可以將儲存於儲存裝置的程式載入到記憶體中,再由處理裝置11執行。
舉例而言,處理裝置為中央處理單元(Central Processing Unit,CPU)、數位訊號處理器(Digital Signal Processor,DSP)、圖形處理單元(Graphics Processing Unit,GPU)、視覺處理單元(Vision Processing Unit,VPU)、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)及/或現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)等硬體的邏輯運算裝置,也可以為上述邏輯運算裝置之組合。For example, the processing device is a hardware logic operation device such as a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), a vision processing unit (VPU), an application specific integrated circuit (ASIC) and/or a field programmable gate array (FPGA), or a combination of the above logic operation devices.
記憶體為暫時儲存資料的記憶裝置。具體例子為靜態隨機存取記憶體(Static Random Access Memory,SRAM)或動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。Memory is a storage device that temporarily stores data. Specific examples are static random access memory (SRAM) or dynamic random access memory (DRAM).
儲存裝置為保管資料的記憶裝置,具體例子為固態硬碟(Solid State Drive,SSD)。儲存裝置也可以是硬碟(Hard Disk Drive,HDD)、快閃記憶體等。A storage device is a memory device that stores data, and a specific example is a solid state drive (SSD). A storage device can also be a hard disk drive (HDD), a flash memory, etc.
傳輸介面為在處理裝置、記憶體以及儲存裝置等硬體間傳輸資料的硬體介面,具體例子為匯流排、訊號線、有線網路及/或無線網路等。The transmission interface is a hardware interface for transmitting data between hardware such as processing devices, memory and storage devices. Specific examples include buses, signal cables, wired networks and/or wireless networks.
參照第1圖說明本發明的實施例1之構成。視窗編排系統1包括視窗偵測模組111以及視窗編排推論模組112。視窗偵測模組111以及視窗編排推論模組112藉由一電腦的處理裝置(例如中央處理單元)執行軟體(例如記憶裝置中之一或多個應用程式)所實現。另外,視窗偵測模組111可以取得電腦的處理裝置所運行之作業系統中的桌面與視窗之資訊。以下,詳細說明視窗偵測模組111以及視窗編排推論模組112。Referring to FIG. 1, the structure of the
視窗偵測模組111偵測作業系統中的桌面/視窗狀態。桌面/視窗狀態為在作業系統中目前的桌面(包括虛擬桌面)之數量以及在各桌面中顯示的視窗。其中,作業系統中的桌面與虛擬桌面之畫面內容可以被儲存於記憶裝置12中。此外,在處理裝置11連接多個顯示器時,作業系統中可以儲存多個顯示器之桌面的畫面內容。使用者可以透過作業系統依據需要切換不同的桌面或虛擬桌面,顯示於顯示器上。另外,桌面/視窗狀態也可以包含其他與桌面以及視窗有關的資訊。例如可以透過文字與物件辨識之AI模型辨識作業系統中的桌面以及視窗,藉此取得桌面/視窗狀態。或者,例如由視窗偵測模組111透過作業系統的應用程式介面(例如winAPI、Linux Kernal API等)請求作業系統回傳有關桌面/視窗狀態的資訊,例如目前各桌面與各虛擬桌面中開啟的視窗,以及各視窗之位置、尺寸等,作為桌面/視窗狀態。The
第2圖為桌面/視窗狀態的示意圖。在本實施例中,假設桌面以及虛擬桌面的大小為1920x1080像素。第2圖中,顯示作業系統中包含兩個桌面,桌面T1以及虛擬桌面VT1。其中桌面T1顯示視窗T1W1、視窗T1W2以及視窗T1W3,其中視窗T1W3重疊於視窗T1W1以及視窗T1W2之上。桌面VT1只顯示視窗VT1W1。在本實施例中,桌面/視窗狀態只包括顯示於桌面以及虛擬桌面中的視窗。在實施例1的變形例中,桌面/視窗狀態也可以包括縮小的視窗(隱藏於工具列中的視窗),例如第2圖中桌面T1中的縮小視窗T1HW1、T1HW2、T1HW3,以及桌面VT1中的縮小視窗VT1HW1。FIG. 2 is a schematic diagram of the desktop/window status. In this embodiment, it is assumed that the size of the desktop and the virtual desktop is 1920x1080 pixels. In FIG. 2, the display operating system includes two desktops, desktop T1 and virtual desktop VT1. Desktop T1 displays windows T1W1, window T1W2, and window T1W3, wherein window T1W3 overlaps window T1W1 and window T1W2. Desktop VT1 only displays window VT1W1. In this embodiment, the desktop/window status only includes windows displayed on the desktop and the virtual desktop. In a variation of
當視窗偵測模組111偵測到桌面/視窗狀態符合視窗編排啟動條件時,視窗偵測模組111將桌面/視窗狀態傳送給視窗編排推論模組112。視窗編排啟動條件被設計為使用者佈置工作環境之桌面及視窗時通常會出現的桌面/視窗狀態,以利於在使用者準備佈置工作環境時,幫助使用者開啟虛擬桌面以及視窗,增進使用者的工作效率。在本實施例中,視窗編排啟動條件為僅有一個虛擬桌面且該虛擬桌面中只有一個視窗程式,或其中一個桌面或虛擬桌面中有複數視窗重疊。亦即,只要桌面/視窗狀態符合上述兩個條件中的其中一者,就將桌面/視窗狀態傳送給視窗編排推論模組112作為輸入。When the
視窗編排推論模組112中包括視窗編排推論模型M。視窗編排推論模型M為人工智慧(AI)模型,接收桌面/視窗狀態作為輸入,並輸出視窗編排推論結果。關於訓練窗編排推論模型M的詳細說明將在之後的段落中詳細描述。The window
視窗編排推論模組112接收到關於桌面/視窗狀態的資訊時,將關於桌面/視窗狀態的資訊作為視窗編排推論模型M的輸入進行推論。推論完成後,視窗編排推論模型M輸出視窗編排推論結果。視窗編排推論模組112將視窗編排推論結果回傳給視窗偵測模組111。視窗編排推論結果包括以下中至少一者:新增虛擬桌面清單、新增視窗路徑清單、新增網頁網址清單以及虛擬桌面編號。其中,新增虛擬桌面清單為推論出需要新增之虛擬桌面的清單。此外,各個桌面以及虛擬桌面也可以具有桌面編號,以區別不同的桌面。新增視窗路徑清單為在各桌面及/或虛擬桌面中需要新增之視窗之路徑。新增網頁網址清單在各桌面及/或虛擬桌面中需要新增之網頁視窗的網址。When the window
視窗偵測模組111接收到視窗編排推論結果後,根據視窗編排推論結果重新編排桌面/視窗狀態。亦即,視窗偵測模組111根據視窗編排推論結果,調整儲存在記憶裝置12中的虛擬桌面之數量以及各桌面(包括虛擬桌面)中顯示的視窗。例如,可以根據視窗編排推論結果中的新增虛擬桌面清單、新增視窗路徑清單、新增網頁網址清單以及虛擬桌面編號新增虛擬桌面、在各桌面中新增視窗、在各桌面中移動視窗、或在各桌面之間移動視窗等。另外,在一個桌面或虛擬桌面中包括複數視窗的情況下,可以平均分配桌布空間給各個視窗。或者,若視窗編排推論模型M有針對使用者偏好的視窗編排方式進行學習,也可以根據視窗編排推論結果調整各桌面中的視窗大小及位置。After receiving the window arrangement inference result, the
以上,說明了本發明的實施例1。接下來,說明視窗編排推論模型M之訓練方法的例子。The above describes the first embodiment of the present invention. Next, an example of a method for training the window arrangement inference model M will be described.
視窗編排推論模型M之訓練可以在運行視窗編排系統1之電腦裝置有連接網路時進行。訓練視窗編排推論模型M時,處理裝置11將當下開啟的視窗名稱以及各視窗所在的桌面編號作為輸入,透過網路傳送給伺服器(例如原始設備製造商伺服器(OEM Server)),在伺服器中進行訓練。接下來,在伺服器中,視窗編排推論模型M針對以下至少一者進行學習:開啟的視窗之間的關聯;視窗程式與網址來源路徑;以及視窗程式與網址所在的桌面編號。The training of the window arrangement inference model M can be performed when the computer device running the
詳細而言,開啟的視窗之間的關聯為各桌面及虛擬桌面中,所開啟的各個視窗之間是否經常同時出現。視窗編排推論模型M也可以學習(或記錄)視窗程式與網址來源路徑,以便在產生推論結果時,以正確的路徑開啟視窗程式或網頁。視窗編排推論模型M也可以學習(或記錄)各視窗程式及網址所在的桌面編號,以學習使用者偏好的桌面佈置方式、視窗編排方式以及視窗大小等。另外,訓練的參數不限於此,可以依據需要進行變更。舉例而言,訓練視窗編排推論模型M時,也可以對各個視窗進行分類。例如區分為應用程式視窗、網頁視窗、程式檔案視窗等。In detail, the association between open windows refers to whether the opened windows in each desktop and virtual desktop often appear at the same time. The window arrangement inference model M can also learn (or record) the window program and the URL source path so that when the inference result is generated, the window program or web page is opened with the correct path. The window arrangement inference model M can also learn (or record) the desktop number where each window program and URL is located to learn the user's preferred desktop layout, window arrangement, and window size. In addition, the training parameters are not limited to this and can be changed as needed. For example, when training the window arrangement inference model M, each window can also be classified. For example, they can be divided into application windows, web page windows, program file windows, etc.
舉例而言,視窗編排推論模型M可以是卷積神經網路(Convolutional Neural Network,CNN)、遞迴神經網路(Recurrent Neural Network,RNN)、深度神經網路(Deep Neural Network,DNN)、支持向量機(Support Vector Machine,SVM)或生成對抗網路(Generative Adversarial Network,GANs)等,但不限於此,可以是任何種類的AI模型。For example, the window arrangement inference model M can be a convolutional neural network (CNN), a recurrent neural network (RNN), a deep neural network (DNN), a support vector machine (SVM) or a generative adversarial network (GANs), etc., but is not limited to these and can be any type of AI model.
第3圖為本發明實施例1A之構成例的方塊圖。實施例1A與實施例1相較之下多了優化模組113。在本實施例中,優化模組113亦可藉由一電腦的處理裝置(例如中央處理單元)執行軟體(例如記憶裝置12中之一或多個應用程式)所實現。以下。針對實施例1與實施例1A的不同之處進行說明。FIG. 3 is a block diagram of an example of the structure of the embodiment 1A of the present invention. Compared with the
在視窗偵測模組111根據視窗編排推論結果重新編排桌面/視窗狀態後,視窗偵測模組111可以持續偵測桌面/視窗狀態是否被變更。在發生以下三種情況的其中之一或多者時,視窗偵測模組111將變更的各桌面及各視窗之資訊作成桌面/視窗變更資訊並傳送給優化模組113,以重新訓練視窗編排推理模型M:使用者關閉視窗、使用者在各桌面之間移動視窗以及視窗路徑開啟失敗。After the
在使用者關閉視窗的情況下,優化模組113可以降低視窗編排推論模型M中被關閉視窗之參數(例如程式名稱、網頁網址等)的權重,以降低下次被推論出來的機率。在使用者移動視窗,或視窗路徑開啟失敗的情況下,優化模組113可以更新視窗編排推論模型M中的資料集合。例如,將新的虛擬桌面編號、檔案或網頁的來源路徑等資訊更新到視窗編排推論模型M中。When the user closes the window, the
接下來,參照第4~5圖說明本發明的實施例2。實施例2為視窗編排方法,用以在電腦中進行桌面以及視窗之編排,包括視窗偵測步驟以及視窗編排推論步驟。本實施例中的步驟並非用以限制本發明的視窗編排方法,只要不脫離本發明的精神和範圍,本領域之通常知識者可以對上述步驟進行變更。舉例而言,可以省略部分步驟、重新排列各步驟的順序,或者新增其他步驟。Next, Embodiment 2 of the present invention is described with reference to FIGS. 4-5. Embodiment 2 is a window arrangement method for arranging a desktop and windows in a computer, including a window detection step and a window arrangement inference step. The steps in this embodiment are not intended to limit the window arrangement method of the present invention. As long as it does not deviate from the spirit and scope of the present invention, a person skilled in the art can make changes to the above steps. For example, some steps can be omitted, the order of the steps can be rearranged, or other steps can be added.
實施例2之視窗編排方法中的各步驟可以透過處理裝置實現。處理裝置實現視窗編排方法中之各步驟所執行的處理為視窗編排程式產品。Each step in the window layout method of Embodiment 2 can be implemented by a processing device. The processing performed by the processing device to implement each step in the window layout method is a window layout program product.
第4圖為本發明實施例2的流程圖。Figure 4 is a flow chart of Embodiment 2 of the present invention.
首先,處理裝置開始偵測作業系統中的桌面/視窗狀態(步驟S1)。桌面/視窗狀態為在作業系統中目前的桌面之數量以及在各桌面中顯示的視窗。例如處理裝置可以透過文字與物件辨識之AI模型辨識作業系統中的桌面以及視窗,藉此取得桌面/視窗狀態。或者,處理裝置可以透過作業系統的應用程式介面請求作業系統回傳與桌面/視窗狀態有關的資訊。例如,請求作業系統回傳目前各桌面與各虛擬桌面中開啟的視窗,以及各視窗之位置、尺寸等,作為桌面/視窗狀態。First, the processing device starts to detect the desktop/window status in the operating system (step S1). The desktop/window status is the number of desktops currently in the operating system and the windows displayed in each desktop. For example, the processing device can identify the desktops and windows in the operating system through an AI model of text and object recognition, thereby obtaining the desktop/window status. Alternatively, the processing device can request the operating system to return information related to the desktop/window status through the operating system's application programming interface. For example, request the operating system to return the windows currently opened in each desktop and each virtual desktop, as well as the position and size of each window, as the desktop/window status.
處理裝置取得桌面/視窗狀態後,判斷桌面/視窗狀態是否符合視窗編排啟動條件(步驟S2)。當桌面/視窗狀態不符合視窗編排啟動條件時,回到步驟S1繼續偵測桌面/視窗狀態。當桌面/視窗狀態符合視窗編排啟動條件時,前往步驟S3。在一實施例中,視窗編排啟動條件被設計為使用者佈置工作環境之桌面及視窗時通常會出現的桌面/視窗狀態,例如為僅有一個虛擬桌面且該虛擬桌面中只有一個視窗程式,或其中一個桌面或虛擬桌面中有複數視窗重疊。After the processing device obtains the desktop/window status, it determines whether the desktop/window status meets the window arrangement activation condition (step S2). When the desktop/window status does not meet the window arrangement activation condition, return to step S1 to continue detecting the desktop/window status. When the desktop/window status meets the window arrangement activation condition, go to step S3. In one embodiment, the window arrangement activation condition is designed to be the desktop/window status that usually appears when the user arranges the desktop and windows of the working environment, for example, there is only one virtual desktop and there is only one window program in the virtual desktop, or there are multiple windows overlapping in one of the desktops or virtual desktops.
當桌面/視窗狀態符合視窗編排啟動條件時,處理裝置將有關桌面/視窗狀態的資訊輸入視窗編排推論模型M(步驟S3)。例如,將透過物件辨識AI模組辨識到的視窗名稱或網址輸入視窗編排推論模型M中。或者,將透過作業系統的應用程式介面取得之有關桌面/視窗狀態的資訊輸入到視窗編排推論模型M中。When the desktop/window status meets the window arrangement activation condition, the processing device inputs the information about the desktop/window status into the window arrangement inference model M (step S3). For example, the window name or URL identified by the object recognition AI module is input into the window arrangement inference model M. Alternatively, the information about the desktop/window status obtained through the application program interface of the operating system is input into the window arrangement inference model M.
接下來,處理裝置取得視窗編排推論模型M輸出的視窗編排推論結果(步驟S4)。Next, the processing device obtains the window arrangement inference result output by the window arrangement inference model M (step S4).
處理裝置取得視窗編排推論模型M輸出的視窗編排推論結果後,根據視窗編排推論結果重新編排桌面/視窗狀態(步驟S5)。After the processing device obtains the window arrangement inference result output by the window arrangement inference model M, it rearranges the desktop/window status according to the window arrangement inference result (step S5).
第5圖為本發明實施例2之重新編排桌面/視窗狀態之一例的流程圖。在本實施例中,視窗編排推論結果包括桌面編號、各桌面中的程式路徑以及各桌面中的焦點視窗。Figure 5 is a flow chart of an example of rearranging the desktop/window state of embodiment 2 of the present invention. In this embodiment, the window arrangement inference result includes the desktop number, the program path in each desktop, and the focus window in each desktop.
首先,處理裝置取得視窗編排推論模型M輸出的視窗編排推論結果(步驟S4)後,取得螢幕解析度的高與寬值(步驟S51)。在本實施例中,螢幕解析度例如為1920×1080像素。First, the processing device obtains the window arrangement inference result output by the window arrangement inference model M (step S4), and then obtains the height and width of the screen resolution (step S51). In this embodiment, the screen resolution is, for example, 1920×1080 pixels.
接下來,處理裝置取得各桌面中的視窗個數(步驟S52),並將螢幕解析度的高與寬值除以視窗個數,以計算各視窗的尺寸(步驟S53)。Next, the processing device obtains the number of windows in each desktop (step S52), and divides the height and width of the screen resolution by the number of windows to calculate the size of each window (step S53).
接下來,處理裝置在各桌面中開啟對應的視窗,使各視窗並排,並將焦點視窗置中(步驟S54)。Next, the processing device opens the corresponding windows in each desktop, arranges the windows side by side, and places the focus window in the center (step S54).
第5圖所述的重新編排桌面/視窗狀態的方法僅為一例。可以依據需要變更重新編排桌面/視窗狀態的方法。舉例而言,可以在視窗編排推理模型M中記錄使用者安排的視窗尺寸,在開啟視窗時採用使用者先前安排的視窗尺寸。或者,可以使視窗編排推論模型M算出各視窗的權重,並根據視窗權重安排視窗的位置等。The method of rearranging the desktop/window state described in FIG. 5 is only an example. The method of rearranging the desktop/window state can be changed as needed. For example, the window size arranged by the user can be recorded in the window arrangement inference model M, and the window size previously arranged by the user can be used when the window is opened. Alternatively, the window arrangement inference model M can be used to calculate the weight of each window, and the position of the window can be arranged according to the window weight.
第6圖為本發明實施例2A之優化步驟的流程圖。實施例2A與實施例2相較之下多了優化步驟。以下。針對實施例2與實施例2A的不同之處進行說明。FIG. 6 is a flow chart of the optimization step of Example 2A of the present invention. Compared with Example 2, Example 2A has an additional optimization step. The differences between Example 2 and Example 2A are described below.
在步驟S5中重新編排桌面/視窗狀態後,處理裝置可以持續偵測桌面/視窗狀態是否被變更(步驟S6)。After rearranging the desktop/window status in step S5, the processing device may continue to detect whether the desktop/window status has been changed (step S6).
在發生以下三種情況的其中之一時,處理裝置將變更的各桌面及各視窗之資訊作成桌面/視窗變更資訊,並根據桌面/視窗變更資訊重新訓練視窗編排推論模型M(步驟S7):使用者關閉視窗、使用者在各桌面之間移動視窗以及視窗路徑開啟失敗。When one of the following three situations occurs, the processing device generates desktop/window change information for the changed desktops and windows, and retrains the window arrangement inference model M according to the desktop/window change information (step S7): the user closes the window, the user moves the window between desktops, and the window path opening fails.
在使用者關閉視窗的情況下,處理裝置降低視窗編排推論模型M中被關閉視窗之參數(例如程式名稱、網頁網址等)的權重,以降低下次被推論出來的機率。在使用者移動視窗,或視窗路徑開啟失敗的情況下,可以更新視窗編排推論模型M中的資料集合。例如,將新的虛擬桌面編號、檔案或網頁的來源路徑等資訊更新到視窗編排推論模型M中。When the user closes the window, the processing device reduces the weight of the parameters of the closed window (such as program name, web page URL, etc.) in the window arrangement inference model M to reduce the probability of being inferred next time. When the user moves the window, or the window path fails to open, the data set in the window arrangement inference model M can be updated. For example, the new virtual desktop number, file or web page source path and other information are updated to the window arrangement inference model M.
若桌面/視窗狀態沒有被變更,則重複步驟S6,持續進行偵測。If the desktop/window status has not been changed, repeat step S6 to continue the detection.
雖然分別說明了複數實施例,上述實施例也可以組合實施。或者,也可以在複數實施例中,部分實施其中一者。或者,也可以部分地組合複數實施例。另外,可以依據需要部份地變更記載於上述複數實施例的構成以及步驟。Although a plurality of embodiments are described separately, the above embodiments may be implemented in combination. Alternatively, one of the plurality of embodiments may be partially implemented. Alternatively, the plurality of embodiments may be partially combined. In addition, the configurations and steps recorded in the above plurality of embodiments may be partially changed as needed.
本發明之方法,或特定型態或其部份,可以以程式碼的型態包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置或系統。本發明之方法、系統與裝置也可以以程式碼型態透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置或系統。當在一般用途處理器實作時,程式碼結合處理器提供一操作類似於應用特定邏輯電路之獨特裝置。The method of the present invention, or a specific form or part thereof, may be included in a physical medium in the form of program code, such as a floppy disk, an optical disk, a hard disk, or any other machine-readable (such as computer-readable) storage medium, wherein when the program code is loaded and executed by a machine, such as a computer, the machine becomes a device or system for participating in the present invention. The method, system and device of the present invention may also be transmitted in the form of program code through some transmission media, such as wires or cables, optical fibers, or any transmission form, wherein when the program code is received, loaded and executed by a machine, such as a computer, the machine becomes a device or system for participating in the present invention. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique device that operates similarly to application-specific logic circuits.
以上說明之各實施型態,是為了使本發明容易理解而記載,上述記載並非用以限制本發明。因此,上述各實施型態所揭露之各元件,目的為包含屬於本發明之技術範圍內之所有設計變更或均等物。The above-described embodiments are recorded to make the present invention easy to understand, and are not intended to limit the present invention. Therefore, the components disclosed in the above-described embodiments are intended to include all design changes or equivalents within the technical scope of the present invention.
1:視窗編排系統1: Window layout system
11:處理裝置11: Processing device
12:記憶裝置12: Memory device
111:視窗偵測模組111:Window Detection Module
112:視窗編排推論模組112:Window layout inference module
113:優化模組113: Optimization module
T1:桌面T1: Desktop
VT1:虛擬桌面VT1: Virtual Desktop
T1W1、T1W2、T1W3、VT1W1:視窗T1W1, T1W2, T1W3, VT1W1: Window
T1HW1、T1HW2、T1HW3、VT1HW1:縮小視窗T1HW1, T1HW2, T1HW3, VT1HW1: Reduce the window
S1~S7:流程圖步驟S1~S7: Flowchart steps
S51~S54: 流程圖步驟S51~S54: Flowchart steps
第1圖為本發明實施例1之構成例的方塊圖。
第2圖為桌面/視窗狀態的示意圖。
第3圖為本發明實施例1A之構成例的方塊圖。
第4圖為本發明實施例2的流程圖。
第5圖為本發明實施例2之重新編排桌面/視窗狀態之一例的流程圖。
第6圖為本發明實施例2A之優化步驟的流程圖。
Figure 1 is a block diagram of a configuration example of
S1~S5:流程圖步驟 S1~S5: Flowchart steps
Claims (10)
Publications (2)
Publication Number | Publication Date |
---|---|
TWI844216B true TWI844216B (en) | 2024-06-01 |
TW202427160A TW202427160A (en) | 2024-07-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220187958A1 (en) | 2020-12-15 | 2022-06-16 | Microsoft Technology Licensing, Llc | Automated on-screen windows arrangements |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220187958A1 (en) | 2020-12-15 | 2022-06-16 | Microsoft Technology Licensing, Llc | Automated on-screen windows arrangements |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790158B1 (en) | System and method for using a dynamic webpage editor | |
US10120788B2 (en) | Cloud connected automated testing in multiple operating environments using multiple parallel test threads | |
US9887873B2 (en) | Custom rendering of web pages based on web page requests | |
CN109074272B (en) | Notification presentation for performing actions associated with user interaction elements | |
US8381094B1 (en) | Incremental visual comparison of web browser screens | |
JP2509439B2 (en) | Icon conversion device and icon conversion method | |
US9038185B2 (en) | Execution of multiple execution paths | |
WO2019139725A1 (en) | Feature usage prediction using shell application feature telemetry | |
WO2018209465A1 (en) | Webpage access control method and gateway device | |
US20240127083A1 (en) | Systems and methods for knowledge-based reasoning of an autonomous system | |
TWI844216B (en) | Windows arrangement system, windows arrangement method and windows arrangement program | |
US20180089284A1 (en) | Ranking courses for a presentation | |
US10303752B2 (en) | Transferring a web content display from one container to another container while maintaining state | |
KR102371487B1 (en) | Method and apparatus for learning based on data including nominal data | |
US11620171B2 (en) | Systems and methods for generating schema notifications | |
US11216148B1 (en) | Systems and methods for responsive container visualizations | |
RU2711103C2 (en) | Method and server for predicting query-completion suggestion for partial user-entered query | |
US11645445B2 (en) | Systems and methods for dynamic document viewing | |
TW201926017A (en) | Electronic device and web page management method thereof | |
US20210248206A1 (en) | Systems and methods for generating data retrieval steps | |
US11900110B2 (en) | Increasing user interaction with deep learning agent | |
US20240176578A1 (en) | Audio output method, device, and electronic device | |
US20180144304A1 (en) | Contextual recommendation of member profiles | |
US20220327134A1 (en) | Method and system for determining rank positions of content elements by a ranking system | |
US20230360058A1 (en) | Applying a machine learning model to generate a ranked list of candidate actions for addressing an incident |