GNOME 2.10 Desktop and Development Platform
Heard about the new GNOME 2.10 release but you want to know what is new in it? Sayamindu Dasgupta takes you through a tour of GNOME 2.10 with a fine-toothed comb.
“Releases came out with the regularity that can only result from a high-fiber diet”, wrote Seth Nickell, while describing the new development policy and philosophy that has been implemented in the GNOME world during the course of the 2.x series. And indeed, every year, on March and September, we see a major release of GNOME taking place. During the six month period, there is a very definite release schedule, which is described in detail in the Dotplan.
On the 9th of March, 2005, the GNOME Foundation will be releasing GNOME 2.10, the 6th major stable release in the 2.x series. GNOME 2.10 will be incorporating feature enhancements and bug fixes that have been taking place for the last six months In this article, I will be trying to give a brief idea about the major changes that have taken place since GNOME 2.8. To begin with, we will look at one of the very basic components of GNOME, namely GTK+.
Tweaking The Base for Maximum Results
GTK+ is the multiplatform base library that GNOME developers use to create the graphical user interface, and one of the major improvements in GNOME 2.10 is the introduction of the GTK+ 2.6.x series. Version 2.6 introduces quite a few new widgets (an about dialog, a file chooser button, etc), and the goal is to reduce the usage of the libgnomeui library and move each of the graphical elements to GTK+. From the end users point of view, there have been quite a few nice improvements in the various often used GTK+ widgets. For example, the file chooser now has Mozilla-like type-ahead features (just make sure that the file chooser dialog is in focus and start typing), the tree view (used in the Nautilus list view, and in applications like Rhythmbox) has also received typeahead support, and then the notebook widget (used in most of the preference dialog boxes of GNOME applications) now supports switching tabs by using the scroll-wheel.
However, perhaps the most important change in GTK+ 2.6, is the support for persistent clipboard data, ie, data in the clipboard does not go away as soon as you close the application that you copied the data from. However, to make use of this feature, a clipboard manager following the relevant Freedesktop.org specifications must be running in the background. A sample implementation of such a clipboard manager is available at the following address.
GTK+ 2.6 has also received some significant performance improvements. During the GTK+ 2.6 release cycle, one of the main GTK+ developers, Owen Taylor, noticed that the icon theme was taking up a large chunk of allocated memory, and GTK+ was having to do a large number of system calls to read the data from the icon themes. So GTK+ 2.6 came with a tool called gtk-update-icon-cache” to create a binary index file for each icon theme, which could be used directly in a much more efficient manner.
However, the really major performance related changes in GTK+ will come with GTK+ 2.8 (to be included in GNOME 2.12). GTK 2.8 is slated to use Cairo for all the rendering and drawing related stuff, and with Cairo we will have the option of using hardware accelerated OpenGL for the rendering (using the Glitz backend). Of recent, some people have also started looking into ways and methods of reducing the memory usage of GTK+, and hopefully the results of their work will be incorporated into the next major release of the toolkit.
Menu Becomes Saner
The first change that any “normal” user is going to notice about GNOME 2.10 is the new menu structure. Previous GNOME releases used to use two top-level menus, one called Applications, and the other called Actions. GNOME 2.10 sports a brand new menu scheme, with three top-level menu structures (all accessible from the panel) entitled Applications, Places and Desktop. Application” lists all the GNOME applications along with an option called Run Application… which lets you specify the exact the command to run. Places has links to the user’s home folder, the desktop, bookmarks (made in the file chooser), all removable devices (which are mounted), network servers, and the recently used files list. Places also lets you search for files and connect to remote servers. The Desktop menu consists of submenus for desktop configuration and entries for logging off, locking the screen, etc. This menu also consists of a Administration submenu, which lists all the applications from the GNOME-System-Tools package.
GNOME-System-Tools – Enhancements All Over
The GNOME-System-Tools package has received a new component now caled the Shared Folders tool. This tool lets you share your folders using Samba or NFS. It also lets you set various permissions like read/write, browse support (whether the shared folder will be browseable or not), etc. However, the tool requires that you have the root password (which, I guess, is OK for a large percentage of the home desktop users), and I really expected to see some file/folder sharing feature in GNOME 2.10 which takes the advantage of the existing Rendezvous/Zeroconf support framework in GNOME-VFS. Hopefully this functionality will be present in GNOME 2.12.
Another new feature of the GNOME-System-Tools that I really liked is the group system. Instead of listing an user’s groups like cdrom, audio, floppy, etc, the program lets you specify the groups as user privileges, ie, Access to CD-ROM drives, Monitor system logs, etc. This is indeed a very cool idea.
Another thing, which to my pleasant surprise, that “just worked” in GNOME-System-Tools is my Intel IPW2100 wireless card. As soon as I started the network-admin tool, there was an entry for my wireless card, marked “Not Configured”. I clicked on Properties, and here’s what I got.
Nautilus – Minor Tweaks that are Effective
Nautilus, the file manager of GNOME, has seen almost no major user visible changes during this development cycle. Ctrl-L on the desktop now pops up a location entry window, which can be very handy at times when you need to get to a path very quickly.
However, the most significant improvement to Nautilus (at least in my opinion) is the new application list which pops up when you right click on a file and then click on “Open With”. Previously, the dialog was just a text entry widget (for typing in the command), which dumped you in _/usr/bin_ when you clicked on Browse. Now, however, a nice looking list of installed GNOME applications pops up, and you can simply double-click on an application to associate that application with the file-type in question. Of course, you also have the option to specify custom commands by typing them in.
The path button in the lower left corner of the spatial window also appears to be more prominent (at least compared to earlier versions). This helps to ensure that the user knows that this is a button that can be clicked on. Also, the icons for the entries in the Places seem to appear properly in this release – the behaviour was quite unpredictable in the previous releases (or it might have been a problem with my Gentoo Linux system).
GNOME Applets – Some Serious Love Applied
The GNOME applets (applets are small programs which you can embed in your GNOME panels) have undergone some major changes. The applets now support transparency, ie, when you set your panel to transparent, the applets will not have any ugly solid colour backgrounds jutting out over the general panel’s transparency.
There are two new applets – the CPU frequency scaling applet, and a Trash applet. The CPU frequency scaling applet shows the speed that your CPU is currently running at which could be quite useful for people that have systems (usually laptops) with some kind of CPU frequency scaling technology (like Speedstep-enabled one) enabled. Ubuntu users will be familiar with the Trash applet – it is simply a location on the panel where you can drag and drop the files you want to delete. A large number of applets have also been significantly rewritten. For example, the volume control applet is now much improved, and the mixer program shows only the sane options offered by the ALSA (or OSS). (Though I still don’t know what PCM means)
The old (and very confusing) drivemount applet has been overhauled as well, and it now uses HAL and DBUS to get a list of the removable devices. It is now another piece of the GNOME desktop that “just works”.
The weather applet has a new location list (and a new METAR parsing system). It can differentiate between day and night, and supports cool stuff such as animated radar images, etc.
The keyboard layout indicator applet now has a saner layout chooser in the keyboard preferences dialog, but the layout image (which shows a image of the physical keyboard layout) is still too small! For the sake of accessibility, this truly needs to be made bigger for GNOME 2.12.
The sticky notes applet now supports RTL, so hopefully users will be able to write notes using Arabic or Hebrew scripts.
Metacity – Designed to be Effective, and Invisible
Another application that almost every GNOME user uses everyday is the Metacity window manager. Though Metacity is not a user visible part of the desktop (in fact, it is designed specifically to be unobtrusive, it plays a very important role in the GNOME desktop. The only visible change to Metacity in this release cycle is the addition of a “Always on Visible Workspace” option to the window titlebar menu. There has also been some additions and optimizations to the built-in compositing manager, though it is still not built by default. This news should be of interest to users looking forward towards some really fancy eye candy on the GNOME Desktop.
GNOME-VFS – Time to Samba…
Browsing of Samba shares in GNOME have been an issue of user discontent for the past few releases. Most of the issues have had something to do with the authentication subsystem. GNOME 2.10 supports a new mechanism for handling SMB authentication which should hopefully fix most of these problems. However, according to the release notes, users will first have to patch Samba to avoid problems while logging in as users on shares that allow anonymous login. The new mechanism uses the same password on all shares in a single server, that is, no more annoying pop-ups asking for the password as soon as you try to change a share. However, I do not have a Samba server setup on my network, so I could not actually test the new system – I’ll leave that task to you the reader to do the actual testing and come up with a verdict. Let me know what you find.
The HAL support in GNOME-VFS has been also improved significantly, and CDROMs come up on the desktop with sane names and icons.
Gedit – Beckoning the Programmer
One of my most frequently used applications in GNOME is the text editor Gedit. Gedit now supports highlighting of matching braces and the current active line. These two features will be of immense help to people who are in the habit of writing code snippets on Gedit. The number of highlight modes have also increased. Other notable new additions include support for TCL and shell script syntax highlighting.
GNOME-Utils – Some Changes, At Last…
Another part of the desktop which has received some much needed “love” is the GNOME-Utils package. The GNOME-dictionary sports a very different (and saner) look now, and spelling suggestions now come up in a much more user friendly and elegant fashion – in a sidebar of the main application window.
According to the developers, the dictionary tool has now officially “entered the 21st century”, and it has now been ported to use all the new widgets and the new framework that has been introduced in GNOME earlier in the 2.x series. Users also have the option of printing dictionary entries, which can be quite handy at times.
The Floppy Format tool (gnome-floppy) has also been upgraded to include support for removable floppy devices (USB, etc) through HAL.
Yelp – Man/Info is back!! (or is it?)
Another tool in the GNOME desktop that has received a lot of improvements in the past six months is Yelp – the GNOME help browser. Yelp now uses the Gecko rendering engine for showing the HTML documents, and the capability to view man and info pages is finally back after being conspicuously absent for the past few major versions. However, there seems to be some last minute confusion with respect to the branch of Yelp that would be shipped with GNOME 2.10 – and probably we will be seeing Gecko rendering and man/info support in GNOME 2.12 (scheduled for September, 2005) instead of 2.10.
GNOME Games – Nibble over the Network
The GNOME Games package also has received some significant enhancements. Same-GNOME has been rewritten and it now sports a very different look – with fancier graphics and animation. Among the other games, Nibbles has received Rendezvous/Zeroconf support for LAN games (so you have multiplayer gaming that “just works”), and Aisleriot, Klotski, GNect have received better graphics.
Evolution – Changes are Evolutionary (or are they Revolutionary?)
Novell Evolution was integrated into the official GNOME release in GNOME 2.8 and the Evolution developers seem to have adapted nicely to the tight six-month schedule followed by the GNOME developers. Evolution 2.2 (integrated with GNOME 2.10) has support for third-party plugins (and some of the functionality found in previous releases of Evolution has been integrated in this release as plugins). It also has a new (and hopefully more reliable) system for handling IMAP, which should make quite a few users happy. The calendar now supports weather data and you can have attachments with weather events. However, from an l10n/i18n enthusiast’s perspective, Evolution has moved through a major evolutionary step (forgive the pun) – and it now supports display of mails written in Right to Left (RTL) scripts. This should make Hebrew and Arabic GNOME users really really happy.
However, I’m not very happy with the plugin configuration dialog box. I don’t think end users will find any sense in stuff like “Id org.gnome.evolution.calendar.weather”. Simply the name and the description should be good enough, just like the ones that one can see in the Gedit preferences window. Consistency in little things like this will go a long way to make GNOME easier to use.
Among the other enhancements, the Epiphany Web Browser now has support for extensions written in Python and also now has support for bookmark export/import. Gnomemeeting shares its addressbook with Evolution and now has support for Zeroconf/Rendezvous. File-Roller (the archiving program) supports *.deb packages, and the annoying “internal viewer” window has been completely done away with.
The New Comers – We all know them, don’t we?
GNOME 2.10 will also see two new applications, Totem and Sound-Juicer being inducted into the official GNOME desktop. Both of these applications should appear familiar to most users, since almost all distributions shipping GNOME have included Totem as the default video player and Sound Juicer as the default CD-Ripper for quite some time. Both are stable and quite well tested applications, and with the inclusion of these two applications, we see the beginning of the actual utilization of the powerful Gstreamer multimedia framework which has been shipping with GNOME for the past few releases.
Another new module in the GNOME family is the GNOME-Backgrounds package. These are a set of wallpapers (contained both GNOME branded and non-branded generic images) which are supposed to be installed in any GNOME setup.
From an overall perspective, this is perhaps the most feature complete release of GNOME ever (at least in the 2.x series). The number of major, earth shattering changes in this release have been minimal. Nevertheless, the improvements and enhancements have been small, but effective. There is very little to complain about with this release of GNOME – except, maybe that running it on my Pentium M laptop with 256 RAM can be a little painful at times. Hopefully this annoyance, too, will go away in GNOME 2.12. Another thing that I would like to see in a future release of GNOME is some kind of power management support (a frontend of some kind to acpid, maybe?). This would really help laptop users like myself.
For quite sometime, the core GNOME developers have been calling for ingenuity and experimentation from the community. I think the maturity of GNOME 2.10 offers the perfect springboard for the new era of innovation in the desktop and related applications. I would really like to congratulate each and every person involved in the realization of GNOME 2.10 for a job well done.
Copyright © 2005, Sayamindu Dasgupta (sayamindu randomink org)