---

GNOME Summary, June 7-14

By Havoc Pennington for
the GNOME Project.

Window Manager Spec Initiative
===

The Window Manager Spec needs revision. We want to make it a
desktop-neutral specification, used by KDE, XFCE, and anyone else
who wants to use it. There’s already been some movement in this
direction; Miguel has spoken with Raster about it, and I believe
KDE is in on it too. A common spec will improve interoperability
(mix-and-match pagers, etc.) and ease the maintenance burden on
window manager authors. Window managers could even use the spec to
implement their native pagers.

Anyway, if you know about window managers and hints, or you
maintain a window manager, please subscribe to the mailing
list:

wm-spec-list@gnome.org

Mail wm-spec-list-request@gnome.org with ‘subscribe’ in the
subject.

This list needs to have excellent signal-to-noise ratio so WM
maintainers will stay on it; please, if you don’t hack window
managers, don’t even subscribe. The list will be archived on
www.gnome.org with the other lists. Let’s hope these guys can reach
a consensus and give us a nice spec to work with.

It would be nice to get people from X.org or people who’ve
worked on the Motif hints or other original X stuff involved here
as well.

New Balsa team formed
===

Peter Williams <peter@newton.cx> wrote in to say that a
team has restarted work on the Balsa mail client. You should
subscribe to balsa-list@gnome.org if you’re interested (mail
-request with subscribe in the subject, etc.)

There’s also another intiative to write an email application;
it’s in CVS under the gnome-mailer module. I don’t know if the
Balsa guys know about this? Even if there are two different mailers
in the end, there’s something to be said for sharing code and
Bonobo components.

Visual Basic hacker needed
===

Yep, you read that correctly. 🙂

Miguel and I are reimplementing the Excel plot/chart feature
using Gnumeric and Guppi. Excel comes with an interface browser,
that lets you browse the Visual Basic interfaces for the various
COM objects that make it up. We’d like to know what the chart
component’s interface is: methods, members, class hierarchy, and so
on. Unfortunately, this interface is huge, and the interface
browser has no print or cut-and-paste feature.

So I’m faced with sitting in front of a Windows box for hours,
copying down the entire interface. I’m thinking that someone with a
clue could write a little VB or Perl to suck the interface into a
text file, then mail it to me. Any takers? You’d save me hours of
work. 🙂 I’ll buy you the beverage of your choice someday.

gnome-libs 1.0.11 pre-release
===

Miguel made a pre-release of gnome-libs 1.0.11. If there are any
problems with this pre-release, please speak up now – the real
release is forthcoming.

Pharmacy release
===

Adam Walker wrote in to plug his CVS frontend, Pharmacy; there’s
a new release available on the GNOME software map. If CVS leaves
you mystified, check it out. For those of you who don’t live in the
proper region of the United States, CVS is the name of a drug store
chain in addition to a version control system. Get it? 🙂

developer.gnome.org
===

The new developer.gnome.org site is not yet live. However, the
site is in CVS; contributions are solicited. All developers should
have a look at the web-devel-2 CVS module and consider adding
content in their area of expertise. This site will be
better-organized and more complete than the current developer’s
information on www.gnome.org.

Docs!
===

While we’re at it: some of the documentation of gnome-libs is
still incomplete. Check out the README in gnome-libs/devel-docs.
The documentation that comes with gnome-libs will also appear on
developer.gnome.org.

I’m attending the Corel Linux Advisory
Council

===

Corel is hosting a “Linux Advisory Council” this week; I’ll be
attending as the GNOME representative, since Miguel is at LinuxExpo
Paris. I think there will be some kind of public webcast or press
release on Tuesday, so watch for that. Next week’s GNOME summary
will likely include details of any GNOME-related news from the
event. Contrary to certain rumors, I will NOT be mud-wrestling the
KDE representative. Hopefully we will have a nice chat about some
of the recent advances in desktop interoperability.

This also means I’ll be out of touch until Wednesday or
Thursday, so don’t expect me to answer email.

Session Management
===

