Abstract:
In data processing system, print jobs are printed on a selected printer utilizing the printer properties in effect for that printer at the time that the print job was spooled for printing. Typically, the printer prints with default printer properties. However, a user can temporarily override these defaults values by specifying temporary printer properties from within an application. A user-specifiable printer properties retention timer value allows the user to control how long temporary printer properties are to be in effect before being set back to their default value.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention generally relates to printer interfaces and, more specifically, to a Graphical User Interface (GUI) printer interface that provides the ability to control how long to utilize temporary printer properties before reverting to default values.  
         BACKGROUND OF THE INVENTION  
         [0002]    Printing in a typical computer system is typically controlled by the operating system. When using a Graphical User Interface (GUI) operating system, currently such as Windows® from Microsoft Corporation or Macintosh® from Apple Computer, Inc., a user will select printing, typically either through a menu option or by depressing a button on a button bar. A printer driver will then format the requested printing for the selected printer and queue the printing in a print spool for printing. The printer driver will then download the printer commands that will result in printed pages to the selected printer. The printing is done in conformity with the printer properties in effect for the printer at the time the printing is commanded.  
           [0003]    Printer drivers are typically supplied to computer users either by the printer vendor or by the operating system vendor. Since the sophistication of a printer driver user interface can help sell printers, printer vendors have produced evermore sophisticated printer drivers and printer driver interfaces. Some of the features or printer properties currently available in printer drivers and printer driver interfaces include: printing a single page of a document, the entire document, or a range of pages in the document; printing multiple copies of a document; printing the pages in a document in reverse order; printing multiple pages of a document on a single page of paper; landscape and portrait printing; printing utilizing paper from particular trays; printing on different page sizes; printing labels; duplex printing where both sides of a page are printed; and printing with watermarks. In the Windows operating systems from Microsoft, printing is done utilizing printer properties. If temporary printer properties are supplied with the print job, they are utilized. Otherwise, the default printer properties of a printer are utilized.  
           [0004]    Currently, in such an environment, default printer properties are set or modified in a process that starts by opening a system Printers file folder. Within the system Printers file folder, a printer is selected and activated, typically by double clicking on an icon for the selected printer. A Printer menu is then launched and displayed for that printer that shows, among other things, the current queue or spool for the printer. From the File pull-down Properties menu for the Printer menu, a Printer Properties menu or set of menus is launched. The printer properties modifications made to the Printer Properties menu or set of menus become the default settings for this printer until changed. In the current Microsoft Windows environments, this currently requires that these printer properties changes or modification be written to the system Registry, where they are maintained as the default printer properties settings until changed.  
           [0005]    Temporary printer properties are set in a similar manner from within application programs. In the Windows operating systems from Microsoft, these temporary printer properties are typically set either by selecting printing from the “File” menu or by selecting and activating a Print button in an application program. Either of these actions launches a “Print” menu. One of the options on the Print menu is the selection of which printer to use when more than one is available. Once the printer to utilize has been selected, a user can then also select and activate a “Properties” button. This typically will launch a printer or vendor-specific “Printer Properties” menu or set of menus corresponding to the selected printer. A Printer Properties menu is alternatively launched by selecting “Printer Properties” from the “File” pull-down menu of many applications. Printer properties for the selected printer can then be temporarily modified utilizing the associated Printer Properties menu or set of menus.  
           [0006]    One of the problems that arises when changing printer properties from within application programs is that many, if not most, of these temporary printer properties automatically change back to their default values for the currently selected printer after an undefined period of time. This process of reverting printer properties back to default values for this printer appears to a user to be somewhat arbitrary. For example, many of these temporary printer properties are maintained by an application. Thus, as long as that application continues to execute, any print requests on the currently selected printer will utilize these temporary printer properties. On the other hand, the temporary printer properties can be lost when an application terminates. In some other instances, temporary printer properties only remain changed for a single print request, after which time they are reset to their default values.  
           [0007]    One result of temporarily modified printer properties reverting to their default values at what appear to a user to be arbitrary times is that sometimes print requests are printed with inappropriate settings. For example, if a user prints transparencies from a transparency printer tray and then goes on to do something else; he may be surprised when a subsequent print request also prints on transparencies. Alternatively, the user may be trying to utilize duplex printing, only to find that subsequent print requests end up being printed on one side of a page because printer properties have been unexpectedly set back to their default values.  
           [0008]    It would therefore be advantageous for a user of a Graphical User Interface operating system on a computer to be able to control the reversion of temporary printer properties back to their default values.  
         BRIEF SUMMARY OF THE INVENTION  
         [0009]    In a computer system, print jobs are printed on a selected printer utilizing the printer properties in effect for that printer at the time that the print job was spooled for printing. Typically, the printer prints with default printer properties. However, users can temporarily override these values by specifying temporary printer properties from within applications. A user-specifiable printer properties retention timer value allows the user to control how long temporary printer properties are to be in effect before being set back to their default value.  
           [0010]    In a computer system providing a Graphical User Interface, a Printer Properties menu or set of menus provides menu options allowing a user to enable timed printer property retention and to specify how long to retain temporary printer properties before being reset to default values. Alternatively, a submenu may also be launched to fine tune the timed retention of specific printer properties. The enablement of timed printer property retention, the printer properties retention timer value, and any corresponding fine tuning parameters are preferably treated as printer properties themselves, and are set to default and temporary values in a similar manner as is done with other printer properties.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a block diagram illustrating an exemplary General Purpose Computer in a data processing system;  
         [0012]    [0012]FIG. 2 is a diagram illustrating a Graphical User Interface screen on a computer monitor as shown in FIG. 1; and  
         [0013]    [0013]FIG. 3 is a flowchart illustrating an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0014]    [0014]FIG. 1 is a block diagram illustrating an exemplary general purpose computer  20  in a data processing system. The general purpose computer  20  has a computer processor  22  and memory  24 , connected by a bus  26 . Memory  24  is a relatively high-speed, machine-readable medium and includes volatile memories, such as DRAM and SRAM, and non-volatile memories, such as ROM, FLASH, EPROM, and EEPROM. Also connected to the bus  26  are secondary storage  30 , external storage  32 , output devices such as a monitor  34 , input devices such as a keyboard  36  (with mouse  37 ), and printers  38 . Secondary storage  30  includes machine-readable media such as hard disk drives (or DASD) and disk subsystems. External storage  32  includes machine-readable media such as floppy disks, removable hard drives, magnetic tapes, CD-ROM, and even other computers, possibly connected via a communications line  28 . The distinction drawn here between secondary storage  30  and external storage  32  is primarily for convenience in describing the invention. As such, it should be appreciated that there is substantial functional overlap between these elements. Computer software such as printer drivers, operating systems, and application programs can be stored in a computer software storage medium, such as memory  24 , secondary storage  30 , or external storage  32 . Executable versions of computer software  33  can be read from a computer readable medium such as external storage  32 , secondary storage  30 , and non-volatile memory and loaded for execution directly into volatile memory, executed directly out of non-volatile memory, or stored on the secondary storage  30  prior to loading into volatile memory for execution.  
         [0015]    [0015]FIG. 2 is a diagram illustrating a Graphical User Interface screen  70  on a computer monitor  34  as shown in FIG. 1. The Graphical User Interface screen  70  in FIG. 2 shows a Print menu  72  that is typically launched either by selecting and activating a “Print” button or from a “Print” selection on a “File” pull-down menu from within an application. A Printer Properties menu  74  is then launched by selecting and activating a “Properties” button on the Print menu  72 . The Printer Properties menu  74  has an additional “Printer Options Retention”  80  set of properties. The Printer Options Retention  80  set of properties includes a Printer Options Retention Enable  86  option button or check box for enabling Printer Options Retention titled “Enable Printer Options Retention.” It also contains a Printer Properties Retention Time Selector  82  for specifying a printer properties retention timer value, which is how long to retain printer properties. The Printer Properties Retention Time Selector  82  is preferably a combination list-edit box that allows a user to either directly type in a numeric value or utilize a scroll bar to set the printer properties retention timer value. The Printer Options Retention  80  set of properties alternatively also contains a Printer Options Retention Properties Button  84  for launching a menu to more finely tailor the printer properties retention process, for example, by specifying which printer properties are to be subject to printer properties timed retention.  
         [0016]    When a Graphical User Interface user modifies printer properties, he will typically launch a Printer Properties menu  74  from a Print menu  72  from within an application. The present invention allows the user to specify how long these temporary printer properties are to be in effect before the printer properties for the selected printer are reset back to their default values. In this embodiment, the user enables this capability by selecting or activating the Printer Options Retention Enable  86 . The time that the modified printer properties will remain effective can then be set utilizing the Printer Properties Retention Time Selector  82 .  
         [0017]    In the preferred embodiment, enablement of Printer Properties Retention, the printer properties retention timer value, and, alternately, fine tuning of such are themselves printer properties. These printer properties thus preferably have their default values set in the Printer Properties menu or set of menus launched from a Printer menu launched from a Graphical User Interface desktop and their temporary values set in the Printer Properties menu or set of menus launched from within applications.  
         [0018]    [0018]FIG. 3 is a flowchart illustrating an embodiment of the present invention. When changes are made to the properties for a printer, a check is made whether Printer Properties Retention is enabled, step  90 . In the embodiment shown in FIG. 2, printer properties timed retention is enabled by selecting or activating the Printer Options Retention Enable  86 . Other methods of enabling printer properties timed retention are also within the scope of this invention, such as testing whether the Printer Properties Retention Time Selector  82  contains a non-zero value. If printer properties timed retention is not enabled, step  90 , then the procedure is complete and exits, step  91 .  
         [0019]    However, if the printer properties timed retention is enabled, step  90 , then a loop is entered. A test is made whether the printer properties retention timer value has elapsed, step  92 . If the printer properties retention timer value has not elapsed, step  92 , the remaining amount of time is decremented, step  94 , and the procedure delays or waits a prescribed period of time, step  96 . At the end of this delay or wait, step  96 , the method repeats the loop, starting with a test whether the time has expired, step  92 . However, when the printer properties retention timer value duration has expired, step  92 , the printer properties are reset to their default values, step  98 , and the procedure exits, step  99 . This retention timer could be set to different values for different printer properties or could be applied to “quick sets” or groups or predefined multiple driver property combinations. These temporary driver properties could also be set based on number of print jobs instead of or in addition to a timer i.e., duplex the next ten print jobs, or after 30 minutes or next 10 print jobs.  
         [0020]    The above is illustrative only. Other methods of implementing this invention are also within the scope of this invention. For example, in an alternate embodiment, some operating systems provide a mechanism to schedule events in the future. In such a system, instead of looping and waiting for the timer value to decrement to zero before resetting to default values, the resetting to default values can be scheduled as an event at the appropriate time in the future.  
         [0021]    An apparatus and method for specifying when to reset printer properties to their default values has been disclosed. This provides a mechanism for a computer user to improve the certainty as to when these properties are automatically reset to default values, and thus reduces the frequency at which a computer user prints to a printer with unexpected printer properties.  
         [0022]    Those skilled in the art will recognize that modifications and variations can be made without departing from the spirit of the invention. Therefore, it is intended that this invention encompass all such variations and modifications as fall within the scope of the appended claims.