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