1. Field of the Invention
The invention is in the general field of user-customized computer displays.
2. Description of the Related Art
U.S. Pat. No. 5,917,483 describes an advanced windows management system in which a user can make customizable “target windows” from frame windows each running a program. Labels may be associated with the target windows, and customized target windows may be saved and recalled.
U.S. Pat. No. 5,349,658 describes associating document images or screen views of programs with documents or programs, for reference in selection from a graphical user interface (GUI).
U.S. Patent Publication No. 2006/0132473 discloses associating monitor configurations with monitors that have been previously connected to a system.
In general, several virtual desktop management programs are known. Such programs allow a user to customize to one degree or another a virtual desktop.
Still there is room for improvement in the field user-customized computer displays.
According to an aspect of the invention, a method of generating user-customized display configurations (layouts) in a computer system includes the steps of: providing a user with multiple populatable templates; receiving user input to populate at least some of the templates with content items to be run in panes of the templates; and saving the populated user templates for later use as a layout configuration used to produce a display on a monitor.
According to another aspect of the invention, a method of displaying a layout on a computer system includes the steps of: saving one or more user-configured display layouts, wherein the display layouts each include one or more panes associated with respective content items to be run in the one or more panes; automatically selecting one of the user-configured layouts; and displaying, on a display of the computer system (or attached to the computer system), the desktop associated with the selected display layout.
According to still another aspect of the invention, a method of generating user-customized display configurations in a computer system includes the steps of: selecting, by a user, of one or more templates from a plurality of templates; and receiving user input to populate at least one of the templates with one or more content items, to thereby create one or more layouts that may be used to create one or more desktops.
According to a further aspect of the invention, a method of displaying a layout on a computer system includes the steps of: saving one or more user-configured display layouts, wherein the display layouts each include one or more panes associated with respective content items to be loaded in the one or more panes; automatically selecting one of the user-configured layouts; and displaying, on a display of the computer system (or attached to the computer system), a desktop associated with the selected display layout.
According to a still further aspect of the invention, a method of generating user-customized display configurations in a computer system includes the steps of: displaying a plurality of thumbnail images on a computer screen, wherein the thumbnail images represent templates and/or layouts; and allowing user selection of one of the thumbnail images to perform a computer operation related to the template or layout associated with the selected one of the thumbnail images.
To the accomplishment of the foregoing and related ends, the invention comprises the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative embodiments of the invention. These embodiments are indicative, however, of but a few of the various ways in which the principles of the invention may be employed. Other objects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
Annexed are drawings depicting one or more embodiments of the invention. The drawings are not necessarily to scale.
A user-customized computer display method allows a user to interactively populate a template to produce a layout that may later be used as a desktop for display on a computer system. The user is able to select a template from a series of templates that may be represented as thumbnail images, and populate the template with content items, such as programs, documents, and/or urls, thereby producing a layout. A template design tool may be used to produce custom template configurations. The user may select a layout from the same thumbnail screen that allows selection of templates for population or re-population. The method may also allow association of layouts with monitor configuration, and simple and intuitive configuration of multi-monitor systems.
What follows in the next several paragraphs are definitions of certain terms used in the application.
Desktop—a displayed environment on a monitor, preferably extending across substantially the entire screen
Panes (and Windows)—Both templates and layouts (defined below) can be considered windows that are divided into one or more pane; typically, panes are rectangular sub-regions of a rectangular template or layout. In addition, templates and Layouts can be considered virtual desktops in a windows based operating system, and in this case the panes represent windows arranged within the desktop. In the principal illustrated embodiments described below, panes are tiled (i.e. arranged without separating space), but the invention also encompasses the possibility of panes that are separated from each other within a desktop or window, or that overlap within a desktop or window (cascade windows).
Templates—Graphical depiction of the physical arrangement of one or more panes (in the illustrated embodiment, one, two, three or four panes). Templates show the user the potential configuration of one or more programs, documents and/or uniform resource locators (urls) within a desktop. Templates are precursors to layouts, which in turn are precursors to desktops. The panes of a template can be shown with a uniform background pattern separated by borders, or can have different background appearances e.g. different coloreds, or in one case discussed below, numbered areas.
Layouts (also referred to as “desktop layouts,” “desktop configurations,” or merely “configurations”)—After the user populates programs, documents or urls into each of the panes of a template, the method of the invention generates a Layout. A layout is an operating system object that depicts the location, size, and start-up content items of each window of a desktop in a thumbnail view. Preferably the content items may include programs, user documents, and favorite urls and may be depicted in the layout via scaled down view of the desktop; icons (e.g. program icons); file names or url names, or other user assigned names.
Thumbnails, Thumbnail view—The templates and the layouts resulting from templates, are arranged in a template screen that displays multiple thumbnails. Various illustrated embodiments show either four or six thumbnails in a 2×2 or 2×3 array. The thumbnail view provides a convenient user interface for users to retrieve saved templates and layouts, select thumbnails, modify or create new thumbnails. Selecting a template thumbnail activates the panes of the template to permit the user to populate content and create a layout. Selecting a desktop layout opens up the desktop in full screen view, while starting up the associated content items (programs, documents, and urls).
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics such as digital televisions, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer 110 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 110 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 110. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, discussed above and illustrated in
The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160 or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Note that as described below, the present invention may involve towards data sources, which may, for example, include data sources corresponding to a SQL server and/or XML data provider (web service), that reside on one or multiple remote systems. The computing environment 100 of
The window 204 shows a word processing program, with a document open in the program. WORDPAD and MICROSOFT WORD are examples of well-known word processing programs.
The window 206 shows a calendar program for keeping track of appointments or the like. It will be appreciated that many suitable calendar programs are available. The calendar program is shown as open to a specific calendar or list of appointments.
The windows or panes 202, 204, and 206 are shown as tiled in the desktop 200, with boundaries of the windows 202, 204, and 206 not overlapping. The boundaries of adjacent of the windows 202, 204, and 206 may contact each other, and may fill substantially all of the display space of the desktop 200, except for a task bar 220.
The windows 202, 204, and 206 shown in desktop 200 are arranged with the windows 202 covering a left half of an active area of the desktop 200, with the windows 204 and 206 vertically tiled in the right half of the active area of the desktop 200. It will be appreciated that many other tiled arrangements are possible for the windows 202, 204, and 206.
Further, it will be appreciated that arrangements other than a tiled arrangement are possible for the windows 202, 204, and 206. For example there may be space between the boundaries of the windows 202, 204, and 206. Alternatively or in addition, there may be some overlap between the windows 202, 204, and 206. One example of an overlapping configuration is a cascading arrangement, where windows partially overlap one another, with for example an active window brought to the foreground, partially obscuring other of the windows. It will be appreciated that there may be a greater or lesser number of windows than is shown in
The task bar 220 may include a desktop-save-and-retrieval tool 222 for saving and retrieving desktop configurations (layouts). The tool 222 allows the user to save one or more desktop configurations (display layouts), for later use. The tool 222 includes a text box 226 for a user to enter a name or other alphanumeric identifier for identifying a display layout or desktop layout to be saved. The identifier may be an identifier that describes a function or use for the layout, such as “My Work,” “Multimedia,” or “Leisure.” Buttons 228 may be used for saving desktop layouts or for accessing previously saved layouts. The buttons 228 may function in any of a variety of ways, for example using pull down menus showing identifiers of recently selected desktop layout, showing one or menus allowing a user to select a desktop layout, and/or showing pictorial representations (thumbnails) of layouts.
The information saved regarding a desktop layout, to be possibly retrieved later, includes such information as the size and position of windows, and documents or web sites open within the programs running in the windows (the population of the windows or panes of the layout), settings within the programs run in the windows (such as the opening screen or active tab to be displayed within the windows), and settings regarding which of the windows are active (initially subject to keyboard and other commands input by the user) and/or which windows overlap other windows.
Names or other alphanumeric identifiers may be provided for the layout templates 252-258 by inputting them in a title bar, such as the title bar 262 of the layout 252. The title bars may also have drop down menus for selecting, displaying, and perhaps repopulating (modifying) other layout configurations.
During a later session the user can open the saved layout, which will load the chosen programs, documents and/or urls in the same windows configuration as originally defined by panes of the template created in step 302. In some cases, when opening a layout in a new session, the content of a window will be in the exact same state as stored by the user in a prior session, e.g. for a user document. Alternatively, the content may be in a “current version” state, e.g. such as the current version of a web page for a favorite url. As described below, the invention makes use of a novel template screen that can show both templates and layouts in thumbnail views, so that the user can design layouts using preexisting or newly designed templates. The same template screen (a.k.a. thumbnail view) can display layout thumbnails representing desktops saved in prior sessions, providing a convenient way to identify and open such desktops.
Referring to
Typical thumbnail views include 2×2, 2×3 and larger arrays. These thumbnail views may incorporate dynamic arrays, i.e. arrays that can change based upon factors such as a user's most frequently selected templates and layouts.
The control elements of one embodiment of the control bar 326 include the elements 330-340. The element 330 retrieves the last saved template or layout configuration associated with that thumbnail. In one embodiment, non-volatile memory associated with each thumbnail location stores the last saved template or layout, overwriting any prior template or layout associated with that thumbnail. Alternatively, the system may store multiple templates or layouts in association with a given thumbnail. In this case the control bar would display and retrieve any prior stored templates or layouts.
The control bar elements 332, 334, 336, and 338 of control bar 326 respectively retrieve the default one, two, three and four-pane template configurations, which can represent popular windows configurations programmed into the system. Thus for example, in
Referring back now to
To illustrate a template with active panes, refer to the lower-right thumbnail 360 in
Another possibility in the step 366 is the user laying out a new template. Toward this end the design tool 374 includes a module 384 that activates a border drawing tool that is used for designing templates with tiled (abutting) panes. The border drawing module/tool 384 can draw vertical and horizontal lines that may extend entirely or partially across the length and width of the display area. Thus for example referring to the upper-left template 388 of
The design module 390 of the template design tool 374 is a rectangle drawing tool that can be used to design templates with windows that are not tiled. An example is shown in the upper right template 392 of
Module 400 is a specialized design module of the template design tool 374 that can be used, for example, to design templates to create layouts corresponding to desktops that are intended for display on two or more monitors. For example, the user can indicate a template for a two monitor, side-by-side desktop configuration. This would change the aspect ratio of the design window, by increasing (e.g. doubling) the width relative to the height.
Module 406 of the template design tool 374 is a utility module that is used to save newly designed templates, which then are added to the template list accessible via the module 384. Upon saving a template in step 410 of the method 370 (
Referring again to
An alternative template arrangement 480 is shown in
A consideration is the representation of programs, documents, and urls within a layout, so that a thumbnail view of a layout helps the user remember or recall the stored content and retrieve the desired layout for use in a later session. This representation can be created at step 504 of the process sequence shown
The user may be able to mix templates and layouts on the same menu screen, and to convert a layout thumbnail back to a template thumbnail in order to create a new layout. In the latter case, the user would click below a layout thumbnail to bring up the control bar of
When starting a new session the user may choose a desired desktop configuration from a thumbnail view of previously saved layouts. Alternatively the system may select a default desktop configuration during startup. For example, the system may detect EDID or EEDID information of a single monitor or multiple monitors and may choose a default template associated with the monitor identification information, as further discussed below.
A monitor syncing (MonitorSync™) function can also be activated by selecting (as by double clicking) a monitor sync button or icon 270 (
With reference now in addition to
Activating the monitor sync function, such as by pressing the button or icon 270 (
Besides mirroring, the monitor selection/configuration feature may be capable of performing other functions, for example configuring multiple displays/monitors to act as a single display/monitor, for example with a cursor able to be positioned on one or the other of the monitors/displays. The multiple monitors/displays may act as a single monitor/display displaying respective parts of the same desktop. For example items may be able to be dragged from one monitor/display view to another monitor/display view. A pointing device such as a mouse or trackball may be used to select or otherwise manipulate items on difference screens.
Another possible user feature is that the user may be able to set the screen resolution of the display. A button may allow the user to identify a preferred or appropriate screen resolution.
It should be appreciated that the multi-monitor functions described above may be performed in software. The user does not have to remember hardware-based switches such as hotkeys or function keys.
The computer system 110 (
The computer system 110 may use software to reconfigure the desktop to a saved state based on the configuration associated with the monitor configuration (which monitor(s) is/are present as part of or attached to the computer system 110). The reconfiguration may be automatic, or may be done only after receiving confirmation from a user.
Other factors may also be included in the display configuration process. Different display configurations or populated templates may be selected for different times of day. The computer system 110 may make a selection of a display configuration based in whole or in part on additional factors. For example the time of day may be used as a selection criterion or factor, as an alternative to or in addition to use of a configuration previously associated with the present monitor configuration.
The software may also be configured to make a determination of the display configuration for the monitor based on information provided by an external monitor, even if the external monitor has never been previously connected to the computer system 110. Information communicated from an external monitor or display during the connection process (such as EEDID information) may be used by the computer system 110. For example the EEDID or other monitor information may contain information regarding a resolution of the monitor. This may allow the size of the monitor or display to be inferred, which may in turn allow an interference of the purpose for use of the additional monitor or display. The system 110 may select a display configuration by use of this information (perhaps in conjunction with other information).
Referring now to
In step 610 different courses of action are followed depending on whether the external monitor's optimum/preferred resolution is higher than the highest capable resolution of the graphics system of the computer system 110. If the graphics system is capable of handling the external monitor's optimum/preferred resolution, then that optimum/preferred resolution is set as the default resolution, in step 614. However, if the graphics system of the computer 110 is not capable of handling the external monitor's optimum/preferred resolution, then in step 618 the graphic system's highest capable resolution is set as the default for handling the external monitor.
In step 620 a monitor sync interface appears on the monitor 191 of the computer system 110 (
The monitor sync interface 630 includes representations 652 and 654 of a pair of monitors, with respective numerical indicators 656 and 658 in the representations 652 and 654. The numerical indicators 656 and 658 indicate the location of the primary monitor, and whether both of the corresponding monitors are showing the same display, or alternatively are showing different displays. The numerals “1” and “2” indicate different views on the corresponding monitors when both numerals are shown. In addition, when both numerals are present, the numeral “1” indicates the relative location of the main monitor (e.g., the monitor permanently, originally, or primarily attached as part of the computer system 110 (FIG. 1)), and the location relative to that of the external or secondary monitor is indicated by the numeral “2”. When both numerals are the same, the monitors are in a mirrored configuration, with the view on the secondary monitor the same as that on the main monitor. Also, when both numerals are the same, both numerals being “1” may be used to indicate that the primary (main) monitor is the monitor on the left (corresponding to the representation 652 in the interface 630), and both numerals being “2” may be used to indicate that the primary (main) monitor is the monitor on the right (corresponding to the representation 654 in the interface 630). In normal operation when the monitors are in mirror configuration, the secondary monitor will adopt the resolution of the main monitor.
The interface 630 may have main monitor buttons 662 and 664 used to indicate which of the representations 652 and 654 is to correspond to the main monitor of the computer system 110. Also, mirror buttons 666 and 668 may be selected by the user to invoke mirror of the displays on the two monitors (main and external).
Further, the interface 630 may include screen resolution tools 672 and 674 to set the resolution of the monitors corresponding to the representations 652 and 654. The tools 672 and 674 are shown as slider bars, but it will be appreciated that the tools 672 and 674 may take any of a variety of other forms.
The interface 630 may include check boxes 676 and 678 that indicate that the respective monitors corresponding to the representations 652 and 654 are to be stretched to fit their corresponding monitors. This may allow the corresponding monitors to stretch their displays to fill all of the monitors, regardless of the screen resolution indicated in the screen resolution tools 672 and 674. This may allow for mirroring of monitors with different aspect ratios, or more broadly for use of all display space of the monitors.
The monitor sync interface 630 includes an apply button 682, used to apply the present settings set by the other controls of the monitor sync interface 630. The interface 630 also includes a closure button 684 that may be used to apply the present settings and close the interface 630.
Referring now to
The interface 630 has the advantage of allowing a user to clearly and intuitively make choices regarding options for displaying content on multiple monitors. It will be appreciated that mastering arcane and particularized monitor configuration procedures may involve a level of study and commitment beyond that desired by many users, and that the interface 630 thus may provide an advantage over present interface systems.
It will be appreciated that many variations are possible for the monitor sync interface 630. To give one example, the interface 630 may be configured to provide an option for a “normal” view, in which content is only displayed on a single monitor, such as the main or primary monitor. As another alternative, the interface 630 may be configured to allow selection of an external monitor as the primary monitor, for example providing the external monitor with the content from the multi-monitor template 404 (
Another possible variation is that the interface 630 may be configured to handle other configurations of dual monitors, such as a top/bottom configuration instead of or in addition to the left/right configuration. Still another possibility is configurations involving three or more monitors.
A further possible variation is that the computer system 110 may associate certain layouts or graphics settings with individual monitors, combinations of monitors, and/or types of monitors, and may call forth layouts or default graphics settings that have been or are associated with the individual monitors, combinations of monitors, and/or types of monitors. Individual monitors may be recognized based on EDID or EEDID tags. The EDID data, including particularly the manufacturer name and serial number, and the product type, can be used to select display configurations that can be based on the type of monitor device, and based on recognition of individual monitors. An example is a default desktop configuration or Layout for multiple monitors based on the serial numbers of those monitors. In addition, EDID data can be employed together with other system data (such as time of day) as parameters for user-customized display configurations.
Although the invention(s) has (have) been shown and described with respect to a certain preferred embodiment or embodiments, it is obvious that equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In particular regard to the various functions performed by the above described elements (components, assemblies, devices, compositions, etc.), the terms (including a reference to a “means”) used to describe such elements are intended to correspond, unless otherwise indicated, to any element which performs the specified function of the described element (i.e., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary embodiment or embodiments of the invention. In addition, while a particular feature of the invention may have been described above with respect to only one or more of several illustrated embodiments, such feature may be combined with one or more other features of the other embodiments, as may be desired and advantageous for any given or particular application.
This application claims priority under 35 USC 119 from U.S. Provisional Patent Application No. 61/222,553, filed Jul. 2, 2009, which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61222553 | Jul 2009 | US |