Xmaxima communicating with



As part of a project for my education I need to find out how Xmaxima communicates with Maxima - I have a long way to go and shall have to ask some questions that may be basic - grateful either for direct help here or for tips on specialised mailing lists or tutorials for that kind of questions.

When downloading Maxima from SourceForge Xmaxima comes with it.  In C:\Program Files\Maxima\bin I find an xmaxima file (437 KB) and an xmaxima Application (2,113 KB).  I assume that the contents of the Application is reflected in the File.  I have tried to study that file and to this end I have worked through some Tcl tutorials.  I can now follow a lot but not everything.  (For example I see a command "object_class MAXTkmasime {...} that I do not understand; I have not found any tutorial covering it.)  I assume that this is, in general lines, how it works:  (1)  By start-up the Xmaxima window (and a lot more) is generated, and then it waits to detect a user-input.  (2)  When a user-input is detected Xmaxima does something with it and then sends it to Maxima for evaluation and waits for a response.  (3)  When the response arrives Xmaxima does something with it and displays it in the Xmaxima window.  (4)  And then Xmaxima waits for the next user-input.

I am now looking for the code that implements this.  I find a large number of "procs" but I am looking for the commands that call these procs, something like a "main" file in Java.  Towards the end of the xmaxima file I find a section "xmaxima-trailer" with commands (proc-calls) such as "setMaxDikr," "cMAXINITBeforeIni," etc.  I a guessing that the commands I am looking for are contained therein, but I have, so far, troubles understanding it all.

Thus, the help I am looking for is this:  (a) Indications of whether I am moving in the right direction so far (or whether my ambitions are too high and I should rather grow vegetables,) (b)  either direct help here (for example someone willing to e-mail with me) or indications of where I should look for help to move forward.