[Top][All Lists]

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

Re: [Texmacs-dev] Cocoa backend

From: Massimiliano Gubinelli
Subject: Re: [Texmacs-dev] Cocoa backend
Date: Sat, 16 Dec 2006 22:13:15 +0100

 thank you all for the comments.

Writing the backend is for me a way to learn TeXmacs internals. On the long run I would like to have an interface as much as possible integrated in the Mac environment (there is no point in having payed for a Mac and have to run programs made for linux/windows :-)).
I plan to proceed as follows:
1) finish the backend as much as reasonable (something is not perfect like the menu popups and balloons). 2) pondering about a more stuctured UI interface (independent from the backend). I would like to have a proper interface for menus, open/ save panels, button bars, status bar, etc... Currently some of these stuff are directly handled by TeXmacs code (and if I understand correctly even by Scheme code). There should be an abstract interface to the menus and to the other UI elements: command/status line, button bars, scrolling... A better layering would be useful also to introduce other widget libraries like Qt, etc... 3) eventually modify the interface to be more Mac like (standard menus, less cluttered main window, no more too many buttons...)

The second step can have a wider interest (i.e. not exclusive to Mac implementation).

I'm also curious to profile TeXmacs code using the very good tools available on MacOSX (Shark) to see if there is room for speed improvements.

I would like to underline that NextStep/OpenStep API (on which my port relies) is already multiplatform: runs on MacOSX (where it is a subset of Cocoa), on Linux and on Windows (the GNUstep libraries which on Linux run on top of X11 ) see www.gnustep.org. So it seems to me a reasonable candidate for a common widget set but of course this is not the reason I started the port.


On 16 Dec 2006, at 15:22, Henri Lesourd wrote:

Martin Costabel wrote:

Henri Lesourd wrote:

like : "implementing a lightweight X11 compatibility layer
on top of Cocoa, in such a way that (ultimately), one can
compile X11 code on the Mac without modification.

Such a compatibility layer already exists. It comes with Mac OSX and it is called, well, "X11"

Yes, but it is not the same. As far as I understand (correct me if I'm
wrong, here), Cocoa is a **native** library, it is not implemented
on top of X11.

This important point being established (and if I'm right on this topic),
it follows that a big part of the job of implementing a **native** Mac
version of TeXmacs (i.e., independent from X11) will include, whatever
the way you do it, the need for reimplementing the part of the X11 API
that is used by the non-native version of TeXmacs. Once we are here,
is should be easy to see that it could be interesting to expose this reimplementation as an independent, **lightweight** library which provides a (currently)
partial compatibility with X11.

Apart from the latter, which is rather trivial and can be done already with the current X11-based texmacs, this requires, as Massimiliano explains, rewriting substantial parts of TeXmacs.

This is precisely my point : rewriting substantial parts of TeXmacs is better done if you take care of choosing the right interface, and of cutting the software
into the right (as reuseable as possible) components.

And there is no way around the fact that you need - even if you used a compromise such as Qt4 or gtk - for this task someone who knows intimately both TeXmacs and the Mac GUI.

I agree with this.

Best, Henri

Texmacs-dev mailing list

reply via email to

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