home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ncftp-2.3.0-src.tgz / tar.out / contrib / ncftp / Tips.c < prev    next >
C/C++ Source or Header  |  1996-09-28  |  6KB  |  204 lines

  1. /* Tips.c */
  2.  
  3. #include "Sys.h"
  4. #include "Curses.h"
  5.  
  6. #include <ctype.h>
  7.  
  8. #include "Util.h"
  9. #include "Tips.h"
  10.  
  11. extern int gScreenWidth;
  12.  
  13. static char *gTipList[] = {
  14.  
  15. #ifdef USE_CURSES
  16.  
  17. /* Keep the curses tips separate so they won't show up if it isn't supported. */
  18.  
  19. "If you have visual mode turned on, NcFTP can use its own built-in mini \
  20. pager. This makes the \"pdir\"-type commands unnecessary.",
  21.  
  22. "Remote and local filename completion is available. Use the tab key. \
  23. Thanks to Tim MacKenzie (t.mackenzie@trl.oz.au)",
  24.  
  25. "If you don't like visual mode, you can start the program with \"ncftp -L\" to \
  26. turn it off at startup. To do that permanently, do a \"set visual 0\" from \
  27. within the program.",
  28.  
  29. "If you don't like visual mode, you can still edit the \"bookmarks\" and \"prefs\" \
  30. files by hand.  Use your editor on the files in ~/.ncftp.",
  31.  
  32. "Don't /add sites by hand using the Bookmark Editor. It's easier to just open a \
  33. new site from the command line, and let the program add a new entry \
  34. automatically.",
  35.  
  36. "Did you know the program keeps transfer statistics for each site? View a \
  37. site in the Bookmark Editor (use /ed) to check the stats.",
  38.  
  39. "Full-screen (visual) mode has its own built-in command line editor and \
  40. history. Use up/down arrow to scroll through the history. You can use the \
  41. left and right arrow keys to move around on the same line.",
  42.  
  43. "The Bookmark Editor also acts as an \"open menu.\"  Select the site you want and \
  44. hit the return key to open that site.",
  45.  
  46. "Unless you're using \"line mode,\" the program saves the command line \
  47. history and restores it the next time you run the program.",
  48.  
  49. "If you don't remember a host's full name, open the Bookmark Editor (\"bookmarks\") \
  50. and select it from the menu.",
  51.  
  52. "After opening a new site, NcFTP will assign it a bookmark.  You can then open \
  53. the site by opening it by its bookmark name.  You can use the Bookmark Editor (\"bookmarks\") to \
  54. change the nicknames if you want.",
  55.  
  56. #endif    /* USE_CURSES */
  57.  
  58. "You can abbreviate host names if you've opened them at least once before. \
  59. If you opened wuarchive.wustl.edu yesterday, you could try just \"open wuarchive\" \
  60. or just \"open wu\" today.",
  61.  
  62. "You can roll your own commands by using global macros.  Create a file called \
  63. \"macros\" in your .ncftp directory and put your macros in it.",
  64.  
  65. "If you miss the old \"macdef init\" macros which \"ftp\" ran when a specific \
  66. site was opened, you can still do it with NcFTP.  You need to put macros in \
  67. your \"macros\" file named \".open.<sitename>\" where <sitename> is the nickname \
  68. assigned to the host.",
  69.  
  70. "The \"open\" command accepts several flags.  Do a \"help open\" for details.",
  71.  
  72. "The \"get\" command accepts several neat flags.  Do a \"help get\" for details.",
  73.  
  74. "The \"get\" command skips files you already have.  To override that feature, \
  75. use the \"-f\" flag.",
  76.  
  77. "The \"get\" command now acts like \"mget\" did on older versions of NcFTP, \
  78. so you can get multiple files with one command as well as use wildcards.",
  79.  
  80. "The \"get\" command can now fetch whole directories. Try \"get -R\" sometime.", 
  81. "Use the \"more\" command to view a remote file with your pager.",
  82.  
  83. #ifdef SYSLOG
  84. "NcFTP was configured to log all of your connections and transfers to the \
  85. system log.",
  86. #endif
  87.  
  88. "This program is pronounced Nik-F-T-P.  NCEMRSoft is Nik'-mer-soft.",
  89.  
  90. /* Weight this one a little more. */
  91.  
  92. "You can get the newest version of NcFTP from ftp.probe.net, in the \
  93. /pub/ncftp directory.  NcFTP is FREEware!",
  94.  
  95. "You can get the newest version of NcFTP from ftp.probe.net, in the \
  96. /pub/ncftp directory.  NcFTP is FREEware!",
  97.  
  98. "You can get the newest version of NcFTP from ftp.probe.net, in the \
  99. /pub/ncftp directory.  NcFTP is FREEware!",
  100.  
  101. "Sometimes an alternate progress meter is used if the remote site isn't \
  102. using the latest FTP protocol command set." ,
  103.  
  104. "To report a bug, mail your message to mgleason@probe.net.  Include the \
  105. output of the \"version\" command in your message.  An easy way to do that \
  106. is to compose your message, then do a \"ncftp -H >> msg.\"",
  107.  
  108. "You can use World Wide Web style paths instead of colon-mode paths. \
  109. For example, if the colon-mode path was \"ftp.probe.net:/pub/ncftp/ncftp.tgz\", \
  110. the WWW-style path would be \"ftp://ftp.probe.net/pub/ncftp/ncftp.tgz\".",
  111.  
  112. /* Weight this one a little more */
  113.  
  114. "If you need to report a bug, send me a ~/.ncftp/trace file too.  To enable \
  115. tracing, turn on trace logging from the Prefs window, or type \"set trace 1\" \
  116. from the command line. Then re-create your bug, quit the program, and \
  117. send the trace file to mgleason@probe.net.",
  118.  
  119. "If you need to report a bug, send me a ~/.ncftp/trace file too.  To enable \
  120. tracing, turn on trace logging from the Prefs window, or type \"set trace 1\" \
  121. from the command line. Then re-create your bug, quit the program, and \
  122. send the trace file to mgleason@probe.net.",
  123.  
  124. "If you need to report a bug, send me a ~/.ncftp/trace file too.  To enable \
  125. tracing, turn on trace logging from the Prefs window, or type \"set trace 1\" \
  126. from the command line. Then re-create your bug, quit the program, and \
  127. send the trace file to mgleason@probe.net.",
  128.  
  129. "NcFTP will write all sorts of cool debugging information to a file named \
  130. \"trace\" in your .ncftp directory if you do a \"set trace 1\" at the start.",
  131.  
  132. "Sick and tired of these tips?  Type \"set tips 0\" any time."
  133. };
  134.  
  135. void PrintTip(char *tip)
  136. {
  137.     char buf[256];
  138.     char *cp, *dp;
  139.     int i, sWidth, lines;
  140.     
  141.     sWidth = gScreenWidth - 2;
  142.     for (cp = tip, lines = 0; *cp != '\0'; ++lines) {
  143.         while (isspace(*cp))
  144.             cp++;
  145.  
  146.         dp = buf;
  147.         if (lines == 0) {
  148.             strcpy(dp, "Tip: ");
  149.             i = 5;
  150.             dp += i;
  151.         } else {
  152.             strcpy(dp, "     ");
  153.             i = 5;
  154.             dp += i;
  155.         }
  156.         
  157.         for ( ; (*cp != '\0') && (i<sWidth); i++)
  158.             *dp++ = *cp++;
  159.  
  160.         if (*cp != '\0') {
  161.             cp--;
  162.             while (!isspace(*cp)) {
  163.                 cp--;
  164.                 dp--;
  165.             }
  166.         }
  167.         *dp = '\0';
  168.         
  169.         MultiLinePrintF("%s\n", buf);
  170.     }
  171.     MultiLinePrintF("\n");
  172. }    /* PrintTip */
  173.  
  174.  
  175.  
  176.  
  177. void PrintRandomTip(void)
  178. {
  179.     char *tip;
  180.     int tipNum;
  181.     
  182.     tipNum = rand() % NTIPS;
  183.     tip = gTipList[tipNum];
  184.     MultiLineInit();
  185.     PrintTip(tip);
  186. }    /* PrintRandomTip */
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193. void PrintAllTips(void)
  194. {
  195.     char *tip;
  196.     int tipNum;
  197.     
  198.     MultiLineInit();
  199.     for (tipNum = 0; tipNum < NTIPS; tipNum++) {
  200.         tip = gTipList[tipNum];
  201.         PrintTip(tip);
  202.     }
  203. }    /* PrintAllTips */
  204.