I recently noticed that while we have a very nice wrapper around
the X session management API in libgnomeui/gnome-client.h, there
are *zero* applications I’ve seen that really implement session
management properly. Many apps manage to register clone and restart
commands (the bare minimum), but that’s it.

Session management is a very powerful thing, when implemented
thoroughly. Applications should remember details such as the cursor
location, current open documents, and so on. I recommend reading
the “SM/SMlib.PS” document that comes with X (on Debian, it’s in
the ‘xbooks’ package – don’t know about Red Hat). This document
will fill you in on the terminology you need to understand the
heavily commented GnomeClient interface. In addition to the header
file comments, GnomeClient is fairly well documented in
gnome-libs/devel-docs/session-management.txt. It’s a shame that we
aren’t using this lovely and well-documented interface.

KDE has recently committed to implementing the X session
management standard as well; applications that implement session
management properly will work great with the KDE session manager as
well as gnome-session.

Speaking of which, gnome-session needs a lot of work, if someone
is so inclined. The SMlib.PS document gives you an idea how
powerful a session manager could really be, in conjunction with
SM-compliant applications.

Speaking of which #2, there was a thread on gnome-list about
session management and who should be doing it. The X specs imply
that the session manager and the window manager are separate
programs; however, due to creeping featurism most of the window
managers have started to implement their own session management,
which can cause confusion if you’re using the Gnome or KDE or CDE
session manager. Also, most window managers don’t properly save
application window locations, per the X specs. Perhaps the new
window manager spec will clarify some of this mess.

Font and Color configuration
===

A thread on gnome-list (which I didn’t read in its entirety, so
I’ll miss some subtlety here), talked about default font and color
configuration. Right now you basically have to edit your ~/.gtkrc,
which bites; it seems that the CVS theme selector fixes this, but
it’s suboptimal. Here’s the thread start:


http://www.gnome.org/mailing-lists/archives/gnome-list/1999-June/0440.shtml

And a neat suggestion from James Henstridge for a
drag-and-drop-to-change-fonts hack:


http://www.gnome.org/mailing-lists/archives/gnome-list/1999-June/0517.shtml

I think I posted to say that we need a “Fonts & Colors”
control panel, because it’s hard to decide that the Themes panel is
the right one for this, and the Themes panel is too big anyway. Any
takers?

Someone needs to look at how Windows and MacOS handle this
problem, and then take charge of fixing it.

The “su” problem
===

Another issue that’s popping up in several apps, but especially
gmc, has come up several times; most recently this thread:


http://www.gnome.org/mailing-lists/archives/gnome-list/1999-June/0545.shtml

Basically, the issue is that having to switch to an xterm and su
root is a poor interface; it annoys even advanced users. Apps
should be able to throw up an “su root” dialog requesting a
password, then perform the root-requiring operation.

However, fixing it is nontrivial. We can’t make a Gtk or Gnome
app suid root; a GUI toolkit is far too complex to go in an suid
application. Right now it’s basically impossible to use gmc for
root tasks, partially because it’s pretty easy to hose your system
(oops, didn’t mean to drag that) and partially because you don’t
want to shut down desktop icons, etc. just to re-run gmc as
root.

There’s a small app that I started and Martin Baulig continued
in gnome-utils, called gsu. This can be used like this:

gsu –command=”shutdown -h now”

However, gsu still needs some enhancement, including PAM
support.

This problem needs a babysitter who understands security to get
it working. You have to know what you’re doing, or we’ll end up on
bugtraq in a hurry. You’ll need to consider GNOME as a whole and
come up with a secure, easy-to-use solution that’s applicable to a
range of applications. Ideally it would work, or at least fail
gracefully, on systems without PAM. Achieve this, and the unwashed
masses shall kiss your feet.

ORBit 0.4.90
===

Elliot made a new release of ORBit; this has the rewritten IDL
compiler, complete with a modular backend system so stubs can be
generated for multiple languages. I noticed on orbit-list that
Brian Wallis has already fixed a couple of bugs and coded up an
Eiffel backend – language backends can’t be too hard to write, so
maybe we’ll see a lot of them in short order.

