LyX Development News
Unbelievable! Last months issue of LDN broke box office records! 2200 hits in the first 36 hours and almost 6000
just as this issue was published!
We generally get about 3000 hits per month on LDN which is only about one percent of the traffic at the LyX web site.
Who else carried last months LDN?
LinuxToday did. They also
July issue which mentioned Richard Stallman's
suggestion that we switch from XForms to Gtk or something else that's completely free.
Quote of the Month
My name is Kai and I was born the 25.12.2000 at 04:40 in the hospital of
Bozen/Bolzano. Even if I was born over a month to early I'm feeling pretty good and am
happy to be able finally to see the world around me.
Greetings to all of you until maybe we can meet one day personally!
P.S.: To show you how I'm made I'll attach a foto of myself to this mail.
P.P.S.: For lyx-devel sorry about the large attachment but I hope you'll forgive me this time :)
— Kai Vigna
Kai is the son of Jürgen and Susana Vigna. If he's this active already it should only be a short time before we
see his first patch!
Well thanks I did it already (a bit different). One thing I noticed and I would ask you to not do it is remove my ()
around expressions, that is my coding style and I like to see them where they are.
— Jürgen Vigna
Jürgen Vigna writes:
| On 09-Jan-2001 Lars Gullik Bjønnes wrote:
| > I will remove () that has no value when I see them.
| I will add () if I find expressions better to read when I need them.
So that you will be able to parse the above sentence? :-)
| > - two points:
| > - () without meaning kindo shows that the coder does not know the
| > precedence rules
| da da da ...
what is this, the theme from Jaws?
I certainly like your arguments.
— Lars Gullik Bjønnes
Jan 12, 2001
Read the announcement and go get the brand new LyX
RPM packages for Red Hat based distributions, SuSE and PowerPC are all available from Kayvan Sylvan's FTP site.
Some handy hints for upgraders:
Part 1: The late 0.11 to early 0.13 years
I'm trialling a different format for this GUII history. Rather than trying to squeeze links to emails and threads into a story
I'll just summarize each major thread and provide a link to it. Then significant emails within the thread will be pointed out as
subitems in the list of threads.
From late-1997 to mid-1998 a backup developers list was run because of intermittent problems with the public developers list. The
problems got so bad we switched mail archive and setup our own mailing list host. As a result, many of the development conversations
took place on the backup list and weren't archived. I have a few key emails that I've kept in my own archive and will summarise key
points in the history below.
- April 1997 saw some discussion about Qt v1.2 that was sparked by comments from John Weiss.
- The very first reply to John's post was from Shawn T. Amundson drawing our attention
to the new GTK+ toolkit that was a part of the latest GIMP development releases.
- After Asger suggested the toolkit switch discussion was premature the conversation
switched to what the goals were for the up and coming 0.12 release. Jean-Marc provided those
details. LyX-0.11.22 was the current development release.
- A thread called the great widget debate suggested the GIMP toolkit. A short staircase
ensued as KDE and GTK+ traded blows.
- What started out as a suggestion to prepare an article for Linux Journal or Linux
Gazette for the upcoming LyX-0.12 release and celebrated the fact that LyX was appearing on some distributions CDs soon split
into two main threads.
- The first was about finding which toolkit was the best match for LyX and includes
a link to a site comparing all available gui toolkits.
- The second was about LyX's licence and the claim that we were breaking GPL
by using XForms. The license wars are worthy of a history article all of their own.
- Over the years many different folk have posted suggestions for which wonderful new toolkit LyX should switch too. So many in
fact that I've decided not to stop collecting them. One of the first GNOME suggestions
came in September of 1997 and got this response from Asger. At that stage LaTeX-import
was more important than a toolkit switch. LyX-0.11.42 was current and we were trying to focus on the 0.12 release.
- September 1997 also saw the start of one of the longest discussions about the 0.13 series. Unfortunately it all took place on
the backup list. It started when Lars posted his development plans. The threadlets relevant to GUII started with Lars'
recommendation that any toolkit switch should wait for 0.17. While the candidates were narrowed down to just Qt and GTK+
nobody wanted to pick a winner at that stage although the desire to build a clean GUI independent kernel was already taking
shape albeit one with a single toolkit. A low-cost switch to FLTK was also considered as an interim step to avoid the
- The biggest news in March of 1998 was the release of KLyX. It wasn't as well received
as Matthias had hoped it would be. It did however provide the impetus that was needed to get people proposing ways of
- Miguel de Icaza informed everyone, in the only email I can find that he ever sent to the developers list, that
KLyX violated the GPL by linking to Qt.
- Jean-Marc Lasgouttes asked Lars to detail his ideas for user interface independence and another long
discussion followed. Several more threads where this one came from and it's easier if you just follow one of thread links
and go through the archive yourself.
- Many developers lamented the fact that KDE and GNOME apparently weren't prepared to
help us achieve GUII.
- Alejandro made a few points about why GUI independence should be reasonably easy.
- Joachim Persson provided some sound arguements for GUII.
- April 1998 saw Alejandro Aguilar Sierra start a long discussion about steps toward GUII. Menus, toolbars
and dialogs were identified as the three areas easiest to start work on and ideas for abstractions were discussed.
- Jean-Marc suggested reasons for trying to generate the various frontends from common
sources so that the different ports would look the same thereby keeping the documentation relevant to all ports and thus
easier to maintain.
- There was a lot of interest in a TUI (Text User Interface) as well as a headless
LyX for command line conversions.
- Jean-Marc also proposed that toolbar icons should be loaded from disk and be named after
the LyX command that they represent. Thereby allowing users to customise their toolbar icons and to get the icons out of the
- A couple of days later what started as a patch submission to fix DocBook output turned
into a long discussion about when GUII should be started. Many developers had differing
opinions about what the advent of KLyX meant for LyX and whether GUII should be a priority or not. We were still a week or
two away from the 0.12.0pre4 release.
- Many of those differing opinions are all captured in this email that I wrote. I also
outlined a revised plan for 0.13 based on merging LyX and KLyX quickly. You'll also find mention of development cycle times
(including those of the Linux Kernel which was just starting it's 2.3 series around that time) and how I needed to wind back
my LyX involvement to get my PhD finished. Sound familiar? My new deadline is June/July of this year.
- Jean-Marc was hopeful that we'd get volunteers from both KDE and GNOME camps to write
their respective ports in a GUII setting and we'd only have to maintain the XForms port as a "sample implementation".
For the following two years nobody was prepared to volunteer unless it was a single toolkit port or all the GUII work had
been completed. Then John Levon and Marko Vendelin arrived in early 2000 to work with us on the revised GUII scheme. More on that next month.
- Alejandro then began a New Steps discussion and stated he wasn't worried about KLyX but
wanted to establish some plans for removing the dependencies on XForms (or any toolkit) from the core of LyX particularly
with regard to the workarea (or canvas).
- Menu and toolbar containers was the topic of another Alejandro posting. The proposed scheme
would allow the menu and toolbar definitions to be shared across toolkits. Discussion broke into separate strands for
menus and dialogs.
- I think this was my first big idea for dialogs. A hideous collection of preprocessor
directives which was quickly burned to ashes and blown away in the wind. All those words of justification turned to digital
- Undeterred I had a second attempt. This is the first mention I can find or recall of
the still current abstraction of dialogs as needing only show, hide and update methods visible to the LyX core. The
implementation has changed at least three (maybe as many as five) times since then but the abstraction remains solid.
- Lars released 0.13.2 (But where's 0.12? Still in prerelease). Some discussion of
directory structure changes followed and some more concerns about the toolkit switch or GUII option.
- I submitted a proposal for a revised directory structure that only included the
areas I was particularly interested in.
- Alejandro was concerned that GUII was getting more attention than it deserved.
- A revised menu container from Alejandro then sparked some implementation discussions but
was well accepted.
- A trial GUII patch was submitted by me in late April 1998 (yes, April was a very busy
month). The email is detailed (okay, it's long) but it does outline my plan for the dialogs and gives examples of how it all
works. A short discussion ensued.
- Matthias Ettrich asked if anyone was incorporating changes, such as support for
appendices, from KLyX into LyX. This spawned a large and sometimes inflamed discussion mostly about menu support across
platforms and desktops that have differing standards.
- One email from this thread I can't help but include is from John Weiss, former head of the
documentation team and the man responsible for most of the words you read in the documentation.
- Switching buffers makes most open dialog's contents incorrect so some way is needed to
trigger the appropriate updating of visible dialogs. The signals/slots were still new to us and there was some confusion
about how multiple frames (main windows) would be handled. Separate sets of dialogs for each frame was decided upon.
This topic also appeared in a few other threads over the years.
- Alejandro proposed a Painter class for abstracting the drawing on the workarea which
generated a lot of discussion that refined the classes interface.
- Every dialog has got to have Ok, Apply and Cancel buttons. Or do they? And how should
- A radical proposal to disable some of the keys when appropriate and to relabel others is the
forerunner of what exists in GUII XForms dialogs in LyX-1.1.6.
- In July of 1998 my wife, Nicole, died and I pulled out of LyX for a few months. GUII work continued. Particularly on the
Painter class, the menus and the toolbars. You can read more about that in the next issue.
That takes us through about a year and half starting from some of the early toolkit switch discussions to the foundations of the
GUII abstractions in use in LyX-1.1.6.
By the way, there are a lot more threads and subthreads about GUII and toolkit switches in the archive. I've just
tried to provide a general timeline of what happened and how the GUII work evolved. Try searching for keywords like: gui,
independence, toolkit, painter, debate and whatever the name of your favourite toolkit, framework or desktop is.
Update: GUII Debate
The GUII debate from the December issue spawned another debate on
The Demon of Portability. John Levon, who is
movement in the advogato debate, posted details to the developers list. Asger, who in the end was the main protagonist in
the GUII debate, had this to say about the article:
I noticed that the guy on Advogato seemed to think that we did not resolve the issue. I don't know about the rest of you,
but I think we actually did resolve the issue:
- Most developers do not feel it's advantageous to go for one front-end only.
The main reason is that GUII is not much more expensive than one front-end only done in a clean way. The trick is to just separate
the model from the view/controller, and stop there.
I think it is a valuable lesson that is applicable to other projects as well.
— Asger Alstrup Nielsen
Mail Threads: LyX Users
The tips that are here are only some of all those that appeared in the LyX Users Mailing list. If you have a tip that you
think is worth including, please post it to the LyX users' list, with a note, and I will post it in the next edition.
Keep note of Herbert Voß's site, the tips are presented by subject, and the site is updated often with
new tips. Thanks Herbert.
Mailing lists activity
According to the mailing lists archive, 737 messages on LyX developers' list and 419 on LyX users' list,
December was a busy month.
Figure 1 shows the mailing lists traffic around December 2000. Notice the peak in earlier December due to Matthias Ettrich's
message, as reported in the previous LDN. At the other extreme is the Christmas holidays
where traffic was almost nil.
Figure 1: Number of messages of the two mailing lists for December 2000.
The top 10 contributers, in December last year, are:
||Lars Gullik Bjønnes
||Garst R. Reese
||Lars Gullik Bjønnes
The tips will return in the next LDN. I have built tools to ease
the collection of the notes, especially relating them with the mail archive
universal resource locators. The statistics above are one side effect of
the effort to turn the information into a more readble format.
Movie Review: Crouching Tiger, Hidden Dragon
It's a classic. If you're into Kung Fu movies you'll love it. If you want to be spun out by fantastic effects of people running up
walls or across the top of a bamboo forest then this is the movie for you. If you thought "The Emporer and The Assassin" could
have used a lot more action and some laughs this is the movie for you. This isn't Jackie Chan slapstick or early seventies Chop
Socky so if you haven't seen or liked a Chinese Kung Fu movie before, go and see this one.
Beautiful scenery, a very capable cast, excellent fight scenes, fun, humour and a story that keeps you hooked all the way through
to the only disappointment of the movie: the final minute. Don't let 60 seconds put you off a terrific two hour movie though.
If you haven't seen it yet, get to your local cinema. If you've seen it already, go watch it again -- I'm going to.