Date: Wednesday, September 12, 2018 @ 21:19:28
  Author: bgyorgy
Revision: 380022

archrelease: copy trunk to community-testing-x86_64

Added:
  budgie-desktop/repos/community-testing-x86_64/
  
budgie-desktop/repos/community-testing-x86_64/0001-Port-to-mutter-3-from-GNOME-3.30.patch
    (from rev 380021, 
budgie-desktop/trunk/0001-Port-to-mutter-3-from-GNOME-3.30.patch)
  
budgie-desktop/repos/community-testing-x86_64/0002-Correct-GNOME-button-layout-schema-path.patch
    (from rev 380021, 
budgie-desktop/trunk/0002-Correct-GNOME-button-layout-schema-path.patch)
  
budgie-desktop/repos/community-testing-x86_64/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
    (from rev 380021, 
budgie-desktop/trunk/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch)
  
budgie-desktop/repos/community-testing-x86_64/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
    (from rev 380021, 
budgie-desktop/trunk/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch)
  
budgie-desktop/repos/community-testing-x86_64/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch
    (from rev 380021, 
budgie-desktop/trunk/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch)
  
budgie-desktop/repos/community-testing-x86_64/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
    (from rev 380021, 
budgie-desktop/trunk/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch)
  budgie-desktop/repos/community-testing-x86_64/PKGBUILD
    (from rev 380021, budgie-desktop/trunk/PKGBUILD)

-----------------------------------------------------------------+
 0001-Port-to-mutter-3-from-GNOME-3.30.patch                     | 2050 
++++++++++
 0002-Correct-GNOME-button-layout-schema-path.patch              |   26 
 0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch |   34 
 0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch |  110 
 0005-Point-vapi-cheaders-to-their-upstream-equiv.patch          |  622 +++
 0007-Check-if-schema-is-defined-for-volume-slider-changes.patch |   25 
 PKGBUILD                                                        |   79 
 7 files changed, 2946 insertions(+)

Copied: 
budgie-desktop/repos/community-testing-x86_64/0001-Port-to-mutter-3-from-GNOME-3.30.patch
 (from rev 380021, 
budgie-desktop/trunk/0001-Port-to-mutter-3-from-GNOME-3.30.patch)
===================================================================
--- community-testing-x86_64/0001-Port-to-mutter-3-from-GNOME-3.30.patch        
                        (rev 0)
