Mercurial > hg > octave-nkf
annotate src/main-gui.cc @ 17778:b5d58667d32d
new main program wrapper to handle giving up controlling tty
* octave-gui.cc (octave_cli_thread): New class, from QtHandles.
(dissociate_terminal): Delete.
(octave_start_gui): Third arg is now START_GUI instead of FORK.
Don't call dissociate_terminal. If start_gui is false, use
octave_cli_thread to start Octave within a QApplication context.
* sighandlers.cc (gui_driver_sig_handler): Move to src/main.in.cc.
(install_gui_driver_signal_handlers): Move to src/main.in.cc and rename
to octave_set_signal_handler.
* octave.cc (no_fork_option): Delete.
(process_command_line): Don't handle NO_FORK_OPTION.
(octave_fork_gui): Move to src/main.in.cc and rename to
have_controlling_terminal.
* options-usage.h (usage_string, octave_print_verbose_usage_and_exit):
Delete --no-fork from text.
(long_opts): Delete no-fork from list.
(NO_FORK_OPTION): Delete.
* run-octave.in: Set OCTAVE_BINDIR in environment before exec-ing
Octave binary.
* src/Makefile.am: Build octave-gui, octave-cli, and octave instead of
octave-cli and octave.
* main-gui.cc: Rename from main.cc. Call octave_start_gui and pass
START_GUI as parameter.
* main.in.cc: New file.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 27 Oct 2013 18:47:22 -0400 |
parents | src/main.cc@d63878346099 |
children | 4197fc428c7d |
rev | line source |
---|---|
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 /* |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 |
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
3 Copyright (C) 2012-2013 John W. Eaton |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 This file is part of Octave. |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 Octave is free software; you can redistribute it and/or modify it |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 Free Software Foundation; either version 3 of the License, or (at your |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 option) any later version. |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but WITHOUT |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 for more details. |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
18 along with Octave; see the file COPYING. If not, see |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 <http://www.gnu.org/licenses/>. |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
20 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 */ |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 #ifdef HAVE_CONFIG_H |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
24 #include <config.h> |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 #endif |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 |
15262
ad1a980b0cb5
install default values before initializing interpreter (bug #37161)
John W. Eaton <jwe@octave.org>
parents:
15224
diff
changeset
|
27 #include "defaults.h" |
ad1a980b0cb5
install default values before initializing interpreter (bug #37161)
John W. Eaton <jwe@octave.org>
parents:
15224
diff
changeset
|
28 #include "octave.h" |
ad1a980b0cb5
install default values before initializing interpreter (bug #37161)
John W. Eaton <jwe@octave.org>
parents:
15224
diff
changeset
|
29 #include "octave-gui.h" |
15884
9ede91b3872b
do system-specific initialization before installing default variable values
John W. Eaton <jwe@octave.org>
parents:
15262
diff
changeset
|
30 #include "sysdep.h" |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 int |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 main (int argc, char **argv) |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 { |
15224
a44e4a08fc55
perform fewer actions before starting GUI
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
35 octave_process_command_line (argc, argv); |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 |
16540
63b144e6a3d0
partially undo the changes in 9bc1f8278966
John W. Eaton <jwe@octave.org>
parents:
16528
diff
changeset
|
37 sysdep_init (); |
63b144e6a3d0
partially undo the changes in 9bc1f8278966
John W. Eaton <jwe@octave.org>
parents:
16528
diff
changeset
|
38 |
63b144e6a3d0
partially undo the changes in 9bc1f8278966
John W. Eaton <jwe@octave.org>
parents:
16528
diff
changeset
|
39 install_defaults (); |
63b144e6a3d0
partially undo the changes in 9bc1f8278966
John W. Eaton <jwe@octave.org>
parents:
16528
diff
changeset
|
40 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
41 bool start_gui = octave_starting_gui (); |
17106
054905bfc306
maint: Non-trivial merge of stable to default
Jordi Gutiérrez Hermoso <jordigh@octave.org>
diff
changeset
|
42 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
43 return octave_start_gui (argc, argv, start_gui); |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
44 } |