diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 07ee4658cfd1f70d86642aa2a8771dc886cd3a92..b90f60319baf914a9ec2c7a269d6b74976045316 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -167,7 +167,7 @@ StringXNumber GeneralOptions_Number[] = {
     "Use trackball rotation mode" },
   { F|O, "ZoomFactor" , opt_general_zoom_factor , 1.1 ,
     "'Speed' of the middle mouse button zoom" },
-  { F|O, "DefaultPlugins" , opt_general_default_plugins , 0. ,
+  { F|O, "DefaultPlugins" , opt_general_default_plugins , 1. ,
     "Load default plugins on startup" },
   { F, "Clip0" , opt_general_clip0 , 0. ,
     "Enable clip plane 0" },
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 33bc09b9a9ecd3f50030805a7296b132bca6064c..0139f9094f5ade9d17f085636a353e7afc699044 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.96 2001-07-31 09:56:52 geuzaine Exp $
+// $Id: GUI.cpp,v 1.97 2001-07-31 11:13:16 geuzaine Exp $
 
 // To make the interface as visually consistent as possible, please:
 // - use the BH, BW, WB, IW values for button heights/widths, window borders, etc.
@@ -638,11 +638,11 @@ void GUI::create_menu_window(int argc, char **argv){
 			   (Fl_Callback *)view_save_ascii_cb, (void*)i, 0) ;
       m_popup_butt[i]->add("Save as/Binary View...", 0,
 			   (Fl_Callback *)view_save_binary_cb, (void*)i, 0) ;
+      add_post_plugins ( m_popup_butt[i] , i);
       m_popup_butt[i]->add("Apply as Background Mesh", 0,
 			   (Fl_Callback *)view_applybgmesh_cb, (void*)i, FL_MENU_DIVIDER);
       m_popup_butt[i]->add("Options...", 0,
 			   (Fl_Callback *)view_options_cb, (void*)i, 0);
-      add_post_plugins ( m_popup_butt[i] , i);
       m_popup_butt[i]->textsize(CTX.fontsize);
       m_popup_butt[i]->hide();
     }
