]> git.lyx.org Git - lyx.git/blobdiff - development/lyx3/LyX3-Tasks
Add UpdateFlags.h to the build systems.
[lyx.git] / development / lyx3 / LyX3-Tasks
index 9e7ae39690883c5850e855c45c7e82fe0d197574..affe51b2e9b93e30f9de8c8a123d6f0a78092d3f 100644 (file)
@@ -1,12 +1,9 @@
 -*- text -*-
 
-This is a tasklist/todo list for the 0.13.x development series. We
-should perhaps name these seies LyX3 as a common name. As I see it
-there are three major tasks to be done:
+This is a task list/todo list for future LyX releases. There is 
+one (?) major task left to be done:
 
        o Buffer structure rewrite
-               So that it will be easier to expand for
-               new and unknow 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
@@ -14,54 +11,35 @@ there are three major tasks to be done:
                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 
+               code in it needs to be (re)moved. Also a lot of the
                functionality needs to be relocated.
-       o GUI independence.
-               Should be a compile time switch what gui (toolkit)
-               you wish to use. We are going to support Xforms first,
-               and I am sure that GTK and Qt will follow soon. I also
-               plan to do support for Fl (even a text only toolkit
-               should be possible. ncurses perhaps. Even the
-               lyxserver could be a special case of this: a view with
-               no view being able to coexist with other views or alone)
-               We will do this by providing an interface all the
-               toolkits will need to follow. Functions that the LyX
-               core will expect to be there. 
 
-When these three is finished, we will probably declare a code freeze
-and try to release a new version. Hopefully other features has also
-been added, and none removed.
-
-
-====================
-
-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:
+In addition, there are a lot of small tasks that should be performed
+that have no direct bearing on features, but are more geared towards 
+code quality:
 
        o always try to use POSIX commands.
        o switch to use POSIX signals
-       o make as much as possible of the code reentreanant(?)
+       o make as much as possible of the code reentrant(?)
                should make it easier to move to threads later. Albeit
                this is not a huge goal we have some parts of the code
                that would benefit from threads. (forking is not that
-               nice...) 
+               nice...)
        o signal slot mechanism
                We are going to use the signal/slot implementation
                found in libsigc++. This will hopefully give us better
-               interface, leaner code, typesafe "callbacks". I have
+               interface, leaner code, type-safe "callbacks". I have
                been using signal/slots for other projects and it works
                like a charm.
        o other code rewrites to make multiple buffers/windows
          possible, without too much hassle.
                - get rid of most of the global variables. In
-                 perticular current_view is a problem.
-               - non shared variables in shared structures 
+                 particular current_view is a problem.
+               - non-shared variables in shared structures
        o make source documentation better. Remember that the better
-         we document LyX internals the easier is it for new
+         we document LyX internals, the easier is it for new
          developers to begin working on LyX.
 
-
 Some other things related to structure and services in the code:
        o class FileInfo does way too much, move the unneeded parts to
          a super class or friends.
@@ -69,53 +47,48 @@ Some other things related to structure and services in the code:
          commands.
                - ensure that not too many commands are executed at
                  the same time.
-               - ensure that non-compatible commands are running at
-                 the same time. 
-               - to setup file descriptors where communicating with
+               - ensure that no non-compatible commands are running at
+                 the same time.
+               - setup file descriptors where communicating with
                  the processes can take place.
-       o pass an inforeceiver around in the object structure.
+       o pass an info receiver around in the object structure.
          (this instead of passing minibuffers, and lyxerrors.)
 
 ================
 
-Also a lot of new features are thought of, only some of these are likely
-to make it into 0.14:
+Also a lot of new features are thought of:
 
-       o rewrite of table code. Should probably be written as some
-         kind of an inset. At least get the code out of the kernel.
-               - colortbl  -multirow
-               - hhline    -multicolumn
-               - dcolumn
-       o index support (and multiple indeces support)
+       o rewrite of table code. 
+               - colortbl  - multirow
+               - hhline    - dcolumn
+       o index support (and multiple indices support)
                - multind ?
        o tocs for each section
                - minitoc
-       o multiple table of contentes
+       o multiple table of contents
                - multitoc
        o trivlist?
        o better version control (both document and file wise)
                - version.sty
                - cvs
