LWN.net Logo

LWN.net Weekly Edition for September 9, 2004

The X.org 6.8 release

For a project which did not exist one year ago, X.Org has come a long way. In early 2004, X.Org became the landing place for the bulk of the X Window System development community after XFree86 imploded over longstanding disagreements and an abrupt licensing change. The X.Org version of the X Window System is now shipped by most major distributors, while XFree86 sinks into relative obscurity. More importantly, X.Org has become the focus for a reinvigorated and excited development team which is bringing new life to a long neglected - but crucial - piece of free software infrastructure.

The X11R6.8 release (not formally announced as of this writing, but due any time now) will be, for most users, the first look at what is happening in X.Org; it is the first X.Org release with significant new functionality. While much of the new code in 6.8 is not yet ready for truly widespread use, this release should still result in more attractive and more functional desktops for Linux users.

The 6.8 release does not, yet, incorporate one of the project's major goals: splitting the release into a modular distribution made up of several packages. An X release is a big thing, consisting of the X server, fonts, libraries, applications, and more. Someday it will be possible to get an upgraded server without pulling down all the rest, but not quite yet.

A great deal of software has been updated in this release. There are new versions of FreeType2, Xprint, Mesa, DRI, and lots of driver updates. The core of this release, however, is in the addition of four new protocol extensions. The X11 protocol was, from the beginning, designed to incorporate extensions and evolve over time. X.Org 6.8 has made use of this extensibility to add a number of new features:

  • The XFixes extension is really just a collection of protocol cleanups; it was designed to avoid the need for any driver changes. The changes are relatively boring to those who do not program X clients: notification events for selection changes, cursor image tracking, the promotion of Region objects to first-class status, etc.

  • XDamage is a new mechanism for informing clients when parts of a window have been modified. This mechanism is more flexible than the old "expose events" mechanism, and it allows clients other than the owner of a window to monitor for changes. Unlike exposures, "damage" can be reported as a result of almost any sort of drawing operation.

  • The Composite extension allows a client to reroute the rendering of a window hierarchy into off-screen storage. That client then takes responsibility for arranging for those windows to be rendered on-screen, possibly transforming them in the process. This extension enables a separate "compositing manager" process to add drop shadows, window translucency, and other interesting visual effects.

    This extension is turned off by default in the 6.8 release, for two reasons. The first is that the performance of desktops using compositing tends to be poor when using drivers which do not support compositing in the Render extension. Composite is also likely to see incompatible protocol changes before it stabilizes. The main reason for releasing Composite at this time is to make it possible for application developers to start playing with it and see how well it works for the larger development community.

  • The final new extension is the X Event Interception Extension (XEvIE). Like Composite, XEvIE allows another client to interpose itself between the user and the application; XEvIE works on the input side however. A client using XEvIE can request that all keyboard and mouse events be sent to it; that client can then modify these events, if need be, before passing them on to the application. The immediate use for this extension is accessibility applications - screen magnifiers are a common example - which need to take actions in response to user events. Future uses include handwriting recognition and projects like Looking Glass and Croquet.

    XEvIE, too, is off by default, and will almost certainly change in future X releases.

Some screenshots from the 6.8 release are available.

Where to from here? The next major X.Org release is likely to be called X11R7, and, with luck, it will be a modular release. There will probably be significant changes to Composite and XEvIE in response to current, known problems and feedback received from wider testing. The input subsystem is due for a rework to make it properly responsive to hotplug events, among other things.

What actually goes into the next X.Org release will depend on what actually gets done between now and then. Predicting future free software releases is always a risky proposition. What is clear, however, is that the fun has returned to X development, and we will be seeing interesting things on our desktops in the coming years.

Comments (23 posted)

A look at Scribus 1.2

September 8, 2004

This article was contributed by Joe 'Zonker' Brockmeier.

With the release of Scribus 1.2, we thought we would take it for a test-drive and see whether Scribus was up to the task of professional desktop publishing (DTP). This writer used QuarkXPress fairly heavily a number of years ago and missed QuarkXPress quite a bit after moving to Linux. It took a while, but Scribus has finally matured into a suitable replacement.

The first thing any user will notice, of course, is the interface. Anyone familiar with popular DTP programs like QuarkXPress should be able to pick up Scribus in no time. Scribus also offers a few features that weren't available natively in QuarkXPress years ago -- such as PDF and SVG export, CYMK preview and the ability to edit lines as bezier curves, to name just a few.

One feature that is particularly nice for repetitive publishing tasks is the ability to create paragraph styles to apply frequently used styles to a [Scribus screenshot] block of text. With one click of a button, the user can set the typeface (font), size, alignment, color and much more for a block of text.

The ability to easily create tables is also a welcome addition. Rather than needing to group together multiple text boxes, a user can create a table in two easy steps. It's also possible to easily ungroup a table, if it becomes desirable to create separate objects out of the table's columns and/or rows.

Scribus's "Story Editor" is also a handy tool that makes it much easier to edit and format text inside Scribus. It also makes it easy to save a document's text as a separate document. Combined with the paragraph styles feature, it's very easy to mark up a document for publication from plain text. The only tool that seemed awkward is Scribus' tool to to link text frames so that text will "flow" from one text box to another, something that's pretty easy to do in a program like QuarkXPress.

Only one thing comes to mind that may hinder adoption of Scribus, aside from the lack of a huge advertising budget to compete with Adobe or Quark, is that one cannot import from a QuarkXPress or InDesign file. There's good reason for this, as documented in the Scribus FAQ, but it may prove to be an issue for companies with a number of documents in proprietary DTP formats.

However, Scribus does offer the ability to import SVG, Encapsulated PostScript (EPS) and PostScript files. Scribus also allows the user to export documents in SVG, EPS, PDF, or as one of several image formats. Scribus' SVG import features are quite excellent, allowing users to import an SVG file and use it whole or to ungroup the object and manipulate the component parts of the object. Unfortunately, my system's version of gs was not quite up-to-date, so importing EPS and PS files failed. This is in no way a flaw on Scribus' part -- just the fact that it requires a later version of gs than is installed on my desktop.

Scribus is capable of creating some fairly complex documents, but it's also easy to use to create simple documents as well. It's suitable for creating a family newsletter, or for creating a complex document for distribution as a PDF or to be printed professionally. Users who lack a background in DTP applications will find the beginner's tutorial quite useful.

Comments (12 posted)

Page editor: Jonathan Corbet

Inside this week's LWN.net Weekly Edition

  • Security: Disclosure or secrecy?; New vulnerabilities in cdrecord, apache2, lha, xv, ...
  • Kernel: Figuring out kernel event reporting; NETIF_F_LLTX; Kswapd and high-order allocations.
  • Distributions: SUSE LINUX Enterprise Server 9;
  • Development: Metisse: An Experiment in Three Dimensional Thinking, new versions of libannodex, mnoGoSearch, Xaraya, GParted, qjackctl, Crystal Space, GIMP, Gossip, GanttProject, Blam, gnubiff, SBCL, GGV, valgrind.
  • Press: Open-source adoption in California, vendor lock-in and Linux, Vendors predicted to offer products for muliple distributions, aKademy coverage, RIAA lobbyist interview, Perens interview, Open Source Wall Street.
  • Announcements: Novell joins China Linux Standards Group, Unisys joins Red Hat's partner community, How to Write Shared Libraries, Plone Conf 2004.
Next page: Security>>

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds