[IPython-dev] Rethinking the gui (and qt ui)

Barry Wark barrywark@gmail....
Wed Nov 5 12:08:56 CST 2008


Ville,

This is the exact approach that I've taken with the
frontend.asyncfrontendbase and the Cocoa frontend I'm developing.
asyncfrontendbase takes entire blocks and callsback into the frontend
when results/failures are available. My vision for this is that the UI
will be more similar to Mathematica's notebook UI.

Right now, I'm writing a Cocoa frontend using native widgets to
display the blocks/results -- much as you seem to be suggesting. The
other possibility is to use HTML and DOM manipulation to achieve the
same UI. The advantage of this approach is that any UI kit with a
browser widget (both Qt and Cocoa now support WebKit, for example)
would have a "native" frontend. The downside is that the text editing
"widgets" within a WebKit view may be more limited than those
available natively from scintilla or Cocoa's NSTextView. Ultimately, I
think the HTML/DOM approach will provide the maximum benefit for the
maximal number of users but I have very little experience with HTML &
DOM programming, so I've been wary of diving in.

We should discuss this together since it sounds like we can benefit
from each other's work greatly. I'm happy to walk through the frontend
module with you, at your convenience.

barry

On Wed, Nov 5, 2008 at 9:47 AM, Ville M. Vainio <vivainio@gmail.com> wrote:
> On Wed, Nov 5, 2008 at 7:22 PM, Ville M. Vainio <vivainio@gmail.com> wrote:
>
>> At some point, we may even play with the idea of "ipython lite"
>> branch, where terminal/readline/autoindent/partial statement
>> complexity is factored away (but which requires a gui).
>
> Interestingly, this allows trivial frontend / backend separtion:
> command blocks go to core (some of which are "invisible", e.g.
> completion requests), stream of text (that is converted to html and
> shown in frontend output area) comes back.
>
> It may even be possible to connect to a server running ipython via
> plain ssh - that is, we connect to server via ssh (initiated by
> frontend, using an ssh lib), launch ipython in "backend" mode (I'm not
> yet sure whether it needs to be a separate mode) on the server, and
> interact away.
>
> --
> Ville M. Vainio
> http://tinyurl.com/vainio
> _______________________________________________
> IPython-dev mailing list
> IPython-dev@scipy.org
> http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev
>


More information about the IPython-dev mailing list