[mutter] Clean up include macros mess



commit 2f4a68c8c3690663c7f0dbdd7aaa55ee9963a231
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Tue Jul 10 10:36:24 2018 +0200

    Clean up include macros mess
    
    The order and way include macros were structured was chaotic, with no
    real common thread between files. Try to tidy up the mess with some
    common scheme, to make things look less messy.

 src/Makefile.am                                    |  4 --
 src/backends/edid-parse.c                          |  5 +-
 src/backends/meta-backend-private.h                | 21 +++---
 src/backends/meta-backend-types.h                  | 62 +++++++++++++++++
 src/backends/meta-backend.c                        | 28 ++++----
 src/backends/meta-barrier-private.h                |  1 +
 src/backends/meta-barrier.c                        | 15 ++--
 src/backends/meta-crtc.h                           |  3 +-
 src/backends/meta-cursor-renderer.c                | 13 ++--
 src/backends/meta-cursor-renderer.h                |  2 +-
 src/backends/meta-cursor-tracker-private.h         |  7 +-
 src/backends/meta-cursor-tracker.c                 | 17 +++--
 src/backends/meta-cursor.c                         |  2 +-
 src/backends/meta-cursor.h                         |  4 +-
 src/backends/meta-dnd-private.h                    |  3 +
 src/backends/meta-egl.c                            | 10 +--
 src/backends/meta-idle-monitor-dbus.c              | 15 ++--
 src/backends/meta-idle-monitor-private.h           |  4 +-
 src/backends/meta-idle-monitor.c                   | 16 ++---
 src/backends/meta-input-settings-private.h         |  9 +--
 src/backends/meta-input-settings.c                 | 10 +--
 src/backends/meta-monitor-manager-dummy.c          |  4 +-
 src/backends/meta-monitor-manager-dummy.h          |  2 +-
 src/backends/meta-monitor-manager-private.h        | 43 ++----------
 src/backends/meta-monitor-manager.c                | 13 ++--
 src/backends/meta-monitor.h                        |  2 +-
 src/backends/meta-orientation-manager.c            |  4 +-
 src/backends/meta-orientation-manager.h            |  2 +
 src/backends/meta-output.h                         |  1 +
 src/backends/meta-pointer-constraint.h             |  3 +-
 src/backends/meta-remote-desktop-session.c         |  1 +
 src/backends/meta-remote-desktop.c                 |  3 +-
 src/backends/meta-remote-desktop.h                 |  1 +
 src/backends/meta-renderer.c                       |  3 +-
 src/backends/meta-renderer.h                       |  4 +-
 src/backends/meta-screen-cast-monitor-stream-src.c |  2 +-
 src/backends/meta-screen-cast.c                    |  2 +-
 src/backends/meta-screen-cast.h                    |  1 +
 src/backends/meta-stage-private.h                  |  7 +-
 src/backends/meta-stage.c                          | 10 +--
 src/backends/native/dbus-utils.c                   |  2 +-
 src/backends/native/meta-backend-native.c          | 67 +++++++++---------
 src/backends/native/meta-barrier-native.c          |  7 +-
 src/backends/native/meta-clutter-backend-native.c  |  5 +-
 src/backends/native/meta-clutter-backend-native.h  |  2 +-
 src/backends/native/meta-crtc-kms.c                |  2 -
 src/backends/native/meta-crtc-kms.h                |  2 +-
 src/backends/native/meta-cursor-renderer-native.c  |  7 +-
 src/backends/native/meta-cursor-renderer-native.h  |  2 +-
 src/backends/native/meta-input-settings-native.c   |  6 +-
 src/backends/native/meta-input-settings-native.h   |  2 +-
 src/backends/native/meta-launcher.c                | 19 +++---
 src/backends/native/meta-monitor-manager-kms.c     | 36 +++++-----
 src/backends/native/meta-monitor-manager-kms.h     |  2 +-
 src/backends/native/meta-renderer-native-gles3.c   |  2 +-
 src/backends/native/meta-renderer-native.c         |  8 +--
 src/backends/x11/meta-backend-x11.c                | 25 +++----
 src/backends/x11/meta-backend-x11.h                |  3 +-
 src/backends/x11/meta-barrier-x11.c                |  6 +-
 src/backends/x11/meta-clutter-backend-x11.c        |  4 +-
 src/backends/x11/meta-crtc-xrandr.c                |  2 +-
 src/backends/x11/meta-cursor-renderer-x11.c        |  6 +-
 src/backends/x11/meta-cursor-renderer-x11.h        |  2 +-
 src/backends/x11/meta-input-settings-x11.c         | 10 +--
 src/backends/x11/meta-input-settings-x11.h         |  2 +-
 src/backends/x11/meta-monitor-manager-xrandr.c     | 19 +++---
 src/backends/x11/meta-monitor-manager-xrandr.h     |  2 +-
 src/backends/x11/meta-renderer-x11.c               | 12 ++--
 src/compositor/clutter-utils.c                     |  5 +-
 src/compositor/clutter-utils.h                     |  3 +-
 src/compositor/cogl-utils.c                        |  6 +-
 src/compositor/cogl-utils.h                        |  2 +-
 src/compositor/compositor-private.h                | 10 +--
 src/compositor/compositor.c                        | 47 +++++++------
 src/compositor/meta-background-actor-private.h     |  2 +-
 src/compositor/meta-background-actor.c             | 16 ++---
 src/compositor/meta-background-group.c             |  6 +-
 src/compositor/meta-background-image.c             | 12 ++--
 src/compositor/meta-background-private.h           |  5 +-
 src/compositor/meta-background.c                   | 17 +++--
 src/compositor/meta-cullable.c                     |  5 +-
 src/compositor/meta-cullable.h                     |  2 +-
 src/compositor/meta-dnd-actor-private.h            |  2 +-
 src/compositor/meta-dnd-actor.c                    |  6 +-
 src/compositor/meta-feedback-actor-private.h       |  2 +-
 src/compositor/meta-feedback-actor.c               |  8 +--
 src/compositor/meta-module.c                       |  9 ++-
 src/compositor/meta-plugin-manager.c               | 23 ++++---
 src/compositor/meta-plugin-manager.h               |  4 +-
 src/compositor/meta-plugin.c                       | 18 ++---
 src/compositor/meta-shadow-factory.c               | 12 ++--
 src/compositor/meta-shaped-texture-private.h       |  2 +-
 src/compositor/meta-shaped-texture.c               | 19 +++---
 src/compositor/meta-surface-actor-wayland.c        | 11 ++-
 src/compositor/meta-surface-actor-wayland.h        |  8 +--
 src/compositor/meta-surface-actor-x11.c            | 14 ++--
 src/compositor/meta-surface-actor-x11.h            |  7 +-
 src/compositor/meta-surface-actor.c                | 12 ++--
 src/compositor/meta-surface-actor.h                |  6 +-
 src/compositor/meta-sync-ring.c                    | 14 ++--
 src/compositor/meta-sync-ring.h                    |  1 -
 src/compositor/meta-texture-rectangle.c            |  6 +-
 src/compositor/meta-texture-rectangle.h            |  2 +-
 src/compositor/meta-texture-tower.c                |  6 +-
 src/compositor/meta-texture-tower.h                |  2 +-
 src/compositor/meta-window-actor-private.h         |  9 ++-
 src/compositor/meta-window-actor.c                 | 48 ++++++-------
 src/compositor/meta-window-group-private.h         |  5 +-
 src/compositor/meta-window-group.c                 | 20 +++---
 src/compositor/meta-window-shape.c                 |  5 +-
 src/compositor/plugins/default.c                   | 23 ++++---
 src/compositor/region-utils.c                      |  4 +-
 src/compositor/region-utils.h                      |  4 +-
 src/core/bell.c                                    | 15 ++--
 src/core/bell.h                                    |  4 +-
 src/core/boxes-private.h                           |  5 +-
 src/core/boxes.c                                   | 10 ++-
 src/core/constraints.c                             | 22 +++---
 src/core/constraints.h                             |  6 +-
 src/core/core.c                                    | 20 +++---
 src/core/core.h                                    |  6 +-
 src/core/delete.c                                  | 14 ++--
 src/core/display-private.h                         | 25 +++----
 src/core/display.c                                 | 79 +++++++++++-----------
 src/core/edge-resistance.c                         | 14 ++--
 src/core/edge-resistance.h                         |  2 +-
 src/core/events.c                                  | 15 ++--
 src/core/events.h                                  |  4 +-
 src/core/frame.c                                   | 12 ++--
 src/core/frame.h                                   |  3 +-
 src/core/keybindings-private.h                     |  5 +-
 src/core/keybindings.c                             | 34 +++++-----
 src/core/main.c                                    | 59 ++++++++--------
 src/core/meta-accel-parse.c                        |  9 +--
 src/core/meta-accel-parse.h                        |  3 +-
 src/core/meta-close-dialog-default-private.h       |  4 ++
 src/core/meta-close-dialog-default.c               | 14 ++--
 src/core/meta-close-dialog.c                       |  3 +-
 src/core/meta-gesture-tracker-private.h            |  5 +-
 src/core/meta-gesture-tracker.c                    |  6 +-
 ...meta-inhibit-shortcuts-dialog-default-private.h |  4 ++
 src/core/meta-inhibit-shortcuts-dialog-default.c   |  8 +--
 src/core/meta-workspace-manager.c                  |  1 -
 src/core/mutter.c                                  | 11 ++-
 src/core/place.c                                   | 18 ++---
 src/core/place.h                                   |  4 +-
 src/core/prefs.c                                   | 14 ++--
 src/core/restart-helper.c                          |  2 +
 src/core/restart.c                                 | 12 ++--
 src/core/stack-tracker.c                           | 17 +++--
 src/core/stack-tracker.h                           |  4 +-
 src/core/stack.c                                   | 23 ++++---
 src/core/stack.h                                   |  2 +-
 src/core/startup-notification-private.h            |  2 +-
 src/core/startup-notification.c                    |  8 +--
 src/core/util-private.h                            |  3 +-
 src/core/util.c                                    | 11 +--
 src/core/window-private.h                          | 18 +++--
 src/core/window.c                                  | 55 ++++++++-------
 src/core/workspace-private.h                       |  4 +-
 src/core/workspace.c                               | 23 ++++---
 src/meta/common.h                                  |  4 +-
 src/meta/compositor-mutter.h                       |  8 +--
 src/meta/meta-backend.h                            |  2 +-
 src/meta/meta-background-actor.h                   |  6 +-
 src/meta/meta-background-group.h                   |  2 +-
 src/meta/meta-background-image.h                   |  5 +-
 src/meta/meta-background.h                         |  4 +-
 src/meta/meta-cursor-tracker.h                     |  9 +--
 src/meta/meta-plugin.h                             | 16 ++---
 src/meta/meta-shadow-factory.h                     |  5 +-
 src/meta/meta-shaped-texture.h                     |  3 +-
 src/meta/meta-window-actor.h                       |  4 +-
 src/tests/boxes-tests.c                            |  2 +
 src/tests/headless-start-test.c                    |  1 +
 src/tests/test-client.c                            |  2 +
 src/tests/test-runner.c                            | 16 +++--
 src/ui/frames.c                                    | 24 +++----
 src/ui/frames.h                                    |  9 +--
 src/ui/theme-private.h                             |  7 +-
 src/ui/theme.c                                     | 19 +++---
 src/ui/ui.c                                        | 21 +++---
 src/ui/ui.h                                        |  8 +--
 src/wayland/meta-pointer-confinement-wayland.c     |  8 +--
 src/wayland/meta-wayland-buffer.c                  | 15 ++--
 src/wayland/meta-wayland-buffer.h                  |  8 +--
 src/wayland/meta-wayland-cursor-surface.c          | 13 ++--
 src/wayland/meta-wayland-cursor-surface.h          |  2 +-
 src/wayland/meta-wayland-data-device.c             | 19 +++---
 src/wayland/meta-wayland-data-device.h             |  4 +-
 src/wayland/meta-wayland-dma-buf.c                 | 10 +--
 src/wayland/meta-wayland-egl-stream.c              |  7 +-
 .../meta-wayland-inhibit-shortcuts-dialog.c        | 10 +--
 .../meta-wayland-inhibit-shortcuts-dialog.h        |  2 +-
 src/wayland/meta-wayland-inhibit-shortcuts.c       |  3 +-
 src/wayland/meta-wayland-inhibit-shortcuts.h       |  3 +-
 src/wayland/meta-wayland-keyboard.c                | 15 ++--
 src/wayland/meta-wayland-keyboard.h                |  2 +-
 src/wayland/meta-wayland-legacy-xdg-shell.c        |  2 +-
 src/wayland/meta-wayland-legacy-xdg-shell.h        |  2 +-
 src/wayland/meta-wayland-outputs.c                 | 11 +--
 src/wayland/meta-wayland-outputs.h                 |  2 +-
 src/wayland/meta-wayland-pointer-constraints.c     | 24 +++----
 src/wayland/meta-wayland-pointer-constraints.h     |  6 +-
 src/wayland/meta-wayland-pointer-gesture-pinch.c   | 10 +--
 src/wayland/meta-wayland-pointer-gesture-pinch.h   |  6 +-
 src/wayland/meta-wayland-pointer-gesture-swipe.c   | 10 +--
 src/wayland/meta-wayland-pointer-gesture-swipe.h   |  6 +-
 src/wayland/meta-wayland-pointer-gestures.c        |  9 ++-
 src/wayland/meta-wayland-pointer-gestures.h        |  4 +-
 src/wayland/meta-wayland-pointer.c                 | 39 ++++++-----
 src/wayland/meta-wayland-pointer.h                 | 18 +++--
 src/wayland/meta-wayland-popup.c                   |  8 +--
 src/wayland/meta-wayland-popup.h                   |  4 +-
 src/wayland/meta-wayland-private.h                 | 22 +++---
 src/wayland/meta-wayland-region.c                  |  2 +-
 src/wayland/meta-wayland-region.h                  |  5 +-
 src/wayland/meta-wayland-seat.c                    | 10 +--
 src/wayland/meta-wayland-seat.h                    | 22 +++---
 src/wayland/meta-wayland-surface.c                 | 58 ++++++++--------
 src/wayland/meta-wayland-surface.h                 | 15 ++--
 src/wayland/meta-wayland-tablet-cursor-surface.c   |  2 +-
 src/wayland/meta-wayland-tablet-cursor-surface.h   |  2 +-
 src/wayland/meta-wayland-tablet-manager.c          | 11 +--
 src/wayland/meta-wayland-tablet-manager.h          |  5 +-
 src/wayland/meta-wayland-tablet-pad-group.c        | 17 ++---
 src/wayland/meta-wayland-tablet-pad-group.h        |  5 +-
 src/wayland/meta-wayland-tablet-pad-ring.c         | 15 ++--
 src/wayland/meta-wayland-tablet-pad-ring.h         |  7 +-
 src/wayland/meta-wayland-tablet-pad-strip.c        | 15 ++--
 src/wayland/meta-wayland-tablet-pad-strip.h        |  7 +-
 src/wayland/meta-wayland-tablet-pad.c              | 24 +++----
 src/wayland/meta-wayland-tablet-pad.h              |  7 +-
 src/wayland/meta-wayland-tablet-seat.c             | 16 ++---
 src/wayland/meta-wayland-tablet-seat.h             |  5 +-
 src/wayland/meta-wayland-tablet-tool.c             | 23 ++++---
 src/wayland/meta-wayland-tablet-tool.h             |  7 +-
 src/wayland/meta-wayland-tablet.c                  | 11 +--
 src/wayland/meta-wayland-tablet.h                  |  4 +-
 src/wayland/meta-wayland-text-input-legacy.c       |  3 +-
 src/wayland/meta-wayland-text-input-legacy.h       |  3 +-
 src/wayland/meta-wayland-text-input.c              |  6 +-
 src/wayland/meta-wayland-text-input.h              |  3 +-
 src/wayland/meta-wayland-touch.c                   |  6 +-
 src/wayland/meta-wayland-touch.h                   |  5 +-
 src/wayland/meta-wayland-wl-shell.c                |  2 +-
 src/wayland/meta-wayland-xdg-shell.c               |  2 +-
 src/wayland/meta-wayland.c                         | 43 ++++++------
 src/wayland/meta-wayland.h                         |  6 +-
 src/wayland/meta-window-wayland.c                  | 23 ++++---
 src/wayland/meta-window-wayland.h                  |  2 +-
 src/wayland/meta-xwayland-grab-keyboard.h          |  3 +-
 src/wayland/meta-xwayland-private.h                |  4 +-
 src/wayland/meta-xwayland-selection.c              | 10 +--
 src/wayland/meta-xwayland.c                        | 11 ++-
 src/wayland/meta-xwayland.h                        |  2 +-
 src/x11/events.c                                   | 17 ++---
 src/x11/events.h                                   |  2 +-
 src/x11/group-private.h                            |  2 +-
 src/x11/group-props.c                              | 13 ++--
 src/x11/group-props.h                              |  4 +-
 src/x11/group.c                                    | 17 +++--
 src/x11/iconcache.c                                |  9 ++-
 src/x11/meta-x11-display.c                         |  9 ++-
 src/x11/meta-x11-errors.c                          |  7 +-
 src/x11/session.c                                  | 40 +++++------
 src/x11/session.h                                  |  2 +-
 src/x11/window-props.c                             | 25 ++++---
 src/x11/window-props.h                             |  2 +-
 src/x11/window-x11-private.h                       |  2 +-
 src/x11/window-x11.c                               | 41 +++++------
 src/x11/window-x11.h                               |  5 +-
 src/x11/xprops.c                                   | 18 ++---
 src/x11/xprops.h                                   |  6 +-
 274 files changed, 1479 insertions(+), 1367 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 5e7543711..88bc76de0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,10 +20,6 @@ AM_CPPFLAGS = \
        $(MUTTER_NATIVE_BACKEND_CFLAGS)                                 \
        -I$(builddir)                                                   \
        -I$(srcdir)                                                     \
-       -I$(srcdir)/backends                                            \
-       -I$(srcdir)/core                                                \
-       -I$(srcdir)/ui                                                  \
-       -I$(srcdir)/compositor                                          \
        -I$(top_srcdir)/cogl                                            \
        -I$(top_srcdir)/cogl/cogl                                       \
        -I$(top_srcdir)/cogl/cogl/winsys                                \
diff --git a/src/backends/edid-parse.c b/src/backends/edid-parse.c
index 52bc51ecf..a7b9fd225 100644
--- a/src/backends/edid-parse.c
+++ b/src/backends/edid-parse.c
@@ -22,12 +22,15 @@
 
 /* Author: Soren Sandmann <sandmann redhat com> */
 
-#include "edid.h"
+#include "config.h"
+
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
 #include <glib.h>
 
+#include "backends/edid.h"
+
 static int
 get_bit (int in, int bit)
 {
diff --git a/src/backends/meta-backend-private.h b/src/backends/meta-backend-private.h
index d3467940e..7c3d912be 100644
--- a/src/backends/meta-backend-private.h
+++ b/src/backends/meta-backend-private.h
@@ -27,24 +27,25 @@
 #define META_BACKEND_PRIVATE_H
 
 #include <glib-object.h>
-
 #include <xkbcommon/xkbcommon.h>
 
-#include <meta/meta-backend.h>
-#include <meta/meta-idle-monitor.h>
-#include "meta-cursor-renderer.h"
-#include "meta-monitor-manager-private.h"
-#include "meta-orientation-manager.h"
-#include "meta-input-settings-private.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-idle-monitor.h"
+#include "backends/meta-backend-types.h"
+#include "backends/meta-cursor-renderer.h"
 #include "backends/meta-egl.h"
+#include "backends/meta-input-settings-private.h"
+#include "backends/meta-monitor-manager-private.h"
+#include "backends/meta-orientation-manager.h"
 #include "backends/meta-pointer-constraint.h"
-#ifdef HAVE_REMOTE_DESKTOP
-#include "backends/meta-remote-desktop.h"
-#endif
 #include "backends/meta-renderer.h"
 #include "backends/meta-settings-private.h"
 #include "core/util-private.h"
 
+#ifdef HAVE_REMOTE_DESKTOP
+#include "backends/meta-remote-desktop.h"
+#endif
+
 #define DEFAULT_XKB_RULES_FILE "evdev"
 #define DEFAULT_XKB_MODEL "pc105+inet"
 
diff --git a/src/backends/meta-backend-types.h b/src/backends/meta-backend-types.h
new file mode 100644
index 000000000..8eeba981d
--- /dev/null
+++ b/src/backends/meta-backend-types.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2001 Havoc Pennington
+ * Copyright (C) 2003 Rob Adams
+ * Copyright (C) 2004-2006 Elijah Newren
+ * Copyright (C) 2013-2018 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
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * 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/>.
+ */
+
+#ifndef META_BACKEND_TYPE_H
+#define META_BACKEND_TYPE_H
+
+typedef struct _MetaMonitorManager MetaMonitorManager;
+
+typedef struct _MetaMonitorConfigManager MetaMonitorConfigManager;
+typedef struct _MetaMonitorConfigStore MetaMonitorConfigStore;
+typedef struct _MetaMonitorsConfig MetaMonitorsConfig;
+
+typedef struct _MetaMonitor MetaMonitor;
+typedef struct _MetaMonitorNormal MetaMonitorNormal;
+typedef struct _MetaMonitorTiled MetaMonitorTiled;
+typedef struct _MetaMonitorSpec MetaMonitorSpec;
+typedef struct _MetaLogicalMonitor MetaLogicalMonitor;
+
+typedef enum _MetaMonitorTransform
+{
+  META_MONITOR_TRANSFORM_NORMAL,
+  META_MONITOR_TRANSFORM_90,
+  META_MONITOR_TRANSFORM_180,
+  META_MONITOR_TRANSFORM_270,
+  META_MONITOR_TRANSFORM_FLIPPED,
+  META_MONITOR_TRANSFORM_FLIPPED_90,
+  META_MONITOR_TRANSFORM_FLIPPED_180,
+  META_MONITOR_TRANSFORM_FLIPPED_270,
+} MetaMonitorTransform;
+
+typedef struct _MetaMonitorMode MetaMonitorMode;
+
+typedef struct _MetaGpu MetaGpu;
+
+typedef struct _MetaCrtc MetaCrtc;
+typedef struct _MetaOutput MetaOutput;
+typedef struct _MetaCrtcMode MetaCrtcMode;
+typedef struct _MetaCrtcInfo MetaCrtcInfo;
+typedef struct _MetaOutputInfo MetaOutputInfo;
+typedef struct _MetaTileInfo MetaTileInfo;
+
+typedef struct _MetaRenderer MetaRenderer;
+typedef struct _MetaRendererView MetaRendererView;
+
+#endif /* META_BACKEND_TYPE_H */
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 6d1c22e65..e86738d90 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -24,34 +24,34 @@
 
 #include "config.h"
 
+#include "backends/meta-backend-private.h"
+
 #include <stdlib.h>
 
-#include <clutter/clutter-mutter.h>
-#include <meta/meta-backend.h>
-#include <meta/main.h>
-#include <meta/util.h>
-#include "meta-backend-private.h"
-#include "meta-input-settings-private.h"
+#include "backends/meta-cursor-tracker-private.h"
+#include "backends/meta-idle-monitor-private.h"
+#include "backends/meta-input-settings-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "backends/meta-monitor-manager-dummy.h"
+#include "backends/meta-settings-private.h"
+#include "backends/meta-stage-private.h"
 #include "backends/x11/meta-backend-x11.h"
-#include "meta-cursor-tracker-private.h"
-#include "meta-stage-private.h"
+#include "clutter/clutter-mutter.h"
+#include "meta/main.h"
+#include "meta/meta-backend.h"
+#include "meta/util.h"
 
 #ifdef HAVE_REMOTE_DESKTOP
 #include "backends/meta-dbus-session-watcher.h"
-#include "backends/meta-screen-cast.h"
 #include "backends/meta-remote-access-controller-private.h"
 #include "backends/meta-remote-desktop.h"
+#include "backends/meta-screen-cast.h"
 #endif
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
 #endif
 
-#include "backends/meta-idle-monitor-private.h"
-#include "backends/meta-logical-monitor.h"
-#include "backends/meta-monitor-manager-dummy.h"
-#include "backends/meta-settings-private.h"
-
 #define META_IDLE_MONITOR_CORE_DEVICE 0
 
 enum
diff --git a/src/backends/meta-barrier-private.h b/src/backends/meta-barrier-private.h
index 8c711172c..e5022ef16 100644
--- a/src/backends/meta-barrier-private.h
+++ b/src/backends/meta-barrier-private.h
@@ -27,6 +27,7 @@
 #define META_BARRIER_PRIVATE_H
 
 #include "core/meta-border.h"
+#include "meta/barrier.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/backends/meta-barrier.c b/src/backends/meta-barrier.c
index 4449076a6..fb14a5644 100644
--- a/src/backends/meta-barrier.c
+++ b/src/backends/meta-barrier.c
@@ -8,15 +8,20 @@
 
 #include "config.h"
 
+#include "meta/barrier.h"
+#include "backends/meta-barrier-private.h"
+
 #include <glib-object.h>
 
-#include <meta/util.h>
-#include <meta/barrier.h>
-#include "backends/native/meta-backend-native.h"
-#include "backends/native/meta-barrier-native.h"
 #include "backends/x11/meta-backend-x11.h"
 #include "backends/x11/meta-barrier-x11.h"
-#include <meta/meta-enum-types.h>
+#include "meta/meta-enum-types.h"
+#include "meta/util.h"
+
+#ifdef HAVE_NATIVE_BACKEND
+#include "backends/native/meta-backend-native.h"
+#include "backends/native/meta-barrier-native.h"
+#endif
 
 G_DEFINE_TYPE_WITH_PRIVATE (MetaBarrier, meta_barrier, G_TYPE_OBJECT)
 G_DEFINE_TYPE (MetaBarrierImpl, meta_barrier_impl, G_TYPE_OBJECT)
diff --git a/src/backends/meta-crtc.h b/src/backends/meta-crtc.h
index 2ff864c2a..8ef24551a 100644
--- a/src/backends/meta-crtc.h
+++ b/src/backends/meta-crtc.h
@@ -22,7 +22,8 @@
 
 #include <glib-object.h>
 
-#include "backends/meta-gpu.h"
+#include "backends/meta-backend-types.h"
+#include "meta/boxes.h"
 
 /* Same as KMS mode flags and X11 randr flags */
 typedef enum _MetaCrtcModeFlag
diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c
index eb79737f1..1f76206f8 100644
--- a/src/backends/meta-cursor-renderer.c
+++ b/src/backends/meta-cursor-renderer.c
@@ -24,16 +24,15 @@
 
 #include "config.h"
 
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
 
-#include <meta/meta-backend.h>
-#include <meta/util.h>
 #include <math.h>
 
-#include <cogl/cogl.h>
-#include <clutter/clutter.h>
-
-#include "meta-stage-private.h"
+#include "backends/meta-stage-private.h"
+#include "clutter/clutter.h"
+#include "cogl/cogl.h"
+#include "meta/meta-backend.h"
+#include "meta/util.h"
 
 struct _MetaCursorRendererPrivate
 {
diff --git a/src/backends/meta-cursor-renderer.h b/src/backends/meta-cursor-renderer.h
index 6795079b8..e1d5f8d42 100644
--- a/src/backends/meta-cursor-renderer.h
+++ b/src/backends/meta-cursor-renderer.h
@@ -27,7 +27,7 @@
 
 #include <glib-object.h>
 
-#include "meta-cursor.h"
+#include "backends/meta-cursor.h"
 
 #define META_TYPE_CURSOR_RENDERER (meta_cursor_renderer_get_type ())
 G_DECLARE_DERIVABLE_TYPE (MetaCursorRenderer, meta_cursor_renderer,
diff --git a/src/backends/meta-cursor-tracker-private.h b/src/backends/meta-cursor-tracker-private.h
index 6f4f84b83..95ff6d740 100644
--- a/src/backends/meta-cursor-tracker-private.h
+++ b/src/backends/meta-cursor-tracker-private.h
@@ -22,11 +22,10 @@
 #ifndef META_CURSOR_TRACKER_PRIVATE_H
 #define META_CURSOR_TRACKER_PRIVATE_H
 
-#include <meta/meta-cursor-tracker.h>
-
-#include "meta-cursor.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor.h"
+#include "backends/meta-cursor-renderer.h"
 #include "backends/x11/cm/meta-cursor-sprite-xfixes.h"
+#include "meta/meta-cursor-tracker.h"
 
 struct _MetaCursorTracker {
   GObject parent_instance;
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index 1c6871f58..d33fa300a 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -28,21 +28,20 @@
  */
 
 #include "config.h"
-#include "meta-cursor-tracker-private.h"
 
-#include <string.h>
-#include <meta/main.h>
-#include <meta/util.h>
-#include <meta/meta-x11-errors.h>
-
-#include <cogl/cogl.h>
-#include <clutter/clutter.h>
+#include "backends/meta-cursor-tracker-private.h"
 
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
+#include <string.h>
 
-#include "meta-backend-private.h"
+#include "backends/meta-backend-private.h"
 #include "backends/x11/cm/meta-cursor-sprite-xfixes.h"
+#include "cogl/cogl.h"
+#include "clutter/clutter.h"
+#include "meta/main.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/util.h"
 #include "x11/meta-x11-display-private.h"
 
 G_DEFINE_TYPE (MetaCursorTracker, meta_cursor_tracker, G_TYPE_OBJECT);
diff --git a/src/backends/meta-cursor.c b/src/backends/meta-cursor.c
index 9750dc00b..d9b020ed6 100644
--- a/src/backends/meta-cursor.c
+++ b/src/backends/meta-cursor.c
@@ -21,7 +21,7 @@
 
 #include "config.h"
 
-#include "meta-cursor.h"
+#include "backends/meta-cursor.h"
 
 #include "backends/meta-backend-private.h"
 #include "cogl/cogl.h"
diff --git a/src/backends/meta-cursor.h b/src/backends/meta-cursor.h
index 3051fdee6..ebcb8f6d4 100644
--- a/src/backends/meta-cursor.h
+++ b/src/backends/meta-cursor.h
@@ -22,8 +22,8 @@
 #ifndef META_CURSOR_H
 #define META_CURSOR_H
 
-#include <meta/common.h>
-#include <meta/boxes.h>
+#include "meta/common.h"
+#include "meta/boxes.h"
 
 #define META_TYPE_CURSOR_SPRITE (meta_cursor_sprite_get_type ())
 G_DECLARE_DERIVABLE_TYPE (MetaCursorSprite,
diff --git a/src/backends/meta-dnd-private.h b/src/backends/meta-dnd-private.h
index b2ff90cfb..ebbd14143 100644
--- a/src/backends/meta-dnd-private.h
+++ b/src/backends/meta-dnd-private.h
@@ -20,8 +20,11 @@
 #ifndef META_DND_PRIVATE__H
 #define META_DND_PRIVATE__H
 
+#include <glib.h>
 #include <X11/Xlib.h>
 
+#include "backends/meta-backend-private.h"
+
 gboolean meta_dnd_handle_xdnd_event (MetaBackend    *backend,
                                      MetaCompositor *compositor,
                                      Display        *xdisplay,
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index 755ec4908..c60dd2eaa 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -24,17 +24,17 @@
 
 #include "config.h"
 
-#include "backends/meta-backend-private.h"
-#include "backends/meta-egl.h"
-#include "backends/meta-egl-ext.h"
-#include "meta/util.h"
-
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 #include <gio/gio.h>
 #include <glib.h>
 #include <glib-object.h>
 
+#include "backends/meta-backend-private.h"
+#include "backends/meta-egl.h"
+#include "backends/meta-egl-ext.h"
+#include "meta/util.h"
+
 struct _MetaEgl
 {
   GObject parent;
diff --git a/src/backends/meta-idle-monitor-dbus.c b/src/backends/meta-idle-monitor-dbus.c
index e01d6dda6..e55275be7 100644
--- a/src/backends/meta-idle-monitor-dbus.c
+++ b/src/backends/meta-idle-monitor-dbus.c
@@ -22,14 +22,15 @@
 
 #include "config.h"
 
-#include "meta-idle-monitor-dbus.h"
-#include <meta/meta-idle-monitor.h>
-#include <backends/meta-idle-monitor-private.h>
-#include "meta-dbus-idle-monitor.h"
+#include "backends/meta-idle-monitor-dbus.h"
+
+#include "backends/meta-idle-monitor-private.h"
+#include "clutter/clutter.h"
+#include "meta/main.h"
+#include "meta/meta-idle-monitor.h"
+#include "meta/util.h"
 
-#include <clutter/clutter.h>
-#include <meta/util.h>
-#include <meta/main.h> /* for meta_get_replace_current_wm () */
+#include "meta-dbus-idle-monitor.h"
 
 static gboolean
 handle_get_idletime (MetaDBusIdleMonitor   *skeleton,
diff --git a/src/backends/meta-idle-monitor-private.h b/src/backends/meta-idle-monitor-private.h
index 82f3f87b7..93948b14b 100644
--- a/src/backends/meta-idle-monitor-private.h
+++ b/src/backends/meta-idle-monitor-private.h
@@ -23,8 +23,8 @@
 #ifndef META_IDLE_MONITOR_PRIVATE_H
 #define META_IDLE_MONITOR_PRIVATE_H
 
-#include <meta/meta-idle-monitor.h>
-#include "display-private.h"
+#include "core/display-private.h"
+#include "meta/meta-idle-monitor.h"
 
 typedef struct
 {
diff --git a/src/backends/meta-idle-monitor.c b/src/backends/meta-idle-monitor.c
index 6b183fa8c..6673fe06c 100644
--- a/src/backends/meta-idle-monitor.c
+++ b/src/backends/meta-idle-monitor.c
@@ -29,17 +29,17 @@
 #include "config.h"
 
 #include <string.h>
-#include <clutter/clutter.h>
 #include <X11/Xlib.h>
 #include <X11/extensions/sync.h>
 
-#include <meta/util.h>
-#include <meta/main.h>
-#include <meta/meta-idle-monitor.h>
-#include "gsm-inhibitor-flag.h"
-#include "meta-idle-monitor-private.h"
-#include "meta-idle-monitor-dbus.h"
-#include "meta-backend-private.h"
+#include "backends/gsm-inhibitor-flag.h"
+#include "backends/meta-backend-private.h"
+#include "backends/meta-idle-monitor-private.h"
+#include "backends/meta-idle-monitor-dbus.h"
+#include "clutter/clutter.h"
+#include "meta/main.h"
+#include "meta/meta-idle-monitor.h"
+#include "meta/util.h"
 
 G_STATIC_ASSERT(sizeof(unsigned long) == sizeof(gpointer));
 
diff --git a/src/backends/meta-input-settings-private.h b/src/backends/meta-input-settings-private.h
index 8e037cb5f..18f2bdc4d 100644
--- a/src/backends/meta-input-settings-private.h
+++ b/src/backends/meta-input-settings-private.h
@@ -22,15 +22,16 @@
 #ifndef META_INPUT_SETTINGS_PRIVATE_H
 #define META_INPUT_SETTINGS_PRIVATE_H
 
-#include "display-private.h"
-#include "meta-monitor-manager-private.h"
-
-#include <clutter/clutter.h>
+#include <gsettings-desktop-schemas/gdesktop-enums.h>
 
 #ifdef HAVE_LIBWACOM
 #include <libwacom/libwacom.h>
 #endif
 
+#include "backends/meta-backend-types.h"
+#include "clutter/clutter.h"
+#include "meta/display.h"
+
 #define META_TYPE_INPUT_SETTINGS (meta_input_settings_get_type ())
 G_DECLARE_DERIVABLE_TYPE (MetaInputSettings, meta_input_settings,
                           META, INPUT_SETTINGS, GObject)
diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c
index 48ebe59c6..1d1a9ae35 100644
--- a/src/backends/meta-input-settings.c
+++ b/src/backends/meta-input-settings.c
@@ -27,15 +27,15 @@
 
 #include "config.h"
 
+#include <glib/gi18n-lib.h>
 #include <string.h>
 
-#include "meta-backend-private.h"
-#include "meta-input-settings-private.h"
+#include "backends/meta-backend-private.h"
+#include "backends/meta-input-settings-private.h"
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-monitor.h"
-
-#include <glib/gi18n-lib.h>
-#include <meta/util.h>
+#include "core/display-private.h"
+#include "meta/util.h"
 
 static GQuark quark_tool_settings = 0;
 
diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c
index fe49487b1..f11bf5cf7 100644
--- a/src/backends/meta-monitor-manager-dummy.c
+++ b/src/backends/meta-monitor-manager-dummy.c
@@ -25,16 +25,16 @@
 
 #include "config.h"
 
-#include "meta-monitor-manager-dummy.h"
+#include "backends/meta-monitor-manager-dummy.h"
 
 #include <stdlib.h>
 
-#include <meta/util.h>
 #include "backends/meta-backend-private.h"
 #include "backends/meta-crtc.h"
 #include "backends/meta-monitor.h"
 #include "backends/meta-monitor-config-manager.h"
 #include "backends/meta-output.h"
+#include "meta/util.h"
 
 #define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1)
 
diff --git a/src/backends/meta-monitor-manager-dummy.h b/src/backends/meta-monitor-manager-dummy.h
index 5451d72a2..d00cc824c 100644
--- a/src/backends/meta-monitor-manager-dummy.h
+++ b/src/backends/meta-monitor-manager-dummy.h
@@ -23,8 +23,8 @@
 #ifndef META_MONITOR_MANAGER_DUMMY_H
 #define META_MONITOR_MANAGER_DUMMY_H
 
-#include "meta-monitor-manager-private.h"
 #include "backends/meta-gpu.h"
+#include "backends/meta-monitor-manager-private.h"
 
 #define META_TYPE_MONITOR_MANAGER_DUMMY (meta_monitor_manager_dummy_get_type ())
 G_DECLARE_FINAL_TYPE (MetaMonitorManagerDummy, meta_monitor_manager_dummy,
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 811200ab8..2d18e3029 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -38,34 +38,13 @@
 #include <cogl/cogl.h>
 #include <libgnome-desktop/gnome-pnp-ids.h>
 
-#include "display-private.h"
-#include "stack-tracker.h"
-#include <meta/meta-monitor-manager.h>
+#include "backends/meta-backend-private.h"
+#include "backends/meta-cursor.h"
+#include "backends/meta-display-config-shared.h"
+#include "meta/display.h"
+#include "meta/meta-monitor-manager.h"
 
-#include "meta-display-config-shared.h"
 #include "meta-dbus-display-config.h"
-#include "meta-cursor.h"
-
-typedef struct _MetaMonitorConfigManager MetaMonitorConfigManager;
-typedef struct _MetaMonitorConfigStore MetaMonitorConfigStore;
-typedef struct _MetaMonitorsConfig MetaMonitorsConfig;
-
-typedef struct _MetaMonitor MetaMonitor;
-typedef struct _MetaMonitorNormal MetaMonitorNormal;
-typedef struct _MetaMonitorTiled MetaMonitorTiled;
-typedef struct _MetaMonitorSpec MetaMonitorSpec;
-typedef struct _MetaLogicalMonitor MetaLogicalMonitor;
-
-typedef struct _MetaMonitorMode MetaMonitorMode;
-
-typedef struct _MetaGpu MetaGpu;
-
-typedef struct _MetaCrtc MetaCrtc;
-typedef struct _MetaOutput MetaOutput;
-typedef struct _MetaCrtcMode MetaCrtcMode;
-typedef struct _MetaCrtcInfo MetaCrtcInfo;
-typedef struct _MetaOutputInfo MetaOutputInfo;
-typedef struct _MetaTileInfo MetaTileInfo;
 
 #define META_MONITOR_MANAGER_MIN_SCREEN_WIDTH 640
 #define META_MONITOR_MANAGER_MIN_SCREEN_HEIGHT 480
@@ -93,18 +72,6 @@ typedef enum _MetaLogicalMonitorLayoutMode
   META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL = 2
 } MetaLogicalMonitorLayoutMode;
 
-typedef enum
-{
-  META_MONITOR_TRANSFORM_NORMAL,
-  META_MONITOR_TRANSFORM_90,
-  META_MONITOR_TRANSFORM_180,
-  META_MONITOR_TRANSFORM_270,
-  META_MONITOR_TRANSFORM_FLIPPED,
-  META_MONITOR_TRANSFORM_FLIPPED_90,
-  META_MONITOR_TRANSFORM_FLIPPED_180,
-  META_MONITOR_TRANSFORM_FLIPPED_270,
-} MetaMonitorTransform;
-
 /*
  * MetaCrtcInfo:
  *
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index baed7521d..a411055fc 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -25,17 +25,13 @@
 
 #include "config.h"
 
-#include "meta-monitor-manager-private.h"
+#include "backends/meta-monitor-manager-private.h"
 
 #include <string.h>
 #include <math.h>
 #include <stdlib.h>
-#include <clutter/clutter.h>
 
-#include <meta/main.h>
-#include "util-private.h"
-#include <meta/meta-x11-errors.h>
-#include "edid.h"
+#include "backends/edid.h"
 #include "backends/meta-backend-private.h"
 #include "backends/meta-crtc.h"
 #include "backends/meta-logical-monitor.h"
@@ -44,7 +40,10 @@
 #include "backends/meta-orientation-manager.h"
 #include "backends/meta-output.h"
 #include "backends/x11/meta-monitor-manager-xrandr.h"
-#include "meta-backend-private.h"
+#include "clutter/clutter.h"
+#include "core/util-private.h"
+#include "meta/main.h"
+#include "meta/meta-x11-errors.h"
 
 #define DEFAULT_DISPLAY_CONFIGURATION_TIMEOUT 20
 
diff --git a/src/backends/meta-monitor.h b/src/backends/meta-monitor.h
index 213ff2cbb..7ac9cd12c 100644
--- a/src/backends/meta-monitor.h
+++ b/src/backends/meta-monitor.h
@@ -24,8 +24,8 @@
 
 #include <glib-object.h>
 
+#include "backends/meta-backend-types.h"
 #include "backends/meta-crtc.h"
-#include "backends/meta-monitor-manager-private.h"
 #include "backends/meta-output.h"
 
 typedef struct _MetaMonitorSpec
diff --git a/src/backends/meta-orientation-manager.c b/src/backends/meta-orientation-manager.c
index 4dbdb627c..4f57248eb 100644
--- a/src/backends/meta-orientation-manager.c
+++ b/src/backends/meta-orientation-manager.c
@@ -21,10 +21,10 @@
 
 #include "config.h"
 
-#include <gio/gio.h>
-
 #include "backends/meta-orientation-manager.h"
 
+#include <gio/gio.h>
+
 enum
 {
   ORIENTATION_CHANGED,
diff --git a/src/backends/meta-orientation-manager.h b/src/backends/meta-orientation-manager.h
index b393d107d..58a84368f 100644
--- a/src/backends/meta-orientation-manager.h
+++ b/src/backends/meta-orientation-manager.h
@@ -22,6 +22,8 @@
 #ifndef META_ORIENTATION_MANAGER_H
 #define META_ORIENTATION_MANAGER_H
 
+#include <glib-object.h>
+
 typedef enum
 {
   META_ORIENTATION_UNDEFINED,
diff --git a/src/backends/meta-output.h b/src/backends/meta-output.h
index 2dc17daf1..4eadd6cdc 100644
--- a/src/backends/meta-output.h
+++ b/src/backends/meta-output.h
@@ -22,6 +22,7 @@
 
 #include <glib-object.h>
 
+#include "backends/meta-backend-types.h"
 #include "backends/meta-gpu.h"
 
 struct _MetaTileInfo
diff --git a/src/backends/meta-pointer-constraint.h b/src/backends/meta-pointer-constraint.h
index fd60816a6..01bc13758 100644
--- a/src/backends/meta-pointer-constraint.h
+++ b/src/backends/meta-pointer-constraint.h
@@ -26,7 +26,8 @@
 #define META_POINTER_CONSTRAINT_H
 
 #include <glib-object.h>
-#include <clutter/clutter.h>
+
+#include "clutter/clutter.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/backends/meta-remote-desktop-session.c b/src/backends/meta-remote-desktop-session.c
index a0225d72b..50c6f9a88 100644
--- a/src/backends/meta-remote-desktop-session.c
+++ b/src/backends/meta-remote-desktop-session.c
@@ -35,6 +35,7 @@
 #include "backends/x11/meta-backend-x11.h"
 #include "cogl/cogl.h"
 #include "meta/meta-backend.h"
+
 #include "meta-dbus-remote-desktop.h"
 
 #define META_REMOTE_DESKTOP_SESSION_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop/Session"
diff --git a/src/backends/meta-remote-desktop.c b/src/backends/meta-remote-desktop.c
index 4463957d9..cd32fae0f 100644
--- a/src/backends/meta-remote-desktop.c
+++ b/src/backends/meta-remote-desktop.c
@@ -32,13 +32,14 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "meta-dbus-remote-desktop.h"
 #include "backends/meta-backend-private.h"
 #include "backends/meta-cursor-renderer.h"
 #include "backends/meta-remote-desktop-session.h"
 #include "backends/native/meta-cursor-renderer-native.h"
 #include "meta/meta-backend.h"
 
+#include "meta-dbus-remote-desktop.h"
+
 #define META_REMOTE_DESKTOP_DBUS_SERVICE "org.gnome.Mutter.RemoteDesktop"
 #define META_REMOTE_DESKTOP_DBUS_PATH "/org/gnome/Mutter/RemoteDesktop"
 #define META_REMOTE_DESKTOP_API_VERSION 1
diff --git a/src/backends/meta-remote-desktop.h b/src/backends/meta-remote-desktop.h
index 9ce89f992..3eebc13d5 100644
--- a/src/backends/meta-remote-desktop.h
+++ b/src/backends/meta-remote-desktop.h
@@ -26,6 +26,7 @@
 #include <glib-object.h>
 
 #include "backends/meta-dbus-session-watcher.h"
+
 #include "meta-dbus-remote-desktop.h"
 
 typedef struct _MetaRemoteDesktopSession MetaRemoteDesktopSession;
diff --git a/src/backends/meta-renderer.c b/src/backends/meta-renderer.c
index ceac7df57..191897e64 100644
--- a/src/backends/meta-renderer.c
+++ b/src/backends/meta-renderer.c
@@ -24,10 +24,11 @@
 
 #include "config.h"
 
+#include "backends/meta-renderer.h"
+
 #include <glib-object.h>
 
 #include "backends/meta-backend-private.h"
-#include "backends/meta-renderer.h"
 
 typedef struct _MetaRendererPrivate
 {
diff --git a/src/backends/meta-renderer.h b/src/backends/meta-renderer.h
index bf51b51ab..ba91a2584 100644
--- a/src/backends/meta-renderer.h
+++ b/src/backends/meta-renderer.h
@@ -27,10 +27,10 @@
 
 #include <glib-object.h>
 
-#include "cogl/cogl.h"
-#include "clutter/clutter-mutter.h"
 #include "backends/meta-monitor-manager-private.h"
 #include "backends/meta-renderer-view.h"
+#include "clutter/clutter-mutter.h"
+#include "cogl/cogl.h"
 
 #define META_TYPE_RENDERER (meta_renderer_get_type ())
 G_DECLARE_DERIVABLE_TYPE (MetaRenderer, meta_renderer, META, RENDERER, GObject)
diff --git a/src/backends/meta-screen-cast-monitor-stream-src.c 
b/src/backends/meta-screen-cast-monitor-stream-src.c
index 382d7d4a2..1118daadd 100644
--- a/src/backends/meta-screen-cast-monitor-stream-src.c
+++ b/src/backends/meta-screen-cast-monitor-stream-src.c
@@ -25,9 +25,9 @@
 #include "backends/meta-screen-cast-monitor-stream-src.h"
 
 #include "backends/meta-backend-private.h"
-#include "backends/meta-screen-cast-monitor-stream.h"
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-monitor.h"
+#include "backends/meta-screen-cast-monitor-stream.h"
 #include "clutter/clutter.h"
 #include "clutter/clutter-mutter.h"
 
diff --git a/src/backends/meta-screen-cast.c b/src/backends/meta-screen-cast.c
index 4a67683e7..bebef5b4e 100644
--- a/src/backends/meta-screen-cast.c
+++ b/src/backends/meta-screen-cast.c
@@ -27,8 +27,8 @@
 #include <pipewire/pipewire.h>
 
 #include "backends/meta-backend-private.h"
-#include "backends/meta-screen-cast-session.h"
 #include "backends/meta-remote-desktop-session.h"
+#include "backends/meta-screen-cast-session.h"
 
 #define META_SCREEN_CAST_DBUS_SERVICE "org.gnome.Mutter.ScreenCast"
 #define META_SCREEN_CAST_DBUS_PATH "/org/gnome/Mutter/ScreenCast"
diff --git a/src/backends/meta-screen-cast.h b/src/backends/meta-screen-cast.h
index a4fb8dd45..a28a0aa07 100644
--- a/src/backends/meta-screen-cast.h
+++ b/src/backends/meta-screen-cast.h
@@ -26,6 +26,7 @@
 #include <glib-object.h>
 
 #include "backends/meta-dbus-session-watcher.h"
+
 #include "meta-dbus-screen-cast.h"
 
 #define META_TYPE_SCREEN_CAST (meta_screen_cast_get_type ())
diff --git a/src/backends/meta-stage-private.h b/src/backends/meta-stage-private.h
index 8a9309772..fca98b901 100644
--- a/src/backends/meta-stage-private.h
+++ b/src/backends/meta-stage-private.h
@@ -20,10 +20,9 @@
 #ifndef META_STAGE_PRIVATE_H
 #define META_STAGE_PRIVATE_H
 
-#include <meta/meta-stage.h>
-
-#include "meta-cursor.h"
-#include <meta/boxes.h>
+#include "backends/meta-cursor.h"
+#include "meta/boxes.h"
+#include "meta/meta-stage.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/backends/meta-stage.c b/src/backends/meta-stage.c
index 73ca70118..2ca873ca8 100644
--- a/src/backends/meta-stage.c
+++ b/src/backends/meta-stage.c
@@ -20,15 +20,15 @@
  *     Jasper St. Pierre <jstpierre mecheye net>
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "meta-stage-private.h"
+#include "backends/meta-stage-private.h"
 
-#include <meta/meta-backend.h>
-#include <meta/meta-monitor-manager.h>
-#include <meta/util.h>
 #include "backends/meta-backend-private.h"
 #include "clutter/clutter-mutter.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-monitor-manager.h"
+#include "meta/util.h"
 
 struct _MetaOverlay {
   gboolean enabled;
diff --git a/src/backends/native/dbus-utils.c b/src/backends/native/dbus-utils.c
index 6a63b92e8..79fafe881 100644
--- a/src/backends/native/dbus-utils.c
+++ b/src/backends/native/dbus-utils.c
@@ -24,7 +24,7 @@
 
 #include "config.h"
 
-#include "dbus-utils.h"
+#include "backends/native/dbus-utils.h"
 
 #include <glib.h>
 
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 75b26b4f1..b52d83573 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -24,31 +24,30 @@
 
 #include "config.h"
 
-#include "meta-backend-native.h"
-#include "meta-backend-native-private.h"
+#include "backends/native/meta-backend-native.h"
+#include "backends/native/meta-backend-native-private.h"
 
-#include <meta/main.h>
-#include <clutter/evdev/clutter-evdev.h>
+#include <stdlib.h>
 
-#include "clutter/egl/clutter-egl.h"
-#include "clutter/evdev/clutter-evdev.h"
-#include "meta-barrier-native.h"
-#include "meta-border.h"
-#include "meta-monitor-manager-kms.h"
-#include "meta-cursor-renderer-native.h"
-#include "meta-launcher.h"
 #include "backends/meta-cursor-tracker-private.h"
 #include "backends/meta-idle-monitor-private.h"
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-monitor-manager-private.h"
 #include "backends/meta-pointer-constraint.h"
 #include "backends/meta-stage-private.h"
+#include "backends/native/meta-barrier-native.h"
 #include "backends/native/meta-clutter-backend-native.h"
+#include "backends/native/meta-cursor-renderer-native.h"
 #include "backends/native/meta-input-settings-native.h"
+#include "backends/native/meta-launcher.h"
+#include "backends/native/meta-monitor-manager-kms.h"
 #include "backends/native/meta-renderer-native.h"
 #include "backends/native/meta-stage-native.h"
-
-#include <stdlib.h>
+#include "clutter/evdev/clutter-evdev.h"
+#include "clutter/egl/clutter-egl.h"
+#include "clutter/evdev/clutter-evdev.h"
+#include "core/meta-border.h"
+#include "meta/main.h"
 
 struct _MetaBackendNative
 {
@@ -157,17 +156,17 @@ constrain_all_screen_monitors (ClutterInputDevice *device,
       bottom = top + logical_monitor->rect.height;
 
       if ((cx >= left) && (cx < right) && (cy >= top) && (cy < bottom))
-       {
-         if (*x < left)
-           *x = left;
-         if (*x >= right)
-           *x = right - 1;
-         if (*y < top)
-           *y = top;
-         if (*y >= bottom)
-           *y = bottom - 1;
-
-         return;
+        {
+          if (*x < left)
+            *x = left;
+          if (*x >= right)
+            *x = right - 1;
+          if (*y < top)
+            *y = top;
+          if (*y >= bottom)
+            *y = bottom - 1;
+
+          return;
         }
     }
 }
@@ -219,24 +218,24 @@ relative_motion_across_outputs (MetaMonitorManager *monitor_manager,
       MetaVector2 intersection;
 
       motion = (MetaLine2) {
-        .a = { x, y },
-        .b = { x + (dx * cur->scale), y + (dy * cur->scale) }
+          .a = { x, y },
+            .b = { x + (dx * cur->scale), y + (dy * cur->scale) }
       };
       left = (MetaLine2) {
-        { cur->rect.x, cur->rect.y },
-        { cur->rect.x, cur->rect.y + cur->rect.height }
+            { cur->rect.x, cur->rect.y },
+              { cur->rect.x, cur->rect.y + cur->rect.height }
       };
       right = (MetaLine2) {
-        { cur->rect.x + cur->rect.width, cur->rect.y },
-        { cur->rect.x + cur->rect.width, cur->rect.y + cur->rect.height }
+            { cur->rect.x + cur->rect.width, cur->rect.y },
+              { cur->rect.x + cur->rect.width, cur->rect.y + cur->rect.height }
       };
       top = (MetaLine2) {
-        { cur->rect.x, cur->rect.y },
-        { cur->rect.x + cur->rect.width, cur->rect.y }
+            { cur->rect.x, cur->rect.y },
+              { cur->rect.x + cur->rect.width, cur->rect.y }
       };
       bottom = (MetaLine2) {
-        { cur->rect.x, cur->rect.y + cur->rect.height },
-        { cur->rect.x + cur->rect.width, cur->rect.y + cur->rect.height }
+            { cur->rect.x, cur->rect.y + cur->rect.height },
+              { cur->rect.x + cur->rect.width, cur->rect.y + cur->rect.height }
       };
 
       if (direction != META_DISPLAY_RIGHT &&
diff --git a/src/backends/native/meta-barrier-native.c b/src/backends/native/meta-barrier-native.c
index c6a6be6c1..d335cbc17 100644
--- a/src/backends/native/meta-barrier-native.c
+++ b/src/backends/native/meta-barrier-native.c
@@ -30,15 +30,16 @@
 
 #include "config.h"
 
+#include "backends/native/meta-barrier-native.h"
+
 #include <stdlib.h>
 
-#include <meta/barrier.h>
-#include <meta/util.h>
 #include "backends/meta-backend-private.h"
 #include "backends/meta-barrier-private.h"
 #include "backends/native/meta-backend-native.h"
 #include "backends/native/meta-backend-native-private.h"
-#include "backends/native/meta-barrier-native.h"
+#include "meta/barrier.h"
+#include "meta/util.h"
 
 struct _MetaBarrierManagerNative
 {
diff --git a/src/backends/native/meta-clutter-backend-native.c 
b/src/backends/native/meta-clutter-backend-native.c
index 379e09d5a..be86eb50e 100644
--- a/src/backends/native/meta-clutter-backend-native.c
+++ b/src/backends/native/meta-clutter-backend-native.c
@@ -24,15 +24,16 @@
 
 #include "config.h"
 
+#include "backends/native/meta-clutter-backend-native.h"
+
 #include <glib-object.h>
 
 #include "backends/meta-backend-private.h"
 #include "backends/meta-renderer.h"
-#include "backends/native/meta-clutter-backend-native.h"
 #include "backends/native/meta-stage-native.h"
 #include "clutter/clutter.h"
-#include "meta/meta-backend.h"
 #include "core/bell.h"
+#include "meta/meta-backend.h"
 
 struct _MetaClutterBackendNative
 {
diff --git a/src/backends/native/meta-clutter-backend-native.h 
b/src/backends/native/meta-clutter-backend-native.h
index 2b4153e6c..4cebc0b84 100644
--- a/src/backends/native/meta-clutter-backend-native.h
+++ b/src/backends/native/meta-clutter-backend-native.h
@@ -27,9 +27,9 @@
 
 #include <glib-object.h>
 
+#include "backends/native/meta-stage-native.h"
 #include "clutter/clutter.h"
 #include "clutter/egl/clutter-backend-eglnative.h"
-#include "backends/native/meta-stage-native.h"
 
 #define META_TYPE_CLUTTER_BACKEND_NATIVE (meta_clutter_backend_native_get_type ())
 G_DECLARE_FINAL_TYPE (MetaClutterBackendNative, meta_clutter_backend_native,
diff --git a/src/backends/native/meta-crtc-kms.c b/src/backends/native/meta-crtc-kms.c
index 344c80a03..523ea6ccc 100644
--- a/src/backends/native/meta-crtc-kms.c
+++ b/src/backends/native/meta-crtc-kms.c
@@ -29,8 +29,6 @@
 #include "backends/meta-backend-private.h"
 #include "backends/native/meta-gpu-kms.h"
 
-#include <drm_fourcc.h>
-
 #define ALL_TRANSFORMS (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)
 #define ALL_TRANSFORMS_MASK ((1 << ALL_TRANSFORMS) - 1)
 
diff --git a/src/backends/native/meta-crtc-kms.h b/src/backends/native/meta-crtc-kms.h
index 44899f6fc..3c03f1ade 100644
--- a/src/backends/native/meta-crtc-kms.h
+++ b/src/backends/native/meta-crtc-kms.h
@@ -25,8 +25,8 @@
 #include <xf86drm.h>
 #include <xf86drmMode.h>
 
+#include "backends/meta-backend-types.h"
 #include "backends/meta-crtc.h"
-#include "backends/meta-gpu.h"
 #include "backends/native/meta-gpu-kms.h"
 
 gboolean meta_crtc_kms_is_transform_handled (MetaCrtc             *crtc,
diff --git a/src/backends/native/meta-cursor-renderer-native.c 
b/src/backends/native/meta-cursor-renderer-native.c
index 890a0d476..cb39bbed3 100644
--- a/src/backends/native/meta-cursor-renderer-native.c
+++ b/src/backends/native/meta-cursor-renderer-native.c
@@ -24,16 +24,13 @@
 
 #include "config.h"
 
-#include "meta-cursor-renderer-native.h"
+#include "backends/native/meta-cursor-renderer-native.h"
 
 #include <string.h>
 #include <gbm.h>
 #include <xf86drm.h>
 #include <errno.h>
 
-#include <meta/util.h>
-#include <meta/meta-backend.h>
-
 #include "backends/meta-backend-private.h"
 #include "backends/meta-cursor-sprite-xcursor.h"
 #include "backends/meta-logical-monitor.h"
@@ -43,6 +40,8 @@
 #include "backends/native/meta-renderer-native.h"
 #include "core/boxes-private.h"
 #include "meta/boxes.h"
+#include "meta/meta-backend.h"
+#include "meta/util.h"
 
 #ifdef HAVE_WAYLAND
 #include "wayland/meta-cursor-sprite-wayland.h"
diff --git a/src/backends/native/meta-cursor-renderer-native.h 
b/src/backends/native/meta-cursor-renderer-native.h
index 6d8fda2dd..d3560e48f 100644
--- a/src/backends/native/meta-cursor-renderer-native.h
+++ b/src/backends/native/meta-cursor-renderer-native.h
@@ -25,7 +25,7 @@
 #ifndef META_CURSOR_RENDERER_NATIVE_H
 #define META_CURSOR_RENDERER_NATIVE_H
 
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
 #include "meta/meta-backend.h"
 
 #define META_TYPE_CURSOR_RENDERER_NATIVE (meta_cursor_renderer_native_get_type ())
diff --git a/src/backends/native/meta-input-settings-native.c 
b/src/backends/native/meta-input-settings-native.c
index 7ff94e2db..0e00c0202 100644
--- a/src/backends/native/meta-input-settings-native.c
+++ b/src/backends/native/meta-input-settings-native.c
@@ -23,13 +23,13 @@
 
 #include "config.h"
 
-#include <clutter/evdev/clutter-evdev.h>
 #include <linux/input-event-codes.h>
 #include <libinput.h>
 
-#include "meta-backend-native.h"
-#include "meta-input-settings-native.h"
 #include "backends/meta-logical-monitor.h"
+#include "backends/native/meta-backend-native.h"
+#include "backends/native/meta-input-settings-native.h"
+#include "clutter/evdev/clutter-evdev.h"
 
 G_DEFINE_TYPE (MetaInputSettingsNative, meta_input_settings_native, META_TYPE_INPUT_SETTINGS)
 
diff --git a/src/backends/native/meta-input-settings-native.h 
b/src/backends/native/meta-input-settings-native.h
index 99ba7b6b4..ee600d5d8 100644
--- a/src/backends/native/meta-input-settings-native.h
+++ b/src/backends/native/meta-input-settings-native.h
@@ -22,7 +22,7 @@
 #ifndef META_INPUT_SETTINGS_NATIVE_H
 #define META_INPUT_SETTINGS_NATIVE_H
 
-#include "meta-input-settings-private.h"
+#include "backends/meta-input-settings-private.h"
 
 #define META_TYPE_INPUT_SETTINGS_NATIVE             (meta_input_settings_native_get_type ())
 #define META_INPUT_SETTINGS_NATIVE(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
META_TYPE_INPUT_SETTINGS_NATIVE, MetaInputSettingsNative))
diff --git a/src/backends/native/meta-launcher.c b/src/backends/native/meta-launcher.c
index fb12b0cf5..a43c1cc3d 100644
--- a/src/backends/native/meta-launcher.c
+++ b/src/backends/native/meta-launcher.c
@@ -19,13 +19,9 @@
 
 #include "config.h"
 
-#include "meta-launcher.h"
+#include "backends/native/meta-launcher.h"
 
 #include <gio/gunixfdlist.h>
-
-#include <clutter/clutter.h>
-#include <clutter/evdev/clutter-evdev.h>
-
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <malloc.h>
@@ -34,17 +30,18 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-
 #include <systemd/sd-login.h>
 #include <gudev/gudev.h>
 
-#include "dbus-utils.h"
-#include "meta-dbus-login1.h"
-
 #include "backends/meta-backend-private.h"
+#include "backends/native/dbus-utils.h"
 #include "backends/native/meta-backend-native.h"
-#include "meta-cursor-renderer-native.h"
-#include "meta-renderer-native.h"
+#include "backends/native/meta-cursor-renderer-native.h"
+#include "backends/native/meta-renderer-native.h"
+#include "clutter/clutter.h"
+#include "clutter/evdev/clutter-evdev.h"
+
+#include "meta-dbus-login1.h"
 
 struct _MetaLauncher
 {
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
index 766dc0c79..3e80373dc 100644
--- a/src/backends/native/meta-monitor-manager-kms.c
+++ b/src/backends/native/meta-monitor-manager-kms.c
@@ -23,32 +23,30 @@
 
 #include "config.h"
 
-#include "meta-monitor-manager-kms.h"
-#include "meta-monitor-config-manager.h"
-#include "meta-backend-native.h"
-#include "meta-crtc.h"
-#include "meta-launcher.h"
-#include "meta-output.h"
-#include "meta-backend-private.h"
-#include "meta-renderer-native.h"
-#include "meta-crtc-kms.h"
-#include "meta-gpu-kms.h"
-#include "meta-output-kms.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <clutter/clutter.h>
+#include "backends/native/meta-monitor-manager-kms.h"
 
 #include <drm.h>
 #include <errno.h>
+#include <gudev/gudev.h>
+#include <stdlib.h>
+#include <string.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
 #include <unistd.h>
 
-#include <meta/main.h>
-#include <meta/meta-x11-errors.h>
-
-#include <gudev/gudev.h>
+#include "backends/meta-backend-private.h"
+#include "backends/meta-crtc.h"
+#include "backends/meta-monitor-config-manager.h"
+#include "backends/meta-output.h"
+#include "backends/native/meta-backend-native.h"
+#include "backends/native/meta-crtc-kms.h"
+#include "backends/native/meta-gpu-kms.h"
+#include "backends/native/meta-launcher.h"
+#include "backends/native/meta-output-kms.h"
+#include "backends/native/meta-renderer-native.h"
+#include "clutter/clutter.h"
+#include "meta/main.h"
+#include "meta/meta-x11-errors.h"
 
 #define DRM_CARD_UDEV_DEVICE_TYPE "drm_minor"
 
diff --git a/src/backends/native/meta-monitor-manager-kms.h b/src/backends/native/meta-monitor-manager-kms.h
index fea5b63f1..dc8583d2d 100644
--- a/src/backends/native/meta-monitor-manager-kms.h
+++ b/src/backends/native/meta-monitor-manager-kms.h
@@ -26,7 +26,7 @@
 #include <xf86drm.h>
 #include <xf86drmMode.h>
 
-#include "meta-monitor-manager-private.h"
+#include "backends/meta-monitor-manager-private.h"
 
 typedef struct _MetaGpuKms MetaGpuKms;
 
diff --git a/src/backends/native/meta-renderer-native-gles3.c 
b/src/backends/native/meta-renderer-native-gles3.c
index 49832ff7e..71a440832 100644
--- a/src/backends/native/meta-renderer-native-gles3.c
+++ b/src/backends/native/meta-renderer-native-gles3.c
@@ -27,10 +27,10 @@
 
 #include "backends/native/meta-renderer-native-gles3.h"
 
+#include <GLES3/gl3.h>
 #include <drm_fourcc.h>
 #include <errno.h>
 #include <gio/gio.h>
-#include <GLES3/gl3.h>
 #include <string.h>
 
 #include "backends/meta-egl-ext.h"
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index 96414f678..ad4f289c9 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -37,6 +37,7 @@
 
 #include "config.h"
 
+#include <drm_fourcc.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <gbm.h>
@@ -47,21 +48,20 @@
 #include <sys/mman.h>
 #include <unistd.h>
 #include <xf86drm.h>
-#include <drm_fourcc.h>
 
 #include "backends/meta-backend-private.h"
 #include "backends/meta-crtc.h"
-#include "backends/meta-gles3.h"
-#include "backends/meta-egl.h"
 #include "backends/meta-egl-ext.h"
+#include "backends/meta-egl.h"
+#include "backends/meta-gles3.h"
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-output.h"
 #include "backends/meta-renderer-view.h"
 #include "backends/native/meta-crtc-kms.h"
 #include "backends/native/meta-gpu-kms.h"
 #include "backends/native/meta-monitor-manager-kms.h"
-#include "backends/native/meta-renderer-native.h"
 #include "backends/native/meta-renderer-native-gles3.h"
+#include "backends/native/meta-renderer-native.h"
 #include "cogl/cogl.h"
 #include "core/boxes-private.h"
 
diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
index ed81364e2..99cc6180c 100644
--- a/src/backends/x11/meta-backend-x11.c
+++ b/src/backends/x11/meta-backend-x11.c
@@ -24,29 +24,26 @@
 
 #include "config.h"
 
-#include <string.h>
-#include <stdlib.h>
-
-#include "meta-backend-x11.h"
-
-#include <clutter.h>
-#include <clutter/x11/clutter-x11.h>
+#include "backends/x11/meta-backend-x11.h"
 
-#include <X11/extensions/sync.h>
 #include <X11/XKBlib.h>
 #include <X11/Xlib-xcb.h>
+#include <X11/extensions/sync.h>
+#include <stdlib.h>
+#include <string.h>
 #include <xkbcommon/xkbcommon-x11.h>
 
+#include "backends/meta-dnd-private.h"
+#include "backends/meta-idle-monitor-private.h"
 #include "backends/meta-stage-private.h"
 #include "backends/x11/meta-clutter-backend-x11.h"
 #include "backends/x11/meta-renderer-x11.h"
-#include "meta/meta-cursor-tracker.h"
-
-#include <meta/util.h>
-#include "display-private.h"
+#include "clutter/clutter.h"
+#include "clutter/x11/clutter-x11.h"
 #include "compositor/compositor-private.h"
-#include "backends/meta-dnd-private.h"
-#include "backends/meta-idle-monitor-private.h"
+#include "core/display-private.h"
+#include "meta/meta-cursor-tracker.h"
+#include "meta/util.h"
 
 struct _MetaBackendX11Private
 {
diff --git a/src/backends/x11/meta-backend-x11.h b/src/backends/x11/meta-backend-x11.h
index 63076f6e4..526bf0caa 100644
--- a/src/backends/x11/meta-backend-x11.h
+++ b/src/backends/x11/meta-backend-x11.h
@@ -25,11 +25,10 @@
 #ifndef META_BACKEND_X11_H
 #define META_BACKEND_X11_H
 
-#include "backends/meta-backend-private.h"
-
 #include <stdint.h>
 #include <X11/Xlib.h>
 
+#include "backends/meta-backend-private.h"
 #include "backends/x11/meta-clutter-backend-x11.h"
 
 #define META_TYPE_BACKEND_X11 (meta_backend_x11_get_type ())
diff --git a/src/backends/x11/meta-barrier-x11.c b/src/backends/x11/meta-barrier-x11.c
index d861edf01..5e5f8f2a8 100644
--- a/src/backends/x11/meta-barrier-x11.c
+++ b/src/backends/x11/meta-barrier-x11.c
@@ -34,12 +34,12 @@
 #ifdef HAVE_XI23
 
 #include <glib-object.h>
-
 #include <X11/extensions/XInput2.h>
 #include <X11/extensions/Xfixes.h>
-#include <meta/barrier.h>
+
 #include "backends/x11/meta-barrier-x11.h"
-#include "display-private.h"
+#include "core/display-private.h"
+#include "meta/barrier.h"
 #include "x11/meta-x11-display-private.h"
 
 struct _MetaBarrierImplX11Private
diff --git a/src/backends/x11/meta-clutter-backend-x11.c b/src/backends/x11/meta-clutter-backend-x11.c
index 35f1050b0..56485ba9f 100644
--- a/src/backends/x11/meta-clutter-backend-x11.c
+++ b/src/backends/x11/meta-clutter-backend-x11.c
@@ -30,10 +30,10 @@
 #include "backends/meta-renderer.h"
 #include "backends/x11/meta-clutter-backend-x11.h"
 #include "backends/x11/meta-stage-x11-nested.h"
-#include "clutter/clutter.h"
 #include "clutter/clutter-mutter.h"
-#include "meta/meta-backend.h"
+#include "clutter/clutter.h"
 #include "core/bell.h"
+#include "meta/meta-backend.h"
 
 struct _MetaClutterBackendX11
 {
diff --git a/src/backends/x11/meta-crtc-xrandr.c b/src/backends/x11/meta-crtc-xrandr.c
index 403d04289..d201b8581 100644
--- a/src/backends/x11/meta-crtc-xrandr.c
+++ b/src/backends/x11/meta-crtc-xrandr.c
@@ -35,8 +35,8 @@
 
 #include "backends/x11/meta-crtc-xrandr.h"
 
-#include <stdlib.h>
 #include <X11/Xlib-xcb.h>
+#include <stdlib.h>
 #include <xcb/randr.h>
 
 #include "backends/meta-crtc.h"
diff --git a/src/backends/x11/meta-cursor-renderer-x11.c b/src/backends/x11/meta-cursor-renderer-x11.c
index bb3100a91..1f198c130 100644
--- a/src/backends/x11/meta-cursor-renderer-x11.c
+++ b/src/backends/x11/meta-cursor-renderer-x11.c
@@ -24,13 +24,13 @@
 
 #include "config.h"
 
-#include "meta-cursor-renderer-x11.h"
+#include "backends/x11/meta-cursor-renderer-x11.h"
 
 #include <X11/extensions/Xfixes.h>
 
-#include "meta-backend-x11.h"
-#include "meta-stage-private.h"
 #include "backends/meta-cursor-sprite-xcursor.h"
+#include "backends/meta-stage-private.h"
+#include "backends/x11/meta-backend-x11.h"
 
 struct _MetaCursorRendererX11Private
 {
diff --git a/src/backends/x11/meta-cursor-renderer-x11.h b/src/backends/x11/meta-cursor-renderer-x11.h
index 398a32ec8..b52834375 100644
--- a/src/backends/x11/meta-cursor-renderer-x11.h
+++ b/src/backends/x11/meta-cursor-renderer-x11.h
@@ -25,7 +25,7 @@
 #ifndef META_CURSOR_RENDERER_X11_H
 #define META_CURSOR_RENDERER_X11_H
 
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
 
 #define META_TYPE_CURSOR_RENDERER_X11             (meta_cursor_renderer_x11_get_type ())
 #define META_CURSOR_RENDERER_X11(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
META_TYPE_CURSOR_RENDERER_X11, MetaCursorRendererX11))
diff --git a/src/backends/x11/meta-input-settings-x11.c b/src/backends/x11/meta-input-settings-x11.c
index 7e1f03520..2968ac859 100644
--- a/src/backends/x11/meta-input-settings-x11.c
+++ b/src/backends/x11/meta-input-settings-x11.c
@@ -23,20 +23,22 @@
 
 #include "config.h"
 
-#include "meta-backend-x11.h"
-#include "meta-input-settings-x11.h"
+#include "backends/x11/meta-input-settings-x11.h"
 
-#include <string.h>
 #include <gdk/gdkx.h>
+#include <string.h>
 #include <X11/Xatom.h>
 #include <X11/extensions/XInput2.h>
 #include <X11/XKBlib.h>
+
 #ifdef HAVE_LIBGUDEV
 #include <gudev/gudev.h>
 #endif
 
-#include <meta/meta-x11-errors.h>
 #include "backends/meta-logical-monitor.h"
+#include "backends/x11/meta-backend-x11.h"
+#include "core/display-private.h"
+#include "meta/meta-x11-errors.h"
 
 typedef struct _MetaInputSettingsX11Private
 {
diff --git a/src/backends/x11/meta-input-settings-x11.h b/src/backends/x11/meta-input-settings-x11.h
index 8ba71a165..2780bb224 100644
--- a/src/backends/x11/meta-input-settings-x11.h
+++ b/src/backends/x11/meta-input-settings-x11.h
@@ -22,7 +22,7 @@
 #ifndef META_INPUT_SETTINGS_X11_H
 #define META_INPUT_SETTINGS_X11_H
 
-#include "meta-input-settings-private.h"
+#include "backends/meta-input-settings-private.h"
 
 #define META_TYPE_INPUT_SETTINGS_X11             (meta_input_settings_x11_get_type ())
 #define META_INPUT_SETTINGS_X11(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
META_TYPE_INPUT_SETTINGS_X11, MetaInputSettingsX11))
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
index 9bb3a9a0b..6a75f3141 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.c
+++ b/src/backends/x11/meta-monitor-manager-xrandr.c
@@ -25,28 +25,27 @@
 
 #include "config.h"
 
-#include "meta-monitor-manager-xrandr.h"
+#include "backends/x11/meta-monitor-manager-xrandr.h"
 
-#include <string.h>
-#include <stdlib.h>
 #include <math.h>
-#include <clutter/clutter.h>
-
+#include <stdlib.h>
+#include <string.h>
+#include <X11/Xlib-xcb.h>
 #include <X11/Xlibint.h>
 #include <X11/extensions/dpms.h>
-#include <X11/Xlib-xcb.h>
 #include <xcb/randr.h>
 
-#include "meta-backend-x11.h"
-#include <meta/main.h>
-#include <meta/meta-x11-errors.h>
 #include "backends/meta-crtc.h"
-#include "backends/meta-monitor-config-manager.h"
 #include "backends/meta-logical-monitor.h"
+#include "backends/meta-monitor-config-manager.h"
 #include "backends/meta-output.h"
+#include "backends/x11/meta-backend-x11.h"
 #include "backends/x11/meta-crtc-xrandr.h"
 #include "backends/x11/meta-gpu-xrandr.h"
 #include "backends/x11/meta-output-xrandr.h"
+#include "clutter/clutter.h"
+#include "meta/main.h"
+#include "meta/meta-x11-errors.h"
 
 /* Look for DPI_FALLBACK in:
  * http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xsettings/gsd-xsettings-manager.c
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.h b/src/backends/x11/meta-monitor-manager-xrandr.h
index f09cbfd83..d55b3d2b8 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.h
+++ b/src/backends/x11/meta-monitor-manager-xrandr.h
@@ -25,7 +25,7 @@
 
 #include <X11/extensions/Xrandr.h>
 
-#include "meta-monitor-manager-private.h"
+#include "backends/meta-monitor-manager-private.h"
 
 #define META_TYPE_MONITOR_MANAGER_XRANDR (meta_monitor_manager_xrandr_get_type ())
 G_DECLARE_FINAL_TYPE (MetaMonitorManagerXrandr, meta_monitor_manager_xrandr,
diff --git a/src/backends/x11/meta-renderer-x11.c b/src/backends/x11/meta-renderer-x11.c
index 53d28e7b1..8a1183ecb 100644
--- a/src/backends/x11/meta-renderer-x11.c
+++ b/src/backends/x11/meta-renderer-x11.c
@@ -26,16 +26,16 @@
 
 #include <glib-object.h>
 
-#include "clutter/x11/clutter-x11.h"
-#include "cogl/cogl.h"
-#include "cogl/cogl-xlib.h"
-#include "cogl/winsys/cogl-winsys-glx-private.h"
-#include "cogl/winsys/cogl-winsys-egl-x11-private.h"
 #include "backends/meta-backend-private.h"
 #include "backends/meta-logical-monitor.h"
-#include "backends/meta-renderer.h"
 #include "backends/meta-renderer-view.h"
+#include "backends/meta-renderer.h"
 #include "backends/x11/meta-renderer-x11.h"
+#include "clutter/x11/clutter-x11.h"
+#include "cogl/cogl-xlib.h"
+#include "cogl/cogl.h"
+#include "cogl/winsys/cogl-winsys-egl-x11-private.h"
+#include "cogl/winsys/cogl-winsys-glx-private.h"
 #include "core/boxes-private.h"
 #include "meta/meta-backend.h"
 #include "meta/util.h"
diff --git a/src/compositor/clutter-utils.c b/src/compositor/clutter-utils.c
index fb74732ce..33357c7a5 100644
--- a/src/compositor/clutter-utils.c
+++ b/src/compositor/clutter-utils.c
@@ -19,7 +19,10 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "clutter-utils.h"
+#include "config.h"
+
+#include "compositor/clutter-utils.h"
+
 #include <math.h>
 
 /* This file uses pixel-aligned region computation to determine what
diff --git a/src/compositor/clutter-utils.h b/src/compositor/clutter-utils.h
index 36a5925cf..2b6dc8d58 100644
--- a/src/compositor/clutter-utils.h
+++ b/src/compositor/clutter-utils.h
@@ -21,7 +21,8 @@
 #ifndef __META_CLUTTER_UTILS_H__
 #define __META_CLUTTER_UTILS_H__
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
+
 gboolean meta_actor_vertices_are_untransformed (ClutterVertex *verts,
                                                 float          widthf,
                                                 float          heightf,
diff --git a/src/compositor/cogl-utils.c b/src/compositor/cogl-utils.c
index 82bd60eec..aed5208fe 100644
--- a/src/compositor/cogl-utils.c
+++ b/src/compositor/cogl-utils.c
@@ -19,8 +19,10 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <clutter/clutter.h>
-#include "cogl-utils.h"
+#include "config.h"
+
+#include "clutter/clutter.h"
+#include "compositor/cogl-utils.h"
 
 /* Based on gnome-shell/src/st/st-private.c:_st_create_texture_material.c */
 
diff --git a/src/compositor/cogl-utils.h b/src/compositor/cogl-utils.h
index 32113f8a4..22b182857 100644
--- a/src/compositor/cogl-utils.h
+++ b/src/compositor/cogl-utils.h
@@ -21,7 +21,7 @@
 #ifndef __META_COGL_UTILS_H__
 #define __META_COGL_UTILS_H__
 
-#include <cogl/cogl.h>
+#include "cogl/cogl.h"
 
 CoglPipeline * meta_create_texture_pipeline (CoglTexture *texture);
 
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index 125a0afe8..0f92d42da 100644
--- a/src/compositor/compositor-private.h
+++ b/src/compositor/compositor-private.h
@@ -5,11 +5,11 @@
 
 #include <X11/extensions/Xfixes.h>
 
-#include <meta/compositor.h>
-#include <meta/display.h>
-#include "meta-plugin-manager.h"
-#include "meta-window-actor-private.h"
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
+#include "compositor/meta-plugin-manager.h"
+#include "compositor/meta-window-actor-private.h"
+#include "meta/compositor.h"
+#include "meta/display.h"
 
 struct _MetaCompositor
 {
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index e1f597346..a378ed805 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -50,35 +50,34 @@
  * top window group.
  */
 
-#include <config.h>
-
-#include <clutter/x11/clutter-x11.h>
-
-#include "core.h"
-#include <meta/meta-x11-errors.h>
-#include <meta/window.h>
-#include "compositor-private.h"
-#include <meta/compositor-mutter.h>
-#include <meta/prefs.h>
-#include <meta/main.h>
-#include <meta/meta-backend.h>
-#include <meta/meta-background-actor.h>
-#include <meta/meta-background-group.h>
-#include <meta/meta-shadow-factory.h>
-#include "meta-window-actor-private.h"
-#include "meta-window-group-private.h"
-#include "window-private.h" /* to check window->hidden */
-#include "display-private.h" /* for meta_display_lookup_x_window() and meta_display_cancel_touch() */
-#include "util-private.h"
-#include "backends/meta-dnd-private.h"
-#include "frame.h"
+#include "config.h"
+
+#include "compositor/compositor-private.h"
+
 #include <X11/extensions/shape.h>
 #include <X11/extensions/Xcomposite.h>
-#include "meta-sync-ring.h"
 
+#include "backends/meta-dnd-private.h"
 #include "backends/x11/meta-backend-x11.h"
 #include "clutter/clutter-mutter.h"
-
+#include "clutter/x11/clutter-x11.h"
+#include "compositor/meta-sync-ring.h"
+#include "compositor/meta-window-actor-private.h"
+#include "compositor/meta-window-group-private.h"
+#include "core/core.h"
+#include "core/display-private.h"
+#include "core/frame.h"
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "meta/compositor-mutter.h"
+#include "meta/main.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-background-actor.h"
+#include "meta/meta-background-group.h"
+#include "meta/meta-shadow-factory.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "meta/window.h"
 #include "x11/meta-x11-display-private.h"
 
 #ifdef HAVE_WAYLAND
diff --git a/src/compositor/meta-background-actor-private.h b/src/compositor/meta-background-actor-private.h
index 4b64d78bd..bdf8c4744 100644
--- a/src/compositor/meta-background-actor-private.h
+++ b/src/compositor/meta-background-actor-private.h
@@ -3,7 +3,7 @@
 #ifndef META_BACKGROUND_ACTOR_PRIVATE_H
 #define META_BACKGROUND_ACTOR_PRIVATE_H
 
-#include <meta/meta-background-actor.h>
+#include "meta/meta-background-actor.h"
 
 cairo_region_t *meta_background_actor_get_clip_region (MetaBackgroundActor *self);
 
diff --git a/src/compositor/meta-background-actor.c b/src/compositor/meta-background-actor.c
index a98f322f1..2b619eb27 100644
--- a/src/compositor/meta-background-actor.c
+++ b/src/compositor/meta-background-actor.c
@@ -72,17 +72,17 @@
  * adding the vignette and opacity.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <clutter/clutter.h>
+#include "compositor/meta-background-actor-private.h"
 
-#include "cogl-utils.h"
-#include "clutter-utils.h"
-#include <meta/meta-x11-errors.h>
-#include "meta-background-actor-private.h"
-#include "meta-background-private.h"
-#include "meta-cullable.h"
+#include "clutter/clutter.h"
+#include "compositor/clutter-utils.h"
+#include "compositor/cogl-utils.h"
+#include "compositor/meta-background-private.h"
+#include "compositor/meta-cullable.h"
 #include "meta/display.h"
+#include "meta/meta-x11-errors.h"
 
 enum
 {
diff --git a/src/compositor/meta-background-group.c b/src/compositor/meta-background-group.c
index 2ff01d3d9..e30b8af4c 100644
--- a/src/compositor/meta-background-group.c
+++ b/src/compositor/meta-background-group.c
@@ -14,10 +14,10 @@
  * and details on implementation.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <meta/meta-background-group.h>
-#include "meta-cullable.h"
+#include "compositor/meta-cullable.h"
+#include "meta/meta-background-group.h"
 
 static void cullable_iface_init (MetaCullableInterface *iface);
 
diff --git a/src/compositor/meta-background-image.c b/src/compositor/meta-background-image.c
index b06066422..802c10c76 100644
--- a/src/compositor/meta-background-image.c
+++ b/src/compositor/meta-background-image.c
@@ -22,13 +22,15 @@
  * @short_description: objects holding images loaded from files, used for backgrounds
  */
 
-#include <config.h>
+#include "config.h"
+
+#include "meta/meta-background-image.h"
 
-#include <gio/gio.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
-#include <clutter/clutter.h>
-#include <meta/meta-background-image.h>
-#include "cogl-utils.h"
+#include <gio/gio.h>
+
+#include "clutter/clutter.h"
+#include "compositor/cogl-utils.h"
 
 enum
 {
diff --git a/src/compositor/meta-background-private.h b/src/compositor/meta-background-private.h
index 2799b7c10..871487da4 100644
--- a/src/compositor/meta-background-private.h
+++ b/src/compositor/meta-background-private.h
@@ -3,9 +3,8 @@
 #ifndef META_BACKGROUND_PRIVATE_H
 #define META_BACKGROUND_PRIVATE_H
 
-#include <config.h>
-
-#include "meta-background-private.h"
+#include "cogl/cogl.h"
+#include "meta/meta-background.h"
 
 CoglTexture *meta_background_get_texture (MetaBackground         *self,
                                           int                     monitor_index,
diff --git a/src/compositor/meta-background.c b/src/compositor/meta-background.c
index 23f7832ef..0fb20d569 100644
--- a/src/compositor/meta-background.c
+++ b/src/compositor/meta-background.c
@@ -17,16 +17,19 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <meta/display.h>
-#include <meta/util.h>
-#include <meta/meta-background.h>
-#include <meta/meta-background-image.h>
-#include <meta/meta-monitor-manager.h>
-#include "meta-background-private.h"
-#include "cogl-utils.h"
+#include "config.h"
+
+#include "compositor/meta-background-private.h"
 
 #include <string.h>
 
+#include "compositor/cogl-utils.h"
+#include "meta/display.h"
+#include "meta/meta-background-image.h"
+#include "meta/meta-background.h"
+#include "meta/meta-monitor-manager.h"
+#include "meta/util.h"
+
 enum
 {
   CHANGED,
diff --git a/src/compositor/meta-cullable.c b/src/compositor/meta-cullable.c
index 801cda487..5cdc03a6d 100644
--- a/src/compositor/meta-cullable.c
+++ b/src/compositor/meta-cullable.c
@@ -22,8 +22,9 @@
  */
 
 #include "config.h"
-#include "meta-cullable.h"
-#include "clutter-utils.h"
+
+#include "compositor/clutter-utils.h"
+#include "compositor/meta-cullable.h"
 
 G_DEFINE_INTERFACE (MetaCullable, meta_cullable, CLUTTER_TYPE_ACTOR);
 
diff --git a/src/compositor/meta-cullable.h b/src/compositor/meta-cullable.h
index c1b886d2c..d7fe6e483 100644
--- a/src/compositor/meta-cullable.h
+++ b/src/compositor/meta-cullable.h
@@ -25,7 +25,7 @@
 #ifndef __META_CULLABLE_H__
 #define __META_CULLABLE_H__
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-dnd-actor-private.h b/src/compositor/meta-dnd-actor-private.h
index 63a05f9f0..f7ad91acc 100644
--- a/src/compositor/meta-dnd-actor-private.h
+++ b/src/compositor/meta-dnd-actor-private.h
@@ -23,7 +23,7 @@
 #ifndef META_DND_ACTOR_PRIVATE_H
 #define META_DND_ACTOR_PRIVATE_H
 
-#include "meta-feedback-actor-private.h"
+#include "compositor/meta-feedback-actor-private.h"
 
 /**
  * MetaDnDActor:
diff --git a/src/compositor/meta-dnd-actor.c b/src/compositor/meta-dnd-actor.c
index de58060b1..24f578be1 100644
--- a/src/compositor/meta-dnd-actor.c
+++ b/src/compositor/meta-dnd-actor.c
@@ -25,11 +25,11 @@
  *
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <clutter/clutter.h>
+#include "compositor/meta-dnd-actor-private.h"
 
-#include "meta-dnd-actor-private.h"
+#include "clutter/clutter.h"
 
 #define DRAG_FAILED_DURATION 500
 
diff --git a/src/compositor/meta-feedback-actor-private.h b/src/compositor/meta-feedback-actor-private.h
index ee8b6a1f1..6bccefd0c 100644
--- a/src/compositor/meta-feedback-actor-private.h
+++ b/src/compositor/meta-feedback-actor-private.h
@@ -23,7 +23,7 @@
 #ifndef META_FEEDBACK_ACTOR_PRIVATE_H
 #define META_FEEDBACK_ACTOR_PRIVATE_H
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
 
 /**
  * MetaFeedbackActor:
diff --git a/src/compositor/meta-feedback-actor.c b/src/compositor/meta-feedback-actor.c
index 72658aac9..0e98faba7 100644
--- a/src/compositor/meta-feedback-actor.c
+++ b/src/compositor/meta-feedback-actor.c
@@ -24,11 +24,11 @@
  * @short_description: Actor for painting user interaction feedback
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "display-private.h"
-#include "compositor-private.h"
-#include "meta-feedback-actor-private.h"
+#include "compositor/compositor-private.h"
+#include "compositor/meta-feedback-actor-private.h"
+#include "core/display-private.h"
 
 enum {
   PROP_ANCHOR_X = 1,
diff --git a/src/compositor/meta-module.c b/src/compositor/meta-module.c
index 6bb80d376..0283b4a9a 100644
--- a/src/compositor/meta-module.c
+++ b/src/compositor/meta-module.c
@@ -19,12 +19,15 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <meta/meta-plugin.h>
-#include <meta/meta-version.h>
-#include "meta-module.h"
+#include "config.h"
+
+#include "compositor/meta-module.h"
 
 #include <gmodule.h>
 
+#include "meta/meta-plugin.h"
+#include "meta/meta-version.h"
+
 enum
 {
   PROP_0,
diff --git a/src/compositor/meta-plugin-manager.c b/src/compositor/meta-plugin-manager.c
index 0b6f216d0..236b6b1d3 100644
--- a/src/compositor/meta-plugin-manager.c
+++ b/src/compositor/meta-plugin-manager.c
@@ -20,20 +20,21 @@
  */
 
 #include "config.h"
-#include "compositor-private.h"
-#include "meta-plugin-manager.h"
-#include <meta/prefs.h>
-#include <meta/meta-x11-errors.h>
-#include <meta/workspace.h>
-#include "meta-module.h"
-#include "window-private.h"
-#include "meta-close-dialog-default-private.h"
-#include "meta-inhibit-shortcuts-dialog-default-private.h"
 
-#include <string.h>
+#include "compositor/meta-plugin-manager.h"
+
 #include <stdlib.h>
+#include <string.h>
 
-#include <clutter/x11/clutter-x11.h>
+#include "clutter/x11/clutter-x11.h"
+#include "compositor/compositor-private.h"
+#include "compositor/meta-module.h"
+#include "core/meta-close-dialog-default-private.h"
+#include "core/meta-inhibit-shortcuts-dialog-default-private.h"
+#include "core/window-private.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "meta/workspace.h"
 
 static GType plugin_type = G_TYPE_NONE;
 
diff --git a/src/compositor/meta-plugin-manager.h b/src/compositor/meta-plugin-manager.h
index 130db5bfb..92ef18d70 100644
--- a/src/compositor/meta-plugin-manager.h
+++ b/src/compositor/meta-plugin-manager.h
@@ -22,8 +22,8 @@
 #ifndef META_PLUGIN_MANAGER_H_
 #define META_PLUGIN_MANAGER_H_
 
-#include <meta/types.h>
-#include <meta/meta-plugin.h>
+#include "meta/meta-plugin.h"
+#include "meta/types.h"
 
 typedef enum {
   META_PLUGIN_NONE,
diff --git a/src/compositor/meta-plugin.c b/src/compositor/meta-plugin.c
index c613a5020..b787652bc 100644
--- a/src/compositor/meta-plugin.c
+++ b/src/compositor/meta-plugin.c
@@ -26,20 +26,22 @@
  *
  */
 
-#include <meta/meta-plugin.h>
-#include "meta-plugin-manager.h"
-#include <meta/display.h>
-#include <meta/util.h>
+#include "config.h"
+
+#include "meta/meta-plugin.h"
 
 #include <string.h>
 #include <X11/Xlib.h>
 #include <X11/extensions/Xfixes.h>
 #include <X11/extensions/shape.h>
-#include <clutter/x11/clutter-x11.h>
 
-#include "compositor-private.h"
-#include "meta-window-actor-private.h"
-#include "meta-monitor-manager-private.h"
+#include "backends/meta-monitor-manager-private.h"
+#include "clutter/x11/clutter-x11.h"
+#include "compositor/compositor-private.h"
+#include "compositor/meta-window-actor-private.h"
+#include "compositor/meta-plugin-manager.h"
+#include "meta/display.h"
+#include "meta/util.h"
 
 struct _MetaPluginPrivate
 {
diff --git a/src/compositor/meta-shadow-factory.c b/src/compositor/meta-shadow-factory.c
index cd006008b..38594aebd 100644
--- a/src/compositor/meta-shadow-factory.c
+++ b/src/compositor/meta-shadow-factory.c
@@ -22,15 +22,15 @@
  * @short_description: Create and cache shadow textures for abritrary window shapes
  */
 
-#include <config.h>
+#include "config.h"
+
 #include <math.h>
 #include <string.h>
 
-#include <meta/meta-shadow-factory.h>
-#include <meta/util.h>
-
-#include "cogl-utils.h"
-#include "region-utils.h"
+#include "compositor/cogl-utils.h"
+#include "compositor/region-utils.h"
+#include "meta/meta-shadow-factory.h"
+#include "meta/util.h"
 
 /* This file implements blurring the shape of a window to produce a
  * shadow texture. The details are discussed below; a quick summary
diff --git a/src/compositor/meta-shaped-texture-private.h b/src/compositor/meta-shaped-texture-private.h
index 1ab653255..284f43e36 100644
--- a/src/compositor/meta-shaped-texture-private.h
+++ b/src/compositor/meta-shaped-texture-private.h
@@ -27,7 +27,7 @@
 #ifndef __META_SHAPED_TEXTURE_PRIVATE_H__
 #define __META_SHAPED_TEXTURE_PRIVATE_H__
 
-#include <meta/meta-shaped-texture.h>
+#include "meta/meta-shaped-texture.h"
 
 ClutterActor *meta_shaped_texture_new (void);
 void meta_shaped_texture_set_texture (MetaShapedTexture *stex,
diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
index cd151a28e..919e7a9b5 100644
--- a/src/compositor/meta-shaped-texture.c
+++ b/src/compositor/meta-shaped-texture.c
@@ -25,19 +25,18 @@
  * @short_description: An actor to draw a masked texture.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <meta/meta-shaped-texture.h>
-#include "meta-shaped-texture-private.h"
+#include "compositor/meta-shaped-texture-private.h"
 
-#include <cogl/cogl.h>
-#include <gdk/gdk.h> /* for gdk_rectangle_intersect() */
+#include <gdk/gdk.h>
 
-#include "clutter-utils.h"
-#include "meta-texture-tower.h"
-#include "region-utils.h"
-
-#include "meta-cullable.h"
+#include "cogl/cogl.h"
+#include "compositor/clutter-utils.h"
+#include "compositor/region-utils.h"
+#include "compositor/meta-cullable.h"
+#include "compositor/meta-texture-tower.h"
+#include "meta/meta-shaped-texture.h"
 
 /* MAX_MIPMAPPING_FPS needs to be as small as possible for the best GPU
  * performance, but higher than the refresh rate of commonly slow updating
diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c
index 7505b7d79..a099cef72 100644
--- a/src/compositor/meta-surface-actor-wayland.c
+++ b/src/compositor/meta-surface-actor-wayland.c
@@ -24,20 +24,19 @@
 
 #include "config.h"
 
-#include "meta-surface-actor-wayland.h"
+#include "compositor/meta-surface-actor-wayland.h"
 
 #include <math.h>
-#include <cogl/cogl-wayland-server.h>
-#include "meta-shaped-texture-private.h"
 
+#include "backends/meta-backend-private.h"
 #include "backends/meta-logical-monitor.h"
+#include "cogl/cogl-wayland-server.h"
+#include "compositor/meta-shaped-texture-private.h"
+#include "compositor/region-utils.h"
 #include "wayland/meta-wayland-buffer.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-window-wayland.h"
 
-#include "backends/meta-backend-private.h"
-#include "compositor/region-utils.h"
-
 typedef struct _MetaSurfaceActorWaylandPrivate
 {
   MetaWaylandSurface *surface;
diff --git a/src/compositor/meta-surface-actor-wayland.h b/src/compositor/meta-surface-actor-wayland.h
index 277b1a39d..a037941e1 100644
--- a/src/compositor/meta-surface-actor-wayland.h
+++ b/src/compositor/meta-surface-actor-wayland.h
@@ -27,12 +27,10 @@
 
 #include <glib-object.h>
 
-#include "meta-surface-actor.h"
-
-#include "wayland/meta-wayland.h"
-#include "wayland/meta-wayland-private.h"
-
 #include "backends/meta-monitor-manager-private.h"
+#include "compositor/meta-surface-actor.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-surface-actor-x11.c b/src/compositor/meta-surface-actor-x11.c
index 3b66ed5aa..1f897be3f 100644
--- a/src/compositor/meta-surface-actor-x11.c
+++ b/src/compositor/meta-surface-actor-x11.c
@@ -25,17 +25,17 @@
 
 #include "config.h"
 
-#include "meta-surface-actor-x11.h"
+#include "compositor/meta-surface-actor-x11.h"
 
 #include <X11/extensions/Xcomposite.h>
-#include <cogl/winsys/cogl-texture-pixmap-x11.h>
 
-#include <meta/meta-x11-errors.h>
-#include "window-private.h"
-#include "meta-shaped-texture-private.h"
-#include "meta-cullable.h"
-#include "x11/window-x11.h"
+#include "cogl/winsys/cogl-texture-pixmap-x11.h"
+#include "compositor/meta-cullable.h"
+#include "compositor/meta-shaped-texture-private.h"
+#include "core/window-private.h"
+#include "meta/meta-x11-errors.h"
 #include "x11/meta-x11-display-private.h"
+#include "x11/window-x11.h"
 
 struct _MetaSurfaceActorX11Private
 {
diff --git a/src/compositor/meta-surface-actor-x11.h b/src/compositor/meta-surface-actor-x11.h
index 0e692ee0f..e1b2014a0 100644
--- a/src/compositor/meta-surface-actor-x11.h
+++ b/src/compositor/meta-surface-actor-x11.h
@@ -28,12 +28,11 @@
 
 #include <glib-object.h>
 
-#include "meta-surface-actor.h"
-
 #include <X11/extensions/Xdamage.h>
 
-#include <meta/display.h>
-#include <meta/window.h>
+#include "compositor/meta-surface-actor.h"
+#include "meta/display.h"
+#include "meta/window.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-surface-actor.c b/src/compositor/meta-surface-actor.c
index b1d246e15..256215373 100644
--- a/src/compositor/meta-surface-actor.c
+++ b/src/compositor/meta-surface-actor.c
@@ -9,14 +9,14 @@
  * used to draw the content of a window.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "meta-surface-actor.h"
+#include "compositor/meta-surface-actor.h"
 
-#include <clutter/clutter.h>
-#include <meta/meta-shaped-texture.h>
-#include "meta-cullable.h"
-#include "meta-shaped-texture-private.h"
+#include "clutter/clutter.h"
+#include "compositor/meta-cullable.h"
+#include "compositor/meta-shaped-texture-private.h"
+#include "meta/meta-shaped-texture.h"
 
 struct _MetaSurfaceActorPrivate
 {
diff --git a/src/compositor/meta-surface-actor.h b/src/compositor/meta-surface-actor.h
index 8c6dda253..6a2740023 100644
--- a/src/compositor/meta-surface-actor.h
+++ b/src/compositor/meta-surface-actor.h
@@ -3,10 +3,10 @@
 #ifndef META_SURFACE_ACTOR_PRIVATE_H
 #define META_SURFACE_ACTOR_PRIVATE_H
 
-#include <config.h>
+#include "config.h"
 
-#include <meta/meta-shaped-texture.h>
-#include <meta/window.h>
+#include "meta/meta-shaped-texture.h"
+#include "meta/window.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-sync-ring.c b/src/compositor/meta-sync-ring.c
index 336ccd45f..c354992cf 100644
--- a/src/compositor/meta-sync-ring.c
+++ b/src/compositor/meta-sync-ring.c
@@ -28,18 +28,18 @@
  * Authors: James Jones <jajones nvidia com>
  */
 
-#include <string.h>
+#include "config.h"
+
+#include "compositor/meta-sync-ring.h"
 
+#include <string.h>
 #include <GL/gl.h>
 #include <GL/glx.h>
 #include <X11/extensions/sync.h>
 
-#include <cogl/cogl.h>
-#include <clutter/clutter.h>
-
-#include <meta/util.h>
-
-#include "meta-sync-ring.h"
+#include "clutter/clutter.h"
+#include "cogl/cogl.h"
+#include "meta/util.h"
 
 /* Theory of operation:
  *
diff --git a/src/compositor/meta-sync-ring.h b/src/compositor/meta-sync-ring.h
index 6dca8efcd..d9739455b 100644
--- a/src/compositor/meta-sync-ring.h
+++ b/src/compositor/meta-sync-ring.h
@@ -2,7 +2,6 @@
 #define _META_SYNC_RING_H_
 
 #include <glib.h>
-
 #include <X11/Xlib.h>
 
 gboolean meta_sync_ring_init (Display *dpy);
diff --git a/src/compositor/meta-texture-rectangle.c b/src/compositor/meta-texture-rectangle.c
index cd585b51f..6a01ed002 100644
--- a/src/compositor/meta-texture-rectangle.c
+++ b/src/compositor/meta-texture-rectangle.c
@@ -21,10 +21,10 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <clutter/clutter.h>
-#include "meta-texture-rectangle.h"
+#include "clutter/clutter.h"
+#include "compositor/meta-texture-rectangle.h"
 
 static void
 texture_rectangle_check_cb (CoglTexture *sub_texture,
diff --git a/src/compositor/meta-texture-rectangle.h b/src/compositor/meta-texture-rectangle.h
index ba2624f52..8b6e04c23 100644
--- a/src/compositor/meta-texture-rectangle.h
+++ b/src/compositor/meta-texture-rectangle.h
@@ -24,7 +24,7 @@
 #ifndef __META_TEXTURE_RECTANGLE_H__
 #define __META_TEXTURE_RECTANGLE_H__
 
-#include <cogl/cogl.h>
+#include "cogl/cogl.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-texture-tower.c b/src/compositor/meta-texture-tower.c
index 7d14bf424..a41cdc89d 100644
--- a/src/compositor/meta-texture-tower.c
+++ b/src/compositor/meta-texture-tower.c
@@ -20,11 +20,13 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <math.h>
 #include <string.h>
 
-#include "meta-texture-tower.h"
-#include "meta-texture-rectangle.h"
+#include "compositor/meta-texture-rectangle.h"
+#include "compositor/meta-texture-tower.h"
 
 #ifndef M_LOG2E
 #define M_LOG2E 1.4426950408889634074
diff --git a/src/compositor/meta-texture-tower.h b/src/compositor/meta-texture-tower.h
index 20a637f93..6a39e4184 100644
--- a/src/compositor/meta-texture-tower.h
+++ b/src/compositor/meta-texture-tower.h
@@ -23,7 +23,7 @@
 #ifndef __META_TEXTURE_TOWER_H__
 #define __META_TEXTURE_TOWER_H__
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
 
 G_BEGIN_DECLS
 
diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h
index ce5e7eadc..66bed4e27 100644
--- a/src/compositor/meta-window-actor-private.h
+++ b/src/compositor/meta-window-actor-private.h
@@ -3,12 +3,11 @@
 #ifndef META_WINDOW_ACTOR_PRIVATE_H
 #define META_WINDOW_ACTOR_PRIVATE_H
 
-#include <config.h>
-
 #include <X11/extensions/Xdamage.h>
-#include <meta/compositor-mutter.h>
-#include "meta-surface-actor.h"
-#include "meta-plugin-manager.h"
+
+#include "compositor/meta-plugin-manager.h"
+#include "compositor/meta-surface-actor.h"
+#include "meta/compositor-mutter.h"
 
 MetaWindowActor *meta_window_actor_new (MetaWindow *window);
 
diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
index df7b8d7ca..219226b19 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -6,41 +6,37 @@
  * @short_description: An actor representing a top-level window in the scene graph
  */
 
-#include <config.h>
+#include "config.h"
 
+#include <gdk/gdk.h>
 #include <math.h>
-
-#include <clutter/x11/clutter-x11.h>
-#include <cogl/winsys/cogl-texture-pixmap-x11.h>
-#include <gdk/gdk.h> /* for gdk_rectangle_union() */
 #include <string.h>
 
-#include <meta/display.h>
-#include <meta/meta-x11-errors.h>
-#include "frame.h"
-#include <meta/window.h>
-#include <meta/meta-shaped-texture.h>
-#include <meta/meta-enum-types.h>
-#include <meta/meta-shadow-factory.h>
-
 #include "backends/meta-backend-private.h"
-#include "clutter/clutter-mutter.h"
-#include "compositor-private.h"
-#include "meta-shaped-texture-private.h"
-#include "meta-window-actor-private.h"
-#include "meta-texture-rectangle.h"
-#include "region-utils.h"
 #include "backends/meta-logical-monitor.h"
-#include "meta-monitor-manager-private.h"
-#include "meta-cullable.h"
-
-#include "meta-surface-actor.h"
-#include "meta-surface-actor-x11.h"
-
+#include "backends/meta-monitor-manager-private.h"
+#include "clutter/clutter-mutter.h"
+#include "clutter/x11/clutter-x11.h"
+#include "cogl/winsys/cogl-texture-pixmap-x11.h"
+#include "core/frame.h"
+#include "compositor/compositor-private.h"
+#include "compositor/meta-cullable.h"
+#include "compositor/meta-shaped-texture-private.h"
+#include "compositor/meta-surface-actor-x11.h"
+#include "compositor/meta-surface-actor.h"
+#include "compositor/meta-texture-rectangle.h"
+#include "compositor/meta-window-actor-private.h"
+#include "compositor/region-utils.h"
+#include "meta/display.h"
+#include "meta/meta-enum-types.h"
+#include "meta/meta-shadow-factory.h"
+#include "meta/meta-shaped-texture.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/window.h"
 #include "x11/meta-x11-display-private.h"
 
 #ifdef HAVE_WAYLAND
-#include "meta-surface-actor-wayland.h"
+#include "compositor/meta-surface-actor-wayland.h"
 #include "wayland/meta-wayland-surface.h"
 #endif
 
diff --git a/src/compositor/meta-window-group-private.h b/src/compositor/meta-window-group-private.h
index 4d4740db7..c3467066b 100644
--- a/src/compositor/meta-window-group-private.h
+++ b/src/compositor/meta-window-group-private.h
@@ -3,9 +3,8 @@
 #ifndef META_WINDOW_GROUP_PRIVATE_H
 #define META_WINDOW_GROUP_PRIVATE_H
 
-#include <meta/meta-window-group.h>
-
-#include <meta/display.h>
+#include "meta/display.h"
+#include "meta/meta-window-group.h"
 
 /**
  * MetaWindowGroup:
diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c
index 767850ecf..44058feea 100644
--- a/src/compositor/meta-window-group.c
+++ b/src/compositor/meta-window-group.c
@@ -1,19 +1,17 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
-#include <config.h>
+#include "config.h"
 
-#define _ISOC99_SOURCE /* for roundf */
+#include <gdk/gdk.h>
 #include <math.h>
 
-#include <gdk/gdk.h> /* for gdk_rectangle_intersect() */
-
-#include "clutter-utils.h"
-#include "compositor-private.h"
-#include "meta-window-actor-private.h"
-#include "meta-window-group-private.h"
-#include "window-private.h"
-#include "meta-cullable.h"
-#include "display-private.h"
+#include "compositor/clutter-utils.h"
+#include "compositor/compositor-private.h"
+#include "compositor/meta-cullable.h"
+#include "compositor/meta-window-actor-private.h"
+#include "compositor/meta-window-group-private.h"
+#include "core/display-private.h"
+#include "core/window-private.h"
 
 struct _MetaWindowGroupClass
 {
diff --git a/src/compositor/meta-window-shape.c b/src/compositor/meta-window-shape.c
index 0b2b351bd..1b4767567 100644
--- a/src/compositor/meta-window-shape.c
+++ b/src/compositor/meta-window-shape.c
@@ -23,10 +23,11 @@
 
 #include "config.h"
 
-#include <meta/meta-window-shape.h>
+#include "meta/meta-window-shape.h"
 
 #include <string.h>
-#include "region-utils.h"
+
+#include "compositor/region-utils.h"
 
 struct _MetaWindowShape
 {
diff --git a/src/compositor/plugins/default.c b/src/compositor/plugins/default.c
index a29b73d40..3dd0b07ec 100644
--- a/src/compositor/plugins/default.c
+++ b/src/compositor/plugins/default.c
@@ -19,21 +19,22 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-
-#include <meta/display.h>
-#include <meta/meta-plugin.h>
-#include <meta/window.h>
-#include <meta/meta-background-group.h>
-#include <meta/meta-background-actor.h>
-#include <meta/meta-monitor-manager.h>
-#include <meta/util.h>
-#include <glib/gi18n-lib.h>
+#include "config.h"
+
+#include "meta/display.h"
 
-#include <clutter/clutter.h>
+#include <glib/gi18n-lib.h>
 #include <gmodule.h>
 #include <string.h>
 
+#include "clutter/clutter.h"
+#include "meta/meta-background-actor.h"
+#include "meta/meta-background-group.h"
+#include "meta/meta-monitor-manager.h"
+#include "meta/meta-plugin.h"
+#include "meta/util.h"
+#include "meta/window.h"
+
 #define DESTROY_TIMEOUT   100
 #define MINIMIZE_TIMEOUT  250
 #define MAP_TIMEOUT       250
diff --git a/src/compositor/region-utils.c b/src/compositor/region-utils.c
index bcae441f4..b268fd346 100644
--- a/src/compositor/region-utils.c
+++ b/src/compositor/region-utils.c
@@ -18,7 +18,9 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "region-utils.h"
+#include "config.h"
+
+#include "compositor/region-utils.h"
 
 #include <math.h>
 
diff --git a/src/compositor/region-utils.h b/src/compositor/region-utils.h
index 99a7112e1..6286c6edf 100644
--- a/src/compositor/region-utils.h
+++ b/src/compositor/region-utils.h
@@ -21,11 +21,11 @@
 #ifndef __META_REGION_UTILS_H__
 #define __META_REGION_UTILS_H__
 
-#include <clutter/clutter.h>
-
 #include <cairo.h>
 #include <glib.h>
 
+#include "clutter/clutter.h"
+
 typedef enum _MetaRoundingStrategy
 {
   META_ROUNDING_STRATEGY_SHRINK,
diff --git a/src/core/bell.c b/src/core/bell.c
index b4acf7aef..a4b049145 100644
--- a/src/core/bell.c
+++ b/src/core/bell.c
@@ -47,16 +47,19 @@
  * things with bells; some others are entirely no-ops in that case.
  */
 
-#include <config.h>
-#include "bell.h"
-#include "window-private.h"
-#include "util-private.h"
-#include "compositor/compositor-private.h"
-#include <meta/compositor.h>
+#include "config.h"
+
+#include "core/bell.h"
+
 #ifdef HAVE_LIBCANBERRA
 #include <canberra-gtk.h>
 #endif
 
+#include "compositor/compositor-private.h"
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "meta/compositor.h"
+
 G_DEFINE_TYPE (MetaBell, meta_bell, G_TYPE_OBJECT)
 
 enum
diff --git a/src/core/bell.h b/src/core/bell.h
index fbf132c7a..9205b0814 100644
--- a/src/core/bell.h
+++ b/src/core/bell.h
@@ -17,8 +17,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "display-private.h"
-#include "frame.h"
+#include "core/display-private.h"
+#include "core/frame.h"
 
 struct _MetaBell
 {
diff --git a/src/core/boxes-private.h b/src/core/boxes-private.h
index bf019b4d6..0fbed2059 100644
--- a/src/core/boxes-private.h
+++ b/src/core/boxes-private.h
@@ -23,8 +23,9 @@
 #define META_BOXES_PRIVATE_H
 
 #include <glib-object.h>
-#include <meta/common.h>
-#include <meta/boxes.h>
+
+#include "meta/boxes.h"
+#include "meta/common.h"
 
 #define BOX_LEFT(box)    ((box).x)                /* Leftmost pixel of rect */
 #define BOX_RIGHT(box)   ((box).x + (box).width)  /* One pixel past right   */
diff --git a/src/core/boxes.c b/src/core/boxes.c
index 91c9ba12b..2725dfcbe 100644
--- a/src/core/boxes.c
+++ b/src/core/boxes.c
@@ -28,9 +28,13 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "boxes-private.h"
-#include <meta/util.h>
-#include <X11/Xutil.h>  /* Just for the definition of the various gravities */
+#include "config.h"
+
+#include "core/boxes-private.h"
+
+#include <X11/Xutil.h>
+
+#include "meta/util.h"
 
 /* It would make sense to use GSlice here, but until we clean up the
  * rest of this file and the internal API to use these functions, we
diff --git a/src/core/constraints.c b/src/core/constraints.c
index 3652b3d8e..078dbc063 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -21,20 +21,22 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "boxes-private.h"
-#include "constraints.h"
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
-#include "place.h"
-#include <meta/prefs.h>
-#include "backends/meta-backend-private.h"
-#include "backends/meta-logical-monitor.h"
-#include "backends/meta-monitor-manager-private.h"
+#include "config.h"
+
+#include "core/constraints.h"
 
 #include <stdlib.h>
 #include <math.h>
 
+#include "backends/meta-backend-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "backends/meta-monitor-manager-private.h"
+#include "core/boxes-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/place.h"
+#include "core/workspace-private.h"
+#include "meta/prefs.h"
+
 #if 0
  // This is the short and sweet version of how to hack on this file; see
  // doc/how-constraints-works.txt for the gory details.  The basics of
diff --git a/src/core/constraints.h b/src/core/constraints.h
index 794749f75..2ebefbecd 100644
--- a/src/core/constraints.h
+++ b/src/core/constraints.h
@@ -23,9 +23,9 @@
 #ifndef META_CONSTRAINTS_H
 #define META_CONSTRAINTS_H
 
-#include <meta/util.h>
-#include "window-private.h"
-#include "frame.h"
+#include "core/frame.h"
+#include "core/window-private.h"
+#include "meta/util.h"
 
 void meta_window_constrain (MetaWindow          *window,
                             MetaMoveResizeFlags  flags,
diff --git a/src/core/core.c b/src/core/core.c
index 7b7f1300a..f02c35083 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -21,18 +21,18 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "core.h"
-#include "frame.h"
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
-#include <meta/prefs.h>
-#include <meta/meta-x11-errors.h>
-#include "util-private.h"
-
+#include "config.h"
+
+#include "core/core.h"
+#include "core/frame.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/util-private.h"
+#include "core/workspace-private.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
 #include "x11/meta-x11-display-private.h"
-#include "x11/window-x11.h"
 #include "x11/window-x11-private.h"
+#include "x11/window-x11.h"
 
 /* Looks up the MetaWindow representing the frame of the given X window.
  * Used as a helper function by a bunch of the functions below.
diff --git a/src/core/core.h b/src/core/core.h
index e8981a9fd..dc343d0c4 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -23,10 +23,10 @@
 #ifndef META_CORE_H
 #define META_CORE_H
 
-/* Don't include core headers here */
 #include <gdk/gdkx.h>
-#include <meta/common.h>
-#include <meta/boxes.h>
+
+#include "meta/boxes.h"
+#include "meta/common.h"
 
 void meta_core_queue_frame_resize (Display *xdisplay,
                                    Window frame_xwindow);
diff --git a/src/core/delete.c b/src/core/delete.c
index 9a6057e61..28ca63d89 100644
--- a/src/core/delete.c
+++ b/src/core/delete.c
@@ -22,14 +22,16 @@
 
 #define _XOPEN_SOURCE /* for kill() */
 
-#include <config.h>
-#include "util-private.h"
-#include "window-private.h"
-#include "compositor-private.h"
-#include <meta/meta-x11-errors.h>
-#include <meta/workspace.h>
+#include "config.h"
+
 #include <errno.h>
 
+#include "compositor/compositor-private.h"
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/workspace.h"
+
 static void
 close_dialog_response_cb (MetaCloseDialog         *dialog,
                           MetaCloseDialogResponse  response,
diff --git a/src/core/display-private.h b/src/core/display-private.h
index c901ee881..bff48e782 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -25,28 +25,25 @@
 #ifndef META_DISPLAY_PRIVATE_H
 #define META_DISPLAY_PRIVATE_H
 
-#ifndef PACKAGE
-#error "config.h not included"
-#endif
+#include "meta/display.h"
 
 #include <glib.h>
+#include <X11/extensions/sync.h>
 #include <X11/Xlib.h>
-#include <meta/common.h>
-#include <meta/boxes.h>
-#include <meta/display.h>
-#include "keybindings-private.h"
-#include "startup-notification-private.h"
-#include "meta-gesture-tracker-private.h"
-#include "stack-tracker.h"
-#include <meta/prefs.h>
-#include <meta/barrier.h>
-#include <clutter/clutter.h>
 
 #ifdef HAVE_STARTUP_NOTIFICATION
 #include <libsn/sn.h>
 #endif
 
-#include <X11/extensions/sync.h>
+#include "clutter/clutter.h"
+#include "core/keybindings-private.h"
+#include "core/meta-gesture-tracker-private.h"
+#include "core/stack-tracker.h"
+#include "core/startup-notification-private.h"
+#include "meta/barrier.h"
+#include "meta/boxes.h"
+#include "meta/common.h"
+#include "meta/prefs.h"
 
 typedef struct _MetaBell       MetaBell;
 typedef struct _MetaStack      MetaStack;
diff --git a/src/core/display.c b/src/core/display.c
index f6b4d5b9f..69a2b2d32 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -30,52 +30,51 @@
 
 #define _XOPEN_SOURCE 600 /* for gethostname() */
 
-#include <config.h>
-#include "display-private.h"
-#include "events.h"
-#include "util-private.h"
-#include <meta/main.h>
-#include "main-private.h"
-#include "window-private.h"
-#include "boxes-private.h"
-#include "frame.h"
-#include <meta/meta-x11-errors.h>
-#include "keybindings-private.h"
-#include <meta/prefs.h>
-#include "workspace-private.h"
-#include "meta-workspace-manager-private.h"
-#include "bell.h"
-#include <meta/compositor.h>
-#include <meta/compositor-mutter.h>
-#include <X11/Xatom.h>
-#include <meta/meta-enum-types.h>
-#include "meta-idle-monitor-dbus.h"
-#include "meta-cursor-tracker-private.h"
-#include <meta/meta-backend.h>
-#include "backends/meta-cursor-sprite-xcursor.h"
-#include "backends/meta-logical-monitor.h"
-#include "backends/native/meta-backend-native.h"
-#include "backends/x11/meta-backend-x11.h"
-#include "backends/meta-stage-private.h"
-#include "backends/meta-input-settings-private.h"
-#include <clutter/x11/clutter-x11.h>
+#include "config.h"
 
-#ifdef HAVE_RANDR
-#include <X11/extensions/Xrandr.h>
-#endif
-#include <X11/extensions/shape.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <X11/Xatom.h>
 #include <X11/Xcursor/Xcursor.h>
+#include <X11/extensions/shape.h>
 #include <X11/extensions/Xcomposite.h>
 #include <X11/extensions/Xdamage.h>
 #include <X11/extensions/Xfixes.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
 
-#include "x11/events.h"
+#ifdef HAVE_RANDR
+#include <X11/extensions/Xrandr.h>
+#endif
+
+#include "backends/meta-cursor-sprite-xcursor.h"
+#include "backends/meta-cursor-tracker-private.h"
+#include "backends/meta-idle-monitor-dbus.h"
+#include "backends/meta-input-settings-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "backends/meta-stage-private.h"
+#include "backends/x11/meta-backend-x11.h"
+#include "clutter/x11/clutter-x11.h"
+#include "core/bell.h"
+#include "core/boxes-private.h"
+#include "core/display-private.h"
+#include "core/events.h"
+#include "core/frame.h"
+#include "core/keybindings-private.h"
+#include "core/main-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "core/workspace-private.h"
+#include "meta/compositor-mutter.h"
+#include "meta/compositor.h"
+#include "meta/main.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-enum-types.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "x11/meta-x11-display-private.h"
 #include "x11/window-x11.h"
 #include "x11/xprops.h"
-#include "x11/meta-x11-display-private.h"
 
 #ifdef HAVE_WAYLAND
 #include "wayland/meta-xwayland-private.h"
@@ -83,6 +82,10 @@
 #include "wayland/meta-wayland-tablet-pad.h"
 #endif
 
+#ifdef HAVE_NATIVE_BACKEND
+#include "backends/native/meta-backend-native.h"
+#endif
+
 /*
  * SECTION:pings
  *
diff --git a/src/core/edge-resistance.c b/src/core/edge-resistance.c
index 963b365d9..88b2a51e1 100644
--- a/src/core/edge-resistance.c
+++ b/src/core/edge-resistance.c
@@ -19,12 +19,14 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "edge-resistance.h"
-#include "boxes-private.h"
-#include "display-private.h"
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
+#include "config.h"
+
+#include "core/edge-resistance.h"
+
+#include "core/boxes-private.h"
+#include "core/display-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/workspace-private.h"
 
 /* A simple macro for whether a given window's edges are potentially
  * relevant for resistance/snapping during a move/resize operation
diff --git a/src/core/edge-resistance.h b/src/core/edge-resistance.h
index 3c14eea12..3904c12e8 100644
--- a/src/core/edge-resistance.h
+++ b/src/core/edge-resistance.h
@@ -22,7 +22,7 @@
 #ifndef META_EDGE_RESISTANCE_H
 #define META_EDGE_RESISTANCE_H
 
-#include "window-private.h"
+#include "core/window-private.h"
 
 void        meta_window_edge_resistance_for_move   (MetaWindow  *window,
                                                     int         *new_x,
diff --git a/src/core/events.c b/src/core/events.c
index 2868e250a..350fbe86b 100644
--- a/src/core/events.c
+++ b/src/core/events.c
@@ -21,25 +21,24 @@
  */
 
 #include "config.h"
-#include "events.h"
 
-#include <meta/meta-backend.h>
+#include "core/events.h"
 
-#include "display-private.h"
-#include "window-private.h"
-#include "backends/x11/meta-backend-x11.h"
 #include "backends/meta-cursor-tracker-private.h"
+#include "backends/meta-idle-monitor-private.h"
+#include "backends/x11/meta-backend-x11.h"
+#include "compositor/meta-surface-actor.h"
+#include "core/display-private.h"
+#include "core/window-private.h"
+#include "meta/meta-backend.h"
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
 #endif
 
-#include "backends/meta-idle-monitor-private.h"
-
 #ifdef HAVE_WAYLAND
 #include "wayland/meta-wayland-private.h"
 #endif
-#include "meta-surface-actor.h"
 
 #define IS_GESTURE_EVENT(e) ((e)->type == CLUTTER_TOUCHPAD_SWIPE || \
                              (e)->type == CLUTTER_TOUCHPAD_PINCH || \
diff --git a/src/core/events.h b/src/core/events.h
index 7ac27924a..6338119ae 100644
--- a/src/core/events.h
+++ b/src/core/events.h
@@ -20,11 +20,11 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <meta/display.h>
-
 #ifndef META_EVENTS_H
 #define META_EVENTS_H
 
+#include "meta/display.h"
+
 void meta_display_init_events (MetaDisplay *display);
 void meta_display_free_events (MetaDisplay *display);
 
diff --git a/src/core/frame.c b/src/core/frame.c
index cfd284bc9..e0a952165 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -21,12 +21,14 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "frame.h"
-#include "bell.h"
-#include <meta/meta-x11-errors.h>
-#include "keybindings-private.h"
+#include "config.h"
+
+#include "core/frame.h"
+
 #include "backends/x11/meta-backend-x11.h"
+#include "core/bell.h"
+#include "core/keybindings-private.h"
+#include "meta/meta-x11-errors.h"
 #include "x11/meta-x11-display-private.h"
 
 #define EVENT_MASK (SubstructureRedirectMask |                     \
diff --git a/src/core/frame.h b/src/core/frame.h
index 8d70469f0..73a7b4bf6 100644
--- a/src/core/frame.h
+++ b/src/core/frame.h
@@ -22,8 +22,7 @@
 #ifndef META_FRAME_PRIVATE_H
 #define META_FRAME_PRIVATE_H
 
-#include "window-private.h"
-
+#include "core/window-private.h"
 #include "ui/frames.h"
 
 struct _MetaFrame
diff --git a/src/core/keybindings-private.h b/src/core/keybindings-private.h
index 0801b440f..d686e6caf 100644
--- a/src/core/keybindings-private.h
+++ b/src/core/keybindings-private.h
@@ -28,9 +28,10 @@
 #define META_KEYBINDINGS_PRIVATE_H
 
 #include <gio/gio.h>
-#include <meta/keybindings.h>
 #include <xkbcommon/xkbcommon.h>
-#include "meta-accel-parse.h"
+
+#include "core/meta-accel-parse.h"
+#include "meta/keybindings.h"
 
 typedef struct _MetaKeyHandler MetaKeyHandler;
 struct _MetaKeyHandler
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index f767c7d6c..968754938 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -27,27 +27,21 @@
  * @Short_Description: Key bindings
  */
 
-#include <config.h>
-#include "keybindings-private.h"
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
-#include <meta/compositor.h>
-#include <meta/meta-x11-errors.h>
-#include "edge-resistance.h"
-#include "frame.h"
-#include <meta/prefs.h>
-#include "meta-accel-parse.h"
-
-#ifdef __linux__
-#include <linux/input.h>
-#elif !defined KEY_GRAVE
-#define KEY_GRAVE 0x29 /* assume the use of xf86-input-keyboard */
-#endif
+#include "config.h"
 
 #include "backends/meta-backend-private.h"
-#include "backends/meta-monitor-manager-private.h"
 #include "backends/meta-logical-monitor.h"
+#include "backends/meta-monitor-manager-private.h"
 #include "backends/x11/meta-backend-x11.h"
+#include "core/edge-resistance.h"
+#include "core/frame.h"
+#include "core/keybindings-private.h"
+#include "core/meta-accel-parse.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/workspace-private.h"
+#include "meta/compositor.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
 #include "x11/meta-x11-display-private.h"
 #include "x11/window-x11.h"
 
@@ -55,6 +49,12 @@
 #include "backends/native/meta-backend-native.h"
 #endif
 
+#ifdef __linux__
+#include <linux/input.h>
+#elif !defined KEY_GRAVE
+#define KEY_GRAVE 0x29 /* assume the use of xf86-input-keyboard */
+#endif
+
 #define SCHEMA_COMMON_KEYBINDINGS "org.gnome.desktop.wm.keybindings"
 #define SCHEMA_MUTTER_KEYBINDINGS "org.gnome.mutter.keybindings"
 #define SCHEMA_MUTTER_WAYLAND_KEYBINDINGS "org.gnome.mutter.wayland.keybindings"
diff --git a/src/core/main.c b/src/core/main.c
index 605290864..b63664173 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -43,56 +43,55 @@
 
 #define _XOPEN_SOURCE /* for putenv() and some signal-related functions */
 
-#include <config.h>
-#include <meta/main.h>
-#include "util-private.h"
-#include "display-private.h"
-#include <meta/meta-x11-errors.h>
-#include "ui.h"
-#include <meta/prefs.h>
-#include <meta/compositor.h>
-#include <meta/meta-backend.h>
-#include "core/main-private.h"
+#include "config.h"
+
+#include "meta/main.h"
 
+#include <errno.h>
+#include <fcntl.h>
 #include <glib-object.h>
 #include <glib-unix.h>
-
+#include <locale.h>
+#include <signal.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/types.h>
 #include <sys/wait.h>
-#include <stdio.h>
-#include <string.h>
-#include <signal.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <locale.h>
 #include <time.h>
 #include <unistd.h>
-
-#include <clutter/clutter.h>
+#include <unistd.h>
 
 #ifdef HAVE_INTROSPECTION
 #include <girepository.h>
 #endif
 
+#if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
+#include <systemd/sd-login.h>
+#endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
+
+#include "backends/meta-backend-private.h"
+#include "backends/x11/cm/meta-backend-x11-cm.h"
+#include "backends/x11/meta-backend-x11.h"
+#include "clutter/clutter.h"
+#include "core/display-private.h"
+#include "core/main-private.h"
+#include "core/util-private.h"
+#include "meta/compositor.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "ui/ui.h"
 #include "x11/session.h"
 
 #ifdef HAVE_WAYLAND
-#include "wayland/meta-wayland.h"
 #include "backends/x11/nested/meta-backend-x11-nested.h"
-# endif
-
-#include "backends/meta-backend-private.h"
-#include "backends/x11/meta-backend-x11.h"
-#include "backends/x11/cm/meta-backend-x11-cm.h"
+#include "wayland/meta-wayland.h"
+#endif
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
-#ifdef HAVE_WAYLAND
-#include <systemd/sd-login.h>
-#endif /* HAVE_WAYLAND */
-#endif /* HAVE_NATIVE_BACKEND */
+#endif
 
 /*
  * The exit code we'll return to our parent process when we eventually die.
diff --git a/src/core/meta-accel-parse.c b/src/core/meta-accel-parse.c
index 6f3c912bb..0d34251af 100644
--- a/src/core/meta-accel-parse.c
+++ b/src/core/meta-accel-parse.c
@@ -24,12 +24,13 @@
 
 #include "config.h"
 
-#include "meta-accel-parse.h"
-#include "keybindings-private.h"
+#include "core/meta-accel-parse.h"
 
-#include <xkbcommon/xkbcommon.h>
-#include <string.h>
 #include <stdlib.h>
+#include <string.h>
+#include <xkbcommon/xkbcommon.h>
+
+#include "core/keybindings-private.h"
 
 /* This is copied from GTK+ and modified to work with mutter's
  * internal structures. Originating code comes from gtk/gtkaccelgroup.c
diff --git a/src/core/meta-accel-parse.h b/src/core/meta-accel-parse.h
index 54b4d3d93..12cf3f982 100644
--- a/src/core/meta-accel-parse.h
+++ b/src/core/meta-accel-parse.h
@@ -25,7 +25,8 @@
 #define META_ACCEL_PARSE_H
 
 #include <glib.h>
-#include <meta/common.h>
+
+#include "meta/common.h"
 
 typedef struct _MetaKeyCombo MetaKeyCombo;
 
diff --git a/src/core/meta-close-dialog-default-private.h b/src/core/meta-close-dialog-default-private.h
index fb4d1d6ab..f149d3686 100644
--- a/src/core/meta-close-dialog-default-private.h
+++ b/src/core/meta-close-dialog-default-private.h
@@ -22,6 +22,10 @@
 #ifndef META_CLOSE_DIALOG_DEFAULT_H
 #define META_CLOSE_DIALOG_DEFAULT_H
 
+#include <glib-object.h>
+
+#include "meta/meta-plugin.h"
+
 #define META_TYPE_CLOSE_DIALOG_DEFAULT (meta_close_dialog_default_get_type ())
 G_DECLARE_FINAL_TYPE (MetaCloseDialogDefault,
                       meta_close_dialog_default,
diff --git a/src/core/meta-close-dialog-default.c b/src/core/meta-close-dialog-default.c
index 4db017aff..fa2c1cae9 100644
--- a/src/core/meta-close-dialog-default.c
+++ b/src/core/meta-close-dialog-default.c
@@ -23,17 +23,19 @@
 
 #define _XOPEN_SOURCE /* for kill() */
 
-#include <config.h>
-#include "util-private.h"
-#include "window-private.h"
-#include <meta/meta-close-dialog.h>
-#include "meta-close-dialog-default-private.h"
-#include "x11/meta-x11-display-private.h"
+#include "config.h"
+
+#include "core/meta-close-dialog-default-private.h"
+#include "meta/meta-close-dialog.h"
 
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <signal.h>
 
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "x11/meta-x11-display-private.h"
+
 typedef struct _MetaCloseDialogDefaultPrivate MetaCloseDialogDefaultPrivate;
 
 struct _MetaCloseDialogDefault
diff --git a/src/core/meta-close-dialog.c b/src/core/meta-close-dialog.c
index b105602c8..81f692364 100644
--- a/src/core/meta-close-dialog.c
+++ b/src/core/meta-close-dialog.c
@@ -20,7 +20,8 @@
  */
 
 #include "config.h"
-#include "window-private.h"
+
+#include "core/window-private.h"
 #include "meta/meta-close-dialog.h"
 #include "meta/meta-enum-types.h"
 
diff --git a/src/core/meta-gesture-tracker-private.h b/src/core/meta-gesture-tracker-private.h
index 0e39af27f..5ce20c7c3 100644
--- a/src/core/meta-gesture-tracker-private.h
+++ b/src/core/meta-gesture-tracker-private.h
@@ -25,8 +25,9 @@
 #define META_GESTURE_TRACKER_PRIVATE_H
 
 #include <glib-object.h>
-#include <clutter/clutter.h>
-#include <meta/window.h>
+
+#include "clutter/clutter.h"
+#include "meta/window.h"
 
 #define META_TYPE_GESTURE_TRACKER            (meta_gesture_tracker_get_type ())
 #define META_GESTURE_TRACKER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_GESTURE_TRACKER, 
MetaGestureTracker))
diff --git a/src/core/meta-gesture-tracker.c b/src/core/meta-gesture-tracker.c
index e3b702f56..e27a35230 100644
--- a/src/core/meta-gesture-tracker.c
+++ b/src/core/meta-gesture-tracker.c
@@ -29,8 +29,10 @@
  */
 
 #include "config.h"
-#include "meta-gesture-tracker-private.h"
-#include "meta-surface-actor.h"
+
+#include "core/meta-gesture-tracker-private.h"
+
+#include "compositor/meta-surface-actor.h"
 
 #define DISTANCE_THRESHOLD 30
 
diff --git a/src/core/meta-inhibit-shortcuts-dialog-default-private.h 
b/src/core/meta-inhibit-shortcuts-dialog-default-private.h
index af6b31024..7f65494ef 100644
--- a/src/core/meta-inhibit-shortcuts-dialog-default-private.h
+++ b/src/core/meta-inhibit-shortcuts-dialog-default-private.h
@@ -19,6 +19,10 @@
 #ifndef META_INHIBIT_SHORTCUTS_DIALOG_DEFAULT_H
 #define META_INHIBIT_SHORTCUTS_DIALOG_DEFAULT_H
 
+#include <glib-object.h>
+
+#include "meta/meta-plugin.h"
+
 #define META_TYPE_INHIBIT_SHORTCUTS_DIALOG_DEFAULT (meta_inhibit_shortcuts_dialog_default_get_type ())
 G_DECLARE_FINAL_TYPE (MetaInhibitShortcutsDialogDefault,
                       meta_inhibit_shortcuts_dialog_default,
diff --git a/src/core/meta-inhibit-shortcuts-dialog-default.c 
b/src/core/meta-inhibit-shortcuts-dialog-default.c
index 74da70aef..55ac82359 100644
--- a/src/core/meta-inhibit-shortcuts-dialog-default.c
+++ b/src/core/meta-inhibit-shortcuts-dialog-default.c
@@ -18,12 +18,12 @@
  *
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "util-private.h"
-#include "window-private.h"
+#include "core/meta-inhibit-shortcuts-dialog-default-private.h"
+#include "core/util-private.h"
+#include "core/window-private.h"
 #include "meta/meta-inhibit-shortcuts-dialog.h"
-#include "meta-inhibit-shortcuts-dialog-default-private.h"
 
 typedef struct _MetaInhibitShortcutsDialogDefaultPrivate MetaInhibitShortcutsDialogDefaultPrivate;
 
diff --git a/src/core/meta-workspace-manager.c b/src/core/meta-workspace-manager.c
index abc819db0..9590cc9aa 100644
--- a/src/core/meta-workspace-manager.c
+++ b/src/core/meta-workspace-manager.c
@@ -30,7 +30,6 @@
 
 #include "core/window-private.h"
 #include "core/workspace-private.h"
-
 #include "meta/meta-enum-types.h"
 #include "meta/prefs.h"
 #include "meta/util.h"
diff --git a/src/core/mutter.c b/src/core/mutter.c
index fb24b4d00..23cbf7c8e 100644
--- a/src/core/mutter.c
+++ b/src/core/mutter.c
@@ -19,14 +19,13 @@
 
 #include "config.h"
 
-#include <stdlib.h>
-
-#include <meta/main.h>
-#include <meta/util.h>
+#include <glib.h>
 #include <glib/gi18n-lib.h>
-#include "meta-plugin-manager.h"
+#include <stdlib.h>
 
-#include <glib.h>
+#include "compositor/meta-plugin-manager.h"
+#include "meta/main.h"
+#include "meta/util.h"
 
 static gboolean
 print_version (const gchar    *option_name,
diff --git a/src/core/place.c b/src/core/place.c
index 9a584667a..82c3a7b9e 100644
--- a/src/core/place.c
+++ b/src/core/place.c
@@ -22,19 +22,21 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
+
+#include "core/place.h"
 
-#include "boxes-private.h"
-#include "place.h"
-#include "backends/meta-backend-private.h"
-#include "backends/meta-logical-monitor.h"
-#include <meta/meta-backend.h>
-#include <meta/workspace.h>
-#include <meta/prefs.h>
 #include <gdk/gdk.h>
 #include <math.h>
 #include <stdlib.h>
 
+#include "backends/meta-backend-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "core/boxes-private.h"
+#include "meta/meta-backend.h"
+#include "meta/prefs.h"
+#include "meta/workspace.h"
+
 typedef enum
 {
   META_LEFT,
diff --git a/src/core/place.h b/src/core/place.h
index ea0a3304f..2c0fe8298 100644
--- a/src/core/place.h
+++ b/src/core/place.h
@@ -22,8 +22,8 @@
 #ifndef META_PLACE_H
 #define META_PLACE_H
 
-#include "window-private.h"
-#include "frame.h"
+#include "core/frame.h"
+#include "core/window-private.h"
 
 void meta_window_process_placement (MetaWindow        *window,
                                     MetaPlacementRule *placement_rule,
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 30ac5d010..8340de3ad 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -26,16 +26,18 @@
  * @short_description: Mutter preferences
  */
 
-#include <config.h>
-#include <meta/prefs.h>
-#include "util-private.h"
-#include "meta-plugin-manager.h"
+#include "config.h"
+
 #include <glib.h>
 #include <gio/gio.h>
 #include <string.h>
 #include <stdlib.h>
-#include "keybindings-private.h"
-#include "meta-accel-parse.h"
+
+#include "compositor/meta-plugin-manager.h"
+#include "core/keybindings-private.h"
+#include "core/meta-accel-parse.h"
+#include "core/util-private.h"
+#include "meta/prefs.h"
 #include "x11/meta-x11-display-private.h"
 
 /* If you add a key, it needs updating in init() and in the gsettings
diff --git a/src/core/restart-helper.c b/src/core/restart-helper.c
index 57a19fb27..68ede2671 100644
--- a/src/core/restart-helper.c
+++ b/src/core/restart-helper.c
@@ -27,6 +27,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <X11/Xlib.h>
diff --git a/src/core/restart.c b/src/core/restart.c
index f1f8c7686..b13e1dcf4 100644
--- a/src/core/restart.c
+++ b/src/core/restart.c
@@ -34,15 +34,15 @@
  * This handles both of these.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <clutter/clutter.h>
 #include <gio/gunixinputstream.h>
 
-#include <meta/main.h>
-#include "ui.h"
-#include "util-private.h"
-#include "display-private.h"
+#include "clutter/clutter.h"
+#include "core/display-private.h"
+#include "core/util-private.h"
+#include "meta/main.h"
+#include "ui/ui.h"
 #include "x11/meta-x11-display-private.h"
 
 static gboolean restart_helper_started = FALSE;
diff --git a/src/core/stack-tracker.c b/src/core/stack-tracker.c
index 2d36679b5..fbd4c353c 100644
--- a/src/core/stack-tracker.c
+++ b/src/core/stack-tracker.c
@@ -32,18 +32,17 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include <string.h>
-
-#include "frame.h"
-#include "display-private.h"
-#include "stack-tracker.h"
-#include <meta/meta-x11-errors.h>
-#include <meta/util.h>
+#include "core/stack-tracker.h"
 
-#include <meta/compositor.h>
+#include <string.h>
 
+#include "core/display-private.h"
+#include "core/frame.h"
+#include "meta/compositor.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/util.h"
 #include "x11/meta-x11-display-private.h"
 
 /* The complexity here comes from resolving two competing factors:
diff --git a/src/core/stack-tracker.h b/src/core/stack-tracker.h
index e93b95b21..bf9ba984e 100644
--- a/src/core/stack-tracker.h
+++ b/src/core/stack-tracker.h
@@ -34,8 +34,8 @@
 #ifndef META_STACK_TRACKER_H
 #define META_STACK_TRACKER_H
 
-#include <meta/display.h>
-#include <meta/window.h>
+#include "meta/display.h"
+#include "meta/window.h"
 
 typedef struct _MetaStackTracker MetaStackTracker;
 
diff --git a/src/core/stack.c b/src/core/stack.c
index c00e86c76..28fd94c54 100644
--- a/src/core/stack.c
+++ b/src/core/stack.c
@@ -25,21 +25,22 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "stack.h"
-#include "meta-workspace-manager-private.h"
-#include "window-private.h"
-#include <meta/meta-x11-errors.h>
-#include "frame.h"
-#include <meta/group.h>
-#include <meta/prefs.h>
-#include <meta/workspace.h>
-#include "backends/meta-logical-monitor.h"
+#include "config.h"
+
+#include "core/stack.h"
 
 #include <X11/Xatom.h>
 
-#include "x11/meta-x11-display-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "core/frame.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/window-private.h"
+#include "meta/group.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "meta/workspace.h"
 #include "x11/group-private.h"
+#include "x11/meta-x11-display-private.h"
 
 #define WINDOW_HAS_TRANSIENT_TYPE(w)                    \
           (w->type == META_WINDOW_DIALOG ||             \
diff --git a/src/core/stack.h b/src/core/stack.h
index d97606742..fa7bcca45 100644
--- a/src/core/stack.h
+++ b/src/core/stack.h
@@ -40,7 +40,7 @@
  * by layer, then by stack_position within each layer.
  */
 
-#include "display-private.h"
+#include "core/display-private.h"
 
 /**
  * A sorted list of windows bearing some level of resemblance to the stack of
diff --git a/src/core/startup-notification-private.h b/src/core/startup-notification-private.h
index 747153d5e..d2e46cba8 100644
--- a/src/core/startup-notification-private.h
+++ b/src/core/startup-notification-private.h
@@ -25,7 +25,7 @@
 #ifndef META_STARTUP_NOTIFICATION_PRIVATE_H
 #define META_STARTUP_NOTIFICATION_PRIVATE_H
 
-#include "display-private.h"
+#include "core/display-private.h"
 
 #define META_TYPE_STARTUP_NOTIFICATION (meta_startup_notification_get_type ())
 
diff --git a/src/core/startup-notification.c b/src/core/startup-notification.c
index 710562bd0..88348f583 100644
--- a/src/core/startup-notification.c
+++ b/src/core/startup-notification.c
@@ -22,14 +22,14 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <glib-object.h>
 
-#include <meta/meta-x11-errors.h>
-#include "display-private.h"
+#include "core/display-private.h"
+#include "core/startup-notification-private.h"
+#include "meta/meta-x11-errors.h"
 #include "x11/meta-x11-display-private.h"
-#include "startup-notification-private.h"
 
 /* This should be fairly long, as it should never be required unless
  * apps or .desktop files are buggy, and it's confusing if
diff --git a/src/core/util-private.h b/src/core/util-private.h
index 421816bd5..ac2e2840b 100644
--- a/src/core/util-private.h
+++ b/src/core/util-private.h
@@ -25,9 +25,10 @@
 #ifndef META_UTIL_PRIVATE_H
 #define META_UTIL_PRIVATE_H
 
-#include <meta/util.h>
 #include <glib/gi18n-lib.h>
 
+#include "meta/util.h"
+
 void     meta_set_verbose (gboolean setting);
 void     meta_set_debugging (gboolean setting);
 void     meta_set_syncing (gboolean setting);
diff --git a/src/core/util.c b/src/core/util.c
index 5b8de18c7..5febb0edf 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -26,12 +26,9 @@
 
 #define _POSIX_C_SOURCE 200112L /* for fdopen() */
 
-#include <config.h>
-#include <meta/common.h>
-#include "util-private.h"
-#include <meta/main.h>
+#include "config.h"
 
-#include <clutter/clutter.h> /* For clutter_threads_add_repaint_func() */
+#include "core/util-private.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -41,6 +38,10 @@
 #include <X11/Xlib.h>   /* must explicitly be included for Solaris; #326746 */
 #include <X11/Xutil.h>  /* Just for the definition of the various gravities */
 
+#include "clutter/clutter.h"
+#include "meta/common.h"
+#include "meta/main.h"
+
 #ifdef WITH_VERBOSE_MODE
 static void
 meta_topic_real_valist (MetaDebugTopic topic,
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 23662ca6a..78aff9391 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -32,21 +32,19 @@
 #ifndef META_WINDOW_PRIVATE_H
 #define META_WINDOW_PRIVATE_H
 
-#include <config.h>
-#include <meta/compositor.h>
-#include <meta/window.h>
-#include <meta/meta-close-dialog.h>
-#include "backends/meta-logical-monitor.h"
-#include <meta/util.h>
-#include "stack.h"
 #include <X11/Xutil.h>
 #include <cairo.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
-#include <clutter/clutter.h>
-
-#include "x11/group-private.h"
 
+#include "backends/meta-logical-monitor.h"
+#include "clutter/clutter.h"
+#include "core/stack.h"
+#include "meta/compositor.h"
+#include "meta/meta-close-dialog.h"
+#include "meta/util.h"
+#include "meta/window.h"
 #include "wayland/meta-wayland-types.h"
+#include "x11/group-private.h"
 
 typedef struct _MetaWindowQueue MetaWindowQueue;
 
diff --git a/src/core/window.c b/src/core/window.c
index aa6c568f5..a053f28a0 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -26,48 +26,47 @@
  * @short_description: Mutter X managed windows
  */
 
-#include <config.h>
-#include "window-private.h"
-#include "boxes-private.h"
-#include "edge-resistance.h"
-#include "util-private.h"
-#include "frame.h"
-#include <meta/meta-x11-errors.h>
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
-#include "stack.h"
-#include "keybindings-private.h"
-#include "ui.h"
-#include "place.h"
-#include <meta/prefs.h>
-#include <meta/group.h>
-#include "constraints.h"
-#include <meta/meta-enum-types.h>
-#include "core.h"
+#include "config.h"
 
-#include <X11/Xatom.h>
+#include "core/window-private.h"
+
+#include <math.h>
 #include <stdlib.h>
 #include <string.h>
-#include <math.h>
+#include <X11/Xatom.h>
 
-#include <meta/meta-cursor-tracker.h>
+#include "backends/meta-backend-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "core/boxes-private.h"
+#include "core/constraints.h"
+#include "core/core.h"
+#include "core/edge-resistance.h"
+#include "core/frame.h"
+#include "core/keybindings-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/place.h"
+#include "core/stack.h"
+#include "core/util-private.h"
+#include "core/workspace-private.h"
 #include "meta/compositor-mutter.h"
-
+#include "meta/group.h"
+#include "meta/meta-cursor-tracker.h"
+#include "meta/meta-enum-types.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "ui/ui.h"
 #include "x11/meta-x11-display-private.h"
-#include "x11/window-x11.h"
 #include "x11/window-props.h"
+#include "x11/window-x11.h"
 #include "x11/xprops.h"
 
 #ifdef HAVE_WAYLAND
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-surface.h"
 #include "wayland/meta-window-wayland.h"
 #include "wayland/meta-window-xwayland.h"
-#include "wayland/meta-wayland-surface.h"
-#include "wayland/meta-wayland-private.h"
 #endif
 
-#include "backends/meta-backend-private.h"
-#include "backends/meta-logical-monitor.h"
-
 /* Windows that unmaximize to a size bigger than that fraction of the workarea
  * will be scaled down to that size (while maintaining aspect ratio).
  * Windows that cover an area greater then this size are automaximized on map.
diff --git a/src/core/workspace-private.h b/src/core/workspace-private.h
index 35d0e705f..a58b2347d 100644
--- a/src/core/workspace-private.h
+++ b/src/core/workspace-private.h
@@ -31,8 +31,8 @@
 #ifndef META_WORKSPACE_PRIVATE_H
 #define META_WORKSPACE_PRIVATE_H
 
-#include <meta/workspace.h>
-#include "window-private.h"
+#include "core/window-private.h"
+#include "meta/workspace.h"
 
 struct _MetaWorkspace
 {
diff --git a/src/core/workspace.c b/src/core/workspace.c
index e9b693e0b..1f129fd12 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -31,18 +31,9 @@
  * are unmapped.
  */
 
-#include <config.h>
-#include "backends/meta-backend-private.h"
-#include "backends/meta-logical-monitor.h"
-#include "x11/meta-x11-display-private.h"
-#include <meta/workspace.h>
-#include "meta-workspace-manager-private.h"
-#include "workspace-private.h"
-#include "boxes-private.h"
-#include <meta/meta-x11-errors.h>
-#include <meta/prefs.h>
+#include "config.h"
 
-#include <meta/compositor.h>
+#include "meta/workspace.h"
 
 #include <X11/Xatom.h>
 #include <string.h>
@@ -50,6 +41,16 @@
 #include <canberra-gtk.h>
 #endif
 
+#include "backends/meta-backend-private.h"
+#include "backends/meta-logical-monitor.h"
+#include "core/boxes-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/workspace-private.h"
+#include "meta/compositor.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "x11/meta-x11-display-private.h"
+
 void meta_workspace_queue_calc_showing   (MetaWorkspace *workspace);
 static void focus_ancestor_or_top_window (MetaWorkspace *workspace,
                                           MetaWindow    *not_this_one,
diff --git a/src/meta/common.h b/src/meta/common.h
index 02ce630db..c9d362054 100644
--- a/src/meta/common.h
+++ b/src/meta/common.h
@@ -25,14 +25,14 @@
 #ifndef META_COMMON_H
 #define META_COMMON_H
 
-/* Don't include core headers here */
 #include <X11/Xlib.h>
 #include <X11/extensions/XInput.h>
 #include <X11/extensions/XInput2.h>
-#include <clutter/clutter.h>
 #include <glib.h>
 #include <gtk/gtk.h>
 
+#include "clutter/clutter.h"
+
 /**
  * SECTION:common
  * @Title: Common
diff --git a/src/meta/compositor-mutter.h b/src/meta/compositor-mutter.h
index c70114068..485585157 100644
--- a/src/meta/compositor-mutter.h
+++ b/src/meta/compositor-mutter.h
@@ -23,13 +23,13 @@
 #ifndef MUTTER_H_
 #define MUTTER_H_
 
-#include <clutter/clutter.h>
 #include <X11/Xlib.h>
 #include <X11/extensions/Xfixes.h>
 
-#include <meta/types.h>
-#include <meta/compositor.h>
-#include <meta/meta-window-actor.h>
+#include "clutter/clutter.h"
+#include "meta/compositor.h"
+#include "meta/meta-window-actor.h"
+#include "meta/types.h"
 
 /* Public compositor API */
 ClutterActor *meta_get_stage_for_display            (MetaDisplay *display);
diff --git a/src/meta/meta-backend.h b/src/meta/meta-backend.h
index 0e5947dc1..fc3c04db4 100644
--- a/src/meta/meta-backend.h
+++ b/src/meta/meta-backend.h
@@ -27,7 +27,7 @@
 
 #include <glib-object.h>
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
 #include "meta/meta-dnd.h"
 #include "meta/meta-remote-access-controller.h"
 
diff --git a/src/meta/meta-background-actor.h b/src/meta/meta-background-actor.h
index e3cc67edf..6885a0ee1 100644
--- a/src/meta/meta-background-actor.h
+++ b/src/meta/meta-background-actor.h
@@ -21,11 +21,11 @@
 #ifndef META_BACKGROUND_ACTOR_H
 #define META_BACKGROUND_ACTOR_H
 
-#include <clutter/clutter.h>
-#include <meta/meta-background.h>
-
 #include <gsettings-desktop-schemas/gdesktop-enums.h>
 
+#include "clutter/clutter.h"
+#include "meta/meta-background.h"
+
 /**
  * MetaBackgroundActor:
  *
diff --git a/src/meta/meta-background-group.h b/src/meta/meta-background-group.h
index 9997b739e..14bb0814c 100644
--- a/src/meta/meta-background-group.h
+++ b/src/meta/meta-background-group.h
@@ -3,7 +3,7 @@
 #ifndef META_BACKGROUND_GROUP_H
 #define META_BACKGROUND_GROUP_H
 
-#include <clutter/clutter.h>
+#include "clutter/clutter.h"
 
 #define META_TYPE_BACKGROUND_GROUP            (meta_background_group_get_type ())
 #define META_BACKGROUND_GROUP(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
META_TYPE_BACKGROUND_GROUP, MetaBackgroundGroup))
diff --git a/src/meta/meta-background-image.h b/src/meta/meta-background-image.h
index fa67b42cf..de018bd1e 100644
--- a/src/meta/meta-background-image.h
+++ b/src/meta/meta-background-image.h
@@ -23,8 +23,11 @@
 #ifndef __META_BACKGROUND_IMAGE_H__
 #define __META_BACKGROUND_IMAGE_H__
 
+#include <gio/gio.h>
 #include <glib-object.h>
-#include <cogl/cogl.h>
+
+#include "cogl/cogl.h"
+#include "meta/display.h"
 
 #define META_TYPE_BACKGROUND_IMAGE            (meta_background_image_get_type ())
 #define META_BACKGROUND_IMAGE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
META_TYPE_BACKGROUND_IMAGE, MetaBackgroundImage))
diff --git a/src/meta/meta-background.h b/src/meta/meta-background.h
index 043b8477d..7c7c3c673 100644
--- a/src/meta/meta-background.h
+++ b/src/meta/meta-background.h
@@ -21,9 +21,11 @@
 #ifndef META_BACKGROUND_H
 #define META_BACKGROUND_H
 
-#include <clutter/clutter.h>
 #include <gsettings-desktop-schemas/gdesktop-enums.h>
 
+#include "clutter/clutter.h"
+#include "meta/display.h"
+
 /**
  * MetaBackground:
  *
diff --git a/src/meta/meta-cursor-tracker.h b/src/meta/meta-cursor-tracker.h
index 9430bdc30..735fa5810 100644
--- a/src/meta/meta-cursor-tracker.h
+++ b/src/meta/meta-cursor-tracker.h
@@ -23,10 +23,11 @@
 #define META_CURSOR_TRACKER_H
 
 #include <glib-object.h>
-#include <meta/types.h>
-#include <meta/workspace.h>
-#include <cogl/cogl.h>
-#include <clutter/clutter.h>
+
+#include "clutter/clutter.h"
+#include "cogl/cogl.h"
+#include "meta/types.h"
+#include "meta/workspace.h"
 
 #define META_TYPE_CURSOR_TRACKER            (meta_cursor_tracker_get_type ())
 #define META_CURSOR_TRACKER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_CURSOR_TRACKER, 
MetaCursorTracker))
diff --git a/src/meta/meta-plugin.h b/src/meta/meta-plugin.h
index 82382cd1d..c9399cf53 100644
--- a/src/meta/meta-plugin.h
+++ b/src/meta/meta-plugin.h
@@ -22,17 +22,17 @@
 #ifndef META_PLUGIN_H_
 #define META_PLUGIN_H_
 
-#include <meta/types.h>
-#include <meta/compositor.h>
-#include <meta/compositor-mutter.h>
-#include <meta/meta-version.h>
-#include <meta/meta-close-dialog.h>
-#include <meta/meta-inhibit-shortcuts-dialog.h>
-
-#include <clutter/clutter.h>
 #include <X11/extensions/Xfixes.h>
 #include <gmodule.h>
 
+#include "clutter/clutter.h"
+#include "meta/compositor-mutter.h"
+#include "meta/compositor.h"
+#include "meta/meta-close-dialog.h"
+#include "meta/meta-inhibit-shortcuts-dialog.h"
+#include "meta/meta-version.h"
+#include "meta/types.h"
+
 #define META_TYPE_PLUGIN            (meta_plugin_get_type ())
 #define META_PLUGIN(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_PLUGIN, MetaPlugin))
 #define META_PLUGIN_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  META_TYPE_PLUGIN, MetaPluginClass))
diff --git a/src/meta/meta-shadow-factory.h b/src/meta/meta-shadow-factory.h
index 730faf4a2..0b380ee02 100644
--- a/src/meta/meta-shadow-factory.h
+++ b/src/meta/meta-shadow-factory.h
@@ -24,8 +24,9 @@
 #define __META_SHADOW_FACTORY_H__
 
 #include <cairo.h>
-#include <clutter/clutter.h>
-#include <meta/meta-window-shape.h>
+
+#include "clutter/clutter.h"
+#include "meta/meta-window-shape.h"
 
 GType meta_shadow_get_type (void) G_GNUC_CONST;
 
diff --git a/src/meta/meta-shaped-texture.h b/src/meta/meta-shaped-texture.h
index 80b23f2ea..dc568a743 100644
--- a/src/meta/meta-shaped-texture.h
+++ b/src/meta/meta-shaped-texture.h
@@ -24,9 +24,10 @@
 #ifndef __META_SHAPED_TEXTURE_H__
 #define __META_SHAPED_TEXTURE_H__
 
-#include <clutter/clutter.h>
 #include <X11/Xlib.h>
 
+#include "clutter/clutter.h"
+
 G_BEGIN_DECLS
 
 #define META_TYPE_SHAPED_TEXTURE            (meta_shaped_texture_get_type())
diff --git a/src/meta/meta-window-actor.h b/src/meta/meta-window-actor.h
index 9b556280d..d5862e44b 100644
--- a/src/meta/meta-window-actor.h
+++ b/src/meta/meta-window-actor.h
@@ -23,10 +23,10 @@
 #ifndef META_WINDOW_ACTOR_H_
 #define META_WINDOW_ACTOR_H_
 
-#include <clutter/clutter.h>
 #include <X11/Xlib.h>
 
-#include <meta/compositor.h>
+#include "clutter/clutter.h"
+#include "meta/compositor.h"
 
 /*
  * MetaWindowActor object (ClutterGroup sub-class)
diff --git a/src/tests/boxes-tests.c b/src/tests/boxes-tests.c
index bc5d2d0ce..4f648a344 100644
--- a/src/tests/boxes-tests.c
+++ b/src/tests/boxes-tests.c
@@ -19,6 +19,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include "tests/boxes-tests.h"
 
 #include <glib.h>
diff --git a/src/tests/headless-start-test.c b/src/tests/headless-start-test.c
index 3da36403b..1efff74ae 100644
--- a/src/tests/headless-start-test.c
+++ b/src/tests/headless-start-test.c
@@ -23,6 +23,7 @@
 #include "backends/meta-crtc.h"
 #include "backends/meta-output.h"
 #include "compositor/meta-plugin-manager.h"
+#include "core/display-private.h"
 #include "core/main-private.h"
 #include "meta/main.h"
 #include "tests/meta-backend-test.h"
diff --git a/src/tests/test-client.c b/src/tests/test-client.c
index 214f78181..59915743a 100644
--- a/src/tests/test-client.c
+++ b/src/tests/test-client.c
@@ -17,6 +17,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <gio/gunixinputstream.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
diff --git a/src/tests/test-runner.c b/src/tests/test-runner.c
index ecd9fa7f7..be3b4197e 100644
--- a/src/tests/test-runner.c
+++ b/src/tests/test-runner.c
@@ -17,19 +17,21 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "config.h"
+
 #include <gio/gio.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
 
-#include <meta/main.h>
-#include <meta/util.h>
-#include <meta/window.h>
-#include <ui/ui.h>
-#include "meta-plugin-manager.h"
-#include "wayland/meta-wayland.h"
-#include "window-private.h"
+#include "compositor/meta-plugin-manager.h"
+#include "core/window-private.h"
+#include "meta/main.h"
+#include "meta/util.h"
+#include "meta/window.h"
 #include "tests/test-utils.h"
+#include "ui/ui.h"
+#include "wayland/meta-wayland.h"
 #include "x11/meta-x11-display-private.h"
 
 typedef struct {
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 6d7b999be..8743db91e 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -21,23 +21,23 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
+
+#include <cairo-xlib.h>
 #include <math.h>
 #include <string.h>
-#include <meta/boxes.h>
-#include "frames.h"
-#include <meta/util.h>
-#include "core.h"
-#include <meta/theme.h>
-#include <meta/prefs.h>
-#include "ui.h"
 
-#include "core/window-private.h"
+#include "core/core.h"
 #include "core/frame.h"
-#include "x11/window-x11.h"
+#include "core/window-private.h"
+#include "meta/boxes.h"
+#include "meta/prefs.h"
+#include "meta/theme.h"
+#include "meta/util.h"
+#include "ui/ui.h"
+#include "ui/frames.h"
 #include "x11/window-x11-private.h"
-
-#include <cairo-xlib.h>
+#include "x11/window-x11.h"
 
 #define DEFAULT_INNER_BUTTON_BORDER 3
 
diff --git a/src/ui/frames.h b/src/ui/frames.h
index 397f350f6..fc69d2c78 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -24,10 +24,11 @@
 
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
-#include <meta/common.h>
-#include <meta/types.h>
-#include "theme-private.h"
-#include "ui.h"
+
+#include "meta/common.h"
+#include "meta/types.h"
+#include "ui/theme-private.h"
+#include "ui/ui.h"
 
 typedef enum
 {
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index eaee95d10..1e88ba596 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -22,11 +22,12 @@
 #ifndef META_THEME_PRIVATE_H
 #define META_THEME_PRIVATE_H
 
-#include <meta/boxes.h>
-#include <meta/theme.h>
-#include <meta/common.h>
 #include <gtk/gtk.h>
 
+#include "meta/boxes.h"
+#include "meta/common.h"
+#include "meta/theme.h"
+
 /**
  * MetaStyleInfo: (skip)
  *
diff --git a/src/ui/theme.c b/src/ui/theme.c
index c0bb9b66a..22951c24e 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -17,16 +17,19 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "theme-private.h"
-#include "frames.h" /* for META_TYPE_FRAMES */
-#include "util-private.h"
-#include <meta/prefs.h>
+#include "config.h"
+
+#include "ui/theme-private.h"
+
 #include <gtk/gtk.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
 #include <math.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "core/util-private.h"
+#include "meta/prefs.h"
+#include "ui/frames.h"
 
 #define DEBUG_FILL_STRUCT(s) memset ((s), 0xef, sizeof (*(s)))
 
diff --git a/src/ui/ui.c b/src/ui/ui.c
index 86b9d89c6..e96fe86fd 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -19,18 +19,19 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include <meta/prefs.h>
-#include "ui.h"
-#include "frames.h"
-#include <meta/util.h>
-#include "core.h"
-#include "theme-private.h"
-#include "x11/meta-x11-display-private.h"
+#include "config.h"
 
-#include <string.h>
-#include <stdlib.h>
 #include <cairo-xlib.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "core/core.h"
+#include "meta/prefs.h"
+#include "meta/util.h"
+#include "ui/frames.h"
+#include "ui/theme-private.h"
+#include "ui/ui.h"
+#include "x11/meta-x11-display-private.h"
 
 struct _MetaUI
 {
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 15daaf270..7c0fe34d5 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -22,14 +22,14 @@
 #ifndef META_UI_H
 #define META_UI_H
 
-/* Don't include gtk.h or gdk.h here */
-#include <meta/common.h>
-#include <meta/types.h>
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <cairo.h>
-#include <glib.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
+#include <glib.h>
+
+#include "meta/common.h"
+#include "meta/types.h"
 
 typedef struct _MetaUI MetaUI;
 typedef struct _MetaUIFrame MetaUIFrame;
diff --git a/src/wayland/meta-pointer-confinement-wayland.c b/src/wayland/meta-pointer-confinement-wayland.c
index 1e95c1f0d..b8a900467 100644
--- a/src/wayland/meta-pointer-confinement-wayland.c
+++ b/src/wayland/meta-pointer-confinement-wayland.c
@@ -30,13 +30,13 @@
 #include <cairo.h>
 
 #include "backends/meta-backend-private.h"
+#include "backends/meta-pointer-constraint.h"
+#include "compositor/meta-surface-actor-wayland.h"
 #include "core/meta-border.h"
-#include "wayland/meta-wayland-seat.h"
-#include "wayland/meta-wayland-pointer.h"
 #include "wayland/meta-wayland-pointer-constraints.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-seat.h"
 #include "wayland/meta-wayland-surface.h"
-#include "backends/meta-pointer-constraint.h"
-#include "compositor/meta-surface-actor-wayland.h"
 
 struct _MetaPointerConfinementWayland
 {
diff --git a/src/wayland/meta-wayland-buffer.c b/src/wayland/meta-wayland-buffer.c
index b4b1e7825..3971df31d 100644
--- a/src/wayland/meta-wayland-buffer.c
+++ b/src/wayland/meta-wayland-buffer.c
@@ -24,21 +24,20 @@
 
 #include "config.h"
 
-#include "meta-wayland-buffer.h"
-#include "meta-wayland-dma-buf.h"
-
-#include <clutter/clutter.h>
-#include <cogl/cogl-egl.h>
-#include <meta/util.h>
+#include "wayland/meta-wayland-buffer.h"
 
 #include <drm_fourcc.h>
 
+#include "backends/meta-backend-private.h"
+#include "clutter/clutter.h"
+#include "cogl/cogl-egl.h"
+#include "meta/util.h"
+#include "wayland/meta-wayland-dma-buf.h"
+
 #ifndef DRM_FORMAT_MOD_INVALID
 #define DRM_FORMAT_MOD_INVALID ((1ULL << 56) - 1)
 #endif
 
-#include "backends/meta-backend-private.h"
-
 enum
 {
   RESOURCE_DESTROYED,
diff --git a/src/wayland/meta-wayland-buffer.h b/src/wayland/meta-wayland-buffer.h
index 036f9d428..f1e03bcbd 100644
--- a/src/wayland/meta-wayland-buffer.h
+++ b/src/wayland/meta-wayland-buffer.h
@@ -25,13 +25,13 @@
 #ifndef META_WAYLAND_BUFFER_H
 #define META_WAYLAND_BUFFER_H
 
-#include <cogl/cogl.h>
 #include <cairo.h>
 #include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-wayland-egl-stream.h"
-#include "meta-wayland-dma-buf.h"
+#include "cogl/cogl.h"
+#include "wayland/meta-wayland-types.h"
+#include "wayland/meta-wayland-egl-stream.h"
+#include "wayland/meta-wayland-dma-buf.h"
 
 typedef enum _MetaWaylandBufferType
 {
diff --git a/src/wayland/meta-wayland-cursor-surface.c b/src/wayland/meta-wayland-cursor-surface.c
index 44ba177b7..92f86c9ec 100644
--- a/src/wayland/meta-wayland-cursor-surface.c
+++ b/src/wayland/meta-wayland-cursor-surface.c
@@ -21,16 +21,17 @@
 
 #include "config.h"
 
-#include <cogl/cogl.h>
-#include <cogl/cogl-wayland-server.h>
-#include "meta-wayland-cursor-surface.h"
-#include "meta-wayland-buffer.h"
-#include "meta-xwayland.h"
-#include "meta-wayland-private.h"
+#include "wayland/meta-wayland-cursor-surface.h"
+
 #include "backends/meta-backend-private.h"
 #include "backends/meta-logical-monitor.h"
+#include "cogl/cogl-wayland-server.h"
+#include "cogl/cogl.h"
 #include "core/boxes-private.h"
 #include "wayland/meta-cursor-sprite-wayland.h"
+#include "wayland/meta-wayland-buffer.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-xwayland.h"
 
 typedef struct _MetaWaylandCursorSurfacePrivate MetaWaylandCursorSurfacePrivate;
 
diff --git a/src/wayland/meta-wayland-cursor-surface.h b/src/wayland/meta-wayland-cursor-surface.h
index 2461a85b3..05b344f04 100644
--- a/src/wayland/meta-wayland-cursor-surface.h
+++ b/src/wayland/meta-wayland-cursor-surface.h
@@ -22,8 +22,8 @@
 #ifndef META_WAYLAND_CURSOR_SURFACE_H
 #define META_WAYLAND_CURSOR_SURFACE_H
 
-#include "meta-wayland-surface.h"
 #include "backends/meta-cursor-renderer.h"
+#include "wayland/meta-wayland-surface.h"
 
 struct _MetaWaylandCursorSurfaceClass
 {
diff --git a/src/wayland/meta-wayland-data-device.c b/src/wayland/meta-wayland-data-device.c
index cd4de40a3..9a20e3eb4 100644
--- a/src/wayland/meta-wayland-data-device.c
+++ b/src/wayland/meta-wayland-data-device.c
@@ -24,19 +24,20 @@
 
 #include "config.h"
 
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-wayland-data-device-private.h"
+
+#include <glib-unix.h>
+#include <glib.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#include <stdio.h>
-#include <glib.h>
-#include <glib-unix.h>
 
-#include "meta-wayland-data-device.h"
-#include "meta-wayland-data-device-private.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-private.h"
-#include "meta-dnd-actor-private.h"
+#include "compositor/meta-dnd-actor-private.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-seat.h"
 
 #include "gtk-primary-selection-server-protocol.h"
 
diff --git a/src/wayland/meta-wayland-data-device.h b/src/wayland/meta-wayland-data-device.h
index 326a59809..c63c65033 100644
--- a/src/wayland/meta-wayland-data-device.h
+++ b/src/wayland/meta-wayland-data-device.h
@@ -23,11 +23,11 @@
 #ifndef META_WAYLAND_DATA_DEVICE_H
 #define META_WAYLAND_DATA_DEVICE_H
 
-#include <wayland-server.h>
 #include <glib-object.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
 #include "clutter/clutter.h"
+#include "wayland/meta-wayland-types.h"
 
 typedef struct _MetaWaylandDragGrab MetaWaylandDragGrab;
 typedef struct _MetaWaylandDataSourceFuncs MetaWaylandDataSourceFuncs;
diff --git a/src/wayland/meta-wayland-dma-buf.c b/src/wayland/meta-wayland-dma-buf.c
index e72c53935..5f168f674 100644
--- a/src/wayland/meta-wayland-dma-buf.c
+++ b/src/wayland/meta-wayland-dma-buf.c
@@ -28,18 +28,18 @@
 
 #include "wayland/meta-wayland-dma-buf.h"
 
-#include "cogl/cogl.h"
-#include "cogl/cogl-egl.h"
+#include <drm_fourcc.h>
+
 #include "backends/meta-backend-private.h"
-#include "backends/meta-egl.h"
 #include "backends/meta-egl-ext.h"
+#include "backends/meta-egl.h"
+#include "cogl/cogl-egl.h"
+#include "cogl/cogl.h"
 #include "meta/meta-backend.h"
 #include "wayland/meta-wayland-buffer.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-wayland-versions.h"
 
-#include <drm_fourcc.h>
-
 #include "linux-dmabuf-unstable-v1-server-protocol.h"
 
 #ifndef DRM_FORMAT_MOD_INVALID
diff --git a/src/wayland/meta-wayland-egl-stream.c b/src/wayland/meta-wayland-egl-stream.c
index 0d7ce2304..546f5eab4 100644
--- a/src/wayland/meta-wayland-egl-stream.c
+++ b/src/wayland/meta-wayland-egl-stream.c
@@ -26,19 +26,20 @@
 
 #include "wayland/meta-wayland-egl-stream.h"
 
-#include "cogl/cogl-egl.h"
 #include "backends/meta-backend-private.h"
-#include "backends/meta-egl.h"
 #include "backends/meta-egl-ext.h"
+#include "backends/meta-egl.h"
+#include "cogl/cogl-egl.h"
 #include "meta/meta-backend.h"
 #include "wayland/meta-wayland-buffer.h"
 #include "wayland/meta-wayland-private.h"
 
 #ifdef HAVE_WAYLAND_EGLSTREAM
 
-#include "wayland-eglstream-controller-server-protocol.h"
 #include <dlfcn.h>
 
+#include "wayland-eglstream-controller-server-protocol.h"
+
 static struct wl_interface *wl_eglstream_controller_interface_ptr = NULL;
 
 static void
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c 
b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
index a432a4103..659f5778c 100644
--- a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
+++ b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.c
@@ -15,13 +15,13 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "wayland/meta-window-wayland.h"
-#include "wayland/meta-wayland.h"
-#include "core/window-private.h"
 #include "compositor/compositor-private.h"
-#include "meta-wayland-inhibit-shortcuts-dialog.h"
+#include "core/window-private.h"
+#include "wayland/meta-wayland-inhibit-shortcuts-dialog.h"
+#include "wayland/meta-wayland.h"
+#include "wayland/meta-window-wayland.h"
 
 static GQuark quark_surface_inhibit_shortcuts_data = 0;
 
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h 
b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
index a7d60cfc3..7f3501565 100644
--- a/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
+++ b/src/wayland/meta-wayland-inhibit-shortcuts-dialog.h
@@ -19,7 +19,7 @@
 #ifndef META_WAYLAND_INHIBIT_SHORTCUTS_DIALOG_H
 #define META_WAYLAND_INHIBIT_SHORTCUTS_DIALOG_H
 
-#include "meta-wayland-private.h"
+#include "wayland/meta-wayland-private.h"
 
 void     meta_wayland_surface_show_inhibit_shortcuts_dialog (MetaWaylandSurface *surface,
                                                              MetaWaylandSeat    *seat);
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts.c b/src/wayland/meta-wayland-inhibit-shortcuts.c
index 1a831607f..ff00b1b15 100644
--- a/src/wayland/meta-wayland-inhibit-shortcuts.c
+++ b/src/wayland/meta-wayland-inhibit-shortcuts.c
@@ -24,12 +24,13 @@
 
 #include <wayland-server.h>
 
-#include "keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-wayland-versions.h"
 #include "wayland/meta-wayland-inhibit-shortcuts.h"
 #include "wayland/meta-wayland-inhibit-shortcuts-dialog.h"
 
+#include "keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h"
+
 struct _MetaWaylandKeyboardShotscutsInhibit
 {
   MetaWaylandSurface      *surface;
diff --git a/src/wayland/meta-wayland-inhibit-shortcuts.h b/src/wayland/meta-wayland-inhibit-shortcuts.h
index fdd35dd06..52b2240c4 100644
--- a/src/wayland/meta-wayland-inhibit-shortcuts.h
+++ b/src/wayland/meta-wayland-inhibit-shortcuts.h
@@ -24,8 +24,9 @@
 #define META_WAYLAND_INHIBIT_SHORTCUTS_H
 
 #include <wayland-server.h>
-#include "wayland/meta-wayland-types.h"
+
 #include "meta/window.h"
+#include "wayland/meta-wayland-types.h"
 
 #define META_TYPE_WAYLAND_KEYBOARD_SHORTCUTS_INHIBIT 
(meta_wayland_keyboard_shortcuts_inhibit_resource_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandKeyboardShotscutsInhibit,
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index 97fb6bbed..e049e8e0b 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -47,19 +47,18 @@
 
 #include "config.h"
 
-#include <glib.h>
-#include <string.h>
 #include <errno.h>
-#include <stdlib.h>
 #include <fcntl.h>
-#include <unistd.h>
+#include <glib.h>
+#include <stdlib.h>
+#include <string.h>
 #include <sys/mman.h>
-#include <clutter/evdev/clutter-evdev.h>
+#include <unistd.h>
 
-#include "display-private.h"
 #include "backends/meta-backend-private.h"
-
-#include "meta-wayland-private.h"
+#include "clutter/evdev/clutter-evdev.h"
+#include "core/display-private.h"
+#include "wayland/meta-wayland-private.h"
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
diff --git a/src/wayland/meta-wayland-keyboard.h b/src/wayland/meta-wayland-keyboard.h
index 8d09a0005..20f309fff 100644
--- a/src/wayland/meta-wayland-keyboard.h
+++ b/src/wayland/meta-wayland-keyboard.h
@@ -45,10 +45,10 @@
 #ifndef META_WAYLAND_KEYBOARD_H
 #define META_WAYLAND_KEYBOARD_H
 
-#include <clutter/clutter.h>
 #include <wayland-server.h>
 #include <xkbcommon/xkbcommon.h>
 
+#include "clutter/clutter.h"
 #include "wayland/meta-wayland-types.h"
 
 #define META_TYPE_WAYLAND_KEYBOARD (meta_wayland_keyboard_get_type ())
diff --git a/src/wayland/meta-wayland-legacy-xdg-shell.c b/src/wayland/meta-wayland-legacy-xdg-shell.c
index 8c5facfe3..a88eaf544 100644
--- a/src/wayland/meta-wayland-legacy-xdg-shell.c
+++ b/src/wayland/meta-wayland-legacy-xdg-shell.c
@@ -27,7 +27,6 @@
 
 #include "backends/meta-logical-monitor.h"
 #include "core/window-private.h"
-#include "wayland/meta-wayland.h"
 #include "wayland/meta-wayland-outputs.h"
 #include "wayland/meta-wayland-popup.h"
 #include "wayland/meta-wayland-private.h"
@@ -35,6 +34,7 @@
 #include "wayland/meta-wayland-shell-surface.h"
 #include "wayland/meta-wayland-surface.h"
 #include "wayland/meta-wayland-versions.h"
+#include "wayland/meta-wayland.h"
 #include "wayland/meta-window-wayland.h"
 
 #include "xdg-shell-unstable-v6-server-protocol.h"
diff --git a/src/wayland/meta-wayland-legacy-xdg-shell.h b/src/wayland/meta-wayland-legacy-xdg-shell.h
index 54ddacd50..8a07dfb29 100644
--- a/src/wayland/meta-wayland-legacy-xdg-shell.h
+++ b/src/wayland/meta-wayland-legacy-xdg-shell.h
@@ -20,8 +20,8 @@
 #ifndef META_WAYLAND_LEGACY_XDG_SHELL_H
 #define META_WAYLAND_LEGACY_XDG_SHELL_H
 
-#include "wayland/meta-wayland-surface.h"
 #include "wayland/meta-wayland-shell-surface.h"
+#include "wayland/meta-wayland-surface.h"
 
 #define META_TYPE_WAYLAND_ZXDG_SURFACE_V6 (meta_wayland_zxdg_surface_v6_get_type ())
 G_DECLARE_DERIVABLE_TYPE (MetaWaylandZxdgSurfaceV6,
diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c
index bd0a3b1ff..11717207d 100644
--- a/src/wayland/meta-wayland-outputs.c
+++ b/src/wayland/meta-wayland-outputs.c
@@ -24,14 +24,17 @@
 
 #include "config.h"
 
-#include "meta-wayland-outputs.h"
+#include "wayland/meta-wayland-outputs.h"
+
+#include <string.h>
 
-#include "meta-wayland-private.h"
 #include "backends/meta-logical-monitor.h"
-#include "meta-monitor-manager-private.h"
+#include "backends/meta-monitor.h"
+#include "backends/meta-monitor-manager-private.h"
+#include "wayland/meta-wayland-private.h"
+
 #include "xdg-output-unstable-v1-server-protocol.h"
 
-#include <string.h>
 
 enum {
   OUTPUT_DESTROYED,
diff --git a/src/wayland/meta-wayland-outputs.h b/src/wayland/meta-wayland-outputs.h
index e6b60d5fa..739be4dd7 100644
--- a/src/wayland/meta-wayland-outputs.h
+++ b/src/wayland/meta-wayland-outputs.h
@@ -26,7 +26,7 @@
 #define META_WAYLAND_OUTPUTS_H
 
 #include "backends/meta-monitor-manager-private.h"
-#include "meta-wayland-private.h"
+#include "wayland/meta-wayland-private.h"
 
 #define META_TYPE_WAYLAND_OUTPUT (meta_wayland_output_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandOutput, meta_wayland_output,
diff --git a/src/wayland/meta-wayland-pointer-constraints.c b/src/wayland/meta-wayland-pointer-constraints.c
index aa89aa0c2..a33b672f1 100644
--- a/src/wayland/meta-wayland-pointer-constraints.c
+++ b/src/wayland/meta-wayland-pointer-constraints.c
@@ -24,24 +24,24 @@
 
 #include "config.h"
 
-#include "meta-wayland-pointer-constraints.h"
+#include "wayland/meta-wayland-pointer-constraints.h"
 
 #include <glib.h>
 
-#include "meta/meta-backend.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-surface.h"
-#include "meta-wayland-region.h"
-#include "meta-xwayland.h"
-#include "meta-pointer-lock-wayland.h"
-#include "meta-pointer-confinement-wayland.h"
-#include "window-private.h"
 #include "backends/meta-backend-private.h"
-#include "backends/native/meta-backend-native.h"
 #include "backends/meta-pointer-constraint.h"
+#include "backends/native/meta-backend-native.h"
 #include "core/frame.h"
+#include "core/window-private.h"
+#include "meta/meta-backend.h"
+#include "wayland/meta-pointer-confinement-wayland.h"
+#include "wayland/meta-pointer-lock-wayland.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-region.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+#include "wayland/meta-xwayland.h"
 
 #include "pointer-constraints-unstable-v1-server-protocol.h"
 
diff --git a/src/wayland/meta-wayland-pointer-constraints.h b/src/wayland/meta-wayland-pointer-constraints.h
index 0a2894888..dee7568de 100644
--- a/src/wayland/meta-wayland-pointer-constraints.h
+++ b/src/wayland/meta-wayland-pointer-constraints.h
@@ -25,11 +25,11 @@
 #ifndef META_WAYLAND_POINTER_CONSTRAINTS_H
 #define META_WAYLAND_POINTER_CONSTRAINTS_H
 
-#include "meta-wayland-types.h"
-#include "meta/window.h"
-
 #include <wayland-server.h>
 
+#include "meta/window.h"
+#include "wayland/meta-wayland-types.h"
+
 #define META_TYPE_WAYLAND_POINTER_CONSTRAINT (meta_wayland_pointer_constraint_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandPointerConstraint,
                       meta_wayland_pointer_constraint,
diff --git a/src/wayland/meta-wayland-pointer-gesture-pinch.c 
b/src/wayland/meta-wayland-pointer-gesture-pinch.c
index 7f5da2267..f7b37ff27 100644
--- a/src/wayland/meta-wayland-pointer-gesture-pinch.c
+++ b/src/wayland/meta-wayland-pointer-gesture-pinch.c
@@ -23,12 +23,14 @@
 
 #include "config.h"
 
+#include "wayland/meta-wayland-pointer-gesture-pinch.h"
+
 #include <glib.h>
 
-#include "meta-wayland-pointer-gesture-pinch.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-surface.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+
 #include "pointer-gestures-unstable-v1-server-protocol.h"
 
 static void
diff --git a/src/wayland/meta-wayland-pointer-gesture-pinch.h 
b/src/wayland/meta-wayland-pointer-gesture-pinch.h
index 9c4c691eb..9ea3733f7 100644
--- a/src/wayland/meta-wayland-pointer-gesture-pinch.h
+++ b/src/wayland/meta-wayland-pointer-gesture-pinch.h
@@ -22,11 +22,11 @@
 #ifndef META_WAYLAND_POINTER_GESTURE_PINCH_H
 #define META_WAYLAND_POINTER_GESTURE_PINCH_H
 
-#include <wayland-server.h>
-#include <clutter/clutter.h>
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "clutter/clutter.h"
+#include "wayland/meta-wayland-types.h"
 
 gboolean meta_wayland_pointer_gesture_pinch_handle_event (MetaWaylandPointer *pointer,
                                                           const ClutterEvent *event);
diff --git a/src/wayland/meta-wayland-pointer-gesture-swipe.c 
b/src/wayland/meta-wayland-pointer-gesture-swipe.c
index eaa34acdf..043e3eb23 100644
--- a/src/wayland/meta-wayland-pointer-gesture-swipe.c
+++ b/src/wayland/meta-wayland-pointer-gesture-swipe.c
@@ -23,12 +23,14 @@
 
 #include "config.h"
 
+#include "wayland/meta-wayland-pointer-gesture-swipe.h"
+
 #include <glib.h>
 
-#include "meta-wayland-pointer-gesture-swipe.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-surface.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+
 #include "pointer-gestures-unstable-v1-server-protocol.h"
 
 static void
diff --git a/src/wayland/meta-wayland-pointer-gesture-swipe.h 
b/src/wayland/meta-wayland-pointer-gesture-swipe.h
index f41b2b1a5..ed53fc4b2 100644
--- a/src/wayland/meta-wayland-pointer-gesture-swipe.h
+++ b/src/wayland/meta-wayland-pointer-gesture-swipe.h
@@ -22,11 +22,11 @@
 #ifndef META_WAYLAND_POINTER_GESTURE_SWIPE_H
 #define META_WAYLAND_POINTER_GESTURE_SWIPE_H
 
-#include <wayland-server.h>
-#include <clutter/clutter.h>
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "clutter/clutter.h"
+#include "wayland/meta-wayland-types.h"
 
 gboolean meta_wayland_pointer_gesture_swipe_handle_event (MetaWaylandPointer *pointer,
                                                           const ClutterEvent *event);
diff --git a/src/wayland/meta-wayland-pointer-gestures.c b/src/wayland/meta-wayland-pointer-gestures.c
index 494fca223..7222a8a8c 100644
--- a/src/wayland/meta-wayland-pointer-gestures.c
+++ b/src/wayland/meta-wayland-pointer-gestures.c
@@ -23,11 +23,14 @@
 
 #include "config.h"
 
+#include "wayland/meta-wayland-pointer-gestures.h"
+
 #include <glib.h>
-#include "meta-wayland-pointer-gestures.h"
+
+#include "wayland/meta-wayland-versions.h"
+#include "wayland/meta-wayland-private.h"
+
 #include "pointer-gestures-unstable-v1-server-protocol.h"
-#include "meta-wayland-versions.h"
-#include "meta-wayland-private.h"
 
 static void
 gestures_get_swipe (struct wl_client   *client,
diff --git a/src/wayland/meta-wayland-pointer-gestures.h b/src/wayland/meta-wayland-pointer-gestures.h
index 6c605a80b..48792da12 100644
--- a/src/wayland/meta-wayland-pointer-gestures.h
+++ b/src/wayland/meta-wayland-pointer-gestures.h
@@ -22,10 +22,10 @@
 #ifndef META_WAYLAND_POINTER_GESTURES_H
 #define META_WAYLAND_POINTER_GESTURES_H
 
-#include <wayland-server.h>
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "wayland/meta-wayland-types.h"
 
 void meta_wayland_pointer_gestures_init (MetaWaylandCompositor *compositor);
 
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index e8138576e..27b8f38cd 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -43,35 +43,34 @@
 
 #include "config.h"
 
-#include <clutter/clutter.h>
-#include <clutter/evdev/clutter-evdev.h>
-#include <cogl/cogl.h>
-#include <cogl/cogl-wayland-server.h>
 #include <linux/input.h>
+#include <string.h>
 
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-popup.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-surface.h"
-#include "meta-wayland-buffer.h"
-#include "meta-wayland-cursor-surface.h"
-#include "meta-xwayland.h"
-#include "meta-cursor.h"
-#include "meta-cursor-tracker-private.h"
-#include "meta-surface-actor-wayland.h"
-#include "meta/meta-cursor-tracker.h"
 #include "backends/meta-backend-private.h"
-#include "backends/meta-cursor-tracker-private.h"
 #include "backends/meta-cursor-renderer.h"
-
-#include "relative-pointer-unstable-v1-server-protocol.h"
+#include "backends/meta-cursor-tracker-private.h"
+#include "backends/meta-cursor-tracker-private.h"
+#include "backends/meta-cursor.h"
+#include "clutter/clutter.h"
+#include "clutter/evdev/clutter-evdev.h"
+#include "cogl/cogl-wayland-server.h"
+#include "cogl/cogl.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "meta/meta-cursor-tracker.h"
+#include "wayland/meta-wayland-buffer.h"
+#include "wayland/meta-wayland-cursor-surface.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-popup.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+#include "wayland/meta-xwayland.h"
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
 #endif
 
-#include <string.h>
+#include "relative-pointer-unstable-v1-server-protocol.h"
 
 #define DEFAULT_AXIS_STEP_DISTANCE wl_fixed_from_int (10)
 
diff --git a/src/wayland/meta-wayland-pointer.h b/src/wayland/meta-wayland-pointer.h
index 87bc8c72c..a5cf8ad91 100644
--- a/src/wayland/meta-wayland-pointer.h
+++ b/src/wayland/meta-wayland-pointer.h
@@ -20,18 +20,16 @@
 #ifndef META_WAYLAND_POINTER_H
 #define META_WAYLAND_POINTER_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-pointer-gesture-swipe.h"
-#include "meta-wayland-pointer-gesture-pinch.h"
-#include "meta-wayland-surface.h"
-#include "meta-wayland-pointer-constraints.h"
-
-#include <meta/meta-cursor-tracker.h>
+#include "meta/meta-cursor-tracker.h"
+#include "wayland/meta-wayland-pointer-constraints.h"
+#include "wayland/meta-wayland-pointer-gesture-pinch.h"
+#include "wayland/meta-wayland-pointer-gesture-swipe.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+#include "wayland/meta-wayland-types.h"
 
 #define META_TYPE_WAYLAND_POINTER (meta_wayland_pointer_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandPointer, meta_wayland_pointer,
diff --git a/src/wayland/meta-wayland-popup.c b/src/wayland/meta-wayland-popup.c
index 7ec2d220f..ce9a8b81e 100644
--- a/src/wayland/meta-wayland-popup.c
+++ b/src/wayland/meta-wayland-popup.c
@@ -42,11 +42,11 @@
 
 #include "config.h"
 
-#include "meta-wayland-popup.h"
+#include "wayland/meta-wayland-popup.h"
 
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-surface.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-surface.h"
 
 G_DEFINE_INTERFACE (MetaWaylandPopupSurface, meta_wayland_popup_surface,
                     G_TYPE_OBJECT);
diff --git a/src/wayland/meta-wayland-popup.h b/src/wayland/meta-wayland-popup.h
index eab3a9b1a..3cc90e22a 100644
--- a/src/wayland/meta-wayland-popup.h
+++ b/src/wayland/meta-wayland-popup.h
@@ -24,8 +24,8 @@
 #include <glib.h>
 #include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-wayland-pointer.h"
+#include "wayland/meta-wayland-types.h"
+#include "wayland/meta-wayland-pointer.h"
 
 #define META_TYPE_WAYLAND_POPUP_SURFACE (meta_wayland_popup_surface_get_type ())
 G_DECLARE_INTERFACE (MetaWaylandPopupSurface, meta_wayland_popup_surface,
diff --git a/src/wayland/meta-wayland-private.h b/src/wayland/meta-wayland-private.h
index e2442b385..c5db43922 100644
--- a/src/wayland/meta-wayland-private.h
+++ b/src/wayland/meta-wayland-private.h
@@ -20,20 +20,18 @@
 #ifndef META_WAYLAND_PRIVATE_H
 #define META_WAYLAND_PRIVATE_H
 
-#include <wayland-server.h>
-#include <clutter/clutter.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "window-private.h"
-#include <meta/meta-cursor-tracker.h>
-
-#include "meta-wayland.h"
-#include "meta-wayland-versions.h"
-#include "meta-wayland-surface.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-pointer-gestures.h"
-#include "meta-wayland-tablet-manager.h"
+#include "clutter/clutter.h"
+#include "core/window-private.h"
+#include "meta/meta-cursor-tracker.h"
+#include "wayland/meta-wayland-pointer-gestures.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-surface.h"
+#include "wayland/meta-wayland-tablet-manager.h"
+#include "wayland/meta-wayland-versions.h"
+#include "wayland/meta-wayland.h"
 
 typedef struct _MetaXWaylandSelection MetaXWaylandSelection;
 
diff --git a/src/wayland/meta-wayland-region.c b/src/wayland/meta-wayland-region.c
index a4d347f68..761b97c13 100644
--- a/src/wayland/meta-wayland-region.c
+++ b/src/wayland/meta-wayland-region.c
@@ -24,7 +24,7 @@
 
 #include "config.h"
 
-#include "meta-wayland-region.h"
+#include "wayland/meta-wayland-region.h"
 
 struct _MetaWaylandRegion
 {
diff --git a/src/wayland/meta-wayland-region.h b/src/wayland/meta-wayland-region.h
index 3ec8ab1a0..201580a67 100644
--- a/src/wayland/meta-wayland-region.h
+++ b/src/wayland/meta-wayland-region.h
@@ -25,10 +25,11 @@
 #ifndef META_WAYLAND_REGION_H
 #define META_WAYLAND_REGION_H
 
-#include <glib.h>
 #include <cairo.h>
+#include <glib.h>
 #include <wayland-server.h>
-#include "meta-wayland-types.h"
+
+#include "wayland/meta-wayland-types.h"
 
 MetaWaylandRegion * meta_wayland_region_create (MetaWaylandCompositor *compositor,
                                                 struct wl_client      *client,
diff --git a/src/wayland/meta-wayland-seat.c b/src/wayland/meta-wayland-seat.c
index 42af635c1..0de075275 100644
--- a/src/wayland/meta-wayland-seat.c
+++ b/src/wayland/meta-wayland-seat.c
@@ -21,12 +21,12 @@
 
 #include "config.h"
 
-#include "meta-wayland-seat.h"
+#include "wayland/meta-wayland-seat.h"
 
-#include "meta-wayland-private.h"
-#include "meta-wayland-versions.h"
-#include "meta-wayland-data-device.h"
-#include "meta-wayland-tablet-seat.h"
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-seat.h"
+#include "wayland/meta-wayland-versions.h"
 
 #define CAPABILITY_ENABLED(prev, cur, capability) ((cur & (capability)) && !(prev & (capability)))
 #define CAPABILITY_DISABLED(prev, cur, capability) ((prev & (capability)) && !(cur & (capability)))
diff --git a/src/wayland/meta-wayland-seat.h b/src/wayland/meta-wayland-seat.h
index b0fc9bce5..3a744d058 100644
--- a/src/wayland/meta-wayland-seat.h
+++ b/src/wayland/meta-wayland-seat.h
@@ -23,17 +23,17 @@
 #define META_WAYLAND_SEAT_H
 
 #include <wayland-server.h>
-#include <clutter/clutter.h>
-
-#include "meta-wayland-types.h"
-#include "meta-wayland-input-device.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-keyboard.h"
-#include "meta-wayland-touch.h"
-#include "meta-wayland-data-device.h"
-#include "meta-wayland-tablet-tool.h"
-#include "meta-wayland-text-input.h"
-#include "meta-wayland-text-input-legacy.h"
+
+#include "clutter/clutter.h"
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-wayland-input-device.h"
+#include "wayland/meta-wayland-keyboard.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-tablet-tool.h"
+#include "wayland/meta-wayland-text-input.h"
+#include "wayland/meta-wayland-text-input-legacy.h"
+#include "wayland/meta-wayland-touch.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandSeat
 {
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index 33398ac97..b918e296e 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -22,43 +22,39 @@
 
 #include "config.h"
 
-#include "meta-wayland-surface.h"
-
-#include <clutter/clutter.h>
-#include <clutter/wayland/clutter-wayland-compositor.h>
-#include <clutter/wayland/clutter-wayland-surface.h>
-#include <cogl/cogl-wayland-server.h>
+#include "wayland/meta-wayland-surface.h"
 
 #include <gobject/gvaluecollector.h>
 #include <wayland-server.h>
 
-#include "meta-wayland-private.h"
-#include "meta-xwayland-private.h"
-#include "meta-wayland-buffer.h"
-#include "meta-wayland-region.h"
-#include "meta-wayland-subsurface.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-keyboard.h"
-#include "meta-wayland-pointer.h"
-#include "meta-wayland-data-device.h"
-#include "meta-wayland-outputs.h"
-#include "meta-wayland-xdg-shell.h"
-#include "meta-wayland-legacy-xdg-shell.h"
-#include "meta-wayland-wl-shell.h"
-#include "meta-wayland-gtk-shell.h"
-
-#include "meta-cursor-tracker-private.h"
-#include "display-private.h"
-#include "window-private.h"
-#include "meta-window-wayland.h"
-
-#include "compositor/region-utils.h"
+#include "backends/meta-cursor-tracker-private.h"
+#include "clutter/clutter.h"
+#include "clutter/wayland/clutter-wayland-compositor.h"
+#include "clutter/wayland/clutter-wayland-surface.h"
+#include "cogl/cogl-wayland-server.h"
 #include "compositor/meta-shaped-texture-private.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "compositor/meta-surface-actor.h"
 #include "compositor/meta-window-actor-private.h"
-
-#include "meta-surface-actor.h"
-#include "meta-surface-actor-wayland.h"
-#include "meta-xwayland-private.h"
+#include "compositor/region-utils.h"
+#include "core/display-private.h"
+#include "core/window-private.h"
+#include "wayland/meta-wayland-buffer.h"
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-wayland-gtk-shell.h"
+#include "wayland/meta-wayland-keyboard.h"
+#include "wayland/meta-wayland-legacy-xdg-shell.h"
+#include "wayland/meta-wayland-outputs.h"
+#include "wayland/meta-wayland-pointer.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-region.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-subsurface.h"
+#include "wayland/meta-wayland-wl-shell.h"
+#include "wayland/meta-wayland-xdg-shell.h"
+#include "wayland/meta-window-wayland.h"
+#include "wayland/meta-xwayland-private.h"
+#include "wayland/meta-xwayland-private.h"
 
 enum {
   PENDING_STATE_SIGNAL_APPLIED,
diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h
index 276a135dc..f84d88061 100644
--- a/src/wayland/meta-wayland-surface.h
+++ b/src/wayland/meta-wayland-surface.h
@@ -20,18 +20,17 @@
 #ifndef META_WAYLAND_SURFACE_H
 #define META_WAYLAND_SURFACE_H
 
+#include <cairo.h>
+#include <glib.h>
 #include <wayland-server.h>
 #include <xkbcommon/xkbcommon.h>
-#include <clutter/clutter.h>
-
-#include <glib.h>
-#include <cairo.h>
 
-#include <meta/meta-cursor-tracker.h>
-#include "meta-wayland-types.h"
-#include "meta-surface-actor.h"
 #include "backends/meta-monitor-manager-private.h"
-#include "meta-wayland-pointer-constraints.h"
+#include "clutter/clutter.h"
+#include "compositor/meta-surface-actor.h"
+#include "meta/meta-cursor-tracker.h"
+#include "wayland/meta-wayland-pointer-constraints.h"
+#include "wayland/meta-wayland-types.h"
 
 typedef struct _MetaWaylandPendingState MetaWaylandPendingState;
 
diff --git a/src/wayland/meta-wayland-tablet-cursor-surface.c 
b/src/wayland/meta-wayland-tablet-cursor-surface.c
index 808bf2820..421b7c20a 100644
--- a/src/wayland/meta-wayland-tablet-cursor-surface.c
+++ b/src/wayland/meta-wayland-tablet-cursor-surface.c
@@ -21,7 +21,7 @@
 
 #include "config.h"
 
-#include "meta-wayland-tablet-cursor-surface.h"
+#include "wayland/meta-wayland-tablet-cursor-surface.h"
 
 struct _MetaWaylandTabletCursorSurface
 {
diff --git a/src/wayland/meta-wayland-tablet-cursor-surface.h 
b/src/wayland/meta-wayland-tablet-cursor-surface.h
index 5c5c198f5..df41e832e 100644
--- a/src/wayland/meta-wayland-tablet-cursor-surface.h
+++ b/src/wayland/meta-wayland-tablet-cursor-surface.h
@@ -22,7 +22,7 @@
 #ifndef META_WAYLAND_TABLET_CURSOR_SURFACE_H
 #define META_WAYLAND_TABLET_CURSOR_SURFACE_H
 
-#include "meta-wayland-cursor-surface.h"
+#include "wayland/meta-wayland-cursor-surface.h"
 
 #define META_TYPE_WAYLAND_TABLET_CURSOR_SURFACE (meta_wayland_tablet_cursor_surface_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandTabletCursorSurface,
diff --git a/src/wayland/meta-wayland-tablet-manager.c b/src/wayland/meta-wayland-tablet-manager.c
index b494a4cee..62faf884d 100644
--- a/src/wayland/meta-wayland-tablet-manager.c
+++ b/src/wayland/meta-wayland-tablet-manager.c
@@ -28,12 +28,13 @@
 #include <glib.h>
 
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-manager.h"
-#include "meta-wayland-tablet-seat.h"
-#include "meta-wayland-tablet-tool.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-manager.h"
+#include "wayland/meta-wayland-tablet-seat.h"
+#include "wayland/meta-wayland-tablet-tool.h"
+
+#include "tablet-unstable-v2-server-protocol.h"
 
 static void
 unbind_resource (struct wl_resource *resource)
diff --git a/src/wayland/meta-wayland-tablet-manager.h b/src/wayland/meta-wayland-tablet-manager.h
index 0e0103982..5d4b28c2d 100644
--- a/src/wayland/meta-wayland-tablet-manager.h
+++ b/src/wayland/meta-wayland-tablet-manager.h
@@ -22,11 +22,10 @@
 #ifndef META_WAYLAND_TABLET_MANAGER_H
 #define META_WAYLAND_TABLET_MANAGER_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletManager
 {
diff --git a/src/wayland/meta-wayland-tablet-pad-group.c b/src/wayland/meta-wayland-tablet-pad-group.c
index fdc075e5e..04acbb8d4 100644
--- a/src/wayland/meta-wayland-tablet-pad-group.c
+++ b/src/wayland/meta-wayland-tablet-pad-group.c
@@ -26,20 +26,21 @@
 #include "config.h"
 
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-tablet-seat.h"
-#include "meta-wayland-tablet-pad.h"
-#include "meta-wayland-tablet-pad-group.h"
-#include "meta-wayland-tablet-pad-ring.h"
-#include "meta-wayland-tablet-pad-strip.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-tablet-pad-group.h"
+#include "wayland/meta-wayland-tablet-pad-ring.h"
+#include "wayland/meta-wayland-tablet-pad-strip.h"
+#include "wayland/meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-tablet-seat.h"
 
 #ifdef HAVE_NATIVE_BACKEND
-#include <clutter/evdev/clutter-evdev.h>
 #include "backends/native/meta-backend-native.h"
+#include "clutter/evdev/clutter-evdev.h"
 #endif
 
+#include "tablet-unstable-v2-server-protocol.h"
+
 static void
 unbind_resource (struct wl_resource *resource)
 {
diff --git a/src/wayland/meta-wayland-tablet-pad-group.h b/src/wayland/meta-wayland-tablet-pad-group.h
index 845213447..0df3cc1f8 100644
--- a/src/wayland/meta-wayland-tablet-pad-group.h
+++ b/src/wayland/meta-wayland-tablet-pad-group.h
@@ -22,12 +22,11 @@
 #ifndef META_WAYLAND_TABLET_PAD_GROUP_H
 #define META_WAYLAND_TABLET_PAD_GROUP_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
 #include "clutter/clutter.h"
-#include "meta-wayland-types.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletPadGroup
 {
diff --git a/src/wayland/meta-wayland-tablet-pad-ring.c b/src/wayland/meta-wayland-tablet-pad-ring.c
index 77bf8d017..7a6876c06 100644
--- a/src/wayland/meta-wayland-tablet-pad-ring.c
+++ b/src/wayland/meta-wayland-tablet-pad-ring.c
@@ -25,16 +25,17 @@
 
 #include "config.h"
 
-#include <glib.h>
+#include "wayland/meta-wayland-tablet-pad-ring.h"
 
+#include <glib.h>
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-pad.h"
-#include "meta-wayland-tablet-pad-group.h"
-#include "meta-wayland-tablet-pad-ring.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-tablet-pad-group.h"
+
+#include "tablet-unstable-v2-server-protocol.h"
 
 static void
 unbind_resource (struct wl_resource *resource)
diff --git a/src/wayland/meta-wayland-tablet-pad-ring.h b/src/wayland/meta-wayland-tablet-pad-ring.h
index 2de4b3434..744ba2e84 100644
--- a/src/wayland/meta-wayland-tablet-pad-ring.h
+++ b/src/wayland/meta-wayland-tablet-pad-ring.h
@@ -22,12 +22,11 @@
 #ifndef META_WAYLAND_TABLET_PAD_RING_H
 #define META_WAYLAND_TABLET_PAD_RING_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletPadRing
 {
diff --git a/src/wayland/meta-wayland-tablet-pad-strip.c b/src/wayland/meta-wayland-tablet-pad-strip.c
index 3c5deaef3..6d7b1e254 100644
--- a/src/wayland/meta-wayland-tablet-pad-strip.c
+++ b/src/wayland/meta-wayland-tablet-pad-strip.c
@@ -25,16 +25,17 @@
 
 #include "config.h"
 
-#include <glib.h>
+#include "wayland/meta-wayland-tablet-pad-strip.h"
 
+#include <glib.h>
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-pad.h"
-#include "meta-wayland-tablet-pad-group.h"
-#include "meta-wayland-tablet-pad-strip.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-tablet-pad-group.h"
+
+#include "tablet-unstable-v2-server-protocol.h"
 
 static void
 unbind_resource (struct wl_resource *resource)
diff --git a/src/wayland/meta-wayland-tablet-pad-strip.h b/src/wayland/meta-wayland-tablet-pad-strip.h
index e4bd90e10..9d69de4eb 100644
--- a/src/wayland/meta-wayland-tablet-pad-strip.h
+++ b/src/wayland/meta-wayland-tablet-pad-strip.h
@@ -22,12 +22,11 @@
 #ifndef META_WAYLAND_TABLET_PAD_STRIP_H
 #define META_WAYLAND_TABLET_PAD_STRIP_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletPadStrip
 {
diff --git a/src/wayland/meta-wayland-tablet-pad.c b/src/wayland/meta-wayland-tablet-pad.c
index 5c0b80966..e05923522 100644
--- a/src/wayland/meta-wayland-tablet-pad.c
+++ b/src/wayland/meta-wayland-tablet-pad.c
@@ -27,25 +27,25 @@
 
 #include <glib.h>
 #include <glib/gi18n-lib.h>
-
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
-#include "backends/meta-input-settings-private.h"
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-seat.h"
-#include "meta-wayland-tablet.h"
-#include "meta-wayland-tablet-pad.h"
-#include "meta-wayland-tablet-pad-group.h"
-#include "meta-wayland-tablet-pad-ring.h"
-#include "meta-wayland-tablet-pad-strip.h"
+#include "backends/meta-input-settings-private.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-pad-group.h"
+#include "wayland/meta-wayland-tablet-pad-ring.h"
+#include "wayland/meta-wayland-tablet-pad-strip.h"
+#include "wayland/meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-tablet-seat.h"
+#include "wayland/meta-wayland-tablet.h"
 
 #ifdef HAVE_NATIVE_BACKEND
-#include <clutter/evdev/clutter-evdev.h>
 #include "backends/native/meta-backend-native.h"
+#include "clutter/evdev/clutter-evdev.h"
 #endif
 
+#include "tablet-unstable-v2-server-protocol.h"
+
 static void
 unbind_resource (struct wl_resource *resource)
 {
diff --git a/src/wayland/meta-wayland-tablet-pad.h b/src/wayland/meta-wayland-tablet-pad.h
index b78335ac0..63eaa03ed 100644
--- a/src/wayland/meta-wayland-tablet-pad.h
+++ b/src/wayland/meta-wayland-tablet-pad.h
@@ -22,12 +22,11 @@
 #ifndef META_WAYLAND_TABLET_PAD_H
 #define META_WAYLAND_TABLET_PAD_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletPad
 {
diff --git a/src/wayland/meta-wayland-tablet-seat.c b/src/wayland/meta-wayland-tablet-seat.c
index e6390e36d..bee1a453b 100644
--- a/src/wayland/meta-wayland-tablet-seat.c
+++ b/src/wayland/meta-wayland-tablet-seat.c
@@ -26,21 +26,21 @@
 #include "config.h"
 
 #include <glib.h>
-
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-seat.h"
-#include "meta-wayland-tablet.h"
-#include "meta-wayland-tablet-tool.h"
-#include "meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-pad.h"
+#include "wayland/meta-wayland-tablet-seat.h"
+#include "wayland/meta-wayland-tablet-tool.h"
+#include "wayland/meta-wayland-tablet.h"
 
 #ifdef HAVE_NATIVE_BACKEND
-#include <clutter/evdev/clutter-evdev.h>
 #include "backends/native/meta-backend-native.h"
+#include "clutter/evdev/clutter-evdev.h"
 #endif
 
+#include "tablet-unstable-v2-server-protocol.h"
+
 static void
 unbind_resource (struct wl_resource *resource)
 {
diff --git a/src/wayland/meta-wayland-tablet-seat.h b/src/wayland/meta-wayland-tablet-seat.h
index e923f936e..c083dec5f 100644
--- a/src/wayland/meta-wayland-tablet-seat.h
+++ b/src/wayland/meta-wayland-tablet-seat.h
@@ -22,11 +22,10 @@
 #ifndef META_WAYLAND_TABLET_SEAT_H
 #define META_WAYLAND_TABLET_SEAT_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletSeat
 {
diff --git a/src/wayland/meta-wayland-tablet-tool.c b/src/wayland/meta-wayland-tablet-tool.c
index 2d2cb2051..a3b87ffc2 100644
--- a/src/wayland/meta-wayland-tablet-tool.c
+++ b/src/wayland/meta-wayland-tablet-tool.c
@@ -25,25 +25,28 @@
 
 #include "config.h"
 
-#include <glib.h>
-#include <clutter/evdev/clutter-evdev.h>
+#include "wayland/meta-wayland-tablet-tool.h"
 
+#include <glib.h>
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet-cursor-surface.h"
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-tablet.h"
-#include "meta-wayland-tablet-seat.h"
-#include "meta-wayland-tablet-tool.h"
+
+#include "clutter/evdev/clutter-evdev.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-tablet-cursor-surface.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-tablet.h"
+#include "wayland/meta-wayland-tablet-seat.h"
 #include "backends/meta-input-settings-private.h"
 #include "backends/meta-logical-monitor.h"
 
 #ifdef HAVE_NATIVE_BACKEND
-#include "backends/native/meta-backend-native.h"
 #include <linux/input-event-codes.h>
+
+#include "backends/native/meta-backend-native.h"
 #endif
 
+#include "tablet-unstable-v2-server-protocol.h"
+
 #define TABLET_AXIS_MAX 65535
 
 static void
diff --git a/src/wayland/meta-wayland-tablet-tool.h b/src/wayland/meta-wayland-tablet-tool.h
index 011972fc2..71bc86643 100644
--- a/src/wayland/meta-wayland-tablet-tool.h
+++ b/src/wayland/meta-wayland-tablet-tool.h
@@ -22,13 +22,12 @@
 #ifndef META_WAYLAND_TABLET_TOOL_H
 #define META_WAYLAND_TABLET_TOOL_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
 #include "backends/meta-cursor-sprite-xcursor.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTabletTool
 {
diff --git a/src/wayland/meta-wayland-tablet.c b/src/wayland/meta-wayland-tablet.c
index 5c3560294..dd1d6f600 100644
--- a/src/wayland/meta-wayland-tablet.c
+++ b/src/wayland/meta-wayland-tablet.c
@@ -25,14 +25,15 @@
 
 #include "config.h"
 
-#include <glib.h>
+#include "wayland/meta-wayland-tablet.h"
 
+#include <glib.h>
 #include <wayland-server.h>
-#include "tablet-unstable-v2-server-protocol.h"
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-tablet.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "wayland/meta-wayland-private.h"
+
+#include "tablet-unstable-v2-server-protocol.h"
 
 static void
 unbind_resource (struct wl_resource *resource)
diff --git a/src/wayland/meta-wayland-tablet.h b/src/wayland/meta-wayland-tablet.h
index 344d33fee..0bc3b87b9 100644
--- a/src/wayland/meta-wayland-tablet.h
+++ b/src/wayland/meta-wayland-tablet.h
@@ -26,8 +26,8 @@
 
 #include <glib.h>
 
-#include "meta-wayland-types.h"
-#include "meta-cursor-renderer.h"
+#include "backends/meta-cursor-renderer.h"
+#include "wayland/meta-wayland-types.h"
 
 struct _MetaWaylandTablet
 {
diff --git a/src/wayland/meta-wayland-text-input-legacy.c b/src/wayland/meta-wayland-text-input-legacy.c
index 0f6dccf25..ddd2cce80 100644
--- a/src/wayland/meta-wayland-text-input-legacy.c
+++ b/src/wayland/meta-wayland-text-input-legacy.c
@@ -23,12 +23,13 @@
 
 #include <wayland-server.h>
 
-#include "gtk-text-input-server-protocol.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-wayland-seat.h"
 #include "wayland/meta-wayland-text-input-legacy.h"
 #include "wayland/meta-wayland-versions.h"
 
+#include "gtk-text-input-server-protocol.h"
+
 #define META_TYPE_WAYLAND_GTK_TEXT_INPUT_FOCUS (meta_wayland_gtk_text_input_focus_get_type ())
 
 typedef enum
diff --git a/src/wayland/meta-wayland-text-input-legacy.h b/src/wayland/meta-wayland-text-input-legacy.h
index 103dfc313..55bfed809 100644
--- a/src/wayland/meta-wayland-text-input-legacy.h
+++ b/src/wayland/meta-wayland-text-input-legacy.h
@@ -23,8 +23,9 @@
 #define META_WAYLAND_GTK_TEXT_INPUT_H
 
 #include <wayland-server.h>
-#include "wayland/meta-wayland-types.h"
+
 #include "meta/window.h"
+#include "wayland/meta-wayland-types.h"
 
 typedef struct _MetaWaylandGtkTextInput MetaWaylandGtkTextInput;
 
diff --git a/src/wayland/meta-wayland-text-input.c b/src/wayland/meta-wayland-text-input.c
index 5bf06e2e0..7de9b91e2 100644
--- a/src/wayland/meta-wayland-text-input.c
+++ b/src/wayland/meta-wayland-text-input.c
@@ -21,14 +21,16 @@
 
 #include "config.h"
 
+#include "wayland/meta-wayland-text-input.h"
+
 #include <wayland-server.h>
 
-#include "text-input-unstable-v3-server-protocol.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-wayland-seat.h"
-#include "wayland/meta-wayland-text-input.h"
 #include "wayland/meta-wayland-versions.h"
 
+#include "text-input-unstable-v3-server-protocol.h"
+
 #define META_TYPE_WAYLAND_TEXT_INPUT_FOCUS (meta_wayland_text_input_focus_get_type ())
 
 typedef enum
diff --git a/src/wayland/meta-wayland-text-input.h b/src/wayland/meta-wayland-text-input.h
index d82db91a0..7e3544d95 100644
--- a/src/wayland/meta-wayland-text-input.h
+++ b/src/wayland/meta-wayland-text-input.h
@@ -23,8 +23,9 @@
 #define META_WAYLAND_TEXT_INPUT_H
 
 #include <wayland-server.h>
-#include "wayland/meta-wayland-types.h"
+
 #include "meta/window.h"
+#include "wayland/meta-wayland-types.h"
 
 #define META_TYPE_WAYLAND_TEXT_INPUT (meta_wayland_text_input_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandTextInput,
diff --git a/src/wayland/meta-wayland-touch.c b/src/wayland/meta-wayland-touch.c
index ac17fedae..93ba4a7ef 100644
--- a/src/wayland/meta-wayland-touch.c
+++ b/src/wayland/meta-wayland-touch.c
@@ -25,10 +25,10 @@
 
 #include <glib.h>
 #include <string.h>
-#include <clutter/evdev/clutter-evdev.h>
 
-#include "meta-surface-actor-wayland.h"
-#include "meta-wayland-private.h"
+#include "compositor/meta-surface-actor-wayland.h"
+#include "clutter/evdev/clutter-evdev.h"
+#include "wayland/meta-wayland-private.h"
 
 #ifdef HAVE_NATIVE_BACKEND
 #include "backends/native/meta-backend-native.h"
diff --git a/src/wayland/meta-wayland-touch.h b/src/wayland/meta-wayland-touch.h
index 7ea675f69..a7db10328 100644
--- a/src/wayland/meta-wayland-touch.h
+++ b/src/wayland/meta-wayland-touch.h
@@ -22,11 +22,10 @@
 #ifndef META_WAYLAND_TOUCH_H
 #define META_WAYLAND_TOUCH_H
 
-#include <wayland-server.h>
-
 #include <glib.h>
+#include <wayland-server.h>
 
-#include "meta-wayland-types.h"
+#include "wayland/meta-wayland-types.h"
 
 #define META_TYPE_WAYLAND_TOUCH (meta_wayland_touch_get_type ())
 G_DECLARE_FINAL_TYPE (MetaWaylandTouch, meta_wayland_touch,
diff --git a/src/wayland/meta-wayland-wl-shell.c b/src/wayland/meta-wayland-wl-shell.c
index ba54e0084..539fb9858 100644
--- a/src/wayland/meta-wayland-wl-shell.c
+++ b/src/wayland/meta-wayland-wl-shell.c
@@ -26,13 +26,13 @@
 #include "wayland/meta-wayland-wl-shell.h"
 
 #include "core/window-private.h"
-#include "wayland/meta-wayland.h"
 #include "wayland/meta-wayland-popup.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-wayland-seat.h"
 #include "wayland/meta-wayland-shell-surface.h"
 #include "wayland/meta-wayland-surface.h"
 #include "wayland/meta-wayland-versions.h"
+#include "wayland/meta-wayland.h"
 #include "wayland/meta-window-wayland.h"
 
 typedef enum
diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
index f3cea9912..2dbf55351 100644
--- a/src/wayland/meta-wayland-xdg-shell.c
+++ b/src/wayland/meta-wayland-xdg-shell.c
@@ -27,7 +27,6 @@
 
 #include "backends/meta-logical-monitor.h"
 #include "core/window-private.h"
-#include "wayland/meta-wayland.h"
 #include "wayland/meta-wayland-outputs.h"
 #include "wayland/meta-wayland-popup.h"
 #include "wayland/meta-wayland-private.h"
@@ -35,6 +34,7 @@
 #include "wayland/meta-wayland-shell-surface.h"
 #include "wayland/meta-wayland-surface.h"
 #include "wayland/meta-wayland-versions.h"
+#include "wayland/meta-wayland.h"
 #include "wayland/meta-window-wayland.h"
 
 #include "xdg-shell-server-protocol.h"
diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c
index 30759d7de..a72bc7fdd 100644
--- a/src/wayland/meta-wayland.c
+++ b/src/wayland/meta-wayland.c
@@ -21,35 +21,32 @@
 
 #include "config.h"
 
-#include "meta-wayland.h"
-
-#include <clutter/clutter.h>
-#include <clutter/wayland/clutter-wayland-compositor.h>
-#include <clutter/wayland/clutter-wayland-surface.h>
+#include "wayland/meta-wayland.h"
 
 #include <sys/time.h>
 #include <string.h>
 #include <stdlib.h>
-
 #include <wayland-server.h>
 
-#include "meta-wayland-private.h"
-#include "meta-xwayland-private.h"
-#include "meta-wayland-region.h"
-#include "meta-wayland-seat.h"
-#include "meta-wayland-outputs.h"
-#include "meta-wayland-data-device.h"
-#include "meta-wayland-subsurface.h"
-#include "meta-wayland-tablet-manager.h"
-#include "meta-wayland-xdg-foreign.h"
-#include "meta-wayland-dma-buf.h"
-#include "meta-wayland-inhibit-shortcuts.h"
-#include "meta-wayland-inhibit-shortcuts-dialog.h"
-#include "meta-xwayland-grab-keyboard.h"
-#include "meta-xwayland.h"
-#include "meta-wayland-egl-stream.h"
-
-#include "main-private.h"
+#include "clutter/clutter.h"
+#include "clutter/wayland/clutter-wayland-compositor.h"
+#include "clutter/wayland/clutter-wayland-surface.h"
+#include "core/main-private.h"
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-wayland-dma-buf.h"
+#include "wayland/meta-wayland-egl-stream.h"
+#include "wayland/meta-wayland-inhibit-shortcuts-dialog.h"
+#include "wayland/meta-wayland-inhibit-shortcuts.h"
+#include "wayland/meta-wayland-outputs.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-region.h"
+#include "wayland/meta-wayland-seat.h"
+#include "wayland/meta-wayland-subsurface.h"
+#include "wayland/meta-wayland-tablet-manager.h"
+#include "wayland/meta-wayland-xdg-foreign.h"
+#include "wayland/meta-xwayland-grab-keyboard.h"
+#include "wayland/meta-xwayland-private.h"
+#include "wayland/meta-xwayland.h"
 
 static MetaWaylandCompositor _meta_wayland_compositor;
 static char *_display_name_override;
diff --git a/src/wayland/meta-wayland.h b/src/wayland/meta-wayland.h
index 1391bcd20..57f1a857d 100644
--- a/src/wayland/meta-wayland.h
+++ b/src/wayland/meta-wayland.h
@@ -23,9 +23,9 @@
 #ifndef META_WAYLAND_H
 #define META_WAYLAND_H
 
-#include <clutter/clutter.h>
-#include <meta/types.h>
-#include "meta-wayland-types.h"
+#include "clutter/clutter.h"
+#include "meta/types.h"
+#include "wayland/meta-wayland-types.h"
 
 void                    meta_wayland_override_display_name (char *display_name);
 
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
index c71cc9a0b..dffee486d 100644
--- a/src/wayland/meta-window-wayland.c
+++ b/src/wayland/meta-window-wayland.c
@@ -24,22 +24,23 @@
 
 #include "config.h"
 
-#include "meta-window-wayland.h"
+#include "wayland/meta-window-wayland.h"
 
-#include <meta/meta-x11-errors.h>
 #include <errno.h>
-#include <string.h> /* for strerror () */
-#include "window-private.h"
-#include "boxes-private.h"
-#include "stack-tracker.h"
-#include "meta-wayland-actor-surface.h"
-#include "meta-wayland-private.h"
-#include "meta-wayland-surface.h"
-#include "meta-wayland-xdg-shell.h"
+#include <string.h>
+
+#include "backends/meta-backend-private.h"
 #include "backends/meta-backend-private.h"
 #include "backends/meta-logical-monitor.h"
 #include "compositor/meta-surface-actor-wayland.h"
-#include "backends/meta-backend-private.h"
+#include "core/boxes-private.h"
+#include "core/stack-tracker.h"
+#include "core/window-private.h"
+#include "meta/meta-x11-errors.h"
+#include "wayland/meta-wayland-actor-surface.h"
+#include "wayland/meta-wayland-private.h"
+#include "wayland/meta-wayland-surface.h"
+#include "wayland/meta-wayland-xdg-shell.h"
 
 struct _MetaWindowWayland
 {
diff --git a/src/wayland/meta-window-wayland.h b/src/wayland/meta-window-wayland.h
index ea5b82cb2..68e448966 100644
--- a/src/wayland/meta-window-wayland.h
+++ b/src/wayland/meta-window-wayland.h
@@ -26,7 +26,7 @@
 #define META_WINDOW_WAYLAND_H
 
 #include "core/window-private.h"
-#include <meta/window.h>
+#include "meta/window.h"
 #include "wayland/meta-wayland-types.h"
 
 G_BEGIN_DECLS
diff --git a/src/wayland/meta-xwayland-grab-keyboard.h b/src/wayland/meta-xwayland-grab-keyboard.h
index 8c6c78162..597854af5 100644
--- a/src/wayland/meta-xwayland-grab-keyboard.h
+++ b/src/wayland/meta-xwayland-grab-keyboard.h
@@ -26,9 +26,10 @@
 #include <wayland-server.h>
 
 #include "wayland/meta-wayland-types.h"
-#include "xwayland-keyboard-grab-unstable-v1-server-protocol.h"
 #include "meta/window.h"
 
+#include "xwayland-keyboard-grab-unstable-v1-server-protocol.h"
+
 #define META_TYPE_XWAYLAND_KEYBOARD_ACTIVE_GRAB (meta_xwayland_keyboard_active_grab_get_type ())
 G_DECLARE_FINAL_TYPE (MetaXwaylandKeyboardActiveGrab,
                       meta_xwayland_keyboard_active_grab,
diff --git a/src/wayland/meta-xwayland-private.h b/src/wayland/meta-xwayland-private.h
index fcf21ead6..38874eda3 100644
--- a/src/wayland/meta-xwayland-private.h
+++ b/src/wayland/meta-xwayland-private.h
@@ -20,10 +20,10 @@
 #ifndef META_XWAYLAND_PRIVATE_H
 #define META_XWAYLAND_PRIVATE_H
 
-#include "meta-wayland-private.h"
-
 #include <glib.h>
 
+#include "wayland/meta-wayland-private.h"
+
 gboolean
 meta_xwayland_start (MetaXWaylandManager *manager,
                      struct wl_display   *display);
diff --git a/src/wayland/meta-xwayland-selection.c b/src/wayland/meta-xwayland-selection.c
index 4a204814f..8502e2254 100644
--- a/src/wayland/meta-xwayland-selection.c
+++ b/src/wayland/meta-xwayland-selection.c
@@ -34,11 +34,11 @@
 #include <X11/Xatom.h>
 #include <X11/extensions/Xfixes.h>
 
-#include <meta/meta-x11-errors.h>
-#include "meta-xwayland.h"
-#include "meta-xwayland-private.h"
-#include "meta-xwayland-selection-private.h"
-#include "meta-wayland-data-device.h"
+#include "meta/meta-x11-errors.h"
+#include "wayland/meta-wayland-data-device.h"
+#include "wayland/meta-xwayland-private.h"
+#include "wayland/meta-xwayland-selection-private.h"
+#include "wayland/meta-xwayland.h"
 #include "x11/meta-x11-display-private.h"
 
 #define INCR_CHUNK_SIZE (128 * 1024)
diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
index 64550b189..7cd99a072 100644
--- a/src/wayland/meta-xwayland.c
+++ b/src/wayland/meta-xwayland.c
@@ -23,18 +23,17 @@
 
 #include "config.h"
 
-#include "meta-xwayland.h"
-#include "meta-xwayland-private.h"
+#include "wayland/meta-xwayland.h"
+#include "wayland/meta-xwayland-private.h"
 
-#include <meta/main.h>
-
-#include <glib.h>
-#include <glib-unix.h>
 #include <errno.h>
+#include <glib-unix.h>
+#include <glib.h>
 #include <sys/socket.h>
 #include <sys/un.h>
 
 #include "compositor/meta-surface-actor-wayland.h"
+#include "meta/main.h"
 #include "wayland/meta-wayland-actor-surface.h"
 
 enum {
diff --git a/src/wayland/meta-xwayland.h b/src/wayland/meta-xwayland.h
index 6812ce72b..9cb4c0b1d 100644
--- a/src/wayland/meta-xwayland.h
+++ b/src/wayland/meta-xwayland.h
@@ -26,8 +26,8 @@
 #define META_XWAYLAND_H
 
 #include <glib.h>
-#include <meta/types.h>
 
+#include "meta/types.h"
 #include "wayland/meta-wayland-types.h"
 
 void
diff --git a/src/x11/events.c b/src/x11/events.c
index 1e77538db..edecce491 100644
--- a/src/x11/events.c
+++ b/src/x11/events.c
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+
 #include "x11/events.h"
 
 #include <X11/Xatom.h>
@@ -28,23 +29,23 @@
 #include <X11/extensions/Xdamage.h>
 #include <X11/extensions/shape.h>
 
-#include <meta/meta-x11-errors.h>
-#include "meta/meta-backend.h"
-#include "bell.h"
-#include "display-private.h"
-#include "meta-workspace-manager-private.h"
-#include "window-private.h"
-#include "workspace-private.h"
 #include "backends/meta-cursor-tracker-private.h"
 #include "backends/x11/meta-backend-x11.h"
+#include "core/bell.h"
+#include "core/display-private.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/window-private.h"
+#include "core/workspace-private.h"
+#include "meta/meta-backend.h"
+#include "meta/meta-x11-errors.h"
 #include "x11/meta-x11-display-private.h"
 #include "x11/window-x11.h"
 #include "x11/xprops.h"
 
 #ifdef HAVE_WAYLAND
-#include "wayland/meta-xwayland.h"
 #include "wayland/meta-wayland-private.h"
 #include "wayland/meta-xwayland-private.h"
+#include "wayland/meta-xwayland.h"
 #endif
 
 static XIEvent *
diff --git a/src/x11/events.h b/src/x11/events.h
index ee15253a6..7e73edab6 100644
--- a/src/x11/events.h
+++ b/src/x11/events.h
@@ -20,7 +20,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <meta/display.h>
+#include "meta/display.h"
 
 #ifndef META_EVENTS_X11_H
 #define META_EVENTS_X11_H
diff --git a/src/x11/group-private.h b/src/x11/group-private.h
index 8cfed6896..f8149becc 100644
--- a/src/x11/group-private.h
+++ b/src/x11/group-private.h
@@ -22,7 +22,7 @@
 #ifndef META_GROUP_PRIVATE_H
 #define META_GROUP_PRIVATE_H
 
-#include <meta/group.h>
+#include "meta/group.h"
 
 struct _MetaGroup
 {
diff --git a/src/x11/group-props.c b/src/x11/group-props.c
index 391cc661e..a906696c3 100644
--- a/src/x11/group-props.c
+++ b/src/x11/group-props.c
@@ -19,13 +19,16 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
-#include "group-props.h"
-#include "group-private.h"
-#include "xprops.h"
-#include "x11/meta-x11-display-private.h"
+#include "config.h"
+
+#include "x11/group-props.h"
+
 #include <X11/Xatom.h>
 
+#include "x11/group-private.h"
+#include "x11/meta-x11-display-private.h"
+#include "x11/xprops.h"
+
 typedef void (* InitValueFunc)   (MetaX11Display *x11_display,
                                   Atom            property,
                                   MetaPropValue  *value);
diff --git a/src/x11/group-props.h b/src/x11/group-props.h
index 8f9a81cd9..19b570008 100644
--- a/src/x11/group-props.h
+++ b/src/x11/group-props.h
@@ -22,8 +22,8 @@
 #ifndef META_GROUP_PROPS_H
 #define META_GROUP_PROPS_H
 
-#include <meta/group.h>
-#include "window-private.h"
+#include "core/window-private.h"
+#include "meta/group.h"
 
 void meta_group_reload_property         (MetaGroup   *group,
                                          Atom         property);
diff --git a/src/x11/group.c b/src/x11/group.c
index b69586de7..a3227467f 100644
--- a/src/x11/group.c
+++ b/src/x11/group.c
@@ -25,15 +25,18 @@
  *
  */
 
-#include <config.h>
-#include <meta/util.h>
-#include "group-private.h"
-#include "group-props.h"
-#include "window-private.h"
-#include "x11/meta-x11-display-private.h"
-#include <meta/window.h>
+#include "config.h"
+
+#include "x11/group-private.h"
+
 #include <X11/Xlib-xcb.h>
 
+#include "core/window-private.h"
+#include "meta/util.h"
+#include "meta/window.h"
+#include "x11/group-props.h"
+#include "x11/meta-x11-display-private.h"
+
 static MetaGroup*
 meta_group_new (MetaX11Display *x11_display,
                 Window          group_leader)
diff --git a/src/x11/iconcache.c b/src/x11/iconcache.c
index 07004d949..7ab63b6a5 100644
--- a/src/x11/iconcache.c
+++ b/src/x11/iconcache.c
@@ -21,18 +21,17 @@
 
 #include "config.h"
 
-#include "x11/meta-x11-display-private.h"
-#include "iconcache.h"
-
-#include <meta/meta-x11-errors.h>
+#include "x11/iconcache.h"
 
 #include <cairo.h>
 #include <cairo-xlib.h>
 #include <cairo-xlib-xrender.h>
-
 #include <X11/Xatom.h>
 #include <X11/extensions/Xrender.h>
 
+#include "meta/meta-x11-errors.h"
+#include "x11/meta-x11-display-private.h"
+
 static gboolean
 find_largest_sizes (gulong *data,
                     gulong  nitems,
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
index 4a6d64e08..1a9ad74f2 100644
--- a/src/x11/meta-x11-display.c
+++ b/src/x11/meta-x11-display.c
@@ -34,16 +34,11 @@
 #include "x11/meta-x11-display-private.h"
 
 #include <gdk/gdk.h>
-
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-
 #include <X11/Xatom.h>
 #include <X11/XKBlib.h>
-#ifdef HAVE_RANDR
-#include <X11/extensions/Xrandr.h>
-#endif
 #include <X11/extensions/shape.h>
 #include <X11/Xcursor/Xcursor.h>
 #include <X11/extensions/Xcomposite.h>
@@ -51,6 +46,10 @@
 #include <X11/extensions/Xfixes.h>
 #include <X11/extensions/Xinerama.h>
 
+#ifdef HAVE_RANDR
+#include <X11/extensions/Xrandr.h>
+#endif
+
 #include "backends/meta-backend-private.h"
 #include "backends/meta-logical-monitor.h"
 #include "backends/meta-settings-private.h"
diff --git a/src/x11/meta-x11-errors.c b/src/x11/meta-x11-errors.c
index d40b864dc..506769464 100644
--- a/src/x11/meta-x11-errors.c
+++ b/src/x11/meta-x11-errors.c
@@ -24,11 +24,14 @@
  * @short_description: Mutter X error handling
  */
 
-#include <config.h>
-#include <meta/meta-x11-errors.h>
+#include "config.h"
+
+#include "meta/meta-x11-errors.h"
+
 #include <errno.h>
 #include <stdlib.h>
 #include <gdk/gdkx.h>
+
 #include "x11/meta-x11-display-private.h"
 
 /* In GTK+-3.0, the error trapping code was significantly rewritten. The new code
diff --git a/src/x11/session.c b/src/x11/session.c
index 92ba3d25e..540cbfb88 100644
--- a/src/x11/session.c
+++ b/src/x11/session.c
@@ -21,16 +21,17 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <config.h>
+#include "config.h"
 
-#include "util-private.h"
-#include <meta/main.h>
-#include "session.h"
-#include "x11/meta-x11-display-private.h"
-#include <X11/Xatom.h>
+#include "x11/session.h"
 
-#include <time.h>
 #include <sys/wait.h>
+#include <time.h>
+#include <X11/Xatom.h>
+
+#include "core/util-private.h"
+#include "meta/main.h"
+#include "x11/meta-x11-display-private.h"
 
 #ifndef HAVE_SM
 void
@@ -53,21 +54,22 @@ meta_window_release_saved_state (const MetaWindowSessionInfo *info)
 }
 #else /* HAVE_SM */
 
-#include <X11/ICE/ICElib.h>
-#include <X11/SM/SMlib.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <glib.h>
-#include <string.h>
-#include <stdlib.h>
 #include <stdio.h>
-#include <meta/main.h>
-#include <meta/util.h>
-#include "display-private.h"
-#include <meta/workspace.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <X11/ICE/ICElib.h>
+#include <X11/SM/SMlib.h>
+
+#include "core/display-private.h"
+#include "meta/main.h"
+#include "meta/util.h"
+#include "meta/workspace.h"
 
 static void ice_io_error_handler (IceConn connection);
 
diff --git a/src/x11/session.h b/src/x11/session.h
index e991ffc98..86d3489e9 100644
--- a/src/x11/session.h
+++ b/src/x11/session.h
@@ -29,7 +29,7 @@
 #ifndef META_SESSION_H
 #define META_SESSION_H
 
-#include "window-private.h"
+#include "core/window-private.h"
 
 typedef struct _MetaWindowSessionInfo MetaWindowSessionInfo;
 
diff --git a/src/x11/window-props.c b/src/x11/window-props.c
index d165c2cd2..dc35db8f1 100644
--- a/src/x11/window-props.c
+++ b/src/x11/window-props.c
@@ -36,20 +36,23 @@
 
 #define _XOPEN_SOURCE 500 /* for gethostname() */
 
-#include <config.h>
-#include "window-props.h"
-#include "window-x11.h"
-#include "window-x11-private.h"
-#include "x11/meta-x11-display-private.h"
-#include <meta/meta-x11-errors.h>
-#include "xprops.h"
-#include "frame.h"
-#include <meta/group.h>
+#include "config.h"
+
+#include "x11/window-props.h"
+
 #include <X11/Xatom.h>
 #include <unistd.h>
 #include <string.h>
-#include "util-private.h"
-#include "meta-workspace-manager-private.h"
+
+#include "core/frame.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/util-private.h"
+#include "meta/group.h"
+#include "meta/meta-x11-errors.h"
+#include "x11/meta-x11-display-private.h"
+#include "x11/window-x11-private.h"
+#include "x11/window-x11.h"
+#include "x11/xprops.h"
 
 #ifndef HOST_NAME_MAX
 /* Solaris headers apparently don't define this so do so manually; #326745 */
diff --git a/src/x11/window-props.h b/src/x11/window-props.h
index 630a85449..4f37e0c0f 100644
--- a/src/x11/window-props.h
+++ b/src/x11/window-props.h
@@ -31,7 +31,7 @@
 #ifndef META_WINDOW_PROPS_H
 #define META_WINDOW_PROPS_H
 
-#include "window-private.h"
+#include "core/window-private.h"
 
 /**
  * meta_window_reload_property_from_xwindow:
diff --git a/src/x11/window-x11-private.h b/src/x11/window-x11-private.h
index e7c8af495..268f8bdcf 100644
--- a/src/x11/window-x11-private.h
+++ b/src/x11/window-x11-private.h
@@ -23,7 +23,7 @@
 #ifndef META_WINDOW_X11_PRIVATE_H
 #define META_WINDOW_X11_PRIVATE_H
 
-#include "window-private.h"
+#include "core/window-private.h"
 #include "x11/iconcache.h"
 
 G_BEGIN_DECLS
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 4b27892ac..e67cf2a5c 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -22,38 +22,33 @@
 
 #include "config.h"
 
-#include "meta-x11-display-private.h"
-#include "window-x11.h"
-#include "window-x11-private.h"
+#include "x11/window-x11.h"
+#include "x11/window-x11-private.h"
 
 #include <string.h>
 #include <X11/Xatom.h>
-#include <X11/Xlibint.h> /* For display->resource_mask */
+#include <X11/Xlibint.h>
 #include <X11/Xlib-xcb.h>
-
-#include <xcb/res.h>
-
 #include <X11/extensions/shape.h>
-
 #include <X11/extensions/Xcomposite.h>
-#include "core.h"
-
-#include <meta/common.h>
-#include <meta/meta-x11-errors.h>
-#include <meta/prefs.h>
-#include <meta/meta-cursor-tracker.h>
-
-#include "frame.h"
-#include "boxes-private.h"
-#include "window-private.h"
-#include "window-props.h"
-#include "xprops.h"
-#include "session.h"
-#include "workspace-private.h"
-#include "meta-workspace-manager-private.h"
+#include <xcb/res.h>
 
 #include "backends/meta-logical-monitor.h"
 #include "backends/x11/meta-backend-x11.h"
+#include "core/boxes-private.h"
+#include "core/core.h"
+#include "core/frame.h"
+#include "core/meta-workspace-manager-private.h"
+#include "core/window-private.h"
+#include "core/workspace-private.h"
+#include "meta/common.h"
+#include "meta/meta-cursor-tracker.h"
+#include "meta/meta-x11-errors.h"
+#include "meta/prefs.h"
+#include "x11/meta-x11-display-private.h"
+#include "x11/session.h"
+#include "x11/window-props.h"
+#include "x11/xprops.h"
 
 G_DEFINE_TYPE_WITH_PRIVATE (MetaWindowX11, meta_window_x11, META_TYPE_WINDOW)
 
diff --git a/src/x11/window-x11.h b/src/x11/window-x11.h
index dc1e97dcf..383a52129 100644
--- a/src/x11/window-x11.h
+++ b/src/x11/window-x11.h
@@ -23,10 +23,11 @@
 #ifndef META_WINDOW_X11_H
 #define META_WINDOW_X11_H
 
-#include <meta/window.h>
-#include <meta/compositor.h>
 #include <X11/Xlib.h>
 
+#include "meta/compositor.h"
+#include "meta/window.h"
+
 G_BEGIN_DECLS
 
 #define META_TYPE_WINDOW_X11            (meta_window_x11_get_type())
diff --git a/src/x11/xprops.c b/src/x11/xprops.c
index 2bef29985..296cf7cf7 100644
--- a/src/x11/xprops.c
+++ b/src/x11/xprops.c
@@ -80,20 +80,20 @@ from The Open Group.
 
 #include "config.h"
 
+#include "x11/xprops.h"
+
 #include <string.h>
 #include <stdlib.h>
-
-#include "xprops.h"
-#include <meta/meta-x11-errors.h>
-#include "util-private.h"
-#include "ui.h"
-#include "mutter-Xatomtype.h"
-#include "window-private.h"
-#include "x11/meta-x11-display-private.h"
-
 #include <X11/Xatom.h>
 #include <X11/Xlib-xcb.h>
 
+#include "core/util-private.h"
+#include "core/window-private.h"
+#include "meta/meta-x11-errors.h"
+#include "ui/ui.h"
+#include "x11/meta-x11-display-private.h"
+#include "x11/mutter-Xatomtype.h"
+
 typedef struct
 {
   MetaX11Display *x11_display;
diff --git a/src/x11/xprops.h b/src/x11/xprops.h
index 5a1c90071..b8d723f07 100644
--- a/src/x11/xprops.h
+++ b/src/x11/xprops.h
@@ -22,13 +22,11 @@
 #ifndef META_XPROPS_H
 #define META_XPROPS_H
 
-#include <config.h>
-
-#include <meta/display.h>
 #include <X11/Xutil.h>
-
 #include <X11/extensions/sync.h>
 
+#include "meta/display.h"
+
 /* Copied from Lesstif by way of GTK. Rudimentary docs can be
  * found in some Motif reference guides online.
  */


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