Metacity Journal, 2008-10-23

Recent activity

  • GNOME bug 557536: Ka-Hing Cheung noted on this blog that wmctrl wasn’t able to make Metacity windows stick.  Thomas investigated and found that this is because that part of the EWMH had never been implemented.  It now has been.
  • Several bugs cropped up in 2.25.2 almost immediately, which have all been fixed, and we are now on 2.25.5.
  • Creating Metacity Themes, which began as a post on this blog, gets its first version on library.gnome.org thanks to Murray Cumming.
  • The double-click-to-close issue is still attracting comments.  Gentle reader, if you want this feature, please persuade your distro maintainers to consider it and not us, since we have done it to death here.  When they approve it, we’ll consider it.
  • We still haven’t come to much of a consensus over the present() issue, so it may need an overview of the overview.  Your chronicler suspects that the ultimate solution is going to be twofold: we probably need to change the default, and we also need to extend the EWMH to allow apps to hint which behaviour they prefer.

Around the blogs

Something to consider

  • Do you think it’s about time we flipped the default of the compositor switch to “enabled”?

Till next time…

Metacity Journal: 2008-10-16

SalmiakkiWelcome back to the Metacity journal, your (more or less) daily roundup of all things Metacity. Okay, so it hasn’t happened for six months and I did this one by hand instead of with the script. Anyway, feel free to poke your nose into any of these conversations.

GNOME bug 556464: Michael Terry wanted to remove the dialogue box which says that an application doesn’t play nicely with the session manager.  The reason is that it stays up indefinitely and most users don’t care.  Michael provided a patch which added a GConf key to disable it.  Thomas said that a new key for something as trivial as this would be a bad idea, and it would be better just to disable it.  Havoc said that it had already been considered somewhere, but nobody’s yet found that bug.

GNOME bug 401028: Quite an old bug; unshading a shaded window doesn’t focus it as it should.  There was a patch which rotted; Thomas rewrote it to apply to trunk.  Shaun McCance tested it and reports that it fixes the bug but causes intermittent crashes, so it’s not going in quite yet

GNOME bug 96743: Okay, this is a REALLY old bug.  Should you be able to drag a window to an adjacent workspace by pushing it off the edge?  Calum has recently added that he believes you should, and since IIRC he’s on the HIG team, that carries quite some weight.

GNOME bug 555489: Luke Hutchison wants a generalised way to fullscreen any application, similar to the maximise button.  Havoc says this is really an app problem because there’s so much app-specific information the window manager would need to know in each case.

There was a GNOME doc list discussion about this theming tutorial from 2002. Murray Cumming asked whether it was current. Thomas said it was not particularly current and that this blog post was a better source, though there were some lacunae. Murray suggested that it could be changed into docbook and kept in the Metacity tarball, which Thomas thought was a good idea; Thomas further suggested that some of the other tarball information be changed to docbook at the same time.

And Metacity became the first GNOME program to have a (very partial) Latin translation.

What people are saying about Metacity:

That’s it for today, folks.  More next time.  Also to come: fun with annotations, rethinking the responsibility of themes, and being nice to translators.

Image: salmiakki, © Laurence Livermore, cc-by-nc.

2008-04-27: Metacity given enough eyeballs

Ye Olde Fighting Cocks, St Albans. Photo by Gary Houston, public domain.

Eric Raymond has proposed in his essay “The Cathedral and the Bazaar” that given enough eyeballs, all bugs are shallow, using Linux as a particular example. The idea may be true in the abstract, but in practice even if a project has many users it won’t necessarily have enough eyeballs, and most users of the program would just never be inspired to take printouts of the code to bed: sometimes this is because most users of the program aren’t programmers, other times, because the code is badly-commented and obscure, and still other times because maintenance, frankly, often doesn’t seem immediately as much fun as new development. (Not that long ago, someone sent PostSecret the back of a packet of Viagra where they’d scribbled: “These are for my wife’s benefit. When I’m with my new love interest, I don’t need them.”)

