mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
major cleanup of this totally outdated file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14452 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
e5b9d30a71
commit
4d924e4345
@ -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
|
||||
@ -16,32 +13,14 @@ there are three major tasks to be done:
|
||||
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.
|
||||
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
|
||||
@ -49,19 +28,18 @@ towards code quality:
|
||||
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,44 +47,42 @@ 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
|
||||
- ensure that no non-compatible commands are running at
|
||||
the same time.
|
||||
- to setup file descriptors where communicating with
|
||||
- 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
|
||||
- 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
|
||||
@ -120,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.
|
||||
|
||||
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.
|
||||
@ -176,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
|
||||
(--, ---)
|
||||
@ -203,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
|
||||
@ -220,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.)
|
||||
|
||||
@ -244,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
|
||||
|
Loading…
Reference in New Issue
Block a user