Author Archives: Thomas Thurman

Mostly themes, triaging, and patch review.


In the comments to a previous post, we were asked about implementing tabs in the window manager.  Calum pointed out that the HIG recommends against applications adding their own document-level tabs on the grounds that this is a job for the window manager.  Yet the window manager has never risen to the challenge, and very […]


There has been some discussion on the last post about implementing functionality similar to Microsoft’s “Aero Snap”.  Your chronicler has never used Windows 7, but the idea is demonstrated in this video.  It appears to mean that: when a window is dragged to the left or right of the screen, it is vertically maximised, and […]

Expansion and external tools

In GNOME bug 517722, a new keybinding is suggested which will make the focussed window take up as much space as possible without covering any other window.  If applied to all windows, it would make Metacity behave like a tiling window manager. The main problem with this idea is the same one we were discussing […]

Border widths under user control

At present, the width of a window’s border is decided by the current theme.  However, some people find it harder either to see thin borders or to click on them.  They would prefer thicker borders than most people want. In addition, Metacity measures border widths in pixels.  The higher the resolution of a display, the […]

Metacity Journal 2010-01-18

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 […]

Window managers and D-Bus

D-Bus is the standard way for applications to communicate with one another.  But the EWMH, supplemented for our purposes by libwnck, is the standard way for applications to communicate with the window manager .  GNOME bug 531512 raises the suggestion that even window manager communication should be done over D-Bus, or at least that D-Bus […]

Future directions of Cowbell

Future directions. Here’s where Cowbell is going next: The existing functionality is going to be moved into a library called libcowbell.  Very little will be changed at this point from what we already have.  (But there will be some extra tests.) A release of the metacity-cowbell branch will be made that can use libcowbell. A […]

Future directions for Cowbell

I believe the best direction in the immediate future for Cowbell is as follows: Fix the :hover and :active pseudoclasses. Add support for v2 themes back in. Provide a patch for Mutter. Port some more themes, such as Crux. Anyone wishing to advocate for anything else on the future directions list to come sooner is […]

The Sunshine theme

In order to demonstrate Cowbell more adequately, I asked Firinel to help design a new and simple theme. The result was Sunshine. In order to test Cowbell, you will need to download Sunshine.  Then follow the instructions in the README to unpack it into your ~/.themes directory.  The tarball also includes a copy of Crux, […]

CSS on window borders experimental layout language

I’m happy to announce the first experimental version of Metacity with support for CSS window borders (“Cowbell”).  This work was largely supported by Collabora Ltd. You can: download the tarball; read the documentation (it’s not as boring as you might imagine); review the source history. This diagram should explain everything, perhaps. I would especially like […]