@@ -1691,50 +1691,81 @@ void GUI::set_statistics(){
 
 PluginDialogBox * GUI::create_plugin_window(GMSH_Plugin *p, int iView){
   char buffer[1024],namep[1024],copyright[256],author[256],help[1024];
+  
+  // get plugin info
 
-  PluginDialogBox *pdb = new PluginDialogBox;
   int n = p->getNbOptions();
   p->getName(namep);
   p->getInfos(author,copyright,help);
+  std::pair<int,GMSH_Plugin*> *pair = new std::pair<int,GMSH_Plugin*>(iView,p);
+
+  // create window
+
   int width = 20*CTX.fontsize;
-  int height = (n+2)*BH ;
-  Fl_Window *pl_window = new Fl_Window(width,height);
-  pdb->main_window = pl_window;
-  pl_window->box(WINDOW_BOX);
+  int height = (n+2)*BH + 5*WB;
+
+  PluginDialogBox *pdb = new PluginDialogBox;
+  pdb->main_window = new Fl_Window(width,height);
+  pdb->main_window->box(WINDOW_BOX);
   sprintf(buffer,"%s Plugin",namep);
   char *nbuffer = new char[strlen(buffer)+1];
   strcpy(nbuffer,buffer);
-  pl_window->label(nbuffer);
+  pdb->main_window->label(nbuffer);
 
-  if(n > 20)Msg(GERROR,"Plugin has too much parameters");
+  { 
+    Fl_Tabs *o = new Fl_Tabs(WB, WB, width-2*WB, height-3*WB-1*BH);
+    { 
+      Fl_Group *g = new Fl_Group(WB, WB+BH, width-2*WB, height-3*WB-2*BH, "Options");
+      g->labelsize(CTX.fontsize);
 
-  for(int i=0;i<n;i++)
-    {
-      StringXNumber *sxn;
-      sxn = p->GetOption(i);
-      pdb->view_value[i] = new Fl_Value_Input(2*WB, 2*WB+(i)*BH, IW, BH, sxn->str);
-      pdb->view_value[i]->labelsize(CTX.fontsize);
-      pdb->view_value[i]->textsize(CTX.fontsize);
-      pdb->view_value[i]->type(FL_HORIZONTAL);
-      pdb->view_value[i]->align(FL_ALIGN_RIGHT);
-      pdb->view_value[i]->value(sxn->def);
+      if(n > 20)Msg(GERROR, "Plugin has too many parameters");
+      
+      for(int i=0;i<n;i++){
+	StringXNumber *sxn;
+	sxn = p->GetOption(i);
+	pdb->view_value[i] = new Fl_Value_Input(2*WB, 2*WB+(i+1)*BH, IW, BH, sxn->str);
+	pdb->view_value[i]->labelsize(CTX.fontsize);
+	pdb->view_value[i]->textsize(CTX.fontsize);
+	pdb->view_value[i]->type(FL_HORIZONTAL);
+	pdb->view_value[i]->align(FL_ALIGN_RIGHT);
+	pdb->view_value[i]->value(sxn->def);
+      }
+
+      g->end();
     }
+    { 
+      Fl_Group *g = new Fl_Group(WB, WB+BH, width-2*WB, height-3*WB-2*BH, "About");
+      g->labelsize(CTX.fontsize);
+
+      Fl_Browser *o = new Fl_Browser(2*WB, 2*WB+1*BH, width-4*WB, height-5*WB-2*BH);
+      o->add("");
+      o->add(namep);
+      o->add("");
+      o->add(help);
+      o->add("");
+      o->add(author);
+      o->add(copyright);
+      o->textsize(CTX.fontsize);
+      
+      g->end();
+    }
+    o->end();
+  }
+
+  Fl_Button* cancel = new Fl_Button(width-BB-WB, height-BH-WB, BB, BH, "Close");
+  cancel->labelsize(CTX.fontsize);
+  cancel->callback(cancel_cb, (void*)pdb->main_window);
 
-  Fl_Button* cancel     = new Fl_Button(width-BB-WB, height-BH-WB, BB, BH, "Close");
   Fl_Button* ok = new Fl_Return_Button(width-2*BB-2*WB, height-BH-WB, BB, BH, "Run");
   ok->labelsize(CTX.fontsize);
-  std::pair<int,GMSH_Plugin*> *pair = 
-    new  std::pair<int,GMSH_Plugin*>(iView,p);
   ok->callback(view_plugin_cb, (void*)pair);
-  cancel->labelsize(CTX.fontsize);
-  cancel->callback(cancel_cb, (void*)pl_window);
 
   if(CTX.center_windows)
-    pl_window->position(m_window->x()+m_window->w()/2-width/2,
-			m_window->y()+9*BH-height/2);
+    pdb->main_window->position(m_window->x()+m_window->w()/2-width/2,
+			       m_window->y()+9*BH-height/2);
+
+  pdb->main_window->end();  
 
-  pl_window->end();
-   
   return pdb;
 }
 
diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp
index b0d9039906fd4c65f12e2152524ac704c70c61ba..c9dc37c13be3b0faf02b5d96a4f01970dcd87374 100644
--- a/Plugin/CutMap.cpp
+++ b/Plugin/CutMap.cpp
@@ -1,4 +1,4 @@
-// $Id: CutMap.cpp,v 1.10 2001-07-31 10:28:50 geuzaine Exp $
+// $Id: CutMap.cpp,v 1.11 2001-07-31 11:13:16 geuzaine Exp $
 
 #include "CutMap.h"
 #include "List.h"
@@ -30,10 +30,9 @@ void GMSH_CutMapPlugin::getName(char *name) const
 
 void GMSH_CutMapPlugin::getInfos(char *author, char *copyright, char *help_text) const
 {
-  strcpy(author,"J.-F. Remacle (remacle@scorec.rpi.edu)");
-  strcpy(copyright,"DGR (www.multiphysics.com)");
-  strcpy(help_text,
-	 "This Plugins extracts the isovalue surface of value 'Value'\n");
+  strcpy(author, "J.-F. Remacle (remacle@scorec.rpi.edu)");
+  strcpy(copyright, "DGR (www.multiphysics.com)");
+  strcpy(help_text, "This Plugins extracts the isovalue surface of value 'Value'");
 }
 
 int GMSH_CutMapPlugin::getNbOptions() const
diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp
index 3c1020ea241d394624f54270ad4ab5047630e6c8..b91222a3deeef4096b59448fccfd180e5f1c9735 100644
--- a/Plugin/CutPlane.cpp
+++ b/Plugin/CutPlane.cpp
@@ -1,4 +1,4 @@
-// $Id: CutPlane.cpp,v 1.8 2001-07-31 10:24:56 geuzaine Exp $
+// $Id: CutPlane.cpp,v 1.9 2001-07-31 11:13:16 geuzaine Exp $
 
 #include "CutPlane.h"
 #include "List.h"
@@ -37,7 +37,7 @@ void GMSH_CutPlanePlugin::getInfos(char *author, char *copyright, char *help_tex
 {
   strcpy(author,"J.-F. Remacle (remacle@scorec.rpi.edu)");
   strcpy(copyright,"DGR (www.multiphysics.com)");
-  strcpy(help_text,"This Plugins cuts a view \n with a plane a x + b y + c z + d = 0\n");
+  strcpy(help_text,"This Plugins cuts a view with a plane a x + b y + c z + d = 0");
 }
 
 int GMSH_CutPlanePlugin::getNbOptions() const
diff --git a/Plugin/CutSphere.cpp b/Plugin/CutSphere.cpp
index f0c2bf16dc0085d2a910acc21c8f495161e8d5fb..4a52991f8adf284ac7630c241998f9c87439b519 100644
--- a/Plugin/CutSphere.cpp
+++ b/Plugin/CutSphere.cpp
@@ -1,4 +1,4 @@
-// $Id: CutSphere.cpp,v 1.7 2001-07-31 10:24:56 geuzaine Exp $
+// $Id: CutSphere.cpp,v 1.8 2001-07-31 11:13:16 geuzaine Exp $
 
 #include <string.h>
 #include "CutSphere.h"
@@ -38,9 +38,8 @@ void GMSH_CutSpherePlugin::getInfos(char *author, char *copyright, char *help_te
 {
   strcpy(author,"J.-F. Remacle (remacle@scorec.rpi.edu)");
   strcpy(copyright,"DGR (www.multiphysics.com)");
-  strcpy(help_text,
-	 "This Plugins cuts a view\n"
-	 "with the sphere (x-xc)^2 + (y-yc)^2 + (z-zc)^2  = r^20\n");
+  strcpy(help_text, "This Plugins cuts a view with the sphere "
+	 " (x-xc)^2 + (y-yc)^2 + (z-zc)^2  = r^20");
 }
 
 int GMSH_CutSpherePlugin::getNbOptions() const
diff --git a/doc/VERSIONS b/doc/VERSIONS
index d8e5360f72f0cfc6ff368f16067a197762b861e7..b9e42edcc46732414e8995a9d0364da618ac17db 100644
--- a/doc/VERSIONS
+++ b/doc/VERSIONS
@@ -1,9 +1,10 @@
-$Id: VERSIONS,v 1.37 2001-07-31 08:01:25 geuzaine Exp $
+$Id: VERSIONS,v 1.38 2001-07-31 11:13:16 geuzaine Exp $
 
 New in 1.22: Fixed (yet another) bug for 2D mesh in the mean plane;
 fixed surface coherence bug in extruded meshes; new double logarithmic
 post-processing scale, saturate value and smoothed normals option for
-post-processing views;
+post-processing views; plugins are now enabled by default on Windows,
+Linux, SGI and DEC;
 
 New in 1.21: Fixed more memory leaks; added -opt command line option
 to parse definitions directly from the command line; fixed missing