Merge remote-tracking branch 'origin/master' into YaSp
[scilab.git] / scilab / etc / scilab.start
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2007-2008 - INRIA
3 // Copyright (C) 2009-2011 - DIGITEO
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 // Main Scilab initialisation file
12
13 mode(-1);  // silent execution mode
14
15 // clean database when restarted ======================================
16 //predef("clear"); //unprotect all variables
17 clear  // erase all variables
18 clearglobal();
19
20 %tk = (with_module("tclsci") & getscilabmode() <> "NWNI");
21
22 // Default Obsolete Warning policy  ===================================
23 global %modalWarning;
24 // False -> Scilab will only display a Warning message in the console
25 //          if warnings are enabled [warning("on"/"off")].
26 // True  -> Scilab will show a blocking popup.
27 %modalWarning = %F;
28 clear %modalWarning;
29
30 // Create some configuration variables ================================
31 PWD = pwd();
32
33 // Startup message  ===================================================
34
35 // if (sciargs() <> "-nb") & ~fromjava() & ~fromc() & getscilabmode() == "STD" then
36 if (sciargs() <> "-nb") & getscilabmode() == "STD" then
37   printf("\n\n%s\n", gettext("Startup execution:"));
38   printf(gettext("  loading initial environment") + "\n");
39 end
40
41 if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & sciargs()<>"-nb")
42    [v, opts] = getversion()
43    printf(strsubst(v, "scilab-", "Scilab ") + " (" + opts($-1) + ", " + opts($) + ")");
44    clear v, opts;
45 end
46
47 // Create some configuration variables ================================
48 home = getenv("HOME", SCI);
49 if getos() <> "Windows" then
50   if getenv("PRINTERS", "ndef") == "ndef" then
51     setenv("PRINTERS", "lp");
52   end
53 end
54 setenv("VERSION", getversion());
55
56 // ATOMS ===============================================================
57 if with_module("atoms") then
58   atomsSystemInit();
59   if sciargs() <> "-noatomsautoload" then
60     atomsAutoload();
61     clear atomsAutoload;
62   end
63   clear atomsSystemInit;
64 end
65
66 // At startup, no interactive vertical paging by default. ==============
67 lines(0);
68
69 // load contrib menu if present ========================================
70 function loadContrib()
71   if isfile(SCI+"/contrib/loader.sce") then
72     global %toolboxes;
73     global %toolboxes_dir;
74     exec(SCI+"/contrib/loader.sce");
75   end
76 endfunction
77 loadContrib();
78 clear loadContrib;
79
80 // calling user initialization =========================================
81 if sciargs()<>"-nouserstartup" then
82
83   startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
84                    SCIHOME + filesep() + "scilab.ini" ];    //  ""      ""    startup
85
86   if SCIHOME <> pwd() then
87     startupfiles = [ startupfiles     ; ..
88                      ".scilab"        ; .. // Working directory startup
89                      "scilab.ini" ]   ;    //  ""         ""    startup
90   end
91
92   for i = 1:size(startupfiles, "*")
93     if isfile(startupfiles(i)) then
94       exec(startupfiles(i),-1);
95     end
96   end
97
98   clear i;
99   clear startupfiles;
100 end
101
102 // Menus/toolbar can now be enabled ====================================
103 if getscilabmode() == "STD" then
104   setmenu(gettext("&File"));
105   setmenu(gettext("&Edit"));
106   setmenu(gettext("&Preferences"));
107   setmenu(gettext("&Control"));
108   setmenu(gettext("&Applications"));
109   if ~with_module("scinotes") then // Desactivate Editor menu
110     unsetmenu(gettext("&Applications"), 1);
111   end
112   if ~with_module("xcos") then // Desactivate xcos menu
113     unsetmenu(gettext("&Applications"), 3);
114   end
115   if ~with_module("m2sci") then // Desactivate mfile2sci menu
116     unsetmenu(gettext("&Applications"), 5);
117   end
118   if ~with_module("atoms") then // Desactivate atoms menu
119     unsetmenu(gettext("&Applications"), 7);
120   end
121   setmenu(gettext("&?"));
122   setmenu(gettext("&Toolboxes"));
123   toolbar(-1, "on");
124 end
125 // ====================================================================
126 clear ans