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.1-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") & ~fromjava() & ~fromc() & sciargs()<>"-nb")
42 if ((getscilabmode() == "NWNI" | getscilabmode() == "NW") & sciargs()<>"-nb")
43    [v, opts] = getversion()
44    printf(strsubst(v, "scilab-", "Scilab ") + " (" + opts($-1) + ", " + opts($) + ")\n");
45    clear v opts;
46 end
47
48 // Create some configuration variables ================================
49 home = getenv("HOME", SCI);
50 if getos() <> "Windows" then
51   if getenv("PRINTERS", "ndef") == "ndef" then
52     setenv("PRINTERS", "lp");
53   end
54 end
55 setenv("VERSION", getversion());
56
57 // ATOMS ===============================================================
58 if with_module("atoms") then
59   atomsSystemInit();
60   if sciargs() <> "-noatomsautoload" then
61     atomsAutoload();
62     clear atomsAutoload;
63   end
64   clear atomsSystemInit;
65 end
66
67 // At startup, no interactive vertical paging by default. ==============
68 lines(0);
69
70 // load contrib menu if present ========================================
71 function loadContrib()
72   if isfile(SCI+"/contrib/loader.sce") then
73     global %toolboxes;
74     global %toolboxes_dir;
75     exec(SCI+"/contrib/loader.sce");
76   end
77 endfunction
78 loadContrib();
79 clear loadContrib;
80
81 // calling user initialization =========================================
82 if sciargs()<>"-nouserstartup" then
83
84   startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
85                    SCIHOME + filesep() + "scilab.ini" ];    //  ""      ""    startup
86   for i = 1:size(startupfiles, "*")
87     if isfile(startupfiles(i)) then
88       exec(startupfiles(i),-1);
89     end
90   end
91
92   // execute .scilab and scilab.start only
93   // if last exec does not change current directory to SCIHOME
94   // See bug #4150
95   workingDirectory = pwd();
96   if SCIHOME <> workingDirectory then
97
98       workingfiles = [ workingDirectory + filesep() + ".scilab"     ; .. // Working directory startup
99                        workingDirectory + filesep() + "scilab.ini" ];    //  ""      ""    startup
100
101       for i = 1:size(startupfiles, "*")
102         if isfile(startupfiles(i)) then
103           exec(startupfiles(i),-1);
104         end
105       end
106   end
107
108   clear i;
109   clear startupfiles;
110 end
111
112 // Menus/toolbar can now be enabled ====================================
113 if getscilabmode() == "STD" then
114   setmenu(gettext("&File"));
115   setmenu(gettext("&Edit"));
116   setmenu(gettext("&Preferences"));
117   setmenu(gettext("&Control"));
118   setmenu(gettext("&Applications"));
119   if ~with_module("scinotes") then // Desactivate Editor menu
120     unsetmenu(gettext("&Applications"), 1);
121   end
122   if ~with_module("xcos") then // Desactivate xcos menu
123     unsetmenu(gettext("&Applications"), 3);
124   end
125   if ~with_module("m2sci") then // Desactivate mfile2sci menu
126     unsetmenu(gettext("&Applications"), 5);
127   end
128   if ~with_module("atoms") then // Desactivate atoms menu
129     unsetmenu(gettext("&Applications"), 7);
130   end
131   setmenu(gettext("&?"));
132   setmenu(gettext("&Toolboxes"));
133   toolbar(-1, "on");
134 end
135 // ====================================================================
136 clear ans