[LWN Logo]

Date: Mon, 14 Jun 1999 01:53:31 -0400 (EDT)
From: Havoc Pennington <rhp@zirx.pair.com>
To: gnome-list@gnome.org
Subject: GNOME Summary, June 7-14


This is the GNOME Summary for June 7 to June 14. I'm very busy today,
so if it seems a bit rushed, please bear with me. Send me a note about
anything I forgot and I'll get it in next week.

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