Metacity Goals #2

So, the first round of Metacity
seemed to be pretty successful. Dan Sanders fixed bug 335076 (Maximizing and unmaximizing windows doesn’t raise them) and bug
(close-window verification dialog not shown when main window is minimized), while Thomas Andersen fixed bug 335524 (need to warn when apps set WM_TRANSIENT_FOR to an invalid window). Two other people found good starting bugs on their own; Brain Pepple added support for
from Gnome Goal #2
and Andy Morum fixed bug 336605 (needs to build with –disable-xsync). And I should mention that while new developers fix these tasks, Björn and Thomas keep plugging away fixing issues all over the map. And Soeren has been very prolific in providing a near constant stream of improvements while hacking on the compositor, but has kind of gotten the shaft limelight-wise, being co-maintainer and all.

So, here’s a new round of Metacity Goals. These are simple coding
tasks for those wanting to get started in Gnome. As before, the first step is to build a CVS version of Metacity — this is much easier than you might expect because you do not need to build all of Gnome (or even any other modules) and you don’t have to actually install it. Just follow the few steps in the “Minimal Building/Testing Environment” section of Metacity’s HACKING
file to do this. The second step is to pick a bug, and I have a few

First, the bugs that are still left from last time:

  • Bug
    — Support sibling from restacking ConfigureRequests

    This is just an unimplemented FIXME, basically. In the bug, I
    point out a section of code having stuff very similar to what’s
    needed to implement this.

  • Bug
    — Focus with maximize/unmaximize keyboard commands
    and sloppy/mouse focus

    Has good steps to duplicate, and I provided directions showing
    where a similar bug has been fixed elsewhere to help you fix
    this one.

Plus a round of new bugs:

  • Bug
    — Can’t revert or undo either drags or resizes with
    the escape key

    There’s a couple steps to fixing this, but I outline them in
    the bug with pointers and all of them are pretty short.

  • Bug
    — Moving maximized windows from one xinerama to
    another broken

    Should just be a few lines of code, and I even point out where
    to look. Hurry, get it before someone else!

  • Bug
    — Missing synthetic configure notify makes windows
    walk up the screen

    This one probably doesn’t fit in this list, but I can’t resist
    throwing it in. It will probably be harder than the others,
    because I’m first asking that someone write a testcase
    displaying the bug (for both testing and patch verification

    If you can get that testcase written though, the patch to fix
    the bug in metacity is almost certainly a one liner (just
    making sure send_configure_notify() gets called when it needs
    to be). I’m even fairly sure which function needs to be
    modified (though it’s not exactly a simple function), so the
    big thing really is just getting a nice simple testcase.

  • Bug
    — constraints borkage with titlebar

    People can lose the titlebars of their windows, having them go
    off the screen. (oops! One more bug from the rewrite of
    constraints.c for Gnome 2.14…) Fixing this means writing a
    new constraint in constraints.c; I’ve outline all the necessary
    steps in the bug.

Those interested in getting started in Gnome working on some other
module, may want to have a look at the Gnome Goals, bugs in
bugzilla marked as being suitable
projects for new developers
, and other general information on the
stupidly-named GnomeLove
page containing information to help you get started.

2 thoughts on “Metacity Goals #2”

  1. Please, can we get middle click and right click, Maximize vertically, and maximize horizontally(respectively) into Metacity? I mean, this is something that is in most window managers and DE’s out there, and I don’t know what we don’t have it in Metacity.

    Tell Havoc I’m like from Macon GA and he should listen to his homeboys. 🙂

    Heh, thanks in advance one way or the other.


  2. alt+middle click = resize
    alt+left = move
    alt+right = popup menu

    maximize horizontally+vertically.. set shortcut from Desktop->Preferences->Keyboard Shortcuts

Comments are closed.