Half-finished code finishing marathon time

I have several half-finished bits of code lying around.  I think I’ll make an effort to merge them in, at least in test branches, to see what people think.  (When we get a DVCS, this will be easier.)

  1. Veracity, a test suite.  This is about two-thirds done, but will require a bit of autotools magic to link into the main build process.  I may need some help with that.
  2. Window matching: something to remember window positions across sessions.  There’s been a few requests for it recently (most recently , Launchpad bug 311615).  We’ve always said we wouldn’t do this, but maybe there’s no harm done in trying it in a branch as an experiment.
  3. Opacity, a simple WYSIWYG theme editor.  About a quarter to a third of it is written.  Probably would be best to make this a separate project.
  4. Actions.  The idea has often come up (e.g . GNOME bug 345233) that if there’s something you can bind a keystroke to, you should be able to put it into the window menu or make it a titlebar button or whatever.  This may be over-configurable, but there may be advantages of a simplified architecture in making it possible at all. There’s experimental code to do this, but it’s about half done.
  5. “Cringe”: how much can we avoid keeping in memory at once?  This is an answer to what I think is our oldest current bug , GNOME bug 144242.  Saving a few bytes here and there per window can really add up.  I’ve done a small amount of playing around with this, but more is needed.  Having Veracity working will really make this easier because then we’ll just be able to run a stress test inside valgrind.

Gentle reader, which should be moved out of Metacity Labs first?


  1. Posted January 12, 2009 at 3:09 am | Permalink

    In order of preference;

    Actions, Window Matching, Opacity (what language is this written in?)

  2. Posted January 12, 2009 at 3:18 am | Permalink

    C. I need to bind to libmetacity-private a lot (see the previews in the screenshot) and it didn’t seem worth writing the code to call it from Python or something.

  3. Nick Welch
    Posted January 12, 2009 at 6:03 am | Permalink


  4. Domenico
    Posted January 12, 2009 at 8:57 am | Permalink

    “Window matching” is on top of my list

  5. Posted January 12, 2009 at 3:06 pm | Permalink

    My personal opinion for order of preference on which is merged:
    window matching, opacity, theme editor.

    I see it as a bug that metacity isn’t able to remember window positions. Great work and keep up the status updates though.

  6. jeff
    Posted January 12, 2009 at 10:03 pm | Permalink

    Window matching would be a killer feature. WANT.

  7. Ka-Hing Cheung
    Posted January 13, 2009 at 5:05 am | Permalink


2 Trackbacks

  1. By ᛏᚦ » Blog Archive » Things I did on January 12, 2009 at 2:32 am

    […] so I need to work that off. I made dinner tonight: it was pierogies and beans. Also, I made the first post for a while on the Metacity blog. I upgraded to Jaunty but this seems to have broken the mp3 player. I also […]

  2. By The answers page - …for the adult in you on January 12, 2009 at 3:47 am

    […] …for the adult in you “Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios.” Skip to content « Half-finished code finishing marathon time […]