Editing FAQ

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 491: Line 491:
:''See [[Differences between Octave and Matlab]]''.
:''See [[Differences between Octave and Matlab]]''.


=[https://en.wikipedia.org/wiki/Graphical_user_interface GUI]=
=GUI=
This is a small section but it's probably one of the most frequent questions.


==Does Octave have a GUI?==
==Does Octave have a GUI?==
 
Yes! It was officially released with Octave 4.0.0.  It was
'''Yes!''' It was officially released with Octave 4.0.0.  It was also available since version 3.8.0 as an experimental feature (use the {{Codeline|--force-gui}} option to start Octave).
also available since version 3.8.0 has an experimental feature (use the
{{Codeline|--force-gui}} option to start Octave).


==Why did you create yet another GUI instead of making one that already exists better?==
==Why did you create yet another GUI instead of making one that already exists better?==
None of the GUIs for Octave that had been developed thus far were part of
Octave and there is a reason for it. All of them failed at a very important
point, integration with Octave. They treated Octave as a foreign black box
using pipes for communication. This approach is bound to fail with each new
version. Any fix made to make them work with a new Octave versions would only
be temporary. This included QtOctave (now abandoned and incompatible with
newer versions of Octave), Xoctave (which is proprietary and commercial), and
GUI Octave (which was proprietary and no longer available).


The previously existing GUIs were not part of Octave itself.  The integration within Octave was rather bad, as all of them treated Octave as a foreign black box and used pipes for communication.  This approach is bound to fail with each new version of Octave, as any fix would only be temporary.  For historical reasons and to honor the approaches, a short list of previous GUIs for Octave:
Quint was a project for an Octave GUI that actually tried to do it right.
 
Eventually it was merged into the Octave repository and is no longer a
* '''QtOctave''' was a great, beautiful, and very useful tool which is now abandoned and incompatible with newer versions of Octave.  We are thankful to its developers to make it free software so we could reuse large chunks of it for what is now the Octave GUI.
separate project. Also, many bits from QtOctave were reused in the GUI.
 
* '''Quint''' was a project for an Octave GUI that actually tried to do it right. Eventually [https://lists.gnu.org/archive/html/octave-maintainers/2011-07/msg00096.html it was merged into the Octave repository] and is no longer a separate project. Also, many bits from QtOctave were reused in the GUI.


* '''[http://www.xoctave.com/ Xoctave]''', which is proprietary and commercial.
QtOctave was a great and very useful tool. It looked beautiful and we are
thankful to its developers for working on such a nice tool. However, it
would have ''never'' been stable as it was. But most of all, the developers
made it free software so we could reuse large chunks of it which were
incorporated in what is now the Octave GUI.


* '''GUI Octave''', which was proprietary and is no longer available.


=Graphics: backends and toolkits=
=Graphics: backends and toolkits=
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)