octave-maintainers
[Top][All Lists]
Advanced

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

Re: Release plans for the GUI


From: John Swensen
Subject: Re: Release plans for the GUI
Date: Fri, 9 Sep 2011 10:06:29 -0400

On Sep 9, 2011, at 3:36 AM, Michael Goffioul wrote:

> On Fri, Sep 9, 2011 at 7:01 AM, Jacob Dawid <address@hidden> wrote:
>> Hello everybody,
>> I just came back from the funeral of my grandfather, so I had no time to
>> reply earlier.
> 
> Sorry about that.
> 
>> The biggest problem with the GUI is the terminal thing. The reason I threw
>> out Konsole is that it's drawing itself, which is not a performance issue
>> but it breaks the overall look and feel of the application and is quite
>> buggy when losing and gaining focus (sometimes it did not redraw, sometimes
>> it did). Also, the solution to use a terminal emulation is ugly and can only
>> be a temporary one. We just use it because we have no other option that
>> works left over at the moment.
> 
> I disagree. IMO the reasons we (should) use a terminal emulation are:
> 1) it's an off-the-shelf component that we don't have to re-develop; and we
>    can easily benefit from upstream bug fixes and improvements
> 2) it provides exactly the same behavior, whether you start octave in
>    a terminal or withing a full blown GUI
> So the choice of a terminal emulation is not because there's nothing else
> we can use, it's intentional.
> 

Also,  I just took a quick look through the source code in the 
gnu-ocatve/gui/src/terminal directory and realized that somewhere along the 
line the KPty.h, KPty.cpp, KPtyDevice.h and KPtyDevice.cpp has been modified 
from the original Konsole sources to remove everything that made it platform 
independent for Linux, BSDs, OSX, Solaris, etc.  Now it may only compile and 
work on Linux with glibc.  It definitely doesn't compile for OSX and I would 
have to go back in and add in all the platform depending #define's that were 
already there to handle the different platforms.

My opinion based on past experience trying to implement an Octave GUI, which 
doesn't matter a whole lot since I haven't been contributing much lately, is 
that a lot of smart people have "solved" the console problem in a platform 
independent way (excluding Window for the time being). If Jacob wants to 
re-implement this to scratch the itch that is learning about how UNIX PTYs work 
and how the guts of terminal emulation works, then that is his prerogative.  On 
the other hand, if the intent is to have something that works across a wide 
variety of platforms then the Konsole borrowing is definitely the way to go. In 
the long run, I think that if Jacob continues to go down the route of starting 
with a PTY and then implementing a simple text widget to interact with the PTY 
and adding features as he goes, he will eventually converge to a full terminal 
emulator.

John



reply via email to

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