From graphics-request at octave dot org Thu Feb 16 08:41:12 2006 Subject: Re: Second time's a charm From: Sebastien Loisel To: David dot Bateman at motorola dot com Cc: octave maintainers mailing list , octave-graphics Date: Thu, 16 Feb 2006 15:39:32 +0100 ------=_Part_4273_25452302.1140100772142 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I'll look at all of that, but before I do, there's something I want to try. I mean, obviously the priority right now is to get it working, then I can try to get it working well. I think the main thing I forgot to do is to just try to get the embed example to work in MinGW. And once that works, to try to get it to work in MinGW in a dummy QT window. (Unlike X11 programming, opening a dummy window with text in QT is like 5 lines of code. I once wrote an X11 program called Zut!, whose purpose is to dump the pixels it receives on stdin to a window. That was thousands of lines of code.) I'll let you know what happens. Cheers, Sebastien Loisel On 2/16/06, David Bateman wrote: > > Sebastien, > > Ok, I took a really quick look at this. > > * Firstly have you tried starting octave-gui.exe in an rxvt? The output > you are trying to capture is echoed in the rxvt terminal rather than > your application. > * Commands such as "ls" that use a system call open a cmd.exe window > briefly when they probably shouldn't. This will happen for many commands > including most notably "help" as it makes a system call to texinfo.. > * The readline line completion in octave allows you to start typing then > do upper-arrow to get the previous commands that started with the same > characters. > * You don't appear to be using the octave history file, this is > important as it allows use of the history between sessions. To address > this and the above point, why not use the function > std::string gnu_readline (const std::string&, bool) from src/input.cc in > octave. You might also be able to use other parts of the command_editor > class to get the output right, though you might need to set > command_editor::terminal_cols correctly. Check liboctave/cmd-edit.h > * You don't respect the PS1 variable for the prompt in the GUI. > > I still haven't looked at the bug with octave_init yet, so the above is > just first impressions.. Looks good and extremely rapid progress.. > > Cheers > David > > Sebastien Loisel wrote: > > > David, > > > > Ok, now I've autoconfiscated octave-gui and you should be able to > > build it. If you have QT4.1 problems though, you're going to have to > > sort those out... :-/ Over here, everything compiles and the > > mainwindow comes up so it's now at the same state as it was > > pre-autoconfiscation (octave still doesn't init right.) > > > > The tarball is here: > > http://www.math.mcgill.ca/loisel/octave-gui-beta.tar.gz > > > > I strongly advise everyone but David to stay away from this. > > > > Building is standard, but it's in maintainer mode. Here's what I do. > > > > 1) Fire up an appropriate shell. I've got "shell.bat" and > > "shell-x64.bat" (for Windows XP x64) in that directory for that > > purpose. It's basically the setup from your octave.bat, then it starts > > sh.exe from mingw. > > > > 2) cd to the octave-gui-0.4 directory. > > > > 3) > > $ aclocal > > $ autoconf > > $ automake > > $ ./configure > > $ make > > > > 4) ./octave-gui > > > > After a 5 second pause (or so), a window will pop up. > > > > I haven't tested, but I don't think stdout/stderr work. So if you're > > going to debug, you have to use some other way. To help you out, I've > > declared the following global variable: > > > > string david_output; > > > > If you stick anything in there, it'll appear in the mainwindow when > > the mainwindow first appears. Otherwise I think you can open files and > > stuff. Right now, as an example, it prints the return code of > > octave_main, which is 1. > > > > Cheers, > > > > Sebastien Loisel > > > > > -- > David Bateman David dot Bateman at motorola dot com > Motorola Labs - Paris +33 1 69 35 48 04 (Ph) > Parc Les Algorithmes, Commune de St Aubin +33 6 72 01 06 33 (Mob) > 91193 Gif-Sur-Yvette FRANCE +33 1 69 35 77 01 (Fax) > > The information contained in this communication has been classified as: > > [x] General Business Information > [ ] Motorola Internal Use Only > [ ] Motorola Confidential Proprietary > > ------=_Part_4273_25452302.1140100772142 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I'll look at all of that, but before I do, there's something I want to try. I mean, obviously the priority right now is to get it working, then I can try to get it working well.

I think the main thing I forgot to do is to just try to get the embed example to work in MinGW. And once that works, to try to get it to work in MinGW in a dummy QT window. (Unlike X11 programming, opening a dummy window with text in QT is like 5 lines of code. I once wrote an X11 program called Zut!, whose purpose is to dump the pixels it receives on stdin to a window. That was thousands of lines of code.)

I'll let you know what happens.

Cheers,

Sebastien Loisel

On 2/16/06, David Bateman <David dot Bateman@motorola dot com> wrote: Sebastien,

Ok, I took a really quick look at this.

* Firstly = have you tried starting octave-gui.exe in an rxvt?  The outputyou are trying to capture is echoed in the rxvt terminal rather than
yo= ur application.
* Commands such as "ls" that use a system call open a cmd.exe= window
briefly when they probably shouldn't. This will happen for many = commands
including most notably "help" as it makes a system ca= ll to texinfo..
* The readline line completion in octave allows you to start typing the= n
do upper-arrow to get the previous commands that started with the same=
characters.
* You don't appear to be using the octave history file, = this is
important as it allows use of the history between sessions. To address<= br>this and the above point, why not use the function
std::string gnu_re= adline (const std::string&, bool) from src/input.cc in
octave. You m= ight also be able to use other parts of the command_editor
class to get the output right, though you might need to set
command_= editor::terminal_cols correctly. Check liboctave/cmd-edit.h
* You don't = respect the PS1 variable for the prompt in the GUI.

I still haven't = looked at the bug with octave_init yet, so the above is
just first impressions.. Looks good and extremely rapid progress..
<= br>Cheers
David

Sebastien Loisel wrote:

> David,
>= ;
> Ok, now I've autoconfiscated octave-gui and you should be able to
> build it. If you have QT4.1 problems though, you're going to have = to
> sort those out... :-/ Over here, everything compiles and the
= > mainwindow comes up so it's now at the same state as it was
> pr= e-autoconfiscation (octave still doesn't init right.)
>
> The tarball is here:
> http://www.math.mcgill.ca/loisel/oct= ave-gui-beta.tar.gz
>
> I strongly advise everyone but Davi= d to stay away from this.
>
> Building is standard, but it's in maintainer mode. Here's = what I do.
>
> 1) Fire up an appropriate shell. I've got "= shell.bat" and
> "shell-x64.bat" (for Windows XP x64) = in that directory for that
> purpose. It's basically the setup from your octave.bat, then it st= arts
> sh.exe from mingw.
>
> 2) cd to the octave-gui-0.4= directory.
>
> 3)
> $ aclocal
> $ autoconf
> $ automake
> $ ./configure
> $ make
>
> 4) ./o= ctave-gui
>
> After a 5 second pause (or so), a window will pop= up.
>
> I haven't tested, but I don't think stdout/stderr work= . So if you're
> going to debug, you have to use some other way. To help you out, I= 've
> declared the following global variable:
>
> string = david_output;
>
> If you stick anything in there, it'll appear = in the mainwindow when
> the mainwindow first appears. Otherwise I think you can open files= and
> stuff. Right now, as an example, it prints the return code of<= br>> octave_main, which is 1.
>
> Cheers,
>
> Se= bastien Loisel
>


--
David Bateman           &n= bsp;            = ;        David dot Bateman@motorola dot com
Motorola Labs - Paris           &nbs= p;            += 33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin  =   +33 6 72 01 06 33 (Mob)
91193 Gif-Sur-Yvette FRANCE           &nb= sp;      +33 1 69 35 77 01 (Fax)

The information contained in this communication = has been classified as:

[x] General Business Information
[ ] Moto= rola Internal Use Only
[ ] Motorola Confidential Proprietary


------=_Part_4273_25452302.1140100772142--