But does this mean that we should just throw out reliable code every five years? By no means! That would just mean we had to go over and over through teething troubles and never reach maturity. What we need is a way to make this code maintainable, so that it may asymptotically approach perfection, firstly by maintainable coding practices and secondly by having external support systems. (Knuth has the asymptotic perfection approach to development of TEΧ, of course; interestingly he also recently said that the idea of unit testing didn’t appeal to him because he rarely needed feedback on what would work and what wouldn’t; James Cape pointed out that this runs rather counter to the idea of code maintenance.) Elijah used the analogy of being dropped in an unfamiliar town with no street signs, but in the end it should be possible to drop people in the town and expect them to find their way, given some help.

The kernel does have this kind of structure, of course, and that’s part of why it can be used as an example of the “given enough eyeballs” dictum in the first place. The challenge for the rest of us is to find ways to help paint the street signs, both through keeping the code maintainable and through external structures.

This is all written from Thomas’s private opinion, and not the opinion of Metacity or GNOME or anyone else, really. But this is here to say that a year ago Thomas, in fixing a complicated bug, accidentally removed Metacity’s ability to stack up several small windows in a cascade. On Friday, in GNOME bug 529925, Erwann Chenede found the two missing lines and put them back in. A release is imminent. I am heartened that Erwann read the code, arrived out of the blue, and found the bug. And I would like Metacity to have the sort of code where people take the printouts to bed to read.

(Ah, so good to see the script picked a photo of the Fighting Cocks for this entry where I’ve had many happy conversations over many pints.)

Bugs

Much busy activity, especially with making sure our bug tracker knows about everything Launchpad knows about Metacity; in particular,

  • GNOME bug 530056 – someone says Metacity becomes a zombie process when you start evince. Anyone else seen this? It’s never happened to me.

Checkins on trunk

Links

Hmm, kind of quiet.

Translations

  • On branches/gnome-2-22: et by plaes, he by yairhr, nn by eskildh, tr by bcicek
  • On trunk: es by jorgegonz, he by yairhr, nn by eskildh, sl by mateju, tr by bcicek

Photo: Ye Olde Fighting Cocks, St Albans. Photo by Gary Houston, public domain.

2008-04-16: an abbreviated Metacity Journal just to get back into the swing of things

The Robin Hood, St Albans. Photo by Gary Houston, public domain.

Checkins on trunk

LinksI’m seeing quite a theme of comparisons with Compiz here.

Translations

  • On branches/gnome-2-22: he by yairhr, nn by eskildh, tr by bcicek
  • On trunk: es by jorgegonz, he by yairhr, nn by eskildh, sl by mateju, tr by bcicek

Photo: The Robin Hood, St Albans. Photo by Gary Houston, public domain.

2008-03-30: Metacity Journal: out like a lion

The White Hart, St Albans. Photo by Gary Houston, public domain.Here we are again. It’s been a hectic few weeks and the backlog has built up a lot, so we’ll just talk about the most recent couple of days.

There’s been an effort to get all unanswered bugs answered. The next step is to go through all NEEDINFO bugs and close as appropriate, and then group all policy questions together and try to find answers to them.

You are invited to share your opinion on, and help out with, any of the following:

Bugs

  • GNOME bug 490668 – When Metacity starts up, nothing has focus. This isn’t beautiful, but more importantly it confuses accessibility software.
  • GNOME bug 491090 – on startup, minimised windows are not dealt with correctly; this was actually fixed in 2.20 and never fixed in trunk; now fixed
  • GNOME bug 511826 – we don’t pick up colour changes when GTK themes change (unless this is a GTK bug; someone needs to investigate)
  • GNOME bug 516088 – the drop shadow on the panel doesn’t show after login (for some people)
  • GNOME bug 517429 – workspace and ctrl-alt-tab switchers should be compositorified like the alt-tab switcher
  • GNOME bug 521914 – use zenity: see “Policy Changes”, below
  • GNOME bug 522166 – compositor was slowed down; Iain removed the delay; rejoicing
  • GNOME bug 523914 – the window drop shadow is not centred; it shouldn’t be, because lighting is always from the northwest
  • GNOME bug 525051 – bring us into line with new gnome-session rules about .desktop files
  • Launchpad bug #199402 – fix crash in the theme viewer (unusually, this bug was closed before it made its way upstream)

Policy changes

  • GNOME bug 499301: MetaDisplay is now a singleton. meta_displays_list() is replaced by meta_get_display().
  • GNOME bug 521914: we are strongly considering removing metacity-dialog and replacing it with zenity. A separate post on this matter is forthcoming.