Hacking Activity
===

566 commits this week, about a hundred more than last week.
Elliot graciously provided the CVS Module Score-O-Matic, AKA:

awk ‘/^Subject: GNOME CVS: / {print $4}’ mail/gnome-commits |
sort | uniq -c | sort -r -k 1 > output

and its cousin, CVS User Score-O-Matic:

awk ‘/^Subject: GNOME CVS: / {print $5}’ mail/gnome-commits |
sort | uniq -c | sort -r -k 1 > output

Our top 10 modules are:

  60 web-devel-2
  52 gnumeric
  32 gnome-libs
  32 e
  24 gphoto
  21 dia
  18 gxsnmp
  18 gimp
  17 ORBit
  16 gnome-core

And our top 10 users:

  35 sopwith
  35 kmaraas
  32 mandrake
  25 unammx
  22 drmike
  20 mortenw
  20 jamesh
  18 pablo
  17 vinc
  16 jrb
  15 platin

I’ll point out that “unammx” has an unfair advantage, since
they’re sharing a single user name between multiple people. Bad
unammx!

Since I’m down in the rankings pretty far with 8 commits, I’ll
also note that *some* people don’t commit every two-line change
*separately*, ahem. These statistics aren’t too scientific.

Some more subjective hacking activity summarization follows.

Raph checked in the “gill” module, which has more buzzwords than
an OMG press release. Basically it allows you to edit an SVG
(vector graphics in XML) document; the graphic is rendered via
Raph’s libart stuff in gnome-libs, and presumably GnomeCanvas is
involved here somewhere. The XML document is exported via the
“gdome” DOM implementation. gill is just a prototype; but it does
nicely render the lion.svg sample file that’s in the module. Very
cute. The DOM technology Raph is showing off might be used in the
Achtung! presentation program; this has a lot of potential.

Ron Bessems and Frederic Peters checked in “gaby,” which will
most likely be replacing GnomeCard. It’s a lovely “personal
database manager”; it lets you keep up with addresses, books,
whatever you want to keep up with. Seems pretty darn nice. cvs co
gaby to try it for yourself. One warning: the autogen.sh is
different from the one in other CVS modules, and there are Issues –
for example, it won’t honor ACLOCAL_FLAGS. It would probably be a
nice project to patch things up to match other modules.

There was an amusing argument-by-CVS in which Matt removed
“oneway” from the ref/unref methods of the GnomeObject interface,
Elliot put it back, Miguel removed it, Elliot put it back, Miguel
removed it *again*, and I lost track about then. 🙂 Anyway, they
seem to be discussing it via email like normal people now.

Jay Painter is doing something with the gnome-wm module, I’m not
sure what. If you like playing with window managers, maybe you
should check this out and see what he’s plotting.

Michael Zucchi has been hacking the terminal widget and
gnome-terminal for several weeks now, and it has new features, new
speed, and fewer bugs.

All the usual suspects soldier on, including Bonobo, gnumeric,
ORBit, the various debugger thingies, dia, glade, etc. As you can
see from the Score-O-Matic, the web sites are moving forward, and
the Norwegian and Spanish translations are as always the most
up-to-date, thanks to kmaraas and pablo.

New and Updated Software
===

On the software map this week, we have:

GMyNews
screem
RadioActive
uptime_applet
cpanel
Guppi
Bulb
Jtk
DND
gLaptop
Pharmacy
ch-view [this gets the useless-but-cool-award – a Calvin &
Hobbes viewer. Beverage of your choice to whoever contributes User
Friendly support.]
Sound Monitor Applet
gtkdiff
X-Chat
gNiall

OK, I know I saw a new GXSNMP go by, and ORBit, and some other
stuff. Some lame people don’t update the software map when they
release new versions! C’mon guys! If you have a GNOME app, put it
on there! However, please have at least *some* code – I’ve seen a
couple “conceptual” apps go by, tsk, tsk. You must be at least
version pre-0.0.0.1-alpha to qualify, sorry. 🙂

All I can think of – as always, email me anything you want
mentioned next week and I’ll include it.

Havoc

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis