From 1a2269ad131d3ad03183717b9184e9156ffebc64 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 14 Apr 2003 21:34:53 +0000
Subject: [PATCH] Added "gmsh -doc" to automatically generate the texinfo
 documentaion for all the options.

---
 Common/DefaultOptions.h       |   4 +
 Common/Options.cpp            | 146 +++++++-
 Common/Options.h              |   5 +
 Fltk/Main.cpp                 |   9 +-
 doc/texinfo/command_line.texi |  93 +++++
 doc/texinfo/gmsh.texi         | 258 +++++++++++++-
 doc/texinfo/opt_general.texi  | 637 ++++++++++++++++++++++++++++++++++
 doc/texinfo/opt_geometry.texi | 197 +++++++++++
 doc/texinfo/opt_mesh.texi     | 367 ++++++++++++++++++++
 doc/texinfo/opt_post.texi     |  37 ++
 doc/texinfo/opt_print.texi    |  72 ++++
 doc/texinfo/opt_solver.texi   | 631 +++++++++++++++++++++++++++++++++
 doc/texinfo/opt_view.texi     | 306 ++++++++++++++++
 13 files changed, 2743 insertions(+), 19 deletions(-)
 create mode 100644 doc/texinfo/command_line.texi
 create mode 100644 doc/texinfo/opt_general.texi
 create mode 100644 doc/texinfo/opt_geometry.texi
 create mode 100644 doc/texinfo/opt_mesh.texi
 create mode 100644 doc/texinfo/opt_post.texi
 create mode 100644 doc/texinfo/opt_print.texi
 create mode 100644 doc/texinfo/opt_solver.texi
 create mode 100644 doc/texinfo/opt_view.texi

diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 2ec512514c..82f41cc829 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -20,6 +20,10 @@
 // 
 // Please report all bugs and problems to "gmsh@geuz.org".
 
+#include "Options.h"
+#include "Context.h"
+#include "Mesh.h"
+#include "Views.h"
 
 //          PLEASE RESPECT THE ALPHABETICAL ORDER WHEN 
 //                    INSERTING A NEW OPTION!
diff --git a/Common/Options.cpp b/Common/Options.cpp
index daa962ba8b..521c4ecc11 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// $Id: Options.cpp,v 1.104 2003-03-26 21:43:10 geuzaine Exp $
+// $Id: Options.cpp,v 1.105 2003-04-14 21:34:52 geuzaine Exp $
 //
 // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
 //
@@ -299,6 +299,111 @@ void Print_Options(int num, int level, char *filename)
   }
 }
 
