# US 11,307,754 B1 · Drag and drop quick actions

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

- Number: US 11,307,754 B1
- Document ID: US11307754B1
- Status: Granted
- Kind: B1
- Application number: 17/343,307
- Filed: 2021-06-09
- Granted: 2022-04-19
- Earliest claimed: 2020-12-28
- Assignees: Dropbox, Inc.
- Applicants: Dropbox, Inc.
- Inventors: Spencer Villars
- Web page: https://patentgrep.com/patent/US11307754B1

## CPC

- G06F 3/0486: Drag-and-drop
- G06F 3/04812: Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
- 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/04886: by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present technology provide a mechanism for displaying and initiating actions and workflows for objects with a single drag-and-drop operation in association with a content management system. Drag operations may be monitored to trigger monitoring of a pointer performing the drag operation to detect whether the pointer is within a threshold distance from a chosen aspect, such as a system tray icon, and/or an area of a temporary invisible window. Upon detection, the drag operation of the objects may seamlessly trigger a presentation of a menu window. The menu window may display one or more icons representing different actions and workflows for which the object may be dropped, via a drop operation, upon to indicate a selection.

## Claims

### Claim 1

A computer-implemented method performed by a content management system comprising:
listening for a drag operation of an object reported by an operating system of a client device;
after detection of the drag operation, temporarily creating an invisible window defining an area, the invisible window persisting for as long as coordinates of a pointer performing the drag operation do not overlap with the area of the invisible window;
determining that coordinates of the pointer overlap with the area of the invisible window; and
based on the determination that the coordinates overlap with the area, launching a menu window from a system tray icon, wherein the menu window includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, comprising:
determining that the drag operation terminated outside of the area of the invisible window; and
removing the invisible window.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, comprising:
determining that coordinates of the pointer overlap with the area of the invisible window; and
after determining that the coordinates of the pointer overlap with the area of the invisible window, changing the invisible window to a visible menu of options, wherein the visible menu of options includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, comprising:
detecting the coordinates of the pointer engaged in the drag operation are over a particular icon of the one or more icons in the visible menu of options; and
displaying a submenu of options related to the particular icon.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, comprising:
detecting the drop operation on top of a second icon of the submenu of options; and
performing an action that is assigned to the second icon.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the performing the action comprises:
queuing the action for later performance;
storing the object at the content management system; and
performing the action after the object has been stored at the content management system.

### Claim 7

A content management system comprising:
one or more processors; and a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to:
listen for a drag operation of an object reported by an operating system of a client device;
after detection of the drag operation, temporarily create an invisible window defining an area, the invisible window persisting for as long as coordinates of a pointer performing the drag operation do not overlap with the area of the invisible window;
determine that coordinates of the pointer overlap with the area of the invisible window; and
based on determining that the coordinates overlap with the area, launch a menu window from a system tray icon, wherein the menu window includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 8 (depends on 7)

The content management system of claim 7, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
determine that the drag operation terminated outside of the area of the invisible window; and
remove the invisible window.

### Claim 9 (depends on 7)

The content management system of claim 7, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
determine that coordinates of the pointer overlap with the area of the invisible window; and
after determining that the coordinates of the pointer overlap with the area of the invisible window, change the invisible window to a visible menu of options, wherein the visible menu of options includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 10 (depends on 9)

The content management system of claim 9, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
detect the coordinates of the pointer engaged in the drag operation are over a particular icon of the one or more icons in the visible menu of options; and
display a submenu of options related to the particular icon.

### Claim 11 (depends on 10)

The content management system of claim 10, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
detect the drop operation on top of a second icon of the submenu of options; and
perform an action that is assigned to the second icon.

### Claim 12 (depends on 11)

The content management system of claim 11, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
queue the action for later performance;
store the object at the content management system; and
perform the action after the object has been stored at the content management system.

### Claim 13

A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
listen for a drag operation of an object reported by an operating system of a client device;
after detection of the drag operation, temporarily create an invisible window defining an area, the invisible window persisting for as long as coordinates of a pointer performing the drag operation do not overlap with the area of the invisible window;
determine that coordinates of the pointer overlap with the area of the invisible window; and
based on determining that the coordinates overlap with the area, launch a menu window from a system tray icon, wherein the menu window includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
determine that the drag operation terminated outside of the area of the invisible window; and
remove the invisible window.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
determine that coordinates of the pointer overlap with the area of the invisible window; and
after determining that the coordinates of the pointer overlap with the area of the invisible window, change the invisible window to a visible menu of options, wherein the visible menu of options includes one or more icons that represent one or more actions or workflows to perform on the object.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
detect the coordinates of the pointer engaged in the drag operation are over a particular icon of the one or more icons in the visible menu of options; and
display a submenu of options related to the particular icon.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
detect the drop operation on top of a second icon of the submenu of options; and
perform an action that is assigned to the second icon.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein storing instructions that, when executed by the one or more processors, cause the one or more processors to:
queue the action for later performance;
store the object at a content management system; and
perform the action after the object has been stored at the content management system.
