Thomas has been working on Metacity this past week, supported by Collabora Ltd. Thanks, everyone!
A. Last week. Work on Metacity has fallen into three parts over the last week:
A1. Routine work such as reviewing patches. This included
- GNOME bug 598231 (null dereference in visual bell).
- GNOME bug 336750 (potential DoS on shift-printscreen). This patch looked correct, but in testing it didn’t solve the problem; I am still trying to find out why.
- GNOME bug 604897 (session management issue)
- GNOME bug 592940 (markup in translatable strings)
- GNOME bug 530702 (Metacity stops Compiz from starting up). This appears correct, and certainly fixes a bug, but I cannot test whether it fixes the presenting problem; can someone confirm?
A2. Cowbell (CSS themes). I have been working on merging the cowbell branch with the main branch, but this has been slow going. I am wondering whether it would have been better to move all the Cowbell-specific code out to a separate library so that it could be called from other window managers as well; it would be quite a challenge to make it abstract enough.
A3. GNOME bug 531512 (EWMH and D-Bus). What began as a brief comment to a bug turned into a blog post, which turned into a script, which took a fair chunk of the day to get working. But it does demonstrate that the idea is sound, and I’d rather have working code than hand-waving any day.
B. Going forwards.
B1. Bugs. There are still more bugs than can be reasonably dealt with by your chronicler. This is important, because it looks like Metacity is here to stay after all. Therefore:
- Most of all, I need your recommendations as to which bugs should be dealt with first. Obviously there’s the bug’s priority to decide this already, but I know there are many little things that get under people’s skin (Launchpad bug 160311 springs to mind). I’d like people to nominate their least favourite bugs.
- Also, I would like some help with patch review and the very inglorious Bugzilla work. If anyone’s feeling like volunteering, let me know.
- I plan to work out some kind of GNOME Love-type mentoring scheme where people get help learning to keep a project going.
B2. Cowbell: separate library? I’ll think about it. If you know someone from another WM who would also be interested in integrating such a library, let me know. If you believe it would be better for the spec to be shared but not the code, let me know as well.
B3. EWMHbus: worth extending to a full set of EWMH abilities? Worth rewriting in C? Would anyone really use it?
C. Other things
I used to have a script which wrote most of the Metacity Journal for me, and it would include mentions of Metacity on blogs, and translation commits, and so on. That script has rusted, which is a shame; maybe I should bring it back and generalise it so other projects could use it. Several translation commits were made this week, anyway. Thank you all.
Photo © Bushtick, cc-by-nc-sa.
May I suggest fixing the new window placement algorithm? It works fine until you have a big window open somewhere. From now on metacity gives up and places all windows in the upper left corner of the desktop.
An improved algorithm might look like this:
When placing window C, for each window W, if ignoring all windows besides W makes it impossible to place C in a free space, remove W from the list and go on. Basically ignore windows large enough that they alone make the current algorithm give up.
In practive having a large fullscreen window and some smaller ones open should open new windows in a position that obscures as few other windows as possible.