[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI terminal widget

From: CROZIER Richard
Subject: Re: GUI terminal widget
Date: Tue, 4 Jun 2019 13:42:44 +0000

On 04/06/2019 13:10, Kai Torben Ohlhus wrote:
> On 6/4/19 11:35 AM, CROZIER Richard wrote:
>> On 03/06/2019 17:34, Rik wrote:
>>> I didn't see any comments at https://wiki.octave.org/GUI_terminal_widget
>>> so I thought I would bring the conversation back to the mailing list.
>>>   From a strategic level, this is a big change.  What do we get from
>>> doing this (pros) and what do we lose (cons)?  Are there sufficient
>>> benefits to undertake this task?
>>> Although the terminal often causes problems, it also allows for a lot of
>>> code re-use.  We use Readline for history and input processing.  We get
>>> 'less' and other utilities for free.  In replacing this, do we
>>> essentially need to re-invent the wheel? That's a *lot* of coding effort
>>> for something that isn't even particularly Octave related.  Since your
>>> time is finite, if you are working on this then there will be other
>>> Octave bugs that aren't addressed.  Is the balance worthwhile?  You
>>> understand core Octave better than anyone so it may be that your time is
>>> better spent resolving 50 bugs there, rather than writing more generic
>>> terminal emulation code that other programmers could do.
>>> Just some ideas on what to answer before going forward.
>>> --Rik
>> The terminal code in Octave is a mess, I have gone in to try and fix
>> bugs, but it is so complex (for example there is, or at least was,
>> completely different terminal code for Windows and Linux), that fixing
>> simple bugs had a huge overhead in understanding the terminal code.
>> Given that no-one has done anything to improve this for a long time
>> perhaps JWE's help is needed to get the terminal to a state where others
>> can help pick things up, especially if he has done some of the work already.
>> I also get the impression he's enjoying getting this working. Enjoyment
>> is important for a project maintainer!
>> Incidentally, do you really need a pager in the gui? You have scrollbars
>> on the windows. All you really need is a keyboard shortcut to scroll up
>> don't you? Like SHIFT+PageUp
>> I also wonder if there is a lot which can be lifted/translated from the
>> Jupyter Qt console:
>> https://github.com/jupyter/qtconsole
>> It has a history and a pager.
>> Regards,
>> Richard
> Looks cool and is something I regularly dream of in Octave, but
> qtconsole is written in Python.  Unless Octave moves in this direction,
> I think this is difficult to realize.  Another promising C++ candidate
> is qtermwidet. Both listed here:
>     https://wiki.octave.org/GUI_terminal_widget#Alternatives
> Additionally, I raised a question about Unicode support of this new
> solution, which occasionally results in bug reports.
> https://wiki.octave.org/GUI_terminal_widget#International_Characters_Support
> Best regards,
> Kai

Although it is written in python, the python methods and functions
should map quite well to the underlying Qt C++ methods and functions. I
was thinking a translation might not be too bad, or at least easier than
starting from scratch. However, your qtermwidget also looks like a good
starting point.

If only Octave had qt bindings ... :-)

The University of Edinburgh is a charitable body, registered in Scotland, with 
registration number SC005336.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]