-               - sccs 
-       o I am sure mathed improvements. (Alejandro's department)
-               - better macro support
-               - better amsmath support
+               - svn
+               - sccs
        o character styles (similar to emph and noun)
                Will make a lot of small things conceptual instead of
-               specific. Will be alot easier to change the
+               specific. Will be a lot easier to change the
                presentation of a filename f.ex. This is actually very
                important, because this is where the user can't be
                conceptual in the current version.
        o macro support. Similar to the math-macro support, but
          usable in regular text too.
-       o support for abbrevations (static macros)
-       o add a incremental search function.
+       o support for abbreviations (static macros)
+       o add an incremental search function.
        o change the "Find and Replace" to Query Replace.
        o better/more search functions:
                - replace & find next
                - replace & find previous
                We should perhaps try to make the interface a bit
-               emacs like, that should at least give us the 
+               emacs like, that should at least give us the
                features we want.
        o improved template support.
        o collapse "New" and "New from Template" into one item.
@@ -123,46 +96,23 @@ to make it into 0.14:
          the right thing when encountering them.
        o We should look at all the LyX specific paragraph styles and
          check carefully that we really need them. We should also try
-         to collapse some of them into singel items (i.e. chapter and
+         to collapse some of them into single items (i.e. chapter and
          chapter*)
        o the "LyX-Code" environment should be removed. Add a verbatim
          environment instead.
        o tabbing support
-                This would be a special inset that is line based (no
+                This would be a special inset that is line-based (no
          breaking of lines), where tabstops can be set and used.
-
        o picture support
                 A special insets with some basic drawing
-                capabilities. 
-
-       o better graphics support
-                I have begun doing something about this. There are
-         several things here that need to be dont. We have alreay
-         decided to use graphicx.sty instead of graphics.sty. This
-         makes several things easier. There is also some work in
-         progress to separate the inset and the creation of the Xpm
-         (Ximages) completely. I imagin this as the InsetGraphics
-         asking a GraphicsCache for a graphics with certain
-         parameters set and get a handle to the finished
-         transformation of the graphics. Hopefully this should make
-         it quite easy for LyX to support several/many graphics
-         formats, both on screen and on hard copy. 
-
+                capabilities.
        o rotating and scaling of text
        o PSTricks (we should be able to support some of this package)
        o better reference support
                - varioref
-       o better citation support
-               Especially the support for some of the main
-               bibtex supplied styles are needed. (harvard natbib...)
-               A complete support for natbib should perhaps be enough.
-       o improved spellchecker
-               - an ispell class should be made, this should
-                 take care of communicating with the ispell
-                 process.
        o online configuration
                So that users should not need to edit lyxrc
-               manualy. This has now been "half" done; it is now
+               manually. This has now been "half" done; it is now
                possible to save the current configuration with the
                lyx command "preferences-save". We need to add code so
                that the preferences can be set from inside LyX too.
@@ -170,7 +120,7 @@ to make it into 0.14:
                T1-lib font renderer.
        o better latex code quality
                This means reading LaTeX books to get an better idea
-               on how things are done in the latex world. 
+               on how things are done in the latex world.
        o perhaps find better names for the paragraph styles
          "paragraph" and "subparagraph"
        o support for filecontents
@@ -179,23 +129,14 @@ to make it into 0.14:
        o support for optional args to latex commands
                - For sectioning commands I have an idea on how we can
                  do this: have a popup on RMB to set properties.
-       o pdf support
-               pdftex
-       o hyperlink support
-               - url.sty (or better packages)
-               - hyperref.sty
        o references to external documents
                - xr.sty
-       o better babel support
-               - make it possible to tune the language strings
-               - the possibility for several languages in the same
-                 document. 
        o title page support
        o draft copy
                - draftcopy.sty
        o better float support (allow user to make its own floats)
        o support newtheorem (allow user to make its own thorem like envirs)
-       o a bit more wysiwyg where it is appropiate.
+       o a bit more wysiwyg where it is appropriate.
                - show bullets the way they will be on paper
                - show a few more characters as they will be on paper
                  (--, ---)
@@ -206,13 +147,13 @@ to make it into 0.14:
        o remove support for XResources, with multiple toolkits it
          will be impossible to manage. And they are not very needed
          either.
-       o the possebility to collapse parts of the document.
+       o the possibility to collapse parts of the document.
          (i.e. collapse the contents of a section. Would make moving
           parts of the document around very easy)
        o better LyXServer support
                - perhaps use UNIX sockets instead of pipes
                - make a decent protocol with return codes.
-               - make it indepentent of the GUI
+               - make it independent of the GUI
                - prob: concurrency (locks)
        o other packages to support:
                - listings.sty
@@ -223,21 +164,20 @@ to make it into 0.14:
                - indentfirst.sty
                - lscape.sty
 
-I am sure others has a list as long as mine...
+I am sure others have 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 0.12:
+some packages, I think these packages are already supported:
        - longtable     - color (papercolor boxes?)
        - setspace (should support setting spacing on individual paragraphs)
        - psnffs packages
        - geometry      - makeidx
        - verbatim      - algorithm
        - inputenc      - fancyhdr (we only have _very_ basic support)
-       - fontenc       - a4
-       - graphics      - a4wide
+       - fontenc       - graphics
 
 (I am sure I have forgot some, please fill me in.)
 
@@ -247,8 +187,3 @@ some packages, I think these are the packages supported by 0.12:
 If you have other wishes for features, or comments, please let us know.
 
        Lgb
-
-Interesting links:
-
-http://freshmeat.net/appindex/1999/11/30/943979651.html
-http://freshmeat.net/appindex/1999/12/09/944757708.html