home *** CD-ROM | disk | FTP | other *** search
/ Micro R&D 1 / MicroRD-CD-ROM-Vol1-1994.iso / os20 / cli / cfn.lha / CFN / source / cfn_newshell.c next >
C/C++ Source or Header  |  1993-06-24  |  2KB  |  53 lines

  1. /* - cfn -  completes filenames when pressing the "TAB" key */
  2.  
  3. /*  written in 1993 by Andreas Günther                      */
  4.  
  5. /*  ( compiled with aztec-C 5.2 )                           */
  6. /*  for more information, please read the doc-file          */
  7.  
  8.  
  9. /*  this is NOT great artwork, so                           */
  10.  
  11. /*           FEEL FREE TO IMPROVE THIS CODE !               */
  12.  
  13.  
  14.  
  15. /* note: this piece of code is real public domain, do with  */
  16. /*       it whatever you want, but I would be happy if you  */
  17. /*       left my name in it :)                              */
  18.  
  19.  
  20. /*  this is just a little program that should be put        */
  21. /*  into the "S:shell-startup"-script.                      */
  22. /*  It puts the address of the process structure of the     */
  23. /*  shell that have just been launched into the user-data   */
  24. /*  field of the window structure (if there is one).        */
  25.  
  26.  
  27.  
  28. #include "exec/types.h"
  29. #include "intuition/intuitionbase.h"
  30. #include "functions.h"
  31.  
  32.  
  33. char *ver="$VER: cfn 1.0 (21.6.93)  by Andreas Günther";
  34.  
  35. struct IntuitionBase *IntuitionBase=NULL;
  36. ULONG ilock;
  37.  
  38.  
  39. main()
  40. {
  41.   if(NULL==(IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library",0)))
  42.     printf("ERROR: could not open intuition.library !\n");
  43.   else
  44.    {
  45.     ilock=LockIBase(0);
  46.     if(IntuitionBase->ActiveWindow!=NULL)   /* oh, what a hack... :) */
  47.       if(IntuitionBase->ActiveWindow->UserData==NULL)
  48.         IntuitionBase->ActiveWindow->UserData=FindTask(NULL);
  49.     UnlockIBase(ilock);
  50.     CloseLibrary(IntuitionBase);
  51.    }
  52. }
  53.