+char * Get_OptionSaveLevel(int level){
+  if(level & GMSH_SESSIONRC){
+    return "General.SessionFileName";
+  }
+  else if(level & GMSH_OPTIONSRC){
+    return "General.OptionsFileName";
+  }
+  else{
+    return "-";
+  }
+}
+
+void Print_OptionsDoc()
+{
+  FILE * file;
+  
+  file = fopen("opt_general.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_general.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(GeneralOptions_String, "General.", file);
+  Print_NumberOptionsDoc(GeneralOptions_Number, "General.", file);
+  Print_ColorOptionsDoc(GeneralOptions_Color, "General.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_print.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_print.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(PrintOptions_String, "Print.", file);
+  Print_NumberOptionsDoc(PrintOptions_Number, "Print.", file);
+  Print_ColorOptionsDoc(PrintOptions_Color, "Print.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_geometry.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_geometry.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(GeometryOptions_String, "Geometry.", file);
+  Print_NumberOptionsDoc(GeometryOptions_Number, "Geometry.", file);
+  Print_ColorOptionsDoc(GeometryOptions_Color, "Geometry.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_mesh.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_mesh.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(MeshOptions_String, "Mesh.", file);
+  Print_NumberOptionsDoc(MeshOptions_Number, "Mesh.", file);
+  Print_ColorOptionsDoc(MeshOptions_Color, "Mesh.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_solver.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_solver.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(SolverOptions_String, "Solver.", file);
+  Print_NumberOptionsDoc(SolverOptions_Number, "Solver.", file);
+  Print_ColorOptionsDoc(SolverOptions_Color, "Solver.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_post.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_post.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(PostProcessingOptions_String, "PostProcessing.", file);
+  Print_NumberOptionsDoc(PostProcessingOptions_Number, "PostProcessing.", file);
+  Print_ColorOptionsDoc(PostProcessingOptions_Color, "PostProcessing.", file);
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+
+  file = fopen("opt_view.texi", "w");
+  if(!file) {
+    Msg(GERROR, "Unable to open file 'opt_view.texi'");
+    return;
+  }
+  fprintf(file, "@ftable @code\n");
+  Print_StringOptionsDoc(ViewOptions_String, "View.", file);
+  Print_NumberOptionsDoc(ViewOptions_Number, "View.", file);
+  Print_ColorOptionsDoc(ViewOptions_Color, "View.", file);
+  fprintf(file, "@item View.ColorTable\n");
+  fprintf(file, "Color table used to draw the view@*\n");
+  fprintf(file, "Saved in: @code{%s})\n\n",
+	  Get_OptionSaveLevel(GMSH_FULLRC|GMSH_OPTIONSRC));
+  fprintf(file, "@end ftable\n");
+  fclose(file);
+}
+
 // General routines for string options
 
 StringXString *Get_StringOptionCategory(char *cat)
@@ -368,6 +473,18 @@ void Print_StringOptions(int num, int level, StringXString s[], char *prefix,
   }
 }
 
+void Print_StringOptionsDoc(StringXString s[], char *prefix, FILE * file)
+{
+  int i = 0;
+  while(s[i].str) {
+    fprintf(file, "@item %s%s\n", prefix, s[i].str);
+    fprintf(file, "%s@*\n", s[i].help);
+    fprintf(file, "Default value: @code{\"%s\"}@*\n", s[i].function(0, GMSH_GET, NULL));
+    fprintf(file, "Saved in: @code{%s}\n\n", Get_OptionSaveLevel(s[i].level));
+    i++;
+  }
+}
+
 // General routines for numeric options
 
 StringXNumber *Get_NumberOptionCategory(char *cat)
@@ -439,6 +556,18 @@ void Print_NumberOptions(int num, int level, StringXNumber s[], char *prefix,
   }
 }
 
+void Print_NumberOptionsDoc(StringXNumber s[], char *prefix, FILE * file)
+{
+  int i = 0;
+  while(s[i].str) {
+    fprintf(file, "@item %s%s\n", prefix, s[i].str);
+    fprintf(file, "%s@*\n", s[i].help);
+    fprintf(file, "Default value: @code{%g}@*\n", s[i].function(0, GMSH_GET, 0));
+    fprintf(file, "Saved in: @code{%s}\n\n", Get_OptionSaveLevel(s[i].level));
+    i++;
+  }
+}
+
 // General routines for color options
 
 StringXColor *Get_ColorOptionCategory(char *cat)
@@ -527,6 +656,21 @@ void Print_ColorOptions(int num, int level, StringXColor s[], char *prefix,
   }
 }
 
+void Print_ColorOptionsDoc(StringXColor s[], char *prefix, FILE * file)
+{
+  int i = 0;
+  while(s[i].str) {
+    fprintf(file, "@item %sColor.%s\n", prefix, s[i].str);
+    fprintf(file, "%s@*\n", s[i].help);
+    fprintf(file, "Default value: @code{@{%d,%d,%d@}}@*\n",
+	    UNPACK_RED(s[i].function(0, GMSH_GET, 0)),
+	    UNPACK_GREEN(s[i].function(0, GMSH_GET, 0)),
+	    UNPACK_BLUE(s[i].function(0, GMSH_GET, 0)));
+    fprintf(file, "Saved in: @code{%s})\n\n", Get_OptionSaveLevel(s[i].level));
+    i++;
+  }
+}
+
 int Get_ColorForString(StringX4Int SX4I[], int alpha,
                        char *str, int *FlagError)
 {
diff --git a/Common/Options.h b/Common/Options.h
index f8e999a660..c43c79b12e 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -550,6 +550,7 @@ void Init_Options (int num);
 void Init_Options_GUI (int num);
 void ReInit_Options (int num);
 void Print_Options(int num, int level, char *filename);
+void Print_OptionsDoc();
 
 StringXString * Get_StringOptionCategory(char * cat);
 StringXNumber * Get_NumberOptionCategory(char * cat);
@@ -571,6 +572,10 @@ void Print_StringOptions(int num, int level, StringXString s[], char *prefix, FI
 void Print_NumberOptions(int num, int level, StringXNumber s[], char *prefix, FILE *file);
 void Print_ColorOptions(int num, int level, StringXColor s[], char *prefix, FILE *file);
 
+void Print_StringOptionsDoc(StringXString s[], char *prefix, FILE * file);
+void Print_NumberOptionsDoc(StringXNumber s[], char *prefix, FILE * file);
+void Print_ColorOptionsDoc(StringXColor s[], char *prefix, FILE * file);
+
 extern StringXString GeneralOptions_String[] ;
 extern StringXString GeometryOptions_String[] ;
 extern StringXString MeshOptions_String[] ;
diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp
index 2c2105e8e2..7b7e136307 100644
--- a/Fltk/Main.cpp
+++ b/Fltk/Main.cpp
@@ -1,4 +1,4 @@
-// $Id: Main.cpp,v 1.46 2003-03-21 00:52:37 geuzaine Exp $
+// $Id: Main.cpp,v 1.47 2003-04-14 21:34:52 geuzaine Exp $
 //
 // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
 //
@@ -68,6 +68,13 @@ int main(int argc, char *argv[])
 
   Init_Options(0);
 
+  // Generate automatic documentation
+  
+  if(argc == 2 && !strcmp(argv[1], "-doc")){
+    Print_OptionsDoc();
+    exit(1);
+  }
+
   // Configuration files and command line options
 
   Get_Options(argc, argv, &nbf);
diff --git a/doc/texinfo/command_line.texi b/doc/texinfo/command_line.texi
new file mode 100644
index 0000000000..983057d4e5
--- /dev/null
+++ b/doc/texinfo/command_line.texi
@@ -0,0 +1,93 @@
+@noindent Geometry options:
+
+@ftable @code
+@item -0
+parse input files, output unrolled geometry, and exit
+@end ftable
+
+@noindent Mesh options:
+@ftable @code
+@item -1, -2, -3
+perform batch 1D, 2D and 3D mesh generation
+@item -saveall
+save all elements (discard physical group definitions)
+@item -o file
+specify mesh output file name
+@item -format msh|unv|gref
+set output mesh format (default: msh)
+@item -algo iso|tri|aniso
+select 2D mesh algorithm (default: iso)
+@item -smooth int
+set mesh smoothing (default: 0)
+@item -scale float
+set global scaling factor (default: 1.0)
+@item -meshscale float
+set mesh scaling factor (default: 1.0)
+@item -clscale float
+set characteristic length scaling factor (default: 1.0)
+@item -rand float
+set random perturbation factor (default: 1.e-4)
+@item -bgm file
+load backround mesh from file
+@item -constrain
+constrain background mesh with characteristic lengths
+@item -histogram
+print mesh quality histogram
+@item -extrude
+use old extrusion mesh generator
+@item -recombine
+recombine meshes from old extrusion mesh generator
+@item -interactive
+display 2D mesh construction interactively
+@end ftable
+
+@noindent Post-processing options:
+@ftable @code
+@item -dl
+enable display lists
+@item -noview
+hide all views on startup
+@item -link int
+select link mode between views (default: 0)
+@item -smoothview
+smooth views
+@item -convert file file
+convert an ascii view into a binary one
+@end ftable
+
+@noindent Display options:
+@ftable @code
+@item -nodb
+disable double buffering
+@item -fontsize int
+specify the font size for the GUI (default: 12)
+@item -theme string
+specify GUI theme
+@item -alpha
+enable alpha blending
+@item -notrack
+don't use trackball mode for rotations
+@item -display string
+specify display
+@item -perspective
+set projection mode to perspective
+@end ftable
+
+@noindent Other options:
+@ftable @code
+@item -a, -g, -m, -s, -p
+start in automatic, geometry, mesh, solver or post-processing mode (default:
+automatic)
+@item -v int
+set verbosity level (default: 2)
+@item -string "string"
+parse string before project file
+@item -option file
+parse option file before GUI creation
+@item -version
+show version number
+@item -info
+show detailed version information
+@item -help
+show this message
+@end ftable
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index 2a594ca512..0cf90269e0 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -1,5 +1,5 @@
 \input texinfo.tex @c -*-texinfo-*-
-@c $Id: gmsh.texi,v 1.10 2003-04-14 17:13:17 geuzaine Exp $
+@c $Id: gmsh.texi,v 1.11 2003-04-14 21:34:53 geuzaine Exp $
 @c
 @c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
 @c
@@ -181,9 +181,30 @@ General tools
 * Comments::                    
 * Expressions::                 
 * Operators::                   
-* Functions::                   
+* Built-in functions::          
+* User-defined functions::      
+* Loops and tests::             
 * General commands::            
-* Option database::             
+* General options::             
+
+Geometry module
+
+* Geometry commands::           
+* Geometry options::            
+
+Mesh module
+
+* Mesh commands::               
+* Mesh options::                
+
+Solver module
+
+* Solver options::              
+
+Post-processing module
+
+* Post-processing::             
+* Post-processing options::     
 
 Tutorial
 
@@ -197,6 +218,11 @@ Tutorial
 * t8.geo::                      
 * t9.geo::                      
 
+Running Gmsh
+
+* Graphical vs. non-interactive mode::  
+* Command-line options::        
+
 Bugs, versions and contributors
 
 * Bugs::                        
@@ -340,7 +366,8 @@ Configure your preferred options for all subsequent operations: Gmsh has a
 large number of configurations options that can be set interactively,
 scattered inside command files (and changed on the fly in scripts), set in
 per-user configuration files, or specified on the command-line
-(@pxref{Options}).
+(@pxref{General options}, @pxref{Geometry options}, @pxref{Mesh options},
+@pxref{Post-processing options}, @pxref{Running Gmsh}).
 @end itemize
 
 @c -------------------------------------------------------------------------
@@ -558,9 +585,11 @@ ASCII files, parser, blabla
 * Comments::                    
 * Expressions::                 
 * Operators::                   
-* Functions::                   
+* Built-in functions::          
+* User-defined functions::      
+* Loops and tests::             
 * General commands::            
-* Option database::             
+* General options::             
 @end menu
 
 @c -------------------------------------------------------------------------
@@ -721,7 +750,7 @@ character expressions.
 @c Operators
 @c -------------------------------------------------------------------------
 
-@node Operators, Functions, Expressions, General tools
+@node Operators, Built-in functions, Expressions, General tools
 @section Operators
 
 The operators in Gmsh are similar to the corresponding operators in the C
@@ -872,7 +901,7 @@ i.e.@: @code{^} has the highest evaluation priority). Parentheses
 @c Built-in functions
 @c -------------------------------------------------------------------------
 
-@node Built-in functions, General commands, Operators, General tools
+@node Built-in functions, User-defined functions, Operators, General tools
 @section Built-in functions
 
 @cindex Functions, built-in
@@ -1003,7 +1032,7 @@ Hyperbolic tangent of @var{expression}.
 @c User-defined functions
 @c -------------------------------------------------------------------------
 
-@node User-defined functions, General commands, Operators, General tools
+@node User-defined functions, Loops and tests, Built-in functions, General tools
 @section User-defined Functions
 
 @cindex Function, user-defined
@@ -1023,7 +1052,7 @@ Hyperbolic tangent of @var{expression}.
 @c Loops and tests
 @c -------------------------------------------------------------------------
 
-@node Loops and tests, General commands, Operators, General tools
+@node Loops and tests, General commands, User-defined functions, General tools
 @section Loops and tests
 
 @ftable @code
@@ -1042,7 +1071,7 @@ Hyperbolic tangent of @var{expression}.
 @c General commands
 @c -------------------------------------------------------------------------
 
-@node General commands, Option database, Functions, General tools
+@node General commands, General options, Loops and tests, General tools
 @section General commands
 
 @ftable @code
@@ -1118,14 +1147,17 @@ same line is ignored. XXX verify this
 @end example
 
 @c -------------------------------------------------------------------------
-@c Option database
+@c General options
 @c -------------------------------------------------------------------------
 
-@node Option database,  , General commands, General tools
-@section Option database
+@node General options,  , General commands, General tools
+@section General options
 
-XXX
+@c All the opt_XXX.texi files are generated automatically with 'gmsh -doc'
+
+@include opt_general.texi
 
+@include opt_print.texi
 
 @c =========================================================================
 @c Geometry module
@@ -1137,6 +1169,18 @@ XXX
 @cindex Geometry
 @cindex Module, Geometry
 
+@menu
+* Geometry commands::           
+* Geometry options::            
+@end menu
+
+@c -------------------------------------------------------------------------
+@c Geometry commands
+@c -------------------------------------------------------------------------
+
+@node Geometry commands, Geometry options, Geometry module, Geometry module
+@section Geometry commands
+
 @ftable @code
 
 @item newreg
@@ -1144,7 +1188,6 @@ XXX
 @item newc
 @item news
 @item newv
-@item Attractor
 @item Bezier		
 @item BSpline		
 @item Circle          
@@ -1177,6 +1220,15 @@ XXX
 (synonym: Complex Volume)
 @end ftable
 
+@c -------------------------------------------------------------------------
+@c Geometry options
+@c -------------------------------------------------------------------------
+
+@node Geometry options,  , Geometry commands, Geometry module
+@section Geometry options
+
+@include opt_geometry.texi
+
 @c =========================================================================
 @c Mesh module
 @c =========================================================================
@@ -1187,7 +1239,20 @@ XXX
 @cindex Mesh
 @cindex Module, Mesh
 
+@menu
+* Mesh commands::               
+* Mesh options::                
+@end menu
+
+@c -------------------------------------------------------------------------
+@c Mesh commands
+@c -------------------------------------------------------------------------
+
+@node Mesh commands, Mesh options, Mesh module, Mesh module
+@section Mesh commands
+
 @ftable @code
+@item Attractor
 @item Bump
 @item Characteristic
 @item Elliptic
@@ -1205,6 +1270,15 @@ XXX
 @item In              
 @end ftable
 
+@c -------------------------------------------------------------------------
+@c Mesh options
+@c -------------------------------------------------------------------------
+
+@node Mesh options,  , Mesh commands, Mesh module
+@section Mesh options
+
+@include opt_mesh.texi
+
 @c =========================================================================
 @c Solver module
 @c =========================================================================
@@ -1215,6 +1289,21 @@ XXX
 @cindex Solver
 @cindex Module, Solver
 
+No solver commands. The solver interface works like this XXX. Include C code
+from solver example?
+
+@c -------------------------------------------------------------------------
+@c Solver options
+@c -------------------------------------------------------------------------
+
+@menu
+* Solver options::              
+@end menu
+
+@node Solver options,  , Solver module, Solver module
+@section Solver options
+
+@include opt_solver.texi
 
 @c =========================================================================
 @c Post-processing module
@@ -1226,6 +1315,18 @@ XXX
 @cindex Post-processing
 @cindex Module, Post-processing
 
+@menu
+* Post-processing::             
+* Post-processing options::     
+@end menu
+
+@c -------------------------------------------------------------------------
+@c Post-processing commands
+@c -------------------------------------------------------------------------
+
+@node Post-processing, Post-processing options, Post-processing module, Post-processing module
+@section Post-processing commands
+
 @ftable @code
 @item Color
 @item ColorTable
@@ -1258,6 +1359,20 @@ XXX
 @item T3
 @end ftable
 
+@c -------------------------------------------------------------------------
+@c Post-processing options
+@c -------------------------------------------------------------------------
+
+@node Post-processing options,  , Post-processing, Post-processing module
+@section Post-processing options
+
+@include opt_post.texi
+
+Options that should apply to all views are given by @code{View.Option}. To
+set an option specifically for the n-th view, use @code{View[n].Option}.
+
+@include opt_view.texi
+
 @c =========================================================================
 @c Tutorial
 @c =========================================================================
@@ -1373,7 +1488,115 @@ XXX
 @cindex Options, command line
 @cindex Running Gmsh
 
-XXX include tutorial/README
+@menu
+* Graphical vs. non-interactive mode::  
+* Command-line options::        
+@end menu
+
+@c -------------------------------------------------------------------------
+@c Graphical vs. non-interactive mode
+@c -------------------------------------------------------------------------
+
+@node Graphical vs. non-interactive mode, Command-line options, Running Gmsh, Running Gmsh
+@section Graphical vs. non-interactive mode
+
+There are two ways to actually run these examples with Gmsh. (The
+operations to run Gmsh may vary according to your operating system. In
+the following examples, we will assume that you're working with a
+UNIX-like shell.) The first working mode of Gmsh is the interactive
+graphical mode. To launch Gmsh in interactive mode, just type
+
+> gmsh
+
+at the prompt on the command line. This will open two windows: the
+graphic window (with a status bar at the bottom) and the menu window
+(with a menu bar and some context dependent buttons). To open the
+first tutorial file, select the 'File->Open' menu, and choose 't1.geo'
+in the input field. To perform the mesh generation, go to the mesh
+module (by selecting 'Mesh' in the module menu) and choose the
+required dimension in the context-dependent buttons ('1D' will mesh
+all the curves; '2D' will mesh all the surfaces ---as well as all the
+curves if '1D' was not called before; '3D' will mesh all the volumes
+---and all the surfaces if '2D' was not called before). To save the
+resulting mesh in the current mesh format, choose 'Save' in the
+context-dependent buttons, or select the appropriate format with the
+'File->Save as' menu. The default mesh file name is based on the name
+of the first input file on the command line (or 'untitled' if there
+wasn't any input file given), with an appended extension depending on
+the mesh format.
+
+[NOTE: Nearly all the interactive commands have shortcuts. Select
+'Help->Shortcuts' in the menu bar to learn about these shortcuts.]
+
+Instead of opening the tutorial with the 'File->Open' menu, it is
+often more convenient to put the file name on the command line, for
+example with:
+
+> gmsh t1.geo
+
+[NOTE: Even if it is often handy to define the variables and the
+points directly in the input files (you may use any text editor for
+this purpose, e.g. Wordpad on Windows, or Emacs on Unix), it is almost
+always more simple to define the curves, the surfaces and the volumes
+interactively. To do so, just follow the context dependent buttons in
+the Geometry module. For example, to create a spline, select
+'Geometry' in the module menu, and then select 'Elementary, Add, New,
+Spline'. You will then be asked (in the status bar of the graphic
+window) to select a list of points, and to click 'e' to finish the
+selection (or 'q' to abort it). Once the interactive command is
+completed, a string is automatically added at the end of the currently
+opened project file.]
+
+The second operating mode for Gmsh is the non-interactive mode. In
+this mode, there is no graphical user interface, and all operations
+are performed without any interaction. To mesh the first tutorial in
+non-interactive mode, just type:
+
+> gmsh t1.geo -2
+
+To mesh the same example, but with the background mesh available in the
+file 'bgmesh.pos', just type:
+
+> gmsh t1.geo -2 -bgm bgmesh.pos
+
+[NOTE: You should read the notes in the file 'bgmesh.pos' if you
+intend to use background meshes.]
+
+Several files can be loaded simultaneously in Gmsh. The first one
+defines the project, while the others are appended ("merged") to this
+project. You can merge such files with the 'File->Merge' menu, or by
+directly specifying the names of the files on the command line. This
+is most useful for post-processing purposes. For example, to merge the
+post-processing views contained in the files 'view1.pos' and
+'view2.pos' together with the first tutorial 't1.geo', you can type
+the following command:
+
+> gmsh t1.geo view1.pos view2.pos
+
+In the Post-Processing module (select 'Post_Processing' in the module
+menu), two view buttons will appear, respectively labeled "a scalar
+map" and "a vector map". A mouse click on the name will toggle the
+visibility of the selected view, while a click on the arrow button on
+the right will provide access to the view's options. If you want the
+modifications made to one view to affect also all the other views,
+select the 'Apply next changes to all views' or 'Force same options
+for all views' option in the 'Tools->Options->Post-processing' menu.
+
+[NOTE: All the options specified interactively can also be directly
+specified in the ASCII input files. All available options, with their
+current values, can be saved into a file by selecting 'File->Save
+as->Gmsh options', or simply viewed by pressing the '?' button in the
+status bar. To save the current options as your default preferences
+for all future Gmsh sessions, use the 'Tools->Options->Save' button.]
+
+@c -------------------------------------------------------------------------
+@c Command-line options
+@c -------------------------------------------------------------------------
+
+@node Command-line options,  , Graphical vs. non-interactive mode, Running Gmsh
+@section Command-line options
+
+@include command_line.texi
 
 
 @c =========================================================================
@@ -1583,6 +1806,7 @@ all your problem definition structures.
 
 @node  GNU General Public License, Concept index, Tips and tricks, Top
 @appendix GNU General Public License
+
 @include gpl.texi
 
 @end ifclear
diff --git a/doc/texinfo/opt_general.texi b/doc/texinfo/opt_general.texi
new file mode 100644
index 0000000000..22affede3c
--- /dev/null
+++ b/doc/texinfo/opt_general.texi
@@ -0,0 +1,637 @@
+@ftable @code
+@item General.DefaultFileName
+Default project file name@*
+Default value: @code{"untitled.geo"}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.Display
+X server to use (only for Unix versions)@*
+Default value: @code{""}@*
+Saved in: @code{-}
+
+@item General.ErrorFileName
+File into which the log is saved if a fatal error occurs@*
+Default value: @code{".gmsh-errors"}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.OptionsFileName
+File created in your home directory with 'Tools->Options->Save', and which is read on startup@*
+Default value: @code{".gmsh-options"}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.SessionFileName
+File into which session specific information is saved, and which is read on startup@*
+Default value: @code{".gmshrc"}@*
+Saved in: @code{-}
+
+@item General.TextEditor
+System command to launch a text editor@*
+Default value: @code{"emacs %s &"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Theme
+Graphical user interface theme (try e.g. plastic)@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.TmpFileName
+Temporary file (created in your home directory)@*
+Default value: @code{".gmsh-tmp"}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.AlphaBlending
+Enable alpha blending (transparency) in post-processing views@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Axes
+Display the axes linked to the model@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.CenterWindows
+Center new windows on the menu window@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Clip0
+Enable clip plane 0@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip0A
+First clip plane 0 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip0B
+Second clip plane 0 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip0C
+Third clip plane 0 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip0D
+Fourth clip plane 0 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip1
+Enable clip plane 1@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip1A
+First clip plane 1 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip1B
+Second clip plane 1 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip1C
+Third clip plane 1 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip1D
+Fourth clip plane 1 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip2
+Enable clip plane 2@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip2A
+First clip plane 2 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip2B
+Second clip plane 2 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip2C
+Third clip plane 2 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip2D
+Fourth clip plane 2 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip3
+Enable clip plane 3@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip3A
+First clip plane 3 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip3B
+Second clip plane 3 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip3C
+Third clip plane 3 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip3D
+Fourth clip plane 3 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip4
+Enable clip plane 4@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip4A
+First clip plane 4 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip4B
+Second clip plane 4 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip4C
+Third clip plane 4 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip4D
+Fourth clip plane 4 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip5
+Enable clip plane 5@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip5A
+First clip plane 5 equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip5B
+Second clip plane 5 equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip5C
+Third clip plane 5 equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Clip5D
+Fourth clip plane 5 equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.ColorScheme
+Default color scheme (0, 1 or 2)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.ConfirmOverwrite
+Ask confirmation before overwriting files?@*
+Default value: @code{1}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.DefaultPlugins
+Load default plugins on startup@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.DoubleBuffer
+Use a double buffered graphic window (on Unix, should be set to 0 when working on a remote host without GLX)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.FastRedraw
+Fast redraw (no mesh or view display) when moving the model@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.FontSize
+Size of the font in the graphical user interface@*
+Default value: @code{12}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.GraphicsFontSize
+Size of the font in the graphic window@*
+Default value: @code{11}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.GraphicsHeight
+Height (in pixels) of the graphic window@*
+Default value: @code{500}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.GraphicsPositionX
+Horizontal position (in pixels) of the upper left corner of the graphic window@*
+Default value: @code{20}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.GraphicsPositionY
+Vertical position (in pixels) of the upper left corner of the graphic window@*
+Default value: @code{30}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.GraphicsWidth
+Width (in pixels) of the graphic window@*
+Default value: @code{700}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.InitialModule
+Module launched on startup (0=automatic, 1=geometry, 2=mesh, 3=solver, 4=post-processing) @*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light0
+Enable light source 0@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light0X
+X position of light source 0@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light0Y
+Y position of light source 0@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light0Z
+Z position of light source 0@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light1
+Enable light source 1@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light1X
+X position of light source 1@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light1Y
+Y position of light source 1@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light1Z
+Z position of light source 1@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light2
+Enable light source 2@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light2X
+X position of light source 2@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light2Y
+Y position of light source 2@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light2Z
+Z position of light source 2@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light3
+Enable light source 3@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light3X
+X position of light source 3@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light3Y
+Y position of light source 3@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light3Z
+Z position of light source 3@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light4
+Enable light source 4@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light4X
+X position of light source 4@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light4Y
+Y position of light source 4@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light4Z
+Z position of light source 4@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light5
+Enable light source 5@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light5X
+X position of light source 5@*
+Default value: @code{0.5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light5Y
+Y position of light source 5@*
+Default value: @code{0.3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Light5Z
+Z position of light source 5@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.LineWidth
+Display width of lines (in pixels)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.MenuPositionX
+Horizontal position (in pixels) of the upper left corner of the menu window@*
+Default value: @code{800}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MenuPositionY
+Vertical position (in pixels) of the upper left corner of the menu window@*
+Default value: @code{50}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MessagePositionX
+Horizontal position (in pixels) of the upper left corner of the message window@*
+Default value: @code{650}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MessagePositionY
+Vertical position (in pixels) of the upper left corner of the message window@*
+Default value: @code{150}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MessageHeight
+Height (in pixels) of the message window@*
+Default value: @code{350}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MessageWidth
+Width (in pixels) of the message window@*
+Default value: @code{450}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.MovingLight
+Use a moving (i.e. which follows the model) light source@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.OptionsPositionX
+Horizontal position (in pixels) of the upper left corner of the option window@*
+Default value: @code{650}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.OptionsPositionY
+Vertical position (in pixels) of the upper left corner of the option window@*
+Default value: @code{150}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.Orthographic
+Orthographic projection mode (0=perspective projection)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.PointSize
+Display size of points (in pixels)@*
+Default value: @code{3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.QuadricSubdivisions
+Number of subdivisions used to draw points or lines as spheres or cylinders@*
+Default value: @code{10}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.RotationX
+First Euler angle (used if Trackball == 0)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.RotationY
+Second Euler angle (used if Trackball == 0)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.RotationZ
+Third Euler angle (used if Trackball == 0)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.RotationCenterGravity
+Rotate around the center of gravity instead of (RotationCenterX, RotationCenterY, RotationCenterZ)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.RotationCenterX
+X coordinate of the center of rotation@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.RotationCenterY
+Y coordinate of the center of rotation@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.RotationCenterZ
+Z coordinate of the center of rotation@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.SaveOptions
+Automatically save all current options each time you quit Gmsh?@*
+Default value: @code{0}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.SaveSession
+Automatically save session specific information each time you quit Gmsh?@*
+Default value: @code{1}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.ScaleX
+X-axis scale factor@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item General.ScaleY
+Y-axis scale factor@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item General.ScaleZ
+Z-axis scale factor@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item General.Shininess
+Material shininess (must be > 0)@*
+Default value: @code{0.4}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.SmallAxes
+Display the small axes@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.SmallAxesPositionX
+X position of small axes (negative values for right alignment)@*
+Default value: @code{-45}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.SmallAxesPositionY
+Y position of small axes (negative values for bottom alignment)@*
+Default value: @code{-35}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.StatisticsPositionX
+Horizontal position (in pixels) of the upper left corner of the statistic window@*
+Default value: @code{650}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.StatisticsPositionY
+Vertical position (in pixels) of the upper left corner of the statistic window@*
+Default value: @code{150}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.Terminal
+Should information be printed on the terminal (if available)?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Tooltips
+Show tooltips in the graphical user interface@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Trackball
+Use trackball rotation mode@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.TrackballQuaternion0
+First trackball quaternion component (used if Trackball == 1)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.TrackballQuaternion1
+Second trackball quaternion component (used if Trackball == 1)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.TrackballQuaternion2
+Third trackball quaternion component (used if Trackball == 1)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.TrackballQuaternion3
+Fourth trackball quaternion component (used if Trackball == 1)@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item General.TranslationX
+X-axis translation (in model units)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.TranslationY
+Y-axis translation (in model units)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.TranslationZ
+Z-axis translation (in model units)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item General.Verbosity
+Level of information printed during processing (0=no information)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.VisibilityPositionX
+Horizontal position (in pixels) of the upper left corner of the visibility window@*
+Default value: @code{650}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.VisibilityPositionY
+Vertical position (in pixels) of the upper left corner of the visibility window@*
+Default value: @code{150}@*
+Saved in: @code{General.SessionFileName}
+
+@item General.ZoomFactor
+'Speed' of the middle mouse button zoom@*
+Default value: @code{1.1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item General.Color.Background
+Background color@*
+Default value: @code{@{0,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item General.Color.Foreground
+Foreground color@*
+Default value: @code{@{255,255,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item General.Color.Text
+Text color@*
+Default value: @code{@{255,255,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item General.Color.Axes
+Axes color@*
+Default value: @code{@{255,255,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item General.Color.SmallAxes
+Small axes color@*
+Default value: @code{@{255,255,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@end ftable
diff --git a/doc/texinfo/opt_geometry.texi b/doc/texinfo/opt_geometry.texi
new file mode 100644
index 0000000000..cd6efda3a9
--- /dev/null
+++ b/doc/texinfo/opt_geometry.texi
@@ -0,0 +1,197 @@
+@ftable @code
+@item Geometry.Aspect
+Not used@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.AutoCoherence
+Should all duplicate entities be automatically removed?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.CirclePoints
+Number of points used to draw a circle/ellipse@*
+Default value: @code{20}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.ColorScheme
+Default geometry color scheme (0, 1 or 2)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.ExtrudeSplinePoints
+Number of control points for splines created during extrusion@*
+Default value: @code{5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Highlight
+Not used@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Lines
+Display geometry curves?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.LinesNumbers
+Display curve numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.LineSelectWidth
+Display width of selected lines (in pixels)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.LineType
+Display lines as solid color segments or 3D cylinders@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.LineWidth
+Display width of lines (in pixels)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Normals
+Size of the vectors normal to the surfaces@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.OldCircle
+Use old circle description (compatibility option for old Gmsh geometries)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.OldNewReg
+Use old newreg definition for geometrical transformations (compatibility option for old Gmsh geometries)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Points
+Display geometry points?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.PointsNumbers
+Display points numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.PointSelectSize
+Display size of selected points (in pixels)@*
+Default value: @code{5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.PointSize
+Display size of points (in pixels)@*
+Default value: @code{3}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.PointType
+Display points as solid color dots or 3D spheres@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.ScalingFactor
+Global geometry scaling factor@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Surfaces
+Display geometry surfaces?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.SurfacesNumbers
+Display surface numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Tangents
+Size of the vectors tangent to the curves@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Volumes
+Display geometry volumes? (not implemented yet)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.VolumesNumbers
+Display volume numbers? (not implemented yet)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Geometry.Color.Points
+Normal geometry point color@*
+Default value: @code{@{178,182,129@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.Lines
+Normal geometry curve color@*
+Default value: @code{@{0,0,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.Surfaces
+Normal geometry surface color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.Volumes
+Normal geometry volume color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.PointsSelect
+Selected geometry point color@*
+Default value: @code{@{255,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.LinesSelect
+Selected geometry curve color@*
+Default value: @code{@{255,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.SurfacesSelect
+Selected geometry surface color@*
+Default value: @code{@{255,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.VolumesSelect
+Selected geometry volume color@*
+Default value: @code{@{255,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.PointsHighlight
+Highlighted geometry point color@*
+Default value: @code{@{0,255,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.LinesHighlight
+Highlighted geometry curve color@*
+Default value: @code{@{0,0,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.SurfacesHighlight
+Highlighted geometry surface color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.VolumesHighlight
+Highlighted geometry volume color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.Tangents
+Tangent geometry vectors color@*
+Default value: @code{@{255,255,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Geometry.Color.Normals
+Normal geometry vectors color@*
+Default value: @code{@{255,0,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@end ftable
diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi
new file mode 100644
index 0000000000..5e35895ea3
--- /dev/null
+++ b/doc/texinfo/opt_mesh.texi
@@ -0,0 +1,367 @@
+@ftable @code
+@item Mesh.Algorithm
+2D mesh algorithm (1=isotropic, 2=anisotropic, 3=triangle)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.AllowDegeneratedExtrude
+Allow the generation of degenerated hexahedra or prisms during extrusion@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.Aspect
+Mesh aspect (0=wireframe, 1=hidden lines, 2=solid)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.CharacteristicLengthFactor
+Factor applied to all characteristic lengths (and background meshes)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.ColorCarousel
+Use a 'color by region number' scheme@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.ColorScheme
+Default mesh color scheme (0, 1 or 2)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.ConstrainedBackgroundMesh
+Should the background mesh be constrained by the characteristic lengths associated with the geometry?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.CpuTime
+CPU time for the generation of the current mesh (in seconds)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.CutPlane
+Enable mesh cut plane@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.CutPlaneA
+First cut plane equation coefficient ('A' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item Mesh.CutPlaneB
+Second cut plane equation coefficient ('B' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.CutPlaneC
+Third cut plane equation coefficient ('C' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.CutPlaneD
+Fourth cut plane equation coefficient ('D' in equation 'AX+BY+CZ+D=0')@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.Degree
+Element order@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.DisplayLists
+Use OpenGL display lists for drawing meshes@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Dual
+Display the dual mesh obtained by barycentric subdivision@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Explode
+Display mesh with non adjacent elements (factor between 0 and 1)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Format
+Mesh output format (1=MSH, 2=UNV)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.GammaInf
+Only display elements whose Gamma factor is greater than GammaInf@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.GammaSup
+Only display elements whose Gamma factor is smaller than GammaSup@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Interactive
+Show the construction of the 2D mesh in real time (only with the anisotropic algorithm)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Lines
+Display mesh vertices on curves?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.LinesNumbers
+Display mesh line numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.LineType
+Display lines as solid color segments or 3D cylinders@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.LineWidth
+Display width of lines (in pixels)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.MinimumCirclePoints
+Minimum number of points used to mesh a circle@*
+Default value: @code{7}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.NbHexahedra
+Number of hexahedra in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbNodes
+Number of nodes in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbPrisms
+Number of prisms in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbPyramids
+Number of pyramids in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbQuadrangles
+Number of quadrangles in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbTetrahedra
+Number of tetrahedra in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.NbTriangles
+Number of triangles in the current mesh@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.Normals
+Size of the normal vectors@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Points
+Display mesh vertices?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PointInsertion
+Point insertion method for isotropic 2D algorithm (1=center of circ. circle, 2=voronoi, 3=cog)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PointsNumbers
+Display mesh vertices numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PointSize
+Display size of points (in pixels)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PointType
+Display points as solid color dots or 3D spheres@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Quality
+Target quality for tetrahedral elements (not fully functional)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RadiusInf
+Only display elements whose Radius is greater than RadiusInf@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RadiusSup
+Only display elements whose Radius is smaller than RadiusSup@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RandomFactor
+Random factor used in 2D and 3D meshing algorithm (test other values when the algorithm fails)@*
+Default value: @code{0.0001}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.SaveAll
+Ignore Physical definitions and save all elements@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item Mesh.ScalingFactor
+Global scaling factor applied to the saved mesh@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Smoothing
+Number of smoothing steps applied to the final mesh@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.SpeedMax
+Disable dubious point insertion tests@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Surfaces
+Display surface mesh?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.SurfacesNumbers
+Display mesh surface numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Tangents
+Size of the tangent vectors@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Volumes
+Display volume mesh?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.VolumesNumbers
+Display mesh elements numbers?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.Color.Points
+Mesh vertex color@*
+Default value: @code{@{0,123,59@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.PointsSupp
+Mesh high order vertex color@*
+Default value: @code{@{255,0,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Lines
+Mesh line color@*
+Default value: @code{@{0,255,0@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Triangles
+Mesh triangle color (if ColorCarousel=0)@*
+Default value: @code{@{160,150,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Quadrangles
+Mesh quadrangle color (if ColorCarousel=0)@*
+Default value: @code{@{130,120,225@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Tetrahedra
+Mesh tetrahedron color (if ColorCarousel=0)@*
+Default value: @code{@{160,150,255@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Hexahedra
+Mesh hexahedron color (if ColorCarousel=0)@*
+Default value: @code{@{130,120,225@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Prisms
+Mesh prism color (if ColorCarousel=0)@*
+Default value: @code{@{232,210,23@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Pyramids
+Mesh pyramid color (if ColorCarousel=0)@*
+Default value: @code{@{217,113,38@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Tangents
+Tangent mesh vector color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Normals
+Normal mesh vector color@*
+Default value: @code{@{128,128,128@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.One
+First color in color carousel@*
+Default value: @code{@{232,210,23@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Two
+Second color in color carousel@*
+Default value: @code{@{226,167,29@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Three
+Third color in color carousel@*
+Default value: @code{@{217,113,38@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Four
+Fourth color in color carousel@*
+Default value: @code{@{201,54,54@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Five
+Fifth color in color carousel@*
+Default value: @code{@{169,12,86@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Six
+Sixth color in color carousel@*
+Default value: @code{@{114,2,141@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Seven
+Seventh color in color carousel@*
+Default value: @code{@{67,30,188@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Eight
+Eighth color in color carousel@*
+Default value: @code{@{44,86,211@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Nine
+Ninth color in color carousel@*
+Default value: @code{@{32,145,223@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@item Mesh.Color.Ten
+tenth color in color carousel@*
+Default value: @code{@{25,193,230@}}@*
+Saved in: @code{General.OptionsFileName})
+
+@end ftable
diff --git a/doc/texinfo/opt_post.texi b/doc/texinfo/opt_post.texi
new file mode 100644
index 0000000000..c261fd3dc3
--- /dev/null
+++ b/doc/texinfo/opt_post.texi
@@ -0,0 +1,37 @@
+@ftable @code
+@item PostProcessing.AnimationDelay
+Delay (in seconds) between to animation frames@*
+Default value: @code{0.25}@*
+Saved in: @code{General.OptionsFileName}
+
+@item PostProcessing.AnimationCycle
+Cycle through views instead of time steps for the animation@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item PostProcessing.DisplayLists
+Use OpenGL display lists for drawing post-processing views@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item PostProcessing.Link
+Link post-processing views (0=none, 1,2=changes in visible/all, 3,4=everything in visible/all)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item PostProcessing.NbViews
+Current number of views merged@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item PostProcessing.Scales
+Show value scales@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item PostProcessing.Smoothing
+Apply (non-reversible) smoothing to post-processing view when merged@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@end ftable
diff --git a/doc/texinfo/opt_print.texi b/doc/texinfo/opt_print.texi
new file mode 100644
index 0000000000..e0d4e7e22d
--- /dev/null
+++ b/doc/texinfo/opt_print.texi
@@ -0,0 +1,72 @@
+@ftable @code
+@item Print.EpsFont
+Font used for postscript printing@*
+Default value: @code{"Courier"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsBackground
+Save image background in postscript output@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsFontSize
+Font size used for postscript printing@*
+Default value: @code{12}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsLineWidthFactor
+Width factor for lines in postscript output@*
+Default value: @code{0.2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsPointSizeFactor
+Size factor for points in postscript output@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsQuality
+Postscript quality (1=simple sort, 2=recursive sort)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsOcclusionCulling
+Cull occluded primitives (to reduce PostScript file size)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.EpsBestRoot
+Try to minimize primitive splitting in recursive sort@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.Format
+File format (10=automatic)@*
+Default value: @code{10}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.GifDither
+Apply dithering to GIF output@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.GifInterlace
+Interlace GIF output@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.GifSort
+Sort the colormap in GIF output@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.GifTransparent
+Output transparent GIF image@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Print.JpegQuality
+JPEG quality (between 1 and 100)@*
+Default value: @code{100}@*
+Saved in: @code{General.OptionsFileName}
+
+@end ftable
diff --git a/doc/texinfo/opt_solver.texi b/doc/texinfo/opt_solver.texi
new file mode 100644
index 0000000000..c3aa6279ea
--- /dev/null
+++ b/doc/texinfo/opt_solver.texi
@@ -0,0 +1,631 @@
+@ftable @code
+@item Solver.Name0
+Name of solver 0@*
+Default value: @code{"GetDP"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Help0
+Help string for solver 0@*
+Default value: @code{"A General environment for the treatment of
+Discrete Problems
+Copyright (c) 1997-2003
+Patrick Dular and Christophe Geuzaine
+Visit http://www.geuz.org/getdp/ for more info"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Executable0
+System command to launch solver 0 (should _not_ contain the '&' character)@*
+Default value: @code{"getdp"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Extension0
+Default file name extension for solver 0@*
+Default value: @code{".pro"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshName0
+Default mesh file name for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshCommand0
+Command used to specify the mesh file for solver 0@*
+Default value: @code{"-msh %s"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.OptionCommand0
+Command to get options from solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstOption0
+Label of first option for solver 0@*
+Default value: @code{"Resolution"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondOption0
+Label of second option for solver 0@*
+Default value: @code{"PostOperation"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdOption0
+Label of third option for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthOption0
+Label of fourth option for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthOption0
+Label of fifth option for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButton0
+Label of first button for solver 0@*
+Default value: @code{"Pre"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButtonCommand0
+Command associated with the first button for solver 0@*
+Default value: @code{"-pre %s"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButton0
+Label of second button for solver 0@*
+Default value: @code{"Cal"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButtonCommand0
+Command associated with the second button for solver 0@*
+Default value: @code{"-cal"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButton0
+Label of third button for solver 0@*
+Default value: @code{"Pos"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButtonCommand0
+Command associated with the third button for solver 0@*
+Default value: @code{"-bin -pos %s"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButton0
+Label of fourth button for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButtonCommand0
+Command associated with the fourth button for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButton0
+Label of fifth button for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButtonCommand0
+Command associated with the fifth button for solver 0@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Name1
+Name of solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Help1
+Help string for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Executable1
+System command to launch solver 1 (should _not_ contain the '&' character)@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Extension1
+Default file name extension for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshName1
+Default mesh file name for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshCommand1
+Command used to specify the mesh file for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.OptionCommand1
+Command to get options from solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstOption1
+Label of first option for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondOption1
+Label of second option for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdOption1
+Label of third option for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthOption1
+Label of fourth option for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthOption1
+Label of fifth option for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButton1
+Label of first button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButtonCommand1
+Command associated with the first button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButton1
+Label of second button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButtonCommand1
+Command associated with the second button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButton1
+Label of third button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButtonCommand1
+Command associated with the third button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButton1
+Label of fourth button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButtonCommand1
+Command associated with the fourth button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButton1
+Label of fifth button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButtonCommand1
+Command associated with the fifth button for solver 1@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Name2
+Name of solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Help2
+Help string for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Executable2
+System command to launch solver 2 (should _not_ contain the '&' character)@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Extension2
+Default file name extension for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshName2
+Default mesh file name for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshCommand2
+Command used to specify the mesh file for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.OptionCommand2
+Command to get options from solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstOption2
+Label of first option for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondOption2
+Label of second option for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdOption2
+Label of third option for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthOption2
+Label of fourth option for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthOption2
+Label of fifth option for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButton2
+Label of first button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButtonCommand2
+Command associated with the first button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButton2
+Label of second button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButtonCommand2
+Command associated with the second button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButton2
+Label of third button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButtonCommand2
+Command associated with the third button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButton2
+Label of fourth button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButtonCommand2
+Command associated with the fourth button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButton2
+Label of fifth button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButtonCommand2
+Command associated with the fifth button for solver 2@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Name3
+Name of solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Help3
+Help string for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Executable3
+System command to launch solver 3 (should _not_ contain the '&' character)@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Extension3
+Default file name extension for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshName3
+Default mesh file name for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshCommand3
+Command used to specify the mesh file for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.OptionCommand3
+Command to get options from solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstOption3
+Label of first option for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondOption3
+Label of second option for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdOption3
+Label of third option for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthOption3
+Label of fourth option for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthOption3
+Label of fifth option for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButton3
+Label of first button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButtonCommand3
+Command associated with the first button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButton3
+Label of second button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButtonCommand3
+Command associated with the second button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButton3
+Label of third button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButtonCommand3
+Command associated with the third button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButton3
+Label of fourth button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButtonCommand3
+Command associated with the fourth button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButton3
+Label of fifth button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButtonCommand3
+Command associated with the fifth button for solver 3@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Name4
+Name of solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Help4
+Help string for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Executable4
+System command to launch solver 4 (should _not_ contain the '&' character)@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.Extension4
+Default file name extension for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshName4
+Default mesh file name for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MeshCommand4
+Command used to specify the mesh file for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.OptionCommand4
+Command to get options from solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstOption4
+Label of first option for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondOption4
+Label of second option for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdOption4
+Label of third option for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthOption4
+Label of fourth option for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthOption4
+Label of fifth option for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButton4
+Label of first button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FirstButtonCommand4
+Command associated with the first button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButton4
+Label of second button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.SecondButtonCommand4
+Command associated with the second button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButton4
+Label of third button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ThirdButtonCommand4
+Command associated with the third button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButton4
+Label of fourth button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FourthButtonCommand4
+Command associated with the fourth button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButton4
+Label of fifth button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.FifthButtonCommand4
+Command associated with the fifth button for solver 4@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ClientServer0
+Connect solver 0 to the Gmsh server@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MergeViews0
+Automatically merge any post-processing view created by solver 0@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.PopupMessages0
+Automatically display messages produced by solver 0@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ClientServer1
+Connect solver 1 to the Gmsh server@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MergeViews1
+Automatically merge any post-processing view created by solver 1@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.PopupMessages1
+Automatically display messages produced by solver 1@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ClientServer2
+Connect solver 2 to the Gmsh server@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MergeViews2
+Automatically merge any post-processing view created by solver 2@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.PopupMessages2
+Automatically display messages produced by solver 2@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ClientServer3
+Connect solver 3 to the Gmsh server@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MergeViews3
+Automatically merge any post-processing view created by solver 3@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.PopupMessages3
+Automatically display messages produced by solver 3@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.ClientServer4
+Connect solver 4 to the Gmsh server@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.MergeViews4
+Automatically merge any post-processing view created by solver 4@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Solver.PopupMessages4
+Automatically display messages produced by solver 4@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@end ftable
diff --git a/doc/texinfo/opt_view.texi b/doc/texinfo/opt_view.texi
new file mode 100644
index 0000000000..265545b06f
--- /dev/null
+++ b/doc/texinfo/opt_view.texi
@@ -0,0 +1,306 @@
+@ftable @code
+@item View.AbscissaName
+Abscissa name for 2D graphs@*
+Default value: @code{""}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.AbscissaFormat
+Abscissa number format for 2D graphs (in standard C form)@*
+Default value: @code{"%.3e"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.FileName
+Default file name to assign to the post-processing view@*
+Default value: @code{""}@*
+Saved in: @code{-}
+
+@item View.Format
+Number format (in standard C form)@*
+Default value: @code{"%.3e"}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Name
+Default name to assign to the post-processing view@*
+Default value: @code{""}@*
+Saved in: @code{-}
+
+@item View.AngleSmoothNormals
+Threshold angle below which we do not smooth the normals@*
+Default value: @code{15}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ArrowLocation
+Arrow location (1=cog, 2=vertex)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ArrowScale
+Size of the vector (e.g. arrow size in pixels)@*
+Default value: @code{50}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ArrowType
+Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.AutoPosition
+Position the scale or the 2D graph automatically to avoid overlaps@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Boundary
+Draw the N-b dimensional boundary of the simplex (N=dimension, b=option value)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.CustomMax
+User defined maximum value to be displayed@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.CustomMin
+User defined minimum value to be displayed@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.DrawHexahedra
+Display post-processing hexahedra?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawLines
+Display post-processing lines?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawPoints
+Display post-processing points?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawPrisms
+Display post-processing prisms?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawPyramids
+Display post-processing pyramids?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawQuadrangles
+Display post-processing quadrangles?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawScalars
+Display scalar values?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawStrings
+Display post-processing annotation strings?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawTensors
+Display tensor values?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawTetrahedra
+Display post-processing tetrahedra?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawTriangles
+Display post-processing triangles?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.DrawVectors
+Display vector values?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Explode
+Explode elements (0: reduced to point; 1: not transformed)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Grid
+Grid mode for 2D graphs (0=none, 1=simple, 2=frame, 3=grid)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Height
+Height (in pixels) of the scale or 2D graph@*
+Default value: @code{200}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.IntervalsType
+Type of interval display (1=iso, 2=continuous, 3=discrete, 4=numeric)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Light
+Enable light sources?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.LineType
+Display lines as solid color segments or 3D cylinders@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.LineWidth
+Display width of lines (in pixels)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Max
+Maximum value in the view (do _not_ change this!)@*
+Default value: @code{-1e+200}@*
+Saved in: @code{-}
+
+@item View.Min
+Minimum value in the view (do _not_ change this!)@*
+Default value: @code{1e+200}@*
+Saved in: @code{-}
+
+@item View.NbAbscissa
+Number of abscissa intervals for 2D graphs@*
+Default value: @code{5}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.NbIso
+Number of intervals@*
+Default value: @code{15}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.NbTimeStep
+Number of time steps in the view (do _not_ change this!)@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item View.OffsetX
+Translation of the view along X-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.OffsetY
+Translation of the view along Y-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.OffsetZ
+Translation of the view along Z-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.PointSize
+Display size of points (in pixels)@*
+Default value: @code{2}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.PointType
+Display points as solid color dots or 3D spheres@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.PositionX
+Horizontal position (in pixels) of the upper left corner of the scale or 2D graph@*
+Default value: @code{80}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.PositionY
+Vertical position (in pixels) of the upper left corner of the scale or 2D graph@*
+Default value: @code{50}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.RaiseX
+Elevation of the view along X-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.RaiseY
+Elevation of the view along Y-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.RaiseZ
+Elevation of the view along Z-axis (in model coordinates)@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.RangeType
+Value scale range type (1=default, 2=custom)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.SaturateValues
+Saturate the view values to custom min and max (1=true, 0=false)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ScaleType
+Value scale type (1=linear, 2=logarithmic, 3=double logarithmic)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ShowElement
+Show element boundaries?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ShowScale
+Show value scale?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ShowTime
+Show time value (or time step) if NbTimeStep > 1?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.SmoothNormals
+Smooth the normals?@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.TensorType
+Tensor Visualization Type@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.TimeStep
+Current time step displayed@*
+Default value: @code{0}@*
+Saved in: @code{-}
+
+@item View.TransparentScale
+Display a 'transparent' value scale?@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Type
+Type of graph (1=3D, 2=2D-space, 3=2D-time)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.Visible
+Is the view visible?@*
+Default value: @code{1}@*
+Saved in: @code{-}
+
+@item View.Width
+Width (in pixels) of the scale or 2D graph@*
+Default value: @code{300}@*
+Saved in: @code{General.OptionsFileName}
+
+@item View.ColorTable
+Color table used to draw the view@*
+Saved in: @code{General.OptionsFileName})
+
+@end ftable
-- 
GitLab