Hello.
I am not familiar with LyX sources, (I'm barely familiar with LyX
itself)
but last night I peeked around,
and noticed that LyX uses layout files for commands and enviroment (and
command-enviroment such as a list),
but insets are hardcoded.
I think that if everything would be in layout files it would ease
development.
(except for hardcoded things like TOC which will have a special tag that
calls a specific function)
Basicly there would be several types:
Float: Floats, footnotes, margin notes, comments, long stuff.
Writable Buttons (button with entry in it): Labels, refs, very short
stuff.
Normal buttons: "\ldots", "\thepage", "\bigskip", many more.
Special insets that have rules, like "\appendix" (can be only once),
"\mainmatter", etc.
Also,
I think the optional field of command (\command[optional]),
can be set also, for "\section[tocname]{realname}" and lists that want
to use a different bullet type.
(like checklists should use "V" instead of default, etc).
This also should be done inside a .layout file.
I think that moving all functionality into a ".layout" type of files
will allow more flexibility in the future,
and it will be much easier to add new things.
This can also be the case for per-document settings.
A file containing many special cases and their latex commands (ie:
DraftCopy = "\usepackage[sideoptions]{draftcopy}).
The cases will be checkboxes and inputs on the "document layout" page.
Again - this can make LyX very flexible in the future.
Tell me what you think.
(maybe it's very stupid and you've discussed it before,
but again, I think it can add a lot)
Cheers,
Yoni.
--
The day Microsoft makes something that doesn't suck,
is probably the day they start making vacuum cleaner software...
(I was pointed out that Microsoft hardware usualy works)