Friday May 12, 2006 It's been a while since I last blogged, but things have been really busy lately. It seems like the GNOME 2.14 ARC process is wrapping up here at Sun. That's the Architectual Review Committee which reviews the interfaces exposed and imported in the GNOME stack before we can integrate with Solaris. ARC found a number of pretty serious issues with our work which we were able to address before integration. I think this is a first. Historically the GNOME ARC process has a been much more like a hectic last-minute fire drill.
So after integration, when you type "man gnome-interfaces" you will see the following interface table, which I think captures the state of affairs fairly well. Why did this take so long to figure out? :)
___________________________________________________________________
INTERFACE NAME CLASSIFICATION
___________________________________________________________________
libIDL-2 External
___________________________________________________________________
libORBit-2 External
___________________________________________________________________
libORBitCosNaming-2 External
___________________________________________________________________
libart_lgpl_2 External
___________________________________________________________________
libatk-1.0 Stable
___________________________________________________________________
libaudiofile External
___________________________________________________________________
libbonobo-2 External
___________________________________________________________________
libbonobo-activation External
___________________________________________________________________
libbonoboui-2 External
___________________________________________________________________
libcspi Stable
___________________________________________________________________
/usr/include/libspi/Accessibility.h External
___________________________________________________________________
at-spi Stable
___________________________________________________________________
libesd External
___________________________________________________________________
libgailutil External
___________________________________________________________________
libgconf-2 External
___________________________________________________________________
libgdk-x11-2.0 Stable
___________________________________________________________________
libgdk_pixbuf-2.0 Stable
___________________________________________________________________
libgdk_pixbuf_xlib-2.0 Stable
___________________________________________________________________
libglade-2.0 External
___________________________________________________________________
libglib-2.0 Stable
___________________________________________________________________
libgmodule-2.0 Stable
___________________________________________________________________
libgthread-2.0 Stable
___________________________________________________________________
libgnome-2 External
___________________________________________________________________
libgnomecanvas-2 External
___________________________________________________________________
libgnomeui-2 External
___________________________________________________________________
libgnomevfs-2 External
___________________________________________________________________
libgobject-2.0 Stable
___________________________________________________________________
libgtk-x11-2.0 Stable
___________________________________________________________________
libpanel-applet-2 External
___________________________________________________________________
libpango-1.0 Stable
___________________________________________________________________
libpangoft2-1.0 Stable
___________________________________________________________________
libpangox-1.0 Stable
___________________________________________________________________
libpopt External
___________________________________________________________________
gnome-vfs-mime-magic External
___________________________________________________________________
gnome-vfs.applications External
___________________________________________________________________
gnome-vfs.keys External
___________________________________________________________________
scrollkeeper.conf External
___________________________________________________________________
/usr/bin/update-desktop-database Stable
___________________________________________________________________
/usr/bin/gtk-update-icon-cache Stable
___________________________________________________________________
/usr/share/applications Stable
___________________________________________________________________
$HOME/.local/share/applications Stable
___________________________________________________________________
/usr/share/gdm/defaults.conf Stable
___________________________________________________________________
/etc/X11/gdm/custom.conf Stable
___________________________________________________________________
You'll notice that the base libraries are considered "Stable" which, I think, reflects the great work that the GNOME community has been doing to keep things in the GNOME Platform stable. You'll notice that also the interfaces required to interface with the Desktop and MIME database are also considered Stable by Sun, since these are supported by FreeDesktop specifications. We would also like to add the icon integration specification as "Stable", but the fact that the FreeDesktop Standards website makes a weak stability claim by saying, "freedesktop.org is not a standards body" makes us a bit unsure which specifications should be considerd Stable. It would be good, I think, if the FreeDesktop community could make a stronger claim about the specific specifications that are needed for desktop integration, such as those recommended for use in the GNOME System Admin Guide, and they should probably be referenced on the GNOME Developer Standards page as well.
Aside from helping (along with Gman and Irene Wang) getting the Sun GNOME team through the ARC process, I have been doing a bunch of work with GDM. Just added some new theming features with some help from Erwann Chenede. Now GDM themes can work with real GTK+ buttons, which can be themed and work better with accessibility. GDM themes also support a pam-error-logo which is a logo that gets displayed when a PAM error message is visible (so you can display an "attention" logo or somesuch), and the "Cancel" button is now named as "Start Again" because people pointed out that the button doesn't really cancel anything, but just lets you start over. Also, GDM now supports per-display configuration so that multi-display configurations can more easily configure the GUI to behave differently on each display. You can also now specify the PamStack GDM will use for a given display, to better support PAM modules that interact with SmartCards, or other devices. Just in the past day I released new versions of GDM 2.14.6 and 2.15.2, so have fun playing with the new features.
I've also been working with the HAL developers here at Sun. They have provided the Sun GNOME team with test libraries and I have been busy testing it, adding the new gnome-volume-manager and gnome-mount packages needed for GNOME to work with HAL, patching the code so it works reasonably, and helping the HAL team find bugs in their code. Now things seem to be working pretty well and CD drives and removeable media seems to work much better than ever with Nautilus and the system in general. I believe the HAL team will provide some packages for general testing at some point in the near future, and it will integrate into OpenSolaris in the not too distant future, I believe.
( May 12 2006, 02:10:37 PM CDT ) Permalink