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)
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
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
Next page: Security>>