[mutter] Remove trailing whitespace



commit 25a16c3379a35c1b84a17ea4dc0884bd9c44bffe
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Fri May 2 09:34:02 2014 -0400

    Remove trailing whitespace

 src/backends/edid-parse.c                      |    4 +-
 src/backends/edid.h                            |   10 +-
 src/backends/meta-cursor-tracker-private.h     |    2 +-
 src/backends/meta-cursor-tracker.c             |    6 +-
 src/backends/meta-display-config-shared.h      |    6 +-
 src/backends/meta-idle-monitor-private.h       |    6 +-
 src/backends/meta-idle-monitor.c               |    6 +-
 src/backends/meta-monitor-config.c             |    8 +-
 src/backends/meta-monitor-manager.c            |    8 +-
 src/backends/meta-monitor-manager.h            |    6 +-
 src/backends/native/meta-monitor-manager-kms.c |    6 +-
 src/backends/native/weston-launch.c            |    6 +-
 src/backends/x11/meta-monitor-manager-xrandr.c |    8 +-
 src/compositor/compositor.c                    |   10 +-
 src/compositor/region-utils.c                  |    4 +-
 src/core/bell.c                                |   32 +-
 src/core/bell.h                                |    8 +-
 src/core/boxes-private.h                       |   10 +-
 src/core/boxes.c                               |   86 +++---
 src/core/constraints.c                         |   70 ++--
 src/core/constraints.h                         |    6 +-
 src/core/core.c                                |   60 ++--
 src/core/core.h                                |    6 +-
 src/core/delete.c                              |   16 +-
 src/core/display-private.h                     |   16 +-
 src/core/display.c                             |  186 +++++-----
 src/core/edge-resistance.c                     |   48 ++--
 src/core/edge-resistance.h                     |    6 +-
 src/core/errors.c                              |    6 +-
 src/core/frame.c                               |   56 ++--
 src/core/frame.h                               |    6 +-
 src/core/keybindings-private.h                 |    6 +-
 src/core/main.c                                |   32 +-
 src/core/mutter.c                              |    2 +-
 src/core/place.c                               |  108 +++---
 src/core/place.h                               |    6 +-
 src/core/prefs.c                               |   58 ++--
 src/core/screen-private.h                      |   14 +-
 src/core/screen.c                              |  310 +++++++++---------
 src/core/stack-tracker.c                       |    2 +-
 src/core/stack.c                               |  192 ++++++------
 src/core/stack.h                               |   12 +-
 src/core/testboxes.c                           |   86 +++---
 src/core/util-private.h                        |    6 +-
 src/core/util.c                                |   54 ++--
 src/core/window-private.h                      |   52 ++--
 src/core/workspace-private.h                   |    8 +-
 src/core/workspace.c                           |   84 +++---
 src/meta/boxes.h                               |    6 +-
 src/meta/common.h                              |    8 +-
 src/meta/errors.h                              |    6 +-
 src/meta/gradient.h                            |    6 +-
 src/meta/group.h                               |    6 +-
 src/meta/main.h                                |    6 +-
 src/meta/prefs.h                               |  176 +++++-----
 src/meta/theme.h                               |    6 +-
 src/meta/util.h                                |    6 +-
 src/ui/frames.c                                |  172 +++++-----
 src/ui/frames.h                                |   10 +-
 src/ui/gradient.c                              |  126 ++++----
 src/ui/menu.c                                  |   58 ++--
 src/ui/menu.h                                  |    6 +-
 src/ui/metaaccellabel.c                        |    8 +-
 src/ui/resizepopup.c                           |   40 ++--
 src/ui/resizepopup.h                           |    6 +-
 src/ui/testgradient.c                          |   28 +-
 src/ui/theme-parser.c                          |  368 ++++++++++----------
 src/ui/theme-private.h                         |   46 ++--
 src/ui/theme.c                                 |  430 ++++++++++++------------
 src/ui/ui.c                                    |   14 +-
 src/ui/ui.h                                    |    6 +-
 src/x11/async-getprop.c                        |   62 ++--
 src/x11/async-getprop.h                        |    6 +-
 src/x11/group-private.h                        |    6 +-
 src/x11/group-props.c                          |   44 ++--
 src/x11/group-props.h                          |    6 +-
 src/x11/group.c                                |   42 ++--
 src/x11/iconcache.c                            |   22 +-
 src/x11/iconcache.h                            |    6 +-
 src/x11/mutter-Xatomtype.h                     |    8 +-
 src/x11/session.c                              |  250 +++++++-------
 src/x11/session.h                              |   12 +-
 src/x11/testasyncgetprop.c                     |   76 ++--
 src/x11/window-props.c                         |   66 ++--
 src/x11/window-props.h                         |    6 +-
 src/x11/xprops.c                               |  204 ++++++------
 src/x11/xprops.h                               |   14 +-
 87 files changed, 2060 insertions(+), 2060 deletions(-)
---
diff --git a/src/backends/edid-parse.c b/src/backends/edid-parse.c
index 5b3283a..52bc51e 100644
--- a/src/backends/edid-parse.c
+++ b/src/backends/edid-parse.c
@@ -179,7 +179,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
   else if (edid[0x16] == 0)
     {
       info->width_mm = -1;
-      info->height_mm = -1; 
+      info->height_mm = -1;
       info->aspect_ratio = 100.0 / (edid[0x15] + 99);
     }
   else if (edid[0x15] == 0)
@@ -267,7 +267,7 @@ decode_color_characteristics (const uchar *edid, MonitorInfo *info)
 static int
 decode_established_timings (const uchar *edid, MonitorInfo *info)
 {
-  static const Timing established[][8] = 
+  static const Timing established[][8] =
     {
       {
         { 800, 600, 60 },
diff --git a/src/backends/edid.h b/src/backends/edid.h
index 703c639..01480bf 100644
--- a/src/backends/edid.h
+++ b/src/backends/edid.h
@@ -1,9 +1,9 @@
 /* edid.h
  *
  * Copyright 2007, 2008, Red Hat, Inc.
- * 
+ *
  * This file is part of the Gnome Library.
- * 
+ *
  * The Gnome Library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -13,12 +13,12 @@
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Library General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU Library General Public
  * License along with the Gnome Library; see the file COPYING.LIB.  If not,
  * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
- * 
+ *
  * Author: Soren Sandmann <sandmann redhat com>
  */
 
@@ -177,7 +177,7 @@ struct MonitorInfo
   DetailedTiming detailed_timings[4];  /* If monitor has a preferred
                                          * mode, it is the first one
                                          * (whether it has, is
-                                         * determined by the 
+                                         * determined by the
                                          * preferred_timing_includes
                                          * bit.
                                          */
diff --git a/src/backends/meta-cursor-tracker-private.h b/src/backends/meta-cursor-tracker-private.h
index 2f20adf..8887c9b 100644
--- a/src/backends/meta-cursor-tracker-private.h
+++ b/src/backends/meta-cursor-tracker-private.h
@@ -53,7 +53,7 @@ struct _MetaCursorTracker {
 
   MetaCursorReference *grab_cursor;
 
-  /* Wayland clients can set a NULL buffer as their cursor 
+  /* Wayland clients can set a NULL buffer as their cursor
    * explicitly, which means that we shouldn't display anything.
    * So, we can't simply store a NULL in window_cursor to
    * determine an unset window cursor; we need an extra boolean.
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index 2511724..b4ecd1f 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -1,8 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright 2013 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  *
diff --git a/src/backends/meta-display-config-shared.h b/src/backends/meta-display-config-shared.h
index 92665cc..36a5608 100644
--- a/src/backends/meta-display-config-shared.h
+++ b/src/backends/meta-display-config-shared.h
@@ -1,7 +1,7 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/* 
+/*
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -11,7 +11,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/backends/meta-idle-monitor-private.h b/src/backends/meta-idle-monitor-private.h
index ea414e1..7a70215 100644
--- a/src/backends/meta-idle-monitor-private.h
+++ b/src/backends/meta-idle-monitor-private.h
@@ -1,8 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright 2013 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  *
diff --git a/src/backends/meta-idle-monitor.c b/src/backends/meta-idle-monitor.c
index adc96ab..688cf51 100644
--- a/src/backends/meta-idle-monitor.c
+++ b/src/backends/meta-idle-monitor.c
@@ -1,8 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright 2013 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  *
diff --git a/src/backends/meta-monitor-config.c b/src/backends/meta-monitor-config.c
index f7ddce5..a232ff4 100644
--- a/src/backends/meta-monitor-config.c
+++ b/src/backends/meta-monitor-config.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat Inc.
  * Some ICCCM manager selection code derived from fvwm2,
@@ -8,7 +8,7 @@
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -18,7 +18,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -570,7 +570,7 @@ is_all_whitespace (const char *text,
                    gsize       text_len)
 {
   gsize i;
-  
+
   for (i = 0; i < text_len; i++)
     if (!g_ascii_isspace (text[i]))
       return FALSE;
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 37439e0..aed7fb5 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat Inc.
  * Some ICCCM manager selection code derived from fvwm2,
@@ -8,7 +8,7 @@
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -18,7 +18,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -852,7 +852,7 @@ meta_monitor_manager_handle_apply_configuration  (MetaDBusDisplayConfig *skeleto
   /* If we were in progress of making a persistent change and we see a
      new request, it's likely that the old one failed in some way, so
      don't save it, but also don't queue for restoring it.
-  */ 
+  */
   if (manager->persistent_timeout_id && persistent)
     {
       g_source_remove (manager->persistent_timeout_id);
diff --git a/src/backends/meta-monitor-manager.h b/src/backends/meta-monitor-manager.h
index 7090f14..56dcb7d 100644
--- a/src/backends/meta-monitor-manager.h
+++ b/src/backends/meta-monitor-manager.h
@@ -12,12 +12,12 @@
  * at MetaScreen instead.
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -27,7 +27,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
index 698c606..a8af375 100644
--- a/src/backends/native/meta-monitor-manager-kms.c
+++ b/src/backends/native/meta-monitor-manager-kms.c
@@ -1,8 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
diff --git a/src/backends/native/weston-launch.c b/src/backends/native/weston-launch.c
index ba1ed74..e94375c 100644
--- a/src/backends/native/weston-launch.c
+++ b/src/backends/native/weston-launch.c
@@ -108,7 +108,7 @@ weston_launch_allowed(struct weston_launch *wl)
                }
                free(session);
        }
-       
+
        return 0;
 }
 
@@ -117,7 +117,7 @@ setup_launcher_socket(struct weston_launch *wl)
 {
        if (socketpair(AF_LOCAL, SOCK_DGRAM, 0, wl->sock) < 0)
                error(1, errno, "socketpair failed");
-       
+
        fcntl(wl->sock[0], F_SETFD, O_CLOEXEC);
 
        return 0;
@@ -640,7 +640,7 @@ main(int argc, char *argv[])
                { "verbose", no_argument,       NULL, 'v' },
                { "help",    no_argument,       NULL, 'h' },
                { 0,         0,                 NULL,  0  }
-       };      
+       };
 
        memset(&wl, 0, sizeof wl);
        wl.drm_fd = -1;
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
index cc5c7cc..0741a91 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.c
+++ b/src/backends/x11/meta-monitor-manager-xrandr.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat Inc.
  * Some ICCCM manager selection code derived from fvwm2,
@@ -8,7 +8,7 @@
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
  * Copyright (C) 2013 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -18,7 +18,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -272,7 +272,7 @@ get_edid_property (Display  *dpy,
     }
 
   XFree (prop);
-    
+
   return result;
 }
 
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 12ebbb5..e5e7756 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -555,10 +555,10 @@ meta_compositor_manage (MetaCompositor *compositor)
 
       meta_empty_stage_input_region (screen);
 
-      /* Make sure there isn't any left-over output shape on the 
+      /* Make sure there isn't any left-over output shape on the
        * overlay window by setting the whole screen to be an
        * output region.
-       * 
+       *
        * Note: there doesn't seem to be any real chance of that
        *  because the X server will destroy the overlay window
        *  when the last client using it exits.
@@ -746,9 +746,9 @@ meta_compositor_window_surface_changed (MetaCompositor *compositor,
 
 /**
  * meta_compositor_process_event: (skip)
- * @compositor: 
- * @event: 
- * @window: 
+ * @compositor:
+ * @event:
+ * @window:
  *
  */
 gboolean
diff --git a/src/compositor/region-utils.c b/src/compositor/region-utils.c
index 4862455..a78321d 100644
--- a/src/compositor/region-utils.c
+++ b/src/compositor/region-utils.c
@@ -121,7 +121,7 @@ meta_region_builder_finish (MetaRegionBuilder *builder)
 
   return result;
 }
-
+
 
 /* MetaRegionIterator */
 
@@ -171,7 +171,7 @@ meta_region_iterator_next (MetaRegionIterator *iter)
       iter->line_end = TRUE;
     }
 }
-
+
 static void
 add_expanded_rect (MetaRegionBuilder  *builder,
                    int                 x,
diff --git a/src/core/bell.c b/src/core/bell.c
index 96c8c1a..8b4e76b 100644
--- a/src/core/bell.c
+++ b/src/core/bell.c
@@ -2,10 +2,10 @@
 
 /* Mutter visual bell */
 
-/* 
+/*
  * Copyright (C) 2002 Sun Microsystems Inc.
  * Copyright (C) 2005, 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -71,7 +71,7 @@
  */
 #ifdef HAVE_XKB
 static void
-bell_flash_fullscreen (MetaDisplay *display, 
+bell_flash_fullscreen (MetaDisplay *display,
                        XkbAnyEvent *xkb_ev)
 {
   g_assert (xkb_ev->xkb_type == XkbBellNotify);
@@ -96,7 +96,7 @@ bell_flash_fullscreen (MetaDisplay *display,
  * Bug: This is the parallel to bell_flash_window_frame(), so it should
  * really be called meta_bell_unflash_window_frame().
  */
-static gboolean 
+static gboolean
 bell_unflash_frame (gpointer data)
 {
   MetaFrame *frame = (MetaFrame *) data;
@@ -143,12 +143,12 @@ bell_flash_window_frame (MetaWindow *window)
  * flashes the screen.
  */
 static void
-bell_flash_frame (MetaDisplay *display, 
+bell_flash_frame (MetaDisplay *display,
                  XkbAnyEvent *xkb_ev)
 {
   XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev;
   MetaWindow *window;
-  
+
   g_assert (xkb_ev->xkb_type == XkbBellNotify);
   window = meta_display_lookup_x_window (display, xkb_bell_event->window);
   if (!window && (display->focus_window))
@@ -180,10 +180,10 @@ bell_flash_frame (MetaDisplay *display,
  * Bug: This should be merged with meta_bell_notify().
  */
 static void
-bell_visual_notify (MetaDisplay *display, 
+bell_visual_notify (MetaDisplay *display,
                         XkbAnyEvent *xkb_ev)
 {
-  switch (meta_prefs_get_visual_bell_type ()) 
+  switch (meta_prefs_get_visual_bell_type ())
     {
     case G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH:
       bell_flash_fullscreen (display, xkb_ev);
@@ -195,7 +195,7 @@ bell_visual_notify (MetaDisplay *display,
 }
 
 void
-meta_bell_notify (MetaDisplay *display, 
+meta_bell_notify (MetaDisplay *display,
                  XkbAnyEvent *xkb_ev)
 {
   /* flash something */
@@ -271,19 +271,19 @@ meta_bell_init (MetaDisplay *display)
 #ifdef HAVE_XKB
   int xkb_base_error_type, xkb_opcode;
 
-  if (!XkbQueryExtension (display->xdisplay, &xkb_opcode, 
-                         &display->xkb_base_event_type, 
-                         &xkb_base_error_type, 
+  if (!XkbQueryExtension (display->xdisplay, &xkb_opcode,
+                         &display->xkb_base_event_type,
+                         &xkb_base_error_type,
                          NULL, NULL))
     {
       display->xkb_base_event_type = -1;
       g_message ("could not find XKB extension.");
       return FALSE;
     }
-  else 
+  else
     {
       unsigned int mask = XkbBellNotifyMask;
-      gboolean visual_bell_auto_reset = FALSE; 
+      gboolean visual_bell_auto_reset = FALSE;
       /* TRUE if and when non-broken version is available */
       XkbSelectEvents (display->xdisplay,
                       XkbUseCoreKbd,
@@ -326,6 +326,6 @@ meta_bell_shutdown (MetaDisplay *display)
 void
 meta_bell_notify_frame_destroy (MetaFrame *frame)
 {
-  if (frame->is_flashing) 
+  if (frame->is_flashing)
     g_source_remove_by_funcs_user_data (&g_timeout_funcs, frame);
 }
diff --git a/src/core/bell.h b/src/core/bell.h
index ef2328f..70bd97b 100644
--- a/src/core/bell.h
+++ b/src/core/bell.h
@@ -1,8 +1,8 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2002 Sun Microsystems Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -28,7 +28,7 @@
 /**
  * meta_bell_notify:
  * @display: The display the bell event came in on
- * @xkb_ev: The bell event we just received 
+ * @xkb_ev: The bell event we just received
  *
  * Gives the user some kind of visual bell; in fact, this is our response
  * to any kind of bell request, but we set it up so that we only get
diff --git a/src/core/boxes-private.h b/src/core/boxes-private.h
index 6b2abde..c2eec0a 100644
--- a/src/core/boxes-private.h
+++ b/src/core/boxes-private.h
@@ -2,9 +2,9 @@
 
 /* Simple box operations */
 
-/* 
+/*
  * Copyright (C) 2005, 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -43,7 +43,7 @@ typedef enum
  *   region_to_string: (RECT_LENGTH+strlen(separator_string)) *
  *                     g_list_length (region)
  *   edge_to_string:   EDGE_LENGTH
- *   edge_list_to_...: (EDGE_LENGTH+strlen(separator_string)) * 
+ *   edge_list_to_...: (EDGE_LENGTH+strlen(separator_string)) *
  *                     g_list_length (edge_list)
  */
 #define RECT_LENGTH 27
@@ -181,7 +181,7 @@ void meta_rectangle_find_linepoint_closest_to_point (double x1,    double y1,
 /* Return whether an edge overlaps or is adjacent to the rectangle in the
  * nonzero-width dimension of the edge.
  */
-gboolean meta_rectangle_edge_aligns (const MetaRectangle *rect, 
+gboolean meta_rectangle_edge_aligns (const MetaRectangle *rect,
                                      const MetaEdge      *edge);
 
 /* Compare two edges, so that sorting functions can put a list of edges in
diff --git a/src/core/boxes.c b/src/core/boxes.c
index 7f916cb..3ab01ff 100644
--- a/src/core/boxes.c
+++ b/src/core/boxes.c
@@ -6,14 +6,14 @@
  * @Short_Description: Simple box operations
  */
 
-/* 
+/*
  * Copyright (C) 2005, 2006 Elijah Newren
  * [meta_rectangle_intersect() is copyright the GTK+ Team according to Havoc,
  * see gdkrectangle.c.  As far as Havoc knows, he probably wrote
  * meta_rectangle_equal(), and I'm guessing it's (C) Red Hat.  So...]
  * Copyright (C) 1995-2000  GTK+ Team
  * Copyright (C) 2002 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -23,7 +23,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -69,7 +69,7 @@ meta_rectangle_to_string (const MetaRectangle *rect,
    * Should be more than enough space.  Note that of this space, the
    * trailing \0 will be overwritten for all but the last rectangle.
    */
-  g_snprintf (output, RECT_LENGTH, "%d,%d +%d,%d", 
+  g_snprintf (output, RECT_LENGTH, "%d,%d +%d,%d",
               rect->x, rect->y, rect->width, rect->height);
 
   return output;
@@ -96,7 +96,7 @@ meta_rectangle_region_to_string (GList      *region,
   while (tmp)
     {
       MetaRectangle *rect = tmp->data;
-      g_snprintf (rect_string, RECT_LENGTH, "[%d,%d +%d,%d]", 
+      g_snprintf (rect_string, RECT_LENGTH, "[%d,%d +%d,%d]",
                   rect->x, rect->y, rect->width, rect->height);
       cur = g_stpcpy (cur, rect_string);
       tmp = tmp->next;
@@ -118,7 +118,7 @@ meta_rectangle_edge_to_string (const MetaEdge *edge,
    * Plus 2 for parenthesis, 4 for 2 more numbers, 2 more commas, and
    * 2 more spaces, for a total of 10 more.
    */
-  g_snprintf (output, EDGE_LENGTH, "[%d,%d +%d,%d], %2d, %2d", 
+  g_snprintf (output, EDGE_LENGTH, "[%d,%d +%d,%d], %2d, %2d",
               edge->rect.x, edge->rect.y, edge->rect.width, edge->rect.height,
               edge->side_type, edge->edge_type);
 
@@ -150,7 +150,7 @@ meta_rectangle_edge_list_to_string (GList      *edge_list,
     {
       MetaEdge      *edge = tmp->data;
       MetaRectangle *rect = &edge->rect;
-      g_snprintf (rect_string, EDGE_LENGTH, "([%d,%d +%d,%d], %2d, %2d)", 
+      g_snprintf (rect_string, EDGE_LENGTH, "([%d,%d +%d,%d], %2d, %2d)",
                   rect->x, rect->y, rect->width, rect->height,
                   edge->side_type, edge->edge_type);
       cur = g_stpcpy (cur, rect_string);
@@ -210,7 +210,7 @@ meta_rectangle_intersect (const MetaRectangle *src1,
   dest_y = MAX (src1->y, src2->y);
   dest_w = MIN (src1->x + src1->width, src2->x + src2->width) - dest_x;
   dest_h = MIN (src1->y + src1->height, src2->y + src2->height) - dest_y;
-  
+
   if (dest_w > 0 && dest_h > 0)
     {
       dest->x = dest_x;
@@ -320,7 +320,7 @@ gboolean
 meta_rectangle_contains_rect  (const MetaRectangle *outer_rect,
                                const MetaRectangle *inner_rect)
 {
-  return 
+  return
     inner_rect->x                      >= outer_rect->x &&
     inner_rect->y                      >= outer_rect->y &&
     inner_rect->x + inner_rect->width  <= outer_rect->x + outer_rect->width &&
@@ -339,7 +339,7 @@ meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect,
    * boxes.h has a good comment, but I'm not sure if the below info is also
    * helpful on top of that (or whether it has superfluous info).
    */
- 
+
   /* These formulas may look overly simplistic at first but you can work
    * everything out with a left_frame_with, right_frame_width,
    * border_width, and old and new client area widths (instead of old total
@@ -389,7 +389,7 @@ meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect,
       break;
     }
   rect->width = new_width;
-  
+
   /* Next, the y direction */
   switch (gravity)
     {
@@ -629,7 +629,7 @@ meta_rectangle_get_minimal_spanning_set_for_region (
 
   for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
     {
-      GList *rect_iter; 
+      GList *rect_iter;
       MetaRectangle *strut_rect = &((MetaStrut*)strut_iter->data)->rect;
 
       tmp_list = ret;
@@ -764,7 +764,7 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle       *rect,
    */
   g_assert ((direction == META_DIRECTION_HORIZONTAL) ^
             (direction == META_DIRECTION_VERTICAL  ));
- 
+
   if (direction == META_DIRECTION_HORIZONTAL)
     {
       rect->x      = expand_to->x;
@@ -776,12 +776,12 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle       *rect,
       rect->height = expand_to->height;
     }
 
- 
+
   /* Run over all struts */
   for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
     {
       MetaStrut *strut = (MetaStrut*) strut_iter->data;
- 
+
       /* Skip struts that don't overlap */
       if (!meta_rectangle_overlap (&strut->rect, rect))
         continue;
@@ -822,7 +822,7 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle       *rect,
 void
 meta_rectangle_free_list_and_elements (GList *filled_list)
 {
-  g_list_foreach (filled_list, 
+  g_list_foreach (filled_list,
                   (void (*)(gpointer,gpointer))&g_free, /* ew, for ugly */
                   NULL);
   g_list_free (filled_list);
@@ -900,20 +900,20 @@ meta_rectangle_clamp_to_fit_into_region (const GList         *spanning_rects,
     {
       MetaRectangle *compare_rect = temp->data;
       int            maximal_overlap_amount_for_compare;
-      
+
       /* If x is fixed and the entire width of rect doesn't fit in compare,
        * skip this rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_X) &&
-          (compare_rect->x > rect->x || 
+          (compare_rect->x > rect->x ||
            compare_rect->x + compare_rect->width < rect->x + rect->width))
         continue;
-        
+
       /* If y is fixed and the entire height of rect doesn't fit in compare,
        * skip this rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_Y) &&
-          (compare_rect->y > rect->y || 
+          (compare_rect->y > rect->y ||
            compare_rect->y + compare_rect->height < rect->y + rect->height))
         continue;
 
@@ -970,20 +970,20 @@ meta_rectangle_clip_to_region (const GList         *spanning_rects,
       MetaRectangle *compare_rect = temp->data;
       MetaRectangle  overlap;
       int            maximal_overlap_amount_for_compare;
-     
+
       /* If x is fixed and the entire width of rect doesn't fit in compare,
        * skip the rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_X) &&
-          (compare_rect->x > rect->x || 
+          (compare_rect->x > rect->x ||
            compare_rect->x + compare_rect->width < rect->x + rect->width))
         continue;
-        
+
       /* If y is fixed and the entire height of rect doesn't fit in compare,
        * skip the rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_Y) &&
-          (compare_rect->y > rect->y || 
+          (compare_rect->y > rect->y ||
            compare_rect->y + compare_rect->height < rect->y + rect->height))
         continue;
 
@@ -1043,26 +1043,26 @@ meta_rectangle_shove_into_region (const GList         *spanning_rects,
   /* First, find best rectangle from spanning_rects to which we will shove
    * rect into.
    */
-  
+
   for (temp = spanning_rects; temp; temp = temp->next)
     {
       MetaRectangle *compare_rect = temp->data;
       int            maximal_overlap_amount_for_compare;
       int            dist_to_compare;
-      
+
       /* If x is fixed and the entire width of rect doesn't fit in compare,
        * skip this rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_X) &&
-          (compare_rect->x > rect->x || 
+          (compare_rect->x > rect->x ||
            compare_rect->x + compare_rect->width < rect->x + rect->width))
         continue;
-        
+
       /* If y is fixed and the entire height of rect doesn't fit in compare,
        * skip this rectangle.
        */
       if ((fixed_directions & FIXED_DIRECTION_Y) &&
-          (compare_rect->y > rect->y || 
+          (compare_rect->y > rect->y ||
            compare_rect->y + compare_rect->height < rect->y + rect->height))
         continue;
 
@@ -1218,7 +1218,7 @@ meta_rectangle_edge_aligns (const MetaRectangle *rect, const MetaEdge *edge)
 }
 
 static GList*
-get_rect_minus_overlap (const GList   *rect_in_list, 
+get_rect_minus_overlap (const GList   *rect_in_list,
                         MetaRectangle *overlap)
 {
   MetaRectangle *temp;
@@ -1263,7 +1263,7 @@ get_rect_minus_overlap (const GList   *rect_in_list,
 }
 
 static GList*
-replace_rect_with_list (GList *old_element, 
+replace_rect_with_list (GList *old_element,
                         GList *new_list)
 {
   GList *ret;
@@ -1475,7 +1475,7 @@ rectangle_and_edge_intersection (const MetaRectangle *rect,
   overlap->edge_type = -1;
   overlap->side_type = -1;
 
-  /* Figure out what the intersection is */  
+  /* Figure out what the intersection is */
   result->x = MAX (rect->x, rect2->x);
   result->y = MAX (rect->y, rect2->y);
   result->width  = MIN (BOX_RIGHT (*rect),  BOX_RIGHT (*rect2))  - result->x;
@@ -1546,7 +1546,7 @@ rectangle_and_edge_intersection (const MetaRectangle *rect,
  * TOP<->BOTTOM).
  */
 static GList*
-add_edges (GList               *cur_edges, 
+add_edges (GList               *cur_edges,
            const MetaRectangle *rect,
            gboolean             rect_is_internal)
 {
@@ -1560,23 +1560,23 @@ add_edges (GList               *cur_edges,
       switch (i)
         {
         case 0:
-          temp_edge->side_type = 
+          temp_edge->side_type =
             rect_is_internal ? META_SIDE_LEFT : META_SIDE_RIGHT;
           temp_edge->rect.width = 0;
           break;
         case 1:
-          temp_edge->side_type = 
+          temp_edge->side_type =
             rect_is_internal ? META_SIDE_RIGHT : META_SIDE_LEFT;
           temp_edge->rect.x     += temp_edge->rect.width;
           temp_edge->rect.width  = 0;
           break;
         case 2:
-          temp_edge->side_type = 
+          temp_edge->side_type =
             rect_is_internal ? META_SIDE_TOP : META_SIDE_BOTTOM;
           temp_edge->rect.height = 0;
           break;
         case 3:
-          temp_edge->side_type = 
+          temp_edge->side_type =
             rect_is_internal ? META_SIDE_BOTTOM : META_SIDE_TOP;
           temp_edge->rect.y      += temp_edge->rect.height;
           temp_edge->rect.height  = 0;
@@ -1593,8 +1593,8 @@ add_edges (GList               *cur_edges,
  * edges to cur_list.  Return cur_list when finished.
  */
 static GList*
-split_edge (GList *cur_list, 
-            const MetaEdge *old_edge, 
+split_edge (GList *cur_list,
+            const MetaEdge *old_edge,
             const MetaEdge *remove)
 {
   MetaEdge *temp_edge;
@@ -1653,7 +1653,7 @@ split_edge (GList *cur_list,
  * if and how rect and edge intersect.
  */
 static void
-fix_up_edges (MetaRectangle *rect,         MetaEdge *edge, 
+fix_up_edges (MetaRectangle *rect,         MetaEdge *edge,
               GList         **strut_edges, GList    **edge_splits,
               gboolean      *edge_needs_removal)
 {
@@ -1777,7 +1777,7 @@ meta_rectangle_find_onscreen_edges (const MetaRectangle *basic_rect,
 {
   GList        *ret;
   GList        *fixed_strut_rects;
-  GList        *edge_iter; 
+  GList        *edge_iter;
   const GList  *strut_rect_iter;
 
   /* The algorithm is basically as follows:
@@ -1817,7 +1817,7 @@ meta_rectangle_find_onscreen_edges (const MetaRectangle *basic_rect,
           GList *splits_of_cur_edge = NULL;
           gboolean edge_needs_removal = FALSE;
 
-          fix_up_edges (strut_rect,       cur_edge, 
+          fix_up_edges (strut_rect,       cur_edge,
                         &new_strut_edges, &splits_of_cur_edge,
                         &edge_needs_removal);
 
@@ -1981,7 +1981,7 @@ meta_rectangle_find_nonintersected_monitor_edges (
   for (; all_struts; all_struts = all_struts->next)
     temp_rects = g_slist_prepend (temp_rects,
                                   &((MetaStrut*)all_struts->data)->rect);
-  ret = meta_rectangle_remove_intersections_with_boxes_from_edges (ret, 
+  ret = meta_rectangle_remove_intersections_with_boxes_from_edges (ret,
                                                                    temp_rects);
   g_slist_free (temp_rects);
 
diff --git a/src/core/constraints.c b/src/core/constraints.c
index 177a7d9..e4e019b 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -42,7 +42,7 @@
  //      "constrain_whatever".
  //   3) Add your function to the all_constraints and all_constraint_names
  //      arrays (the latter of which is for debugging purposes)
- // 
+ //
  // An example constraint function, constrain_whatever:
  //
  // /* constrain_whatever does the following:
@@ -246,7 +246,7 @@ do_all_constraints (MetaWindow         *window,
           /* Log how the constraint modified the position */
           meta_topic (META_DEBUG_GEOMETRY,
                       "info->current is %d,%d +%d,%d after %s\n",
-                      info->current.x, info->current.y, 
+                      info->current.x, info->current.y,
                       info->current.width, info->current.height,
                       constraint->name);
         }
@@ -282,7 +282,7 @@ meta_window_constrain (MetaWindow          *window,
               new->x,  new->y,  new->width,  new->height);
 
   setup_constraint_info (&info,
-                         window, 
+                         window,
                          flags,
                          resize_gravity,
                          orig,
@@ -295,7 +295,7 @@ meta_window_constrain (MetaWindow          *window,
     /* Individually enforce all the high-enough priority constraints */
     do_all_constraints (window, &info, priority, !check_only);
 
-    /* Check if all high-enough priority constraints are simultaneously 
+    /* Check if all high-enough priority constraints are simultaneously
      * satisfied
      */
     satisfied = do_all_constraints (window, &info, priority, check_only);
@@ -398,10 +398,10 @@ setup_constraint_info (ConstraintInfo      *info,
     }
 
   cur_workspace = window->screen->active_workspace;
-  info->usable_screen_region   = 
+  info->usable_screen_region   =
     meta_workspace_get_onscreen_region (cur_workspace);
-  info->usable_monitor_region = 
-    meta_workspace_get_onmonitor_region (cur_workspace, 
+  info->usable_monitor_region =
+    meta_workspace_get_onmonitor_region (cur_workspace,
                                          monitor_info->number);
 
   /* Workaround braindead legacy apps that don't know how to
@@ -441,7 +441,7 @@ setup_constraint_info (ConstraintInfo      *info,
               "  work_area_monitor: %d,%d +%d,%d\n"
               "  entire_monitor   : %d,%d +%d,%d\n",
               info->orig.x, info->orig.y, info->orig.width, info->orig.height,
-              info->current.x, info->current.y, 
+              info->current.x, info->current.y,
                 info->current.width, info->current.height,
               (info->action_type == ACTION_MOVE) ? "Move" :
                 (info->action_type == ACTION_RESIZE) ? "Resize" :
@@ -454,7 +454,7 @@ setup_constraint_info (ConstraintInfo      *info,
                 (info->fixed_directions == FIXED_DIRECTION_Y) ? "Y fixed" :
                 "Freakin' Invalid Stupid",
               info->work_area_monitor.x, info->work_area_monitor.y,
-                info->work_area_monitor.width, 
+                info->work_area_monitor.width,
                 info->work_area_monitor.height,
               info->entire_monitor.x, info->entire_monitor.y,
                 info->entire_monitor.width, info->entire_monitor.height);
@@ -502,8 +502,8 @@ place_window_if_needed(MetaWindow     *window,
                                              monitor_info->number,
                                              &info->work_area_monitor);
       cur_workspace = window->screen->active_workspace;
-      info->usable_monitor_region = 
-        meta_workspace_get_onmonitor_region (cur_workspace, 
+      info->usable_monitor_region =
+        meta_workspace_get_onmonitor_region (cur_workspace,
                                              monitor_info->number);
 
       meta_window_frame_rect_to_client_rect (window, &placed_rect, &placed_rect);
@@ -546,7 +546,7 @@ place_window_if_needed(MetaWindow     *window,
 
           if (window->maximize_horizontally_after_placement ||
               window->maximize_vertically_after_placement)
-            meta_window_maximize_internal (window,   
+            meta_window_maximize_internal (window,
                 (window->maximize_horizontally_after_placement ?
                  META_MAXIMIZE_HORIZONTAL : 0 ) |
                 (window->maximize_vertically_after_placement ?
@@ -631,7 +631,7 @@ update_onscreen_requirements (MetaWindow     *window,
   if (old ^ window->require_on_single_monitor)
     meta_topic (META_DEBUG_GEOMETRY,
                 "require_on_single_monitor for %s toggled to %s\n",
-                window->desc, 
+                window->desc,
                 window->require_on_single_monitor ? "TRUE" : "FALSE");
 
   /* Update whether we want future constraint runs to require the
@@ -910,7 +910,7 @@ constrain_size_increments (MetaWindow         *window,
     return TRUE;
 
   /* Determine whether constraint applies; exit if it doesn't */
-  if (META_WINDOW_MAXIMIZED (window) || window->fullscreen || 
+  if (META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
       META_WINDOW_TILED_SIDE_BY_SIDE (window) ||
       info->action_type == ACTION_MOVE)
     return TRUE;
@@ -928,7 +928,7 @@ constrain_size_increments (MetaWindow         *window,
   if (window->maximized_vertically)
     extra_height *= 0;
   /* constraint is satisfied iff there is no extra height or width */
-  constraint_already_satisfied = 
+  constraint_already_satisfied =
     (extra_height == 0 && extra_width == 0);
 
   if (check_only || constraint_already_satisfied)
@@ -954,10 +954,10 @@ constrain_size_increments (MetaWindow         *window,
     start_rect = &info->current;
   else
     start_rect = &info->orig;
-    
+
   /* Resize to the new size */
   meta_rectangle_resize_with_gravity (start_rect,
-                                      &info->current, 
+                                      &info->current,
                                       info->resize_gravity,
                                       new_width,
                                       new_height);
@@ -1002,7 +1002,7 @@ constrain_size_limits (MetaWindow         *window,
   /*** Enforce constraint ***/
   new_width  = CLAMP (info->current.width,  min_size.width,  max_size.width);
   new_height = CLAMP (info->current.height, min_size.height, max_size.height);
-  
+
   /* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
    * See bug 448183
    */
@@ -1010,9 +1010,9 @@ constrain_size_limits (MetaWindow         *window,
     start_rect = &info->current;
   else
     start_rect = &info->orig;
-  
+
   meta_rectangle_resize_with_gravity (start_rect,
-                                      &info->current, 
+                                      &info->current,
                                       info->resize_gravity,
                                       new_width,
                                       new_height);
@@ -1042,7 +1042,7 @@ constrain_aspect_ratio (MetaWindow         *window,
          (double)window->size_hints.max_aspect.y;
   constraints_are_inconsistent = minr > maxr;
   if (constraints_are_inconsistent ||
-      META_WINDOW_MAXIMIZED (window) || window->fullscreen || 
+      META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
       META_WINDOW_TILED_SIDE_BY_SIDE (window) ||
       info->action_type == ACTION_MOVE)
     return TRUE;
@@ -1082,7 +1082,7 @@ constrain_aspect_ratio (MetaWindow         *window,
       fudge = 1;
       break;
     }
-  constraint_already_satisfied = 
+  constraint_already_satisfied =
     info->current.width - (info->current.height * minr ) > -minr*fudge &&
     info->current.width - (info->current.height * maxr ) <  maxr*fudge;
   if (check_only || constraint_already_satisfied)
@@ -1146,7 +1146,7 @@ constrain_aspect_ratio (MetaWindow         *window,
     start_rect = &info->orig;
 
   meta_rectangle_resize_with_gravity (start_rect,
-                                      &info->current, 
+                                      &info->current,
                                       info->resize_gravity,
                                       new_width,
                                       new_height);
@@ -1194,7 +1194,7 @@ do_screen_and_monitor_relative_constraints (
     exit_early = TRUE;
 
   /* Determine whether constraint is already satisfied; exit if it is */
-  constraint_satisfied = 
+  constraint_satisfied =
     meta_rectangle_contained_in_region (region_spanning_rectangles,
                                         &info->current);
   if (exit_early || constraint_satisfied || check_only)
@@ -1233,7 +1233,7 @@ constrain_to_single_monitor (MetaWindow         *window,
     return TRUE;
 
   /* Exit early if we know the constraint won't apply--note that this constraint
-   * is only meant for normal windows (e.g. we don't want docks to be shoved 
+   * is only meant for normal windows (e.g. we don't want docks to be shoved
    * "onscreen" by their own strut) and we can't apply it to frameless windows
    * or else users will be unable to move windows such as XMMS across monitors.
    */
@@ -1246,7 +1246,7 @@ constrain_to_single_monitor (MetaWindow         *window,
     return TRUE;
 
   /* Have a helper function handle the constraint for us */
-  return do_screen_and_monitor_relative_constraints (window, 
+  return do_screen_and_monitor_relative_constraints (window,
                                                      info->usable_monitor_region,
                                                      info,
                                                      check_only);
@@ -1262,18 +1262,18 @@ constrain_fully_onscreen (MetaWindow         *window,
     return TRUE;
 
   /* Exit early if we know the constraint won't apply--note that this constraint
-   * is only meant for normal windows (e.g. we don't want docks to be shoved 
+   * is only meant for normal windows (e.g. we don't want docks to be shoved
    * "onscreen" by their own strut).
    */
   if (window->type == META_WINDOW_DESKTOP ||
       window->type == META_WINDOW_DOCK    ||
       window->fullscreen                  ||
-      !window->require_fully_onscreen     || 
+      !window->require_fully_onscreen     ||
       info->is_user_action)
     return TRUE;
 
   /* Have a helper function handle the constraint for us */
-  return do_screen_and_monitor_relative_constraints (window, 
+  return do_screen_and_monitor_relative_constraints (window,
                                                      info->usable_screen_region,
                                                      info,
                                                      check_only);
@@ -1301,7 +1301,7 @@ constrain_titlebar_visible (MetaWindow         *window,
     info->is_user_action && !window->display->grab_frame_action;
 
   /* Exit early if we know the constraint won't apply--note that this constraint
-   * is only meant for normal windows (e.g. we don't want docks to be shoved 
+   * is only meant for normal windows (e.g. we don't want docks to be shoved
    * "onscreen" by their own strut).
    */
   if (window->type == META_WINDOW_DESKTOP ||
@@ -1345,13 +1345,13 @@ constrain_titlebar_visible (MetaWindow         *window,
    */
   meta_rectangle_expand_region_conditionally (info->usable_screen_region,
                                               horiz_amount_offscreen,
-                                              horiz_amount_offscreen, 
+                                              horiz_amount_offscreen,
                                               0, /* Don't let titlebar off */
                                               bottom_amount,
                                               horiz_amount_onscreen,
                                               vert_amount_onscreen);
   retval =
-    do_screen_and_monitor_relative_constraints (window, 
+    do_screen_and_monitor_relative_constraints (window,
                                                 info->usable_screen_region,
                                                 info,
                                                 check_only);
@@ -1381,7 +1381,7 @@ constrain_partially_onscreen (MetaWindow         *window,
     return TRUE;
 
   /* Exit early if we know the constraint won't apply--note that this constraint
-   * is only meant for normal windows (e.g. we don't want docks to be shoved 
+   * is only meant for normal windows (e.g. we don't want docks to be shoved
    * "onscreen" by their own strut).
    */
   if (window->type == META_WINDOW_DESKTOP ||
@@ -1423,13 +1423,13 @@ constrain_partially_onscreen (MetaWindow         *window,
    */
   meta_rectangle_expand_region_conditionally (info->usable_screen_region,
                                               horiz_amount_offscreen,
-                                              horiz_amount_offscreen, 
+                                              horiz_amount_offscreen,
                                               top_amount,
                                               bottom_amount,
                                               horiz_amount_onscreen,
                                               vert_amount_onscreen);
   retval =
-    do_screen_and_monitor_relative_constraints (window, 
+    do_screen_and_monitor_relative_constraints (window,
                                                 info->usable_screen_region,
                                                 info,
                                                 check_only);
diff --git a/src/core/constraints.h b/src/core/constraints.h
index 9c3c41e..794749f 100644
--- a/src/core/constraints.h
+++ b/src/core/constraints.h
@@ -2,10 +2,10 @@
 
 /* Mutter size/position constraints */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat, Inc.
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/core.c b/src/core/core.c
index 427739b..303cd1e 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -2,11 +2,11 @@
 
 /* Mutter interface used by GTK+ UI to talk to core */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -16,7 +16,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -46,7 +46,7 @@ get_window (Display *xdisplay,
 {
   MetaDisplay *display;
   MetaWindow *window;
-  
+
   display = meta_display_for_x_display (xdisplay);
   window = meta_display_lookup_x_window (display, frame_xwindow);
 
@@ -92,14 +92,14 @@ meta_core_get (Display *xdisplay,
   }
 
   while (request != META_CORE_GET_END) {
-    
+
     gpointer answer = va_arg (args, gpointer);
 
     switch (request) {
       case META_CORE_WINDOW_HAS_FRAME:
         *((gboolean*)answer) = window != NULL && window->frame != NULL;
         if (!*((gboolean*)answer)) goto out; /* see above */
-        break; 
+        break;
       case META_CORE_GET_CLIENT_WIDTH:
         *((gint*)answer) = window->rect.width;
         break;
@@ -111,7 +111,7 @@ meta_core_get (Display *xdisplay,
         break;
       case META_CORE_GET_FRAME_FLAGS:
         *((MetaFrameFlags*)answer) = meta_frame_get_flags (window->frame);
-        break; 
+        break;
       case META_CORE_GET_FRAME_TYPE:
         *((MetaFrameType*)answer) = meta_window_get_frame_type (window);
         break;
@@ -157,7 +157,7 @@ meta_core_get (Display *xdisplay,
     }
 
     request = va_arg (args, MetaCoreGetType);
-  } 
+  }
 
  out:
   va_end (args);
@@ -189,21 +189,21 @@ lower_window_and_transients (MetaWindow *window,
        * (Borrowed from window.c.)
        */
       if (window->screen->active_workspace &&
-          meta_window_located_on_workspace (window, 
+          meta_window_located_on_workspace (window,
                                             window->screen->active_workspace))
         {
           GList* link;
-          link = g_list_find (window->screen->active_workspace->mru_list, 
+          link = g_list_find (window->screen->active_workspace->mru_list,
                               window);
           g_assert (link);
 
-          window->screen->active_workspace->mru_list = 
+          window->screen->active_workspace->mru_list =
             g_list_remove_link (window->screen->active_workspace->mru_list,
                                 link);
           g_list_free (link);
 
-          window->screen->active_workspace->mru_list = 
-            g_list_append (window->screen->active_workspace->mru_list, 
+          window->screen->active_workspace->mru_list =
+            g_list_append (window->screen->active_workspace->mru_list,
                            window);
         }
     }
@@ -235,7 +235,7 @@ meta_core_user_focus (Display *xdisplay,
                       guint32  timestamp)
 {
   MetaWindow *window = get_window (xdisplay, frame_xwindow);
-  
+
   meta_window_focus (window, timestamp);
 }
 
@@ -323,7 +323,7 @@ meta_core_delete (Display *xdisplay,
                   guint32  timestamp)
 {
   MetaWindow *window = get_window (xdisplay, frame_xwindow);
-     
+
   meta_window_delete (window, timestamp);
 }
 
@@ -343,7 +343,7 @@ meta_core_shade (Display *xdisplay,
                  guint32  timestamp)
 {
   MetaWindow *window = get_window (xdisplay, frame_xwindow);
-  
+
   meta_window_shade (window, timestamp);
 }
 
@@ -404,7 +404,7 @@ meta_core_show_window_menu (Display *xdisplay,
                             guint32  timestamp)
 {
   MetaWindow *window = get_window (xdisplay, frame_xwindow);
-  
+
   if (meta_prefs_get_raise_on_click ())
     meta_window_raise (window);
   meta_window_focus (window, timestamp);
@@ -421,7 +421,7 @@ meta_core_get_menu_accelerator (MetaMenuOp           menu_op,
   const char *name;
 
   name = NULL;
-  
+
   switch (menu_op)
     {
     case META_MENU_OP_NONE:
@@ -462,25 +462,25 @@ meta_core_get_menu_accelerator (MetaMenuOp           menu_op,
           break;
         case 3:
           name = "move-to-workspace-3";
-          break; 
+          break;
         case 4:
           name = "move-to-workspace-4";
-          break; 
+          break;
         case 5:
           name = "move-to-workspace-5";
-          break; 
+          break;
         case 6:
           name = "move-to-workspace-6";
-          break; 
+          break;
         case 7:
           name = "move-to-workspace-7";
-          break; 
+          break;
         case 8:
           name = "move-to-workspace-8";
-          break; 
+          break;
         case 9:
           name = "move-to-workspace-9";
-          break; 
+          break;
         case 10:
           name = "move-to-workspace-10";
           break;
@@ -554,12 +554,12 @@ meta_core_begin_grab_op (Display    *xdisplay,
   MetaWindow *window = get_window (xdisplay, frame_xwindow);
   MetaDisplay *display;
   MetaScreen *screen;
-  
+
   display = meta_display_for_x_display (xdisplay);
   screen = display->screen;
 
   g_assert (screen != NULL);
-  
+
   return meta_display_begin_grab_op (display, screen, window,
                                      op, pointer_already_grabbed,
                                      frame_action,
@@ -572,7 +572,7 @@ meta_core_end_grab_op (Display *xdisplay,
                        guint32  timestamp)
 {
   MetaDisplay *display;
-  
+
   display = meta_display_for_x_display (xdisplay);
 
   meta_display_end_grab_op (display, timestamp);
@@ -582,7 +582,7 @@ MetaGrabOp
 meta_core_get_grab_op (Display *xdisplay)
 {
   MetaDisplay *display;
-  
+
   display = meta_display_for_x_display (xdisplay);
 
   return display->grab_op;
@@ -593,7 +593,7 @@ meta_core_grab_buttons  (Display *xdisplay,
                          Window   frame_xwindow)
 {
   MetaDisplay *display;
-    
+
   display = meta_display_for_x_display (xdisplay);
 
   meta_verbose ("Grabbing buttons on frame 0x%lx\n", frame_xwindow);
diff --git a/src/core/core.h b/src/core/core.h
index 845ed8c..cd08233 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -2,10 +2,10 @@
 
 /* Mutter interface used by GTK+ UI to talk to core */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/delete.c b/src/core/delete.c
index 8b50707..759c103 100644
--- a/src/core/delete.c
+++ b/src/core/delete.c
@@ -2,10 +2,10 @@
 
 /* Mutter window deletion */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Havoc Pennington
  * Copyright (C) 2004 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -72,7 +72,7 @@ delete_ping_timeout_func (MetaWindow  *window,
   char *window_title;
   gchar *window_content, *tmp;
   GPid dialog_pid;
-  
+
   meta_topic (META_DEBUG_PING,
               "Got delete ping timeout for %s\n",
               window->desc);
@@ -149,7 +149,7 @@ meta_window_delete (MetaWindow  *window,
 
   if (window->has_focus)
     {
-      /* FIXME Clean this up someday 
+      /* FIXME Clean this up someday
        * http://bugzilla.gnome.org/show_bug.cgi?id=108706
        */
 #if 0
@@ -198,7 +198,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
   meta_topic (META_DEBUG_PING,
               "Presenting existing ping dialog for %s\n",
               window->desc);
-  
+
   if (window->dialog_pid >= 0)
     {
       GSList *windows;
@@ -207,7 +207,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
       /* Activate transient for window that belongs to
        * mutter-dialog
        */
-      
+
       windows = meta_display_list_windows (window->display, META_LIST_DEFAULT);
       tmp = windows;
       while (tmp != NULL)
@@ -220,7 +220,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
               meta_window_activate (w, timestamp);
               break;
             }
-          
+
           tmp = tmp->next;
         }
 
diff --git a/src/core/display-private.h b/src/core/display-private.h
index 708a8ec..abc0088 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -2,12 +2,12 @@
 
 /* Mutter X display handler */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002 Red Hat, Inc.
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -17,7 +17,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -85,7 +85,7 @@ typedef enum {
 struct _MetaDisplay
 {
   GObject parent_instance;
-  
+
   char *name;
   Display *xdisplay;
 
@@ -143,7 +143,7 @@ struct _MetaDisplay
    * multiple events with the same serial.
    */
   guint focused_by_us : 1;
-  
+
   /*< private-ish >*/
   MetaScreen *screen;
   GHashTable *xids;
@@ -157,7 +157,7 @@ struct _MetaDisplay
    */
   unsigned long ignored_crossing_serials[N_IGNORED_CROSSING_SERIALS];
   Window ungrab_should_not_cause_focus_window;
-  
+
   guint32 current_time;
 
   /* We maintain a sequence counter, incremented for each #MetaWindow
@@ -181,7 +181,7 @@ struct _MetaDisplay
 
   /* Alt+click button grabs */
   ClutterModifierType window_grab_modifiers;
-  
+
   /* current window operation */
   MetaGrabOp  grab_op;
   MetaWindow *grab_window;
@@ -234,7 +234,7 @@ struct _MetaDisplay
   gboolean overlay_key_only_pressed;
   MetaKeyCombo *iso_next_group_combos;
   int n_iso_next_group_combos;
-  
+
   /* Monitor cache */
   unsigned int monitor_cache_invalidated : 1;
 
diff --git a/src/core/display.c b/src/core/display.c
index a08c8f9..b02ff8a 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1,11 +1,11 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002, 2003, 2004 Red Hat, Inc.
  * Copyright (C) 2003, 2004 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -441,11 +441,11 @@ meta_display_open (void)
 #undef item
   };
   Atom atoms[G_N_ELEMENTS(atom_names)];
-  
+
   meta_verbose ("Opening display '%s'\n", XDisplayName (NULL));
 
   xdisplay = meta_ui_get_display ();
-  
+
   if (xdisplay == NULL)
     {
       meta_warning (_("Failed to open X Window System display '%s'\n"),
@@ -458,12 +458,12 @@ meta_display_open (void)
 
   if (meta_is_syncing ())
     XSynchronize (xdisplay, True);
-  
+
   g_assert (the_display == NULL);
   the_display = g_object_new (META_TYPE_DISPLAY, NULL);
 
   the_display->closing = 0;
-  
+
   /* here we use XDisplayName which is what the user
    * probably put in, vs. DisplayString(display) which is
    * canonicalized by XOpenDisplay()
@@ -484,7 +484,7 @@ meta_display_open (void)
   the_display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
   the_display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
                                                   terminal has the focus */
-  
+
   meta_bell_init (the_display);
 
   meta_display_init_keys (the_display);
@@ -497,7 +497,7 @@ meta_display_open (void)
   XInternAtoms (the_display->xdisplay, atom_names, G_N_ELEMENTS (atom_names),
                 False, atoms);
   {
-    int i = 0;    
+    int i = 0;
 #define item(x) the_display->atom_##x = atoms[i++];
 #include <meta/atomnames.h>
 #undef item
@@ -507,7 +507,7 @@ meta_display_open (void)
   meta_display_init_window_prop_hooks (the_display);
   the_display->group_prop_hooks = NULL;
   meta_display_init_group_prop_hooks (the_display);
-  
+
   /* Offscreen unmapped window used for _NET_SUPPORTING_WM_CHECK,
    * created in screen_new
    */
@@ -520,9 +520,9 @@ meta_display_open (void)
 
   the_display->window_with_menu = NULL;
   the_display->window_menu = NULL;
-  
+
   the_display->screen = NULL;
-  
+
 #ifdef HAVE_STARTUP_NOTIFICATION
   the_display->sn_display = sn_display_new (the_display->xdisplay,
                                         sn_error_trap_push,
@@ -543,14 +543,14 @@ meta_display_open (void)
       ++i;
     }
   the_display->ungrab_should_not_cause_focus_window = None;
-  
+
   the_display->current_time = CurrentTime;
   the_display->sentinel_counter = 0;
 
   the_display->grab_resize_timeout_id = 0;
   the_display->grab_have_keyboard = FALSE;
-  
-#ifdef HAVE_XKB  
+
+#ifdef HAVE_XKB
   the_display->last_bell_time = 0;
 #endif
 
@@ -565,14 +565,14 @@ meta_display_open (void)
     int major, minor;
 
     the_display->have_xsync = FALSE;
-    
+
     the_display->xsync_error_base = 0;
     the_display->xsync_event_base = 0;
 
     /* I don't think we really have to fill these in */
     major = SYNC_MAJOR_VERSION;
     minor = SYNC_MINOR_VERSION;
-    
+
     if (!XSyncQueryExtension (the_display->xdisplay,
                               &the_display->xsync_event_base,
                               &the_display->xsync_error_base) ||
@@ -596,10 +596,10 @@ meta_display_open (void)
 
   {
     the_display->have_shape = FALSE;
-    
+
     the_display->shape_error_base = 0;
     the_display->shape_event_base = 0;
-    
+
     if (!XShapeQueryExtension (the_display->xdisplay,
                                &the_display->shape_event_base,
                                &the_display->shape_error_base))
@@ -609,7 +609,7 @@ meta_display_open (void)
       }
     else
       the_display->have_shape = TRUE;
-    
+
     meta_verbose ("Attempted to init Shape, found error base %d event base %d\n",
                   the_display->shape_error_base,
                   the_display->shape_event_base);
@@ -627,7 +627,7 @@ meta_display_open (void)
       {
         the_display->composite_error_base = 0;
         the_display->composite_event_base = 0;
-      } 
+      }
     else
       {
         the_display->composite_major_version = 0;
@@ -647,7 +647,7 @@ meta_display_open (void)
 
     meta_verbose ("Attempted to init Composite, found error base %d event base %d "
                   "extn ver %d %d\n",
-                  the_display->composite_error_base, 
+                  the_display->composite_error_base,
                   the_display->composite_event_base,
                   the_display->composite_major_version,
                   the_display->composite_minor_version);
@@ -663,12 +663,12 @@ meta_display_open (void)
       {
         the_display->damage_error_base = 0;
         the_display->damage_event_base = 0;
-      } 
+      }
     else
       the_display->have_damage = TRUE;
 
     meta_verbose ("Attempted to init Damage, found error base %d event base %d\n",
-                  the_display->damage_error_base, 
+                  the_display->damage_error_base,
                   the_display->damage_event_base);
 
     the_display->xfixes_error_base = 0;
@@ -691,7 +691,7 @@ meta_display_open (void)
       }
 
     meta_verbose ("Attempted to init XFixes, found error base %d event base %d\n",
-                  the_display->xfixes_error_base, 
+                  the_display->xfixes_error_base,
                   the_display->xfixes_event_base);
   }
 
@@ -751,7 +751,7 @@ meta_display_open (void)
                                     the_display->leader_window,
                                     the_display->atom__GNOME_WM_KEYBINDINGS,
                                     gnome_wm_keybindings);
-    
+
     meta_prop_set_utf8_string_hint (the_display,
                                     the_display->leader_window,
                                     the_display->atom__MUTTER_VERSION,
@@ -937,7 +937,7 @@ meta_display_list_windows (MetaDisplay          *display,
       GSList *next;
 
       next = tmp->next;
-      
+
       if (next &&
           next->data == tmp->data)
         {
@@ -948,7 +948,7 @@ meta_display_list_windows (MetaDisplay          *display,
 
           if (tmp == winlist)
             winlist = next;
-          
+
           g_slist_free_1 (tmp);
 
           /* leave prev unchanged */
@@ -957,7 +957,7 @@ meta_display_list_windows (MetaDisplay          *display,
         {
           prev = tmp;
         }
-      
+
       tmp = next;
     }
 
@@ -979,7 +979,7 @@ meta_display_close (MetaDisplay *display,
   display->closing += 1;
 
   meta_prefs_remove_listener (prefs_changed_callback, display);
-  
+
   meta_display_remove_autoraise_callback (display);
 
   if (display->focus_timeout_id)
@@ -988,7 +988,7 @@ meta_display_close (MetaDisplay *display,
 
   /* Stop caring about events */
   meta_display_free_events (display);
-  
+
   meta_screen_free (display->screen, timestamp);
 
 #ifdef HAVE_STARTUP_NOTIFICATION
@@ -998,7 +998,7 @@ meta_display_close (MetaDisplay *display,
       display->sn_display = NULL;
     }
 #endif
-  
+
   /* Must be after all calls to meta_window_unmanage() since they
    * unregister windows
    */
@@ -1011,14 +1011,14 @@ meta_display_close (MetaDisplay *display,
 
   meta_display_free_window_prop_hooks (display);
   meta_display_free_group_prop_hooks (display);
-  
+
   g_free (display->name);
 
   meta_display_shutdown_keys (display);
 
   if (display->compositor)
     meta_compositor_destroy (display->compositor);
-  
+
   g_object_unref (display);
   the_display = NULL;
 
@@ -1054,7 +1054,7 @@ meta_display_ungrab (MetaDisplay *display)
 {
   if (display->server_grab_count == 0)
     meta_bug ("Ungrabbed non-grabbed server\n");
-  
+
   display->server_grab_count -= 1;
   if (display->server_grab_count == 0)
     {
@@ -1090,7 +1090,7 @@ meta_display_for_x_display (Display *xdisplay)
 
   meta_warning ("Could not find display for X display %p, probably going to crash\n",
                 xdisplay);
-  
+
   return NULL;
 }
 
@@ -1115,8 +1115,8 @@ meta_grab_op_is_mouse (MetaGrabOp op)
     {
     case META_GRAB_OP_MOVING:
     case META_GRAB_OP_RESIZING_SE:
-    case META_GRAB_OP_RESIZING_S:      
-    case META_GRAB_OP_RESIZING_SW:      
+    case META_GRAB_OP_RESIZING_S:
+    case META_GRAB_OP_RESIZING_SW:
     case META_GRAB_OP_RESIZING_N:
     case META_GRAB_OP_RESIZING_NE:
     case META_GRAB_OP_RESIZING_NW:
@@ -1157,8 +1157,8 @@ meta_grab_op_is_resizing (MetaGrabOp op)
   switch (op)
     {
     case META_GRAB_OP_RESIZING_SE:
-    case META_GRAB_OP_RESIZING_S:      
-    case META_GRAB_OP_RESIZING_SW:      
+    case META_GRAB_OP_RESIZING_S:
+    case META_GRAB_OP_RESIZING_SW:
     case META_GRAB_OP_RESIZING_N:
     case META_GRAB_OP_RESIZING_NE:
     case META_GRAB_OP_RESIZING_NW:
@@ -1188,7 +1188,7 @@ meta_grab_op_is_moving (MetaGrabOp op)
     case META_GRAB_OP_MOVING:
     case META_GRAB_OP_KEYBOARD_MOVING:
       return TRUE;
-      
+
     default:
       return FALSE;
     }
@@ -1282,7 +1282,7 @@ guint32
 meta_display_get_current_time_roundtrip (MetaDisplay *display)
 {
   guint32 timestamp;
-  
+
   timestamp = meta_display_get_current_time (display);
   if (timestamp == CurrentTime)
     {
@@ -1323,7 +1323,7 @@ meta_display_add_ignored_crossing_serial (MetaDisplay  *display,
   /* don't add the same serial more than once */
   if (display->ignored_crossing_serials[N_IGNORED_CROSSING_SERIALS-1] == serial)
     return;
-  
+
   /* shift serials to the left */
   i = 0;
   while (i < (N_IGNORED_CROSSING_SERIALS - 1))
@@ -1335,7 +1335,7 @@ meta_display_add_ignored_crossing_serial (MetaDisplay  *display,
   display->ignored_crossing_serials[i] = serial;
 }
 
-static gboolean 
+static gboolean
 window_raise_with_delay_callback (void *data)
 {
   MetaWindow *window = data;
@@ -1345,8 +1345,8 @@ window_raise_with_delay_callback (void *data)
 
   /* If we aren't already on top, check whether the pointer is inside
    * the window and raise the window if so.
-   */      
-  if (meta_stack_get_top (window->screen->stack) != window) 
+   */
+  if (meta_stack_get_top (window->screen->stack) != window)
     {
       int x, y, root_x, root_y;
       Window root, child;
@@ -1367,8 +1367,8 @@ window_raise_with_delay_callback (void *data)
       if (same_screen && point_in_window)
        meta_window_raise (window);
       else
-       meta_topic (META_DEBUG_FOCUS, 
-                   "Pointer not inside window, not raising %s\n", 
+       meta_topic (META_DEBUG_FOCUS,
+                   "Pointer not inside window, not raising %s\n",
                    window->desc);
     }
 
@@ -1379,15 +1379,15 @@ void
 meta_display_queue_autoraise_callback (MetaDisplay *display,
                                        MetaWindow  *window)
 {
-  meta_topic (META_DEBUG_FOCUS, 
-              "Queuing an autoraise timeout for %s with delay %d\n", 
-              window->desc, 
+  meta_topic (META_DEBUG_FOCUS,
+              "Queuing an autoraise timeout for %s with delay %d\n",
+              window->desc,
               meta_prefs_get_auto_raise_delay ());
-  
+
   if (display->autoraise_timeout_id != 0)
     g_source_remove (display->autoraise_timeout_id);
 
-  display->autoraise_timeout_id = 
+  display->autoraise_timeout_id =
     g_timeout_add_full (G_PRIORITY_DEFAULT,
                         meta_prefs_get_auto_raise_delay (),
                         window_raise_with_delay_callback,
@@ -1561,7 +1561,7 @@ meta_display_register_x_window (MetaDisplay *display,
                                 MetaWindow  *window)
 {
   g_return_if_fail (g_hash_table_lookup (display->xids, xwindowp) == NULL);
-  
+
   g_hash_table_insert (display->xids, xwindowp, window);
 }
 
@@ -1991,7 +1991,7 @@ meta_change_button_grab (MetaDisplay *display,
       mods = (XIGrabModifiers) { modmask | ignored_mask, 0 };
 
       /* GrabModeSync means freeze until XAllowEvents */
-      
+
       if (grab)
         XIGrabButton (xdisplay,
                       META_VIRTUAL_CORE_POINTER_ID,
@@ -2011,7 +2011,7 @@ meta_change_button_grab (MetaDisplay *display,
 void
 meta_display_grab_window_buttons (MetaDisplay *display,
                                   Window       xwindow)
-{  
+{
   MetaBackend *backend = meta_get_backend ();
 
   /* Do nothing under non-X11 backends */
@@ -2024,7 +2024,7 @@ meta_display_grab_window_buttons (MetaDisplay *display,
    * Grab Alt + Shift + button1 for snap-moving window.
    */
   meta_verbose ("Grabbing window buttons for 0x%lx\n", xwindow);
-  
+
   /* FIXME If we ignored errors here instead of spewing, we could
    * put one big error trap around the loop and avoid a bunch of
    * XSync()
@@ -2039,8 +2039,8 @@ meta_display_grab_window_buttons (MetaDisplay *display,
           meta_change_button_grab (display, xwindow,
                                    TRUE,
                                    FALSE,
-                                   i, display->window_grab_modifiers);  
-          
+                                   i, display->window_grab_modifiers);
+
           /* This is for debugging, since I end up moving the Xnest
            * otherwise ;-)
            */
@@ -2079,7 +2079,7 @@ meta_display_ungrab_window_buttons  (MetaDisplay *display,
 
   if (display->window_grab_modifiers == 0)
     return;
-  
+
   debug = g_getenv ("MUTTER_DEBUG_BUTTON_GRABS") != NULL;
   i = 1;
   while (i < 4)
@@ -2087,11 +2087,11 @@ meta_display_ungrab_window_buttons  (MetaDisplay *display,
       meta_change_button_grab (display, xwindow,
                                FALSE, FALSE, i,
                                display->window_grab_modifiers);
-      
+
       if (debug)
         meta_change_button_grab (display, xwindow,
                                  FALSE, FALSE, i, ControlMask);
-      
+
       ++i;
     }
 }
@@ -2125,18 +2125,18 @@ meta_display_grab_focus_window_button (MetaDisplay *display,
       return;
     }
 #endif
-  
+
   if (window->have_focus_click_grab)
     {
       meta_verbose (" (well, not grabbing since we already have the grab)\n");
       return;
     }
-  
+
   /* FIXME If we ignored errors here instead of spewing, we could
    * put one big error trap around the loop and avoid a bunch of
    * XSync()
    */
-  
+
   {
     int i = 1;
     while (i < MAX_FOCUS_BUTTON)
@@ -2145,7 +2145,7 @@ meta_display_grab_focus_window_button (MetaDisplay *display,
                                  window->xwindow,
                                  TRUE, TRUE,
                                  i, 0);
-        
+
         ++i;
       }
 
@@ -2167,14 +2167,14 @@ meta_display_ungrab_focus_window_button (MetaDisplay *display,
 
   if (!window->have_focus_click_grab)
     return;
-  
+
   {
     int i = 1;
     while (i < MAX_FOCUS_BUTTON)
       {
         meta_change_button_grab (display, window->xwindow,
                                  FALSE, FALSE, i, 0);
-        
+
         ++i;
       }
 
@@ -2219,14 +2219,14 @@ meta_display_queue_retheme_all_windows (MetaDisplay *display)
   while (tmp != NULL)
     {
       MetaWindow *window = tmp->data;
-      
+
       meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
       meta_window_frame_size_changed (window);
       if (window->frame)
         {
           meta_frame_queue_draw (window->frame);
         }
-      
+
       tmp = tmp->next;
     }
 
@@ -2512,7 +2512,7 @@ find_tab_forward (MetaDisplay   *display,
         return window;
 
       tmp = tmp->next;
-    }  
+    }
 
   return NULL;
 }
@@ -2530,7 +2530,7 @@ find_tab_backward (MetaDisplay   *display,
   g_return_val_if_fail (workspace != NULL, NULL);
 
   tmp = start;
-  if (skip_last)  
+  if (skip_last)
     tmp = tmp->prev;
   while (tmp != NULL)
     {
@@ -2638,7 +2638,7 @@ meta_display_get_tab_list (MetaDisplay   *display,
 
   g_list_free (global_mru_list);
   g_slist_free (windows);
-  
+
   return tab_list;
 }
 
@@ -2647,8 +2647,8 @@ meta_display_get_tab_list (MetaDisplay   *display,
  * @display: a #MetaDisplay
  * @type: type of tab list
  * @workspace: origin workspace
- * @window: (allow-none): starting window 
- * @backward: If %TRUE, look for the previous window.  
+ * @window: (allow-none): starting window
+ * @backward: If %TRUE, look for the previous window.
  *
  * Determine the next window that should be displayed for Alt-TAB
  * functionality.
@@ -2670,11 +2670,11 @@ meta_display_get_tab_next (MetaDisplay   *display,
 
   if (tab_list == NULL)
     return NULL;
-  
+
   if (window != NULL)
     {
       g_assert (window->display == display);
-      
+
       if (backward)
         ret = find_tab_backward (display, type, workspace, g_list_find (tab_list, window), TRUE);
       else
@@ -2682,7 +2682,7 @@ meta_display_get_tab_next (MetaDisplay   *display,
     }
   else
     {
-      skip = display->focus_window != NULL && 
+      skip = display->focus_window != NULL &&
              tab_list->data == display->focus_window;
       if (backward)
         ret = find_tab_backward (display, type, workspace, tab_list, skip);
@@ -2713,7 +2713,7 @@ meta_display_get_tab_current (MetaDisplay   *display,
   MetaWindow *window;
 
   window = display->focus_window;
-  
+
   if (window != NULL &&
       IN_TAB_CHAIN (window, type) &&
       (workspace == NULL ||
@@ -2727,7 +2727,7 @@ int
 meta_resize_gravity_from_grab_op (MetaGrabOp op)
 {
   int gravity;
-  
+
   gravity = -1;
   switch (op)
     {
@@ -2809,7 +2809,7 @@ meta_display_unmanage_windows_for_screen (MetaDisplay *display,
       if (!window->unmanaging)
         meta_window_unmanage (window, timestamp);
       g_object_unref (window);
-      
+
       tmp = tmp->next;
     }
   g_slist_free (winlist);
@@ -2859,7 +2859,7 @@ meta_display_devirtualize_modifiers (MetaDisplay        *display,
                                      unsigned int       *mask)
 {
   *mask = 0;
-  
+
   if (modifiers & META_VIRTUAL_SHIFT_MASK)
     *mask |= ShiftMask;
   if (modifiers & META_VIRTUAL_CONTROL_MASK)
@@ -2879,7 +2879,7 @@ meta_display_devirtualize_modifiers (MetaDisplay        *display,
   if (modifiers & META_VIRTUAL_MOD4_MASK)
     *mask |= Mod4Mask;
   if (modifiers & META_VIRTUAL_MOD5_MASK)
-    *mask |= Mod5Mask;  
+    *mask |= Mod5Mask;
 }
 
 static void
@@ -2887,11 +2887,11 @@ update_window_grab_modifiers (MetaDisplay *display)
 {
   MetaVirtualModifier virtual_mods;
   unsigned int mods;
-    
+
   virtual_mods = meta_prefs_get_mouse_button_mods ();
   meta_display_devirtualize_modifiers (display, virtual_mods,
                                        &mods);
-    
+
   display->window_grab_modifiers = mods;
 }
 
@@ -2900,7 +2900,7 @@ prefs_changed_callback (MetaPreference pref,
                         void          *data)
 {
   MetaDisplay *display = data;
-  
+
   /* It may not be obvious why we regrab on focus mode
    * change; it's because we handle focus clicks a
    * bit differently for the different focus modes.
@@ -2911,9 +2911,9 @@ prefs_changed_callback (MetaPreference pref,
       MetaDisplay *display = data;
       GSList *windows;
       GSList *tmp;
-      
+
       windows = meta_display_list_windows (display, META_LIST_DEFAULT);
-      
+
       /* Ungrab all */
       tmp = windows;
       while (tmp != NULL)
@@ -2960,13 +2960,13 @@ meta_display_increment_focus_sentinel (MetaDisplay *display)
   unsigned long data[1];
 
   data[0] = meta_display_get_current_time (display);
-  
+
   XChangeProperty (display->xdisplay,
                    display->screen->xroot,
                    display->atom__MUTTER_SENTINEL,
                    XA_CARDINAL,
                    32, PropModeReplace, (guchar*) data, 1);
-  
+
   display->sentinel_counter += 1;
 }
 
@@ -3015,7 +3015,7 @@ meta_display_sanity_check_timestamps (MetaDisplay *display,
       while (tmp != NULL)
         {
           MetaWindow *window = tmp->data;
-          
+
           if (XSERVER_TIME_IS_BEFORE (timestamp, window->net_wm_user_time))
             {
               meta_warning ("%s appears to be one of the offending windows "
@@ -3032,7 +3032,7 @@ meta_display_sanity_check_timestamps (MetaDisplay *display,
 }
 
 void
-meta_display_set_input_focus_window (MetaDisplay *display, 
+meta_display_set_input_focus_window (MetaDisplay *display,
                                      MetaWindow  *window,
                                      gboolean     focus_frame,
                                      guint32      timestamp)
@@ -3188,7 +3188,7 @@ meta_display_get_focus_window (MetaDisplay *display)
   return display->focus_window;
 }
 
-int 
+int
 meta_display_get_damage_event_base (MetaDisplay *display)
 {
   return display->damage_event_base;
diff --git a/src/core/edge-resistance.c b/src/core/edge-resistance.c
index 16e1858..50abef9 100644
--- a/src/core/edge-resistance.c
+++ b/src/core/edge-resistance.c
@@ -2,9 +2,9 @@
 
 /* Edge resistance for move/resize operations */
 
-/* 
+/*
  * Copyright (C) 2005, 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -245,8 +245,8 @@ find_nearest_position (const GArray        *edges,
     {
       edge = g_array_index (edges, MetaEdge*, i);
       compare = horizontal ? edge->rect.x : edge->rect.y;
-  
-      edges_align = horizontal ? 
+
+      edges_align = horizontal ?
         meta_rectangle_vert_overlap (&edge->rect, new_rect) :
         meta_rectangle_horiz_overlap (&edge->rect, new_rect);
 
@@ -269,8 +269,8 @@ find_nearest_position (const GArray        *edges,
     {
       edge = g_array_index (edges, MetaEdge*, i);
       compare = horizontal ? edge->rect.x : edge->rect.y;
-  
-      edges_align = horizontal ? 
+
+      edges_align = horizontal ?
         meta_rectangle_vert_overlap (&edge->rect, new_rect) :
         meta_rectangle_horiz_overlap (&edge->rect, new_rect);
 
@@ -433,7 +433,7 @@ apply_edge_resistance (MetaWindow                *window,
               if (!resistance_data->timeout_setup &&
                   timeout_length_ms != 0)
                 {
-                  resistance_data->timeout_id = 
+                  resistance_data->timeout_id =
                     g_timeout_add (timeout_length_ms,
                                    edge_resistance_timeout,
                                    resistance_data);
@@ -536,7 +536,7 @@ apply_edge_snapping (int                  old_pos,
  * display->grab_edge_resistance_data MUST already be setup or calling this
  * function will cause a crash.
  */
-static gboolean 
+static gboolean
 apply_edge_resistance_to_each_side (MetaDisplay         *display,
                                     MetaWindow          *window,
                                     const MetaRectangle *old_outer,
@@ -658,7 +658,7 @@ apply_edge_resistance_to_each_side (MetaDisplay         *display,
     }
 
   /* Determine whether anything changed, and save the changes */
-  modified_rect = meta_rect (new_left, 
+  modified_rect = meta_rect (new_left,
                              new_top,
                              new_right - new_left,
                              new_bottom - new_top);
@@ -754,7 +754,7 @@ meta_display_cleanup_edges (MetaDisplay *display)
 }
 
 static int
-stupid_sort_requiring_extra_pointer_dereference (gconstpointer a, 
+stupid_sort_requiring_extra_pointer_dereference (gconstpointer a,
                                                  gconstpointer b)
 {
   const MetaEdge * const *a_edge = a;
@@ -779,7 +779,7 @@ cache_edges (MetaDisplay *display,
 #ifdef WITH_VERBOSE_MODE
   if (meta_is_verbose())
     {
-      int max_edges = MAX (MAX( g_list_length (window_edges), 
+      int max_edges = MAX (MAX( g_list_length (window_edges),
                                 g_list_length (monitor_edges)),
                            g_list_length (screen_edges));
       char big_buffer[(EDGE_LENGTH+2)*max_edges];
@@ -916,13 +916,13 @@ cache_edges (MetaDisplay *display,
    * avoided this sort by sticking them into the array with some simple
    * merging of the lists).
    */
-  g_array_sort (display->grab_edge_resistance_data->left_edges, 
+  g_array_sort (display->grab_edge_resistance_data->left_edges,
                 stupid_sort_requiring_extra_pointer_dereference);
-  g_array_sort (display->grab_edge_resistance_data->right_edges, 
+  g_array_sort (display->grab_edge_resistance_data->right_edges,
                 stupid_sort_requiring_extra_pointer_dereference);
-  g_array_sort (display->grab_edge_resistance_data->top_edges, 
+  g_array_sort (display->grab_edge_resistance_data->top_edges,
                 stupid_sort_requiring_extra_pointer_dereference);
-  g_array_sort (display->grab_edge_resistance_data->bottom_edges, 
+  g_array_sort (display->grab_edge_resistance_data->bottom_edges,
                 stupid_sort_requiring_extra_pointer_dereference);
 }
 
@@ -986,7 +986,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
           new_rect = g_new (MetaRectangle, 1);
           meta_window_get_frame_rect (cur_window, new_rect);
           obscuring_windows = g_slist_prepend (obscuring_windows, new_rect);
-          window_stacking = 
+          window_stacking =
             g_slist_prepend (window_stacking, GINT_TO_POINTER (stack_position));
         }
 
@@ -1026,7 +1026,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
            * is offscreen (we also don't care about parts of edges covered
            * by other windows or DOCKS, but that's handled below).
            */
-          meta_rectangle_intersect (&cur_rect, 
+          meta_rectangle_intersect (&cur_rect,
                                     &display->screen->rect,
                                     &reduced);
 
@@ -1052,7 +1052,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
           new_edge->side_type = META_SIDE_LEFT;
           new_edge->edge_type = META_EDGE_WINDOW;
           new_edges = g_list_prepend (new_edges, new_edge);
-          
+
           /* Top side of this window is resistance for the bottom edge of
            * the window being moved.
            */
@@ -1077,7 +1077,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
           /* Update the remaining windows to only those at a higher
            * stacking position than this one.
            */
-          while (rem_win_stacking && 
+          while (rem_win_stacking &&
                  stack_position >= GPOINTER_TO_INT (rem_win_stacking->data))
             {
               rem_windows      = rem_windows->next;
@@ -1085,7 +1085,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
             }
 
           /* Remove edge portions overlapped by rem_windows and rem_docks */
-          new_edges = 
+          new_edges =
             meta_rectangle_remove_intersections_with_boxes_from_edges (
               new_edges,
               rem_windows);
@@ -1107,7 +1107,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
   /* FIXME: Shouldn't there be a helper function to make this one line of code
    * to free a list instead of four ugly ones?
    */
-  g_slist_foreach (obscuring_windows, 
+  g_slist_foreach (obscuring_windows,
                    (void (*)(gpointer,gpointer))&g_free, /* ew, for ugly */
                    NULL);
   g_slist_free (obscuring_windows);
@@ -1205,7 +1205,7 @@ meta_window_edge_resistance_for_move (MetaWindow  *window,
       else
         smaller_y_change = bottom_change;
 
-      *new_x = old_x + smaller_x_change + 
+      *new_x = old_x + smaller_x_change +
               (BOX_LEFT (*reference) - BOX_LEFT (old_outer));
       *new_y = old_y + smaller_y_change +
               (BOX_TOP (*reference) - BOX_TOP (old_outer));
@@ -1239,7 +1239,7 @@ meta_window_edge_resistance_for_resize (MetaWindow  *window,
   meta_window_get_frame_rect (window, &old_outer);
   proposed_outer_width  = old_outer.width  + (*new_width  - old_width);
   proposed_outer_height = old_outer.height + (*new_height - old_height);
-  meta_rectangle_resize_with_gravity (&old_outer, 
+  meta_rectangle_resize_with_gravity (&old_outer,
                                       &new_outer,
                                       gravity,
                                       proposed_outer_width,
diff --git a/src/core/edge-resistance.h b/src/core/edge-resistance.h
index c858490..caf56bb 100644
--- a/src/core/edge-resistance.h
+++ b/src/core/edge-resistance.h
@@ -2,9 +2,9 @@
 
 /* Edge resistance for move/resize operations */
 
-/* 
+/*
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/errors.c b/src/core/errors.c
index f199c69..0b3e5cc 100644
--- a/src/core/errors.c
+++ b/src/core/errors.c
@@ -1,9 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington, error trapping inspired by GDK
  * code copyrighted by the GTK team.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -13,7 +13,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/frame.c b/src/core/frame.c
index dd8a5da..fdf55d3 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -2,11 +2,11 @@
 
 /* Mutter X window decorations */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003, 2004 Red Hat, Inc.
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -16,7 +16,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -43,10 +43,10 @@ meta_window_ensure_frame (MetaWindow *window)
   Visual *visual;
   gulong create_serial;
   MetaStackWindow stack_window;
-  
+
   if (window->frame)
     return;
-  
+
   frame = g_new (MetaFrame, 1);
 
   frame->window = window;
@@ -61,7 +61,7 @@ meta_window_ensure_frame (MetaWindow *window)
 
   frame->is_flashing = FALSE;
   frame->borders_cached = FALSE;
-  
+
   meta_verbose ("Framing window %s: visual %s default, depth %d default depth %d\n",
                 window->desc,
                 XVisualIDFromVisual (window->xvisual) ==
@@ -71,7 +71,7 @@ meta_window_ensure_frame (MetaWindow *window)
   meta_verbose ("Frame geometry %d,%d  %dx%d\n",
                 frame->rect.x, frame->rect.y,
                 frame->rect.width, frame->rect.height);
-  
+
   /* Default depth/visual handles clients with weird visuals; they can
    * always be children of the root depth/visual obviously, but
    * e.g. DRI games can't be children of a parent that has the same
@@ -80,7 +80,7 @@ meta_window_ensure_frame (MetaWindow *window)
    * We look for an ARGB visual if we can find one, otherwise use
    * the default of NULL.
    */
-  
+
   /* Special case for depth 32 windows (assumed to be ARGB),
    * we use the window's visual. Otherwise we just use the system visual.
    */
@@ -88,7 +88,7 @@ meta_window_ensure_frame (MetaWindow *window)
     visual = window->xvisual;
   else
     visual = NULL;
-  
+
   frame->xwindow = meta_ui_create_frame_window (window->screen->ui,
                                                 window->display->xdisplay,
                                                 visual,
@@ -108,7 +108,7 @@ meta_window_ensure_frame (MetaWindow *window)
   attrs.event_mask = EVENT_MASK;
   XChangeWindowAttributes (window->display->xdisplay,
                           frame->xwindow, CWEventMask, &attrs);
-  
+
   meta_display_register_x_window (window->display, &frame->xwindow, window);
 
   meta_error_trap_push (window->display);
@@ -136,7 +136,7 @@ meta_window_ensure_frame (MetaWindow *window)
                    window->rect.y);
   /* FIXME handle this error */
   meta_error_trap_pop (window->display);
-  
+
   /* stick frame to the window */
   window->frame = frame;
 
@@ -145,7 +145,7 @@ meta_window_ensure_frame (MetaWindow *window)
    */
   meta_ui_update_frame_style (window->screen->ui, frame->xwindow);
   meta_ui_reset_frame_bg (window->screen->ui, frame->xwindow);
-  
+
   if (window->title)
     meta_ui_set_frame_title (window->screen->ui,
                              window->frame->xwindow,
@@ -163,18 +163,18 @@ meta_window_destroy_frame (MetaWindow *window)
   MetaFrame *frame;
   MetaFrameBorders borders;
   MetaStackWindow stack_window;
-  
+
   if (window->frame == NULL)
     return;
 
   meta_verbose ("Unframing window %s\n", window->desc);
-  
+
   frame = window->frame;
 
   meta_frame_calc_borders (frame, &borders);
-  
+
   meta_bell_notify_frame_destroy (frame);
-  
+
   /* Unparent the client window; it may be destroyed,
    * thus the error trap.
    */
@@ -209,7 +209,7 @@ meta_window_destroy_frame (MetaWindow *window)
 
   meta_display_unregister_x_window (window->display,
                                     frame->xwindow);
-  
+
   window->frame = NULL;
   if (window->frame_bounds)
     {
@@ -219,9 +219,9 @@ meta_window_destroy_frame (MetaWindow *window)
 
   /* Move keybindings to window instead of frame */
   meta_window_grab_keys (window);
-  
+
   g_free (frame);
-  
+
   /* Put our state back where it should be */
   meta_window_queue (window, META_QUEUE_CALC_SHOWING);
   meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
@@ -244,20 +244,20 @@ meta_frame_get_flags (MetaFrame *frame)
   else
     {
       flags |= META_FRAME_ALLOWS_MENU;
-      
+
       if (frame->window->has_close_func)
         flags |= META_FRAME_ALLOWS_DELETE;
-      
+
       if (frame->window->has_maximize_func)
         flags |= META_FRAME_ALLOWS_MAXIMIZE;
-      
+
       if (frame->window->has_minimize_func)
         flags |= META_FRAME_ALLOWS_MINIMIZE;
-      
+
       if (frame->window->has_shade_func)
         flags |= META_FRAME_ALLOWS_SHADE;
-    }  
-  
+    }
+
   if (META_WINDOW_ALLOWS_MOVE (frame->window))
     flags |= META_FRAME_ALLOWS_MOVE;
 
@@ -266,7 +266,7 @@ meta_frame_get_flags (MetaFrame *frame)
 
   if (META_WINDOW_ALLOWS_VERTICAL_RESIZE (frame->window))
     flags |= META_FRAME_ALLOWS_VERTICAL_RESIZE;
-  
+
   if (meta_window_appears_focused (frame->window))
     flags |= META_FRAME_HAS_FOCUS;
 
@@ -296,7 +296,7 @@ meta_frame_get_flags (MetaFrame *frame)
 
   if (frame->window->wm_state_above)
     flags |= META_FRAME_ABOVE;
-  
+
   return flags;
 }
 
@@ -418,7 +418,7 @@ meta_frame_set_screen_cursor (MetaFrame     *frame,
   if (cursor == META_CURSOR_DEFAULT)
     XUndefineCursor (frame->window->display->xdisplay, frame->xwindow);
   else
-    { 
+    {
       xcursor = meta_display_create_x_cursor (frame->window->display, cursor);
       XDefineCursor (frame->window->display->xdisplay, frame->xwindow, xcursor);
       XFlush (frame->window->display->xdisplay);
diff --git a/src/core/frame.h b/src/core/frame.h
index 8ac1c26..36f48b0 100644
--- a/src/core/frame.h
+++ b/src/core/frame.h
@@ -2,9 +2,9 @@
 
 /* Mutter X window decorations */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/keybindings-private.h b/src/core/keybindings-private.h
index 5a39cd5..01d619a 100644
--- a/src/core/keybindings-private.h
+++ b/src/core/keybindings-private.h
@@ -7,9 +7,9 @@
  * the one to close a window.  It also deals with incoming key events.
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -19,7 +19,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/main.c b/src/core/main.c
index b3cf2c9..c0724cc 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -2,10 +2,10 @@
 
 /* Mutter main() */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -160,7 +160,7 @@ meta_print_self_identity (void)
   g_date_strftime (buf, sizeof (buf), "%x", &d);
   meta_verbose ("Mutter version %s running on %s\n",
     VERSION, buf);
-  
+
   /* Locale and encoding. */
   g_get_charset (&charset);
   meta_verbose ("Running in locale \"%s\" with encoding \"%s\"\n",
@@ -343,7 +343,7 @@ meta_init (void)
                     g_get_home_dir ());
 
   meta_print_self_identity ();
-  
+
 #ifdef HAVE_INTROSPECTION
   g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
 #endif
@@ -358,13 +358,13 @@ meta_init (void)
     meta_select_display (opt_display_name);
 
   meta_set_syncing (opt_sync || (g_getenv ("MUTTER_SYNC") != NULL));
-  
+
   if (opt_replace_wm)
     meta_set_replace_current_wm (TRUE);
 
   if (opt_save_file && opt_client_id)
     meta_fatal ("Can't specify both SM save file and SM client id\n");
-  
+
   meta_main_loop = g_main_loop_new (NULL, FALSE);
 
   meta_ui_init ();
@@ -455,7 +455,7 @@ meta_run (void)
 
   if (g_getenv ("MUTTER_G_FATAL_WARNINGS") != NULL)
     g_log_set_always_fatal (G_LOG_LEVEL_MASK);
-  
+
   meta_ui_set_current_theme (meta_prefs_get_theme ());
 
   /* Try to find some theme that'll work if the theme preference
@@ -464,37 +464,37 @@ meta_run (void)
    */
   if (!meta_ui_have_a_theme ())
     meta_ui_set_current_theme ("Simple");
-  
+
   if (!meta_ui_have_a_theme ())
     {
       const char *dir_entry = NULL;
       GError *err = NULL;
       GDir   *themes_dir = NULL;
-      
+
       if (!(themes_dir = g_dir_open (MUTTER_DATADIR"/themes", 0, &err)))
         {
           meta_fatal (_("Failed to scan themes directory: %s\n"), err->message);
           g_error_free (err);
-        } 
-      else 
+        }
+      else
         {
-          while (((dir_entry = g_dir_read_name (themes_dir)) != NULL) && 
+          while (((dir_entry = g_dir_read_name (themes_dir)) != NULL) &&
                  (!meta_ui_have_a_theme ()))
             {
               meta_ui_set_current_theme (dir_entry);
             }
-          
+
           g_dir_close (themes_dir);
         }
     }
-  
+
   if (!meta_ui_have_a_theme ())
     meta_fatal (_("Could not find a theme! Be sure %s exists and contains the usual themes.\n"),
                 MUTTER_DATADIR"/themes");
 
   if (!meta_display_open ())
     meta_exit (META_EXIT_ERROR);
-  
+
   g_main_loop_run (meta_main_loop);
 
   meta_finalize ();
diff --git a/src/core/mutter.c b/src/core/mutter.c
index 00164c1..a2bfecd 100644
--- a/src/core/mutter.c
+++ b/src/core/mutter.c
@@ -12,7 +12,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/place.c b/src/core/place.c
index fea6bea..abb1ac2 100644
--- a/src/core/place.c
+++ b/src/core/place.c
@@ -2,12 +2,12 @@
 
 /* Mutter window placement */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat, Inc.
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -17,7 +17,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -57,11 +57,11 @@ northwestcmp (gconstpointer a, gconstpointer b)
   ay = a_frame.y;
   bx = b_frame.x;
   by = b_frame.y;
-  
+
   /* probably there's a fast good-enough-guess we could use here. */
   from_origin_a = sqrt (ax * ax + ay * ay);
   from_origin_b = sqrt (bx * bx + by * by);
-    
+
   if (from_origin_a < from_origin_b)
     return -1;
   else if (from_origin_a > from_origin_b)
@@ -88,16 +88,16 @@ find_next_cascade (MetaWindow *window,
   int cascade_stage;
   MetaRectangle work_area;
   int current;
-  
+
   sorted = g_list_copy (windows);
   sorted = g_list_sort (sorted, northwestcmp);
 
-  /* This is a "fuzzy" cascade algorithm. 
+  /* This is a "fuzzy" cascade algorithm.
    * For each window in the list, we find where we'd cascade a
    * new window after it. If a window is already nearly at that
    * position, we move on.
    */
-  
+
   /* arbitrary-ish threshold, honors user attempts to
    * manually cascade.
    */
@@ -115,7 +115,7 @@ find_next_cascade (MetaWindow *window,
       x_threshold = CASCADE_FUZZ;
       y_threshold = CASCADE_FUZZ;
     }
-  
+
   /* Find furthest-SE origin of all workspaces.
    * cascade_x, cascade_y are the target position
    * of NW corner of window frame.
@@ -126,13 +126,13 @@ find_next_cascade (MetaWindow *window,
 
   cascade_x = MAX (0, work_area.x);
   cascade_y = MAX (0, work_area.y);
-  
+
   /* Find first cascade position that's not used. */
 
   meta_window_get_frame_rect (window, &frame_rect);
   window_width = frame_rect.width;
   window_height = frame_rect.height;
-  
+
   cascade_stage = 0;
   tmp = sorted;
   while (tmp != NULL)
@@ -140,14 +140,14 @@ find_next_cascade (MetaWindow *window,
       MetaWindow *w;
       MetaRectangle w_frame_rect;
       int wx, wy;
-      
+
       w = tmp->data;
 
       /* we want frame position, not window position */
       meta_window_get_frame_rect (w, &w_frame_rect);
       wx = w_frame_rect.x;
       wy = w_frame_rect.y;
-      
+
       if (ABS (wx - cascade_x) < x_threshold &&
           ABS (wy - cascade_y) < y_threshold)
         {
@@ -158,7 +158,7 @@ find_next_cascade (MetaWindow *window,
           meta_window_get_position (w, &wx, &wy);
           cascade_x = wx;
           cascade_y = wy;
-          
+
           /* If we go off the screen, start over with a new cascade */
          if (((cascade_x + window_width) >
                (work_area.x + work_area.width)) ||
@@ -167,11 +167,11 @@ find_next_cascade (MetaWindow *window,
            {
              cascade_x = MAX (0, work_area.x);
              cascade_y = MAX (0, work_area.y);
-              
+
 #define CASCADE_INTERVAL 50 /* space between top-left corners of cascades */
               cascade_stage += 1;
              cascade_x += CASCADE_INTERVAL * cascade_stage;
-              
+
              /* start over with a new cascade translated to the right, unless
                * we are out of space
                */
@@ -193,14 +193,14 @@ find_next_cascade (MetaWindow *window,
         {
           /* Keep searching for a further-down-the-diagonal window. */
         }
-        
+
       tmp = tmp->next;
     }
 
   /* cascade_x and cascade_y will match the last window in the list
    * that was "in the way" (in the approximate cascade diagonal)
    */
-  
+
   g_list_free (sorted);
 
   *new_x = cascade_x;
@@ -376,12 +376,12 @@ rectangle_overlaps_some_window (MetaRectangle *rect,
 {
   GList *tmp;
   MetaRectangle dest;
-  
+
   tmp = windows;
   while (tmp != NULL)
     {
       MetaWindow *other = tmp->data;
-      MetaRectangle other_rect;      
+      MetaRectangle other_rect;
 
       switch (other->type)
         {
@@ -405,12 +405,12 @@ rectangle_overlaps_some_window (MetaRectangle *rect,
         case META_WINDOW_TOOLBAR:
         case META_WINDOW_MENU:
           meta_window_get_frame_rect (other, &other_rect);
-          
+
           if (meta_rectangle_intersect (rect, &other_rect, &dest))
             return TRUE;
           break;
         }
-      
+
       tmp = tmp->next;
     }
 
@@ -503,20 +503,20 @@ find_first_fit (MetaWindow *window,
    * the bottom of each existing window, and then to the right
    * of each existing window, aligned with the left/top of the
    * existing window in each of those cases.
-   */  
+   */
   int retval;
   GList *below_sorted;
   GList *right_sorted;
   GList *tmp;
   MetaRectangle rect;
   MetaRectangle work_area;
-  
+
   retval = FALSE;
 
   /* Below each window */
   below_sorted = g_list_copy (windows);
   below_sorted = g_list_sort (below_sorted, leftmost_cmp);
-  below_sorted = g_list_sort (below_sorted, topmost_cmp);  
+  below_sorted = g_list_sort (below_sorted, topmost_cmp);
 
   /* To the right of each window */
   right_sorted = g_list_copy (windows);
@@ -545,9 +545,9 @@ find_first_fit (MetaWindow *window,
       {
         *new_x = rect.x;
         *new_y = rect.y;
-    
+
         retval = TRUE;
-       
+
         goto out;
       }
 
@@ -559,18 +559,18 @@ find_first_fit (MetaWindow *window,
         MetaRectangle frame_rect;
 
         meta_window_get_frame_rect (w, &frame_rect);
-      
+
         rect.x = frame_rect.x;
         rect.y = frame_rect.y + frame_rect.height;
-      
+
         if (meta_rectangle_contains_rect (&work_area, &rect) &&
             !rectangle_overlaps_some_window (&rect, below_sorted))
           {
             *new_x = rect.x;
             *new_y = rect.y;
-          
+
             retval = TRUE;
-          
+
             goto out;
           }
 
@@ -583,26 +583,26 @@ find_first_fit (MetaWindow *window,
       {
         MetaWindow *w = tmp->data;
         MetaRectangle frame_rect;
-   
+
         meta_window_get_frame_rect (w, &frame_rect);
-     
+
         rect.x = frame_rect.x + frame_rect.width;
         rect.y = frame_rect.y;
-   
+
         if (meta_rectangle_contains_rect (&work_area, &rect) &&
             !rectangle_overlaps_some_window (&rect, right_sorted))
           {
             *new_x = rect.x;
             *new_y = rect.y;
-        
+
             retval = TRUE;
-       
+
             goto out;
           }
 
         tmp = tmp->next;
       }
-      
+
  out:
 
   g_list_free (below_sorted);
@@ -632,7 +632,7 @@ meta_window_place (MetaWindow        *window,
     case META_WINDOW_MODAL_DIALOG:
     case META_WINDOW_SPLASHSCREEN:
       break;
-          
+
       /* Assume the app knows best how to place these, no placement
        * algorithm ever (other than "leave them as-is")
        */
@@ -675,7 +675,7 @@ meta_window_place (MetaWindow        *window,
         case META_WINDOW_MODAL_DIALOG:
         case META_WINDOW_SPLASHSCREEN:
           break;
-          
+
           /* Assume the app knows best how to place these. */
         case META_WINDOW_DESKTOP:
         case META_WINDOW_DOCK:
@@ -702,7 +702,7 @@ meta_window_place (MetaWindow        *window,
   else
     {
       /* workarounds enabled */
-      
+
       if ((window->size_hints.flags & PPosition) ||
           (window->size_hints.flags & USPosition))
         {
@@ -739,17 +739,17 @@ meta_window_place (MetaWindow        *window,
 
           meta_topic (META_DEBUG_PLACEMENT, "Centered window %s over transient parent\n",
                       window->desc);
-          
+
           avoid_being_obscured_as_second_modal_dialog (window, &x, &y);
 
           goto done;
         }
     }
-  
+
   /* FIXME UTILITY with transient set should be stacked up
    * on the sides of the parent window or something.
    */
-  
+
   if (window_place_centered (window))
     {
       /* Center on current monitor */
@@ -769,13 +769,13 @@ meta_window_place (MetaWindow        *window,
 
       x += xi->rect.x;
       y += xi->rect.y;
-      
+
       meta_topic (META_DEBUG_PLACEMENT, "Centered window %s on screen %d monitor %d\n",
                   window->desc, window->screen->number, xi->number);
 
       goto done_check_denied_focus;
     }
-  
+
   /* Find windows that matter (not minimized, on same workspace
    * as placed window, may be shaded - if shaded we pretend it isn't
    * for placement purposes)
@@ -783,7 +783,7 @@ meta_window_place (MetaWindow        *window,
   {
     GSList *all_windows;
     GSList *tmp;
-    
+
     all_windows = meta_display_list_windows (window->display, META_LIST_DEFAULT);
 
     tmp = all_windows;
@@ -804,7 +804,7 @@ meta_window_place (MetaWindow        *window,
 
   /* Warning, this is a round trip! */
   xi = meta_screen_get_current_monitor_info (window->screen);
-  
+
   /* "Origin" placement algorithm */
   x = xi->rect.x;
   y = xi->rect.y;
@@ -816,7 +816,7 @@ meta_window_place (MetaWindow        *window,
 
   /* Maximize windows if they are too big for their work area (bit of
    * a hack here). Assume undecorated windows probably don't intend to
-   * be maximized.  
+   * be maximized.
    */
   if (window->has_maximize_func && window->decorated &&
       !window->fullscreen)
@@ -826,9 +826,9 @@ meta_window_place (MetaWindow        *window,
 
       meta_window_get_work_area_for_monitor (window,
                                              xi->number,
-                                             &workarea);      
+                                             &workarea);
       meta_window_get_frame_rect (window, &frame_rect);
-      
+
       /* If the window is bigger than the screen, then automaximize.  Do NOT
        * auto-maximize the directions independently.  See #419810.
        */
@@ -839,10 +839,10 @@ meta_window_place (MetaWindow        *window,
         }
     }
 
-  /* If no placement has been done, revert to cascade to avoid 
+  /* If no placement has been done, revert to cascade to avoid
    * fully overlapping window (e.g. starting multiple terminals)
    * */
-  if (x == xi->rect.x && y == xi->rect.y)  
+  if (x == xi->rect.x && y == xi->rect.y)
     find_next_cascade (window, windows, x, y, &x, &y);
 
  done_check_denied_focus:
@@ -886,10 +886,10 @@ meta_window_place (MetaWindow        *window,
       if (!found_fit)
         find_most_freespace (window, focus_window, x, y, &x, &y);
     }
-  
+
  done:
   g_list_free (windows);
-  
+
  done_no_constraints:
 
   *new_x = x;
diff --git a/src/core/place.h b/src/core/place.h
index 250f204..5f60225 100644
--- a/src/core/place.h
+++ b/src/core/place.h
@@ -2,9 +2,9 @@
 
 /* Mutter window placement */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/core/prefs.c b/src/core/prefs.c
index c3bf105..ac76130 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -1,6 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington, Copyright (C) 2002 Red Hat Inc.
  * Copyright (C) 2006 Elijah Newren
  * Copyright (C) 2008 Thomas Thurman
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -615,7 +615,7 @@ handle_preference_init_int (void)
 {
   MetaIntPreference *cursor = preferences_int;
 
-  
+
   while (cursor->base.key != NULL)
     {
       if (cursor->target)
@@ -671,7 +671,7 @@ handle_preference_update_bool (GSettings *settings,
    * store the current value away.
    */
   old_value = *((gboolean *) cursor->target);
-  
+
   /* Now look it up... */
   *((gboolean *) cursor->target) =
     g_settings_get_boolean (SETTINGS (cursor->base.schema), key);
@@ -802,7 +802,7 @@ handle_preference_update_int (GSettings *settings,
     }
 }
 
-
+
 /****************************************************************************/
 /* Listeners.                                                               */
 /****************************************************************************/
@@ -851,7 +851,7 @@ meta_prefs_remove_listener (MetaPrefsChangedFunc func,
 
           return;
         }
-      
+
       tmp = tmp->next;
     }
 
@@ -866,9 +866,9 @@ emit_changed (MetaPreference pref)
 
   meta_topic (META_DEBUG_PREFS, "Notifying listeners that pref %s changed\n",
               meta_preference_to_string (pref));
-  
+
   copy = g_list_copy (listeners);
-  
+
   tmp = copy;
 
   while (tmp != NULL)
@@ -890,24 +890,24 @@ changed_idle_handler (gpointer data)
   GList *copy;
 
   changed_idle = 0;
-  
+
   copy = g_list_copy (changes); /* reentrancy paranoia */
 
   g_list_free (changes);
   changes = NULL;
-  
+
   tmp = copy;
   while (tmp != NULL)
     {
       MetaPreference pref = GPOINTER_TO_INT (tmp->data);
 
       emit_changed (pref);
-      
+
       tmp = tmp->next;
     }
 
   g_list_free (copy);
-  
+
   return FALSE;
 }
 
@@ -915,7 +915,7 @@ static void
 queue_changed (MetaPreference pref)
 {
   meta_topic (META_DEBUG_PREFS, "Queueing change of pref %s\n",
-              meta_preference_to_string (pref));  
+              meta_preference_to_string (pref));
 
   if (g_list_find (changes, GINT_TO_POINTER (pref)) == NULL)
     changes = g_list_prepend (changes, GINT_TO_POINTER (pref));
@@ -931,7 +931,7 @@ queue_changed (MetaPreference pref)
     }
 }
 
-
+
 /****************************************************************************/
 /* Initialisation.                                                          */
 /****************************************************************************/
@@ -1117,7 +1117,7 @@ meta_prefs_override_preference_schema (const char *key, const char *schema)
     do_override (overridden->key, overridden->new_schema);
 }
 
-
+
 /****************************************************************************/
 /* Updates.                                                                 */
 /****************************************************************************/
@@ -1194,7 +1194,7 @@ static void
 maybe_give_disable_workarounds_warning (void)
 {
   static gboolean first_disable = TRUE;
-    
+
   if (first_disable && disable_workarounds)
     {
       first_disable = FALSE;
@@ -1261,7 +1261,7 @@ meta_prefs_get_cursor_size (void)
   return cursor_size;
 }
 
-
+
 /****************************************************************************/
 /* Handlers for string preferences.                                         */
 /****************************************************************************/
@@ -1345,7 +1345,7 @@ mouse_button_mods_handler (GVariant *value,
     {
       meta_topic (META_DEBUG_KEYBINDINGS,
                   "Failed to parse new GSettings value\n");
-          
+
       meta_warning ("\"%s\" found in configuration database is "
                     "not a valid value for mouse button modifier\n",
                     string_value);
@@ -1369,7 +1369,7 @@ mouse_button_mods_handler (GVariant *value,
 static gboolean
 button_layout_equal (const MetaButtonLayout *a,
                      const MetaButtonLayout *b)
-{  
+{
   int i;
 
   i = 0;
@@ -1410,7 +1410,7 @@ button_function_from_string (const char *str)
     return META_BUTTON_FUNCTION_ABOVE;
   else if (strcmp (str, "stick") == 0)
     return META_BUTTON_FUNCTION_STICK;
-  else 
+  else
     /* don't know; give up */
     return META_BUTTON_FUNCTION_LAST;
 }
@@ -1535,7 +1535,7 @@ button_layout_handler (GVariant *value,
           new_layout.right_buttons_has_spacer[i] = FALSE;
           ++i;
         }
-      
+
       buttons = g_strsplit (sides[1], ",", -1);
       i = 0;
       b = 0;
@@ -1571,7 +1571,7 @@ button_layout_handler (GVariant *value,
                               buttons[b]);
                 }
             }
-          
+
           ++b;
         }
 
@@ -1585,13 +1585,13 @@ button_layout_handler (GVariant *value,
     }
 
   g_strfreev (sides);
-  
+
   /* Invert the button layout for RTL languages */
   if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
   {
     MetaButtonLayout rtl_layout;
     int j;
-    
+
     for (i = 0; new_layout.left_buttons[i] != META_BUTTON_FUNCTION_LAST; i++);
     for (j = 0; j < i; j++)
       {
@@ -1606,7 +1606,7 @@ button_layout_handler (GVariant *value,
         rtl_layout.right_buttons[j] = META_BUTTON_FUNCTION_LAST;
         rtl_layout.right_buttons_has_spacer[j] = FALSE;
       }
-      
+
     for (i = 0; new_layout.right_buttons[i] != META_BUTTON_FUNCTION_LAST; i++);
     for (j = 0; j < i; j++)
       {
@@ -1751,7 +1751,7 @@ meta_preference_to_string (MetaPreference pref)
 
     case META_PREF_RAISE_ON_CLICK:
       return "RAISE_ON_CLICK";
-      
+
     case META_PREF_THEME:
       return "THEME";
 
@@ -1778,7 +1778,7 @@ meta_preference_to_string (MetaPreference pref)
 
     case META_PREF_AUTO_RAISE:
       return "AUTO_RAISE";
-      
+
     case META_PREF_AUTO_RAISE_DELAY:
       return "AUTO_RAISE_DELAY";
 
@@ -2021,7 +2021,7 @@ meta_prefs_change_workspace_name (int         num,
 {
   GVariantBuilder builder;
   int n_workspace_names, i;
-  
+
   g_return_if_fail (num >= 0);
 
   meta_topic (META_DEBUG_PREFS,
@@ -2181,7 +2181,7 @@ meta_prefs_get_keybindings ()
   return g_hash_table_get_values (key_bindings);
 }
 
-void 
+void
 meta_prefs_get_overlay_binding (MetaKeyCombo *combo)
 {
   *combo = overlay_key_combo;
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 7876b99..c312599 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -9,11 +9,11 @@
  * which the rest of the world is allowed to use.)
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -23,7 +23,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -73,7 +73,7 @@ struct _MetaScreen
    * any actual clients
    */
   Window no_focus_window;
-  
+
   GList *workspaces;
 
   MetaStack *stack;
@@ -110,11 +110,11 @@ struct _MetaScreen
   MetaScreenCorner starting_corner;
   guint vertical_workspaces : 1;
   guint workspace_layout_overridden : 1;
-  
+
   guint keys_grabbed : 1;
-  
+
   int closing;
-  
+
   /* Instead of unmapping withdrawn windows we can leave them mapped
    * and restack them below a guard window. When using a compositor
    * this allows us to provide live previews of unmapped windows */
diff --git a/src/core/screen.c b/src/core/screen.c
index 6ceab47..bdd16d4 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -1,13 +1,13 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat Inc.
  * Some ICCCM manager selection code derived from fvwm2,
  * Copyright (C) 2001 Dominik Vogt, Matthias Clasen, and fvwm2 team
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -17,7 +17,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -267,7 +267,7 @@ set_wm_check_hint (MetaScreen *screen)
   unsigned long data[1];
 
   g_return_val_if_fail (screen->display->leader_window != None, 0);
-  
+
   data[0] = screen->display->leader_window;
 
   XChangeProperty (screen->display->xdisplay, screen->xroot,
@@ -281,7 +281,7 @@ set_wm_check_hint (MetaScreen *screen)
 static void
 unset_wm_check_hint (MetaScreen *screen)
 {
-  XDeleteProperty (screen->display->xdisplay, screen->xroot, 
+  XDeleteProperty (screen->display->xdisplay, screen->xroot,
                    screen->display->atom__NET_SUPPORTING_WM_CHECK);
 }
 
@@ -303,7 +303,7 @@ set_supported_hint (MetaScreen *screen)
                    XA_ATOM,
                    32, PropModeReplace,
                    (guchar*) atoms, G_N_ELEMENTS(atoms));
-  
+
   return Success;
 }
 
@@ -327,12 +327,12 @@ set_wm_icon_size_hint (MetaScreen *screen)
   vals[4] = 0;
   vals[5] = 0;
 #undef LEGACY_ICON_SIZE
-  
+
   XChangeProperty (screen->display->xdisplay, screen->xroot,
                    screen->display->atom_WM_ICON_SIZE,
                    XA_CARDINAL,
                    32, PropModeReplace, (guchar*) vals, N_VALS);
-  
+
   return Success;
 #undef N_VALS
 }
@@ -411,7 +411,7 @@ reload_monitor_infos (MetaScreen *screen)
       MetaWorkspace *space = tmp->data;
 
       meta_workspace_invalidate_work_area (space);
-      
+
       tmp = tmp->next;
     }
 
@@ -506,16 +506,16 @@ meta_screen_new (MetaDisplay *display,
   guint32 manager_timestamp;
   gulong current_workspace;
   MetaMonitorManager *manager;
-  
+
   replace_current_wm = meta_get_replace_current_wm ();
-  
+
   /* Only display->name, display->xdisplay, and display->error_traps
    * can really be used in this function, since normally screens are
    * created from the MetaDisplay constructor
    */
-  
+
   xdisplay = display->xdisplay;
-  
+
   meta_verbose ("Trying screen %d on display '%s'\n",
                 number, display->name);
 
@@ -532,14 +532,14 @@ meta_screen_new (MetaDisplay *display,
     }
 
   sprintf (buf, "WM_S%d", number);
-  wm_sn_atom = XInternAtom (xdisplay, buf, False);  
-  
+  wm_sn_atom = XInternAtom (xdisplay, buf, False);
+
   current_wm_sn_owner = XGetSelectionOwner (xdisplay, wm_sn_atom);
 
   if (current_wm_sn_owner != None)
     {
       XSetWindowAttributes attrs;
-      
+
       if (!replace_current_wm)
         {
           meta_warning (_("Screen %d on display \"%s\" already has a window manager; try using the --replace 
option to replace the current window manager.\n"),
@@ -563,7 +563,7 @@ meta_screen_new (MetaDisplay *display,
   new_wm_sn_owner = meta_create_offscreen_window (xdisplay, xroot, NoEventMask);
 
   manager_timestamp = timestamp;
-  
+
   XSetSelectionOwner (xdisplay, wm_sn_atom, new_wm_sn_owner,
                       manager_timestamp);
 
@@ -573,14 +573,14 @@ meta_screen_new (MetaDisplay *display,
                     number, display->name);
 
       XDestroyWindow (xdisplay, new_wm_sn_owner);
-      
+
       return NULL;
     }
-  
+
   {
     /* Send client message indicating that we are now the WM */
     XClientMessageEvent ev;
-    
+
     ev.type = ClientMessage;
     ev.window = xroot;
     ev.message_type = display->atom_MANAGER;
@@ -597,7 +597,7 @@ meta_screen_new (MetaDisplay *display,
       XEvent event;
 
       /* We sort of block infinitely here which is probably lame. */
-      
+
       meta_verbose ("Waiting for old window manager to exit\n");
       do
         {
@@ -606,7 +606,7 @@ meta_screen_new (MetaDisplay *display,
         }
       while (event.type != DestroyNotify);
     }
-  
+
   /* select our root window events */
   meta_error_trap_push (display);
 
@@ -651,13 +651,13 @@ meta_screen_new (MetaDisplay *display,
                     number, display->name);
 
       XDestroyWindow (xdisplay, new_wm_sn_owner);
-      
+
       return NULL;
     }
-  
+
   screen = g_object_new (META_TYPE_SCREEN, NULL);
   screen->closing = 0;
-  
+
   screen->display = display;
   screen->number = number;
   screen->screen_name = get_screen_name (display, number);
@@ -681,8 +681,8 @@ meta_screen_new (MetaDisplay *display,
   screen->wm_sn_atom = wm_sn_atom;
   screen->wm_sn_timestamp = manager_timestamp;
 
-  screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay, 
-                                                                 xroot, 
+  screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
+                                                                 xroot,
                                                                  NoEventMask);
   screen->work_area_later = 0;
   screen->check_fullscreen_later = 0;
@@ -699,18 +699,18 @@ meta_screen_new (MetaDisplay *display,
 
   meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
 
-  /* Handle creating a no_focus_window for this screen */  
+  /* Handle creating a no_focus_window for this screen */
   screen->no_focus_window =
     meta_create_offscreen_window (display->xdisplay,
                                   screen->xroot,
                                   FocusChangeMask|KeyPressMask|KeyReleaseMask);
   XMapWindow (display->xdisplay, screen->no_focus_window);
   /* Done with no_focus_window stuff */
-  
+
   set_wm_icon_size_hint (screen);
-  
+
   set_supported_hint (screen);
-  
+
   set_wm_check_hint (screen);
 
   set_desktop_viewport_hint (screen);
@@ -729,13 +729,13 @@ meta_screen_new (MetaDisplay *display,
                   (int) current_workspace);
   else
     meta_verbose ("No _NET_CURRENT_DESKTOP present\n");
-  
+
   /* Screens must have at least one workspace at all times,
    * so create that required workspace.
    */
   meta_workspace_activate (meta_workspace_new (screen), timestamp);
   update_num_workspaces (screen, timestamp);
-  
+
   set_workspace_names (screen);
 
   screen->keys_grabbed = FALSE;
@@ -765,10 +765,10 @@ meta_screen_new (MetaDisplay *display,
   /* Switch to the _NET_CURRENT_DESKTOP workspace */
   {
     MetaWorkspace *space;
-    
+
     space = meta_screen_get_workspace_by_index (screen,
                                                 current_workspace);
-    
+
     if (space != NULL)
       meta_workspace_activate (space, timestamp);
   }
@@ -788,15 +788,15 @@ meta_screen_free (MetaScreen *screen,
   display = screen->display;
 
   screen->closing += 1;
-  
+
   meta_display_grab (display);
 
   meta_compositor_unmanage (screen->display->compositor);
-  
+
   meta_display_unmanage_windows_for_screen (display, screen, timestamp);
-  
+
   meta_prefs_remove_listener (prefs_changed_callback, screen);
-  
+
   meta_screen_ungrab_keys (screen);
 
 #ifdef HAVE_STARTUP_NOTIFICATION
@@ -816,7 +816,7 @@ meta_screen_free (MetaScreen *screen,
       screen->sn_context = NULL;
     }
 #endif
-  
+
   meta_ui_free (screen->ui);
 
   meta_stack_free (screen->stack);
@@ -832,7 +832,7 @@ meta_screen_free (MetaScreen *screen,
 
   XDestroyWindow (screen->display->xdisplay,
                   screen->wm_sn_selection_window);
-  
+
   if (screen->work_area_later != 0)
     meta_later_remove (screen->work_area_later);
   if (screen->check_fullscreen_later != 0)
@@ -887,7 +887,7 @@ prefs_changed_callback (MetaPreference pref,
                         gpointer       data)
 {
   MetaScreen *screen = data;
-  
+
   if ((pref == META_PREF_NUM_WORKSPACES ||
        pref == META_PREF_DYNAMIC_WORKSPACES) &&
       !meta_prefs_get_dynamic_workspaces ())
@@ -895,7 +895,7 @@ prefs_changed_callback (MetaPreference pref,
       /* GSettings doesn't provide timestamps, but luckily update_num_workspaces
        * often doesn't need it...
        */
-      guint32 timestamp = 
+      guint32 timestamp =
         meta_display_get_current_time_roundtrip (screen->display);
       update_num_workspaces (screen, timestamp);
     }
@@ -917,7 +917,7 @@ get_screen_name (MetaDisplay *display,
   char *p;
   char *dname;
   char *scr;
-  
+
   /* DisplayString gives us a sort of canonical display,
    * vs. the user-entered name from XDisplayName()
    */
@@ -932,7 +932,7 @@ get_screen_name (MetaDisplay *display,
       if (p)
         *p = '\0';
     }
-  
+
   scr = g_strdup_printf ("%s.%d", dname, number);
 
   g_free (dname);
@@ -955,7 +955,7 @@ static void
 listify_func (gpointer key, gpointer value, gpointer data)
 {
   GSList **listp;
-  
+
   listp = data;
 
   *listp = g_slist_prepend (*listp, value);
@@ -981,14 +981,14 @@ meta_screen_foreach_window (MetaScreen *screen,
   /* If we end up doing this often, just keeping a list
    * of windows might be sensible.
    */
-  
+
   winlist = NULL;
   g_hash_table_foreach (screen->display->xids,
                         listify_func,
                         &winlist);
-  
+
   winlist = g_slist_sort (winlist, ptrcmp);
-  
+
   tmp = winlist;
   while (tmp != NULL)
     {
@@ -1005,7 +1005,7 @@ meta_screen_foreach_window (MetaScreen *screen,
               !window->override_redirect)
             (* func) (screen, window, data);
         }
-      
+
       tmp = tmp->next;
     }
   g_slist_free (winlist);
@@ -1039,7 +1039,7 @@ meta_screen_get_workspace_by_index (MetaScreen  *screen,
   /* should be robust, idx is maybe from an app */
   if (idx < 0)
     return NULL;
-  
+
   i = 0;
   tmp = screen->workspaces;
   while (tmp != NULL)
@@ -1258,7 +1258,7 @@ update_num_workspaces (MetaScreen *screen,
   GList *extras;
   MetaWorkspace *last_remaining;
   gboolean need_change_space;
-  
+
   if (meta_prefs_get_dynamic_workspaces ())
     {
       int n_items;
@@ -1301,14 +1301,14 @@ update_num_workspaces (MetaScreen *screen,
         extras = g_list_prepend (extras, w);
       else
         last_remaining = w;
-          
+
       ++i;
       tmp = tmp->next;
     }
   old_num = i;
 
   g_assert (last_remaining);
-  
+
   /* Get rid of the extra workspaces by moving all their windows
    * to last_remaining, then activating last_remaining if
    * one of the removed workspaces was active. This will be a bit
@@ -1321,11 +1321,11 @@ update_num_workspaces (MetaScreen *screen,
     {
       MetaWorkspace *w = tmp->data;
 
-      meta_workspace_relocate_windows (w, last_remaining);      
+      meta_workspace_relocate_windows (w, last_remaining);
 
       if (w == screen->active_workspace)
         need_change_space = TRUE;
-      
+
       tmp = tmp->next;
     }
 
@@ -1551,7 +1551,7 @@ meta_screen_get_monitor_for_window (MetaScreen *screen,
                                     MetaWindow *window)
 {
   MetaRectangle window_rect;
-  
+
   meta_window_get_frame_rect (window, &window_rect);
 
   return meta_screen_get_monitor_for_rect (screen, &window_rect);
@@ -1565,7 +1565,7 @@ meta_screen_get_monitor_index_for_rect (MetaScreen    *screen,
   return monitor->number;
 }
 
-const MetaMonitorInfo* 
+const MetaMonitorInfo*
 meta_screen_get_monitor_neighbor (MetaScreen         *screen,
                                   int                 which_monitor,
                                   MetaScreenDirection direction)
@@ -1578,23 +1578,23 @@ meta_screen_get_monitor_neighbor (MetaScreen         *screen,
     {
       current = screen->monitor_infos + i;
 
-      if ((direction == META_SCREEN_RIGHT && 
+      if ((direction == META_SCREEN_RIGHT &&
            current->rect.x == input->rect.x + input->rect.width &&
            meta_rectangle_vert_overlap(&current->rect, &input->rect)) ||
-          (direction == META_SCREEN_LEFT && 
+          (direction == META_SCREEN_LEFT &&
            input->rect.x == current->rect.x + current->rect.width &&
            meta_rectangle_vert_overlap(&current->rect, &input->rect)) ||
-          (direction == META_SCREEN_UP && 
+          (direction == META_SCREEN_UP &&
            input->rect.y == current->rect.y + current->rect.height &&
            meta_rectangle_horiz_overlap(&current->rect, &input->rect)) ||
-          (direction == META_SCREEN_DOWN && 
+          (direction == META_SCREEN_DOWN &&
            current->rect.y == input->rect.y + input->rect.height &&
            meta_rectangle_horiz_overlap(&current->rect, &input->rect)))
         {
           return current;
         }
     }
-  
+
   return NULL;
 }
 
@@ -1634,7 +1634,7 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
 
   while (!g_queue_is_empty (monitor_queue))
     {
-      current = (const MetaMonitorInfo*) 
+      current = (const MetaMonitorInfo*)
         g_queue_pop_head (monitor_queue);
 
       (*monitors_list)[cur++] = current->number;
@@ -1775,10 +1775,10 @@ meta_screen_get_current_monitor (MetaScreen *screen)
 
   if (screen->n_monitor_infos == 1)
     return 0;
-  
+
   /* Sadly, we have to do it this way. Yuck.
    */
-  
+
   if (screen->display->monitor_cache_invalidated)
     {
       int x, y;
@@ -1858,7 +1858,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
 
   if (screen->workspace_layout_overridden)
     return;
-  
+
   list = NULL;
   n_items = 0;
 
@@ -1870,7 +1870,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
       if (n_items == 3 || n_items == 4)
         {
           int cols, rows;
-          
+
           switch (list[0])
             {
             case _NET_WM_ORIENTATION_HORZ:
@@ -1897,7 +1897,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
                 screen->rows_of_workspaces = rows;
               else
                 screen->rows_of_workspaces = -1;
-              
+
               if (cols > 0)
                 screen->columns_of_workspaces = cols;
               else
@@ -2007,10 +2007,10 @@ set_workspace_names (MetaScreen *screen)
                              strlen (name) + 1);
       else
         g_string_append_len (flattened, "", 1);
-      
+
       ++i;
     }
-  
+
   meta_error_trap_push (screen->display);
   XChangeProperty (screen->display->xdisplay,
                    screen->xroot,
@@ -2019,7 +2019,7 @@ set_workspace_names (MetaScreen *screen)
                    8, PropModeReplace,
                   (unsigned char *)flattened->str, flattened->len);
   meta_error_trap_pop (screen->display);
-  
+
   g_string_free (flattened, TRUE);
 }
 
@@ -2033,7 +2033,7 @@ meta_screen_update_workspace_names (MetaScreen *screen)
   /* this updates names in prefs when the root window property changes,
    * iff the new property contents don't match what's already in prefs
    */
-  
+
   names = NULL;
   n_names = 0;
   if (!meta_prop_get_utf8_list (screen->display,
@@ -2053,10 +2053,10 @@ meta_screen_update_workspace_names (MetaScreen *screen)
                   "Setting workspace %d name to \"%s\" due to _NET_DESKTOP_NAMES change\n",
                   i, names[i] ? names[i] : "null");
       meta_prefs_change_workspace_name (i, names[i]);
-      
+
       ++i;
     }
-  
+
   g_strfreev (names);
 }
 
@@ -2073,7 +2073,7 @@ meta_create_offscreen_window (Display *xdisplay,
    */
   attrs.override_redirect = True;
   attrs.event_mask = valuemask;
-  
+
   return XCreateWindow (xdisplay,
                         parent,
                         -100, -100, 1, 1,
@@ -2092,12 +2092,12 @@ set_work_area_hint (MetaScreen *screen)
   GList *tmp_list;
   unsigned long *data, *tmp;
   MetaRectangle area;
-  
+
   num_workspaces = meta_screen_get_n_workspaces (screen);
   data = g_new (unsigned long, num_workspaces * 4);
   tmp_list = screen->workspaces;
   tmp = data;
-  
+
   while (tmp_list != NULL)
     {
       MetaWorkspace *workspace = tmp_list->data;
@@ -2112,10 +2112,10 @@ set_work_area_hint (MetaScreen *screen)
 
          tmp += 4;
         }
-      
+
       tmp_list = tmp_list->next;
     }
-  
+
   meta_error_trap_push (screen->display);
   XChangeProperty (screen->display->xdisplay, screen->xroot,
                   screen->display->atom__NET_WORKAREA,
@@ -2132,11 +2132,11 @@ set_work_area_later_func (MetaScreen *screen)
 {
   meta_topic (META_DEBUG_WORKAREA,
               "Running work area hint computation function\n");
-  
+
   screen->work_area_later = 0;
-  
+
   set_work_area_hint (screen);
-  
+
   return FALSE;
 }
 
@@ -2188,7 +2188,7 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
   int *grid;
   int i, r, c;
   int current_row, current_col;
-  
+
   rows = screen->rows_of_workspaces;
   cols = screen->columns_of_workspaces;
   if (rows <= 0 && cols <= 0)
@@ -2206,58 +2206,58 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
     cols = 1;
 
   g_assert (rows != 0 && cols != 0);
-  
+
   grid_area = rows * cols;
-  
+
   meta_verbose ("Getting layout rows = %d cols = %d current = %d "
                 "num_spaces = %d vertical = %s corner = %s\n",
                 rows, cols, current_space, num_workspaces,
                 screen->vertical_workspaces ? "(true)" : "(false)",
                 meta_screen_corner_to_string (screen->starting_corner));
-  
-  /* ok, we want to setup the distances in the workspace array to go     
-   * in each direction. Remember, there are many ways that a workspace   
-   * array can be setup.                                                 
-   * see http://www.freedesktop.org/standards/wm-spec/1.2/html/x109.html 
-   * and look at the _NET_DESKTOP_LAYOUT section for details.            
+
+  /* ok, we want to setup the distances in the workspace array to go
+   * in each direction. Remember, there are many ways that a workspace
+   * array can be setup.
+   * see http://www.freedesktop.org/standards/wm-spec/1.2/html/x109.html
+   * and look at the _NET_DESKTOP_LAYOUT section for details.
    * For instance:
    */
-  /* starting_corner = META_SCREEN_TOPLEFT                         
+  /* starting_corner = META_SCREEN_TOPLEFT
    *  vertical_workspaces = 0                 vertical_workspaces=1
-   *       1234                                    1357            
-   *       5678                                    2468            
-   *                                                               
-   * starting_corner = META_SCREEN_TOPRIGHT                        
+   *       1234                                    1357
+   *       5678                                    2468
+   *
+   * starting_corner = META_SCREEN_TOPRIGHT
    *  vertical_workspaces = 0                 vertical_workspaces=1
-   *       4321                                    7531            
-   *       8765                                    8642            
-   *                                                               
-   * starting_corner = META_SCREEN_BOTTOMLEFT                      
+   *       4321                                    7531
+   *       8765                                    8642
+   *
+   * starting_corner = META_SCREEN_BOTTOMLEFT
    *  vertical_workspaces = 0                 vertical_workspaces=1
-   *       5678                                    2468            
-   *       1234                                    1357            
-   *                                                               
-   * starting_corner = META_SCREEN_BOTTOMRIGHT                     
+   *       5678                                    2468
+   *       1234                                    1357
+   *
+   * starting_corner = META_SCREEN_BOTTOMRIGHT
    *  vertical_workspaces = 0                 vertical_workspaces=1
-   *       8765                                    8642            
-   *       4321                                    7531            
+   *       8765                                    8642
+   *       4321                                    7531
    *
    */
   /* keep in mind that we could have a ragged layout, e.g. the "8"
    * in the above grids could be missing
    */
 
-  
+
   grid = g_new (int, grid_area);
 
   current_row = -1;
   current_col = -1;
   i = 0;
-  
-  switch (screen->starting_corner) 
+
+  switch (screen->starting_corner)
     {
     case META_SCREEN_TOPLEFT:
-      if (screen->vertical_workspaces) 
+      if (screen->vertical_workspaces)
         {
           c = 0;
           while (c < cols)
@@ -2289,7 +2289,7 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
         }
       break;
     case META_SCREEN_TOPRIGHT:
-      if (screen->vertical_workspaces) 
+      if (screen->vertical_workspaces)
         {
           c = cols - 1;
           while (c >= 0)
@@ -2321,7 +2321,7 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
         }
       break;
     case META_SCREEN_BOTTOMLEFT:
-      if (screen->vertical_workspaces) 
+      if (screen->vertical_workspaces)
         {
           c = 0;
           while (c < cols)
@@ -2353,7 +2353,7 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
         }
       break;
     case META_SCREEN_BOTTOMRIGHT:
-      if (screen->vertical_workspaces) 
+      if (screen->vertical_workspaces)
         {
           c = cols - 1;
           while (c >= 0)
@@ -2384,12 +2384,12 @@ meta_screen_calc_workspace_layout (MetaScreen          *screen,
             }
         }
       break;
-    }  
+    }
 
   if (i != grid_area)
     meta_bug ("did not fill in the whole workspace grid in %s (%d filled)\n",
               G_STRFUNC, i);
-  
+
   current_row = 0;
   current_col = 0;
   r = 0;
@@ -2525,7 +2525,7 @@ meta_screen_update_showing_desktop_hint (MetaScreen *screen)
   unsigned long data[1];
 
   data[0] = screen->active_workspace->showing_desktop ? 1 : 0;
-      
+
   meta_error_trap_push (screen->display);
   XChangeProperty (screen->display->xdisplay, screen->xroot,
                    screen->display->atom__NET_SHOWING_DESKTOP,
@@ -2553,7 +2553,7 @@ queue_windows_showing (MetaScreen *screen)
 
       if (w->screen == screen)
         meta_window_queue (w, META_QUEUE_CALC_SHOWING);
-      
+
       tmp = tmp->next;
     }
 
@@ -2568,32 +2568,32 @@ meta_screen_minimize_all_on_active_workspace_except (MetaScreen *screen,
   GList *tmp;
 
   windows = screen->active_workspace->windows;
-  
+
   tmp = windows;
   while (tmp != NULL)
     {
       MetaWindow *w = tmp->data;
-      
+
       if (w->screen == screen  &&
           w->has_minimize_func &&
          w != keep)
        meta_window_minimize (w);
-      
+
       tmp = tmp->next;
     }
 }
 
 void
-meta_screen_show_desktop (MetaScreen *screen, 
+meta_screen_show_desktop (MetaScreen *screen,
                           guint32     timestamp)
 {
   GList *windows;
 
   if (screen->active_workspace->showing_desktop)
     return;
-  
+
   screen->active_workspace->showing_desktop = TRUE;
-  
+
   queue_windows_showing (screen);
 
   /* Focus the most recently used META_WINDOW_DESKTOP window, if there is one;
@@ -2603,18 +2603,18 @@ meta_screen_show_desktop (MetaScreen *screen,
   while (windows != NULL)
     {
       MetaWindow *w = windows->data;
-      
-      if (w->screen == screen  && 
+
+      if (w->screen == screen  &&
           w->type == META_WINDOW_DESKTOP)
         {
           meta_window_focus (w, timestamp);
           break;
         }
-      
+
       windows = windows->next;
     }
 
-  
+
   meta_screen_update_showing_desktop_hint (screen);
 }
 
@@ -2685,7 +2685,7 @@ remove_sequence (MetaScreen        *screen,
   meta_topic (META_DEBUG_STARTUP,
               "Removing sequence %s\n",
               sn_startup_sequence_get_id (sequence));
-  
+
   screen->startup_sequences = g_slist_remove (screen->startup_sequences,
                                               sequence);
 
@@ -2722,7 +2722,7 @@ collect_timed_out_foreach (void *element,
   SnStartupSequence *sequence = element;
   long tv_sec, tv_usec;
   double elapsed;
-  
+
   sn_startup_sequence_get_last_active_time (sequence, &tv_sec, &tv_usec);
 
   elapsed =
@@ -2733,7 +2733,7 @@ collect_timed_out_foreach (void *element,
               "Sequence used %g seconds vs. %g max: %s\n",
               elapsed, (double) STARTUP_TIMEOUT,
               sn_startup_sequence_get_id (sequence));
-  
+
   if (elapsed > STARTUP_TIMEOUT)
     ctod->list = g_slist_prepend (ctod->list, sequence);
 }
@@ -2744,7 +2744,7 @@ startup_sequence_timeout (void *data)
   MetaScreen *screen = data;
   CollectTimedOutData ctod;
   GSList *tmp;
-  
+
   ctod.list = NULL;
   g_get_current_time (&ctod.now);
   g_slist_foreach (screen->startup_sequences,
@@ -2759,14 +2759,14 @@ startup_sequence_timeout (void *data)
       meta_topic (META_DEBUG_STARTUP,
                   "Timed out sequence %s\n",
                   sn_startup_sequence_get_id (sequence));
-      
+
       sn_startup_sequence_complete (sequence);
-      
+
       tmp = tmp->next;
     }
 
   g_slist_free (ctod.list);
-  
+
   if (screen->startup_sequences != NULL)
     {
       return TRUE;
@@ -2785,7 +2785,7 @@ meta_screen_sn_event (SnMonitorEvent *event,
 {
   MetaScreen *screen;
   SnStartupSequence *sequence;
-  
+
   screen = user_data;
 
   sequence = sn_monitor_event_get_startup_sequence (event);
@@ -2799,7 +2799,7 @@ meta_screen_sn_event (SnMonitorEvent *event,
         const char *wmclass;
 
         wmclass = sn_startup_sequence_get_wmclass (sequence);
-        
+
         meta_topic (META_DEBUG_STARTUP,
                     "Received startup initiated for %s wmclass %s\n",
                     sn_startup_sequence_get_id (sequence),
@@ -2865,7 +2865,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
   const char *startup_id;
   GSList *tmp;
   SnStartupSequence *sequence;
-  
+
   /* Does the window have a startup ID stored? */
   startup_id = meta_window_get_startup_id (window);
 
@@ -2873,7 +2873,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
               "Applying startup props to %s id \"%s\"\n",
               window->desc,
               startup_id ? startup_id : "(none)");
-  
+
   sequence = NULL;
   if (startup_id == NULL)
     {
@@ -2904,11 +2904,11 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
                           "Ending legacy sequence %s due to window %s\n",
                           sn_startup_sequence_get_id (sequence),
                           window->desc);
-              
+
               sn_startup_sequence_complete (sequence);
               break;
             }
-          
+
           tmp = tmp->next;
         }
     }
@@ -2916,7 +2916,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
   /* Still no startup ID? Bail. */
   if (startup_id == NULL)
     return FALSE;
-  
+
   /* We might get this far and not know the sequence ID (if the window
    * already had a startup ID stored), so let's look for one if we don't
    * already know it.
@@ -2927,15 +2927,15 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
       while (tmp != NULL)
         {
           const char *id;
-          
+
           id = sn_startup_sequence_get_id (tmp->data);
-          
+
           if (strcmp (id, startup_id) == 0)
             {
               sequence = tmp->data;
               break;
             }
-          
+
           tmp = tmp->next;
         }
     }
@@ -2943,7 +2943,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
   if (sequence != NULL)
     {
       gboolean changed_something = FALSE;
-          
+
       meta_topic (META_DEBUG_STARTUP,
                   "Found startup sequence for window %s ID \"%s\"\n",
                   window->desc, startup_id);
@@ -2956,7 +2956,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
               meta_topic (META_DEBUG_STARTUP,
                           "Setting initial window workspace to %d based on startup info\n",
                           space);
-              
+
               window->initial_workspace_set = TRUE;
               window->initial_workspace = space;
               changed_something = TRUE;
@@ -2969,7 +2969,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
           meta_topic (META_DEBUG_STARTUP,
                       "Setting initial window timestamp to %u based on startup info\n",
                       timestamp);
-              
+
           window->initial_timestamp_set = TRUE;
           window->initial_timestamp = timestamp;
           changed_something = TRUE;
@@ -2983,7 +2983,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
                   "Did not find startup sequence for window %s ID \"%s\"\n",
                   window->desc, startup_id);
     }
-  
+
 #endif /* HAVE_STARTUP_NOTIFICATION */
 
   return FALSE;
@@ -2998,10 +2998,10 @@ meta_screen_get_screen_number (MetaScreen *screen)
 /**
  * meta_screen_get_display:
  * @screen: A #MetaScreen
- * 
+ *
  * Retrieve the display associated with screen.
  *
- * Returns: (transfer none): Display 
+ * Returns: (transfer none): Display
  */
 MetaDisplay *
 meta_screen_get_display (MetaScreen *screen)
@@ -3028,7 +3028,7 @@ meta_screen_get_xroot (MetaScreen *screen)
  *
  * Retrieve the size of the screen.
  */
-void 
+void
 meta_screen_get_size (MetaScreen *screen,
                       int        *width,
                       int        *height)
@@ -3052,7 +3052,7 @@ meta_screen_set_cm_selection (MetaScreen *screen)
   g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number);
   meta_verbose ("Setting selection: %s\n", selection);
   a = XInternAtom (screen->display->xdisplay, selection, FALSE);
-  XSetSelectionOwner (screen->display->xdisplay, a, 
+  XSetSelectionOwner (screen->display->xdisplay, a,
                       screen->wm_cm_selection_window, screen->wm_cm_timestamp);
 }
 
@@ -3141,11 +3141,11 @@ meta_screen_set_active_workspace_hint (MetaScreen *screen)
    */
   if (screen->closing > 0)
     return;
-  
+
   data[0] = meta_workspace_index (screen->active_workspace);
 
   meta_verbose ("Setting _NET_CURRENT_DESKTOP to %lu\n", data[0]);
-  
+
   meta_error_trap_push (screen->display);
   XChangeProperty (screen->display->xdisplay, screen->xroot,
                    screen->display->atom__NET_CURRENT_DESKTOP,
diff --git a/src/core/stack-tracker.c b/src/core/stack-tracker.c
index b76bf65..751b129 100644
--- a/src/core/stack-tracker.c
+++ b/src/core/stack-tracker.c
@@ -921,7 +921,7 @@ resync_verified_stack_with_xserver_stack (MetaStackTracker *tracker)
           MetaStackWindow new;
           MetaStackWindow *expected;
           int expected_index;
-          
+
           /* If the current window corresponds to a window that's not
            * in xserver_stack any more then the least disruptive thing
            * we can do is to simply remove it and take another look at
diff --git a/src/core/stack.c b/src/core/stack.c
index 5465310..4c97656 100644
--- a/src/core/stack.c
+++ b/src/core/stack.c
@@ -5,12 +5,12 @@
  * @short_description: Which windows cover which other windows
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002, 2003 Red Hat, Inc.
  * Copyright (C) 2004 Rob Adams
  * Copyright (C) 2004, 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -20,7 +20,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -67,7 +67,7 @@ MetaStack*
 meta_stack_new (MetaScreen *screen)
 {
   MetaStack *stack;
-  
+
   stack = g_new (MetaStack, 1);
 
   stack->screen = screen;
@@ -85,7 +85,7 @@ meta_stack_new (MetaScreen *screen)
   stack->need_resort = FALSE;
   stack->need_relayer = FALSE;
   stack->need_constrain = FALSE;
-  
+
   return stack;
 }
 
@@ -107,7 +107,7 @@ meta_stack_free (MetaStack *stack)
 
   if (stack->last_all_root_children_stacked)
     free_last_all_root_children_stacked_cache (stack);
-  
+
   g_free (stack);
 }
 
@@ -119,7 +119,7 @@ meta_stack_add (MetaStack  *stack,
 
   if (window->stack_position >= 0)
     meta_bug ("Window %s had stack position already\n", window->desc);
-  
+
   stack->added = g_list_prepend (stack->added, window);
 
   window->stack_position = stack->n_positions;
@@ -127,7 +127,7 @@ meta_stack_add (MetaStack  *stack,
   meta_topic (META_DEBUG_STACK,
               "Window %s has stack_position initialized to %d\n",
               window->desc, window->stack_position);
-  
+
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
 }
@@ -148,7 +148,7 @@ meta_stack_remove (MetaStack  *stack,
   meta_window_set_stack_position_no_sync (window,
                                           stack->n_positions - 1);
   window->stack_position = -1;
-  stack->n_positions -= 1;  
+  stack->n_positions -= 1;
 
   /* We don't know if it's been moved from "added" to "stack" yet */
   stack->added = g_list_remove (stack->added, window);
@@ -163,7 +163,7 @@ meta_stack_remove (MetaStack  *stack,
   if (window->frame)
     stack->removed = g_list_prepend (stack->removed,
                                      GUINT_TO_POINTER (window->frame->xwindow));
-  
+
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
 }
@@ -173,7 +173,7 @@ meta_stack_update_layer (MetaStack  *stack,
                          MetaWindow *window)
 {
   stack->need_relayer = TRUE;
-  
+
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
 }
@@ -183,7 +183,7 @@ meta_stack_update_transient (MetaStack  *stack,
                              MetaWindow *window)
 {
   stack->need_constrain = TRUE;
-  
+
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
 }
@@ -240,7 +240,7 @@ meta_stack_lower (MetaStack  *stack,
     return;
 
   meta_window_set_stack_position_no_sync (window, min_stack_position);
-  
+
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
 }
@@ -255,7 +255,7 @@ void
 meta_stack_thaw (MetaStack *stack)
 {
   g_return_if_fail (stack->freeze_count > 0);
-  
+
   stack->freeze_count -= 1;
   stack_sync_to_xserver (stack);
   meta_stack_update_window_tile_matches (stack, NULL);
@@ -333,7 +333,7 @@ get_standalone_layer (MetaWindow *window)
     case META_WINDOW_OVERRIDE_OTHER:
       layer = META_LAYER_OVERRIDE_REDIRECT;
       break;
-    default:       
+    default:
       meta_window_foreach_transient (window,
                                      is_focused_foreach,
                                      &focused_transient);
@@ -369,16 +369,16 @@ get_maximum_layer_in_group (MetaWindow *window)
   GSList *tmp;
   MetaStackLayer max;
   MetaStackLayer layer;
-  
+
   max = META_LAYER_DESKTOP;
-  
+
   group = meta_window_get_group (window);
 
   if (group != NULL)
     members = meta_group_list_windows (group);
   else
     members = NULL;
-  
+
   tmp = members;
   while (tmp != NULL)
     {
@@ -390,12 +390,12 @@ get_maximum_layer_in_group (MetaWindow *window)
           if (layer > max)
             max = layer;
         }
-      
+
       tmp = tmp->next;
     }
 
   g_slist_free (members);
-  
+
   return max;
 }
 
@@ -405,7 +405,7 @@ compute_layer (MetaWindow *window)
   MetaStackLayer old_layer = window->layer;
 
   window->layer = get_standalone_layer (window);
-  
+
   /* We can only do promotion-due-to-group for dialogs and other
    * transients, or weird stuff happens like the desktop window and
    * nautilus windows getting in the same layer, or all gnome-terminal
@@ -422,11 +422,11 @@ compute_layer (MetaWindow *window)
        * and a dialog transient for the normal window; you don't want the dialog
        * above the dock if it wouldn't normally be.
        */
-      
+
       MetaStackLayer group_max;
-      
+
       group_max = get_maximum_layer_in_group (window);
-      
+
       if (group_max > window->layer)
         {
           meta_topic (META_DEBUG_STACK,
@@ -467,10 +467,10 @@ compare_window_position (void *a,
   else
     return 0; /* not reached */
 }
-  
+
 /*
  * Stacking constraints
- * 
+ *
  * Assume constraints of the form "AB" meaning "window A must be
  * below window B"
  *
@@ -487,14 +487,14 @@ compare_window_position (void *a,
  *  apply BC: ABC
  *
  * but apply constraints in the wrong order and it breaks:
- * 
+ *
  *  start:    BCA
  *  apply BC: BCA
  *  apply AB: CAB
  *
  * We make a directed graph of the constraints by linking
  * from "above windows" to "below windows as follows:
- * 
+ *
  *   AB -> BC -> CD
  *          \
  *           CE
@@ -519,7 +519,7 @@ struct Constraint
 
   /* used to create the graph. */
   GSList *next_nodes;
-  
+
   /* constraint has been applied, used
    * to detect cycles.
    */
@@ -547,7 +547,7 @@ add_constraint (Constraint **constraints,
   Constraint *c;
 
   g_assert (above->screen == below->screen);
-  
+
   /* check if constraint is a duplicate */
   c = constraints[below->stack_position];
   while (c != NULL)
@@ -574,7 +574,7 @@ create_constraints (Constraint **constraints,
                     GList       *windows)
 {
   GList *tmp;
-  
+
   tmp = windows;
   while (tmp != NULL)
     {
@@ -587,7 +587,7 @@ create_constraints (Constraint **constraints,
           tmp = tmp->next;
           continue;
         }
-      
+
       if (WINDOW_TRANSIENT_FOR_WHOLE_GROUP (w))
         {
           GSList *group_windows;
@@ -600,9 +600,9 @@ create_constraints (Constraint **constraints,
             group_windows = meta_group_list_windows (group);
           else
             group_windows = NULL;
-          
+
           tmp2 = group_windows;
-          
+
           while (tmp2 != NULL)
             {
               MetaWindow *group_window = tmp2->data;
@@ -614,7 +614,7 @@ create_constraints (Constraint **constraints,
                   tmp2 = tmp2->next;
                   continue;
                 }
-              
+
 #if 0
               /* old way of doing it */
               if (!(meta_window_is_ancestor_of_transient (w, group_window)) &&
@@ -630,7 +630,7 @@ create_constraints (Constraint **constraints,
                               w->desc, group_window->desc);
                   add_constraint (constraints, w, group_window);
                 }
-              
+
               tmp2 = tmp2->next;
             }
 
@@ -640,7 +640,7 @@ create_constraints (Constraint **constraints,
                !w->transient_parent_is_root_window)
         {
           MetaWindow *parent;
-          
+
           parent =
             meta_display_lookup_x_window (w->display, w->xtransient_for);
 
@@ -652,7 +652,7 @@ create_constraints (Constraint **constraints,
               add_constraint (constraints, w, parent);
             }
         }
-      
+
       tmp = tmp->next;
     }
 }
@@ -671,12 +671,12 @@ graph_constraints (Constraint **constraints,
       /* If we have "A below B" and "B below C" then AB -> BC so we
        * add BC to next_nodes in AB.
        */
-      
+
       c = constraints[i];
       while (c != NULL)
         {
           Constraint *n;
-            
+
           g_assert (c->below->stack_position == i);
 
           /* Constraints where ->above is below are our
@@ -689,10 +689,10 @@ graph_constraints (Constraint **constraints,
                                                n);
               /* c is a previous node of n */
               n->has_prev = TRUE;
-              
+
               n = n->next;
             }
-          
+
           c = c->next;
         }
 
@@ -710,16 +710,16 @@ free_constraints (Constraint **constraints,
   while (i < n_constraints)
     {
       Constraint *c;
-      
+
       c = constraints[i];
       while (c != NULL)
         {
           Constraint *next = c->next;
-          
+
           g_slist_free (c->next_nodes);
 
           g_free (c);
-          
+
           c = next;
         }
 
@@ -730,7 +730,7 @@ free_constraints (Constraint **constraints,
 static void
 ensure_above (MetaWindow *above,
               MetaWindow *below)
-{  
+{
   if (WINDOW_HAS_TRANSIENT_TYPE(above) &&
       above->layer < below->layer)
     {
@@ -758,10 +758,10 @@ traverse_constraint (Constraint *c)
 
   if (c->applied)
     return;
-  
+
   ensure_above (c->above, c->below);
   c->applied = TRUE;
-  
+
   tmp = c->next_nodes;
   while (tmp != NULL)
     {
@@ -785,13 +785,13 @@ apply_constraints (Constraint **constraints,
   while (i < n_constraints)
     {
       Constraint *c;
-      
+
       c = constraints[i];
       while (c != NULL)
         {
           if (!c->has_prev)
             heads = g_slist_prepend (heads, c);
-          
+
           c = c->next;
         }
 
@@ -805,7 +805,7 @@ apply_constraints (Constraint **constraints,
       Constraint *c = tmp->data;
 
       traverse_constraint (c);
-      
+
       tmp = tmp->next;
     }
 
@@ -826,7 +826,7 @@ stack_do_window_deletions (MetaStack *stack)
    */
   GList *tmp;
   int i;
-    
+
   tmp = stack->removed;
   while (tmp != NULL)
     {
@@ -840,7 +840,7 @@ stack_do_window_deletions (MetaStack *stack)
       while (i > 0)
         {
           --i;
-          
+
           /* there's no guarantee we'll actually find windows to
            * remove, e.g. the same xwindow could have been
            * added/removed before we ever synced, and we put
@@ -877,34 +877,34 @@ stack_do_window_additions (MetaStack *stack)
       meta_topic (META_DEBUG_STACK,
                   "Adding %d windows to sorted list\n",
                   n_added);
-      
+
       old_size = stack->xwindows->len;
       g_array_set_size (stack->xwindows, old_size + n_added);
-      
+
       end = &g_array_index (stack->xwindows, Window, old_size);
 
       /* stack->added has the most recent additions at the
        * front of the list, so we need to reverse it
        */
       stack->added = g_list_reverse (stack->added);
-      
+
       i = 0;
       tmp = stack->added;
       while (tmp != NULL)
         {
           MetaWindow *w;
-          
+
           w = tmp->data;
-          
+
           end[i] = w->xwindow;
 
           /* add to the main list */
           stack->sorted = g_list_prepend (stack->sorted, w);
-          
+
           ++i;
           tmp = tmp->next;
         }
-      
+
       stack->need_resort = TRUE; /* may not be needed as we add to top */
       stack->need_constrain = TRUE;
       stack->need_relayer = TRUE;
@@ -923,13 +923,13 @@ static void
 stack_do_relayer (MetaStack *stack)
 {
   GList *tmp;
-    
+
   if (!stack->need_relayer)
       return;
-    
+
   meta_topic (META_DEBUG_STACK,
               "Recomputing layers\n");
-      
+
   tmp = stack->sorted;
 
   while (tmp != NULL)
@@ -954,7 +954,7 @@ stack_do_relayer (MetaStack *stack)
            * not layer
            */
         }
-          
+
       tmp = tmp->next;
     }
 
@@ -973,7 +973,7 @@ stack_do_constrain (MetaStack *stack)
   Constraint **constraints;
 
   /* It'd be nice if this were all faster, probably */
-  
+
   if (!stack->need_constrain)
     return;
 
@@ -988,10 +988,10 @@ stack_do_constrain (MetaStack *stack)
   graph_constraints (constraints, stack->n_positions);
 
   apply_constraints (constraints, stack->n_positions);
-  
+
   free_constraints (constraints, stack->n_positions);
   g_free (constraints);
-  
+
   stack->need_constrain = FALSE;
 }
 
@@ -1005,10 +1005,10 @@ stack_do_resort (MetaStack *stack)
 {
   if (!stack->need_resort)
     return;
-  
+
   meta_topic (META_DEBUG_STACK,
               "Sorting stack list\n");
-      
+
   stack->sorted = g_list_sort (stack->sorted,
                                (GCompareFunc) compare_window_position);
 
@@ -1248,12 +1248,12 @@ stack_sync_to_xserver (MetaStack *stack)
   GArray *x11_hidden_stack_windows;
   int n_override_redirect = 0;
   MetaStackWindow guard_stack_window;
-  
+
   /* Bail out if frozen */
   if (stack->freeze_count > 0)
     return;
-  
-  meta_topic (META_DEBUG_STACK, "Syncing window stack to server\n");  
+
+  meta_topic (META_DEBUG_STACK, "Syncing window stack to server\n");
 
   stack_ensure_sorted (stack);
 
@@ -1284,7 +1284,7 @@ stack_sync_to_xserver (MetaStack *stack)
       MetaStackWindow stack_window;
 
       stack_window.any.type = w->client_type;
-      
+
       meta_topic (META_DEBUG_STACK, "%u:%d - %s ",
                  w->layer, w->stack_position, w->desc);
 
@@ -1293,7 +1293,7 @@ stack_sync_to_xserver (MetaStack *stack)
        n_override_redirect++;
       else
        g_array_prepend_val (x11_stacked, w->xwindow);
-      
+
       if (w->frame)
        top_level_window = w->frame->xwindow;
       else
@@ -1336,12 +1336,12 @@ stack_sync_to_xserver (MetaStack *stack)
   if (x11_stacked->len != stack->xwindows->len - n_override_redirect)
     meta_bug ("%u windows stacked, %u windows exist in stack\n",
               x11_stacked->len, stack->xwindows->len);
-  
+
   /* Sync to server */
 
   meta_topic (META_DEBUG_STACK, "Restacking %u windows\n",
               all_root_children_stacked->len);
-  
+
   meta_error_trap_push (stack->screen->display);
 
   if (stack->last_all_root_children_stacked == NULL)
@@ -1425,7 +1425,7 @@ stack_sync_to_xserver (MetaStack *stack)
                   /* In this case we have an X window that we need to
                    * put below a wayland window and this is the
                    * topmost X window. */
-                  
+
                   /* In X terms (because this is the topmost X window)
                    * we want to
                    * raise_window_relative_to_managed_windows() to
@@ -1452,7 +1452,7 @@ stack_sync_to_xserver (MetaStack *stack)
                    * *newp, then we fail to restack *newp; but on
                    * unmanaging last_xwindow, we'll fix it up.
                    */
-                  
+
                   meta_topic (META_DEBUG_STACK, "Placing window 0x%lx below 0x%lx\n",
                               newp->any.type == META_WINDOW_CLIENT_TYPE_X11 ? newp->x11.xwindow : 0,
                               last_xwindow);
@@ -1572,7 +1572,7 @@ stack_sync_to_xserver (MetaStack *stack)
    * get removed from the stacking list when we unmanage it
    * and we'll fix stacking at that time.
    */
-  
+
   /* Sync _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING */
 
   XChangeProperty (stack->screen->display->xdisplay,
@@ -1633,9 +1633,9 @@ meta_stack_get_above (MetaStack      *stack,
 {
   GList *link;
   MetaWindow *above;
-  
+
   stack_ensure_sorted (stack);
-  
+
   link = g_list_find (stack->sorted, window);
   if (link == NULL)
     return NULL;
@@ -1658,7 +1658,7 @@ meta_stack_get_below (MetaStack      *stack,
 {
   GList *link;
   MetaWindow *below;
-  
+
   stack_ensure_sorted (stack);
 
   link = g_list_find (stack->sorted, window);
@@ -1667,7 +1667,7 @@ meta_stack_get_below (MetaStack      *stack,
     return NULL;
   if (link->next == NULL)
     return NULL;
-  
+
   below = link->next->data;
 
   if (only_within_layer &&
@@ -1801,22 +1801,22 @@ meta_stack_list_windows (MetaStack     *stack,
 {
   GList *workspace_windows = NULL;
   GList *link;
-  
+
   stack_ensure_sorted (stack); /* do adds/removes */
-  
+
   link = stack->sorted;
-  
+
   while (link)
     {
       MetaWindow *window = link->data;
-      
+
       if (window &&
           (workspace == NULL || meta_window_located_on_workspace (window, workspace)))
         {
           workspace_windows = g_list_prepend (workspace_windows,
                                               window);
         }
-      
+
       link = link->next;
     }
 
@@ -1833,7 +1833,7 @@ meta_stack_windows_cmp  (MetaStack  *stack,
   /* -1 means a below b */
 
   stack_ensure_sorted (stack); /* update constraints, layers */
-  
+
   if (window_a->layer < window_b->layer)
     return -1;
   else if (window_a->layer > window_b->layer)
@@ -1883,7 +1883,7 @@ compare_pointers (gconstpointer a,
     return 1;
   else if (a < b)
     return -1;
-  else 
+  else
     return 0;
 }
 
@@ -1921,7 +1921,7 @@ meta_stack_set_positions (MetaStack *stack,
 
   /* Make sure any adds or removes aren't in limbo -- is this needed? */
   stack_ensure_sorted (stack);
-  
+
   if (!lists_contain_same_windows (windows, stack->sorted))
     {
       meta_warning ("This list of windows has somehow changed; not resetting "
@@ -1934,7 +1934,7 @@ meta_stack_set_positions (MetaStack *stack,
 
   stack->need_resort = TRUE;
   stack->need_constrain = TRUE;
-   
+
   i = 0;
   tmp = windows;
   while (tmp != NULL)
@@ -1943,7 +1943,7 @@ meta_stack_set_positions (MetaStack *stack,
       w->stack_position = i++;
       tmp = tmp->next;
     }
-  
+
   meta_topic (META_DEBUG_STACK,
               "Reset the stack positions of (nearly) all windows\n");
 
@@ -1957,7 +1957,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
 {
   int low, high, delta;
   GList *tmp;
-  
+
   g_return_if_fail (window->screen->stack != NULL);
   g_return_if_fail (window->stack_position >= 0);
   g_return_if_fail (position >= 0);
@@ -1972,7 +1972,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
 
   window->screen->stack->need_resort = TRUE;
   window->screen->stack->need_constrain = TRUE;
-  
+
   if (position < window->stack_position)
     {
       low = position;
@@ -1997,7 +1997,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
 
       tmp = tmp->next;
     }
-  
+
   window->stack_position = position;
 
   meta_topic (META_DEBUG_STACK,
diff --git a/src/core/stack.h b/src/core/stack.h
index f9555a9..e82be0a 100644
--- a/src/core/stack.h
+++ b/src/core/stack.h
@@ -1,9 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -13,7 +13,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -26,7 +26,7 @@
  * @short_description: Which windows cover which other windows
  *
  * There are two factors that determine window position.
- * 
+ *
  * One is window->stack_position, which is a unique integer
  * indicating how windows are ordered with respect to one
  * another. The ordering here transcends layers; it isn't changed
@@ -34,7 +34,7 @@
  * windows from one layer to another, while preserving the relative
  * order of the moved windows. Also, it allows us to restore
  * the stacking order from a saved session.
- * 
+ *
  * However when actually stacking windows on the screen, the
  * layer overrides the stack_position; windows are first sorted
  * by layer, then by stack_position within each layer.
@@ -82,7 +82,7 @@ struct _MetaStack
    * The order of the elements in this list is not important.
    */
   GList *removed;
-  
+
   /**
    * If this is zero, the local stack oughtn't to be brought up to date with
    * the X server's stack, because it is in the middle of being updated.
diff --git a/src/core/testboxes.c b/src/core/testboxes.c
index 19def8c..aa676ef 100644
--- a/src/core/testboxes.c
+++ b/src/core/testboxes.c
@@ -2,9 +2,9 @@
 
 /* Mutter box operation testing program */
 
-/* 
+/*
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -363,7 +363,7 @@ test_merge_regions ()
    * uniformly distributed location of center of struts (within screen)
    * merge all regions that are possible
    * print stats on problem setup
-   *   number of (non-completely-occluded?) struts 
+   *   number of (non-completely-occluded?) struts
    *   percentage of screen covered
    *   length of resulting non-minimal spanning set
    *   length of resulting minimal spanning set
@@ -508,11 +508,11 @@ test_merge_regions ()
       compare = compare->next;
     }
 
-  printf ("  Num rectangles contained in others          : %d\n", 
+  printf ("  Num rectangles contained in others          : %d\n",
           num_contains);
-  printf ("  Num rectangles partially contained in others: %d\n", 
+  printf ("  Num rectangles partially contained in others: %d\n",
           num_part_contains);
-  printf ("  Num rectangles adjacent to others           : %d\n", 
+  printf ("  Num rectangles adjacent to others           : %d\n",
           num_adjacent);
   printf ("  Num rectangles merged with others           : %d\n",
           num_merged);
@@ -583,9 +583,9 @@ test_regions_okay ()
   GList* region;
   GList* tmp;
 
-  /*************************************************************/  
+  /*************************************************************/
   /* Make sure test region 0 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   region = get_screen_region (0);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_meta_rect (0, 0, 1600, 1200));
@@ -593,9 +593,9 @@ test_regions_okay ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (region);
 
-  /*************************************************************/  
+  /*************************************************************/
   /* Make sure test region 1 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   region = get_screen_region (1);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_meta_rect (0, 20,  400, 1180));
@@ -606,7 +606,7 @@ test_regions_okay ()
 
   /*************************************************************/
   /* Make sure test region 2 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   region = get_screen_region (2);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_meta_rect (   0,   20,  300, 1180));
@@ -620,7 +620,7 @@ test_regions_okay ()
 
   /*************************************************************/
   /* Make sure test region 3 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   region = get_screen_region (3);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_meta_rect ( 380,  675,  420,  525)); /* 220500 */
@@ -646,7 +646,7 @@ test_regions_okay ()
 
   /*************************************************************/
   /* Make sure test region 4 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   region = get_screen_region (4);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_meta_rect ( 800,   20,  800, 1180));
@@ -656,7 +656,7 @@ test_regions_okay ()
 
   /*************************************************************/
   /* Make sure test region 5 has the right spanning rectangles */
-  /*************************************************************/  
+  /*************************************************************/
   printf ("The next test intentionally causes a warning, "
           "but it can be ignored.\n");
   region = get_screen_region (5);
@@ -1020,9 +1020,9 @@ test_find_onscreen_edges ()
   int top    = META_DIRECTION_TOP;
   int bottom = META_DIRECTION_BOTTOM;
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 0 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (0);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge (   0, 1200, 1600, 0, bottom));
@@ -1033,9 +1033,9 @@ test_find_onscreen_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 1 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (1);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge (   0, 1200,  400, 0, bottom));
@@ -1048,9 +1048,9 @@ test_find_onscreen_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 2 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (2);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge (1200, 1200,  400, 0, bottom));
@@ -1069,9 +1069,9 @@ test_find_onscreen_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 3 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (3);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge (1200, 1200,  400, 0, bottom));
@@ -1096,7 +1096,7 @@ test_find_onscreen_edges ()
   char big_buffer1[(EDGE_LENGTH+2)*FUDGE], big_buffer2[(EDGE_LENGTH+2)*FUDGE];
   meta_rectangle_edge_list_to_string (edges, "\n ", big_buffer1);
   meta_rectangle_edge_list_to_string (tmp,   "\n ", big_buffer2);
-  printf("Generated edge list:\n %s\nComparison edges list:\n %s\n", 
+  printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
          big_buffer1, big_buffer2);
 #endif
 
@@ -1104,9 +1104,9 @@ test_find_onscreen_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 4 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (4);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge ( 800, 1200, 800,  0, bottom));
@@ -1117,18 +1117,18 @@ test_find_onscreen_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 5 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (5);
   tmp = NULL;
   verify_edge_lists_are_equal (edges, tmp);
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************/  
+  /*************************************************/
   /* Make sure test region 6 has the correct edges */
-  /*************************************************/  
+  /*************************************************/
   edges = get_screen_edges (6);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_screen_edge (   0, 1200, 1600,  0, bottom));
@@ -1153,18 +1153,18 @@ test_find_nonintersected_monitor_edges ()
   int top    = META_DIRECTION_TOP;
   int bottom = META_DIRECTION_BOTTOM;
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 0 for with region 0 has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (0, 0);
   tmp = NULL;
   verify_edge_lists_are_equal (edges, tmp);
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 2 for with region 1 has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (2, 1);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_monitor_edge (   0,  600, 1600, 0, bottom));
@@ -1173,9 +1173,9 @@ test_find_nonintersected_monitor_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 1 for with region 2 has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (1, 2);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_monitor_edge ( 800,   20, 0, 1080, right));
@@ -1185,16 +1185,16 @@ test_find_nonintersected_monitor_edges ()
   char big_buffer1[(EDGE_LENGTH+2)*FUDGE], big_buffer2[(EDGE_LENGTH+2)*FUDGE];
   meta_rectangle_edge_list_to_string (edges, "\n ", big_buffer1);
   meta_rectangle_edge_list_to_string (tmp,   "\n ", big_buffer2);
-  printf("Generated edge list:\n %s\nComparison edges list:\n %s\n", 
+  printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
          big_buffer1, big_buffer2);
 #endif
   verify_edge_lists_are_equal (edges, tmp);
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 3 for with region 3 has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (3, 3);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_monitor_edge ( 900,  600,  700, 0, bottom));
@@ -1207,9 +1207,9 @@ test_find_nonintersected_monitor_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 3 for with region 4 has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (3, 4);
   tmp = NULL;
   tmp = g_list_prepend (tmp, new_monitor_edge ( 800,  600,  800, 0, bottom));
@@ -1219,9 +1219,9 @@ test_find_nonintersected_monitor_edges ()
   meta_rectangle_free_list_and_elements (tmp);
   meta_rectangle_free_list_and_elements (edges);
 
-  /*************************************************************************/  
+  /*************************************************************************/
   /* Make sure test monitor set 3 for with region 5has the correct edges */
-  /*************************************************************************/  
+  /*************************************************************************/
   edges = get_monitor_edges (3, 5);
   tmp = NULL;
   verify_edge_lists_are_equal (edges, tmp);
diff --git a/src/core/util-private.h b/src/core/util-private.h
index 6f25806..7d1f4b9 100644
--- a/src/core/util-private.h
+++ b/src/core/util-private.h
@@ -2,10 +2,10 @@
 
 /* Mutter utilities */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
diff --git a/src/core/util.c b/src/core/util.c
index 2b04de0..ccc1d15 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -1,9 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -13,7 +13,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -67,7 +67,7 @@ ensure_logfile (void)
       char *tmpl;
       int fd;
       GError *err;
-      
+
       tmpl = g_strdup_printf ("mutter-%d-debug-log-XXXXXX",
                               (int) getpid ());
 
@@ -77,7 +77,7 @@ ensure_logfile (void)
                             &err);
 
       g_free (tmpl);
-      
+
       if (err != NULL)
         {
           meta_warning ("Failed to open debug log: %s\n",
@@ -85,9 +85,9 @@ ensure_logfile (void)
           g_error_free (err);
           return;
         }
-      
+
       logfile = fdopen (fd, "w");
-      
+
       if (logfile == NULL)
         {
           meta_warning ("Failed to fdopen() log file %s: %s\n",
@@ -98,7 +98,7 @@ ensure_logfile (void)
         {
           g_printerr ("Opened log file %s\n", filename);
         }
-      
+
       g_free (filename);
     }
 }
@@ -116,7 +116,7 @@ meta_set_verbose (gboolean setting)
 #ifndef WITH_VERBOSE_MODE
   if (setting)
     meta_fatal (_("Mutter was compiled without support for verbose mode\n"));
-#else 
+#else
   if (setting)
     ensure_logfile ();
 #endif
@@ -225,7 +225,7 @@ utf8_fputs (const char *str,
 {
   char *l;
   int retval;
-  
+
   l = g_locale_from_utf8 (str, -1, NULL, NULL, NULL);
 
   if (l == NULL)
@@ -259,24 +259,24 @@ meta_debug_spew_real (const char *format, ...)
   va_list args;
   gchar *str;
   FILE *out;
-  
+
   g_return_if_fail (format != NULL);
 
   if (!is_debugging)
     return;
-  
+
   va_start (args, format);
   str = g_strdup_vprintf (format, args);
   va_end (args);
 
   out = logfile ? logfile : stderr;
-  
+
   if (no_prefix == 0)
     utf8_fputs ("Window manager: ", out);
   utf8_fputs (str, out);
 
   fflush (out);
-  
+
   g_free (str);
 }
 #endif /* WITH_VERBOSE_MODE */
@@ -381,11 +381,11 @@ meta_topic_real_valist (MetaDebugTopic topic,
       ++sync_count;
       fprintf (out, "%d: ", sync_count);
     }
-  
+
   utf8_fputs (str, out);
-  
+
   fflush (out);
-  
+
   g_free (str);
 }
 
@@ -410,7 +410,7 @@ meta_bug (const char *format, ...)
   FILE *out;
 
   g_return_if_fail (format != NULL);
-  
+
   va_start (args, format);
   str = g_strdup_vprintf (format, args);
   va_end (args);
@@ -426,9 +426,9 @@ meta_bug (const char *format, ...)
   utf8_fputs (str, out);
 
   fflush (out);
-  
+
   g_free (str);
-  
+
   /* stop us in a debugger */
   abort ();
 }
@@ -439,9 +439,9 @@ meta_warning (const char *format, ...)
   va_list args;
   gchar *str;
   FILE *out;
-  
+
   g_return_if_fail (format != NULL);
-  
+
   va_start (args, format);
   str = g_strdup_vprintf (format, args);
   va_end (args);
@@ -457,7 +457,7 @@ meta_warning (const char *format, ...)
   utf8_fputs (str, out);
 
   fflush (out);
-  
+
   g_free (str);
 }
 
@@ -467,9 +467,9 @@ meta_fatal (const char *format, ...)
   va_list args;
   gchar *str;
   FILE *out;
-  
+
   g_return_if_fail (format != NULL);
-  
+
   va_start (args, format);
   str = g_strdup_vprintf (format, args);
   va_end (args);
@@ -485,7 +485,7 @@ meta_fatal (const char *format, ...)
   utf8_fputs (str, out);
 
   fflush (out);
-  
+
   g_free (str);
 
   meta_exit (META_EXIT_ERROR);
@@ -508,7 +508,7 @@ meta_pop_no_msg_prefix (void)
 void
 meta_exit (MetaExitCode code)
 {
-  
+
   exit (code);
 }
 
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 35c5f36..de73544 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -9,12 +9,12 @@
  * which the rest of the world is allowed to use.)
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002 Red Hat, Inc.
  * Copyright (C) 2003, 2004 Rob Adams
  * Copyright (C) 2004-2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -24,7 +24,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -90,7 +90,7 @@ typedef enum
 struct _MetaWindow
 {
   GObject parent_instance;
-  
+
   MetaDisplay *display;
   MetaScreen *screen;
   const MetaMonitorInfo *monitor;
@@ -134,18 +134,18 @@ struct _MetaWindow
 
   int hide_titlebar_when_maximized;
   int net_wm_pid;
-  
+
   Window xtransient_for;
   Window xgroup_leader;
   Window xclient_leader;
   MetaWindow *transient_for;
 
   /* Initial workspace property */
-  int initial_workspace;  
-  
+  int initial_workspace;
+
   /* Initial timestamp property */
-  guint32 initial_timestamp;  
-  
+  guint32 initial_timestamp;
+
   /* Whether this is an override redirect window or not */
   guint override_redirect : 1;
 
@@ -184,7 +184,7 @@ struct _MetaWindow
    * these monitors.  If not, this is the single monitor which the window's
    * origin is on. */
   gint fullscreen_monitors[4];
-  
+
   /* Whether we're trying to constrain the window to be fully onscreen */
   guint require_fully_onscreen : 1;
 
@@ -213,7 +213,7 @@ struct _MetaWindow
    * see also unmaps_pending
    */
   guint mapped : 1;
-  
+
   /* Whether window has been hidden from view by lowering it to the bottom
    * of window stack.
    */
@@ -247,23 +247,23 @@ struct _MetaWindow
 
   /* whether an initial workspace was explicitly set */
   guint initial_workspace_set : 1;
-  
+
   /* whether an initial timestamp was explicitly set */
   guint initial_timestamp_set : 1;
-  
+
   /* whether net_wm_user_time has been set yet */
   guint net_wm_user_time_set : 1;
 
   /* whether net_wm_icon_geometry has been set */
   guint icon_geometry_set : 1;
-  
+
   /* These are the flags from WM_PROTOCOLS */
   guint take_focus : 1;
   guint delete_window : 1;
   guint can_ping : 1;
   /* Globally active / No input */
   guint input : 1;
-  
+
   /* MWM hints about features of window */
   guint mwm_decorated : 1;
   guint mwm_border_only : 1;
@@ -272,7 +272,7 @@ struct _MetaWindow
   guint mwm_has_maximize_func : 1;
   guint mwm_has_move_func : 1;
   guint mwm_has_resize_func : 1;
-  
+
   /* Computed features of window */
   guint decorated : 1;
   guint border_only : 1;
@@ -295,7 +295,7 @@ struct _MetaWindow
 
   /* EWHH demands attention flag */
   guint wm_state_demands_attention : 1;
-  
+
   /* TRUE iff window == window->display->focus_window */
   guint has_focus : 1;
 
@@ -316,15 +316,15 @@ struct _MetaWindow
 
   /* Are we in meta_window_new()? */
   guint constructing : 1;
-  
+
   /* Are we in the various queues? (Bitfield: see META_WINDOW_IS_IN_QUEUE) */
   guint is_in_queues : NUMBER_OF_QUEUES;
- 
+
   /* Used by keybindings.c */
   guint keys_grabbed : 1;     /* normal keybindings grabbed */
   guint grab_on_frame : 1;    /* grabs are on the frame */
   guint all_keys_grabbed : 1; /* AnyKey grabbed */
-  
+
   /* Set if the reason for unmanaging the window is that
    * it was withdrawn
    */
@@ -337,7 +337,7 @@ struct _MetaWindow
 
   /* Transient parent is a root window */
   guint transient_parent_is_root_window : 1;
-  
+
   /* if TRUE, window was maximized at start of current grab op */
   guint shaken_loose : 1;
 
@@ -386,7 +386,7 @@ struct _MetaWindow
   guint sync_request_timeout_id;
   /* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */
   XSyncAlarm sync_request_alarm;
-  
+
   /* Number of UnmapNotify that are caused by us, if
    * we get UnmapNotify with none pending then the client
    * is withdrawing the window.
@@ -402,11 +402,11 @@ struct _MetaWindow
 
   /* window that gets updated net_wm_user_time values */
   Window user_time_window;
-  
+
   /* The size we set the window to last (i.e. what we believe
    * to be its actual size on the server). The x, y are
    * the actual server-side x,y so are relative to the frame
-   * (meaning that they just hold the frame width and height) 
+   * (meaning that they just hold the frame width and height)
    * or the root window (meaning they specify the location
    * of the top left of the inner window) as appropriate.
    */
@@ -432,7 +432,7 @@ struct _MetaWindow
    * Position always in root coords, unlike window->rect.
    */
   MetaRectangle user_rect;
-  
+
   /* Cached net_wm_icon_geometry */
   MetaRectangle icon_geometry;
 
@@ -444,7 +444,7 @@ struct _MetaWindow
   /* Managed by stack.c */
   MetaStackLayer layer;
   int stack_position; /* see comment in stack.h */
-  
+
   /* Current dialog open for this window */
   int dialog_pid;
 
diff --git a/src/core/workspace-private.h b/src/core/workspace-private.h
index 4228a9b..34f498f 100644
--- a/src/core/workspace-private.h
+++ b/src/core/workspace-private.h
@@ -10,10 +10,10 @@
  * are unmapped.
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2004, 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -23,7 +23,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -38,7 +38,7 @@ struct _MetaWorkspace
 {
   GObject parent_instance;
   MetaScreen *screen;
-  
+
   GList *windows;
 
   /* The "MRU list", or "most recently used" list, is a list of
diff --git a/src/core/workspace.c b/src/core/workspace.c
index ca87c0b..80c38f8 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -1,10 +1,10 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003 Rob Adams
  * Copyright (C) 2004, 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -197,7 +197,7 @@ meta_workspace_new (MetaScreen *screen)
   workspace->all_struts = NULL;
 
   workspace->showing_desktop = FALSE;
-  
+
   return workspace;
 }
 
@@ -219,7 +219,7 @@ workspace_free_all_struts (MetaWorkspace *workspace)
 {
   if (workspace->all_struts == NULL)
     return;
-    
+
   g_slist_foreach (workspace->all_struts, free_this, NULL);
   g_slist_free (workspace->all_struts);
   workspace->all_struts = NULL;
@@ -236,7 +236,7 @@ workspace_free_builtin_struts (MetaWorkspace *workspace)
 {
   if (workspace->builtin_struts == NULL)
     return;
-    
+
   g_slist_foreach (workspace->builtin_struts, free_this, NULL);
   g_slist_free (workspace->builtin_struts);
   workspace->builtin_struts = NULL;
@@ -254,7 +254,7 @@ meta_workspace_remove (MetaWorkspace *workspace)
   /* Here we assume all the windows are already on another workspace
    * as well, so they won't be "orphaned"
    */
-  
+
   tmp = workspace->windows;
   while (tmp != NULL)
     {
@@ -272,10 +272,10 @@ meta_workspace_remove (MetaWorkspace *workspace)
   g_assert (workspace->windows == NULL);
 
   screen = workspace->screen;
-  
+
   workspace->screen->workspaces =
     g_list_remove (workspace->screen->workspaces, workspace);
-  
+
   g_free (workspace->work_area_monitor);
 
   g_list_free (workspace->mru_list);
@@ -313,11 +313,11 @@ meta_workspace_add_window (MetaWorkspace *workspace,
                            MetaWindow    *window)
 {
   g_return_if_fail (window->workspace == NULL);
-  
+
   /* If the window is on all workspaces, we want to add it to all mru
    * lists, otherwise just add it to this workspaces mru list
    */
-  if (window->on_all_workspaces) 
+  if (window->on_all_workspaces)
     {
       if (window->workspace == NULL)
         {
@@ -343,7 +343,7 @@ meta_workspace_add_window (MetaWorkspace *workspace,
   window->workspace = workspace;
 
   meta_window_set_current_workspace_hint (window);
-  
+
   if (window->struts)
     {
       meta_topic (META_DEBUG_WORKAREA,
@@ -371,10 +371,10 @@ meta_workspace_remove_window (MetaWorkspace *workspace,
   window->workspace = NULL;
 
   /* If the window is on all workspaces, we don't want to remove it
-   * from the MRU list unless this causes it to be removed from all 
+   * from the MRU list unless this causes it to be removed from all
    * workspaces
    */
-  if (window->on_all_workspaces) 
+  if (window->on_all_workspaces)
     {
       GList* tmp = window->screen->workspaces;
       while (tmp)
@@ -392,7 +392,7 @@ meta_workspace_remove_window (MetaWorkspace *workspace,
     }
 
   meta_window_set_current_workspace_hint (window);
-  
+
   if (window->struts)
     {
       meta_topic (META_DEBUG_WORKAREA,
@@ -416,12 +416,12 @@ meta_workspace_relocate_windows (MetaWorkspace *workspace,
 {
   GList *tmp;
   GList *copy;
-  
+
   g_return_if_fail (workspace != new_home);
 
   /* can't modify list we're iterating over */
   copy = g_list_copy (workspace->windows);
-  
+
   tmp = copy;
   while (tmp != NULL)
     {
@@ -429,12 +429,12 @@ meta_workspace_relocate_windows (MetaWorkspace *workspace,
 
       meta_workspace_remove_window (workspace, window);
       meta_workspace_add_window (new_home, window);
-      
+
       tmp = tmp->next;
     }
 
   g_list_free (copy);
-  
+
   g_assert (workspace->windows == NULL);
 }
 
@@ -547,10 +547,10 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
   MetaWorkspaceLayout layout1, layout2;
   gint num_workspaces, current_space, new_space;
   MetaMotionDirection direction;
-  
+
   meta_verbose ("Activating workspace %d\n",
                 meta_workspace_index (workspace));
-  
+
   if (workspace->screen->active_workspace == workspace)
     return;
 
@@ -582,7 +582,7 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
   if (workspace->screen->display->grab_op == META_GRAB_OP_MOVING ||
       workspace->screen->display->grab_op == META_GRAB_OP_KEYBOARD_MOVING)
     move_window = workspace->screen->display->grab_window;
-      
+
   if (move_window != NULL)
     {
       if (move_window->on_all_workspaces)
@@ -739,7 +739,7 @@ meta_workspace_list_windows (MetaWorkspace *workspace)
   GSList *display_windows;
   GSList *tmp;
   GList *workspace_windows;
-  
+
   display_windows = meta_display_list_windows (workspace->screen->display,
                                                META_LIST_DEFAULT);
 
@@ -767,7 +767,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
   GList *tmp;
   GList *windows;
   int i;
-  
+
   if (workspace->work_areas_invalid)
     {
       meta_topic (META_DEBUG_WORKAREA,
@@ -787,7 +787,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
 
   g_free (workspace->work_area_monitor);
   workspace->work_area_monitor = NULL;
-      
+
   workspace_free_all_struts (workspace);
 
   for (i = 0; i < workspace->screen->n_monitor_infos; i++)
@@ -800,7 +800,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
   workspace->screen_region = NULL;
   workspace->screen_edges = NULL;
   workspace->monitor_edges = NULL;
-  
+
   workspace->work_areas_invalid = TRUE;
 
   /* redo the size/position constraints on all windows */
@@ -811,7 +811,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
       MetaWindow *w = tmp->data;
 
       meta_window_queue (w, META_QUEUE_MOVE_RESIZE);
-      
+
       tmp = tmp->next;
     }
 
@@ -876,7 +876,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
 
   /* STEP 2: Get the maximal/spanning rects for the onscreen and
    *         on-single-monitor regions
-   */  
+   */
   g_assert (workspace->monitor_region == NULL);
   g_assert (workspace->screen_region   == NULL);
 
@@ -948,7 +948,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
               workspace->work_area_screen.x,
               workspace->work_area_screen.y,
               workspace->work_area_screen.width,
-              workspace->work_area_screen.height);    
+              workspace->work_area_screen.height);
 
   /* Now find the work areas for each monitor */
   g_free (workspace->work_area_monitor);
@@ -983,7 +983,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
 
   /* STEP 4: Make sure the screen_region is nonempty (separate from step 2
    *         since it relies on step 3).
-   */  
+   */
   if (workspace->screen_region == NULL)
     {
       MetaRectangle *nonempty_region;
@@ -1070,7 +1070,7 @@ meta_workspace_get_work_area_for_monitor (MetaWorkspace *workspace,
 
   ensure_work_areas_validated (workspace);
   g_assert (which_monitor < workspace->screen->n_monitor_infos);
-  
+
   *area = workspace->work_area_monitor[which_monitor];
 }
 
@@ -1086,7 +1086,7 @@ meta_workspace_get_work_area_all_monitors (MetaWorkspace *workspace,
                                            MetaRectangle *area)
 {
   ensure_work_areas_validated (workspace);
-  
+
   *area = workspace->work_area_screen;
 }
 
@@ -1151,7 +1151,7 @@ MetaWorkspace*
 meta_workspace_get_neighbor (MetaWorkspace      *workspace,
                              MetaMotionDirection direction)
 {
-  MetaWorkspaceLayout layout;  
+  MetaWorkspaceLayout layout;
   int i, current_space, num_workspaces;
   gboolean ltr;
 
@@ -1162,10 +1162,10 @@ meta_workspace_get_neighbor (MetaWorkspace      *workspace,
 
   meta_verbose ("Getting neighbor of %d in direction %s\n",
                 current_space, meta_motion_direction_to_string (direction));
-  
+
   ltr = meta_ui_get_direction() == META_UI_DIRECTION_LTR;
 
-  switch (direction) 
+  switch (direction)
     {
     case META_MOTION_LEFT:
       layout.current_col -= ltr ? 1 : -1;
@@ -1199,12 +1199,12 @@ meta_workspace_get_neighbor (MetaWorkspace      *workspace,
   if (i >= num_workspaces)
     meta_bug ("calc_workspace_layout left an invalid (too-high) workspace number %d in the grid\n",
               i);
-    
+
   meta_verbose ("Neighbor workspace is %d at row %d col %d\n",
                 i, layout.current_row, layout.current_col);
 
   meta_screen_free_workspace_layout (&layout);
-  
+
   return meta_screen_get_workspace_by_index (workspace->screen, i);
 }
 
@@ -1258,7 +1258,7 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
             }
 
           if (workspace->screen->display->autoraise_window != window &&
-              meta_prefs_get_auto_raise ()) 
+              meta_prefs_get_auto_raise ())
             {
               meta_display_queue_autoraise_callback (workspace->screen->display,
                                                      window);
@@ -1303,7 +1303,7 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
     meta_topic (META_DEBUG_FOCUS,
                 "Focusing MRU window\n");
 
-  /* First, check to see if we need to focus an ancestor of a window */  
+  /* First, check to see if we need to focus an ancestor of a window */
   if (not_this_one)
     {
       MetaWindow *ancestor;
@@ -1314,9 +1314,9 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
           meta_window_showing_on_its_workspace (ancestor))
         {
           meta_topic (META_DEBUG_FOCUS,
-                      "Focusing %s, ancestor of %s\n", 
+                      "Focusing %s, ancestor of %s\n",
                       ancestor->desc, not_this_one->desc);
-      
+
           meta_window_focus (ancestor, timestamp);
 
           /* Also raise the window if in click-to-focus */
@@ -1335,7 +1335,7 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
     {
       meta_topic (META_DEBUG_FOCUS,
                   "Focusing workspace MRU window %s\n", window->desc);
-      
+
       meta_window_focus (window, timestamp);
 
       /* Also raise the window if in click-to-focus */
diff --git a/src/meta/boxes.h b/src/meta/boxes.h
index 489ce04..4311143 100644
--- a/src/meta/boxes.h
+++ b/src/meta/boxes.h
@@ -2,9 +2,9 @@
 
 /* Simple box operations */
 
-/* 
+/*
  * Copyright (C) 2005, 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/meta/common.h b/src/meta/common.h
index 47968e3..0461c39 100644
--- a/src/meta/common.h
+++ b/src/meta/common.h
@@ -4,10 +4,10 @@
  * PLEASE KEEP IN SYNC WITH GSETTINGS SCHEMAS!
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -17,7 +17,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -290,7 +290,7 @@ typedef enum
    */
   META_VIRTUAL_SHIFT_MASK    = 1 << 5,
   META_VIRTUAL_CONTROL_MASK  = 1 << 6,
-  META_VIRTUAL_ALT_MASK      = 1 << 7,  
+  META_VIRTUAL_ALT_MASK      = 1 << 7,
   META_VIRTUAL_META_MASK     = 1 << 8,
   META_VIRTUAL_SUPER_MASK    = 1 << 9,
   META_VIRTUAL_HYPER_MASK    = 1 << 10,
diff --git a/src/meta/errors.h b/src/meta/errors.h
index 36bd9b7..b9ee9b3 100644
--- a/src/meta/errors.h
+++ b/src/meta/errors.h
@@ -2,9 +2,9 @@
 
 /* Mutter X error handling */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/meta/gradient.h b/src/meta/gradient.h
index 1c9ac24..2076545 100644
--- a/src/meta/gradient.h
+++ b/src/meta/gradient.h
@@ -2,10 +2,10 @@
 
 /* Mutter gradient rendering */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington, 99% copied from wrlib in
  * WindowMaker, Copyright (C) 1997-2000 Dan Pascu and Alfredo Kojima
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
diff --git a/src/meta/group.h b/src/meta/group.h
index 2ec6478..09d6e29 100644
--- a/src/meta/group.h
+++ b/src/meta/group.h
@@ -2,9 +2,9 @@
 
 /* Mutter window groups */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/meta/main.h b/src/meta/main.h
index 82f05a0..5c17bd7 100644
--- a/src/meta/main.h
+++ b/src/meta/main.h
@@ -2,9 +2,9 @@
 
 /* Mutter main */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/meta/prefs.h b/src/meta/prefs.h
index b43a239..ced3ddd 100644
--- a/src/meta/prefs.h
+++ b/src/meta/prefs.h
@@ -2,10 +2,10 @@
 
 /* Mutter preferences */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -171,95 +171,95 @@ void     meta_prefs_set_ignore_request_hide_titlebar (gboolean whether);
 
 /**
  * MetaKeyBindingAction:
- * @META_KEYBINDING_ACTION_NONE: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_1: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_2: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_3: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_4: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_5: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_6: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_7: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_8: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_9: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_10: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_11: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_12: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_LEFT: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_RIGHT: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_UP: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_DOWN: FILLME 
- * @META_KEYBINDING_ACTION_WORKSPACE_LAST: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_GROUP: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_WINDOWS: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_PANELS: FILLME 
- * @META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_GROUP: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_WINDOWS: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_PANELS: FILLME 
- * @META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD: FILLME 
- * @META_KEYBINDING_ACTION_SHOW_DESKTOP: FILLME 
- * @META_KEYBINDING_ACTION_PANEL_MAIN_MENU: FILLME 
- * @META_KEYBINDING_ACTION_PANEL_RUN_DIALOG: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_RECORDING: FILLME 
- * @META_KEYBINDING_ACTION_SET_SPEW_MARK: FILLME 
- * @META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_ABOVE: FILLME 
- * @META_KEYBINDING_ACTION_MAXIMIZE: FILLME 
- * @META_KEYBINDING_ACTION_UNMAXIMIZE: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_SHADED: FILLME 
- * @META_KEYBINDING_ACTION_MINIMIZE: FILLME 
- * @META_KEYBINDING_ACTION_CLOSE: FILLME 
- * @META_KEYBINDING_ACTION_BEGIN_MOVE: FILLME 
- * @META_KEYBINDING_ACTION_BEGIN_RESIZE: FILLME 
- * @META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LAST: FILLME 
+ * @META_KEYBINDING_ACTION_NONE: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_1: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_2: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_3: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_4: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_5: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_6: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_7: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_8: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_9: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_10: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_11: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_12: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_LEFT: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_RIGHT: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_UP: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_DOWN: FILLME
+ * @META_KEYBINDING_ACTION_WORKSPACE_LAST: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_GROUP: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_WINDOWS: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_PANELS: FILLME
+ * @META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_GROUP: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_WINDOWS: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_PANELS: FILLME
+ * @META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD: FILLME
+ * @META_KEYBINDING_ACTION_SHOW_DESKTOP: FILLME
+ * @META_KEYBINDING_ACTION_PANEL_MAIN_MENU: FILLME
+ * @META_KEYBINDING_ACTION_PANEL_RUN_DIALOG: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_RECORDING: FILLME
+ * @META_KEYBINDING_ACTION_SET_SPEW_MARK: FILLME
+ * @META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_ABOVE: FILLME
+ * @META_KEYBINDING_ACTION_MAXIMIZE: FILLME
+ * @META_KEYBINDING_ACTION_UNMAXIMIZE: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_SHADED: FILLME
+ * @META_KEYBINDING_ACTION_MINIMIZE: FILLME
+ * @META_KEYBINDING_ACTION_CLOSE: FILLME
+ * @META_KEYBINDING_ACTION_BEGIN_MOVE: FILLME
+ * @META_KEYBINDING_ACTION_BEGIN_RESIZE: FILLME
+ * @META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LAST: FILLME
  * @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT: FILLME
  * @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT: FILLME
  * @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP: FILLME
  * @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN: FILLME
- * @META_KEYBINDING_ACTION_RAISE_OR_LOWER: FILLME 
- * @META_KEYBINDING_ACTION_RAISE: FILLME 
- * @META_KEYBINDING_ACTION_LOWER: FILLME 
- * @META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY: FILLME 
- * @META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_N: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_S: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_E: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_W: FILLME 
- * @META_KEYBINDING_ACTION_MOVE_TO_CENTER: FILLME 
- * @META_KEYBINDING_ACTION_OVERLAY_KEY: FILLME 
- * @META_KEYBINDING_ACTION_ALWAYS_ON_TOP: FILLME 
- * @META_KEYBINDING_ACTION_LAST: FILLME 
+ * @META_KEYBINDING_ACTION_RAISE_OR_LOWER: FILLME
+ * @META_KEYBINDING_ACTION_RAISE: FILLME
+ * @META_KEYBINDING_ACTION_LOWER: FILLME
+ * @META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY: FILLME
+ * @META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_N: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_S: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_E: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_SIDE_W: FILLME
+ * @META_KEYBINDING_ACTION_MOVE_TO_CENTER: FILLME
+ * @META_KEYBINDING_ACTION_OVERLAY_KEY: FILLME
+ * @META_KEYBINDING_ACTION_ALWAYS_ON_TOP: FILLME
+ * @META_KEYBINDING_ACTION_LAST: FILLME
  */
 /* XXX FIXME This should be x-macroed, but isn't yet because it would be
  * difficult (or perhaps impossible) to add the suffixes using the current
diff --git a/src/meta/theme.h b/src/meta/theme.h
index c813ee2..b8d34f4 100644
--- a/src/meta/theme.h
+++ b/src/meta/theme.h
@@ -2,9 +2,9 @@
 
 /* Metacity Theme Rendering */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/meta/util.h b/src/meta/util.h
index 4644de5..eaa7dd4 100644
--- a/src/meta/util.h
+++ b/src/meta/util.h
@@ -2,10 +2,10 @@
 
 /* Mutter utilities */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -15,7 +15,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/ui/frames.c b/src/ui/frames.c
index b8e426f..55e005a 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2,11 +2,11 @@
 
 /* Metacity window frame manager widget */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2003 Red Hat, Inc.
  * Copyright (C) 2005, 2006 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -16,7 +16,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -129,7 +129,7 @@ meta_frames_class_init (MetaFramesClass *class)
   widget_class->style_updated = meta_frames_style_updated;
 
   widget_class->draw = meta_frames_draw;
-  widget_class->destroy_event = meta_frames_destroy_event;  
+  widget_class->destroy_event = meta_frames_destroy_event;
   widget_class->button_press_event = meta_frames_button_press_event;
   widget_class->button_release_event = meta_frames_button_release_event;
   widget_class->motion_notify_event = meta_frames_motion_notify_event;
@@ -217,7 +217,7 @@ static void
 meta_frames_init (MetaFrames *frames)
 {
   frames->text_heights = g_hash_table_new (NULL, NULL);
-  
+
   frames->frames = g_hash_table_new (unsigned_long_hash, unsigned_long_equal);
 
   frames->style_variants = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -245,7 +245,7 @@ meta_frames_destroy (GtkWidget *object)
   GSList *winlist;
   GSList *tmp;
   MetaFrames *frames;
-  
+
   frames = META_FRAMES (object);
 
   winlist = NULL;
@@ -281,13 +281,13 @@ static void
 meta_frames_finalize (GObject *object)
 {
   MetaFrames *frames;
-  
+
   frames = META_FRAMES (object);
 
   meta_prefs_remove_listener (prefs_changed_callback, frames);
-  
+
   g_hash_table_destroy (frames->text_heights);
-  
+
   g_assert (g_hash_table_size (frames->frames) == 0);
   g_hash_table_destroy (frames->frames);
 
@@ -308,7 +308,7 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data)
    * in case of color change.
    */
   meta_frames_set_window_background (frames, frame);
-  
+
   invalidate_whole_window (frames, frame);
   meta_core_queue_frame_resize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                                 frame->xwindow);
@@ -316,7 +316,7 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data)
     {
       /* save title to recreate layout */
       g_free (frame->title);
-      
+
       frame->title = g_strdup (pango_layout_get_text (frame->layout));
 
       g_object_unref (G_OBJECT (frame->layout));
@@ -332,7 +332,7 @@ meta_frames_font_changed (MetaFrames *frames)
       g_hash_table_destroy (frames->text_heights);
       frames->text_heights = g_hash_table_new (NULL, NULL);
     }
-  
+
   /* Queue a draw/resize on all frames */
   g_hash_table_foreach (frames->frames,
                         queue_recalc_func, frames);
@@ -405,7 +405,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
   widget = GTK_WIDGET (frames);
 
   g_return_if_fail (gtk_widget_get_realized (widget));
-      
+
   meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow,
                  META_CORE_GET_FRAME_FLAGS, &flags,
                  META_CORE_GET_FRAME_TYPE, &type,
@@ -420,7 +420,7 @@ meta_frames_ensure_layout (MetaFrames  *frames,
         {
           /* save title to recreate layout */
           g_free (frame->title);
-          
+
           frame->title = g_strdup (pango_layout_get_text (frame->layout));
 
           g_object_unref (G_OBJECT (frame->layout));
@@ -429,18 +429,18 @@ meta_frames_ensure_layout (MetaFrames  *frames,
     }
 
   frame->cache_style = style;
-  
+
   if (frame->layout == NULL)
     {
       gpointer key, value;
       PangoFontDescription *font_desc;
       double scale;
       int size;
-      
+
       scale = meta_theme_get_title_scale (meta_theme_get_current (),
                                           type,
                                           flags);
-      
+
       frame->layout = gtk_widget_create_pango_layout (widget, frame->title);
 
       pango_layout_set_ellipsize (frame->layout, PANGO_ELLIPSIZE_END);
@@ -468,10 +468,10 @@ meta_frames_ensure_layout (MetaFrames  *frames,
                                 GINT_TO_POINTER (size),
                                 GINT_TO_POINTER (frame->text_height));
         }
-      
-      pango_layout_set_font_description (frame->layout, 
+
+      pango_layout_set_font_description (frame->layout,
                                          font_desc);
-      
+
       pango_font_description_free (font_desc);
 
       /* Save some RAM */
@@ -489,7 +489,7 @@ meta_frames_calc_geometry (MetaFrames        *frames,
   MetaFrameFlags flags;
   MetaFrameType type;
   MetaButtonLayout button_layout;
-  
+
   meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow,
                  META_CORE_GET_CLIENT_WIDTH, &width,
                  META_CORE_GET_CLIENT_HEIGHT, &height,
@@ -500,7 +500,7 @@ meta_frames_calc_geometry (MetaFrames        *frames,
   meta_frames_ensure_layout (frames, frame);
 
   meta_prefs_get_button_layout (&button_layout);
-  
+
   meta_theme_calc_geometry (meta_theme_get_current (),
                             type,
                             frame->text_height,
@@ -575,7 +575,7 @@ meta_frames_manage_window (MetaFrames *frames,
   g_assert (window);
 
   frame = g_new (MetaUIFrame, 1);
-  
+
   frame->window = window;
 
   gdk_window_set_user_data (frame->window, frames);
@@ -583,7 +583,7 @@ meta_frames_manage_window (MetaFrames *frames,
   frame->style = NULL;
 
   /* Don't set event mask here, it's in frame.c */
-  
+
   frame->xwindow = xwindow;
   frame->cache_style = NULL;
   frame->layout = NULL;
@@ -596,9 +596,9 @@ meta_frames_manage_window (MetaFrames *frames,
    * registered with its MetaWindow, which happens after this function
    * and meta_ui_create_frame_window() return to meta_window_ensure_frame().
    */
-  
+
   meta_core_grab_buttons (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow);
-  
+
   g_hash_table_replace (frames->frames, &frame->xwindow, frame);
 }
 
@@ -621,7 +621,7 @@ meta_frames_unmanage_window (MetaFrames *frames,
 
       if (frames->last_motion_frame == frame)
         frames->last_motion_frame = NULL;
-      
+
       g_hash_table_remove (frames->frames, &frame->xwindow);
 
       g_object_unref (frame->style);
@@ -633,7 +633,7 @@ meta_frames_unmanage_window (MetaFrames *frames,
 
       if (frame->title)
         g_free (frame->title);
-      
+
       g_free (frame);
     }
   else
@@ -667,7 +667,7 @@ meta_ui_frame_get_borders (MetaFrames *frames,
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
 
   meta_frames_ensure_layout (frames, frame);
-  
+
   /* We can't get the full geometry, because that depends on
    * the client window size and probably we're being called
    * by the core move/resize code to decide on the client
@@ -731,7 +731,7 @@ meta_frames_reset_bg (MetaFrames *frames,
                       Window  xwindow)
 {
   MetaUIFrame *frame;
-  
+
   frame = meta_frames_lookup_window (frames, xwindow);
 
   meta_frames_set_window_background (frames, frame);
@@ -755,7 +755,7 @@ meta_frames_unflicker_bg (MetaFrames *frames,
                           int         target_height)
 {
   MetaUIFrame *frame;
-  
+
   frame = meta_frames_lookup_window (frames, xwindow);
   g_return_if_fail (frame != NULL);
 
@@ -807,7 +807,7 @@ get_visible_region (MetaFrames        *frames,
 
   corners_region = cairo_region_create ();
   get_visible_frame_rect (fgeom, window_width, window_height, &frame_rect);
-  
+
   if (fgeom->top_left_corner_rounded_radius != 0)
     {
       const int corner = fgeom->top_left_corner_rounded_radius;
@@ -821,7 +821,7 @@ get_visible_region (MetaFrames        *frames,
           rect.y = frame_rect.y + i;
           rect.width = width;
           rect.height = 1;
-          
+
           cairo_region_union_rectangle (corners_region, &rect);
         }
     }
@@ -839,7 +839,7 @@ get_visible_region (MetaFrames        *frames,
           rect.y = frame_rect.y + i;
           rect.width = width;
           rect.height = 1;
-          
+
           cairo_region_union_rectangle (corners_region, &rect);
         }
     }
@@ -857,7 +857,7 @@ get_visible_region (MetaFrames        *frames,
           rect.y = frame_rect.y + frame_rect.height - i - 1;
           rect.width = width;
           rect.height = 1;
-          
+
           cairo_region_union_rectangle (corners_region, &rect);
         }
     }
@@ -875,11 +875,11 @@ get_visible_region (MetaFrames        *frames,
           rect.y = frame_rect.y + frame_rect.height - i - 1;
           rect.width = width;
           rect.height = 1;
-          
+
           cairo_region_union_rectangle (corners_region, &rect);
         }
     }
-  
+
   visible_region = cairo_region_create_rectangle (&frame_rect);
   cairo_region_subtract (visible_region, corners_region);
   cairo_region_destroy (corners_region);
@@ -916,7 +916,7 @@ meta_frames_move_resize_frame (MetaFrames *frames,
 {
   MetaUIFrame *frame = meta_frames_lookup_window (frames, xwindow);
   int old_width, old_height;
-  
+
   old_width = gdk_window_get_width (frame->window);
   old_height = gdk_window_get_height (frame->window);
 
@@ -931,7 +931,7 @@ meta_frames_queue_draw (MetaFrames *frames,
                         Window      xwindow)
 {
   MetaUIFrame *frame;
-  
+
   frame = meta_frames_lookup_window (frames, xwindow);
 
   invalidate_whole_window (frames, frame);
@@ -943,14 +943,14 @@ meta_frames_set_title (MetaFrames *frames,
                        const char *title)
 {
   MetaUIFrame *frame;
-  
+
   frame = meta_frames_lookup_window (frames, xwindow);
 
   g_assert (frame);
-  
+
   g_free (frame->title);
   frame->title = g_strdup (title);
-  
+
   if (frame->layout)
     {
       g_object_unref (frame->layout);
@@ -979,7 +979,7 @@ meta_frames_repaint_frame (MetaFrames *frames,
                            Window      xwindow)
 {
   MetaUIFrame *frame;
-  
+
   frame = meta_frames_lookup_window (frames, xwindow);
 
   g_assert (frame);
@@ -997,7 +997,7 @@ redraw_control (MetaFrames *frames,
 {
   MetaFrameGeometry fgeom;
   GdkRectangle *rect;
-  
+
   meta_frames_calc_geometry (frames, frame, &fgeom);
 
   rect = control_rect (control, &fgeom);
@@ -1014,7 +1014,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
   Display *display;
 
   display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
-  
+
   switch (action)
     {
     case G_DESKTOP_TITLEBAR_ACTION_TOGGLE_SHADE:
@@ -1022,7 +1022,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
         meta_core_get (display, frame->xwindow,
                        META_CORE_GET_FRAME_FLAGS, &flags,
                        META_CORE_GET_END);
-        
+
         if (flags & META_FRAME_ALLOWS_SHADE)
           {
             if (flags & META_FRAME_SHADED)
@@ -1035,14 +1035,14 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
                                event->time);
           }
       }
-      break;          
-      
+      break;
+
     case G_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE:
       {
         meta_core_get (display, frame->xwindow,
                        META_CORE_GET_FRAME_FLAGS, &flags,
                        META_CORE_GET_END);
-        
+
         if (flags & META_FRAME_ALLOWS_MAXIMIZE)
           {
             meta_core_toggle_maximize (display, frame->xwindow);
@@ -1055,7 +1055,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
         meta_core_get (display, frame->xwindow,
                        META_CORE_GET_FRAME_FLAGS, &flags,
                        META_CORE_GET_END);
-        
+
         if (flags & META_FRAME_ALLOWS_MAXIMIZE)
           {
             meta_core_toggle_maximize_horizontally (display, frame->xwindow);
@@ -1068,7 +1068,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
         meta_core_get (display, frame->xwindow,
                        META_CORE_GET_FRAME_FLAGS, &flags,
                        META_CORE_GET_END);
-        
+
         if (flags & META_FRAME_ALLOWS_MAXIMIZE)
           {
             meta_core_toggle_maximize_vertically (display, frame->xwindow);
@@ -1081,7 +1081,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
         meta_core_get (display, frame->xwindow,
                        META_CORE_GET_FRAME_FLAGS, &flags,
                        META_CORE_GET_END);
-        
+
         if (flags & META_FRAME_ALLOWS_MINIMIZE)
           {
             meta_core_minimize (display, frame->xwindow);
@@ -1092,7 +1092,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
     case G_DESKTOP_TITLEBAR_ACTION_NONE:
       /* Yaay, a sane user that doesn't use that other weird crap! */
       break;
-    
+
     case G_DESKTOP_TITLEBAR_ACTION_LOWER:
       meta_core_user_lower_and_unfocus (display,
                                         frame->xwindow,
@@ -1108,7 +1108,7 @@ meta_frame_titlebar_event (MetaUIFrame    *frame,
                                   event->time);
       break;
     }
-  
+
   return TRUE;
 }
 
@@ -1117,7 +1117,7 @@ meta_frame_double_click_event (MetaUIFrame    *frame,
                                GdkEventButton *event)
 {
   int action = meta_prefs_get_action_double_click_titlebar ();
-  
+
   return meta_frame_titlebar_event (frame, event, action);
 }
 
@@ -1126,7 +1126,7 @@ meta_frame_middle_click_event (MetaUIFrame    *frame,
                                GdkEventButton *event)
 {
   int action = meta_prefs_get_action_middle_click_titlebar();
-  
+
   return meta_frame_titlebar_event (frame, event, action);
 }
 
@@ -1135,7 +1135,7 @@ meta_frame_right_click_event(MetaUIFrame     *frame,
                              GdkEventButton  *event)
 {
   int action = meta_prefs_get_action_right_click_titlebar();
-  
+
   return meta_frame_titlebar_event (frame, event, action);
 }
 
@@ -1147,14 +1147,14 @@ meta_frames_button_press_event (GtkWidget      *widget,
   MetaFrames *frames;
   MetaFrameControl control;
   Display *display;
-  
+
   frames = META_FRAMES (widget);
   display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
 
   /* Remember that the display may have already done something with this event.
    * If so there's probably a GrabOp in effect.
    */
-  
+
   frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
   if (frame == NULL)
     return FALSE;
@@ -1172,13 +1172,13 @@ meta_frames_button_press_event (GtkWidget      *widget,
                   frame->xwindow);
       meta_core_user_focus (display,
                             frame->xwindow,
-                            event->time);      
+                            event->time);
     }
 
   /* don't do the rest of this if on client area */
   if (control == META_FRAME_CONTROL_CLIENT_AREA)
     return FALSE; /* not on the frame, just passed through from client */
-  
+
   /* We want to shade even if we have a GrabOp, since we'll have a move grab
    * if we double click the titlebar.
    */
@@ -1191,7 +1191,7 @@ meta_frames_button_press_event (GtkWidget      *widget,
     }
 
   if (meta_core_get_grab_op (display) != META_GRAB_OP_NONE)
-    return FALSE; /* already up to something */  
+    return FALSE; /* already up to something */
 
   if (event->button == 1 &&
       (control == META_FRAME_CONTROL_MAXIMIZE ||
@@ -1226,7 +1226,7 @@ meta_frames_button_press_event (GtkWidget      *widget,
           /* get delta to convert to root coords */
           dx = event->x_root - event->x;
           dy = event->y_root - event->y;
-          
+
           /* Align to the right end of the menu rectangle if RTL */
           if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
             dx += rect->width;
@@ -1250,7 +1250,7 @@ meta_frames_button_press_event (GtkWidget      *widget,
             control == META_FRAME_CONTROL_RESIZE_W))
     {
       MetaGrabOp op;
-      
+
       op = META_GRAB_OP_NONE;
 
       switch (control)
@@ -1305,7 +1305,7 @@ meta_frames_button_press_event (GtkWidget      *widget,
                      META_CORE_GET_END);
 
       if (flags & META_FRAME_ALLOWS_MOVE)
-        {          
+        {
           meta_core_begin_grab_op (display,
                                    frame->xwindow,
                                    META_GRAB_OP_MOVING,
@@ -1326,7 +1326,7 @@ meta_frames_button_press_event (GtkWidget      *widget,
     {
       return meta_frame_right_click_event (frame, event);
     }
-  
+
   return TRUE;
 }
 
@@ -1337,7 +1337,7 @@ meta_frames_button_release_event    (GtkWidget           *widget,
   MetaUIFrame *frame;
   MetaFrames *frames;
   Display *display;
-  
+
   frames = META_FRAMES (widget);
   display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
 
@@ -1360,7 +1360,7 @@ meta_frames_button_release_event    (GtkWidget           *widget,
           break;
         case META_FRAME_CONTROL_MAXIMIZE:
           /* Focus the window on the maximize */
-          meta_core_user_focus (display, frame->xwindow, event->time);      
+          meta_core_user_focus (display, frame->xwindow, event->time);
           meta_core_maximize (display, frame->xwindow);
           break;
         case META_FRAME_CONTROL_UNMAXIMIZE:
@@ -1399,7 +1399,7 @@ meta_frames_button_release_event    (GtkWidget           *widget,
       MetaFrameControl control = get_control (frames, frame, event->x, event->y);
       meta_frames_update_prelit_control (frames, frame, control);
     }
-  
+
   return TRUE;
 }
 
@@ -1413,9 +1413,9 @@ meta_frames_update_prelit_control (MetaFrames      *frames,
 
   meta_verbose ("Updating prelit control from %u to %u\n",
                 frame->prelit_control, control);
-  
+
   cursor = META_CURSOR_DEFAULT;
-  
+
   switch (control)
     {
     case META_FRAME_CONTROL_CLIENT_AREA:
@@ -1470,12 +1470,12 @@ meta_frames_update_prelit_control (MetaFrames      *frames,
     case META_FRAME_CONTROL_RESIZE_E:
       cursor = META_CURSOR_EAST_RESIZE;
       break;
-    }        
+    }
 
   /* set/unset the prelight cursor */
   meta_core_set_screen_cursor (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                                frame->xwindow,
-                               cursor);  
+                               cursor);
 
   switch (control)
     {
@@ -1496,7 +1496,7 @@ meta_frames_update_prelit_control (MetaFrames      *frames,
       /* Only prelight buttons */
       control = META_FRAME_CONTROL_NONE;
       break;
-    }      
+    }
 
   if (control == frame->prelit_control)
     return;
@@ -1546,7 +1546,7 @@ meta_frames_motion_notify_event     (GtkWidget           *widget,
       /* Update prelit control and cursor */
       meta_frames_update_prelit_control (frames, frame, control);
     }
-      
+
   return TRUE;
 }
 
@@ -1562,7 +1562,7 @@ meta_frames_destroy_event           (GtkWidget           *widget,
   frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
   if (frame == NULL)
     return FALSE;
-  
+
   return TRUE;
 }
 
@@ -1600,7 +1600,7 @@ clip_region_to_visible_frame_border (cairo_region_t *region,
   MetaFrameBorders borders;
   Display *display;
   int frame_width, frame_height;
-  
+
   display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
 
   meta_core_get (display, frame->xwindow,
@@ -1611,7 +1611,7 @@ clip_region_to_visible_frame_border (cairo_region_t *region,
                  META_CORE_GET_END);
 
   meta_theme_get_frame_borders (meta_theme_get_current (),
-                                type, frame->text_height, flags, 
+                                type, frame->text_height, flags,
                                 &borders);
 
   /* Visible frame rect */
@@ -1768,7 +1768,7 @@ meta_frames_draw (GtkWidget *widget,
 
  out:
   cairo_region_destroy (region);
-  
+
   return TRUE;
 }
 
@@ -1792,7 +1792,7 @@ meta_frames_paint (MetaFrames   *frames,
 
   for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
     button_states[i] = META_BUTTON_STATE_NORMAL;
-  
+
   /* Set prelight state */
   switch (frame->prelit_control)
     {
@@ -1915,7 +1915,7 @@ meta_frames_enter_notify_event      (GtkWidget           *widget,
   MetaUIFrame *frame;
   MetaFrames *frames;
   MetaFrameControl control;
-  
+
   frames = META_FRAMES (widget);
 
   frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
@@ -1924,7 +1924,7 @@ meta_frames_enter_notify_event      (GtkWidget           *widget,
 
   control = get_control (frames, frame, event->x, event->y);
   meta_frames_update_prelit_control (frames, frame, control);
-  
+
   return TRUE;
 }
 
@@ -1942,7 +1942,7 @@ meta_frames_leave_notify_event      (GtkWidget           *widget,
     return FALSE;
 
   meta_frames_update_prelit_control (frames, frame, META_FRAME_CONTROL_NONE);
-  
+
   return TRUE;
 }
 
@@ -1951,7 +1951,7 @@ control_rect (MetaFrameControl control,
               MetaFrameGeometry *fgeom)
 {
   GdkRectangle *rect;
-  
+
   rect = NULL;
   switch (control)
     {
@@ -2033,7 +2033,7 @@ get_control (MetaFrames *frames,
 
   if (POINT_IN_RECT (x, y, client))
     return META_FRAME_CONTROL_CLIENT_AREA;
-  
+
   if (POINT_IN_RECT (x, y, fgeom.close_rect.clickable))
     return META_FRAME_CONTROL_DELETE;
 
@@ -2068,7 +2068,7 @@ get_control (MetaFrames *frames,
       else
         return META_FRAME_CONTROL_MAXIMIZE;
     }
-      
+
   if (POINT_IN_RECT (x, y, fgeom.shade_rect.clickable))
     {
       return META_FRAME_CONTROL_SHADE;
diff --git a/src/ui/frames.h b/src/ui/frames.h
index d164b6e..b6bf28b 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -2,9 +2,9 @@
 
 /* Metacity window frame manager widget */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -79,7 +79,7 @@ struct _MetaUIFrame
   int text_height;
   char *title; /* NULL once we have a layout */
   guint shape_applied : 1;
-  
+
   /* FIXME get rid of this, it can just be in the MetaFrames struct */
   MetaFrameControl prelit_control;
   MetaButtonState button_state;
@@ -89,7 +89,7 @@ struct _MetaUIFrame
 struct _MetaFrames
 {
   GtkWindow parent_instance;
-  
+
   GHashTable *text_heights;
 
   GHashTable *frames;
diff --git a/src/ui/gradient.c b/src/ui/gradient.c
index e3ce60b..355efec 100644
--- a/src/ui/gradient.c
+++ b/src/ui/gradient.c
@@ -1,10 +1,10 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington, 99% copied from wrlib in
  * WindowMaker, Copyright (C) 1997-2000 Dan Pascu and Alfredo Kojima
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
@@ -76,7 +76,7 @@ blank_pixbuf (int width, int height, gboolean no_padding)
   if (no_padding)
     rowstride = width * 3;
   else
-    /* Always align rows to 32-bit boundaries */  
+    /* Always align rows to 32-bit boundaries */
     rowstride = 4 * ((3 * width + 3) / 4);
 
   buf = g_try_malloc (height * rowstride);
@@ -194,7 +194,7 @@ meta_gradient_create_interwoven (int            width,
                                  const GdkRGBA  colors2[2],
                                  int            thickness2)
 {
-  
+
   int i, j, k, l, ll;
   long r1, g1, b1, dr1, dg1, db1;
   long r2, g2, b2, dr2, dg2, db2;
@@ -202,14 +202,14 @@ meta_gradient_create_interwoven (int            width,
   unsigned char *ptr;
   unsigned char *pixels;
   int rowstride;
-  
+
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-  
+
   r1 = (long)(colors1[0].red*0xffffff);
   g1 = (long)(colors1[0].green*0xffffff);
   b1 = (long)(colors1[0].blue*0xffffff);
@@ -229,7 +229,7 @@ meta_gradient_create_interwoven (int            width,
   for (i=0,k=0,l=0,ll=thickness1; i<height; i++)
     {
       ptr = pixels + i * rowstride;
-      
+
       if (k == 0)
         {
           ptr[0] = (unsigned char) (r1>>16);
@@ -264,7 +264,7 @@ meta_gradient_create_interwoven (int            width,
       r1+=dr1;
       g1+=dg1;
       b1+=db1;
-       
+
       r2+=dr2;
       g2+=dg2;
       b2+=db2;
@@ -277,20 +277,20 @@ meta_gradient_create_interwoven (int            width,
  *----------------------------------------------------------------------
  * meta_gradient_create_horizontal--
  *     Renders a horizontal linear gradient of the specified size in the
- * GdkPixbuf format with a border of the specified type. 
- * 
+ * GdkPixbuf format with a border of the specified type.
+ *
  * Returns:
  *     A 24bit GdkPixbuf with the gradient (no alpha channel).
- * 
+ *
  * Side effects:
  *     None
- *---------------------------------------------------------------------- 
+ *----------------------------------------------------------------------
  */
 static GdkPixbuf*
 meta_gradient_create_horizontal (int width, int height,
                                  const GdkRGBA *from,
                                  const GdkRGBA *to)
-{    
+{
   int i;
   long r, g, b, dr, dg, db;
   GdkPixbuf *pixbuf;
@@ -303,22 +303,22 @@ meta_gradient_create_horizontal (int width, int height,
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   ptr = pixels;
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-  
+
   r0 = (guchar) (from->red * 0xff);
   g0 = (guchar) (from->green * 0xff);
   b0 = (guchar) (from->blue * 0xff);
   rf = (guchar) (to->red * 0xff);
   gf = (guchar) (to->green * 0xff);
   bf = (guchar) (to->blue * 0xff);
-  
+
   r = r0 << 16;
   g = g0 << 16;
   b = b0 << 16;
-    
+
   dr = ((rf-r0)<<16)/(int)width;
   dg = ((gf-g0)<<16)/(int)width;
   db = ((bf-b0)<<16)/(int)width;
@@ -367,21 +367,21 @@ meta_gradient_create_vertical (int width, int height,
   int rf, gf, bf;
   int rowstride;
   unsigned char *pixels;
-  
+
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-  
+
   r0 = (guchar) (from->red * 0xff);
   g0 = (guchar) (from->green * 0xff);
   b0 = (guchar) (from->blue * 0xff);
   rf = (guchar) (to->red * 0xff);
   gf = (guchar) (to->green * 0xff);
   bf = (guchar) (to->blue * 0xff);
-  
+
   r = r0<<16;
   g = g0<<16;
   b = b0<<16;
@@ -393,7 +393,7 @@ meta_gradient_create_vertical (int width, int height,
   for (i=0; i<height; i++)
     {
       ptr = pixels + i * rowstride;
-      
+
       ptr[0] = (unsigned char)(r>>16);
       ptr[1] = (unsigned char)(g>>16);
       ptr[2] = (unsigned char)(b>>16);
@@ -436,7 +436,7 @@ meta_gradient_create_diagonal (int width, int height,
   unsigned char *ptr;
   unsigned char *pixels;
   int rowstride;
-  
+
   if (width == 1)
     return meta_gradient_create_vertical (width, height, from, to);
   else if (height == 1)
@@ -445,7 +445,7 @@ meta_gradient_create_diagonal (int width, int height,
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
 
@@ -483,27 +483,27 @@ meta_gradient_create_multi_horizontal (int width, int height,
   GdkPixbuf *pixbuf;
   unsigned char *ptr;
   unsigned char *pixels;
-  int width2;  
+  int width2;
   int rowstride;
-  
+
   g_return_val_if_fail (count > 2, NULL);
 
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
   ptr = pixels;
-    
+
   if (count > width)
     count = width;
-    
+
   if (count > 1)
     width2 = width/(count-1);
   else
     width2 = width;
-    
+
   k = 0;
 
   r = (long)(colors[0].red * 0xffffff);
@@ -536,7 +536,7 @@ meta_gradient_create_multi_horizontal (int width, int height,
       *ptr++ = (unsigned char)(g>>16);
       *ptr++ = (unsigned char)(b>>16);
     }
-    
+
   /* copy the first line to the other lines */
   for (i=1; i<height; i++)
     {
@@ -557,25 +557,25 @@ meta_gradient_create_multi_vertical (int width, int height,
   int height2;
   int x;
   int rowstride;
-  
+
   g_return_val_if_fail (count > 2, NULL);
 
   pixbuf = blank_pixbuf (width, height, FALSE);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
   ptr = pixels;
-    
+
   if (count > height)
     count = height;
-    
+
   if (count > 1)
     height2 = height/(count-1);
   else
     height2 = height;
-    
+
   k = 0;
 
   r = (long)(colors[0].red * 0xffffff);
@@ -599,7 +599,7 @@ meta_gradient_create_multi_vertical (int width, int height,
           memcpy (&(ptr[x*3]), ptr, (width - x)*3);
 
           ptr += rowstride;
-          
+
           r += dr;
           g += dg;
           b += db;
@@ -623,14 +623,14 @@ meta_gradient_create_multi_vertical (int width, int height,
       memcpy (&(ptr[x*3]), ptr, (width - x)*3);
 
       ptr += rowstride;
-      
+
       for (j=k+1; j<height; j++)
         {
           memcpy (ptr, tmp, rowstride);
           ptr += rowstride;
         }
     }
-    
+
   return pixbuf;
 }
 
@@ -646,7 +646,7 @@ meta_gradient_create_multi_diagonal (int width, int height,
   unsigned char *ptr;
   unsigned char *pixels;
   int rowstride;
-  
+
   g_return_val_if_fail (count > 2, NULL);
 
   if (width == 1)
@@ -658,10 +658,10 @@ meta_gradient_create_multi_diagonal (int width, int height,
                            width, height);
   if (pixbuf == NULL)
     return NULL;
-    
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-  
+
   if (count > width)
     count = width;
   if (count > height)
@@ -708,12 +708,12 @@ simple_multiply_alpha (GdkPixbuf *pixbuf,
   int row;
 
   g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
-  
+
   if (alpha == 255)
     return;
-  
+
   g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
-  
+
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
   height = gdk_pixbuf_get_height (pixbuf);
@@ -738,7 +738,7 @@ simple_multiply_alpha (GdkPixbuf *pixbuf,
            */
           /* ((*p / 255.0) * (alpha / 255.0)) * 255; */
           *p = (guchar) (((int) *p * (int) alpha) / (int) 255);
-          
+
           ++p; /* skip A */
         }
 
@@ -755,13 +755,13 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf           *pixbuf,
   long a, da;
   unsigned char *p;
   unsigned char *pixels;
-  int width2;  
+  int width2;
   int rowstride;
   int width, height;
   unsigned char *gradient;
   unsigned char *gradient_p;
   unsigned char *gradient_end;
-  
+
   g_return_if_fail (n_alphas > 0);
 
   if (n_alphas == 1)
@@ -770,24 +770,24 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf           *pixbuf,
       simple_multiply_alpha (pixbuf, alphas[0]);
       return;
     }
-  
+
   width = gdk_pixbuf_get_width (pixbuf);
   height = gdk_pixbuf_get_height (pixbuf);
 
   gradient = g_new (unsigned char, width);
   gradient_end = gradient + width;
-  
+
   if (n_alphas > width)
     n_alphas = width;
-    
+
   if (n_alphas > 1)
     width2 = width / (n_alphas - 1);
   else
     width2 = width;
-    
+
   a = alphas[0] << 8;
   gradient_p = gradient;
-  
+
   /* render the gradient into an array */
   for (i = 1; i < n_alphas; i++)
     {
@@ -796,7 +796,7 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf           *pixbuf,
       for (j = 0; j < width2; j++)
         {
           *gradient_p++ = (a >> 8);
-          
+
           a += da;
        }
 
@@ -808,11 +808,11 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf           *pixbuf,
     {
       *gradient_p++ = a >> 8;
     }
-    
+
   /* Now for each line of the pixbuf, fill in with the gradient */
   pixels = gdk_pixbuf_get_pixels (pixbuf);
   rowstride = gdk_pixbuf_get_rowstride (pixbuf);
-  
+
   p = pixels;
   i = 0;
   while (i < height)
@@ -838,7 +838,7 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf           *pixbuf,
       p = row_end;
       ++i;
     }
-  
+
   g_free (gradient);
 }
 
@@ -851,21 +851,21 @@ meta_gradient_add_alpha (GdkPixbuf       *pixbuf,
   g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
   g_return_if_fail (gdk_pixbuf_get_has_alpha (pixbuf));
   g_return_if_fail (n_alphas > 0);
-  
+
   switch (type)
     {
     case META_GRADIENT_HORIZONTAL:
       meta_gradient_add_alpha_horizontal (pixbuf, alphas, n_alphas);
       break;
-      
+
     case META_GRADIENT_VERTICAL:
       g_printerr ("metacity: vertical alpha channel gradient not implemented yet\n");
       break;
-      
+
     case META_GRADIENT_DIAGONAL:
       g_printerr ("metacity: diagonal alpha channel gradient not implemented yet\n");
       break;
-      
+
     case META_GRADIENT_LAST:
       g_assert_not_reached ();
       break;
diff --git a/src/ui/menu.c b/src/ui/menu.c
index 342b8a2..c22f778 100644
--- a/src/ui/menu.c
+++ b/src/ui/menu.c
@@ -2,11 +2,11 @@
 
 /* Mutter window menu */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2004 Rob Adams
  * Copyright (C) 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -16,7 +16,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -107,18 +107,18 @@ popup_position_func (GtkMenu   *menu,
                      gboolean  *push_in,
                      gpointer  user_data)
 {
-  GtkRequisition req;      
+  GtkRequisition req;
   GdkPoint *pos;
 
   pos = user_data;
-  
+
   gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL);
 
   *x = pos->x;
   *y = pos->y;
-  
+
   if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
-    *x = MAX (0, *x - req.width); 
+    *x = MAX (0, *x - req.width);
 
   /* Ensure onscreen */
   *x = CLAMP (*x, 0, MAX (0, gdk_screen_width () - req.width));
@@ -130,7 +130,7 @@ menu_closed (GtkMenu *widget,
              gpointer data)
 {
   MetaWindowMenu *menu;
-  
+
   menu = data;
 
   (* menu->func) (menu,
@@ -139,7 +139,7 @@ menu_closed (GtkMenu *widget,
                   gtk_get_current_event_time (),
                   0, 0,
                   menu->data);
-  
+
   /* menu may now be freed */
 }
 
@@ -147,9 +147,9 @@ static void
 activate_cb (GtkWidget *menuitem, gpointer data)
 {
   MenuData *md;
-  
+
   g_return_if_fail (GTK_IS_WIDGET (menuitem));
-  
+
   md = data;
 
   (* md->menu->func) (md->menu,
@@ -169,7 +169,7 @@ activate_cb (GtkWidget *menuitem, gpointer data)
  * accelerators. At the moment this means adding a _ if the name is of
  * the form "Workspace n" where n is less than 10, and escaping any
  * other '_'s so they do not create inadvertant accelerators.
- * 
+ *
  * The calling code owns the string, and is reponsible to free the
  * memory after use.
  *
@@ -188,7 +188,7 @@ get_workspace_name_with_accel (Display *display,
   name = meta_core_get_workspace_name_with_index (display, xroot, index);
 
   g_assert (name != NULL);
-  
+
   /*
    * If the name is of the form "Workspace x" where x is an unsigned
    * integer, insert a '_' before the number if it is less than 10 and
@@ -199,7 +199,7 @@ get_workspace_name_with_accel (Display *display,
       *(name + charcount)=='\0')
     {
       char *new_name;
-      
+
       /*
        * Above name is a pointer into the Workspace struct. Here we make
        * a copy copy so we can have our wicked way with it.
@@ -271,10 +271,10 @@ menu_item_new (MenuItem *menuitem, int workspace_id)
   else if (menuitem->type == MENU_ITEM_CHECKBOX)
     {
       mi = gtk_check_menu_item_new ();
-      
+
       gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (mi),
                                       menuitem->checked);
-    }    
+    }
   else if (menuitem->type == MENU_ITEM_RADIOBUTTON)
     {
       mi = gtk_check_menu_item_new ();
@@ -300,7 +300,7 @@ menu_item_new (MenuItem *menuitem, int workspace_id)
 
   meta_accel_label_set_accelerator (META_ACCEL_LABEL (accel_label),
                                     key, mods);
-  
+
   return mi;
 }
 
@@ -320,18 +320,18 @@ meta_window_menu_new   (MetaFrames         *frames,
   /* FIXME: Modifications to 'ops' should happen in meta_window_show_menu */
   if (n_workspaces < 2)
     ops &= ~(META_MENU_OP_STICK | META_MENU_OP_UNSTICK | META_MENU_OP_WORKSPACES);
-  else if (n_workspaces == 2) 
+  else if (n_workspaces == 2)
     /* #151183: If we only have two workspaces, disable the menu listing them. */
     ops &= ~(META_MENU_OP_WORKSPACES);
-  
+
   menu = g_new (MetaWindowMenu, 1);
   menu->frames = frames;
   menu->client_xwindow = client_xwindow;
   menu->func = func;
   menu->data = data;
   menu->ops = ops;
-  menu->insensitive = insensitive;  
-  
+  menu->insensitive = insensitive;
+
   menu->menu = gtk_menu_new ();
 
   gtk_menu_set_screen (GTK_MENU (menu->menu),
@@ -450,12 +450,12 @@ meta_window_menu_new   (MetaFrames         *frames,
 
               if (insensitive & menuitem.op)
                 gtk_widget_set_sensitive (mi, FALSE);
-              
+
               md = g_new (MenuData, 1);
-              
+
               md->menu = menu;
               md->op = menuitem.op;
-              
+
               g_signal_connect_data (G_OBJECT (mi),
                                      "activate",
                                      G_CALLBACK (activate_cb),
@@ -466,15 +466,15 @@ meta_window_menu_new   (MetaFrames         *frames,
           if (mi)
             {
               gtk_menu_shell_append (GTK_MENU_SHELL (menu->menu), mi);
-          
+
               gtk_widget_show (mi);
             }
         }
     }
 
- 
+
   g_signal_connect (menu->menu, "selection_done",
-                    G_CALLBACK (menu_closed), menu);  
+                    G_CALLBACK (menu_closed), menu);
 
   return menu;
 }
@@ -487,7 +487,7 @@ meta_window_menu_popup (MetaWindowMenu     *menu,
                         guint32             timestamp)
 {
   GdkPoint *pt;
-  
+
   pt = g_new (GdkPoint, 1);
 
   g_object_set_data_full (G_OBJECT (menu->menu),
@@ -497,7 +497,7 @@ meta_window_menu_popup (MetaWindowMenu     *menu,
 
   pt->x = root_x;
   pt->y = root_y;
-  
+
   gtk_menu_popup (GTK_MENU (menu->menu),
                   NULL, NULL,
                   popup_position_func, pt,
diff --git a/src/ui/menu.h b/src/ui/menu.h
index ab42a8b..f758328 100644
--- a/src/ui/menu.h
+++ b/src/ui/menu.h
@@ -2,9 +2,9 @@
 
 /* Mutter window menu */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/ui/metaaccellabel.c b/src/ui/metaaccellabel.c
index be65b35..27491bf 100644
--- a/src/ui/metaaccellabel.c
+++ b/src/ui/metaaccellabel.c
@@ -271,9 +271,9 @@ meta_accel_label_draw (GtkWidget *widget,
         cairo_translate (cr, ac_width, 0);
       if (gtk_label_get_ellipsize (label))
         pango_layout_set_width (label_layout,
-                                pango_layout_get_width (label_layout) 
+                                pango_layout_get_width (label_layout)
                                 - ac_width * PANGO_SCALE);
-      
+
       allocation.width -= ac_width;
       gtk_widget_set_allocation (widget, &allocation);
       if (GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw)
@@ -283,7 +283,7 @@ meta_accel_label_draw (GtkWidget *widget,
       gtk_widget_set_allocation (widget, &allocation);
       if (gtk_label_get_ellipsize (label))
         pango_layout_set_width (label_layout,
-                                pango_layout_get_width (label_layout) 
+                                pango_layout_get_width (label_layout)
                                 + ac_width * PANGO_SCALE);
 
       cairo_restore (cr);
@@ -318,7 +318,7 @@ meta_accel_label_draw (GtkWidget *widget,
       if (GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw)
         GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw (widget, cr);
     }
-  
+
   return FALSE;
 }
 
diff --git a/src/ui/resizepopup.c b/src/ui/resizepopup.c
index ed793cd..85bc5db 100644
--- a/src/ui/resizepopup.c
+++ b/src/ui/resizepopup.c
@@ -2,9 +2,9 @@
 
 /* Metacity resizing-terminal-window feedback */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -30,13 +30,13 @@ struct _MetaResizePopup
   GtkWidget *size_window;
   GtkWidget *size_label;
   Display *display;
-  int screen_number;  
+  int screen_number;
 
   int vertical_size;
   int horizontal_size;
-  
+
   gboolean showing;
-  
+
   MetaRectangle rect;
 };
 
@@ -50,7 +50,7 @@ meta_ui_resize_popup_new (Display *display,
 
   popup->display = display;
   popup->screen_number = screen_number;
-  
+
   return popup;
 }
 
@@ -58,10 +58,10 @@ void
 meta_ui_resize_popup_free (MetaResizePopup *popup)
 {
   g_return_if_fail (popup != NULL);
-  
+
   if (popup->size_window)
     gtk_widget_destroy (popup->size_window);
-  
+
   g_free (popup);
 }
 
@@ -125,9 +125,9 @@ update_size_window (MetaResizePopup *popup)
   char *str;
   int x, y;
   int width, height;
-  
+
   g_return_if_fail (popup->size_window != NULL);
-  
+
   /* Translators: This represents the size of a window.  The first number is
    * the width of the window and the second is the height.
    */
@@ -143,7 +143,7 @@ update_size_window (MetaResizePopup *popup)
 
   x = popup->rect.x + (popup->rect.width - width) / 2;
   y = popup->rect.y + (popup->rect.height - height) / 2;
-  
+
   if (gtk_widget_get_realized (popup->size_window))
     {
       /* using move_resize to avoid jumpiness */
@@ -165,7 +165,7 @@ sync_showing (MetaResizePopup *popup)
     {
       if (popup->size_window)
         gtk_widget_show (popup->size_window);
-      
+
       if (popup->size_window && gtk_widget_get_realized (popup->size_window))
         gdk_window_raise (gtk_widget_get_window (popup->size_window));
     }
@@ -186,11 +186,11 @@ meta_ui_resize_popup_set (MetaResizePopup *popup,
 {
   gboolean need_update_size;
   int display_w, display_h;
-  
+
   g_return_if_fail (popup != NULL);
 
   need_update_size = FALSE;
-  
+
   display_w = rect.width - base_width;
   if (width_inc > 0)
     display_w /= width_inc;
@@ -203,17 +203,17 @@ meta_ui_resize_popup_set (MetaResizePopup *popup,
       display_w != popup->horizontal_size ||
       display_h != popup->vertical_size)
     need_update_size = TRUE;
-  
+
   popup->rect = rect;
   popup->vertical_size = display_h;
   popup->horizontal_size = display_w;
-  
+
   if (need_update_size)
     {
       ensure_size_window (popup);
       update_size_window (popup);
     }
-      
+
   sync_showing (popup);
 }
 
@@ -222,7 +222,7 @@ meta_ui_resize_popup_set_showing  (MetaResizePopup *popup,
                                    gboolean         showing)
 {
   g_return_if_fail (popup != NULL);
-  
+
   if (showing == popup->showing)
     return;
 
@@ -233,6 +233,6 @@ meta_ui_resize_popup_set_showing  (MetaResizePopup *popup,
       ensure_size_window (popup);
       update_size_window (popup);
     }
-  
+
   sync_showing (popup);
 }
diff --git a/src/ui/resizepopup.h b/src/ui/resizepopup.h
index e509638..9b51b59 100644
--- a/src/ui/resizepopup.h
+++ b/src/ui/resizepopup.h
@@ -2,9 +2,9 @@
 
 /* Mutter resizing-terminal-window feedback */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/ui/testgradient.c b/src/ui/testgradient.c
index fdc9576..184b40a 100644
--- a/src/ui/testgradient.c
+++ b/src/ui/testgradient.c
@@ -2,9 +2,9 @@
 
 /* Mutter gradient test program */
 
-/* 
+/*
  * Copyright (C) 2002 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
@@ -32,9 +32,9 @@ draw_checkerboard (cairo_t *cr,
 {
   gint i, j, xcount, ycount;
   GdkRGBA color1, color2;
-  
+
 #define CHECK_SIZE 10
-#define SPACING 2  
+#define SPACING 2
 
   color1.red = 30000. / 65535.;
   color1.green = 30000. / 65535.;
@@ -83,7 +83,7 @@ render_simple (cairo_t     *cr,
 {
   GdkPixbuf *pixbuf;
   GdkRGBA from, to;
-  
+
   gdk_rgba_parse (&from, "blue");
   gdk_rgba_parse (&to, "green");
 
@@ -94,23 +94,23 @@ render_simple (cairo_t     *cr,
   if (with_alpha)
     {
       const unsigned char alphas[] = { 0xff, 0xaa, 0x2f, 0x0, 0xcc, 0xff, 0xff };
-      
+
       if (!gdk_pixbuf_get_has_alpha (pixbuf))
         {
           GdkPixbuf *new_pixbuf;
-          
+
           new_pixbuf = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0);
           g_object_unref (G_OBJECT (pixbuf));
           pixbuf = new_pixbuf;
         }
-      
+
       meta_gradient_add_alpha (pixbuf,
                                alphas, G_N_ELEMENTS (alphas),
                                META_GRADIENT_HORIZONTAL);
-      
+
       draw_checkerboard (cr , width, height);
     }
-    
+
   gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
   cairo_rectangle (cr, 0, 0, width, height);
   cairo_fill (cr);
@@ -253,13 +253,13 @@ create_gradient_window (const char *title,
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
   gtk_window_set_title (GTK_WINDOW (window), title);
-  
+
   drawing_area = gtk_drawing_area_new ();
 
   gtk_widget_set_size_request (drawing_area, 1, 1);
 
   gtk_window_set_default_size (GTK_WINDOW (window), 175, 175);
-  
+
   g_signal_connect (G_OBJECT (drawing_area),
                     "draw",
                     G_CALLBACK (draw_callback),
@@ -268,7 +268,7 @@ create_gradient_window (const char *title,
   gtk_container_add (GTK_CONTAINER (window), drawing_area);
 
   gtk_widget_show_all (window);
-  
+
   return window;
 }
 
diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c
index e9ce028..e224aa8 100644
--- a/src/ui/theme-parser.c
+++ b/src/ui/theme-parser.c
@@ -103,7 +103,7 @@ typedef struct
   const char *theme_file;       /* theme filename */
   const char *theme_dir;        /* dir the theme is inside */
   MetaTheme *theme;             /* theme being parsed */
-  guint format_version;         /* version of format of theme file */  
+  guint format_version;         /* version of format of theme file */
   char *name;                   /* name of named thing being parsed */
   MetaFrameLayout *layout;      /* layout being parsed if any */
   MetaDrawOpList *op_list;      /* op list being parsed if any */
@@ -252,7 +252,7 @@ set_error (GError             **err,
   int line, ch;
   va_list args;
   char *str;
-  
+
   g_markup_parse_context_get_position (context, &line, &ch);
 
   va_start (args, format);
@@ -308,7 +308,7 @@ parse_info_free (ParseInfo *info)
 {
   g_slist_free (info->states);
   g_slist_free (info->required_versions);
-  
+
   if (info->theme)
     meta_theme_free (info->theme);
 
@@ -320,7 +320,7 @@ parse_info_free (ParseInfo *info)
 
   if (info->op)
     meta_draw_op_free (info->op);
-  
+
   if (info->style)
     meta_frame_style_unref (info->style);
 
@@ -339,7 +339,7 @@ static void
 pop_state (ParseInfo *info)
 {
   g_return_if_fail (info->states != NULL);
-  
+
   info->states = g_slist_remove (info->states, info->states->data);
 }
 
@@ -420,7 +420,7 @@ locate_attributes (GMarkupParseContext *context,
   if (attrs[0].required)
     attrs[0].name++; /* skip past it */
   *first_attribute_retloc = NULL;
-  
+
   va_start (args, first_attribute_retloc);
 
   name = va_arg (args, const char*);
@@ -435,7 +435,7 @@ locate_attributes (GMarkupParseContext *context,
         }
 
       g_assert (n_attrs < MAX_ATTRS);
-      
+
       attrs[n_attrs].name = name;
       attrs[n_attrs].retloc = retloc;
       attrs[n_attrs].required = attrs[n_attrs].name[0]=='!';
@@ -443,7 +443,7 @@ locate_attributes (GMarkupParseContext *context,
         attrs[n_attrs].name++; /* skip past it */
 
       n_attrs += 1;
-      *retloc = NULL;      
+      *retloc = NULL;
 
       name = va_arg (args, const char*);
       retloc = va_arg (args, const char**);
@@ -474,7 +474,7 @@ locate_attributes (GMarkupParseContext *context,
 
               if (*retloc != NULL)
                 {
-                
+
                   set_error (error, context,
                              G_MARKUP_ERROR,
                              G_MARKUP_ERROR_PARSE,
@@ -498,7 +498,7 @@ locate_attributes (GMarkupParseContext *context,
         {
           g_warning ("It could have been %s.\n", attrs[j++].name);
         }
-                  
+
           set_error (error, context,
                      G_MARKUP_ERROR,
                      G_MARKUP_ERROR_PARSE,
@@ -572,9 +572,9 @@ parse_positive_integer (const char          *str,
   int j;
 
   *val = 0;
-  
+
   end = NULL;
-  
+
   /* Is str a constant? */
 
   if (META_THEME_ALLOWS (theme, META_THEME_UBIQUITOUS_CONSTANTS) &&
@@ -624,7 +624,7 @@ parse_positive_integer (const char          *str,
                  l, MAX_REASONABLE);
       return FALSE;
     }
-  
+
   *val = (int) l;
 
   return TRUE;
@@ -639,9 +639,9 @@ parse_double (const char          *str,
   char *end;
 
   *val = 0;
-  
+
   end = NULL;
-  
+
   *val = g_ascii_strtod (str, &end);
 
   if (end == NULL || end == str)
@@ -683,7 +683,7 @@ parse_boolean (const char          *str,
                  str);
       return FALSE;
     }
-  
+
   return TRUE;
 }
 
@@ -711,14 +711,14 @@ parse_rounding (const char          *str,
                       str);
            return FALSE;
          }
-   
+
       result = parse_positive_integer (str, &tmp, context, theme, error);
 
       *val = tmp;
 
-      return result;    
+      return result;
     }
-  
+
   return TRUE;
 }
 
@@ -754,7 +754,7 @@ parse_alpha (const char             *str,
   MetaAlphaGradientSpec *spec;
 
   *spec_ret = NULL;
-  
+
   split = g_strsplit (str, ":", -1);
 
   i = 0;
@@ -768,7 +768,7 @@ parse_alpha (const char             *str,
                  str);
 
       g_strfreev (split);
-      
+
       return FALSE;
     }
 
@@ -784,13 +784,13 @@ parse_alpha (const char             *str,
   while (i < n_alphas)
     {
       double v;
-      
+
       if (!parse_double (split[i], &v, context, error))
         {
           /* clear up, but don't set error: it was set by parse_double */
           g_strfreev (split);
           meta_alpha_gradient_spec_free (spec);
-          
+
           return FALSE;
         }
 
@@ -801,20 +801,20 @@ parse_alpha (const char             *str,
                      v);
 
           g_strfreev (split);
-          meta_alpha_gradient_spec_free (spec);          
-          
+          meta_alpha_gradient_spec_free (spec);
+
           return FALSE;
         }
 
       spec->alphas[i] = (unsigned char) (v * 255);
-      
+
       ++i;
-    }  
+    }
 
   g_strfreev (split);
-  
+
   *spec_ret = spec;
-  
+
   return TRUE;
 }
 
@@ -830,10 +830,10 @@ parse_color (MetaTheme *theme,
     {
       if (referent)
         return meta_color_spec_new_from_string (referent, err);
-      
+
       /* no need to free referent: it's a pointer into the actual hash table */
     }
-  
+
   return meta_color_spec_new_from_string (str, err);
 }
 
@@ -844,7 +844,7 @@ parse_title_scale (const char          *str,
                    GError             **error)
 {
   double factor;
-  
+
   if (strcmp (str, "xx-small") == 0)
     factor = PANGO_SCALE_XX_SMALL;
   else if (strcmp (str, "x-small") == 0)
@@ -868,7 +868,7 @@ parse_title_scale (const char          *str,
     }
 
   *val = factor;
-  
+
   return TRUE;
 }
 
@@ -897,7 +897,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
       const char *value;
       int ival = 0;
       double dval = 0.0;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!name", &name, "!value", &value,
@@ -1007,14 +1007,14 @@ parse_toplevel_element (GMarkupParseContext  *context,
       if (rounded_top_right && !parse_rounding (rounded_top_right, &rounded_top_right_val, context, 
info->theme, error))
         return;
       if (rounded_bottom_left && !parse_rounding (rounded_bottom_left, &rounded_bottom_left_val, context, 
info->theme, error))
-        return;      
+        return;
       if (rounded_bottom_right && !parse_rounding (rounded_bottom_right, &rounded_bottom_right_val, context, 
info->theme, error))
         return;
-      
+
       title_scale_val = 1.0;
       if (title_scale && !parse_title_scale (title_scale, &title_scale_val, context, error))
         return;
-      
+
       if (meta_theme_lookup_layout (info->theme, name))
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
@@ -1063,7 +1063,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
 
       if (rounded_bottom_right)
         info->layout->bottom_right_corner_rounded_radius = rounded_bottom_right_val;
-      
+
       meta_theme_insert_layout (info->theme, name, info->layout);
 
       push_state (info, STATE_FRAME_GEOMETRY);
@@ -1173,16 +1173,16 @@ parse_toplevel_element (GMarkupParseContext  *context,
 
           if (alpha != NULL)
             {
-            
+
                gboolean success;
                MetaAlphaGradientSpec *alpha_vector;
-               
+
                g_clear_error (error);
                /* fortunately, we already have a routine to parse alpha values,
                 * though it produces a vector of them, which is a superset of
                 * what we want.
                 */
-               success = parse_alpha (alpha, &alpha_vector, context, error); 
+               success = parse_alpha (alpha, &alpha_vector, context, error);
                if (!success)
                  return;
 
@@ -1298,7 +1298,7 @@ parse_toplevel_element (GMarkupParseContext  *context,
        * for backwards compatibility.
        */
       g_assert (info->op_list == NULL);
-      
+
       push_state (info, STATE_MENU_ICON);
     }
   else if (ELEMENT_IS ("fallback"))
@@ -1392,7 +1392,7 @@ parse_distance (GMarkupParseContext  *context,
   const char *name;
   const char *value;
   int val;
-  
+
   if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                           error,
                           "!name", &name, "!value", &value,
@@ -1421,13 +1421,13 @@ parse_distance (GMarkupParseContext  *context,
   else if (strcmp (name, "button_width") == 0)
     {
       info->layout->button_width = val;
-            
+
       if (!(info->layout->button_sizing == META_BUTTON_SIZING_LAST ||
             info->layout->button_sizing == META_BUTTON_SIZING_FIXED))
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
                      _("Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" for 
buttons"));
-          return;      
+          return;
         }
 
       info->layout->button_sizing = META_BUTTON_SIZING_FIXED;
@@ -1435,13 +1435,13 @@ parse_distance (GMarkupParseContext  *context,
   else if (strcmp (name, "button_height") == 0)
     {
       info->layout->button_height = val;
-      
+
       if (!(info->layout->button_sizing == META_BUTTON_SIZING_LAST ||
             info->layout->button_sizing == META_BUTTON_SIZING_FIXED))
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
                      _("Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" for 
buttons"));
-          return;      
+          return;
         }
 
       info->layout->button_sizing = META_BUTTON_SIZING_FIXED;
@@ -1465,7 +1465,7 @@ parse_aspect_ratio (GMarkupParseContext  *context,
   const char *name;
   const char *value;
   double val;
-  
+
   if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                           error,
                           "!name", &name, "!value", &value,
@@ -1477,7 +1477,7 @@ parse_aspect_ratio (GMarkupParseContext  *context,
     return;
 
   g_assert (info->layout);
-  
+
   if (strcmp (name, "button") == 0)
     {
       info->layout->button_aspect = val;
@@ -1488,7 +1488,7 @@ parse_aspect_ratio (GMarkupParseContext  *context,
                      _("Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" for 
buttons"));
           return;
         }
-      
+
       info->layout->button_sizing = META_BUTTON_SIZING_ASPECT;
     }
   else
@@ -1517,7 +1517,7 @@ parse_border (GMarkupParseContext  *context,
   int left_val;
   int right_val;
   GtkBorder *border;
-  
+
   if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                           error,
                           "!name", &name,
@@ -1527,7 +1527,7 @@ parse_border (GMarkupParseContext  *context,
                           "!right", &right,
                           NULL))
     return;
-  
+
   top_val = 0;
   if (!parse_positive_integer (top, &top_val, context, info->theme, error))
     return;
@@ -1543,11 +1543,11 @@ parse_border (GMarkupParseContext  *context,
   right_val = 0;
   if (!parse_positive_integer (right, &right_val, context, info->theme, error))
     return;
-  
+
   g_assert (info->layout);
 
   border = NULL;
-  
+
   if (strcmp (name, "title_border") == 0)
     border = &info->layout->title_border;
   else if (strcmp (name, "button_border") == 0)
@@ -1623,7 +1623,7 @@ check_expression (PosToken            *tokens,
    * it's possible we should instead guarantee that widths and heights
    * are at least 1.
    */
-  
+
   env.rect = meta_rect (0, 0, 0, 0);
   if (has_object)
     {
@@ -1642,13 +1642,13 @@ check_expression (PosToken            *tokens,
   env.bottom_height = 0;
   env.title_width = 0;
   env.title_height = 0;
-  
+
   env.icon_width = 0;
   env.icon_height = 0;
   env.mini_icon_width = 0;
   env.mini_icon_height = 0;
   env.theme = theme;
-  
+
   if (!meta_parse_position_expression (tokens, n_tokens,
                                        &env,
                                        &x, &y,
@@ -1669,7 +1669,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
                        const gchar         **attribute_values,
                        ParseInfo            *info,
                        GError              **error)
-{  
+{
   g_return_if_fail (peek_state (info) == STATE_DRAW_OPS);
 
   if (ELEMENT_IS ("line"))
@@ -1687,7 +1687,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       int dash_on_val;
       int dash_off_val;
       int width_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!color", &color,
@@ -1708,11 +1708,11 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (x2, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (y2, FALSE, info->theme, context, error))
         return;
 #endif
- 
+
       dash_on_val = 0;
       if (dash_on_length &&
           !parse_positive_integer (dash_on_length, &dash_on_val, context, info->theme, error))
@@ -1737,7 +1737,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
           add_context_to_error (error, context);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_LINE);
 
       op->data.line.color_spec = color_spec;
@@ -1760,7 +1760,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.line.dash_off_length = dash_off_val;
 
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_LINE);
@@ -1776,7 +1776,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *filled;
       gboolean filled_val;
       MetaColorSpec *color_spec;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!color", &color,
@@ -1795,7 +1795,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -1803,7 +1803,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       filled_val = FALSE;
       if (filled && !parse_boolean (filled, &filled_val, context, error))
         return;
-      
+
       /* Check last so we don't have to free it when other
        * stuff fails
        */
@@ -1813,20 +1813,20 @@ parse_draw_op_element (GMarkupParseContext  *context,
           add_context_to_error (error, context);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_RECTANGLE);
 
       op->data.rectangle.color_spec = color_spec;
       op->data.rectangle.x = meta_draw_spec_new (info->theme, x, NULL);
       op->data.rectangle.y = meta_draw_spec_new (info->theme, y, NULL);
       op->data.rectangle.width = meta_draw_spec_new (info->theme, width, NULL);
-      op->data.rectangle.height = meta_draw_spec_new (info->theme, 
+      op->data.rectangle.height = meta_draw_spec_new (info->theme,
                                                       height, NULL);
 
       op->data.rectangle.filled = filled_val;
 
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_RECTANGLE);
@@ -1848,7 +1848,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       double start_angle_val;
       double extent_angle_val;
       MetaColorSpec *color_spec;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!color", &color,
@@ -1895,7 +1895,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
             }
         }
 
-#if 0     
+#if 0
       if (!check_expression (x, FALSE, info->theme, context, error))
         return;
 
@@ -1904,7 +1904,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -1913,7 +1913,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
         {
           if (!parse_angle (from, &start_angle_val, context, error))
             return;
-          
+
           start_angle_val = (180-start_angle_val)/360.0;
         }
       else
@@ -1921,12 +1921,12 @@ parse_draw_op_element (GMarkupParseContext  *context,
           if (!parse_angle (start_angle, &start_angle_val, context, error))
             return;
         }
-      
+
       if (extent_angle == NULL)
         {
           if (!parse_angle (to, &extent_angle_val, context, error))
             return;
-          
+
           extent_angle_val = ((180-extent_angle_val)/360.0) - start_angle_val;
         }
       else
@@ -1934,11 +1934,11 @@ parse_draw_op_element (GMarkupParseContext  *context,
            if (!parse_angle (extent_angle, &extent_angle_val, context, error))
              return;
         }
-     
+
       filled_val = FALSE;
       if (filled && !parse_boolean (filled, &filled_val, context, error))
         return;
-      
+
       /* Check last so we don't have to free it when other
        * stuff fails
        */
@@ -1948,7 +1948,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
           add_context_to_error (error, context);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_ARC);
 
       op->data.arc.color_spec = color_spec;
@@ -1961,9 +1961,9 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.arc.filled = filled_val;
       op->data.arc.start_angle = start_angle_val;
       op->data.arc.extent_angle = extent_angle_val;
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_ARC);
@@ -1975,14 +1975,14 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *y;
       const char *width;
       const char *height;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!x", &x, "!y", &y,
                               "!width", &width, "!height", &height,
                               NULL))
         return;
-      
+
 #if 0
       if (!check_expression (x, FALSE, info->theme, context, error))
         return;
@@ -1992,10 +1992,10 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
-#endif 
+#endif
       op = meta_draw_op_new (META_DRAW_CLIP);
 
       op->data.clip.x = meta_draw_spec_new (info->theme, x, NULL);
@@ -2004,7 +2004,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.clip.height = meta_draw_spec_new (info->theme, height, NULL);
 
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_CLIP);
@@ -2020,7 +2020,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *alpha;
       MetaAlphaGradientSpec *alpha_spec;
       MetaColorSpec *color_spec;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!color", &color,
@@ -2039,14 +2039,14 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
       alpha_spec = NULL;
       if (!parse_alpha (alpha, &alpha_spec, context, error))
         return;
-      
+
       /* Check last so we don't have to free it when other
        * stuff fails
        */
@@ -2055,11 +2055,11 @@ parse_draw_op_element (GMarkupParseContext  *context,
         {
           if (alpha_spec)
             meta_alpha_gradient_spec_free (alpha_spec);
-          
+
           add_context_to_error (error, context);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_TINT);
 
       op->data.tint.color_spec = color_spec;
@@ -2071,7 +2071,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.tint.height = meta_draw_spec_new (info->theme, height, NULL);
 
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_TINT);
@@ -2086,7 +2086,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *alpha;
       MetaAlphaGradientSpec *alpha_spec;
       MetaGradientType type_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!type", &type,
@@ -2105,11 +2105,11 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
-  
+
       type_val = meta_gradient_type_from_string (type);
       if (type_val == META_GRADIENT_LAST)
         {
@@ -2122,13 +2122,13 @@ parse_draw_op_element (GMarkupParseContext  *context,
       alpha_spec = NULL;
       if (alpha && !parse_alpha (alpha, &alpha_spec, context, error))
         return;
-      
+
       g_assert (info->op == NULL);
       info->op = meta_draw_op_new (META_DRAW_GRADIENT);
 
       info->op->data.gradient.x = meta_draw_spec_new (info->theme, x, NULL);
       info->op->data.gradient.y = meta_draw_spec_new (info->theme, y, NULL);
-      info->op->data.gradient.width = meta_draw_spec_new (info->theme, 
+      info->op->data.gradient.width = meta_draw_spec_new (info->theme,
                                                         width, NULL);
       info->op->data.gradient.height = meta_draw_spec_new (info->theme,
                                                          height, NULL);
@@ -2136,7 +2136,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       info->op->data.gradient.gradient_spec = meta_gradient_spec_new (type_val);
 
       info->op->data.gradient.alpha_spec = alpha_spec;
-      
+
       push_state (info, STATE_GRADIENT);
 
       /* op gets appended on close tag */
@@ -2159,7 +2159,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       int h, w, c;
       int pixbuf_width, pixbuf_height, pixbuf_n_channels, pixbuf_rowstride;
       guchar *pixbuf_pixels;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!x", &x, "!y", &y,
@@ -2169,8 +2169,8 @@ parse_draw_op_element (GMarkupParseContext  *context,
                               "fill_type", &fill_type,
                               NULL))
         return;
-      
-#if 0      
+
+#if 0
       if (!check_expression (x, TRUE, info->theme, context, error))
         return;
 
@@ -2179,7 +2179,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, TRUE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, TRUE, info->theme, context, error))
         return;
 #endif
@@ -2187,7 +2187,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       if (fill_type)
         {
           fill_type_val = meta_image_fill_type_from_string (fill_type);
-          
+
           if (((int) fill_type_val) == -1)
             {
               set_error (error, context, G_MARKUP_ERROR,
@@ -2196,7 +2196,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
                          fill_type, element_name);
             }
         }
-      
+
       /* Check last so we don't have to free it when other
        * stuff fails.
        *
@@ -2214,7 +2214,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       if (colorize)
         {
           colorize_spec = parse_color (info->theme, colorize, error);
-          
+
           if (colorize_spec == NULL)
             {
               add_context_to_error (error, context);
@@ -2229,7 +2229,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
           g_object_unref (G_OBJECT (pixbuf));
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_IMAGE);
 
       op->data.image.pixbuf = pixbuf;
@@ -2242,7 +2242,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       op->data.image.alpha_spec = alpha_spec;
       op->data.image.fill_type = fill_type_val;
-      
+
       /* Check for vertical & horizontal stripes */
       pixbuf_n_channels = gdk_pixbuf_get_n_channels(pixbuf);
       pixbuf_width = gdk_pixbuf_get_width(pixbuf);
@@ -2270,11 +2270,11 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (h >= pixbuf_height)
         {
-          op->data.image.horizontal_stripes = TRUE; 
+          op->data.image.horizontal_stripes = TRUE;
         }
       else
         {
-          op->data.image.horizontal_stripes = FALSE; 
+          op->data.image.horizontal_stripes = FALSE;
         }
 
       /* Check for vertical stripes */
@@ -2297,15 +2297,15 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (w >= pixbuf_width)
         {
-          op->data.image.vertical_stripes = TRUE; 
+          op->data.image.vertical_stripes = TRUE;
         }
       else
         {
-          op->data.image.vertical_stripes = FALSE; 
+          op->data.image.vertical_stripes = FALSE;
         }
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_IMAGE);
@@ -2325,7 +2325,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       GtkStateFlags state_val;
       GtkShadowType shadow_val;
       GtkArrowType arrow_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!state", &state,
@@ -2346,7 +2346,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -2383,22 +2383,22 @@ parse_draw_op_element (GMarkupParseContext  *context,
                      arrow, element_name);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_GTK_ARROW);
 
       op->data.gtk_arrow.x = meta_draw_spec_new (info->theme, x, NULL);
       op->data.gtk_arrow.y = meta_draw_spec_new (info->theme, y, NULL);
       op->data.gtk_arrow.width = meta_draw_spec_new (info->theme, width, NULL);
-      op->data.gtk_arrow.height = meta_draw_spec_new (info->theme, 
+      op->data.gtk_arrow.height = meta_draw_spec_new (info->theme,
                                                       height, NULL);
 
       op->data.gtk_arrow.filled = filled_val;
       op->data.gtk_arrow.state = state_val;
       op->data.gtk_arrow.shadow = shadow_val;
       op->data.gtk_arrow.arrow = arrow_val;
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_GTK_ARROW);
@@ -2414,7 +2414,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *height;
       GtkStateFlags state_val;
       GtkShadowType shadow_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!state", &state,
@@ -2433,7 +2433,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -2456,7 +2456,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
                      shadow, element_name);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_GTK_BOX);
 
       op->data.gtk_box.x = meta_draw_spec_new (info->theme, x, NULL);
@@ -2466,9 +2466,9 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       op->data.gtk_box.state = state_val;
       op->data.gtk_box.shadow = shadow_val;
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_GTK_BOX);
@@ -2481,7 +2481,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *y1;
       const char *y2;
       GtkStateFlags state_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!state", &state,
@@ -2509,7 +2509,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
                      state, element_name);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_GTK_VLINE);
 
       op->data.gtk_vline.x = meta_draw_spec_new (info->theme, x, NULL);
@@ -2517,9 +2517,9 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.gtk_vline.y2 = meta_draw_spec_new (info->theme, y2, NULL);
 
       op->data.gtk_vline.state = state_val;
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_GTK_VLINE);
@@ -2535,7 +2535,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *fill_type;
       MetaAlphaGradientSpec *alpha_spec;
       MetaImageFillType fill_type_val;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!x", &x, "!y", &y,
@@ -2544,8 +2544,8 @@ parse_draw_op_element (GMarkupParseContext  *context,
                               "fill_type", &fill_type,
                               NULL))
         return;
-      
-#if 0      
+
+#if 0
       if (!check_expression (x, FALSE, info->theme, context, error))
         return;
 
@@ -2554,7 +2554,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (!check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -2571,13 +2571,13 @@ parse_draw_op_element (GMarkupParseContext  *context,
                          fill_type, element_name);
             }
         }
-      
+
       alpha_spec = NULL;
       if (alpha && !parse_alpha (alpha, &alpha_spec, context, error))
         return;
-      
+
       op = meta_draw_op_new (META_DRAW_ICON);
-      
+
       op->data.icon.x = meta_draw_spec_new (info->theme, x, NULL);
       op->data.icon.y = meta_draw_spec_new (info->theme, y, NULL);
       op->data.icon.width = meta_draw_spec_new (info->theme, width, NULL);
@@ -2585,9 +2585,9 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       op->data.icon.alpha_spec = alpha_spec;
       op->data.icon.fill_type = fill_type_val;
-      
+
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_ICON);
@@ -2600,7 +2600,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *y;
       const char *ellipsize_width;
       MetaColorSpec *color_spec;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!color", &color,
@@ -2636,7 +2636,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
           add_context_to_error (error, context);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_TITLE);
 
       op->data.title.color_spec = color_spec;
@@ -2647,7 +2647,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
         op->data.title.ellipsize_width = meta_draw_spec_new (info->theme, ellipsize_width, NULL);
 
       g_assert (info->op_list);
-      
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_TITLE);
@@ -2661,7 +2661,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *width;
       const char *height;
       MetaDrawOpList *op_list;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "x", &x, "y", &y,
@@ -2673,7 +2673,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       /* x/y/width/height default to 0,0,width,height - should
        * probably do this for all the draw ops
        */
-#if 0      
+#if 0
       if (x && !check_expression (x, FALSE, info->theme, context, error))
         return;
 
@@ -2682,7 +2682,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (width && !check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (height && !check_expression (height, FALSE, info->theme, context, error))
         return;
 #endif
@@ -2699,7 +2699,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
         }
 
       g_assert (info->op_list);
-      
+
       if (op_list == info->op_list ||
           meta_draw_op_list_contains (op_list, info->op_list))
         {
@@ -2709,15 +2709,15 @@ parse_draw_op_element (GMarkupParseContext  *context,
                      name);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_OP_LIST);
 
       meta_draw_op_list_ref (op_list);
-      op->data.op_list.op_list = op_list;      
+      op->data.op_list.op_list = op_list;
 
       op->data.op_list.x = meta_draw_spec_new (info->theme, x ? x : "0", NULL);
       op->data.op_list.y = meta_draw_spec_new (info->theme, y ? y : "0", NULL);
-      op->data.op_list.width = meta_draw_spec_new (info->theme, 
+      op->data.op_list.width = meta_draw_spec_new (info->theme,
                                                    width ? width : "width",
                                                    NULL);
       op->data.op_list.height = meta_draw_spec_new (info->theme,
@@ -2741,7 +2741,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
       const char *tile_width;
       const char *tile_height;
       MetaDrawOpList *op_list;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "x", &x, "y", &y,
@@ -2761,7 +2761,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (tile_yoffset && !check_expression (tile_yoffset, FALSE, info->theme, context, error))
         return;
-      
+
       /* x/y/width/height default to 0,0,width,height - should
        * probably do this for all the draw ops
        */
@@ -2773,7 +2773,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (width && !check_expression (width, FALSE, info->theme, context, error))
         return;
-      
+
       if (height && !check_expression (height, FALSE, info->theme, context, error))
         return;
 
@@ -2782,7 +2782,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
 
       if (!check_expression (tile_height, FALSE, info->theme, context, error))
         return;
-#endif 
+#endif
       op_list = meta_theme_lookup_draw_op_list (info->theme,
                                                 name);
       if (op_list == NULL)
@@ -2795,7 +2795,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
         }
 
       g_assert (info->op_list);
-      
+
       if (op_list == info->op_list ||
           meta_draw_op_list_contains (op_list, info->op_list))
         {
@@ -2805,7 +2805,7 @@ parse_draw_op_element (GMarkupParseContext  *context,
                      name);
           return;
         }
-      
+
       op = meta_draw_op_new (META_DRAW_TILE);
 
       meta_draw_op_list_ref (op_list);
@@ -2827,8 +2827,8 @@ parse_draw_op_element (GMarkupParseContext  *context,
       op->data.tile.tile_width = meta_draw_spec_new (info->theme, tile_width, NULL);
       op->data.tile.tile_height = meta_draw_spec_new (info->theme, tile_height, NULL);
 
-      op->data.tile.op_list = op_list;      
-      
+      op->data.tile.op_list = op_list;
+
       meta_draw_op_list_append (info->op_list, op);
 
       push_state (info, STATE_TILE);
@@ -2876,7 +2876,7 @@ parse_gradient_element (GMarkupParseContext  *context,
       info->op->data.gradient.gradient_spec->color_specs =
         g_slist_append (info->op->data.gradient.gradient_spec->color_specs,
                         color_spec);
-      
+
       push_state (info, STATE_COLOR);
     }
   else
@@ -2899,12 +2899,12 @@ parse_style_element (GMarkupParseContext  *context,
   g_return_if_fail (peek_state (info) == STATE_FRAME_STYLE);
 
   g_assert (info->style);
-  
+
   if (ELEMENT_IS ("piece"))
     {
       const char *position = NULL;
       const char *draw_ops = NULL;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!position", &position,
@@ -2920,7 +2920,7 @@ parse_style_element (GMarkupParseContext  *context,
                      position);
           return;
         }
-      
+
       if (info->style->pieces[info->piece] != NULL)
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
@@ -2930,7 +2930,7 @@ parse_style_element (GMarkupParseContext  *context,
         }
 
       g_assert (info->op_list == NULL);
-      
+
       if (draw_ops)
         {
           MetaDrawOpList *op_list;
@@ -2949,7 +2949,7 @@ parse_style_element (GMarkupParseContext  *context,
           meta_draw_op_list_ref (op_list);
           info->op_list = op_list;
         }
-      
+
       push_state (info, STATE_PIECE);
     }
   else if (ELEMENT_IS ("button"))
@@ -2958,7 +2958,7 @@ parse_style_element (GMarkupParseContext  *context,
       const char *state = NULL;
       const char *draw_ops = NULL;
       gint required_version;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!function", &function,
@@ -2997,7 +2997,7 @@ parse_style_element (GMarkupParseContext  *context,
                      state);
           return;
         }
-      
+
       if (info->style->buttons[info->button_type][info->button_state] != NULL)
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
@@ -3007,7 +3007,7 @@ parse_style_element (GMarkupParseContext  *context,
         }
 
       g_assert (info->op_list == NULL);
-      
+
       if (draw_ops)
         {
           MetaDrawOpList *op_list;
@@ -3026,7 +3026,7 @@ parse_style_element (GMarkupParseContext  *context,
           meta_draw_op_list_ref (op_list);
           info->op_list = op_list;
         }
-      
+
       push_state (info, STATE_BUTTON);
     }
   else
@@ -3058,7 +3058,7 @@ parse_style_set_element (GMarkupParseContext  *context,
       MetaFrameState frame_state;
       MetaFrameResize frame_resize;
       MetaFrameStyle *frame_style;
-      
+
       if (!locate_attributes (context, element_name, attribute_names, attribute_values,
                               error,
                               "!focus", &focus,
@@ -3076,7 +3076,7 @@ parse_style_set_element (GMarkupParseContext  *context,
                      focus);
           return;
         }
-      
+
       frame_state = meta_frame_state_from_string (state);
       if (frame_state == META_FRAME_STATE_LAST)
         {
@@ -3107,7 +3107,7 @@ parse_style_set_element (GMarkupParseContext  *context,
               return;
             }
 
-          
+
           frame_resize = meta_frame_resize_from_string (resize);
           if (frame_resize == META_FRAME_RESIZE_LAST)
             {
@@ -3116,7 +3116,7 @@ parse_style_set_element (GMarkupParseContext  *context,
                          focus);
               return;
             }
-          
+
           break;
 
         case META_FRAME_STATE_SHADED:
@@ -3155,7 +3155,7 @@ parse_style_set_element (GMarkupParseContext  *context,
               frame_resize = META_FRAME_RESIZE_BOTH;
             }
           break;
-          
+
         default:
           if (resize != NULL)
             {
@@ -3167,7 +3167,7 @@ parse_style_set_element (GMarkupParseContext  *context,
 
           frame_resize = META_FRAME_RESIZE_LAST;
         }
-      
+
       switch (frame_state)
         {
         case META_FRAME_STATE_NORMAL:
@@ -3263,7 +3263,7 @@ parse_style_set_element (GMarkupParseContext  *context,
           break;
         }
 
-      push_state (info, STATE_FRAME);      
+      push_state (info, STATE_FRAME);
     }
   else
     {
@@ -3293,7 +3293,7 @@ parse_piece_element (GMarkupParseContext  *context,
                      _("Can't have a two draw_ops for a <piece> element (theme specified a draw_ops 
attribute and also a <draw_ops> element, or specified two elements)"));
           return;
         }
-            
+
       if (!check_no_attributes (context, element_name, attribute_names, attribute_values,
                                 error))
         return;
@@ -3321,7 +3321,7 @@ parse_button_element (GMarkupParseContext  *context,
                       GError              **error)
 {
   g_return_if_fail (peek_state (info) == STATE_BUTTON);
-  
+
   if (ELEMENT_IS ("draw_ops"))
     {
       if (info->op_list)
@@ -3331,7 +3331,7 @@ parse_button_element (GMarkupParseContext  *context,
                      _("Can't have a two draw_ops for a <button> element (theme specified a draw_ops 
attribute and also a <draw_ops> element, or specified two elements)"));
           return;
         }
-            
+
       if (!check_no_attributes (context, element_name, attribute_names, attribute_values,
                                 error))
         return;
@@ -3369,7 +3369,7 @@ parse_menu_icon_element (GMarkupParseContext  *context,
                      _("Can't have a two draw_ops for a <menu_icon> element (theme specified a draw_ops 
attribute and also a <draw_ops> element, or specified two elements)"));
           return;
         }
-            
+
       if (!check_no_attributes (context, element_name, attribute_names, attribute_values,
                                 error))
         return;
@@ -3553,7 +3553,7 @@ start_element_handler (GMarkupParseContext *context,
           info->theme->filename = g_strdup (info->theme_file);
           info->theme->dirname = g_strdup (info->theme_dir);
           info->theme->format_version = info->format_version;
-          
+
           push_state (info, STATE_THEME);
         }
       else
@@ -3700,7 +3700,7 @@ end_element_handler (GMarkupParseContext *context,
           meta_theme_free (info->theme);
           info->theme = NULL;
         }
-      
+
       pop_state (info);
       g_assert (peek_state (info) == STATE_START);
       break;
@@ -3764,7 +3764,7 @@ end_element_handler (GMarkupParseContext *context,
     case STATE_DRAW_OPS:
       {
         g_assert (info->op_list);
-        
+
         if (!meta_draw_op_list_validate (info->op_list,
                                          error))
           {
@@ -3972,10 +3972,10 @@ all_whitespace (const char *text,
 {
   const char *p;
   const char *end;
-  
+
   p = text;
   end = text + text_len;
-  
+
   while (p != end)
     {
       if (!g_ascii_isspace (*p))
@@ -4001,7 +4001,7 @@ text_handler (GMarkupParseContext *context,
 
   if (all_whitespace (text, text_len))
     return;
-  
+
   /* FIXME http://bugzilla.gnome.org/show_bug.cgi?id=70448 would
    * allow a nice cleanup here.
    */
@@ -4266,8 +4266,8 @@ keep_trying (GError **error)
 
 /**
  * meta_theme_load: (skip)
- * @theme_name: 
- * @err: 
+ * @theme_name:
+ * @err:
  *
  */
 MetaTheme*
@@ -4282,7 +4282,7 @@ meta_theme_load (const char *theme_name,
   int i;
 
   retval = NULL;
-  
+
   /* We try all supported major versions from current to oldest */
   for (major_version = THEME_MAJOR_VERSION; (major_version > 0); major_version--)
     {
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index 269f30e..2bb36d3 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -2,9 +2,9 @@
 
 /* Metacity Theme Rendering */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -57,7 +57,7 @@ typedef struct _MetaGradientSpec MetaGradientSpec;
  * MetaAlphaGradientSpec: (skip)
  *
  */
-typedef struct _MetaAlphaGradientSpec MetaAlphaGradientSpec; 
+typedef struct _MetaAlphaGradientSpec MetaAlphaGradientSpec;
 /**
  * MetaColorSpec: (skip)
  *
@@ -131,14 +131,14 @@ struct _MetaFrameLayout
 {
   /** Reference count. */
   int refcount;
-  
+
   /** Size of left side */
   int left_width;
   /** Size of right side */
   int right_width;
   /** Size of bottom side */
   int bottom_height;
-  
+
   /** Border of blue title region
    * \bug (blue?!)
    **/
@@ -146,12 +146,12 @@ struct _MetaFrameLayout
 
   /** Extra height for inside of title region, above the font height */
   int title_vertical_pad;
-  
+
   /** Right indent of buttons from edges of frame */
   int right_titlebar_edge;
   /** Left indent of buttons from edges of frame */
   int left_titlebar_edge;
-  
+
   /**
    * Sizing rule of buttons, either META_BUTTON_SIZING_ASPECT
    * (in which case button_aspect will be honoured, and
@@ -167,7 +167,7 @@ struct _MetaFrameLayout
    * Otherwise we figure out the height from the button_border.
    */
   double button_aspect;
-  
+
   /** Width of a button; set even when we are using aspect sizing */
   int button_width;
 
@@ -179,7 +179,7 @@ struct _MetaFrameLayout
 
   /** scale factor for title text */
   double title_scale;
-  
+
   /** Whether title text will be displayed */
   guint has_title : 1;
 
@@ -218,7 +218,7 @@ struct _MetaFrameGeometry
   MetaFrameBorders borders;
 
   int width;
-  int height;  
+  int height;
 
   GdkRectangle title_rect;
 
@@ -230,7 +230,7 @@ struct _MetaFrameGeometry
   /* used for a memset hack */
 #define ADDRESS_OF_BUTTON_RECTS(fgeom) (((char*)(fgeom)) + G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
 #define LENGTH_OF_BUTTON_RECTS (G_STRUCT_OFFSET (MetaFrameGeometry, right_single_background) + sizeof 
(GdkRectangle) - G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
-  
+
   /* The button rects (if changed adjust memset hack) */
   MetaButtonSpace close_rect;
   MetaButtonSpace max_rect;
@@ -258,7 +258,7 @@ struct _MetaFrameGeometry
   MetaButtonLayout button_layout;
   int n_left_buttons;
   int n_right_buttons;
-  
+
   /* Round corners */
   guint top_left_corner_rounded_radius;
   guint top_right_corner_rounded_radius;
@@ -363,14 +363,14 @@ typedef enum
 
   /** Clip to a rectangle */
   META_DRAW_CLIP,
-  
+
   /* Texture thingies */
 
   /** Just a filled rectangle with alpha */
   META_DRAW_TINT,
   META_DRAW_GRADIENT,
   META_DRAW_IMAGE,
-  
+
   /** GTK theme engine stuff */
   META_DRAW_GTK_ARROW,
   META_DRAW_GTK_BOX,
@@ -459,7 +459,7 @@ struct _MetaDrawSpec
    * otherwise it is zero.
    */
   int value;
-  
+
   /** A list of tokens in the expression. */
   PosToken *tokens;
 
@@ -517,7 +517,7 @@ struct _MetaDrawOp
       MetaDrawSpec *width;
       MetaDrawSpec *height;
     } clip;
-    
+
     struct {
       MetaColorSpec *color_spec;
       MetaAlphaGradientSpec *alpha_spec;
@@ -551,7 +551,7 @@ struct _MetaDrawOp
       unsigned int vertical_stripes : 1;
       unsigned int horizontal_stripes : 1;
     } image;
-    
+
     struct {
       GtkStateFlags state;
       GtkShadowType shadow;
@@ -577,7 +577,7 @@ struct _MetaDrawOp
       GtkStateFlags state;
       MetaDrawSpec *x;
       MetaDrawSpec *y1;
-      MetaDrawSpec *y2;  
+      MetaDrawSpec *y2;
     } gtk_vline;
 
     struct {
@@ -615,7 +615,7 @@ struct _MetaDrawOp
       MetaDrawSpec *tile_width;
       MetaDrawSpec *tile_height;
     } tile;
-    
+
   } data;
 };
 
@@ -690,7 +690,7 @@ typedef enum
    *   |       rather than   |
    *
    */
-  
+
   /* entire frame */
   META_FRAME_PIECE_ENTIRE_BACKGROUND,
   /* entire titlebar background */
@@ -756,7 +756,7 @@ struct _MetaFrameStyle
 };
 
 /* Kinds of frame...
- * 
+ *
  *  normal ->   noresize / vert only / horz only / both
  *              focused / unfocused
  *  max    ->   focused / unfocused
@@ -768,7 +768,7 @@ struct _MetaFrameStyle
  *
  * 14 window states times 7 or 8 window types. Except some
  * window types never get a frame so that narrows it down a bit.
- * 
+ *
  */
 typedef enum
 {
diff --git a/src/ui/theme.c b/src/ui/theme.c
index 51255ee..c0a9221 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -92,14 +92,14 @@ colorize_pixbuf (GdkPixbuf *orig,
   gboolean has_alpha;
   const guchar *src_pixels;
   guchar *dest_pixels;
-  
+
   pixbuf = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (orig), gdk_pixbuf_get_has_alpha (orig),
                           gdk_pixbuf_get_bits_per_sample (orig),
                           gdk_pixbuf_get_width (orig), gdk_pixbuf_get_height (orig));
 
   if (pixbuf == NULL)
     return NULL;
-  
+
   orig_rowstride = gdk_pixbuf_get_rowstride (orig);
   dest_rowstride = gdk_pixbuf_get_rowstride (pixbuf);
   width = gdk_pixbuf_get_width (pixbuf);
@@ -107,7 +107,7 @@ colorize_pixbuf (GdkPixbuf *orig,
   has_alpha = gdk_pixbuf_get_has_alpha (orig);
   src_pixels = gdk_pixbuf_get_pixels (orig);
   dest_pixels = gdk_pixbuf_get_pixels (pixbuf);
-  
+
   for (y = 0; y < height; y++)
     {
       src = src_pixels + y * orig_rowstride;
@@ -116,7 +116,7 @@ colorize_pixbuf (GdkPixbuf *orig,
       for (x = 0; x < width; x++)
         {
           double dr, dg, db;
-          
+
           intensity = INTENSITY (src[0], src[1], src[2]) / 255.0;
 
           if (intensity <= 0.5)
@@ -133,11 +133,11 @@ colorize_pixbuf (GdkPixbuf *orig,
               dg = new_color->green + (1.0 - new_color->green) * (intensity - 0.5) * 2.0;
               db = new_color->blue + (1.0 - new_color->blue) * (intensity - 0.5) * 2.0;
             }
-          
+
           dest[0] = CLAMP_UCHAR (255 * dr);
           dest[1] = CLAMP_UCHAR (255 * dg);
           dest[2] = CLAMP_UCHAR (255 * db);
-          
+
           if (has_alpha)
             {
               dest[3] = src[3];
@@ -207,7 +207,7 @@ meta_frame_layout_new  (void)
   init_border (&layout->title_border);
 
   layout->title_vertical_pad = -1;
-  
+
   layout->right_titlebar_edge = -1;
   layout->left_titlebar_edge = -1;
 
@@ -218,7 +218,7 @@ meta_frame_layout_new  (void)
 
   layout->has_title = TRUE;
   layout->title_scale = 1.0;
-  
+
   init_border (&layout->button_border);
 
   return layout;
@@ -229,7 +229,7 @@ validate_border (const GtkBorder *border,
                  const char     **bad)
 {
   *bad = NULL;
-  
+
   if (border->top < 0)
     *bad = _("top");
   else if (border->bottom < 0)
@@ -387,7 +387,7 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
                                MetaFrameBorders      *borders)
 {
   int buttons_height, title_height, draggable_borders;
-  
+
   meta_frame_borders_clear (borders);
 
   /* For a full-screen window, we don't have any borders, visible or not. */
@@ -398,7 +398,7 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
 
   if (!layout->has_title)
     text_height = 0;
-  
+
   buttons_height = layout->button_height +
     layout->button_border.top + layout->button_border.bottom;
   title_height = text_height +
@@ -475,7 +475,7 @@ rect_for_function (MetaFrameGeometry *fgeom,
 {
 
   /* Firstly, check version-specific things. */
-  
+
   if (META_THEME_ALLOWS(theme, META_THEME_SHADE_STICK_ABOVE_BUTTONS))
     {
       switch (function)
@@ -549,7 +549,7 @@ rect_for_function (MetaFrameGeometry *fgeom,
        * be well.
        */
       return NULL;
-      
+
     case META_BUTTON_FUNCTION_LAST:
       return NULL;
     }
@@ -564,7 +564,7 @@ strip_button (MetaButtonSpace *func_rects[MAX_BUTTONS_PER_CORNER],
               MetaButtonSpace *to_strip)
 {
   int i;
-  
+
   i = 0;
   while (i < *n_rects)
     {
@@ -583,7 +583,7 @@ strip_button (MetaButtonSpace *func_rects[MAX_BUTTONS_PER_CORNER],
 
           func_rects[i] = NULL;
           bg_rects[i] = NULL;
-          
+
           return TRUE;
         }
 
@@ -611,7 +611,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
   int width, height;
   int button_width, button_height;
   int min_size_for_rounding;
-  
+
   /* the left/right rects in order; the max # of rects
    * is the number of button functions
    */
@@ -623,7 +623,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
   gboolean right_buttons_has_spacer[MAX_BUTTONS_PER_CORNER];
 
   MetaFrameBorders borders;
-  
+
   meta_frame_layout_get_borders (layout, text_height,
                                  flags, type,
                                  &borders);
@@ -646,7 +646,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
   /* gcc warnings */
   button_width = -1;
   button_height = -1;
-  
+
   switch (layout->button_sizing)
     {
     case META_BUTTON_SIZING_ASPECT:
@@ -667,11 +667,11 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
    * code in frames.c, so isn't really allowed right now.
    * Would need left_close_rect, right_close_rect, etc.
    */
-  
+
   /* Init all button rects to 0, lame hack */
   memset (ADDRESS_OF_BUTTON_RECTS (fgeom), '\0',
           LENGTH_OF_BUTTON_RECTS);
-  
+
   n_left = 0;
   n_right = 0;
   n_left_spacers = 0;
@@ -694,7 +694,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
               ++n_left;
             }
         }
-      
+
       for (i = 0; i < MAX_BUTTONS_PER_CORNER && button_layout->right_buttons[i] != 
META_BUTTON_FUNCTION_LAST; i++)
         {
           right_func_rects[n_right] = rect_for_function (fgeom, flags,
@@ -740,7 +740,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
       else
         right_bg_rects[i] = &fgeom->right_middle_backgrounds[i - 1];
     }
-  
+
   /* Be sure buttons fit */
   while (n_left > 0 || n_right > 0)
     {
@@ -748,7 +748,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
       int space_available;
 
       space_available = fgeom->width - layout->left_titlebar_edge - layout->right_titlebar_edge;
-      
+
       space_used_by_buttons = 0;
 
       space_used_by_buttons += button_width * n_left;
@@ -763,7 +763,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
 
       if (space_used_by_buttons <= space_available)
         break; /* Everything fits, bail out */
-      
+
       /* First try to remove separators */
       if (n_left_spacers > 0)
         {
@@ -833,14 +833,14 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
   fgeom->button_layout = *button_layout;
   fgeom->n_left_buttons = n_left;
   fgeom->n_right_buttons = n_right;
-  
+
   /* center buttons vertically */
   button_y = (borders.visible.top -
               (button_height + layout->button_border.top + layout->button_border.bottom)) / 2 + 
layout->button_border.top + borders.invisible.top;
 
   /* right edge of farthest-right button */
   x = width - layout->right_titlebar_edge - borders.invisible.right;
-  
+
   i = n_right - 1;
   while (i >= 0)
     {
@@ -848,7 +848,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
 
       if (x < 0) /* if we go negative, leave the buttons we don't get to as 0-width */
         break;
-      
+
       rect = right_func_rects[i];
       rect->visible.x = x - layout->button_border.right - button_width;
       if (right_buttons_has_spacer[i])
@@ -875,9 +875,9 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
         g_memmove (&(rect->clickable), &(rect->visible), sizeof(rect->clickable));
 
       *(right_bg_rects[i]) = rect->visible;
-      
+
       x = rect->visible.x - layout->button_border.left;
-      
+
       --i;
     }
 
@@ -893,7 +893,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
       MetaButtonSpace *rect;
 
       rect = left_func_rects[i];
-      
+
       rect->visible.x = x + layout->button_border.left;
       rect->visible.y = button_y;
       rect->visible.width = button_width;
@@ -946,7 +946,7 @@ meta_frame_layout_calc_geometry (const MetaFrameLayout  *layout,
     min_size_for_rounding = 0;
   else
     min_size_for_rounding = 5;
-  
+
   fgeom->top_left_corner_rounded_radius = 0;
   fgeom->top_right_corner_rounded_radius = 0;
   fgeom->bottom_left_corner_rounded_radius = 0;
@@ -993,7 +993,7 @@ meta_gradient_spec_free (MetaGradientSpec *spec)
 
   g_slist_foreach (spec->color_specs, free_color_spec, NULL);
   g_slist_free (spec->color_specs);
-  
+
   DEBUG_FILL_STRUCT (spec);
   g_free (spec);
 }
@@ -1041,7 +1041,7 @@ meta_gradient_spec_validate (MetaGradientSpec *spec,
                              GError          **error)
 {
   g_return_val_if_fail (spec != NULL, FALSE);
-  
+
   if (g_slist_length (spec->color_specs) < 2)
     {
       g_set_error (error, META_THEME_ERROR,
@@ -1064,7 +1064,7 @@ meta_alpha_gradient_spec_new (MetaGradientType       type,
   MetaAlphaGradientSpec *spec;
 
   g_return_val_if_fail (n_alphas > 0, NULL);
-  
+
   spec = g_new0 (MetaAlphaGradientSpec, 1);
 
   spec->type = type;
@@ -1178,7 +1178,7 @@ meta_color_spec_new_from_string (const char *str,
   MetaColorSpec *spec;
 
   spec = NULL;
-  
+
   if (str[0] == 'g' && str[1] == 't' && str[2] == 'k' && str[3] == ':' &&
       str[4] == 'c' && str[5] == 'u' && str[6] == 's' && str[7] == 't' &&
       str[8] == 'o' && str[9] == 'm')
@@ -1264,7 +1264,7 @@ meta_color_spec_new_from_string (const char *str,
       char *tmp;
       GtkStateFlags state;
       MetaGtkColorComponent component;
-      
+
       bracket = str;
       while (*bracket && *bracket != '[')
         ++bracket;
@@ -1282,7 +1282,7 @@ meta_color_spec_new_from_string (const char *str,
       ++end_bracket;
       while (*end_bracket && *end_bracket != ']')
         ++end_bracket;
-      
+
       if (*end_bracket == '\0')
         {
           g_set_error (err, META_THEME_ERROR,
@@ -1304,7 +1304,7 @@ meta_color_spec_new_from_string (const char *str,
           return NULL;
         }
       g_free (tmp);
-      
+
       tmp = g_strndup (str + 4, bracket - str - 4);
       component = meta_color_component_from_string (tmp);
       if (component == META_GTK_COLOR_LAST)
@@ -1332,9 +1332,9 @@ meta_color_spec_new_from_string (const char *str,
       char *end;
       MetaColorSpec *fg;
       MetaColorSpec *bg;
-      
+
       split = g_strsplit (str, "/", 4);
-      
+
       if (split[0] == NULL || split[1] == NULL ||
           split[2] == NULL || split[3] == NULL)
         {
@@ -1366,7 +1366,7 @@ meta_color_spec_new_from_string (const char *str,
           g_strfreev (split);
           return NULL;
         }
-      
+
       fg = NULL;
       bg = NULL;
 
@@ -1386,7 +1386,7 @@ meta_color_spec_new_from_string (const char *str,
         }
 
       g_strfreev (split);
-      
+
       spec = meta_color_spec_new (META_COLOR_SPEC_BLEND);
       spec->data.blend.alpha = alpha;
       spec->data.blend.background = bg;
@@ -1400,9 +1400,9 @@ meta_color_spec_new_from_string (const char *str,
       double factor;
       char *end;
       MetaColorSpec *base;
-      
+
       split = g_strsplit (str, "/", 3);
-      
+
       if (split[0] == NULL || split[1] == NULL ||
           split[2] == NULL)
         {
@@ -1434,7 +1434,7 @@ meta_color_spec_new_from_string (const char *str,
           g_strfreev (split);
           return NULL;
         }
-      
+
       base = NULL;
 
       base = meta_color_spec_new_from_string (split[1], err);
@@ -1445,7 +1445,7 @@ meta_color_spec_new_from_string (const char *str,
         }
 
       g_strfreev (split);
-      
+
       spec = meta_color_spec_new (META_COLOR_SPEC_SHADE);
       spec->data.shade.factor = factor;
       spec->data.shade.base = base;
@@ -1453,7 +1453,7 @@ meta_color_spec_new_from_string (const char *str,
   else
     {
       spec = meta_color_spec_new (META_COLOR_SPEC_BASIC);
-      
+
       if (!gdk_rgba_parse (&spec->data.basic.color, str))
         {
           g_set_error (err, META_THEME_ERROR,
@@ -1466,7 +1466,7 @@ meta_color_spec_new_from_string (const char *str,
     }
 
   g_assert (spec);
-  
+
   return spec;
 }
 
@@ -1600,7 +1600,7 @@ meta_color_spec_render (MetaColorSpec   *spec,
         meta_color_spec_render (spec->data.blend.background, context, &bg);
         meta_color_spec_render (spec->data.blend.foreground, context, &fg);
 
-        color_composite (&bg, &fg, spec->data.blend.alpha, 
+        color_composite (&bg, &fg, spec->data.blend.alpha,
                          &spec->data.blend.color);
 
         *color = spec->data.blend.color;
@@ -1611,8 +1611,8 @@ meta_color_spec_render (MetaColorSpec   *spec,
       {
         meta_color_spec_render (spec->data.shade.base, context,
                                 &spec->data.shade.color);
-            
-        gtk_style_shade (&spec->data.shade.color, 
+
+        gtk_style_shade (&spec->data.shade.color,
                          &spec->data.shade.color, spec->data.shade.factor);
 
         *color = spec->data.shade.color;
@@ -1670,7 +1670,7 @@ op_from_string (const char *p,
                 int        *len)
 {
   *len = 0;
-  
+
   switch (*p)
     {
     case '+':
@@ -1841,7 +1841,7 @@ debug_print_tokens (PosToken *tokens,
                     int       n_tokens)
 {
   int i;
-  
+
   for (i = 0; i < n_tokens; i++)
     {
       PosToken *t = &tokens[i];
@@ -1881,7 +1881,7 @@ debug_print_tokens (PosToken *tokens,
  * @tokens_p: (out): The resulting tokens
  * @n_tokens_p: (out): The number of resulting tokens
  * @err: (out):  set to the problem if there was a problem
- 
+
  * Tokenises an expression.
  *
  * Returns: %TRUE if the expression was successfully tokenised; %FALSE otherwise.
@@ -1896,7 +1896,7 @@ pos_tokenize (const char  *expr,
   int n_tokens;
   int allocated;
   const char *p;
-  
+
   *tokens_p = NULL;
   *n_tokens_p = 0;
 
@@ -1909,7 +1909,7 @@ pos_tokenize (const char  *expr,
     {
       PosToken *next;
       int len;
-      
+
       if (n_tokens == allocated)
         {
           allocated *= 2;
@@ -1939,7 +1939,7 @@ pos_tokenize (const char  *expr,
                            META_THEME_ERROR_FAILED,
                            _("Coordinate expression contained unknown operator at the start of this text: 
\"%s\""),
                            p);
-              
+
               goto error;
             }
           break;
@@ -1956,7 +1956,7 @@ pos_tokenize (const char  *expr,
 
         case ' ':
         case '\t':
-        case '\n':             
+        case '\n':
           break;
 
         default:
@@ -2398,7 +2398,7 @@ pos_eval_get_variable (PosToken                  *t,
           return FALSE;
         }
     }
-  else 
+  else
     {
       if (strcmp (t->d.v.name, "width") == 0)
         *result = env->rect.width;
@@ -2476,7 +2476,7 @@ pos_eval_helper (PosToken                   *tokens,
   PosExpr exprs[MAX_EXPRS];
   int n_exprs;
   int precedence;
-  
+
   /* Our first goal is to get a list of PosExpr, essentially
    * substituting variables and handling parentheses.
    */
@@ -2533,7 +2533,7 @@ pos_eval_helper (PosToken                   *tokens,
                */
               if (!pos_eval_get_variable (t, &exprs[n_exprs].d.int_val, env, err))
                 return FALSE;
-                  
+
               ++n_exprs;
               break;
 
@@ -2730,7 +2730,7 @@ meta_parse_size_expression (MetaDrawSpec              *spec,
 
   if (spec->constant)
     val = spec->value;
-  else 
+  else
     {
       if (pos_eval (spec, env, &spec->value, err) == FALSE)
         {
@@ -2763,11 +2763,11 @@ meta_theme_replace_constants (MetaTheme   *theme,
   double dval;
   int ival;
   gboolean is_constant = TRUE;
-  
+
   /* Loop through tokenized string looking for variables to replace */
   for (i = 0; i < n_tokens; i++)
     {
-      PosToken *t = &tokens[i];      
+      PosToken *t = &tokens[i];
 
       if (t->type == POS_TOKEN_VARIABLE)
         {
@@ -2783,17 +2783,17 @@ meta_theme_replace_constants (MetaTheme   *theme,
               t->type = POS_TOKEN_DOUBLE;
               t->d.d.val = dval;
             }
-          else 
+          else
             {
               /* If we've found a variable that cannot be replaced then the
-                 expression is not a constant expression and we want to 
+                 expression is not a constant expression and we want to
                  replace it with a GQuark */
 
               t->d.v.name_quark = g_quark_from_string (t->d.v.name);
               is_constant = FALSE;
             }
         }
-    }  
+    }
 
   return is_constant;
 }
@@ -2811,10 +2811,10 @@ parse_x_position_unchecked (MetaDrawSpec              *spec,
     {
       meta_warning (_("Theme contained an expression that resulted in an error: %s\n"),
                     error->message);
-      
+
       g_error_free (error);
     }
-  
+
   return retval;
 }
 
@@ -2880,10 +2880,10 @@ meta_draw_spec_new (MetaTheme  *theme,
   spec = g_slice_new0 (MetaDrawSpec);
 
   pos_tokenize (expr, &spec->tokens, &spec->n_tokens, NULL);
-  
-  spec->constant = meta_theme_replace_constants (theme, spec->tokens, 
+
+  spec->constant = meta_theme_replace_constants (theme, spec->tokens,
                                                  spec->n_tokens, NULL);
-  if (spec->constant) 
+  if (spec->constant)
     {
       gboolean result;
 
@@ -2894,7 +2894,7 @@ meta_draw_spec_new (MetaTheme  *theme,
           return NULL;
         }
     }
-    
+
   return spec;
 }
 
@@ -2928,7 +2928,7 @@ meta_draw_op_new (MetaDrawType type)
     case META_DRAW_CLIP:
       size += sizeof (dummy.data.clip);
       break;
-      
+
     case META_DRAW_TINT:
       size += sizeof (dummy.data.tint);
       break;
@@ -3018,7 +3018,7 @@ meta_draw_op_free (MetaDrawOp *op)
       meta_draw_spec_free (op->data.clip.width);
       meta_draw_spec_free (op->data.clip.height);
       break;
-      
+
     case META_DRAW_TINT:
       if (op->data.tint.color_spec)
         meta_color_spec_free (op->data.tint.color_spec);
@@ -3139,15 +3139,15 @@ apply_alpha (GdkPixbuf             *pixbuf,
 {
   GdkPixbuf *new_pixbuf;
   gboolean needs_alpha;
-  
+
   g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
-  
+
   needs_alpha = spec && (spec->n_alphas > 1 ||
                          spec->alphas[0] != 0xff);
 
   if (!needs_alpha)
     return pixbuf;
-  
+
   if (!gdk_pixbuf_get_has_alpha (pixbuf))
     {
       new_pixbuf = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0);
@@ -3160,11 +3160,11 @@ apply_alpha (GdkPixbuf             *pixbuf,
       g_object_unref (G_OBJECT (pixbuf));
       pixbuf = new_pixbuf;
     }
-  
+
   g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
 
   meta_gradient_add_alpha (pixbuf, spec->alphas, spec->n_alphas, spec->type);
-  
+
   return pixbuf;
 }
 
@@ -3177,10 +3177,10 @@ pixbuf_tile (GdkPixbuf *tile,
   int tile_width;
   int tile_height;
   int i, j;
-  
+
   tile_width = gdk_pixbuf_get_width (tile);
   tile_height = gdk_pixbuf_get_height (tile);
-  
+
   pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
                            gdk_pixbuf_get_has_alpha (tile),
                            8, width, height);
@@ -3195,7 +3195,7 @@ pixbuf_tile (GdkPixbuf *tile,
 
           w = MIN (tile_width, width - i);
           h = MIN (tile_height, height - j);
-          
+
           gdk_pixbuf_copy_area (tile,
                                 0, 0,
                                 w, h,
@@ -3204,10 +3204,10 @@ pixbuf_tile (GdkPixbuf *tile,
 
           j += tile_height;
         }
-      
+
       i += tile_width;
     }
-  
+
   return pixbuf;
 }
 
@@ -3231,7 +3231,7 @@ replicate_rows (GdkPixbuf  *src,
                            width, height);
   dest_rowstride = gdk_pixbuf_get_rowstride (result);
   dest_pixels = gdk_pixbuf_get_pixels (result);
-  
+
   for (i = 0; i < height; i++)
     memcpy (dest_pixels + dest_rowstride * i, pixels, n_channels * width);
 
@@ -3267,18 +3267,18 @@ replicate_cols (GdkPixbuf  *src,
       unsigned char r = *(q++);
       unsigned char g = *(q++);
       unsigned char b = *(q++);
-      
+
       if (n_channels == 4)
         {
           unsigned char a;
-          
+
           a = *(q++);
-          
+
           for (j = 0; j < width; j++)
             {
               *(p++) = r;
               *(p++) = g;
-              *(p++) = b;                    
+              *(p++) = b;
               *(p++) = a;
             }
         }
@@ -3374,7 +3374,7 @@ scale_and_alpha_pixbuf (GdkPixbuf             *src,
               pixbuf = replicate_rows (temp_pixbuf, 0, 0, width, height);
               g_object_unref (G_OBJECT (temp_pixbuf));
             }
-          else 
+          else
             {
               pixbuf = temp_pixbuf;
             }
@@ -3383,7 +3383,7 @@ scale_and_alpha_pixbuf (GdkPixbuf             *src,
 
   if (pixbuf)
     pixbuf = apply_alpha (pixbuf, alpha_spec, pixbuf == src);
-  
+
   return pixbuf;
 }
 
@@ -3429,7 +3429,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
 
     case META_DRAW_CLIP:
       break;
-      
+
     case META_DRAW_TINT:
       {
         GdkRGBA color;
@@ -3444,7 +3444,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
           op->data.tint.alpha_spec &&
           (op->data.tint.alpha_spec->n_alphas > 1 ||
            op->data.tint.alpha_spec->alphas[0] != 0xff);
-        
+
         pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
                                  has_alpha,
                                  8, width, height);
@@ -3452,7 +3452,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
         if (!has_alpha)
           {
             rgba = GDK_COLOR_RGBA (color);
-            
+
             gdk_pixbuf_fill (pixbuf, rgba);
           }
         else if (op->data.tint.alpha_spec->n_alphas == 1)
@@ -3460,13 +3460,13 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
             rgba = GDK_COLOR_RGBA (color);
             rgba &= ~0xff;
             rgba |= op->data.tint.alpha_spec->alphas[0];
-            
+
             gdk_pixbuf_fill (pixbuf, rgba);
           }
         else
           {
             rgba = GDK_COLOR_RGBA (color);
-            
+
             gdk_pixbuf_fill (pixbuf, rgba);
 
             meta_gradient_add_alpha (pixbuf,
@@ -3488,7 +3488,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
       }
       break;
 
-      
+
     case META_DRAW_IMAGE:
       {
        if (op->data.image.colorize_spec)
@@ -3497,13 +3497,13 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
 
             meta_color_spec_render (op->data.image.colorize_spec,
                                     context, &color);
-            
+
             if (op->data.image.colorize_cache_pixbuf == NULL ||
                 op->data.image.colorize_cache_pixel != GDK_COLOR_RGB (color))
               {
                 if (op->data.image.colorize_cache_pixbuf)
                   g_object_unref (G_OBJECT (op->data.image.colorize_cache_pixbuf));
-                
+
                 /* const cast here */
                 ((MetaDrawOp*)op)->data.image.colorize_cache_pixbuf =
                   colorize_pixbuf (op->data.image.pixbuf,
@@ -3511,7 +3511,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
                 ((MetaDrawOp*)op)->data.image.colorize_cache_pixel =
                   GDK_COLOR_RGB (color);
               }
-            
+
             if (op->data.image.colorize_cache_pixbuf)
               {
                 pixbuf = scale_and_alpha_pixbuf (op->data.image.colorize_cache_pixbuf,
@@ -3533,7 +3533,7 @@ draw_op_as_pixbuf (const MetaDrawOp    *op,
          }
         break;
       }
-      
+
     case META_DRAW_GTK_ARROW:
     case META_DRAW_GTK_BOX:
     case META_DRAW_GTK_VLINE:
@@ -3597,7 +3597,7 @@ fill_env (MetaPositionExprEnv *env,
       env->frame_x_center = 0;
       env->frame_y_center = 0;
     }
-  
+
   env->mini_icon_width = info->mini_icon ? gdk_pixbuf_get_width (info->mini_icon) : 0;
   env->mini_icon_height = info->mini_icon ? gdk_pixbuf_get_height (info->mini_icon) : 0;
   env->icon_width = info->icon ? gdk_pixbuf_get_width (info->icon) : 0;
@@ -3657,7 +3657,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
           }
 
         x1 = parse_x_position_unchecked (op->data.line.x1, env);
-        y1 = parse_y_position_unchecked (op->data.line.y1, env); 
+        y1 = parse_y_position_unchecked (op->data.line.y1, env);
 
         if (!op->data.line.x2 &&
             !op->data.line.y2 &&
@@ -3785,16 +3785,16 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
 
     case META_DRAW_CLIP:
       break;
-      
+
     case META_DRAW_TINT:
       {
         int rx, ry, rwidth, rheight;
         gboolean needs_alpha;
-        
+
         needs_alpha = op->data.tint.alpha_spec &&
           (op->data.tint.alpha_spec->n_alphas > 1 ||
            op->data.tint.alpha_spec->alphas[0] != 0xff);
-        
+
         rx = parse_x_position_unchecked (op->data.tint.x, env);
         ry = parse_y_position_unchecked (op->data.tint.y, env);
         rwidth = parse_size_unchecked (op->data.tint.width, env);
@@ -3863,7 +3863,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
 
         rwidth = parse_size_unchecked (op->data.image.width, env);
         rheight = parse_size_unchecked (op->data.image.height, env);
-        
+
         pixbuf = draw_op_as_pixbuf (op, style_gtk, info,
                                     rwidth, rheight);
 
@@ -3937,7 +3937,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
         rx = parse_x_position_unchecked (op->data.gtk_vline.x, env);
         ry1 = parse_y_position_unchecked (op->data.gtk_vline.y1, env);
         ry2 = parse_y_position_unchecked (op->data.gtk_vline.y2, env);
-        
+
         gtk_style_context_set_state (style_gtk, op->data.gtk_vline.state);
         gtk_render_line (style_gtk, cr, rx, ry1, rx, ry2);
       }
@@ -3950,7 +3950,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
 
         rwidth = parse_size_unchecked (op->data.icon.width, env);
         rheight = parse_size_unchecked (op->data.icon.height, env);
-        
+
         pixbuf = draw_op_as_pixbuf (op, style_gtk, info,
                                     rwidth, rheight);
 
@@ -4040,9 +4040,9 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
     case META_DRAW_TILE:
       {
         int rx, ry, rwidth, rheight;
-        int tile_xoffset, tile_yoffset; 
+        int tile_xoffset, tile_yoffset;
         MetaRectangle tile;
-        
+
         rx = parse_x_position_unchecked (op->data.tile.x, env);
         ry = parse_y_position_unchecked (op->data.tile.y, env);
         rwidth = parse_size_unchecked (op->data.tile.width, env);
@@ -4058,12 +4058,12 @@ meta_draw_op_draw_with_env (const MetaDrawOp    *op,
         /* tile offset should not include x/y */
         tile_xoffset -= rect.x;
         tile_yoffset -= rect.y;
-        
+
         tile.width = parse_size_unchecked (op->data.tile.tile_width, env);
         tile.height = parse_size_unchecked (op->data.tile.tile_height, env);
 
         tile.x = rx - tile_xoffset;
-    
+
         while (tile.x < (rx + rwidth))
           {
             tile.y = ry - tile_yoffset;
@@ -4168,9 +4168,9 @@ meta_draw_op_list_draw_with_style  (const MetaDrawOpList *op_list,
 
   if (op_list->n_ops == 0)
     return;
-  
+
   fill_env (&env, info, rect);
-  
+
   /* FIXME this can be optimized, potentially a lot, by
    * compressing multiple ops when possible. For example,
    * anything convertible to a pixbuf can be composited
@@ -4188,18 +4188,18 @@ meta_draw_op_list_draw_with_style  (const MetaDrawOpList *op_list,
   for (i = 0; i < op_list->n_ops; i++)
     {
       MetaDrawOp *op = op_list->ops[i];
-      
+
       if (op->type == META_DRAW_CLIP)
         {
           cairo_restore (cr);
 
-          cairo_rectangle (cr, 
+          cairo_rectangle (cr,
                            parse_x_position_unchecked (op->data.clip.x, &env),
                            parse_y_position_unchecked (op->data.clip.y, &env),
                            parse_size_unchecked (op->data.clip.width, &env),
                            parse_size_unchecked (op->data.clip.height, &env));
           cairo_clip (cr);
-          
+
           cairo_save (cr);
         }
       else if (gdk_cairo_get_clip_rectangle (cr, NULL))
@@ -4257,7 +4257,7 @@ meta_draw_op_list_contains (MetaDrawOpList    *op_list,
         {
           if (op_list->ops[i]->data.op_list.op_list == child)
             return TRUE;
-          
+
           if (meta_draw_op_list_contains (op_list->ops[i]->data.op_list.op_list,
                                           child))
             return TRUE;
@@ -4266,7 +4266,7 @@ meta_draw_op_list_contains (MetaDrawOpList    *op_list,
         {
           if (op_list->ops[i]->data.tile.op_list == child)
             return TRUE;
-          
+
           if (meta_draw_op_list_contains (op_list->ops[i]->data.tile.op_list,
                                           child))
             return TRUE;
@@ -4430,7 +4430,7 @@ get_button (MetaFrameStyle *style,
 {
   MetaDrawOpList *op_list;
   MetaFrameStyle *parent;
-  
+
   parent = style;
   op_list = NULL;
   while (parent && op_list == NULL)
@@ -4463,7 +4463,7 @@ get_button (MetaFrameStyle *style,
        type == META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND))
     return get_button (style, META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND,
                        state);
-  
+
   /* We fall back to normal if no prelight */
   if (op_list == NULL &&
       state == META_BUTTON_STATE_PRELIGHT)
@@ -4478,7 +4478,7 @@ meta_frame_style_validate (MetaFrameStyle    *style,
                            GError           **error)
 {
   int i, j;
-  
+
   g_return_val_if_fail (style != NULL, FALSE);
   g_return_val_if_fail (style->layout != NULL, FALSE);
 
@@ -4503,7 +4503,7 @@ meta_frame_style_validate (MetaFrameStyle    *style,
             }
         }
     }
-  
+
   return TRUE;
 }
 
@@ -4522,7 +4522,7 @@ button_rect (MetaButtonType           type,
     case META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND:
       *rect = fgeom->left_middle_backgrounds[middle_background_offset];
       break;
-      
+
     case META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND:
       *rect = fgeom->left_right_background;
       break;
@@ -4530,15 +4530,15 @@ button_rect (MetaButtonType           type,
     case META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND:
       *rect = fgeom->left_single_background;
       break;
-      
+
     case META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND:
       *rect = fgeom->right_left_background;
       break;
-      
+
     case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
       *rect = fgeom->right_middle_backgrounds[middle_background_offset];
       break;
-      
+
     case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
       *rect = fgeom->right_right_background;
       break;
@@ -4546,7 +4546,7 @@ button_rect (MetaButtonType           type,
     case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
       *rect = fgeom->right_single_background;
       break;
-      
+
     case META_BUTTON_TYPE_CLOSE:
       *rect = fgeom->close_rect.visible;
       break;
@@ -4586,7 +4586,7 @@ button_rect (MetaButtonType           type,
     case META_BUTTON_TYPE_MENU:
       *rect = fgeom->menu_rect.visible;
       break;
-      
+
     case META_BUTTON_TYPE_LAST:
       g_assert_not_reached ();
       break;
@@ -4675,13 +4675,13 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *style,
   draw_info.title_layout_width = title_layout ? logical_rect.width : 0;
   draw_info.title_layout_height = title_layout ? logical_rect.height : 0;
   draw_info.fgeom = fgeom;
-  
+
   /* The enum is in the order the pieces should be rendered. */
   i = 0;
   while (i < META_FRAME_PIECE_LAST)
     {
       GdkRectangle rect;
-      
+
       switch ((MetaFramePiece) i)
         {
         case META_FRAME_PIECE_ENTIRE_BACKGROUND:
@@ -4786,11 +4786,11 @@ meta_frame_style_draw_with_style (MetaFrameStyle          *style,
               MetaButtonState button_state;
 
               button_rect (j, fgeom, middle_bg_offset, &rect);
-              
+
               button_state = map_button_state (j, fgeom, middle_bg_offset, button_states);
 
               op_list = get_button (style, j, button_state);
-              
+
               if (op_list)
                 {
                   cairo_save (cr);
@@ -4845,7 +4845,7 @@ meta_frame_style_set_new (MetaFrameStyleSet *parent)
     meta_frame_style_set_ref (parent);
 
   style_set->refcount = 1;
-  
+
   return style_set;
 }
 
@@ -4907,8 +4907,8 @@ get_style (MetaFrameStyleSet *style_set,
            MetaFrameResize    resize,
            MetaFrameFocus     focus)
 {
-  MetaFrameStyle *style;  
-  
+  MetaFrameStyle *style;
+
   style = NULL;
 
   switch (state)
@@ -4924,7 +4924,7 @@ get_style (MetaFrameStyleSet *style_set,
         /* Try parent if we failed here */
         if (style == NULL && style_set->parent)
           style = get_style (style_set->parent, state, resize, focus);
-      
+
         /* Allow people to omit the vert/horz/none resize modes */
         if (style == NULL &&
             resize != META_FRAME_RESIZE_BOTH)
@@ -4936,7 +4936,7 @@ get_style (MetaFrameStyleSet *style_set,
         MetaFrameStyle **styles;
 
         styles = NULL;
-      
+
         switch (state)
           {
           case META_FRAME_STATE_MAXIMIZED:
@@ -4981,7 +4981,7 @@ get_style (MetaFrameStyleSet *style_set,
 
         /* Try parent if we failed here */
         if (style == NULL && style_set->parent)
-          style = get_style (style_set->parent, state, resize, focus);      
+          style = get_style (style_set->parent, state, resize, focus);
       }
     }
 
@@ -5022,7 +5022,7 @@ meta_frame_style_set_validate  (MetaFrameStyleSet *style_set,
                                 GError           **error)
 {
   int i, j;
-  
+
   g_return_val_if_fail (style_set != NULL, FALSE);
 
   for (i = 0; i < META_FRAME_RESIZE_LAST; i++)
@@ -5040,13 +5040,13 @@ meta_frame_style_set_validate  (MetaFrameStyleSet *style_set,
 
   if (!check_state (style_set, META_FRAME_STATE_SHADED, error))
     return FALSE;
-  
+
   if (!check_state (style_set, META_FRAME_STATE_MAXIMIZED, error))
     return FALSE;
 
   if (!check_state (style_set, META_FRAME_STATE_MAXIMIZED_AND_SHADED, error))
     return FALSE;
-  
+
   return TRUE;
 }
 
@@ -5067,11 +5067,11 @@ meta_theme_set_current (const char *name)
   GError *err;
 
   meta_topic (META_DEBUG_THEMES, "Setting current theme to \"%s\"\n", name);
-  
+
   if (meta_current_theme &&
       strcmp (name, meta_current_theme->name) == 0)
     return;
-  
+
   err = NULL;
   new_theme = meta_theme_load (name, &err);
 
@@ -5108,7 +5108,7 @@ meta_theme_new (void)
                            g_str_equal,
                            g_free,
                            (GDestroyNotify) g_object_unref);
-  
+
   theme->layouts_by_name =
     g_hash_table_new_full (g_str_hash,
                            g_str_equal,
@@ -5132,7 +5132,7 @@ meta_theme_new (void)
                            g_str_equal,
                            g_free,
                            (GDestroyNotify) meta_frame_style_set_unref);
-  
+
   /* Create our variable quarks so we can look up variables without
      having to strcmp for the names */
   theme->quark_width = g_quark_from_static_string ("width");
@@ -5179,11 +5179,11 @@ meta_theme_free (MetaTheme *theme)
     g_hash_table_destroy (theme->images_by_filename);
   if (theme->layouts_by_name)
     g_hash_table_destroy (theme->layouts_by_name);
-  if (theme->draw_op_lists_by_name)  
+  if (theme->draw_op_lists_by_name)
     g_hash_table_destroy (theme->draw_op_lists_by_name);
-  if (theme->styles_by_name)  
+  if (theme->styles_by_name)
     g_hash_table_destroy (theme->styles_by_name);
-  if (theme->style_sets_by_name)  
+  if (theme->style_sets_by_name)
     g_hash_table_destroy (theme->style_sets_by_name);
 
   for (i = 0; i < META_FRAME_TYPE_LAST; i++)
@@ -5199,13 +5199,13 @@ meta_theme_validate (MetaTheme *theme,
                      GError   **error)
 {
   int i;
-  
+
   g_return_val_if_fail (theme != NULL, FALSE);
 
   /* FIXME what else should be checked? */
 
   g_assert (theme->name);
-  
+
   if (theme->readable_name == NULL)
     {
       /* Translators: This error means that a necessary XML tag (whose name
@@ -5253,8 +5253,8 @@ meta_theme_validate (MetaTheme *theme,
                      meta_frame_type_to_string (i),
                      theme->name,
                      meta_frame_type_to_string (i));
-        
-        return FALSE;          
+
+        return FALSE;
       }
 
   return TRUE;
@@ -5277,7 +5277,7 @@ meta_theme_load_image (MetaTheme  *theme,
 
   if (pixbuf == NULL)
     {
-       
+
       if (g_str_has_prefix (filename, "theme:") &&
           META_THEME_ALLOWS (theme, META_THEME_IMAGES_FROM_ICON_THEMES))
         {
@@ -5293,23 +5293,23 @@ meta_theme_load_image (MetaTheme  *theme,
         {
           char *full_path;
           full_path = g_build_filename (theme->dirname, filename, NULL);
-      
+
           pixbuf = gdk_pixbuf_new_from_file (full_path, error);
           if (pixbuf == NULL)
             {
               g_free (full_path);
               return NULL;
             }
-      
+
           g_free (full_path);
-        }      
+        }
       g_hash_table_replace (theme->images_by_filename,
                             g_strdup (filename),
                             pixbuf);
     }
 
   g_assert (pixbuf);
-  
+
   g_object_ref (G_OBJECT (pixbuf));
 
   return pixbuf;
@@ -5338,7 +5338,7 @@ theme_get_style (MetaTheme     *theme,
     style_set = theme->style_sets_by_type[META_FRAME_TYPE_NORMAL];
   if (style_set == NULL)
     return NULL;
-  
+
   switch (flags & (META_FRAME_MAXIMIZED | META_FRAME_SHADED |
                    META_FRAME_TILED_LEFT | META_FRAME_TILED_RIGHT))
     {
@@ -5391,7 +5391,7 @@ theme_get_style (MetaTheme     *theme,
       resize = META_FRAME_RESIZE_LAST; /* compiler */
       break;
     }
-  
+
   /* re invert the styles used for focus/unfocussed while flashing a frame */
   if (((flags & META_FRAME_HAS_FOCUS) && !(flags & META_FRAME_IS_FLASHING))
       || (!(flags & META_FRAME_HAS_FOCUS) && (flags & META_FRAME_IS_FLASHING)))
@@ -5412,7 +5412,7 @@ meta_theme_get_frame_style (MetaTheme     *theme,
   MetaFrameStyle *style;
 
   g_return_val_if_fail (type < META_FRAME_TYPE_LAST, NULL);
-  
+
   style = theme_get_style (theme, type, flags);
 
   return style;
@@ -5426,9 +5426,9 @@ meta_theme_get_title_scale (MetaTheme     *theme,
   MetaFrameStyle *style;
 
   g_return_val_if_fail (type < META_FRAME_TYPE_LAST, 1.0);
-  
+
   style = theme_get_style (theme, type, flags);
-  
+
   /* Parser is not supposed to allow this currently */
   if (style == NULL)
     return 1.0;
@@ -5489,13 +5489,13 @@ meta_theme_draw_frame (MetaTheme              *theme,
   MetaFrameStyle *style;
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
-  
+
   style = theme_get_style (theme, type, flags);
-  
+
   /* Parser is not supposed to allow this currently */
   if (style == NULL)
     return;
-  
+
   meta_frame_layout_calc_geometry (style->layout,
                                    text_height,
                                    flags,
@@ -5503,7 +5503,7 @@ meta_theme_draw_frame (MetaTheme              *theme,
                                    button_layout,
                                    type,
                                    &fgeom,
-                                   theme);  
+                                   theme);
 
   meta_frame_style_draw_with_style (style,
                                     style_gtk,
@@ -5554,9 +5554,9 @@ meta_theme_calc_geometry (MetaTheme              *theme,
   MetaFrameStyle *style;
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
-  
+
   style = theme_get_style (theme, type, flags);
-  
+
   /* Parser is not supposed to allow this currently */
   if (style == NULL)
     return;
@@ -5637,7 +5637,7 @@ meta_theme_insert_style_set    (MetaTheme         *theme,
 
 static gboolean
 first_uppercase (const char *str)
-{  
+{
   return g_ascii_isupper (*str);
 }
 
@@ -5660,13 +5660,13 @@ meta_theme_define_int_constant (MetaTheme   *theme,
                    name);
       return FALSE;
     }
-  
+
   if (g_hash_table_lookup_extended (theme->integer_constants, name, NULL, NULL))
     {
       g_set_error (error, META_THEME_ERROR, META_THEME_ERROR_FAILED,
                    _("Constant \"%s\" has already been defined"),
                    name);
-      
+
       return FALSE;
     }
 
@@ -5685,10 +5685,10 @@ meta_theme_lookup_int_constant (MetaTheme   *theme,
   gpointer old_value;
 
   *value = 0;
-  
+
   if (theme->integer_constants == NULL)
     return FALSE;
-  
+
   if (g_hash_table_lookup_extended (theme->integer_constants,
                                     name, NULL, &old_value))
     {
@@ -5708,7 +5708,7 @@ meta_theme_define_float_constant (MetaTheme   *theme,
                                   GError     **error)
 {
   double *d;
-  
+
   if (theme->float_constants == NULL)
     theme->float_constants = g_hash_table_new_full (g_str_hash,
                                                     g_str_equal,
@@ -5722,19 +5722,19 @@ meta_theme_define_float_constant (MetaTheme   *theme,
                    name);
       return FALSE;
     }
-  
+
   if (g_hash_table_lookup_extended (theme->float_constants, name, NULL, NULL))
     {
       g_set_error (error, META_THEME_ERROR, META_THEME_ERROR_FAILED,
                    _("Constant \"%s\" has already been defined"),
                    name);
-      
+
       return FALSE;
     }
 
   d = g_new (double, 1);
   *d = value;
-  
+
   g_hash_table_insert (theme->float_constants,
                        g_strdup (name), d);
 
@@ -5749,7 +5749,7 @@ meta_theme_lookup_float_constant (MetaTheme   *theme,
   double *d;
 
   *value = 0.0;
-  
+
   if (theme->float_constants == NULL)
     return FALSE;
 
@@ -5785,13 +5785,13 @@ meta_theme_define_color_constant (MetaTheme   *theme,
                    name);
       return FALSE;
     }
-  
+
   if (g_hash_table_lookup_extended (theme->color_constants, name, NULL, NULL))
     {
       g_set_error (error, META_THEME_ERROR, META_THEME_ERROR_FAILED,
                    _("Constant \"%s\" has already been defined"),
                    name);
-      
+
       return FALSE;
     }
 
@@ -5821,7 +5821,7 @@ meta_theme_lookup_color_constant (MetaTheme   *theme,
   char *result;
 
   *value = NULL;
-  
+
   if (theme->color_constants == NULL)
     return FALSE;
 
@@ -5846,7 +5846,7 @@ meta_gtk_widget_get_font_desc (GtkWidget *widget,
 {
   GtkStyleContext *style;
   PangoFontDescription *font_desc;
-  
+
   g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
 
   style = gtk_widget_get_style_context (widget);
@@ -5881,11 +5881,11 @@ meta_pango_font_desc_get_text_height (const PangoFontDescription *font_desc,
   lang = pango_context_get_language (context);
   metrics = pango_context_get_metrics (context, font_desc, lang);
 
-  retval = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + 
+  retval = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
                          pango_font_metrics_get_descent (metrics));
-  
+
   pango_font_metrics_unref (metrics);
-  
+
   return retval;
 }
 
@@ -6028,7 +6028,7 @@ meta_button_type_to_string (MetaButtonType type)
     case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
       return "right_middle_background";
     case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
-      return "right_right_background";      
+      return "right_right_background";
     case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
       return "right_single_background";
     case META_BUTTON_TYPE_LAST:
@@ -6345,7 +6345,7 @@ meta_image_fill_type_from_string (const char *str)
  * Takes a colour "a", scales the lightness and saturation by a certain amount,
  * and sets "b" to the resulting colour.
  * gtkstyle.c cut-and-pastage.
- */ 
+ */
 static void
 gtk_style_shade (GdkRGBA *a,
                  GdkRGBA *b,
@@ -6354,27 +6354,27 @@ gtk_style_shade (GdkRGBA *a,
   gdouble red;
   gdouble green;
   gdouble blue;
-  
+
   red = a->red;
   green = a->green;
   blue = a->blue;
-  
+
   rgb_to_hls (&red, &green, &blue);
-  
+
   green *= k;
   if (green > 1.0)
     green = 1.0;
   else if (green < 0.0)
     green = 0.0;
-  
+
   blue *= k;
   if (blue > 1.0)
     blue = 1.0;
   else if (blue < 0.0)
     blue = 0.0;
-  
+
   hls_to_rgb (&red, &green, &blue);
-  
+
   b->red = red;
   b->green = green;
   b->blue = blue;
@@ -6400,18 +6400,18 @@ rgb_to_hls (gdouble *r,
   gdouble blue;
   gdouble h, l, s;
   gdouble delta;
-  
+
   red = *r;
   green = *g;
   blue = *b;
-  
+
   if (red > green)
     {
       if (red > blue)
         max = red;
       else
         max = blue;
-      
+
       if (green < blue)
         min = green;
       else
@@ -6423,24 +6423,24 @@ rgb_to_hls (gdouble *r,
         max = green;
       else
         max = blue;
-      
+
       if (red < blue)
         min = red;
       else
         min = blue;
     }
-  
+
   l = (max + min) / 2;
   s = 0;
   h = 0;
-  
+
   if (max != min)
     {
       if (l <= 0.5)
         s = (max - min) / (max + min);
       else
         s = (max - min) / (2 - max - min);
-      
+
       delta = max -min;
       if (red == max)
         h = (green - blue) / delta;
@@ -6448,12 +6448,12 @@ rgb_to_hls (gdouble *r,
         h = 2 + (blue - red) / delta;
       else if (blue == max)
         h = 4 + (red - green) / delta;
-      
+
       h *= 60;
       if (h < 0.0)
         h += 360;
     }
-  
+
   *r = h;
   *g = l;
   *b = s;
@@ -6477,16 +6477,16 @@ hls_to_rgb (gdouble *h,
   gdouble saturation;
   gdouble m1, m2;
   gdouble r, g, b;
-  
+
   lightness = *l;
   saturation = *s;
-  
+
   if (lightness <= 0.5)
     m2 = lightness * (1 + saturation);
   else
     m2 = lightness + saturation - lightness * saturation;
   m1 = 2 * lightness - m2;
-  
+
   if (saturation == 0)
     {
       *h = lightness;
@@ -6500,7 +6500,7 @@ hls_to_rgb (gdouble *h,
         hue -= 360;
       while (hue < 0)
         hue += 360;
-      
+
       if (hue < 60)
         r = m1 + (m2 - m1) * hue / 60;
       else if (hue < 180)
@@ -6509,13 +6509,13 @@ hls_to_rgb (gdouble *h,
         r = m1 + (m2 - m1) * (240 - hue) / 60;
       else
         r = m1;
-      
+
       hue = *h;
       while (hue > 360)
         hue -= 360;
       while (hue < 0)
         hue += 360;
-      
+
       if (hue < 60)
         g = m1 + (m2 - m1) * hue / 60;
       else if (hue < 180)
@@ -6524,13 +6524,13 @@ hls_to_rgb (gdouble *h,
         g = m1 + (m2 - m1) * (240 - hue) / 60;
       else
         g = m1;
-      
+
       hue = *h - 120;
       while (hue > 360)
         hue -= 360;
       while (hue < 0)
         hue += 360;
-      
+
       if (hue < 60)
         b = m1 + (m2 - m1) * hue / 60;
       else if (hue < 180)
@@ -6539,7 +6539,7 @@ hls_to_rgb (gdouble *h,
         b = m1 + (m2 - m1) * (240 - hue) / 60;
       else
         b = m1;
-      
+
       *h = r;
       *l = g;
       *s = b;
@@ -6782,7 +6782,7 @@ meta_theme_earliest_version_with_button (MetaButtonType type)
     case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
     case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
       return 1000;
-      
+
     case META_BUTTON_TYPE_SHADE:
     case META_BUTTON_TYPE_ABOVE:
     case META_BUTTON_TYPE_STICK:
diff --git a/src/ui/ui.c b/src/ui/ui.c
index a4b8f91..a412602 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -2,9 +2,9 @@
 
 /* Mutter interface for talking to GTK+ UI module */
 
-/* 
+/*
  * Copyright (C) 2002 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -330,7 +330,7 @@ meta_ui_create_frame_window (MetaUI *ui,
   gint attributes_mask;
   GdkWindow *window;
   GdkVisual *visual;
-  
+
   /* Default depth/visual handles clients with weird visuals; they can
    * always be children of the root depth/visual obviously, but
    * e.g. DRI games can't be children of a parent that has the same
@@ -379,7 +379,7 @@ meta_ui_create_frame_window (MetaUI *ui,
                    &attrs, attributes_mask);
 
   gdk_window_resize (window, width, height);
-  
+
   meta_frames_manage_window (ui->frames, GDK_WINDOW_XID (window), window);
 
   return GDK_WINDOW_XID (window);
@@ -602,7 +602,7 @@ meta_ui_get_default_window_icon (MetaUI *ui)
     }
 
   g_object_ref (G_OBJECT (default_icon));
-  
+
   return default_icon;
 }
 
@@ -637,7 +637,7 @@ meta_ui_get_default_mini_icon (MetaUI *ui)
     }
 
   g_object_ref (G_OBJECT (default_icon));
-  
+
   return default_icon;
 }
 
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 56e19fc..a79bc0f 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -2,9 +2,9 @@
 
 /* Mutter interface for talking to GTK+ UI module */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/x11/async-getprop.c b/src/x11/async-getprop.c
index 31b0edc..72fe0d3 100644
--- a/src/x11/async-getprop.c
+++ b/src/x11/async-getprop.c
@@ -55,7 +55,7 @@ struct _ListNode
 struct _AgGetPropertyTask
 {
   ListNode node;
-  
+
   AgPerDisplayData *dd;
   Window window;
   Atom property;
@@ -77,7 +77,7 @@ struct _AgPerDisplayData
 {
   ListNode node;
   _XAsyncHandler async;
-  
+
   Display *display;
   ListNode *pending_tasks;
   ListNode *pending_tasks_tail;
@@ -96,7 +96,7 @@ append_to_list (ListNode **head,
                 ListNode  *task)
 {
   task->next = NULL;
-  
+
   if (*tail == NULL)
     {
       assert (*head == NULL);
@@ -131,10 +131,10 @@ remove_from_list (ListNode **head,
 
           if (node == *tail)
             *tail = prev;
-          
+
           break;
         }
-      
+
       prev = node;
       node = node->next;
     }
@@ -152,7 +152,7 @@ move_to_completed (AgPerDisplayData  *dd,
   remove_from_list (&dd->pending_tasks,
                     &dd->pending_tasks_tail,
                     &task->node);
-  
+
   append_to_list (&dd->completed_tasks,
                   &dd->completed_tasks_tail,
                   &task->node);
@@ -187,18 +187,18 @@ find_pending_by_request_sequence (AgPerDisplayData *dd,
    * I'm not sure this is 100% guaranteed, if it is,
    * it would be a big speedup.
    */
-  
+
   node = dd->pending_tasks;
   while (node != NULL)
     {
       AgGetPropertyTask *task = (AgGetPropertyTask*) node;
-      
+
       if (task->request_seq == request_seq)
         return task;
-      
+
       node = node->next;
     }
-  
+
   return NULL;
 }
 
@@ -216,12 +216,12 @@ async_get_property_handler (Display *dpy,
   int bytes_read;
 
   dd = (AgPerDisplayData*) data;
-  
+
 #if 0
   printf ("%s: seeing request seq %ld buflen %d\n", __FUNCTION__,
           dpy->last_request_read, len);
 #endif
-  
+
   task = find_pending_by_request_sequence (dd, dpy->last_request_read);
 
   if (task == NULL)
@@ -231,7 +231,7 @@ async_get_property_handler (Display *dpy,
 
   task->have_reply = True;
   move_to_completed (dd, task);
-  
+
   /* read bytes so far */
   bytes_read = SIZEOF (xReply);
 
@@ -240,7 +240,7 @@ async_get_property_handler (Display *dpy,
       xError errbuf;
 
       task->error = rep->error.errorCode;
-      
+
 #ifdef DEBUG_SPEW
       printf ("%s: error code = %d (ignoring error, eating %d bytes, generic.length = %ld)\n",
               __FUNCTION__, task->error, (SIZEOF (xError) - bytes_read),
@@ -263,7 +263,7 @@ async_get_property_handler (Display *dpy,
       _XGetAsyncReply (dpy, (char *)&errbuf, rep, buf, len,
                        (SIZEOF (xError) - bytes_read) >> 2, /* in 32-bit words */
                        False); /* really seems like it should be True */
-      
+
       return True;
     }
 
@@ -368,7 +368,7 @@ async_get_property_handler (Display *dpy,
                   char *netdata;
                   char *lptr;
                   char *end_lptr;
-                  
+
                   /* Store the 32-bit values in the end of the array */
                   netdata = task->data + nbytes / 2;
 
@@ -377,7 +377,7 @@ async_get_property_handler (Display *dpy,
                                   netbytes);
 
                   /* Now move the 32-bit values to the front */
-                  
+
                   lptr = task->data;
                   end_lptr = task->data + nbytes;
                   while (lptr != end_lptr)
@@ -411,7 +411,7 @@ async_get_property_handler (Display *dpy,
 #if 0
             xError error;
 #endif
-            
+
             task->error = BadImplementation;
 
 #if 0
@@ -468,21 +468,21 @@ get_display_data (Display *display,
 {
   ListNode *node;
   AgPerDisplayData *dd;
-  
+
   node = display_datas;
   while (node != NULL)
     {
       dd = (AgPerDisplayData*) node;
-      
+
       if (dd->display == display)
         return dd;
-      
+
       node = node->next;
     }
 
   if (!create)
     return NULL;
-  
+
   dd = Xcalloc (1, sizeof (AgPerDisplayData));
   if (dd == NULL)
     return NULL;
@@ -496,7 +496,7 @@ get_display_data (Display *display,
   append_to_list (&display_datas,
                   &display_datas_tail,
                   &dd->node);
-  
+
   return dd;
 }
 
@@ -524,8 +524,8 @@ ag_task_create (Display *dpy,
 {
   AgGetPropertyTask *task;
   xGetPropertyReq *req;
-  AgPerDisplayData *dd;  
-  
+  AgPerDisplayData *dd;
+
   /* Fire up our request */
   LockDisplay (dpy);
 
@@ -535,7 +535,7 @@ ag_task_create (Display *dpy,
       UnlockDisplay (dpy);
       return NULL;
     }
-  
+
   GetReq (GetProperty, req);
   req->window = window;
   req->property = property;
@@ -561,7 +561,7 @@ ag_task_create (Display *dpy,
                   &dd->pending_tasks_tail,
                   &task->node);
   dd->n_tasks_pending += 1;
-  
+
   UnlockDisplay (dpy);
 
   SyncHandle ();
@@ -593,13 +593,13 @@ ag_task_get_reply_and_free (AgGetPropertyTask  *task,
   *prop = NULL;
 
   dpy = task->dd->display; /* Xlib macros require a variable named "dpy" */
-  
+
   if (task->error != Success)
     {
       Status s = task->error;
 
       free_task (task);
-      
+
       return s;
     }
 
@@ -620,7 +620,7 @@ ag_task_get_reply_and_free (AgGetPropertyTask  *task,
   SyncHandle ();
 
   free_task (task);
-  
+
   return Success;
 }
 
@@ -657,7 +657,7 @@ ag_get_next_completed_task (Display *display)
 
   if (dd == NULL)
     return NULL;
-  
+
 #ifdef DEBUG_SPEW
   printf ("%d pending %d completed\n",
           dd->n_tasks_pending,
diff --git a/src/x11/async-getprop.h b/src/x11/async-getprop.h
index c857e93..b975d0f 100644
--- a/src/x11/async-getprop.h
+++ b/src/x11/async-getprop.h
@@ -4,16 +4,16 @@
 
 /*
  * Copyright (C) 2002 Havoc Pennington
- * 
+ *
  * Permission to use, copy, modify, distribute, and sell this software
  * and its documentation for any purpose is hereby granted without
  * fee, provided that the above copyright notice appear in all copies
  * and that both that copyright notice and this permission notice
  * appear in supporting documentation.
- * 
+ *
  * The above copyright notice and this permission notice shall be
  * included in all copies or substantial portions of the Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
diff --git a/src/x11/group-private.h b/src/x11/group-private.h
index 72e6cd2..eca49b4 100644
--- a/src/x11/group-private.h
+++ b/src/x11/group-private.h
@@ -2,9 +2,9 @@
 
 /* Mutter window group private header */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/x11/group-props.c b/src/x11/group-props.c
index 521ffbd..6cc1781 100644
--- a/src/x11/group-props.c
+++ b/src/x11/group-props.c
@@ -2,9 +2,9 @@
 
 /* MetaGroup property handling */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -65,16 +65,16 @@ meta_group_reload_properties (MetaGroup  *group,
 
   g_return_if_fail (properties != NULL);
   g_return_if_fail (n_properties > 0);
-  
+
   values = g_new0 (MetaPropValue, n_properties);
-  
+
   i = 0;
   while (i < n_properties)
     {
       init_prop_value (group->display, properties[i], &values[i]);
       ++i;
     }
-  
+
   meta_prop_get_values (group->display, group->group_leader,
                         values, n_properties);
 
@@ -82,12 +82,12 @@ meta_group_reload_properties (MetaGroup  *group,
   while (i < n_properties)
     {
       reload_prop_value (group, &values[i]);
-      
+
       ++i;
     }
 
   meta_prop_free_values (values, n_properties);
-  
+
   g_free (values);
 }
 
@@ -97,11 +97,11 @@ init_prop_value (MetaDisplay   *display,
                  Atom           property,
                  MetaPropValue *value)
 {
-  MetaGroupPropHooks *hooks;  
+  MetaGroupPropHooks *hooks;
 
   value->type = META_PROP_VALUE_INVALID;
   value->atom = None;
-  
+
   hooks = find_hooks (display, property);
   if (hooks && hooks->init_func != NULL)
     (* hooks->init_func) (display, property, value);
@@ -111,8 +111,8 @@ static void
 reload_prop_value (MetaGroup    *group,
                    MetaPropValue *value)
 {
-  MetaGroupPropHooks *hooks;  
-  
+  MetaGroupPropHooks *hooks;
+
   hooks = find_hooks (group->display, value->atom);
   if (hooks && hooks->reload_func != NULL)
     (* hooks->reload_func) (group, value);
@@ -133,7 +133,7 @@ reload_wm_client_machine (MetaGroup     *group,
 {
   g_free (group->wm_client_machine);
   group->wm_client_machine = NULL;
-  
+
   if (value->type != META_PROP_VALUE_INVALID)
     group->wm_client_machine = g_strdup (value->v.str);
 
@@ -156,10 +156,10 @@ reload_net_startup_id (MetaGroup     *group,
 {
   g_free (group->startup_id);
   group->startup_id = NULL;
-  
+
   if (value->type != META_PROP_VALUE_INVALID)
     group->startup_id = g_strdup (value->v.str);
-  
+
   meta_verbose ("Group has startup id \"%s\"\n",
                 group->startup_id ? group->startup_id : "unset");
 }
@@ -171,12 +171,12 @@ meta_display_init_group_prop_hooks (MetaDisplay *display)
 {
   int i;
   MetaGroupPropHooks *hooks;
-  
+
   g_assert (display->group_prop_hooks == NULL);
 
-  display->group_prop_hooks = g_new0 (MetaGroupPropHooks, N_HOOKS); 
+  display->group_prop_hooks = g_new0 (MetaGroupPropHooks, N_HOOKS);
   hooks = display->group_prop_hooks;
-  
+
   i = 0;
 
   hooks[i].property = display->atom_WM_CLIENT_MACHINE;
@@ -193,7 +193,7 @@ meta_display_init_group_prop_hooks (MetaDisplay *display)
   hooks[i].init_func = init_net_startup_id;
   hooks[i].reload_func = reload_net_startup_id;
   ++i;
-  
+
   if (i != N_HOOKS)
     {
       g_error ("Initialized %d group hooks should have been %d\n", i, N_HOOKS);
@@ -204,7 +204,7 @@ void
 meta_display_free_group_prop_hooks (MetaDisplay *display)
 {
   g_assert (display->group_prop_hooks != NULL);
-  
+
   g_free (display->group_prop_hooks);
   display->group_prop_hooks = NULL;
 }
@@ -218,13 +218,13 @@ find_hooks (MetaDisplay *display,
   /* FIXME we could sort the array and do binary search or
    * something
    */
-  
+
   i = 0;
   while (i < N_HOOKS)
     {
       if (display->group_prop_hooks[i].property == property)
         return &display->group_prop_hooks[i];
-      
+
       ++i;
     }
 
diff --git a/src/x11/group-props.h b/src/x11/group-props.h
index 1fb49ea..d8e3b47 100644
--- a/src/x11/group-props.h
+++ b/src/x11/group-props.h
@@ -2,9 +2,9 @@
 
 /* MetaGroup property handling */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/x11/group.c b/src/x11/group.c
index 8965735..a09b980 100644
--- a/src/x11/group.c
+++ b/src/x11/group.c
@@ -1,9 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-/* 
+/*
  * Copyright (C) 2002 Red Hat Inc.
  * Copyright (C) 2003 Rob Adams
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -13,7 +13,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -40,16 +40,16 @@ meta_group_new (MetaDisplay *display,
 #define N_INITIAL_PROPS 3
   Atom initial_props[N_INITIAL_PROPS];
   int i;
-  
+
   g_assert (N_INITIAL_PROPS == (int) G_N_ELEMENTS (initial_props));
-  
+
   group = g_new0 (MetaGroup, 1);
 
   group->display = display;
   group->windows = NULL;
   group->group_leader = group_leader;
   group->refcount = 1; /* owned by caller, hash table has only weak ref */
-  
+
   if (display->groups_by_leader == NULL)
     display->groups_by_leader = g_hash_table_new (meta_unsigned_long_hash,
                                                   meta_unsigned_long_equal);
@@ -66,13 +66,13 @@ meta_group_new (MetaDisplay *display,
   initial_props[i++] = display->atom__NET_WM_PID;
   initial_props[i++] = display->atom__NET_STARTUP_ID;
   g_assert (N_INITIAL_PROPS == i);
-  
+
   meta_group_reload_properties (group, initial_props, N_INITIAL_PROPS);
 
   meta_topic (META_DEBUG_GROUPS,
               "Created new group with leader 0x%lx\n",
               group->group_leader);
-  
+
   return group;
 }
 
@@ -86,10 +86,10 @@ meta_group_unref (MetaGroup *group)
     {
       meta_topic (META_DEBUG_GROUPS,
                   "Destroying group with leader 0x%lx\n",
-                  group->group_leader);      
-      
+                  group->group_leader);
+
       g_assert (group->display->groups_by_leader != NULL);
-      
+
       g_hash_table_remove (group->display->groups_by_leader,
                            &group->group_leader);
 
@@ -102,7 +102,7 @@ meta_group_unref (MetaGroup *group)
 
       g_free (group->wm_client_machine);
       g_free (group->startup_id);
-      
+
       g_free (group);
     }
 }
@@ -128,9 +128,9 @@ meta_window_compute_group (MetaWindow* window)
   MetaWindow *ancestor;
 
   /* use window->xwindow if no window->xgroup_leader */
-      
+
   group = NULL;
-      
+
   /* Determine the ancestor of the window; its group setting will override the
    * normal grouping rules; see bug 328211.
    */
@@ -147,7 +147,7 @@ meta_window_compute_group (MetaWindow* window)
         group = g_hash_table_lookup (window->display->groups_by_leader,
                                      &window->xwindow);
     }
-      
+
   if (group != NULL)
     {
       window->group = group;
@@ -164,7 +164,7 @@ meta_window_compute_group (MetaWindow* window)
       else
         group = meta_group_new (window->display,
                                 window->xwindow);
-          
+
       window->group = group;
     }
 
@@ -184,7 +184,7 @@ remove_window_from_group (MetaWindow *window)
       meta_topic (META_DEBUG_GROUPS,
                   "Removing %s from group with leader 0x%lx\n",
                   window->desc, window->group->group_leader);
-      
+
       window->group->windows =
         g_slist_remove (window->group->windows,
                         window);
@@ -217,9 +217,9 @@ meta_display_lookup_group (MetaDisplay *display,
                            Window       group_leader)
 {
   MetaGroup *group;
-  
+
   group = NULL;
-  
+
   if (display->groups_by_leader)
     group = g_hash_table_lookup (display->groups_by_leader,
                                  &group_leader);
@@ -244,7 +244,7 @@ meta_group_update_layers (MetaGroup *group)
 {
   GSList *tmp;
   GSList *frozen_stacks;
-  
+
   if (group->windows == NULL)
     return;
 
@@ -263,7 +263,7 @@ meta_group_update_layers (MetaGroup *group)
 
       meta_stack_update_layer (window->screen->stack,
                                window);
-      
+
       tmp = tmp->next;
     }
 
diff --git a/src/x11/iconcache.c b/src/x11/iconcache.c
index ac09190..2bc5f43 100644
--- a/src/x11/iconcache.c
+++ b/src/x11/iconcache.c
@@ -471,7 +471,7 @@ try_pixmap_and_mask (MetaDisplay *display,
                                  GDK_INTERP_BILINEAR);
 
       g_object_unref (G_OBJECT (unscaled));
-      
+
       if (*iconp && *mini_iconp)
         return TRUE;
       else
@@ -569,7 +569,7 @@ clear_icon_cache (MetaIconCache *icon_cache,
     g_object_unref (G_OBJECT (icon_cache->mini_icon));
   icon_cache->mini_icon = NULL;
 #endif
-  
+
   icon_cache->origin = USING_NO_ICON;
 
   if (dirty_all)
@@ -655,13 +655,13 @@ scaled_from_pixdata (guchar *pixdata,
 {
   GdkPixbuf *src;
   GdkPixbuf *dest;
-  
+
   src = gdk_pixbuf_new_from_data (pixdata,
                                   GDK_COLORSPACE_RGB,
                                   TRUE,
                                   8,
                                   w, h, w * 4,
-                                  free_pixels, 
+                                  free_pixels,
                                   NULL);
 
   if (src == NULL)
@@ -673,7 +673,7 @@ scaled_from_pixdata (guchar *pixdata,
       int size;
 
       size = MAX (w, h);
-      
+
       tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, size, size);
 
       if (tmp)
@@ -682,16 +682,16 @@ scaled_from_pixdata (guchar *pixdata,
          gdk_pixbuf_copy_area (src, 0, 0, w, h,
                                tmp,
                                (size - w) / 2, (size - h) / 2);
-         
+
          g_object_unref (src);
          src = tmp;
        }
     }
-  
+
   if (w != new_w || h != new_h)
     {
       dest = gdk_pixbuf_scale_simple (src, new_w, new_h, GDK_INTERP_BILINEAR);
-      
+
       g_object_unref (G_OBJECT (src));
     }
   else
@@ -741,7 +741,7 @@ meta_read_icons (MetaScreen     *screen,
   icon_cache->ideal_mini_width = ideal_mini_width;
   icon_cache->ideal_mini_height = ideal_mini_height;
 #endif
-  
+
   if (!meta_icon_cache_get_icon_invalidated (icon_cache))
     return FALSE; /* we have no new info to use */
 
@@ -778,7 +778,7 @@ meta_read_icons (MetaScreen     *screen,
             {
               replace_cache (icon_cache, USING_NET_WM_ICON,
                              *iconp, *mini_iconp);
-              
+
               return TRUE;
             }
           else
@@ -862,7 +862,7 @@ meta_read_icons (MetaScreen     *screen,
 
       replace_cache (icon_cache, USING_FALLBACK_ICON,
                      *iconp, *mini_iconp);
-      
+
       return TRUE;
     }
 
diff --git a/src/x11/iconcache.h b/src/x11/iconcache.h
index 84143a6..c6867c8 100644
--- a/src/x11/iconcache.h
+++ b/src/x11/iconcache.h
@@ -2,9 +2,9 @@
 
 /* Mutter window icons */
 
-/* 
+/*
  * Copyright (C) 2002 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/x11/mutter-Xatomtype.h b/src/x11/mutter-Xatomtype.h
index 2073bc5..793a3ae 100644
--- a/src/x11/mutter-Xatomtype.h
+++ b/src/x11/mutter-Xatomtype.h
@@ -39,13 +39,13 @@ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 
                         All Rights Reserved
 
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
+both that copyright notice and this permission notice appear in
 supporting documentation, and that the name of Digital not be
 used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
+software without specific, written prior permission.
 
 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
diff --git a/src/x11/session.c b/src/x11/session.c
index 48678ab..f528049 100644
--- a/src/x11/session.c
+++ b/src/x11/session.c
@@ -2,11 +2,11 @@
 
 /* Mutter Session Management */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington (some code in here from
  * libgnomeui, (C) Tom Tromey, Carsten Schaar)
  * Copyright (C) 2004, 2005 Elijah Newren
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -16,7 +16,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -70,7 +70,7 @@ meta_window_release_saved_state (const MetaWindowSessionInfo *info)
 
 static void ice_io_error_handler (IceConn connection);
 
-static void new_ice_connection (IceConn connection, IcePointer client_data, 
+static void new_ice_connection (IceConn connection, IcePointer client_data,
                                Bool opening, IcePointer *watch_data);
 
 static void        save_state         (void);
@@ -100,7 +100,7 @@ process_ice_messages (GIOChannel *channel,
 #if 0
       IcePointer context = IceGetConnectionContext (connection);
 #endif
-      
+
       /* We were disconnected; close our connection to the
        * session manager, this will result in the ICE connection
        * being cleaned up, since it is owned by libSM.
@@ -110,7 +110,7 @@ process_ice_messages (GIOChannel *channel,
 
       return FALSE;
     }
-  
+
   return TRUE;
 }
 
@@ -128,22 +128,22 @@ new_ice_connection (IceConn connection, IcePointer client_data, Bool opening,
        * exec'ed children
        */
       GIOChannel *channel;
-      
+
       fcntl (IceConnectionNumber (connection), F_SETFD,
              fcntl (IceConnectionNumber (connection), F_GETFD, 0) | FD_CLOEXEC);
 
       channel = g_io_channel_unix_new (IceConnectionNumber (connection));
-      
+
       input_id = g_io_add_watch (channel,
                                  G_IO_IN | G_IO_ERR,
                                  process_ice_messages,
                                  connection);
 
       g_io_channel_unref (channel);
-      
+
       *watch_data = (IcePointer) GUINT_TO_POINTER (input_id);
     }
-  else 
+  else
     {
       input_id = GPOINTER_TO_UINT ((gpointer) *watch_data);
 
@@ -153,14 +153,14 @@ new_ice_connection (IceConn connection, IcePointer client_data, Bool opening,
 
 static IceIOErrorHandler ice_installed_handler;
 
-/* We call any handler installed before (or after) gnome_ice_init but 
+/* We call any handler installed before (or after) gnome_ice_init but
    avoid calling the default libICE handler which does an exit() */
 static void
 ice_io_error_handler (IceConn connection)
 {
     if (ice_installed_handler)
       (*ice_installed_handler) (connection);
-}    
+}
 
 static void
 ice_init (void)
@@ -229,7 +229,7 @@ meta_session_init (const char *previous_client_id,
   unsigned long mask;
   SmcCallbacks callbacks;
   char *saved_client_id;
-  
+
   meta_topic (META_DEBUG_SM, "Initializing session with save file '%s'\n",
               previous_save_file ? previous_save_file : "(none)");
 
@@ -248,24 +248,24 @@ meta_session_init (const char *previous_client_id,
     {
       saved_client_id = NULL;
     }
-  
+
   ice_init ();
-  
+
   mask = SmcSaveYourselfProcMask | SmcDieProcMask |
     SmcSaveCompleteProcMask | SmcShutdownCancelledProcMask;
-  
+
   callbacks.save_yourself.callback = save_yourself_callback;
   callbacks.save_yourself.client_data = NULL;
-  
+
   callbacks.die.callback = die_callback;
   callbacks.die.client_data = NULL;
-  
+
   callbacks.save_complete.callback = save_complete_callback;
   callbacks.save_complete.client_data = NULL;
-  
+
   callbacks.shutdown_cancelled.callback = shutdown_cancelled_callback;
   callbacks.shutdown_cancelled.client_data = NULL;
-  
+
   session_connection =
     SmcOpenConnection (NULL, /* use SESSION_MANAGER env */
                        NULL, /* means use existing ICE connection */
@@ -276,10 +276,10 @@ meta_session_init (const char *previous_client_id,
                        (char*) previous_client_id,
                        &client_id,
                        255, buf);
-  
+
   if (session_connection == NULL)
     {
-      meta_topic (META_DEBUG_SM, 
+      meta_topic (META_DEBUG_SM,
                   "Failed to a open connection to a session manager, so window positions will not be saved: 
%s\n",
                   buf);
 
@@ -296,7 +296,7 @@ meta_session_init (const char *previous_client_id,
     current_state = STATE_IDLE;
   else
     current_state = STATE_REGISTERING;
-  
+
   {
     SmProp prop1, prop2, prop3, prop4, prop5, prop6, *props[6];
     SmPropValue prop1val, prop2val, prop3val, prop4val, prop5val, prop6val;
@@ -328,7 +328,7 @@ meta_session_init (const char *previous_client_id,
     prop2.vals = &prop2val;
     prop2val.value = (char*) g_get_user_name ();
     prop2val.length = strlen (prop2val.value);
-       
+
     prop3.name = SmRestartStyleHint;
     prop3.type = SmCARD8;
     prop3.num_vals = 1;
@@ -342,7 +342,7 @@ meta_session_init (const char *previous_client_id,
     prop4.num_vals = 1;
     prop4.vals = &prop4val;
     prop4val.value = pid;
-    prop4val.length = strlen (prop4val.value);    
+    prop4val.length = strlen (prop4val.value);
 
     /* Always start in home directory */
     prop5.name = SmCurrentDirectory;
@@ -358,14 +358,14 @@ meta_session_init (const char *previous_client_id,
     prop6.vals = &prop6val;
     prop6val.value = &priority;
     prop6val.length = 1;
-    
+
     props[0] = &prop1;
     props[1] = &prop2;
     props[2] = &prop3;
     props[3] = &prop4;
     props[4] = &prop5;
     props[5] = &prop6;
-    
+
     SmcSetProperties (session_connection, 6, props);
   }
 
@@ -388,11 +388,11 @@ save_yourself_possibly_done (gboolean shutdown,
   meta_topic (META_DEBUG_SM,
               "save possibly done shutdown = %d success = %d\n",
               shutdown, successful);
-  
+
   if (current_state == STATE_SAVING_PHASE_1)
     {
       Status status;
-      
+
       status = SmcRequestSaveYourselfPhase2 (session_connection,
                                              save_phase_2_callback,
                                              GINT_TO_POINTER (shutdown));
@@ -423,17 +423,17 @@ save_yourself_possibly_done (gboolean shutdown,
       meta_topic (META_DEBUG_SM,
                   "Requested interact, status = %d\n", status);
     }
-  
+
   if (current_state == STATE_SAVING_PHASE_1 ||
       current_state == STATE_SAVING_PHASE_2 ||
       current_state == STATE_DONE_WITH_INTERACT ||
       current_state == STATE_SKIPPING_GLOBAL_SAVE)
     {
       meta_topic (META_DEBUG_SM, "Sending SaveYourselfDone\n");
-      
+
       SmcSaveYourselfDone (session_connection,
                            successful);
-      
+
       if (shutdown)
         current_state = STATE_FROZEN;
       else
@@ -441,19 +441,19 @@ save_yourself_possibly_done (gboolean shutdown,
     }
 }
 
-static void 
+static void
 save_phase_2_callback (SmcConn smc_conn, SmPointer client_data)
 {
   gboolean shutdown;
 
   meta_topic (META_DEBUG_SM, "Phase 2 save");
-  
+
   shutdown = GPOINTER_TO_INT (client_data);
-  
+
   current_state = STATE_SAVING_PHASE_2;
 
   save_state ();
-  
+
   save_yourself_possibly_done (shutdown, TRUE);
 }
 
@@ -468,9 +468,9 @@ save_yourself_callback (SmcConn   smc_conn,
   gboolean successful;
 
   meta_topic (META_DEBUG_SM, "SaveYourself received");
-  
+
   successful = TRUE;
-  
+
   /* The first SaveYourself after registering for the first time
    * is a special case (SM specs 7.2).
    */
@@ -480,8 +480,8 @@ save_yourself_callback (SmcConn   smc_conn,
     {
       current_state = STATE_IDLE;
       /* Double check that this is a section 7.2 SaveYourself: */
-      
-      if (save_style == SmSaveLocal && 
+
+      if (save_style == SmSaveLocal &&
          interact_style == SmInteractStyleNone &&
          !shutdown && !fast)
        {
@@ -493,7 +493,7 @@ save_yourself_callback (SmcConn   smc_conn,
 #endif
 
   /* ignore Global style saves
-   * 
+   *
    * This interpretaion of the Local/Global/Both styles
    * was discussed extensively on the xdg-list. See:
    *
@@ -507,11 +507,11 @@ save_yourself_callback (SmcConn   smc_conn,
     }
 
   interaction_allowed = interact_style != SmInteractStyleNone;
-  
+
   current_state = STATE_SAVING_PHASE_1;
 
   regenerate_save_file ();
-  
+
   set_clone_restart_commands ();
 
   save_yourself_possibly_done (shutdown, successful);
@@ -550,7 +550,7 @@ static void
 shutdown_cancelled_callback (SmcConn smc_conn, SmPointer client_data)
 {
   meta_topic (META_DEBUG_SM, "Shutdown cancelled received\n");
-  
+
   if (session_connection != NULL &&
       (current_state != STATE_IDLE && current_state != STATE_FROZEN))
     {
@@ -559,14 +559,14 @@ shutdown_cancelled_callback (SmcConn smc_conn, SmPointer client_data)
     }
 }
 
-static void 
+static void
 interact_callback (SmcConn smc_conn, SmPointer client_data)
 {
   /* nothing */
   gboolean shutdown;
 
   meta_topic (META_DEBUG_SM, "Interaction permission received\n");
-  
+
   shutdown = GPOINTER_TO_INT (client_data);
 
   current_state = STATE_DONE_WITH_INTERACT;
@@ -585,14 +585,14 @@ set_clone_restart_commands (void)
   const char *prgname;
 
   prgname = g_get_prgname ();
-  
+
   /* Restart (use same client ID) */
-  
+
   prop1.name = SmRestartCommand;
   prop1.type = SmLISTofARRAY8;
-  
+
   g_return_if_fail (client_id);
-  
+
   i = 0;
   restartv[i] = (char *)prgname;
   ++i;
@@ -613,7 +613,7 @@ set_clone_restart_commands (void)
   prop1.num_vals = i;
 
   /* Clone (no client ID) */
-  
+
   i = 0;
   clonev[i] = (char *)prgname;
   ++i;
@@ -621,7 +621,7 @@ set_clone_restart_commands (void)
 
   prop2.name = SmCloneCommand;
   prop2.type = SmLISTofARRAY8;
-  
+
   prop2.vals = g_new (SmPropValue, i);
   i = 0;
   while (clonev[i])
@@ -633,7 +633,7 @@ set_clone_restart_commands (void)
   prop2.num_vals = i;
 
   /* Discard */
-  
+
   i = 0;
   discardv[i] = "rm";
   ++i;
@@ -642,10 +642,10 @@ set_clone_restart_commands (void)
   discardv[i] = (char*) full_save_file ();
   ++i;
   discardv[i] = NULL;
-  
+
   prop3.name = SmDiscardCommand;
   prop3.type = SmLISTofARRAY8;
-  
+
   prop3.vals = g_new (SmPropValue, i);
   i = 0;
   while (discardv[i])
@@ -656,11 +656,11 @@ set_clone_restart_commands (void)
     }
   prop3.num_vals = i;
 
-  
+
   props[0] = &prop1;
   props[1] = &prop2;
   props[2] = &prop3;
-  
+
   SmcSetProperties (session_connection, 3, props);
 
   g_free (prop1.vals);
@@ -713,7 +713,7 @@ window_type_to_string (MetaWindowType type)
     }
 
   return "";
-} 
+}
 
 static MetaWindowType
 window_type_from_string (const char *str)
@@ -776,7 +776,7 @@ encode_text_as_utf8_markup (const char *text)
   GString *str;
   const char *p;
   char *escaped;
-  
+
   str = g_string_new ("");
 
   p = text;
@@ -788,7 +788,7 @@ encode_text_as_utf8_markup (const char *text)
 
   escaped = g_markup_escape_text (str->str, str->len);
   g_string_free (str, TRUE);
-  
+
   return escaped;
 }
 
@@ -800,7 +800,7 @@ decode_text_from_utf8 (const char *text)
   const char *p;
 
   str = g_string_new ("");
-  
+
   p = text;
   while (*p)
     {
@@ -822,11 +822,11 @@ save_state (void)
   GSList *windows;
   GSList *tmp;
   int stack_position;
-  
+
   g_assert (client_id);
 
   outfile = NULL;
-  
+
   /*
    * g_get_user_config_dir() is guaranteed to return an existing directory.
    * Eventually, if SM stays with the WM, I'd like to make this
@@ -838,7 +838,7 @@ save_state (void)
   mutter_dir = g_strconcat (g_get_user_config_dir (),
                               G_DIR_SEPARATOR_S "mutter",
                               NULL);
-  
+
   session_dir = g_strconcat (mutter_dir,
                              G_DIR_SEPARATOR_S "sessions",
                              NULL);
@@ -858,7 +858,7 @@ save_state (void)
     }
 
   meta_topic (META_DEBUG_SM, "Saving session to '%s'\n", full_save_file ());
-  
+
   outfile = fopen (full_save_file (), "w");
 
   if (outfile == NULL)
@@ -881,9 +881,9 @@ save_state (void)
    * Note that attributes on <window> are the match info we use to
    * see if the saved state applies to a restored window, and
    * child elements are the saved state to be applied.
-   * 
+   *
    */
-  
+
   fprintf (outfile, "<mutter_session id=\"%s\">\n",
            client_id);
 
@@ -912,7 +912,7 @@ save_state (void)
            * in UTF-8 (I think they are in XPCS which is Latin-1?
            * in practice they are always ascii though.)
            */
-              
+
           sm_client_id = encode_text_as_utf8_markup (window->sm_client_id);
           res_class = window->res_class ?
             encode_text_as_utf8_markup (window->res_class) : NULL;
@@ -924,7 +924,7 @@ save_state (void)
             title = g_markup_escape_text (window->title, -1);
           else
             title = NULL;
-              
+
           meta_topic (META_DEBUG_SM, "Saving session managed window %s, client ID '%s'\n",
                       window->desc, window->sm_client_id);
 
@@ -943,7 +943,7 @@ save_state (void)
           g_free (res_name);
           g_free (role);
           g_free (title);
-              
+
           /* Sticky */
           if (window->on_all_workspaces_requested)
             fputs ("    <sticky/>\n", outfile);
@@ -956,13 +956,13 @@ save_state (void)
           if (META_WINDOW_MAXIMIZED (window))
             {
               fprintf (outfile,
-                       "    <maximized saved_x=\"%d\" saved_y=\"%d\" saved_width=\"%d\" 
saved_height=\"%d\"/>\n", 
+                       "    <maximized saved_x=\"%d\" saved_y=\"%d\" saved_width=\"%d\" 
saved_height=\"%d\"/>\n",
                        window->saved_rect.x,
                        window->saved_rect.y,
                        window->saved_rect.width,
                        window->saved_rect.height);
             }
-              
+
           /* Workspaces we're on */
           {
             int n;
@@ -975,13 +975,13 @@ save_state (void)
           {
             int x, y, w, h;
             meta_window_get_geometry (window, &x, &y, &w, &h);
-            
+
             fprintf (outfile,
                      "    <geometry x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\" gravity=\"%s\"/>\n",
                      x, y, w, h,
                      meta_gravity_to_string (window->size_hints.win_gravity));
           }
-              
+
           fputs ("  </window>\n", outfile);
         }
       else
@@ -989,15 +989,15 @@ save_state (void)
           meta_topic (META_DEBUG_SM, "Not saving window '%s', not session managed\n",
                       window->desc);
         }
-          
+
       tmp = tmp->next;
       ++stack_position;
     }
-      
+
   g_slist_free (windows);
 
   fputs ("</mutter_session>\n", outfile);
-  
+
  out:
   if (outfile)
     {
@@ -1013,7 +1013,7 @@ save_state (void)
                         full_save_file (), g_strerror (errno));
         }
     }
-  
+
   g_free (mutter_dir);
   g_free (session_dir);
 }
@@ -1094,7 +1094,7 @@ load_state (const char *previous_save_file)
                                   G_DIR_SEPARATOR_S,
                                   previous_save_file,
                                   NULL);
-      
+
       if (!g_file_get_contents (session_file,
                                 &text,
                                 &length,
@@ -1114,10 +1114,10 @@ load_state (const char *previous_save_file)
   meta_topic (META_DEBUG_SM, "Parsing saved session file %s\n", session_file);
   g_free (session_file);
   session_file = NULL;
-  
+
   parse_data.info = NULL;
   parse_data.previous_id = NULL;
-  
+
   context = g_markup_parse_context_new (&mutter_session_parser,
                                         0, &parse_data, NULL);
 
@@ -1127,8 +1127,8 @@ load_state (const char *previous_save_file)
                                      length,
                                      &error))
     goto error;
-  
-  
+
+
   error = NULL;
   if (!g_markup_parse_context_end_parse (context, &error))
     goto error;
@@ -1138,7 +1138,7 @@ load_state (const char *previous_save_file)
   goto out;
 
  error:
-  
+
   meta_warning ("Failed to parse saved session file: %s\n",
                 error->message);
   g_error_free (error);
@@ -1148,9 +1148,9 @@ load_state (const char *previous_save_file)
 
   g_free (parse_data.previous_id);
   parse_data.previous_id = NULL;
-  
+
  out:
-  
+
   g_free (text);
 
   return parse_data.previous_id;
@@ -1172,14 +1172,14 @@ start_element_handler  (GMarkupParseContext *context,
   if (strcmp (element_name, "mutter_session") == 0)
     {
       /* Get previous ID */
-      int i;      
+      int i;
 
       i = 0;
       while (attribute_names[i])
         {
           const char *name;
           const char *val;
-          
+
           name = attribute_names[i];
           val = attribute_values[i];
 
@@ -1191,7 +1191,7 @@ start_element_handler  (GMarkupParseContext *context,
                            "<mutter_session> attribute seen but we already have the session ID");
               return;
             }
-          
+
           if (strcmp (name, "id") == 0)
             {
               pd->previous_id = decode_text_from_utf8 (val);
@@ -1205,14 +1205,14 @@ start_element_handler  (GMarkupParseContext *context,
                            name, "mutter_session");
               return;
             }
-          
+
           ++i;
         }
     }
   else if (strcmp (element_name, "window") == 0)
     {
       int i;
-      
+
       if (pd->info)
         {
           g_set_error (error,
@@ -1221,7 +1221,7 @@ start_element_handler  (GMarkupParseContext *context,
                        "nested <window> tag");
           return;
         }
-      
+
       pd->info = session_info_new ();
 
       i = 0;
@@ -1229,10 +1229,10 @@ start_element_handler  (GMarkupParseContext *context,
         {
           const char *name;
           const char *val;
-          
+
           name = attribute_names[i];
           val = attribute_values[i];
-          
+
           if (strcmp (name, "id") == 0)
             {
               if (*val)
@@ -1282,7 +1282,7 @@ start_element_handler  (GMarkupParseContext *context,
               pd->info = NULL;
               return;
             }
-          
+
           ++i;
         }
     }
@@ -1296,7 +1296,7 @@ start_element_handler  (GMarkupParseContext *context,
           const char *name;
 
           name = attribute_names[i];
-          
+
           if (strcmp (name, "index") == 0)
             {
               pd->info->workspace_indices =
@@ -1314,7 +1314,7 @@ start_element_handler  (GMarkupParseContext *context,
               pd->info = NULL;
               return;
             }
-          
+
           ++i;
         }
     }
@@ -1394,22 +1394,22 @@ start_element_handler  (GMarkupParseContext *context,
                     pd->info->saved_rect.y,
                     pd->info->saved_rect.width,
                     pd->info->saved_rect.height);
-    }  
+    }
   else if (strcmp (element_name, "geometry") == 0)
     {
       int i;
 
       pd->info->geometry_set = TRUE;
-      
+
       i = 0;
       while (attribute_names[i])
         {
           const char *name;
           const char *val;
-          
+
           name = attribute_names[i];
           val = attribute_values[i];
-          
+
           if (strcmp (name, "x") == 0)
             {
               if (*val)
@@ -1444,7 +1444,7 @@ start_element_handler  (GMarkupParseContext *context,
                            name, "geometry");
               return;
             }
-          
+
           ++i;
         }
 
@@ -1482,12 +1482,12 @@ end_element_handler    (GMarkupParseContext *context,
 
       window_info_list = g_slist_prepend (window_info_list,
                                           pd->info);
-      
+
       meta_topic (META_DEBUG_SM, "Loaded window info from session with class: %s name: %s role: %s\n",
                   pd->info->res_class ? pd->info->res_class : "(none)",
                   pd->info->res_name ? pd->info->res_name : "(none)",
                   pd->info->role ? pd->info->role : "(none)");
-      
+
       pd->info = NULL;
     }
 }
@@ -1523,20 +1523,20 @@ get_possible_matches (MetaWindow *window)
   GSList *retval;
   GSList *tmp;
   gboolean ignore_client_id;
-  
+
   retval = NULL;
 
   ignore_client_id = g_getenv ("MUTTER_DEBUG_SM") != NULL;
-  
+
   tmp = window_info_list;
   while (tmp != NULL)
     {
       MetaWindowSessionInfo *info;
 
       info = tmp->data;
-      
+
       if ((ignore_client_id ||
-           both_null_or_matching (info->id, window->sm_client_id)) && 
+           both_null_or_matching (info->id, window->sm_client_id)) &&
           both_null_or_matching (info->res_class, window->res_class) &&
           both_null_or_matching (info->res_name, window->res_name) &&
           both_null_or_matching (info->role, window->role))
@@ -1563,7 +1563,7 @@ get_possible_matches (MetaWindow *window)
                             window->desc,
                             window->res_class ? window->res_class : "(none)",
                             info->res_class ? info->res_class : "(none)");
-              
+
               else if (!both_null_or_matching (info->res_name, window->res_name))
                 meta_topic (META_DEBUG_SM, "Window %s has name %s doesn't match saved name %s, no match\n",
                             window->desc,
@@ -1579,7 +1579,7 @@ get_possible_matches (MetaWindow *window)
                             window->desc, info->id);
             }
         }
-      
+
       tmp = tmp->next;
     }
 
@@ -1593,10 +1593,10 @@ find_best_match (GSList     *infos,
   GSList *tmp;
   const MetaWindowSessionInfo *matching_title;
   const MetaWindowSessionInfo *matching_type;
-  
+
   matching_title = NULL;
   matching_type = NULL;
-  
+
   tmp = infos;
   while (tmp != NULL)
     {
@@ -1611,7 +1611,7 @@ find_best_match (GSList     *infos,
       if (matching_type == NULL &&
           info->type == window->type)
         matching_type = info;
-      
+
       tmp = tmp->next;
     }
 
@@ -1620,7 +1620,7 @@ find_best_match (GSList     *infos,
    * to e.g. break ties by geometry hint similarity,
    * or other window features.
    */
-  
+
   if (matching_title)
     return matching_title;
   else if (matching_type)
@@ -1634,7 +1634,7 @@ meta_window_lookup_saved_state (MetaWindow *window)
 {
   GSList *possibles;
   const MetaWindowSessionInfo *info;
-  
+
   /* Window is not session managed.
    * I haven't yet figured out how to deal with these
    * in a way that doesn't cause broken side effects in
@@ -1658,9 +1658,9 @@ meta_window_lookup_saved_state (MetaWindow *window)
     }
 
   info = find_best_match (possibles, window);
-  
+
   g_slist_free (possibles);
-  
+
   return info;
 }
 
@@ -1685,7 +1685,7 @@ session_info_free (MetaWindowSessionInfo *info)
   g_free (info->role);
 
   g_slist_free (info->workspace_indices);
-  
+
   g_free (info);
 }
 
@@ -1698,7 +1698,7 @@ session_info_new (void)
 
   info->type = META_WINDOW_NORMAL;
   info->gravity = NorthWestGravity;
-  
+
   return info;
 }
 
@@ -1739,7 +1739,7 @@ finish_interact (gboolean shutdown)
   if (current_state == STATE_DONE_WITH_INTERACT) /* paranoia */
     {
       SmcInteractDone (session_connection, False /* don't cancel logout */);
-      
+
       save_yourself_possibly_done (shutdown, TRUE);
     }
 }
@@ -1764,13 +1764,13 @@ warn_about_lame_clients_and_finish_interact (gboolean shutdown)
   GSList *tmp;
   GSList *columns = NULL;
   GPid pid;
-  
+
   windows = meta_display_list_windows (meta_get_display (), META_LIST_DEFAULT);
   tmp = windows;
   while (tmp != NULL)
     {
       MetaWindow *window;
-          
+
       window = tmp->data;
 
       /* only complain about normal windows, the others
@@ -1779,12 +1779,12 @@ warn_about_lame_clients_and_finish_interact (gboolean shutdown)
       if (window->sm_client_id == NULL &&
           window->type == META_WINDOW_NORMAL)
         lame = g_slist_prepend (lame, window);
-          
+
       tmp = tmp->next;
     }
-      
+
   g_slist_free (windows);
-  
+
   if (lame == NULL)
     {
       /* No lame apps. */
diff --git a/src/x11/session.h b/src/x11/session.h
index c032ff1..e991ffc 100644
--- a/src/x11/session.h
+++ b/src/x11/session.h
@@ -9,9 +9,9 @@
  * requires us to do it here.
  */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -21,7 +21,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -45,11 +45,11 @@ struct _MetaWindowSessionInfo
   MetaWindowType type;
 
   /* Information we restore */
-  
-  GSList *workspace_indices;  
+
+  GSList *workspace_indices;
 
   int stack_position;
-  
+
   /* width/height should be multiplied by resize inc and
    * added to base size; position should be interpreted in
    * light of gravity. This preserves semantics of the
diff --git a/src/x11/testasyncgetprop.c b/src/x11/testasyncgetprop.c
index 028276c..7ceed24 100644
--- a/src/x11/testasyncgetprop.c
+++ b/src/x11/testasyncgetprop.c
@@ -94,14 +94,14 @@ x_error_handler (Display     *xdisplay,
   if (error_trap_depth == 0)
     {
       print_backtrace ();
-      
+
       fprintf (stderr, "Unexpected X error: %s serial %ld error_code %d request_code %d minor_code %d)\n",
                buf,
                error->serial,
                error->error_code,
                error->request_code,
                error->minor_code);
-      
+
       exit (1);
     }
 
@@ -122,7 +122,7 @@ error_trap_pop (Display   *xdisplay)
       fprintf (stderr, "Error trap underflow!\n");
       exit (1);
     }
-  
+
   XSync (xdisplay, False); /* get all errors out of the queue */
   --error_trap_depth;
 }
@@ -192,11 +192,11 @@ try_get_reply (Display           *xdisplay,
       struct timeval current_time;
 
       gettimeofday (&current_time, NULL);
-      
+
       printf (" %gms (we have a reply for property %ld)\n",
               ELAPSED (program_start_time, current_time),
               ag_task_get_property (task));
-      
+
       data = NULL;
 
       name = atom_name (xdisplay,
@@ -204,7 +204,7 @@ try_get_reply (Display           *xdisplay,
       printf (" %s on 0x%lx:\n", name,
               ag_task_get_window (task));
       free (name);
-      
+
       result = ag_task_get_reply_and_free (task,
                                            &actual_type,
                                            &actual_format,
@@ -222,12 +222,12 @@ try_get_reply (Display           *xdisplay,
           name = atom_name (xdisplay, actual_type);
           printf ("  actual_type = %s\n", name);
           free (name);
-          
+
           printf ("  actual_format = %d\n", actual_format);
-          
+
           printf ("  n_items = %lu\n", n_items);
           printf ("  bytes_after = %lu\n", bytes_after);
-          
+
           printf ("  data = \"%s\"\n", data ? (char*) data : "NULL");
         }
 
@@ -252,13 +252,13 @@ main (int argc, char **argv)
   char *end;
   Atom *props;
   struct timeval current_time;
-  
+
   if (argc < 2)
     {
       fprintf (stderr, "specify window ID\n");
       return 1;
     }
-  
+
   window_str = argv[1];
 
   end = NULL;
@@ -280,7 +280,7 @@ main (int argc, char **argv)
     XSynchronize (xdisplay, True);
 
   XSetErrorHandler (x_error_handler);
-  
+
   n_props = 0;
   props = XListProperties (xdisplay, window, &n_props);
   if (n_props == 0 || props == NULL)
@@ -290,7 +290,7 @@ main (int argc, char **argv)
     }
 
   gettimeofday (&program_start_time, NULL);
-  
+
   i = 0;
   while (i < n_props)
     {
@@ -307,7 +307,7 @@ main (int argc, char **argv)
           fprintf (stderr, "Failed to send request\n");
           return 1;
         }
-      
+
       ++i;
     }
 
@@ -315,24 +315,24 @@ main (int argc, char **argv)
   props = NULL;
 
   n_left = n_props;
-  
+
   while (TRUE)
     {
       XEvent xevent;
       int connection;
       fd_set set;
       AgGetPropertyTask *task;
-      
+
       /* Mop up event queue */
       while (XPending (xdisplay) > 0)
-        {                  
+        {
           XNextEvent (xdisplay, &xevent);
           gettimeofday (&current_time, NULL);
           printf (" %gms (processing event type %d)\n",
                   ELAPSED (program_start_time, current_time),
                   xevent.xany.type);
         }
-      
+
       while ((task = ag_get_next_completed_task (xdisplay)))
         {
           try_get_reply (xdisplay, task);
@@ -358,7 +358,7 @@ main (int argc, char **argv)
     }
 
   run_speed_comparison (xdisplay, window);
-  
+
   return 0;
 }
 
@@ -373,7 +373,7 @@ run_speed_comparison (Display *xdisplay,
   int n_props;
   struct timeval start, end;
   int n_left;
-  
+
   /* We just use atom values (0 to n_props) % 200, many are probably
    * BadAtom, that's fine, but the %200 keeps most of them valid. The
    * async case is about twice as advantageous when using valid atoms
@@ -382,9 +382,9 @@ run_speed_comparison (Display *xdisplay,
    */
   n_props = 4000;
   printf ("Timing with %d property requests\n", n_props);
-  
+
   gettimeofday (&start, NULL);
-  
+
   i = 0;
   while (i < n_props)
     {
@@ -397,23 +397,23 @@ run_speed_comparison (Display *xdisplay,
           fprintf (stderr, "Failed to send request\n");
           exit (1);
         }
-      
+
       ++i;
     }
 
   n_left = n_props;
-  
+
   while (TRUE)
     {
       int connection;
       fd_set set;
       XEvent xevent;
       AgGetPropertyTask *task;
-      
+
       /* Mop up event queue */
       while (XPending (xdisplay) > 0)
         XNextEvent (xdisplay, &xevent);
-      
+
       while ((task = ag_get_next_completed_task (xdisplay)))
         {
           Atom actual_type;
@@ -423,7 +423,7 @@ run_speed_comparison (Display *xdisplay,
           unsigned char *data;
 
           assert (ag_task_have_reply (task));
-          
+
           data = NULL;
           ag_task_get_reply_and_free (task,
                                       &actual_type,
@@ -431,13 +431,13 @@ run_speed_comparison (Display *xdisplay,
                                       &n_items,
                                       &bytes_after,
                                       &data);
-          
+
           if (data)
             XFree (data);
-          
+
           n_left -= 1;
         }
-      
+
       if (n_left == 0)
         break;
 
@@ -449,16 +449,16 @@ run_speed_comparison (Display *xdisplay,
 
       select (connection + 1, &set, NULL, NULL, NULL);
     }
-  
+
   gettimeofday (&end, NULL);
-  
+
   printf ("Async time: %gms\n",
           ELAPSED (start, end));
-  
+
   gettimeofday (&start, NULL);
 
   error_trap_push (xdisplay);
-  
+
   i = 0;
   while (i < n_props)
     {
@@ -467,7 +467,7 @@ run_speed_comparison (Display *xdisplay,
       unsigned long n_items;
       unsigned long bytes_after;
       unsigned char *data;
-      
+
       data = NULL;
       if (XGetWindowProperty (xdisplay, window,
                               (Atom) i % 200,
@@ -483,14 +483,14 @@ run_speed_comparison (Display *xdisplay,
           if (data)
             XFree (data);
         }
-      
+
       ++i;
     }
 
   error_trap_pop (xdisplay);
-  
+
   gettimeofday (&end, NULL);
-  
+
   printf ("Sync time:  %gms\n",
           ELAPSED (start, end));
 }
diff --git a/src/x11/window-props.c b/src/x11/window-props.c
index cb0a078..10b2065 100644
--- a/src/x11/window-props.c
+++ b/src/x11/window-props.c
@@ -15,11 +15,11 @@
  * together.
  */
 
-/* 
+/*
  * Copyright (C) 2001, 2002, 2003 Red Hat, Inc.
  * Copyright (C) 2004, 2005 Elijah Newren
  * Copyright (C) 2009 Thomas Thurman
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -29,7 +29,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -196,7 +196,7 @@ reload_wm_client_machine (MetaWindow    *window,
 {
   g_free (window->wm_client_machine);
   window->wm_client_machine = NULL;
-  
+
   if (value->type != META_PROP_VALUE_INVALID)
     window->wm_client_machine = g_strdup (value->v.str);
 
@@ -345,7 +345,7 @@ reload_net_wm_pid (MetaWindow    *window,
   if (value->type != META_PROP_VALUE_INVALID)
     {
       gulong cardinal = (int) value->v.cardinal;
-      
+
       if (cardinal <= 0)
         meta_warning ("Application set a bogus _NET_WM_PID %lu\n",
                       cardinal);
@@ -445,12 +445,12 @@ set_title_text (MetaWindow  *window,
                 char       **target)
 {
   gboolean modified = FALSE;
-  
+
   if (!target)
     return FALSE;
-  
+
   g_free (*target);
-  
+
   if (!title)
     *target = g_strdup ("");
   else if (g_utf8_strlen (title, MAX_TITLE_LENGTH + 1) > MAX_TITLE_LENGTH)
@@ -503,7 +503,7 @@ set_window_title (MetaWindow *window,
                     window->display->atom__NET_WM_VISIBLE_NAME,
                     &new_title);
   priv->using_net_wm_visible_name = modified;
-  
+
   meta_window_set_title (window, new_title);
 
   g_free (new_title);
@@ -548,7 +548,7 @@ reload_wm_name (MetaWindow    *window,
                     value->v.str);
       return;
     }
-  
+
   if (value->type != META_PROP_VALUE_INVALID)
     {
       set_window_title (window, value->v.str);
@@ -796,7 +796,7 @@ reload_mwm_hints (MetaWindow    *window,
     meta_verbose ("Functions flag unset\n");
 
   meta_window_recalc_features (window);
-  
+
   /* We do all this anyhow at the end of meta_window_x11_new() */
   if (!window->constructing)
     {
@@ -804,7 +804,7 @@ reload_mwm_hints (MetaWindow    *window,
         meta_window_ensure_frame (window);
       else
         meta_window_destroy_frame (window);
-      
+
       meta_window_queue (window,
                          META_QUEUE_MOVE_RESIZE |
                          /* because ensure/destroy frame may unmap: */
@@ -859,32 +859,32 @@ reload_net_startup_id (MetaWindow    *window,
 {
   guint32 timestamp = window->net_wm_user_time;
   MetaWorkspace *workspace = NULL;
-  
+
   g_free (window->startup_id);
-  
+
   if (value->type != META_PROP_VALUE_INVALID)
     window->startup_id = g_strdup (value->v.str);
   else
     window->startup_id = NULL;
-    
+
   /* Update timestamp and workspace on a running window */
   if (!window->constructing)
   {
-    window->initial_timestamp_set = 0;  
+    window->initial_timestamp_set = 0;
     window->initial_workspace_set = 0;
-    
+
     if (meta_screen_apply_startup_properties (window->screen, window))
       {
-  
+
         if (window->initial_timestamp_set)
           timestamp = window->initial_timestamp;
         if (window->initial_workspace_set)
           workspace = meta_screen_get_workspace_by_index (window->screen, window->initial_workspace);
-    
+
         meta_window_activate_with_workspace (window, timestamp, workspace);
       }
   }
-  
+
   meta_verbose ("New _NET_STARTUP_ID \"%s\" for %s\n",
                 window->startup_id ? window->startup_id : "unset",
                 window->desc);
@@ -982,7 +982,7 @@ spew_size_hints_differences (const XSizeHints *old,
   if (FLAG_CHANGED (old, new, PWinGravity))
     meta_topic (META_DEBUG_GEOMETRY, "XSizeHints: PWinGravity now %s  (%d -> %d)\n",
                 FLAG_TOGGLED_ON (old, new, PWinGravity) ? "set" : "unset",
-                old->win_gravity, new->win_gravity);  
+                old->win_gravity, new->win_gravity);
 }
 
 void
@@ -1335,15 +1335,15 @@ reload_normal_hints (MetaWindow    *window,
   if (value->type != META_PROP_VALUE_INVALID)
     {
       XSizeHints old_hints;
-  
+
       meta_topic (META_DEBUG_GEOMETRY, "Updating WM_NORMAL_HINTS for %s\n", window->desc);
 
       old_hints = window->size_hints;
-  
+
       meta_set_normal_hints (window, value->v.size_hints.hints);
-      
+
       spew_size_hints_differences (&old_hints, &window->size_hints);
-      
+
       meta_window_recalc_features (window);
 
       if (!initial)
@@ -1357,12 +1357,12 @@ reload_wm_protocols (MetaWindow    *window,
                      gboolean       initial)
 {
   int i;
-  
+
   window->take_focus = FALSE;
   window->delete_window = FALSE;
   window->can_ping = FALSE;
-  
-  if (value->type == META_PROP_VALUE_INVALID)    
+
+  if (value->type == META_PROP_VALUE_INVALID)
     return;
 
   i = 0;
@@ -1379,7 +1379,7 @@ reload_wm_protocols (MetaWindow    *window,
         window->can_ping = TRUE;
       ++i;
     }
-  
+
   meta_verbose ("New _NET_STARTUP_ID \"%s\" for %s\n",
                 window->startup_id ? window->startup_id : "unset",
                 window->desc);
@@ -1394,7 +1394,7 @@ reload_wm_hints (MetaWindow    *window,
   gboolean urgent;
 
   old_group_leader = window->xgroup_leader;
-  
+
   /* Fill in defaults */
   window->input = TRUE;
   window->initially_iconic = FALSE;
@@ -1406,7 +1406,7 @@ reload_wm_hints (MetaWindow    *window,
   if (value->type != META_PROP_VALUE_INVALID)
     {
       const XWMHints *hints = value->v.wm_hints;
-      
+
       if (hints->flags & InputHint)
         window->input = hints->input;
 
@@ -1436,7 +1436,7 @@ reload_wm_hints (MetaWindow    *window,
     {
       meta_verbose ("Window %s changed its group leader to 0x%lx\n",
                     window->desc, window->xgroup_leader);
-      
+
       meta_window_group_leader_changed (window);
     }
 
@@ -1709,7 +1709,7 @@ meta_display_init_window_prop_hooks (MetaDisplay *display)
 
   MetaWindowPropHooks *table = g_memdup (hooks, sizeof (hooks)),
     *cursor = table;
-  
+
   g_assert (display->prop_hooks == NULL);
 
   display->prop_hooks_table = (gpointer) table;
diff --git a/src/x11/window-props.h b/src/x11/window-props.h
index 4ea4271..bda83c4 100644
--- a/src/x11/window-props.h
+++ b/src/x11/window-props.h
@@ -11,9 +11,9 @@
  * round trip to the server.
  */
 
-/* 
+/*
  * Copyright (C) 2001, 2002 Red Hat, Inc.
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -23,7 +23,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/src/x11/xprops.c b/src/x11/xprops.c
index 19ebfc5..0362ec1 100644
--- a/src/x11/xprops.c
+++ b/src/x11/xprops.c
@@ -2,7 +2,7 @@
 
 /* Mutter X property convenience routines */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
  * Copyright (C) 2002 Red Hat Inc.
  *
@@ -10,7 +10,7 @@
  *   Copyright 1987, 1988, 1998  The Open Group
  *   Copyright 1988 by Wyse Technology, Inc., San Jose, Ca,
  *   Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -20,7 +20,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -31,20 +31,20 @@ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
 
                         All Rights Reserved
 
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
+both that copyright notice and this permission notice appear in
 supporting documentation, and that the name Digital not be
 used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
-
-DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 
-EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR 
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
+software without specific, written prior permission.
+
+DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 PERFORMANCE OF THIS SOFTWARE.
 
 ******************************************************************/
@@ -114,12 +114,12 @@ validate_or_free_results (GetPropertyResults *results,
   const char *res_class;
   const char *res_name;
   MetaWindow *w;
-  
+
   if (expected_format == results->format &&
       expected_type == results->type &&
       (!must_have_items || results->n_items > 0))
-    return TRUE;  
-  
+    return TRUE;
+
   meta_error_trap_push (results->display);
   type_name = XGetAtomName (results->display->xdisplay, results->type);
   expected_name = XGetAtomName (results->display->xdisplay, expected_type);
@@ -140,7 +140,7 @@ validate_or_free_results (GetPropertyResults *results,
       res_class = NULL;
       res_name = NULL;
     }
-  
+
   if (title == NULL)
     title = "unknown";
 
@@ -149,7 +149,7 @@ validate_or_free_results (GetPropertyResults *results,
 
   if (res_name == NULL)
     res_name = "unknown";
-  
+
   meta_warning ("Window 0x%lx has property %s\nthat was expected to have type %s format %d\nand actually has 
type %s format %d n_items %d.\nThis is most likely an application bug, not a window manager bug.\nThe window 
has title=\"%s\" class=\"%s\" name=\"%s\"\n",
                 results->xwindow,
                 prop_name ? prop_name : "(bad atom)",
@@ -171,7 +171,7 @@ validate_or_free_results (GetPropertyResults *results,
       XFree (results->prop);
       results->prop = NULL;
     }
-  
+
   return FALSE;
 }
 
@@ -190,7 +190,7 @@ get_property (MetaDisplay        *display,
   results->type = None;
   results->bytes_after = 0;
   results->format = 0;
-  
+
   meta_error_trap_push (display);
   if (XGetWindowProperty (display->xdisplay, xwindow, xatom,
                           0, G_MAXLONG,
@@ -222,12 +222,12 @@ atom_list_from_results (GetPropertyResults *results,
                         int                *n_atoms_p)
 {
   if (!validate_or_free_results (results, 32, XA_ATOM, FALSE))
-    return FALSE;  
+    return FALSE;
 
   *atoms_p = (Atom*) results->prop;
   *n_atoms_p = results->n_items;
-  results->prop = NULL;  
-  
+  results->prop = NULL;
+
   return TRUE;
 }
 
@@ -256,12 +256,12 @@ cardinal_list_from_results (GetPropertyResults *results,
                             int                *n_cardinals_p)
 {
   if (!validate_or_free_results (results, 32, XA_CARDINAL, FALSE))
-    return FALSE;  
+    return FALSE;
 
   *cardinals_p = (gulong*) results->prop;
   *n_cardinals_p = results->n_items;
   results->prop = NULL;
-  
+
 #if GLIB_SIZEOF_LONG == 8
   /* Xlib sign-extends format=32 items, but we want them unsigned */
   {
@@ -300,8 +300,8 @@ motif_hints_from_results (GetPropertyResults *results,
 {
   int real_size, max_size;
 #define MAX_ITEMS sizeof (MotifWmHints)/sizeof (gulong)
-  
-  *hints_p = NULL;  
+
+  *hints_p = NULL;
 
   if (results->type == None || results->n_items <= 0)
     {
@@ -337,7 +337,7 @@ motif_hints_from_results (GetPropertyResults *results,
       XFree (results->prop);
       results->prop = NULL;
     }
-  
+
   return TRUE;
 }
 
@@ -348,7 +348,7 @@ meta_prop_get_motif_hints (MetaDisplay   *display,
                            MotifWmHints **hints_p)
 {
   GetPropertyResults results;
-  
+
   *hints_p = NULL;
 
   if (!get_property (display, xwindow, xatom, AnyPropertyType,
@@ -363,13 +363,13 @@ latin1_string_from_results (GetPropertyResults *results,
                             char              **str_p)
 {
   *str_p = NULL;
-  
+
   if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
     return FALSE;
 
   *str_p = (char*) results->prop;
   results->prop = NULL;
-  
+
   return TRUE;
 }
 
@@ -386,7 +386,7 @@ meta_prop_get_latin1_string (MetaDisplay *display,
   if (!get_property (display, xwindow, xatom, XA_STRING,
                      &results))
     return FALSE;
-  
+
   return latin1_string_from_results (&results, str_p);
 }
 
@@ -395,7 +395,7 @@ utf8_string_from_results (GetPropertyResults *results,
                           char              **str_p)
 {
   *str_p = NULL;
-  
+
   if (!validate_or_free_results (results, 8,
                                  results->display->atom_UTF8_STRING, FALSE))
     return FALSE;
@@ -411,13 +411,13 @@ utf8_string_from_results (GetPropertyResults *results,
       meta_XFree (name);
       XFree (results->prop);
       results->prop = NULL;
-      
+
       return FALSE;
     }
-  
+
   *str_p = (char*) results->prop;
   results->prop = NULL;
-  
+
   return TRUE;
 }
 
@@ -449,14 +449,14 @@ utf8_list_from_results (GetPropertyResults *results,
   int n_strings;
   char **retval;
   const char *p;
-  
+
   *str_p = NULL;
   *n_str_p = 0;
 
   if (!validate_or_free_results (results, 8,
                                  results->display->atom_UTF8_STRING, FALSE))
     return FALSE;
-  
+
   /* I'm not sure this is right, but I'm guessing the
    * property is nul-separated
    */
@@ -471,11 +471,11 @@ utf8_list_from_results (GetPropertyResults *results,
 
   if (results->prop[results->n_items - 1] != '\0')
     ++n_strings;
- 
+
   /* we're guaranteed that results->prop has a nul on the end
    * by XGetWindowProperty
    */
-  
+
   retval = g_new0 (char*, n_strings + 1);
 
   p = (char *)results->prop;
@@ -494,17 +494,17 @@ utf8_list_from_results (GetPropertyResults *results,
           meta_XFree (name);
           meta_XFree (results->prop);
           results->prop = NULL;
-          
+
           g_strfreev (retval);
           return FALSE;
         }
 
       retval[i] = g_strdup (p);
-      
+
       p = p + strlen (p) + 1;
       ++i;
     }
-  
+
   *str_p = retval;
   *n_str_p = i;
 
@@ -544,13 +544,13 @@ latin1_list_from_results (GetPropertyResults *results,
   int n_strings;
   char **retval;
   const char *p;
-  
+
   *str_p = NULL;
   *n_str_p = 0;
 
   if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
     return FALSE;
-  
+
   /* I'm not sure this is right, but I'm guessing the
    * property is nul-separated
    */
@@ -565,11 +565,11 @@ latin1_list_from_results (GetPropertyResults *results,
 
   if (results->prop[results->n_items - 1] != '\0')
     ++n_strings;
- 
+
   /* we're guaranteed that results->prop has a nul on the end
    * by XGetWindowProperty
    */
-  
+
   retval = g_new0 (char*, n_strings + 1);
 
   p = (char *)results->prop;
@@ -577,11 +577,11 @@ latin1_list_from_results (GetPropertyResults *results,
   while (i < n_strings)
     {
       retval[i] = g_strdup (p);
-      
+
       p = p + strlen (p) + 1;
       ++i;
     }
-  
+
   *str_p = retval;
   *n_str_p = i;
 
@@ -616,9 +616,9 @@ meta_prop_set_utf8_string_hint (MetaDisplay *display,
                                 const char *val)
 {
   meta_error_trap_push (display);
-  XChangeProperty (display->xdisplay, 
+  XChangeProperty (display->xdisplay,
                    xwindow, atom,
-                   display->atom_UTF8_STRING, 
+                   display->atom_UTF8_STRING,
                    8, PropModeReplace, (guchar*) val, strlen (val));
   meta_error_trap_pop (display);
 }
@@ -628,12 +628,12 @@ window_from_results (GetPropertyResults *results,
                      Window             *window_p)
 {
   if (!validate_or_free_results (results, 32, XA_WINDOW, TRUE))
-    return FALSE;  
+    return FALSE;
 
   *window_p = *(Window*) results->prop;
   XFree (results->prop);
-  results->prop = NULL;  
-  
+  results->prop = NULL;
+
   return TRUE;
 }
 
@@ -644,12 +644,12 @@ counter_from_results (GetPropertyResults *results,
   if (!validate_or_free_results (results, 32,
                                  XA_CARDINAL,
                                  TRUE))
-    return FALSE;  
+    return FALSE;
 
   *counter_p = *(XSyncCounter*) results->prop;
   XFree (results->prop);
   results->prop = NULL;
-  
+
   return TRUE;
 }
 
@@ -679,7 +679,7 @@ meta_prop_get_window (MetaDisplay *display,
   GetPropertyResults results;
 
   *window_p = None;
-  
+
   if (!get_property (display, xwindow, xatom, XA_WINDOW,
                      &results))
     return FALSE;
@@ -703,7 +703,7 @@ cardinal_with_atom_type_from_results (GetPropertyResults *results,
                                       gulong             *cardinal_p)
 {
   if (!validate_or_free_results (results, 32, prop_type, TRUE))
-    return FALSE;  
+    return FALSE;
 
   *cardinal_p = *(gulong*) results->prop;
 #if GLIB_SIZEOF_LONG == 8
@@ -711,8 +711,8 @@ cardinal_with_atom_type_from_results (GetPropertyResults *results,
   *cardinal_p &= 0xffffffff;
 #endif
   XFree (results->prop);
-  results->prop = NULL;  
-  
+  results->prop = NULL;
+
   return TRUE;
 }
 
@@ -769,13 +769,13 @@ text_property_from_results (GetPropertyResults *results,
   results->prop = NULL;
   tp.encoding = results->type;
   tp.format = results->format;
-  tp.nitems = results->n_items;  
-  
+  tp.nitems = results->n_items;
+
   *utf8_str_p = text_property_to_utf8 (results->display->xdisplay, &tp);
-  
+
   if (tp.value != NULL)
     XFree (tp.value);
-  
+
   return *utf8_str_p != NULL;
 }
 
@@ -786,7 +786,7 @@ meta_prop_get_text_property (MetaDisplay   *display,
                              char         **utf8_str_p)
 {
   GetPropertyResults results;
-  
+
   if (!get_property (display, xwindow, xatom, AnyPropertyType,
                      &results))
     return FALSE;
@@ -825,13 +825,13 @@ wm_hints_from_results (GetPropertyResults *results,
 {
   XWMHints *hints;
   xPropWMHints *raw;
-  
+
   *hints_p = NULL;
-  
+
   if (!validate_or_free_results (results, 32, XA_WM_HINTS, TRUE))
-    return FALSE;  
+    return FALSE;
 
-  /* pre-R3 bogusly truncated window_group, don't fail on them */  
+  /* pre-R3 bogusly truncated window_group, don't fail on them */
   if (results->n_items < (NumPropWMHintsElements - 1))
     {
       meta_verbose ("WM_HINTS property too short: %d should be %d\n",
@@ -843,11 +843,11 @@ wm_hints_from_results (GetPropertyResults *results,
         }
       return FALSE;
     }
-  
+
   hints = ag_Xmalloc0 (sizeof (XWMHints));
 
   raw = (xPropWMHints*) results->prop;
-  
+
   hints->flags = raw->flags;
   hints->input = (raw->input ? True : False);
   hints->initial_state = cvtINT32toInt (raw->initialState);
@@ -881,7 +881,7 @@ meta_prop_get_wm_hints (MetaDisplay   *display,
   GetPropertyResults results;
 
   *hints_p = NULL;
-  
+
   if (!get_property (display, xwindow, xatom, XA_WM_HINTS,
                      &results))
     return FALSE;
@@ -894,13 +894,13 @@ class_hint_from_results (GetPropertyResults *results,
                          XClassHint         *class_hint)
 {
   int len_name, len_class;
-  
+
   class_hint->res_class = NULL;
   class_hint->res_name = NULL;
-  
+
   if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
     return FALSE;
-  
+
   len_name = strlen ((char *) results->prop);
   if (! (class_hint->res_name = ag_Xmalloc (len_name+1)))
     {
@@ -908,14 +908,14 @@ class_hint_from_results (GetPropertyResults *results,
       results->prop = NULL;
       return FALSE;
     }
-  
+
   strcpy (class_hint->res_name, (char *)results->prop);
 
   if (len_name == (int) results->n_items)
     len_name--;
-  
+
   len_class = strlen ((char *)results->prop + len_name + 1);
-  
+
   if (! (class_hint->res_class = ag_Xmalloc(len_class+1)))
     {
       XFree(class_hint->res_name);
@@ -924,12 +924,12 @@ class_hint_from_results (GetPropertyResults *results,
       results->prop = NULL;
       return FALSE;
     }
-  
+
   strcpy (class_hint->res_class, (char *)results->prop + len_name + 1);
 
   XFree (results->prop);
   results->prop = NULL;
-  
+
   return TRUE;
 }
 
@@ -940,10 +940,10 @@ meta_prop_get_class_hint (MetaDisplay   *display,
                           XClassHint    *class_hint)
 {
   GetPropertyResults results;
-  
+
   class_hint->res_class = NULL;
   class_hint->res_name = NULL;
-  
+
   if (!get_property (display, xwindow, xatom, XA_STRING,
                      &results))
     return FALSE;
@@ -958,10 +958,10 @@ size_hints_from_results (GetPropertyResults *results,
 {
   xPropSizeHints *raw;
   XSizeHints *hints;
-  
+
   *hints_p = NULL;
   *flags_p = 0;
-  
+
   if (!validate_or_free_results (results, 32, XA_WM_SIZE_HINTS, FALSE))
     return FALSE;
 
@@ -971,7 +971,7 @@ size_hints_from_results (GetPropertyResults *results,
   raw = (xPropSizeHints*) results->prop;
 
   hints = ag_Xmalloc (sizeof (XSizeHints));
-  
+
   /* XSizeHints misdeclares these as int instead of long */
   hints->flags = raw->flags;
   hints->x = cvtINT32toInt (raw->x);
@@ -999,12 +999,12 @@ size_hints_from_results (GetPropertyResults *results,
     }
 
   hints->flags &= (*flags_p);  /* get rid of unwanted bits */
-  
+
   XFree (results->prop);
   results->prop = NULL;
 
   *hints_p = hints;
-  
+
   return TRUE;
 }
 
@@ -1019,7 +1019,7 @@ meta_prop_get_size_hints (MetaDisplay   *display,
 
   *hints_p = NULL;
   *flags_p = 0;
-  
+
   if (!get_property (display, xwindow, xatom, XA_WM_SIZE_HINTS,
                      &results))
     return FALSE;
@@ -1044,7 +1044,7 @@ latin1_to_utf8 (const char *text)
 {
   GString *str;
   const char *p;
-  
+
   str = g_string_new ("");
 
   p = text;
@@ -1068,10 +1068,10 @@ meta_prop_get_values (MetaDisplay   *display,
 
   meta_verbose ("Requesting %d properties of 0x%lx at once\n",
                 n_values, xwindow);
-  
+
   if (n_values == 0)
     return;
-  
+
   tasks = g_new0 (AgGetPropertyTask*, n_values);
 
   /* Start up tasks. The "values" array can have values
@@ -1134,22 +1134,22 @@ meta_prop_get_values (MetaDisplay   *display,
       if (values[i].atom != None)
         tasks[i] = get_task (display, xwindow,
                              values[i].atom, values[i].required_type);
-      
+
       ++i;
-    }  
-  
+    }
+
   /* Get replies for all our tasks */
   meta_topic (META_DEBUG_SYNC, "Syncing to get %d GetProperty replies in %s\n",
               n_values, G_STRFUNC);
   XSync (display->xdisplay, False);
-  
+
   /* Collect results, should arrive in order requested */
   i = 0;
   while (i < n_values)
     {
       AgGetPropertyTask *task;
       GetPropertyResults results;
-      
+
       if (tasks[i] == NULL)
         {
           /* Probably values[i].type was None, or ag_task_create()
@@ -1158,7 +1158,7 @@ meta_prop_get_values (MetaDisplay   *display,
           values[i].type = META_PROP_VALUE_INVALID;
           goto next;
         }
-      
+
       task = ag_get_next_completed_task (display->xdisplay);
       g_assert (task != NULL);
       g_assert (ag_task_have_reply (task));
@@ -1171,7 +1171,7 @@ meta_prop_get_values (MetaDisplay   *display,
       results.type = None;
       results.bytes_after = 0;
       results.format = 0;
-      
+
       if (ag_task_get_reply_and_free (task,
                                       &results.type, &results.format,
                                       &results.n_items,
@@ -1301,7 +1301,7 @@ free_value (MetaPropValue *value)
 {
   switch (value->type)
     {
-    case META_PROP_VALUE_INVALID:          
+    case META_PROP_VALUE_INVALID:
       break;
     case META_PROP_VALUE_UTF8:
     case META_PROP_VALUE_STRING:
@@ -1310,10 +1310,10 @@ free_value (MetaPropValue *value)
       break;
     case META_PROP_VALUE_MOTIF_HINTS:
       meta_XFree (value->v.motif_hints);
-      break;          
+      break;
     case META_PROP_VALUE_CARDINAL:
       break;
-    case META_PROP_VALUE_WINDOW:          
+    case META_PROP_VALUE_WINDOW:
       break;
     case META_PROP_VALUE_ATOM_LIST:
       meta_XFree (value->v.atom_list.atoms);
diff --git a/src/x11/xprops.h b/src/x11/xprops.h
index dcafe5e..0e8e287 100644
--- a/src/x11/xprops.h
+++ b/src/x11/xprops.h
@@ -2,9 +2,9 @@
 
 /* Mutter X property convenience routines */
 
-/* 
+/*
  * Copyright (C) 2001 Havoc Pennington
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation; either version 2 of the
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -168,7 +168,7 @@ typedef struct
   MetaPropValueType type;
   Atom atom;
   Atom required_type; /* autofilled if None */
-  
+
   union
   {
     char *str;
@@ -183,13 +183,13 @@ typedef struct
       gulong *counters;
       int     n_counters;
     } xcounter_list;
-    
+
     struct
     {
       XSizeHints   *hints;
       unsigned long flags;
     } size_hints;
-    
+
     struct
     {
       gulong *cardinals;
@@ -207,7 +207,7 @@ typedef struct
       Atom *atoms;
       int   n_atoms;
     } atom_list;
-    
+
   } v;
 
 } MetaPropValue;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]