17.5 History and Changes in GNOME 2
Most new software releases add features,
and a major complaint among users is of steadily increasing
complexity, or "feature creep." The
GNOME 2 desktop is distinctive in that, while adding a few features,
it has also removed some features.
|
Many configuration formats have changed between GNOME 1.4 and GNOME
2.0 as applications have moved to using the GConf system. You will
need to reconfigure most, if not all, of your applications when you
upgrade.
|
|
New features include:
Font smoothing (antialiased fonts).
Marked speed increases in the Nautilus
file manager.
Tabbed browsing
(press Ctrl-T to create a new tab) in both Galeon and Mozilla web
browsers.
Internationalization
support, including proper handling of right-to-left languages.
Accessibility tools for people
with visual or mobility impairments.
Control Center more smoothly integrated with the rest of the
system.
Removed features
include:
Edge flipping
(dragging items from one desktop to another) is no longer available;
use keyboard shortcuts or the Workspace Switcher Applet instead.
Detachable menus have been
disabled; you can turn them on with the gconf-editor tool.
It is no longer possible to choose window
placement algorithms. Some versions of GNOME ship without window
focus options and leave them only as gconf keys.
GNOME 1.x made a distinction between two
types of virtual desktops. Workspaces assumed
the creation of multiple distinct desktops, whereas
viewports assumed that you were creating a
single, large desktop and displaying only a portion of it. Few people
ever fully understood the distinction, and it has been removed from
Metacity and the Workspace Switcher. As a result, windows moved to
the edge of the screen no longer appear in the next workspace over,
and it is not possible to create a three-dimensional array of virtual
desktop areas.
Application
display fonts, themes for window borders and application buttons, and
the virtual filesystem's HTTP proxy have been given
simplified configuration tools that appear in only one place. Several
other Control Center tools have been eliminated, and the term
"capplet" has been removed from the
GNOME vocabulary.
Both menu
configuration tools (gmenu and the menu display options tool) have
been replaced by the ability to edit menus in Nautilus (type the
location "applications:///" into
Nautilus).
Many of the less
important panel options are available only in the gconf-editor,
including panel movement speed, the delay before hiding the panel
when using the automatic hiding option, menu caching, and the option
to display an image on the left side of the GNOME and Programs menus.
There are far fewer panel
applets. Notably, there is only one clock applet rather than five
(nobody admits to thinking five clocks were ever necessary) and there
are only two applets in the
"Amusements" category: eyes that
track the mouse, and the fish that tells your fortune.
The Nautilus file manager also has fewer
options. Notably, speed has been improved to the point that the
Performance Tradeoffs are no longer necessary, the User Levels
feature has been removed, the theme, font, and HTTP proxy settings
have been moved to the Control Center, and the Help display has been
moved to a dedicated help browser called yelp.
Most of these feature removals stem from switching from Sawfish
to the much simpler Metacity window manager. However, all of the
features that ended up being removed had initially sprung from one of
the major pitfalls of any software project, especially open projects
where making an executive decision is harder. When developers
disagree, it is often easier politically to create an option than to
find an acceptable compromise or enforce a
"correct" decision. However, each
preference, option, and feature adds another layer of complexity,
making the software harder to support, debug, and integrate with the
rest of the desktop. The clearest example in GNOME is
window management software. The window manager is important and
complex software: it controls window placement and ordering, controls
event handling and focus, and so forth. Without a window manager,
your desktop would not be functional as you know it. At the same
time, window managers have to be completely unobtrusive, or they
interfere with the use of applications. Most computer users do not
know or care what window managers are, and have certainly never
started a window manager by hand themselves. When GNOME
1.0 was released, it allowed users to select among various window
managers, including twm and
icewm. The majority of users and
distributions used a window manager called Enlightenment, which
quickly grew from being a window manager to being a desktop
environment in its own right. Running GNOME and Enlightenment at once
became increasingly redundant, so for GNOME 1.2 and 1.4, users and
distributors switched to Sawfish, which was small, fast, and highly
configurable. In fact, there were so many combinations
of settings that it was hard to test, and it kept getting larger and
more complex. By the time GNOME 2.0 was on the way, Sawfish was slow,
large, and impossible to maintain. The Sawfish maintainer had
abandoned it, and nobody was willing to continue the project.
The GNOME development team was determined not to repeat the
process. Metacity, the GNOME 2 window manager, is small, fast, and
simple. The GNOME Control Center is designed around the assumption
that most users do not care to pick or know their window manager, and
that developers do not care to bear the burden of code complexity
caused by interacting with multiple window management systems.
It's still possible to switch window managers, and
those who wish to do so can do it by editing their
~/.gnome-session files. The GNOME
2 series of releases (2.0 and 2.2 have been released as of this
writing; 2.4 and 2.6 are planned) aims to choose good defaults rather
than offer limitless options, and considers simplicity and usability
to be as important as adding additional behavior. The desktop is kept
as simple as possible so that it does not distract from the actual
functionality of the applications that are based upon it and that are
its real reason for existence. The applications themselves are not
shying away from new features or new capabilities, but for the most
part share the goals of simplicity and ease of use.
|