DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(standards.info.gz) User Interfaces

Info Catalog (standards.info.gz) Errors (standards.info.gz) Program Behavior (standards.info.gz) Graphical Interfaces
 
 Standards for Interfaces Generally
 ==================================
 
    Please don't make the behavior of a utility depend on the name used
 to invoke it.  It is useful sometimes to make a link to a utility with
 a different name, and that should not change what it does.
 
    Instead, use a run time option or a compilation switch or both to
 select among the alternate behaviors.
 
    Likewise, please don't make the behavior of the program depend on the
 type of output device it is used with.  Device independence is an
 important principle of the system's design; do not compromise it merely
 to save someone from typing an option now and then.  (Variation in error
 message syntax when using a terminal is ok, because that is a side issue
 that people do not depend on.)
 
    If you think one behavior is most useful when the output is to a
 terminal, and another is most useful when the output is a file or a
 pipe, then it is usually best to make the default behavior the one that
 is useful with output to a terminal, and have an option for the other
 behavior.
 
    Compatibility requires certain programs to depend on the type of
 output device.  It would be disastrous if `ls' or `sh' did not do so in
 the way all users expect.  In some of these cases, we supplement the
 program with a preferred alternate version that does not depend on the
 output device type.  For example, we provide a `dir' program much like
 `ls' except that its default output format is always multi-column
 format.
 
Info Catalog (standards.info.gz) Errors (standards.info.gz) Program Behavior (standards.info.gz) Graphical Interfaces
automatically generated byinfo2html