Here is a patch for the print plugin. The patch fixes an anoyance with the
print dialog: If you have lots of printers (we have about 50 here), it takes
*several minutes* to open. Fix: Just use lpstat -d -v (just list the names of
the printers instead of checking if they are enabled; the information is
discarded anyway). Later, when it becomes clear that we can use that info,
we can reenable it again (including some kind of caching and a progress
report which shows that Gimp is still doing something).

*** gimp-1.1.16/plug-ins/print/print.c~ Mon Jan 31 03:32:25 2000
--- gimp-1.1.16/plug-ins/print/print.c  Tue Feb  8 15:51:56 2000
***************
*** 3146,3152 ****
  #endif /* LPC_COMMAND */
  
  #ifdef LPSTAT_COMMAND
!   if ((pfile = popen(LPSTAT_COMMAND " -d -p", "r")) != NULL)
    {
      char name[17];    
        
--- 3146,3152 ----
  #endif /* LPC_COMMAND */
  
  #ifdef LPSTAT_COMMAND
!   if ((pfile = popen(LPSTAT_COMMAND " -v -d", "r")) != NULL)
    {
      char name[17];    
        
***************
*** 3153,3159 ****
      while (fgets(line, sizeof(line), pfile) != NULL &&
             plist_count < MAX_PLIST)
      {
!       if (sscanf(line, "printer %s", name) == 1)
        {
        strcpy(plist[plist_count].name, name);
        sprintf(plist[plist_count].v.output_to, LP_COMMAND " -s -d%s", name);
--- 3153,3159 ----
      while (fgets(line, sizeof(line), pfile) != NULL &&
             plist_count < MAX_PLIST)
      {
!       if (sscanf(line, "system for %[^:]s:", name) == 1)
        {
        strcpy(plist[plist_count].name, name);
        sprintf(plist[plist_count].v.output_to, LP_COMMAND " -s -d%s", name);

-- 
Dipl. Inf. (FH) Aaron "Optimizer" Digulla
"(to) optimize: Make a program faster by
improving the algorithms rather than by       
buying a faster machine."                     

Reply via email to