# US 12,118,187 B2 · Systems and methods for providing tab previews via an operating system user interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,187 B2
- Document ID: US12118187B2
- Status: Granted
- Kind: B2
- Application number: 18/171,763
- Filed: 2023-02-21
- Published: 2024-08-22
- Granted: 2024-10-15
- Earliest claimed: 2020-10-07
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Gregory Thomas Mattox, Jr.; Ross Nathaniel Luengen; Rose Elizabeth Higgins; William Joseph Devereux; Jessica Mary Hallett-Hook; Laurent Etienne Gilbert Mouton; Kyle Thomas Brady; Kenneth Martin Tubbs, Jr.
- Web page: https://patentgrep.com/patent/US12118187B2

## CPC

- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 9/451: Execution arrangements for user interfaces
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 2203/04803: Split screen, i.e. subdividing the display area or the window area into separate subareas
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments described herein are directed to simultaneously displaying proxy windows for application windows and/or tabs included in such application windows via a graphical user interface of an operating system. For instance, an application programming interface (API) associated with an application that supports a tabbed document interface (TDI) provides information associated with each tab opened within an application window associated with the application. An API of the operating system receives and utilizes such information to generate and display a proxy window for each tab. The proxy windows for the tabs may be displayed alongside proxy windows of application windows for other applications. The proxy windows may be generated and displayed in response to user invocation of various features of the operating system graphical user interface, including, but not limited to, a task switcher feature, a taskbar feature, or a window snap feature.

## Claims

### Claim 1

A method performed by an operating system executing on a computing device, comprising:
detecting user input that causes a first application window of a first application to be maximized in a first portion of a desktop of a graphical user interface of the operating system;
determining that a second application has a plurality of tabs opened in a second application window of the second application; and
responsive to the first application window being maximized in the first portion of the desktop of the graphical user interface of the operating system and determining that the second application has the plurality of tabs opened in the second application window of the second application, simultaneously displaying, in a second portion of the desktop of the graphical user interface of the operating system, a respective first proxy window for each of the plurality of tabs opened in the second application window, each respective first proxy window representing contents displayed in its corresponding tab.

### Claim 2 (depends on 1)

The method of claim 1, wherein each respective first proxy window comprises a thumbnail representative of the contents displayed in its corresponding tab.

### Claim 3 (depends on 2)

The method of claim 2, wherein each thumbnail is sized proportionally to the size of the second application window.

### Claim 4 (depends on 2)

The method of claim 2, wherein said determining comprises:
receiving, via an application programming interface of the second application, a characteristic of the plurality of tabs, the characteristic comprising at least one of:
a number of the plurality of tabs opened in the second application window;
an icon representative of the second application;
a group identifier for each of the plurality of tabs;
a title associated with each of the plurality of tabs;
the thumbnail for each of the plurality of tabs;
an indication of a most recently-active tab of the plurality of tabs;
a time stamp representative of a time at which each of the plurality of tabs was created; or
a time stamp representative of a time at which each of the plurality of tabs was last active.

### Claim 5 (depends on 4)

The method of claim 4, wherein a group of tabs of the plurality of tabs each has a same group identifier, and
wherein the displaying the respective first proxy window for each of the plurality of tabs opened in the second application window comprises displaying a representative proxy window for the group of tabs.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
displaying, in the second portion of the graphical user interface of the operating system, a second proxy window for a third application executing on the computing device simultaneously with the first proxy windows, the second proxy window representing the contents displayed in a third application window of the third application; and
providing a user interface element that, when activated, causes the second proxy window to be hidden while maintaining the display of the first proxy windows.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
responsive to detecting user input corresponding to a selection of a respective first proxy window for a selected tab of the plurality of tabs opened in the second application window, displaying the selected tab in the second portion of the graphical user interface of the operating system.

### Claim 8

A computing device comprising:
a processor circuit; and
memory storing instructions that, when executed by the processor circuit, cause the processor circuit to:
detect user input that causes a first application window of a first application to be maximized in a first portion of a desktop of a graphical user interface of an operating system running on the computing device;
determine that a second application has a plurality of tabs opened in a second application window of the second application; and
responsive to the first application window being maximized in the first portion of the desktop of the graphical user interface of the operating system and determining that the second application has the plurality of tabs opened in the second application window of the second application, simultaneously display, in a second portion of the desktop of the graphical user interface of the operating system, a respective first proxy window for each of the plurality of tabs opened in the second application window, each respective first proxy window representing contents displayed in its corresponding tab.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein each respective first proxy window comprises a thumbnail representative of the contents displayed in its corresponding tab.