New gnome-love bug

  • GNOME bug 524343: Fallback icons should be from stock. This is a trivial fix which should help you learn more about how Metacity works. Come and pester Thomas on IRC (marnanel on irc.gnome.org, channel #gnome) about how to do this if you want to try.

Checkins on trunk

Links

Translations

  • On trunk: es by jorgegonz

Photo: The White Hart, St Albans. Photo by Gary Houston, public domain.

2008-03-06: Caecilius est in horto, Metacity Journal est in blogo

Ye Olde Fighting Cocks, St Albans. Photo by Gary Houston, public domain.

Releases
2.23.1 went out today. Yay.

Bugs

  • GNOME bug 326156 – the debate over what raise_on_click means in various focus modes rumbles on
  • GNOME bug 358674 (unidirectional maximisation) – Josh Triplett says that the TCA fix doesn’t go far enough, and that we should (also? or only?) consider FMB. Your reasoned responses are most welcome.
  • GNOME bug 520136 – also, unidirectional maximisation should be in the window menu
  • GNOME bug 358866 – gentle readers, does anyone know how to tell vim to use GNU coding conventions?
  • GNOME bug 479107 and GNOME bug 491114 appear to contradict one another. One of them should be closed…
  • GNOME bug 482354 – the question of whether opening up new windows should bring the whole app onto the current workspace dogs us again. Apparently the reason Firefox doesn’t exhibit the problematic behaviour with KDE is that kwin special-cases it!
  • GNOME bug 513281 – a problem with sloppy focus that’s hard to reproduce
  • GNOME bug 519188 – windows created and set to stay on top will lose focus, contrary to what you might expect
  • GNOME bug 520713 from launchpad bug 120818 – maximisation is messed up on xinerama. Your chronicler should cadge some extra screens in order to test these things.
  • GNOME bug 520792 – Jeff Schroeder came on IRC asking why metacity said he didn’t have the composite extension when he did. It turns out that composite+xinerama don’t work together under nvidia. Thomas suggested that Metacity could detect this case and print a helpful message so people were less mystified.

Checkins on trunk

Links

  • You may recall GNOME bug 448183, which was in general about writing programs which did clever window management things when Metacity’s only doing the bare bones, and in particular about a forthcoming window management utility. Well, Mikkel Kamstrup Erlandsen has announced the availability of that tool in his blog (although it hasn’t formally been released).

Translations

  • On branches/gnome-2-22: en_GB by pwithnall, es by jorgegonz
  • On trunk: es by jorgegonz

Photo: Ye Olde Fighting Cocks, St Albans. Photo by Gary Houston, public domain.

2008-03-02: a rather muted Metacity Journal

Fewer things have been happening, but what they’ve lacked in number they’ve made up in excitingness. Excitingosity. Whatever it is.

Bugs

  • GNOME bug 358674 – the venerable unidirectional maximisation bug was closed today, with over fifty comments on the clock, several duplicated bugs, and two factions: FMB, who wanted horizontal or vertical maximisation to happen when you middle or right clicked on the maximise button, and TCA, who wanted them to be titlebar actions. Thomas called the dispute last week for the TCA, and committed one of the patches today. (When one of the comments says “See point F of comment 50”, you can tell the discussion’s been going on for a good while.)
  • GNOME bug 518606 – Metacity did not do what the libwnck documentation said, but it turned out to be because the libwnck documentation was wrong.

Checkins on trunk

Links
Nothing very interesting.

Translations

  • On branches/gnome-2-22: lt by gintas

Photo: Lower Red Lion, St Albans. Photo by Gary Houston, public domain.

2008-02-29: for when your mouse says “Wurlitzer” on the side

Havoc sends along a link to GNOME bug 44927, an excellent answer to the question “But why not just include this patch? It’s only a bit more code!”: “I included this patch [“support >5 mouse buttons”] since it seems harmless.”

Bugs

  • GNOME bug 437910 – there has been a fair amount of interesting discussion off and on about this one. Currently you can resize windows with alt+middle drag, but this is unusable with many laptops. Should we change this to alt+right drag, as some other window managers do? Should we have a general “we don’t have a middle mouse button” flag somewhere? How should we make decisions like this? This is also the first Metacity bug to come up on the Ubuntu brainstorming site; feel free to make suggestions there, incidentally, since we ship on Ubuntu, and we’ll see them and link them here. Raising bugs in GNOME’s bugzilla will certainly find us, though, because they appear here through a script.
  • GNOME bug 468075 – Sven does further work on tracking down this remarkably long-lived bug about maximisation
  • GNOME bug 482354 – Colin Walters updated the patch, which has been waiting for review for a fair while and had rotted. We should decide what to do about this before Firefox 3 comes out, but it’s a major undertaking to make a decision (otherwise it would have happened already).
  • GNOME bug 509165 – first-time contributor Andrea Del Signore provides a patch to add “spacer” as a button type, which went in today.
  • GNOME bug 513944 – a new clue in this segfault, which looks pretty useful (the clue, not the segfault)
  • GNOME bug 517722 – Elijah said that there are many actions done better by a process outside the window manager; Mikkel Kamstrup Erlandsen has a tool called winwrangler which does this, but it is blocking on GNOME bug 518606
  • GNOME bug 519128 – some files from Søren’s compositor were left behind
  • GNOME bug 519188 – a new focus issue

Thomas’s hit list for the next few days: GNOME bug 518606, GNOME bug 513944.

Checkins on trunk

Links

Translations

  • On branches/gnome-2-22: ca by gforcada
  • On trunk: zh_HK by chliao, zh_TW by chliao

Happy Leap Day, everyone.

2008-02-27: Metacity Journal

When things are this busy I should be doing these daily.

Bugs

  • We reported earlier, gentle reader, that the rounded corners preview GNOME bug 460018 was solved in both trunk and the gnome-2-22 branch by Thomas Wood. We made probably the last release of 2.21 specially to include the patch.
  • GNOME bug 490668 – one of the accessibility problems that needs work: immediately after startup, nothing has focus, which breaks Orca. Shouldn’t be hugely difficult to fix. Anyone willing to spare a few braincycles?
  • GNOME bug 509165 – separator values. Andrea has found a new solution which doesn’t involve any problems with the visibility rules. This needs testing, which is due shortly after this post.
  • GNOME bug 517722 – more work on Dietrich’s expand patch.
  • GNOME bug 518325 – someone says a function is broken; Elijah agrees and says it should go away anyway.
  • GNOME bug 518596 – should we not have a .metacity directory? If not, what should we have instead? A post is forthcoming on this blog on the matter.
  • GNOME bug 518608 (launchpad bug 192309) – segfault; needs triage
  • GNOME bug 518629 (launchpad bug 116807) – someone complained that the arrangement of desktops is lost if you remove the applet which arranges the desktops. Since this is the program which actually requests the arrangement, I’m not sure how else it could be, really.
  • GNOME bug 518917 – we are now valid C89 all the way through.

Checkins on branches/gnome-2-22

Checkins on trunk

Links
Nothing much interesting.

Translations

Till next time…

2008-02-20: Metacity Journal (with thanks to Rio!)

Rio is helping me edit the Metacity Journal tonight. Thanks, Rio!

Bugs
It’s been a busy couple of days!

  • GNOME bug 106249 — Matthias comes up with a working patch for the skip_taskbar problem
  • GNOME bug 138290 — Rob thought window placement had its problems, but Thomas wasn’t sure what they were; we need to ask the GIMP folks
  • GNOME bug 151818 — “Open new windows centred”; it’s still really a Devil’s Pie thing
  • GNOME bug 328210 — Alexey Rusakov found a bug in our configure script (we need to make a regression test for this soon)
  • GNOME bug 342565 — should it take effort to move a window away from a xinerama edge
  • GNOME bug 448183 — our EWMH support allowed programs to resize OR move, but not both at once
  • GNOME bug 498812 — appears to have fixed itself :)
  • GNOME bug 515773 — a possibly contentious question: should errors which are reported by Metacity be shown as Metacity errors in the logs, or should we attempt to figure out the name of the broken program and pretend that program produced them?
  • GNOME bug 517722 — new contributor Dietrich Rothe has come up with an interesting idea about windows which expand to the maximum size available

Checkins on trunk

Links

Translations

  • On branches/gnome-2-20: ne by pachimho
  • On branches/gnome-2-22: gl by icq
  • On trunk: fi by ituohela, oc by ymarcheg