This is a tasklist/todo list for the post 1.2 versions. Note that the list is badly incomplete, this is just a few of the things the LyX team are considering. The LyX bug tracker also has some feature requests and bugs. There's lots to do :)
Items will be removed from this file when they are finished.
There are four major tasks to be done:
So that it will be easier to expand for new and unknown future features. The main problems with the current structure is that is intended to be viewed by only one window at the time. It also uses characters as the smallest unit, it would probably be better to use something a bit bigger.
The LyXText class does not necessarily need to change a lot, it could be per-view. However all the special code in it needs to be (re)moved. Also a lot of the functionality needs to be relocated.
Make it reflect the buffer structure a bit better, get rid of unneeded blank lines and spaces. This can possibly be done as part of a move to an XML-like file format.
Enable embedding of all the various parts in the LyX file format, specifically make it so that the LyX file can include all images bibtex entries, included documents and any definition needed to use this file on any other computer. This will not include the LaTeX parts proper, as this are expected to be standardized.
Support a scripting language to control various parts of LyX, this requires deciding on an official scripting language. The idea is for non-core parts of LyX to be moved to the scripting language and thus simplifying extension and customization.
Things to place in scripts:
In addition to these there are a lot of small tasks that should be performed, that has no direct bearing on features, but are more geared towards code quality:
should make it easier to move to threads later.
In particular there is one global variable that we really need to get rid of: current_view
Remember that the better we document LyX internals the easier is it for new developers to begin working on LyX. Also by using standard features of the C++ STL, the code will be a lot clearer, we will not need that much comments.
Some other things related to structure and services in the code:
Also a lot of new features are thought of, only some of these are likely to make it into the next versions:
Will make a lot of small things conceptual instead of specific. Will be alot easier to change the presentation of a filename f.ex. This is actually very important, because this is where the user cannot be conceptual in the current version.
We should perhaps try to make the interface a bit emacs like, that should at least give us the features we want.
Especially the support for some of the main bibtex supplied styles are needed. (harvard natbib...) A complete support for natbib should perhaps be enough.
T1-lib font renderer.
This means reading LaTeX books to get an better idea on how things are done in the latex world.
This can make a latex document selfcontained, all the needed graphics can be in the document.
I am sure others has a list as long as mine...
We should also do some work to enhance the support we already have for some packages, I think these are the packages supported by 1.1.x:
(I am sure I have forgot some, please fill me in.)
Wild thoughts:
Things that we are not going to do after all!
After (surprisingly little) discussion it was decided to postpone this. Perhaps forever.
If you have other wishes for features, or comments, please let us know.
dante e.V. the German TeX User Group, sponsored the 7th International LyX Developers Meeting. Thanks to ANSOL for kindly hosting the meeting.
Page last updated on 2005-09-19 (year-month-day).