home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 52 / af052sub.adf / newlist.lha / NewList / Docs / Newlist.doc < prev    next >
Text File  |  1993-07-16  |  62KB  |  1,594 lines

  1. $VER: Newlist8 (19-Jun-93) Main doc
  2.  
  3.  
  4.                                NewList 8.0
  5.                         (too good to be GNUlist!)
  6.                                    by
  7.  
  8.                                Phil Dietz
  9.                                PO Box 306
  10.                              Yutan, Nebraska
  11.                                  68073
  12.  
  13.                                19-Jun-93
  14.  
  15.  
  16.  
  17. ===========
  18. Disclaimer:
  19. ===========
  20.  
  21.       Newlist is freely distributable.  However I really really would
  22.    like a letter or a few dollars from ya.  The more nice letters I get
  23.    from you, the nicer my résumé will be to give me the advantage in 
  24.    the computer job market!!
  25.    
  26.       **** EVERYONE SEND A NICE LETTER!  THE MORE THE BETTER! ****
  27.  
  28.    ps. All docs stay in the archive and PD companies must mail me a letter
  29.        before *selling* newlist.
  30.    
  31. ==============
  32. Register info:
  33. ==============
  34.  
  35.       It's completely optional (but tell that to your karma :-)
  36.  
  37.       If you register you will get:
  38.           - infinite updates of newlist for FREE
  39.           - updates mailed to you (even to foreign lands!)
  40.           - a FREE disk with each newlist update filled with other
  41.              new exciting PD programs I like!!
  42.           - a neat and official 'I support shareware' certificate
  43.              to show off to your friends saying you care for Amiga Shareware
  44.           - my patron only program 'NewLS' for the die-hard ls users.
  45.           - discounts on any commercial ventures I may take (soon!)
  46.  
  47.       Registration fee:  FLEXIBLE.
  48.  
  49.       The registration fee is whatever you want!  If you can't convert to
  50.       dollars, then just send foreign currency.  If you can't send 20 bucks 
  51.       then send 1 buck.  If you can't send money, send a gift for my new
  52.       apartment (a lamp, a book, an a4000 etc.:-)
  53.  
  54.              If you like newlist a lot then support newlist.
  55.  
  56.  
  57. ================
  58. What is Newlist?
  59. ================
  60.  
  61.       Newlist is not only a super fast, super powerful, and super 
  62.    configurable 'ls', but it has innovative features that make it
  63.    the one true 'ls' for the Amiga.  Features such as networking, datatypes,
  64.    mufs, styles, and internal string editing just aren't found in every
  65.    program.  Newlist has power features, power customization, power speed,
  66.    and power flexibility.
  67.  
  68.       The best of ls, the best of ddir, the best of list, and bunches
  69.    of my own special features were all put into one small and efficient
  70.    package.  With NewList, the user is given processing power.
  71.    You can sort a directory the way YOU want it.
  72.  
  73. =======================
  74. Is it too much for you?
  75. =======================
  76.  
  77.    Newlist may seem like too much for those who use the shell only when
  78.    they have too (cli-O-phobes)....but trust me, I wouldn't of made newlist 
  79.    if I didn't see a need for it.  Just take it nice and slow.  I guarantee
  80.    after a day or 2 of using newlist and it's flags, you will start to 
  81.    realize what you can do with newlist, and you will appreciate all of the 
  82.    features I have put in.
  83.  
  84. ====================
  85. Features of NewList:
  86. ====================
  87.  
  88.    o  WB3.0 features including networking, numeric localization, 
  89.          and datatypes.
  90.    o  WB2.0 features including assign adds and links.
  91.    o  Envoy and MultiUserFileSystem (muFS) support.
  92.    o  User definable styles for both filenames and datatypes similar 
  93.          to color-ls.
  94.    o  3 slick multi-columnar quick options to utilize screen space.
  95.    o  3 different type of recursion including a hunt mode like whereis.
  96.    o  localization for foreign users (doesnt require WB2.1+!)
  97.          (10 languages are included in the newlist package.)
  98.    o  internal string editing for the picky.
  99.    o  a built in StarBurst utility for * wildcards.
  100.    o  very fast algorithms and 'tight' code.
  101.    o  full UNIX and AmigaDOS wildcards (n*l*s#? = newlist)
  102.    o  ENV: support with permanent and conditional variables.
  103.    o  header, date, multi-column, and print formatting, so you can have
  104.         newlist run like lsjr, dr, or your OWN way!
  105.    o  flexible argument passing with multiple path support.
  106.    o  fetches console window bounds and adjusts accordingly.
  107.    o  a pager.
  108.    o  ANSI color
  109.    o  tons of sorts and filters (name, date, size, as-read, even comments!)
  110.    o  tons and tons and tons of flags and switches!
  111.    o  it's pure and residentiable!
  112.    o  SAS6.3 compiled!
  113.  
  114.  
  115. Usage:   NewList ? or Newlist -?
  116.  
  117.  NewList  8   WB2.0+ only  BYq  Phil Dietz  NCEMRSoft
  118.  NewList  [FLAGS ie. -rqt -p] <paths and wildcards>
  119.        o  Overlook ENV:NEWLIST* variables    e  Append ENV:NEWLIST to flags
  120.        p  Use Pager                          Z  No ANSI
  121.      b k  Show blocks or disk keys           a  No 'Today' substitution
  122.        u  Show DEVICE: usage info            h  No header
  123.        n  Show comments                      t  No totals
  124. gd gf gl  Show ONLY dirs, files, or links    Q  No system requesters
  125.       gm  Mixed output dirs & files          i  Show *.info files
  126.     s ss  Sort by name or filesize       X pat  Exclude pattern
  127.    sc sr  Sort by comment or as-read     d0..8  Eight date/time formats
  128.    sd sn  Sort by date or no sort            S  Stat totals only
  129.        r  Reverse the sort                   z  C= list style directories
  130.        R  Enter subs w/wild one level        A  Include assign add's
  131.        W  Enter subs w/wild ALL levels       /  Add / to dirs and > to links
  132.        H  Hunt for files on disk       q qs qt  Quick short directories
  133.        J  Do not enter links                 v  Horizontal sort quick style
  134.       x#  Max # dir-levels to enter         y#  Quick option uses # columns
  135.    c pat  Comment wildcard                   =  Separator line
  136.        P  Use FULL path for names            K  Kill language buffer
  137.      ] [  Show/hide 'a' bit                  B  Relative path names
  138.       T#  Turbo screen output 0..N       f0..9  Ten formats
  139.        I  Toggle Expert mode                 G  Force Grand totals
  140.    Y pat  Datatype wildcard                  !  Force ANSI on
  141.        U  Use Styles for filenames           V  Use Styles for Datatypes
  142.        l  Toggle long and short output       L  Use Envoy/muFS in WB2.xx
  143.      N O  dd-mmm-yy or #  Files made before/after date or # days ago
  144.        C  Custom header format " %@Rs and all date formats "
  145.        D  Custom date   format " %@ABCmdyvMDYhHNSItT   \Cnte' \f#b#s#o"
  146.    E M F  Custom print format "%@pUdbksvcCNnPogDBTGImMeEfFhH \Cnte' \f#b#s#o"
  147.  
  148. ===============
  149. FLAGS IN DEPTH:
  150. ===============
  151.  
  152.    Note:  All these flags are compatible with Newlist8 WB3.0 version.
  153.           Usage on WB2.0 and WB2.1 will be missing some features.
  154.  
  155.   ========================
  156.    Miscellaneous Commands
  157.   ========================
  158.  
  159.    [-?]   Usage Help.
  160.  
  161.    [-o]   When you want to OVERLOOK the ENV:NEWLIST, ENV:NEWLIST_QUICK,
  162.            ENV:NEWLIST_LONG, and ENV:NEWLIST_BOTH variables.  Using [-o]
  163.            will ignore your ENV: settings and use the newlist defaults.
  164.  
  165.    [-e]   Appends the conditional variable ENV:NEWLIST to your current
  166.            flags.  Normally when you give a flag, your ENV:NEWLIST is
  167.            skipped.  Giving [-e] will tell it not to skip your environment
  168.            settings.
  169.                         nl -p   skips ENV:NEWLIST     
  170.                         nl -pe  uses  ENV:NEWLIST
  171.  
  172.    [-p]   Turns on pagination.  When each screen fills, a prompt
  173.            will be be put up so you can read all the files before they fly
  174.            by!  The prompt contains the current grand totals as well as
  175.            some neat inverse video effects.  
  176.  
  177.                         [Space] - next full page
  178.                        [Return] - next line
  179.                             [n] - non-stop (turns off paging)
  180.                    [Esc] or [q] - quit newlist
  181.  
  182.           If you re-direct the output of newlist, paging will be turned off.
  183.  
  184.    [-a]   Forgets about the TODAY, YESTERDAY, bologna.
  185.  
  186. [-b] [-k] Instead of the default display of filesize, newlist will
  187.           instead display BLOCKS or DISKKEYS respectively.
  188.  
  189.    [-u]   Shows bytes FREE and bytes USED on disk.  Now you can get
  190.           all your needed info with one command instead of a "dir
  191.           list info" combo.  Note: due to RAM:'s variable size,
  192.           the bytes free will be zero.   Also note: sometimes the
  193.           size is off....I don't know why, but be aware.
  194.  
  195.    [-n]   Do you hate seeing those huge FILENOTES destroying your
  196.           directory list?  This flag will toggle if you want to see them.
  197.           If not present, a simple "Comment" or "c" will be shown to tell
  198.           you "hey mister, you can read me if you wanna."
  199.  
  200.    [-h]   Turns off the header.....ohhhhh.....big deal!
  201.           If you are auto-executing [-E] a format, [-h] will turn off
  202.           the verbose output.
  203.  
  204.    [-t]   Don't show totals.
  205.  
  206.    [-Z]   Forces ANSI sequences off.  Piping data in shells is different
  207.           than redirecting so nl can't tell when to turn off ANSI
  208.           automatically.  Thus you must give [-Z] whenever you pipe.
  209.           (Or use handy alias 'piper')
  210.  
  211.    [-Q]   Turns off system requesters.   No more bothersome 'Please 
  212.           insert disk' requesters.  Since requesters are off, unmounted
  213.           things like soft links will not be traversed.
  214.  
  215.           Note: system-requesters are turned on when fetching assign-add
  216.                 directories.
  217.  
  218.    [-/]   Append a slash '/' to directories and a '>' to links.  
  219.           Output is similar to NeXT Unix, A/UX, and dr.
  220.           The link sign '>' will only be printed in [-q] mode.
  221.           Oh yeah, I think ls's '@' is an ugly motha so I switched to the '>'
  222.  
  223.    [-=]   Prints a separator line between the dirs and the files.
  224.  
  225.    [-S]   Stats only option.  Only prints totals for each directory.
  226.           All newlist filters (*.c -O1 etc.) will still affect the results.
  227.  
  228.    [-A]   Include Assign Add's.  WB2.0 allows multiple assigns to a name
  229.           (ie many font dirs point to fonts:)  This option will have newlist
  230.           fetch all the different assign paths and view them.  Wild
  231.           cards, recursion, and multiple ASSIGN: paths will still work 100%.
  232.  
  233. [-d0...8] Eight different pre-made date formats.
  234.  
  235.           -d0   -   Expert mode date format
  236.           -d1   -   Locale.library format
  237.           -d2   -   YY.MM.DD HH:MM:SS
  238.           -d3   -   MM/DD/YY HH:MM:SS
  239.           -d4   -   YY.MM.DD
  240.           -d5   -   MM/DD/YY
  241.           -d6   -   Day Mon YY
  242.           -d7   -   Day Mon [YYY or HH:MM]
  243.           -d8   -   Date Stamp Values
  244.  
  245.           These formats can be changed by editing your NEWLIST_LANG file.
  246.  
  247. [-f0..9]  Ten different pre-made print formats.
  248.           These formats can be changed by editing your NEWLIST_LANG file.
  249.  
  250.    [-P]   Expands filename to include full path.  This allows a no-hassle
  251.           way to see full path names without having to create a custom
  252.           format with a %P character.  [-P] does not expand quick listings.
  253.  
  254.    [-B]   Will use relative path name instead of absolute.  So you will
  255.           see FONTS: instead of dh0:fonts for example.  Added because
  256.           a BBS owner wanted to hide his absolute path names from his users.
  257.  
  258.    [-K]   Frees all memory Newlist8 previously allocated (about 5k).
  259.           Newlist will have to re-parse ENV:NEWLIST_LANG when run again.
  260.           If you make changes to ENV:NEWLIST_LANG and you want to see the
  261.           results, you have to kill the file in memory first.
  262.  
  263.           Use [-K] when you need the 5k newlist8 reserves or
  264.           use [-K] when you want to try or edit a new locale file.
  265.  
  266.    [-I]   Toggles Expert mode between novice<->expert.  Having Expert mode 
  267.           will result in a more compact output similar to 'ls.'  Headers
  268.           are conditional.  Grand totals, dev: usage, misc \n's, and
  269.           the separator line are off.  The output also uses print and
  270.           date formats similar to lsjr.  You can edit these formats by
  271.           editing the NEWLIST_LANG file.  [-I] was implemented for those
  272.           users who thought the old newlist showed too much and for those
  273.           wanting output like 'ls'.
  274.  
  275.    [-G]   Forces grand totals on.  Some people like to have directory
  276.           totals off [-t] but still want to see a grand total output.
  277.  
  278.    [-!]   Forces ANSI on even when doing redirection to printers, etc.
  279.  
  280.  [-T #]   When printing to shells, this option will speed up output upto
  281.           15-40%!!  Giving a # will determine how much prescroll takes place.
  282.                            0 = turbo off
  283.                            1 = window height scroll (page at time)
  284.                         2..N = scrolls number of lines at time
  285.  
  286.                 Try values 2, 3, or 4 for optimal performance.
  287.  
  288.    [-L]   WB2.xx does not offer networking extensions like WB3.0, however 
  289.           Envoy and muFS both work in WB2.0 anyway.  Using [-L] will
  290.           tell newlist to look for muFS or Envoy on any disk that you
  291.           use.  Because WB2.0 doesnt have the networking stuff, older
  292.           filesystems that play with fib_Reserved or do not properly clear
  293.           them are thought to be networked as well, when actually they
  294.           aren't.  WB3.0 has no problems at all...
  295.  
  296.   ===============================
  297.    Groupings, Sorts, and Filters
  298.   ===============================
  299.  
  300.   Various filters and sorts to suit most everone.  Mix and match.
  301.  
  302.  -gd -gf  Groups the display so ONLY dirs, ONLY files, or ONLY links are
  303.    -gl     shown respectively. Similar to 'dir dirs' or 'dir files'
  304.            To show only dir links or only file links, use -glgf or -glgd
  305.            respectively.
  306.  
  307.   [-gm]   Shows BOTH directories and files in mixed order.
  308.  
  309.   [-gb]   Separates dirs and files...it's now the default value of newlist,
  310.              but this flag is left in for backwards compatibility.
  311.  
  312.    [-s]   Sorts files alphabetically.
  313.  
  314.   [-ss]   Sorts files by file size (or blocks [-b]).
  315.  
  316.   [-sd]   Sorts files by time (date of creation).  Very handy!!
  317.  
  318.   [-sc]   Sorts files by comments.  If you use FileNotes wisely, you can
  319.           have your directories be grouped by file type.  Simply
  320.           add a filenote to each file and give it a type (Picture, GIF,
  321.           Utility, NoiseTracker, etc.)   Now when you view by [-sc],
  322.           the files will be grouped together by type!  You can also use
  323.           the included alias 'dirtype' which will display the filetype 
  324.           in a nice position.
  325.  
  326.   [-sr]   Sorts files as-read (actually as hashed), but fully buffered.
  327.           To sort by diskkey use [-sr -k].
  328.  
  329.   [-sn]   No sort.  This is the default for Commodore's list.
  330.           This method uses the least memory and is the fastest.
  331.           This format prints files as-read.
  332.  
  333.    [-r]   Displays a list in REVERSE from top to bottom.  WHY?   
  334.           Instead of waiting for the whole list to scroll by to see a
  335.           file at the bottom, you can reverse the list and ctrl-c to
  336.           stop quick!  It's also handy when sorting by date.  All of
  337.           the newest files will be displayed first.
  338.  
  339.    [-i]   Show *.info files!
  340.  
  341.  [-X pat] Exclude a wildcard pattern.  This will NOT show files that match
  342.           the pattern.   ie  nl -X *.info  will hide all *.info files.
  343.           You may chain as many as you like, but each pattern needs a [-X]
  344.           flag.   ie  nl -X *.c -X *.o -X *.lnk  
  345.                   or  nl -X *.(c|o|lnk)
  346.  
  347.  [-c pat] Comment wildcard!  A very interesting idea from Tim Boland.
  348.           He mentioned that he has his comments on his files telling where
  349.           he got the file (Fred Fish Disk 597 or A-LINK BBS etc.)  With
  350.           [-c pat] command, you can say for instance
  351.  
  352.               nl -c "*Fish 597"       to get all files on FF 597
  353.               nl -c "*Fish 59*"       to get all files in FF 590 series
  354.               nl -c "[amicus|*Fish]*" to get all Amicus or FF files
  355.  
  356.           [-c pat] can also be used for a SHOW-ONLY commented files group
  357.           filter.  To show only files with a comment do a nl -c ?#?
  358.           or a nl -c ?*
  359.  
  360.  [-Y pat] Datatype wildcard.  This pattern will be matched against all the
  361.           entries of the datatype (datatype, groupname, basename, typename
  362.           and id)  
  363.  
  364.             nl -Y picture    shows all pictures
  365.             nl -Y "8svx"     shows all 8svx sounds
  366.             nl -Y [pic|8s]*  shows all pictures and 8svx sounds
  367.  
  368.           To show a file's datatypes, see -F '%D %B %T %G %I' or use the
  369.           handy alias 'dinfo' in the file 'scripts/aliases'.
  370.          
  371.    [-N]   dd-MMM-yy or # days
  372.           Shows files made in the last # days or files newer than dd-MMM-yy.
  373.           Suppose today is Sun 10-Nov-91 and you want to see files made
  374.           yesterday.  You can enter these:
  375.  
  376.           nl -N 1     nl -N 09-Nov-91   nl -N Saturday    nl -N yesterday
  377.  
  378.           Note how you can enter the # of days, the date, the day name
  379.           (Friday, Saturday, etc.), or today, yesterday, etc., to represent
  380.           the same thing!
  381.  
  382.           Day names like Saturday represent 'last Saturday' not
  383.           'this coming Saturday.'
  384.  
  385.    [-O]   dd-MMM-yy or # days
  386.           Shows files made before # days ago or files older than dd-MMM-yy.
  387.           See above [-N] for examples of usage.
  388.  
  389.     -]    Show files with the 'a' archived bit set.  The following
  390.             produces a list of ALL files on dh0: that have been archived.
  391.  
  392.                               nl -]iH dh0:
  393.  
  394.     -[    Show files without the 'a' archived bit set.  The following
  395.             produces a list of ALL files on dh0: that NEED to be archived.
  396.  
  397.                               nl -[iH dh0:
  398.  
  399.                          Also see script 'BackUp'
  400.  
  401.   [-l]   Toggles between long and short outputs similar to UNIX ls.
  402.  
  403.   =============================
  404.    Short Multi-Column Displays
  405.   =============================
  406.  
  407.    Short displays.  Lots of different variations for the choosing.
  408.    A sort will be used (name by default) none is given.
  409.  
  410.    [-q]   Gives a QUICK and easy listing of the directory.  The entire
  411.           screen will be utilized and multi-columns will be created.
  412.           The colors of the names and directories can be changed by
  413.           editing the _STYLEMISC: class in NEWLIST_LANG.
  414.           Because of [-q] simplicity, not all of the flags are usuable.
  415.           (like -D etc.)  Vertical sort is the default.
  416.  
  417.   [-qs]   Quick option WITH file-sizes!  A very very handy option very
  418.           similar to DIR opt s, but with multi-columns.  Note: if you'd
  419.           rather see blocks or keys instead, add -b or -k (ie nl -qs -b)
  420.  
  421.   [-qt]   Quick Option WITH file-sizes!  Similar to ddir output with
  422.           filenames followed by their size.  Long file names will be 
  423.           TRUNCATED (up to 13 chars) to fit inside it's column.  Column
  424.           width is variable depending on filename lengths and widowsize.
  425.           Make the window smaller, then the columns become smaller....
  426.           if they become to small (too much truncation) it will use
  427.           fewer columns.  Blocks [-b] and keys [-k] also work.
  428.  
  429.    [-v]   Horizontal sort the [-q -qs -qt] outputs.  Without
  430.           [-v], vertical sort is default.  Issuing [-v] implicitly
  431.           means [-q -v].
  432.  
  433.  [-y #]   Force # columns for [-q] quick option.  Use this option when
  434.           re-directing the output to a WIDE printer.  ie. to use 9
  435.           columns for a printer with 20 pitch type, use  nl >prt: -qy9 dh0:
  436.  
  437.    [-M]   Custom Multi-Columnar ouput.   See Below.
  438.  
  439.  
  440.  ===================
  441.   Custom Formatting
  442.  ===================
  443.  
  444.   Newlist's power comes from it's custom formatting.  While other 'ls'
  445.   programs have formating, they LOSE THEIR SPEED.  Newlist doesn't.
  446.  
  447.   For help creating custom formats, consult
  448.  
  449.             'docs/FormatTutorial.doc' for a tutorial on printf() style args
  450.             'scripts/Aliases'         for examples
  451.  
  452.  
  453.   IMPORTANT: to localize a numeric string in a custom format, replace the
  454.              '%' symbol with a '@' symbol.
  455.  
  456.              ie       nl -F "Name: %n size: %v %s"
  457.              becomes  nl -F "Name: %n size: @v @s"
  458.  
  459.              Localization of numbers requires WB3.0.  In WB2 '@' (ie @v)
  460.              is ignored and replaced with '%' (ie %v).
  461.              
  462.  
  463.   -----
  464.   DATE:
  465.   -----
  466.  
  467.    [-D]   Custom Date Format.  Use if your country has different format.
  468.           The format is -D "DATE STRING".  Here are the flags available:
  469.  
  470.           %A -  locale.library foreign date from DateToStr
  471.           %B -  locale.library foreign time from DateToStr 
  472.           %C -  locale.library foreign day  from DateToStr
  473.  
  474.           NOTE1: %A, %B, and %C are quicker than newlist equivalents.  If 
  475.                  you do not own WB2.1, then the results will be in English.
  476.  
  477.           NOTE2: %A, %B, %C use locale.library...if it is configured for
  478.                  a different language (say german) and you are using
  479.                  a different language file (say finnish), you will get
  480.                  a mixture.  To get all finnish, replace %A, %B, and %C
  481.                  with other newlist date format equivalents.
  482.  
  483.           %y -  year  as 2 digits  (90)
  484.           %Y -  year  as 4 digits  (1991)
  485.           %v -  year if older than 1 year...or else the time.
  486.              ^Note: no truncation  (.#) allowed for %v..use %5v and not %5.5v
  487.           %m -  month as 2 digits  (07)
  488.           %M -  month name         ("January".."December")
  489.         %.3M -  abbreviated month  ("Jan".."Dec")
  490.           %d -  day of month       (1-31)
  491.           %D -  day name           ("Monday".."Sunday")
  492.         %.3D -  abbreviated day    ("Mon".."Sun")
  493.           %h -  hour in twenty-four hour notation
  494.           %H -  hour in twelve hour notation
  495.           %I -  12 hour indicator for H notation (AM or PM)
  496.           %N -  minutes
  497.           %S -  seconds
  498.           %t -  prints TODAY, YESTERDAY, or Day name if applicable
  499.           %T -  two must be present.  Mark off block which will be
  500.                 substituted with Today, Yesterday, if applicable.
  501.                 If not applicable, it will process the inner block.
  502.                 (ie  -D "Date: %T%3M %2d%T" will sometimes print
  503.                 Date: Today  or  Date: Mar 16)
  504. \n, \t, \e, \' -  Newline, tab, escape key, or quote ".  \e can be used 
  505.                   to make neat ANSI sequences.  See aliases 'color'.
  506.          \b# -  sets background color (0-9)
  507.          \f# -  sets foreground color (0-9)
  508.          \s# -  sets style       (0-9)
  509.          \o  -  resets ansi for normal output
  510.          \C  -  Adds color string defined in language file under _NAMECOLOR:
  511.  
  512.                          Make a C string like printf().
  513.                -D "Date: %-9.9T%02d-%3.3M-%02y%T at %02H:02N:02S" 
  514.  
  515.                                  yields
  516.                        Date: 09-Nov-91 at 01:03:20
  517.                     or Date:   Today   at 01:03:20
  518.  
  519.                     It's Easy.  It adds spice.
  520.  
  521.    -------
  522.    Header:
  523.    -------
  524.  
  525.    [-C]   Custom header format if you do not like the default.
  526.           Here are the meta-characters:
  527.  
  528.           All date meta-characters above for [-D] (ie. %N, %M, etc.)
  529.           %s - Displays Path Name
  530.           %R - Adds Assign Add path name followed by an arrow....
  531.                  ie fonts: ->
  532.                  So normally you would put %R%s so you get results like
  533.                  fonts: -> dh0:fonts
  534.  
  535.              An ie:  nl -C "\n%R%s on %02d-%3.3M-%02y\n"
  536.            w/color:  nl -C "\n\f3%R%s\o on \f3%02d-%3.3M-%02y\o\n"
  537.  
  538.                     See 'aliases' file for neat examples.
  539.  
  540.    -------------
  541.    Short Format:
  542.    -------------
  543.  
  544.    [-M]   Custom Multi-columnar output.  Similar to [-q] short format,
  545.           but all of the flags in -F and -D can be used!
  546.           [-M] will not put a '\n' newline out until either:
  547.  
  548.                1)  you have a forced column setting
  549.                    ie nl -y3 -M "%n"   forces 3 columns
  550.                2)  it will print off the window.
  551.  
  552.           You WILL need to use expanding.truncating to get the output
  553.           in nice columns.  For example: nl -M "%-20.20n %U "
  554.  
  555.           Vertical and horizontal sort will not work on this data.
  556.  
  557.    ------------
  558.    Long Format:
  559.    ------------
  560.  
  561.    [-F]   Custom print format.   Now you can design the output the
  562.           way YOU want the output to be.  Here are the flags supported:
  563.  
  564.            %b - Block size
  565.            %c - 'c'       if filenote available
  566.            %C - 'Comment' if filenote available
  567.            %d - Date (this date can be constructed with -D!)
  568.            %k - Disk key
  569.            %n - File name
  570.                   %.5n -  file name truncated to 5 chars
  571.            %N - Filenote
  572.            %P - File name with complete path
  573.            %s - File size
  574.            %v - Variable output.   Depends if [-b] [-k] or [none] are used.
  575.            %p - C= style protection bits
  576.                   Networking bits are also shown if applicable.
  577.            %U - UNIX protection bits. Adds d for dirs and H/S for links
  578.                   Routine distinguishes directory and file links.
  579.                   Networking bits are also shown if applicable.
  580.            %L - Prints expanded link names in the form
  581.                   " -> Full-path-of-file".  Soft Links that have
  582.                   their link not mounted will be displayed as
  583.                   " -> !myfile".  
  584.                   Bad links will be " -> :UNKNOWN FILE:"
  585.  
  586.                   Normally you would put %n%L so you get results like
  587.                      filelink -> dh0:mylink
  588.  
  589.            These flags require ENVOY:
  590.            %E - Users UserID
  591.            %e - Users Username
  592.            %F - Groups GroupID
  593.            %f - Groups GroupID name
  594.            %H - Users Primary GroupID
  595.            %h - Users Primary GroupID name
  596.  
  597.            These flags require muFS:
  598.            %e - Users UserID  (short name)
  599.            %E - Users Username (long name)
  600.  
  601.            NOTE: MuFS will not be used if Envoy is installed.
  602.  
  603.            These flags require WB3.0 and/or mufs/envoy:
  604.            %o - Networking/multi-user ID for Other
  605.            %g - Networking/multi-user ID for Group
  606.            %D - File datatype for Description
  607.            %B - File datatype for Base name
  608.            %G - File datatype for Group
  609.            %T - File datatype for Type
  610.            %I - File datatype for ID
  611.  
  612.             
  613.    \n, \t, \e, \'  -  Add newline, tab, escape charater, or quote ".  These 
  614.                  sequences may be used to create neat ANSI stuff.   Check
  615.                  out 'color' in the file 'aliases'.  \' is very useful
  616.                  when filenames you are manipulating contain spaces.
  617.                  It you put \' around the name ( \'%n\' ) most DOS
  618.                  commands will now recognize the file.
  619.            \b# - sets background color (0-9)
  620.            \f# - sets foreground color (0-9)
  621.            \s# - sets style       (0-9)
  622.            \o  - resets ansi for normal output
  623.            \C  - Adds color string defined in language file under _NAMECOLOR:
  624.  
  625.  
  626.                  Here is a UNIX ls format example
  627.         -F " %U %c %4b  %7s %d %n" -D "%.3M %2d %02h:%02n"
  628.  
  629.  
  630.       For a LOT of examples of formats look in 'scripts/Aliases'
  631.             So ya still like LS?  Take off, ya hoser.
  632.  
  633.    -------------
  634.    Auto Scripts:
  635.    -------------
  636.  
  637.    [-E]   Execute print format immediately.  The format takes the form
  638.           of [-F] above.
  639.  
  640.           This will prevent unnecessary script files from being generated.
  641.           For example:
  642.  
  643.                         nl sounds:* -E "sound %P"
  644.                      will play all sounds in sounds:.
  645.  
  646.                   nl -H -N1 -E "copy %P to backupdisk:" dh0:
  647.                will copy all files made in the last day on dh0:
  648.                            to your backupdisk:.
  649.  
  650.           If you want to copy or move files, etc. with spaces in them
  651.           ("Read Me"), you should pad the filename with quotes so
  652.           AmigaDOS will run it properly.  (ie nl -E "copy \'%P\'" )
  653.                                                            ^   ^
  654.                                                         Quote Characters
  655.       
  656.           By default, -E prints in verbose mode (prints Executing xxx....)
  657.           To turn it off, turn off the header with [-h] flag.
  658.      
  659.           WB2.0 version will allow interactive input and output with
  660.           CLI programs so you can "delete %P ASK" or whatever.
  661.  
  662.   ==========================
  663.    Recursion and Hunt modes
  664.   ==========================
  665.    
  666.    Recursion is where you enter subdirectories, print info, enter
  667.    it's subdirectories etc.  It's similar to 'dir opt all'.
  668.  
  669.    Newlist has 3 different types of recursion available.  Mostly they
  670.    affect how the wildcard will be applied.  Here's how they work:
  671.  
  672.           ie   nl [-R|-H|-W] dh0:c*   will list
  673.  
  674.                          with 'nl -R dh0:c*'
  675.                          candy/snickers (dir)
  676.      [loose wild]         cars/datsun
  677.                           cars/cadillac
  678.                           cars/yugo
  679.  
  680.              (ALL files in dirs ONLY starting with c)
  681.  
  682.                         with 'nl -H dh0:c*'
  683.                          candy/chocolate (dir)
  684.       [hunt mode]         cars/cadillac
  685.                         drinks/coffee
  686.                         lemons/cray-computer
  687.  
  688.          (ONLY files and dirs starting with c in ALL dirs)
  689.  
  690.                         with 'nl -W dh0:c*'
  691.      [strict wild]       candy/chocolate (dir)
  692.                           cars/cadillac
  693.  
  694.      (ONLY files starting with c in dirs ONLY starting with c)
  695.  
  696.  
  697.      [-R] uses the wildcard only on the first level.  All files
  698.           and subdirectories after that will be displayed.
  699.      [-W] uses the wildcard on all levels.  Only files and directories
  700.           matching the wildcard will be shown/entered.
  701.      [-H] enters every single directory no matter the wildcard,
  702.           and will only print info that matches the wildcard.
  703.  
  704.  
  705.    [-R]   Recursion.  This will use wild card ONLY for the first level.
  706.  
  707.         nl -R FF:n*   will show complete listings of dirs that
  708.             start with n.
  709.  
  710.         FF:nebraska (dir)    FF:names (dir)   FF:numbers (dir)
  711.         Omaha                Phil             One
  712.         Lincoln              Justin           Two
  713.         etc.                 etc.             etc.
  714.  
  715.    [-W]   Will exclusively use wildcard to match files and sub-directories
  716.           on EVERY level.  ONLY files matching wildcard will be shown
  717.           and ONLY subdirectories matching wildcard will be entered.
  718.  
  719.           [-W] is the method that ls uses- enter only dirs matching pat
  720.  
  721.    [-H]   Hunt files down.  Will recursively enter subdirectories, but 
  722.           will enter all directories regardless of wildcards, etc.  Why?
  723.           Now let's say you want a list of all 'c' files on your harddisk.
  724.  
  725.                            Simply  nl -H dh0:*.c
  726.  
  727.           Besides matching wildcards, [-H] will also accept the other
  728.           conditional flags (like -i -N etc.)
  729.  
  730.           Now you can view all files made since yesterday....
  731.  
  732.                            nl -H -N yesterday dh0:
  733.  
  734.           [-H] enters every directory it finds (up to -x #) levels and
  735.           tries to match corresponding files and dirs.
  736.  
  737.           Hunt mode will now match both files and directories.   If you
  738.           want to see only matching files, use [-gf] with it.
  739.  
  740.    [-J]   Jump links.  Newlist will not enter or follow links when in
  741.           recursion mode.  Works in conjunction with -R, -W, or -H.
  742.  
  743.  [-x #]   Only enter # subdirectory levels in recursion mode.  Otherwise it 
  744.           will enter every sub-directory it will find.
  745.           Use with [-R, -W, -H].  Root level only is [-x 0].
  746.  
  747.  
  748. =================
  749. Important Points:
  750. =================
  751.  
  752.      -------------------------------
  753.      Paths- the directories to view:
  754.      -------------------------------
  755.  
  756.      + You can have more than 1 path.  Just add it. ie
  757.  
  758.                   nl df0: df1: df2:
  759.  
  760.      + Paths on the command line will be entered from left to right.
  761.  
  762.      + The Amiga currentdir character "" may not always work.
  763.        An alternative is to have a single wild card, *.
  764.        nl * rad:  will list rad: then the current directory.
  765.  
  766.      -----------------------------------------
  767.      Flags- how they work and are interpreted:
  768.      -----------------------------------------
  769.  
  770.      + All of the flags and paths can be used in ANY order.  
  771.  
  772.                          nl dh0: -s df1: -r
  773.        is the same as    nl dh0: df1: -s -r
  774.  
  775.      + Flags may be joined together:  nl -rsgmi  
  776.                           separated:  nl -r -s -gm -i
  777.                             or both:  nl -rs -gmi
  778.  
  779.          IMPORTANT: watch out for amibiguous flag combinations.
  780.                     ie. nl -qsd is not the same as nl -q -sd
  781.                     The -qsd is parsed to be -qs and -d.
  782.  
  783.      + Flag parsing ignores whitespace.  So if you say
  784.  
  785.           nl -F"%n" 
  786.        or nl -F[TAB][TAB]"%n" etc. they will be the same.
  787.  
  788.      + Most flags allow toggling back and forth.
  789.  
  790.             nl -a   is on    
  791.             nl -aa  is off    
  792.             nl -aaa is on etc.
  793.  
  794.      + Precendence of flags goes as follows:
  795.          
  796.                           flags from
  797.                           ----------
  798.           Most Priority : Command Line
  799.                           ENV:NEWLIST
  800.                           ENV:NEWLIST_BOTH
  801.           Least           ENV:NEWLIST_QUICK or ENV:NEWLIST_LONG
  802.  
  803.      + All of the flags can be used together (-q has exceptions):
  804.        You can view a directory of files made in the last 2 weeks,
  805.        sorted by date in reverse order, showing block size , with
  806.        a custom dateformat string, custom print string, hiding 
  807.        .info files, paging, using a UNIX wildcard, etc. etc.
  808.  
  809.      -----------------------------
  810.      Wildcards- how they are used:
  811.      -----------------------------
  812.  
  813.      + Both Amiga and UNIX wildcards are supported
  814.        To use a wildcard simply add it right after the path 
  815.  
  816.                (ie dh0:*.c)
  817.  
  818.      + The wildcard MUST be connected to it's path.  If you say
  819.  
  820.                 nl dh0:*.c    (right)
  821.                 nl dh0: *.c   (wrong)
  822.  
  823.        NewList will think you want a dir of dh0: AND a dir of
  824.        files matching *.c in the current directory.
  825.  
  826.      + Each new path may have a totally different wildcard
  827.  
  828.           nl *.doc ram:*.c df0:*.lzh c:d?r df0:
  829.              ^                ^             ^
  830.          just wildcard       both      just path
  831.         (assume current               (assume * as
  832.            directory)                   wildcard)
  833.  
  834.      + "nl ?" brings up the help message.   
  835.  
  836.         To use '?' as a UNIX wildcard add a space ' ' or a flag 
  837.         or a path before or after the '?'.
  838.  
  839.          "nl ?"  or  "nl -?"            get help
  840.  
  841.          "nl ? " or  "nl -s ?" 
  842.                  or  "nl dh0:?"      use '?' as wildcard
  843.  
  844.      ----------------------------
  845.      Supported wildcard patterns:
  846.      ----------------------------
  847.  
  848.        ?     Matches a single character
  849.        #     Matches the following expresion 0 or more times
  850.     (ab|cd)  Matches any one of the items separated by |
  851.        ~     Negates the expressions
  852.      [abc]   Character class: matches any of the characters 
  853.                 in the class
  854.      [~bc]   Character class: matches any of the characters NOT 
  855.                 in the class
  856.       a-z    Character range  ie [a-l] (WB2.0 users need to CAPITALIZE the
  857.                 letters  ie [A-D]
  858.        %     Matches 0 characers always  (useful in "(foo|bar|%)")
  859.        *     A synonym to #?
  860.  (ab*|*xy*|~*.c)  A compound wildcard
  861.  
  862.  
  863. ========================
  864. Support for WB2.0 Links:
  865. ========================
  866.  
  867.       NewList has complete support for WB2.0's new link format.
  868.       NewList has the BEST link support available.  This complete support
  869.       includes:
  870.  
  871.         1) Hard links, soft links, and pipes are supported.
  872.  
  873.         2) Links will be shown VIA the UNIX style protection bits.
  874.  
  875.            ie   dH----rwed   and   -H----rwed
  876.                 ^(dir link)        ^(file link)
  877.  
  878.            depending if they point to a directory or a file.  Hard
  879.            and soft links will also be shown by the bits H and S
  880.                after the d
  881.  
  882.            ie   dH----rwed        and   -H----rwed
  883.                 ^(dir hard link)        ^(file hard link)
  884.  
  885.                 dS----rwed        and   -S----rwed
  886.                 ^(dir soft link)        ^(file soft link)
  887.  
  888.                                -P----rwed
  889.                                 ^pipe
  890.  
  891.         3) Link names can be fully expanded to tell where they point too
  892.            (even unmounted soft links!)
  893.                          link -> dh0:source/newlist
  894.  
  895.         4) Soft links will be distinguished as being dir links or file links.
  896.            Thus, softlinks will be transparently identical to hard links.
  897.            (softlinks do not tell if they point to a file or a dir.  NewList
  898.             will find out for itsself.)
  899.  
  900.         5) Intelligent link traversals.  Circular directories and back-links
  901.            will not confuse newlist (unlike Commodore 'list'!)
  902.            A special method is used to prevent nonterminating loops.
  903.            A directory will ONLY be shown once.  If a link wants to show
  904.            it again, it will be ignored.
  905.  
  906.         6) Bad soft links or links that can't be resolved will be 
  907.                        detected and have the value:
  908.                          link -> :UNKNOWN FILE:
  909.    
  910.         7) [-/] flag will display links with a trailing >.  
  911.            The color and style of the links depends on the user settings
  912.            in _STYLEMISC: class in ENV:NEWLIST_LANG.
  913.  
  914.         8) Soft links that are not mounted will have a ! in front of
  915.            them.    ie.   link -> !df1:myfile
  916.  
  917.         9) Recursive modes [-R -W -H] by default will traverse links.
  918.            If you wish for them not to be traversed, give [-J] jump option.
  919.  
  920.        10) Better link utilities are given in the /Misc drawer.
  921.            A new 'makelink' utility that supports soft link generation
  922.            and a 'deletelink' utility to erase them are included.  They
  923.            include full 'C' source.
  924.  
  925. ==============
  926. WB3.0 Support:
  927. ==============
  928.  
  929.    Again newlist sets a precedence for supporting all of Commodore's newest
  930.    innovations.  This time newlist is one of the few listers that recognize
  931.    the new Networking, muFS, Envoy, DataTypes, and Misc. facilities.
  932.  
  933.    ----------
  934.    Networking
  935.    ----------
  936.  
  937.    The networking/multi-user support is given by showing the Group and Owner 
  938.    IDs for a given file as well as their new protection bits....
  939.  
  940.    -Using '%U' protection bits:
  941.  
  942.     dH rwedrwed sparwxd  123  456  07-Feb-93   2  UserNa  366 exec.h
  943.        --+---+-----+---  -+-  -+-
  944.      +---+   |    std.    |    +---+
  945.      Other  Group       OtherID    GroupID
  946.  
  947.  
  948.    -Using  '%p' protection bits:
  949.  
  950.     exec.h                  366 ---rwedrwedrwed  09-Mar-93 10:52  UserName
  951.                                 ------+---+---+
  952.                                     std.  |   +--+
  953.                                          other group
  954.                                           ^
  955.                                 This C= style of bits is given with '%p'
  956.  
  957.    NOTE: The networking ID's and protection bits only show up
  958.    when you are doing a networked directory.  This prevents unnecessary
  959.    data from being printed all the time.
  960.  
  961.    ----
  962.    muFS
  963.    ----
  964.  
  965.    Mufs does not require WB3.0.  See networking above for info.
  966.  
  967.    Newlist 8 also supports the Shareware filesystem called mufs which allows
  968.    for a multi-user filesystem similar to UNIX.  When mufs is in use,
  969.    newlist8 will be able to show the owner name and id that owns a particular
  970.    file.  If a user installs Envoy, then muFS will no longer be recognized.
  971.  
  972.    To use muFS under WB2.0, you must give the flag [-L].  WB3.0 need not
  973.    use the flag...
  974.  
  975.        muFS is able to show the files:
  976.           -UserID  (short name)
  977.           -Username (long name)
  978.  
  979.    -----
  980.    Envoy
  981.    -----
  982.  
  983.    Envoy does not require WB3.0.
  984.  
  985.    Basically the Envoy support is expansion of Owner and Group IDs...
  986.    see muFS and Networking above.
  987.  
  988.    To use Envoy under WB2.0, you must use the flag [-L].  WB3.0 need not use
  989.    the flag...
  990.  
  991.       Envoy support is able to show a files:
  992.          -Username
  993.          -UserID
  994.          -Groupname
  995.          -GroupID
  996.          -Primary Groupname
  997.          -Primary GroupID
  998.  
  999.    ---------
  1000.    DataTypes
  1001.    ---------
  1002.  
  1003.    This very powerful feature allows file types to be easily recognized.
  1004.    Adding a new datatype to the system allows for all programs (like newlist)
  1005.    to recognize it as well...
  1006.  
  1007.    Normally you would see directories like this:
  1008.  
  1009.        d----rwxd   Oct 07 92 22:42     1  22222  spinach
  1010.  
  1011.    However how you do not know what 'spinach' is.  With newlist8 you can find
  1012.    out!  The directory will show:
  1013.  
  1014.        d----rwxd   Oct 07 92 22:42     1 Picture  22222  spinach
  1015.    or  d----rwxd   Oct 07 92 22:42     1 ILBM     22222  spinach
  1016.  
  1017.    or whichever fields you feel are most appropriate!
  1018.  
  1019.    Surprisingly WB3.0 datatype recognition is fast as well taking only
  1020.    a few extra milliseconds per file!  However if you feel this
  1021.    slow-down is too much, you can simply "not use the feature" and 
  1022.    not lose ANY performance from earlier versions.  To "not use the feature"
  1023.    simply remove any datatype flags from your custom formats (%DBTGI).
  1024.  
  1025.       Datatypes that can be shown:
  1026.          -Datatype
  1027.          -Basename
  1028.          -Type
  1029.          -Group
  1030.          -ID
  1031.          
  1032.       Besides showing the types strings newlist also supports:
  1033.          -Datatype wildcards  [-Y pat]
  1034.          -Datatype styles and color enhancement  [-V]
  1035.  
  1036.    -------------
  1037.    Miscellaneous
  1038.    -------------
  1039.  
  1040.    Numeric data can be LOCALIZED as long as you own WB3.0.
  1041.    An example of localized data is 1,234 instead of 1234.
  1042.  
  1043.    To use this feature you must do some editing of the language file
  1044.    (NEWLIST_LANG).
  1045.  
  1046.    To localize the internal strings of newlist (in ENV:NEWLIST_LANG):
  1047.  
  1048.       Simply replace the string %ld with %lD in the places where you feel 
  1049.       expanded numbers would suit best....like in the dev: size string, etc.
  1050.  
  1051.       Example: 
  1052.          "Used %4lD bytes  -  Free %4lD bytes (%ld %% free)\n"
  1053.                   ^                              ^
  1054.                was 'd'        notice how the %free will not be localized
  1055.  
  1056.    To localize your custom formats:
  1057.  
  1058.       Simply replace the percent sign (%) of the meta-character
  1059.       (ie %b, %s, etc.) with an ampersand sign (@).
  1060.  
  1061.       Example:
  1062.               nl -F "Name: %20.20n Size: %7s"
  1063.       becomes nl -F "Name: %20.20n Size: @7s"
  1064.  
  1065.  
  1066. =============================
  1067. Environment Variable Support:
  1068. =============================
  1069.  
  1070.       Environment variables allow a user to define his or her own default
  1071.    settings for newlist.  There are 4 different variables you may set.
  1072.    They are NEWLIST, NEWLIST_QUICK, NEWLIST_LONG, and NEWLIST_BOTH.  They
  1073.    are not all the same.  One is conditional and the other 3 are
  1074.    semi-permanent.
  1075.  
  1076.               NEWLIST_QUICK   permanent variables
  1077.               NEWLIST_LONG     "           "
  1078.               NEWLIST_BOTH     "           "
  1079.  
  1080.               NEWLIST         conditional variable   
  1081.  
  1082.  
  1083.    Newlist will look for these variables in 3 places in this order:  
  1084.                                  ENV:
  1085.                                  ENVARC:
  1086.                             and  locale:
  1087.  
  1088.    I HIGHLY recommend that you store ALL your variables in 
  1089.    ENVARC: since this is a permanent directory on a disk.  So for all
  1090.    references of ENV:NEWLIST, think of it as ENVARC:NEWLIST.
  1091.    
  1092.    ----------
  1093.    Permanent:
  1094.    ----------
  1095.       If you want a flag to always be set, use these variables.  They are:
  1096.  
  1097.                                ENV:NEWLIST_QUICK
  1098.                                ENV:NEWLIST_LONG
  1099.                           and  ENV:NEWLIST_BOTH.     
  1100.  
  1101.       These will load in all cases except when [-o] is given.  These flags
  1102.       are designed for permanent flags like custom date and print formats,
  1103.       as well as other permanent type data.  Depending on how you execute
  1104.       newlist, certain variables will be loaded:
  1105.  
  1106.         ENV:NEWLIST_QUICK will be read only for a quick [-q] format.
  1107.         ENV:NEWLIST_LONG  will be read only for a long format.
  1108.         ENV:NEWLIST_BOTH  will be read for either long or quick.
  1109.  
  1110.       Be careful with the permanent settings.  The settings are set
  1111.       every time you run newlist.   If you have a variable like short
  1112.       output [-q] in your ENV:NEWLIST_BOTH and you want a long output,
  1113.       *you will have to turn it off by hand* by toggling it back off
  1114.       (nl -q) or by forgetting ENV: all together with a [-o].
  1115.  
  1116.    -----------
  1117.    Conditional
  1118.    -----------
  1119.          The conditional variable ENV:NEWLIST loads only in certain
  1120.       circumstances.  They are:
  1121.  
  1122.             1)  No flags are given                  (ie nl df0:)
  1123.          or 2)  The [-e] append ENV: flag is given. (ie nl -e)
  1124.  
  1125.       If you give ANY flag (ie nl df0: -p) or if you give the [-o] flag
  1126.       then ENV:NEWLIST will NOT be loaded.
  1127.  
  1128.       One uses the conditional variable ENV:NEWLIST when one wants certain
  1129.       flags to be used most of the time.  This allows you to easily change
  1130.       from one newlist output to another without many hassles.  
  1131.  
  1132.       For example...lets say your ENV:NEWLIST is a sort by date "-sd"
  1133.       Giving 'nl -q' will skip ENV:NEWLIST and thus sort by name (default)
  1134.  
  1135.     ----------
  1136.     Precedence
  1137.     ----------
  1138.        Custom formats and non-toggle variables on your command line and
  1139.        in your ENV:NEWLIST have precedence over those in ENV:NEWLIST_*.
  1140.  
  1141.        Any custom format issued on the command line or in ENV:NEWLIST
  1142.        will override your ENV:NEWLIST_* setting.  
  1143.  
  1144. ---->  Flags and switches like [-p] do NOT have a precedence.
  1145.        They will always be toggled.  If ENV:NEWLIST_* has a [-p] for 
  1146.        paging on and ENV:NEWLIST has a [-p] for paging on, paging will
  1147.        be toggled off.
  1148.     
  1149.        Most Priority : Command Line 
  1150.                        ENV:NEWLIST
  1151.                        ENV:NEWLIST_BOTH
  1152.        Least           ENV:NEWLIST_QUICK or ENV:NEWLIST_LONG
  1153.  
  1154.    -------
  1155.    Summary
  1156.    -------
  1157.       The majority of your flags should go in permanent variables 
  1158.             NEWLIST_LONG, NEWLIST_QUICK, or NEWLIST_BOTH.
  1159.  
  1160.       The conditional variable NEWLIST is only for the flags you want
  1161.                            conditionally set.
  1162.  
  1163.  
  1164.       Here's a short summary of what ENV: files will be loaded.
  1165.       Lets say you have all of the ENV: variables defined...
  1166.  
  1167.         nl df0:        will load ENV:NEWLIST (since no flags on command line)
  1168.                        will load ENV:NEWLIST_LONG  (if long output)
  1169.                    and will load ENV:NEWLIST_BOTH
  1170.  
  1171.         nl -l df0:     will load ENV:NEWLIST_LONG   (since long out mode)
  1172.                    and will load ENV:NEWLIST_BOTH
  1173.  
  1174.         nl -q df0:     will load ENV:NEWLIST_QUICK  (since short out mode)
  1175.                    and will load ENV:NEWLIST_BOTH
  1176.  
  1177.         nl -q -a df0:  will load ENV:NEWLIST (because of [-a])
  1178.                        will load ENV:NEWLIST_QUICK  (since short out mode)
  1179.                    and will load ENV:NEWLIST_BOTH
  1180.  
  1181.         nl -q -o df0:  (no variables are loaded because of [-o])
  1182.  
  1183.    -------------------------
  1184.    Things you can do w/ ENV:
  1185.    -------------------------
  1186.       
  1187.       Examples:   Commodore style to be the default
  1188.                        setenv NEWLIST_BOTH -z
  1189.       for die->   Short output listing as default (like ls)
  1190.       hard ls          setenv NEWLIST_BOTH -q  (or qs or qt)
  1191.       users       Special header for small style
  1192.                        setenv NEWLIST_QUICK "-C *"\b3Test String\o\n*""
  1193.    
  1194. ===================================================
  1195. How to set ENV:NEWLIST and ENV:NEWLIST_* variables:
  1196. ===================================================
  1197.  
  1198.      Make sure ENV: is assigned to a permanent directory.  Now use the 
  1199.    Commodore supplied command setenv.  Here is my ENV:newlist setting:
  1200.  
  1201.                setenv  envarc:NEWLIST  "-sd -u -Q"
  1202.     or better  setenv  envarc:NEWLIST  "-sduQ"
  1203.  
  1204.     ------------------------------------------------------------------
  1205.     NOTE: the shell parses quotes (").  
  1206.           To set an ENV: variable with quotes from the shell, you must
  1207.           escape them with:
  1208.  
  1209.               setenv  envarc:NEWLIST  "-D *"Year %4Y*" -ss"
  1210.                                           ^^      ^^
  1211.                                         escaped the quote
  1212.     ------------------------------------------------------------------
  1213.  
  1214.     You may also edit the flags with a text editor like ed:
  1215.  
  1216.                      ed  envarc:NEWLIST
  1217.                    copy  envarc:NEWLIST env:
  1218.  
  1219.     If you have no permanent envarc: replace all instances with env:
  1220.  
  1221. =============
  1222. Localization:
  1223. =============
  1224.  
  1225.    Localiztion has been added to Newlist.  It does _NOT_ require
  1226.    WB2.1 or above, only WB2.04.  Localization allows users to rewrite the
  1227.    internal strings of newlist to run in their own native language. 
  1228.    So Newlist can now be German...Dutch...Polish...or whatever.
  1229.    Ten languages are currently supported (however is Elite considered 
  1230.    a language?? :-)
  1231.    As a benefit, you can change the ANSI colors and styles so the
  1232.    output is to YOUR personal liking!
  1233.  
  1234.    Use the supplied install script:
  1235.  
  1236.       cd Languages
  1237.       Execute Install_Lang
  1238.  
  1239.                                  - or-
  1240.  
  1241.    Simply copy your lang file as NEWLIST_LANG to ENV: or locale:
  1242.  
  1243.  
  1244.    At anytime you wish to edit the language..simply edit ENVARC:NEWLIST_LANG
  1245.  
  1246.       To edit language:   Simply edit the   ENVARC:NEWLIST_LANG 
  1247.                                          or locale:NEWLIST_LANG
  1248.  
  1249.    ---------
  1250.    IMPORTANT
  1251.    ---------
  1252.    
  1253.    Newlist parses the NEWLIST_LANG file *only 1 time*, after that
  1254.    further calls will use the parsed strings already in memory!!  This 
  1255.    drastically increases newlist's performance.  If at any time you want
  1256.    this 5k of memory back or if you want to change the NEWLIST_LANG file,
  1257.    you can free this memory with the [-K] option.
  1258.  
  1259.     To change lang file:   execute Install_lang
  1260.                               -or-
  1261.                            nl8intl -K
  1262.                            cp newlist_lang.xxxx envarc:newlist_lang
  1263.    
  1264.                            Whallah...
  1265.    
  1266.                  I hope all of you enjoy localization!!!  
  1267.                  Now newlist has COMPLETE customization.
  1268.    
  1269.    NOTE: NEWLIST_LANG is not a WB2.1 catalog. I have no WB2.1 documentation!
  1270.  
  1271.  
  1272. ==============================================
  1273. Language Editing and Internal String Changing:
  1274. ==============================================
  1275.  
  1276.       Newlist's greatest feature is that a user can configure newlist
  1277.    to print the way he wants it too.  One can edit the colors, the styles,
  1278.    the date formats, the print formats, the totals...the whole enchilada.
  1279.    He can make it run in Booga or he can make it run in duDeZ...just
  1280.    make it.
  1281.  
  1282.       When editing the strings you can add all the ansi sequences you want
  1283.    including the macros that newlist has.  The current macros are:
  1284.  
  1285.           \n, \t, \e, \'  -  Add newline, tab, escape character, or quote ".
  1286.                  These sequences may be used to create neat ANSI stuff.
  1287.            \b# - sets background color (0-9)
  1288.            \f# - sets foreground color (0-9)
  1289.            \s# - sets style       (0-9)
  1290.            \o  - resets ansi for normal output
  1291.            \C  - Adds color string defined in language file under _NAMECOLOR:
  1292.  
  1293.          
  1294.       This section will describe each language class, it's features, and 
  1295.    what you can do with them.
  1296.  
  1297.    _NAMECOLOR:
  1298.  
  1299.       This is the default color that newlist uses all over the place
  1300.       (like in the Usage, the totals, etc.)  This color is also used
  1301.       whenever you use \C in a format.  Currently it is "\f3" which is 
  1302.       color 3.  To change it to say color 3 on a color 1 background
  1303.       change it to "\f3\b1"
  1304.  
  1305.    _STYLEMISC:
  1306.  
  1307.       These strings allow you to change the style attributes of directories
  1308.       and links for both long and quick formats.  This allows you to say
  1309.       set directories to be bold when doing a quick output, but say
  1310.       have them be black on a blue background for long outputs.  One can
  1311.       set the styles for:
  1312.  
  1313.          Directory color long output mode
  1314.          Directory link color long output mode
  1315.          File link color long output mode
  1316.          Directory color short output mode
  1317.          Directory link color short output mode
  1318.          File link color short output mode
  1319.          Mufs and Envoy User and Group names style
  1320.  
  1321.       Remember: if you do not like a color than simply change it.  If you
  1322.                 dont want any color then make the string empty like ""
  1323.  
  1324.    _STYLEFILENAMES:
  1325.  
  1326.       When a filename matches the filename patterns in this section,
  1327.       a style will be printed.  This allows a person to colorize their
  1328.       directories.  For instance a person could set
  1329.  
  1330.          "*.lha"   "\f3\b2"
  1331.  
  1332.       which will print files ending in .lha in reverse colors.  This 
  1333.       feature is similar to the feature found in the program color-ls
  1334.       for linux.
  1335.  
  1336.    _STYLEDATATYPES:
  1337.  
  1338.       When a datatype for a file matches a datatype given in this section,
  1339.       the filename will be printed in a special style.  This allows you
  1340.       to classify your directories.  For instance you can have all pictures
  1341.       be bold, all sounds be yellow, GIFs be orange, and text file be
  1342.       reverse colors!  To define this section simply put a datatype
  1343.       followed by a style that should be printed.  The datatype can be
  1344.       ANY of the WB3.0 supported dataypes classes including basename,
  1345.       groupname, ID, Type, or datatype.
  1346.  
  1347.          "picture"  "\s1"
  1348.          "sound"    "\f3"
  1349.  
  1350.    _REG:
  1351.  
  1352.       These are a bunch of miscellaneous strings that have NO ANSI strings.
  1353.       Whenever you redirect newlists output or turn off ANSI
  1354.       with [-Z], newlist will use these strings.  The misc. strings are:
  1355.  
  1356.             Long header format
  1357.             Quick header format
  1358.             Bad path format
  1359.             IoErr() error string
  1360.             Totals
  1361.             Device: free space
  1362.             Grand totals
  1363.             Comment style/form
  1364.             Pager format
  1365.             Link separator
  1366.             Expert mode (non-verbose) header format
  1367.  
  1368.    _ANSI:
  1369.          
  1370.       These are a bunch of miscellaneous strings like in _REG:, but they
  1371.       have ANSI sequences/color in them.  These are the default strings.
  1372.       See above in _REG: for all the different string types.
  1373.  
  1374.    _DATES:
  1375.  
  1376.       These are 8 different date string formats which are selectable with
  1377.       the newlist flag [-d 0..8].  Editing these strings will make switching
  1378.       date formats real easy.  The very first date string has a special
  1379.       meaning in that it is the date format used in Expert mode 
  1380.       (-I Expert mode).
  1381.    
  1382.    _FORMATS:
  1383.  
  1384.       These are 10 different print formats which are selectable with the
  1385.       newlist flag [-f 0..9].  Editing these strings will make switching
  1386.       print formats real easy.  It is especially useful now that datatypes
  1387.       and networking bits are supported.  The first format has a special
  1388.       meaning in that it is the print format used in Expert mode
  1389.       (-I Expert mode).
  1390.  
  1391.    _USAGE:
  1392.  
  1393.       Upto 30 strings describing all the flags of newlist.  It comes up when
  1394.       you do 'nl -?' or nl '?'.  If your native language requires more
  1395.       than 30 strings, then you can concat strings together and add newlines
  1396.       in between them.  Just make sure that the length of the entire line
  1397.       is less than 256 chars.
  1398.          
  1399.             ie   "line1\nline2\nline3\n"
  1400.  
  1401.             is:  line1
  1402.                  line2
  1403.                  line3
  1404.  
  1405.    _DIR:
  1406.  
  1407.       These 2 strings define the abbreviation for directory.  The first
  1408.       must be padded to 8 chars and the second must be 4 chars.
  1409.  
  1410.    _BREAK:
  1411.  
  1412.       The string printed when a person breaks newlist with CTRL-C
  1413.  
  1414.    _MATCH:
  1415.       
  1416.       The 2 strings printed when a file doesn't match a pattern or
  1417.       no files are found in hunt mode.
  1418.  
  1419.    _COMMENT:
  1420.  
  1421.       The 2 strings printed telling you that the file has a comment attached
  1422.       to it.  The first is a lengthy for used with '%C' which is "Comment"
  1423.       and the second is a short form used with '%c' which is 'c'
  1424.  
  1425.    _LOWMEM:
  1426.  
  1427.       Printed when newlist is out of memory.
  1428.  
  1429.    _EXEC:
  1430.  
  1431.       Two strings printed when newlist is executing a string with [-E].
  1432.       The first is a simple header saying 'Executing: xyz'  The
  1433.       second is the error message when a program or format fails to run.
  1434.  
  1435.    _UNKNOWN:
  1436.  
  1437.       Printed when a link cannot be found/translated.
  1438.  
  1439.    _MONTHS:
  1440.  
  1441.       The 12 months of the year.
  1442.  
  1443.    _DAYS:
  1444.  
  1445.       The 7 days of the week and 4 misc days: tomorrow, today, yesterday, 
  1446.       and future.
  1447.  
  1448.    _CENTER:
  1449.  
  1450.       This optional format allows you to define the centered day names
  1451.       yourself if your native language has day names longer than 9 chars.
  1452.       
  1453.  
  1454. =======================
  1455. WB2.0 tip O' the day 1:
  1456. =======================
  1457.  
  1458.       Do you miss the really fast scroll displays of wb1.3?  I've found
  1459.     a way to get them back!  You can open a shell that disables the
  1460.     super-auto-refresh and console cut-and-paste to increase scrolling 
  1461.     speed by 20+%!  Do the following to open a WB1.3 style fast shell:
  1462.  
  1463.       newshell CON:0/0/640/200/PhilDOS/CLOSE/SMART
  1464.                                              ^
  1465.                                              this is the secret!
  1466.  
  1467.     To gain even more speed, use a 2 color public screen and close WB.
  1468.  
  1469. =======================
  1470. WB2.0 tip O' the day 2:
  1471. =======================
  1472.  
  1473.       Wish your shell had more than 80 columns?  Now you can use any size
  1474.    font with WB2.0's neat new command setfont.  Try this out:
  1475.  
  1476.       setfont topaz 7 scale    and   setfont topaz 20 scale
  1477.                         ^                              ^
  1478.                         this is the secret! -----------+
  1479.  
  1480.       NewList will recognize the new font and will adjust its output!
  1481.    Try the 7 point font and nl -q.  Cool huh!
  1482.  
  1483. ======
  1484. TIP 3:
  1485. ======
  1486.  
  1487.    Want newlist to run like ls or lsjr?  Simply put [-q] in ENV:NEWLIST_BOTH
  1488.    and then use the alias 'lsjr' found in the file called 'scripts/aliases'
  1489.  
  1490. ========================
  1491. How to install Newlist8:
  1492. ========================
  1493.  
  1494.    IMPORTANT
  1495.       For each release of Newlist, you should install a new language file.
  1496.  
  1497.       You must also kill any existing language file you may have in memory
  1498.       with: newlist -K
  1499.  
  1500.       If you do not kill the existing language, you may end up with 
  1501.       invisible/garbled strings.
  1502.     
  1503.       You may also have to kill the old RESIDENT newlist in memory...
  1504.  
  1505.       The install script below will try to kill the language and the
  1506.       resident newlist as well.
  1507.  
  1508.       To verify that your language file is compatible with your version of
  1509.       Newlist, use the 'version' command from Commodore.  The Newlist versions
  1510.       should be the same (ie this language runs under Newlist 8)
  1511.  
  1512.             version c:nl
  1513.                Newlist 8 (xx.yy.zz)
  1514.  
  1515.             version env:newlist_lang
  1516.                Newlist 8 (aa.bb.cc)
  1517.  
  1518.  
  1519.    EASY INSTALLATION
  1520.  
  1521.       From WB:
  1522.          To install newlist click the Install-Newlist icon..if that doesnt
  1523.           work then click the OldInstall-Newlist icon.
  1524.  
  1525.  
  1526.       From CLI:
  1527.          If you own installer do:
  1528.             stack 15000
  1529.             Installer Install-Newlist
  1530.          if not then do:
  1531.             execute OldInstall-NewList
  1532.  
  1533.       or to install manually:
  1534.  
  1535.       1)   a. copy newlist8          to c:nl
  1536.         or b. copy newlist8.030      to c:nl
  1537.  
  1538.       2) c:nl -K                    ;kill old language in memory
  1539.          resident c:nl remove       ;kill old newlist in memory
  1540.  
  1541.       3) Add  'resident c:nl pure add' to your s:user-startup script.
  1542.  
  1543.       4) Set ENV: variables with
  1544.            setenv ENVARC:NEWLIST       "flags" to set conditional flags.
  1545.            setenv ENVARC:NEWLIST_LONG  "flags" to set permanent long flags.
  1546.            setenv ENVARC:NEWLIST_QUICK "flags" to set permanent quick flags.
  1547.            setenv ENVARC:NEWLIST_BOTH  "flags" to set permanent flags.
  1548.        
  1549.       5) cd languages
  1550.  
  1551.       6) execute Install_lang    ;to install the language of choice
  1552.  
  1553.       7) (Optional)
  1554.          Create any aliases you may need and append them to your
  1555.                    S:Shell-Startup from a Shell with:
  1556.  
  1557.                  copy scripts/aliases s:Newlist_Aliases
  1558.                  echo "execute s:Newlist_Aliases" >>s:shell-startup
  1559.  
  1560.          IMPORTANT:
  1561.             You will want to edit s:Newlist_Aliases if you install them
  1562.             so shell startups can speed up...
  1563.  
  1564. ===========
  1565. Final Note:
  1566. ===========
  1567.  
  1568.       Enjoy.  Keep in mind: this is a super useful tool!
  1569.               It's like one of those 1001 in 1 cooking tools.
  1570.  
  1571.                 "Flip the lever, and now it makes
  1572.                  julienne style potatoes! [clap....clap]  You get the
  1573.                  slicer, the dicer, the juicer, and turkey jerky maker
  1574.                  for only $49.95!  But wait there's more......"
  1575.  
  1576.                  Or my new RonCo favorite:
  1577.  
  1578.                 "Wow.  Before he was bald, and now he isn't!"
  1579.  
  1580.               Oh my....I've lost my mind :-) 
  1581.  
  1582.       Register and recieve unlimited updates, your name in my docs,
  1583.        and an 'Official' shareware patron certificate to show 
  1584.        off to all of your friends!
  1585.  
  1586.       Mail comments, tips, bug reports, new features, new languages files,
  1587.          and donations to:
  1588.  
  1589.                   Phil Dietz -- NCEMRSoft        EMAIL: pdietz@cse.unl.edu
  1590.                   PO Box 306         
  1591.                   Yutan, Nebraska 68073  
  1592.                   USA            
  1593.  
  1594.