Metacity Goals

Inspired by Vincent’s
awesome Gnome Goals
project, I decided to do a much smaller Metacity Goals project.

These are simple coding tasks for those wanting to get started in
Gnome. 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.

Second, pick out a Metacity bug. There are a half dozen or so easy
ones that I’ve put on the gnome-love
(which can help you get involved in many other modules too). Of course, the ambitous can just look through bugzilla
for bugs, but I thought I’d point out some ones that I thought would
be easy (and which haven’t already been jumped on by someone else):

  • Bug
    — Maximizing and unmaximizing windows doesn’t raise

    Björn left good directions on how to reproduce, I listed the
    relevant functions that would need to be fixed and other
    example functions showing how similar stuff has been fixed
    elsewhere. There are two closely related issues in this bug
    and both should be easy to change, though we’ll need some
    usability guidance one whether we want to change the second.

  • Bug
    — Support sibling from restacking ConfigureRequests

    Turns out there was a FIXME in the code that just never got
    implemented before because of no requests, but now we have one
    (and I’d like it for a few other things too). I pointed out
    what part of the code needs to be fixed and another section
    that has code very similar to what’s needed in the fix.

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

    Good steps to duplicate and like the above two bugs I point out
    the functions you’d need to look at.

  • Bug
    — Right clicking on icon for minimized window and
    selecting close can result in a “are you sure you want to
    exit?” dialog that isn’t shown.

    I’m prety sure this is a one-liner to fix; see comment
    for pointers. Ignore the other patch; it was just a
    workaround for gedit, but this bug will affect lots of apps.

  • Bug
    — Warn when apps set WM_TRANSIENT_FOR to a
    non-top-level window

    You just need to detect if an app sets an invalid hint (which
    should only be 1-2 lines of code, I think; see comment
    for pointers). Then spit out a warning in that case.

4 thoughts on “Metacity Goals”

  1. Feature I’d like to see: Per workspace focus stacks. When I go back to a previously visited workspace, I want the focus to be whatever it was when I left even though I moved my mouse. This is the main reason I use openbox instead, it fakes this functionality by ignoring mouse enter on workspace switch.

  2. I’d like to see also a better window placement algorithm, something like the “first-fit” in the old sawfish. Or at least I’d like to have window placed starting from the top left instead of center of the screen.

  3. Heya – I’d really appreciate the ability to double click the App/Window icon on the top left to close a window. It’s difficult coming from a KDE environment to GNOME as it is – Please help! :P

Comments are closed.