### Claim 10 (depends on 9)

The computing device of claim 9, wherein each thumbnail is sized proportionally to the size of the second application window.

### Claim 11 (depends on 9)

The computing device of claim 9, wherein the instructions to determine that the second application has the plurality of tabs opened in the second application window of the second application comprise instructions that, when executed by the processor circuit, cause the processor circuit to:
receive, via an application programming interface of the second application, a characteristic of the plurality of tabs, the characteristic comprising at least one of:
a number of the plurality of tabs opened in the second application window;
an icon representative of the second application;
a group identifier for each of the plurality of tabs;
a title associated with each of the plurality of tabs;
the thumbnail for each of the plurality of tabs;
an indication of a most recently-active tab of the plurality of tabs;
a time stamp representative of a time at which each of the plurality of tabs was created; or
a time stamp representative of a time at which each of the plurality of tabs was last active.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein a group of tabs of the plurality of tabs each has a same group identifier, and
wherein the displaying the respective first proxy window for each of the plurality of tabs opened in the second application window comprises displaying a representative proxy window for the group of tabs.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein the memory further stores instructions that, when executed by the processor circuit, cause the processor circuit to:
display, in the second portion of the graphical user interface of the operating system, a second proxy window for a third application executing on the computing device simultaneously with the first proxy windows, the second proxy window representing the contents displayed in a third application window of the third application; and
provide a user interface element that, when activated, causes the second proxy window to be hidden while maintaining the display of the first proxy windows.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein the memory further stores instructions that, when executed by the processor circuit, cause the processor circuit to:
responsive to detecting user input corresponding to a selection of a respective first proxy window for a selected tab of the plurality of tabs opened in the second application window, display the selected tab in the second portion of the graphical user interface of the operating system.

### Claim 15

A computer-readable storage medium storing instructions that, when executed by a processor circuit, cause the processor circuit to:
detect user input that causes a first application window of a first application to be maximized in a first portion of a desktop of a graphical user interface of an operating system running on a computing device;
determine that a second application has a plurality of tabs opened in a second application window of the second application; and
responsive to the first application window being maximized in the first portion of the desktop of the graphical user interface of the operating system and determining that the second application has the plurality of tabs opened in the second application window of the second application, simultaneously display, in a second portion of the desktop of the graphical user interface of the operating system, a respective first proxy window for each of the plurality of tabs opened in the second application window, each respective first proxy window representing contents displayed in its corresponding tab.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein each respective first proxy window comprises a thumbnail representative of the contents displayed in its corresponding tab.

### Claim 17 (depends on 16)

The computer-readable storage medium of claim 16, wherein each thumbnail is sized proportionally to the size of the second application window.

### Claim 18 (depends on 16)

The computer-readable storage medium of claim 16, wherein the instructions to determine that the second application has the plurality of tabs opened in the second application window of the second application comprise instructions that, when executed by the processor circuit, cause the processor circuit to:
receive, via an application programming interface of the second application, a characteristic of the plurality of tabs, the characteristic comprising at least one of:
a number of the plurality of tabs opened in the second application window;
an icon representative of the second application;
a group identifier for each of the plurality of tabs;
a title associated with each of the plurality of tabs;
the thumbnail for each of the plurality of tabs;
an indication of a most recently-active tab of the plurality of tabs;
a time stamp representative of a time at which each of the plurality of tabs was created; or
a time stamp representative of a time at which each of the plurality of tabs was last active.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, further storing instructions that, when executed by the processor circuit, cause the processor circuit to:
display, in the second portion of the graphical user interface of the operating system, a second proxy window for a third application executing on the computing device simultaneously with the first proxy windows, the second proxy window representing the contents displayed in a third application window of the third application; and
provide a user interface element that, when activated, causes the second proxy window to be hidden while maintaining the display of the first proxy windows.

### Claim 20 (depends on 15)

The computer-readable storage medium of claim 15, further storing instructions that, when executed by the processor circuit, cause the processor circuit to:
responsive to detecting user input corresponding to a selection of a respective first proxy window for a selected tab of the plurality of tabs opened in the second application window, display the selected tab in the second portion of the graphical user interface of the operating system.
