[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #48017] --no-window-system command line option
From: |
Rik |
Subject: |
[Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics |
Date: |
Wed, 25 May 2016 17:57:05 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 |
Follow-up Comment #2, bug #48017 (project octave):
Our startup mechanism is so convoluted now that I'm not always sure what is
going on.
I see in src/main.cc the following:
int
main (int argc, char **argv)
{
int retval = 0;
bool start_gui = true;
bool gui_libs = true;
std::string octave_bindir = get_octave_bindir ();
std::string octave_archlibdir = get_octave_archlibdir ();
std::string octave_cli
= octave_bindir + dir_sep_char + "octave-cli-" OCTAVE_VERSION;
std::string octave_gui = octave_archlibdir + dir_sep_char + "octave-gui";
#if defined (HAVE_OCTAVE_QT_GUI)
// The Octave version number is already embedded in the
// octave_archlibdir directory name so we don't need to append it to
// the octave-gui filename.
std::string file = octave_gui;
#else
std::string file = octave_cli;
#endif
// Declaring new_argv static avoids leak warnings when using GCC's
// --address-sanitizer option.
static char **new_argv = new char * [argc + 1];
int k = 1;
bool warn_display = true;
for (int i = 1; i < argc; i++)
{
if (! strcmp (argv[i], "--no-gui-libs"))
{
// Run the version of Octave that is not linked with any GUI
// libraries. It may not be possible to do plotting or any
// ui* calls, but it will be a little faster to start and
// require less memory. Don't pass the --no-gui-libs option
// on as that option is not recognized by Octave.
start_gui = false;
gui_libs = false;
file = octave_cli;
}
else if (! strcmp (argv[i], "--no-gui"))
{
// If we see this option, then we can just exec octave; we
// don't have to create a child process and wait for it to
// exit. But do exec "octave-gui", not "octave-cli", because
// even if the --no-gui option is given, we may be asked to do
// some plotting or ui* calls.
start_gui = false;
new_argv[k++] = argv[i];
}
else if (! strcmp (argv[i], "--silent") || ! strcmp (argv[i],
"--quiet")
|| ! strcmp (argv[i], "-q"))
{
warn_display = false;
new_argv[k++] = argv[i];
}
else
new_argv[k++] = argv[i];
}
new_argv[k] = 0;
if (gui_libs || start_gui)
{
int dpy_avail;
const char *display_check_err_msg = display_available (&dpy_avail);
if (! dpy_avail)
{
start_gui = false;
gui_libs = false;
file = octave_cli;
if (warn_display)
{
if (! display_check_err_msg)
display_check_err_msg = "graphical display unavailable";
std::cerr << "octave: " << display_check_err_msg << std::endl;
std::cerr << "octave: disabling GUI features" << std::endl;
}
}
}
For starters, I think if a user explicitly sets the --no-window-system option
then they don't need to be warned about the lack of a graphical display. This
suggests that the following code needs to be extended to include
"--no-window-system" and "-W".
else if (! strcmp (argv[i], "--silent") || ! strcmp (argv[i], "--quiet")
|| ! strcmp (argv[i], "-q"))
{
warn_display = false;
new_argv[k++] = argv[i];
}
Second,
const char *display_check_err_msg = display_available (&dpy_avail);
Is this call made before, or after, the call to no_window_system()? If it is
made before then it will screw things up.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?48017>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Rik, 2016/05/25
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Mike Miller, 2016/05/25
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics,
Rik <=
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Rik, 2016/05/25
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Mike Miller, 2016/05/25
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Mike Miller, 2016/05/25
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Rik, 2016/05/27
- [Octave-bug-tracker] [bug #48017] --no-window-system command line option does not disable graphics, Rik, 2016/05/31