docs/master

changeset 19:ab5253e48c74

Wrote about the directory split. style: New macro for env vars.
author markus schnalke <meillo@marmaro.de>
date Tue, 24 Apr 2012 18:02:08 +0200
parents db3567c9cc3f
children 7a100c80fa91
files ch03.roff style
diffstat 2 files changed, 91 insertions(+), 2 deletions(-) [+]
line diff
     1.1 --- a/ch03.roff	Tue Apr 24 16:52:25 2012 +0200
     1.2 +++ b/ch03.roff	Tue Apr 24 18:02:08 2012 +0200
     1.3 @@ -291,8 +291,94 @@
     1.4  
     1.5  .H1 "MH Directory Split
     1.6  .P
     1.7 -Historically, a personal MH setup had consisted of two things:
     1.8 -the 
     1.9 +In MH and nmh, a personal setup had consisted of two parts:
    1.10 +The MH profile, named
    1.11 +.Fn \&.mh_profile
    1.12 +and being located directly in the user's home directory.
    1.13 +And the MH directory, where all his mail messages and also his personal
    1.14 +forms, scan formats, other configuration files are stored. The location
    1.15 +of this directory could be user-chosen. The default was to name it
    1.16 +.Fn Mail
    1.17 +and have it directly in the home directory.
    1.18 +.P
    1.19 +I've never liked the data storage and the configuration to be intermixed.
    1.20 +They are different kinds of data. One part, are the messages,
    1.21 +which are the data to operate on. The other part, are the personal
    1.22 +configuration files, which are able to change the behavior of the operations.
    1.23 +The actual operations are defined in the profile, however.
    1.24 +.P
    1.25 +When storing data, one should try to group data by its type.
    1.26 +There's sense in the Unix file system hierarchy, where configuration
    1.27 +file are stored separate (\c
    1.28 +.Fn /etc )
    1.29 +to the programs (\c
    1.30 +.Fn /bin
    1.31 +and
    1.32 +.Fn /usr/bin )
    1.33 +to their sources (\c
    1.34 +.Fn /usr/src ).
    1.35 +Such separation eases the backup management, for instance.
    1.36 +.P
    1.37 +In mmh, I've reorganized the file locations.
    1.38 +Still there are two places:
    1.39 +There's the mail storage directory, which, like in MH, contains all the
    1.40 +messages, but, unlike in MH, nothing else.
    1.41 +Its location still is user-chosen, with the default name
    1.42 +.Fn Mail ,
    1.43 +in the user's home directory. This is much similar to the case in nmh.
    1.44 +The configuration files, however, are grouped together in the new directory
    1.45 +.Fn \&.mmh
    1.46 +in the user's home directory.
    1.47 +The user's profile now is a file, named
    1.48 +.Fn profile ,
    1.49 +in this mmh directory.
    1.50 +Consistently, the context file and all the personal forms, scan formats,
    1.51 +and the like, are also there.
    1.52 +.P
    1.53 +The naming changed with the relocation.
    1.54 +The directory where everything, except the profile, had been stored (\c
    1.55 +.Fn $HOME/Mail ),
    1.56 +used to be called \fIMH directory\fP. Now, this directory is called the
    1.57 +user's \fImail storage\fP. The name \fImmh directory\fP is now given to
    1.58 +the new directory
    1.59 +(\c
    1.60 +.Fn $HOME/.mmh ),
    1.61 +containing all the personal configuration files.
    1.62 +.P
    1.63 +The separation of the files by type of content is logical and convenient.
    1.64 +There are no functional differences as any possible setup known to me
    1.65 +can be implemented with both approaches, although likely a bit easier
    1.66 +with the new approach. The main goal of the change had been to provide
    1.67 +sensible storage locations for any type of personal mmh file.
    1.68 +.P
    1.69 +In order for one user to have multiple MH setups, he can use the
    1.70 +environment variable
    1.71 +.Ev MH
    1.72 +the point to a different profile file.
    1.73 +The MH directory (mail storage plus personal configuration files) is
    1.74 +defined by the
    1.75 +.Pe Path
    1.76 +profile entry.
    1.77 +The context file could be defined by the
    1.78 +.Pe context
    1.79 +profile entry or by the
    1.80 +.Ev MHCONTEXT
    1.81 +environment variable.
    1.82 +The latter is useful to have a distinct context (e.g. current folders)
    1.83 +in each terminal window, for instance.
    1.84 +In mmh, there are three environment variables now.
    1.85 +.Ev MMH
    1.86 +may be used to change the location of the mmh directory.
    1.87 +.Ev MMHP
    1.88 +and
    1.89 +.Ev MMHC
    1.90 +change the profile and context files, respectively.
    1.91 +Besides providing a more consistent feel (which simply is the result
    1.92 +of being designed anew), the set of personal configuration files can
    1.93 +be chosen independently from the profile (including mail storage location)
    1.94 +and context, now. Being it relevant for practical use or not, it
    1.95 +de-facto is an improvement. However, the main achievement is the
    1.96 +split between mail storage and personal configuration files.
    1.97  
    1.98  
    1.99  .H1 "Path Notations
     2.1 --- a/style	Tue Apr 24 16:52:25 2012 +0200
     2.2 +++ b/style	Tue Apr 24 18:02:08 2012 +0200
     2.3 @@ -231,6 +231,9 @@
     2.4  .de Fu  \" function
     2.5  .CW "\\$1" "\\$2
     2.6  ..
     2.7 +.de Ev  \" env variable
     2.8 +.CW "\\$1" "\\$2
     2.9 +..
    2.10  .de Cl  \" command line
    2.11  `\c
    2.12  .CW "\\$1" "'\\$2