+++ community-testing-x86_64/0001-Port-to-mutter-3-from-GNOME-3.30.patch        
2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,2050 @@
+Description: [PATCH] Port to mutter-3 from GNOME 3.30
+ This drops support for the old mutter versions. It's too much work to
+ support them all.
+Author: Iain Lane <[email protected]>
+Last Update: 2018-08-06
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/0938c69f062cd58f7ca1ad0f492bc6b594e884be
+
+---
+ src/daemon/settings.vala                      |    1 -
+ src/panel/settings/settings_wm.vala           |    6 +-
+ ...0_solus-project.budgie.wm.gschema.override |    4 +
+ src/wm/background.vala                        |   14 +-
+ .../com.solus-project.budgie.wm.gschema.xml   |   27 -
+ src/wm/keyboard.vala                          |   13 +-
+ src/wm/meson.build                            |   33 +-
+ src/wm/shim.vala                              |    2 +-
+ src/wm/wm.vala                                |   90 +-
+ vapi/Meta-3.metadata                          |   66 +
+ vapi/README.md                                |    4 +
+ vapi/libmutter-3-custom.vala                  |    6 +
+ vapi/libmutter-3.deps                         |    9 +
+ vapi/libmutter-3.vapi                         | 1380 +++++++++++++++++
+ 14 files changed, 1534 insertions(+), 121 deletions(-)
+ create mode 100644 src/wm/20_solus-project.budgie.wm.gschema.override
+ create mode 100644 vapi/Meta-3.metadata
+ create mode 100644 vapi/libmutter-3-custom.vala
+ create mode 100644 vapi/libmutter-3.deps
+ create mode 100644 vapi/libmutter-3.vapi
+
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/daemon/settings.vala
+===================================================================
+--- 
budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/daemon/settings.vala
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/daemon/settings.vala
+@@ -114,7 +114,6 @@ public class SettingsManager
+             break;
+         }
+         this.xoverrides.set_value("overrides", xset);
+-        this.wm_settings.set_string("button-layout", wm_set);
+     }
+
+     /**
+Index: 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/panel/settings/settings_wm.vala
+===================================================================
+--- 
budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/panel/settings/settings_wm.vala
++++ 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/panel/settings/settings_wm.vala
+@@ -16,6 +16,7 @@ namespace Budgie {
+  */
+ public class WindowsPage : Budgie.SettingsPage {
+
++    private GLib.Settings gnome_wm_settings;
+     private GLib.Settings budgie_wm_settings;
+     private Gtk.ComboBox combo_layouts;
+     private Gtk.Switch switch_dialogs;
+@@ -78,10 +79,11 @@ public class WindowsPage : Budgie.Settin
+               "Use this if you are having graphical or performance issues 
with dedicated GPUs")));
+
+         /* Hook up settings */
++        gnome_wm_settings = new GLib.Settings("org.gnome.mutter");
+         budgie_wm_settings = new GLib.Settings("com.solus-project.budgie-wm");
+-        budgie_wm_settings.bind("attach-modal-dialogs", switch_dialogs,  
"active", SettingsBindFlags.DEFAULT);
++        gnome_wm_settings.bind("attach-modal-dialogs", switch_dialogs,  
"active", SettingsBindFlags.DEFAULT);
+         budgie_wm_settings.bind("button-style", combo_layouts,  "active-id", 
SettingsBindFlags.DEFAULT);
+-        budgie_wm_settings.bind("edge-tiling", switch_tiling,  "active", 
SettingsBindFlags.DEFAULT);
++        gnome_wm_settings.bind("edge-tiling", switch_tiling,  "active", 
SettingsBindFlags.DEFAULT);
+         budgie_wm_settings.bind("focus-mode", switch_focus, "active", 
SettingsBindFlags.DEFAULT);
+         budgie_wm_settings.bind("force-unredirect", switch_unredirect, 
"active", SettingsBindFlags.DEFAULT);
+     }
+Index: 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/20_solus-project.budgie.wm.gschema.override
+===================================================================
+--- /dev/null
++++ 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/20_solus-project.budgie.wm.gschema.override
+@@ -0,0 +1,4 @@
++[org.gnome.mutter:Budgie]
++edge-tiling = true
++attach-modal-dialogs = true
++button-layout = 'appmenu:minimize,maximize,close'
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/background.vala
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/background.vala
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/background.vala
+@@ -23,7 +23,7 @@ public const string GNOME_COLOR_HACK
+ public class BudgieBackground : Meta.BackgroundGroup
+ {
+
+-    public unowned Meta.Screen? screen { construct set ; public get; }
++    public unowned Meta.Display? display { construct set ; public get; }
+     public int index { construct set ; public get; }
+
+     private Settings? settings = null;
+@@ -52,9 +52,9 @@ public class BudgieBackground : Meta.Bac
+         return false;
+     }
+
+-    public BudgieBackground(Meta.Screen? screen, int index)
++    public BudgieBackground(Meta.Display? display, int index)
+     {
+-        Object(screen: screen, index: index);
++        Object(display: display, index: index);
+         Meta.Rectangle rect;
+
+         cache = Meta.BackgroundImageCache.get_default();
+@@ -62,7 +62,7 @@ public class BudgieBackground : Meta.Bac
+         settings = new Settings("org.gnome.desktop.background");
+         gnome_bg = new Gnome.BG();
+
+-        rect = screen.get_monitor_geometry(this.index);
++        rect = display.get_monitor_geometry(this.index);
+         this.set_position(rect.x, rect.y);
+         this.set_size(rect.width, rect.height);
+
+@@ -161,11 +161,11 @@ public class BudgieBackground : Meta.Bac
+         Clutter.Color? primary_color = Clutter.Color();
+         Clutter.Color? secondary_color = Clutter.Color();
+
+-        var actor = new Meta.BackgroundActor(screen, index);
+-        var background = new Meta.Background(screen);
++        var actor = new Meta.BackgroundActor(display, index);
++        var background = new Meta.Background(display);
+         actor.set_background(background);
+
+-        rect = screen.get_monitor_geometry(index);
++        rect = display.get_monitor_geometry(index);
+         actor.set_size(rect.width, rect.height);
+         actor.set("opacity", 0);
+         actor.show();
+Index: 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/com.solus-project.budgie.wm.gschema.xml
+===================================================================
+--- 
budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/com.solus-project.budgie.wm.gschema.xml
++++ 
budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/com.solus-project.budgie.wm.gschema.xml
+@@ -7,18 +7,6 @@
+   </enum>
+
+   <schema path="/com/solus-project/budgie-wm/" 
id="com.solus-project.budgie-wm">
+-    <key type="b" name="edge-tiling">
+-      <default>true</default>
+-      <summary>Enable edge tiling when dropping windows on screen 
edges</summary>
+-      <description>This key overrides the key in org.gnome.mutter when 
running Budgie.</description>
+-    </key>
+-
+-    <key type="b" name="attach-modal-dialogs">
+-      <default>true</default>
+-      <summary>Attach modal dialog to the parent window</summary>
+-      <description>This key overrides the key in org.gnome.mutter when 
running Budgie.</description>
+-    </key>
+-
+     <key type="b" name="focus-mode">
+       <default>false</default>
+       <summary>Window focus mode to indicate how windows are 
activated</summary>
+@@ -49,21 +37,6 @@
+       <description>The binding to use to toggle Raven 
notifications</description>
+     </key>
+
+-    <key name="button-layout" type="s">
+-      <default>'appmenu:minimize,maximize,close'</default>
+-      <summary>Arrangement of buttons on the titlebar</summary>
+-      <description>
+-        Arrangement of buttons on the titlebar. The value should be a string,
+-        such as  "menu:minimize,maximize,spacer,close"; the colon separates
+-        the  left corner of the window from the right corner, and  the button
+-        names are comma-separated. Duplicate buttons are not allowed. Unknown
+-        button names are silently ignored so that buttons can be added in
+-        future metacity versions  without breaking older versions. A special
+-        spacer tag can be used to insert some space between
+-        two adjacent buttons.
+-      </description>
+-    </key>
+-
+     <key enum="com.solus-project.budgie-wm.ButtonPosition" 
name="button-style">
+       <default>'traditional'</default>
+       <summary>Button layout style</summary>
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/keyboard.vala
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/keyboard.vala
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/keyboard.vala
+@@ -103,9 +103,9 @@ public class KeyboardManager : GLib.Obje
+         on_settings_changed("sources");
+     }
+
+-      public delegate void KeyHandlerFunc (Meta.Display display, Meta.Screen 
screen, Meta.Window? window, Clutter.KeyEvent? event, Meta.KeyBinding binding);
++      public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? 
window, Clutter.KeyEvent? event, Meta.KeyBinding binding);
+
+-    void switch_input_source(Meta.Display display, Meta.Screen screen,
++    void switch_input_source(Meta.Display display,
+                              Meta.Window? window, Clutter.KeyEvent? event,
+                              Meta.KeyBinding binding)
+     {
+@@ -115,7 +115,7 @@ public class KeyboardManager : GLib.Obje
+         this.apply_ibus();
+     }
+
+-    void switch_input_source_backward(Meta.Display display, Meta.Screen 
screen,
++    void switch_input_source_backward(Meta.Display display,
+                                       Meta.Window? window, Clutter.KeyEvent? 
event,
+                                       Meta.KeyBinding binding)
+     {
+@@ -127,8 +127,7 @@ public class KeyboardManager : GLib.Obje
+
+     public void hook_extra()
+     {
+-        var screen = wm.get_screen();
+-        var display = screen.get_display();
++        var display = wm.get_display();
+
+         /* Hook into GNOME defaults */
+         var schema = new Settings("org.gnome.desktop.wm.keybindings");
+@@ -303,7 +302,7 @@ public class KeyboardManager : GLib.Obje
+         if (!is_keyboard_held) {
+             return;
+         }
+-        
wm.get_screen().get_display().ungrab_keyboard(wm.get_screen().get_display().get_current_time());
++        wm.get_display().ungrab_keyboard(wm.get_display().get_current_time());
+         is_keyboard_held = false;
+     }
+
+@@ -315,7 +314,7 @@ public class KeyboardManager : GLib.Obje
+         if (is_keyboard_held) {
+             return;
+         }
+-        
wm.get_screen().get_display().freeze_keyboard(wm.get_screen().get_display().get_current_time());
++        wm.get_display().freeze_keyboard(wm.get_display().get_current_time());
+         is_keyboard_held = true;
+     }
+ }
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/meson.build
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/meson.build
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/meson.build
+@@ -15,34 +15,8 @@ budgie_wm_sources = [
+     'wm.vala',
+ ]
+
+-vapi_mutter = 'libmutter'
+-dep_mutter = dependency('libmutter', version: gnome_minimum_version, 
required: false)
+-
+-if not dep_mutter.found()
+-    dep_mutter = dependency('libmutter-0', version: gnome_minimum_version, 
required: false)
+-    if dep_mutter.found()
+-        message('Using stable libmutter-0 ABI from GNOME 3.24')
+-        vapi_mutter = 'libmutter-0'
+-    endif
+-endif
+-
+-# now try libmutter-1 ...
+-if not dep_mutter.found()
+-    dep_mutter = dependency('libmutter-1', version: gnome_minimum_version, 
required: false)
+-    if dep_mutter.found()
+-        message('Using new libmutter-1 ABI from GNOME 3.26')
+-        vapi_mutter = 'libmutter-1'
+-    endif
+-endif
+-
+-# now try libmutter-2 ...
+-if not dep_mutter.found()
+-    dep_mutter = dependency('libmutter-2', version: gnome_minimum_version)
+-    if dep_mutter.found()
+-        message('Using new libmutter-2 ABI from GNOME 3.28')
+-        vapi_mutter = 'libmutter-2'
+-    endif
+-endif
++vapi_mutter = 'libmutter-3'
++dep_mutter = dependency('libmutter-3', version: gnome_minimum_version)
+
+ budgie_wm_deps = [
+     link_libconfig,
+@@ -84,6 +58,7 @@ executable(
+
+ # gschemas
+ install_data(
+-    'com.solus-project.budgie.wm.gschema.xml',
++    files('com.solus-project.budgie.wm.gschema.xml',
++          '20_solus-project.budgie.wm.gschema.override'),
+     install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+ )
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/shim.vala
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/shim.vala
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/shim.vala
+@@ -150,7 +150,7 @@ public class ShellShim : GLib.Object
+         grabs = new HashTable<uint,string>(direct_hash, direct_equal);
+         watches = new HashTable<string,uint>(str_hash, str_equal);
+
+-        display = wm.get_screen().get_display();
++        display = wm.get_display();
+         display.accelerator_activated.connect(on_accelerator_activated);
+
+         handler = new SessionHandler();
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/wm.vala
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/src/wm/wm.vala
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/src/wm/wm.vala
+@@ -155,7 +155,7 @@ public class BudgieWM : Meta.Plugin
+     private bool force_unredirect = false;
+
+     HashTable<Meta.WindowActor?,AnimationState?> state_map;
+-    Clutter.Actor? screen_group;
++    Clutter.Actor? display_group;
+     ulong current_window_resize;
+
+     construct
+@@ -288,7 +288,7 @@ public class BudgieWM : Meta.Plugin
+     }
+
+     /* Binding for clear-notifications activated */
+-    void on_raven_notification_clear(Meta.Display display, Meta.Screen screen,
++    void on_raven_notification_clear(Meta.Display display,
+                                       Meta.Window? window, Clutter.KeyEvent? 
event,
+                                       Meta.KeyBinding binding)
+     {
+@@ -304,7 +304,7 @@ public class BudgieWM : Meta.Plugin
+     }
+
+     /* Binding for toggle-raven activated */
+-    void on_raven_main_toggle(Meta.Display display, Meta.Screen screen,
++    void on_raven_main_toggle(Meta.Display display,
+                               Meta.Window? window, Clutter.KeyEvent? event,
+                               Meta.KeyBinding binding)
+     {
+@@ -320,7 +320,7 @@ public class BudgieWM : Meta.Plugin
+     }
+
+     /* Binding for toggle-notifications activated */
+-    void on_raven_notification_toggle(Meta.Display display, Meta.Screen 
screen,
++    void on_raven_notification_toggle(Meta.Display display,
+                                       Meta.Window? window, Clutter.KeyEvent? 
event,
+                                       Meta.KeyBinding binding)
+     {
+@@ -369,14 +369,14 @@ public class BudgieWM : Meta.Plugin
+     }
+
+
+-    void launch_menu(Meta.Display display, Meta.Screen screen,
++    void launch_menu(Meta.Display display,
+                      Meta.Window? window, Clutter.KeyEvent? event,
+                      Meta.KeyBinding binding)
+     {
+         on_overlay_key();
+     }
+
+-    void launch_rundialog(Meta.Display display, Meta.Screen screen,
++    void launch_rundialog(Meta.Display display,
+                             Meta.Window? window, Clutter.KeyEvent? event,
+                             Meta.KeyBinding binding)
+     {
+@@ -430,18 +430,12 @@ public class BudgieWM : Meta.Plugin
+
+     public override void start()
+     {
+-        var screen = this.get_screen();
+-        screen_group = Meta.Compositor.get_window_group_for_screen(screen);
+-        var stage = Meta.Compositor.get_stage_for_screen(screen);
+-
+-        var display = screen.get_display();
++        var display = this.get_display();
++        display_group = Meta.Compositor.get_window_group_for_display(display);
++        var stage = Meta.Compositor.get_stage_for_display(display);
+
+         state_map = new 
HashTable<Meta.WindowActor?,AnimationState?>(GLib.direct_hash, 
GLib.direct_equal);
+
+-        Meta.Prefs.override_preference_schema(MUTTER_EDGE_TILING, WM_SCHEMA);
+-        Meta.Prefs.override_preference_schema(MUTTER_MODAL_ATTACH, WM_SCHEMA);
+-        Meta.Prefs.override_preference_schema(MUTTER_BUTTON_LAYOUT, 
WM_SCHEMA);
+-
+         iface_settings = new Settings("org.gnome.desktop.interface");
+         iface_settings.bind("enable-animations", this, "use-animations", 
SettingsBindFlags.DEFAULT);
+
+@@ -491,14 +485,15 @@ public class BudgieWM : Meta.Plugin
+
+         background_group = new Meta.BackgroundGroup();
+         background_group.set_reactive(true);
+-        screen_group.insert_child_below(background_group, null);
++        display_group.insert_child_below(background_group, null);
+         background_group.button_release_event.connect(on_background_click);
+
+-        screen.monitors_changed.connect(on_monitors_changed);
+-        on_monitors_changed(screen);
++      var monitor_manager = Meta.MonitorManager.get();
++        monitor_manager.monitors_changed.connect(on_monitors_changed);
++        on_monitors_changed();
+
+         background_group.show();
+-        screen_group.show();
++        display_group.show();
+         stage.show();
+
+         keyboard = new KeyboardManager(this);
+@@ -538,11 +533,11 @@ public class BudgieWM : Meta.Plugin
+             return;
+         }
+
+-        var screen = this.get_screen();
++        var display = this.get_display();
+         if (enab) {
+-            Meta.Util.enable_unredirect_for_screen(screen);
++            Meta.Compositor.enable_unredirect_for_display(display);
+         } else {
+-            Meta.Util.disable_unredirect_for_screen(screen);
++            Meta.Compositor.disable_unredirect_for_display(display);
+         }
+         this.force_unredirect = enab;
+     }
+@@ -576,12 +571,13 @@ public class BudgieWM : Meta.Plugin
+         }
+     }
+
+-    void on_monitors_changed(Meta.Screen? screen)
++    void on_monitors_changed()
+     {
++      var display = get_display();
+         background_group.destroy_all_children();
+
+-        for (int i = 0; i < screen.get_n_monitors(); i++) {
+-            var actor = new BudgieBackground(screen, i);
++        for (int i = 0; i < display.get_n_monitors(); i++) {
++            var actor = new BudgieBackground(display, i);
+             background_group.add_child(actor);
+         }
+     }
+@@ -646,7 +642,7 @@ public class BudgieWM : Meta.Plugin
+      */
+     public void store_focused()
+     {
+-        var workspace = get_screen().get_active_workspace();
++        var workspace = 
get_display().get_workspace_manager().get_active_workspace();
+         foreach (var window in workspace.list_windows()) {
+             if (window.has_focus()) {
+                 focused_window = window;
+@@ -663,7 +659,7 @@ public class BudgieWM : Meta.Plugin
+         if (focused_window == null) {
+             return;
+         }
+-        focused_window.focus(get_screen().get_display().get_current_time());
++        focused_window.focus(get_display().get_current_time());
+         focused_window = null;
+     }
+
+@@ -814,7 +810,7 @@ public class BudgieWM : Meta.Plugin
+         Meta.Rectangle target_rect = actor.get_meta_window().get_frame_rect();
+         Meta.Rectangle source_rect = info.old_rect;
+
+-        screen_group.add(actor_clone);
++        display_group.add(actor_clone);
+
+         actor.set_size(target_rect.width, target_rect.height);
+         actor_clone.set_size(source_rect.width, source_rect.height);
+@@ -1045,14 +1041,14 @@ public class BudgieWM : Meta.Plugin
+     /* Ported from old budgie-wm, in turn ported from Mutter's default plugin 
*/
+     public override void show_tile_preview(Meta.Window window, Meta.Rectangle 
tile_rect, int tile_monitor_num)
+     {
+-        var screen = this.get_screen();
++        var display = this.get_display();
+
+         if (this.tile_preview == null) {
+             this.tile_preview = new ScreenTilePreview();
+             
this.tile_preview.transitions_completed.connect(tile_preview_transition_complete);
+
+-            var screen_group = 
Meta.Compositor.get_window_group_for_screen(screen);
+-            screen_group.add_child(this.tile_preview);
++            var display_group = 
Meta.Compositor.get_window_group_for_display(display);
++            display_group.add_child(this.tile_preview);
+
+             default_tile_opacity = this.tile_preview.get_opacity();
+         }
+@@ -1160,13 +1156,13 @@ public class BudgieWM : Meta.Plugin
+
+     public const uint32 MAX_TAB_ELAPSE = 2000;
+
+-    public void switch_windows_backward(Meta.Display display, Meta.Screen 
screen,
++    public void switch_windows_backward(Meta.Display display,
+                      Meta.Window? window, Clutter.KeyEvent? event,
+                      Meta.KeyBinding binding)
+     {
+         uint32 cur_time = display.get_current_time();
+
+-        var workspace = screen.get_active_workspace();
++        var workspace = 
display.get_workspace_manager().get_active_workspace();
+
+         string? data = null;
+         if ((data = workspace.get_data("__flagged")) == null) {
+@@ -1193,13 +1189,13 @@ public class BudgieWM : Meta.Plugin
+         switch_switcher(true); /* true as in "yes, backward" */
+     }
+
+-    public void switch_windows(Meta.Display display, Meta.Screen screen,
++    public void switch_windows(Meta.Display display,
+                      Meta.Window? window, Clutter.KeyEvent? event,
+                      Meta.KeyBinding binding)
+     {
+         uint32 cur_time = display.get_current_time();
+
+-        var workspace = screen.get_active_workspace();
++        var workspace = 
display.get_workspace_manager().get_active_workspace();
+
+         string? data = null;
+         if ((data = workspace.get_data("__flagged")) == null) {
+@@ -1272,9 +1268,9 @@ public class BudgieWM : Meta.Plugin
+
+     void switch_workspace_done()
+     {
+-        var screen = this.get_screen();
++        var display = this.get_display();
+
+-        foreach (var actor in Meta.Compositor.get_window_actors(screen)) {
++        foreach (var actor in Meta.Compositor.get_window_actors(display)) {
+             actor.show();
+
+             Clutter.Actor? orig_parent = actor.get_data("orig-parent");
+@@ -1320,21 +1316,21 @@ public class BudgieWM : Meta.Plugin
+         out_group = new Clutter.Actor();
+         in_group = new Clutter.Actor();
+
+-        var screen = this.get_screen();
+-        var stage = Meta.Compositor.get_stage_for_screen(screen);
++        var display = this.get_display();
++        var stage = Meta.Compositor.get_stage_for_display(display);
+
+         stage.add_child(in_group);
+         stage.add_child(out_group);
+         stage.set_child_above_sibling(in_group, null);
+
+-        screen.get_size(out screen_width, out screen_height);
++        display.get_size(out screen_width, out screen_height);
+
+         /* TODO: Windows should slide "under" the panel/dock
+          * Move "in-between" workspaces, e.g. 1->3 shows 2 */
+
+
+-        foreach (var actor in Meta.Compositor.get_window_actors(screen)) {
+-            var window = actor.get_meta_window();
++        foreach (var actor in Meta.Compositor.get_window_actors(display)) {
++            var window = (actor as Meta.WindowActor).get_meta_window();
+
+             if (!window.showing_on_its_workspace() || 
window.is_on_all_workspaces()) {
+                 continue;
+@@ -1444,18 +1440,18 @@ public class BudgieWMDBUS : GLib.Object
+
+     public void RemoveWorkspaceByIndex(int index, uint32 time)
+     {
+-        unowned Meta.Screen screen = this.wm.get_screen();
+-        unowned Meta.Workspace? workspace = 
screen.get_workspace_by_index(index);
++        unowned Meta.WorkspaceManager wsm = 
this.wm.get_display().get_workspace_manager();
++        unowned Meta.Workspace? workspace = wsm.get_workspace_by_index(index);
+         if (workspace == null) {
+             return;
+         }
+-        screen.remove_workspace(workspace, time);
++        wsm.remove_workspace(workspace, time);
+     }
+
+     public int AppendNewWorkspace(uint32 time)
+     {
+-        unowned Meta.Screen screen = this.wm.get_screen();
+-        unowned Meta.Workspace? space = screen.append_new_workspace(false, 
time);
++        unowned Meta.WorkspaceManager wsm = 
this.wm.get_display().get_workspace_manager();
++        unowned Meta.Workspace? space = wsm.append_new_workspace(false, time);
+         return space.index();
+     }
+
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/Meta-3.metadata
+===================================================================
+--- /dev/null
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/Meta-3.metadata
+@@ -0,0 +1,66 @@
++Backend cheader_filename="meta/meta-backend.h"
++Background cheader_filename="meta/meta-background.h"
++BackgroundActor cheader_filename="meta/meta-background-actor.h"
++BackgroundGroup cheader_filename="meta/meta-background-group.h"
++BackgroundImageCache cheader_filename="meta/meta-background-image.h"
++Display cheader_filename="meta/display.h"
++Meta cheader_filename="meta/main.h"
++MonitorManager cheader_filename="meta/meta-monitor-manager.h"
++Rectangle struct
++Plugin cheader_filename="meta/meta-plugin.h"
++PluginInfo cheader_filename="meta/meta-plugin.h"
++prefs_* cheader_filename="meta/prefs.h" parent="Meta.Prefs"
++add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
++bug parent="Meta.Util" cheader_filename="meta/util.h"
++debug_spew_real parent="Meta.Util" cheader_filename="meta/util.h"
++empty_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
++x11_error_trap_pop parent="Meta.Util" cheader_filename="meta/util.h"
++x11_error_trap_push parent="Meta.Util" cheader_filename="meta/util.h"
++x11_error_trap_pop_with_return parent="Meta.Util" 
cheader_filename="meta/util.h"
++external_binding_name_for_action parent="Meta.Util" 
cheader_filename="meta/util.h"
++free_gslist_and_elements parent="Meta.Util" cheader_filename="meta/util.h"
++g_utf8_strndup parent="Meta.Util" cheader_filename="meta/util.h"
++get_locale_direction parent="Meta.Util" cheader_filename="meta/util.h"
++get_overlay_window parent="Meta.Util" cheader_filename="meta/util.h"
++gravity_to_string parent="Meta.Util" cheader_filename="meta/util.h"
++is_debugging parent="Meta.Util" cheader_filename="meta/util.h"
++is_syncing parent="Meta.Util" cheader_filename="meta/util.h"
++is_verbose parent="Meta.Util" cheader_filename="meta/util.h"
++is_wayland_compositor parent="Meta.Util" cheader_filename="meta/util.h"
++later_add parent="Meta.Util" cheader_filename="meta/util.h"
++later_remove parent="Meta.Util" cheader_filename="meta/util.h"
++pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
++push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
++rect parent="Meta.Util" cheader_filename="meta/util.h"
++remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
++set_stage_input_region parent="Meta.Util" cheader_filename="meta/util.h"
++show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
++topic_real parent="Meta.Util" cheader_filename="meta/util.h"
++unsigned_long_equal parent="Meta.Util" cheader_filename="meta/util.h"
++unsigned_long_hash parent="Meta.Util" cheader_filename="meta/util.h"
++verbose_real parent="Meta.Util" cheader_filename="meta/util.h"
++warning parent="Meta.Util" cheader_filename="meta/util.h"
++show_dialog parent="Meta.Util" cheader_filename="meta/util.h"
++get_stage_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++get_window_actors parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++get_window_group_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++get_top_window_group_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++get_feedback_group_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++disable_unredirect_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++enable_unredirect_for_display parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++set_stage_input_region parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++empty_stage_input_region parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++focus_stage_window parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++stage_is_focused parent="Meta.Compositor" 
cheader_filename="meta/compositor-mutter.h"
++keybindings_set_custom_handler parent="Meta.KeyBinding" 
name="set_custom_handler"
++KeyHandlerFunc.event type="Clutter.KeyEvent?"
++get_backend parent="Meta.Backend"
++Window.focus#signal skip=true
++Window.get_xwindow skip=false
++get_option_context skip=false
++set_gnome_wm_keybindings skip=false
++set_wm_name skip=false
++init skip=false
++run skip=false
++show_dialog skip=false
++get_backend cheader_filename="meta/meta-backend.h"
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/README.md
+===================================================================
+--- budgie-desktop-10.4+git20180806.01.933f78fc03d.orig/vapi/README.md
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/README.md
+@@ -7,3 +7,7 @@ To refresh the Polkit vapi files:
+     vapigen --library polkit-agent-1 /usr/share/gir-1.0/PolkitAgent-1.0.gir 
--pkg gio-unix-2.0 --pkg polkit-gobject-1 --girdir=. --vapidir=.
+
+ Then have fun un-mangling it to support vala async syntax
++
++For mutter, something like:
++
++vapigen --library libmutter-3 /usr/lib/x86_64-linux-gnu/mutter/Meta-3.gir 
--girdir /usr/lib/x86_64-linux-gnu/mutter/ -d . --pkg cairo --pkg gdk-3.0 --pkg 
gdk-pixbuf-2.0 --pkg gtk+-3.0 --pkg x11 --pkg json-glib-1.0 --girdir . 
--vapidir . --metadatadir . --girdir /usr/lib/x86_64-linux-gnu/mutter/
+Index: 
budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3-custom.vala
+===================================================================
+--- /dev/null
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3-custom.vala
+@@ -0,0 +1,6 @@
++namespace Meta {
++      public abstract class MonitorManager : Meta.DBusDisplayConfigSkeleton, 
GLib.DBusInterface {
++              /* not exported */
++              public signal void monitors_changed ();
++      }
++}
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3.deps
+===================================================================
+--- /dev/null
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3.deps
+@@ -0,0 +1,9 @@
++cairo
++gsettings-desktop-schemas
++gdk-3.0
++gdk-pixbuf-2.0
++gtk+-3.0
++x11
++xfixes-4.0
++clutter-1.0
++cogl-1.0
+Index: budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3.vapi
+===================================================================
+--- /dev/null
++++ budgie-desktop-10.4+git20180806.01.933f78fc03d/vapi/libmutter-3.vapi
+@@ -0,0 +1,1380 @@
++/* libmutter-3.vapi generated by vapigen, do not modify. */
++
++[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "3", 
lower_case_cprefix = "meta_")]
++namespace Meta {
++      namespace Compositor {
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_disable_unredirect_for_display")]
++              public static void disable_unredirect_for_display (Meta.Display 
display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_empty_stage_input_region")]
++              public static void empty_stage_input_region (Meta.Display 
display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_enable_unredirect_for_display")]
++              public static void enable_unredirect_for_display (Meta.Display 
display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_focus_stage_window")]
++              public static void focus_stage_window (Meta.Display display, 
uint32 timestamp);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_get_feedback_group_for_display")]
++              public static unowned Clutter.Actor 
get_feedback_group_for_display (Meta.Display display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_get_stage_for_display")]
++              public static unowned Clutter.Actor get_stage_for_display 
(Meta.Display display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_get_top_window_group_for_display")]
++              public static unowned Clutter.Actor 
get_top_window_group_for_display (Meta.Display display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_get_window_actors")]
++              public static unowned GLib.List<Clutter.Actor> 
get_window_actors (Meta.Display display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_get_window_group_for_display")]
++              public static unowned Clutter.Actor 
get_window_group_for_display (Meta.Display display);
++              [CCode (cheader_filename = "meta/compositor-mutter.h", cname = 
"meta_set_stage_input_region")]
++              public static void set_stage_input_region (Meta.Display 
display, X.XserverRegion region);
++      }
++      namespace Prefs {
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_bell_is_audible")]
++              public static bool prefs_bell_is_audible ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_change_workspace_name")]
++              public static void prefs_change_workspace_name (int i, string 
name);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_action_double_click_titlebar")]
++              public static GDesktop.TitlebarAction 
prefs_get_action_double_click_titlebar ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_action_middle_click_titlebar")]
++              public static GDesktop.TitlebarAction 
prefs_get_action_middle_click_titlebar ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_action_right_click_titlebar")]
++              public static GDesktop.TitlebarAction 
prefs_get_action_right_click_titlebar ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_attach_modal_dialogs")]
++              public static bool prefs_get_attach_modal_dialogs ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_auto_maximize")]
++              public static bool prefs_get_auto_maximize ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_auto_raise")]
++              public static bool prefs_get_auto_raise ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_auto_raise_delay")]
++              public static int prefs_get_auto_raise_delay ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_button_layout")]
++              public static Meta.ButtonLayout prefs_get_button_layout ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_center_new_windows")]
++              public static bool prefs_get_center_new_windows ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_compositing_manager")]
++              public static bool prefs_get_compositing_manager ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_cursor_size")]
++              public static int prefs_get_cursor_size ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_cursor_theme")]
++              public static unowned string prefs_get_cursor_theme ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_disable_workarounds")]
++              public static bool prefs_get_disable_workarounds ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_drag_threshold")]
++              public static int prefs_get_drag_threshold ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_draggable_border_width")]
++              public static int prefs_get_draggable_border_width ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_dynamic_workspaces")]
++              public static bool prefs_get_dynamic_workspaces ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_edge_tiling")]
++              public static bool prefs_get_edge_tiling ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_focus_change_on_pointer_rest")]
++              public static bool prefs_get_focus_change_on_pointer_rest ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_focus_mode")]
++              public static GDesktop.FocusMode prefs_get_focus_mode ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_focus_new_windows")]
++              public static GDesktop.FocusNewWindows 
prefs_get_focus_new_windows ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_force_fullscreen")]
++              public static bool prefs_get_force_fullscreen ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_gnome_accessibility")]
++              public static bool prefs_get_gnome_accessibility ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_gnome_animations")]
++              public static bool prefs_get_gnome_animations ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_ignore_request_hide_titlebar")]
++              public static bool prefs_get_ignore_request_hide_titlebar ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_keybinding_action")]
++              public static Meta.KeyBindingAction prefs_get_keybinding_action 
(string name);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_mouse_button_menu")]
++              public static int prefs_get_mouse_button_menu ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_mouse_button_mods")]
++              public static Meta.VirtualModifier prefs_get_mouse_button_mods 
();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_mouse_button_resize")]
++              public static int prefs_get_mouse_button_resize ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_num_workspaces")]
++              public static int prefs_get_num_workspaces ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_raise_on_click")]
++              public static bool prefs_get_raise_on_click ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_show_fallback_app_menu")]
++              public static bool prefs_get_show_fallback_app_menu ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_titlebar_font")]
++              public static unowned Pango.FontDescription 
prefs_get_titlebar_font ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_visual_bell")]
++              public static bool prefs_get_visual_bell ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_visual_bell_type")]
++              public static GDesktop.VisualBellType 
prefs_get_visual_bell_type ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_workspace_name")]
++              public static unowned string prefs_get_workspace_name (int i);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_get_workspaces_only_on_primary")]
++              public static bool prefs_get_workspaces_only_on_primary ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_init")]
++              public static void prefs_init ();
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_set_force_fullscreen")]
++              public static void prefs_set_force_fullscreen (bool whether);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_set_ignore_request_hide_titlebar")]
++              public static void prefs_set_ignore_request_hide_titlebar (bool 
whether);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_set_num_workspaces")]
++              public static void prefs_set_num_workspaces (int n_workspaces);
++              [CCode (cheader_filename = "meta/prefs.h", cname = 
"meta_prefs_set_show_fallback_app_menu")]
++              public static void prefs_set_show_fallback_app_menu (bool 
whether);
++      }
++      namespace Util {
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_add_verbose_topic")]
++              public static void add_verbose_topic (Meta.DebugTopic topic);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_external_binding_name_for_action")]
++              public static string external_binding_name_for_action (uint 
keybinding_action);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_g_utf8_strndup")]
++              public static string g_utf8_strndup (string src, size_t n);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_get_locale_direction")]
++              public static Meta.LocaleDirection get_locale_direction ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_gravity_to_string")]
++              public static unowned string gravity_to_string (int gravity);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_is_debugging")]
++              public static bool is_debugging ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_is_syncing")]
++              public static bool is_syncing ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_is_verbose")]
++              public static bool is_verbose ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_is_wayland_compositor")]
++              public static bool is_wayland_compositor ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_later_add")]
++              public static uint later_add (Meta.LaterType when, owned 
GLib.SourceFunc func);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_later_remove")]
++              public static void later_remove (uint later_id);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_pop_no_msg_prefix")]
++              public static void pop_no_msg_prefix ();
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_push_no_msg_prefix")]
++              public static void push_no_msg_prefix ();
++              [CCode (cheader_filename = "meta/util.h", cname = "meta_rect")]
++              public static Meta.Rectangle? rect (int x, int y, int width, 
int height);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_remove_verbose_topic")]
++              public static void remove_verbose_topic (Meta.DebugTopic topic);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_show_dialog")]
++              public static GLib.Pid show_dialog (string type, string 
message, string timeout, string display, string ok_text, string cancel_text, 
string icon_name, int transient_for, GLib.SList<void*> columns, 
GLib.SList<void*> entries);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_unsigned_long_equal")]
++              public static int unsigned_long_equal (void* v1, void* v2);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_unsigned_long_hash")]
++              public static uint unsigned_long_hash (void* v);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_x11_error_trap_pop")]
++              public static void x11_error_trap_pop (Meta.X11Display 
x11_display);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_x11_error_trap_pop_with_return")]
++              public static int x11_error_trap_pop_with_return 
(Meta.X11Display x11_display);
++              [CCode (cheader_filename = "meta/util.h", cname = 
"meta_x11_error_trap_push")]
++              public static void x11_error_trap_push (Meta.X11Display 
x11_display);
++      }
++      [CCode (cheader_filename = "meta/meta-backend.h", type_id = 
"meta_backend_get_type ()")]
++      public abstract class Backend : GLib.Object, GLib.Initable {
++              [CCode (has_construct_function = false)]
++              protected Backend ();
++              [CCode (cheader_filename = "meta/meta-backend.h", cname = 
"meta_get_backend")]
++              public static unowned Meta.Backend get_backend ();
++              public unowned Meta.Dnd get_dnd ();
++              public unowned Meta.RemoteAccessController 
get_remote_access_controller ();
++              public unowned Clutter.Actor get_stage ();
++              public void lock_layout_group (uint idx);
++              public void set_keymap (string layouts, string variants, string 
options);
++              public void set_numlock (bool numlock_state);
++              public signal void keymap_changed ();
++              public signal void keymap_layout_group_changed (uint object);
++              public signal void last_device_changed (int object);
++              public signal void lid_is_closed_changed (bool object);
++      }
++      [CCode (cheader_filename = "meta/meta-background.h", type_id = 
"meta_background_get_type ()")]
++      public class Background : GLib.Object {
++              [CCode (has_construct_function = false)]
++              public Background (Meta.Display display);
++              public static void refresh_all ();
++              public void set_blend (GLib.File file1, GLib.File file2, double 
blend_factor, GDesktop.BackgroundStyle style);
++              public void set_color (Clutter.Color color);
++              public void set_file (GLib.File file, GDesktop.BackgroundStyle 
style);
++              public void set_gradient (GDesktop.BackgroundShading 
shading_direction, Clutter.Color color, Clutter.Color second_color);
++              [NoAccessorMethod]
++              public Meta.Display meta_display { owned get; construct; }
++              public signal void changed ();
++      }
++      [CCode (cheader_filename = "meta/meta-background-actor.h", type_id = 
"meta_background_actor_get_type ()")]
++      public class BackgroundActor : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false, type = "ClutterActor*")]
++              public BackgroundActor (Meta.Display display, int monitor);
++              public void set_background (Meta.Background background);
++              public void set_gradient (bool enabled, int height, double 
tone_start);
++              public void set_monitor (int monitor);
++              public void set_vignette (bool enabled, double brightness, 
double sharpness);
++              [NoAccessorMethod]
++              public Meta.Background background { owned get; set; }
++              [NoAccessorMethod]
++              public double brightness { get; set; }
++              [NoAccessorMethod]
++              public bool gradient { get; set; }
++              [NoAccessorMethod]
++              public int gradient_height { get; set; }
++              [NoAccessorMethod]
++              public double gradient_max_darkness { get; set; }
++              [NoAccessorMethod]
++              public Meta.Display meta_display { owned get; construct; }
++              [NoAccessorMethod]
++              public int monitor { get; construct; }
++              [NoAccessorMethod]
++              public bool vignette { get; set; }
++              [NoAccessorMethod]
++              public double vignette_sharpness { get; set; }
++      }
++      [CCode (cheader_filename = "meta/meta-background-group.h", type_id = 
"meta_background_group_get_type ()")]
++      public class BackgroundGroup : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false, type = "ClutterActor*")]
++              public BackgroundGroup ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_background_image_get_type ()")]
++      public class BackgroundImage : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected BackgroundImage ();
++              public bool get_success ();
++              public unowned Cogl.Texture get_texture ();
++              public bool is_loaded ();
++              public signal void loaded ();
++      }
++      [CCode (cheader_filename = "meta/meta-background-image.h", type_id = 
"meta_background_image_cache_get_type ()")]
++      public class BackgroundImageCache : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected BackgroundImageCache ();
++              public static unowned Meta.BackgroundImageCache get_default ();
++              public Meta.BackgroundImage load (GLib.File file);
++              public void purge (GLib.File file);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_barrier_get_type ()")]
++      public class Barrier : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Barrier ();
++              public void destroy ();
++              public bool is_active ();
++              public void release (Meta.BarrierEvent event);
++              [NoAccessorMethod]
++              public Meta.BarrierDirection directions { get; construct; }
++              [NoAccessorMethod]
++              public Meta.Display display { owned get; construct; }
++              [NoAccessorMethod]
++              public int x1 { get; construct; }
++              [NoAccessorMethod]
++              public int x2 { get; construct; }
++              [NoAccessorMethod]
++              public int y1 { get; construct; }
++              [NoAccessorMethod]
++              public int y2 { get; construct; }
++              public signal void hit (Meta.BarrierEvent event);
++              public signal void left (Meta.BarrierEvent event);
++      }
++      [CCode (cheader_filename = "meta/main.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_barrier_event_get_type ()")]
++      [Compact]
++      public class BarrierEvent {
++              public int dt;
++              public double dx;
++              public double dy;
++              public int event_id;
++              public bool grabbed;
++              public bool released;
++              public uint32 time;
++              public double x;
++              public double y;
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_cursor_tracker_get_type ()")]
++      public class CursorTracker : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected CursorTracker ();
++              public static unowned Meta.CursorTracker get_for_display 
(Meta.Display display);
++              public void get_hot (out int x, out int y);
++              public void get_pointer (int x, int y, Clutter.ModifierType 
mods);
++              public unowned Cogl.Texture get_sprite ();
++              public void set_pointer_visible (bool visible);
++              public signal void cursor_changed ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_dbus_display_config_skeleton_get_type ()")]
++      public class DBusDisplayConfigSkeleton : GLib.DBusInterfaceSkeleton, 
GLib.DBusInterface {
++              [CCode (has_construct_function = false)]
++              protected DBusDisplayConfigSkeleton ();
++      }
++      [CCode (cheader_filename = "meta/display.h", type_id = 
"meta_display_get_type ()")]
++      public class Display : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Display ();
++              public void add_ignored_crossing_serial (ulong serial);
++              public uint add_keybinding (string name, GLib.Settings 
settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
++              public bool begin_grab_op (Meta.Window window, Meta.GrabOp op, 
bool pointer_already_grabbed, bool frame_action, int button, ulong modmask, 
uint32 timestamp, int root_x, int root_y);
++              public void clear_mouse_mode ();
++              public void close (uint32 timestamp);
++              public void end_grab_op (uint32 timestamp);
++              public void focus_default_window (uint32 timestamp);
++              public void freeze_keyboard (uint32 timestamp);
++              public int get_current_monitor ();
++              public uint32 get_current_time ();
++              public uint32 get_current_time_roundtrip ();
++              public unowned Meta.Window get_focus_window ();
++              public Meta.GrabOp get_grab_op ();
++              public uint get_keybinding_action (uint keycode, ulong mask);
++              public uint32 get_last_user_time ();
++              public Meta.Rectangle get_monitor_geometry (int monitor);
++              public bool get_monitor_in_fullscreen (int monitor);
++              public int get_monitor_index_for_rect (Meta.Rectangle rect);
++              public int get_monitor_neighbor_index (int which_monitor, 
Meta.DisplayDirection dir);
++              public int get_n_monitors ();
++              public string get_pad_action_label (Clutter.InputDevice pad, 
Meta.PadActionType action_type, uint action_number);
++              public int get_primary_monitor ();
++              public void get_size (out int width, out int height);
++              public unowned Meta.Window get_tab_current (Meta.TabList type, 
Meta.Workspace workspace);
++              public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList 
type, Meta.Workspace? workspace);
++              public unowned Meta.Window get_tab_next (Meta.TabList type, 
Meta.Workspace workspace, Meta.Window? window, bool backward);
++              public unowned Meta.WorkspaceManager get_workspace_manager ();
++              public uint grab_accelerator (string accelerator);
++              public bool is_pointer_emulating_sequence 
(Clutter.EventSequence? sequence);
++              public bool remove_keybinding (string name);
++              public void request_pad_osd (Clutter.InputDevice pad, bool 
edition_mode);
++              public void set_cursor (Meta.Cursor cursor);
++              public GLib.SList<weak Meta.Window> sort_windows_by_stacking 
(GLib.SList<Meta.Window> windows);
++              public bool supports_extended_barriers ();
++              public void unfreeze_keyboard (uint32 timestamp);
++              public bool ungrab_accelerator (uint action_id);
++              public void ungrab_keyboard (uint32 timestamp);
++              public bool xserver_time_is_before (uint32 time1, uint32 time2);
++              public Meta.Window focus_window { get; }
++              public signal void accelerator_activated (uint object, uint p0, 
uint p1);
++              public signal void cursor_updated ();
++              public signal void gl_video_memory_purged ();
++              public signal void grab_op_begin (Meta.Display object, 
Meta.Window p0, Meta.GrabOp p1);
++              public signal void grab_op_end (Meta.Display object, 
Meta.Window p0, Meta.GrabOp p1);
++              public signal void in_fullscreen_changed ();
++              public signal bool modifiers_accelerator_activated ();
++              public signal void overlay_key ();
++              public signal void pad_mode_switch (Clutter.InputDevice object, 
uint p0, uint p1);
++              public signal void restacked ();
++              public signal bool restart ();
++              public signal void show_osd (int object, string p0, string p1);
++              public signal unowned Clutter.Actor? show_pad_osd 
(Clutter.InputDevice pad, GLib.Settings settings, string layout_path, bool 
edition_mode, int monitor_idx);
++              public signal bool show_resize_popup (bool object, 
Meta.Rectangle p0, int p1, int p2);
++              public signal bool show_restart_message (string? message);
++              public signal void showing_desktop_changed ();
++              public signal void startup_sequence_changed (void* object);
++              public signal void window_created (Meta.Window object);
++              public signal void window_demands_attention (Meta.Window 
object);
++              public signal void window_entered_monitor (int object, 
Meta.Window p0);
++              public signal void window_left_monitor (int object, Meta.Window 
p0);
++              public signal void window_marked_urgent (Meta.Window object);
++              public signal void workareas_changed ();
++              public signal void x11_display_closing ();
++              public signal void x11_display_opened ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = "meta_dnd_get_type 
()")]
++      public class Dnd : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Dnd ();
++              public signal void dnd_enter ();
++              public signal void dnd_leave ();
++              public signal void dnd_position_change (int object, int p0);
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [Compact]
++      public class Frame {
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_idle_monitor_get_type ()")]
++      public class IdleMonitor : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected IdleMonitor ();
++              public uint add_idle_watch (uint64 interval_msec, owned 
Meta.IdleMonitorWatchFunc? callback);
++              public uint add_user_active_watch (owned 
Meta.IdleMonitorWatchFunc? callback);
++              public static unowned Meta.IdleMonitor get_core ();
++              public static unowned Meta.IdleMonitor get_for_device (int 
device_id);
++              public int64 get_idletime ();
++              public void remove_watch (uint id);
++              [NoAccessorMethod]
++              public int device_id { get; construct; }
++      }
++      [CCode (cheader_filename = "meta/main.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_key_binding_get_type ()")]
++      [Compact]
++      public class KeyBinding {
++              public uint get_mask ();
++              public Meta.VirtualModifier get_modifiers ();
++              public unowned string get_name ();
++              public bool is_builtin ();
++              public bool is_reversed ();
++              [CCode (cname = "meta_keybindings_set_custom_handler")]
++              public static bool set_custom_handler (string name, owned 
Meta.KeyHandlerFunc? handler);
++      }
++      [CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = 
"meta_monitor_manager_get_type ()")]
++      public abstract class MonitorManager : Meta.DBusDisplayConfigSkeleton, 
GLib.DBusInterface, GLib.DBusInterface {
++              [CCode (has_construct_function = false)]
++              protected MonitorManager ();
++              public bool can_switch_config ();
++              public static unowned Meta.MonitorManager @get ();
++              public static int get_display_configuration_timeout ();
++              public bool get_is_builtin_display_on ();
++              public int get_monitor_for_connector (string connector);
++              public Meta.MonitorSwitchConfigType get_switch_config ();
++              public void switch_config (Meta.MonitorSwitchConfigType 
config_type);
++              [NoAccessorMethod]
++              public Meta.Backend backend { owned get; construct; }
++              public signal void confirm_display_change ();
++              public signal void monitors_changed ();
++              public signal void monitors_changed_internal ();
++      }
++      [CCode (cheader_filename = "meta/meta-plugin.h", type_id = 
"meta_plugin_get_type ()")]
++      public abstract class Plugin : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Plugin ();
++              public bool begin_modal (Meta.ModalOptions options, uint32 
timestamp);
++              public void complete_display_change (bool ok);
++              [NoWrapper]
++              public virtual void confirm_display_change ();
++              [NoWrapper]
++              public virtual void destroy (Meta.WindowActor actor);
++              public void destroy_completed (Meta.WindowActor actor);
++              public void end_modal (uint32 timestamp);
++              public unowned Meta.Display get_display ();
++              public unowned Meta.PluginInfo? get_info ();
++              [NoWrapper]
++              public virtual void hide_tile_preview ();
++              [NoWrapper]
++              public virtual bool keybinding_filter (Meta.KeyBinding binding);
++              [NoWrapper]
++              public virtual void kill_switch_workspace ();
++              [NoWrapper]
++              public virtual void kill_window_effects (Meta.WindowActor 
actor);
++              public static void manager_set_plugin_type (GLib.Type gtype);
++              [NoWrapper]
++              public virtual void map (Meta.WindowActor actor);
++              public void map_completed (Meta.WindowActor actor);
++              [NoWrapper]
++              public virtual void minimize (Meta.WindowActor actor);
++              public void minimize_completed (Meta.WindowActor actor);
++              [NoWrapper]
++              public virtual unowned Meta.PluginInfo? plugin_info ();
++              [NoWrapper]
++              public virtual void show_tile_preview (Meta.Window window, 
Meta.Rectangle tile_rect, int tile_monitor_number);
++              [NoWrapper]
++              public virtual void show_window_menu (Meta.Window window, 
Meta.WindowMenuType menu, int x, int y);
++              [NoWrapper]
++              public virtual void show_window_menu_for_rect (Meta.Window 
window, Meta.WindowMenuType menu, Meta.Rectangle rect);
++              [NoWrapper]
++              public virtual void size_change (Meta.WindowActor actor, 
Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle 
old_buffer_rect);
++              public void size_change_completed (Meta.WindowActor actor);
++              [NoWrapper]
++              public virtual void size_changed (Meta.WindowActor actor);
++              [NoWrapper]
++              public virtual void start ();
++              [NoWrapper]
++              public virtual void switch_workspace (int from, int to, 
Meta.MotionDirection direction);
++              public void switch_workspace_completed ();
++              [NoWrapper]
++              public virtual void unminimize (Meta.WindowActor actor);
++              public void unminimize_completed (Meta.WindowActor actor);
++              [NoWrapper]
++              public virtual bool xevent_filter (X.Event event);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_remote_access_controller_get_type ()")]
++      public class RemoteAccessController : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected RemoteAccessController ();
++              public signal void new_handle (Meta.RemoteAccessHandle object);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_remote_access_handle_get_type ()")]
++      public class RemoteAccessHandle : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected RemoteAccessHandle ();
++              public virtual void stop ();
++              public signal void stopped ();
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [Compact]
++      public class Settings {
++              public int get_font_dpi ();
++              public int get_ui_scaling_factor ();
++      }
++      [CCode (cheader_filename = "meta/main.h", ref_function = 
"meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = 
"meta_shadow_unref")]
++      [Compact]
++      public class Shadow {
++              public void get_bounds (int window_x, int window_y, int 
window_width, int window_height, Cairo.RectangleInt bounds);
++              public void paint (int window_x, int window_y, int 
window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool 
clip_strictly);
++              public Meta.Shadow @ref ();
++              public void unref ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_shadow_factory_get_type ()")]
++      public class ShadowFactory : GLib.Object {
++              [CCode (has_construct_function = false)]
++              public ShadowFactory ();
++              public static unowned Meta.ShadowFactory get_default ();
++              public Meta.ShadowParams get_params (string class_name, bool 
focused);
++              public Meta.Shadow get_shadow (Meta.WindowShape shape, int 
width, int height, string class_name, bool focused);
++              public void set_params (string class_name, bool focused, 
Meta.ShadowParams @params);
++              public signal void changed ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_shaped_texture_get_type ()")]
++      public class ShapedTexture : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false)]
++              protected ShapedTexture ();
++              public Cairo.Surface get_image (Cairo.RectangleInt clip);
++              public unowned Cogl.Texture get_texture ();
++              public void set_create_mipmaps (bool create_mipmaps);
++              public void set_mask_texture (Cogl.Texture mask_texture);
++              public void set_opaque_region (owned Cairo.Region 
opaque_region);
++              public bool update_area (int x, int y, int width, int height);
++              public signal void size_changed ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_stage_get_type ()")]
++      public class Stage : Clutter.Stage, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false)]
++              protected Stage ();
++              public static bool is_focused (Meta.Display display);
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [Compact]
++      public class Theme {
++              public void free ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_get_type ()")]
++      public abstract class Window : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Window ();
++              public void activate (uint32 current_time);
++              public void activate_with_workspace (uint32 current_time, 
Meta.Workspace workspace);
++              public bool allows_move ();
++              public bool allows_resize ();
++              public void begin_grab_op (Meta.GrabOp op, bool frame_action, 
uint32 timestamp);
++              public bool can_close ();
++              public bool can_maximize ();
++              public bool can_minimize ();
++              public bool can_shade ();
++              public void change_workspace (Meta.Workspace workspace);
++              public void change_workspace_by_index (int space_index, bool 
append);
++              public void check_alive (uint32 timestamp);
++              public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle 
client_rect);
++              public void compute_group ();
++              public void @delete (uint32 timestamp);
++              public unowned Meta.Window find_root_ancestor ();
++              public void focus (uint32 timestamp);
++              public void foreach_ancestor (Meta.WindowForeachFunc func);
++              public void foreach_transient (Meta.WindowForeachFunc func);
++              public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle 
frame_rect);
++              public Meta.Rectangle get_buffer_rect ();
++              public unowned string get_client_machine ();
++              public unowned GLib.Object get_compositor_private ();
++              public unowned string get_description ();
++              public unowned Meta.Display get_display ();
++              public unowned Cairo.Region? get_frame_bounds ();
++              public Meta.Rectangle get_frame_rect ();
++              public Meta.FrameType get_frame_type ();
++              public unowned string get_gtk_app_menu_object_path ();
++              public unowned string get_gtk_application_id ();
++              public unowned string get_gtk_application_object_path ();
++              public unowned string get_gtk_menubar_object_path ();
++              public unowned string get_gtk_theme_variant ();
++              public unowned string get_gtk_unique_bus_name ();
++              public unowned string get_gtk_window_object_path ();
++              public bool get_icon_geometry (out Meta.Rectangle rect);
++              public Meta.StackLayer get_layer ();
++              public Meta.MaximizeFlags get_maximized ();
++              public int get_monitor ();
++              public unowned string get_mutter_hints ();
++              public int get_pid ();
++              public unowned string get_role ();
++              public unowned string get_sandboxed_app_id ();
++              public uint get_stable_sequence ();
++              public unowned string get_startup_id ();
++              public unowned Meta.Window? get_tile_match ();
++              public unowned string get_title ();
++              public unowned Meta.Window get_transient_for ();
++              public uint32 get_user_time ();
++              public Meta.WindowType get_window_type ();
++              public unowned string get_wm_class ();
++              public unowned string get_wm_class_instance ();
++              public Meta.Rectangle get_work_area_all_monitors ();
++              public Meta.Rectangle get_work_area_current_monitor ();
++              public Meta.Rectangle get_work_area_for_monitor (int 
which_monitor);
++              public unowned Meta.Workspace get_workspace ();
++              public X.Window get_xwindow ();
++              public void group_leader_changed ();
++              public bool has_focus ();
++              public bool is_above ();
++              public bool is_always_on_all_workspaces ();
++              public bool is_ancestor_of_transient (Meta.Window transient);
++              public bool is_attached_dialog ();
++              public bool is_client_decorated ();
++              public bool is_fullscreen ();
++              public bool is_hidden ();
++              public bool is_monitor_sized ();
++              public bool is_on_all_workspaces ();
++              public bool is_on_primary_monitor ();
++              public bool is_override_redirect ();
++              public bool is_remote ();
++              public bool is_screen_sized ();
++              public bool is_shaded ();
++              public bool is_skip_taskbar ();
++              public void kill ();
++              public bool located_on_workspace (Meta.Workspace workspace);
++              public void lower ();
++              public void make_above ();
++              public void make_fullscreen ();
++              public void maximize (Meta.MaximizeFlags directions);
++              public void minimize ();
++              public void move_frame (bool user_op, int root_x_nw, int 
root_y_nw);
++              public void move_resize_frame (bool user_op, int root_x_nw, int 
root_y_nw, int w, int h);
++              public void move_to_monitor (int monitor);
++              public void raise ();
++              public bool requested_bypass_compositor ();
++              public bool requested_dont_bypass_compositor ();
++              public void set_compositor_private (GLib.Object priv);
++              public void set_demands_attention ();
++              public void set_icon_geometry (Meta.Rectangle? rect);
++              public void shade (uint32 timestamp);
++              public void shove_titlebar_onscreen ();
++              public bool showing_on_its_workspace ();
++              public void shutdown_group ();
++              public void stick ();
++              public bool titlebar_is_onscreen ();
++              public void unmake_above ();
++              public void unmake_fullscreen ();
++              public void unmaximize (Meta.MaximizeFlags directions);
++              public void unminimize ();
++              public void unset_demands_attention ();
++              public void unshade (uint32 timestamp);
++              public void unstick ();
++              [NoAccessorMethod]
++              public bool above { get; }
++              [NoAccessorMethod]
++              public bool appears_focused { get; }
++              [NoAccessorMethod]
++              public bool decorated { get; }
++              [NoAccessorMethod]
++              public bool demands_attention { get; }
++              [NoAccessorMethod]
++              public bool fullscreen { get; }
++              public string gtk_app_menu_object_path { get; }
++              public string gtk_application_id { get; }
++              public string gtk_application_object_path { get; }
++              public string gtk_menubar_object_path { get; }
++              public string gtk_unique_bus_name { get; }
++              public string gtk_window_object_path { get; }
++              [NoAccessorMethod]
++              public void* icon { get; }
++              [NoAccessorMethod]
++              public bool maximized_horizontally { get; }
++              [NoAccessorMethod]
++              public bool maximized_vertically { get; }
++              [NoAccessorMethod]
++              public void* mini_icon { get; }
++              [NoAccessorMethod]
++              public bool minimized { get; }
++              public string mutter_hints { get; }
++              [NoAccessorMethod]
++              public bool on_all_workspaces { get; }
++              [NoAccessorMethod]
++              public bool resizeable { get; }
++              [NoAccessorMethod]
++              public bool skip_taskbar { get; }
++              public string title { get; }
++              [NoAccessorMethod]
++              public bool urgent { get; }
++              public uint user_time { get; }
++              public Meta.WindowType window_type { get; }
++              public string wm_class { get; }
++              public signal void position_changed ();
++              public signal void raised ();
++              public signal void shown ();
++              public signal void size_changed ();
++              public signal void unmanaged ();
++              public signal void workspace_changed ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_actor_get_type ()")]
++      public class WindowActor : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false)]
++              protected WindowActor ();
++              public unowned Meta.Window get_meta_window ();
++              public unowned Clutter.Actor get_texture ();
++              public X.Window get_x_window ();
++              public bool is_destroyed ();
++              public void sync_visibility ();
++              public Meta.Window meta_window { get; construct; }
++              [NoAccessorMethod]
++              public string shadow_class { owned get; set; }
++              [NoAccessorMethod]
++              public Meta.ShadowMode shadow_mode { get; set; }
++              public signal void effects_completed ();
++              public signal void first_frame ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_group_get_type ()")]
++      public class WindowGroup : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
++              [CCode (has_construct_function = false)]
++              protected WindowGroup ();
++      }
++      [CCode (cheader_filename = "meta/main.h", ref_function = 
"meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", 
unref_function = "meta_window_shape_unref")]
++      [Compact]
++      public class WindowShape {
++              [CCode (has_construct_function = false)]
++              public WindowShape (Cairo.Region region);
++              public bool equal (Meta.WindowShape shape_b);
++              public void get_borders (int border_top, int border_right, int 
border_bottom, int border_left);
++              public uint hash ();
++              public Meta.WindowShape @ref ();
++              public Cairo.Region to_region (int center_width, int 
center_height);
++              public void unref ();
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_workspace_get_type ()")]
++      public class Workspace : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected Workspace ();
++              public void activate (uint32 timestamp);
++              public void activate_with_focus (Meta.Window focus_this, uint32 
timestamp);
++              public unowned Meta.Display get_display ();
++              public unowned Meta.Workspace get_neighbor 
(Meta.MotionDirection direction);
++              public Meta.Rectangle get_work_area_all_monitors ();
++              public Meta.Rectangle get_work_area_for_monitor (int 
which_monitor);
++              public int index ();
++              public GLib.List<weak Meta.Window> list_windows ();
++              public void set_builtin_struts (GLib.SList<Meta.Strut> struts);
++              [NoAccessorMethod]
++              public uint n_windows { get; }
++              [NoAccessorMethod]
++              public uint workspace_index { get; }
++              public signal void window_added (Meta.Window object);
++              public signal void window_removed (Meta.Window object);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_workspace_manager_get_type ()")]
++      public class WorkspaceManager : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected WorkspaceManager ();
++              public unowned Meta.Workspace append_new_workspace (bool 
activate, uint32 timestamp);
++              public unowned Meta.Workspace get_active_workspace ();
++              public int get_active_workspace_index ();
++              public int get_n_workspaces ();
++              public unowned Meta.Workspace get_workspace_by_index (int 
index);
++              public void override_workspace_layout (Meta.DisplayCorner 
starting_corner, bool vertical_layout, int n_rows, int n_columns);
++              public void remove_workspace (Meta.Workspace workspace, uint32 
timestamp);
++              public int n_workspaces { get; }
++              public signal void active_workspace_changed ();
++              public signal void showing_desktop_changed ();
++              public signal void workspace_added (int object);
++              public signal void workspace_removed (int object);
++              public signal void workspace_switched (int object, int p0, 
Meta.MotionDirection p1);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_x11_display_get_type ()")]
++      public class X11Display : GLib.Object {
++              [CCode (has_construct_function = false)]
++              protected X11Display ();
++              public void focus_the_no_focus_window (uint32 timestamp);
++              public int get_damage_event_base ();
++              public int get_screen_number ();
++              public int get_shape_event_base ();
++              public bool has_shape ();
++              public void set_cm_selection ();
++              public void set_input_focus_window (Meta.Window window, bool 
focus_frame, uint32 timestamp);
++              public bool xwindow_is_a_no_focus_window (X.Window xwindow);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_cname = 
"MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
++      public interface CloseDialog : GLib.Object {
++              public abstract void focus ();
++              public abstract void hide ();
++              public bool is_visible ();
++              public abstract void show ();
++              [NoAccessorMethod]
++              public abstract Meta.Window window { owned get; construct; }
++              [HasEmitter]
++              public signal void response (Meta.CloseDialogResponse response);
++      }
++      [CCode (cheader_filename = "meta/main.h", type_cname = 
"MetaInhibitShortcutsDialogInterface", type_id = 
"meta_inhibit_shortcuts_dialog_get_type ()")]
++      public interface InhibitShortcutsDialog : GLib.Object {
++              public abstract void hide ();
++              public abstract void show ();
++              [NoAccessorMethod]
++              public abstract Meta.Window window { owned get; construct; }
++              [HasEmitter]
++              public signal void response 
(Meta.InhibitShortcutsDialogResponse response);
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct ButtonLayout {
++              [CCode (array_length = false)]
++              public weak Meta.ButtonFunction left_buttons[5];
++              [CCode (array_length = false)]
++              public weak bool left_buttons_has_spacer[5];
++              [CCode (array_length = false)]
++              public weak Meta.ButtonFunction right_buttons[5];
++              [CCode (array_length = false)]
++              public weak bool right_buttons_has_spacer[5];
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct Edge {
++              public Meta.Rectangle rect;
++              public Meta.Side side_type;
++              public Meta.EdgeType edge_type;
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct FrameBorders {
++              public Gtk.Border visible;
++              public Gtk.Border invisible;
++              public Gtk.Border total;
++              public void clear ();
++      }
++      [CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
++      public struct PluginInfo {
++              public weak string name;
++              public weak string version;
++              public weak string author;
++              public weak string license;
++              public weak string description;
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct PluginVersion {
++              public uint version_major;
++              public uint version_minor;
++              public uint version_micro;
++              public uint version_api;
++      }
++      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_rectangle_get_type ()")]
++      public struct Rectangle {
++              public int x;
++              public int y;
++              public int width;
++              public int height;
++              public int area ();
++              public bool contains_rect (Meta.Rectangle inner_rect);
++              public Meta.Rectangle? copy ();
++              public bool could_fit_rect (Meta.Rectangle inner_rect);
++              public bool equal (Meta.Rectangle src2);
++              public void free ();
++              public bool horiz_overlap (Meta.Rectangle rect2);
++              public bool intersect (Meta.Rectangle src2, out Meta.Rectangle 
dest);
++              public bool overlap (Meta.Rectangle rect2);
++              public Meta.Rectangle union (Meta.Rectangle rect2);
++              public bool vert_overlap (Meta.Rectangle rect2);
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct ShadowParams {
++              public int radius;
++              public int top_fade;
++              public int x_offset;
++              public int y_offset;
++              public uint8 opacity;
++      }
++      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      public struct Strut {
++              public Meta.Rectangle rect;
++              public Meta.Side side;
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
++      [Flags]
++      public enum BarrierDirection {
++              POSITIVE_X,
++              POSITIVE_Y,
++              NEGATIVE_X,
++              NEGATIVE_Y
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
++      public enum ButtonFunction {
++              MENU,
++              MINIMIZE,
++              MAXIMIZE,
++              CLOSE,
++              APPMENU,
++              LAST
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type 
()")]
++      public enum CloseDialogResponse {
++              WAIT,
++              FORCE_CLOSE
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
++      public enum CompEffect {
++              CREATE,
++              UNMINIMIZE,
++              DESTROY,
++              MINIMIZE,
++              NONE
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_CURSOR_", 
type_id = "meta_cursor_get_type ()")]
++      public enum Cursor {
++              NONE,
++              DEFAULT,
++              NORTH_RESIZE,
++              SOUTH_RESIZE,
++              WEST_RESIZE,
++              EAST_RESIZE,
++              SE_RESIZE,
++              SW_RESIZE,
++              NE_RESIZE,
++              NW_RESIZE,
++              MOVE_OR_RESIZE_WINDOW,
++              BUSY,
++              DND_IN_DRAG,
++              DND_MOVE,
++              DND_COPY,
++              DND_UNSUPPORTED_TARGET,
++              POINTING_HAND,
++              CROSSHAIR,
++              IBEAM,
++              LAST
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DEBUG_", 
type_id = "meta_debug_topic_get_type ()")]
++      [Flags]
++      public enum DebugTopic {
++              VERBOSE,
++              FOCUS,
++              WORKAREA,
++              STACK,
++              THEMES,
++              SM,
++              EVENTS,
++              WINDOW_STATE,
++              WINDOW_OPS,
++              GEOMETRY,
++              PLACEMENT,
++              PING,
++              XINERAMA,
++              KEYBINDINGS,
++              SYNC,
++              ERRORS,
++              STARTUP,
++              PREFS,
++              GROUPS,
++              RESIZING,
++              SHAPES,
++              COMPOSITOR,
++              EDGE_RESISTANCE,
++              DBUS
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DIRECTION_", 
type_id = "meta_direction_get_type ()")]
++      [Flags]
++      public enum Direction {
++              LEFT,
++              RIGHT,
++              TOP,
++              BOTTOM,
++              UP,
++              DOWN,
++              HORIZONTAL,
++              VERTICAL
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_corner_get_type ()")]
++      public enum DisplayCorner {
++              TOPLEFT,
++              TOPRIGHT,
++              BOTTOMLEFT,
++              BOTTOMRIGHT
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_direction_get_type ()")]
++      public enum DisplayDirection {
++              UP,
++              DOWN,
++              LEFT,
++              RIGHT
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_EDGE_", 
type_id = "meta_edge_type_get_type ()")]
++      public enum EdgeType {
++              WINDOW,
++              MONITOR,
++              SCREEN
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_EXIT_", 
type_id = "meta_exit_code_get_type ()")]
++      public enum ExitCode {
++              SUCCESS,
++              ERROR
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_", 
type_id = "meta_frame_flags_get_type ()")]
++      [Flags]
++      public enum FrameFlags {
++              ALLOWS_DELETE,
++              ALLOWS_MENU,
++              ALLOWS_APPMENU,
++              ALLOWS_MINIMIZE,
++              ALLOWS_MAXIMIZE,
++              ALLOWS_VERTICAL_RESIZE,
++              ALLOWS_HORIZONTAL_RESIZE,
++              HAS_FOCUS,
++              SHADED,
++              STUCK,
++              MAXIMIZED,
++              ALLOWS_SHADE,
++              ALLOWS_MOVE,
++              FULLSCREEN,
++              IS_FLASHING,
++              ABOVE,
++              TILED_LEFT,
++              TILED_RIGHT
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_TYPE_", 
type_id = "meta_frame_type_get_type ()")]
++      public enum FrameType {
++              NORMAL,
++              DIALOG,
++              MODAL_DIALOG,
++              UTILITY,
++              MENU,
++              BORDER,
++              ATTACHED,
++              LAST;
++              public unowned string to_string ();
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_GRAB_OP_", 
type_id = "meta_grab_op_get_type ()")]
++      public enum GrabOp {
++              NONE,
++              WINDOW_BASE,
++              COMPOSITOR,
++              WAYLAND_POPUP,
++              FRAME_BUTTON,
++              MOVING,
++              RESIZING_NW,
++              RESIZING_N,
++              RESIZING_NE,
++              RESIZING_E,
++              RESIZING_SW,
++              RESIZING_S,
++              RESIZING_SE,
++              RESIZING_W,
++              KEYBOARD_MOVING,
++              KEYBOARD_RESIZING_UNKNOWN,
++              KEYBOARD_RESIZING_NW,
++              KEYBOARD_RESIZING_N,
++              KEYBOARD_RESIZING_NE,
++              KEYBOARD_RESIZING_E,
++              KEYBOARD_RESIZING_SW,
++              KEYBOARD_RESIZING_S,
++              KEYBOARD_RESIZING_SE,
++              KEYBOARD_RESIZING_W
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = 
"meta_inhibit_shortcuts_dialog_response_get_type ()")]
++      public enum InhibitShortcutsDialogResponse {
++              ALLOW,
++              DENY
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
++      public enum KeyBindingAction {
++              NONE,
++              WORKSPACE_1,
++              WORKSPACE_2,
++              WORKSPACE_3,
++              WORKSPACE_4,
++              WORKSPACE_5,
++              WORKSPACE_6,
++              WORKSPACE_7,
++              WORKSPACE_8,
++              WORKSPACE_9,
++              WORKSPACE_10,
++              WORKSPACE_11,
++              WORKSPACE_12,
++              WORKSPACE_LEFT,
++              WORKSPACE_RIGHT,
++              WORKSPACE_UP,
++              WORKSPACE_DOWN,
++              WORKSPACE_LAST,
++              SWITCH_APPLICATIONS,
++              SWITCH_APPLICATIONS_BACKWARD,
++              SWITCH_GROUP,
++              SWITCH_GROUP_BACKWARD,
++              SWITCH_WINDOWS,
++              SWITCH_WINDOWS_BACKWARD,
++              SWITCH_PANELS,
++              SWITCH_PANELS_BACKWARD,
++              CYCLE_GROUP,
++              CYCLE_GROUP_BACKWARD,
++              CYCLE_WINDOWS,
++              CYCLE_WINDOWS_BACKWARD,
++              CYCLE_PANELS,
++              CYCLE_PANELS_BACKWARD,
++              SHOW_DESKTOP,
++              PANEL_MAIN_MENU,
++              PANEL_RUN_DIALOG,
++              TOGGLE_RECORDING,
++              SET_SPEW_MARK,
++              ACTIVATE_WINDOW_MENU,
++              TOGGLE_FULLSCREEN,
++              TOGGLE_MAXIMIZED,
++              TOGGLE_TILED_LEFT,
++              TOGGLE_TILED_RIGHT,
++              TOGGLE_ABOVE,
++              MAXIMIZE,
++              UNMAXIMIZE,
++              TOGGLE_SHADED,
++              MINIMIZE,
++              CLOSE,
++              BEGIN_MOVE,
++              BEGIN_RESIZE,
++              TOGGLE_ON_ALL_WORKSPACES,
++              MOVE_TO_WORKSPACE_1,
++              MOVE_TO_WORKSPACE_2,
++              MOVE_TO_WORKSPACE_3,
++              MOVE_TO_WORKSPACE_4,
++              MOVE_TO_WORKSPACE_5,
++              MOVE_TO_WORKSPACE_6,
++              MOVE_TO_WORKSPACE_7,
++              MOVE_TO_WORKSPACE_8,
++              MOVE_TO_WORKSPACE_9,
++              MOVE_TO_WORKSPACE_10,
++              MOVE_TO_WORKSPACE_11,
++              MOVE_TO_WORKSPACE_12,
++              MOVE_TO_WORKSPACE_LEFT,
++              MOVE_TO_WORKSPACE_RIGHT,
++              MOVE_TO_WORKSPACE_UP,
++              MOVE_TO_WORKSPACE_DOWN,
++              MOVE_TO_WORKSPACE_LAST,
++              MOVE_TO_MONITOR_LEFT,
++              MOVE_TO_MONITOR_RIGHT,
++              MOVE_TO_MONITOR_UP,
++              MOVE_TO_MONITOR_DOWN,
++              RAISE_OR_LOWER,
++              RAISE,
++              LOWER,
++              MAXIMIZE_VERTICALLY,
++              MAXIMIZE_HORIZONTALLY,
++              MOVE_TO_CORNER_NW,
++              MOVE_TO_CORNER_NE,
++              MOVE_TO_CORNER_SW,
++              MOVE_TO_CORNER_SE,
++              MOVE_TO_SIDE_N,
++              MOVE_TO_SIDE_S,
++              MOVE_TO_SIDE_E,
++              MOVE_TO_SIDE_W,
++              MOVE_TO_CENTER,
++              OVERLAY_KEY,
++              ISO_NEXT_GROUP,
++              ALWAYS_ON_TOP,
++              SWITCH_MONITOR,
++              ROTATE_MONITOR,
++              LAST
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
++      [Flags]
++      public enum KeyBindingFlags {
++              NONE,
++              PER_WINDOW,
++              BUILTIN,
++              IS_REVERSED,
++              NON_MASKABLE
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_LATER_", 
type_id = "meta_later_type_get_type ()")]
++      public enum LaterType {
++              RESIZE,
++              CALC_SHOWING,
++              CHECK_FULLSCREEN,
++              SYNC_STACK,
++              BEFORE_REDRAW,
++              IDLE
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
++      public enum LocaleDirection {
++              LTR,
++              RTL
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MAXIMIZE_", 
type_id = "meta_maximize_flags_get_type ()")]
++      [Flags]
++      public enum MaximizeFlags {
++              HORIZONTAL,
++              VERTICAL,
++              BOTH
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MODAL_", 
type_id = "meta_modal_options_get_type ()")]
++      [Flags]
++      public enum ModalOptions {
++              POINTER_ALREADY_GRABBED,
++              KEYBOARD_ALREADY_GRABBED
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_MONITOR_SWITCH_CONFIG_", type_id = 
"meta_monitor_switch_config_type_get_type ()")]
++      public enum MonitorSwitchConfigType {
++              ALL_MIRROR,
++              ALL_LINEAR,
++              EXTERNAL,
++              BUILTIN,
++              UNKNOWN
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MOTION_", 
type_id = "meta_motion_direction_get_type ()")]
++      public enum MotionDirection {
++              UP,
++              DOWN,
++              LEFT,
++              RIGHT,
++              UP_LEFT,
++              UP_RIGHT,
++              DOWN_LEFT,
++              DOWN_RIGHT
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_PAD_ACTION_", 
type_id = "meta_pad_action_type_get_type ()")]
++      public enum PadActionType {
++              BUTTON,
++              RING,
++              STRIP
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_PREF_", 
type_id = "meta_preference_get_type ()")]
++      public enum Preference {
++              MOUSE_BUTTON_MODS,
++              FOCUS_MODE,
++              FOCUS_NEW_WINDOWS,
++              ATTACH_MODAL_DIALOGS,
++              RAISE_ON_CLICK,
++              ACTION_DOUBLE_CLICK_TITLEBAR,
++              ACTION_MIDDLE_CLICK_TITLEBAR,
++              ACTION_RIGHT_CLICK_TITLEBAR,
++              AUTO_RAISE,
++              AUTO_RAISE_DELAY,
++              FOCUS_CHANGE_ON_POINTER_REST,
++              TITLEBAR_FONT,
++              NUM_WORKSPACES,
++              DYNAMIC_WORKSPACES,
++              KEYBINDINGS,
++              DISABLE_WORKAROUNDS,
++              BUTTON_LAYOUT,
++              WORKSPACE_NAMES,
++              VISUAL_BELL,
++              AUDIBLE_BELL,
++              VISUAL_BELL_TYPE,
++              GNOME_ACCESSIBILITY,
++              GNOME_ANIMATIONS,
++              CURSOR_THEME,
++              CURSOR_SIZE,
++              RESIZE_WITH_RIGHT_BUTTON,
++              EDGE_TILING,
++              FORCE_FULLSCREEN,
++              WORKSPACES_ONLY_ON_PRIMARY,
++              DRAGGABLE_BORDER_WIDTH,
++              AUTO_MAXIMIZE,
++              CENTER_NEW_WINDOWS,
++              DRAG_THRESHOLD;
++              public unowned string to_string ();
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
++      public enum ShadowMode {
++              AUTO,
++              FORCED_OFF,
++              FORCED_ON
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_SIDE_", 
type_id = "meta_side_get_type ()")]
++      public enum Side {
++              LEFT,
++              RIGHT,
++              TOP,
++              BOTTOM
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
++      public enum SizeChange {
++              MAXIMIZE,
++              UNMAXIMIZE,
++              FULLSCREEN,
++              UNFULLSCREEN
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_LAYER_", 
type_id = "meta_stack_layer_get_type ()")]
++      public enum StackLayer {
++              DESKTOP,
++              BOTTOM,
++              NORMAL,
++              TOP,
++              DOCK,
++              OVERRIDE_REDIRECT,
++              LAST
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_LIST_", 
type_id = "meta_tab_list_get_type ()")]
++      public enum TabList {
++              NORMAL,
++              DOCKS,
++              GROUP,
++              NORMAL_ALL
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_SHOW_", 
type_id = "meta_tab_show_type_get_type ()")]
++      public enum TabShowType {
++              ICON,
++              INSTANTLY
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_VIRTUAL_", 
type_id = "meta_virtual_modifier_get_type ()")]
++      [Flags]
++      public enum VirtualModifier {
++              SHIFT_MASK,
++              CONTROL_MASK,
++              ALT_MASK,
++              META_MASK,
++              SUPER_MASK,
++              HYPER_MASK,
++              MOD2_MASK,
++              MOD3_MASK,
++              MOD4_MASK,
++              MOD5_MASK
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
++      public enum WindowClientType {
++              WAYLAND,
++              X11
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
++      public enum WindowMenuType {
++              WM,
++              APP
++      }
++      [CCode (cheader_filename = "meta/main.h", cprefix = "META_WINDOW_", 
type_id = "meta_window_type_get_type ()")]
++      public enum WindowType {
++              NORMAL,
++              DESKTOP,
++              DOCK,
++              DIALOG,
++              MODAL_DIALOG,
++              TOOLBAR,
++              MENU,
++              UTILITY,
++              SPLASHSCREEN,
++              DROPDOWN_MENU,
++              POPUP_MENU,
++              TOOLTIP,
++              NOTIFICATION,
++              COMBO,
++              DND,
++              OVERRIDE_OTHER
++      }
++      [CCode (cheader_filename = "meta/main.h", instance_pos = 2.9)]
++      public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, 
uint watch_id);
++      [CCode (cheader_filename = "meta/main.h", instance_pos = 4.9)]
++      public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window 
window, [CCode (type = "ClutterKeyEvent*")] Clutter.KeyEvent? event, 
Meta.KeyBinding binding);
++      [CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
++      public delegate void PrefsChangedFunc (Meta.Preference pref);
++      [CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
++      public delegate bool WindowForeachFunc (Meta.Window window);
++      [CCode (cheader_filename = "meta/main.h", cname = "META_CURRENT_TIME")]
++      public const int CURRENT_TIME;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_DEFAULT_ICON_NAME")]
++      public const string DEFAULT_ICON_NAME;
++      [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")]
++      public const int ICON_HEIGHT;
++      [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_WIDTH")]
++      public const int ICON_WIDTH;
++      [CCode (cheader_filename = "meta/main.h", cname = "META_MAJOR_VERSION")]
++      public const int MAJOR_VERSION;
++      [CCode (cheader_filename = "meta/main.h", cname = "META_MICRO_VERSION")]
++      public const int MICRO_VERSION;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_MINI_ICON_HEIGHT")]
++      public const int MINI_ICON_HEIGHT;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_MINI_ICON_WIDTH")]
++      public const int MINI_ICON_WIDTH;
++      [CCode (cheader_filename = "meta/main.h", cname = "META_MINOR_VERSION")]
++      public const int MINOR_VERSION;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PLUGIN_API_VERSION")]
++      public const int PLUGIN_API_VERSION;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_BEFORE_REDRAW")]
++      public const int PRIORITY_BEFORE_REDRAW;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_PREFS_NOTIFY")]
++      public const int PRIORITY_PREFS_NOTIFY;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_REDRAW")]
++      public const int PRIORITY_REDRAW;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_RESIZE")]
++      public const int PRIORITY_RESIZE;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_VIRTUAL_CORE_KEYBOARD_ID")]
++      public const int VIRTUAL_CORE_KEYBOARD_ID;
++      [CCode (cheader_filename = "meta/main.h", cname = 
"META_VIRTUAL_CORE_POINTER_ID")]
++      public const int VIRTUAL_CORE_POINTER_ID;
++      [CCode (cheader_filename = "meta/main.h")]
++      public static bool activate_session ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void exit (Meta.ExitCode code);
++      [CCode (cheader_filename = "meta/main.h")]
++      public static unowned GLib.OptionContext get_option_context ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static bool get_replace_current_wm ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void init ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static bool is_restart ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void quit (Meta.ExitCode code);
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void register_with_session ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void restart (string? message);
++      [CCode (cheader_filename = "meta/main.h")]
++      public static int run ();
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void set_gnome_wm_keybindings (string wm_keybindings);
++      [CCode (cheader_filename = "meta/main.h")]
++      public static void set_wm_name (string wm_name);
++      [CCode (cheader_filename = "meta/main.h")]
++      public static bool x11_init_gdk_display () throws GLib.Error;
++}

Copied: 
budgie-desktop/repos/community-testing-x86_64/0002-Correct-GNOME-button-layout-schema-path.patch
 (from rev 380021, 
budgie-desktop/trunk/0002-Correct-GNOME-button-layout-schema-path.patch)
===================================================================
--- community-testing-x86_64/0002-Correct-GNOME-button-layout-schema-path.patch 
                        (rev 0)
+++ community-testing-x86_64/0002-Correct-GNOME-button-layout-schema-path.patch 
2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,26 @@
+Description: Correct GNOME button-layout schema path
+ .
+ Fixes issue with patch 0003-Port-to-mutter-3-from-GNOME-3.30.patch
+Author: fossfreedom <[email protected]>
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/b5e9fd36860d70fed8c85737d1bae828d5331b6b
+Last-Update: 2018-08-15
+
+---
+ src/wm/20_solus-project.budgie.wm.gschema.override | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/wm/20_solus-project.budgie.wm.gschema.override 
b/src/wm/20_solus-project.budgie.wm.gschema.override
+index b6a4071f..1e1f31e4 100644
+--- a/src/wm/20_solus-project.budgie.wm.gschema.override
++++ b/src/wm/20_solus-project.budgie.wm.gschema.override
+@@ -1,4 +1,7 @@
+ [org.gnome.mutter:Budgie]
+ edge-tiling = true
+ attach-modal-dialogs = true
++
++[org.gnome.desktop.wm.preferences:Budgie]
+ button-layout = 'appmenu:minimize,maximize,close'
++
+--
+2.17.1
+

Copied: 
budgie-desktop/repos/community-testing-x86_64/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
 (from rev 380021, 
budgie-desktop/trunk/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch)
===================================================================
--- 
community-testing-x86_64/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
                            (rev 0)
+++ 
community-testing-x86_64/0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
    2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,34 @@
+Description: Make sure vapi workspace def use real c header filenames
+Author: fossfreedom <[email protected]>
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/825353ea27af8ca2e54e95421072561a1bcfb488
+Last Update: 2018-08-26
+
+---
+ vapi/libmutter-3.vapi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/vapi/libmutter-3.vapi b/vapi/libmutter-3.vapi
+index 8a5f5ab0..bd8cc632 100644
+--- a/vapi/libmutter-3.vapi
++++ b/vapi/libmutter-3.vapi
+@@ -708,7 +708,7 @@ namespace Meta {
+               public Cairo.Region to_region (int center_width, int 
center_height);
+               public void unref ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_workspace_get_type ()")]
++      [CCode (cheader_filename = "meta/workspace.h", type_id = 
"meta_workspace_get_type ()")]
+       public class Workspace : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Workspace ();
+@@ -728,7 +728,7 @@ namespace Meta {
+               public signal void window_added (Meta.Window object);
+               public signal void window_removed (Meta.Window object);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_workspace_manager_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-workspace-manager.h", type_id = 
"meta_workspace_manager_get_type ()")]
+       public class WorkspaceManager : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected WorkspaceManager ();
+--
+2.17.1
+

Copied: 
budgie-desktop/repos/community-testing-x86_64/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
 (from rev 380021, 
budgie-desktop/trunk/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch)
===================================================================
--- 
community-testing-x86_64/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
                            (rev 0)
+++ 
community-testing-x86_64/0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
    2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,110 @@
+Description: Vala 0.41.92 does not allow custom getter default values
+Author: fossfreedom <[email protected]>
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/c7be4c220762116c251258d4c840eb75de026f2c
+Last Update: 2018-08-26
+
+---
+ src/applets/icon-tasklist/Icon.vala    | 10 +++++-----
+ src/applets/status/PowerIndicator.vala |  2 +-
+ src/panel/panel.vala                   |  2 +-
+ src/raven/headerwidget.vala            |  2 +-
+ src/raven/raven.vala                   |  2 +-
+ 5 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/applets/icon-tasklist/Icon.vala 
b/src/applets/icon-tasklist/Icon.vala
+index 895cd38c..e0610d5a 100644
+--- a/src/applets/icon-tasklist/Icon.vala
++++ b/src/applets/icon-tasklist/Icon.vala
+@@ -20,8 +20,8 @@ public class Icon : Gtk.Image
+     private int wait_cycle_counter = 0;
+     private int attention_cycle_counter = 0;
+
+-    private double bounce_amount = 0;
+-    private double attention_amount = 0;
++    private double bounce_amount = 0.0;
++    private double attention_amount = 0.0;
+
+     public double bounce {
+         public set {
+@@ -31,7 +31,7 @@ public class Icon : Gtk.Image
+         public get {
+             return bounce_amount;
+         }
+-        default = 0.0;
++        //default = 0.0;
+     }
+
+     public double attention {
+@@ -42,7 +42,7 @@ public class Icon : Gtk.Image
+         public get {
+             return attention_amount;
+         }
+-        default = 0.0;
++        //default = 0.0;
+     }
+
+     public double icon_opacity {
+@@ -56,7 +56,7 @@ public class Icon : Gtk.Image
+         public get {
+             return opacity;
+         }
+-        default = 1.0;
++        //default = 1.0;
+     }
+
+     public Icon() {}
+diff --git a/src/applets/status/PowerIndicator.vala 
b/src/applets/status/PowerIndicator.vala
+index 1816a294..6c498968 100644
+--- a/src/applets/status/PowerIndicator.vala
++++ b/src/applets/status/PowerIndicator.vala
+@@ -30,7 +30,7 @@ public class BatteryIcon : Gtk.Box
+         public get {
+             return this.percent_label.visible;
+         }
+-        default = false;
++        //default = false;
+     }
+
+     public BatteryIcon(Up.Device battery) {
+diff --git a/src/panel/panel.vala b/src/panel/panel.vala
+index 17bd9431..2b73a287 100644
+--- a/src/panel/panel.vala
++++ b/src/panel/panel.vala
+@@ -120,7 +120,7 @@ public class Panel : Budgie.Toplevel
+         public get {
+             return render_scale;
+         }
+-        default = 0.0;
++        //default = 0.0;
+     }
+
+     public bool activate_action(int remote_action)
+diff --git a/src/raven/headerwidget.vala b/src/raven/headerwidget.vala
+index 429c350c..97bbe2c7 100644
+--- a/src/raven/headerwidget.vala
++++ b/src/raven/headerwidget.vala
+@@ -34,7 +34,7 @@ public class HeaderExpander : Gtk.Button
+         public get {
+             return this._expanded;
+         }
+-        default = false;
++        //default = false;
+     }
+
+     public HeaderExpander(HeaderWidget? owner)
+diff --git a/src/raven/raven.vala b/src/raven/raven.vala
+index 23250d52..47ad19e1 100644
+--- a/src/raven/raven.vala
++++ b/src/raven/raven.vala
+@@ -170,7 +170,7 @@ public class Raven : Gtk.Window
+         public get {
+             return this._screen_edge;
+         }
+-        default = Gtk.PositionType.RIGHT;
++        //default = Gtk.PositionType.RIGHT;
+     }
+
+     int our_width = 0;
+--
+2.17.1
+

Copied: 
budgie-desktop/repos/community-testing-x86_64/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch
 (from rev 380021, 
budgie-desktop/trunk/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch)
===================================================================
--- 
community-testing-x86_64/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch 
                            (rev 0)
+++ 
community-testing-x86_64/0005-Point-vapi-cheaders-to-their-upstream-equiv.patch 
    2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,622 @@
+Description: Point vapi cheaders to their upstream equiv
+Author: fossfreedom <[email protected]>
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/665076e68be7de280177eff45f224a7c2ea4a212
+Last Update: 2018-08-26
+
+---
+ vapi/libmutter-3.vapi | 172 +++++++++++++++++++++---------------------
+ 1 file changed, 86 insertions(+), 86 deletions(-)
+
+diff --git a/vapi/libmutter-3.vapi b/vapi/libmutter-3.vapi
+index bd8cc632..1715aa8f 100644
+--- a/vapi/libmutter-3.vapi
++++ b/vapi/libmutter-3.vapi
+@@ -218,7 +218,7 @@ namespace Meta {
+               [CCode (has_construct_function = false, type = "ClutterActor*")]
+               public BackgroundGroup ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_background_image_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-background-image.h", type_id = 
"meta_background_image_get_type ()")]
+       public class BackgroundImage : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected BackgroundImage ();
+@@ -235,7 +235,7 @@ namespace Meta {
+               public Meta.BackgroundImage load (GLib.File file);
+               public void purge (GLib.File file);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_barrier_get_type ()")]
++      [CCode (cheader_filename = "meta/barrier.h", type_id = 
"meta_barrier_get_type ()")]
+       public class Barrier : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Barrier ();
+@@ -257,7 +257,7 @@ namespace Meta {
+               public signal void hit (Meta.BarrierEvent event);
+               public signal void left (Meta.BarrierEvent event);
+       }
+-      [CCode (cheader_filename = "meta/main.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_barrier_event_get_type ()")]
++      [CCode (cheader_filename = "meta/barrier.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_barrier_event_get_type ()")]
+       [Compact]
+       public class BarrierEvent {
+               public int dt;
+@@ -270,7 +270,7 @@ namespace Meta {
+               public double x;
+               public double y;
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_cursor_tracker_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = 
"meta_cursor_tracker_get_type ()")]
+       public class CursorTracker : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected CursorTracker ();
+@@ -281,7 +281,7 @@ namespace Meta {
+               public void set_pointer_visible (bool visible);
+               public signal void cursor_changed ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_dbus_display_config_skeleton_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = 
"meta_dbus_display_config_skeleton_get_type ()")]
+       public class DBusDisplayConfigSkeleton : GLib.DBusInterfaceSkeleton, 
GLib.DBusInterface {
+               [CCode (has_construct_function = false)]
+               protected DBusDisplayConfigSkeleton ();
+@@ -355,7 +355,7 @@ namespace Meta {
+               public signal void x11_display_closing ();
+               public signal void x11_display_opened ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = "meta_dnd_get_type 
()")]
++      [CCode (cheader_filename = "meta/meta-dnd.h", type_id = 
"meta_dnd_get_type ()")]
+       public class Dnd : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Dnd ();
+@@ -363,11 +363,11 @@ namespace Meta {
+               public signal void dnd_leave ();
+               public signal void dnd_position_change (int object, int p0);
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+       [Compact]
+       public class Frame {
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_idle_monitor_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-idle-monitor.h", type_id = 
"meta_idle_monitor_get_type ()")]
+       public class IdleMonitor : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected IdleMonitor ();
+@@ -380,7 +380,7 @@ namespace Meta {
+               [NoAccessorMethod]
+               public int device_id { get; construct; }
+       }
+-      [CCode (cheader_filename = "meta/main.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_key_binding_get_type ()")]
++      [CCode (cheader_filename = "meta/keybindings.h", copy_function = 
"g_boxed_copy", free_function = "g_boxed_free", type_id = 
"meta_key_binding_get_type ()")]
+       [Compact]
+       public class KeyBinding {
+               public uint get_mask ();
+@@ -461,26 +461,26 @@ namespace Meta {
+               [NoWrapper]
+               public virtual bool xevent_filter (X.Event event);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_remote_access_controller_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-remote-access-controller.h", 
type_id = "meta_remote_access_controller_get_type ()")]
+       public class RemoteAccessController : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected RemoteAccessController ();
+               public signal void new_handle (Meta.RemoteAccessHandle object);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_remote_access_handle_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-remote-access-controller.h", 
type_id = "meta_remote_access_handle_get_type ()")]
+       public class RemoteAccessHandle : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected RemoteAccessHandle ();
+               public virtual void stop ();
+               public signal void stopped ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/meta-settings.h", has_type_id = false)]
+       [Compact]
+       public class Settings {
+               public int get_font_dpi ();
+               public int get_ui_scaling_factor ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", ref_function = 
"meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = 
"meta_shadow_unref")]
++      [CCode (cheader_filename = "meta/meta-shadow-factory.h", ref_function = 
"meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = 
"meta_shadow_unref")]
+       [Compact]
+       public class Shadow {
+               public void get_bounds (int window_x, int window_y, int 
window_width, int window_height, Cairo.RectangleInt bounds);
+@@ -488,7 +488,7 @@ namespace Meta {
+               public Meta.Shadow @ref ();
+               public void unref ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_shadow_factory_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-shadow-factory.h", type_id = 
"meta_shadow_factory_get_type ()")]
+       public class ShadowFactory : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public ShadowFactory ();
+@@ -498,7 +498,7 @@ namespace Meta {
+               public void set_params (string class_name, bool focused, 
Meta.ShadowParams @params);
+               public signal void changed ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_shaped_texture_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = 
"meta_shaped_texture_get_type ()")]
+       public class ShapedTexture : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+               [CCode (has_construct_function = false)]
+               protected ShapedTexture ();
+@@ -510,18 +510,18 @@ namespace Meta {
+               public bool update_area (int x, int y, int width, int height);
+               public signal void size_changed ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_stage_get_type ()")]
++      [CCode (cheader_filename = "meta/compositor-mutter.h", type_id = 
"meta_stage_get_type ()")]
+       public class Stage : Clutter.Stage, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+               [CCode (has_construct_function = false)]
+               protected Stage ();
+               public static bool is_focused (Meta.Display display);
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/theme.h", has_type_id = false)]
+       [Compact]
+       public class Theme {
+               public void free ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_get_type ()")]
++      [CCode (cheader_filename = "meta/window.h", type_id = 
"meta_window_get_type ()")]
+       public abstract class Window : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Window ();
+@@ -674,7 +674,7 @@ namespace Meta {
+               public signal void unmanaged ();
+               public signal void workspace_changed ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_actor_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-window-actor.h", type_id = 
"meta_window_actor_get_type ()")]
+       public class WindowActor : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+               [CCode (has_construct_function = false)]
+               protected WindowActor ();
+@@ -691,12 +691,12 @@ namespace Meta {
+               public signal void effects_completed ();
+               public signal void first_frame ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_window_group_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-window-group.h", type_id = 
"meta_window_group_get_type ()")]
+       public class WindowGroup : Clutter.Actor, Atk.Implementor, 
Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+               [CCode (has_construct_function = false)]
+               protected WindowGroup ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", ref_function = 
"meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", 
unref_function = "meta_window_shape_unref")]
++      [CCode (cheader_filename = "meta/meta-window-shape.h", ref_function = 
"meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", 
unref_function = "meta_window_shape_unref")]
+       [Compact]
+       public class WindowShape {
+               [CCode (has_construct_function = false)]
+@@ -746,7 +746,7 @@ namespace Meta {
+               public signal void workspace_removed (int object);
+               public signal void workspace_switched (int object, int p0, 
Meta.MotionDirection p1);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_x11_display_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-x11-display.h", type_id = 
"meta_x11_display_get_type ()")]
+       public class X11Display : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected X11Display ();
+@@ -759,7 +759,7 @@ namespace Meta {
+               public void set_input_focus_window (Meta.Window window, bool 
focus_frame, uint32 timestamp);
+               public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_cname = 
"MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = 
"MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
+       public interface CloseDialog : GLib.Object {
+               public abstract void focus ();
+               public abstract void hide ();
+@@ -770,7 +770,7 @@ namespace Meta {
+               [HasEmitter]
+               public signal void response (Meta.CloseDialogResponse response);
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_cname = 
"MetaInhibitShortcutsDialogInterface", type_id = 
"meta_inhibit_shortcuts_dialog_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-inhibit-shortcuts-dialog.h", 
type_cname = "MetaInhibitShortcutsDialogInterface", type_id = 
"meta_inhibit_shortcuts_dialog_get_type ()")]
+       public interface InhibitShortcutsDialog : GLib.Object {
+               public abstract void hide ();
+               public abstract void show ();
+@@ -779,7 +779,7 @@ namespace Meta {
+               [HasEmitter]
+               public signal void response 
(Meta.InhibitShortcutsDialogResponse response);
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+       public struct ButtonLayout {
+               [CCode (array_length = false)]
+               public weak Meta.ButtonFunction left_buttons[5];
+@@ -790,13 +790,13 @@ namespace Meta {
+               [CCode (array_length = false)]
+               public weak bool right_buttons_has_spacer[5];
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+       public struct Edge {
+               public Meta.Rectangle rect;
+               public Meta.Side side_type;
+               public Meta.EdgeType edge_type;
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+       public struct FrameBorders {
+               public Gtk.Border visible;
+               public Gtk.Border invisible;
+@@ -811,14 +811,14 @@ namespace Meta {
+               public weak string license;
+               public weak string description;
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+       public struct PluginVersion {
+               public uint version_major;
+               public uint version_minor;
+               public uint version_micro;
+               public uint version_api;
+       }
+-      [CCode (cheader_filename = "meta/main.h", type_id = 
"meta_rectangle_get_type ()")]
++      [CCode (cheader_filename = "meta/boxes.h", type_id = 
"meta_rectangle_get_type ()")]
+       public struct Rectangle {
+               public int x;
+               public int y;
+@@ -836,7 +836,7 @@ namespace Meta {
+               public Meta.Rectangle union (Meta.Rectangle rect2);
+               public bool vert_overlap (Meta.Rectangle rect2);
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = 
false)]
+       public struct ShadowParams {
+               public int radius;
+               public int top_fade;
+@@ -844,12 +844,12 @@ namespace Meta {
+               public int y_offset;
+               public uint8 opacity;
+       }
+-      [CCode (cheader_filename = "meta/main.h", has_type_id = false)]
++      [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+       public struct Strut {
+               public Meta.Rectangle rect;
+               public Meta.Side side;
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
++      [CCode (cheader_filename = "meta/barrier.h", cprefix = 
"META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
+       [Flags]
+       public enum BarrierDirection {
+               POSITIVE_X,
+@@ -857,7 +857,7 @@ namespace Meta {
+               NEGATIVE_X,
+               NEGATIVE_Y
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = 
"META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+       public enum ButtonFunction {
+               MENU,
+               MINIMIZE,
+@@ -866,12 +866,12 @@ namespace Meta {
+               APPMENU,
+               LAST
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type 
()")]
++      [CCode (cheader_filename = "meta/meta-close-dialog.h", cprefix = 
"META_CLOSE_DIALOG_RESPONSE_", type_id = "meta_close_dialog_response_get_type 
()")]
+       public enum CloseDialogResponse {
+               WAIT,
+               FORCE_CLOSE
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
++      [CCode (cheader_filename = "meta/compositor.h", cprefix = 
"META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+       public enum CompEffect {
+               CREATE,
+               UNMINIMIZE,
+@@ -879,7 +879,7 @@ namespace Meta {
+               MINIMIZE,
+               NONE
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_CURSOR_", 
type_id = "meta_cursor_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", 
type_id = "meta_cursor_get_type ()")]
+       public enum Cursor {
+               NONE,
+               DEFAULT,
+@@ -902,7 +902,7 @@ namespace Meta {
+               IBEAM,
+               LAST
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DEBUG_", 
type_id = "meta_debug_topic_get_type ()")]
++      [CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_", 
type_id = "meta_debug_topic_get_type ()")]
+       [Flags]
+       public enum DebugTopic {
+               VERBOSE,
+@@ -930,7 +930,7 @@ namespace Meta {
+               EDGE_RESISTANCE,
+               DBUS
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DIRECTION_", 
type_id = "meta_direction_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = 
"META_DIRECTION_", type_id = "meta_direction_get_type ()")]
+       [Flags]
+       public enum Direction {
+               LEFT,
+@@ -942,21 +942,21 @@ namespace Meta {
+               HORIZONTAL,
+               VERTICAL
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_corner_get_type ()")]
++      [CCode (cheader_filename = "meta/display.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_corner_get_type ()")]
+       public enum DisplayCorner {
+               TOPLEFT,
+               TOPRIGHT,
+               BOTTOMLEFT,
+               BOTTOMRIGHT
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_direction_get_type ()")]
++      [CCode (cheader_filename = "meta/display.h", cprefix = "META_DISPLAY_", 
type_id = "meta_display_direction_get_type ()")]
+       public enum DisplayDirection {
+               UP,
+               DOWN,
+               LEFT,
+               RIGHT
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_EDGE_", 
type_id = "meta_edge_type_get_type ()")]
++      [CCode (cheader_filename = "meta/boxes.h", cprefix = "META_EDGE_", 
type_id = "meta_edge_type_get_type ()")]
+       public enum EdgeType {
+               WINDOW,
+               MONITOR,
+@@ -967,7 +967,7 @@ namespace Meta {
+               SUCCESS,
+               ERROR
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_", 
type_id = "meta_frame_flags_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", 
type_id = "meta_frame_flags_get_type ()")]
+       [Flags]
+       public enum FrameFlags {
+               ALLOWS_DELETE,
+@@ -989,7 +989,7 @@ namespace Meta {
+               TILED_LEFT,
+               TILED_RIGHT
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_FRAME_TYPE_", 
type_id = "meta_frame_type_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = 
"META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+       public enum FrameType {
+               NORMAL,
+               DIALOG,
+@@ -1001,7 +1001,7 @@ namespace Meta {
+               LAST;
+               public unowned string to_string ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_GRAB_OP_", 
type_id = "meta_grab_op_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", 
type_id = "meta_grab_op_get_type ()")]
+       public enum GrabOp {
+               NONE,
+               WINDOW_BASE,
+@@ -1028,12 +1028,12 @@ namespace Meta {
+               KEYBOARD_RESIZING_SE,
+               KEYBOARD_RESIZING_W
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = 
"meta_inhibit_shortcuts_dialog_response_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-inhibit-shortcuts-dialog.h", 
cprefix = "META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = 
"meta_inhibit_shortcuts_dialog_response_get_type ()")]
+       public enum InhibitShortcutsDialogResponse {
+               ALLOW,
+               DENY
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
++      [CCode (cheader_filename = "meta/prefs.h", cprefix = 
"META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
+       public enum KeyBindingAction {
+               NONE,
+               WORKSPACE_1,
+@@ -1128,7 +1128,7 @@ namespace Meta {
+               ROTATE_MONITOR,
+               LAST
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
++      [CCode (cheader_filename = "meta/prefs.h", cprefix = 
"META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
+       [Flags]
+       public enum KeyBindingFlags {
+               NONE,
+@@ -1137,7 +1137,7 @@ namespace Meta {
+               IS_REVERSED,
+               NON_MASKABLE
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_LATER_", 
type_id = "meta_later_type_get_type ()")]
++      [CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", 
type_id = "meta_later_type_get_type ()")]
+       public enum LaterType {
+               RESIZE,
+               CALC_SHOWING,
+@@ -1146,25 +1146,25 @@ namespace Meta {
+               BEFORE_REDRAW,
+               IDLE
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
++      [CCode (cheader_filename = "meta/util.h", cprefix = 
"META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+       public enum LocaleDirection {
+               LTR,
+               RTL
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MAXIMIZE_", 
type_id = "meta_maximize_flags_get_type ()")]
++      [CCode (cheader_filename = "meta/window.h", cprefix = "META_MAXIMIZE_", 
type_id = "meta_maximize_flags_get_type ()")]
+       [Flags]
+       public enum MaximizeFlags {
+               HORIZONTAL,
+               VERTICAL,
+               BOTH
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MODAL_", 
type_id = "meta_modal_options_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-plugin.h", cprefix = 
"META_MODAL_", type_id = "meta_modal_options_get_type ()")]
+       [Flags]
+       public enum ModalOptions {
+               POINTER_ALREADY_GRABBED,
+               KEYBOARD_ALREADY_GRABBED
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_MONITOR_SWITCH_CONFIG_", type_id = 
"meta_monitor_switch_config_type_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-monitor-manager.h", cprefix = 
"META_MONITOR_SWITCH_CONFIG_", type_id = 
"meta_monitor_switch_config_type_get_type ()")]
+       public enum MonitorSwitchConfigType {
+               ALL_MIRROR,
+               ALL_LINEAR,
+@@ -1172,7 +1172,7 @@ namespace Meta {
+               BUILTIN,
+               UNKNOWN
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_MOTION_", 
type_id = "meta_motion_direction_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_MOTION_", 
type_id = "meta_motion_direction_get_type ()")]
+       public enum MotionDirection {
+               UP,
+               DOWN,
+@@ -1183,13 +1183,13 @@ namespace Meta {
+               DOWN_LEFT,
+               DOWN_RIGHT
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_PAD_ACTION_", 
type_id = "meta_pad_action_type_get_type ()")]
++      [CCode (cheader_filename = "meta/display.h", cprefix = 
"META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
+       public enum PadActionType {
+               BUTTON,
+               RING,
+               STRIP
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_PREF_", 
type_id = "meta_preference_get_type ()")]
++      [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", 
type_id = "meta_preference_get_type ()")]
+       public enum Preference {
+               MOUSE_BUTTON_MODS,
+               FOCUS_MODE,
+@@ -1226,27 +1226,27 @@ namespace Meta {
+               DRAG_THRESHOLD;
+               public unowned string to_string ();
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
++      [CCode (cheader_filename = "meta/meta-window-actor.h", cprefix = 
"META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
+       public enum ShadowMode {
+               AUTO,
+               FORCED_OFF,
+               FORCED_ON
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_SIDE_", 
type_id = "meta_side_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_SIDE_", 
type_id = "meta_side_get_type ()")]
+       public enum Side {
+               LEFT,
+               RIGHT,
+               TOP,
+               BOTTOM
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
++      [CCode (cheader_filename = "meta/compositor.h", cprefix = 
"META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+       public enum SizeChange {
+               MAXIMIZE,
+               UNMAXIMIZE,
+               FULLSCREEN,
+               UNFULLSCREEN
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_LAYER_", 
type_id = "meta_stack_layer_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_LAYER_", 
type_id = "meta_stack_layer_get_type ()")]
+       public enum StackLayer {
+               DESKTOP,
+               BOTTOM,
+@@ -1256,19 +1256,19 @@ namespace Meta {
+               OVERRIDE_REDIRECT,
+               LAST
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_LIST_", 
type_id = "meta_tab_list_get_type ()")]
++      [CCode (cheader_filename = "meta/display.h", cprefix = 
"META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
+       public enum TabList {
+               NORMAL,
+               DOCKS,
+               GROUP,
+               NORMAL_ALL
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_TAB_SHOW_", 
type_id = "meta_tab_show_type_get_type ()")]
++      [CCode (cheader_filename = "meta/display.h", cprefix = 
"META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+       public enum TabShowType {
+               ICON,
+               INSTANTLY
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_VIRTUAL_", 
type_id = "meta_virtual_modifier_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = "META_VIRTUAL_", 
type_id = "meta_virtual_modifier_get_type ()")]
+       [Flags]
+       public enum VirtualModifier {
+               SHIFT_MASK,
+@@ -1282,17 +1282,17 @@ namespace Meta {
+               MOD4_MASK,
+               MOD5_MASK
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
++      [CCode (cheader_filename = "meta/window.h", cprefix = 
"META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
+       public enum WindowClientType {
+               WAYLAND,
+               X11
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = 
"META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
++      [CCode (cheader_filename = "meta/common.h", cprefix = 
"META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+       public enum WindowMenuType {
+               WM,
+               APP
+       }
+-      [CCode (cheader_filename = "meta/main.h", cprefix = "META_WINDOW_", 
type_id = "meta_window_type_get_type ()")]
++      [CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_", 
type_id = "meta_window_type_get_type ()")]
+       public enum WindowType {
+               NORMAL,
+               DESKTOP,
+@@ -1311,45 +1311,45 @@ namespace Meta {
+               DND,
+               OVERRIDE_OTHER
+       }
+-      [CCode (cheader_filename = "meta/main.h", instance_pos = 2.9)]
++      [CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 
2.9)]
+       public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, 
uint watch_id);
+-      [CCode (cheader_filename = "meta/main.h", instance_pos = 4.9)]
++      [CCode (cheader_filename = "meta/prefs.h", instance_pos = 4.9)]
+       public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window 
window, [CCode (type = "ClutterKeyEvent*")] Clutter.KeyEvent? event, 
Meta.KeyBinding binding);
+-      [CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
++      [CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
+       public delegate void PrefsChangedFunc (Meta.Preference pref);
+-      [CCode (cheader_filename = "meta/main.h", instance_pos = 1.9)]
++      [CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
+       public delegate bool WindowForeachFunc (Meta.Window window);
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_CURRENT_TIME")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_CURRENT_TIME")]
+       public const int CURRENT_TIME;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_DEFAULT_ICON_NAME")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_DEFAULT_ICON_NAME")]
+       public const string DEFAULT_ICON_NAME;
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")]
++      [CCode (cheader_filename = "meta/common.h", cname = "META_ICON_HEIGHT")]
+       public const int ICON_HEIGHT;
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_WIDTH")]
++      [CCode (cheader_filename = "meta/common.h", cname = "META_ICON_WIDTH")]
+       public const int ICON_WIDTH;
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_MAJOR_VERSION")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_MAJOR_VERSION")]
+       public const int MAJOR_VERSION;
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_MICRO_VERSION")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_MICRO_VERSION")]
+       public const int MICRO_VERSION;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_MINI_ICON_HEIGHT")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_MINI_ICON_HEIGHT")]
+       public const int MINI_ICON_HEIGHT;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_MINI_ICON_WIDTH")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_MINI_ICON_WIDTH")]
+       public const int MINI_ICON_WIDTH;
+-      [CCode (cheader_filename = "meta/main.h", cname = "META_MINOR_VERSION")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_MINOR_VERSION")]
+       public const int MINOR_VERSION;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PLUGIN_API_VERSION")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_PLUGIN_API_VERSION")]
+       public const int PLUGIN_API_VERSION;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_BEFORE_REDRAW")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_PRIORITY_BEFORE_REDRAW")]
+       public const int PRIORITY_BEFORE_REDRAW;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_PREFS_NOTIFY")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_PRIORITY_PREFS_NOTIFY")]
+       public const int PRIORITY_PREFS_NOTIFY;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_REDRAW")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_PRIORITY_REDRAW")]
+       public const int PRIORITY_REDRAW;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_PRIORITY_RESIZE")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_PRIORITY_RESIZE")]
+       public const int PRIORITY_RESIZE;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_VIRTUAL_CORE_KEYBOARD_ID")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_VIRTUAL_CORE_KEYBOARD_ID")]
+       public const int VIRTUAL_CORE_KEYBOARD_ID;
+-      [CCode (cheader_filename = "meta/main.h", cname = 
"META_VIRTUAL_CORE_POINTER_ID")]
++      [CCode (cheader_filename = "meta/common.h", cname = 
"META_VIRTUAL_CORE_POINTER_ID")]
+       public const int VIRTUAL_CORE_POINTER_ID;
+       [CCode (cheader_filename = "meta/main.h")]
+       public static bool activate_session ();
+@@ -1375,6 +1375,6 @@ namespace Meta {
+       public static void set_gnome_wm_keybindings (string wm_keybindings);
+       [CCode (cheader_filename = "meta/main.h")]
+       public static void set_wm_name (string wm_name);
+-      [CCode (cheader_filename = "meta/main.h")]
++      [CCode (cheader_filename = "meta/meta-x11-display.h")]
+       public static bool x11_init_gdk_display () throws GLib.Error;
+ }
+--
+2.17.1
+

Copied: 
budgie-desktop/repos/community-testing-x86_64/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
 (from rev 380021, 
budgie-desktop/trunk/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch)
===================================================================
--- 
community-testing-x86_64/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
                            (rev 0)
+++ 
community-testing-x86_64/0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
    2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,25 @@
+Description: Check if schema is defined for volume slider changes #1544
+Author: David Mohammed <[email protected]>
+Commit: 
https://github.com/UbuntuBudgie/budgie-desktop/commit/42565ccebf0cc0da007e0127a4428b015e59fb07
+Last Update: 2018-08-25
+
+---
+ src/raven/sound.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/raven/sound.vala b/src/raven/sound.vala
+index b9a514e3..a7971b6a 100644
+--- a/src/raven/sound.vala
++++ b/src/raven/sound.vala
+@@ -421,7 +421,7 @@ namespace Budgie {
+             var vol = primary_stream.get_volume();
+             var vol_max = mixer.get_vol_max_norm();
+
+-            if (settings.get_boolean(MAX_KEY)) { // Allowing max
++            if (settings != null && settings.get_boolean(MAX_KEY)) { // 
Allowing max
+                 vol_max = mixer.get_vol_max_amplified();
+             }
+
+--
+2.17.1
+

Copied: budgie-desktop/repos/community-testing-x86_64/PKGBUILD (from rev 
380021, budgie-desktop/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD                           (rev 0)
+++ community-testing-x86_64/PKGBUILD   2018-09-12 21:19:28 UTC (rev 380022)
@@ -0,0 +1,79 @@
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=budgie-desktop
+_helper_pkgname=budgie-helper
+pkgver=10.4+123+gf2dbc215
+_helper_gitrev=3b52434b6d1cfe00c5bac1046d323813ce531a55
+pkgrel=1
+pkgdesc="Modern desktop environment from the Solus Project"
+arch=('x86_64')
+url="https://budgie-desktop.org/";
+license=('GPL' 'LGPL')
+depends=('accountsservice' 'gnome-bluetooth' 'gnome-menus' 'gnome-session' 
'gnome-themes-standard' 'libibus' 'libpeas' 'libwnck3' 'mutter')
+makedepends=('autoconf-archive' 'git' 'gobject-introspection' 'intltool' 
'meson' 'sassc' 'vala')
+optdepends=('gnome-backgrounds: Default background'
+            'gnome-control-center: System settings'
+            'gnome-screensaver: Lock screen'
+            'network-manager-applet: Network management')
+_commit=f2dbc215fdb43de88e5b0876413b4a9dc77b2153  # master
+source=("git+https://github.com/budgie-desktop/budgie-desktop.git#commit=$_commit";
+        "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git";
+       0001-Port-to-mutter-3-from-GNOME-3.30.patch
+       0002-Correct-GNOME-button-layout-schema-path.patch
+        0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
+       0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
+       0005-Point-vapi-cheaders-to-their-upstream-equiv.patch
+       0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
+        
"$_helper_pkgname-$_helper_gitrev.tar.gz::https://codeload.github.com/City-busz/$_helper_pkgname/tar.gz/$_helper_gitrev";)
+validpgpkeys=('8876CC8EDAEC52CEAB7742E778E2387015C1205F') # Ikey Doherty 
(Solus Project Founder)
+sha256sums=('SKIP'
+            'SKIP'
+            '31f9284a9cf0cb5376fbdc22d32c1d05da4c4a83e3320c5d0d11fc5a6cb3e73e'
+            '97d9b4e5f3133da36bd6e0bc2bdc30381adfdaf3b4735264b4d1fc845322ceef'
+            '0967bf0213b501755cc9b011d1bd1d2d4a0d53b7ee3c744456bee098be5732b6'
+            '25ad9407ee8b4147d726f6eb4f357bd57dcf46fa1e3ab8a67abff688c8a87192'
+            '587b5cf6f69af96e1b214c371153d202f416a12dfabd6a49f3d24e179f595a32'
+            '3025abcefa333a1aafb88f73305b7634162c4ace02e16291dc87fac2f56848fc'
+            '3a4d7dd7c95ccba4e2916adf4a14769ffe54e8f86ed302d0268cd312b2a85c0e')
+
+pkgver() {
+       cd $pkgname
+       git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+       mkdir build
+       cd $pkgname
+
+       # Various fixes for GNOME 3.30
+       patch -Np1 -i ../0001-Port-to-mutter-3-from-GNOME-3.30.patch
+       patch -Np1 -i ../0002-Correct-GNOME-button-layout-schema-path.patch
+       patch -Np1 -i 
../0003-Make-sure-vapi-workspace-def-use-real-c-header-filen.patch
+       patch -Np1 -i 
../0004-Vala-0.41.92-does-not-allow-custom-getter-default-va.patch
+       patch -Np1 -i ../0005-Point-vapi-cheaders-to-their-upstream-equiv.patch
+       patch -Np1 -i 
../0007-Check-if-schema-is-defined-for-volume-slider-changes.patch
+
+       git config --local submodule.subprojects/gvc.url 
"$srcdir/libgnome-volume-control"
+       git submodule update --init
+
+       # Provide better compatibility for GNOME
+       # https://github.com/solus-project/budgie-desktop/issues/261
+       cd "$srcdir/$_helper_pkgname-$_helper_gitrev"
+       NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+       arch-meson $pkgname build -D with-desktop-icons=none
+       ninja -C build
+
+       cd "$srcdir/$_helper_pkgname-$_helper_gitrev"
+       ./configure --prefix=/usr --sysconfdir=/etc --disable-schemas-compile 
--disable-Werror
+       make
+}
+
+package() {
+       DESTDIR="$pkgdir" ninja -C build install
+
+       cd "$srcdir/$_helper_pkgname-$_helper_gitrev"
+       make DESTDIR="$pkgdir" install
+}

Reply via email to