Yet another GUI releated thought
Søren Hauberg
soren at hauberg.org
Thu May 8 14:56:39 CDT 2008
tor, 08 05 2008 kl. 12:15 -0400, skrev John W. Eaton:
> If the GUI runs in a separate thread and Octave is not thread safe,
> then how do you make the GUI responsive while Octave is off doing some
> calculation?
What would you want a GUI to do while Octave is calculating? Start
another parallel calculation? The GUI just needs to know that it Octave
is busy, such that it doesn't start any new calculations.
> | Using this approach the GUI supports partial statements. It does not
> | support tab-completion and history searching, and similar. Such things
> | will have to be reimplemented in the GUI. I don't think that's much work
> | though. Are there any issues with this approach that I'm missing?
>
> Right, so you want to reimplement all the features of GNU readline in
> your GUI::readline function?
Tab-completion is easy as that is implemented by Octave anyway. History
searching might be a bit more work. GNU readline also implements all
sorts of keyboard shortcuts (Ctrl-k deletes the rest of the current
line, etc), which all would have to be reimplemented. But thoughts on
this is simply, to not reimplement this -- people using a GUI would just
loose some functionality (the most commonly used operations could
obviously by implemented, but an entire clone of readline, would be
silly).
The way I see it, if a GUI is simply a terminal with some extra stuff
around it (like the Matlab one), then I couldn't care less. However,
having the graphical capabilities opens up some new possibilities. Tab
completions and history searches could be displayed in drop-down menus
(is that the name?). Perhaps help texts could be displayed in HTML when
the user types 'help function_name'. But things like that really
requires that we don't use a terminal as the input -- it requires
something more general. The approach I suggested allows such things. It
would be quite some work, but at least it would be possible...
Søren
More information about the Octave-maintainers
mailing list