> > Have I said that I really do not like the dialogs at all?
> > I'd prefere an application completely without dialogs...
>
> I was thinking about this myself. Seriously.
>
> Do you remember my hacking of the lyxserver back in september? I made a
> suggestion at that time that I clean up the controllers code, so that they
> weren't passed an inset*, from which to extract the info they required and,
> on return from the view, to fill it with the desired values. Instead, I
> suggested that these controllers were passed the inset::write(...) string
> and dispatch()ed a modified version of this string with a single, common,
> LFUN identifier. It would then be up to the LyX core to parse this using
> inset::read(...) and 'do the right thing'.
>
> The advantage of this approach is that all dialog functionality could also
> be performed by an intelligent app communicating with the LyX core via the
> lyxserver. You didn't seem to get the thrust of the idea at the time, but
> André did and sort of jumped up and down with excitement ;-)
>
> If we did this, then lyx could quite conceivably become a daemon process
> communicating via the lyxserver with an external process which --- quite
> conceivably --- could be our frontend dialogs with a main() routine.
>
> So, no dialogs in LyX at all ;-)

>From a design standpoint, I think that would be a nice and clean solution.

I always thought that most document-oriented apps (editors, etc) should have a 
"workhorse" backend server with (hopefully) a simple and documented 
interface, and a front end which handles display and user interaction.

Here, "a frontend" would be split between lyx and the frontend, but that's OK, 
I guess. A little more splitting as proposed would not be that bad, methinks.

So, correct me if I'm wrong. There would be
1. lyx -- displays menu and document views, processes keystrokes
2. dialog frontend -- displays the dialogs
3. lyxserver -- works on the model (lyx document)

Cheers, Kuba Ober

Reply via email to