diff '--color=auto' -Naur wingpanel-8.0.3_orig/meson.build wingpanel-8.0.3/meson.build
--- wingpanel-8.0.3_orig/meson.build	2025-09-02 18:54:28.874492351 +0200
+++ wingpanel-8.0.3/meson.build	2025-09-02 19:04:30.454557628 +0200
@@ -36,7 +36,7 @@
 gtk_dep = dependency('gtk+-3.0', version: '>=3.10')
 gee_dep = dependency('gee-0.8')
 granite_dep = dependency('granite', version: '>=5.4.0')
-posix_dep = meson.get_compiler('vala').find_library('posix')
+posix_dep = vala.find_library('posix')
 wl_client_dep = dependency('wayland-client')
 
 subdir('protocol')
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Clutter-14-custom.vala wingpanel-8.0.3/vapi/Clutter-14-custom.vala
--- wingpanel-8.0.3_orig/vapi/Clutter-14-custom.vala	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/Clutter-14-custom.vala	2025-09-02 18:58:49.101440185 +0200
@@ -21,33 +21,4 @@
 		[CCode (cname = "clutter_color_from_string")]
 		public bool parse_string (string str);
 	}
-
-	public interface Container : GLib.Object {
-		public void add (params Clutter.Actor[] actors);
-		[CCode (cname = "clutter_container_class_find_child_property")]
-		public class unowned GLib.ParamSpec find_child_property (string property_name);
-		[CCode (cname = "clutter_container_class_list_child_properties")]
-		public class unowned GLib.ParamSpec[] list_child_properties ();
-	}
-
-	public struct Units {
-		[CCode (cname = "clutter_units_from_cm")]
-		public Units.from_cm (float cm);
-		[CCode (cname = "clutter_units_from_em")]
-		public Units.from_em (float em);
-		[CCode (cname = "clutter_units_from_em_for_font")]
-		public Units.from_em_for_font (string font_name, float em);
-		[CCode (cname = "clutter_units_from_mm")]
-		public Units.from_mm (float mm);
-		[CCode (cname = "clutter_units_from_pixels")]
-		public Units.from_pixels (int px);
-		[CCode (cname = "clutter_units_from_pt")]
-		public Units.from_pt (float pt);
-		[CCode (cname = "clutter_units_from_string")]
-		public Units.from_string (string str);
-	}
-
-	[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
-	public struct Capture {
-	}
 }
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Clutter-16.metadata wingpanel-8.0.3/vapi/Clutter-16.metadata
--- wingpanel-8.0.3_orig/vapi/Clutter-16.metadata	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Clutter-16.metadata	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,145 @@
+// Non mini-object
+ActorBox struct
+Margin struct
+PaintVolume struct
+Perspective struct
+
+*.ref unowned
+* cheader_filename="clutter/clutter.h"
+
+// Fix the few clutter-pango headers
+Text cheader_filename="clutter/clutter-pango.h"
+TextBuffer cheader_filename="clutter/clutter-pango.h"
+TextNode cheader_filename="clutter/clutter-pango.h"
+Actor
+	.get_pango_context cheader_filename="clutter/clutter-pango.h"
+	.create_pango_context cheader_filename="clutter/clutter-pango.h"
+	.create_pango_layout cheader_filename="clutter/clutter-pango.h"
+
+
+Actor
+	.apply_transform.matrix ref
+	.get_abs_allocation_vertices.verts out=false
+Event.type#method name="get_type"
+
+// ???
+Actor.has_pointer#method name="get_has_pointer"
+
+// Not all backing symbols are deprecated
+Actor.pick deprecated=false
+
+// Nullable return values
+Actor
+	.get_parent nullable
+
+// The original CType has been overridden by the annotations
+Actor
+	.allocate.box ctype="const ClutterActorBox *"
+	.get_stage ctype="ClutterActor *"
+Action.handle_event.event ctype="const ClutterEvent *"
+
+// method/virtual-method/signal don't match
+Actor
+	.event#method name="emit_event"
+	.get_paint_volume#virtual_method name="get_paint_volume_vfunc"
+	.get_paint_volume#virtual_method.volume out
+Text
+	.activate#method name="try_activate"
+	.insert_text#signal skip
+TextBuffer.get_text#virtual_method name="get_text_with_length"
+
+// Default values
+Stage.read_pixels
+	.width default=-1
+	.height default=-1
+Stage.paint_to_buffer
+    .data type="uint8[]"
+Text
+	.position_to_coords.line_height default=null
+
+// Skipped by g-i for unknown reasons
+LayoutManager
+	.create_child_meta skip=false
+
+// We can use static strings
+PaintNode
+	.set_static_name skip=false
+
+// Variadic arguments
+Backend
+	.get_cogl_context skip=false
+Interval
+	.new skip=false
+	.get_interval skip=false
+	.set_final skip=false
+	.set_initial skip=false
+	.set_interval skip=false
+LayoutManager
+	.child_get skip=false
+	.child_set skip=false
+
+// Skipped upstream for unknown reasons
+Interval.register_progress_func skip=false
+
+// struct/class confusion
+ActorBox
+	.new skip
+	.from_vertices skip
+Margin
+	.new skip
+
+// Upstream
+Event
+	.get_position.position out
+
+FrameListenerIface skip
+FrameClock.new skip
+
+// Remove for clutter-2.0
+/////////////////////////
+
+StageView.layout skip
+
+Stage
+	.paint_view.redraw_clip type="Cairo.Region"
+
+// *Event should be compact classes derived from Clutter.Event
+Event.type skip=false
+AnyEvent struct=false base_type="Clutter.Event"
+ButtonEvent struct=false base_type="Clutter.Event"
+CrossingEvent struct=false base_type="Clutter.Event"
+DeviceEvent struct=false base_type="Clutter.Event"
+IMEvent struct=false base_type="Clutter.Event"
+KeyEvent struct=false base_type="Clutter.Event"
+MotionEvent struct=false base_type="Clutter.Event"
+PadButtonEvent struct=false base_type="Clutter.Event"
+PadRingEvent struct=false base_type="Clutter.Event"
+PadStripEvent struct=false base_type="Clutter.Event"
+ProximityEvent struct=false base_type="Clutter.Event"
+ScrollEvent struct=false base_type="Clutter.Event"
+TouchEvent struct=false base_type="Clutter.Event"
+TouchpadHoldEvent struct=false base_type="Clutter.Event"
+TouchpadPinchEvent struct=false base_type="Clutter.Event"
+TouchpadSwipeEvent struct=false base_type="Clutter.Event"
+
+// Keysyms used to be CLUTTER_X instead of CLUTTER_KEY_X
+*#constant skip
+CURRENT_TIME skip=false
+PRIORITY_REDRAW skip=false
+
+// Clutter devs don't like us creating nested namespaces
+value_* name="value_(.+)" parent="Clutter.Value"
+threads_* name="threads_(.+)" parent="Clutter.Threads"
+
+// There is no way to know sealed classes before GLib 2.70
+ColorState sealed
+FrameClock sealed
+TextureContent sealed
+
+TextureContent.new_from_texture symbol_type="constructor"
+
+// Possibly keep
+KEY_* skip=false name="KEY_(.+)" type="uint" parent="Clutter.Key"
+BUTTON_* skip=false name="BUTTON_(.+)" type="uint32" parent="Clutter.Button"
+EVENT_STOP skip=false type="bool"
+EVENT_PROPAGATE skip=false type="bool"
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Cogl-16-custom.vala wingpanel-8.0.3/vapi/Cogl-16-custom.vala
--- wingpanel-8.0.3_orig/vapi/Cogl-16-custom.vala	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Cogl-16-custom.vala	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,66 @@
+namespace Cogl {
+	public struct Color {
+		[CCode (cname="cogl_color_init_from_4f")]
+		public Color.from_4f (float red, float green, float blue, float alpha);
+		[CCode (cname="cogl_color_init_from_hsl")]
+		public Color.from_hsl (float hue, float saturation, float luminance);
+		[CCode (cname = "_vala_cogl_color_from_string")]
+		public static Cogl.Color? from_string (string str) {
+			Cogl.Color color = {};
+			if (color.init_from_string (str))
+				return color;
+
+			return null;
+		}
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2 {
+		public float x;
+		public float y;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2C4 {
+		public float x;
+		public float y;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2T2 {
+		public float x;
+		public float y;
+		public float s;
+		public float t;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2T2C4 {
+		public float x;
+		public float y;
+		public float s;
+		public float t;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3 {
+		public float x;
+		public float y;
+		public float z;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3T2 {
+		public float x;
+		public float y;
+		public float z;
+		public float s;
+		public float t;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIXEL_FORMAT_", type_id = "cogl_pixel_format_get_type ()")]
+	public enum PixelFormat {
+		CAIRO_ARGB32_COMPAT;
+	}
+}
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Cogl-16.metadata wingpanel-8.0.3/vapi/Cogl-16.metadata
--- wingpanel-8.0.3_orig/vapi/Cogl-16.metadata	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Cogl-16.metadata	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,42 @@
+* cheader_filename="cogl/cogl.h"
+
+Color struct
+
+Color.equal.v1 type="Cogl.Color"
+Color.equal.v2 type="Cogl.Color"
+Color.from_string name="init_from_string"
+
+Context.free_timestamp_query.query owned
+
+Bitmap.* skip=false
+Bitmap.new_for_data.data type="owned uint8[]"
+Bitmap.get_buffer type="unowned Cogl.Buffer?"
+
+Primitive.new skip=false
+
+Texture
+  .get_data.data type="uint8[]"
+  .set_data.data type="uint8[]"
+  .set_region.data type="uint8[]"
+
+Texture2D
+  .new_from_data skip=false
+
+Texture.error_quark parent="Cogl.TextureError" name="quark"
+
+RendererError errordomain
+SystemError errordomain
+TextureError errordomain
+FramebufferError errordomain
+ScanoutError errordomain
+
+Onscreen
+  .add_frame_callback unowned
+
+A_BIT parent="Cogl.Bits" name="A"
+BGR_BIT parent="Cogl.Bits" name="BGR"
+AFIRST_BIT parent="Cogl.Bits" name="AFIRST"
+PREMULT_BIT parent="Cogl.Bits" name="PREMULT"
+DEPTH_BIT parent="Cogl.Bits" name="DEPTH"
+STENCIL_BIT parent="Cogl.Bits" name="STENCIL"
+PIXEL_FORMAT_MAX_PLANES parent = "Cogl.PixelFormat" name="MAX_PLANES"
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/libmutter-16.deps wingpanel-8.0.3/vapi/libmutter-16.deps
--- wingpanel-8.0.3_orig/vapi/libmutter-16.deps	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/libmutter-16.deps	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,7 @@
+cairo
+gdesktopenums-3.0
+gdk-3.0
+gdk-pixbuf-2.0
+gtk+-3.0
+x11
+xfixes-4.0
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/libmutter-16.vapi wingpanel-8.0.3/vapi/libmutter-16.vapi
--- wingpanel-8.0.3_orig/vapi/libmutter-16.vapi	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/libmutter-16.vapi	2025-09-02 19:00:03.644726212 +0200
@@ -0,0 +1,2040 @@
+/* libmutter.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "3.0", lower_case_cprefix = "meta_")]
+namespace Meta {
+	namespace Prefs {
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void add_listener (Meta.PrefsChangedFunc func);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool bell_is_audible ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void change_workspace_name (int i, string name);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.TitlebarAction get_action_double_click_titlebar ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.TitlebarAction get_action_middle_click_titlebar ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.TitlebarAction get_action_right_click_titlebar ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_attach_modal_dialogs ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_auto_maximize ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_auto_raise ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_auto_raise_delay ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static Meta.ButtonLayout get_button_layout ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_center_new_windows ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static uint get_check_alive_timeout ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_compositing_manager ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_cursor_size ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static unowned string get_cursor_theme ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_disable_workarounds ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_drag_threshold ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_draggable_border_width ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_dynamic_workspaces ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_edge_tiling ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_focus_change_on_pointer_rest ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.FocusMode get_focus_mode ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.FocusNewWindows get_focus_new_windows ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_force_fullscreen ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_gnome_accessibility ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_gnome_animations ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static Meta.KeyBindingAction get_keybinding_action (string name);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static string? get_keybinding_label (string name);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_mouse_button_menu ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static Clutter.ModifierType get_mouse_button_mods ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_mouse_button_resize ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static int get_num_workspaces ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_raise_on_click ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_show_fallback_app_menu ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_visual_bell ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static GDesktop.VisualBellType get_visual_bell_type ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static unowned string get_workspace_name (int i);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static bool get_workspaces_only_on_primary ();
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void remove_listener (Meta.PrefsChangedFunc func);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void set_force_fullscreen (bool whether);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void set_num_workspaces (int n_workspaces);
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public static void 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_bug")]
+		public static void bug (string format, ...);
+		[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_fatal")]
+		public static void fatal (string format, ...);
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "meta/util.h", cname = "meta_get_locale_direction")]
+		public static Meta.LocaleDirection get_locale_direction ();
+#endif
+		[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_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_remove_verbose_topic")]
+		public static void remove_verbose_topic (Meta.DebugTopic topic);
+		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_equal")]
+		public static int ulong_equal ([CCode (type = "gconstpointer")] ulong? v1, [CCode (type = "gconstpointer")] ulong? v2);
+		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_hash")]
+		public static uint ulong_hash ([CCode (type = "gconstpointer")] ulong? v);
+#if !HAS_MUTTER46
+		[CCode (cheader_filename = "meta/util.h", cname = "meta_warning")]
+		public static void warning (string format, ...);
+#endif
+	}
+	[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 ();
+#if HAS_MUTTER46
+		public void freeze_keyboard (uint32 timestamp);
+#endif
+		public Meta.BackendCapabilities get_capabilities ();
+		public unowned Meta.Context get_context ();
+		public unowned Meta.IdleMonitor get_core_idle_monitor ();
+#if HAS_MUTTER48
+		public unowned Meta.CursorTracker get_cursor_tracker ();
+#endif
+		public unowned Meta.Dnd get_dnd ();
+		public unowned Meta.MonitorManager get_monitor_manager ();
+#if HAS_MUTTER47
+		public unowned Meta.OrientationManager get_orientation_manager ();
+#endif
+		public unowned Meta.RemoteAccessController get_remote_access_controller ();
+		public unowned Meta.Settings get_settings ();
+		public unowned Clutter.Actor get_stage ();
+		public bool is_headless ();
+		public bool is_rendering_hardware_accelerated ();
+		public void lock_layout_group (uint idx);
+#if HAS_MUTTER48
+		public void renderdoc_capture ();
+#endif
+#if HAS_MUTTER46
+		public void set_keymap (string layouts, string variants, string options, string model);
+		public void unfreeze_keyboard (uint32 timestamp);
+		public void ungrab_keyboard (uint32 timestamp);
+#else
+		public void set_keymap (string layouts, string variants, string options);
+#endif
+		public Meta.BackendCapabilities capabilities { get; }
+		public Meta.Context context { get; construct; }
+		public signal void keymap_changed ();
+		public signal void keymap_layout_group_changed (uint object);
+		public signal void last_device_changed (Clutter.InputDevice object);
+		public signal void lid_is_closed_changed (bool object);
+#if HAS_MUTTER48
+		public signal void pause ();
+#endif
+		public signal void prepare_shutdown ();
+#if HAS_MUTTER48
+		public signal void resume ();
+#endif
+	}
+	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+	public sealed 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);
+#if HAS_MUTTER47
+		public void set_color (Cogl.Color color);
+#else
+		public void set_color (Clutter.Color color);
+#endif
+		public void set_file (GLib.File? file, GDesktop.BackgroundStyle style);
+#if HAS_MUTTER47
+		public void set_gradient (GDesktop.BackgroundShading shading_direction, Cogl.Color color, Cogl.Color second_color);
+#else
+		public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+#endif
+		[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 ()")]
+#if HAS_MUTTER46
+	public sealed class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public sealed class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public BackgroundActor (Meta.Display display, int monitor);
+		[NoAccessorMethod]
+		public Meta.Display meta_display { owned get; construct; }
+		[NoAccessorMethod]
+		public int monitor { get; construct; }
+	}
+	[CCode (cheader_filename = "meta/meta-background-content.h", type_id = "meta_background_content_get_type ()")]
+	public sealed class BackgroundContent : GLib.Object, Clutter.Content {
+		[CCode (has_construct_function = false, type = "ClutterContent*")]
+		public BackgroundContent (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_rounded_clip_bounds (Graphene.Rect? bounds);
+		public void set_rounded_clip_radius (float radius);
+		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 float rounded_clip_radius { get; set; }
+		[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 ()")]
+#if HAS_MUTTER46
+	public class BackgroundGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public class BackgroundGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public BackgroundGroup ();
+	}
+	[CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_get_type ()")]
+	public sealed 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 sealed 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/barrier.h", type_id = "meta_barrier_get_type ()")]
+	public class Barrier : GLib.Object, GLib.Initable {
+		[CCode (has_construct_function = false)]
+		public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions, Meta.BarrierFlags flags) throws GLib.Error;
+		public void destroy ();
+		public bool is_active ();
+		public void release (Meta.BarrierEvent event);
+		[NoAccessorMethod]
+		public Meta.Backend backend { owned get; construct; }
+		[NoAccessorMethod]
+		public Meta.BarrierDirection directions { get; construct; }
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+		public Meta.Display display { owned get; construct; }
+#endif
+		[NoAccessorMethod]
+		public Meta.BarrierFlags flags { 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/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;
+		public double dx;
+		public double dy;
+		public int event_id;
+		public bool grabbed;
+		public uint ref_count;
+		public bool released;
+		public uint32 time;
+		public double x;
+		public double y;
+	}
+	[CCode (cheader_filename = "meta/compositor.h", type_id = "meta_compositor_get_type ()")]
+	public abstract class Compositor : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Compositor ();
+#if HAS_MUTTER48
+		public void disable_unredirect ();
+		public void enable_unredirect ();
+		public unowned Meta.Backend get_backend ();
+#endif
+		public unowned Clutter.Actor get_feedback_group ();
+		public unowned Meta.Laters get_laters ();
+#if HAS_MUTTER48
+		public unowned Clutter.Stage get_stage ();
+		public unowned Clutter.Actor get_top_window_group ();
+		public unowned GLib.List<Meta.WindowActor> get_window_actors ();
+		public unowned Clutter.Actor get_window_group ();
+		public Meta.Backend backend { get; construct; }
+#else
+		[NoAccessorMethod]
+		public Meta.Backend backend { owned get; construct; }
+#endif
+		[NoAccessorMethod]
+		public Meta.Display display { owned get; construct; }
+	}
+	[CCode (cheader_filename = "meta/meta-context.h", type_id = "meta_context_get_type ()")]
+	public class Context : GLib.Object {
+		[CCode (cheader_filename = "meta/meta-context.h", cname = "meta_create_context", has_construct_function = false)]
+		public Context (string name);
+		public void add_option_entries ([CCode (array_length = false, array_null_terminated = true)] GLib.OptionEntry[] entries, string? translation_domain);
+		public void add_option_group (owned GLib.OptionGroup group);
+		public bool configure ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv) throws GLib.Error;
+		public void destroy ();
+		public unowned Meta.Backend get_backend ();
+		public Meta.CompositorType get_compositor_type ();
+#if HAS_MUTTER47
+		public unowned Meta.DebugControl get_debug_control ();
+#endif
+		public unowned Meta.Display get_display ();
+		public unowned Meta.WaylandCompositor? get_wayland_compositor ();
+		public bool is_replacing ();
+		public void notify_ready ();
+		public bool raise_rlimit_nofile () throws GLib.Error;
+		public bool restore_rlimit_nofile () throws GLib.Error;
+		public bool run_main_loop () throws GLib.Error;
+		public void set_gnome_wm_keybindings (string wm_keybindings);
+		public void set_plugin_gtype (GLib.Type plugin_gtype);
+		public void set_plugin_name (string plugin_name);
+		public bool setup () throws GLib.Error;
+		public bool start () throws GLib.Error;
+		public void terminate ();
+		public void terminate_with_error (GLib.Error error);
+		[NoAccessorMethod]
+		public string name { owned get; construct; }
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public string nick { owned get; construct; }
+#endif
+		[NoAccessorMethod]
+		public bool unsafe_mode { get; set; }
+		public signal void prepare_shutdown ();
+		public signal void started ();
+	}
+	[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 ();
+		public void get_hot (out int x, out int y);
+		public void get_pointer (out Graphene.Point coords, out Clutter.ModifierType mods);
+		public bool get_pointer_visible ();
+		public float get_scale ();
+		public unowned Cogl.Texture? get_sprite ();
+		public void set_pointer_visible (bool visible);
+		[NoAccessorMethod]
+		public Meta.Backend backend { owned get; construct; }
+		public signal void cursor_changed ();
+#if HAS_MUTTER48
+		public signal void cursor_prefs_changed ();
+#endif
+		public signal void position_invalidated ();
+		public signal void visibility_changed ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "meta/meta-debug-control.h", type_id = "meta_debug_control_get_type ()")]
+	public class DebugControl : GLib.DBusInterfaceSkeleton, GLib.DBusInterface {
+		[CCode (has_construct_function = false)]
+		protected DebugControl ();
+		public void set_exported (bool exported);
+		[NoAccessorMethod]
+		public Meta.Context context { owned get; construct; }
+		[NoAccessorMethod]
+		public bool exported { get; set; }
+	}
+#endif
+	[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 uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
+		public void clear_mouse_mode ();
+		public void close (uint32 timestamp);
+#if !HAS_MUTTER48
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")]
+		public void disable_unredirect ();
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")]
+		public void enable_unredirect ();
+#endif
+		public void focus_default_window (uint32 timestamp);
+#if !HAS_MUTTER46
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")]
+		public void focus_stage_window (uint32 timestamp);
+		public void freeze_keyboard (uint32 timestamp);
+#endif
+		public unowned Meta.Compositor get_compositor ();
+		public Clutter.ModifierType get_compositor_modifiers ();
+		public unowned Meta.Context get_context ();
+		public int get_current_monitor ();
+		public uint32 get_current_time ();
+		public uint32 get_current_time_roundtrip ();
+#if !HAS_MUTTER48
+		[CCode (cname = "meta_cursor_tracker_get_for_display")]
+		public unowned Meta.CursorTracker get_cursor_tracker ();
+#endif
+#if !HAS_MUTTER46
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_display")]
+		public unowned Clutter.Actor get_feedback_group ();
+#endif
+		public unowned Meta.Window get_focus_window ();
+		public uint get_keybinding_action (uint keycode, ulong mask);
+		public uint32 get_last_user_time ();
+		public Mtk.Rectangle get_monitor_geometry (int monitor);
+		public bool get_monitor_in_fullscreen (int monitor);
+		public int get_monitor_index_for_rect (Mtk.Rectangle rect);
+		public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
+		public float get_monitor_scale (int monitor);
+		public int get_n_monitors ();
+		public string get_pad_button_label (Clutter.InputDevice pad, int button_number);
+		public string get_pad_feature_label (Clutter.InputDevice pad, Meta.PadFeatureType feature, Meta.PadDirection direction, int feature_number);
+		public int get_primary_monitor ();
+		public unowned Meta.Selection get_selection ();
+		public void get_size (out int width, out int height);
+		public unowned Meta.SoundPlayer get_sound_player ();
+#if !HAS_MUTTER48
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_display")]
+		public unowned Clutter.Actor get_stage ();
+#endif
+		public unowned Meta.StartupNotification get_startup_notification ();
+		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);
+#if !HAS_MUTTER48
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_display")]
+		public unowned Clutter.Actor get_top_window_group ();
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")]
+		public unowned GLib.List<Meta.WindowActor> get_window_actors ();
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")]
+		public unowned Clutter.Actor get_window_group ();
+#endif
+		public unowned Meta.WorkspaceManager get_workspace_manager ();
+		public unowned Meta.X11Display get_x11_display ();
+		public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags);
+		public bool is_grabbed ();
+		public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
+		public GLib.List<weak Meta.Window> list_all_windows ();
+		public bool remove_keybinding (string name);
+		public void request_pad_osd (Clutter.InputDevice pad, bool edition_mode);
+		public void set_cursor (Meta.Cursor cursor);
+#if HAS_MUTTER46
+		public void set_input_focus (Meta.Window window, uint32 timestamp);
+#else
+		public void set_input_focus (Meta.Window window, bool focus_frame, uint32 timestamp);
+#endif
+		public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows);
+#if !HAS_MUTTER46
+		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_stage_is_focused")]
+		public bool stage_is_focused ();
+		public bool supports_extended_barriers ();
+		public void unfreeze_keyboard (uint32 timestamp);
+#endif
+		public bool ungrab_accelerator (uint action_id);
+#if !HAS_MUTTER46
+		public void ungrab_keyboard (uint32 timestamp);
+#endif
+		public void unset_input_focus (uint32 timestamp);
+		public bool xserver_time_is_before (uint32 time1, uint32 time2);
+		public Clutter.ModifierType compositor_modifiers { get; }
+		public Meta.Window focus_window { get; }
+		public signal void accelerator_activated (uint object, Clutter.InputDevice p0, uint p1);
+#if HAS_MUTTER47
+		public signal void accelerator_deactivated (uint object, Clutter.InputDevice p0, uint p1);
+#endif
+		public signal void closing ();
+		public signal void cursor_updated ();
+		[CCode (cname = "focus-window")]
+		public signal void do_focus_window (Meta.Window object, int64 p0);
+		public signal void gl_video_memory_purged ();
+		public signal void grab_op_begin (Meta.Window object, Meta.GrabOp p0);
+		public signal void grab_op_end (Meta.Window object, Meta.GrabOp p0);
+		public signal void in_fullscreen_changed ();
+		public signal bool init_xserver (GLib.Task object);
+		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, Mtk.Rectangle p0, int p1, int p2);
+		public signal bool show_restart_message (string? message);
+		public signal void showing_desktop_changed ();
+		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 window_visibility_updated ([CCode (type = "gpointer")] GLib.List<weak Meta.Window> unplaced, [CCode (type = "gpointer")] GLib.List<weak Meta.Window> should_show, [CCode (type = "gpointer")] GLib.List<weak Meta.Window> should_hide);
+		public signal void workareas_changed ();
+		public signal void x11_display_closing ();
+		public signal void x11_display_opened ();
+		public signal void x11_display_setup ();
+	}
+	[CCode (cheader_filename = "meta/meta-dnd.h", type_id = "meta_dnd_get_type ()")]
+	public sealed 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);
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "meta/types.h", has_type_id = false)]
+	[Compact]
+	public class Frame {
+	}
+#endif
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "meta/meta-x11-types.h", has_type_id = false)]
+#else
+	[CCode (cheader_filename = "meta/group.h", has_type_id = false)]
+#endif
+	[Compact]
+	public class Group {
+#if !HAS_MUTTER47
+		public int get_size ();
+		public unowned string get_startup_id ();
+#endif
+#if HAS_MUTTER47
+		[CCode (cheader_filename = "meta/meta-x11-group.h")]
+#endif
+		public GLib.SList<weak Meta.Window> list_windows ();
+#if !HAS_MUTTER47
+		public bool property_notify ([CCode (type = "XEvent*")] ref X.Event event);
+		public void update_layers ();
+#endif
+	}
+	[CCode (cheader_filename = "meta/meta-idle-monitor.h", type_id = "meta_idle_monitor_get_type ()")]
+	public sealed 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 int64 get_idletime ();
+		public void remove_watch (uint id);
+		[NoAccessorMethod]
+		public Clutter.InputDevice device { owned get; construct; }
+	}
+	[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 ();
+		public Clutter.ModifierType get_modifiers ();
+		public unowned string get_name ();
+		public bool is_builtin ();
+		public bool is_reversed ();
+		[CCode (cheader_filename = "meta/keybindings.h", cname = "meta_keybindings_set_custom_handler")]
+		public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
+	}
+	[CCode (cheader_filename = "meta/types.h", type_id = "meta_laters_get_type ()")]
+	public class Laters : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Laters ();
+		public uint add (Meta.LaterType when, owned GLib.SourceFunc func);
+		public void remove (uint later_id);
+	}
+	[CCode (cheader_filename = "meta/meta-launch-context.h", type_id = "meta_launch_context_get_type ()")]
+	public sealed class LaunchContext : GLib.AppLaunchContext {
+		[CCode (has_construct_function = false)]
+		protected LaunchContext ();
+		public void set_timestamp (uint32 timestamp);
+		public void set_workspace (Meta.Workspace workspace);
+		[NoAccessorMethod]
+		public Meta.Display display { owned get; construct; }
+		[NoAccessorMethod]
+		public uint timestamp { get; set; }
+		[NoAccessorMethod]
+		public Meta.Workspace workspace { owned get; set; }
+	}
+	[CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")]
+	public class MonitorManager : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected MonitorManager ();
+		public bool can_switch_config ();
+		public int get_display_configuration_timeout ();
+		public bool get_is_builtin_display_on ();
+		public int get_monitor_for_connector (string connector);
+		public bool get_panel_orientation_managed ();
+		public Meta.MonitorSwitchConfigType get_switch_config ();
+		public void switch_config (Meta.MonitorSwitchConfigType config_type);
+		[NoAccessorMethod]
+		public Meta.Backend backend { owned get; construct; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public string experimental_hdr { owned get; set; }
+#endif
+		[NoAccessorMethod]
+		public bool has_builtin_panel { get; }
+		[NoAccessorMethod]
+		public bool night_light_supported { get; }
+		public bool panel_orientation_managed { get; }
+		public signal void confirm_display_change ();
+		public signal void monitors_changed ();
+		public signal void monitors_changed_internal ();
+		public signal void power_save_mode_changed (Meta.PowerSaveChangeReason object);
+	}
+	[CCode (cheader_filename = "meta/meta-multi-texture.h", type_id = "meta_multi_texture_get_type ()")]
+	public class MultiTexture : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public MultiTexture (Meta.MultiTextureFormat format, owned Cogl.Texture planes, int n_planes);
+		public Meta.MultiTextureFormat get_format ();
+		public int get_height ();
+		public int get_n_planes ();
+		public unowned Cogl.Texture get_plane (int index);
+		public int get_width ();
+		public bool is_simple ();
+		[CCode (has_construct_function = false)]
+		public MultiTexture.simple (owned Cogl.Texture plane);
+		public string to_string ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "meta/meta-orientation-manager.h", type_id = "meta_orientation_manager_get_type ()")]
+	public class OrientationManager : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected OrientationManager ();
+		public Meta.Orientation get_orientation ();
+		[NoAccessorMethod]
+		public bool has_accelerometer { get; }
+		public signal void orientation_changed ();
+	}
+#endif
+	[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 void complete_display_change (bool ok);
+		[NoWrapper]
+		public virtual void confirm_display_change ();
+		[NoWrapper]
+		public virtual Meta.CloseDialog? create_close_dialog (Meta.Window window);
+		[NoWrapper]
+		public virtual Meta.InhibitShortcutsDialog create_inhibit_shortcuts_dialog (Meta.Window window);
+		[NoWrapper]
+		public virtual void destroy (Meta.WindowActor actor);
+		public void destroy_completed (Meta.WindowActor actor);
+		public unowned Meta.Display get_display ();
+#if !HAS_MUTTER48
+		public unowned Meta.PluginInfo? get_info ();
+#endif
+		[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);
+		[NoWrapper]
+		public virtual void locate_pointer ();
+		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);
+#if !HAS_MUTTER48
+		[NoWrapper]
+		public virtual unowned Meta.PluginInfo? plugin_info ();
+#endif
+		[NoWrapper]
+		public virtual void show_tile_preview (Meta.Window window, Mtk.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, Mtk.Rectangle rect);
+		[NoWrapper]
+		public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Mtk.Rectangle old_frame_rect, Mtk.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);
+#if !HAS_MUTTER46
+		[NoWrapper]
+		public virtual bool xevent_filter ([CCode (type = "XEvent*")] ref X.Event event);
+#endif
+#if HAS_MUTTER48
+		[NoWrapper]
+		public virtual bool xevent_filter (X.Event event);
+#endif
+	}
+	[CCode (cheader_filename = "meta/meta-remote-access-controller.h", type_id = "meta_remote_access_controller_get_type ()")]
+	public sealed class RemoteAccessController : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected RemoteAccessController ();
+		public void inhibit_remote_access ();
+		public void uninhibit_remote_access ();
+		public signal void new_handle (Meta.RemoteAccessHandle object);
+	}
+	[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 bool get_disable_animations ();
+		public virtual void stop ();
+		[NoAccessorMethod]
+		public bool is_recording { get; construct; }
+		public signal void stopped ();
+	}
+	[CCode (cheader_filename = "meta/meta-selection.h", type_id = "meta_selection_get_type ()")]
+	public sealed class Selection : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Selection (Meta.Display display);
+		public GLib.List<string> get_mimetypes (Meta.SelectionType selection_type);
+		public void set_owner (Meta.SelectionType selection_type, Meta.SelectionSource owner);
+		public async bool transfer_async (Meta.SelectionType selection_type, string mimetype, ssize_t size, GLib.OutputStream output, GLib.Cancellable? cancellable) throws GLib.Error;
+		public void unset_owner (Meta.SelectionType selection_type, Meta.SelectionSource owner);
+		public signal void owner_changed (uint object, Meta.SelectionSource p0);
+	}
+	[CCode (cheader_filename = "meta/meta-selection-source.h", type_id = "meta_selection_source_get_type ()")]
+	public class SelectionSource : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected SelectionSource ();
+		public virtual GLib.List<string> get_mimetypes ();
+		public bool is_active ();
+		public virtual async GLib.InputStream read_async (string mimetype, GLib.Cancellable? cancellable) throws GLib.Error;
+		public virtual signal void activated ();
+		public virtual signal void deactivated ();
+	}
+	[CCode (cheader_filename = "meta/meta-selection-source-memory.h", type_id = "meta_selection_source_memory_get_type ()")]
+	public sealed class SelectionSourceMemory : Meta.SelectionSource {
+		[CCode (has_construct_function = false, type = "MetaSelectionSource*")]
+#if HAS_MUTTER46
+		public SelectionSourceMemory (string mimetype, GLib.Bytes content) throws GLib.Error;
+#else
+		public SelectionSourceMemory (string mimetype, GLib.Bytes content);
+#endif
+	}
+	[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 ();
+	}
+#if !HAS_MUTTER47
+	[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, Mtk.Rectangle bounds);
+#if HAS_MUTTER46
+		public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Mtk.Region? clip, bool clip_strictly);
+#else
+		public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
+#endif
+		public Meta.Shadow @ref ();
+		public void unref ();
+	}
+	[CCode (cheader_filename = "meta/meta-shadow-factory.h", type_id = "meta_shadow_factory_get_type ()")]
+	public sealed 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 ();
+	}
+#endif
+	[CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = "meta_shaped_texture_get_type ()")]
+	public sealed class ShapedTexture : GLib.Object, Clutter.Content {
+		[CCode (has_construct_function = false)]
+		protected ShapedTexture ();
+		public Cairo.Surface? get_image (Mtk.Rectangle? clip);
+		public unowned Meta.MultiTexture get_texture ();
+		public void set_create_mipmaps (bool create_mipmaps);
+		public void set_mask_texture (Cogl.Texture mask_texture);
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public Clutter.Context clutter_context { owned get; construct; }
+		[NoAccessorMethod]
+		public Clutter.ColorState color_state { owned get; construct; }
+#endif
+		public signal void size_changed ();
+	}
+	[CCode (cheader_filename = "meta/meta-sound-player.h", type_id = "meta_sound_player_get_type ()")]
+	public sealed class SoundPlayer : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected SoundPlayer ();
+		public void play_from_file (GLib.File file, string description, GLib.Cancellable? cancellable = null);
+		public void play_from_theme (string name, string description, GLib.Cancellable? cancellable = null);
+	}
+	[CCode (cheader_filename = "meta/meta-stage.h", type_id = "meta_stage_get_type ()")]
+#if HAS_MUTTER46
+	public sealed class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable {
+#else
+	public sealed class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		protected Stage ();
+	}
+	[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")]
+	public sealed class StartupNotification : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected StartupNotification ();
+		public Meta.LaunchContext create_launcher ();
+		public unowned GLib.SList<Meta.StartupSequence> get_sequences ();
+		[NoAccessorMethod]
+		public Meta.Display display { owned get; construct; }
+		public signal void changed (Meta.StartupSequence object);
+	}
+	[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_sequence_get_type ()")]
+	public class StartupSequence : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected StartupSequence ();
+		public unowned string? get_application_id ();
+		public bool get_completed ();
+		public unowned string? get_icon_name ();
+		public unowned string get_id ();
+		public unowned string get_name ();
+		public uint64 get_timestamp ();
+		public unowned string? get_wmclass ();
+		public int get_workspace ();
+		public string application_id { get; construct; }
+		[NoAccessorMethod]
+		public Meta.Display display { owned get; construct; }
+		public string icon_name { get; construct; }
+		public string id { get; construct; }
+		public string name { get; construct; }
+		public uint64 timestamp { get; construct; }
+		public string wmclass { get; construct; }
+		public int workspace { get; construct; }
+		[HasEmitter]
+		public signal void complete ();
+		public signal void timeout ();
+	}
+	[CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")]
+	public sealed class WaylandClient : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public WaylandClient (Meta.Context context, GLib.SubprocessLauncher launcher) throws GLib.Error;
+		public void hide_from_window_list (Meta.Window window);
+		public void make_desktop (Meta.Window window);
+#if HAS_MUTTER46
+		public void make_dock (Meta.Window window);
+#endif
+		public bool owns_window (Meta.Window window);
+		public void show_in_window_list (Meta.Window window);
+		public GLib.Subprocess spawn (Meta.Display display, GLib.Error? error, string argv0, ...);
+		public GLib.Subprocess spawnv (Meta.Display display, [CCode (array_length = false, array_null_terminated = true)] string[] argv) throws GLib.Error;
+		public signal void client_destroyed ();
+	}
+	[CCode (cheader_filename = "meta/meta-wayland-compositor.h", type_id = "meta_wayland_compositor_get_type ()")]
+	public class WaylandCompositor : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected WaylandCompositor ();
+		public void* get_wayland_display ();
+		public signal void prepare_shutdown ();
+	}
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "meta/main.h", type_id = "meta_wayland_surface_get_type ()")]
+	public class WaylandSurface : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected WaylandSurface ();
+		public unowned Meta.Window? get_window ();
+		public Meta.Window window { get; }
+		public signal void actor_changed ();
+		public signal void configure ();
+		public signal void destroy ();
+		public signal void geometry_changed ();
+		public signal void pre_state_applied ();
+		public signal void shortcuts_inhibited ();
+		public signal void shortcuts_restored ();
+		public signal void unmapped ();
+	}
+#endif
+	[CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
+	public abstract class Window : GLib.Object, GLib.Initable {
+		[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 ();
+#if HAS_MUTTER46
+		public bool begin_grab_op (Meta.GrabOp op, Clutter.InputDevice? device, Clutter.EventSequence? sequence, uint32 timestamp, Graphene.Point? pos_hint);
+#else
+		public bool begin_grab_op (Meta.GrabOp op, Clutter.InputDevice? device, Clutter.EventSequence? sequence, uint32 timestamp);
+#endif
+		public bool can_close ();
+		public bool can_maximize ();
+		public bool can_minimize ();
+		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 Mtk.Rectangle client_rect_to_frame_rect (Mtk.Rectangle client_rect);
+#if !HAS_MUTTER46
+		public void compute_group ();
+#endif
+		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 Mtk.Rectangle frame_rect_to_client_rect (Mtk.Rectangle frame_rect);
+		public Mtk.Rectangle get_buffer_rect ();
+#if HAS_MUTTER48
+		public Mtk.Rectangle get_client_content_rect ();
+#endif
+#if !HAS_MUTTER46
+		public unowned string? get_client_machine ();
+#endif
+		public Meta.WindowClientType get_client_type ();
+		public unowned GLib.Object get_compositor_private ();
+		public unowned string get_description ();
+		public unowned Meta.Display get_display ();
+#if !HAS_MUTTER46
+		public unowned Meta.Frame get_frame ();
+#endif
+#if !HAS_MUTTER48
+#if HAS_MUTTER46
+		public unowned Mtk.Region? get_frame_bounds ();
+#else
+		public unowned Cairo.Region? get_frame_bounds ();
+#endif
+#endif
+		public Mtk.Rectangle get_frame_rect ();
+		public Meta.FrameType get_frame_type ();
+#if !HAS_MUTTER46
+		public unowned Meta.Group? get_group ();
+#endif
+		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 Mtk.Rectangle rect);
+		public uint64 get_id ();
+		public Meta.StackLayer get_layer ();
+		public Meta.MaximizeFlags get_maximized ();
+		public int get_monitor ();
+		public unowned string? get_mutter_hints ();
+#if VALA_0_56_17
+		public pid_t get_pid ();
+#else
+		public int get_pid ();
+#endif
+		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 Mtk.Rectangle get_work_area_all_monitors ();
+		public Mtk.Rectangle get_work_area_current_monitor ();
+		public Mtk.Rectangle get_work_area_for_monitor (int which_monitor);
+		public unowned Meta.Workspace get_workspace ();
+#if !HAS_MUTTER46
+		public X.Window get_xwindow ();
+		public void group_leader_changed ();
+#endif
+		public bool has_attached_dialogs ();
+		public bool has_focus ();
+		public bool has_pointer ();
+		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 ();
+#if !HAS_MUTTER47
+		public bool is_client_decorated ();
+#endif
+		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_skip_taskbar ();
+		public void kill ();
+		public bool located_on_workspace (Meta.Workspace workspace);
+		public void lower ();
+		public void lower_with_transients (uint32 timestamp);
+		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);
+#if HAS_MUTTER47
+		public Mtk.Rectangle protocol_to_stage_rect (Mtk.Rectangle protocol_rect);
+#endif
+		public void raise ();
+#if HAS_MUTTER46
+		public void raise_and_make_recent_on_workspace (Meta.Workspace workspace);
+#else
+		public void raise_and_make_recent ();
+#endif
+		public void set_compositor_private (GLib.Object priv);
+		public void set_demands_attention ();
+		public void set_icon_geometry (Mtk.Rectangle? rect);
+#if !HAS_MUTTER47
+		public void shove_titlebar_onscreen ();
+#endif
+		public bool showing_on_its_workspace ();
+#if !HAS_MUTTER46
+		public void shutdown_group ();
+#endif
+#if HAS_MUTTER47
+		public Mtk.Rectangle stage_to_protocol_rect (Mtk.Rectangle stage_rect);
+#endif
+		public void stick ();
+#if !HAS_MUTTER48
+		public bool titlebar_is_onscreen ();
+#endif
+		public void unmake_above ();
+		public void unmake_fullscreen ();
+		public void unmaximize (Meta.MaximizeFlags directions);
+		public void unminimize ();
+		public void unset_demands_attention ();
+		public void unstick ();
+#if HAS_MUTTER46
+#if HAS_MUTTER47
+		[CCode (cheader_filename = "meta/meta-x11-group.h")]
+#endif
+		public unowned Meta.Group? x11_get_group ();
+#endif
+		[NoAccessorMethod]
+		public bool above { get; }
+		[NoAccessorMethod]
+		public bool appears_focused { get; }
+		[NoAccessorMethod]
+		public bool decorated { get; }
+		[NoAccessorMethod]
+		public bool demands_attention { get; }
+		public Meta.Display display { get; construct; }
+		[NoAccessorMethod]
+		public int effect { get; construct; }
+		[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; }
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+		public Cairo.Surface icon { owned get; }
+#endif
+		[NoAccessorMethod]
+		public bool is_alive { get; }
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public bool mapped { get; }
+#endif
+		[NoAccessorMethod]
+		public bool maximized_horizontally { get; }
+		[NoAccessorMethod]
+		public bool maximized_vertically { get; }
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+		public Cairo.Surface mini_icon { owned get; }
+#endif
+		[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; }
+#if HAS_MUTTER48
+		public signal void configure (Meta.WindowConfig window_config);
+#endif
+#if !HAS_MUTTER48
+		public ulong xwindow { get; construct; }
+#endif
+		[CCode (cname = "focus")]
+		public signal void focused ();
+		public signal void highest_scale_monitor_changed ();
+		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 unmanaging ();
+		public signal void workspace_changed ();
+	}
+	[CCode (cheader_filename = "meta/meta-window-actor.h", type_id = "meta_window_actor_get_type ()")]
+#if HAS_MUTTER46
+	public abstract class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public abstract class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		protected WindowActor ();
+		public void freeze ();
+		public Cairo.Surface? get_image (Mtk.Rectangle? clip);
+		public unowned Meta.Window? get_meta_window ();
+		public unowned Meta.ShapedTexture? get_texture ();
+		public bool is_destroyed ();
+		public Clutter.Content? paint_to_content (Mtk.Rectangle? clip) throws GLib.Error;
+		public void sync_visibility ();
+		public void thaw ();
+		public Meta.Window meta_window { get; construct; }
+		public signal void damaged ();
+		public signal void effects_completed ();
+		public signal void first_frame ();
+		public signal void thawed ();
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h", type_id = "meta_window_config_get_type ()")]
+	public sealed class WindowConfig : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public WindowConfig ();
+		public bool get_is_fullscreen ();
+		public bool get_is_initial ();
+		public void get_position (int x, int y);
+		public Mtk.Rectangle? get_rect ();
+		public void get_size (int width, int height);
+		public void set_is_fullscreen (bool is_fullscreen);
+		public void set_position (int x, int y);
+		public void set_rect (Mtk.Rectangle rect);
+		public void set_size (int width, int height);
+		public bool is_fullscreen { get; set; }
+		public Mtk.Rectangle rect { owned get; set; }
+	}
+#endif
+	[CCode (cheader_filename = "meta/meta-window-group.h", type_id = "meta_window_group_get_type ()")]
+#if HAS_MUTTER46
+	public sealed class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public sealed class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		protected WindowGroup ();
+	}
+#if !HAS_MUTTER47
+	[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)]
+#if HAS_MUTTER46
+		public WindowShape (Mtk.Region region);
+#else
+		public WindowShape (Cairo.Region region);
+#endif
+		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 ();
+#if HAS_MUTTER46
+		public Mtk.Region to_region (int center_width, int center_height);
+#else
+		public Cairo.Region to_region (int center_width, int center_height);
+#endif
+		public void unref ();
+	}
+#endif
+	[CCode (cheader_filename = "meta/workspace.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 Mtk.Rectangle get_work_area_all_monitors ();
+		public Mtk.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 bool active { get; }
+		[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/meta-workspace-manager.h", type_id = "meta_workspace_manager_get_type ()")]
+	public sealed 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 ();
+#if HAS_MUTTER46
+		public int get_layout_columns ();
+		public int get_layout_rows ();
+#endif
+		public int get_n_workspaces ();
+		public unowned Meta.Workspace? get_workspace_by_index (int index);
+		public unowned GLib.List<Meta.Workspace> get_workspaces ();
+		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 void reorder_workspace (Meta.Workspace workspace, int new_index);
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+#endif
+		public int layout_columns { get; }
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+#endif
+		public int layout_rows { get; }
+		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);
+		public signal void workspaces_reordered ();
+	}
+	[CCode (cheader_filename = "meta/meta-x11-display.h", type_id = "meta_x11_display_get_type ()")]
+	public sealed class X11Display : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected X11Display ();
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_pop")]
+		public void error_trap_pop ();
+		[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_pop_with_return")]
+		public int error_trap_pop_with_return ();
+		[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_push")]
+		public void error_trap_push ();
+#endif
+		public unowned X.Display get_xdisplay ();
+		public X.Window get_xroot ();
+#if !HAS_MUTTER48
+		public unowned Meta.Group lookup_group (X.Window group_leader);
+#endif
+#if HAS_MUTTER46
+		public X.Window lookup_xwindow (Meta.Window window);
+#endif
+		public void redirect_windows (Meta.Display display);
+		public void remove_event_func (uint id);
+#if HAS_MUTTER47
+		public void set_stage_input_region ([CCode (array_length_cname = "n_rects", array_length_pos = 1.1, type = "XRectangle*")] X.Xrectangle[] rects);
+#else
+		public void set_stage_input_region (X.XserverRegion region);
+#endif
+	}
+	[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 ();
+		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/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 ();
+		[NoAccessorMethod]
+		public abstract Meta.Window window { owned get; construct; }
+		[HasEmitter]
+		public signal void response (Meta.InhibitShortcutsDialogResponse response);
+	}
+	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+	public struct ButtonLayout {
+		[CCode (array_length = false)]
+		public weak Meta.ButtonFunction left_buttons[4];
+		[CCode (array_length = false)]
+		public weak bool left_buttons_has_spacer[4];
+		[CCode (array_length = false)]
+		public weak Meta.ButtonFunction right_buttons[4];
+		[CCode (array_length = false)]
+		public weak bool right_buttons_has_spacer[4];
+	}
+	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+	public struct Edge {
+		public Mtk.Rectangle rect;
+		public Meta.Side side_type;
+		public Meta.EdgeType edge_type;
+	}
+	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
+	public struct FrameBorder {
+		public int16 left;
+		public int16 right;
+		public int16 top;
+		public int16 bottom;
+	}
+	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+	public struct FrameBorders {
+		public Meta.FrameBorder visible;
+		public Meta.FrameBorder invisible;
+		public Meta.FrameBorder total;
+		public void clear ();
+	}
+#if !HAS_MUTTER48
+	[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;
+	}
+#endif
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "meta/meta-shadow-factory.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;
+	}
+#endif
+	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+	public struct Strut {
+		public Mtk.Rectangle rect;
+		public Meta.Side side;
+	}
+	[CCode (cheader_filename = "meta/main.h", cprefix = "META_BACKEND_CAPABILITY_", type_id = "meta_backend_capabilities_get_type ()")]
+	[Flags]
+	public enum BackendCapabilities {
+		NONE,
+		BARRIERS
+	}
+	[CCode (cheader_filename = "meta/barrier.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/barrier.h", cprefix = "META_BARRIER_FLAG_", type_id = "meta_barrier_flags_get_type ()")]
+	[Flags]
+	public enum BarrierFlags {
+		NONE,
+		STICKY
+	}
+	[CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+	public enum ButtonFunction {
+		MENU,
+		MINIMIZE,
+		MAXIMIZE,
+		CLOSE,
+		LAST
+	}
+	[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/compositor.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+	public enum CompEffect {
+		CREATE,
+		UNMINIMIZE,
+		DESTROY,
+		MINIMIZE,
+		NONE
+	}
+	[CCode (cheader_filename = "meta/meta-enums.h", cprefix = "META_COMPOSITOR_TYPE_", type_id = "meta_compositor_type_get_type ()")]
+	public enum CompositorType {
+		WAYLAND,
+		X11
+	}
+	[CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
+	public enum Cursor {
+#if HAS_MUTTER48
+		INVALID,
+#endif
+		NONE,
+		DEFAULT,
+#if HAS_MUTTER48
+		CONTEXT_MENU,
+		HELP,
+		POINTER,
+		PROGRESS,
+		WAIT,
+		CELL,
+		CROSSHAIR,
+		TEXT,
+		VERTICAL_TEXT,
+		ALIAS,
+		COPY,
+		MOVE,
+		NO_DROP,
+		NOT_ALLOWED,
+		GRAB,
+		GRABBING,
+		E_RESIZE,
+		N_RESIZE,
+#else
+		NORTH_RESIZE,
+		SOUTH_RESIZE,
+		WEST_RESIZE,
+		EAST_RESIZE,
+		SE_RESIZE,
+		SW_RESIZE,
+#endif
+		NE_RESIZE,
+		NW_RESIZE,
+#if HAS_MUTTER48
+		S_RESIZE,
+		SE_RESIZE,
+		SW_RESIZE,
+		W_RESIZE,
+		EW_RESIZE,
+		NS_RESIZE,
+		NESW_RESIZE,
+		NWSE_RESIZE,
+		COL_RESIZE,
+		ROW_RESIZE,
+		ALL_SCROLL,
+		ZOOM_IN,
+		ZOOM_OUT,
+		DND_ASK,
+		ALL_RESIZE
+#else
+		MOVE_OR_RESIZE_WINDOW,
+		BUSY,
+		DND_IN_DRAG,
+		DND_MOVE,
+		DND_COPY,
+		DND_UNSUPPORTED_TARGET,
+		POINTING_HAND,
+		CROSSHAIR,
+		IBEAM,
+		BLANK,
+		LAST
+#endif
+	}
+	[CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_PAINT_", type_id = "meta_debug_paint_flag_get_type ()")]
+	[Flags]
+	public enum DebugPaintFlag {
+		NONE,
+#if HAS_MUTTER47
+		SYNC_CURSOR_PRIMARY,
+		DISABLE_DIRECT_SCANOUT,
+#endif
+		OPAQUE_REGION
+	}
+	[CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
+	[Flags]
+	public enum DebugTopic {
+		VERBOSE,
+		FOCUS,
+		WORKAREA,
+		STACK,
+		SM,
+		EVENTS,
+		WINDOW_STATE,
+		WINDOW_OPS,
+		GEOMETRY,
+		PLACEMENT,
+#if HAS_MUTTER48
+		DISPLAY,
+#else
+		PING,
+#endif
+		KEYBINDINGS,
+		SYNC,
+		STARTUP,
+		PREFS,
+#if !HAS_MUTTER48
+		GROUPS,
+		RESIZING,
+		SHAPES,
+#endif
+		EDGE_RESISTANCE,
+		DBUS,
+		INPUT,
+		WAYLAND,
+		KMS,
+		SCREEN_CAST,
+		REMOTE_DESKTOP,
+		BACKEND,
+		COLOR,
+		INPUT_EVENTS,
+		EIS,
+#if HAS_MUTTER47
+		KMS_DEADLINE,
+		SESSION_MANAGEMENT,
+#endif
+#if HAS_MUTTER48
+		X11,
+		WORKSPACES,
+#endif
+		RENDER;
+		[CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")]
+		public unowned string to_string ();
+	}
+	[CCode (cheader_filename = "meta/common.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/display.h", cprefix = "META_DISPLAY_", type_id = "meta_display_corner_get_type ()")]
+	public enum DisplayCorner {
+		TOPLEFT,
+		TOPRIGHT,
+		BOTTOMLEFT,
+		BOTTOMRIGHT
+	}
+	[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/boxes.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/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+	public enum FrameType {
+		NORMAL,
+		DIALOG,
+		MODAL_DIALOG,
+		UTILITY,
+		MENU,
+		BORDER,
+		ATTACHED,
+		LAST;
+		[CCode (cheader_filename = "meta/util.h")]
+		public unowned string to_string ();
+	}
+	[CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
+	public enum GrabOp {
+		NONE,
+		WINDOW_BASE,
+		MOVING,
+		MOVING_UNCONSTRAINED,
+		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/common.h", cprefix = "META_GRAVITY_", type_id = "meta_gravity_get_type ()")]
+	public enum Gravity {
+		NONE,
+		NORTH_WEST,
+		NORTH,
+		NORTH_EAST,
+		WEST,
+		CENTER,
+		EAST,
+		SOUTH_WEST,
+		SOUTH,
+		SOUTH_EAST,
+		STATIC;
+		[CCode (cheader_filename = "meta/util.h")]
+		public unowned string to_string ();
+	}
+	[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/prefs.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_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,
+		LOCATE_POINTER_KEY,
+		ISO_NEXT_GROUP,
+		ALWAYS_ON_TOP,
+		SWITCH_MONITOR,
+		ROTATE_MONITOR,
+		LAST
+	}
+	[CCode (cheader_filename = "meta/prefs.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,
+		IGNORE_AUTOREPEAT,
+		CUSTOM_TRIGGER,
+#if HAS_MUTTER47
+		TRIGGER_RELEASE,
+#endif
+		NO_AUTO_GRAB
+	}
+	[CCode (cheader_filename = "meta/meta-enums.h", cprefix = "META_A11Y_", type_id = "meta_keyboard_a11y_flags_get_type ()")]
+	[Flags]
+	public enum KeyboardA11yFlags {
+		KEYBOARD_ENABLED,
+		TIMEOUT_ENABLED,
+		MOUSE_KEYS_ENABLED,
+		SLOW_KEYS_ENABLED,
+		SLOW_KEYS_BEEP_PRESS,
+		SLOW_KEYS_BEEP_ACCEPT,
+		SLOW_KEYS_BEEP_REJECT,
+		BOUNCE_KEYS_ENABLED,
+		BOUNCE_KEYS_BEEP_REJECT,
+		TOGGLE_KEYS_ENABLED,
+		STICKY_KEYS_ENABLED,
+		STICKY_KEYS_TWO_KEY_OFF,
+		STICKY_KEYS_BEEP,
+		FEATURE_STATE_CHANGE_BEEP
+	}
+	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
+	public enum LaterType {
+		RESIZE,
+		CALC_SHOWING,
+		CHECK_FULLSCREEN,
+		SYNC_STACK,
+		BEFORE_REDRAW,
+		IDLE
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+	public enum LocaleDirection {
+		LTR,
+		RTL
+	}
+#endif
+	[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/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,
+		EXTERNAL,
+		BUILTIN,
+		UNKNOWN
+	}
+	[CCode (cheader_filename = "meta/common.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/meta-multi-texture-format.h", cprefix = "META_MULTI_TEXTURE_FORMAT_", type_id = "meta_multi_texture_format_get_type ()")]
+	public enum MultiTextureFormat {
+		INVALID,
+		SIMPLE,
+		YUYV,
+		NV12,
+#if HAS_MUTTER46
+		P010,
+#endif
+		YUV420
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "meta/meta-orientation-manager.h", cprefix = "META_ORIENTATION_", type_id = "meta_orientation_get_type ()")]
+	public enum Orientation {
+		UNDEFINED,
+		NORMAL,
+		BOTTOM_UP,
+		LEFT_UP,
+		RIGHT_UP;
+		public Mtk.MonitorTransform to_transform ();
+	}
+#endif
+	[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_DIRECTION_", type_id = "meta_pad_direction_get_type ()")]
+	public enum PadDirection {
+		UP,
+		DOWN,
+		CW,
+		CCW
+	}
+	[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_FEATURE_", type_id = "meta_pad_feature_type_get_type ()")]
+	public enum PadFeatureType {
+		RING,
+		STRIP
+	}
+	[CCode (cheader_filename = "meta/meta-monitor-manager.h", cprefix = "META_POWER_SAVE_CHANGE_REASON_", type_id = "meta_power_save_change_reason_get_type ()")]
+	public enum PowerSaveChangeReason {
+		MODE_CHANGE,
+		HOTPLUG
+	}
+	[CCode (cheader_filename = "meta/prefs.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,
+		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,
+		LOCATE_POINTER,
+		CHECK_ALIVE_TIMEOUT;
+		[CCode (cheader_filename = "meta/prefs.h")]
+		public unowned string to_string ();
+	}
+	[CCode (cheader_filename = "meta/meta-selection-source.h", cprefix = "META_", type_id = "meta_selection_type_get_type ()")]
+	public enum SelectionType {
+		SELECTION_PRIMARY,
+		SELECTION_CLIPBOARD,
+		SELECTION_DND,
+		N_SELECTION_TYPES
+	}
+#if !HAS_MUTTER47
+	[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
+	}
+#endif
+	[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/compositor.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+	public enum SizeChange {
+		MAXIMIZE,
+		UNMAXIMIZE,
+		FULLSCREEN,
+		MONITOR_MOVE,
+		UNFULLSCREEN
+	}
+	[CCode (cheader_filename = "meta/common.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/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/display.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+	public enum TabShowType {
+		ICON,
+		INSTANTLY
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "meta/common.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
+	}
+#endif
+	[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/compositor.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+	public enum WindowMenuType {
+		WM,
+		APP
+	}
+	[CCode (cheader_filename = "meta/window.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/meta-idle-monitor.h", instance_pos = 2.9)]
+	public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id);
+	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 4.9)]
+#if HAS_MUTTER48
+	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+#else
+	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterKeyEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+#endif
+	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
+	public delegate void PrefsChangedFunc (Meta.Preference pref);
+	[CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
+	public delegate bool WindowForeachFunc (Meta.Window window);
+	[CCode (cheader_filename = "meta/common.h", cname = "META_CURRENT_TIME")]
+	public const int CURRENT_TIME;
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h", cname = "META_N_ORIENTATIONS")]
+	public const int N_ORIENTATIONS;
+#endif
+	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
+	public const int PRIORITY_BEFORE_REDRAW;
+	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
+	public const int PRIORITY_PREFS_NOTIFY;
+	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_REDRAW")]
+	public const int PRIORITY_REDRAW;
+	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_RESIZE")]
+	public const int PRIORITY_RESIZE;
+	[CCode (cheader_filename = "meta/common.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
+	public const int VIRTUAL_CORE_KEYBOARD_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 string accelerator_name (Clutter.ModifierType accelerator_mods, uint accelerator_key);
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void add_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void add_debug_paint_flag (Meta.DebugPaintFlag flag);
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void clutter_init ();
+#endif
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void exit (Meta.ExitCode code);
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void get_clutter_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags);
+#endif
+	[CCode (cheader_filename = "meta/main.h")]
+	public static Meta.DebugPaintFlag get_debug_paint_flags ();
+	[CCode (cheader_filename = "meta/main.h")]
+	public static bool is_restart ();
+	[CCode (cheader_filename = "meta/main.h")]
+	public static bool is_topic_enabled (Meta.DebugTopic topic);
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void log (string format, ...);
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void remove_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void remove_debug_paint_flag (Meta.DebugPaintFlag flag);
+	[CCode (cheader_filename = "meta/main.h")]
+	public static void restart (string? message, Meta.Context context);
+}
+
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/libmutter.vapi wingpanel-8.0.3/vapi/libmutter.vapi
--- wingpanel-8.0.3_orig/vapi/libmutter.vapi	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/libmutter.vapi	2025-09-02 19:00:03.644726212 +0200
@@ -59,18 +59,12 @@
 		public static bool get_gnome_animations ();
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static Meta.KeyBindingAction get_keybinding_action (string name);
-#if HAS_MUTTER45
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static string? get_keybinding_label (string name);
-#endif
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static int get_mouse_button_menu ();
 		[CCode (cheader_filename = "meta/prefs.h")]
-#if HAS_MUTTER44
 		public static Clutter.ModifierType get_mouse_button_mods ();
-#else
-		public static Meta.VirtualModifier get_mouse_button_mods ();
-#endif
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static int get_mouse_button_resize ();
 		[CCode (cheader_filename = "meta/prefs.h")]
@@ -79,10 +73,6 @@
 		public static bool get_raise_on_click ();
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static bool get_show_fallback_app_menu ();
-#if !HAS_MUTTER45
-		[CCode (cheader_filename = "meta/prefs.h")]
-		public static unowned Pango.FontDescription get_titlebar_font ();
-#endif
 		[CCode (cheader_filename = "meta/prefs.h")]
 		public static bool get_visual_bell ();
 		[CCode (cheader_filename = "meta/prefs.h")]
@@ -113,36 +103,24 @@
 		[CCode (cheader_filename = "meta/util.h", cname = "meta_get_locale_direction")]
 		public static Meta.LocaleDirection get_locale_direction ();
 #endif
-#if !HAS_MUTTER43
-		[CCode (cheader_filename = "meta/util.h", cname = "meta_is_syncing")]
-		public static bool is_syncing ();
-#endif
 		[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 ();
-#if !HAS_MUTTER44
-		[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);
-#endif
 		[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_remove_verbose_topic")]
 		public static void remove_verbose_topic (Meta.DebugTopic topic);
-#if !HAS_MUTTER43
-		[CCode (cheader_filename = "meta/util.h", cname = "meta_show_dialog")]
-		public static GLib.Pid show_dialog (string type, string message, string? timeout = null, string? display = null, string? ok_text = null, string? cancel_text = null, string? icon_name = null, int transient_for = 0, GLib.SList<string>? columns = null, GLib.SList<string>? entries = null);
-#endif
 		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_equal")]
 		public static int ulong_equal ([CCode (type = "gconstpointer")] ulong? v1, [CCode (type = "gconstpointer")] ulong? v2);
 		[CCode (cheader_filename = "meta/util.h", cname = "meta_unsigned_long_hash")]
 		public static uint ulong_hash ([CCode (type = "gconstpointer")] ulong? v);
+#if !HAS_MUTTER46
 		[CCode (cheader_filename = "meta/util.h", cname = "meta_warning")]
 		public static void warning (string format, ...);
+#endif
 	}
 	[CCode (cheader_filename = "meta/meta-backend.h", type_id = "meta_backend_get_type ()")]
 	public abstract class Backend : GLib.Object, GLib.Initable {
@@ -151,15 +129,12 @@
 #if HAS_MUTTER46
 		public void freeze_keyboard (uint32 timestamp);
 #endif
-#if !HAS_MUTTER44
-		[CCode (cheader_filename = "meta/meta-backend.h", cname = "meta_get_backend")]
-		public static unowned Meta.Backend get_backend ();
-#endif
-#if HAS_MUTTER43
 		public Meta.BackendCapabilities get_capabilities ();
-#endif
 		public unowned Meta.Context get_context ();
 		public unowned Meta.IdleMonitor get_core_idle_monitor ();
+#if HAS_MUTTER48
+		public unowned Meta.CursorTracker get_cursor_tracker ();
+#endif
 		public unowned Meta.Dnd get_dnd ();
 		public unowned Meta.MonitorManager get_monitor_manager ();
 #if HAS_MUTTER47
@@ -171,6 +146,9 @@
 		public bool is_headless ();
 		public bool is_rendering_hardware_accelerated ();
 		public void lock_layout_group (uint idx);
+#if HAS_MUTTER48
+		public void renderdoc_capture ();
+#endif
 #if HAS_MUTTER46
 		public void set_keymap (string layouts, string variants, string options, string model);
 		public void unfreeze_keyboard (uint32 timestamp);
@@ -178,15 +156,19 @@
 #else
 		public void set_keymap (string layouts, string variants, string options);
 #endif
-#if HAS_MUTTER43
 		public Meta.BackendCapabilities capabilities { get; }
-#endif
 		public Meta.Context context { get; construct; }
 		public signal void keymap_changed ();
 		public signal void keymap_layout_group_changed (uint object);
 		public signal void last_device_changed (Clutter.InputDevice object);
 		public signal void lid_is_closed_changed (bool object);
+#if HAS_MUTTER48
+		public signal void pause ();
+#endif
 		public signal void prepare_shutdown ();
+#if HAS_MUTTER48
+		public signal void resume ();
+#endif
 	}
 	[CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
 	public sealed class Background : GLib.Object {
@@ -279,36 +261,22 @@
 		public void purge (GLib.File file);
 	}
 	[CCode (cheader_filename = "meta/barrier.h", type_id = "meta_barrier_get_type ()")]
-#if HAS_MUTTER43
 	public class Barrier : GLib.Object, GLib.Initable {
 		[CCode (has_construct_function = false)]
-#if HAS_MUTTER45
 		public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions, Meta.BarrierFlags flags) throws GLib.Error;
-#else
-		public Barrier (Meta.Backend backend, int x1, int y1, int x2, int y2, Meta.BarrierDirection directions) throws GLib.Error;
-#endif
-#else
-	public class Barrier : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Barrier ();
-#endif
 		public void destroy ();
 		public bool is_active ();
 		public void release (Meta.BarrierEvent event);
-#if HAS_MUTTER43
 		[NoAccessorMethod]
 		public Meta.Backend backend { owned get; construct; }
-#endif
 		[NoAccessorMethod]
 		public Meta.BarrierDirection directions { get; construct; }
 #if !HAS_MUTTER46
 		[NoAccessorMethod]
 		public Meta.Display display { owned get; construct; }
 #endif
-#if HAS_MUTTER45
 		[NoAccessorMethod]
 		public Meta.BarrierFlags flags { get; construct; }
-#endif
 		[NoAccessorMethod]
 		public int x1 { get; construct; }
 		[NoAccessorMethod]
@@ -338,36 +306,23 @@
 	public abstract class Compositor : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Compositor ();
-#if HAS_MUTTER44
-		public unowned Clutter.Actor get_feedback_group ();
-#else
-		public void add_window (Meta.Window window);
-		public void destroy ();
-		public bool filter_keybinding (Meta.KeyBinding binding);
-		public void flash_display (Meta.Display display);
+#if HAS_MUTTER48
+		public void disable_unredirect ();
+		public void enable_unredirect ();
+		public unowned Meta.Backend get_backend ();
 #endif
+		public unowned Clutter.Actor get_feedback_group ();
 		public unowned Meta.Laters get_laters ();
-#if !HAS_MUTTER44
-		public void hide_tile_preview ();
-		public void hide_window (Meta.Window window, Meta.CompEffect effect);
-		public void manage ();
-		public void queue_frame_drawn (Meta.Window window, bool no_delay_frame);
-		public void remove_window (Meta.Window window);
-		public void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
-		public void show_window (Meta.Window window, Meta.CompEffect effect);
-		public void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
-		public void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
-		public void size_change_window (Meta.Window window, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
-		public void switch_workspace (Meta.Workspace from, Meta.Workspace to, Meta.MotionDirection direction);
-		public void sync_stack (GLib.List<Meta.Window> stack);
-		public void sync_updates_frozen (Meta.Window window);
-		public void sync_window_geometry (Meta.Window window, bool did_placement);
-		public void unmanage ();
-		public void window_opacity_changed (Meta.Window window);
-		public void window_shape_changed (Meta.Window window);
-#endif
+#if HAS_MUTTER48
+		public unowned Clutter.Stage get_stage ();
+		public unowned Clutter.Actor get_top_window_group ();
+		public unowned GLib.List<Meta.WindowActor> get_window_actors ();
+		public unowned Clutter.Actor get_window_group ();
+		public Meta.Backend backend { get; construct; }
+#else
 		[NoAccessorMethod]
 		public Meta.Backend backend { owned get; construct; }
+#endif
 		[NoAccessorMethod]
 		public Meta.Display display { owned get; construct; }
 	}
@@ -385,9 +340,7 @@
 		public unowned Meta.DebugControl get_debug_control ();
 #endif
 		public unowned Meta.Display get_display ();
-#if HAS_MUTTER45
 		public unowned Meta.WaylandCompositor? get_wayland_compositor ();
-#endif
 		public bool is_replacing ();
 		public void notify_ready ();
 		public bool raise_rlimit_nofile () throws GLib.Error;
@@ -408,10 +361,8 @@
 #endif
 		[NoAccessorMethod]
 		public bool unsafe_mode { get; set; }
-#if HAS_MUTTER44
 		public signal void prepare_shutdown ();
 		public signal void started ();
-#endif
 	}
 	[CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = "meta_cursor_tracker_get_type ()")]
 	public class CursorTracker : GLib.Object {
@@ -426,6 +377,9 @@
 		[NoAccessorMethod]
 		public Meta.Backend backend { owned get; construct; }
 		public signal void cursor_changed ();
+#if HAS_MUTTER48
+		public signal void cursor_prefs_changed ();
+#endif
 		public signal void position_invalidated ();
 		public signal void visibility_changed ();
 	}
@@ -445,21 +399,14 @@
 	public class Display : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Display ();
-#if !HAS_MUTTER44
-		public void add_ignored_crossing_serial (ulong serial);
-#endif
 		public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
-#if !HAS_MUTTER44
-		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);
-#endif
 		public void clear_mouse_mode ();
 		public void close (uint32 timestamp);
+#if !HAS_MUTTER48
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_disable_unredirect_for_display")]
 		public void disable_unredirect ();
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_enable_unredirect_for_display")]
 		public void enable_unredirect ();
-#if !HAS_MUTTER44
-		public void end_grab_op (uint32 timestamp);
 #endif
 		public void focus_default_window (uint32 timestamp);
 #if !HAS_MUTTER46
@@ -473,60 +420,49 @@
 		public int get_current_monitor ();
 		public uint32 get_current_time ();
 		public uint32 get_current_time_roundtrip ();
+#if !HAS_MUTTER48
 		[CCode (cname = "meta_cursor_tracker_get_for_display")]
 		public unowned Meta.CursorTracker get_cursor_tracker ();
+#endif
 #if !HAS_MUTTER46
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_display")]
 		public unowned Clutter.Actor get_feedback_group ();
 #endif
 		public unowned Meta.Window get_focus_window ();
-#if !HAS_MUTTER44
-		public Meta.GrabOp get_grab_op ();
-#endif
 		public uint get_keybinding_action (uint keycode, ulong mask);
 		public uint32 get_last_user_time ();
-#if HAS_MUTTER45
 		public Mtk.Rectangle get_monitor_geometry (int monitor);
-#else
-		public Meta.Rectangle get_monitor_geometry (int monitor);
-#endif
 		public bool get_monitor_in_fullscreen (int monitor);
-#if HAS_MUTTER45
 		public int get_monitor_index_for_rect (Mtk.Rectangle rect);
-#else
-		public int get_monitor_index_for_rect (Meta.Rectangle rect);
-#endif
 		public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir);
 		public float get_monitor_scale (int monitor);
 		public int get_n_monitors ();
-#if HAS_MUTTER45
 		public string get_pad_button_label (Clutter.InputDevice pad, int button_number);
 		public string get_pad_feature_label (Clutter.InputDevice pad, Meta.PadFeatureType feature, Meta.PadDirection direction, int feature_number);
-#else
-		public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number);
-#endif
 		public int get_primary_monitor ();
 		public unowned Meta.Selection get_selection ();
 		public void get_size (out int width, out int height);
 		public unowned Meta.SoundPlayer get_sound_player ();
+#if !HAS_MUTTER48
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_display")]
 		public unowned Clutter.Actor get_stage ();
+#endif
 		public unowned Meta.StartupNotification get_startup_notification ();
 		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);
+#if !HAS_MUTTER48
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_display")]
 		public unowned Clutter.Actor get_top_window_group ();
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")]
 		public unowned GLib.List<Meta.WindowActor> get_window_actors ();
 		[CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")]
 		public unowned Clutter.Actor get_window_group ();
+#endif
 		public unowned Meta.WorkspaceManager get_workspace_manager ();
 		public unowned Meta.X11Display get_x11_display ();
 		public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags);
-#if HAS_MUTTER44
 		public bool is_grabbed ();
-#endif
 		public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
 		public GLib.List<weak Meta.Window> list_all_windows ();
 		public bool remove_keybinding (string name);
@@ -572,11 +508,7 @@
 		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);
-#if HAS_MUTTER45
 		public signal bool show_resize_popup (bool object, Mtk.Rectangle p0, int p1, int p2);
-#else
-		public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
-#endif
 		public signal bool show_restart_message (string? message);
 		public signal void showing_desktop_changed ();
 		public signal void window_created (Meta.Window object);
@@ -639,27 +571,17 @@
 	[Compact]
 	public class KeyBinding {
 		public uint get_mask ();
-#if HAS_MUTTER44
 		public Clutter.ModifierType get_modifiers ();
-#else
-		public Meta.VirtualModifier get_modifiers ();
-#endif
 		public unowned string get_name ();
 		public bool is_builtin ();
 		public bool is_reversed ();
 		[CCode (cheader_filename = "meta/keybindings.h", cname = "meta_keybindings_set_custom_handler")]
 		public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
 	}
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "meta/types.h", type_id = "meta_laters_get_type ()")]
 	public class Laters : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Laters ();
-#else
-	[CCode (cheader_filename = "meta/types.h", has_type_id = false)]
-	[Compact]
-	public class Laters {
-#endif
 		public uint add (Meta.LaterType when, owned GLib.SourceFunc func);
 		public void remove (uint later_id);
 	}
@@ -681,12 +603,7 @@
 		[CCode (has_construct_function = false)]
 		protected MonitorManager ();
 		public bool can_switch_config ();
-#if HAS_MUTTER44
 		public int get_display_configuration_timeout ();
-#else
-		public static unowned Meta.MonitorManager @get ();
-		public static int get_display_configuration_timeout ();
-#endif
 		public bool get_is_builtin_display_on ();
 		public int get_monitor_for_connector (string connector);
 		public bool get_panel_orientation_managed ();
@@ -694,27 +611,20 @@
 		public void switch_config (Meta.MonitorSwitchConfigType config_type);
 		[NoAccessorMethod]
 		public Meta.Backend backend { owned get; construct; }
-#if HAS_MUTTER45
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public string experimental_hdr { owned get; set; }
 #endif
 		[NoAccessorMethod]
 		public bool has_builtin_panel { get; }
-#if HAS_MUTTER43
 		[NoAccessorMethod]
 		public bool night_light_supported { get; }
-#endif
 		public bool panel_orientation_managed { get; }
 		public signal void confirm_display_change ();
 		public signal void monitors_changed ();
 		public signal void monitors_changed_internal ();
-#if HAS_MUTTER45
 		public signal void power_save_mode_changed (Meta.PowerSaveChangeReason object);
-#else
-		public signal void power_save_mode_changed ();
-#endif
 	}
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "meta/meta-multi-texture.h", type_id = "meta_multi_texture_get_type ()")]
 	public class MultiTexture : GLib.Object {
 		[CCode (has_construct_function = false)]
@@ -729,7 +639,6 @@
 		public MultiTexture.simple (owned Cogl.Texture plane);
 		public string to_string ();
 	}
-#endif
 #if HAS_MUTTER47
 	[CCode (cheader_filename = "meta/meta-orientation-manager.h", type_id = "meta_orientation_manager_get_type ()")]
 	public class OrientationManager : GLib.Object {
@@ -756,7 +665,9 @@
 		public virtual void destroy (Meta.WindowActor actor);
 		public void destroy_completed (Meta.WindowActor actor);
 		public unowned Meta.Display get_display ();
+#if !HAS_MUTTER48
 		public unowned Meta.PluginInfo? get_info ();
+#endif
 		[NoWrapper]
 		public virtual void hide_tile_preview ();
 		[NoWrapper]
@@ -774,26 +685,18 @@
 		[NoWrapper]
 		public virtual void minimize (Meta.WindowActor actor);
 		public void minimize_completed (Meta.WindowActor actor);
+#if !HAS_MUTTER48
 		[NoWrapper]
 		public virtual unowned Meta.PluginInfo? plugin_info ();
+#endif
 		[NoWrapper]
-#if HAS_MUTTER45
 		public virtual void show_tile_preview (Meta.Window window, Mtk.Rectangle tile_rect, int tile_monitor_number);
-#else
-		public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
-#endif
 		[NoWrapper]
 		public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
 		[NoWrapper]
-#if HAS_MUTTER45
 		public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Mtk.Rectangle rect);
 		[NoWrapper]
 		public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Mtk.Rectangle old_frame_rect, Mtk.Rectangle old_buffer_rect);
-#else
-		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);
-#endif
 		public void size_change_completed (Meta.WindowActor actor);
 		[NoWrapper]
 		public virtual void size_changed (Meta.WindowActor actor);
@@ -809,6 +712,10 @@
 		[NoWrapper]
 		public virtual bool xevent_filter ([CCode (type = "XEvent*")] ref X.Event event);
 #endif
+#if HAS_MUTTER48
+		[NoWrapper]
+		public virtual bool xevent_filter (X.Event event);
+#endif
 	}
 	[CCode (cheader_filename = "meta/meta-remote-access-controller.h", type_id = "meta_remote_access_controller_get_type ()")]
 	public sealed class RemoteAccessController : GLib.Object {
@@ -867,11 +774,7 @@
 	[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 {
-#if HAS_MUTTER45
 		public void get_bounds (int window_x, int window_y, int window_width, int window_height, Mtk.Rectangle bounds);
-#else
-		public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
-#endif
 #if HAS_MUTTER46
 		public void paint (Cogl.Framebuffer framebuffer, int window_x, int window_y, int window_width, int window_height, uint8 opacity, Mtk.Region? clip, bool clip_strictly);
 #else
@@ -895,13 +798,8 @@
 	public sealed class ShapedTexture : GLib.Object, Clutter.Content {
 		[CCode (has_construct_function = false)]
 		protected ShapedTexture ();
-#if HAS_MUTTER45
 		public Cairo.Surface? get_image (Mtk.Rectangle? clip);
 		public unowned Meta.MultiTexture get_texture ();
-#else
-		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
-		public unowned Cogl.Texture get_texture ();
-#endif
 		public void set_create_mipmaps (bool create_mipmaps);
 		public void set_mask_texture (Cogl.Texture mask_texture);
 #if HAS_MUTTER47
@@ -927,9 +825,6 @@
 #endif
 		[CCode (has_construct_function = false)]
 		protected Stage ();
-#if !HAS_MUTTER45
-		public signal void actors_painted ();
-#endif
 	}
 	[CCode (cheader_filename = "meta/meta-startup-notification.h", type_id = "meta_startup_notification_get_type ()")]
 	public sealed class StartupNotification : GLib.Object {
@@ -954,10 +849,8 @@
 		public unowned string? get_wmclass ();
 		public int get_workspace ();
 		public string application_id { get; construct; }
-#if HAS_MUTTER44
 		[NoAccessorMethod]
 		public Meta.Display display { owned get; construct; }
-#endif
 		public string icon_name { get; construct; }
 		public string id { get; construct; }
 		public string name { get; construct; }
@@ -968,29 +861,12 @@
 		public signal void complete ();
 		public signal void timeout ();
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "meta/theme.h", has_type_id = false)]
-	[Compact]
-	public class Theme {
-		public void free ();
-		[CCode (cheader_filename = "meta/theme.h")]
-		public static unowned Meta.Theme get_default ();
-		[CCode (cheader_filename = "meta/theme.h")]
-		public static unowned Meta.Theme @new ();
-	}
-#endif
 	[CCode (cheader_filename = "meta/meta-wayland-client.h", type_id = "meta_wayland_client_get_type ()")]
 	public sealed class WaylandClient : GLib.Object {
 		[CCode (has_construct_function = false)]
-#if HAS_MUTTER44
 		public WaylandClient (Meta.Context context, GLib.SubprocessLauncher launcher) throws GLib.Error;
-#else
-		public WaylandClient (GLib.SubprocessLauncher launcher) throws GLib.Error;
-#endif
 		public void hide_from_window_list (Meta.Window window);
-#if HAS_MUTTER45
 		public void make_desktop (Meta.Window window);
-#endif
 #if HAS_MUTTER46
 		public void make_dock (Meta.Window window);
 #endif
@@ -998,11 +874,8 @@
 		public void show_in_window_list (Meta.Window window);
 		public GLib.Subprocess spawn (Meta.Display display, GLib.Error? error, string argv0, ...);
 		public GLib.Subprocess spawnv (Meta.Display display, [CCode (array_length = false, array_null_terminated = true)] string[] argv) throws GLib.Error;
-#if HAS_MUTTER44
 		public signal void client_destroyed ();
-#endif
 	}
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "meta/meta-wayland-compositor.h", type_id = "meta_wayland_compositor_get_type ()")]
 	public class WaylandCompositor : GLib.Object {
 		[CCode (has_construct_function = false)]
@@ -1010,7 +883,6 @@
 		public void* get_wayland_display ();
 		public signal void prepare_shutdown ();
 	}
-#endif
 #if HAS_MUTTER46
 	[CCode (cheader_filename = "meta/main.h", type_id = "meta_wayland_surface_get_type ()")]
 	public class WaylandSurface : GLib.Object {
@@ -1029,11 +901,7 @@
 	}
 #endif
 	[CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
-#if HAS_MUTTER44
 	public abstract class Window : GLib.Object, GLib.Initable {
-#else
-	public abstract class Window : GLib.Object {
-#endif
 		[CCode (has_construct_function = false)]
 		protected Window ();
 		public void activate (uint32 current_time);
@@ -1042,25 +910,16 @@
 		public bool allows_resize ();
 #if HAS_MUTTER46
 		public bool begin_grab_op (Meta.GrabOp op, Clutter.InputDevice? device, Clutter.EventSequence? sequence, uint32 timestamp, Graphene.Point? pos_hint);
-#elif HAS_MUTTER44
-		public bool begin_grab_op (Meta.GrabOp op, Clutter.InputDevice? device, Clutter.EventSequence? sequence, uint32 timestamp);
 #else
-		public void begin_grab_op (Meta.GrabOp op, bool frame_action, uint32 timestamp);
+		public bool begin_grab_op (Meta.GrabOp op, Clutter.InputDevice? device, Clutter.EventSequence? sequence, uint32 timestamp);
 #endif
 		public bool can_close ();
 		public bool can_maximize ();
 		public bool can_minimize ();
-#if !HAS_MUTTER45
-		public bool can_shade ();
-#endif
 		public void change_workspace (Meta.Workspace workspace);
 		public void change_workspace_by_index (int space_index, bool append);
 		public void check_alive (uint32 timestamp);
-#if HAS_MUTTER45
 		public Mtk.Rectangle client_rect_to_frame_rect (Mtk.Rectangle client_rect);
-#else
-		public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
-#endif
 #if !HAS_MUTTER46
 		public void compute_group ();
 #endif
@@ -1069,12 +928,10 @@
 		public void focus (uint32 timestamp);
 		public void foreach_ancestor (Meta.WindowForeachFunc func);
 		public void foreach_transient (Meta.WindowForeachFunc func);
-#if HAS_MUTTER45
 		public Mtk.Rectangle frame_rect_to_client_rect (Mtk.Rectangle frame_rect);
 		public Mtk.Rectangle get_buffer_rect ();
-#else
-		public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
-		public Meta.Rectangle get_buffer_rect ();
+#if HAS_MUTTER48
+		public Mtk.Rectangle get_client_content_rect ();
 #endif
 #if !HAS_MUTTER46
 		public unowned string? get_client_machine ();
@@ -1086,16 +943,14 @@
 #if !HAS_MUTTER46
 		public unowned Meta.Frame get_frame ();
 #endif
+#if !HAS_MUTTER48
 #if HAS_MUTTER46
 		public unowned Mtk.Region? get_frame_bounds ();
 #else
 		public unowned Cairo.Region? get_frame_bounds ();
 #endif
-#if HAS_MUTTER45
-		public Mtk.Rectangle get_frame_rect ();
-#else
-		public Meta.Rectangle get_frame_rect ();
 #endif
+		public Mtk.Rectangle get_frame_rect ();
 		public Meta.FrameType get_frame_type ();
 #if !HAS_MUTTER46
 		public unowned Meta.Group? get_group ();
@@ -1107,17 +962,17 @@
 		public unowned string? get_gtk_theme_variant ();
 		public unowned string? get_gtk_unique_bus_name ();
 		public unowned string? get_gtk_window_object_path ();
-#if HAS_MUTTER45
 		public bool get_icon_geometry (out Mtk.Rectangle rect);
-#else
-		public bool get_icon_geometry (out Meta.Rectangle rect);
-#endif
 		public uint64 get_id ();
 		public Meta.StackLayer get_layer ();
 		public Meta.MaximizeFlags get_maximized ();
 		public int get_monitor ();
 		public unowned string? get_mutter_hints ();
+#if VALA_0_56_17
 		public pid_t get_pid ();
+#else
+		public int get_pid ();
+#endif
 		public unowned string get_role ();
 		public unowned string? get_sandboxed_app_id ();
 		public uint get_stable_sequence ();
@@ -1129,15 +984,9 @@
 		public Meta.WindowType get_window_type ();
 		public unowned string? get_wm_class ();
 		public unowned string? get_wm_class_instance ();
-#if HAS_MUTTER45
 		public Mtk.Rectangle get_work_area_all_monitors ();
 		public Mtk.Rectangle get_work_area_current_monitor ();
 		public Mtk.Rectangle get_work_area_for_monitor (int which_monitor);
-#else
-		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);
-#endif
 		public unowned Meta.Workspace get_workspace ();
 #if !HAS_MUTTER46
 		public X.Window get_xwindow ();
@@ -1145,9 +994,7 @@
 #endif
 		public bool has_attached_dialogs ();
 		public bool has_focus ();
-#if HAS_MUTTER45
 		public bool has_pointer ();
-#endif
 		public bool is_above ();
 		public bool is_always_on_all_workspaces ();
 		public bool is_ancestor_of_transient (Meta.Window transient);
@@ -1163,9 +1010,6 @@
 		public bool is_override_redirect ();
 		public bool is_remote ();
 		public bool is_screen_sized ();
-#if !HAS_MUTTER45
-		public bool is_shaded ();
-#endif
 		public bool is_skip_taskbar ();
 		public void kill ();
 		public bool located_on_workspace (Meta.Workspace workspace);
@@ -1184,17 +1028,12 @@
 		public void raise ();
 #if HAS_MUTTER46
 		public void raise_and_make_recent_on_workspace (Meta.Workspace workspace);
-#elif HAS_MUTTER45
+#else
 		public void raise_and_make_recent ();
 #endif
 		public void set_compositor_private (GLib.Object priv);
 		public void set_demands_attention ();
-#if HAS_MUTTER45
 		public void set_icon_geometry (Mtk.Rectangle? rect);
-#else
-		public void set_icon_geometry (Meta.Rectangle? rect);
-		public void shade (uint32 timestamp);
-#endif
 #if !HAS_MUTTER47
 		public void shove_titlebar_onscreen ();
 #endif
@@ -1206,15 +1045,14 @@
 		public Mtk.Rectangle stage_to_protocol_rect (Mtk.Rectangle stage_rect);
 #endif
 		public void stick ();
+#if !HAS_MUTTER48
 		public bool titlebar_is_onscreen ();
+#endif
 		public void unmake_above ();
 		public void unmake_fullscreen ();
 		public void unmaximize (Meta.MaximizeFlags directions);
 		public void unminimize ();
 		public void unset_demands_attention ();
-#if !HAS_MUTTER45
-		public void unshade (uint32 timestamp);
-#endif
 		public void unstick ();
 #if HAS_MUTTER46
 #if HAS_MUTTER47
@@ -1230,11 +1068,9 @@
 		public bool decorated { get; }
 		[NoAccessorMethod]
 		public bool demands_attention { get; }
-#if HAS_MUTTER44
 		public Meta.Display display { get; construct; }
 		[NoAccessorMethod]
 		public int effect { get; construct; }
-#endif
 		[NoAccessorMethod]
 		public bool fullscreen { get; }
 		public string gtk_app_menu_object_path { get; }
@@ -1276,14 +1112,15 @@
 		public uint user_time { get; }
 		public Meta.WindowType window_type { get; }
 		public string wm_class { get; }
-#if HAS_MUTTER44 && !HAS_MUTTER47
+#if HAS_MUTTER48
+		public signal void configure (Meta.WindowConfig window_config);
+#endif
+#if !HAS_MUTTER48
 		public ulong xwindow { get; construct; }
 #endif
 		[CCode (cname = "focus")]
 		public signal void focused ();
-#if HAS_MUTTER45
 		public signal void highest_scale_monitor_changed ();
-#endif
 		public signal void position_changed ();
 		public signal void raised ();
 		public signal void shown ();
@@ -1301,19 +1138,11 @@
 		[CCode (has_construct_function = false)]
 		protected WindowActor ();
 		public void freeze ();
-#if HAS_MUTTER45
 		public Cairo.Surface? get_image (Mtk.Rectangle? clip);
-#else
-		public Cairo.Surface? get_image (Cairo.RectangleInt? clip);
-#endif
 		public unowned Meta.Window? get_meta_window ();
 		public unowned Meta.ShapedTexture? get_texture ();
 		public bool is_destroyed ();
-#if HAS_MUTTER45
 		public Clutter.Content? paint_to_content (Mtk.Rectangle? clip) throws GLib.Error;
-#else
-		public Clutter.Content? paint_to_content (Meta.Rectangle? clip) throws GLib.Error;
-#endif
 		public void sync_visibility ();
 		public void thaw ();
 		public Meta.Window meta_window { get; construct; }
@@ -1322,6 +1151,24 @@
 		public signal void first_frame ();
 		public signal void thawed ();
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h", type_id = "meta_window_config_get_type ()")]
+	public sealed class WindowConfig : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public WindowConfig ();
+		public bool get_is_fullscreen ();
+		public bool get_is_initial ();
+		public void get_position (int x, int y);
+		public Mtk.Rectangle? get_rect ();
+		public void get_size (int width, int height);
+		public void set_is_fullscreen (bool is_fullscreen);
+		public void set_position (int x, int y);
+		public void set_rect (Mtk.Rectangle rect);
+		public void set_size (int width, int height);
+		public bool is_fullscreen { get; set; }
+		public Mtk.Rectangle rect { owned get; set; }
+	}
+#endif
 	[CCode (cheader_filename = "meta/meta-window-group.h", type_id = "meta_window_group_get_type ()")]
 #if HAS_MUTTER46
 	public sealed class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
@@ -1361,13 +1208,8 @@
 		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);
-#if HAS_MUTTER45
 		public Mtk.Rectangle get_work_area_all_monitors ();
 		public Mtk.Rectangle get_work_area_for_monitor (int which_monitor);
-#else
-		public Meta.Rectangle get_work_area_all_monitors ();
-		public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
-#endif
 		public int index ();
 		public GLib.List<weak Meta.Window> list_windows ();
 		public void set_builtin_struts (GLib.SList<Meta.Strut?> struts);
@@ -1417,9 +1259,6 @@
 	public sealed class X11Display : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected X11Display ();
-#if !HAS_MUTTER44
-		public void clear_stage_input_region ();
-#endif
 #if !HAS_MUTTER47
 		[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_pop")]
 		public void error_trap_pop ();
@@ -1428,42 +1267,21 @@
 		[CCode (cheader_filename = "meta/meta-x11-errors.h", cname = "meta_x11_error_trap_push")]
 		public void error_trap_push ();
 #endif
-#if !HAS_MUTTER45
-		public int get_damage_event_base ();
-		public int get_screen_number ();
-		public int get_shape_event_base ();
-#endif
 		public unowned X.Display get_xdisplay ();
-#if !HAS_MUTTER45
-		public int get_xinput_opcode ();
-#endif
 		public X.Window get_xroot ();
-#if !HAS_MUTTER45
-		public bool has_shape ();
-#endif
+#if !HAS_MUTTER48
 		public unowned Meta.Group lookup_group (X.Window group_leader);
+#endif
 #if HAS_MUTTER46
 		public X.Window lookup_xwindow (Meta.Window window);
 #endif
-#if HAS_MUTTER45
 		public void redirect_windows (Meta.Display display);
 		public void remove_event_func (uint id);
-#endif
-#if !HAS_MUTTER45
-		public void set_cm_selection ();
-#endif
 #if HAS_MUTTER47
 		public void set_stage_input_region ([CCode (array_length_cname = "n_rects", array_length_pos = 1.1, type = "XRectangle*")] X.Xrectangle[] rects);
 #else
 		public void set_stage_input_region (X.XserverRegion region);
 #endif
-#if !HAS_MUTTER44
-		[CCode (cheader_filename = "meta/meta-x11-display.h", cname = "meta_x11_init_gdk_display")]
-		public static bool x11_init_gdk_display () throws GLib.Error;
-#endif
-#if !HAS_MUTTER45
-		public bool xwindow_is_a_no_focus_window (X.Window xwindow);
-#endif
 	}
 	[CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")]
 	public interface CloseDialog : GLib.Object {
@@ -1498,15 +1316,10 @@
 	}
 	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
 	public struct Edge {
-#if HAS_MUTTER45
 		public Mtk.Rectangle rect;
-#else
-		public Meta.Rectangle rect;
-#endif
 		public Meta.Side side_type;
 		public Meta.EdgeType edge_type;
 	}
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "meta/main.h", has_type_id = false)]
 	public struct FrameBorder {
 		public int16 left;
@@ -1514,20 +1327,14 @@
 		public int16 top;
 		public int16 bottom;
 	}
-#endif
 	[CCode (cheader_filename = "meta/common.h", has_type_id = false)]
 	public struct FrameBorders {
-#if HAS_MUTTER44
 		public Meta.FrameBorder visible;
 		public Meta.FrameBorder invisible;
 		public Meta.FrameBorder total;
-#else
-		public Gtk.Border visible;
-		public Gtk.Border invisible;
-		public Gtk.Border total;
-#endif
 		public void clear ();
 	}
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
 	public struct PluginInfo {
 		public weak string name;
@@ -1536,25 +1343,6 @@
 		public weak string license;
 		public weak string description;
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "meta/boxes.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", 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);
-	}
 #endif
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
@@ -1568,21 +1356,15 @@
 #endif
 	[CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
 	public struct Strut {
-#if HAS_MUTTER45
 		public Mtk.Rectangle rect;
-#else
-		public Meta.Rectangle rect;
-#endif
 		public Meta.Side side;
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "meta/main.h", cprefix = "META_BACKEND_CAPABILITY_", type_id = "meta_backend_capabilities_get_type ()")]
 	[Flags]
 	public enum BackendCapabilities {
 		NONE,
 		BARRIERS
 	}
-#endif
 	[CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
 	[Flags]
 	public enum BarrierDirection {
@@ -1591,14 +1373,12 @@
 		NEGATIVE_X,
 		NEGATIVE_Y
 	}
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_FLAG_", type_id = "meta_barrier_flags_get_type ()")]
 	[Flags]
 	public enum BarrierFlags {
 		NONE,
 		STICKY
 	}
-#endif
 	[CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
 	public enum ButtonFunction {
 		MENU,
@@ -1627,16 +1407,57 @@
 	}
 	[CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
 	public enum Cursor {
+#if HAS_MUTTER48
+		INVALID,
+#endif
 		NONE,
 		DEFAULT,
+#if HAS_MUTTER48
+		CONTEXT_MENU,
+		HELP,
+		POINTER,
+		PROGRESS,
+		WAIT,
+		CELL,
+		CROSSHAIR,
+		TEXT,
+		VERTICAL_TEXT,
+		ALIAS,
+		COPY,
+		MOVE,
+		NO_DROP,
+		NOT_ALLOWED,
+		GRAB,
+		GRABBING,
+		E_RESIZE,
+		N_RESIZE,
+#else
 		NORTH_RESIZE,
 		SOUTH_RESIZE,
 		WEST_RESIZE,
 		EAST_RESIZE,
 		SE_RESIZE,
 		SW_RESIZE,
+#endif
 		NE_RESIZE,
 		NW_RESIZE,
+#if HAS_MUTTER48
+		S_RESIZE,
+		SE_RESIZE,
+		SW_RESIZE,
+		W_RESIZE,
+		EW_RESIZE,
+		NS_RESIZE,
+		NESW_RESIZE,
+		NWSE_RESIZE,
+		COL_RESIZE,
+		ROW_RESIZE,
+		ALL_SCROLL,
+		ZOOM_IN,
+		ZOOM_OUT,
+		DND_ASK,
+		ALL_RESIZE
+#else
 		MOVE_OR_RESIZE_WINDOW,
 		BUSY,
 		DND_IN_DRAG,
@@ -1648,6 +1469,7 @@
 		IBEAM,
 		BLANK,
 		LAST
+#endif
 	}
 	[CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_PAINT_", type_id = "meta_debug_paint_flag_get_type ()")]
 	[Flags]
@@ -1672,14 +1494,20 @@
 		WINDOW_OPS,
 		GEOMETRY,
 		PLACEMENT,
+#if HAS_MUTTER48
+		DISPLAY,
+#else
 		PING,
+#endif
 		KEYBINDINGS,
 		SYNC,
 		STARTUP,
 		PREFS,
+#if !HAS_MUTTER48
 		GROUPS,
 		RESIZING,
 		SHAPES,
+#endif
 		EDGE_RESISTANCE,
 		DBUS,
 		INPUT,
@@ -1688,17 +1516,17 @@
 		SCREEN_CAST,
 		REMOTE_DESKTOP,
 		BACKEND,
-#if HAS_MUTTER43
 		COLOR,
-#endif
-#if HAS_MUTTER45
 		INPUT_EVENTS,
 		EIS,
-#endif
 #if HAS_MUTTER47
 		KMS_DEADLINE,
 		SESSION_MANAGEMENT,
 #endif
+#if HAS_MUTTER48
+		X11,
+		WORKSPACES,
+#endif
 		RENDER;
 		[CCode (cheader_filename = "meta/util.h", cname = "meta_topic_to_string")]
 		public unowned string to_string ();
@@ -1740,28 +1568,6 @@
 		SUCCESS,
 		ERROR
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
-	[Flags]
-	public enum FrameFlags {
-		ALLOWS_DELETE,
-		ALLOWS_MENU,
-		ALLOWS_MINIMIZE,
-		ALLOWS_MAXIMIZE,
-		ALLOWS_VERTICAL_RESIZE,
-		ALLOWS_HORIZONTAL_RESIZE,
-		HAS_FOCUS,
-		SHADED,
-		STUCK,
-		MAXIMIZED,
-		ALLOWS_SHADE,
-		ALLOWS_MOVE,
-		FULLSCREEN,
-		ABOVE,
-		TILED_LEFT,
-		TILED_RIGHT
-	}
-#endif
 	[CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
 	public enum FrameType {
 		NORMAL,
@@ -1779,14 +1585,8 @@
 	public enum GrabOp {
 		NONE,
 		WINDOW_BASE,
-#if !HAS_MUTTER44
-		WAYLAND_POPUP,
-		FRAME_BUTTON,
-#endif
 		MOVING,
-#if HAS_MUTTER44
 		MOVING_UNCONSTRAINED,
-#endif
 		RESIZING_NW,
 		RESIZING_N,
 		RESIZING_NE,
@@ -1931,15 +1731,12 @@
 		IS_REVERSED,
 		NON_MASKABLE,
 		IGNORE_AUTOREPEAT,
-#if HAS_MUTTER45
 		CUSTOM_TRIGGER,
-#endif
 #if HAS_MUTTER47
 		TRIGGER_RELEASE,
 #endif
 		NO_AUTO_GRAB
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "meta/meta-enums.h", cprefix = "META_A11Y_", type_id = "meta_keyboard_a11y_flags_get_type ()")]
 	[Flags]
 	public enum KeyboardA11yFlags {
@@ -1958,7 +1755,6 @@
 		STICKY_KEYS_BEEP,
 		FEATURE_STATE_CHANGE_BEEP
 	}
-#endif
 	[CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
 	public enum LaterType {
 		RESIZE,
@@ -2001,7 +1797,6 @@
 		DOWN_LEFT,
 		DOWN_RIGHT
 	}
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "meta/meta-multi-texture-format.h", cprefix = "META_MULTI_TEXTURE_FORMAT_", type_id = "meta_multi_texture_format_get_type ()")]
 	public enum MultiTextureFormat {
 		INVALID,
@@ -2036,21 +1831,11 @@
 		RING,
 		STRIP
 	}
-#else
-	[CCode (cheader_filename = "meta/display.h", cprefix = "META_PAD_ACTION_", type_id = "meta_pad_action_type_get_type ()")]
-	public enum PadActionType {
-		BUTTON,
-		RING,
-		STRIP
-	}
-#endif
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "meta/meta-monitor-manager.h", cprefix = "META_POWER_SAVE_CHANGE_REASON_", type_id = "meta_power_save_change_reason_get_type ()")]
 	public enum PowerSaveChangeReason {
 		MODE_CHANGE,
 		HOTPLUG
 	}
-#endif
 	[CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
 	public enum Preference {
 		MOUSE_BUTTON_MODS,
@@ -2064,9 +1849,6 @@
 		AUTO_RAISE,
 		AUTO_RAISE_DELAY,
 		FOCUS_CHANGE_ON_POINTER_REST,
-#if !HAS_MUTTER45
-		TITLEBAR_FONT,
-#endif
 		NUM_WORKSPACES,
 		DYNAMIC_WORKSPACES,
 		KEYBINDINGS,
@@ -2120,9 +1902,7 @@
 		MAXIMIZE,
 		UNMAXIMIZE,
 		FULLSCREEN,
-#if HAS_MUTTER43
 		MONITOR_MOVE,
-#endif
 		UNFULLSCREEN
 	}
 	[CCode (cheader_filename = "meta/common.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
@@ -2195,13 +1975,21 @@
 	[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/prefs.h", instance_pos = 4.9)]
+#if HAS_MUTTER48
+	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+#else
 	public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, [CCode (type = "const ClutterKeyEvent*")] Clutter.KeyEvent? event, Meta.KeyBinding binding);
+#endif
 	[CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
 	public delegate void PrefsChangedFunc (Meta.Preference pref);
 	[CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
 	public delegate bool WindowForeachFunc (Meta.Window window);
 	[CCode (cheader_filename = "meta/common.h", cname = "META_CURRENT_TIME")]
 	public const int CURRENT_TIME;
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "meta/main.h", cname = "META_N_ORIENTATIONS")]
+	public const int N_ORIENTATIONS;
+#endif
 	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
 	public const int PRIORITY_BEFORE_REDRAW;
 	[CCode (cheader_filename = "meta/common.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
@@ -2214,12 +2002,12 @@
 	public const int VIRTUAL_CORE_KEYBOARD_ID;
 	[CCode (cheader_filename = "meta/common.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
 	public const int VIRTUAL_CORE_POINTER_ID;
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "meta/main.h")]
 	public static string accelerator_name (Clutter.ModifierType accelerator_mods, uint accelerator_key);
-#endif
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void add_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void add_debug_paint_flag (Meta.DebugPaintFlag flag);
 #if !HAS_MUTTER46
@@ -2228,7 +2016,7 @@
 #endif
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void exit (Meta.ExitCode code);
-#if HAS_MUTTER44
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void get_clutter_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags);
 #endif
@@ -2238,19 +2026,15 @@
 	public static bool is_restart ();
 	[CCode (cheader_filename = "meta/main.h")]
 	public static bool is_topic_enabled (Meta.DebugTopic topic);
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void log (string format, ...);
-#endif
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void remove_clutter_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
 	[CCode (cheader_filename = "meta/main.h")]
 	public static void remove_debug_paint_flag (Meta.DebugPaintFlag flag);
 	[CCode (cheader_filename = "meta/main.h")]
-#if HAS_MUTTER43
 	public static void restart (string? message, Meta.Context context);
-#else
-	public static void restart (string? message);
-#endif
 }
 
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/meson.build wingpanel-8.0.3/vapi/meson.build
--- wingpanel-8.0.3_orig/vapi/meson.build	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/meson.build	2025-09-02 19:03:13.511272899 +0200
@@ -6,219 +6,6 @@
 	'--vapidir=@0@'.format(meson.current_source_dir()),
 ]
 
-if mutter42_dep.found()
-	cogl_target = custom_target('mutter-cogl-10',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Cogl-10.gir',
-			'--library=mutter-cogl-10',
-			'--pkg=gobject-2.0',
-			'--pkg=cairo',
-			'--pkg=graphene-gobject-1.0',
-			vapigen_args,
-			files('Cogl-10-custom.vala')
-		],
-		output: 'mutter-cogl-10.vapi'
-	)
-
-	cogl_pango_target = custom_target('mutter-cogl-pango-10',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'CoglPango-10.gir',
-			'--library=mutter-cogl-pango-10',
-			'--pkg=mutter-cogl-10',
-			'--pkg=pangocairo',
-			vapigen_args
-		],
-		depends: cogl_target,
-		output: 'mutter-cogl-pango-10.vapi'
-	)
-
-	clutter_target = custom_target('mutter-clutter-10',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Clutter-10.gir',
-			'--library=mutter-clutter-10',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-10',
-			'--pkg=mutter-cogl-pango-10',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			vapigen_args,
-			files('Clutter-10-custom.vala')
-		],
-		depends: [ cogl_target, cogl_pango_target ],
-		output: 'mutter-clutter-10.vapi'
-	)
-
-	libmutter_target = custom_target('libmutter-10',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Meta-10.gir',
-			'--library=libmutter-10',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-10',
-			'--pkg=mutter-cogl-pango-10',
-			'--pkg=mutter-clutter-10',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			'--pkg=gtk+-3.0',
-			'--pkg=x11',
-			'--pkg=xfixes-4.0',
-			vapigen_args
-		],
-		depends: [ cogl_target, cogl_pango_target, clutter_target ],
-		output: 'libmutter-10.vapi'
-	)
-endif
-if mutter43_dep.found()
-	cogl_target = custom_target('mutter-cogl-11',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Cogl-11.gir',
-			'--library=mutter-cogl-11',
-			'--pkg=gobject-2.0',
-			'--pkg=gio-2.0',
-			'--pkg=cairo',
-			'--pkg=graphene-gobject-1.0',
-			vapigen_args,
-			files('Cogl-11-custom.vala')
-		],
-		output: 'mutter-cogl-11.vapi'
-	)
-
-	cogl_pango_target = custom_target('mutter-cogl-pango-11',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'CoglPango-11.gir',
-			'--library=mutter-cogl-pango-11',
-			'--pkg=mutter-cogl-11',
-			'--pkg=pangocairo',
-			'--pkg=gio-2.0',
-			'--pkg=glib-2.0',
-			vapigen_args
-		],
-		depends: cogl_target,
-		output: 'mutter-cogl-pango-11.vapi'
-	)
-
-	clutter_target = custom_target('mutter-clutter-11',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Clutter-11.gir',
-			'--library=mutter-clutter-11',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-11',
-			'--pkg=mutter-cogl-pango-11',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			vapigen_args,
-			files('Clutter-11-custom.vala')
-		],
-		depends: [ cogl_target, cogl_pango_target ],
-		output: 'mutter-clutter-11.vapi'
-	)
-
-	libmutter_target = custom_target('libmutter-11',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Meta-11.gir',
-			'--library=libmutter-11',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-11',
-			'--pkg=mutter-cogl-pango-11',
-			'--pkg=mutter-clutter-11',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			'--pkg=gtk+-3.0',
-			'--pkg=x11',
-			'--pkg=xfixes-4.0',
-			vapigen_args
-		],
-		depends: [ cogl_target, cogl_pango_target, clutter_target ],
-		output: 'libmutter-11.vapi'
-	)
-endif
-if mutter44_dep.found()
-	cogl_target = custom_target('mutter-cogl-12',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Cogl-12.gir',
-			'--library=mutter-cogl-12',
-			'--pkg=gobject-2.0',
-			'--pkg=gio-2.0',
-			'--pkg=cairo',
-			'--pkg=graphene-gobject-1.0',
-			vapigen_args,
-			files('Cogl-12-custom.vala')
-		],
-		output: 'mutter-cogl-12.vapi'
-	)
-
-	cogl_pango_target = custom_target('mutter-cogl-pango-12',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'CoglPango-12.gir',
-			'--library=mutter-cogl-pango-12',
-			'--pkg=mutter-cogl-12',
-			'--pkg=pangocairo',
-			'--pkg=gio-2.0',
-			'--pkg=glib-2.0',
-			vapigen_args
-		],
-		depends: cogl_target,
-		output: 'mutter-cogl-pango-12.vapi'
-	)
-
-	clutter_target = custom_target('mutter-clutter-12',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Clutter-12.gir',
-			'--library=mutter-clutter-12',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-12',
-			'--pkg=mutter-cogl-pango-12',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			vapigen_args,
-			files('Clutter-12-custom.vala')
-		],
-		depends: [ cogl_target, cogl_pango_target ],
-		output: 'mutter-clutter-12.vapi'
-	)
-
-	libmutter_target = custom_target('libmutter-12',
-		command: [
-			vapigen,
-			mutter_typelib_dir / 'Meta-12.gir',
-			'--library=libmutter-12',
-			'--pkg=graphene-gobject-1.0',
-			'--pkg=mutter-cogl-12',
-			'--pkg=mutter-cogl-pango-12',
-			'--pkg=mutter-clutter-12',
-			'--pkg=atk',
-			'--pkg=gio-2.0',
-			'--pkg=json-glib-1.0',
-			'--pkg=pangocairo',
-			'--pkg=gtk+-3.0',
-			'--pkg=x11',
-			'--pkg=xfixes-4.0',
-			vapigen_args
-		],
-		depends: [ cogl_target, cogl_pango_target, clutter_target ],
-		output: 'libmutter-12.vapi'
-	)
-endif
 if mutter45_dep.found()
 	mtk_target = custom_target('mutter-mtk-13',
 		command: [
@@ -328,6 +115,7 @@
 			'--pkg=gio-2.0',
 			'--pkg=cairo',
 			'--pkg=graphene-gobject-1.0',
+			'--pkg=x11',
 			vapigen_args,
 			files('Cogl-14-custom.vala')
 		],
@@ -345,6 +133,7 @@
 			'--pkg=pangocairo',
 			'--pkg=gio-2.0',
 			'--pkg=glib-2.0',
+			'--pkg=x11',
 			vapigen_args
 		],
 		depends: [mtk_target, cogl_target],
@@ -364,6 +153,7 @@
 			'--pkg=gio-2.0',
 			'--pkg=json-glib-1.0',
 			'--pkg=pangocairo',
+			'--pkg=x11',
 			vapigen_args,
 			files('Clutter-14-custom.vala')
 		],
@@ -416,6 +206,7 @@
 			'--pkg=gio-2.0',
 			'--pkg=cairo',
 			'--pkg=graphene-gobject-1.0',
+			'--pkg=x11',
 			vapigen_args,
 			files('Cogl-15-custom.vala')
 		],
@@ -433,6 +224,7 @@
 			'--pkg=pangocairo',
 			'--pkg=gio-2.0',
 			'--pkg=glib-2.0',
+			'--pkg=x11',
 			vapigen_args
 		],
 		depends: [mtk_target, cogl_target],
@@ -452,8 +244,8 @@
 			'--pkg=gio-2.0',
 			'--pkg=json-glib-1.0',
 			'--pkg=pangocairo',
+			'--pkg=x11',
 			vapigen_args,
-			files('Clutter-15-custom.vala')
 		],
 		depends: [ cogl_target, cogl_pango_target, mtk_target ],
 		output: 'mutter-clutter-15.vapi'
@@ -480,3 +272,74 @@
 		output: 'libmutter-15.vapi'
 	)
 endif
+if mutter48_dep.found()
+	mtk_target = custom_target('mutter-mtk-16',
+		command: [
+			vapigen,
+			mutter_typelib_dir / 'Mtk-16.gir',
+			'--library=mutter-mtk-16',
+			'--pkg=gobject-2.0',
+			'--pkg=gio-2.0',
+			'--pkg=cairo',
+			'--pkg=graphene-gobject-1.0',
+			vapigen_args
+		],
+		output: 'mutter-mtk-16.vapi'
+	)
+	cogl_target = custom_target('mutter-cogl-16',
+		command: [
+			vapigen,
+			mutter_typelib_dir / 'Cogl-16.gir',
+			'--library=mutter-cogl-16',
+			'--pkg=mutter-mtk-16',
+			'--pkg=gobject-2.0',
+			'--pkg=gio-2.0',
+			'--pkg=cairo',
+			'--pkg=graphene-gobject-1.0',
+			'--pkg=x11',
+			vapigen_args,
+			files('Cogl-16-custom.vala')
+		],
+		depends: mtk_target,
+		output: 'mutter-cogl-16.vapi'
+	)
+
+	clutter_target = custom_target('mutter-clutter-16',
+		command: [
+			vapigen,
+			mutter_typelib_dir / 'Clutter-16.gir',
+			'--library=mutter-clutter-16',
+			'--pkg=graphene-gobject-1.0',
+			'--pkg=mutter-mtk-16',
+			'--pkg=mutter-cogl-16',
+			'--pkg=atk',
+			'--pkg=gio-2.0',
+			'--pkg=json-glib-1.0',
+			'--pkg=pango',
+			'--pkg=x11',
+			vapigen_args,
+		],
+		depends: [ cogl_target, mtk_target ],
+		output: 'mutter-clutter-16.vapi'
+	)
+
+	libmutter_target = custom_target('libmutter-16',
+		command: [
+			vapigen,
+			mutter_typelib_dir / 'Meta-16.gir',
+			'--library=libmutter-16',
+			'--pkg=graphene-gobject-1.0',
+			'--pkg=mutter-cogl-16',
+			'--pkg=mutter-clutter-16',
+			'--pkg=atk',
+			'--pkg=gio-2.0',
+			'--pkg=json-glib-1.0',
+			'--pkg=pango',
+			'--pkg=x11',
+			'--pkg=xfixes-4.0',
+			vapigen_args
+		],
+		depends: [ cogl_target, clutter_target ],
+		output: 'libmutter-16.vapi'
+	)
+endif
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Meta-14.metadata wingpanel-8.0.3/vapi/Meta-14.metadata
--- wingpanel-8.0.3_orig/vapi/Meta-14.metadata	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/Meta-14.metadata	2025-09-02 18:58:35.171449123 +0200
@@ -168,6 +168,9 @@
 warning parent="Meta.Util" cheader_filename="meta/util.h"
 create_context parent="Meta.Context" name="new" symbol_type="constructor" cheader_filename="meta/meta-context.h"
 
+Plugin.create_close_dialog unowned=false nullable
+Plugin.create_inhibit_shortcuts_dialog unowned=false
+
 BackgroundActor sealed
 BackgroundContent sealed
 BackgroundImage sealed
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Meta-15.metadata wingpanel-8.0.3/vapi/Meta-15.metadata
--- wingpanel-8.0.3_orig/vapi/Meta-15.metadata	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Meta-15.metadata	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,189 @@
+* skip=false
+*.* skip=false
+* cheader_filename="meta/main.h"
+
+Backend cheader_filename="meta/meta-backend.h"
+Backend.gpu_added skip
+Background cheader_filename="meta/meta-background.h"
+Background.set_file.file nullable
+BackgroundContent.new symbol_type="constructor"
+BackgroundActor cheader_filename="meta/meta-background-actor.h"
+BackgroundContent cheader_filename="meta/meta-background-content.h"
+BackgroundGroup cheader_filename="meta/meta-background-group.h"
+BackgroundImage cheader_filename="meta/meta-background-image.h"
+BackgroundImageCache cheader_filename="meta/meta-background-image.h"
+Barrier cheader_filename="meta/barrier.h"
+BarrierDirection cheader_filename="meta/barrier.h"
+BarrierEvent cheader_filename="meta/barrier.h"
+BarrierFlags cheader_filename="meta/barrier.h"
+ButtonFunction cheader_filename="meta/common.h"
+ButtonLayout cheader_filename="meta/common.h"
+Compositor cheader_filename="meta/compositor.h"
+get_stage_for_display parent="Meta.Display" symbol_type="method" name="get_stage" instance_idx=0 cheader_filename="meta/compositor-mutter.h"
+get_top_window_group_for_display parent="Meta.Display" symbol_type="method" name="get_top_window_group" instance_idx=0 cheader_filename="meta/compositor-mutter.h"
+get_window_group_for_display parent="Meta.Display" symbol_type="method" name="get_window_group" instance_idx=0 cheader_filename="meta/compositor-mutter.h"
+disable_unredirect_for_display parent="Meta.Display" symbol_type="method" name="disable_unredirect" instance_idx=0 cheader_filename="meta/compositor-mutter.h"
+enable_unredirect_for_display parent="Meta.Display" symbol_type="method" name="enable_unredirect" instance_idx=0 cheader_filename="meta/compositor-mutter.h"
+
+get_window_actors parent="Meta.Display" symbol_type="method" instance_idx=0 cheader_filename="meta/compositor-mutter.h" type_arguments="Meta.WindowActor"
+
+CompEffect cheader_filename="meta/compositor.h"
+CloseDialog cheader_filename="meta/meta-close-dialog.h"
+CloseDialogResponse cheader_filename="meta/meta-close-dialog.h"
+Context cheader_filename="meta/meta-context.h"
+CompositorType cheader_filename="meta/meta-enums.h"
+Cursor cheader_filename="meta/common.h"
+CursorTracker cheader_filename="meta/meta-cursor-tracker.h"
+CursorTracker.get_for_display parent="Meta.Display" symbol_type="method" instance_idx=0 name="get_cursor_tracker"
+CursorTracker.get_pointer.mods out
+DebugControl cheader_filename="meta/meta-debug-control.h"
+DebugTopic cheader_filename="meta/util.h"
+DebugPaintFlag cheader_filename="meta/util.h"
+Direction cheader_filename="meta/common.h"
+Display cheader_filename="meta/display.h"
+Display.focus_window#signal name="do_focus_window"
+DisplayCorner cheader_filename="meta/display.h"
+DisplayDirection cheader_filename="meta/display.h"
+Dnd cheader_filename="meta/meta-dnd.h"
+EdgeType cheader_filename="meta/boxes.h"
+Edge cheader_filename="meta/boxes.h"
+FrameBorders cheader_filename="meta/common.h"
+FrameType cheader_filename="meta/common.h"
+GrabOp cheader_filename="meta/common.h"
+Gravity cheader_filename="meta/common.h"
+Group cheader_filename="meta/meta-x11-types.h"
+IdleMonitor cheader_filename="meta/meta-idle-monitor.h"
+IdleMonitorWatchFunc cheader_filename="meta/meta-idle-monitor.h"
+InhibitShortcutsDialog cheader_filename="meta/meta-inhibit-shortcuts-dialog.h"
+InhibitShortcutsDialogResponse cheader_filename="meta/meta-inhibit-shortcuts-dialog.h"
+KeyboardA11yFlags cheader_filename="meta/meta-enums.h"
+KeyBinding cheader_filename="meta/keybindings.h"
+keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler" cheader_filename="meta/keybindings.h"
+KeyBindingAction cheader_filename="meta/prefs.h"
+KeyBindingFlags cheader_filename="meta/prefs.h"
+KeyHandlerFunc cheader_filename="meta/prefs.h"
+KeyHandlerFunc.event type="Clutter.KeyEvent?"
+KeyHandlerFunc.window nullable
+LaunchContext cheader_filename="meta/meta-launch-context.h"
+Laters cheader_filename="meta/types.h"
+LaterType cheader_filename="meta/util.h"
+MaximizeFlags cheader_filename="meta/window.h"
+MultiTexture cheader_filename="meta/meta-multi-texture.h"
+MultiTextureFormat cheader_filename="meta/meta-multi-texture-format.h"
+MonitorManager cheader_filename="meta/meta-monitor-manager.h"
+MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h"
+MotionDirection cheader_filename="meta/common.h"
+Orientation cheader_filename="meta/meta-orientation-manager.h"
+OrientationManager cheader_filename="meta/meta-orientation-manager.h"
+PadDirection cheader_filename="meta/display.h"
+PadFeatureType cheader_filename="meta/display.h"
+Plugin cheader_filename="meta/meta-plugin.h"
+PluginInfo cheader_filename="meta/meta-plugin.h"
+PowerSaveChangeReason cheader_filename="meta/meta-monitor-manager.h"
+Preference cheader_filename="meta/prefs.h"
+PrefsChangedFunc cheader_filename="meta/prefs.h"
+RemoteAccessController cheader_filename="meta/meta-remote-access-controller.h"
+RemoteAccessHandle cheader_filename="meta/meta-remote-access-controller.h"
+Selection cheader_filename="meta/meta-selection.h"
+SelectionSource cheader_filename="meta/meta-selection-source.h"
+SelectionSourceMemory cheader_filename="meta/meta-selection-source-memory.h"
+SelectionType cheader_filename="meta/meta-selection-source.h"
+Settings cheader_filename="meta/meta-settings.h"
+ShapedTexture cheader_filename="meta/meta-shaped-texture.h"
+Side cheader_filename="meta/common.h"
+SizeChange cheader_filename="meta/compositor.h"
+SoundPlayer cheader_filename="meta/meta-sound-player.h"
+StartupNotification cheader_filename="meta/meta-startup-notification.h"
+StartupNotification.changed.object type="Meta.StartupSequence"
+StartupNotification.get_sequences type_arguments="Meta.StartupSequence"
+StartupSequence cheader_filename="meta/meta-startup-notification.h"
+StackLayer cheader_filename="meta/common.h"
+Stage cheader_filename="meta/meta-stage.h"
+Strut cheader_filename="meta/boxes.h"
+TabList cheader_filename="meta/display.h"
+TabShowType cheader_filename="meta/display.h"
+WaylandClient cheader_filename="meta/meta-wayland-client.h"
+WaylandCompositor cheader_filename="meta/meta-wayland-compositor.h"
+Workspace cheader_filename="meta/workspace.h"
+WorkspaceManager cheader_filename="meta/meta-workspace-manager.h"
+Window cheader_filename="meta/window.h"
+Window.focus#signal name="focused"
+Window.suspend_state skip
+Window.main_monitor skip
+WindowActor cheader_filename="meta/meta-window-actor.h"
+WindowClientType cheader_filename="meta/window.h"
+WindowForeachFunc cheader_filename="meta/window.h"
+WindowGroup cheader_filename="meta/meta-window-group.h"
+WindowMenuType cheader_filename="meta/compositor.h"
+WindowType cheader_filename="meta/window.h"
+X11Display cheader_filename="meta/meta-x11-display.h"
+X11Display.add_event_func skip
+X11DisplayEventFunc skip
+X11Display.set_stage_input_region.rects type="X.Xrectangle[]" array_length_idx=1
+
+WaylandSurface.scanout_candidate skip
+WaylandSurface.main_monitor skip
+
+// As per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2287
+MonitorManager.monitor_privacy_screen_changed skip
+
+prefs_* parent="Meta.Prefs" name="prefs_(.+)" cheader_filename="meta/prefs.h"
+
+g_utf8_strndup skip
+
+preference_to_string cheader_filename="meta/prefs.h"
+frame_type_to_string cheader_filename="meta/util.h"
+topic_to_string parent="Meta.DebugTopic" name="to_string" cheader_filename="meta/util.h"
+
+CURRENT_TIME cheader_filename="meta/common.h"
+PRIORITY_RESIZE cheader_filename="meta/common.h"
+PRIORITY_BEFORE_REDRAW cheader_filename="meta/common.h"
+PRIORITY_REDRAW cheader_filename="meta/common.h"
+PRIORITY_PREFS_NOTIFY cheader_filename="meta/common.h"
+VIRTUAL_CORE_POINTER_ID cheader_filename="meta/common.h"
+VIRTUAL_CORE_KEYBOARD_ID cheader_filename="meta/common.h"
+
+Display.window_visibility_updated
+	.object name="unplaced" type="GLib.List<unowned Meta.Window>"
+	.p0 name="should_show" type="GLib.List<unowned Meta.Window>"
+	.p1 name="should_hide" type="GLib.List<unowned Meta.Window>"
+
+add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+bug parent="Meta.Util" cheader_filename="meta/util.h"
+external_binding_name_for_action parent="Meta.Util" cheader_filename="meta/util.h"
+fatal 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"
+pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+unsigned_long_equal parent="Meta.Util" name="ulong_equal" cheader_filename="meta/util.h"
+unsigned_long_equal.v1 type="ulong?"
+unsigned_long_equal.v2 type="ulong?"
+unsigned_long_hash parent="Meta.Util" name="ulong_hash" cheader_filename="meta/util.h"
+unsigned_long_hash.v type="ulong?"
+warning parent="Meta.Util" cheader_filename="meta/util.h"
+create_context parent="Meta.Context" name="new" symbol_type="constructor" cheader_filename="meta/meta-context.h"
+
+Plugin.create_close_dialog unowned=false nullable
+Plugin.create_inhibit_shortcuts_dialog unowned=false
+
+BackgroundActor sealed
+BackgroundContent sealed
+BackgroundImage sealed
+BackgroundImageCache sealed
+Background sealed
+Dnd sealed
+IdleMonitor sealed
+LaunchContext sealed
+RemoteAccessController sealed
+SelectionSourceMemory sealed
+Selection sealed
+ShapedTexture sealed
+SoundPlayer sealed
+Stage sealed
+StartupNotification sealed
+WaylandClient sealed
+WindowGroup sealed
+WorkspaceManager sealed
+X11Display sealed
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Meta-16.metadata wingpanel-8.0.3/vapi/Meta-16.metadata
--- wingpanel-8.0.3_orig/vapi/Meta-16.metadata	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Meta-16.metadata	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,180 @@
+* skip=false
+*.* skip=false
+* cheader_filename="meta/main.h"
+
+Backend cheader_filename="meta/meta-backend.h"
+Backend.gpu_added skip
+Background cheader_filename="meta/meta-background.h"
+Background.set_file.file nullable
+BackgroundContent.new symbol_type="constructor"
+BackgroundActor cheader_filename="meta/meta-background-actor.h"
+BackgroundContent cheader_filename="meta/meta-background-content.h"
+BackgroundGroup cheader_filename="meta/meta-background-group.h"
+BackgroundImage cheader_filename="meta/meta-background-image.h"
+BackgroundImageCache cheader_filename="meta/meta-background-image.h"
+Barrier cheader_filename="meta/barrier.h"
+BarrierDirection cheader_filename="meta/barrier.h"
+BarrierEvent cheader_filename="meta/barrier.h"
+BarrierFlags cheader_filename="meta/barrier.h"
+ButtonFunction cheader_filename="meta/common.h"
+ButtonLayout cheader_filename="meta/common.h"
+Compositor cheader_filename="meta/compositor.h"
+CompEffect cheader_filename="meta/compositor.h"
+CloseDialog cheader_filename="meta/meta-close-dialog.h"
+CloseDialogResponse cheader_filename="meta/meta-close-dialog.h"
+Context cheader_filename="meta/meta-context.h"
+CompositorType cheader_filename="meta/meta-enums.h"
+Cursor cheader_filename="meta/common.h"
+CursorTracker cheader_filename="meta/meta-cursor-tracker.h"
+CursorTracker.get_pointer.mods out
+DebugControl cheader_filename="meta/meta-debug-control.h"
+DebugTopic cheader_filename="meta/util.h"
+DebugPaintFlag cheader_filename="meta/util.h"
+Direction cheader_filename="meta/common.h"
+Display cheader_filename="meta/display.h"
+Display.focus_window#signal name="do_focus_window"
+DisplayCorner cheader_filename="meta/display.h"
+DisplayDirection cheader_filename="meta/display.h"
+Dnd cheader_filename="meta/meta-dnd.h"
+EdgeType cheader_filename="meta/boxes.h"
+Edge cheader_filename="meta/boxes.h"
+FrameBorders cheader_filename="meta/common.h"
+FrameType cheader_filename="meta/common.h"
+GrabOp cheader_filename="meta/common.h"
+Gravity cheader_filename="meta/common.h"
+Group cheader_filename="meta/meta-x11-types.h"
+IdleMonitor cheader_filename="meta/meta-idle-monitor.h"
+IdleMonitorWatchFunc cheader_filename="meta/meta-idle-monitor.h"
+InhibitShortcutsDialog cheader_filename="meta/meta-inhibit-shortcuts-dialog.h"
+InhibitShortcutsDialogResponse cheader_filename="meta/meta-inhibit-shortcuts-dialog.h"
+KeyboardA11yFlags cheader_filename="meta/meta-enums.h"
+KeyBinding cheader_filename="meta/keybindings.h"
+keybindings_set_custom_handler parent="Meta.KeyBinding" name="set_custom_handler" cheader_filename="meta/keybindings.h"
+KeyBindingAction cheader_filename="meta/prefs.h"
+KeyBindingFlags cheader_filename="meta/prefs.h"
+KeyHandlerFunc cheader_filename="meta/prefs.h"
+KeyHandlerFunc.event type="Clutter.KeyEvent?"
+KeyHandlerFunc.window nullable
+LaunchContext cheader_filename="meta/meta-launch-context.h"
+Laters cheader_filename="meta/types.h"
+LaterType cheader_filename="meta/util.h"
+MaximizeFlags cheader_filename="meta/window.h"
+MultiTexture cheader_filename="meta/meta-multi-texture.h"
+MultiTextureFormat cheader_filename="meta/meta-multi-texture-format.h"
+MonitorManager cheader_filename="meta/meta-monitor-manager.h"
+MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h"
+MotionDirection cheader_filename="meta/common.h"
+Orientation cheader_filename="meta/meta-orientation-manager.h"
+OrientationManager cheader_filename="meta/meta-orientation-manager.h"
+PadDirection cheader_filename="meta/display.h"
+PadFeatureType cheader_filename="meta/display.h"
+Plugin cheader_filename="meta/meta-plugin.h"
+PowerSaveChangeReason cheader_filename="meta/meta-monitor-manager.h"
+Preference cheader_filename="meta/prefs.h"
+PrefsChangedFunc cheader_filename="meta/prefs.h"
+RemoteAccessController cheader_filename="meta/meta-remote-access-controller.h"
+RemoteAccessHandle cheader_filename="meta/meta-remote-access-controller.h"
+Selection cheader_filename="meta/meta-selection.h"
+SelectionSource cheader_filename="meta/meta-selection-source.h"
+SelectionSourceMemory cheader_filename="meta/meta-selection-source-memory.h"
+SelectionType cheader_filename="meta/meta-selection-source.h"
+Settings cheader_filename="meta/meta-settings.h"
+ShapedTexture cheader_filename="meta/meta-shaped-texture.h"
+Side cheader_filename="meta/common.h"
+SizeChange cheader_filename="meta/compositor.h"
+SoundPlayer cheader_filename="meta/meta-sound-player.h"
+StartupNotification cheader_filename="meta/meta-startup-notification.h"
+StartupNotification.changed.object type="Meta.StartupSequence"
+StartupNotification.get_sequences type_arguments="Meta.StartupSequence"
+StartupSequence cheader_filename="meta/meta-startup-notification.h"
+StackLayer cheader_filename="meta/common.h"
+Stage cheader_filename="meta/meta-stage.h"
+Strut cheader_filename="meta/boxes.h"
+TabList cheader_filename="meta/display.h"
+TabShowType cheader_filename="meta/display.h"
+WaylandClient cheader_filename="meta/meta-wayland-client.h"
+WaylandCompositor cheader_filename="meta/meta-wayland-compositor.h"
+Workspace cheader_filename="meta/workspace.h"
+WorkspaceManager cheader_filename="meta/meta-workspace-manager.h"
+Window cheader_filename="meta/window.h"
+Window.focus#signal name="focused"
+Window.suspend_state skip
+Window.main_monitor skip
+WindowActor cheader_filename="meta/meta-window-actor.h"
+WindowClientType cheader_filename="meta/window.h"
+WindowForeachFunc cheader_filename="meta/window.h"
+WindowGroup cheader_filename="meta/meta-window-group.h"
+WindowMenuType cheader_filename="meta/compositor.h"
+WindowType cheader_filename="meta/window.h"
+X11Display cheader_filename="meta/meta-x11-display.h"
+X11Display.add_event_func skip
+X11DisplayEventFunc skip
+X11Display.set_stage_input_region.rects type="X.Xrectangle[]" array_length_idx=1
+
+WaylandSurface.scanout_candidate skip
+WaylandSurface.main_monitor skip
+
+// As per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2287
+MonitorManager.monitor_privacy_screen_changed skip
+
+prefs_* parent="Meta.Prefs" name="prefs_(.+)" cheader_filename="meta/prefs.h"
+
+g_utf8_strndup skip
+
+preference_to_string cheader_filename="meta/prefs.h"
+frame_type_to_string cheader_filename="meta/util.h"
+topic_to_string parent="Meta.DebugTopic" name="to_string" cheader_filename="meta/util.h"
+
+CURRENT_TIME cheader_filename="meta/common.h"
+PRIORITY_RESIZE cheader_filename="meta/common.h"
+PRIORITY_BEFORE_REDRAW cheader_filename="meta/common.h"
+PRIORITY_REDRAW cheader_filename="meta/common.h"
+PRIORITY_PREFS_NOTIFY cheader_filename="meta/common.h"
+VIRTUAL_CORE_POINTER_ID cheader_filename="meta/common.h"
+VIRTUAL_CORE_KEYBOARD_ID cheader_filename="meta/common.h"
+
+Display.window_visibility_updated
+	.object name="unplaced" type="GLib.List<unowned Meta.Window>"
+	.p0 name="should_show" type="GLib.List<unowned Meta.Window>"
+	.p1 name="should_hide" type="GLib.List<unowned Meta.Window>"
+
+Compositor.get_window_actors type_arguments="Meta.WindowActor"
+
+add_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+bug parent="Meta.Util" cheader_filename="meta/util.h"
+external_binding_name_for_action parent="Meta.Util" cheader_filename="meta/util.h"
+fatal 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"
+pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h"
+remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h"
+unsigned_long_equal parent="Meta.Util" name="ulong_equal" cheader_filename="meta/util.h"
+unsigned_long_equal.v1 type="ulong?"
+unsigned_long_equal.v2 type="ulong?"
+unsigned_long_hash parent="Meta.Util" name="ulong_hash" cheader_filename="meta/util.h"
+unsigned_long_hash.v type="ulong?"
+create_context parent="Meta.Context" name="new" symbol_type="constructor" cheader_filename="meta/meta-context.h"
+
+Plugin.create_close_dialog unowned=false nullable
+Plugin.create_inhibit_shortcuts_dialog unowned=false
+
+BackgroundActor sealed
+BackgroundContent sealed
+BackgroundImage sealed
+BackgroundImageCache sealed
+Background sealed
+Dnd sealed
+IdleMonitor sealed
+LaunchContext sealed
+RemoteAccessController sealed
+SelectionSourceMemory sealed
+Selection sealed
+ShapedTexture sealed
+SoundPlayer sealed
+Stage sealed
+StartupNotification sealed
+WaylandClient sealed
+WindowGroup sealed
+WorkspaceManager sealed
+X11Display sealed
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/Mtk-16.metadata wingpanel-8.0.3/vapi/Mtk-16.metadata
--- wingpanel-8.0.3_orig/vapi/Mtk-16.metadata	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/Mtk-16.metadata	2025-09-02 18:55:13.101701283 +0200
@@ -0,0 +1,6 @@
+Rectangle struct
+RECTANGLE_MAX_STACK_RECTS parent="Mtk.Rectangle" name="MAX_STACK_RECTS"
+REGION_BUILDER_MAX_LEVELS parent="Mtk.RegionBuilder" name="MAX_LEVELS"
+
+MONITOR_ALL_TRANSFORMS parent="Mtk.MonitorTransform" name="ALL"
+MONITOR_N_TRANSFORMS skip
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-clutter-16.deps wingpanel-8.0.3/vapi/mutter-clutter-16.deps
--- wingpanel-8.0.3_orig/vapi/mutter-clutter-16.deps	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/mutter-clutter-16.deps	2025-09-02 18:55:13.105034623 +0200
@@ -0,0 +1,6 @@
+atk
+cairo
+pango
+json-glib-1.0
+mutter-cogl-16
+graphene-gobject-1.0
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-clutter-16.vapi wingpanel-8.0.3/vapi/mutter-clutter-16.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-clutter-16.vapi	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/mutter-clutter-16.vapi	2025-09-02 19:00:47.064698762 +0200
@@ -0,0 +1,8846 @@
+/* clutter-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "1.0", lower_case_cprefix = "clutter_")]
+namespace Clutter {
+	namespace Button {
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_BUTTON_MIDDLE")]
+		public const uint32 MIDDLE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_BUTTON_PRIMARY")]
+		public const uint32 PRIMARY;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_BUTTON_SECONDARY")]
+		public const uint32 SECONDARY;
+	}
+	namespace Key {
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_0")]
+		public const uint @0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_1")]
+		public const uint @1;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsDown")]
+		public const uint @10ChannelsDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsUp")]
+		public const uint @10ChannelsUp;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_2")]
+		public const uint @2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3")]
+		public const uint @3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_AltCursor")]
+		public const uint @3270_AltCursor;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Attn")]
+		public const uint @3270_Attn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_BackTab")]
+		public const uint @3270_BackTab;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_ChangeScreen")]
+		public const uint @3270_ChangeScreen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Copy")]
+		public const uint @3270_Copy;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_CursorBlink")]
+		public const uint @3270_CursorBlink;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_CursorSelect")]
+		public const uint @3270_CursorSelect;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_DeleteWord")]
+		public const uint @3270_DeleteWord;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Duplicate")]
+		public const uint @3270_Duplicate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Enter")]
+		public const uint @3270_Enter;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_EraseEOF")]
+		public const uint @3270_EraseEOF;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_EraseInput")]
+		public const uint @3270_EraseInput;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_ExSelect")]
+		public const uint @3270_ExSelect;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_FieldMark")]
+		public const uint @3270_FieldMark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Ident")]
+		public const uint @3270_Ident;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Jump")]
+		public const uint @3270_Jump;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_KeyClick")]
+		public const uint @3270_KeyClick;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Left2")]
+		public const uint @3270_Left2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_PA1")]
+		public const uint @3270_PA1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_PA2")]
+		public const uint @3270_PA2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_PA3")]
+		public const uint @3270_PA3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Play")]
+		public const uint @3270_Play;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_PrintScreen")]
+		public const uint @3270_PrintScreen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Quit")]
+		public const uint @3270_Quit;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Record")]
+		public const uint @3270_Record;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Reset")]
+		public const uint @3270_Reset;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Right2")]
+		public const uint @3270_Right2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Rule")]
+		public const uint @3270_Rule;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Setup")]
+		public const uint @3270_Setup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Test")]
+		public const uint @3270_Test;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3DMode")]
+		public const uint @3DMode;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_4")]
+		public const uint @4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_5")]
+		public const uint @5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_6")]
+		public const uint @6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_7")]
+		public const uint @7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_8")]
+		public const uint @8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_9")]
+		public const uint @9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_A")]
+		public const uint A;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AE")]
+		public const uint AE;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ALSToggle")]
+		public const uint ALSToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aacute")]
+		public const uint Aacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abelowdot")]
+		public const uint Abelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abreve")]
+		public const uint Abreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abreveacute")]
+		public const uint Abreveacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abrevebelowdot")]
+		public const uint Abrevebelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abrevegrave")]
+		public const uint Abrevegrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abrevehook")]
+		public const uint Abrevehook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abrevetilde")]
+		public const uint Abrevetilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AccessX_Enable")]
+		public const uint AccessX_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AccessX_Feedback_Enable")]
+		public const uint AccessX_Feedback_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Accessibility")]
+		public const uint Accessibility;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflex")]
+		public const uint Acircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexacute")]
+		public const uint Acircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexbelowdot")]
+		public const uint Acircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexgrave")]
+		public const uint Acircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexhook")]
+		public const uint Acircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflextilde")]
+		public const uint Acircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AddFavorite")]
+		public const uint AddFavorite;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Addressbook")]
+		public const uint Addressbook;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Adiaeresis")]
+		public const uint Adiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Agrave")]
+		public const uint Agrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ahook")]
+		public const uint Ahook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Alt_L")]
+		public const uint Alt_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Alt_R")]
+		public const uint Alt_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Amacron")]
+		public const uint Amacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aogonek")]
+		public const uint Aogonek;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AppSelect")]
+		public const uint AppSelect;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationLeft")]
+		public const uint ApplicationLeft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationRight")]
+		public const uint ApplicationRight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_0")]
+		public const uint Arabic_0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_1")]
+		public const uint Arabic_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_2")]
+		public const uint Arabic_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_3")]
+		public const uint Arabic_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_4")]
+		public const uint Arabic_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_5")]
+		public const uint Arabic_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_6")]
+		public const uint Arabic_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_7")]
+		public const uint Arabic_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_8")]
+		public const uint Arabic_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_9")]
+		public const uint Arabic_9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_ain")]
+		public const uint Arabic_ain;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_alef")]
+		public const uint Arabic_alef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_alefmaksura")]
+		public const uint Arabic_alefmaksura;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_beh")]
+		public const uint Arabic_beh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_comma")]
+		public const uint Arabic_comma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_dad")]
+		public const uint Arabic_dad;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_dal")]
+		public const uint Arabic_dal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_damma")]
+		public const uint Arabic_damma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_dammatan")]
+		public const uint Arabic_dammatan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_ddal")]
+		public const uint Arabic_ddal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_farsi_yeh")]
+		public const uint Arabic_farsi_yeh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_fatha")]
+		public const uint Arabic_fatha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_fathatan")]
+		public const uint Arabic_fathatan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_feh")]
+		public const uint Arabic_feh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_fullstop")]
+		public const uint Arabic_fullstop;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_gaf")]
+		public const uint Arabic_gaf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_ghain")]
+		public const uint Arabic_ghain;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_ha")]
+		public const uint Arabic_ha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hah")]
+		public const uint Arabic_hah;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamza")]
+		public const uint Arabic_hamza;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamza_above")]
+		public const uint Arabic_hamza_above;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamza_below")]
+		public const uint Arabic_hamza_below;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamzaonalef")]
+		public const uint Arabic_hamzaonalef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamzaonwaw")]
+		public const uint Arabic_hamzaonwaw;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamzaonyeh")]
+		public const uint Arabic_hamzaonyeh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_hamzaunderalef")]
+		public const uint Arabic_hamzaunderalef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_heh")]
+		public const uint Arabic_heh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_heh_doachashmee")]
+		public const uint Arabic_heh_doachashmee;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_heh_goal")]
+		public const uint Arabic_heh_goal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_jeem")]
+		public const uint Arabic_jeem;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_jeh")]
+		public const uint Arabic_jeh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_kaf")]
+		public const uint Arabic_kaf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_kasra")]
+		public const uint Arabic_kasra;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_kasratan")]
+		public const uint Arabic_kasratan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_keheh")]
+		public const uint Arabic_keheh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_khah")]
+		public const uint Arabic_khah;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_lam")]
+		public const uint Arabic_lam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_madda_above")]
+		public const uint Arabic_madda_above;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_maddaonalef")]
+		public const uint Arabic_maddaonalef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_meem")]
+		public const uint Arabic_meem;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_noon")]
+		public const uint Arabic_noon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_noon_ghunna")]
+		public const uint Arabic_noon_ghunna;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_peh")]
+		public const uint Arabic_peh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_percent")]
+		public const uint Arabic_percent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_qaf")]
+		public const uint Arabic_qaf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_question_mark")]
+		public const uint Arabic_question_mark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_ra")]
+		public const uint Arabic_ra;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_rreh")]
+		public const uint Arabic_rreh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_sad")]
+		public const uint Arabic_sad;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_seen")]
+		public const uint Arabic_seen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_semicolon")]
+		public const uint Arabic_semicolon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_shadda")]
+		public const uint Arabic_shadda;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_sheen")]
+		public const uint Arabic_sheen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_sukun")]
+		public const uint Arabic_sukun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_superscript_alef")]
+		public const uint Arabic_superscript_alef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_switch")]
+		public const uint Arabic_switch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_tah")]
+		public const uint Arabic_tah;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_tatweel")]
+		public const uint Arabic_tatweel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_tcheh")]
+		public const uint Arabic_tcheh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_teh")]
+		public const uint Arabic_teh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_tehmarbuta")]
+		public const uint Arabic_tehmarbuta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_thal")]
+		public const uint Arabic_thal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_theh")]
+		public const uint Arabic_theh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_tteh")]
+		public const uint Arabic_tteh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_veh")]
+		public const uint Arabic_veh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_waw")]
+		public const uint Arabic_waw;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_yeh")]
+		public const uint Arabic_yeh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_yeh_baree")]
+		public const uint Arabic_yeh_baree;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_zah")]
+		public const uint Arabic_zah;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Arabic_zain")]
+		public const uint Arabic_zain;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aring")]
+		public const uint Aring;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_AT")]
+		public const uint Armenian_AT;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_AYB")]
+		public const uint Armenian_AYB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_BEN")]
+		public const uint Armenian_BEN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_CHA")]
+		public const uint Armenian_CHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_DA")]
+		public const uint Armenian_DA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_DZA")]
+		public const uint Armenian_DZA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_E")]
+		public const uint Armenian_E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_FE")]
+		public const uint Armenian_FE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_GHAT")]
+		public const uint Armenian_GHAT;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_GIM")]
+		public const uint Armenian_GIM;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_HI")]
+		public const uint Armenian_HI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_HO")]
+		public const uint Armenian_HO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_INI")]
+		public const uint Armenian_INI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_JE")]
+		public const uint Armenian_JE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_KE")]
+		public const uint Armenian_KE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_KEN")]
+		public const uint Armenian_KEN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_KHE")]
+		public const uint Armenian_KHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_LYUN")]
+		public const uint Armenian_LYUN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_MEN")]
+		public const uint Armenian_MEN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_NU")]
+		public const uint Armenian_NU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_O")]
+		public const uint Armenian_O;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_PE")]
+		public const uint Armenian_PE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_PYUR")]
+		public const uint Armenian_PYUR;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_RA")]
+		public const uint Armenian_RA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_RE")]
+		public const uint Armenian_RE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_SE")]
+		public const uint Armenian_SE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_SHA")]
+		public const uint Armenian_SHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_TCHE")]
+		public const uint Armenian_TCHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_TO")]
+		public const uint Armenian_TO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_TSA")]
+		public const uint Armenian_TSA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_TSO")]
+		public const uint Armenian_TSO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_TYUN")]
+		public const uint Armenian_TYUN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_VEV")]
+		public const uint Armenian_VEV;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_VO")]
+		public const uint Armenian_VO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_VYUN")]
+		public const uint Armenian_VYUN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_YECH")]
+		public const uint Armenian_YECH;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ZA")]
+		public const uint Armenian_ZA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ZHE")]
+		public const uint Armenian_ZHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_accent")]
+		public const uint Armenian_accent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_amanak")]
+		public const uint Armenian_amanak;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_apostrophe")]
+		public const uint Armenian_apostrophe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_at")]
+		public const uint Armenian_at;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ayb")]
+		public const uint Armenian_ayb;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ben")]
+		public const uint Armenian_ben;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_but")]
+		public const uint Armenian_but;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_cha")]
+		public const uint Armenian_cha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_da")]
+		public const uint Armenian_da;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_dza")]
+		public const uint Armenian_dza;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_e")]
+		public const uint Armenian_e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_exclam")]
+		public const uint Armenian_exclam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_fe")]
+		public const uint Armenian_fe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_full_stop")]
+		public const uint Armenian_full_stop;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ghat")]
+		public const uint Armenian_ghat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_gim")]
+		public const uint Armenian_gim;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_hi")]
+		public const uint Armenian_hi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ho")]
+		public const uint Armenian_ho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_hyphen")]
+		public const uint Armenian_hyphen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ini")]
+		public const uint Armenian_ini;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_je")]
+		public const uint Armenian_je;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ke")]
+		public const uint Armenian_ke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ken")]
+		public const uint Armenian_ken;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_khe")]
+		public const uint Armenian_khe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ligature_ew")]
+		public const uint Armenian_ligature_ew;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_lyun")]
+		public const uint Armenian_lyun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_men")]
+		public const uint Armenian_men;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_nu")]
+		public const uint Armenian_nu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_o")]
+		public const uint Armenian_o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_paruyk")]
+		public const uint Armenian_paruyk;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_pe")]
+		public const uint Armenian_pe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_pyur")]
+		public const uint Armenian_pyur;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_question")]
+		public const uint Armenian_question;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_ra")]
+		public const uint Armenian_ra;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_re")]
+		public const uint Armenian_re;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_se")]
+		public const uint Armenian_se;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_separation_mark")]
+		public const uint Armenian_separation_mark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_sha")]
+		public const uint Armenian_sha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_shesht")]
+		public const uint Armenian_shesht;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_tche")]
+		public const uint Armenian_tche;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_to")]
+		public const uint Armenian_to;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_tsa")]
+		public const uint Armenian_tsa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_tso")]
+		public const uint Armenian_tso;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_tyun")]
+		public const uint Armenian_tyun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_verjaket")]
+		public const uint Armenian_verjaket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_vev")]
+		public const uint Armenian_vev;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_vo")]
+		public const uint Armenian_vo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_vyun")]
+		public const uint Armenian_vyun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_yech")]
+		public const uint Armenian_yech;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_yentamna")]
+		public const uint Armenian_yentamna;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_za")]
+		public const uint Armenian_za;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_zhe")]
+		public const uint Armenian_zhe;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AspectRatio")]
+		public const uint AspectRatio;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Assistant")]
+		public const uint Assistant;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Atilde")]
+		public const uint Atilde;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOff")]
+		public const uint AttendantOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOn")]
+		public const uint AttendantOn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantToggle")]
+		public const uint AttendantToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudibleBell_Enable")]
+		public const uint AudibleBell_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Audio")]
+		public const uint Audio;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioCycleTrack")]
+		public const uint AudioCycleTrack;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioDesc")]
+		public const uint AudioDesc;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioForward")]
+		public const uint AudioForward;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioLowerVolume")]
+		public const uint AudioLowerVolume;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioMedia")]
+		public const uint AudioMedia;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioMicMute")]
+		public const uint AudioMicMute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioMute")]
+		public const uint AudioMute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioNext")]
+		public const uint AudioNext;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPause")]
+		public const uint AudioPause;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPlay")]
+		public const uint AudioPlay;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPreset")]
+		public const uint AudioPreset;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPrev")]
+		public const uint AudioPrev;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRaiseVolume")]
+		public const uint AudioRaiseVolume;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRandomPlay")]
+		public const uint AudioRandomPlay;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRecord")]
+		public const uint AudioRecord;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRepeat")]
+		public const uint AudioRepeat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRewind")]
+		public const uint AudioRewind;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioStop")]
+		public const uint AudioStop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AutopilotEngageToggle")]
+		public const uint AutopilotEngageToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Away")]
+		public const uint Away;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_B")]
+		public const uint B;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Babovedot")]
+		public const uint Babovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Back")]
+		public const uint Back;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BackForward")]
+		public const uint BackForward;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BackSpace")]
+		public const uint BackSpace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Battery")]
+		public const uint Battery;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Begin")]
+		public const uint Begin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Blue")]
+		public const uint Blue;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Bluetooth")]
+		public const uint Bluetooth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Book")]
+		public const uint Book;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BounceKeys_Enable")]
+		public const uint BounceKeys_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Break")]
+		public const uint Break;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAdjust")]
+		public const uint BrightnessAdjust;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAuto")]
+		public const uint BrightnessAuto;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMax")]
+		public const uint BrightnessMax;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMin")]
+		public const uint BrightnessMin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Buttonconfig")]
+		public const uint Buttonconfig;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_SHORTU")]
+		public const uint Byelorussian_SHORTU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_shortu")]
+		public const uint Byelorussian_shortu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_C")]
+		public const uint C;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CD")]
+		public const uint CD;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CH")]
+		public const uint CH;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_C_H")]
+		public const uint C_H;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_C_h")]
+		public const uint C_h;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cabovedot")]
+		public const uint Cabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cacute")]
+		public const uint Cacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Calculator")]
+		public const uint Calculator;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Calendar")]
+		public const uint Calendar;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessDisable")]
+		public const uint CameraAccessDisable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessEnable")]
+		public const uint CameraAccessEnable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessToggle")]
+		public const uint CameraAccessToggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraDown")]
+		public const uint CameraDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraFocus")]
+		public const uint CameraFocus;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraLeft")]
+		public const uint CameraLeft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraRight")]
+		public const uint CameraRight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraUp")]
+		public const uint CameraUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomIn")]
+		public const uint CameraZoomIn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomOut")]
+		public const uint CameraZoomOut;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cancel")]
+		public const uint Cancel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Caps_Lock")]
+		public const uint Caps_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ccaron")]
+		public const uint Ccaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ccedilla")]
+		public const uint Ccedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ccircumflex")]
+		public const uint Ccircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ch")]
+		public const uint Ch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelDown")]
+		public const uint ChannelDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelUp")]
+		public const uint ChannelUp;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Clear")]
+		public const uint Clear;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearGrab")]
+		public const uint ClearGrab;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearvuSonar")]
+		public const uint ClearvuSonar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Close")]
+		public const uint Close;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Codeinput")]
+		public const uint Codeinput;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ColonSign")]
+		public const uint ColonSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Community")]
+		public const uint Community;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContextMenu")]
+		public const uint ContextMenu;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContrastAdjust")]
+		public const uint ContrastAdjust;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ControlPanel")]
+		public const uint ControlPanel;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_L")]
+		public const uint Control_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_R")]
+		public const uint Control_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Copy")]
+		public const uint Copy;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CruzeiroSign")]
+		public const uint CruzeiroSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cut")]
+		public const uint Cut;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CycleAngle")]
+		public const uint CycleAngle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_A")]
+		public const uint Cyrillic_A;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_BE")]
+		public const uint Cyrillic_BE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_CHE")]
+		public const uint Cyrillic_CHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_CHE_descender")]
+		public const uint Cyrillic_CHE_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_CHE_vertstroke")]
+		public const uint Cyrillic_CHE_vertstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_DE")]
+		public const uint Cyrillic_DE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_DZHE")]
+		public const uint Cyrillic_DZHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_E")]
+		public const uint Cyrillic_E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_EF")]
+		public const uint Cyrillic_EF;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_EL")]
+		public const uint Cyrillic_EL;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_EM")]
+		public const uint Cyrillic_EM;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_EN")]
+		public const uint Cyrillic_EN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_EN_descender")]
+		public const uint Cyrillic_EN_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ER")]
+		public const uint Cyrillic_ER;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ES")]
+		public const uint Cyrillic_ES;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_GHE")]
+		public const uint Cyrillic_GHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_GHE_bar")]
+		public const uint Cyrillic_GHE_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_HA")]
+		public const uint Cyrillic_HA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_HARDSIGN")]
+		public const uint Cyrillic_HARDSIGN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_HA_descender")]
+		public const uint Cyrillic_HA_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_I")]
+		public const uint Cyrillic_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_IE")]
+		public const uint Cyrillic_IE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_IO")]
+		public const uint Cyrillic_IO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_I_macron")]
+		public const uint Cyrillic_I_macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_JE")]
+		public const uint Cyrillic_JE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_KA")]
+		public const uint Cyrillic_KA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_KA_descender")]
+		public const uint Cyrillic_KA_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_KA_vertstroke")]
+		public const uint Cyrillic_KA_vertstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_LJE")]
+		public const uint Cyrillic_LJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_NJE")]
+		public const uint Cyrillic_NJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_O")]
+		public const uint Cyrillic_O;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_O_bar")]
+		public const uint Cyrillic_O_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_PE")]
+		public const uint Cyrillic_PE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SCHWA")]
+		public const uint Cyrillic_SCHWA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SHA")]
+		public const uint Cyrillic_SHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SHCHA")]
+		public const uint Cyrillic_SHCHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SHHA")]
+		public const uint Cyrillic_SHHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SHORTI")]
+		public const uint Cyrillic_SHORTI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_SOFTSIGN")]
+		public const uint Cyrillic_SOFTSIGN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_TE")]
+		public const uint Cyrillic_TE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_TSE")]
+		public const uint Cyrillic_TSE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_U")]
+		public const uint Cyrillic_U;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_U_macron")]
+		public const uint Cyrillic_U_macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_U_straight")]
+		public const uint Cyrillic_U_straight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_U_straight_bar")]
+		public const uint Cyrillic_U_straight_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_VE")]
+		public const uint Cyrillic_VE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_YA")]
+		public const uint Cyrillic_YA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_YERU")]
+		public const uint Cyrillic_YERU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_YU")]
+		public const uint Cyrillic_YU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ZE")]
+		public const uint Cyrillic_ZE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ZHE")]
+		public const uint Cyrillic_ZHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ZHE_descender")]
+		public const uint Cyrillic_ZHE_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_a")]
+		public const uint Cyrillic_a;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_be")]
+		public const uint Cyrillic_be;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_che")]
+		public const uint Cyrillic_che;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_che_descender")]
+		public const uint Cyrillic_che_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_che_vertstroke")]
+		public const uint Cyrillic_che_vertstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_de")]
+		public const uint Cyrillic_de;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_dzhe")]
+		public const uint Cyrillic_dzhe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_e")]
+		public const uint Cyrillic_e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ef")]
+		public const uint Cyrillic_ef;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_el")]
+		public const uint Cyrillic_el;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_em")]
+		public const uint Cyrillic_em;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_en")]
+		public const uint Cyrillic_en;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_en_descender")]
+		public const uint Cyrillic_en_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_er")]
+		public const uint Cyrillic_er;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_es")]
+		public const uint Cyrillic_es;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ghe")]
+		public const uint Cyrillic_ghe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ghe_bar")]
+		public const uint Cyrillic_ghe_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ha")]
+		public const uint Cyrillic_ha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ha_descender")]
+		public const uint Cyrillic_ha_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_hardsign")]
+		public const uint Cyrillic_hardsign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_i")]
+		public const uint Cyrillic_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_i_macron")]
+		public const uint Cyrillic_i_macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ie")]
+		public const uint Cyrillic_ie;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_io")]
+		public const uint Cyrillic_io;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_je")]
+		public const uint Cyrillic_je;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ka")]
+		public const uint Cyrillic_ka;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ka_descender")]
+		public const uint Cyrillic_ka_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ka_vertstroke")]
+		public const uint Cyrillic_ka_vertstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_lje")]
+		public const uint Cyrillic_lje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_nje")]
+		public const uint Cyrillic_nje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_o")]
+		public const uint Cyrillic_o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_o_bar")]
+		public const uint Cyrillic_o_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_pe")]
+		public const uint Cyrillic_pe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_schwa")]
+		public const uint Cyrillic_schwa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_sha")]
+		public const uint Cyrillic_sha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_shcha")]
+		public const uint Cyrillic_shcha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_shha")]
+		public const uint Cyrillic_shha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_shorti")]
+		public const uint Cyrillic_shorti;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_softsign")]
+		public const uint Cyrillic_softsign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_te")]
+		public const uint Cyrillic_te;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_tse")]
+		public const uint Cyrillic_tse;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_u")]
+		public const uint Cyrillic_u;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_u_macron")]
+		public const uint Cyrillic_u_macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_u_straight")]
+		public const uint Cyrillic_u_straight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_u_straight_bar")]
+		public const uint Cyrillic_u_straight_bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ve")]
+		public const uint Cyrillic_ve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ya")]
+		public const uint Cyrillic_ya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_yeru")]
+		public const uint Cyrillic_yeru;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_yu")]
+		public const uint Cyrillic_yu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_ze")]
+		public const uint Cyrillic_ze;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_zhe")]
+		public const uint Cyrillic_zhe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cyrillic_zhe_descender")]
+		public const uint Cyrillic_zhe_descender;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_D")]
+		public const uint D;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DOS")]
+		public const uint DOS;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DVD")]
+		public const uint DVD;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dabovedot")]
+		public const uint Dabovedot;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Data")]
+		public const uint Data;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Database")]
+		public const uint Database;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dcaron")]
+		public const uint Dcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Delete")]
+		public const uint Delete;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dictate")]
+		public const uint Dictate;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Display")]
+		public const uint Display;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayOff")]
+		public const uint DisplayOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayToggle")]
+		public const uint DisplayToggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DoNotDisturb")]
+		public const uint DoNotDisturb;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Documents")]
+		public const uint Documents;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DongSign")]
+		public const uint DongSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Down")]
+		public const uint Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dstroke")]
+		public const uint Dstroke;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DualRangeRadar")]
+		public const uint DualRangeRadar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_E")]
+		public const uint E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ENG")]
+		public const uint ENG;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ETH")]
+		public const uint ETH;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EZH")]
+		public const uint EZH;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eabovedot")]
+		public const uint Eabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eacute")]
+		public const uint Eacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ebelowdot")]
+		public const uint Ebelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecaron")]
+		public const uint Ecaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflex")]
+		public const uint Ecircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflexacute")]
+		public const uint Ecircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflexbelowdot")]
+		public const uint Ecircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflexgrave")]
+		public const uint Ecircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflexhook")]
+		public const uint Ecircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ecircumflextilde")]
+		public const uint Ecircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EcuSign")]
+		public const uint EcuSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ediaeresis")]
+		public const uint Ediaeresis;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Editor")]
+		public const uint Editor;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Egrave")]
+		public const uint Egrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ehook")]
+		public const uint Ehook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eisu_Shift")]
+		public const uint Eisu_Shift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eisu_toggle")]
+		public const uint Eisu_toggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eject")]
+		public const uint Eject;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Emacron")]
+		public const uint Emacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EmojiPicker")]
+		public const uint EmojiPicker;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_End")]
+		public const uint End;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eogonek")]
+		public const uint Eogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Escape")]
+		public const uint Escape;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eth")]
+		public const uint Eth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Etilde")]
+		public const uint Etilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EuroSign")]
+		public const uint EuroSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Excel")]
+		public const uint Excel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Execute")]
+		public const uint Execute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Explorer")]
+		public const uint Explorer;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F")]
+		public const uint F;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F1")]
+		public const uint F1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F10")]
+		public const uint F10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F11")]
+		public const uint F11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F12")]
+		public const uint F12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F13")]
+		public const uint F13;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F14")]
+		public const uint F14;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F15")]
+		public const uint F15;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F16")]
+		public const uint F16;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F17")]
+		public const uint F17;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F18")]
+		public const uint F18;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F19")]
+		public const uint F19;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F2")]
+		public const uint F2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F20")]
+		public const uint F20;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F21")]
+		public const uint F21;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F22")]
+		public const uint F22;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F23")]
+		public const uint F23;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F24")]
+		public const uint F24;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F25")]
+		public const uint F25;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F26")]
+		public const uint F26;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F27")]
+		public const uint F27;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F28")]
+		public const uint F28;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F29")]
+		public const uint F29;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F3")]
+		public const uint F3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F30")]
+		public const uint F30;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F31")]
+		public const uint F31;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F32")]
+		public const uint F32;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F33")]
+		public const uint F33;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F34")]
+		public const uint F34;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F35")]
+		public const uint F35;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F4")]
+		public const uint F4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F5")]
+		public const uint F5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F6")]
+		public const uint F6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F7")]
+		public const uint F7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F8")]
+		public const uint F8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_F9")]
+		public const uint F9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FFrancSign")]
+		public const uint FFrancSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fabovedot")]
+		public const uint Fabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_0")]
+		public const uint Farsi_0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_1")]
+		public const uint Farsi_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_2")]
+		public const uint Farsi_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_3")]
+		public const uint Farsi_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_4")]
+		public const uint Farsi_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_5")]
+		public const uint Farsi_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_6")]
+		public const uint Farsi_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_7")]
+		public const uint Farsi_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_8")]
+		public const uint Farsi_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_9")]
+		public const uint Farsi_9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_yeh")]
+		public const uint Farsi_yeh;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FastReverse")]
+		public const uint FastReverse;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Favorites")]
+		public const uint Favorites;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Finance")]
+		public const uint Finance;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Find")]
+		public const uint Find;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_First_Virtual_Screen")]
+		public const uint First_Virtual_Screen;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FishingChart")]
+		public const uint FishingChart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn")]
+		public const uint Fn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FnRightShift")]
+		public const uint FnRightShift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn_Esc")]
+		public const uint Fn_Esc;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Forward")]
+		public const uint Forward;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameBack")]
+		public const uint FrameBack;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameForward")]
+		public const uint FrameForward;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FullScreen")]
+		public const uint FullScreen;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_G")]
+		public const uint G;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gabovedot")]
+		public const uint Gabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Game")]
+		public const uint Game;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gbreve")]
+		public const uint Gbreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gcaron")]
+		public const uint Gcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gcedilla")]
+		public const uint Gcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gcircumflex")]
+		public const uint Gcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_an")]
+		public const uint Georgian_an;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_ban")]
+		public const uint Georgian_ban;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_can")]
+		public const uint Georgian_can;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_char")]
+		public const uint Georgian_char;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_chin")]
+		public const uint Georgian_chin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_cil")]
+		public const uint Georgian_cil;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_don")]
+		public const uint Georgian_don;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_en")]
+		public const uint Georgian_en;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_fi")]
+		public const uint Georgian_fi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_gan")]
+		public const uint Georgian_gan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_ghan")]
+		public const uint Georgian_ghan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_hae")]
+		public const uint Georgian_hae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_har")]
+		public const uint Georgian_har;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_he")]
+		public const uint Georgian_he;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_hie")]
+		public const uint Georgian_hie;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_hoe")]
+		public const uint Georgian_hoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_in")]
+		public const uint Georgian_in;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_jhan")]
+		public const uint Georgian_jhan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_jil")]
+		public const uint Georgian_jil;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_kan")]
+		public const uint Georgian_kan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_khar")]
+		public const uint Georgian_khar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_las")]
+		public const uint Georgian_las;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_man")]
+		public const uint Georgian_man;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_nar")]
+		public const uint Georgian_nar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_on")]
+		public const uint Georgian_on;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_par")]
+		public const uint Georgian_par;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_phar")]
+		public const uint Georgian_phar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_qar")]
+		public const uint Georgian_qar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_rae")]
+		public const uint Georgian_rae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_san")]
+		public const uint Georgian_san;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_shin")]
+		public const uint Georgian_shin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_tan")]
+		public const uint Georgian_tan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_tar")]
+		public const uint Georgian_tar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_un")]
+		public const uint Georgian_un;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_vin")]
+		public const uint Georgian_vin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_we")]
+		public const uint Georgian_we;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_xan")]
+		public const uint Georgian_xan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_zen")]
+		public const uint Georgian_zen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Georgian_zhar")]
+		public const uint Georgian_zhar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Go")]
+		public const uint Go;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_GraphicsEditor")]
+		public const uint GraphicsEditor;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHA")]
+		public const uint Greek_ALPHA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHAaccent")]
+		public const uint Greek_ALPHAaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_BETA")]
+		public const uint Greek_BETA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_CHI")]
+		public const uint Greek_CHI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_DELTA")]
+		public const uint Greek_DELTA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_EPSILON")]
+		public const uint Greek_EPSILON;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_EPSILONaccent")]
+		public const uint Greek_EPSILONaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ETA")]
+		public const uint Greek_ETA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ETAaccent")]
+		public const uint Greek_ETAaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_GAMMA")]
+		public const uint Greek_GAMMA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_IOTA")]
+		public const uint Greek_IOTA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_IOTAaccent")]
+		public const uint Greek_IOTAaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_IOTAdiaeresis")]
+		public const uint Greek_IOTAdiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_IOTAdieresis")]
+		public const uint Greek_IOTAdieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_KAPPA")]
+		public const uint Greek_KAPPA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_LAMBDA")]
+		public const uint Greek_LAMBDA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_LAMDA")]
+		public const uint Greek_LAMDA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_MU")]
+		public const uint Greek_MU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_NU")]
+		public const uint Greek_NU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_OMEGA")]
+		public const uint Greek_OMEGA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_OMEGAaccent")]
+		public const uint Greek_OMEGAaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_OMICRON")]
+		public const uint Greek_OMICRON;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_OMICRONaccent")]
+		public const uint Greek_OMICRONaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_PHI")]
+		public const uint Greek_PHI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_PI")]
+		public const uint Greek_PI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_PSI")]
+		public const uint Greek_PSI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_RHO")]
+		public const uint Greek_RHO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_SIGMA")]
+		public const uint Greek_SIGMA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_TAU")]
+		public const uint Greek_TAU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_THETA")]
+		public const uint Greek_THETA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_UPSILON")]
+		public const uint Greek_UPSILON;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_UPSILONaccent")]
+		public const uint Greek_UPSILONaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_UPSILONdieresis")]
+		public const uint Greek_UPSILONdieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_XI")]
+		public const uint Greek_XI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ZETA")]
+		public const uint Greek_ZETA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_accentdieresis")]
+		public const uint Greek_accentdieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_alpha")]
+		public const uint Greek_alpha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_alphaaccent")]
+		public const uint Greek_alphaaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_beta")]
+		public const uint Greek_beta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_chi")]
+		public const uint Greek_chi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_delta")]
+		public const uint Greek_delta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_epsilon")]
+		public const uint Greek_epsilon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_epsilonaccent")]
+		public const uint Greek_epsilonaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_eta")]
+		public const uint Greek_eta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_etaaccent")]
+		public const uint Greek_etaaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_finalsmallsigma")]
+		public const uint Greek_finalsmallsigma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_gamma")]
+		public const uint Greek_gamma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_horizbar")]
+		public const uint Greek_horizbar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_iota")]
+		public const uint Greek_iota;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_iotaaccent")]
+		public const uint Greek_iotaaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_iotaaccentdieresis")]
+		public const uint Greek_iotaaccentdieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_iotadieresis")]
+		public const uint Greek_iotadieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_kappa")]
+		public const uint Greek_kappa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_lambda")]
+		public const uint Greek_lambda;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_lamda")]
+		public const uint Greek_lamda;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_mu")]
+		public const uint Greek_mu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_nu")]
+		public const uint Greek_nu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_omega")]
+		public const uint Greek_omega;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_omegaaccent")]
+		public const uint Greek_omegaaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_omicron")]
+		public const uint Greek_omicron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_omicronaccent")]
+		public const uint Greek_omicronaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_phi")]
+		public const uint Greek_phi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_pi")]
+		public const uint Greek_pi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_psi")]
+		public const uint Greek_psi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_rho")]
+		public const uint Greek_rho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_sigma")]
+		public const uint Greek_sigma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_switch")]
+		public const uint Greek_switch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_tau")]
+		public const uint Greek_tau;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_theta")]
+		public const uint Greek_theta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_upsilon")]
+		public const uint Greek_upsilon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_upsilonaccent")]
+		public const uint Greek_upsilonaccent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_upsilonaccentdieresis")]
+		public const uint Greek_upsilonaccentdieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_upsilondieresis")]
+		public const uint Greek_upsilondieresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_xi")]
+		public const uint Greek_xi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_zeta")]
+		public const uint Greek_zeta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Green")]
+		public const uint Green;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_H")]
+		public const uint H;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul")]
+		public const uint Hangul;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_A")]
+		public const uint Hangul_A;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_AE")]
+		public const uint Hangul_AE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_AraeA")]
+		public const uint Hangul_AraeA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_AraeAE")]
+		public const uint Hangul_AraeAE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Banja")]
+		public const uint Hangul_Banja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Cieuc")]
+		public const uint Hangul_Cieuc;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Codeinput")]
+		public const uint Hangul_Codeinput;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Dikeud")]
+		public const uint Hangul_Dikeud;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_E")]
+		public const uint Hangul_E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_EO")]
+		public const uint Hangul_EO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_EU")]
+		public const uint Hangul_EU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_End")]
+		public const uint Hangul_End;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Hanja")]
+		public const uint Hangul_Hanja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Hieuh")]
+		public const uint Hangul_Hieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_I")]
+		public const uint Hangul_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Ieung")]
+		public const uint Hangul_Ieung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Cieuc")]
+		public const uint Hangul_J_Cieuc;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Dikeud")]
+		public const uint Hangul_J_Dikeud;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Hieuh")]
+		public const uint Hangul_J_Hieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Ieung")]
+		public const uint Hangul_J_Ieung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Jieuj")]
+		public const uint Hangul_J_Jieuj;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Khieuq")]
+		public const uint Hangul_J_Khieuq;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Kiyeog")]
+		public const uint Hangul_J_Kiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_KiyeogSios")]
+		public const uint Hangul_J_KiyeogSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_KkogjiDalrinIeung")]
+		public const uint Hangul_J_KkogjiDalrinIeung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Mieum")]
+		public const uint Hangul_J_Mieum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Nieun")]
+		public const uint Hangul_J_Nieun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_NieunHieuh")]
+		public const uint Hangul_J_NieunHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_NieunJieuj")]
+		public const uint Hangul_J_NieunJieuj;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_PanSios")]
+		public const uint Hangul_J_PanSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Phieuf")]
+		public const uint Hangul_J_Phieuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Pieub")]
+		public const uint Hangul_J_Pieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_PieubSios")]
+		public const uint Hangul_J_PieubSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Rieul")]
+		public const uint Hangul_J_Rieul;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulHieuh")]
+		public const uint Hangul_J_RieulHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulKiyeog")]
+		public const uint Hangul_J_RieulKiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulMieum")]
+		public const uint Hangul_J_RieulMieum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulPhieuf")]
+		public const uint Hangul_J_RieulPhieuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulPieub")]
+		public const uint Hangul_J_RieulPieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulSios")]
+		public const uint Hangul_J_RieulSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_RieulTieut")]
+		public const uint Hangul_J_RieulTieut;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Sios")]
+		public const uint Hangul_J_Sios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_SsangKiyeog")]
+		public const uint Hangul_J_SsangKiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_SsangSios")]
+		public const uint Hangul_J_SsangSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_Tieut")]
+		public const uint Hangul_J_Tieut;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_J_YeorinHieuh")]
+		public const uint Hangul_J_YeorinHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Jamo")]
+		public const uint Hangul_Jamo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Jeonja")]
+		public const uint Hangul_Jeonja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Jieuj")]
+		public const uint Hangul_Jieuj;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Khieuq")]
+		public const uint Hangul_Khieuq;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Kiyeog")]
+		public const uint Hangul_Kiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_KiyeogSios")]
+		public const uint Hangul_KiyeogSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_KkogjiDalrinIeung")]
+		public const uint Hangul_KkogjiDalrinIeung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Mieum")]
+		public const uint Hangul_Mieum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_MultipleCandidate")]
+		public const uint Hangul_MultipleCandidate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Nieun")]
+		public const uint Hangul_Nieun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_NieunHieuh")]
+		public const uint Hangul_NieunHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_NieunJieuj")]
+		public const uint Hangul_NieunJieuj;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_O")]
+		public const uint Hangul_O;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_OE")]
+		public const uint Hangul_OE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_PanSios")]
+		public const uint Hangul_PanSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Phieuf")]
+		public const uint Hangul_Phieuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Pieub")]
+		public const uint Hangul_Pieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_PieubSios")]
+		public const uint Hangul_PieubSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_PostHanja")]
+		public const uint Hangul_PostHanja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_PreHanja")]
+		public const uint Hangul_PreHanja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_PreviousCandidate")]
+		public const uint Hangul_PreviousCandidate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Rieul")]
+		public const uint Hangul_Rieul;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulHieuh")]
+		public const uint Hangul_RieulHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulKiyeog")]
+		public const uint Hangul_RieulKiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulMieum")]
+		public const uint Hangul_RieulMieum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulPhieuf")]
+		public const uint Hangul_RieulPhieuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulPieub")]
+		public const uint Hangul_RieulPieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulSios")]
+		public const uint Hangul_RieulSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulTieut")]
+		public const uint Hangul_RieulTieut;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_RieulYeorinHieuh")]
+		public const uint Hangul_RieulYeorinHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Romaja")]
+		public const uint Hangul_Romaja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SingleCandidate")]
+		public const uint Hangul_SingleCandidate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Sios")]
+		public const uint Hangul_Sios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Special")]
+		public const uint Hangul_Special;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SsangDikeud")]
+		public const uint Hangul_SsangDikeud;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SsangJieuj")]
+		public const uint Hangul_SsangJieuj;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SsangKiyeog")]
+		public const uint Hangul_SsangKiyeog;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SsangPieub")]
+		public const uint Hangul_SsangPieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SsangSios")]
+		public const uint Hangul_SsangSios;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Start")]
+		public const uint Hangul_Start;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SunkyeongeumMieum")]
+		public const uint Hangul_SunkyeongeumMieum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SunkyeongeumPhieuf")]
+		public const uint Hangul_SunkyeongeumPhieuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_SunkyeongeumPieub")]
+		public const uint Hangul_SunkyeongeumPieub;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_Tieut")]
+		public const uint Hangul_Tieut;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_U")]
+		public const uint Hangul_U;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_WA")]
+		public const uint Hangul_WA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_WAE")]
+		public const uint Hangul_WAE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_WE")]
+		public const uint Hangul_WE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_WEO")]
+		public const uint Hangul_WEO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_WI")]
+		public const uint Hangul_WI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YA")]
+		public const uint Hangul_YA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YAE")]
+		public const uint Hangul_YAE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YE")]
+		public const uint Hangul_YE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YEO")]
+		public const uint Hangul_YEO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YI")]
+		public const uint Hangul_YI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YO")]
+		public const uint Hangul_YO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YU")]
+		public const uint Hangul_YU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_YeorinHieuh")]
+		public const uint Hangul_YeorinHieuh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_switch")]
+		public const uint Hangul_switch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_HangupPhone")]
+		public const uint HangupPhone;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hankaku")]
+		public const uint Hankaku;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hcircumflex")]
+		public const uint Hcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hebrew_switch")]
+		public const uint Hebrew_switch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Help")]
+		public const uint Help;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Henkan")]
+		public const uint Henkan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Henkan_Mode")]
+		public const uint Henkan_Mode;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hibernate")]
+		public const uint Hibernate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hiragana")]
+		public const uint Hiragana;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hiragana_Katakana")]
+		public const uint Hiragana_Katakana;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_History")]
+		public const uint History;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Home")]
+		public const uint Home;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_HomePage")]
+		public const uint HomePage;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_HotLinks")]
+		public const uint HotLinks;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hstroke")]
+		public const uint Hstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hyper_L")]
+		public const uint Hyper_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hyper_R")]
+		public const uint Hyper_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_I")]
+		public const uint I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Center_Object")]
+		public const uint ISO_Center_Object;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Continuous_Underline")]
+		public const uint ISO_Continuous_Underline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Discontinuous_Underline")]
+		public const uint ISO_Discontinuous_Underline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Emphasize")]
+		public const uint ISO_Emphasize;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Enter")]
+		public const uint ISO_Enter;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Fast_Cursor_Down")]
+		public const uint ISO_Fast_Cursor_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Fast_Cursor_Left")]
+		public const uint ISO_Fast_Cursor_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Fast_Cursor_Right")]
+		public const uint ISO_Fast_Cursor_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Fast_Cursor_Up")]
+		public const uint ISO_Fast_Cursor_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_First_Group")]
+		public const uint ISO_First_Group;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_First_Group_Lock")]
+		public const uint ISO_First_Group_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Group_Latch")]
+		public const uint ISO_Group_Latch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Group_Lock")]
+		public const uint ISO_Group_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Group_Shift")]
+		public const uint ISO_Group_Shift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Last_Group")]
+		public const uint ISO_Last_Group;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Last_Group_Lock")]
+		public const uint ISO_Last_Group_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Left_Tab")]
+		public const uint ISO_Left_Tab;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level2_Latch")]
+		public const uint ISO_Level2_Latch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level3_Latch")]
+		public const uint ISO_Level3_Latch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level3_Lock")]
+		public const uint ISO_Level3_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level3_Shift")]
+		public const uint ISO_Level3_Shift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level5_Latch")]
+		public const uint ISO_Level5_Latch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level5_Lock")]
+		public const uint ISO_Level5_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Level5_Shift")]
+		public const uint ISO_Level5_Shift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Lock")]
+		public const uint ISO_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Move_Line_Down")]
+		public const uint ISO_Move_Line_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Move_Line_Up")]
+		public const uint ISO_Move_Line_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Next_Group")]
+		public const uint ISO_Next_Group;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Next_Group_Lock")]
+		public const uint ISO_Next_Group_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Partial_Line_Down")]
+		public const uint ISO_Partial_Line_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Partial_Line_Up")]
+		public const uint ISO_Partial_Line_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Partial_Space_Left")]
+		public const uint ISO_Partial_Space_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Partial_Space_Right")]
+		public const uint ISO_Partial_Space_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Prev_Group")]
+		public const uint ISO_Prev_Group;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Prev_Group_Lock")]
+		public const uint ISO_Prev_Group_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Release_Both_Margins")]
+		public const uint ISO_Release_Both_Margins;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Release_Margin_Left")]
+		public const uint ISO_Release_Margin_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Release_Margin_Right")]
+		public const uint ISO_Release_Margin_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Set_Margin_Left")]
+		public const uint ISO_Set_Margin_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ISO_Set_Margin_Right")]
+		public const uint ISO_Set_Margin_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Iabovedot")]
+		public const uint Iabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Iacute")]
+		public const uint Iacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ibelowdot")]
+		public const uint Ibelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ibreve")]
+		public const uint Ibreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Icircumflex")]
+		public const uint Icircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Idiaeresis")]
+		public const uint Idiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Igrave")]
+		public const uint Igrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ihook")]
+		public const uint Ihook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Imacron")]
+		public const uint Imacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Images")]
+		public const uint Images;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Info")]
+		public const uint Info;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Insert")]
+		public const uint Insert;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Iogonek")]
+		public const uint Iogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Itilde")]
+		public const uint Itilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_J")]
+		public const uint J;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Jcircumflex")]
+		public const uint Jcircumflex;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Journal")]
+		public const uint Journal;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_K")]
+		public const uint K;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_0")]
+		public const uint KP_0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_1")]
+		public const uint KP_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_2")]
+		public const uint KP_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_3")]
+		public const uint KP_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_4")]
+		public const uint KP_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_5")]
+		public const uint KP_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_6")]
+		public const uint KP_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_7")]
+		public const uint KP_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_8")]
+		public const uint KP_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_9")]
+		public const uint KP_9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Add")]
+		public const uint KP_Add;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Begin")]
+		public const uint KP_Begin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Decimal")]
+		public const uint KP_Decimal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Delete")]
+		public const uint KP_Delete;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Divide")]
+		public const uint KP_Divide;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Down")]
+		public const uint KP_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_End")]
+		public const uint KP_End;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Enter")]
+		public const uint KP_Enter;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Equal")]
+		public const uint KP_Equal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_F1")]
+		public const uint KP_F1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_F2")]
+		public const uint KP_F2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_F3")]
+		public const uint KP_F3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_F4")]
+		public const uint KP_F4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Home")]
+		public const uint KP_Home;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Insert")]
+		public const uint KP_Insert;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Left")]
+		public const uint KP_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Multiply")]
+		public const uint KP_Multiply;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Next")]
+		public const uint KP_Next;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Page_Down")]
+		public const uint KP_Page_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Page_Up")]
+		public const uint KP_Page_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Prior")]
+		public const uint KP_Prior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Right")]
+		public const uint KP_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Separator")]
+		public const uint KP_Separator;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Space")]
+		public const uint KP_Space;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Subtract")]
+		public const uint KP_Subtract;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Tab")]
+		public const uint KP_Tab;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_Up")]
+		public const uint KP_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kana_Lock")]
+		public const uint Kana_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kana_Shift")]
+		public const uint Kana_Shift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kanji")]
+		public const uint Kanji;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kanji_Bangou")]
+		public const uint Kanji_Bangou;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Katakana")]
+		public const uint Katakana;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdBrightnessDown")]
+		public const uint KbdBrightnessDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdBrightnessUp")]
+		public const uint KbdBrightnessUp;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistAccept")]
+		public const uint KbdInputAssistAccept;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistCancel")]
+		public const uint KbdInputAssistCancel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNext")]
+		public const uint KbdInputAssistNext;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNextgroup")]
+		public const uint KbdInputAssistNextgroup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrev")]
+		public const uint KbdInputAssistPrev;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrevgroup")]
+		public const uint KbdInputAssistPrevgroup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu1")]
+		public const uint KbdLcdMenu1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu2")]
+		public const uint KbdLcdMenu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu3")]
+		public const uint KbdLcdMenu3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu4")]
+		public const uint KbdLcdMenu4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu5")]
+		public const uint KbdLcdMenu5;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLightOnOff")]
+		public const uint KbdLightOnOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kcedilla")]
+		public const uint Kcedilla;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Keyboard")]
+		public const uint Keyboard;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Korean_Won")]
+		public const uint Korean_Won;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L")]
+		public const uint L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L1")]
+		public const uint L1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L10")]
+		public const uint L10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L2")]
+		public const uint L2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L3")]
+		public const uint L3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L4")]
+		public const uint L4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L5")]
+		public const uint L5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L6")]
+		public const uint L6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L7")]
+		public const uint L7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L8")]
+		public const uint L8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L9")]
+		public const uint L9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Lacute")]
+		public const uint Lacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Last_Virtual_Screen")]
+		public const uint Last_Virtual_Screen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch0")]
+		public const uint Launch0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch1")]
+		public const uint Launch1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch2")]
+		public const uint Launch2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch3")]
+		public const uint Launch3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch4")]
+		public const uint Launch4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch5")]
+		public const uint Launch5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch6")]
+		public const uint Launch6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch7")]
+		public const uint Launch7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch8")]
+		public const uint Launch8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Launch9")]
+		public const uint Launch9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchA")]
+		public const uint LaunchA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchB")]
+		public const uint LaunchB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchC")]
+		public const uint LaunchC;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchD")]
+		public const uint LaunchD;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchE")]
+		public const uint LaunchE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LaunchF")]
+		public const uint LaunchF;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Lbelowdot")]
+		public const uint Lbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Lcaron")]
+		public const uint Lcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Lcedilla")]
+		public const uint Lcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Left")]
+		public const uint Left;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftDown")]
+		public const uint LeftDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftUp")]
+		public const uint LeftUp;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightBulb")]
+		public const uint LightBulb;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightsToggle")]
+		public const uint LightsToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Linefeed")]
+		public const uint Linefeed;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LiraSign")]
+		public const uint LiraSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LogGrabInfo")]
+		public const uint LogGrabInfo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LogOff")]
+		public const uint LogOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LogWindowTree")]
+		public const uint LogWindowTree;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Lstroke")]
+		public const uint Lstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_M")]
+		public const uint M;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mabovedot")]
+		public const uint Mabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_DSE")]
+		public const uint Macedonia_DSE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_GJE")]
+		public const uint Macedonia_GJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_KJE")]
+		public const uint Macedonia_KJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_dse")]
+		public const uint Macedonia_dse;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_gje")]
+		public const uint Macedonia_gje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_kje")]
+		public const uint Macedonia_kje;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro1")]
+		public const uint Macro1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro10")]
+		public const uint Macro10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro11")]
+		public const uint Macro11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro12")]
+		public const uint Macro12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro13")]
+		public const uint Macro13;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro14")]
+		public const uint Macro14;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro15")]
+		public const uint Macro15;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro16")]
+		public const uint Macro16;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro17")]
+		public const uint Macro17;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro18")]
+		public const uint Macro18;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro19")]
+		public const uint Macro19;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro2")]
+		public const uint Macro2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro20")]
+		public const uint Macro20;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro21")]
+		public const uint Macro21;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro22")]
+		public const uint Macro22;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro23")]
+		public const uint Macro23;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro24")]
+		public const uint Macro24;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro25")]
+		public const uint Macro25;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro26")]
+		public const uint Macro26;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro27")]
+		public const uint Macro27;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro28")]
+		public const uint Macro28;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro29")]
+		public const uint Macro29;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro3")]
+		public const uint Macro3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro30")]
+		public const uint Macro30;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro4")]
+		public const uint Macro4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro5")]
+		public const uint Macro5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro6")]
+		public const uint Macro6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro7")]
+		public const uint Macro7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro8")]
+		public const uint Macro8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro9")]
+		public const uint Macro9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset1")]
+		public const uint MacroPreset1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset2")]
+		public const uint MacroPreset2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset3")]
+		public const uint MacroPreset3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPresetCycle")]
+		public const uint MacroPresetCycle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStart")]
+		public const uint MacroRecordStart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStop")]
+		public const uint MacroRecordStop;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mae_Koho")]
+		public const uint Mae_Koho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mail")]
+		public const uint Mail;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MailForward")]
+		public const uint MailForward;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MarkWaypoint")]
+		public const uint MarkWaypoint;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Market")]
+		public const uint Market;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Massyo")]
+		public const uint Massyo;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaRepeat")]
+		public const uint MediaRepeat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaTopMenu")]
+		public const uint MediaTopMenu;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Meeting")]
+		public const uint Meeting;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Memo")]
+		public const uint Memo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Menu")]
+		public const uint Menu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MenuKB")]
+		public const uint MenuKB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MenuPB")]
+		public const uint MenuPB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Messenger")]
+		public const uint Messenger;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Meta_L")]
+		public const uint Meta_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Meta_R")]
+		public const uint Meta_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MillSign")]
+		public const uint MillSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ModeLock")]
+		public const uint ModeLock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mode_switch")]
+		public const uint Mode_switch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessCycle")]
+		public const uint MonBrightnessCycle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessDown")]
+		public const uint MonBrightnessDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessUp")]
+		public const uint MonBrightnessUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MouseKeys_Accel_Enable")]
+		public const uint MouseKeys_Accel_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MouseKeys_Enable")]
+		public const uint MouseKeys_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Muhenkan")]
+		public const uint Muhenkan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Multi_key")]
+		public const uint Multi_key;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MultipleCandidate")]
+		public const uint MultipleCandidate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Music")]
+		public const uint Music;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MyComputer")]
+		public const uint MyComputer;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MySites")]
+		public const uint MySites;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_N")]
+		public const uint N;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Nacute")]
+		public const uint Nacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NairaSign")]
+		public const uint NairaSign;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavChart")]
+		public const uint NavChart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavInfo")]
+		public const uint NavInfo;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncaron")]
+		public const uint Ncaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncedilla")]
+		public const uint Ncedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_New")]
+		public const uint New;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NewSheqelSign")]
+		public const uint NewSheqelSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_News")]
+		public const uint News;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next")]
+		public const uint Next;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextElement")]
+		public const uint NextElement;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextFavorite")]
+		public const uint NextFavorite;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_VMode")]
+		public const uint Next_VMode;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_Virtual_Screen")]
+		public const uint Next_Virtual_Screen;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NotificationCenter")]
+		public const uint NotificationCenter;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ntilde")]
+		public const uint Ntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Num_Lock")]
+		public const uint Num_Lock;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric0")]
+		public const uint Numeric0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric1")]
+		public const uint Numeric1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric11")]
+		public const uint Numeric11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric12")]
+		public const uint Numeric12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric2")]
+		public const uint Numeric2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric3")]
+		public const uint Numeric3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric4")]
+		public const uint Numeric4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric5")]
+		public const uint Numeric5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric6")]
+		public const uint Numeric6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric7")]
+		public const uint Numeric7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric8")]
+		public const uint Numeric8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric9")]
+		public const uint Numeric9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericA")]
+		public const uint NumericA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericB")]
+		public const uint NumericB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericC")]
+		public const uint NumericC;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericD")]
+		public const uint NumericD;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericPound")]
+		public const uint NumericPound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericStar")]
+		public const uint NumericStar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_O")]
+		public const uint O;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OE")]
+		public const uint OE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Oacute")]
+		public const uint Oacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Obarred")]
+		public const uint Obarred;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Obelowdot")]
+		public const uint Obelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocaron")]
+		public const uint Ocaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflex")]
+		public const uint Ocircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflexacute")]
+		public const uint Ocircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflexbelowdot")]
+		public const uint Ocircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflexgrave")]
+		public const uint Ocircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflexhook")]
+		public const uint Ocircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ocircumflextilde")]
+		public const uint Ocircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Odiaeresis")]
+		public const uint Odiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Odoubleacute")]
+		public const uint Odoubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OfficeHome")]
+		public const uint OfficeHome;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ograve")]
+		public const uint Ograve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohook")]
+		public const uint Ohook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohorn")]
+		public const uint Ohorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohornacute")]
+		public const uint Ohornacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohornbelowdot")]
+		public const uint Ohornbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohorngrave")]
+		public const uint Ohorngrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohornhook")]
+		public const uint Ohornhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ohorntilde")]
+		public const uint Ohorntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Omacron")]
+		public const uint Omacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OnScreenKeyboard")]
+		public const uint OnScreenKeyboard;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ooblique")]
+		public const uint Ooblique;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Open")]
+		public const uint Open;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OpenURL")]
+		public const uint OpenURL;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Option")]
+		public const uint Option;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Oslash")]
+		public const uint Oslash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Otilde")]
+		public const uint Otilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Overlay1_Enable")]
+		public const uint Overlay1_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Overlay2_Enable")]
+		public const uint Overlay2_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_P")]
+		public const uint P;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pabovedot")]
+		public const uint Pabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Page_Down")]
+		public const uint Page_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Page_Up")]
+		public const uint Page_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Paste")]
+		public const uint Paste;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pause")]
+		public const uint Pause;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PauseRecord")]
+		public const uint PauseRecord;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PesetaSign")]
+		public const uint PesetaSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Phone")]
+		public const uint Phone;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PickupPhone")]
+		public const uint PickupPhone;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pictures")]
+		public const uint Pictures;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Accelerate")]
+		public const uint Pointer_Accelerate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button1")]
+		public const uint Pointer_Button1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button2")]
+		public const uint Pointer_Button2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button3")]
+		public const uint Pointer_Button3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button4")]
+		public const uint Pointer_Button4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button5")]
+		public const uint Pointer_Button5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Button_Dflt")]
+		public const uint Pointer_Button_Dflt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick1")]
+		public const uint Pointer_DblClick1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick2")]
+		public const uint Pointer_DblClick2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick3")]
+		public const uint Pointer_DblClick3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick4")]
+		public const uint Pointer_DblClick4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick5")]
+		public const uint Pointer_DblClick5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DblClick_Dflt")]
+		public const uint Pointer_DblClick_Dflt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DfltBtnNext")]
+		public const uint Pointer_DfltBtnNext;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DfltBtnPrev")]
+		public const uint Pointer_DfltBtnPrev;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Down")]
+		public const uint Pointer_Down;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DownLeft")]
+		public const uint Pointer_DownLeft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_DownRight")]
+		public const uint Pointer_DownRight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag1")]
+		public const uint Pointer_Drag1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag2")]
+		public const uint Pointer_Drag2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag3")]
+		public const uint Pointer_Drag3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag4")]
+		public const uint Pointer_Drag4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag5")]
+		public const uint Pointer_Drag5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Drag_Dflt")]
+		public const uint Pointer_Drag_Dflt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_EnableKeys")]
+		public const uint Pointer_EnableKeys;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Left")]
+		public const uint Pointer_Left;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Right")]
+		public const uint Pointer_Right;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Up")]
+		public const uint Pointer_Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_UpLeft")]
+		public const uint Pointer_UpLeft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_UpRight")]
+		public const uint Pointer_UpRight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PowerDown")]
+		public const uint PowerDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PowerOff")]
+		public const uint PowerOff;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Presentation")]
+		public const uint Presentation;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_VMode")]
+		public const uint Prev_VMode;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_Virtual_Screen")]
+		public const uint Prev_Virtual_Screen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousCandidate")]
+		public const uint PreviousCandidate;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousElement")]
+		public const uint PreviousElement;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Print")]
+		public const uint Print;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prior")]
+		public const uint Prior;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PrivacyScreenToggle")]
+		public const uint PrivacyScreenToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Q")]
+		public const uint Q;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R")]
+		public const uint R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R1")]
+		public const uint R1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R10")]
+		public const uint R10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R11")]
+		public const uint R11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R12")]
+		public const uint R12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R13")]
+		public const uint R13;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R14")]
+		public const uint R14;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R15")]
+		public const uint R15;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R2")]
+		public const uint R2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R3")]
+		public const uint R3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R4")]
+		public const uint R4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R5")]
+		public const uint R5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R6")]
+		public const uint R6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R7")]
+		public const uint R7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R8")]
+		public const uint R8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R9")]
+		public const uint R9;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RFKill")]
+		public const uint RFKill;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Racute")]
+		public const uint Racute;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RadarOverlay")]
+		public const uint RadarOverlay;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcaron")]
+		public const uint Rcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcedilla")]
+		public const uint Rcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Red")]
+		public const uint Red;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Redo")]
+		public const uint Redo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Refresh")]
+		public const uint Refresh;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RefreshRateToggle")]
+		public const uint RefreshRateToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Reload")]
+		public const uint Reload;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RepeatKeys_Enable")]
+		public const uint RepeatKeys_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Reply")]
+		public const uint Reply;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Return")]
+		public const uint Return;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Right")]
+		public const uint Right;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightDown")]
+		public const uint RightDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightUp")]
+		public const uint RightUp;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerDown")]
+		public const uint RockerDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerEnter")]
+		public const uint RockerEnter;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerUp")]
+		public const uint RockerUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Romaji")]
+		public const uint Romaji;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RootMenu")]
+		public const uint RootMenu;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotateWindows")]
+		public const uint RotateWindows;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationKB")]
+		public const uint RotationKB;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationLockToggle")]
+		public const uint RotationLockToggle;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationPB")]
+		public const uint RotationPB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RupeeSign")]
+		public const uint RupeeSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_S")]
+		public const uint S;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SCHWA")]
+		public const uint SCHWA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sabovedot")]
+		public const uint Sabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sacute")]
+		public const uint Sacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Save")]
+		public const uint Save;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Scaron")]
+		public const uint Scaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Scedilla")]
+		public const uint Scedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Scircumflex")]
+		public const uint Scircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScreenSaver")]
+		public const uint ScreenSaver;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Screensaver")]
+		public const uint Screensaver;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollClick")]
+		public const uint ScrollClick;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollDown")]
+		public const uint ScrollDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollUp")]
+		public const uint ScrollUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Scroll_Lock")]
+		public const uint Scroll_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Search")]
+		public const uint Search;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Select")]
+		public const uint Select;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectButton")]
+		public const uint SelectButton;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectiveScreenshot")]
+		public const uint SelectiveScreenshot;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Send")]
+		public const uint Send;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_DJE")]
+		public const uint Serbian_DJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_DZE")]
+		public const uint Serbian_DZE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_JE")]
+		public const uint Serbian_JE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_LJE")]
+		public const uint Serbian_LJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_NJE")]
+		public const uint Serbian_NJE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_TSHE")]
+		public const uint Serbian_TSHE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_dje")]
+		public const uint Serbian_dje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_dze")]
+		public const uint Serbian_dze;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_je")]
+		public const uint Serbian_je;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_lje")]
+		public const uint Serbian_lje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_nje")]
+		public const uint Serbian_nje;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_tshe")]
+		public const uint Serbian_tshe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shift_L")]
+		public const uint Shift_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shift_Lock")]
+		public const uint Shift_Lock;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shift_R")]
+		public const uint Shift_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shop")]
+		public const uint Shop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SidevuSonar")]
+		public const uint SidevuSonar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleCandidate")]
+		public const uint SingleCandidate;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleRangeRadar")]
+		public const uint SingleRangeRadar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_a")]
+		public const uint Sinh_a;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aa")]
+		public const uint Sinh_aa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aa2")]
+		public const uint Sinh_aa2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ae")]
+		public const uint Sinh_ae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ae2")]
+		public const uint Sinh_ae2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aee")]
+		public const uint Sinh_aee;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aee2")]
+		public const uint Sinh_aee2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ai")]
+		public const uint Sinh_ai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ai2")]
+		public const uint Sinh_ai2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_al")]
+		public const uint Sinh_al;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_au")]
+		public const uint Sinh_au;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_au2")]
+		public const uint Sinh_au2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ba")]
+		public const uint Sinh_ba;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_bha")]
+		public const uint Sinh_bha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ca")]
+		public const uint Sinh_ca;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_cha")]
+		public const uint Sinh_cha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_dda")]
+		public const uint Sinh_dda;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ddha")]
+		public const uint Sinh_ddha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_dha")]
+		public const uint Sinh_dha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_dhha")]
+		public const uint Sinh_dhha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_e")]
+		public const uint Sinh_e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_e2")]
+		public const uint Sinh_e2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ee")]
+		public const uint Sinh_ee;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ee2")]
+		public const uint Sinh_ee2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_fa")]
+		public const uint Sinh_fa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ga")]
+		public const uint Sinh_ga;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_gha")]
+		public const uint Sinh_gha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_h2")]
+		public const uint Sinh_h2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ha")]
+		public const uint Sinh_ha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_i")]
+		public const uint Sinh_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_i2")]
+		public const uint Sinh_i2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ii")]
+		public const uint Sinh_ii;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ii2")]
+		public const uint Sinh_ii2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ja")]
+		public const uint Sinh_ja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_jha")]
+		public const uint Sinh_jha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_jnya")]
+		public const uint Sinh_jnya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ka")]
+		public const uint Sinh_ka;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_kha")]
+		public const uint Sinh_kha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_kunddaliya")]
+		public const uint Sinh_kunddaliya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_la")]
+		public const uint Sinh_la;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_lla")]
+		public const uint Sinh_lla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_lu")]
+		public const uint Sinh_lu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_lu2")]
+		public const uint Sinh_lu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_luu")]
+		public const uint Sinh_luu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_luu2")]
+		public const uint Sinh_luu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ma")]
+		public const uint Sinh_ma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_mba")]
+		public const uint Sinh_mba;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_na")]
+		public const uint Sinh_na;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ndda")]
+		public const uint Sinh_ndda;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ndha")]
+		public const uint Sinh_ndha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ng")]
+		public const uint Sinh_ng;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ng2")]
+		public const uint Sinh_ng2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_nga")]
+		public const uint Sinh_nga;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_nja")]
+		public const uint Sinh_nja;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_nna")]
+		public const uint Sinh_nna;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_nya")]
+		public const uint Sinh_nya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_o")]
+		public const uint Sinh_o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_o2")]
+		public const uint Sinh_o2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_oo")]
+		public const uint Sinh_oo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_oo2")]
+		public const uint Sinh_oo2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_pa")]
+		public const uint Sinh_pa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_pha")]
+		public const uint Sinh_pha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ra")]
+		public const uint Sinh_ra;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ri")]
+		public const uint Sinh_ri;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_rii")]
+		public const uint Sinh_rii;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ru2")]
+		public const uint Sinh_ru2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ruu2")]
+		public const uint Sinh_ruu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_sa")]
+		public const uint Sinh_sa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_sha")]
+		public const uint Sinh_sha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ssha")]
+		public const uint Sinh_ssha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_tha")]
+		public const uint Sinh_tha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_thha")]
+		public const uint Sinh_thha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_tta")]
+		public const uint Sinh_tta;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ttha")]
+		public const uint Sinh_ttha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_u")]
+		public const uint Sinh_u;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_u2")]
+		public const uint Sinh_u2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_uu")]
+		public const uint Sinh_uu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_uu2")]
+		public const uint Sinh_uu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_va")]
+		public const uint Sinh_va;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_ya")]
+		public const uint Sinh_ya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sleep")]
+		public const uint Sleep;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowKeys_Enable")]
+		public const uint SlowKeys_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowReverse")]
+		public const uint SlowReverse;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sos")]
+		public const uint Sos;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Spell")]
+		public const uint Spell;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SpellCheck")]
+		public const uint SpellCheck;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SplitScreen")]
+		public const uint SplitScreen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Standby")]
+		public const uint Standby;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Start")]
+		public const uint Start;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_StickyKeys_Enable")]
+		public const uint StickyKeys_Enable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Stop")]
+		public const uint Stop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_StopRecord")]
+		public const uint StopRecord;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Subtitle")]
+		public const uint Subtitle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Super_L")]
+		public const uint Super_L;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Super_R")]
+		public const uint Super_R;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Support")]
+		public const uint Support;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Suspend")]
+		public const uint Suspend;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_1")]
+		public const uint Switch_VT_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_10")]
+		public const uint Switch_VT_10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_11")]
+		public const uint Switch_VT_11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_12")]
+		public const uint Switch_VT_12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_2")]
+		public const uint Switch_VT_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_3")]
+		public const uint Switch_VT_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_4")]
+		public const uint Switch_VT_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_5")]
+		public const uint Switch_VT_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_6")]
+		public const uint Switch_VT_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_7")]
+		public const uint Switch_VT_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_8")]
+		public const uint Switch_VT_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Switch_VT_9")]
+		public const uint Switch_VT_9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sys_Req")]
+		public const uint Sys_Req;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_T")]
+		public const uint T;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_THORN")]
+		public const uint THORN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tab")]
+		public const uint Tab;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tabovedot")]
+		public const uint Tabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TaskPane")]
+		public const uint TaskPane;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Taskmanager")]
+		public const uint Taskmanager;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcaron")]
+		public const uint Tcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcedilla")]
+		public const uint Tcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Terminal")]
+		public const uint Terminal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Terminate_Server")]
+		public const uint Terminate_Server;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_baht")]
+		public const uint Thai_baht;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_bobaimai")]
+		public const uint Thai_bobaimai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_chochan")]
+		public const uint Thai_chochan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_chochang")]
+		public const uint Thai_chochang;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_choching")]
+		public const uint Thai_choching;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_chochoe")]
+		public const uint Thai_chochoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_dochada")]
+		public const uint Thai_dochada;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_dodek")]
+		public const uint Thai_dodek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_fofa")]
+		public const uint Thai_fofa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_fofan")]
+		public const uint Thai_fofan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_hohip")]
+		public const uint Thai_hohip;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_honokhuk")]
+		public const uint Thai_honokhuk;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_khokhai")]
+		public const uint Thai_khokhai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_khokhon")]
+		public const uint Thai_khokhon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_khokhuat")]
+		public const uint Thai_khokhuat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_khokhwai")]
+		public const uint Thai_khokhwai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_khorakhang")]
+		public const uint Thai_khorakhang;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_kokai")]
+		public const uint Thai_kokai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lakkhangyao")]
+		public const uint Thai_lakkhangyao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lekchet")]
+		public const uint Thai_lekchet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lekha")]
+		public const uint Thai_lekha;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lekhok")]
+		public const uint Thai_lekhok;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lekkao")]
+		public const uint Thai_lekkao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_leknung")]
+		public const uint Thai_leknung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lekpaet")]
+		public const uint Thai_lekpaet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_leksam")]
+		public const uint Thai_leksam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_leksi")]
+		public const uint Thai_leksi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_leksong")]
+		public const uint Thai_leksong;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_leksun")]
+		public const uint Thai_leksun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lochula")]
+		public const uint Thai_lochula;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_loling")]
+		public const uint Thai_loling;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_lu")]
+		public const uint Thai_lu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maichattawa")]
+		public const uint Thai_maichattawa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maiek")]
+		public const uint Thai_maiek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maihanakat")]
+		public const uint Thai_maihanakat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maihanakat_maitho")]
+		public const uint Thai_maihanakat_maitho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maitaikhu")]
+		public const uint Thai_maitaikhu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maitho")]
+		public const uint Thai_maitho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maitri")]
+		public const uint Thai_maitri;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_maiyamok")]
+		public const uint Thai_maiyamok;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_moma")]
+		public const uint Thai_moma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_ngongu")]
+		public const uint Thai_ngongu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_nikhahit")]
+		public const uint Thai_nikhahit;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_nonen")]
+		public const uint Thai_nonen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_nonu")]
+		public const uint Thai_nonu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_oang")]
+		public const uint Thai_oang;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_paiyannoi")]
+		public const uint Thai_paiyannoi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_phinthu")]
+		public const uint Thai_phinthu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_phophan")]
+		public const uint Thai_phophan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_phophung")]
+		public const uint Thai_phophung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_phosamphao")]
+		public const uint Thai_phosamphao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_popla")]
+		public const uint Thai_popla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_rorua")]
+		public const uint Thai_rorua;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_ru")]
+		public const uint Thai_ru;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraa")]
+		public const uint Thai_saraa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraaa")]
+		public const uint Thai_saraaa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraae")]
+		public const uint Thai_saraae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraaimaimalai")]
+		public const uint Thai_saraaimaimalai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraaimaimuan")]
+		public const uint Thai_saraaimaimuan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraam")]
+		public const uint Thai_saraam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarae")]
+		public const uint Thai_sarae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarai")]
+		public const uint Thai_sarai;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraii")]
+		public const uint Thai_saraii;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarao")]
+		public const uint Thai_sarao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarau")]
+		public const uint Thai_sarau;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_saraue")]
+		public const uint Thai_saraue;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarauee")]
+		public const uint Thai_sarauee;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sarauu")]
+		public const uint Thai_sarauu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sorusi")]
+		public const uint Thai_sorusi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sosala")]
+		public const uint Thai_sosala;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_soso")]
+		public const uint Thai_soso;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_sosua")]
+		public const uint Thai_sosua;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thanthakhat")]
+		public const uint Thai_thanthakhat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thonangmontho")]
+		public const uint Thai_thonangmontho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thophuthao")]
+		public const uint Thai_thophuthao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thothahan")]
+		public const uint Thai_thothahan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thothan")]
+		public const uint Thai_thothan;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thothong")]
+		public const uint Thai_thothong;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_thothung")]
+		public const uint Thai_thothung;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_topatak")]
+		public const uint Thai_topatak;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_totao")]
+		public const uint Thai_totao;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_wowaen")]
+		public const uint Thai_wowaen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_yoyak")]
+		public const uint Thai_yoyak;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thai_yoying")]
+		public const uint Thai_yoying;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Thorn")]
+		public const uint Thorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Time")]
+		public const uint Time;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ToDoList")]
+		public const uint ToDoList;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tools")]
+		public const uint Tools;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TopMenu")]
+		public const uint TopMenu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TouchpadOff")]
+		public const uint TouchpadOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TouchpadOn")]
+		public const uint TouchpadOn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TouchpadToggle")]
+		public const uint TouchpadToggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Touroku")]
+		public const uint Touroku;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TraditionalSonar")]
+		public const uint TraditionalSonar;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Travel")]
+		public const uint Travel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tslash")]
+		public const uint Tslash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_U")]
+		public const uint U;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_UWB")]
+		public const uint UWB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uacute")]
+		public const uint Uacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ubelowdot")]
+		public const uint Ubelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ubreve")]
+		public const uint Ubreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ucircumflex")]
+		public const uint Ucircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Udiaeresis")]
+		public const uint Udiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Udoubleacute")]
+		public const uint Udoubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ugrave")]
+		public const uint Ugrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhook")]
+		public const uint Uhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhorn")]
+		public const uint Uhorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhornacute")]
+		public const uint Uhornacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhornbelowdot")]
+		public const uint Uhornbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhorngrave")]
+		public const uint Uhorngrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhornhook")]
+		public const uint Uhornhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uhorntilde")]
+		public const uint Uhorntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_GHE_WITH_UPTURN")]
+		public const uint Ukrainian_GHE_WITH_UPTURN;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_I")]
+		public const uint Ukrainian_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_IE")]
+		public const uint Ukrainian_IE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_YI")]
+		public const uint Ukrainian_YI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_ghe_with_upturn")]
+		public const uint Ukrainian_ghe_with_upturn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_i")]
+		public const uint Ukrainian_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_ie")]
+		public const uint Ukrainian_ie;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukrainian_yi")]
+		public const uint Ukrainian_yi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_I")]
+		public const uint Ukranian_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_JE")]
+		public const uint Ukranian_JE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_YI")]
+		public const uint Ukranian_YI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_i")]
+		public const uint Ukranian_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_je")]
+		public const uint Ukranian_je;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ukranian_yi")]
+		public const uint Ukranian_yi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Umacron")]
+		public const uint Umacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Undo")]
+		public const uint Undo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ungrab")]
+		public const uint Ungrab;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Unmute")]
+		public const uint Unmute;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uogonek")]
+		public const uint Uogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Up")]
+		public const uint Up;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uring")]
+		public const uint Uring;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_User1KB")]
+		public const uint User1KB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_User2KB")]
+		public const uint User2KB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_UserPB")]
+		public const uint UserPB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Utilde")]
+		public const uint Utilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_V")]
+		public const uint V;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VOD")]
+		public const uint VOD;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VendorHome")]
+		public const uint VendorHome;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Video")]
+		public const uint Video;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VideoPhone")]
+		public const uint VideoPhone;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_View")]
+		public const uint View;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoiceCommand")]
+		public const uint VoiceCommand;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Voicemail")]
+		public const uint Voicemail;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoidSymbol")]
+		public const uint VoidSymbol;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_W")]
+		public const uint W;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WLAN")]
+		public const uint WLAN;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WPSButton")]
+		public const uint WPSButton;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWAN")]
+		public const uint WWAN;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWW")]
+		public const uint WWW;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wacute")]
+		public const uint Wacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WakeUp")]
+		public const uint WakeUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wcircumflex")]
+		public const uint Wcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wdiaeresis")]
+		public const uint Wdiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WebCam")]
+		public const uint WebCam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wgrave")]
+		public const uint Wgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WheelButton")]
+		public const uint WheelButton;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WindowClear")]
+		public const uint WindowClear;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WonSign")]
+		public const uint WonSign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Word")]
+		public const uint Word;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_X")]
+		public const uint X;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Xabovedot")]
+		public const uint Xabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Xfer")]
+		public const uint Xfer;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Y")]
+		public const uint Y;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Yacute")]
+		public const uint Yacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ybelowdot")]
+		public const uint Ybelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ycircumflex")]
+		public const uint Ycircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ydiaeresis")]
+		public const uint Ydiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Yellow")]
+		public const uint Yellow;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ygrave")]
+		public const uint Ygrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Yhook")]
+		public const uint Yhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ytilde")]
+		public const uint Ytilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Z")]
+		public const uint Z;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zabovedot")]
+		public const uint Zabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zacute")]
+		public const uint Zacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zcaron")]
+		public const uint Zcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zen_Koho")]
+		public const uint Zen_Koho;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zenkaku")]
+		public const uint Zenkaku;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zenkaku_Hankaku")]
+		public const uint Zenkaku_Hankaku;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomIn")]
+		public const uint ZoomIn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomOut")]
+		public const uint ZoomOut;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomReset")]
+		public const uint ZoomReset;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zstroke")]
+		public const uint Zstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_a")]
+		public const uint a;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_aacute")]
+		public const uint aacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abelowdot")]
+		public const uint abelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abovedot")]
+		public const uint abovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abreve")]
+		public const uint abreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abreveacute")]
+		public const uint abreveacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abrevebelowdot")]
+		public const uint abrevebelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abrevegrave")]
+		public const uint abrevegrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abrevehook")]
+		public const uint abrevehook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_abrevetilde")]
+		public const uint abrevetilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflex")]
+		public const uint acircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflexacute")]
+		public const uint acircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflexbelowdot")]
+		public const uint acircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflexgrave")]
+		public const uint acircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflexhook")]
+		public const uint acircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acircumflextilde")]
+		public const uint acircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_acute")]
+		public const uint acute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_adiaeresis")]
+		public const uint adiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ae")]
+		public const uint ae;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_agrave")]
+		public const uint agrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ahook")]
+		public const uint ahook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_amacron")]
+		public const uint amacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ampersand")]
+		public const uint ampersand;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_aogonek")]
+		public const uint aogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_apostrophe")]
+		public const uint apostrophe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_approxeq")]
+		public const uint approxeq;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_approximate")]
+		public const uint approximate;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_aring")]
+		public const uint aring;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_asciicircum")]
+		public const uint asciicircum;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_asciitilde")]
+		public const uint asciitilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_asterisk")]
+		public const uint asterisk;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_at")]
+		public const uint at;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_atilde")]
+		public const uint atilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_b")]
+		public const uint b;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_babovedot")]
+		public const uint babovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_backslash")]
+		public const uint backslash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ballotcross")]
+		public const uint ballotcross;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_bar")]
+		public const uint bar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_because")]
+		public const uint because;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_blank")]
+		public const uint blank;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botintegral")]
+		public const uint botintegral;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botleftparens")]
+		public const uint botleftparens;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botleftsqbracket")]
+		public const uint botleftsqbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botleftsummation")]
+		public const uint botleftsummation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botrightparens")]
+		public const uint botrightparens;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botrightsqbracket")]
+		public const uint botrightsqbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botrightsummation")]
+		public const uint botrightsummation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_bott")]
+		public const uint bott;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_botvertsummationconnector")]
+		public const uint botvertsummationconnector;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braceleft")]
+		public const uint braceleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braceright")]
+		public const uint braceright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_bracketleft")]
+		public const uint bracketleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_bracketright")]
+		public const uint bracketright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_blank")]
+		public const uint braille_blank;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_1")]
+		public const uint braille_dot_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_10")]
+		public const uint braille_dot_10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_2")]
+		public const uint braille_dot_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_3")]
+		public const uint braille_dot_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_4")]
+		public const uint braille_dot_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_5")]
+		public const uint braille_dot_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_6")]
+		public const uint braille_dot_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_7")]
+		public const uint braille_dot_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_8")]
+		public const uint braille_dot_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dot_9")]
+		public const uint braille_dot_9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1")]
+		public const uint braille_dots_1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12")]
+		public const uint braille_dots_12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123")]
+		public const uint braille_dots_123;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1234")]
+		public const uint braille_dots_1234;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12345")]
+		public const uint braille_dots_12345;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123456")]
+		public const uint braille_dots_123456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1234567")]
+		public const uint braille_dots_1234567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12345678")]
+		public const uint braille_dots_12345678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1234568")]
+		public const uint braille_dots_1234568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123457")]
+		public const uint braille_dots_123457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1234578")]
+		public const uint braille_dots_1234578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123458")]
+		public const uint braille_dots_123458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12346")]
+		public const uint braille_dots_12346;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123467")]
+		public const uint braille_dots_123467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1234678")]
+		public const uint braille_dots_1234678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123468")]
+		public const uint braille_dots_123468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12347")]
+		public const uint braille_dots_12347;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123478")]
+		public const uint braille_dots_123478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12348")]
+		public const uint braille_dots_12348;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1235")]
+		public const uint braille_dots_1235;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12356")]
+		public const uint braille_dots_12356;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123567")]
+		public const uint braille_dots_123567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1235678")]
+		public const uint braille_dots_1235678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123568")]
+		public const uint braille_dots_123568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12357")]
+		public const uint braille_dots_12357;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123578")]
+		public const uint braille_dots_123578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12358")]
+		public const uint braille_dots_12358;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1236")]
+		public const uint braille_dots_1236;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12367")]
+		public const uint braille_dots_12367;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_123678")]
+		public const uint braille_dots_123678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12368")]
+		public const uint braille_dots_12368;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1237")]
+		public const uint braille_dots_1237;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12378")]
+		public const uint braille_dots_12378;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1238")]
+		public const uint braille_dots_1238;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_124")]
+		public const uint braille_dots_124;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1245")]
+		public const uint braille_dots_1245;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12456")]
+		public const uint braille_dots_12456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_124567")]
+		public const uint braille_dots_124567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1245678")]
+		public const uint braille_dots_1245678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_124568")]
+		public const uint braille_dots_124568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12457")]
+		public const uint braille_dots_12457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_124578")]
+		public const uint braille_dots_124578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12458")]
+		public const uint braille_dots_12458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1246")]
+		public const uint braille_dots_1246;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12467")]
+		public const uint braille_dots_12467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_124678")]
+		public const uint braille_dots_124678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12468")]
+		public const uint braille_dots_12468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1247")]
+		public const uint braille_dots_1247;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12478")]
+		public const uint braille_dots_12478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1248")]
+		public const uint braille_dots_1248;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_125")]
+		public const uint braille_dots_125;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1256")]
+		public const uint braille_dots_1256;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12567")]
+		public const uint braille_dots_12567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_125678")]
+		public const uint braille_dots_125678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12568")]
+		public const uint braille_dots_12568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1257")]
+		public const uint braille_dots_1257;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12578")]
+		public const uint braille_dots_12578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1258")]
+		public const uint braille_dots_1258;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_126")]
+		public const uint braille_dots_126;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1267")]
+		public const uint braille_dots_1267;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_12678")]
+		public const uint braille_dots_12678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1268")]
+		public const uint braille_dots_1268;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_127")]
+		public const uint braille_dots_127;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1278")]
+		public const uint braille_dots_1278;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_128")]
+		public const uint braille_dots_128;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13")]
+		public const uint braille_dots_13;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_134")]
+		public const uint braille_dots_134;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1345")]
+		public const uint braille_dots_1345;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13456")]
+		public const uint braille_dots_13456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_134567")]
+		public const uint braille_dots_134567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1345678")]
+		public const uint braille_dots_1345678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_134568")]
+		public const uint braille_dots_134568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13457")]
+		public const uint braille_dots_13457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_134578")]
+		public const uint braille_dots_134578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13458")]
+		public const uint braille_dots_13458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1346")]
+		public const uint braille_dots_1346;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13467")]
+		public const uint braille_dots_13467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_134678")]
+		public const uint braille_dots_134678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13468")]
+		public const uint braille_dots_13468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1347")]
+		public const uint braille_dots_1347;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13478")]
+		public const uint braille_dots_13478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1348")]
+		public const uint braille_dots_1348;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_135")]
+		public const uint braille_dots_135;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1356")]
+		public const uint braille_dots_1356;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13567")]
+		public const uint braille_dots_13567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_135678")]
+		public const uint braille_dots_135678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13568")]
+		public const uint braille_dots_13568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1357")]
+		public const uint braille_dots_1357;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13578")]
+		public const uint braille_dots_13578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1358")]
+		public const uint braille_dots_1358;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_136")]
+		public const uint braille_dots_136;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1367")]
+		public const uint braille_dots_1367;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_13678")]
+		public const uint braille_dots_13678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1368")]
+		public const uint braille_dots_1368;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_137")]
+		public const uint braille_dots_137;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1378")]
+		public const uint braille_dots_1378;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_138")]
+		public const uint braille_dots_138;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_14")]
+		public const uint braille_dots_14;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_145")]
+		public const uint braille_dots_145;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1456")]
+		public const uint braille_dots_1456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_14567")]
+		public const uint braille_dots_14567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_145678")]
+		public const uint braille_dots_145678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_14568")]
+		public const uint braille_dots_14568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1457")]
+		public const uint braille_dots_1457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_14578")]
+		public const uint braille_dots_14578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1458")]
+		public const uint braille_dots_1458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_146")]
+		public const uint braille_dots_146;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1467")]
+		public const uint braille_dots_1467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_14678")]
+		public const uint braille_dots_14678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1468")]
+		public const uint braille_dots_1468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_147")]
+		public const uint braille_dots_147;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1478")]
+		public const uint braille_dots_1478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_148")]
+		public const uint braille_dots_148;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_15")]
+		public const uint braille_dots_15;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_156")]
+		public const uint braille_dots_156;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1567")]
+		public const uint braille_dots_1567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_15678")]
+		public const uint braille_dots_15678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1568")]
+		public const uint braille_dots_1568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_157")]
+		public const uint braille_dots_157;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1578")]
+		public const uint braille_dots_1578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_158")]
+		public const uint braille_dots_158;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_16")]
+		public const uint braille_dots_16;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_167")]
+		public const uint braille_dots_167;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_1678")]
+		public const uint braille_dots_1678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_168")]
+		public const uint braille_dots_168;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_17")]
+		public const uint braille_dots_17;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_178")]
+		public const uint braille_dots_178;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_18")]
+		public const uint braille_dots_18;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2")]
+		public const uint braille_dots_2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23")]
+		public const uint braille_dots_23;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_234")]
+		public const uint braille_dots_234;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2345")]
+		public const uint braille_dots_2345;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23456")]
+		public const uint braille_dots_23456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_234567")]
+		public const uint braille_dots_234567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2345678")]
+		public const uint braille_dots_2345678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_234568")]
+		public const uint braille_dots_234568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23457")]
+		public const uint braille_dots_23457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_234578")]
+		public const uint braille_dots_234578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23458")]
+		public const uint braille_dots_23458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2346")]
+		public const uint braille_dots_2346;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23467")]
+		public const uint braille_dots_23467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_234678")]
+		public const uint braille_dots_234678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23468")]
+		public const uint braille_dots_23468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2347")]
+		public const uint braille_dots_2347;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23478")]
+		public const uint braille_dots_23478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2348")]
+		public const uint braille_dots_2348;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_235")]
+		public const uint braille_dots_235;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2356")]
+		public const uint braille_dots_2356;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23567")]
+		public const uint braille_dots_23567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_235678")]
+		public const uint braille_dots_235678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23568")]
+		public const uint braille_dots_23568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2357")]
+		public const uint braille_dots_2357;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23578")]
+		public const uint braille_dots_23578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2358")]
+		public const uint braille_dots_2358;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_236")]
+		public const uint braille_dots_236;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2367")]
+		public const uint braille_dots_2367;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_23678")]
+		public const uint braille_dots_23678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2368")]
+		public const uint braille_dots_2368;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_237")]
+		public const uint braille_dots_237;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2378")]
+		public const uint braille_dots_2378;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_238")]
+		public const uint braille_dots_238;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_24")]
+		public const uint braille_dots_24;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_245")]
+		public const uint braille_dots_245;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2456")]
+		public const uint braille_dots_2456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_24567")]
+		public const uint braille_dots_24567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_245678")]
+		public const uint braille_dots_245678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_24568")]
+		public const uint braille_dots_24568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2457")]
+		public const uint braille_dots_2457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_24578")]
+		public const uint braille_dots_24578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2458")]
+		public const uint braille_dots_2458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_246")]
+		public const uint braille_dots_246;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2467")]
+		public const uint braille_dots_2467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_24678")]
+		public const uint braille_dots_24678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2468")]
+		public const uint braille_dots_2468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_247")]
+		public const uint braille_dots_247;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2478")]
+		public const uint braille_dots_2478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_248")]
+		public const uint braille_dots_248;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_25")]
+		public const uint braille_dots_25;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_256")]
+		public const uint braille_dots_256;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2567")]
+		public const uint braille_dots_2567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_25678")]
+		public const uint braille_dots_25678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2568")]
+		public const uint braille_dots_2568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_257")]
+		public const uint braille_dots_257;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2578")]
+		public const uint braille_dots_2578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_258")]
+		public const uint braille_dots_258;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_26")]
+		public const uint braille_dots_26;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_267")]
+		public const uint braille_dots_267;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_2678")]
+		public const uint braille_dots_2678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_268")]
+		public const uint braille_dots_268;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_27")]
+		public const uint braille_dots_27;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_278")]
+		public const uint braille_dots_278;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_28")]
+		public const uint braille_dots_28;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3")]
+		public const uint braille_dots_3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_34")]
+		public const uint braille_dots_34;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_345")]
+		public const uint braille_dots_345;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3456")]
+		public const uint braille_dots_3456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_34567")]
+		public const uint braille_dots_34567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_345678")]
+		public const uint braille_dots_345678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_34568")]
+		public const uint braille_dots_34568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3457")]
+		public const uint braille_dots_3457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_34578")]
+		public const uint braille_dots_34578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3458")]
+		public const uint braille_dots_3458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_346")]
+		public const uint braille_dots_346;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3467")]
+		public const uint braille_dots_3467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_34678")]
+		public const uint braille_dots_34678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3468")]
+		public const uint braille_dots_3468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_347")]
+		public const uint braille_dots_347;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3478")]
+		public const uint braille_dots_3478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_348")]
+		public const uint braille_dots_348;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_35")]
+		public const uint braille_dots_35;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_356")]
+		public const uint braille_dots_356;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3567")]
+		public const uint braille_dots_3567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_35678")]
+		public const uint braille_dots_35678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3568")]
+		public const uint braille_dots_3568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_357")]
+		public const uint braille_dots_357;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3578")]
+		public const uint braille_dots_3578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_358")]
+		public const uint braille_dots_358;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_36")]
+		public const uint braille_dots_36;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_367")]
+		public const uint braille_dots_367;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_3678")]
+		public const uint braille_dots_3678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_368")]
+		public const uint braille_dots_368;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_37")]
+		public const uint braille_dots_37;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_378")]
+		public const uint braille_dots_378;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_38")]
+		public const uint braille_dots_38;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_4")]
+		public const uint braille_dots_4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_45")]
+		public const uint braille_dots_45;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_456")]
+		public const uint braille_dots_456;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_4567")]
+		public const uint braille_dots_4567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_45678")]
+		public const uint braille_dots_45678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_4568")]
+		public const uint braille_dots_4568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_457")]
+		public const uint braille_dots_457;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_4578")]
+		public const uint braille_dots_4578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_458")]
+		public const uint braille_dots_458;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_46")]
+		public const uint braille_dots_46;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_467")]
+		public const uint braille_dots_467;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_4678")]
+		public const uint braille_dots_4678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_468")]
+		public const uint braille_dots_468;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_47")]
+		public const uint braille_dots_47;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_478")]
+		public const uint braille_dots_478;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_48")]
+		public const uint braille_dots_48;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_5")]
+		public const uint braille_dots_5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_56")]
+		public const uint braille_dots_56;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_567")]
+		public const uint braille_dots_567;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_5678")]
+		public const uint braille_dots_5678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_568")]
+		public const uint braille_dots_568;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_57")]
+		public const uint braille_dots_57;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_578")]
+		public const uint braille_dots_578;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_58")]
+		public const uint braille_dots_58;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_6")]
+		public const uint braille_dots_6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_67")]
+		public const uint braille_dots_67;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_678")]
+		public const uint braille_dots_678;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_68")]
+		public const uint braille_dots_68;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_7")]
+		public const uint braille_dots_7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_78")]
+		public const uint braille_dots_78;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_braille_dots_8")]
+		public const uint braille_dots_8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_breve")]
+		public const uint breve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_brokenbar")]
+		public const uint brokenbar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_c")]
+		public const uint c;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_c_h")]
+		public const uint c_h;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cabovedot")]
+		public const uint cabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cacute")]
+		public const uint cacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_careof")]
+		public const uint careof;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_caret")]
+		public const uint caret;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_caron")]
+		public const uint caron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ccaron")]
+		public const uint ccaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ccedilla")]
+		public const uint ccedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ccircumflex")]
+		public const uint ccircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cedilla")]
+		public const uint cedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cent")]
+		public const uint cent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ch")]
+		public const uint ch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_checkerboard")]
+		public const uint checkerboard;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_checkmark")]
+		public const uint checkmark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_circle")]
+		public const uint circle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_club")]
+		public const uint club;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_colon")]
+		public const uint colon;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_acute")]
+		public const uint combining_acute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_belowdot")]
+		public const uint combining_belowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_grave")]
+		public const uint combining_grave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_hook")]
+		public const uint combining_hook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_tilde")]
+		public const uint combining_tilde;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_comma")]
+		public const uint comma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_containsas")]
+		public const uint containsas;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_copyright")]
+		public const uint copyright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cr")]
+		public const uint cr;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_crossinglines")]
+		public const uint crossinglines;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cuberoot")]
+		public const uint cuberoot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_currency")]
+		public const uint currency;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_cursor")]
+		public const uint cursor;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_d")]
+		public const uint d;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dabovedot")]
+		public const uint dabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dagger")]
+		public const uint dagger;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dcaron")]
+		public const uint dcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_A")]
+		public const uint dead_A;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_E")]
+		public const uint dead_E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_I")]
+		public const uint dead_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_O")]
+		public const uint dead_O;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_SCHWA")]
+		public const uint dead_SCHWA;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_U")]
+		public const uint dead_U;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_a")]
+		public const uint dead_a;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_abovecomma")]
+		public const uint dead_abovecomma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_abovedot")]
+		public const uint dead_abovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_abovereversedcomma")]
+		public const uint dead_abovereversedcomma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_abovering")]
+		public const uint dead_abovering;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_aboveverticalline")]
+		public const uint dead_aboveverticalline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_acute")]
+		public const uint dead_acute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowbreve")]
+		public const uint dead_belowbreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowcircumflex")]
+		public const uint dead_belowcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowcomma")]
+		public const uint dead_belowcomma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowdiaeresis")]
+		public const uint dead_belowdiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowdot")]
+		public const uint dead_belowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowmacron")]
+		public const uint dead_belowmacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowring")]
+		public const uint dead_belowring;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowtilde")]
+		public const uint dead_belowtilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_belowverticalline")]
+		public const uint dead_belowverticalline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_breve")]
+		public const uint dead_breve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_capital_schwa")]
+		public const uint dead_capital_schwa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_caron")]
+		public const uint dead_caron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_cedilla")]
+		public const uint dead_cedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_circumflex")]
+		public const uint dead_circumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_currency")]
+		public const uint dead_currency;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_dasia")]
+		public const uint dead_dasia;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_diaeresis")]
+		public const uint dead_diaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_doubleacute")]
+		public const uint dead_doubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_doublegrave")]
+		public const uint dead_doublegrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_e")]
+		public const uint dead_e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_grave")]
+		public const uint dead_grave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_greek")]
+		public const uint dead_greek;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hamza")]
+		public const uint dead_hamza;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hook")]
+		public const uint dead_hook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_horn")]
+		public const uint dead_horn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_i")]
+		public const uint dead_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_invertedbreve")]
+		public const uint dead_invertedbreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_iota")]
+		public const uint dead_iota;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_longsolidusoverlay")]
+		public const uint dead_longsolidusoverlay;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_lowline")]
+		public const uint dead_lowline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_macron")]
+		public const uint dead_macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_o")]
+		public const uint dead_o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_ogonek")]
+		public const uint dead_ogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_perispomeni")]
+		public const uint dead_perispomeni;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_psili")]
+		public const uint dead_psili;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_schwa")]
+		public const uint dead_schwa;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_semivoiced_sound")]
+		public const uint dead_semivoiced_sound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_small_schwa")]
+		public const uint dead_small_schwa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_stroke")]
+		public const uint dead_stroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_tilde")]
+		public const uint dead_tilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_u")]
+		public const uint dead_u;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_voiced_sound")]
+		public const uint dead_voiced_sound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_decimalpoint")]
+		public const uint decimalpoint;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_degree")]
+		public const uint degree;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_diaeresis")]
+		public const uint diaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_diamond")]
+		public const uint diamond;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_digitspace")]
+		public const uint digitspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dintegral")]
+		public const uint dintegral;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_division")]
+		public const uint division;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dollar")]
+		public const uint dollar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_doubbaselinedot")]
+		public const uint doubbaselinedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_doubleacute")]
+		public const uint doubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_doubledagger")]
+		public const uint doubledagger;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_doublelowquotemark")]
+		public const uint doublelowquotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_downarrow")]
+		public const uint downarrow;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_downcaret")]
+		public const uint downcaret;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_downshoe")]
+		public const uint downshoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_downstile")]
+		public const uint downstile;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_downtack")]
+		public const uint downtack;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dstroke")]
+		public const uint dstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_e")]
+		public const uint e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eabovedot")]
+		public const uint eabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eacute")]
+		public const uint eacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ebelowdot")]
+		public const uint ebelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecaron")]
+		public const uint ecaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflex")]
+		public const uint ecircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflexacute")]
+		public const uint ecircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflexbelowdot")]
+		public const uint ecircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflexgrave")]
+		public const uint ecircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflexhook")]
+		public const uint ecircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ecircumflextilde")]
+		public const uint ecircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ediaeresis")]
+		public const uint ediaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_egrave")]
+		public const uint egrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ehook")]
+		public const uint ehook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eightsubscript")]
+		public const uint eightsubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eightsuperior")]
+		public const uint eightsuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_elementof")]
+		public const uint elementof;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ellipsis")]
+		public const uint ellipsis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_em3space")]
+		public const uint em3space;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_em4space")]
+		public const uint em4space;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emacron")]
+		public const uint emacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emdash")]
+		public const uint emdash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emfilledcircle")]
+		public const uint emfilledcircle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emfilledrect")]
+		public const uint emfilledrect;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emopencircle")]
+		public const uint emopencircle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emopenrectangle")]
+		public const uint emopenrectangle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emptyset")]
+		public const uint emptyset;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_emspace")]
+		public const uint emspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_endash")]
+		public const uint endash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_enfilledcircbullet")]
+		public const uint enfilledcircbullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_enfilledsqbullet")]
+		public const uint enfilledsqbullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eng")]
+		public const uint eng;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_enopencircbullet")]
+		public const uint enopencircbullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_enopensquarebullet")]
+		public const uint enopensquarebullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_enspace")]
+		public const uint enspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eogonek")]
+		public const uint eogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_equal")]
+		public const uint equal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_eth")]
+		public const uint eth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_etilde")]
+		public const uint etilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_exclam")]
+		public const uint exclam;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_exclamdown")]
+		public const uint exclamdown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ezh")]
+		public const uint ezh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_f")]
+		public const uint f;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fabovedot")]
+		public const uint fabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_femalesymbol")]
+		public const uint femalesymbol;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ff")]
+		public const uint ff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_figdash")]
+		public const uint figdash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_filledlefttribullet")]
+		public const uint filledlefttribullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_filledrectbullet")]
+		public const uint filledrectbullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_filledrighttribullet")]
+		public const uint filledrighttribullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_filledtribulletdown")]
+		public const uint filledtribulletdown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_filledtribulletup")]
+		public const uint filledtribulletup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fiveeighths")]
+		public const uint fiveeighths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fivesixths")]
+		public const uint fivesixths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fivesubscript")]
+		public const uint fivesubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fivesuperior")]
+		public const uint fivesuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fourfifths")]
+		public const uint fourfifths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_foursubscript")]
+		public const uint foursubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_foursuperior")]
+		public const uint foursuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_fourthroot")]
+		public const uint fourthroot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_function")]
+		public const uint function;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_g")]
+		public const uint g;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_gabovedot")]
+		public const uint gabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_gbreve")]
+		public const uint gbreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_gcaron")]
+		public const uint gcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_gcedilla")]
+		public const uint gcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_gcircumflex")]
+		public const uint gcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_grave")]
+		public const uint grave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_greater")]
+		public const uint greater;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_greaterthanequal")]
+		public const uint greaterthanequal;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetleft")]
+		public const uint guillemetleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetright")]
+		public const uint guillemetright;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotleft")]
+		public const uint guillemotleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotright")]
+		public const uint guillemotright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_h")]
+		public const uint h;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hairspace")]
+		public const uint hairspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hcircumflex")]
+		public const uint hcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_heart")]
+		public const uint heart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_aleph")]
+		public const uint hebrew_aleph;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_ayin")]
+		public const uint hebrew_ayin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_bet")]
+		public const uint hebrew_bet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_beth")]
+		public const uint hebrew_beth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_chet")]
+		public const uint hebrew_chet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_dalet")]
+		public const uint hebrew_dalet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_daleth")]
+		public const uint hebrew_daleth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_doublelowline")]
+		public const uint hebrew_doublelowline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalkaph")]
+		public const uint hebrew_finalkaph;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalmem")]
+		public const uint hebrew_finalmem;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalnun")]
+		public const uint hebrew_finalnun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalpe")]
+		public const uint hebrew_finalpe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalzade")]
+		public const uint hebrew_finalzade;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_finalzadi")]
+		public const uint hebrew_finalzadi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_gimel")]
+		public const uint hebrew_gimel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_gimmel")]
+		public const uint hebrew_gimmel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_he")]
+		public const uint hebrew_he;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_het")]
+		public const uint hebrew_het;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_kaph")]
+		public const uint hebrew_kaph;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_kuf")]
+		public const uint hebrew_kuf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_lamed")]
+		public const uint hebrew_lamed;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_mem")]
+		public const uint hebrew_mem;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_nun")]
+		public const uint hebrew_nun;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_pe")]
+		public const uint hebrew_pe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_qoph")]
+		public const uint hebrew_qoph;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_resh")]
+		public const uint hebrew_resh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_samech")]
+		public const uint hebrew_samech;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_samekh")]
+		public const uint hebrew_samekh;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_shin")]
+		public const uint hebrew_shin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_taf")]
+		public const uint hebrew_taf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_taw")]
+		public const uint hebrew_taw;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_tet")]
+		public const uint hebrew_tet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_teth")]
+		public const uint hebrew_teth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_waw")]
+		public const uint hebrew_waw;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_yod")]
+		public const uint hebrew_yod;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_zade")]
+		public const uint hebrew_zade;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_zadi")]
+		public const uint hebrew_zadi;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_zain")]
+		public const uint hebrew_zain;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hebrew_zayin")]
+		public const uint hebrew_zayin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hexagram")]
+		public const uint hexagram;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizconnector")]
+		public const uint horizconnector;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizlinescan1")]
+		public const uint horizlinescan1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizlinescan3")]
+		public const uint horizlinescan3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizlinescan5")]
+		public const uint horizlinescan5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizlinescan7")]
+		public const uint horizlinescan7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_horizlinescan9")]
+		public const uint horizlinescan9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hstroke")]
+		public const uint hstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ht")]
+		public const uint ht;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_hyphen")]
+		public const uint hyphen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_i")]
+		public const uint i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_iTouch")]
+		public const uint iTouch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_iacute")]
+		public const uint iacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ibelowdot")]
+		public const uint ibelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ibreve")]
+		public const uint ibreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_icircumflex")]
+		public const uint icircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_identical")]
+		public const uint identical;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_idiaeresis")]
+		public const uint idiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_idotless")]
+		public const uint idotless;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ifonlyif")]
+		public const uint ifonlyif;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_igrave")]
+		public const uint igrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ihook")]
+		public const uint ihook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_imacron")]
+		public const uint imacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_implies")]
+		public const uint implies;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_includedin")]
+		public const uint includedin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_includes")]
+		public const uint includes;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_infinity")]
+		public const uint infinity;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_integral")]
+		public const uint integral;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_intersection")]
+		public const uint intersection;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_iogonek")]
+		public const uint iogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_itilde")]
+		public const uint itilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_j")]
+		public const uint j;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_jcircumflex")]
+		public const uint jcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_jot")]
+		public const uint jot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_k")]
+		public const uint k;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_A")]
+		public const uint kana_A;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_CHI")]
+		public const uint kana_CHI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_E")]
+		public const uint kana_E;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_FU")]
+		public const uint kana_FU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_HA")]
+		public const uint kana_HA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_HE")]
+		public const uint kana_HE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_HI")]
+		public const uint kana_HI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_HO")]
+		public const uint kana_HO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_HU")]
+		public const uint kana_HU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_I")]
+		public const uint kana_I;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_KA")]
+		public const uint kana_KA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_KE")]
+		public const uint kana_KE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_KI")]
+		public const uint kana_KI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_KO")]
+		public const uint kana_KO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_KU")]
+		public const uint kana_KU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_MA")]
+		public const uint kana_MA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_ME")]
+		public const uint kana_ME;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_MI")]
+		public const uint kana_MI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_MO")]
+		public const uint kana_MO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_MU")]
+		public const uint kana_MU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_N")]
+		public const uint kana_N;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_NA")]
+		public const uint kana_NA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_NE")]
+		public const uint kana_NE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_NI")]
+		public const uint kana_NI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_NO")]
+		public const uint kana_NO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_NU")]
+		public const uint kana_NU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_O")]
+		public const uint kana_O;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_RA")]
+		public const uint kana_RA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_RE")]
+		public const uint kana_RE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_RI")]
+		public const uint kana_RI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_RO")]
+		public const uint kana_RO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_RU")]
+		public const uint kana_RU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_SA")]
+		public const uint kana_SA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_SE")]
+		public const uint kana_SE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_SHI")]
+		public const uint kana_SHI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_SO")]
+		public const uint kana_SO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_SU")]
+		public const uint kana_SU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TA")]
+		public const uint kana_TA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TE")]
+		public const uint kana_TE;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TI")]
+		public const uint kana_TI;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TO")]
+		public const uint kana_TO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TSU")]
+		public const uint kana_TSU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_TU")]
+		public const uint kana_TU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_U")]
+		public const uint kana_U;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_WA")]
+		public const uint kana_WA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_WO")]
+		public const uint kana_WO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_YA")]
+		public const uint kana_YA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_YO")]
+		public const uint kana_YO;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_YU")]
+		public const uint kana_YU;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_a")]
+		public const uint kana_a;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_closingbracket")]
+		public const uint kana_closingbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_comma")]
+		public const uint kana_comma;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_conjunctive")]
+		public const uint kana_conjunctive;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_e")]
+		public const uint kana_e;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_fullstop")]
+		public const uint kana_fullstop;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_i")]
+		public const uint kana_i;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_middledot")]
+		public const uint kana_middledot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_o")]
+		public const uint kana_o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_openingbracket")]
+		public const uint kana_openingbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_switch")]
+		public const uint kana_switch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_tsu")]
+		public const uint kana_tsu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_tu")]
+		public const uint kana_tu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_u")]
+		public const uint kana_u;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_ya")]
+		public const uint kana_ya;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_yo")]
+		public const uint kana_yo;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kana_yu")]
+		public const uint kana_yu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kappa")]
+		public const uint kappa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kcedilla")]
+		public const uint kcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_kra")]
+		public const uint kra;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_l")]
+		public const uint l;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lacute")]
+		public const uint lacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_latincross")]
+		public const uint latincross;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lbelowdot")]
+		public const uint lbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lcaron")]
+		public const uint lcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lcedilla")]
+		public const uint lcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftanglebracket")]
+		public const uint leftanglebracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftarrow")]
+		public const uint leftarrow;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftcaret")]
+		public const uint leftcaret;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftdoublequotemark")]
+		public const uint leftdoublequotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftmiddlecurlybrace")]
+		public const uint leftmiddlecurlybrace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftopentriangle")]
+		public const uint leftopentriangle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftpointer")]
+		public const uint leftpointer;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftradical")]
+		public const uint leftradical;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftshoe")]
+		public const uint leftshoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftsinglequotemark")]
+		public const uint leftsinglequotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_leftt")]
+		public const uint leftt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lefttack")]
+		public const uint lefttack;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_less")]
+		public const uint less;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lessthanequal")]
+		public const uint lessthanequal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lf")]
+		public const uint lf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_logicaland")]
+		public const uint logicaland;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_logicalor")]
+		public const uint logicalor;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lowleftcorner")]
+		public const uint lowleftcorner;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lowrightcorner")]
+		public const uint lowrightcorner;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_lstroke")]
+		public const uint lstroke;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_m")]
+		public const uint m;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_mabovedot")]
+		public const uint mabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_macron")]
+		public const uint macron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_malesymbol")]
+		public const uint malesymbol;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_maltesecross")]
+		public const uint maltesecross;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_marker")]
+		public const uint marker;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_masculine")]
+		public const uint masculine;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_minus")]
+		public const uint minus;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_minutes")]
+		public const uint minutes;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_mu")]
+		public const uint mu;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_multiply")]
+		public const uint multiply;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_musicalflat")]
+		public const uint musicalflat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_musicalsharp")]
+		public const uint musicalsharp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_n")]
+		public const uint n;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_nabla")]
+		public const uint nabla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_nacute")]
+		public const uint nacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ncaron")]
+		public const uint ncaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ncedilla")]
+		public const uint ncedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ninesubscript")]
+		public const uint ninesubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ninesuperior")]
+		public const uint ninesuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_nl")]
+		public const uint nl;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_nobreakspace")]
+		public const uint nobreakspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_notapproxeq")]
+		public const uint notapproxeq;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_notelementof")]
+		public const uint notelementof;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_notequal")]
+		public const uint notequal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_notidentical")]
+		public const uint notidentical;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_notsign")]
+		public const uint notsign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ntilde")]
+		public const uint ntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_numbersign")]
+		public const uint numbersign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_numerosign")]
+		public const uint numerosign;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_o")]
+		public const uint o;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oacute")]
+		public const uint oacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_obarred")]
+		public const uint obarred;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_obelowdot")]
+		public const uint obelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocaron")]
+		public const uint ocaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflex")]
+		public const uint ocircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflexacute")]
+		public const uint ocircumflexacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflexbelowdot")]
+		public const uint ocircumflexbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflexgrave")]
+		public const uint ocircumflexgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflexhook")]
+		public const uint ocircumflexhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ocircumflextilde")]
+		public const uint ocircumflextilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_odiaeresis")]
+		public const uint odiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_odoubleacute")]
+		public const uint odoubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oe")]
+		public const uint oe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ogonek")]
+		public const uint ogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ograve")]
+		public const uint ograve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohook")]
+		public const uint ohook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohorn")]
+		public const uint ohorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohornacute")]
+		public const uint ohornacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohornbelowdot")]
+		public const uint ohornbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohorngrave")]
+		public const uint ohorngrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohornhook")]
+		public const uint ohornhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ohorntilde")]
+		public const uint ohorntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_omacron")]
+		public const uint omacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oneeighth")]
+		public const uint oneeighth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onefifth")]
+		public const uint onefifth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onehalf")]
+		public const uint onehalf;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onequarter")]
+		public const uint onequarter;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onesixth")]
+		public const uint onesixth;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onesubscript")]
+		public const uint onesubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onesuperior")]
+		public const uint onesuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_onethird")]
+		public const uint onethird;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ooblique")]
+		public const uint ooblique;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_openrectbullet")]
+		public const uint openrectbullet;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_openstar")]
+		public const uint openstar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_opentribulletdown")]
+		public const uint opentribulletdown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_opentribulletup")]
+		public const uint opentribulletup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordfeminine")]
+		public const uint ordfeminine;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordmasculine")]
+		public const uint ordmasculine;
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oslash")]
+		public const uint oslash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_otilde")]
+		public const uint otilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_overbar")]
+		public const uint overbar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_overline")]
+		public const uint overline;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_p")]
+		public const uint p;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_pabovedot")]
+		public const uint pabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_paragraph")]
+		public const uint paragraph;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_parenleft")]
+		public const uint parenleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_parenright")]
+		public const uint parenright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_partdifferential")]
+		public const uint partdifferential;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_partialderivative")]
+		public const uint partialderivative;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_percent")]
+		public const uint percent;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_period")]
+		public const uint period;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_periodcentered")]
+		public const uint periodcentered;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_permille")]
+		public const uint permille;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_phonographcopyright")]
+		public const uint phonographcopyright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_plus")]
+		public const uint plus;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_plusminus")]
+		public const uint plusminus;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_prescription")]
+		public const uint prescription;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_prolongedsound")]
+		public const uint prolongedsound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_punctspace")]
+		public const uint punctspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_q")]
+		public const uint q;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_quad")]
+		public const uint quad;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_question")]
+		public const uint question;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_questiondown")]
+		public const uint questiondown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_quotedbl")]
+		public const uint quotedbl;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_quoteleft")]
+		public const uint quoteleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_quoteright")]
+		public const uint quoteright;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_r")]
+		public const uint r;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_racute")]
+		public const uint racute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_radical")]
+		public const uint radical;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rcaron")]
+		public const uint rcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rcedilla")]
+		public const uint rcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_registered")]
+		public const uint registered;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightanglebracket")]
+		public const uint rightanglebracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightarrow")]
+		public const uint rightarrow;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightcaret")]
+		public const uint rightcaret;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightdoublequotemark")]
+		public const uint rightdoublequotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightmiddlecurlybrace")]
+		public const uint rightmiddlecurlybrace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightmiddlesummation")]
+		public const uint rightmiddlesummation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightopentriangle")]
+		public const uint rightopentriangle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightpointer")]
+		public const uint rightpointer;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightshoe")]
+		public const uint rightshoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightsinglequotemark")]
+		public const uint rightsinglequotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_rightt")]
+		public const uint rightt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_righttack")]
+		public const uint righttack;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_s")]
+		public const uint s;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sabovedot")]
+		public const uint sabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sacute")]
+		public const uint sacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_scaron")]
+		public const uint scaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_scedilla")]
+		public const uint scedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_schwa")]
+		public const uint schwa;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_scircumflex")]
+		public const uint scircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_script_switch")]
+		public const uint script_switch;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_seconds")]
+		public const uint seconds;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_section")]
+		public const uint section;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_semicolon")]
+		public const uint semicolon;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_semivoicedsound")]
+		public const uint semivoicedsound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_seveneighths")]
+		public const uint seveneighths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sevensubscript")]
+		public const uint sevensubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sevensuperior")]
+		public const uint sevensuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_signaturemark")]
+		public const uint signaturemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_signifblank")]
+		public const uint signifblank;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_similarequal")]
+		public const uint similarequal;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_singlelowquotemark")]
+		public const uint singlelowquotemark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sixsubscript")]
+		public const uint sixsubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sixsuperior")]
+		public const uint sixsuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_slash")]
+		public const uint slash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_soliddiamond")]
+		public const uint soliddiamond;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_space")]
+		public const uint space;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_squareroot")]
+		public const uint squareroot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ssharp")]
+		public const uint ssharp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_sterling")]
+		public const uint sterling;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_stricteq")]
+		public const uint stricteq;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_t")]
+		public const uint t;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_tabovedot")]
+		public const uint tabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_tcaron")]
+		public const uint tcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_tcedilla")]
+		public const uint tcedilla;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_telephone")]
+		public const uint telephone;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_telephonerecorder")]
+		public const uint telephonerecorder;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_therefore")]
+		public const uint therefore;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_thinspace")]
+		public const uint thinspace;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_thorn")]
+		public const uint thorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_threeeighths")]
+		public const uint threeeighths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_threefifths")]
+		public const uint threefifths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_threequarters")]
+		public const uint threequarters;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_threesubscript")]
+		public const uint threesubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_threesuperior")]
+		public const uint threesuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_tintegral")]
+		public const uint tintegral;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topintegral")]
+		public const uint topintegral;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topleftparens")]
+		public const uint topleftparens;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topleftradical")]
+		public const uint topleftradical;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topleftsqbracket")]
+		public const uint topleftsqbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topleftsummation")]
+		public const uint topleftsummation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_toprightparens")]
+		public const uint toprightparens;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_toprightsqbracket")]
+		public const uint toprightsqbracket;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_toprightsummation")]
+		public const uint toprightsummation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topt")]
+		public const uint topt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_topvertsummationconnector")]
+		public const uint topvertsummationconnector;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_trademark")]
+		public const uint trademark;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_trademarkincircle")]
+		public const uint trademarkincircle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_tslash")]
+		public const uint tslash;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_twofifths")]
+		public const uint twofifths;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_twosubscript")]
+		public const uint twosubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_twosuperior")]
+		public const uint twosuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_twothirds")]
+		public const uint twothirds;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_u")]
+		public const uint u;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uacute")]
+		public const uint uacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ubelowdot")]
+		public const uint ubelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ubreve")]
+		public const uint ubreve;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ucircumflex")]
+		public const uint ucircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_udiaeresis")]
+		public const uint udiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_udoubleacute")]
+		public const uint udoubleacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ugrave")]
+		public const uint ugrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhook")]
+		public const uint uhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhorn")]
+		public const uint uhorn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhornacute")]
+		public const uint uhornacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhornbelowdot")]
+		public const uint uhornbelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhorngrave")]
+		public const uint uhorngrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhornhook")]
+		public const uint uhornhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uhorntilde")]
+		public const uint uhorntilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_umacron")]
+		public const uint umacron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_underbar")]
+		public const uint underbar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_underscore")]
+		public const uint underscore;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_union")]
+		public const uint union;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uogonek")]
+		public const uint uogonek;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uparrow")]
+		public const uint uparrow;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_upcaret")]
+		public const uint upcaret;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_upleftcorner")]
+		public const uint upleftcorner;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uprightcorner")]
+		public const uint uprightcorner;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_upshoe")]
+		public const uint upshoe;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_upstile")]
+		public const uint upstile;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uptack")]
+		public const uint uptack;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_uring")]
+		public const uint uring;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_utilde")]
+		public const uint utilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_v")]
+		public const uint v;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_variation")]
+		public const uint variation;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_vertbar")]
+		public const uint vertbar;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_vertconnector")]
+		public const uint vertconnector;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_voicedsound")]
+		public const uint voicedsound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_vt")]
+		public const uint vt;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_w")]
+		public const uint w;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_wacute")]
+		public const uint wacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_wcircumflex")]
+		public const uint wcircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_wdiaeresis")]
+		public const uint wdiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_wgrave")]
+		public const uint wgrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_x")]
+		public const uint x;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_xabovedot")]
+		public const uint xabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_y")]
+		public const uint y;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_yacute")]
+		public const uint yacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ybelowdot")]
+		public const uint ybelowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ycircumflex")]
+		public const uint ycircumflex;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ydiaeresis")]
+		public const uint ydiaeresis;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_yen")]
+		public const uint yen;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ygrave")]
+		public const uint ygrave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_yhook")]
+		public const uint yhook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ytilde")]
+		public const uint ytilde;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_z")]
+		public const uint z;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zabovedot")]
+		public const uint zabovedot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zacute")]
+		public const uint zacute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zcaron")]
+		public const uint zcaron;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zerosubscript")]
+		public const uint zerosubscript;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zerosuperior")]
+		public const uint zerosuperior;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_zstroke")]
+		public const uint zstroke;
+	}
+	namespace Threads {
+#if !HAS_MUTTER48
+		namespace Idle {
+			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_idle")]
+			public static uint add (GLib.SourceFunc func);
+			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_idle_full")]
+			public static uint add_full (int priority, owned GLib.SourceFunc func);
+		}
+		namespace Timeout {
+			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_timeout")]
+			public static uint add (uint interval, GLib.SourceFunc func);
+			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_timeout_full")]
+			public static uint add_full (int priority, uint interval, owned GLib.SourceFunc func);
+		}
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h")]
+#if HAS_MUTTER48
+		public static uint add_repaint_func (Clutter.RepaintFlags flags, owned GLib.SourceFunc func);
+#else
+		public static uint add_repaint_func (owned GLib.SourceFunc func);
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static uint add_repaint_func_full (Clutter.RepaintFlags flags, owned GLib.SourceFunc func);
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void remove_repaint_func (uint handle_id);
+	}
+	namespace Value {
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static Clutter.PaintNode dup_paint_node (GLib.Value value);
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static unowned Clutter.Color? get_color (GLib.Value value);
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static unowned Clutter.PaintNode get_paint_node (GLib.Value value);
+		[CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = "clutter/clutter.h")]
+		public static unowned float[] get_shader_float (GLib.Value value);
+		[CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = "clutter/clutter.h")]
+		public static unowned int[] get_shader_int (GLib.Value value);
+		[CCode (array_length_pos = 1.1, array_length_type = "gsize", cheader_filename = "clutter/clutter.h")]
+		public static unowned float[] get_shader_matrix (GLib.Value value);
+#if !HAS_MUTTER46
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static unowned Clutter.Units? get_units (GLib.Value value);
+#endif
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_color (GLib.Value value, Clutter.Color color);
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_paint_node (GLib.Value value, Clutter.PaintNode? node);
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_shader_float (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] float[] floats);
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_shader_int (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] int[] ints);
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_shader_matrix (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] float[] matrix);
+#if !HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void set_units (GLib.Value value, Clutter.Units units);
+#endif
+		[CCode (cheader_filename = "clutter/clutter.h")]
+		public static void take_paint_node (GLib.Value value, Clutter.PaintNode? node);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_action_get_type ()")]
+	public abstract class Action : Clutter.ActorMeta {
+		[CCode (has_construct_function = false)]
+		protected Action ();
+		public Clutter.EventPhase get_phase ();
+		[NoWrapper]
+		public virtual bool handle_event ([CCode (type = "const ClutterEvent *")] Clutter.Event event);
+#if HAS_MUTTER47
+		[NoWrapper]
+		public virtual bool register_sequence (Clutter.Event event);
+#endif
+		[NoWrapper]
+		public virtual void sequence_cancelled (Clutter.InputDevice device, Clutter.EventSequence sequence);
+#if HAS_MUTTER47
+		[NoWrapper]
+		public virtual int setup_sequence_relationship (Clutter.Action action_2, Clutter.InputDevice device, Clutter.EventSequence sequence);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_get_type ()")]
+#if HAS_MUTTER46
+	public class Actor : GLib.InitiallyUnowned, Atk.Implementor, Clutter.Animatable {
+#else
+	public class Actor : GLib.InitiallyUnowned, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		public uint32 flags;
+		[CCode (has_construct_function = false)]
+		public Actor ();
+		public void add_action (Clutter.Action action);
+		public void add_action_full (string name, Clutter.EventPhase phase, Clutter.Action action);
+		public void add_action_with_name (string name, Clutter.Action action);
+		public void add_child (Clutter.Actor child);
+		public void add_constraint (Clutter.Constraint constraint);
+		public void add_constraint_with_name (string name, Clutter.Constraint constraint);
+		public void add_effect (Clutter.Effect effect);
+		public void add_effect_with_name (string name, Clutter.Effect effect);
+		public void add_transition (string name, Clutter.Transition transition);
+		public virtual void allocate ([CCode (type = "const ClutterActorBox *")] Clutter.ActorBox box);
+		public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool x_fill, bool y_fill);
+		public void allocate_available_size (float x, float y, float available_width, float available_height);
+		public void allocate_preferred_size (float x, float y);
+		public Graphene.Point3D apply_relative_transform_to_point (Clutter.Actor? ancestor, Graphene.Point3D point);
+		[NoWrapper]
+		public virtual void apply_transform (ref Graphene.Matrix matrix);
+		public Graphene.Point3D apply_transform_to_point (Graphene.Point3D point);
+		public void bind_model (GLib.ListModel? model, owned Clutter.ActorCreateChildFunc create_child_func);
+		[NoWrapper]
+		public virtual float calculate_resource_scale (int phase);
+		public void clear_actions ();
+		public void clear_constraints ();
+		public void clear_effects ();
+		public bool contains (Clutter.Actor descendant);
+		public void continue_paint (Clutter.PaintContext paint_context);
+		public void continue_pick (Clutter.PickContext pick_context);
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
+		public Pango.Context create_pango_context ();
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
+		public Pango.Layout create_pango_layout (string? text);
+#if HAS_MUTTER46
+		public Clutter.PaintNode create_texture_paint_node (Cogl.Texture texture);
+#endif
+		public void destroy_all_children ();
+		[CCode (cname = "clutter_actor_event")]
+		public bool emit_event (Clutter.Event event, bool capture);
+		public void get_abs_allocation_vertices ([CCode (array_length = false)] Graphene.Point3D verts[4]);
+		public virtual unowned Atk.Object get_accessible ();
+#if HAS_MUTTER47
+		public unowned string get_accessible_name ();
+		public Atk.Role get_accessible_role ();
+#endif
+		public unowned Clutter.Action? get_action (string name);
+		public GLib.List<weak Clutter.Action> get_actions ();
+		public Clutter.ActorBox get_allocation_box ();
+#if HAS_MUTTER47
+		public Cogl.Color get_background_color ();
+#else
+		public Clutter.Color get_background_color ();
+#endif
+		public unowned Clutter.Actor? get_child_at_index (int index_);
+		public Graphene.Matrix get_child_transform ();
+		public GLib.List<weak Clutter.Actor> get_children ();
+		public void get_clip (out float xoff, out float yoff, out float width, out float height);
+		public bool get_clip_to_allocation ();
+		public unowned Clutter.ColorState get_color_state ();
+		public unowned Clutter.Constraint? get_constraint (string name);
+		public GLib.List<weak Clutter.Constraint> get_constraints ();
+		public unowned Clutter.Content? get_content ();
+		public Clutter.ActorBox get_content_box ();
+		public Clutter.ContentGravity get_content_gravity ();
+		public Clutter.ContentRepeat get_content_repeat ();
+		public void get_content_scaling_filters (out Clutter.ScalingFilter min_filter, out Clutter.ScalingFilter mag_filter);
+#if HAS_MUTTER47
+		public unowned Clutter.Context get_context ();
+#endif
+		public uint get_easing_delay ();
+		public uint get_easing_duration ();
+		public Clutter.AnimationMode get_easing_mode ();
+		public unowned Clutter.Effect? get_effect (string name);
+		public GLib.List<weak Clutter.Effect> get_effects ();
+		public unowned Clutter.Actor? get_first_child ();
+		public bool get_fixed_position (out float x, out float y);
+		public bool get_fixed_position_set ();
+#if !HAS_MUTTER47
+		public Clutter.ActorFlags get_flags ();
+#endif
+		[CCode (cname = "clutter_actor_has_pointer")]
+		public bool get_has_pointer ();
+		public float get_height ();
+		public unowned Clutter.Actor? get_last_child ();
+		public unowned Clutter.LayoutManager? get_layout_manager ();
+#if HAS_MUTTER46
+		[CCode (cname = "clutter_actor_class_get_layout_manager_type")]
+		public class GLib.Type get_layout_manager_type ();
+#endif
+		public Clutter.Margin get_margin ();
+		public float get_margin_bottom ();
+		public float get_margin_left ();
+		public float get_margin_right ();
+		public float get_margin_top ();
+		public int get_n_children ();
+		public unowned string? get_name ();
+		public unowned Clutter.Actor? get_next_sibling ();
+		public Clutter.OffscreenRedirect get_offscreen_redirect ();
+		public uint8 get_opacity ();
+		public int get_opacity_override ();
+		public bool get_paint_box (out Clutter.ActorBox box);
+		public uint8 get_paint_opacity ();
+		public bool get_paint_visibility ();
+		public unowned Clutter.PaintVolume? get_paint_volume ();
+		[CCode (vfunc_name = "get_paint_volume")]
+		[NoWrapper]
+		public virtual bool get_paint_volume_vfunc (out Clutter.PaintVolume volume);
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
+		public unowned Pango.Context get_pango_context ();
+		public unowned Clutter.Actor? get_parent ();
+		public void get_pivot_point (out float pivot_x, out float pivot_y);
+		public float get_pivot_point_z ();
+		public void get_position (out float x, out float y);
+		public virtual void get_preferred_height (float for_width, out float min_height_p, out float natural_height_p);
+		public void get_preferred_size (out float min_width_p, out float min_height_p, out float natural_width_p, out float natural_height_p);
+		public virtual void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p);
+		public unowned Clutter.Actor? get_previous_sibling ();
+		public bool get_reactive ();
+#if !HAS_MUTTER48
+		public Graphene.Matrix get_relative_transformation_matrix (Clutter.Actor? ancestor);
+#endif
+		public Clutter.RequestMode get_request_mode ();
+		public float get_resource_scale ();
+		public double get_rotation_angle (Clutter.RotateAxis axis);
+		public void get_scale (out double scale_x, out double scale_y);
+		public double get_scale_z ();
+		public void get_size (out float width, out float height);
+		[CCode (type = "ClutterActor *")]
+		public unowned Clutter.Stage get_stage ();
+		public Clutter.TextDirection get_text_direction ();
+		public Graphene.Matrix get_transform ();
+		public Graphene.Rect get_transformed_extents ();
+		public Clutter.PaintVolume? get_transformed_paint_volume (Clutter.Actor relative_to_ancestor);
+		public void get_transformed_position (out float x, out float y);
+		public void get_transformed_size (out float width, out float height);
+		public unowned Clutter.Transition? get_transition (string name);
+		public void get_translation (out float translate_x, out float translate_y, out float translate_z);
+		public float get_width ();
+		public float get_x ();
+		public Clutter.ActorAlign get_x_align ();
+		public bool get_x_expand ();
+		public float get_y ();
+		public Clutter.ActorAlign get_y_align ();
+		public bool get_y_expand ();
+		public float get_z_position ();
+		public void grab_key_focus ();
+#if !HAS_MUTTER47
+		public virtual bool has_accessible ();
+#endif
+		public bool has_actions ();
+		public bool has_allocation ();
+		public bool has_constraints ();
+#if !HAS_MUTTER48
+		public bool has_damage ();
+#endif
+		public bool has_effects ();
+		public bool has_key_focus ();
+		public bool has_mapped_clones ();
+		public virtual bool has_overlaps ();
+		[NoWrapper]
+		public virtual void hide_all ();
+		public void inhibit_culling ();
+		public void insert_child_above (Clutter.Actor child, Clutter.Actor? sibling);
+		public void insert_child_at_index (Clutter.Actor child, int index_);
+		public void insert_child_below (Clutter.Actor child, Clutter.Actor? sibling);
+		public void invalidate_paint_volume ();
+		public void invalidate_transform ();
+#if !HAS_MUTTER48
+		public bool is_effectively_on_stage_view (Clutter.StageView view);
+#endif
+		public bool is_in_clone_paint ();
+		public bool is_mapped ();
+#if HAS_MUTTER47
+		public bool is_no_layout ();
+#endif
+		public bool is_realized ();
+		public bool is_rotated ();
+		public bool is_scaled ();
+		public bool is_visible ();
+		public virtual void map ();
+		public void move_by (float dx, float dy);
+		public bool needs_expand (Clutter.Orientation orientation);
+#if !HAS_MUTTER48
+		public void notify_transform_invalid ();
+#endif
+		public virtual void paint (Clutter.PaintContext paint_context);
+		[NoWrapper]
+#if HAS_MUTTER47
+		public virtual void paint_node (Clutter.PaintNode root, Clutter.PaintContext paint_context);
+#else
+		public virtual void paint_node (Clutter.PaintNode root);
+#endif
+		public unowned GLib.List<Clutter.StageView> peek_stage_views ();
+		public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box);
+		public void queue_redraw ();
+		public void queue_redraw_with_clip (Mtk.Rectangle? clip);
+#if HAS_MUTTER48
+		public void remove_accessible_state (Atk.StateType state);
+#endif
+		public void remove_action (Clutter.Action action);
+		public void remove_action_by_name (string name);
+		public void remove_all_children ();
+		public void remove_all_transitions ();
+		public void remove_child (Clutter.Actor child);
+		public void remove_clip ();
+		public void remove_constraint (Clutter.Constraint constraint);
+		public void remove_constraint_by_name (string name);
+		public void remove_effect (Clutter.Effect effect);
+		public void remove_effect_by_name (string name);
+		public void remove_transition (string name);
+		public void replace_child (Clutter.Actor old_child, Clutter.Actor new_child);
+		public void restore_easing_state ();
+		public void save_easing_state ();
+#if HAS_MUTTER47
+		public void set_accessible (Atk.Object accessible);
+		public void set_accessible_name (string? name);
+		public void set_accessible_role (Atk.Role role);
+#endif
+		public void set_allocation (Clutter.ActorBox box);
+#if HAS_MUTTER47
+		public void set_background_color (Cogl.Color? color);
+#else
+		public void set_background_color (Clutter.Color? color);
+#endif
+		public void set_child_above_sibling (Clutter.Actor child, Clutter.Actor? sibling);
+		public void set_child_at_index (Clutter.Actor child, int index_);
+		public void set_child_below_sibling (Clutter.Actor child, Clutter.Actor? sibling);
+		public void set_child_transform (Graphene.Matrix? transform);
+		public void set_clip (float xoff, float yoff, float width, float height);
+		public void set_clip_to_allocation (bool clip_set);
+		public void set_color_state (Clutter.ColorState color_state);
+		public void set_content (Clutter.Content? content);
+		public void set_content_gravity (Clutter.ContentGravity gravity);
+		public void set_content_repeat (Clutter.ContentRepeat repeat);
+		public void set_content_scaling_filters (Clutter.ScalingFilter min_filter, Clutter.ScalingFilter mag_filter);
+		public void set_easing_delay (uint msecs);
+		public void set_easing_duration (uint msecs);
+		public void set_easing_mode (Clutter.AnimationMode mode);
+		public void set_fixed_position_set (bool is_set);
+#if !HAS_MUTTER47
+		public void set_flags (Clutter.ActorFlags flags);
+#endif
+		public void set_height (float height);
+		public void set_layout_manager (Clutter.LayoutManager? manager);
+#if HAS_MUTTER46
+		[CCode (cname = "clutter_actor_class_set_layout_manager_type")]
+		public class void set_layout_manager_type (GLib.Type type);
+#endif
+		public void set_margin (Clutter.Margin margin);
+		public void set_margin_bottom (float margin);
+		public void set_margin_left (float margin);
+		public void set_margin_right (float margin);
+		public void set_margin_top (float margin);
+		public void set_name (string? name);
+#if HAS_MUTTER48
+		public void set_no_layout (bool no_layout);
+#endif
+		public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect);
+		public void set_opacity (uint8 opacity);
+		public void set_opacity_override (int opacity);
+		public void set_pivot_point (float pivot_x, float pivot_y);
+		public void set_pivot_point_z (float pivot_z);
+		public void set_position (float x, float y);
+		public void set_reactive (bool reactive);
+		public void set_request_mode (Clutter.RequestMode mode);
+		public void set_rotation_angle (Clutter.RotateAxis axis, double angle);
+		public void set_scale (double scale_x, double scale_y);
+		public void set_scale_z (double scale_z);
+		public void set_size (float width, float height);
+		public void set_text_direction (Clutter.TextDirection text_dir);
+		public void set_transform (Graphene.Matrix? transform);
+		public void set_translation (float translate_x, float translate_y, float translate_z);
+		public void set_width (float width);
+		public void set_x (float x);
+		public void set_x_align (Clutter.ActorAlign x_align);
+		public void set_x_expand (bool expand);
+		public void set_y (float y);
+		public void set_y_align (Clutter.ActorAlign y_align);
+		public void set_y_expand (bool expand);
+		public void set_z_position (float z_position);
+		public bool should_pick (Clutter.PickContext pick_context);
+		public bool transform_stage_point (float x, float y, out float x_out, out float y_out);
+		public void uninhibit_culling ();
+		public virtual void unmap ();
+#if HAS_MUTTER47
+		public void unset_color_state ();
+		public string accessible_name { get; set construct; }
+		public Atk.Role accessible_role { get; set construct; }
+#else
+		public void unset_flags (Clutter.ActorFlags flags);
+#endif
+		[NoAccessorMethod]
+		public Clutter.Action actions { set; }
+		[NoAccessorMethod]
+		public Clutter.ActorBox allocation { owned get; }
+#if HAS_MUTTER47
+		public Cogl.Color background_color { get; set; }
+#else
+		public Clutter.Color background_color { get; set; }
+#endif
+		[NoAccessorMethod]
+		public bool background_color_set { get; }
+		public Graphene.Matrix child_transform { get; set; }
+		[NoAccessorMethod]
+		public bool child_transform_set { get; }
+		[NoAccessorMethod]
+		public Graphene.Rect clip_rect { owned get; set; }
+		public bool clip_to_allocation { get; set; }
+		public Clutter.ColorState color_state { get; set construct; }
+		[NoAccessorMethod]
+		public Clutter.Constraint constraints { set; }
+		public Clutter.Content content { get; set; }
+		public Clutter.ActorBox content_box { get; }
+		public Clutter.ContentGravity content_gravity { get; set; }
+		public Clutter.ContentRepeat content_repeat { get; set; }
+#if HAS_MUTTER47
+		public Clutter.Context context { get; construct; }
+#endif
+		[NoAccessorMethod]
+		public Clutter.Effect effect { set; }
+		public Clutter.Actor first_child { get; }
+		public bool fixed_position_set { get; set; }
+		[NoAccessorMethod]
+		public float fixed_x { get; set; }
+		[NoAccessorMethod]
+		public float fixed_y { get; set; }
+		[NoAccessorMethod]
+		public bool has_clip { get; }
+		[NoAccessorMethod]
+		public bool has_pointer { get; }
+		public float height { get; set; }
+		public Clutter.Actor last_child { get; }
+		public Clutter.LayoutManager layout_manager { get; set; }
+		[NoAccessorMethod]
+		public Clutter.ScalingFilter magnification_filter { get; set; }
+		[NoAccessorMethod]
+		public bool mapped { get; }
+		public float margin_bottom { get; set; }
+		public float margin_left { get; set; }
+		public float margin_right { get; set; }
+		public float margin_top { get; set; }
+		[NoAccessorMethod]
+		public float min_height { get; set; }
+		[NoAccessorMethod]
+		public bool min_height_set { get; set; }
+		[NoAccessorMethod]
+		public float min_width { get; set; }
+		[NoAccessorMethod]
+		public bool min_width_set { get; set; }
+		[NoAccessorMethod]
+		public Clutter.ScalingFilter minification_filter { get; set; }
+		public string name { get; set; }
+		[NoAccessorMethod]
+		public float natural_height { get; set; }
+		[NoAccessorMethod]
+		public bool natural_height_set { get; set; }
+		[NoAccessorMethod]
+		public float natural_width { get; set; }
+		[NoAccessorMethod]
+		public bool natural_width_set { get; set; }
+		public Clutter.OffscreenRedirect offscreen_redirect { get; set; }
+		public uint opacity { get; set; }
+		[NoAccessorMethod]
+		public Graphene.Point pivot_point { owned get; set; }
+		public float pivot_point_z { get; set; }
+		[NoAccessorMethod]
+		public Graphene.Point position { owned get; set; }
+		public bool reactive { get; set; }
+		[NoAccessorMethod]
+		public bool realized { get; }
+		public Clutter.RequestMode request_mode { get; set; }
+		[NoAccessorMethod]
+		public double rotation_angle_x { get; set; }
+		[NoAccessorMethod]
+		public double rotation_angle_y { get; set; }
+		[NoAccessorMethod]
+		public double rotation_angle_z { get; set; }
+		[NoAccessorMethod]
+		public double scale_x { get; set; }
+		[NoAccessorMethod]
+		public double scale_y { get; set; }
+		public double scale_z { get; set; }
+		[NoAccessorMethod]
+		public bool show_on_set_parent { get; set; }
+		[NoAccessorMethod]
+		public Graphene.Size size { owned get; set; }
+		public Clutter.TextDirection text_direction { get; set; }
+		public Graphene.Matrix transform { get; set; }
+		[NoAccessorMethod]
+		public bool transform_set { get; }
+		[NoAccessorMethod]
+		public float translation_x { get; set; }
+		[NoAccessorMethod]
+		public float translation_y { get; set; }
+		[NoAccessorMethod]
+		public float translation_z { get; set; }
+		[NoAccessorMethod]
+		public bool visible { get; set; }
+		public float width { get; set; }
+		public float x { get; set; }
+		public Clutter.ActorAlign x_align { get; set; }
+		public bool x_expand { get; set; }
+		public float y { get; set; }
+		public Clutter.ActorAlign y_align { get; set; }
+		public bool y_expand { get; set; }
+		public float z_position { get; set; }
+		public virtual signal bool button_press_event (Clutter.Event event);
+		public virtual signal bool button_release_event (Clutter.Event event);
+		public virtual signal bool captured_event (Clutter.Event event);
+#if HAS_MUTTER46
+		public virtual signal void child_added (Clutter.Actor child);
+		public virtual signal void child_removed (Clutter.Actor child);
+		public signal void cloned (Clutter.Clone object);
+		public signal void decloned (Clutter.Clone object);
+#endif
+		[HasEmitter]
+		public virtual signal void destroy ();
+		public virtual signal bool enter_event (Clutter.Event event);
+		public virtual signal bool event (Clutter.Event event);
+		[HasEmitter]
+		public virtual signal void hide ();
+		public virtual signal void key_focus_in ();
+		public virtual signal void key_focus_out ();
+		public virtual signal bool key_press_event (Clutter.Event event);
+		public virtual signal bool key_release_event (Clutter.Event event);
+		public virtual signal bool leave_event (Clutter.Event event);
+		public virtual signal bool motion_event (Clutter.Event event);
+		public virtual signal void parent_set (Clutter.Actor? old_parent);
+		[HasEmitter]
+		public virtual signal void pick (Clutter.PickContext pick_context);
+		[HasEmitter]
+		public virtual signal void queue_relayout ();
+		[HasEmitter]
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public virtual signal void realize ();
+		public virtual signal void resource_scale_changed ();
+		public virtual signal bool scroll_event (Clutter.Event event);
+		[HasEmitter]
+		public virtual signal void show ();
+		public signal void stage_views_changed ();
+		public virtual signal bool touch_event (Clutter.Event event);
+		public signal void transition_stopped (string name, bool is_finished);
+		public signal void transitions_completed ();
+		[HasEmitter]
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public virtual signal void unrealize ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_accessible_get_type ()")]
+	public class ActorAccessible : Atk.GObjectAccessible, Atk.Component {
+		[CCode (has_construct_function = false)]
+		protected ActorAccessible ();
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_meta_get_type ()")]
+	public abstract class ActorMeta : GLib.InitiallyUnowned {
+		[CCode (has_construct_function = false)]
+		protected ActorMeta ();
+		public unowned Clutter.Actor get_actor ();
+		public bool get_enabled ();
+		public unowned string get_name ();
+		[NoWrapper]
+		public virtual void set_actor (Clutter.Actor? actor);
+		public virtual void set_enabled (bool is_enabled);
+		public void set_name (string name);
+		public Clutter.Actor actor { get; }
+		public bool enabled { get; set; }
+		public string name { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_node_get_type ()")]
+	public class ActorNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public ActorNode (Clutter.Actor actor, int opacity);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_align_constraint_get_type ()")]
+	public sealed class AlignConstraint : Clutter.Constraint {
+		[CCode (has_construct_function = false, type = "ClutterConstraint*")]
+		public AlignConstraint (Clutter.Actor? source, Clutter.AlignAxis axis, float factor);
+		public Clutter.AlignAxis get_align_axis ();
+		public float get_factor ();
+		public Graphene.Point get_pivot_point ();
+		public unowned Clutter.Actor get_source ();
+		public void set_align_axis (Clutter.AlignAxis axis);
+		public void set_factor (float factor);
+		public void set_pivot_point (Graphene.Point pivot_point);
+		public void set_source (Clutter.Actor? source);
+		public Clutter.AlignAxis align_axis { get; set construct; }
+		public float factor { get; set construct; }
+		public Graphene.Point pivot_point { get; set; }
+		public Clutter.Actor source { get; set construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class AnyEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_backend_get_type ()")]
+	public abstract class Backend : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Backend ();
+		public unowned Cogl.Context get_cogl_context ();
+		public unowned Clutter.Seat get_default_seat ();
+#if !HAS_MUTTER48
+		public unowned Cairo.FontOptions get_font_options ();
+#endif
+		public unowned Clutter.InputMethod get_input_method ();
+		public double get_resolution ();
+#if !HAS_MUTTER48
+		public void set_font_options (Cairo.FontOptions options);
+#endif
+		public void set_input_method (Clutter.InputMethod? method);
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public Clutter.Context context { owned get; construct; }
+#endif
+		public signal void font_changed ();
+		public signal void resolution_changed ();
+		public signal void settings_changed ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
+	public class BinLayout : Clutter.LayoutManager {
+		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+#if HAS_MUTTER46
+		public BinLayout ();
+#else
+		public BinLayout (Clutter.BinAlignment x_align = Clutter.BinAlignment.START, Clutter.BinAlignment y_align = Clutter.BinAlignment.START);
+		[NoAccessorMethod]
+		[Version (deprecated = true, deprecated_since = "1.12")]
+		public Clutter.BinAlignment x_align { get; set; }
+		[NoAccessorMethod]
+		[Version (deprecated = true, deprecated_since = "1.12")]
+		public Clutter.BinAlignment y_align { get; set; }
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bind_constraint_get_type ()")]
+	public sealed class BindConstraint : Clutter.Constraint {
+		[CCode (has_construct_function = false, type = "ClutterConstraint*")]
+		public BindConstraint (Clutter.Actor? source, Clutter.BindCoordinate coordinate, float offset);
+		public Clutter.BindCoordinate get_coordinate ();
+		public float get_offset ();
+		public unowned Clutter.Actor get_source ();
+		public void set_coordinate (Clutter.BindCoordinate coordinate);
+		public void set_offset (float offset);
+		public void set_source (Clutter.Actor? source);
+		public Clutter.BindCoordinate coordinate { get; set construct; }
+		public float offset { get; set construct; }
+		public Clutter.Actor source { get; set construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_binding_pool_get_type ()")]
+	public sealed class BindingPool : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public BindingPool (string name);
+		public bool activate (uint key_val, Clutter.ModifierType modifiers, GLib.Object gobject);
+		public void block_action (string action_name);
+		public static unowned Clutter.BindingPool find (string name);
+		public unowned string find_action (uint key_val, Clutter.ModifierType modifiers);
+		public static unowned Clutter.BindingPool get_for_class (void* klass);
+#if HAS_MUTTER46
+		public void install_action (string action_name, uint key_val, Clutter.ModifierType modifiers, owned GLib.Callback callback);
+#else
+		public void install_action (string action_name, uint key_val, Clutter.ModifierType modifiers, owned Clutter.BindingActionFunc callback);
+#endif
+		public void install_closure (string action_name, uint key_val, Clutter.ModifierType modifiers, GLib.Closure closure);
+		public void override_action (uint key_val, Clutter.ModifierType modifiers, owned GLib.Callback callback);
+		public void override_closure (uint key_val, Clutter.ModifierType modifiers, GLib.Closure closure);
+		public void remove_action (uint key_val, Clutter.ModifierType modifiers);
+		public void unblock_action (string action_name);
+		[NoAccessorMethod]
+		public string name { owned get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_blit_node_get_type ()")]
+	public class BlitNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public BlitNode (Cogl.Framebuffer src);
+		public void add_blit_rectangle (int src_x, int src_y, int dst_x, int dst_y, int width, int height);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_blur_effect_get_type ()")]
+	public class BlurEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+		public BlurEffect ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_blur_node_get_type ()")]
+	public class BlurNode : Clutter.LayerNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public BlurNode (uint width, uint height, float radius);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_box_layout_get_type ()")]
+	public class BoxLayout : Clutter.LayoutManager {
+		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+		public BoxLayout ();
+		public bool get_homogeneous ();
+		public Clutter.Orientation get_orientation ();
+		public uint get_spacing ();
+		public void set_homogeneous (bool homogeneous);
+		public void set_orientation (Clutter.Orientation orientation);
+		public void set_spacing (uint spacing);
+		public bool homogeneous { get; set; }
+		public Clutter.Orientation orientation { get; set; }
+		public uint spacing { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_brightness_contrast_effect_get_type ()")]
+	public class BrightnessContrastEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+		public BrightnessContrastEffect ();
+		public void get_brightness (out float red, out float green, out float blue);
+		public void get_contrast (out float red, out float green, out float blue);
+		public void set_brightness (float brightness);
+		public void set_brightness_full (float red, float green, float blue);
+		public void set_contrast (float contrast);
+		public void set_contrast_full (float red, float green, float blue);
+		[NoAccessorMethod]
+#if HAS_MUTTER47
+		public Cogl.Color brightness { owned get; set; }
+#else
+		public Clutter.Color brightness { owned get; set; }
+#endif
+		[NoAccessorMethod]
+#if HAS_MUTTER47
+		public Cogl.Color contrast { owned get; set; }
+#else
+		public Clutter.Color contrast { owned get; set; }
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ButtonEvent : Clutter.Event {
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
+	public class Canvas : GLib.Object, Clutter.Content {
+		[CCode (has_construct_function = false, type = "ClutterContent*")]
+		public Canvas ();
+		public float get_scale_factor ();
+		public void set_scale_factor (float scale);
+		public bool set_size (int width, int height);
+		[NoAccessorMethod]
+		public int height { get; set; }
+		public float scale_factor { get; set; }
+		[NoAccessorMethod]
+		public int width { get; set; }
+		public virtual signal bool draw (Cairo.Context cr, int width, int height);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_child_meta_get_type ()")]
+	public abstract class ChildMeta : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected ChildMeta ();
+		public unowned Clutter.Actor get_actor ();
+		public unowned Clutter.Container get_container ();
+		public Clutter.Actor actor { get; construct; }
+		public Clutter.Container container { get; construct; }
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_click_action_get_type ()")]
+	public class ClickAction : Clutter.Action {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public ClickAction ();
+		public uint get_button ();
+		public void get_coords (out float press_x, out float press_y);
+		public Clutter.ModifierType get_state ();
+		public void release ();
+		[NoAccessorMethod]
+		public bool held { get; }
+		[NoAccessorMethod]
+		public int long_press_duration { get; set; }
+		[NoAccessorMethod]
+		public int long_press_threshold { get; set; }
+		[NoAccessorMethod]
+		public bool pressed { get; }
+		public virtual signal void clicked (Clutter.Actor actor);
+		public virtual signal bool long_press (Clutter.Actor actor, Clutter.LongPressState state);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_clip_node_get_type ()")]
+	public class ClipNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public ClipNode ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_clone_get_type ()")]
+#if HAS_MUTTER46
+	public class Clone : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public class Clone : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public Clone (Clutter.Actor source);
+		public unowned Clutter.Actor get_source ();
+		public void set_source (Clutter.Actor? source);
+		public Clutter.Actor source { get; set construct; }
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_manager_get_type ()")]
+	public sealed class ColorManager : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected ColorManager ();
+		[NoAccessorMethod]
+		public Clutter.Context context { owned get; construct; }
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_node_get_type ()")]
+	public class ColorNode : Clutter.PipelineNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+#if HAS_MUTTER47
+		public ColorNode (Cogl.Color? color);
+#else
+		public ColorNode (Clutter.Color? color);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_state_get_type ()")]
+	public sealed class ColorState : GLib.Object {
+		[CCode (has_construct_function = false)]
+#if HAS_MUTTER47
+#if HAS_MUTTER48
+		protected ColorState ();
+#else
+		public ColorState (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function);
+#endif
+		public void add_pipeline_transform (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+#if HAS_MUTTER48
+		public virtual void do_transform (Clutter.ColorState target_color_state, float input, float output, int n_samples);
+		public virtual bool equals (Clutter.ColorState other_color_state);
+		public virtual Clutter.ColorState get_blending (bool force);
+#else
+		public bool equals (Clutter.ColorState other_color_state);
+		[CCode (has_construct_function = false)]
+		public ColorState.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, float min_lum, float max_lum, float ref_lum);
+		public Clutter.ColorState get_blending (bool force);
+#endif
+#else
+		public ColorState (Clutter.Colorspace colorspace);
+#endif
+#if !HAS_MUTTER48
+		public Clutter.Colorspace get_colorspace ();
+#endif
+#if HAS_MUTTER47
+		public uint get_id ();
+#if HAS_MUTTER48
+		[NoWrapper]
+		public virtual void init_color_transform_key (Clutter.ColorState target_color_state, Clutter.ColorTransformKey key);
+		public virtual Clutter.EncodingRequiredFormat required_format ();
+		public virtual string to_string ();
+		public virtual void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+#else
+		public void get_luminances (float min_lum_out, float max_lum_out, float ref_lum_out);
+		public Clutter.TransferFunction get_transfer_function ();
+		public Clutter.EncodingRequiredFormat required_format ();
+		public string to_string ();
+		public void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+#endif
+#endif
+#if !HAS_MUTTER48
+		public Clutter.Colorspace colorspace { get; construct; }
+#endif
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public Clutter.Context context { owned get; construct; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public float max_luminance { get; construct; }
+		[NoAccessorMethod]
+		public float min_luminance { get; construct; }
+		[NoAccessorMethod]
+		public float ref_luminance { get; construct; }
+		public Clutter.TransferFunction transfer_function { get; construct; }
+#endif
+#endif
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_state_params_get_type ()")]
+	public class ColorStateParams : Clutter.ColorState {
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function);
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams.from_primitives (Clutter.Context context, Clutter.Colorimetry colorimetry, Clutter.EOTF eotf, Clutter.Luminance luminance);
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, Clutter.Primaries primaries, float gamma_exp, float min_lum, float max_lum, float ref_lum);
+		public unowned Clutter.Colorimetry? get_colorimetry ();
+		public unowned Clutter.EOTF? get_eotf ();
+		public unowned Clutter.Luminance? get_luminance ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ColorTransformKey {
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_colorize_effect_get_type ()")]
+	public class ColorizeEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+#if HAS_MUTTER47
+		public ColorizeEffect (Cogl.Color tint);
+		public Cogl.Color get_tint ();
+		public void set_tint (Cogl.Color tint);
+		public Cogl.Color tint { get; set; }
+#else
+		public ColorizeEffect (Clutter.Color tint);
+		public Clutter.Color get_tint ();
+		public void set_tint (Clutter.Color tint);
+		public Clutter.Color tint { get; set; }
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_constraint_get_type ()")]
+	public abstract class Constraint : Clutter.ActorMeta {
+		[CCode (has_construct_function = false)]
+		protected Constraint ();
+		[NoWrapper]
+		public virtual void update_allocation (Clutter.Actor actor, Clutter.ActorBox allocation);
+		public virtual void update_preferred_size (Clutter.Actor actor, Clutter.Orientation direction, float for_size, ref float minimum_size, ref float natural_size);
+	}
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_context_get_type ()")]
+	public class Context : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Context ();
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class Context {
+#endif
+		public unowned Clutter.Backend get_backend ();
+#if HAS_MUTTER47
+		public unowned Clutter.ColorManager get_color_manager ();
+		public unowned Clutter.Settings get_settings ();
+#endif
+#if HAS_MUTTER46
+		public Clutter.TextDirection get_text_direction ();
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class CrossingEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_deform_effect_get_type ()")]
+	public abstract class DeformEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false)]
+		protected DeformEffect ();
+		[NoWrapper]
+#if HAS_MUTTER47
+		public virtual void deform_vertex (float width, float height, Clutter.TextureVertex vertex);
+#else
+		public virtual void deform_vertex (float width, float height, Cogl.TextureVertex vertex);
+#endif
+#if HAS_MUTTER47
+		public unowned Cogl.Pipeline? get_back_pipeline ();
+#elif HAS_MUTTER46
+		public unowned Cogl.Pipeline get_back_material ();
+#else
+		public unowned Cogl.Handle get_back_material ();
+#endif
+		public void get_n_tiles (out uint x_tiles, out uint y_tiles);
+		public void invalidate ();
+#if HAS_MUTTER47
+		public void set_back_pipeline (Cogl.Pipeline? pipeline);
+#elif HAS_MUTTER46
+		public void set_back_material (Cogl.Pipeline? material);
+#else
+		public void set_back_material (Cogl.Handle? material);
+#endif
+		public void set_n_tiles (uint x_tiles, uint y_tiles);
+#if HAS_MUTTER47
+		public Cogl.Pipeline back_pipeline { get; set; }
+#elif HAS_MUTTER46
+		public Cogl.Pipeline back_material { get; set; }
+#endif
+		[NoAccessorMethod]
+		public uint x_tiles { get; set; }
+		[NoAccessorMethod]
+		public uint y_tiles { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_desaturate_effect_get_type ()")]
+	public class DesaturateEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+		public DesaturateEffect (double factor);
+		public double get_factor ();
+		public void set_factor (double factor);
+		public double factor { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class DeviceEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_effect_get_type ()")]
+	public abstract class Effect : Clutter.ActorMeta {
+		[CCode (has_construct_function = false)]
+		protected Effect ();
+		[NoWrapper]
+		public virtual bool modify_paint_volume (Clutter.PaintVolume volume);
+		[NoWrapper]
+		public virtual void paint (Clutter.PaintNode node, Clutter.PaintContext paint_context, Clutter.EffectPaintFlags flags);
+		[NoWrapper]
+		public virtual void paint_node (Clutter.PaintNode node, Clutter.PaintContext paint_context, Clutter.EffectPaintFlags flags);
+		[NoWrapper]
+		public virtual void pick (Clutter.PickContext pick_context);
+		[NoWrapper]
+		public virtual void post_paint (Clutter.PaintNode node, Clutter.PaintContext paint_context);
+		[NoWrapper]
+		public virtual bool pre_paint (Clutter.PaintNode node, Clutter.PaintContext paint_context);
+		public void queue_repaint ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_get_type ()")]
+	[Compact]
+	public class Event {
+#if !HAS_MUTTER46
+		[CCode (has_construct_function = false)]
+		public Event (Clutter.EventType type);
+#endif
+		public static uint add_filter (Clutter.Stage? stage, [CCode (delegate_target_pos = 2.2, destroy_notify_pos = 2.1)] owned Clutter.EventFilterFunc func);
+		public Clutter.Event copy ();
+		public void free ();
+		public static Clutter.Event @get ();
+		public double get_angle (Clutter.Event target);
+		public double get_axes (out uint n_axes);
+		public uint32 get_button ();
+		public void get_coords (out float x, out float y);
+		public unowned Clutter.InputDevice get_device ();
+		public unowned Clutter.InputDeviceTool get_device_tool ();
+		public Clutter.InputDeviceType get_device_type ();
+		public float get_distance (Clutter.Event target);
+		public uint32 get_event_code ();
+		public unowned Clutter.EventSequence get_event_sequence ();
+		public Clutter.EventFlags get_flags ();
+		public void get_gesture_motion_delta (out double dx, out double dy);
+		public void get_gesture_motion_delta_unaccelerated (out double dx, out double dy);
+		public Clutter.TouchpadGesturePhase get_gesture_phase ();
+		public double get_gesture_pinch_angle_delta ();
+		public double get_gesture_pinch_scale ();
+		public uint32 get_im_delete_length ();
+		public bool get_im_location (int32 offset, int32 anchor);
+		public Clutter.PreeditResetMode get_im_preedit_reset_mode ();
+		public unowned string get_im_text ();
+		public uint16 get_key_code ();
+#if HAS_MUTTER46
+		public void get_key_state (out Clutter.ModifierType pressed, out Clutter.ModifierType latched, out Clutter.ModifierType locked);
+#endif
+		public uint get_key_symbol ();
+		public unichar get_key_unicode ();
+		public uint get_mode_group ();
+		public bool get_pad_details (out uint number, out uint mode, out Clutter.InputDevicePadSource source, out double value);
+		public Graphene.Point get_position ();
+		public unowned Clutter.Actor get_related ();
+		public bool get_relative_motion (double dx, double dy, double dx_unaccel, double dy_unaccel, double dx_constrained, double dy_constrained);
+		public void get_scroll_delta (out double dx, out double dy);
+		public Clutter.ScrollDirection get_scroll_direction ();
+		public Clutter.ScrollFinishFlags get_scroll_finish_flags ();
+		public Clutter.ScrollSource get_scroll_source ();
+#if !HAS_MUTTER46
+		public unowned Clutter.Actor get_source ();
+#endif
+		public unowned Clutter.InputDevice get_source_device ();
+		public Clutter.ModifierType get_state ();
+		public uint32 get_time ();
+		public int64 get_time_us ();
+		public uint get_touchpad_gesture_finger_count ();
+		[CCode (cname = "clutter_event_type")]
+		public Clutter.EventType get_type ();
+		public bool has_control_modifier ();
+		public bool has_shift_modifier ();
+		public bool is_pointer_emulated ();
+		public void put ();
+		public static void remove_filter (uint id);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_sequence_get_type ()")]
+	[Compact]
+	public class EventSequence {
+		public int32 get_slot ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_fixed_layout_get_type ()")]
+	public class FixedLayout : Clutter.LayoutManager {
+		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+		public FixedLayout ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_flow_layout_get_type ()")]
+	public sealed class FlowLayout : Clutter.LayoutManager {
+		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+#if HAS_MUTTER46
+		public FlowLayout (Clutter.Orientation orientation);
+#else
+		public FlowLayout (Clutter.FlowOrientation orientation);
+#endif
+		public float get_column_spacing ();
+		public void get_column_width (out float min_width, out float max_width);
+		public bool get_homogeneous ();
+#if HAS_MUTTER46
+		public Clutter.Orientation get_orientation ();
+#else
+		public Clutter.FlowOrientation get_orientation ();
+#endif
+		public void get_row_height (out float min_height, out float max_height);
+		public float get_row_spacing ();
+		public bool get_snap_to_grid ();
+		public void set_column_spacing (float spacing);
+		public void set_column_width (float min_width, float max_width);
+		public void set_homogeneous (bool homogeneous);
+#if HAS_MUTTER46
+		public void set_orientation (Clutter.Orientation orientation);
+#else
+		public void set_orientation (Clutter.FlowOrientation orientation);
+#endif
+		public void set_row_height (float min_height, float max_height);
+		public void set_row_spacing (float spacing);
+		public void set_snap_to_grid (bool snap_to_grid);
+		public float column_spacing { get; set; }
+		public bool homogeneous { get; set; }
+		[NoAccessorMethod]
+		public float max_column_width { get; set; }
+		[NoAccessorMethod]
+		public float max_row_height { get; set; }
+		[NoAccessorMethod]
+		public float min_column_width { get; set; }
+		[NoAccessorMethod]
+		public float min_row_height { get; set; }
+#if HAS_MUTTER46
+		public Clutter.Orientation orientation { get; set construct; }
+#else
+		public Clutter.FlowOrientation orientation { get; set construct; }
+#endif
+		public float row_spacing { get; set; }
+		public bool snap_to_grid { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_frame_ref", type_id = "clutter_frame_get_type ()", unref_function = "clutter_frame_unref")]
+	[Compact]
+	public class Frame {
+		public int64 get_count ();
+#if HAS_MUTTER46
+		public bool get_frame_deadline (int64 frame_deadline_us);
+#else
+		public bool get_min_render_time_allowed (int64 min_render_time_allowed_us);
+#endif
+		public bool get_target_presentation_time (int64 target_presentation_time_us);
+		public bool has_result ();
+		public unowned Clutter.Frame @ref ();
+		public void set_result (Clutter.FrameResult result);
+		public void unref ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_frame_clock_get_type ()")]
+	public sealed class FrameClock : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected FrameClock ();
+#if HAS_MUTTER48
+		public void add_future_time (int64 when_us);
+#endif
+		public void add_timeline (Clutter.Timeline timeline);
+		public GLib.StringBuilder get_max_render_time_debug_info ();
+		public float get_refresh_rate ();
+		public void inhibit ();
+		public void notify_ready ();
+		public void record_flip_time (int64 flip_time_us);
+		public void remove_timeline (Clutter.Timeline timeline);
+		public void schedule_update ();
+		public void schedule_update_now ();
+#if HAS_MUTTER47
+		public void set_deadline_evasion (int64 deadline_evasion_us);
+		public void set_mode (Clutter.FrameClockMode mode);
+#endif
+		public void uninhibit ();
+		[HasEmitter]
+		public signal void destroy ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_gesture_get_type ()")]
+	public abstract class Gesture : Clutter.Action {
+		[CCode (has_construct_function = false)]
+		protected Gesture ();
+		public void can_not_cancel (Clutter.Gesture other_gesture);
+		public uint get_n_points ();
+		public Graphene.Point get_point_begin_coords (int point_index);
+		public Graphene.Point get_point_coords (int point_index);
+		public unowned Clutter.Event get_point_event (int point_index);
+		public Graphene.Point get_point_previous_coords (int point_index);
+		[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
+		public unowned uint[] get_points ();
+		public Clutter.GestureState get_state ();
+		public Clutter.GestureState state { get; }
+		[HasEmitter]
+		public signal void cancel ();
+		public signal void end ();
+		public virtual signal bool may_recognize ();
+		public signal void recognize ();
+		public virtual signal bool should_handle_sequence (Clutter.Event sequence_begin_event);
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_gesture_action_get_type ()")]
+	public class GestureAction : Clutter.Action {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public GestureAction ();
+		public void cancel ();
+		[NoWrapper]
+		public virtual bool gesture_prepare (Clutter.Actor actor);
+		public unowned Clutter.InputDevice get_device (uint point);
+		public unowned Clutter.Event get_last_event (uint point);
+		public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+		public float get_motion_delta (uint point, out float delta_x, out float delta_y);
+		public uint get_n_current_points ();
+		public int get_n_touch_points ();
+		public void get_press_coords (uint point, out float press_x, out float press_y);
+		public void get_release_coords (uint point, out float release_x, out float release_y);
+		public unowned Clutter.EventSequence get_sequence (uint point);
+		public void get_threshold_trigger_distance (out float x, out float y);
+		public Clutter.GestureTriggerEdge get_threshold_trigger_edge ();
+#if !HAS_MUTTER46
+		[Version (deprecated = true, deprecated_since = "1.20")]
+		public Clutter.GestureTriggerEdge get_threshold_trigger_egde ();
+#endif
+		public float get_velocity (uint point, out float velocity_x, out float velocity_y);
+		public void set_n_touch_points (int nb_points);
+		public void set_threshold_trigger_distance (float x, float y);
+		public void set_threshold_trigger_edge (Clutter.GestureTriggerEdge edge);
+		public int n_touch_points { get; set; }
+		[NoAccessorMethod]
+		public float threshold_trigger_distance_x { get; construct; }
+		[NoAccessorMethod]
+		public float threshold_trigger_distance_y { get; construct; }
+		public Clutter.GestureTriggerEdge threshold_trigger_edge { get; construct; }
+		public virtual signal bool gesture_begin (Clutter.Actor actor);
+		public virtual signal void gesture_cancel (Clutter.Actor actor);
+		public virtual signal void gesture_end (Clutter.Actor actor);
+		public virtual signal bool gesture_progress (Clutter.Actor actor);
+	}
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_grab_get_type ()")]
+	public sealed class Grab : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Grab ();
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_grab_ref", type_id = "clutter_grab_get_type ()", unref_function = "clutter_grab_unref")]
+	[Compact]
+	public class Grab {
+#endif
+#if HAS_MUTTER47
+		public void activate ();
+#endif
+		public void dismiss ();
+		public Clutter.GrabState get_seat_state ();
+#if HAS_MUTTER46
+		public bool is_revoked ();
+		[NoAccessorMethod]
+		public bool revoked { get; }
+#else
+		public unowned Clutter.Grab @ref ();
+		public void unref ();
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_grid_layout_get_type ()")]
+	public sealed class GridLayout : Clutter.LayoutManager {
+		[CCode (has_construct_function = false, type = "ClutterLayoutManager*")]
+		public GridLayout ();
+		public void attach (Clutter.Actor child, int left, int top, int width, int height);
+		public void attach_next_to (Clutter.Actor child, Clutter.Actor? sibling, Clutter.GridPosition side, int width, int height);
+		public unowned Clutter.Actor get_child_at (int left, int top);
+		public bool get_column_homogeneous ();
+		public uint get_column_spacing ();
+		public Clutter.Orientation get_orientation ();
+		public bool get_row_homogeneous ();
+		public uint get_row_spacing ();
+		public void insert_column (int position);
+		public void insert_next_to (Clutter.Actor sibling, Clutter.GridPosition side);
+		public void insert_row (int position);
+		public void set_column_homogeneous (bool homogeneous);
+		public void set_column_spacing (uint spacing);
+		public void set_orientation (Clutter.Orientation orientation);
+		public void set_row_homogeneous (bool homogeneous);
+		public void set_row_spacing (uint spacing);
+		public bool column_homogeneous { get; set; }
+		public uint column_spacing { get; set; }
+		public Clutter.Orientation orientation { get; set; }
+		public bool row_homogeneous { get; set; }
+		public uint row_spacing { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class IMEvent : Clutter.Event {
+	}
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")]
+	public class Image : GLib.Object, Clutter.Content {
+		[CCode (has_construct_function = false, type = "ClutterContent*")]
+		public Image ();
+		public unowned Cogl.Texture get_texture ();
+		public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, Mtk.Rectangle rect, uint row_stride) throws GLib.Error;
+		public bool set_bytes (GLib.Bytes data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
+		public bool set_data ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_device_get_type ()")]
+	public class InputDevice : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected InputDevice ();
+		public Clutter.InputCapabilities get_capabilities ();
+		public Clutter.InputMode get_device_mode ();
+		public unowned string get_device_name ();
+		public unowned string get_device_node ();
+		public Clutter.InputDeviceType get_device_type ();
+		public virtual bool get_dimensions (out uint width, out uint height);
+		public virtual int get_group_n_modes (int group);
+		public bool get_has_cursor ();
+		public int get_mode_switch_button_group (uint button);
+		public int get_n_buttons ();
+		public int get_n_mode_groups ();
+		public int get_n_rings ();
+		public int get_n_strips ();
+		public virtual int get_pad_feature_group (Clutter.InputDevicePadFeature feature, int n_feature);
+
+		public unowned string get_product_id ();
+		public unowned Clutter.Seat get_seat ();
+		public unowned string get_vendor_id ();
+		public virtual bool is_grouped (Clutter.InputDevice other_device);
+		public virtual bool is_mode_switch_button (uint group, uint button);
+		public Clutter.InputCapabilities capabilities { get; construct; }
+		public Clutter.InputMode device_mode { get; construct; }
+		public string device_node { get; construct; }
+		public Clutter.InputDeviceType device_type { get; construct; }
+		public bool has_cursor { get; construct; }
+		public int n_buttons { get; construct; }
+		public int n_mode_groups { get; construct; }
+		public int n_rings { get; construct; }
+		public int n_strips { get; construct; }
+		[NoAccessorMethod]
+		public string name { owned get; construct; }
+		public string product_id { get; construct; }
+		public Clutter.Seat seat { get; construct; }
+		public string vendor_id { get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_device_tool_get_type ()")]
+	public abstract class InputDeviceTool : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected InputDeviceTool ();
+		public Clutter.InputAxisFlags get_axes ();
+		public uint64 get_id ();
+		public uint64 get_serial ();
+		public Clutter.InputDeviceToolType get_tool_type ();
+		public Clutter.InputAxisFlags axes { get; construct; }
+		public uint64 id { get; construct; }
+		public uint64 serial { get; construct; }
+		[NoAccessorMethod]
+		public Clutter.InputDeviceToolType type { get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_focus_get_type ()")]
+	public abstract class InputFocus : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected InputFocus ();
+		[NoWrapper]
+		public virtual void commit_text (string text);
+		[NoWrapper]
+		public virtual void delete_surrounding (int offset, uint len);
+		public bool filter_event (Clutter.Event event);
+		[NoWrapper]
+		public virtual void focus_in (Clutter.InputMethod input_method);
+		[NoWrapper]
+		public virtual void focus_out ();
+		public bool is_focused ();
+		public bool process_event (Clutter.Event event);
+		[NoWrapper]
+		public virtual void request_surrounding ();
+		public void reset ();
+		public void set_can_show_preedit (bool can_show_preedit);
+		public void set_content_hints (Clutter.InputContentHintFlags hint);
+		public void set_content_purpose (Clutter.InputContentPurpose purpose);
+		public void set_cursor_location (Graphene.Rect rect);
+		public void set_input_panel_state (Clutter.InputPanelState state);
+		[NoWrapper]
+		public virtual void set_preedit_text (string preedit, uint cursor, uint anchor);
+		public void set_surrounding (string text, uint cursor, uint anchor);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_method_get_type ()")]
+	public abstract class InputMethod : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected InputMethod ();
+		[NoWrapper]
+		public virtual bool filter_key_event (Clutter.Event key);
+		public virtual void focus_in (Clutter.InputFocus actor);
+		public virtual void focus_out ();
+		public void forward_key (uint32 keyval, uint32 keycode, uint32 state, uint64 time_, bool press);
+		public void notify_key_event (Clutter.Event event, bool filtered);
+		[NoWrapper]
+		public virtual void reset ();
+		[NoWrapper]
+		public virtual void set_cursor_location (Graphene.Rect rect);
+		public void set_input_panel_state (Clutter.InputPanelState state);
+		public void set_preedit_text (string? preedit, uint cursor, uint anchor, Clutter.PreeditResetMode mode);
+		[NoWrapper]
+		public virtual void set_surrounding (string text, uint cursor, uint anchor);
+		[NoWrapper]
+		public virtual void update_content_hints (Clutter.InputContentHintFlags hint);
+		[NoWrapper]
+		public virtual void update_content_purpose (Clutter.InputContentPurpose purpose);
+		[NoAccessorMethod]
+		public bool can_show_preedit { get; set; }
+		[NoAccessorMethod]
+		public Clutter.InputContentHintFlags content_hints { get; set; }
+		[NoAccessorMethod]
+		public Clutter.InputContentPurpose content_purpose { get; set; }
+		[HasEmitter]
+		public signal void commit (string text);
+		public signal void cursor_location_changed (Graphene.Rect object);
+		[HasEmitter]
+		public signal void delete_surrounding (int offset, uint len);
+		public signal void input_panel_state (Clutter.InputPanelState object);
+		[HasEmitter]
+		public signal void request_surrounding ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_interval_get_type ()")]
+#if HAS_MUTTER46
+	public class Interval : GLib.InitiallyUnowned {
+#else
+	public class Interval : GLib.InitiallyUnowned, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		public Interval (GLib.Type gtype, ...);
+		public Clutter.Interval clone ();
+		public unowned GLib.Value? compute (double factor);
+		public virtual bool compute_value (double factor, out GLib.Value value);
+		public GLib.Value get_final_value ();
+		public GLib.Value get_initial_value ();
+		public void get_interval (...);
+		public GLib.Type get_value_type ();
+		public bool is_valid ();
+		public unowned GLib.Value? peek_final_value ();
+		public unowned GLib.Value? peek_initial_value ();
+		public static void register_progress_func (GLib.Type value_type, Clutter.ProgressFunc func);
+		public void set_final (...);
+		public void set_final_value (GLib.Value value);
+		public void set_initial (...);
+		public void set_initial_value (GLib.Value value);
+		public void set_interval (...);
+		public virtual bool validate (GLib.ParamSpec pspec);
+		[CCode (has_construct_function = false)]
+		public Interval.with_values (GLib.Type gtype, GLib.Value? initial, GLib.Value? final);
+		[NoAccessorMethod]
+		public GLib.Value final { owned get; set; }
+		[NoAccessorMethod]
+		public GLib.Value initial { owned get; set; }
+		public GLib.Type value_type { get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class KeyEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_keyframe_transition_get_type ()")]
+#if HAS_MUTTER46
+	public class KeyframeTransition : Clutter.PropertyTransition {
+#else
+	public class KeyframeTransition : Clutter.PropertyTransition, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterTransition*")]
+		public KeyframeTransition (string property_name);
+		public void clear ();
+		public void get_key_frame (uint index_, out double key, out Clutter.AnimationMode mode, out GLib.Value value);
+		public uint get_n_key_frames ();
+		public void set_key_frame (uint index_, double key, Clutter.AnimationMode mode, GLib.Value value);
+		public void set_key_frames ([CCode (array_length_cname = "n_key_frames", array_length_pos = 0.5, array_length_type = "guint")] double[] key_frames);
+		public void set_modes ([CCode (array_length_cname = "n_modes", array_length_pos = 0.5, array_length_type = "guint")] Clutter.AnimationMode[] modes);
+		public void set_values ([CCode (array_length_cname = "n_values", array_length_pos = 0.5, array_length_type = "guint")] GLib.Value[] values);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_keymap_get_type ()")]
+	public abstract class Keymap : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Keymap ();
+		public bool get_caps_lock_state ();
+#if HAS_MUTTER46
+		public virtual Clutter.TextDirection get_direction ();
+#else
+		public virtual Pango.Direction get_direction ();
+#endif
+		public bool get_num_lock_state ();
+		public bool caps_lock_state { get; }
+		public bool num_lock_state { get; }
+		public signal void state_changed ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layer_node_get_type ()")]
+	public class LayerNode : Clutter.PaintNode {
+#if HAS_MUTTER46
+		[CCode (has_construct_function = false)]
+		protected LayerNode ();
+#else
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public LayerNode (Graphene.Matrix projection, Cairo.Rectangle viewport, float width, float height, uint8 opacity);
+#endif
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public LayerNode.to_framebuffer (Cogl.Framebuffer framebuffer, Cogl.Pipeline pipeline);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_manager_get_type ()")]
+	public abstract class LayoutManager : GLib.InitiallyUnowned {
+		[CCode (has_construct_function = false)]
+		protected LayoutManager ();
+#if HAS_MUTTER46
+		public virtual void allocate (Clutter.Actor container, Clutter.ActorBox allocation);
+		public void child_get (Clutter.Actor container, Clutter.Actor actor, ...);
+		public void child_get_property (Clutter.Actor container, Clutter.Actor actor, string property_name, GLib.Value value);
+		public void child_set (Clutter.Actor container, Clutter.Actor actor, ...);
+		public void child_set_property (Clutter.Actor container, Clutter.Actor actor, string property_name, GLib.Value value);
+		[NoWrapper]
+		public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Actor container, Clutter.Actor actor);
+#else
+		public virtual void allocate (Clutter.Container container, Clutter.ActorBox allocation);
+		public void child_get (Clutter.Container container, Clutter.Actor actor, ...);
+		public void child_get_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+		public void child_set (Clutter.Container container, Clutter.Actor actor, ...);
+		public void child_set_property (Clutter.Container container, Clutter.Actor actor, string property_name, GLib.Value value);
+		[NoWrapper]
+		public virtual unowned Clutter.LayoutMeta create_child_meta (Clutter.Container container, Clutter.Actor actor);
+#endif
+		public unowned GLib.ParamSpec find_child_property (string name);
+#if HAS_MUTTER46
+		public unowned Clutter.LayoutMeta get_child_meta (Clutter.Actor container, Clutter.Actor actor);
+#else
+		public unowned Clutter.LayoutMeta get_child_meta (Clutter.Container container, Clutter.Actor actor);
+#endif
+		[NoWrapper]
+		public virtual GLib.Type get_child_meta_type ();
+#if HAS_MUTTER46
+		public virtual void get_preferred_height (Clutter.Actor container, float for_width, out float min_height_p, out float nat_height_p);
+		public virtual void get_preferred_width (Clutter.Actor container, float for_height, out float min_width_p, out float nat_width_p);
+#else
+		public virtual void get_preferred_height (Clutter.Container container, float for_width, out float min_height_p, out float nat_height_p);
+		public virtual void get_preferred_width (Clutter.Container container, float for_height, out float min_width_p, out float nat_width_p);
+#endif
+		[CCode (array_length_pos = 0.1, array_length_type = "guint")]
+		public GLib.ParamSpec[] list_child_properties ();
+#if HAS_MUTTER46
+		public virtual void set_container (Clutter.Actor? container);
+#else
+		public virtual void set_container (Clutter.Container? container);
+#endif
+		[HasEmitter]
+		public virtual signal void layout_changed ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_layout_meta_get_type ()")]
+#if HAS_MUTTER46
+	public abstract class LayoutMeta : GLib.Object {
+#else
+	public abstract class LayoutMeta : Clutter.ChildMeta {
+#endif
+		[CCode (has_construct_function = false)]
+		protected LayoutMeta ();
+#if HAS_MUTTER46
+		public unowned Clutter.Actor get_actor ();
+		public unowned Clutter.Actor get_container ();
+#endif
+		public unowned Clutter.LayoutManager get_manager ();
+#if HAS_MUTTER46
+		public bool is_for (Clutter.LayoutManager manager, Clutter.Actor container, Clutter.Actor actor);
+		public Clutter.Actor actor { get; construct; }
+		public Clutter.Actor container { get; construct; }
+#endif
+		public Clutter.LayoutManager manager { get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class MotionEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_offscreen_effect_get_type ()")]
+	public abstract class OffscreenEffect : Clutter.Effect {
+		[CCode (has_construct_function = false)]
+		protected OffscreenEffect ();
+#if HAS_MUTTER47
+		public virtual Cogl.Texture create_texture (Cogl.Context cogl_context, float width, float height);
+#elif HAS_MUTTER46
+		public virtual Cogl.Texture create_texture (float width, float height);
+#else
+		public virtual Cogl.Handle create_texture (float width, float height);
+#endif
+		public unowned Cogl.Pipeline? get_pipeline ();
+		public bool get_target_size (out float width, out float height);
+#if HAS_MUTTER46
+		public unowned Cogl.Texture get_texture ();
+#else
+		public unowned Cogl.Handle get_texture ();
+#endif
+		public virtual void paint_target (Clutter.PaintNode node, Clutter.PaintContext paint_context);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class PadButtonEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class PadRingEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class PadStripEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
+	public class PageTurnEffect : Clutter.DeformEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+		public PageTurnEffect (double period, double angle, float radius);
+		public double get_angle ();
+		public double get_period ();
+		public float get_radius ();
+		public void set_angle (double angle);
+		public void set_period (double period);
+		public void set_radius (float radius);
+		public double angle { get; set; }
+		public double period { get; set; }
+		public float radius { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_paint_context_ref", type_id = "clutter_paint_context_get_type ()", unref_function = "clutter_paint_context_unref")]
+	[Compact]
+	public class PaintContext {
+		public void destroy ();
+		public unowned Cogl.Framebuffer get_framebuffer ();
+#if HAS_MUTTER46
+		public unowned Mtk.Region get_redraw_clip ();
+#else
+		public unowned Cairo.Region get_redraw_clip ();
+#endif
+#if HAS_MUTTER47
+		public void pop_color_state ();
+#endif
+		public void pop_framebuffer ();
+#if HAS_MUTTER47
+		public void push_color_state (Clutter.ColorState color_state);
+#endif
+		public void push_framebuffer (Cogl.Framebuffer framebuffer);
+		public unowned Clutter.PaintContext @ref ();
+		public void unref ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_paint_node_ref", type_id = "clutter_paint_node_get_type ()", unref_function = "clutter_paint_node_unref")]
+	public abstract class PaintNode {
+		[CCode (has_construct_function = false)]
+		protected PaintNode ();
+		public void add_child (Clutter.PaintNode child);
+		public void add_multitexture_rectangle (Clutter.ActorBox rect, float text_coords, uint text_coords_len);
+		public void add_rectangle (Clutter.ActorBox rect);
+		public void add_rectangles ([CCode (array_length_cname = "n_rects", array_length_pos = 1.1, array_length_type = "guint")] float[] coords);
+		public void add_texture_rectangle (Clutter.ActorBox rect, float x_1, float y_1, float x_2, float y_2);
+		public void add_texture_rectangles ([CCode (array_length_cname = "n_rects", array_length_pos = 1.1, array_length_type = "guint")] float[] coords);
+		public unowned Cogl.Framebuffer get_framebuffer ();
+		public void paint (Clutter.PaintContext paint_context);
+		public unowned Clutter.PaintNode @ref ();
+		public void set_name (string name);
+#if HAS_MUTTER48
+		public void set_static_name (string name);
+#endif
+		public void unref ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pan_action_get_type ()")]
+	public class PanAction : Clutter.GestureAction {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public PanAction ();
+		public double get_acceleration_factor ();
+		public float get_constrained_motion_delta (uint point, out float delta_x, out float delta_y);
+		public double get_deceleration ();
+		public bool get_interpolate ();
+		public void get_interpolated_coords (out float interpolated_x, out float interpolated_y);
+		public float get_interpolated_delta (out float delta_x, out float delta_y);
+		public void get_motion_coords (uint point, out float motion_x, out float motion_y);
+		public float get_motion_delta (uint point, out float delta_x, out float delta_y);
+		public Clutter.PanAxis get_pan_axis ();
+		public void set_acceleration_factor (double factor);
+		public void set_deceleration (double rate);
+		public void set_interpolate (bool should_interpolate);
+		public void set_pan_axis (Clutter.PanAxis axis);
+		public double acceleration_factor { get; set; }
+		public double deceleration { get; set; }
+		public bool interpolate { get; set; }
+		public Clutter.PanAxis pan_axis { get; set; }
+		public signal bool pan (Clutter.Actor actor, bool is_interpolated);
+		public virtual signal void pan_stopped (Clutter.Actor actor);
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", lower_case_csuffix = "param_units", type_id = "clutter_param_units_get_type ()")]
+	public class ParamSpecUnit : GLib.ParamSpec {
+		[CCode (has_construct_function = false)]
+		protected ParamSpecUnit ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_get_type ()")]
+	public class Path : GLib.InitiallyUnowned {
+		[CCode (has_construct_function = false)]
+		public Path ();
+		public void add_close ();
+		public void add_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
+		public void add_line_to (int x, int y);
+		public void add_move_to (int x, int y);
+		public void add_node (Clutter.PathNode node);
+		public void add_rel_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
+		public void add_rel_line_to (int x, int y);
+		public void add_rel_move_to (int x, int y);
+		public bool add_string (string str);
+		public void clear ();
+		public void @foreach (Clutter.PathCallback callback);
+		public string get_description ();
+		public uint get_length ();
+		public uint get_n_nodes ();
+		public Clutter.PathNode get_node (uint index_);
+		public GLib.SList<weak Clutter.PathNode?> get_nodes ();
+		public uint get_position (double progress, out Clutter.Knot position);
+		public void insert_node (int index_, Clutter.PathNode node);
+		public void remove_node (uint index_);
+		public void replace_node (uint index_, Clutter.PathNode node);
+		public bool set_description (string str);
+		[CCode (has_construct_function = false)]
+		public Path.with_description (string desc);
+		public string description { owned get; set; }
+		public uint length { get; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_path_constraint_get_type ()")]
+	public class PathConstraint : Clutter.Constraint {
+		[CCode (has_construct_function = false, type = "ClutterConstraint*")]
+		public PathConstraint (Clutter.Path? path, float offset);
+		public float get_offset ();
+		public unowned Clutter.Path get_path ();
+		public void set_offset (float offset);
+		public void set_path (Clutter.Path? path);
+		public float offset { get; set; }
+		public Clutter.Path path { get; set; }
+		public signal void node_reached (Clutter.Actor actor, uint index);
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_pick_context_ref", type_id = "clutter_pick_context_get_type ()", unref_function = "clutter_pick_context_unref")]
+	[Compact]
+	public class PickContext {
+		public void destroy ();
+		public Graphene.Matrix get_transform ();
+		public void log_overlap (Clutter.Actor actor);
+		public void log_pick (Clutter.ActorBox box, Clutter.Actor actor);
+		public void pop_clip ();
+		public void pop_transform ();
+		public void push_clip (Clutter.ActorBox box);
+		public void push_transform (Graphene.Matrix transform);
+		public unowned Clutter.PickContext @ref ();
+		public void unref ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pipeline_cache_get_type ()")]
+	public class PipelineCache : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected PipelineCache ();
+		public void set_pipeline (Clutter.PipelineGroup group, int slot, Clutter.ColorState source_color_state, Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+		public void unset_all_pipelines (Clutter.PipelineGroup group);
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pipeline_node_get_type ()")]
+	public class PipelineNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public PipelineNode (Cogl.Pipeline? pipeline);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_property_transition_get_type ()")]
+#if HAS_MUTTER46
+	public class PropertyTransition : Clutter.Transition {
+#else
+	public class PropertyTransition : Clutter.Transition, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterTransition*")]
+		public PropertyTransition (string? property_name);
+		[CCode (has_construct_function = false, type = "ClutterTransition*")]
+		public PropertyTransition.for_actor (Clutter.Actor actor, string? property_name);
+		public unowned string get_property_name ();
+		public void set_property_name (string? property_name);
+		public string property_name { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ProximityEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_root_node_get_type ()")]
+	public class RootNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+#if HAS_MUTTER48
+		public RootNode (Cogl.Framebuffer framebuffer, Clutter.ColorState color_state, Cogl.Color clear_color, Cogl.BufferBit clear_flags);
+#elif HAS_MUTTER47
+		public RootNode (Cogl.Framebuffer framebuffer, Cogl.Color clear_color, Cogl.BufferBit clear_flags);
+#else
+		public RootNode (Cogl.Framebuffer framebuffer, Clutter.Color clear_color, Cogl.BufferBit clear_flags);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_rotate_action_get_type ()")]
+	public class RotateAction : Clutter.GestureAction {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public RotateAction ();
+		public signal bool rotate (Clutter.Actor actor, double angle);
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_script_get_type ()")]
+	public class Script : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Script ();
+		public void add_search_paths ([CCode (array_length_cname = "n_paths", array_length_pos = 1.1, array_length_type = "gsize")] string[] paths);
+		public void connect_signals (void* user_data);
+		public void connect_signals_full (Clutter.ScriptConnectFunc func);
+		public void ensure_objects ();
+		public unowned GLib.Object get_object (string name);
+		public int get_objects (...);
+		public unowned string get_translation_domain ();
+		public virtual GLib.Type get_type_from_name (string type_name);
+		public GLib.List<weak GLib.Object> list_objects ();
+		public uint load_from_data (string data, ssize_t length) throws GLib.Error;
+		public uint load_from_file (string filename) throws GLib.Error;
+		public uint load_from_resource (string resource_path) throws GLib.Error;
+		public string lookup_filename (string filename);
+		public void set_translation_domain (string? domain);
+		public void unmerge_objects (uint merge_id);
+		[NoAccessorMethod]
+		public string filename { owned get; }
+		[NoAccessorMethod]
+		public bool filename_set { get; }
+		public string translation_domain { get; set; }
+	}
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ScrollActor {
+	}
+#endif
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scroll_actor_get_type ()")]
+#if HAS_MUTTER46
+	public class ScrollActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public class ScrollActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public ScrollActor ();
+		public Clutter.ScrollMode get_scroll_mode ();
+		public void scroll_to_point (Graphene.Point point);
+		public void scroll_to_rect (Graphene.Rect rect);
+		public void set_scroll_mode (Clutter.ScrollMode mode);
+		public Clutter.ScrollMode scroll_mode { get; set; }
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ScrollEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_seat_get_type ()")]
+	public abstract class Seat : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Seat ();
+		public virtual void bell_notify ();
+		public virtual Clutter.VirtualInputDevice create_virtual_device (Clutter.InputDeviceType device_type);
+		public void ensure_a11y_state ();
+#if HAS_MUTTER47
+		public unowned Clutter.Context get_context ();
+#endif
+		public virtual unowned Clutter.InputDevice get_keyboard ();
+		public virtual unowned Clutter.Keymap get_keymap ();
+		public unowned string get_name ();
+		public virtual unowned Clutter.InputDevice get_pointer ();
+		public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
+		public bool get_touch_mode ();
+		[NoWrapper]
+		public virtual Clutter.GrabState grab (uint32 time);
+#if HAS_MUTTER48
+		[NoWrapper]
+#endif
+		public virtual bool handle_event_post (Clutter.Event event);
+		public void inhibit_unfocus ();
+		[NoWrapper]
+		public virtual void init_pointer_position (float x, float y);
+		public bool is_unfocus_inhibited ();
+		public GLib.List<weak Clutter.InputDevice> list_devices ();
+		public virtual bool query_state (Clutter.InputDevice device, Clutter.EventSequence? sequence, out Graphene.Point coords, out Clutter.ModifierType modifiers);
+		public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type);
+		public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
+		[NoWrapper]
+		public virtual void ungrab (uint32 time);
+		public void uninhibit_unfocus ();
+		public virtual void warp_pointer (int x, int y);
+#if HAS_MUTTER47
+		public Clutter.Context context { get; construct; }
+#endif
+		public string name { get; construct; }
+		public bool touch_mode { get; }
+		public signal void device_added (Clutter.InputDevice object);
+		public signal void device_removed (Clutter.InputDevice object);
+		public signal void is_unfocus_inhibited_changed ();
+		public signal void kbd_a11y_flags_changed (uint settings_flags, uint changed_mask);
+		public signal void kbd_a11y_mods_state_changed (uint latched_mask, uint locked_mask);
+		public signal void ptr_a11y_dwell_click_type_changed (Clutter.PointerA11yDwellClickType click_type);
+		public signal void ptr_a11y_timeout_started (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, uint delay);
+		public signal void ptr_a11y_timeout_stopped (Clutter.InputDevice device, Clutter.PointerA11yTimeoutType timeout_type, bool clicked);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_settings_get_type ()")]
+	public sealed class Settings : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Settings ();
+		public static unowned Clutter.Settings get_default ();
+		[NoAccessorMethod]
+		public int dnd_drag_threshold { get; set; }
+		[NoAccessorMethod]
+		public int double_click_distance { get; set; }
+		[NoAccessorMethod]
+		public int double_click_time { get; set; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public int font_antialias { get; set; }
+#endif
+		[NoAccessorMethod]
+		public int font_dpi { get; set; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public string font_hint_style { owned get; set; }
+		[NoAccessorMethod]
+		public int font_hinting { get; set; }
+#endif
+		[NoAccessorMethod]
+		public string font_name { owned get; set; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public string font_subpixel_order { owned get; set; }
+#endif
+#if !HAS_MUTTER47
+		[NoAccessorMethod]
+		public uint fontconfig_timestamp { set; }
+#endif
+		[NoAccessorMethod]
+		public int long_press_duration { get; set; }
+		[NoAccessorMethod]
+		public uint password_hint_time { get; set; }
+#if !HAS_MUTTER48
+		[NoAccessorMethod]
+		public int unscaled_font_dpi { set; }
+#endif
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class Shader {
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_effect_get_type ()")]
+	public class ShaderEffect : Clutter.OffscreenEffect {
+		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+#if HAS_MUTTER48
+		public ShaderEffect (Cogl.ShaderType shader_type);
+#else
+		public ShaderEffect (Clutter.ShaderType shader_type);
+#endif
+#if HAS_MUTTER46
+		public unowned Cogl.Program get_program ();
+		public unowned Cogl.Shader get_shader ();
+#else
+		public unowned Cogl.Handle get_program ();
+		public unowned Cogl.Handle get_shader ();
+#endif
+		[NoWrapper]
+		public virtual string get_static_shader_source ();
+		public bool set_shader_source (string source);
+		public void set_uniform_value (string name, GLib.Value value);
+		[NoAccessorMethod]
+#if HAS_MUTTER48
+		public Cogl.ShaderType shader_type { construct; }
+#else
+		public Clutter.ShaderType shader_type { construct; }
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_float_get_type ()")]
+	public class ShaderFloat {
+		[CCode (has_construct_function = false)]
+		protected ShaderFloat ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_int_get_type ()")]
+	public class ShaderInt {
+		[CCode (has_construct_function = false)]
+		protected ShaderInt ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_matrix_get_type ()")]
+	public class ShaderMatrix {
+		[CCode (has_construct_function = false)]
+		protected ShaderMatrix ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_snap_constraint_get_type ()")]
+	public sealed class SnapConstraint : Clutter.Constraint {
+		[CCode (has_construct_function = false, type = "ClutterConstraint*")]
+		public SnapConstraint (Clutter.Actor? source, Clutter.SnapEdge from_edge, Clutter.SnapEdge to_edge, float offset);
+		public void get_edges (out Clutter.SnapEdge from_edge, out Clutter.SnapEdge to_edge);
+		public float get_offset ();
+		public unowned Clutter.Actor get_source ();
+		public void set_edges (Clutter.SnapEdge from_edge, Clutter.SnapEdge to_edge);
+		public void set_offset (float offset);
+		public void set_source (Clutter.Actor? source);
+		[NoAccessorMethod]
+		public Clutter.SnapEdge from_edge { get; set construct; }
+		public float offset { get; set construct; }
+		public Clutter.Actor source { get; set construct; }
+		[NoAccessorMethod]
+		public Clutter.SnapEdge to_edge { get; set construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_get_type ()")]
+#if HAS_MUTTER46
+	public class Stage : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public class Stage : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		protected Stage ();
+#if !HAS_MUTTER48
+		public void capture_view_into (Clutter.StageView view, Mtk.Rectangle rect, uint8 data, int stride);
+		public void clear_stage_views ();
+#endif
+		public void ensure_viewport ();
+		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y);
+		public bool get_capture_final_size (Mtk.Rectangle rect, out int out_width, out int out_height, out float out_scale);
+		public unowned Clutter.Actor? get_device_actor (Clutter.InputDevice device, Clutter.EventSequence? sequence);
+		public unowned Clutter.Actor? get_event_actor (Clutter.Event event);
+#if !HAS_MUTTER48
+		public int64 get_frame_counter ();
+#endif
+		public unowned Clutter.Actor? get_grab_actor ();
+		public unowned Clutter.Actor? get_key_focus ();
+		public Clutter.Perspective get_perspective ();
+#if !HAS_MUTTER48
+		public unowned string get_title ();
+#endif
+		public Clutter.Grab grab (Clutter.Actor actor);
+#if HAS_MUTTER47
+		public Clutter.Grab grab_inactive (Clutter.Actor actor);
+#endif
+		public void handle_event (Clutter.Event event);
+#if HAS_MUTTER47
+		public bool is_active ();
+#endif
+		public bool paint_to_buffer (Mtk.Rectangle rect, float scale, [CCode (array_length = false)] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
+		public Clutter.Content paint_to_content (Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error;
+		public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags);
+		public bool pointing_input_foreach (Clutter.StageInputForeachFunc func);
+		[CCode (array_length = false)]
+		public uint8[] read_pixels (int x, int y, int width = -1, int height = -1);
+#if !HAS_MUTTER48
+		public void repick_device (Clutter.InputDevice device);
+#endif
+		public void schedule_update ();
+#if HAS_MUTTER47
+		public void set_active (bool is_active);
+#endif
+		public void set_key_focus (Clutter.Actor? actor);
+		public void set_minimum_size (uint width, uint height);
+#if !HAS_MUTTER48
+		public void set_title (string title);
+#if HAS_MUTTER46
+		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Mtk.Region region, bool emit_crossing);
+#else
+		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
+#endif
+#endif
+		[NoAccessorMethod]
+		public bool is_grabbed { get; }
+		public Clutter.Actor key_focus { get; set; }
+		public Clutter.Perspective perspective { get; }
+#if !HAS_MUTTER48
+		public string title { get; set; }
+		public virtual signal void activate ();
+#endif
+		public signal void after_paint (Clutter.StageView view, Clutter.Frame frame);
+		public signal void after_update (Clutter.StageView view, Clutter.Frame frame);
+		public virtual signal void before_paint (Clutter.StageView view, Clutter.Frame frame);
+		public signal void before_update (Clutter.StageView view, Clutter.Frame frame);
+		public virtual signal void deactivate ();
+		public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip, Clutter.Frame frame);
+		public signal void prepare_frame (Clutter.StageView view, Clutter.Frame frame);
+#if HAS_MUTTER48
+		public virtual signal void skipped_paint (Clutter.StageView view, Clutter.Frame frame);
+#endif
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_manager_get_type ()")]
+	public class StageManager : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected StageManager ();
+		public static unowned Clutter.StageManager get_default ();
+		public unowned Clutter.Stage get_default_stage ();
+		public GLib.SList<weak Clutter.Stage> list_stages ();
+		public unowned GLib.SList<Clutter.Stage> peek_stages ();
+		public Clutter.Stage default_stage { get; }
+		public virtual signal void stage_added (Clutter.Stage stage);
+		public virtual signal void stage_removed (Clutter.Stage stage);
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_stage_view_get_type ()")]
+	public class StageView : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected StageView ();
+#if !HAS_MUTTER48
+		public void assign_next_scanout (Cogl.Scanout scanout);
+#endif
+		public virtual Clutter.PaintFlag get_default_paint_flags ();
+		public unowned Cogl.Framebuffer get_framebuffer ();
+		public void get_layout (Mtk.Rectangle rect);
+#if HAS_MUTTER47
+		public void get_offscreen_transformation_matrix (Graphene.Matrix matrix);
+#else
+		public virtual void get_offscreen_transformation_matrix (Graphene.Matrix matrix);
+#endif
+		public unowned Cogl.Framebuffer get_onscreen ();
+		public float get_refresh_rate ();
+		public float get_scale ();
+#if HAS_MUTTER47
+		public Mtk.MonitorTransform get_transform ();
+#endif
+		public bool has_shadowfb ();
+#if !HAS_MUTTER48
+		public void invalidate_offscreen_blit_pipeline ();
+#endif
+		[NoWrapper]
+		public virtual Clutter.Frame new_frame ();
+#if HAS_MUTTER47
+		[NoWrapper]
+		public virtual void schedule_update ();
+#endif
+		public void schedule_update_now ();
+#if !HAS_MUTTER47
+		[NoWrapper]
+#if HAS_MUTTER46
+		public virtual void setup_offscreen_transform (Cogl.Pipeline pipeline);
+#else
+		public virtual void setup_offscreen_blit_pipeline (Cogl.Pipeline pipeline);
+#endif
+		[NoWrapper]
+		public virtual void transform_rect_to_onscreen (Mtk.Rectangle src_rect, int dst_width, int dst_height, Mtk.Rectangle dst_rect);
+#endif
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public Clutter.ColorState color_state { owned get; set construct; }
+#endif
+		[NoAccessorMethod]
+		public Cogl.Framebuffer framebuffer { owned get; set construct; }
+		[NoAccessorMethod]
+		public string name { owned get; construct; }
+#if HAS_MUTTER47
+		[NoAccessorMethod]
+		public Clutter.ColorState output_color_state { owned get; set construct; }
+#else
+		[NoAccessorMethod]
+		public Cogl.Offscreen offscreen { owned get; construct; }
+#endif
+		[NoAccessorMethod]
+		public float refresh_rate { get; set construct; }
+		[NoAccessorMethod]
+		public float scale { get; set construct; }
+		[NoAccessorMethod]
+		public Clutter.Stage stage { owned get; construct; }
+#if HAS_MUTTER47
+		public uint transform { get; construct; }
+#endif
+		[NoAccessorMethod]
+		public bool use_shadowfb { get; construct; }
+		[NoAccessorMethod]
+		public int64 vblank_duration_us { get; construct; }
+		[HasEmitter]
+		public signal void destroy ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
+	public class SwipeAction : Clutter.GestureAction {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public SwipeAction ();
+#if !HAS_MUTTER46
+		[Version (deprecated = true, deprecated_since = "1.14")]
+		public virtual signal void swept (Clutter.Actor actor, Clutter.SwipeDirection direction);
+#endif
+#if HAS_MUTTER46
+		public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
+#else
+		public signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")]
+	public class TapAction : Clutter.GestureAction {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public TapAction ();
+		public virtual signal void tap (Clutter.Actor actor);
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_get_type ()")]
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_get_type ()")]
+#endif
+#if HAS_MUTTER46
+	public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
+#else
+	public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public Text ();
+		public int coords_to_position (float x, float y);
+		public void delete_chars (uint n_chars);
+		public bool delete_selection ();
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+#if HAS_MUTTER47
+		public Text.full (string font_name, string text, Cogl.Color color);
+#else
+		public Text.full (string font_name, string text, Clutter.Color color);
+#endif
+		public bool get_activatable ();
+		public unowned Pango.AttrList get_attributes ();
+		public unowned Clutter.TextBuffer get_buffer ();
+		public string get_chars (ssize_t start_pos, ssize_t end_pos);
+#if HAS_MUTTER47
+		public Cogl.Color get_color ();
+		public Cogl.Color get_cursor_color ();
+#else
+		public Clutter.Color get_color ();
+		public Clutter.Color get_cursor_color ();
+#endif
+		public int get_cursor_position ();
+		public Graphene.Rect get_cursor_rect ();
+		public uint get_cursor_size ();
+		public bool get_cursor_visible ();
+		public bool get_editable ();
+		public Pango.EllipsizeMode get_ellipsize ();
+		public Pango.FontDescription get_font_description ();
+		public unowned string get_font_name ();
+		public Clutter.InputContentHintFlags get_input_hints ();
+		public Clutter.InputContentPurpose get_input_purpose ();
+		public bool get_justify ();
+		public unowned Pango.Layout get_layout ();
+		public void get_layout_offsets (out int x, out int y);
+		public Pango.Alignment get_line_alignment ();
+		public bool get_line_wrap ();
+		public Pango.WrapMode get_line_wrap_mode ();
+		public int get_max_length ();
+		public unichar get_password_char ();
+		public bool get_selectable ();
+#if HAS_MUTTER47
+		public Cogl.Color get_selected_text_color ();
+#else
+		public Clutter.Color get_selected_text_color ();
+#endif
+		public string get_selection ();
+		public int get_selection_bound ();
+#if HAS_MUTTER47
+		public Cogl.Color get_selection_color ();
+#else
+		public Clutter.Color get_selection_color ();
+#endif
+		public bool get_single_line_mode ();
+		public unowned string get_text ();
+		public bool get_use_markup ();
+		public bool has_preedit ();
+		public void insert_text (string text, ssize_t position);
+		public void insert_unichar (unichar wc);
+		public bool position_to_coords (int position, out float x, out float y, out float line_height = null);
+		public void set_activatable (bool activatable);
+		public void set_attributes (Pango.AttrList? attrs);
+		public void set_buffer (Clutter.TextBuffer buffer);
+#if HAS_MUTTER47
+		public void set_color (Cogl.Color color);
+		public void set_cursor_color (Cogl.Color? color);
+#else
+		public void set_color (Clutter.Color color);
+		public void set_cursor_color (Clutter.Color? color);
+#endif
+		public void set_cursor_position (int position);
+		public void set_cursor_size (int size);
+		public void set_cursor_visible (bool cursor_visible);
+		public void set_editable (bool editable);
+		public void set_ellipsize (Pango.EllipsizeMode mode);
+		public void set_font_description (Pango.FontDescription font_desc);
+		public void set_font_name (string? font_name);
+		public void set_input_hints (Clutter.InputContentHintFlags hints);
+		public void set_input_purpose (Clutter.InputContentPurpose purpose);
+		public void set_justify (bool justify);
+		public void set_line_alignment (Pango.Alignment alignment);
+		public void set_line_wrap (bool line_wrap);
+		public void set_line_wrap_mode (Pango.WrapMode wrap_mode);
+		public void set_markup (string? markup);
+		public void set_max_length (int max);
+		public void set_password_char (unichar wc);
+		public void set_preedit_string (string? preedit_str, Pango.AttrList? preedit_attrs, uint cursor_pos);
+		public void set_selectable (bool selectable);
+#if HAS_MUTTER47
+		public void set_selected_text_color (Cogl.Color? color);
+#else
+		public void set_selected_text_color (Clutter.Color? color);
+#endif
+		public void set_selection (ssize_t start_pos, ssize_t end_pos);
+		public void set_selection_bound (int selection_bound);
+#if HAS_MUTTER47
+		public void set_selection_color (Cogl.Color? color);
+#else
+		public void set_selection_color (Clutter.Color? color);
+#endif
+		public void set_single_line_mode (bool single_line);
+		public void set_text (string? text);
+		public void set_use_markup (bool setting);
+		[CCode (cname = "clutter_text_activate")]
+		public bool try_activate ();
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public Text.with_buffer (Clutter.TextBuffer buffer);
+		[CCode (has_construct_function = false, type = "ClutterActor*")]
+		public Text.with_text (string? font_name, string text);
+		public bool activatable { get; set; }
+		public Pango.AttrList attributes { get; set; }
+		public Clutter.TextBuffer buffer { get; set; }
+#if HAS_MUTTER47
+		public Cogl.Color color { get; set; }
+		public Cogl.Color cursor_color { get; set; }
+#else
+		public Clutter.Color color { get; set; }
+		public Clutter.Color cursor_color { get; set; }
+#endif
+		[NoAccessorMethod]
+		public bool cursor_color_set { get; }
+		public int cursor_position { get; set; }
+		public int cursor_size { get; set; }
+		public bool cursor_visible { get; set; }
+		public bool editable { get; set; }
+		public Pango.EllipsizeMode ellipsize { get; set; }
+		public Pango.FontDescription font_description { owned get; set; }
+		public string font_name { get; set; }
+		public Clutter.InputContentHintFlags input_hints { get; set; }
+		public Clutter.InputContentPurpose input_purpose { get; set; }
+		public bool justify { get; set; }
+		public Pango.Alignment line_alignment { get; set; }
+		public bool line_wrap { get; set; }
+		public Pango.WrapMode line_wrap_mode { get; set; }
+		public int max_length { get; set; }
+		public uint password_char { get; set; }
+#if !HAS_MUTTER46
+		[NoAccessorMethod]
+		[Version (deprecated = true, deprecated_since = "1.12")]
+		public int position { get; set; }
+#endif
+		public bool selectable { get; set; }
+#if HAS_MUTTER47
+		public Cogl.Color selected_text_color { get; set; }
+#else
+		public Clutter.Color selected_text_color { get; set; }
+#endif
+		[NoAccessorMethod]
+		public bool selected_text_color_set { get; }
+		public int selection_bound { get; set; }
+#if HAS_MUTTER47
+		public Cogl.Color selection_color { get; set; }
+#else
+		public Clutter.Color selection_color { get; set; }
+#endif
+		[NoAccessorMethod]
+		public bool selection_color_set { get; }
+		public bool single_line_mode { get; set; }
+		public string text { get; set; }
+		public bool use_markup { get; set; }
+		public virtual signal void activate ();
+		public virtual signal void cursor_changed ();
+#if !HAS_MUTTER46
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public virtual signal void cursor_event (Graphene.Rect rect);
+#endif
+		[HasEmitter]
+		public signal void delete_text (int start_pos, int end_pos);
+		public virtual signal void text_changed ();
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_buffer_get_type ()")]
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_buffer_get_type ()")]
+#endif
+	public class TextBuffer : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public TextBuffer ();
+		public virtual uint delete_text (uint position, uint n_chars);
+		public void emit_deleted_text (uint position, uint n_chars);
+		public void emit_inserted_text (uint position, string chars, uint n_chars);
+		public size_t get_bytes ();
+		public virtual uint get_length ();
+		public int get_max_length ();
+		public unowned string get_text ();
+		[CCode (vfunc_name = "get_text")]
+		[NoWrapper]
+		public virtual unowned string get_text_with_length (size_t n_bytes);
+		public virtual uint insert_text (uint position, string chars, uint n_chars);
+		public void set_max_length (int max_length);
+		public void set_text (string chars, int n_chars);
+		[CCode (has_construct_function = false)]
+		public TextBuffer.with_text (string? text, ssize_t text_len);
+		public uint length { get; }
+		public int max_length { get; set; }
+		public string text { get; }
+		public virtual signal void deleted_text (uint position, uint n_chars);
+		public virtual signal void inserted_text (uint position, string chars, uint n_chars);
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_node_get_type ()")]
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_node_get_type ()")]
+#endif
+	public class TextNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+#if HAS_MUTTER47
+		public TextNode (Pango.Layout? layout, Cogl.Color? color);
+#else
+		public TextNode (Pango.Layout? layout, Clutter.Color? color);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_content_get_type ()")]
+	public sealed class TextureContent : GLib.Object, Clutter.Content {
+		[CCode (has_construct_function = false)]
+		protected TextureContent ();
+		[CCode (has_construct_function = false, type = "ClutterContent*")]
+		public TextureContent.from_texture (Cogl.Texture texture, Mtk.Rectangle? clip);
+		public unowned Cogl.Texture get_texture ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
+	public class TextureNode : Clutter.PipelineNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+#if HAS_MUTTER47
+		public TextureNode (Cogl.Texture texture, Cogl.Color? color, Clutter.ScalingFilter min_filter, Clutter.ScalingFilter mag_filter);
+#else
+		public TextureNode (Cogl.Texture texture, Clutter.Color? color, Clutter.ScalingFilter min_filter, Clutter.ScalingFilter mag_filter);
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_timeline_get_type ()")]
+#if HAS_MUTTER46
+	public class Timeline : GLib.Object {
+#else
+	public class Timeline : GLib.Object, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+#if HAS_MUTTER46
+		protected Timeline ();
+#else
+		public Timeline (uint duration_ms);
+#endif
+		public void add_marker (string marker_name, double progress);
+		public void add_marker_at_time (string marker_name, uint msecs);
+		public void advance (uint msecs);
+		public void advance_to_marker (string marker_name);
+		[CCode (has_construct_function = false)]
+		public Timeline.for_actor (Clutter.Actor actor, uint duration_ms);
+		[CCode (has_construct_function = false)]
+		public Timeline.for_frame_clock (Clutter.FrameClock frame_clock, uint duration_ms);
+		public unowned Clutter.Actor get_actor ();
+		public bool get_auto_reverse ();
+		public bool get_cubic_bezier_progress (out Graphene.Point c_1, out Graphene.Point c_2);
+		public int get_current_repeat ();
+		public uint get_delay ();
+		public uint get_delta ();
+		public Clutter.TimelineDirection get_direction ();
+		public uint get_duration ();
+		public int64 get_duration_hint ();
+		public uint get_elapsed_time ();
+		public double get_progress ();
+		public Clutter.AnimationMode get_progress_mode ();
+		public int get_repeat_count ();
+		public bool get_step_progress (out int n_steps, out Clutter.StepMode step_mode);
+		public bool has_marker (string marker_name);
+		public bool is_playing ();
+		[CCode (array_length = true, array_length_pos = 1.1, array_length_type = "gsize", array_null_terminated = true)]
+		public string[] list_markers (int msecs);
+		public void pause ();
+		public void remove_marker (string marker_name);
+		public void rewind ();
+		public void set_actor (Clutter.Actor? actor);
+		public void set_auto_reverse (bool reverse);
+		public void set_cubic_bezier_progress (Graphene.Point c_1, Graphene.Point c_2);
+		public void set_delay (uint msecs);
+		public void set_direction (Clutter.TimelineDirection direction);
+		public void set_duration (uint msecs);
+		public void set_frame_clock (Clutter.FrameClock frame_clock);
+		public void set_progress_func (owned Clutter.TimelineProgressFunc? func);
+		public void set_progress_mode (Clutter.AnimationMode mode);
+		public void set_repeat_count (int count);
+		public void set_step_progress (int n_steps, Clutter.StepMode step_mode);
+		public void skip (uint msecs);
+		public void start ();
+		public void stop ();
+		public Clutter.Actor actor { get; set construct; }
+		public bool auto_reverse { get; set; }
+		public uint delay { get; set; }
+		public Clutter.TimelineDirection direction { get; set; }
+		public uint duration { get; set; }
+		[NoAccessorMethod]
+		public Clutter.FrameClock frame_clock { owned get; set construct; }
+		public Clutter.AnimationMode progress_mode { get; set; }
+		public int repeat_count { get; set; }
+		public virtual signal void completed ();
+		public virtual signal void marker_reached (string marker_name, int msecs);
+		public virtual signal void new_frame (int msecs);
+		public virtual signal void paused ();
+		public virtual signal void started ();
+		public virtual signal void stopped (bool is_finished);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class TouchEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class TouchpadHoldEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class TouchpadPinchEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class TouchpadSwipeEvent : Clutter.Event {
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transform_node_get_type ()")]
+	public class TransformNode : Clutter.PaintNode {
+		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
+		public TransformNode (Graphene.Matrix projection);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_get_type ()")]
+#if HAS_MUTTER46
+	public abstract class Transition : Clutter.Timeline {
+#else
+	public abstract class Transition : Clutter.Timeline, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false)]
+		protected Transition ();
+		[NoWrapper]
+		public virtual void attached (Clutter.Animatable animatable);
+		[NoWrapper]
+		public virtual void compute_value (Clutter.Animatable animatable, Clutter.Interval interval, double progress);
+		[NoWrapper]
+		public virtual void detached (Clutter.Animatable animatable);
+		public unowned Clutter.Animatable get_animatable ();
+		public unowned Clutter.Interval get_interval ();
+		public bool get_remove_on_complete ();
+		public void set_animatable (Clutter.Animatable? animatable);
+		public void set_from_value (GLib.Value value);
+		public void set_interval (Clutter.Interval? interval);
+		public void set_remove_on_complete (bool remove_complete);
+		public void set_to_value (GLib.Value value);
+		public Clutter.Animatable animatable { get; set; }
+		public Clutter.Interval interval { get; set; }
+		public bool remove_on_complete { get; set; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transition_group_get_type ()")]
+#if HAS_MUTTER46
+	public sealed class TransitionGroup : Clutter.Transition {
+#else
+	public class TransitionGroup : Clutter.Transition, Clutter.Scriptable {
+#endif
+		[CCode (has_construct_function = false, type = "ClutterTransition*")]
+		public TransitionGroup ();
+		public void add_transition (Clutter.Transition transition);
+		public void remove_all ();
+		public void remove_transition (Clutter.Transition transition);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_virtual_input_device_get_type ()")]
+	public class VirtualInputDevice : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected VirtualInputDevice ();
+		public int get_device_type ();
+		public unowned Clutter.Seat get_seat ();
+		public virtual void notify_absolute_motion (uint64 time_us, double x, double y);
+		public virtual void notify_button (uint64 time_us, uint32 button, Clutter.ButtonState button_state);
+		public virtual void notify_discrete_scroll (uint64 time_us, Clutter.ScrollDirection direction, Clutter.ScrollSource scroll_source);
+		public virtual void notify_key (uint64 time_us, uint32 key, Clutter.KeyState key_state);
+		public virtual void notify_keyval (uint64 time_us, uint32 keyval, Clutter.KeyState key_state);
+		public virtual void notify_relative_motion (uint64 time_us, double dx, double dy);
+		public virtual void notify_scroll_continuous (uint64 time_us, double dx, double dy, Clutter.ScrollSource scroll_source, Clutter.ScrollFinishFlags finish_flags);
+		public virtual void notify_touch_down (uint64 time_us, int slot, double x, double y);
+		public virtual void notify_touch_motion (uint64 time_us, int slot, double x, double y);
+		public virtual void notify_touch_up (uint64 time_us, int slot);
+		public Clutter.InputDeviceType device_type { get; construct; }
+		public Clutter.Seat seat { get; construct; }
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_zoom_action_get_type ()")]
+	public class ZoomAction : Clutter.GestureAction {
+		[CCode (has_construct_function = false, type = "ClutterAction*")]
+		public ZoomAction ();
+		public Graphene.Point get_focal_point ();
+		public Graphene.Point get_transformed_focal_point ();
+		public signal bool zoom (Clutter.Actor actor, Graphene.Point focal_point, double factor);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterAnimatableInterface", type_id = "clutter_animatable_get_type ()")]
+	public interface Animatable : GLib.Object {
+		public abstract unowned GLib.ParamSpec find_property (string property_name);
+		public abstract unowned Clutter.Actor get_actor ();
+		public abstract void get_initial_state (string property_name, GLib.Value value);
+		public abstract bool interpolate_value (string property_name, Clutter.Interval interval, double progress, out GLib.Value value);
+		public abstract void set_final_state (string property_name, GLib.Value value);
+	}
+#if !HAS_MUTTER48
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h")]
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_container_get_type ()")]
+#endif
+	public interface Container : GLib.Object {
+		public void add (params Clutter.Actor[] actors);
+#if !HAS_MUTTER46
+		[CCode (vfunc_name = "add")]
+		[Version (deprecated = true, deprecated_since = "1.10")]
+		public abstract void add_actor (Clutter.Actor actor);
+		public void child_get (Clutter.Actor actor, ...);
+		public void child_get_property (Clutter.Actor child, string property, GLib.Value value);
+		public void child_set (Clutter.Actor actor, ...);
+		public void child_set_property (Clutter.Actor child, string property, GLib.Value value);
+		public virtual void create_child_meta (Clutter.Actor actor);
+		public virtual void destroy_child_meta (Clutter.Actor actor);
+		public unowned Clutter.Actor find_child_by_name (string child_name);
+#endif
+		[CCode (cname = "clutter_container_class_find_child_property")]
+		public class unowned GLib.ParamSpec find_child_property (string property_name);
+#if !HAS_MUTTER46
+		public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor);
+#endif
+		[CCode (cname = "clutter_container_class_list_child_properties")]
+		public class unowned GLib.ParamSpec[] list_child_properties ();
+#if !HAS_MUTTER46
+		[Version (deprecated = true, deprecated_since = "1.10")]
+		public void remove (...);
+		[CCode (vfunc_name = "remove")]
+		[Version (deprecated = true, deprecated_since = "1.10")]
+		public abstract void remove_actor (Clutter.Actor actor);
+		public virtual signal void actor_added (Clutter.Actor actor);
+		public virtual signal void actor_removed (Clutter.Actor actor);
+		[HasEmitter]
+		public virtual signal void child_notify (Clutter.Actor child, GLib.ParamSpec pspec);
+#endif
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterContentInterface", type_id = "clutter_content_get_type ()")]
+	public interface Content : GLib.Object {
+		public abstract bool get_preferred_size (out float width, out float height);
+		public abstract void invalidate ();
+		public abstract void invalidate_size ();
+		[NoWrapper]
+		public abstract void paint_content (Clutter.Actor actor, Clutter.PaintNode node, Clutter.PaintContext paint_context);
+		public virtual signal void attached (Clutter.Actor actor);
+		public virtual signal void detached (Clutter.Actor actor);
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scriptable_get_type ()")]
+	public interface Scriptable : GLib.Object {
+		public abstract unowned string get_id ();
+		public abstract bool parse_custom_node (Clutter.Script script, GLib.Value value, string name, Json.Node node);
+		public abstract void set_custom_property (Clutter.Script script, string name, GLib.Value value);
+		public abstract void set_id (string id_);
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_actor_box_get_type ()")]
+	public struct ActorBox {
+		public float x1;
+		public float y1;
+		public float x2;
+		public float y2;
+		public static Clutter.ActorBox? alloc ();
+		public static void clamp_to_pixel (ref Clutter.ActorBox box);
+		public bool contains (float x, float y);
+		public Clutter.ActorBox? copy ();
+		public bool equal (Clutter.ActorBox box_b);
+		public void free ();
+		public float get_area ();
+		public float get_height ();
+		public void get_origin (out float x, out float y);
+		public void get_size (out float width, out float height);
+		public float get_width ();
+		public float get_x ();
+		public float get_y ();
+		public unowned Clutter.ActorBox? init (float x_1, float y_1, float x_2, float y_2);
+		public void init_rect (float x, float y, float width, float height);
+		public Clutter.ActorBox interpolate (Clutter.ActorBox final, double progress);
+		public bool is_initialized ();
+		public void scale (float scale);
+		public void set_origin (float x, float y);
+		public void set_size (float width, float height);
+		public Clutter.ActorBox union (Clutter.ActorBox b);
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct ActorIter {
+		public void destroy ();
+		public void init (Clutter.Actor root);
+		public bool is_valid ();
+		public bool next (out unowned Clutter.Actor? child);
+		public bool prev (out unowned Clutter.Actor? child);
+		public void remove ();
+	}
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
+	public struct Capture {
+#if !HAS_MUTTER46
+		public Cairo.ImageSurface image;
+		public Mtk.Rectangle rect;
+#endif
+	}
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Colorimetry {
+		public Clutter.ColorimetryType type;
+		public Clutter.Colorspace colorspace;
+		public Clutter.Primaries primaries;
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct EOTF {
+		public Clutter.EOTFType type;
+		public Clutter.TransferFunction tf_name;
+		public float gamma_exp;
+		public unowned Clutter.Luminance? get_default_luminance ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Luminance {
+		public Clutter.LuminanceType type;
+		public float min;
+		public float max;
+		public float @ref;
+	}
+#endif
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_color_get_type ()")]
+	public struct Color {
+		public uint8 red;
+		public uint8 green;
+		public uint8 blue;
+		public uint8 alpha;
+#if !HAS_MUTTER46
+		public Clutter.Color add (Clutter.Color b);
+#endif
+		public static Clutter.Color? alloc ();
+		public Clutter.Color? copy ();
+#if !HAS_MUTTER46
+		public Clutter.Color darken ();
+#endif
+		public bool equal (Clutter.Color v2);
+		public void free ();
+		[CCode (cname = "_vala_clutter_color_from_hls")]
+		public static Clutter.Color? from_hls (float hue, float luminance, float saturation) {
+			Clutter.Color? color = Clutter.Color.alloc ();
+			color.init_from_hls (hue, luminance, saturation);
+			return color;
+		}
+		[CCode (cname = "_vala_clutter_color_from_pixel")]
+		public static Clutter.Color? from_pixel (uint32 pixel) {
+			Clutter.Color? color = Clutter.Color.alloc ();
+			color.init_from_pixel (pixel);
+			return color;
+		}
+		[CCode (cname = "clutter_color_new")]
+		public static Clutter.Color? from_rgba (uint8 red = 0, uint8 green = 0, uint8 blue = 0, uint8 alpha = 0);
+		[CCode (cname = "_vala_clutter_color_from_string")]
+		public static Clutter.Color? from_string (string str) {
+			Clutter.Color? color = Clutter.Color.alloc ();
+			color.init_from_string (str);
+			return color;
+		}
+#if !HAS_MUTTER46
+		public static unowned Clutter.Color? get_static (Clutter.StaticColor color);
+#endif
+		public uint hash ();
+		public unowned Clutter.Color? init (uint8 red = 0, uint8 green = 0, uint8 blue = 0, uint8 alpha = 0);
+		[CCode (cname = "clutter_color_from_hls")]
+		public void init_from_hls (float hue, float luminance, float saturation);
+		[CCode (cname = "clutter_color_from_pixel")]
+		public void init_from_pixel (uint32 pixel);
+		[CCode (cname = "clutter_color_from_string")]
+		public bool init_from_string (string str);
+		public Clutter.Color interpolate (Clutter.Color final, double progress);
+#if !HAS_MUTTER46
+		public Clutter.Color lighten ();
+#endif
+		[CCode (cname = "clutter_color_from_string")]
+		public bool parse_string (string str);
+#if !HAS_MUTTER46
+		public Clutter.Color shade (double factor);
+		public Clutter.Color subtract (Clutter.Color b);
+#endif
+		public void to_hls (out float hue, out float luminance, out float saturation);
+		public uint32 to_pixel ();
+		public string to_string ();
+	}
+#endif
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_knot_get_type ()")]
+	public struct Knot {
+		public int x;
+		public int y;
+		public Clutter.Knot? copy ();
+		public bool equal (Clutter.Knot knot_b);
+		public void free ();
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_margin_get_type ()")]
+	public struct Margin {
+		public float left;
+		public float right;
+		public float top;
+		public float bottom;
+		public Clutter.Margin? copy ();
+		public void free ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_paint_volume_get_type ()")]
+	public struct PaintVolume {
+		public Clutter.PaintVolume? copy ();
+		public void free ();
+		public float get_depth ();
+		public float get_height ();
+		public Graphene.Point3D get_origin ();
+		public float get_width ();
+		public void set_depth (float depth);
+		public bool set_from_allocation (Clutter.Actor actor);
+		public void set_height (float height);
+		public void set_origin (Graphene.Point3D origin);
+		public void set_width (float width);
+		public void union (Clutter.PaintVolume another_pv);
+		public void union_box (Clutter.ActorBox box);
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_path_node_get_type ()")]
+	public struct PathNode {
+		public Clutter.PathNodeType type;
+		[CCode (array_length = false)]
+		public weak Clutter.Knot points[3];
+		public Clutter.PathNode? copy ();
+		public bool equal (Clutter.PathNode node_b);
+		public void free ();
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_perspective_get_type ()")]
+	public struct Perspective {
+		public float fovy;
+		public float aspect;
+		public float z_near;
+		public float z_far;
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	[SimpleType]
+	public struct PipelineGroup {
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct PointerA11ySettings {
+		public Clutter.PointerA11yFlags controls;
+		public Clutter.PointerA11yDwellClickType dwell_click_type;
+		public Clutter.PointerA11yDwellMode dwell_mode;
+		public Clutter.PointerA11yDwellDirection dwell_gesture_single;
+		public Clutter.PointerA11yDwellDirection dwell_gesture_double;
+		public Clutter.PointerA11yDwellDirection dwell_gesture_drag;
+		public Clutter.PointerA11yDwellDirection dwell_gesture_secondary;
+		public int secondary_click_delay;
+		public int dwell_delay;
+		public int dwell_threshold;
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Primaries {
+		public float r_x;
+		public float r_y;
+		public float g_x;
+		public float g_y;
+		public float b_x;
+		public float b_y;
+		public float w_x;
+		public float w_y;
+		public void ensure_normalized_range ();
+	}
+#endif
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct TextureVertex {
+		public float x;
+		public float y;
+		public float z;
+		public float tx;
+		public float ty;
+		public Cogl.Color color;
+	}
+#endif
+#if !HAS_MUTTER48
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h")]
+#else
+	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_units_get_type ()")]
+#endif
+	public struct Units {
+#if !HAS_MUTTER46
+		public Clutter.Units? copy ();
+		public void free ();
+#endif
+		[CCode (cname = "clutter_units_from_cm")]
+		public Units.from_cm (float cm);
+		[CCode (cname = "clutter_units_from_em")]
+		public Units.from_em (float em);
+		[CCode (cname = "clutter_units_from_em_for_font")]
+		public Units.from_em_for_font (string font_name, float em);
+		[CCode (cname = "clutter_units_from_mm")]
+		public Units.from_mm (float mm);
+		[CCode (cname = "clutter_units_from_pixels")]
+		public Units.from_pixels (int px);
+		[CCode (cname = "clutter_units_from_pt")]
+		public Units.from_pt (float pt);
+		[CCode (cname = "clutter_units_from_string")]
+		public Units.from_string (string str);
+#if !HAS_MUTTER46
+		public Clutter.UnitType get_unit_type ();
+		public float get_unit_value ();
+		public float to_pixels ();
+		public string to_string ();
+#endif
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")]
+	public enum ActorAlign {
+		FILL,
+		START,
+		CENTER,
+		END
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_", type_id = "clutter_actor_flags_get_type ()")]
+	[Flags]
+	public enum ActorFlags {
+		MAPPED,
+		REALIZED,
+		REACTIVE,
+		VISIBLE,
+		NO_LAYOUT
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ALIGN_", type_id = "clutter_align_axis_get_type ()")]
+	public enum AlignAxis {
+		X_AXIS,
+		Y_AXIS,
+		BOTH
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_animation_mode_get_type ()")]
+	public enum AnimationMode {
+		CUSTOM_MODE,
+		LINEAR,
+		EASE_IN_QUAD,
+		EASE_OUT_QUAD,
+		EASE_IN_OUT_QUAD,
+		EASE_IN_CUBIC,
+		EASE_OUT_CUBIC,
+		EASE_IN_OUT_CUBIC,
+		EASE_IN_QUART,
+		EASE_OUT_QUART,
+		EASE_IN_OUT_QUART,
+		EASE_IN_QUINT,
+		EASE_OUT_QUINT,
+		EASE_IN_OUT_QUINT,
+		EASE_IN_SINE,
+		EASE_OUT_SINE,
+		EASE_IN_OUT_SINE,
+		EASE_IN_EXPO,
+		EASE_OUT_EXPO,
+		EASE_IN_OUT_EXPO,
+		EASE_IN_CIRC,
+		EASE_OUT_CIRC,
+		EASE_IN_OUT_CIRC,
+		EASE_IN_ELASTIC,
+		EASE_OUT_ELASTIC,
+		EASE_IN_OUT_ELASTIC,
+		EASE_IN_BACK,
+		EASE_OUT_BACK,
+		EASE_IN_OUT_BACK,
+		EASE_IN_BOUNCE,
+		EASE_OUT_BOUNCE,
+		EASE_IN_OUT_BOUNCE,
+		STEPS,
+		STEP_START,
+		STEP_END,
+		CUBIC_BEZIER,
+		EASE,
+		EASE_IN,
+		EASE_OUT,
+		EASE_IN_OUT,
+		ANIMATION_LAST
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIN_ALIGNMENT_", type_id = "clutter_bin_alignment_get_type ()")]
+	public enum BinAlignment {
+		[Version (deprecated = true)]
+		FIXED,
+		[Version (deprecated = true)]
+		FILL,
+		START,
+		[Version (deprecated = true)]
+		END,
+		[Version (deprecated = true)]
+		CENTER
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BIND_", type_id = "clutter_bind_coordinate_get_type ()")]
+	public enum BindCoordinate {
+		X,
+		Y,
+		WIDTH,
+		HEIGHT,
+		POSITION,
+		SIZE,
+		ALL
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BOX_ALIGNMENT_", type_id = "clutter_box_alignment_get_type ()")]
+	public enum BoxAlignment {
+		START,
+		END,
+		CENTER
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_BUTTON_STATE_", type_id = "clutter_button_state_get_type ()")]
+	public enum ButtonState {
+		RELEASED,
+		PRESSED
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORIMETRY_TYPE_", type_id = "clutter_colorimetry_type_get_type ()")]
+	public enum ColorimetryType {
+		COLORSPACE,
+		PRIMARIES
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORSPACE_", type_id = "clutter_colorspace_get_type ()")]
+	public enum Colorspace {
+#if HAS_MUTTER47
+		DEFAULT,
+#else
+		UNKNOWN,
+#endif
+		SRGB,
+#if HAS_MUTTER48
+		BT2020,
+		NTSC;
+		public unowned Clutter.Primaries? to_primaries ();
+#else
+		BT2020
+#endif
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTENT_GRAVITY_", type_id = "clutter_content_gravity_get_type ()")]
+	public enum ContentGravity {
+		TOP_LEFT,
+		TOP,
+		TOP_RIGHT,
+		LEFT,
+		CENTER,
+		RIGHT,
+		BOTTOM_LEFT,
+		BOTTOM,
+		BOTTOM_RIGHT,
+		RESIZE_FILL,
+		RESIZE_ASPECT
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPEAT_", type_id = "clutter_content_repeat_get_type ()")]
+	[Flags]
+	public enum ContentRepeat {
+		NONE,
+		X_AXIS,
+		Y_AXIS,
+		BOTH
+	}
+#if !HAS_MUTTER48
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTEXT_FLAG_", type_id = "clutter_context_flags_get_type ()")]
+	[Flags]
+	public enum ContextFlags {
+		NONE,
+		NO_A11Y
+	}
+#endif
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_debug_flag_get_type ()")]
+	[Flags]
+	public enum DebugFlag {
+		MISC,
+		ACTOR,
+		TEXTURE,
+		EVENT,
+		PAINT,
+		PANGO,
+		BACKEND,
+		SCHEDULER,
+		SCRIPT,
+		SHADER,
+		MULTISTAGE,
+		ANIMATION,
+		LAYOUT,
+		PICK,
+		EVENTLOOP,
+		CLIPPING,
+		OOB_TRANSFORMS,
+		FRAME_TIMINGS,
+		GRABS,
+		FRAME_CLOCK,
+#if HAS_MUTTER47
+		GESTURES,
+#endif
+		DETAILED_TRACE
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DRAG_", type_id = "clutter_drag_axis_get_type ()")]
+	public enum DragAxis {
+		AXIS_NONE,
+		X_AXIS,
+		Y_AXIS
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_draw_debug_flag_get_type ()")]
+	[Flags]
+	public enum DrawDebugFlag {
+		DISABLE_SWAP_EVENTS,
+		DISABLE_CLIPPED_REDRAWS,
+		REDRAWS,
+		PAINT_VOLUMES,
+		DISABLE_CULLING,
+		DISABLE_OFFSCREEN_REDIRECT,
+		CONTINUOUS_REDRAW,
+		PAINT_DEFORM_TILES,
+		PAINT_DAMAGE_REGION,
+		DISABLE_DYNAMIC_MAX_RENDER_TIME,
+#if HAS_MUTTER48
+		DISABLE_TRIPLE_BUFFERING,
+#endif
+		PAINT_MAX_RENDER_TIME
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EOTF_TYPE_", type_id = "clutter_eotf_type_get_type ()")]
+	public enum EOTFType {
+		NAMED,
+		GAMMA
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")]
+	[Flags]
+	public enum EffectPaintFlags {
+		ACTOR_DIRTY,
+		BYPASS_EFFECT
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ENCODING_REQUIRED_FORMAT_", type_id = "clutter_encoding_required_format_get_type ()")]
+	public enum EncodingRequiredFormat {
+		UINT8,
+		UINT10,
+		FP16
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EVENT_", type_id = "clutter_event_flags_get_type ()")]
+	[Flags]
+	public enum EventFlags {
+		NONE,
+		FLAG_SYNTHETIC,
+		FLAG_INPUT_METHOD,
+		FLAG_REPEATED,
+		FLAG_RELATIVE_MOTION,
+		FLAG_POINTER_EMULATED,
+#if HAS_MUTTER48
+		FLAG_A11Y_MODIFIER_FIRST_CLICK,
+#endif
+		FLAG_GRAB_NOTIFY
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PHASE_", type_id = "clutter_event_phase_get_type ()")]
+	public enum EventPhase {
+		CAPTURE,
+		BUBBLE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_event_type_get_type ()")]
+	public enum EventType {
+		NOTHING,
+		KEY_PRESS,
+		KEY_RELEASE,
+		MOTION,
+		ENTER,
+		LEAVE,
+		BUTTON_PRESS,
+		BUTTON_RELEASE,
+		SCROLL,
+		TOUCH_BEGIN,
+		TOUCH_UPDATE,
+		TOUCH_END,
+		TOUCH_CANCEL,
+		TOUCHPAD_PINCH,
+		TOUCHPAD_SWIPE,
+		TOUCHPAD_HOLD,
+		PROXIMITY_IN,
+		PROXIMITY_OUT,
+		PAD_BUTTON_PRESS,
+		PAD_BUTTON_RELEASE,
+		PAD_STRIP,
+		PAD_RING,
+		DEVICE_ADDED,
+		DEVICE_REMOVED,
+		IM_COMMIT,
+		IM_DELETE,
+		IM_PREEDIT,
+		EVENT_LAST
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FLOW_", type_id = "clutter_flow_orientation_get_type ()")]
+	public enum FlowOrientation {
+		HORIZONTAL,
+		VERTICAL
+	}
+#endif
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FRAME_CLOCK_MODE_", type_id = "clutter_frame_clock_mode_get_type ()")]
+	public enum FrameClockMode {
+		FIXED,
+		VARIABLE
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FRAME_INFO_FLAG_", type_id = "clutter_frame_info_flag_get_type ()")]
+	[Flags]
+	public enum FrameInfoFlag {
+		NONE,
+		HW_CLOCK,
+		ZERO_COPY,
+		VSYNC
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FRAME_RESULT_", type_id = "clutter_frame_result_get_type ()")]
+	public enum FrameResult {
+		PENDING_PRESENTED,
+		IDLE
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_gesture_state_get_type ()")]
+	public enum GestureState {
+		[CCode (cname = "CLUTTER_GESTURE_STATE_WAITING")]
+		WAITING,
+		[CCode (cname = "CLUTTER_GESTURE_STATE_POSSIBLE")]
+		POSSIBLE,
+		[CCode (cname = "CLUTTER_GESTURE_STATE_RECOGNIZING")]
+		RECOGNIZING,
+		[CCode (cname = "CLUTTER_GESTURE_STATE_COMPLETED")]
+		COMPLETED,
+		[CCode (cname = "CLUTTER_GESTURE_STATE_CANCELLED")]
+		CANCELLED,
+		[CCode (cname = "CLUTTER_N_GESTURE_STATES")]
+		CLUTTER_N_GESTURE_STATES
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GESTURE_TRIGGER_EDGE_", type_id = "clutter_gesture_trigger_edge_get_type ()")]
+	public enum GestureTriggerEdge {
+		NONE,
+		AFTER,
+		BEFORE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRAB_STATE_", type_id = "clutter_grab_state_get_type ()")]
+	[Flags]
+	public enum GrabState {
+		NONE,
+		POINTER,
+		KEYBOARD,
+		ALL
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRID_POSITION_", type_id = "clutter_grid_position_get_type ()")]
+	public enum GridPosition {
+		LEFT,
+		RIGHT,
+		TOP,
+		BOTTOM
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_AXIS_", type_id = "clutter_input_axis_get_type ()")]
+	public enum InputAxis {
+		IGNORE,
+		X,
+		Y,
+		PRESSURE,
+		XTILT,
+		YTILT,
+		WHEEL,
+		DISTANCE,
+		ROTATION,
+		SLIDER,
+		LAST
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_AXIS_FLAG_", type_id = "clutter_input_axis_flags_get_type ()")]
+	[Flags]
+	public enum InputAxisFlags {
+		NONE,
+		X,
+		Y,
+		PRESSURE,
+		XTILT,
+		YTILT,
+		WHEEL,
+		DISTANCE,
+		ROTATION,
+		SLIDER
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_CAPABILITY_", type_id = "clutter_input_capabilities_get_type ()")]
+	[Flags]
+	public enum InputCapabilities {
+		NONE,
+		POINTER,
+		KEYBOARD,
+		TOUCHPAD,
+		TOUCH,
+		TABLET_TOOL,
+		TRACKBALL,
+		TRACKPOINT,
+		TABLET_PAD
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_CONTENT_HINT_", type_id = "clutter_input_content_hint_flags_get_type ()")]
+	[Flags]
+	public enum InputContentHintFlags {
+		COMPLETION,
+		SPELLCHECK,
+		AUTO_CAPITALIZATION,
+		LOWERCASE,
+		UPPERCASE,
+		TITLECASE,
+		HIDDEN_TEXT,
+		SENSITIVE_DATA,
+		LATIN,
+		MULTILINE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_CONTENT_PURPOSE_", type_id = "clutter_input_content_purpose_get_type ()")]
+	public enum InputContentPurpose {
+		NORMAL,
+		ALPHA,
+		DIGITS,
+		NUMBER,
+		PHONE,
+		URL,
+		EMAIL,
+		NAME,
+		PASSWORD,
+		DATE,
+		TIME,
+		DATETIME,
+		TERMINAL
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAD_FEATURE_", type_id = "clutter_input_device_pad_feature_get_type ()")]
+	public enum InputDevicePadFeature {
+		BUTTON,
+		RING,
+		STRIP
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_DEVICE_PAD_SOURCE_", type_id = "clutter_input_device_pad_source_get_type ()")]
+	public enum InputDevicePadSource {
+		UNKNOWN,
+		FINGER
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_DEVICE_TOOL_", type_id = "clutter_input_device_tool_type_get_type ()")]
+	public enum InputDeviceToolType {
+		NONE,
+		PEN,
+		ERASER,
+		BRUSH,
+		PENCIL,
+		AIRBRUSH,
+		MOUSE,
+		LENS
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_input_device_type_get_type ()")]
+	public enum InputDeviceType {
+		POINTER_DEVICE,
+		KEYBOARD_DEVICE,
+		EXTENSION_DEVICE,
+		JOYSTICK_DEVICE,
+		TABLET_DEVICE,
+		TOUCHPAD_DEVICE,
+		TOUCHSCREEN_DEVICE,
+		PEN_DEVICE,
+		ERASER_DEVICE,
+		CURSOR_DEVICE,
+		PAD_DEVICE,
+		N_DEVICE_TYPES
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_MODE_", type_id = "clutter_input_mode_get_type ()")]
+	public enum InputMode {
+		LOGICAL,
+		PHYSICAL,
+		FLOATING
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_PANEL_STATE_", type_id = "clutter_input_panel_state_get_type ()")]
+	public enum InputPanelState {
+		OFF,
+		ON,
+		TOGGLE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_KEY_STATE_", type_id = "clutter_key_state_get_type ()")]
+	public enum KeyState {
+		RELEASED,
+		PRESSED
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_LONG_PRESS_", type_id = "clutter_long_press_state_get_type ()")]
+	public enum LongPressState {
+		QUERY,
+		ACTIVATE,
+		CANCEL
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_LUMINANCE_TYPE_", type_id = "clutter_luminance_type_get_type ()")]
+	public enum LuminanceType {
+		DERIVED,
+		EXPLICIT
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_modifier_type_get_type ()")]
+	[Flags]
+	public enum ModifierType {
+		SHIFT_MASK,
+		LOCK_MASK,
+		CONTROL_MASK,
+		MOD1_MASK,
+		MOD2_MASK,
+		MOD3_MASK,
+		MOD4_MASK,
+		MOD5_MASK,
+		BUTTON1_MASK,
+		BUTTON2_MASK,
+		BUTTON3_MASK,
+		BUTTON4_MASK,
+		BUTTON5_MASK,
+		MODIFIER_RESERVED_13_MASK,
+		MODIFIER_RESERVED_14_MASK,
+		MODIFIER_RESERVED_15_MASK,
+		MODIFIER_RESERVED_16_MASK,
+		MODIFIER_RESERVED_17_MASK,
+		MODIFIER_RESERVED_18_MASK,
+		MODIFIER_RESERVED_19_MASK,
+		MODIFIER_RESERVED_20_MASK,
+		MODIFIER_RESERVED_21_MASK,
+		MODIFIER_RESERVED_22_MASK,
+		MODIFIER_RESERVED_23_MASK,
+		MODIFIER_RESERVED_24_MASK,
+		MODIFIER_RESERVED_25_MASK,
+		SUPER_MASK,
+		HYPER_MASK,
+		META_MASK,
+		MODIFIER_RESERVED_29_MASK,
+		RELEASE_MASK,
+		MODIFIER_MASK
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_OFFSCREEN_REDIRECT_", type_id = "clutter_offscreen_redirect_get_type ()")]
+	[Flags]
+	public enum OffscreenRedirect {
+		AUTOMATIC_FOR_OPACITY,
+		ALWAYS,
+		ON_IDLE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ORIENTATION_", type_id = "clutter_orientation_get_type ()")]
+	public enum Orientation {
+		HORIZONTAL,
+		VERTICAL
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAINT_FLAG_", type_id = "clutter_paint_flag_get_type ()")]
+	[Flags]
+	public enum PaintFlag {
+		NONE,
+		NO_CURSORS,
+		FORCE_CURSORS,
+		CLEAR
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PAN_", type_id = "clutter_pan_axis_get_type ()")]
+	public enum PanAxis {
+		AXIS_NONE,
+		X_AXIS,
+		Y_AXIS,
+		AXIS_AUTO
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PATH_", type_id = "clutter_path_node_type_get_type ()")]
+	public enum PathNodeType {
+		MOVE_TO,
+		LINE_TO,
+		CURVE_TO,
+		CLOSE,
+		REL_MOVE_TO,
+		REL_LINE_TO,
+		REL_CURVE_TO
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_NOP_", type_id = "clutter_pick_debug_flag_get_type ()")]
+	[Flags]
+	public enum PickDebugFlag {
+		PICKING
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PICK_", type_id = "clutter_pick_mode_get_type ()")]
+	public enum PickMode {
+		NONE,
+		REACTIVE,
+		ALL
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PIPELINE_CAPABILITY_COLOR_", type_id = "clutter_pipeline_capability_get_type ()")]
+	public enum PipelineCapability {
+		STATE;
+		public static GLib.Quark quark ();
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_CLICK_TYPE_", type_id = "clutter_pointer_a11y_dwell_click_type_get_type ()")]
+	public enum PointerA11yDwellClickType {
+		NONE,
+		PRIMARY,
+		SECONDARY,
+		MIDDLE,
+		DOUBLE,
+		DRAG
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_DIRECTION_", type_id = "clutter_pointer_a11y_dwell_direction_get_type ()")]
+	public enum PointerA11yDwellDirection {
+		NONE,
+		LEFT,
+		RIGHT,
+		UP,
+		DOWN
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_DWELL_MODE_", type_id = "clutter_pointer_a11y_dwell_mode_get_type ()")]
+	public enum PointerA11yDwellMode {
+		WINDOW,
+		GESTURE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_", type_id = "clutter_pointer_a11y_flags_get_type ()")]
+	[Flags]
+	public enum PointerA11yFlags {
+		SECONDARY_CLICK_ENABLED,
+		DWELL_ENABLED
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_A11Y_TIMEOUT_TYPE_", type_id = "clutter_pointer_a11y_timeout_type_get_type ()")]
+	public enum PointerA11yTimeoutType {
+		SECONDARY_CLICK,
+		DWELL,
+		GESTURE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PREEDIT_RESET_", type_id = "clutter_preedit_reset_mode_get_type ()")]
+	public enum PreeditResetMode {
+		CLEAR,
+		COMMIT
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPAINT_FLAGS_", type_id = "clutter_repaint_flags_get_type ()")]
+	[Flags]
+	public enum RepaintFlags {
+		PRE_PAINT,
+		POST_PAINT
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REQUEST_", type_id = "clutter_request_mode_get_type ()")]
+	public enum RequestMode {
+		HEIGHT_FOR_WIDTH,
+		WIDTH_FOR_HEIGHT,
+		CONTENT_SIZE
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_rotate_axis_get_type ()")]
+	public enum RotateAxis {
+		X_AXIS,
+		Y_AXIS,
+		Z_AXIS
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCALING_FILTER_", type_id = "clutter_scaling_filter_get_type ()")]
+	public enum ScalingFilter {
+		LINEAR,
+		NEAREST,
+		TRILINEAR
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_", type_id = "clutter_scroll_direction_get_type ()")]
+	public enum ScrollDirection {
+		UP,
+		DOWN,
+		LEFT,
+		RIGHT,
+		SMOOTH
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_FINISHED_", type_id = "clutter_scroll_finish_flags_get_type ()")]
+	[Flags]
+	public enum ScrollFinishFlags {
+		NONE,
+		HORIZONTAL,
+		VERTICAL
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_", type_id = "clutter_scroll_mode_get_type ()")]
+	[Flags]
+	public enum ScrollMode {
+		NONE,
+		HORIZONTALLY,
+		VERTICALLY,
+		BOTH
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCROLL_SOURCE_", type_id = "clutter_scroll_source_get_type ()")]
+	public enum ScrollSource {
+		UNKNOWN,
+		WHEEL,
+		FINGER,
+		CONTINUOUS
+	}
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_shader_type_get_type ()")]
+	public enum ShaderType {
+		VERTEX_SHADER,
+		FRAGMENT_SHADER
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SNAP_EDGE_", type_id = "clutter_snap_edge_get_type ()")]
+	public enum SnapEdge {
+		TOP,
+		RIGHT,
+		BOTTOM,
+		LEFT
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLOR_", type_id = "clutter_static_color_get_type ()")]
+	public enum StaticColor {
+		WHITE,
+		BLACK,
+		RED,
+		DARK_RED,
+		GREEN,
+		DARK_GREEN,
+		BLUE,
+		DARK_BLUE,
+		CYAN,
+		DARK_CYAN,
+		MAGENTA,
+		DARK_MAGENTA,
+		YELLOW,
+		DARK_YELLOW,
+		GRAY,
+		DARK_GRAY,
+		LIGHT_GRAY,
+		BUTTER,
+		BUTTER_LIGHT,
+		BUTTER_DARK,
+		ORANGE,
+		ORANGE_LIGHT,
+		ORANGE_DARK,
+		CHOCOLATE,
+		CHOCOLATE_LIGHT,
+		CHOCOLATE_DARK,
+		CHAMELEON,
+		CHAMELEON_LIGHT,
+		CHAMELEON_DARK,
+		SKY_BLUE,
+		SKY_BLUE_LIGHT,
+		SKY_BLUE_DARK,
+		PLUM,
+		PLUM_LIGHT,
+		PLUM_DARK,
+		SCARLET_RED,
+		SCARLET_RED_LIGHT,
+		SCARLET_RED_DARK,
+		ALUMINIUM_1,
+		ALUMINIUM_2,
+		ALUMINIUM_3,
+		ALUMINIUM_4,
+		ALUMINIUM_5,
+		ALUMINIUM_6,
+		TRANSPARENT
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_STEP_MODE_", type_id = "clutter_step_mode_get_type ()")]
+	public enum StepMode {
+		START,
+		END
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SWIPE_DIRECTION_", type_id = "clutter_swipe_direction_get_type ()")]
+	[Flags]
+	public enum SwipeDirection {
+		UP,
+		DOWN,
+		LEFT,
+		RIGHT
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXT_DIRECTION_", type_id = "clutter_text_direction_get_type ()")]
+	public enum TextDirection {
+		DEFAULT,
+		LTR,
+		RTL
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TIMELINE_", type_id = "clutter_timeline_direction_get_type ()")]
+	public enum TimelineDirection {
+		FORWARD,
+		BACKWARD
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TOUCHPAD_GESTURE_PHASE_", type_id = "clutter_touchpad_gesture_phase_get_type ()")]
+	public enum TouchpadGesturePhase {
+		BEGIN,
+		UPDATE,
+		END,
+		CANCEL
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TRANSFER_FUNCTION_", type_id = "clutter_transfer_function_get_type ()")]
+	public enum TransferFunction {
+		DEFAULT,
+		SRGB,
+		PQ,
+#if HAS_MUTTER48
+		BT709,
+		LINEAR
+#else
+		LINEAR;
+		public void get_default_luminances (out float min_lum_out, out float max_lum_out, out float ref_lum_out);
+#endif
+	}
+#endif
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_UNIT_", type_id = "clutter_unit_type_get_type ()")]
+	public enum UnitType {
+		PIXEL,
+		EM,
+		MM,
+		POINT,
+		CM
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_VIRTUAL_DEVICE_TYPE_", type_id = "clutter_virtual_device_type_get_type ()")]
+	[Flags]
+	public enum VirtualDeviceType {
+		NONE,
+		KEYBOARD,
+		POINTER,
+		TOUCHSCREEN
+	}
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_", type_id = "clutter_script_error_get_type ()")]
+	public errordomain ScriptError {
+		TYPE_FUNCTION,
+		PROPERTY,
+		VALUE;
+		public static GLib.Quark quark ();
+	}
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+	public delegate Clutter.Actor ActorCreateChildFunc (GLib.Object item);
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 4.9)]
+	public delegate bool BindingActionFunc (GLib.Object gobject, string action_name, uint key_val, Clutter.ModifierType modifiers);
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+	public delegate void Callback (Clutter.Actor actor);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
+	public delegate bool EventFilterFunc (Clutter.Event event, Clutter.Actor event_actor);
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
+	public delegate void PathCallback (Clutter.PathNode node);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", has_target = false)]
+	public delegate bool ProgressFunc (GLib.Value a, GLib.Value b, double progress, GLib.Value retval);
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 6.9)]
+	public delegate void ScriptConnectFunc (Clutter.Script script, GLib.Object object, string signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
+	public delegate bool StageInputForeachFunc (Clutter.Stage stage, Clutter.InputDevice device, Clutter.EventSequence sequence);
+	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
+	public delegate double TimelineProgressFunc (Clutter.Timeline timeline, double elapsed, double total);
+	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_CURRENT_TIME")]
+	public const int CURRENT_TIME;
+	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_EVENT_PROPAGATE")]
+	public const bool EVENT_PROPAGATE;
+	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_EVENT_STOP")]
+	public const bool EVENT_STOP;
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PATH_RELATIVE")]
+	public const int PATH_RELATIVE;
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PRIORITY_REDRAW")]
+	public const int PRIORITY_REDRAW;
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void cairo_clear (Cairo.Context cr);
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void cairo_set_source_color (Cairo.Context cr, Clutter.Color color);
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void add_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void debug_set_max_render_time_constant (int max_render_time_constant_us);
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void disable_accessibility ();
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static bool events_pending ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static bool get_accessibility_enabled ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static unowned Clutter.Event get_current_event ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static uint32 get_current_event_time ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void get_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags);
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static unowned Clutter.Backend get_default_backend ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static Clutter.TextDirection get_default_text_direction ();
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static unowned Pango.FontMap get_font_map ();
+#endif
+#if !HAS_MUTTER46
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static unowned string get_script_id (GLib.Object gobject);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static Clutter.TextDirection get_text_direction ();
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static uint32 keysym_to_unicode (uint keyval);
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void keyval_convert_case (uint symbol, out uint lower, out uint upper);
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static unowned string? keyval_name (uint keyval);
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void remove_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static uint unicode_to_keysym (uint32 wc);
+}
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-clutter.vapi wingpanel-8.0.3/vapi/mutter-clutter.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-clutter.vapi	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/mutter-clutter.vapi	2025-09-02 19:00:47.064698762 +0200
@@ -15,6 +15,12 @@
 		public const uint @0;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_1")]
 		public const uint @1;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsDown")]
+		public const uint @10ChannelsDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_10ChannelsUp")]
+		public const uint @10ChannelsUp;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_2")]
 		public const uint @2;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3")]
@@ -79,6 +85,10 @@
 		public const uint @3270_Setup;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3270_Test")]
 		public const uint @3270_Test;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_3DMode")]
+		public const uint @3DMode;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_4")]
 		public const uint @4;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_5")]
@@ -95,6 +105,10 @@
 		public const uint A;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AE")]
 		public const uint AE;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ALSToggle")]
+		public const uint ALSToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aacute")]
 		public const uint Aacute;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Abelowdot")]
@@ -115,6 +129,10 @@
 		public const uint AccessX_Enable;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AccessX_Feedback_Enable")]
 		public const uint AccessX_Feedback_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Accessibility")]
+		public const uint Accessibility;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflex")]
 		public const uint Acircumflex;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Acircumflexacute")]
@@ -129,6 +147,10 @@
 		public const uint Acircumflextilde;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AddFavorite")]
 		public const uint AddFavorite;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Addressbook")]
+		public const uint Addressbook;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Adiaeresis")]
 		public const uint Adiaeresis;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Agrave")]
@@ -143,6 +165,10 @@
 		public const uint Amacron;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Aogonek")]
 		public const uint Aogonek;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AppSelect")]
+		public const uint AppSelect;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationLeft")]
 		public const uint ApplicationLeft;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ApplicationRight")]
@@ -489,12 +515,34 @@
 		public const uint Armenian_za;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Armenian_zhe")]
 		public const uint Armenian_zhe;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AspectRatio")]
+		public const uint AspectRatio;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Assistant")]
+		public const uint Assistant;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Atilde")]
 		public const uint Atilde;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOff")]
+		public const uint AttendantOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantOn")]
+		public const uint AttendantOn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AttendantToggle")]
+		public const uint AttendantToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudibleBell_Enable")]
 		public const uint AudibleBell_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Audio")]
+		public const uint Audio;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioCycleTrack")]
 		public const uint AudioCycleTrack;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioDesc")]
+		public const uint AudioDesc;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioForward")]
 		public const uint AudioForward;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioLowerVolume")]
@@ -511,6 +559,10 @@
 		public const uint AudioPause;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPlay")]
 		public const uint AudioPlay;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPreset")]
+		public const uint AudioPreset;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioPrev")]
 		public const uint AudioPrev;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioRaiseVolume")]
@@ -525,6 +577,10 @@
 		public const uint AudioRewind;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AudioStop")]
 		public const uint AudioStop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_AutopilotEngageToggle")]
+		public const uint AutopilotEngageToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Away")]
 		public const uint Away;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_B")]
@@ -553,6 +609,16 @@
 		public const uint Break;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAdjust")]
 		public const uint BrightnessAdjust;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessAuto")]
+		public const uint BrightnessAuto;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMax")]
+		public const uint BrightnessMax;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_BrightnessMin")]
+		public const uint BrightnessMin;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Buttonconfig")]
+		public const uint Buttonconfig;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_SHORTU")]
 		public const uint Byelorussian_SHORTU;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Byelorussian_shortu")]
@@ -575,6 +641,28 @@
 		public const uint Calculator;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Calendar")]
 		public const uint Calendar;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessDisable")]
+		public const uint CameraAccessDisable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessEnable")]
+		public const uint CameraAccessEnable;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraAccessToggle")]
+		public const uint CameraAccessToggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraDown")]
+		public const uint CameraDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraFocus")]
+		public const uint CameraFocus;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraLeft")]
+		public const uint CameraLeft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraRight")]
+		public const uint CameraRight;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraUp")]
+		public const uint CameraUp;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomIn")]
+		public const uint CameraZoomIn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_CameraZoomOut")]
+		public const uint CameraZoomOut;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Cancel")]
 		public const uint Cancel;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Caps_Lock")]
@@ -587,10 +675,20 @@
 		public const uint Ccircumflex;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ch")]
 		public const uint Ch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelDown")]
+		public const uint ChannelDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ChannelUp")]
+		public const uint ChannelUp;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Clear")]
 		public const uint Clear;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearGrab")]
 		public const uint ClearGrab;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ClearvuSonar")]
+		public const uint ClearvuSonar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Close")]
 		public const uint Close;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Codeinput")]
@@ -599,8 +697,16 @@
 		public const uint ColonSign;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Community")]
 		public const uint Community;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContextMenu")]
+		public const uint ContextMenu;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ContrastAdjust")]
 		public const uint ContrastAdjust;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ControlPanel")]
+		public const uint ControlPanel;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_L")]
 		public const uint Control_L;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Control_R")]
@@ -825,14 +931,36 @@
 		public const uint D;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DOS")]
 		public const uint DOS;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DVD")]
+		public const uint DVD;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dabovedot")]
 		public const uint Dabovedot;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Data")]
+		public const uint Data;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Database")]
+		public const uint Database;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dcaron")]
 		public const uint Dcaron;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Delete")]
 		public const uint Delete;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dictate")]
+		public const uint Dictate;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Display")]
 		public const uint Display;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayOff")]
+		public const uint DisplayOff;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DisplayToggle")]
+		public const uint DisplayToggle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DoNotDisturb")]
+		public const uint DoNotDisturb;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Documents")]
 		public const uint Documents;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DongSign")]
@@ -841,6 +969,10 @@
 		public const uint Down;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Dstroke")]
 		public const uint Dstroke;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_DualRangeRadar")]
+		public const uint DualRangeRadar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_E")]
 		public const uint E;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ENG")]
@@ -873,6 +1005,10 @@
 		public const uint EcuSign;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ediaeresis")]
 		public const uint Ediaeresis;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Editor")]
+		public const uint Editor;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Egrave")]
 		public const uint Egrave;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ehook")]
@@ -885,6 +1021,10 @@
 		public const uint Eject;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Emacron")]
 		public const uint Emacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_EmojiPicker")]
+		public const uint EmojiPicker;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_End")]
 		public const uint End;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Eogonek")]
@@ -1001,6 +1141,10 @@
 		public const uint Farsi_9;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Farsi_yeh")]
 		public const uint Farsi_yeh;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FastReverse")]
+		public const uint FastReverse;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Favorites")]
 		public const uint Favorites;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Finance")]
@@ -1009,12 +1153,26 @@
 		public const uint Find;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_First_Virtual_Screen")]
 		public const uint First_Virtual_Screen;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FishingChart")]
+		public const uint FishingChart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn")]
+		public const uint Fn;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FnRightShift")]
+		public const uint FnRightShift;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Fn_Esc")]
+		public const uint Fn_Esc;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Forward")]
 		public const uint Forward;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameBack")]
 		public const uint FrameBack;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FrameForward")]
 		public const uint FrameForward;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_FullScreen")]
+		public const uint FullScreen;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_G")]
 		public const uint G;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Gabovedot")]
@@ -1109,6 +1267,10 @@
 		public const uint Georgian_zhar;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Go")]
 		public const uint Go;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_GraphicsEditor")]
+		public const uint GraphicsEditor;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHA")]
 		public const uint Greek_ALPHA;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Greek_ALPHAaccent")]
@@ -1475,6 +1637,10 @@
 		public const uint Hangul_YeorinHieuh;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hangul_switch")]
 		public const uint Hangul_switch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_HangupPhone")]
+		public const uint HangupPhone;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hankaku")]
 		public const uint Hankaku;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Hcircumflex")]
@@ -1607,6 +1773,12 @@
 		public const uint Ihook;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Imacron")]
 		public const uint Imacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Images")]
+		public const uint Images;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Info")]
+		public const uint Info;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Insert")]
 		public const uint Insert;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Iogonek")]
@@ -1617,6 +1789,10 @@
 		public const uint J;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Jcircumflex")]
 		public const uint Jcircumflex;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Journal")]
+		public const uint Journal;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_K")]
 		public const uint K;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KP_0")]
@@ -1707,10 +1883,38 @@
 		public const uint KbdBrightnessDown;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdBrightnessUp")]
 		public const uint KbdBrightnessUp;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistAccept")]
+		public const uint KbdInputAssistAccept;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistCancel")]
+		public const uint KbdInputAssistCancel;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNext")]
+		public const uint KbdInputAssistNext;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistNextgroup")]
+		public const uint KbdInputAssistNextgroup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrev")]
+		public const uint KbdInputAssistPrev;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdInputAssistPrevgroup")]
+		public const uint KbdInputAssistPrevgroup;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu1")]
+		public const uint KbdLcdMenu1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu2")]
+		public const uint KbdLcdMenu2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu3")]
+		public const uint KbdLcdMenu3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu4")]
+		public const uint KbdLcdMenu4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLcdMenu5")]
+		public const uint KbdLcdMenu5;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_KbdLightOnOff")]
 		public const uint KbdLightOnOff;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Kcedilla")]
 		public const uint Kcedilla;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Keyboard")]
+		public const uint Keyboard;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Korean_Won")]
 		public const uint Korean_Won;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_L")]
@@ -1779,8 +1983,18 @@
 		public const uint Lcedilla;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Left")]
 		public const uint Left;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftDown")]
+		public const uint LeftDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LeftUp")]
+		public const uint LeftUp;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightBulb")]
 		public const uint LightBulb;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LightsToggle")]
+		public const uint LightsToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Linefeed")]
 		public const uint Linefeed;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_LiraSign")]
@@ -1809,16 +2023,100 @@
 		public const uint Macedonia_gje;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macedonia_kje")]
 		public const uint Macedonia_kje;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro1")]
+		public const uint Macro1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro10")]
+		public const uint Macro10;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro11")]
+		public const uint Macro11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro12")]
+		public const uint Macro12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro13")]
+		public const uint Macro13;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro14")]
+		public const uint Macro14;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro15")]
+		public const uint Macro15;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro16")]
+		public const uint Macro16;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro17")]
+		public const uint Macro17;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro18")]
+		public const uint Macro18;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro19")]
+		public const uint Macro19;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro2")]
+		public const uint Macro2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro20")]
+		public const uint Macro20;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro21")]
+		public const uint Macro21;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro22")]
+		public const uint Macro22;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro23")]
+		public const uint Macro23;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro24")]
+		public const uint Macro24;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro25")]
+		public const uint Macro25;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro26")]
+		public const uint Macro26;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro27")]
+		public const uint Macro27;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro28")]
+		public const uint Macro28;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro29")]
+		public const uint Macro29;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro3")]
+		public const uint Macro3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro30")]
+		public const uint Macro30;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro4")]
+		public const uint Macro4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro5")]
+		public const uint Macro5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro6")]
+		public const uint Macro6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro7")]
+		public const uint Macro7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro8")]
+		public const uint Macro8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Macro9")]
+		public const uint Macro9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset1")]
+		public const uint MacroPreset1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset2")]
+		public const uint MacroPreset2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPreset3")]
+		public const uint MacroPreset3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroPresetCycle")]
+		public const uint MacroPresetCycle;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStart")]
+		public const uint MacroRecordStart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MacroRecordStop")]
+		public const uint MacroRecordStop;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mae_Koho")]
 		public const uint Mae_Koho;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mail")]
 		public const uint Mail;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MailForward")]
 		public const uint MailForward;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MarkWaypoint")]
+		public const uint MarkWaypoint;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Market")]
 		public const uint Market;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Massyo")]
 		public const uint Massyo;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaRepeat")]
+		public const uint MediaRepeat;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MediaTopMenu")]
+		public const uint MediaTopMenu;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Meeting")]
 		public const uint Meeting;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Memo")]
@@ -1841,6 +2139,10 @@
 		public const uint ModeLock;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Mode_switch")]
 		public const uint Mode_switch;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessCycle")]
+		public const uint MonBrightnessCycle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessDown")]
 		public const uint MonBrightnessDown;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_MonBrightnessUp")]
@@ -1867,6 +2169,12 @@
 		public const uint Nacute;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NairaSign")]
 		public const uint NairaSign;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavChart")]
+		public const uint NavChart;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NavInfo")]
+		public const uint NavInfo;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncaron")]
 		public const uint Ncaron;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ncedilla")]
@@ -1879,14 +2187,62 @@
 		public const uint News;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next")]
 		public const uint Next;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextElement")]
+		public const uint NextElement;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NextFavorite")]
+		public const uint NextFavorite;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_VMode")]
 		public const uint Next_VMode;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Next_Virtual_Screen")]
 		public const uint Next_Virtual_Screen;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NotificationCenter")]
+		public const uint NotificationCenter;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ntilde")]
 		public const uint Ntilde;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Num_Lock")]
 		public const uint Num_Lock;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric0")]
+		public const uint Numeric0;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric1")]
+		public const uint Numeric1;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric11")]
+		public const uint Numeric11;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric12")]
+		public const uint Numeric12;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric2")]
+		public const uint Numeric2;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric3")]
+		public const uint Numeric3;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric4")]
+		public const uint Numeric4;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric5")]
+		public const uint Numeric5;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric6")]
+		public const uint Numeric6;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric7")]
+		public const uint Numeric7;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric8")]
+		public const uint Numeric8;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Numeric9")]
+		public const uint Numeric9;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericA")]
+		public const uint NumericA;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericB")]
+		public const uint NumericB;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericC")]
+		public const uint NumericC;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericD")]
+		public const uint NumericD;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericPound")]
+		public const uint NumericPound;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_NumericStar")]
+		public const uint NumericStar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_O")]
 		public const uint O;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OE")]
@@ -1935,6 +2291,10 @@
 		public const uint Ohorntilde;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Omacron")]
 		public const uint Omacron;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_OnScreenKeyboard")]
+		public const uint OnScreenKeyboard;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ooblique")]
 		public const uint Ooblique;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Open")]
@@ -1963,10 +2323,18 @@
 		public const uint Paste;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pause")]
 		public const uint Pause;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PauseRecord")]
+		public const uint PauseRecord;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PesetaSign")]
 		public const uint PesetaSign;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Phone")]
 		public const uint Phone;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PickupPhone")]
+		public const uint PickupPhone;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pictures")]
 		public const uint Pictures;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Pointer_Accelerate")]
@@ -2033,16 +2401,28 @@
 		public const uint PowerDown;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PowerOff")]
 		public const uint PowerOff;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Presentation")]
+		public const uint Presentation;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_VMode")]
 		public const uint Prev_VMode;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prev_Virtual_Screen")]
 		public const uint Prev_Virtual_Screen;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousCandidate")]
 		public const uint PreviousCandidate;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PreviousElement")]
+		public const uint PreviousElement;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Print")]
 		public const uint Print;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Prior")]
 		public const uint Prior;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_PrivacyScreenToggle")]
+		public const uint PrivacyScreenToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Q")]
 		public const uint Q;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R")]
@@ -2077,8 +2457,16 @@
 		public const uint R8;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_R9")]
 		public const uint R9;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RFKill")]
+		public const uint RFKill;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Racute")]
 		public const uint Racute;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RadarOverlay")]
+		public const uint RadarOverlay;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcaron")]
 		public const uint Rcaron;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Rcedilla")]
@@ -2089,6 +2477,10 @@
 		public const uint Redo;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Refresh")]
 		public const uint Refresh;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RefreshRateToggle")]
+		public const uint RefreshRateToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Reload")]
 		public const uint Reload;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RepeatKeys_Enable")]
@@ -2099,6 +2491,12 @@
 		public const uint Return;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Right")]
 		public const uint Right;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightDown")]
+		public const uint RightDown;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RightUp")]
+		public const uint RightUp;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerDown")]
 		public const uint RockerDown;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RockerEnter")]
@@ -2107,10 +2505,18 @@
 		public const uint RockerUp;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Romaji")]
 		public const uint Romaji;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RootMenu")]
+		public const uint RootMenu;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotateWindows")]
 		public const uint RotateWindows;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationKB")]
 		public const uint RotationKB;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationLockToggle")]
+		public const uint RotationLockToggle;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RotationPB")]
 		public const uint RotationPB;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_RupeeSign")]
@@ -2133,6 +2539,10 @@
 		public const uint Scircumflex;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScreenSaver")]
 		public const uint ScreenSaver;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Screensaver")]
+		public const uint Screensaver;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollClick")]
 		public const uint ScrollClick;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ScrollDown")]
@@ -2147,6 +2557,10 @@
 		public const uint Select;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectButton")]
 		public const uint SelectButton;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SelectiveScreenshot")]
+		public const uint SelectiveScreenshot;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Send")]
 		public const uint Send;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Serbian_DJE")]
@@ -2181,8 +2595,16 @@
 		public const uint Shift_R;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Shop")]
 		public const uint Shop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SidevuSonar")]
+		public const uint SidevuSonar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleCandidate")]
 		public const uint SingleCandidate;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SingleRangeRadar")]
+		public const uint SingleRangeRadar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_a")]
 		public const uint Sinh_a;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sinh_aa")]
@@ -2347,8 +2769,18 @@
 		public const uint Sleep;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowKeys_Enable")]
 		public const uint SlowKeys_Enable;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SlowReverse")]
+		public const uint SlowReverse;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Sos")]
+		public const uint Sos;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Spell")]
 		public const uint Spell;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SpellCheck")]
+		public const uint SpellCheck;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_SplitScreen")]
 		public const uint SplitScreen;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Standby")]
@@ -2359,6 +2791,10 @@
 		public const uint StickyKeys_Enable;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Stop")]
 		public const uint Stop;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_StopRecord")]
+		public const uint StopRecord;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Subtitle")]
 		public const uint Subtitle;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Super_L")]
@@ -2405,6 +2841,10 @@
 		public const uint Tabovedot;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TaskPane")]
 		public const uint TaskPane;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Taskmanager")]
+		public const uint Taskmanager;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcaron")]
 		public const uint Tcaron;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tcedilla")]
@@ -2599,6 +3039,10 @@
 		public const uint TouchpadToggle;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Touroku")]
 		public const uint Touroku;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_TraditionalSonar")]
+		public const uint TraditionalSonar;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Travel")]
 		public const uint Travel;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Tslash")]
@@ -2669,6 +3113,10 @@
 		public const uint Undo;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Ungrab")]
 		public const uint Ungrab;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Unmute")]
+		public const uint Unmute;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Uogonek")]
 		public const uint Uogonek;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Up")]
@@ -2685,18 +3133,38 @@
 		public const uint Utilde;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_V")]
 		public const uint V;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VOD")]
+		public const uint VOD;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VendorHome")]
 		public const uint VendorHome;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Video")]
 		public const uint Video;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VideoPhone")]
+		public const uint VideoPhone;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_View")]
 		public const uint View;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoiceCommand")]
+		public const uint VoiceCommand;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Voicemail")]
+		public const uint Voicemail;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_VoidSymbol")]
 		public const uint VoidSymbol;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_W")]
 		public const uint W;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WLAN")]
 		public const uint WLAN;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WPSButton")]
+		public const uint WPSButton;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWAN")]
+		public const uint WWAN;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_WWW")]
 		public const uint WWW;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Wacute")]
@@ -2761,6 +3229,10 @@
 		public const uint ZoomIn;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomOut")]
 		public const uint ZoomOut;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ZoomReset")]
+		public const uint ZoomReset;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_Zstroke")]
 		public const uint Zstroke;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_a")]
@@ -3441,6 +3913,18 @@
 		public const uint club;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_colon")]
 		public const uint colon;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_acute")]
+		public const uint combining_acute;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_belowdot")]
+		public const uint combining_belowdot;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_grave")]
+		public const uint combining_grave;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_hook")]
+		public const uint combining_hook;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_combining_tilde")]
+		public const uint combining_tilde;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_comma")]
 		public const uint comma;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_containsas")]
@@ -3473,6 +3957,10 @@
 		public const uint dead_I;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_O")]
 		public const uint dead_O;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_SCHWA")]
+		public const uint dead_SCHWA;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_U")]
 		public const uint dead_U;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_a")]
@@ -3533,6 +4021,10 @@
 		public const uint dead_grave;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_greek")]
 		public const uint dead_greek;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hamza")]
+		public const uint dead_hamza;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_hook")]
 		public const uint dead_hook;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_horn")]
@@ -3557,6 +4049,10 @@
 		public const uint dead_perispomeni;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_psili")]
 		public const uint dead_psili;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_schwa")]
+		public const uint dead_schwa;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_semivoiced_sound")]
 		public const uint dead_semivoiced_sound;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_dead_small_schwa")]
@@ -3745,6 +4241,12 @@
 		public const uint greater;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_greaterthanequal")]
 		public const uint greaterthanequal;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetleft")]
+		public const uint guillemetleft;
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemetright")]
+		public const uint guillemetright;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotleft")]
 		public const uint guillemotleft;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_guillemotright")]
@@ -4231,6 +4733,10 @@
 		public const uint opentribulletup;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordfeminine")]
 		public const uint ordfeminine;
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_ordmasculine")]
+		public const uint ordmasculine;
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_oslash")]
 		public const uint oslash;
 		[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_KEY_otilde")]
@@ -4561,6 +5067,7 @@
 		public const uint zstroke;
 	}
 	namespace Threads {
+#if !HAS_MUTTER48
 		namespace Idle {
 			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_idle")]
 			public static uint add (GLib.SourceFunc func);
@@ -4573,10 +5080,15 @@
 			[CCode (cheader_filename = "clutter/clutter.h", cname = "clutter_threads_add_timeout_full")]
 			public static uint add_full (int priority, uint interval, owned GLib.SourceFunc func);
 		}
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h")]
+#if HAS_MUTTER48
+		public static uint add_repaint_func (Clutter.RepaintFlags flags, owned GLib.SourceFunc func);
+#else
 		public static uint add_repaint_func (owned GLib.SourceFunc func);
 		[CCode (cheader_filename = "clutter/clutter.h")]
 		public static uint add_repaint_func_full (Clutter.RepaintFlags flags, owned GLib.SourceFunc func);
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h")]
 		public static void remove_repaint_func (uint handle_id);
 	}
@@ -4611,8 +5123,10 @@
 		public static void set_shader_int (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] int[] ints);
 		[CCode (cheader_filename = "clutter/clutter.h")]
 		public static void set_shader_matrix (GLib.Value value, [CCode (array_length_cname = "size", array_length_pos = 1.5)] float[] matrix);
+#if !HAS_MUTTER48
 		[CCode (cheader_filename = "clutter/clutter.h")]
 		public static void set_units (GLib.Value value, Clutter.Units units);
+#endif
 		[CCode (cheader_filename = "clutter/clutter.h")]
 		public static void take_paint_node (GLib.Value value, Clutter.PaintNode? node);
 	}
@@ -4622,15 +5136,13 @@
 		protected Action ();
 		public Clutter.EventPhase get_phase ();
 		[NoWrapper]
-		public virtual bool handle_event (Clutter.Event event);
+		public virtual bool handle_event ([CCode (type = "const ClutterEvent *")] Clutter.Event event);
 #if HAS_MUTTER47
 		[NoWrapper]
 		public virtual bool register_sequence (Clutter.Event event);
 #endif
-#if HAS_MUTTER44
 		[NoWrapper]
 		public virtual void sequence_cancelled (Clutter.InputDevice device, Clutter.EventSequence sequence);
-#endif
 #if HAS_MUTTER47
 		[NoWrapper]
 		public virtual int setup_sequence_relationship (Clutter.Action action_2, Clutter.InputDevice device, Clutter.EventSequence sequence);
@@ -4654,7 +5166,7 @@
 		public void add_effect (Clutter.Effect effect);
 		public void add_effect_with_name (string name, Clutter.Effect effect);
 		public void add_transition (string name, Clutter.Transition transition);
-		public virtual void allocate (Clutter.ActorBox box);
+		public virtual void allocate ([CCode (type = "const ClutterActorBox *")] Clutter.ActorBox box);
 		public void allocate_align_fill (Clutter.ActorBox box, double x_align, double y_align, bool x_fill, bool y_fill);
 		public void allocate_available_size (float x, float y, float available_width, float available_height);
 		public void allocate_preferred_size (float x, float y);
@@ -4671,7 +5183,13 @@
 		public bool contains (Clutter.Actor descendant);
 		public void continue_paint (Clutter.PaintContext paint_context);
 		public void continue_pick (Clutter.PickContext pick_context);
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
 		public Pango.Context create_pango_context ();
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
 		public Pango.Layout create_pango_layout (string? text);
 #if HAS_MUTTER46
 		public Clutter.PaintNode create_texture_paint_node (Cogl.Texture texture);
@@ -4698,9 +5216,7 @@
 		public GLib.List<weak Clutter.Actor> get_children ();
 		public void get_clip (out float xoff, out float yoff, out float width, out float height);
 		public bool get_clip_to_allocation ();
-#if HAS_MUTTER43
 		public unowned Clutter.ColorState get_color_state ();
-#endif
 		public unowned Clutter.Constraint? get_constraint (string name);
 		public GLib.List<weak Clutter.Constraint> get_constraints ();
 		public unowned Clutter.Content? get_content ();
@@ -4711,9 +5227,6 @@
 #if HAS_MUTTER47
 		public unowned Clutter.Context get_context ();
 #endif
-#if !HAS_MUTTER44
-		public unowned Clutter.PaintVolume? get_default_paint_volume ();
-#endif
 		public uint get_easing_delay ();
 		public uint get_easing_duration ();
 		public Clutter.AnimationMode get_easing_mode ();
@@ -4752,6 +5265,9 @@
 		[CCode (vfunc_name = "get_paint_volume")]
 		[NoWrapper]
 		public virtual bool get_paint_volume_vfunc (out Clutter.PaintVolume volume);
+#if HAS_MUTTER48
+		[CCode (cheader_filename = "clutter/clutter-pango.h")]
+#endif
 		public unowned Pango.Context get_pango_context ();
 		public unowned Clutter.Actor? get_parent ();
 		public void get_pivot_point (out float pivot_x, out float pivot_y);
@@ -4762,7 +5278,7 @@
 		public virtual void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p);
 		public unowned Clutter.Actor? get_previous_sibling ();
 		public bool get_reactive ();
-#if HAS_MUTTER45
+#if !HAS_MUTTER48
 		public Graphene.Matrix get_relative_transformation_matrix (Clutter.Actor? ancestor);
 #endif
 		public Clutter.RequestMode get_request_mode ();
@@ -4771,6 +5287,7 @@
 		public void get_scale (out double scale_x, out double scale_y);
 		public double get_scale_z ();
 		public void get_size (out float width, out float height);
+		[CCode (type = "ClutterActor *")]
 		public unowned Clutter.Stage get_stage ();
 		public Clutter.TextDirection get_text_direction ();
 		public Graphene.Matrix get_transform ();
@@ -4795,7 +5312,9 @@
 		public bool has_actions ();
 		public bool has_allocation ();
 		public bool has_constraints ();
+#if !HAS_MUTTER48
 		public bool has_damage ();
+#endif
 		public bool has_effects ();
 		public bool has_key_focus ();
 		public bool has_mapped_clones ();
@@ -4808,7 +5327,9 @@
 		public void insert_child_below (Clutter.Actor child, Clutter.Actor? sibling);
 		public void invalidate_paint_volume ();
 		public void invalidate_transform ();
+#if !HAS_MUTTER48
 		public bool is_effectively_on_stage_view (Clutter.StageView view);
+#endif
 		public bool is_in_clone_paint ();
 		public bool is_mapped ();
 #if HAS_MUTTER47
@@ -4821,7 +5342,7 @@
 		public virtual void map ();
 		public void move_by (float dx, float dy);
 		public bool needs_expand (Clutter.Orientation orientation);
-#if HAS_MUTTER45
+#if !HAS_MUTTER48
 		public void notify_transform_invalid ();
 #endif
 		public virtual void paint (Clutter.PaintContext paint_context);
@@ -4834,10 +5355,9 @@
 		public unowned GLib.List<Clutter.StageView> peek_stage_views ();
 		public void pick_box (Clutter.PickContext pick_context, Clutter.ActorBox box);
 		public void queue_redraw ();
-#if HAS_MUTTER45
 		public void queue_redraw_with_clip (Mtk.Rectangle? clip);
-#else
-		public void queue_redraw_with_clip (Cairo.RectangleInt? clip);
+#if HAS_MUTTER48
+		public void remove_accessible_state (Atk.StateType state);
 #endif
 		public void remove_action (Clutter.Action action);
 		public void remove_action_by_name (string name);
@@ -4870,9 +5390,7 @@
 		public void set_child_transform (Graphene.Matrix? transform);
 		public void set_clip (float xoff, float yoff, float width, float height);
 		public void set_clip_to_allocation (bool clip_set);
-#if HAS_MUTTER43
-		public void set_color_state (Clutter.ColorState? color_state);
-#endif
+		public void set_color_state (Clutter.ColorState color_state);
 		public void set_content (Clutter.Content? content);
 		public void set_content_gravity (Clutter.ContentGravity gravity);
 		public void set_content_repeat (Clutter.ContentRepeat repeat);
@@ -4896,6 +5414,9 @@
 		public void set_margin_right (float margin);
 		public void set_margin_top (float margin);
 		public void set_name (string? name);
+#if HAS_MUTTER48
+		public void set_no_layout (bool no_layout);
+#endif
 		public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect);
 		public void set_opacity (uint8 opacity);
 		public void set_opacity_override (int opacity);
@@ -4947,9 +5468,7 @@
 		[NoAccessorMethod]
 		public Graphene.Rect clip_rect { owned get; set; }
 		public bool clip_to_allocation { get; set; }
-#if HAS_MUTTER43
 		public Clutter.ColorState color_state { get; set construct; }
-#endif
 		[NoAccessorMethod]
 		public Clutter.Constraint constraints { set; }
 		public Clutter.Content content { get; set; }
@@ -5047,13 +5566,8 @@
 		public Clutter.ActorAlign y_align { get; set; }
 		public bool y_expand { get; set; }
 		public float z_position { get; set; }
-#if HAS_MUTTER45
 		public virtual signal bool button_press_event (Clutter.Event event);
 		public virtual signal bool button_release_event (Clutter.Event event);
-#else
-		public virtual signal bool button_press_event (Clutter.ButtonEvent event);
-		public virtual signal bool button_release_event (Clutter.ButtonEvent event);
-#endif
 		public virtual signal bool captured_event (Clutter.Event event);
 #if HAS_MUTTER46
 		public virtual signal void child_added (Clutter.Actor child);
@@ -5063,27 +5577,16 @@
 #endif
 		[HasEmitter]
 		public virtual signal void destroy ();
-#if HAS_MUTTER45
 		public virtual signal bool enter_event (Clutter.Event event);
-#else
-		public virtual signal bool enter_event (Clutter.CrossingEvent event);
-#endif
 		public virtual signal bool event (Clutter.Event event);
 		[HasEmitter]
 		public virtual signal void hide ();
 		public virtual signal void key_focus_in ();
 		public virtual signal void key_focus_out ();
-#if HAS_MUTTER45
 		public virtual signal bool key_press_event (Clutter.Event event);
 		public virtual signal bool key_release_event (Clutter.Event event);
 		public virtual signal bool leave_event (Clutter.Event event);
 		public virtual signal bool motion_event (Clutter.Event event);
-#else
-		public virtual signal bool key_press_event (Clutter.KeyEvent event);
-		public virtual signal bool key_release_event (Clutter.KeyEvent event);
-		public virtual signal bool leave_event (Clutter.CrossingEvent event);
-		public virtual signal bool motion_event (Clutter.MotionEvent event);
-#endif
 		public virtual signal void parent_set (Clutter.Actor? old_parent);
 		[HasEmitter]
 		public virtual signal void pick (Clutter.PickContext pick_context);
@@ -5093,11 +5596,7 @@
 		[Version (deprecated = true, deprecated_since = "1.16")]
 		public virtual signal void realize ();
 		public virtual signal void resource_scale_changed ();
-#if HAS_MUTTER45
 		public virtual signal bool scroll_event (Clutter.Event event);
-#else
-		public virtual signal bool scroll_event (Clutter.ScrollEvent event);
-#endif
 		[HasEmitter]
 		public virtual signal void show ();
 		public signal void stage_views_changed ();
@@ -5155,15 +5654,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class AnyEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public Clutter.EventFlags flags;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_backend_get_type ()")]
 	public abstract class Backend : GLib.Object {
@@ -5171,18 +5661,22 @@
 		protected Backend ();
 		public unowned Cogl.Context get_cogl_context ();
 		public unowned Clutter.Seat get_default_seat ();
+#if !HAS_MUTTER48
 		public unowned Cairo.FontOptions get_font_options ();
+#endif
 		public unowned Clutter.InputMethod get_input_method ();
 		public double get_resolution ();
+#if !HAS_MUTTER48
 		public void set_font_options (Cairo.FontOptions options);
+#endif
 		public void set_input_method (Clutter.InputMethod? method);
-		public signal void font_changed ();
-		public signal void resolution_changed ();
-		public signal void settings_changed ();
 #if HAS_MUTTER47
 		[NoAccessorMethod]
 		public Clutter.Context context { owned get; construct; }
 #endif
+		public signal void font_changed ();
+		public signal void resolution_changed ();
+		public signal void settings_changed ();
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_bin_layout_get_type ()")]
 	public class BinLayout : Clutter.LayoutManager {
@@ -5257,24 +5751,12 @@
 		public BoxLayout ();
 		public bool get_homogeneous ();
 		public Clutter.Orientation get_orientation ();
-#if !HAS_MUTTER45
-		[Version (deprecated = true)]
-		public bool get_pack_start ();
-#endif
 		public uint get_spacing ();
 		public void set_homogeneous (bool homogeneous);
 		public void set_orientation (Clutter.Orientation orientation);
-#if !HAS_MUTTER45
-		[Version (deprecated = true)]
-		public void set_pack_start (bool pack_start);
-#endif
 		public void set_spacing (uint spacing);
 		public bool homogeneous { get; set; }
 		public Clutter.Orientation orientation { get; set; }
-#if !HAS_MUTTER45
-		[Version (deprecated = true)]
-		public bool pack_start { get; set; }
-#endif
 		public uint spacing { get; set; }
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_brightness_contrast_effect_get_type ()")]
@@ -5303,22 +5785,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class ButtonEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public double axes;
-		public uint32 button;
-		public weak Clutter.InputDevice device;
-		public uint32 evdev_code;
-		public Clutter.EventFlags flags;
-		public Clutter.ModifierType modifier_state;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_canvas_get_type ()")]
@@ -5399,33 +5865,55 @@
 		public ColorNode (Clutter.Color? color);
 #endif
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_state_get_type ()")]
 	public sealed class ColorState : GLib.Object {
 		[CCode (has_construct_function = false)]
 #if HAS_MUTTER47
+#if HAS_MUTTER48
+		protected ColorState ();
+#else
 		public ColorState (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function);
+#endif
 		public void add_pipeline_transform (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+#if HAS_MUTTER48
+		public virtual void do_transform (Clutter.ColorState target_color_state, float input, float output, int n_samples);
+		public virtual bool equals (Clutter.ColorState other_color_state);
+		public virtual Clutter.ColorState get_blending (bool force);
+#else
 		public bool equals (Clutter.ColorState other_color_state);
 		[CCode (has_construct_function = false)]
 		public ColorState.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, float min_lum, float max_lum, float ref_lum);
 		public Clutter.ColorState get_blending (bool force);
+#endif
 #else
 		public ColorState (Clutter.Colorspace colorspace);
 #endif
+#if !HAS_MUTTER48
 		public Clutter.Colorspace get_colorspace ();
+#endif
 #if HAS_MUTTER47
 		public uint get_id ();
+#if HAS_MUTTER48
+		[NoWrapper]
+		public virtual void init_color_transform_key (Clutter.ColorState target_color_state, Clutter.ColorTransformKey key);
+		public virtual Clutter.EncodingRequiredFormat required_format ();
+		public virtual string to_string ();
+		public virtual void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
+#else
 		public void get_luminances (float min_lum_out, float max_lum_out, float ref_lum_out);
 		public Clutter.TransferFunction get_transfer_function ();
 		public Clutter.EncodingRequiredFormat required_format ();
 		public string to_string ();
 		public void update_uniforms (Clutter.ColorState target_color_state, Cogl.Pipeline pipeline);
 #endif
+#endif
+#if !HAS_MUTTER48
 		public Clutter.Colorspace colorspace { get; construct; }
+#endif
 #if HAS_MUTTER47
 		[NoAccessorMethod]
 		public Clutter.Context context { owned get; construct; }
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public float max_luminance { get; construct; }
 		[NoAccessorMethod]
@@ -5434,6 +5922,24 @@
 		public float ref_luminance { get; construct; }
 		public Clutter.TransferFunction transfer_function { get; construct; }
 #endif
+#endif
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_color_state_params_get_type ()")]
+	public class ColorStateParams : Clutter.ColorState {
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function);
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams.from_primitives (Clutter.Context context, Clutter.Colorimetry colorimetry, Clutter.EOTF eotf, Clutter.Luminance luminance);
+		[CCode (has_construct_function = false, type = "ClutterColorState*")]
+		public ColorStateParams.full (Clutter.Context context, Clutter.Colorspace colorspace, Clutter.TransferFunction transfer_function, Clutter.Primaries primaries, float gamma_exp, float min_lum, float max_lum, float ref_lum);
+		public unowned Clutter.Colorimetry? get_colorimetry ();
+		public unowned Clutter.EOTF? get_eotf ();
+		public unowned Clutter.Luminance? get_luminance ();
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ColorTransformKey {
 	}
 #endif
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_colorize_effect_get_type ()")]
@@ -5481,20 +5987,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class CrossingEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-		public weak Clutter.Actor related;
-		public weak Clutter.EventSequence sequence;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_deform_effect_get_type ()")]
 	public abstract class DeformEffect : Clutter.OffscreenEffect {
@@ -5544,16 +6036,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class DeviceEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_effect_get_type ()")]
 	public abstract class Effect : Clutter.ActorMeta {
@@ -5576,9 +6058,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_get_type ()")]
 	[Compact]
 	public class Event {
-#if !HAS_MUTTER45
-		public Clutter.EventType type;
-#endif
 #if !HAS_MUTTER46
 		[CCode (has_construct_function = false)]
 		public Event (Clutter.EventType type);
@@ -5603,12 +6082,10 @@
 		public Clutter.TouchpadGesturePhase get_gesture_phase ();
 		public double get_gesture_pinch_angle_delta ();
 		public double get_gesture_pinch_scale ();
-#if HAS_MUTTER45
 		public uint32 get_im_delete_length ();
 		public bool get_im_location (int32 offset, int32 anchor);
 		public Clutter.PreeditResetMode get_im_preedit_reset_mode ();
 		public unowned string get_im_text ();
-#endif
 		public uint16 get_key_code ();
 #if HAS_MUTTER46
 		public void get_key_state (out Clutter.ModifierType pressed, out Clutter.ModifierType latched, out Clutter.ModifierType locked);
@@ -5616,18 +6093,10 @@
 		public uint get_key_symbol ();
 		public unichar get_key_unicode ();
 		public uint get_mode_group ();
-#if HAS_MUTTER45
 		public bool get_pad_details (out uint number, out uint mode, out Clutter.InputDevicePadSource source, out double value);
-#else
-		public bool get_pad_event_details (out uint number, out uint mode, out double value);
-#endif
 		public Graphene.Point get_position ();
 		public unowned Clutter.Actor get_related ();
-#if HAS_MUTTER45
 		public bool get_relative_motion (double dx, double dy, double dx_unaccel, double dy_unaccel, double dx_constrained, double dy_constrained);
-#else
-		public bool get_relative_motion (double dx, double dy, double dx_unaccel, double dy_unaccel);
-#endif
 		public void get_scroll_delta (out double dx, out double dy);
 		public Clutter.ScrollDirection get_scroll_direction ();
 		public Clutter.ScrollFinishFlags get_scroll_finish_flags ();
@@ -5636,13 +6105,7 @@
 		public unowned Clutter.Actor get_source ();
 #endif
 		public unowned Clutter.InputDevice get_source_device ();
-#if !HAS_MUTTER45
-		public unowned Clutter.Stage get_stage ();
-#endif
 		public Clutter.ModifierType get_state ();
-#if !HAS_MUTTER45
-		public void get_state_full (out Clutter.ModifierType button_state, out Clutter.ModifierType base_state, out Clutter.ModifierType latched_state, out Clutter.ModifierType locked_state, out Clutter.ModifierType effective_state);
-#endif
 		public uint32 get_time ();
 		public int64 get_time_us ();
 		public uint get_touchpad_gesture_finger_count ();
@@ -5653,24 +6116,6 @@
 		public bool is_pointer_emulated ();
 		public void put ();
 		public static void remove_filter (uint id);
-#if !HAS_MUTTER45
-		public void set_button (uint32 button);
-		public void set_coords (float x, float y);
-		public void set_device (Clutter.InputDevice? device);
-		public void set_device_tool (Clutter.InputDeviceTool? tool);
-		public void set_flags (Clutter.EventFlags flags);
-		public void set_key_code (uint16 key_code);
-		public void set_key_symbol (uint key_sym);
-		public void set_key_unicode (unichar key_unicode);
-		public void set_related (Clutter.Actor? actor);
-		public void set_scroll_delta (double dx, double dy);
-		public void set_scroll_direction (Clutter.ScrollDirection direction);
-		public void set_source (Clutter.Actor? actor);
-		public void set_source_device (Clutter.InputDevice? device);
-		public void set_stage (Clutter.Stage? stage);
-		public void set_state (Clutter.ModifierType state);
-		public void set_time (uint32 time_);
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_event_sequence_get_type ()")]
 	[Compact]
@@ -5730,35 +6175,28 @@
 		public float row_spacing { get; set; }
 		public bool snap_to_grid { get; set; }
 	}
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "clutter/clutter.h", ref_function = "clutter_frame_ref", type_id = "clutter_frame_get_type ()", unref_function = "clutter_frame_unref")]
-#else
-	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
-#endif
 	[Compact]
 	public class Frame {
-#if HAS_MUTTER44
 		public int64 get_count ();
 #if HAS_MUTTER46
 		public bool get_frame_deadline (int64 frame_deadline_us);
-#elif HAS_MUTTER45
+#else
 		public bool get_min_render_time_allowed (int64 min_render_time_allowed_us);
 #endif
 		public bool get_target_presentation_time (int64 target_presentation_time_us);
-#endif
 		public bool has_result ();
-#if HAS_MUTTER44
 		public unowned Clutter.Frame @ref ();
-#endif
 		public void set_result (Clutter.FrameResult result);
-#if HAS_MUTTER44
 		public void unref ();
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_frame_clock_get_type ()")]
 	public sealed class FrameClock : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected FrameClock ();
+#if HAS_MUTTER48
+		public void add_future_time (int64 when_us);
+#endif
 		public void add_timeline (Clutter.Timeline timeline);
 		public GLib.StringBuilder get_max_render_time_debug_info ();
 		public float get_refresh_rate ();
@@ -5889,50 +6327,28 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class IMEvent : Clutter.Event {
-#if !HAS_MUTTER45
-#if HAS_MUTTER44
-		public int32 anchor;
-#endif
-		public Clutter.EventFlags flags;
-		public uint32 len;
-		public Clutter.PreeditResetMode mode;
-		public int32 offset;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public weak string text;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_image_get_type ()")]
 	public class Image : GLib.Object, Clutter.Content {
 		[CCode (has_construct_function = false, type = "ClutterContent*")]
 		public Image ();
 		public unowned Cogl.Texture get_texture ();
-#if HAS_MUTTER45
 		public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, Mtk.Rectangle rect, uint row_stride) throws GLib.Error;
-#else
-		public bool set_area ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, Cairo.RectangleInt rect, uint row_stride) throws GLib.Error;
-#endif
 		public bool set_bytes (GLib.Bytes data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
 		public bool set_data ([CCode (array_length = false)] uint8[] data, Cogl.PixelFormat pixel_format, uint width, uint height, uint row_stride) throws GLib.Error;
 	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_device_get_type ()")]
 	public class InputDevice : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected InputDevice ();
-#if HAS_MUTTER43
 		public Clutter.InputCapabilities get_capabilities ();
-#endif
 		public Clutter.InputMode get_device_mode ();
 		public unowned string get_device_name ();
 		public unowned string get_device_node ();
 		public Clutter.InputDeviceType get_device_type ();
-#if HAS_MUTTER44
 		public virtual bool get_dimensions (out uint width, out uint height);
-#endif
 		public virtual int get_group_n_modes (int group);
 		public bool get_has_cursor ();
 		public int get_mode_switch_button_group (uint button);
@@ -5945,18 +6361,9 @@
 		public unowned string get_product_id ();
 		public unowned Clutter.Seat get_seat ();
 		public unowned string get_vendor_id ();
-#if !HAS_MUTTER44
-		public void grab (Clutter.Actor actor);
-#endif
 		public virtual bool is_grouped (Clutter.InputDevice other_device);
 		public virtual bool is_mode_switch_button (uint group, uint button);
-#if !HAS_MUTTER44
-		[NoAccessorMethod]
-		public Clutter.Backend backend { owned get; construct; }
-#endif
-#if HAS_MUTTER43
 		public Clutter.InputCapabilities capabilities { get; construct; }
-#endif
 		public Clutter.InputMode device_mode { get; construct; }
 		public string device_node { get; construct; }
 		public Clutter.InputDeviceType device_type { get; construct; }
@@ -5999,9 +6406,7 @@
 		[NoWrapper]
 		public virtual void focus_out ();
 		public bool is_focused ();
-#if HAS_MUTTER45
 		public bool process_event (Clutter.Event event);
-#endif
 		[NoWrapper]
 		public virtual void request_surrounding ();
 		public void reset ();
@@ -6011,11 +6416,7 @@
 		public void set_cursor_location (Graphene.Rect rect);
 		public void set_input_panel_state (Clutter.InputPanelState state);
 		[NoWrapper]
-#if HAS_MUTTER44
 		public virtual void set_preedit_text (string preedit, uint cursor, uint anchor);
-#else
-		public virtual void set_preedit_text (string preedit, uint cursor);
-#endif
 		public void set_surrounding (string text, uint cursor, uint anchor);
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_input_method_get_type ()")]
@@ -6033,11 +6434,7 @@
 		[NoWrapper]
 		public virtual void set_cursor_location (Graphene.Rect rect);
 		public void set_input_panel_state (Clutter.InputPanelState state);
-#if HAS_MUTTER44
 		public void set_preedit_text (string? preedit, uint cursor, uint anchor, Clutter.PreeditResetMode mode);
-#else
-		public void set_preedit_text (string? preedit, uint cursor, Clutter.PreeditResetMode mode);
-#endif
 		[NoWrapper]
 		public virtual void set_surrounding (string text, uint cursor, uint anchor);
 		[NoWrapper]
@@ -6095,21 +6492,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class KeyEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public weak Clutter.InputDevice device;
-		public uint32 evdev_code;
-		public Clutter.EventFlags flags;
-		public uint16 hardware_keycode;
-		public uint keyval;
-		public Clutter.ModifierType modifier_state;
-#if HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public unichar unicode_value;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_keyframe_transition_get_type ()")]
 #if HAS_MUTTER46
@@ -6223,25 +6605,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class MotionEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public double axes;
-		public weak Clutter.InputDevice device;
-		public double dx;
-		public double dx_unaccel;
-		public double dy;
-		public double dy_unaccel;
-		public Clutter.EventFlags flags;
-		public Clutter.ModifierType modifier_state;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public int64 time_us;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_offscreen_effect_get_type ()")]
 	public abstract class OffscreenEffect : Clutter.Effect {
@@ -6255,7 +6618,6 @@
 		public virtual Cogl.Handle create_texture (float width, float height);
 #endif
 		public unowned Cogl.Pipeline? get_pipeline ();
-		[Version (deprecated = true, deprecated_since = "1.14")]
 		public bool get_target_size (out float width, out float height);
 #if HAS_MUTTER46
 		public unowned Cogl.Texture get_texture ();
@@ -6267,57 +6629,14 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class PadButtonEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public uint32 button;
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-		public uint32 group;
-		public uint32 mode;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class PadRingEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public double angle;
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-		public uint32 group;
-		public uint32 mode;
-		public uint32 ring_number;
-		public Clutter.InputDevicePadSource ring_source;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class PadStripEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-		public uint32 group;
-		public uint32 mode;
-#if !HAS_MUTTER44
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 strip_number;
-		public Clutter.InputDevicePadSource strip_source;
-		public uint32 time;
-		public Clutter.EventType type;
-		public double value;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_page_turn_effect_get_type ()")]
 	public class PageTurnEffect : Clutter.DeformEffect {
@@ -6347,10 +6666,10 @@
 		public void pop_color_state ();
 #endif
 		public void pop_framebuffer ();
-		public void push_framebuffer (Cogl.Framebuffer framebuffer);
 #if HAS_MUTTER47
 		public void push_color_state (Clutter.ColorState color_state);
 #endif
+		public void push_framebuffer (Cogl.Framebuffer framebuffer);
 		public unowned Clutter.PaintContext @ref ();
 		public void unref ();
 	}
@@ -6368,6 +6687,9 @@
 		public void paint (Clutter.PaintContext paint_context);
 		public unowned Clutter.PaintNode @ref ();
 		public void set_name (string name);
+#if HAS_MUTTER48
+		public void set_static_name (string name);
+#endif
 		public void unref ();
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_pan_action_get_type ()")]
@@ -6404,9 +6726,6 @@
 	public class Path : GLib.InitiallyUnowned {
 		[CCode (has_construct_function = false)]
 		public Path ();
-#if !HAS_MUTTER45
-		public void add_cairo_path (Cairo.Path cpath);
-#endif
 		public void add_close ();
 		public void add_curve_to (int x_1, int y_1, int x_2, int y_2, int x_3, int y_3);
 		public void add_line_to (int x, int y);
@@ -6428,9 +6747,6 @@
 		public void remove_node (uint index_);
 		public void replace_node (uint index_, Clutter.PathNode node);
 		public bool set_description (string str);
-#if !HAS_MUTTER45
-		public void to_cairo_path (Cairo.Context cr);
-#endif
 		[CCode (has_construct_function = false)]
 		public Path.with_description (string desc);
 		public string description { owned get; set; }
@@ -6494,21 +6810,13 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class ProximityEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_root_node_get_type ()")]
 	public class RootNode : Clutter.PaintNode {
 		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
-#if HAS_MUTTER47
+#if HAS_MUTTER48
+		public RootNode (Cogl.Framebuffer framebuffer, Clutter.ColorState color_state, Cogl.Color clear_color, Cogl.BufferBit clear_flags);
+#elif HAS_MUTTER47
 		public RootNode (Cogl.Framebuffer framebuffer, Cogl.Color clear_color, Cogl.BufferBit clear_flags);
 #else
 		public RootNode (Cogl.Framebuffer framebuffer, Clutter.Color clear_color, Cogl.BufferBit clear_flags);
@@ -6547,6 +6855,12 @@
 		public string translation_domain { get; set; }
 	}
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	[Compact]
+	public class ScrollActor {
+	}
+#endif
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_scroll_actor_get_type ()")]
 #if HAS_MUTTER46
@@ -6566,23 +6880,6 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class ScrollEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public double axes;
-		public weak Clutter.InputDevice device;
-		public Clutter.ScrollDirection direction;
-		public Clutter.ScrollFinishFlags finish_flags;
-		public Clutter.EventFlags flags;
-		public Clutter.ModifierType modifier_state;
-		public Clutter.ScrollSource scroll_source;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_seat_get_type ()")]
 	public abstract class Seat : GLib.Object {
@@ -6596,20 +6893,19 @@
 #endif
 		public virtual unowned Clutter.InputDevice get_keyboard ();
 		public virtual unowned Clutter.Keymap get_keymap ();
-#if HAS_MUTTER45
 		public unowned string get_name ();
-#endif
 		public virtual unowned Clutter.InputDevice get_pointer ();
 		public void get_pointer_a11y_settings (Clutter.PointerA11ySettings settings);
 		public bool get_touch_mode ();
 		[NoWrapper]
 		public virtual Clutter.GrabState grab (uint32 time);
+#if HAS_MUTTER48
+		[NoWrapper]
+#endif
 		public virtual bool handle_event_post (Clutter.Event event);
 		public void inhibit_unfocus ();
-#if HAS_MUTTER45
 		[NoWrapper]
 		public virtual void init_pointer_position (float x, float y);
-#endif
 		public bool is_unfocus_inhibited ();
 		public GLib.List<weak Clutter.InputDevice> list_devices ();
 		public virtual bool query_state (Clutter.InputDevice device, Clutter.EventSequence? sequence, out Graphene.Point coords, out Clutter.ModifierType modifiers);
@@ -6622,9 +6918,7 @@
 #if HAS_MUTTER47
 		public Clutter.Context context { get; construct; }
 #endif
-#if HAS_MUTTER45
 		public string name { get; construct; }
-#endif
 		public bool touch_mode { get; }
 		public signal void device_added (Clutter.InputDevice object);
 		public signal void device_removed (Clutter.InputDevice object);
@@ -6640,29 +6934,30 @@
 		[CCode (has_construct_function = false)]
 		protected Settings ();
 		public static unowned Clutter.Settings get_default ();
-#if !HAS_MUTTER45
-		[NoAccessorMethod]
-		[Version (deprecated = true, deprecated_since = "1.10")]
-		public Clutter.Backend backend { construct; }
-#endif
 		[NoAccessorMethod]
 		public int dnd_drag_threshold { get; set; }
 		[NoAccessorMethod]
 		public int double_click_distance { get; set; }
 		[NoAccessorMethod]
 		public int double_click_time { get; set; }
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public int font_antialias { get; set; }
+#endif
 		[NoAccessorMethod]
 		public int font_dpi { get; set; }
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public string font_hint_style { owned get; set; }
 		[NoAccessorMethod]
 		public int font_hinting { get; set; }
+#endif
 		[NoAccessorMethod]
 		public string font_name { owned get; set; }
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public string font_subpixel_order { owned get; set; }
+#endif
 #if !HAS_MUTTER47
 		[NoAccessorMethod]
 		public uint fontconfig_timestamp { set; }
@@ -6671,8 +6966,10 @@
 		public int long_press_duration { get; set; }
 		[NoAccessorMethod]
 		public uint password_hint_time { get; set; }
+#if !HAS_MUTTER48
 		[NoAccessorMethod]
 		public int unscaled_font_dpi { set; }
+#endif
 	}
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
@@ -6683,7 +6980,11 @@
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_effect_get_type ()")]
 	public class ShaderEffect : Clutter.OffscreenEffect {
 		[CCode (has_construct_function = false, type = "ClutterEffect*")]
+#if HAS_MUTTER48
+		public ShaderEffect (Cogl.ShaderType shader_type);
+#else
 		public ShaderEffect (Clutter.ShaderType shader_type);
+#endif
 #if HAS_MUTTER46
 		public unowned Cogl.Program get_program ();
 		public unowned Cogl.Shader get_shader ();
@@ -6696,7 +6997,11 @@
 		public bool set_shader_source (string source);
 		public void set_uniform_value (string name, GLib.Value value);
 		[NoAccessorMethod]
+#if HAS_MUTTER48
+		public Cogl.ShaderType shader_type { construct; }
+#else
 		public Clutter.ShaderType shader_type { construct; }
+#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_shader_float_get_type ()")]
 	public class ShaderFloat {
@@ -6738,106 +7043,72 @@
 #endif
 		[CCode (has_construct_function = false)]
 		protected Stage ();
-#if HAS_MUTTER45
+#if !HAS_MUTTER48
 		public void capture_view_into (Clutter.StageView view, Mtk.Rectangle rect, uint8 data, int stride);
-#else
-		public void capture_view_into (Clutter.StageView view, Cairo.RectangleInt rect, uint8 data, int stride);
-#endif
 		public void clear_stage_views ();
-#if !HAS_MUTTER45
-		[CCode (cname = "clutter_stage_event")]
-		public bool emit_event (Clutter.Event event);
 #endif
 		public void ensure_viewport ();
 		public unowned Clutter.Actor get_actor_at_pos (Clutter.PickMode pick_mode, float x, float y);
-#if HAS_MUTTER45
 		public bool get_capture_final_size (Mtk.Rectangle rect, out int out_width, out int out_height, out float out_scale);
-#else
-		public bool get_capture_final_size (Cairo.RectangleInt rect, out int out_width, out int out_height, out float out_scale);
-#endif
 		public unowned Clutter.Actor? get_device_actor (Clutter.InputDevice device, Clutter.EventSequence? sequence);
-#if HAS_MUTTER43
 		public unowned Clutter.Actor? get_event_actor (Clutter.Event event);
-#endif
+#if !HAS_MUTTER48
 		public int64 get_frame_counter ();
+#endif
 		public unowned Clutter.Actor? get_grab_actor ();
-		public unowned Clutter.Actor get_key_focus ();
+		public unowned Clutter.Actor? get_key_focus ();
 		public Clutter.Perspective get_perspective ();
-#if !HAS_MUTTER44
-		public bool get_throttle_motion_events ();
-#endif
+#if !HAS_MUTTER48
 		public unowned string get_title ();
+#endif
 		public Clutter.Grab grab (Clutter.Actor actor);
 #if HAS_MUTTER47
 		public Clutter.Grab grab_inactive (Clutter.Actor actor);
 #endif
-#if HAS_MUTTER45
 		public void handle_event (Clutter.Event event);
-#endif
 #if HAS_MUTTER47
 		public bool is_active ();
 #endif
-#if HAS_MUTTER45
 		public bool paint_to_buffer (Mtk.Rectangle rect, float scale, [CCode (array_length = false)] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
 		public Clutter.Content paint_to_content (Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error;
 		public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Mtk.Rectangle rect, float scale, Clutter.PaintFlag paint_flags);
 		public bool pointing_input_foreach (Clutter.StageInputForeachFunc func);
-#else
-		public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, [CCode (array_length = false)] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
-		public Clutter.Content paint_to_content (Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error;
-		public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags);
-#endif
 		[CCode (array_length = false)]
 		public uint8[] read_pixels (int x, int y, int width = -1, int height = -1);
+#if !HAS_MUTTER48
 		public void repick_device (Clutter.InputDevice device);
+#endif
 		public void schedule_update ();
 #if HAS_MUTTER47
 		public void set_active (bool is_active);
 #endif
 		public void set_key_focus (Clutter.Actor? actor);
 		public void set_minimum_size (uint width, uint height);
-#if !HAS_MUTTER44
-		public void set_throttle_motion_events (bool throttle);
-#endif
+#if !HAS_MUTTER48
 		public void set_title (string title);
 #if HAS_MUTTER46
 		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Mtk.Region region, bool emit_crossing);
-#elif HAS_MUTTER44
-		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
 #else
-		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
+		public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Clutter.InputDevice source_device, Graphene.Point point, uint32 time, Clutter.Actor new_actor, Cairo.Region region, bool emit_crossing);
+#endif
 #endif
-#if HAS_MUTTER45	
 		[NoAccessorMethod]
 		public bool is_grabbed { get; }
-#endif
 		public Clutter.Actor key_focus { get; set; }
 		public Clutter.Perspective perspective { get; }
+#if !HAS_MUTTER48
 		public string title { get; set; }
 		public virtual signal void activate ();
-#if HAS_MUTTER44
+#endif
 		public signal void after_paint (Clutter.StageView view, Clutter.Frame frame);
 		public signal void after_update (Clutter.StageView view, Clutter.Frame frame);
 		public virtual signal void before_paint (Clutter.StageView view, Clutter.Frame frame);
 		public signal void before_update (Clutter.StageView view, Clutter.Frame frame);
-#else
-		public signal void after_paint (Clutter.StageView view);
-		public signal void after_update (Clutter.StageView view);
-		public virtual signal void before_paint (Clutter.StageView view);
-		public signal void before_update (Clutter.StageView view);
-#endif
-#if HAS_MUTTER45 && !HAS_MUTTER47
 		public virtual signal void deactivate ();
-#endif
-#if HAS_MUTTER44
 		public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip, Clutter.Frame frame);
 		public signal void prepare_frame (Clutter.StageView view, Clutter.Frame frame);
-#else
-		public virtual signal void deactivate ();
-		public virtual signal void paint_view (Clutter.StageView view, Cairo.Region redraw_clip);
-#if HAS_MUTTER43
-		public signal void prepare_frame (Clutter.StageView view);
-#endif
+#if HAS_MUTTER48
+		public virtual signal void skipped_paint (Clutter.StageView view, Clutter.Frame frame);
 #endif
 	}
 #if !HAS_MUTTER47
@@ -6858,18 +7129,12 @@
 	public class StageView : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected StageView ();
+#if !HAS_MUTTER48
 		public void assign_next_scanout (Cogl.Scanout scanout);
-#if HAS_MUTTER45
-		public virtual Clutter.PaintFlag get_default_paint_flags ();
-#else
-		public void destroy ();
 #endif
+		public virtual Clutter.PaintFlag get_default_paint_flags ();
 		public unowned Cogl.Framebuffer get_framebuffer ();
-#if HAS_MUTTER45	
 		public void get_layout (Mtk.Rectangle rect);
-#else
-		public void get_layout (Cairo.RectangleInt rect);
-#endif
 #if HAS_MUTTER47
 		public void get_offscreen_transformation_matrix (Graphene.Matrix matrix);
 #else
@@ -6881,11 +7146,10 @@
 #if HAS_MUTTER47
 		public Mtk.MonitorTransform get_transform ();
 #endif
-#if HAS_MUTTER44
 		public bool has_shadowfb ();
-#endif
+#if !HAS_MUTTER48
 		public void invalidate_offscreen_blit_pipeline ();
-#if HAS_MUTTER45
+#endif
 		[NoWrapper]
 		public virtual Clutter.Frame new_frame ();
 #if HAS_MUTTER47
@@ -6893,7 +7157,6 @@
 		public virtual void schedule_update ();
 #endif
 		public void schedule_update_now ();
-#endif
 #if !HAS_MUTTER47
 		[NoWrapper]
 #if HAS_MUTTER46
@@ -6902,11 +7165,7 @@
 		public virtual void setup_offscreen_blit_pipeline (Cogl.Pipeline pipeline);
 #endif
 		[NoWrapper]
-#if HAS_MUTTER45	
 		public virtual void transform_rect_to_onscreen (Mtk.Rectangle src_rect, int dst_width, int dst_height, Mtk.Rectangle dst_rect);
-#else
-		public virtual void transform_rect_to_onscreen (Cairo.RectangleInt src_rect, int dst_width, int dst_height, Cairo.RectangleInt dst_rect);
-#endif
 #endif
 #if HAS_MUTTER47
 		[NoAccessorMethod]
@@ -6936,10 +7195,8 @@
 		public bool use_shadowfb { get; construct; }
 		[NoAccessorMethod]
 		public int64 vblank_duration_us { get; construct; }
-#if HAS_MUTTER45
 		[HasEmitter]
 		public signal void destroy ();
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_swipe_action_get_type ()")]
 	public class SwipeAction : Clutter.GestureAction {
@@ -6961,7 +7218,11 @@
 		public TapAction ();
 		public virtual signal void tap (Clutter.Actor actor);
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_get_type ()")]
+#else
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_get_type ()")]
+#endif
 #if HAS_MUTTER46
 	public class Text : Clutter.Actor, Atk.Implementor, Clutter.Animatable {
 #else
@@ -7137,7 +7398,11 @@
 		public signal void delete_text (int start_pos, int end_pos);
 		public virtual signal void text_changed ();
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_buffer_get_type ()")]
+#else
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_buffer_get_type ()")]
+#endif
 	public class TextBuffer : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public TextBuffer ();
@@ -7162,7 +7427,11 @@
 		public virtual signal void deleted_text (uint position, uint n_chars);
 		public virtual signal void inserted_text (uint position, string chars, uint n_chars);
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter-pango.h", type_id = "clutter_text_node_get_type ()")]
+#else
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_text_node_get_type ()")]
+#endif
 	public class TextNode : Clutter.PaintNode {
 		[CCode (has_construct_function = false, type = "ClutterPaintNode*")]
 #if HAS_MUTTER47
@@ -7176,11 +7445,7 @@
 		[CCode (has_construct_function = false)]
 		protected TextureContent ();
 		[CCode (has_construct_function = false, type = "ClutterContent*")]
-#if HAS_MUTTER45
 		public TextureContent.from_texture (Cogl.Texture texture, Mtk.Rectangle? clip);
-#else
-		public TextureContent.from_texture (Cogl.Texture texture, Cairo.RectangleInt? clip);
-#endif
 		public unowned Cogl.Texture get_texture ();
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_texture_node_get_type ()")]
@@ -7266,82 +7531,18 @@
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class TouchEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public double axes;
-		public weak Clutter.InputDevice device;
-		public Clutter.EventFlags flags;
-		public Clutter.ModifierType modifier_state;
-		public weak Clutter.EventSequence sequence;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class TouchpadHoldEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public Clutter.EventFlags flags;
-		public uint32 n_fingers;
-		public Clutter.TouchpadGesturePhase phase;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class TouchpadPinchEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public float angle_delta;
-		public float dx;
-		public float dx_unaccel;
-		public float dy;
-		public float dy_unaccel;
-		public Clutter.EventFlags flags;
-		public uint n_fingers;
-		public Clutter.TouchpadGesturePhase phase;
-		public float scale;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	[Compact]
 	public class TouchpadSwipeEvent : Clutter.Event {
-#if !HAS_MUTTER45
-		public float dx;
-		public float dx_unaccel;
-		public float dy;
-		public float dy_unaccel;
-		public Clutter.EventFlags flags;
-		public uint n_fingers;
-		public Clutter.TouchpadGesturePhase phase;
-#if !HAS_MUTTER43
-		public weak Clutter.Actor source;
-#endif
-		public weak Clutter.Stage stage;
-		public uint32 time;
-		public Clutter.EventType type;
-		public float x;
-		public float y;
-#endif
 	}
 	[CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_transform_node_get_type ()")]
 	public class TransformNode : Clutter.PaintNode {
@@ -7421,6 +7622,7 @@
 		public abstract bool interpolate_value (string property_name, Clutter.Interval interval, double progress, out GLib.Value value);
 		public abstract void set_final_state (string property_name, GLib.Value value);
 	}
+#if !HAS_MUTTER48
 #if HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h")]
 #else
@@ -7459,6 +7661,7 @@
 		public virtual signal void child_notify (Clutter.Actor child, GLib.ParamSpec pspec);
 #endif
 	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterContentInterface", type_id = "clutter_content_get_type ()")]
 	public interface Content : GLib.Object {
 		public abstract bool get_preferred_size (out float width, out float height);
@@ -7515,17 +7718,37 @@
 		public bool prev (out unowned Clutter.Actor? child);
 		public void remove ();
 	}
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)]
 	public struct Capture {
 #if !HAS_MUTTER46
 		public Cairo.ImageSurface image;
-#if HAS_MUTTER45
 		public Mtk.Rectangle rect;
-#else
-		public Cairo.RectangleInt rect;
 #endif
+	}
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Colorimetry {
+		public Clutter.ColorimetryType type;
+		public Clutter.Colorspace colorspace;
+		public Clutter.Primaries primaries;
+	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct EOTF {
+		public Clutter.EOTFType type;
+		public Clutter.TransferFunction tf_name;
+		public float gamma_exp;
+		public unowned Clutter.Luminance? get_default_luminance ();
 	}
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Luminance {
+		public Clutter.LuminanceType type;
+		public float min;
+		public float max;
+		public float @ref;
+	}
+#endif
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "clutter/clutter.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "clutter_color_get_type ()")]
 	public struct Color {
@@ -7661,6 +7884,20 @@
 		public int dwell_delay;
 		public int dwell_threshold;
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
+	public struct Primaries {
+		public float r_x;
+		public float r_y;
+		public float g_x;
+		public float g_y;
+		public float b_x;
+		public float b_y;
+		public float w_x;
+		public float w_y;
+		public void ensure_normalized_range ();
+	}
+#endif
 #if HAS_MUTTER47
 	[CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)]
 	public struct TextureVertex {
@@ -7672,6 +7909,7 @@
 		public Cogl.Color color;
 	}
 #endif
+#if !HAS_MUTTER48
 #if HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h")]
 #else
@@ -7703,6 +7941,7 @@
 		public string to_string ();
 #endif
 	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ACTOR_ALIGN_", type_id = "clutter_actor_align_get_type ()")]
 	public enum ActorAlign {
 		FILL,
@@ -7808,7 +8047,13 @@
 		RELEASED,
 		PRESSED
 	}
-#if HAS_MUTTER43
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORIMETRY_TYPE_", type_id = "clutter_colorimetry_type_get_type ()")]
+	public enum ColorimetryType {
+		COLORSPACE,
+		PRIMARIES
+	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_COLORSPACE_", type_id = "clutter_colorspace_get_type ()")]
 	public enum Colorspace {
 #if HAS_MUTTER47
@@ -7817,9 +8062,14 @@
 		UNKNOWN,
 #endif
 		SRGB,
+#if HAS_MUTTER48
+		BT2020,
+		NTSC;
+		public unowned Clutter.Primaries? to_primaries ();
+#else
 		BT2020
-	}
 #endif
+	}
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTENT_GRAVITY_", type_id = "clutter_content_gravity_get_type ()")]
 	public enum ContentGravity {
 		TOP_LEFT,
@@ -7842,6 +8092,7 @@
 		Y_AXIS,
 		BOTH
 	}
+#if !HAS_MUTTER48
 #if HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_CONTEXT_FLAG_", type_id = "clutter_context_flags_get_type ()")]
 	[Flags]
@@ -7850,6 +8101,7 @@
 		NO_A11Y
 	}
 #endif
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_DEBUG_", type_id = "clutter_debug_flag_get_type ()")]
 	[Flags]
 	public enum DebugFlag {
@@ -7871,13 +8123,11 @@
 		CLIPPING,
 		OOB_TRANSFORMS,
 		FRAME_TIMINGS,
-#if HAS_MUTTER45
 		GRABS,
 		FRAME_CLOCK,
 #if HAS_MUTTER47
 		GESTURES,
 #endif
-#endif
 		DETAILED_TRACE
 	}
 #if !HAS_MUTTER46
@@ -7901,8 +8151,18 @@
 		PAINT_DEFORM_TILES,
 		PAINT_DAMAGE_REGION,
 		DISABLE_DYNAMIC_MAX_RENDER_TIME,
+#if HAS_MUTTER48
+		DISABLE_TRIPLE_BUFFERING,
+#endif
 		PAINT_MAX_RENDER_TIME
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EOTF_TYPE_", type_id = "clutter_eotf_type_get_type ()")]
+	public enum EOTFType {
+		NAMED,
+		GAMMA
+	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_EFFECT_PAINT_", type_id = "clutter_effect_paint_flags_get_type ()")]
 	[Flags]
 	public enum EffectPaintFlags {
@@ -7925,8 +8185,9 @@
 		FLAG_INPUT_METHOD,
 		FLAG_REPEATED,
 		FLAG_RELATIVE_MOTION,
-#if HAS_MUTTER45
 		FLAG_POINTER_EMULATED,
+#if HAS_MUTTER48
+		FLAG_A11Y_MODIFIER_FIRST_CLICK,
 #endif
 		FLAG_GRAB_NOTIFY
 	}
@@ -7966,13 +8227,6 @@
 		IM_PREEDIT,
 		EVENT_LAST
 	}
-#if !HAS_MUTTER43
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FEATURE_", type_id = "clutter_feature_flags_get_type ()")]
-	[Flags]
-	public enum FeatureFlags {
-		SHADERS_GLSL
-	}
-#endif
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FLOW_", type_id = "clutter_flow_orientation_get_type ()")]
 	public enum FlowOrientation {
@@ -8031,22 +8285,6 @@
 		KEYBOARD,
 		ALL
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRAVITY_", type_id = "clutter_gravity_get_type ()")]
-	[Version (deprecated = true, deprecated_since = "1.22")]
-	public enum Gravity {
-		NONE,
-		NORTH,
-		NORTH_EAST,
-		EAST,
-		SOUTH_EAST,
-		SOUTH,
-		SOUTH_WEST,
-		WEST,
-		NORTH_WEST,
-		CENTER
-	}
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRID_POSITION_", type_id = "clutter_grid_position_get_type ()")]
 	public enum GridPosition {
 		LEFT,
@@ -8082,7 +8320,6 @@
 		ROTATION,
 		SLIDER
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_CAPABILITY_", type_id = "clutter_input_capabilities_get_type ()")]
 	[Flags]
 	public enum InputCapabilities {
@@ -8092,13 +8329,10 @@
 		TOUCHPAD,
 		TOUCH,
 		TABLET_TOOL,
-#if HAS_MUTTER44
 		TRACKBALL,
 		TRACKPOINT,
-#endif
 		TABLET_PAD
 	}
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_CONTENT_HINT_", type_id = "clutter_input_content_hint_flags_get_type ()")]
 	[Flags]
 	public enum InputContentHintFlags {
@@ -8178,14 +8412,6 @@
 		ON,
 		TOGGLE
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INTERPOLATION_", type_id = "clutter_interpolation_get_type ()")]
-	[Version (deprecated = true, deprecated_since = "1.22")]
-	public enum Interpolation {
-		LINEAR,
-		CUBIC
-	}
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_KEY_STATE_", type_id = "clutter_key_state_get_type ()")]
 	public enum KeyState {
 		RELEASED,
@@ -8197,6 +8423,13 @@
 		ACTIVATE,
 		CANCEL
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_LUMINANCE_TYPE_", type_id = "clutter_luminance_type_get_type ()")]
+	public enum LuminanceType {
+		DERIVED,
+		EXPLICIT
+	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_modifier_type_get_type ()")]
 	[Flags]
 	public enum ModifierType {
@@ -8347,14 +8580,6 @@
 		Y_AXIS,
 		Z_AXIS
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ROTATE_", type_id = "clutter_rotate_direction_get_type ()")]
-	[Version (deprecated = true, deprecated_since = "1.22")]
-	public enum RotateDirection {
-		CW,
-		CCW
-	}
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCALING_FILTER_", type_id = "clutter_scaling_filter_get_type ()")]
 	public enum ScalingFilter {
 		LINEAR,
@@ -8393,11 +8618,13 @@
 		FINGER,
 		CONTINUOUS
 	}
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_shader_type_get_type ()")]
 	public enum ShaderType {
 		VERTEX_SHADER,
 		FRAGMENT_SHADER
 	}
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SNAP_EDGE_", type_id = "clutter_snap_edge_get_type ()")]
 	public enum SnapEdge {
 		TOP,
@@ -8474,24 +8701,6 @@
 		LTR,
 		RTL
 	}
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_", type_id = "clutter_texture_flags_get_type ()")]
-	[Flags]
-	[Version (deprecated = true, deprecated_since = "1.22")]
-	public enum TextureFlags {
-		NONE,
-		RGB_FLAG_BGR,
-		RGB_FLAG_PREMULT,
-		YUV_FLAG_YUV2
-	}
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TEXTURE_QUALITY_", type_id = "clutter_texture_quality_get_type ()")]
-	[Version (deprecated = true, deprecated_since = "1.22")]
-	public enum TextureQuality {
-		LOW,
-		MEDIUM,
-		HIGH
-	}
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_TIMELINE_", type_id = "clutter_timeline_direction_get_type ()")]
 	public enum TimelineDirection {
 		FORWARD,
@@ -8510,8 +8719,13 @@
 		DEFAULT,
 		SRGB,
 		PQ,
+#if HAS_MUTTER48
+		BT709,
+		LINEAR
+#else
 		LINEAR;
 		public void get_default_luminances (out float min_lum_out, out float max_lum_out, out float ref_lum_out);
+#endif
 	}
 #endif
 #if !HAS_MUTTER46
@@ -8532,13 +8746,6 @@
 		POINTER,
 		TOUCHSCREEN
 	}
-#if !HAS_MUTTER43
-	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_IMAGE_ERROR_INVALID_", type_id = "clutter_image_error_get_type ()")]
-	public errordomain ImageError {
-		DATA;
-		public static GLib.Quark quark ();
-	}
-#endif
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_", type_id = "clutter_script_error_get_type ()")]
 	public errordomain ScriptError {
@@ -8556,13 +8763,8 @@
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
 	public delegate void Callback (Clutter.Actor actor);
 #endif
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 2.9)]
 	public delegate bool EventFilterFunc (Clutter.Event event, Clutter.Actor event_actor);
-#else
-	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
-	public delegate bool EventFilterFunc (Clutter.Event event);
-#endif
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 1.9)]
 	public delegate void PathCallback (Clutter.PathNode node);
@@ -8573,28 +8775,16 @@
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 6.9)]
 	public delegate void ScriptConnectFunc (Clutter.Script script, GLib.Object object, string signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
 #endif
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
 	public delegate bool StageInputForeachFunc (Clutter.Stage stage, Clutter.InputDevice device, Clutter.EventSequence sequence);
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", instance_pos = 3.9)]
 	public delegate double TimelineProgressFunc (Clutter.Timeline timeline, double elapsed, double total);
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_COGL")]
-	[Version (deprecated = true, deprecated_since = "1.10")]
-	public const string COGL;
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_CURRENT_TIME")]
 	public const int CURRENT_TIME;
 	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_EVENT_PROPAGATE")]
 	public const bool EVENT_PROPAGATE;
 	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_EVENT_STOP")]
 	public const bool EVENT_STOP;
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_FLAVOUR")]
-	[Version (deprecated = true, deprecated_since = "1.10")]
-	public const string FLAVOUR;
-#endif
 #if !HAS_MUTTER46
 	[CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PATH_RELATIVE")]
 	public const int PATH_RELATIVE;
@@ -8607,16 +8797,16 @@
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static void cairo_set_source_color (Cairo.Context cr, Clutter.Color color);
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void add_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+#endif
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static void debug_set_max_render_time_constant (int max_render_time_constant_us);
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static void disable_accessibility ();
 #endif
-#if !HAS_MUTTER45
-	[CCode (cheader_filename = "clutter/clutter.h")]
-	public static void do_event (Clutter.Event event);
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static bool events_pending ();
 	[CCode (cheader_filename = "clutter/clutter.h")]
@@ -8626,7 +8816,7 @@
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static uint32 get_current_event_time ();
 	[CCode (cheader_filename = "clutter/clutter.h")]
-	public static void get_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
+	public static void get_debug_flags (out Clutter.DebugFlag debug_flags, out Clutter.DrawDebugFlag draw_flags, out Clutter.PickDebugFlag pick_flags);
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static unowned Clutter.Backend get_default_backend ();
 	[CCode (cheader_filename = "clutter/clutter.h")]
@@ -8639,17 +8829,17 @@
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static unowned string get_script_id (GLib.Object gobject);
 #endif
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static Clutter.TextDirection get_text_direction ();
-#endif
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static uint32 keysym_to_unicode (uint keyval);
-#if HAS_MUTTER44
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static void keyval_convert_case (uint symbol, out uint lower, out uint upper);
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static unowned string? keyval_name (uint keyval);
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "clutter/clutter.h")]
+	public static void remove_debug_flags (Clutter.DebugFlag debug_flags, Clutter.DrawDebugFlag draw_flags, Clutter.PickDebugFlag pick_flags);
 #endif
 	[CCode (cheader_filename = "clutter/clutter.h")]
 	public static uint unicode_to_keysym (uint32 wc);
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-cogl-14.deps wingpanel-8.0.3/vapi/mutter-cogl-14.deps
--- wingpanel-8.0.3_orig/vapi/mutter-cogl-14.deps	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/mutter-cogl-14.deps	2025-09-02 19:01:23.344675839 +0200
@@ -2,3 +2,4 @@
 glib-2.0
 gio-2.0
 mutter-mtk-14
+x11
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-cogl-14.vapi wingpanel-8.0.3/vapi/mutter-cogl-14.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-cogl-14.vapi	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/mutter-cogl-14.vapi	2025-09-02 19:01:15.678014016 +0200
@@ -18,7 +18,7 @@
 		public const int STENCIL;
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_atlas_get_type ()")]
-	public class Atlas : GLib.Object {
+	public sealed class Atlas : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Atlas ();
 		public bool reserve_space (uint width, uint height, void* user_data);
@@ -38,7 +38,7 @@
 		public AtlasTexture.with_size (Cogl.Context ctx, int width, int height);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_attribute_get_type ()")]
-	public class Attribute : GLib.Object {
+	public sealed class Attribute : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Attribute (Cogl.AttributeBuffer attribute_buffer, string name, size_t stride, size_t offset, int components, Cogl.AttributeType type);
 #if !HAS_MUTTER47
@@ -78,7 +78,7 @@
 		public AttributeBuffer.with_size (Cogl.Context context, size_t bytes);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_bitmap_get_type ()")]
-	public class Bitmap : GLib.Object {
+	public sealed class Bitmap : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Bitmap ();
 		[CCode (has_construct_function = false)]
@@ -113,7 +113,7 @@
 		public Cogl.BufferUpdateHint update_hint { set construct; }
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_context_get_type ()")]
-	public class Context : GLib.Object {
+	public sealed class Context : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Context (Cogl.Display? display) throws GLib.Error;
 #if HAS_MUTTER47
@@ -129,7 +129,13 @@
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_get_graphics_reset_status")]
 #endif
 		public Cogl.GraphicsResetStatus get_graphics_reset_status ();
+#if HAS_MUTTER48
+		public int get_latest_sync_fd ();
+#endif
 		public unowned Cogl.Pipeline get_named_pipeline (Cogl.PipelineKey key);
+#if HAS_MUTTER48
+		public unowned Cogl.Indices get_rectangle_indices (int n_rectangles);
+#endif
 		public unowned Cogl.Renderer get_renderer ();
 #if !HAS_MUTTER47
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_has_feature")]
@@ -143,7 +149,7 @@
 		public int64 timestamp_query_get_time_ns (Cogl.TimestampQuery query);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_display_get_type ()")]
-	public class Display : GLib.Object {
+	public sealed class Display : GLib.Object {
 		[CCode (has_construct_function = false)]
 #if HAS_MUTTER47
 		public Display (Cogl.Renderer renderer);
@@ -162,11 +168,22 @@
 		[DestroysInstance]
 		public void free ();
 		public int get_bpp ();
+#if HAS_MUTTER48
+		public int get_fd (int plane);
+#else
 		public int get_fd ();
+#endif
 		public unowned Cogl.Framebuffer get_framebuffer ();
 		public int get_height ();
+#if HAS_MUTTER48
+		public uint64 get_modifier ();
+		public int get_n_planes ();
+		public int get_offset (int plane);
+		public int get_stride (int plane);
+#else
 		public int get_offset ();
 		public int get_stride ();
+#endif
 		public int get_width ();
 		public void* mmap () throws GLib.Error;
 		public bool munmap (void* data) throws GLib.Error;
@@ -189,7 +206,7 @@
 	public class FrameClosure {
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_frame_info_get_type ()")]
-	public class FrameInfo : GLib.Object {
+	public sealed class FrameInfo : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected FrameInfo ();
 		public int64 get_frame_counter ();
@@ -215,7 +232,9 @@
 		public unowned Cogl.FenceClosure? add_fence_callback ([CCode (scope = "async")] Cogl.FenceCallback callback);
 #endif
 		public virtual bool allocate () throws GLib.Error;
+#if !HAS_MUTTER48
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_blit_framebuffer")]
+#endif
 		public bool blit (Cogl.Framebuffer dst, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error;
 #if !HAS_MUTTER47
 		public void cancel_fence_callback (Cogl.FenceClosure closure);
@@ -319,12 +338,16 @@
 	public class Indices : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Indices (Cogl.Context context, Cogl.IndicesType type, void* indices_data, int n_indices);
+#if !HAS_MUTTER48
 		[CCode (has_construct_function = false)]
 		public Indices.for_buffer (Cogl.IndicesType type, Cogl.IndexBuffer buffer, size_t offset);
+#endif
 		public unowned Cogl.IndexBuffer get_buffer ();
 		public Cogl.IndicesType get_indices_type ();
+#if !HAS_MUTTER48
 		public size_t get_offset ();
 		public void set_offset (size_t offset);
+#endif
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", ref_function = "cogl_matrix_entry_ref", type_id = "cogl_matrix_entry_get_type ()", unref_function = "cogl_matrix_entry_unref")]
 	[Compact]
@@ -339,7 +362,7 @@
 		public void unref ();
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_matrix_stack_get_type ()")]
-	public class MatrixStack : GLib.Object {
+	public sealed class MatrixStack : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public MatrixStack (Cogl.Context ctx);
 		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
@@ -363,7 +386,7 @@
 		public void translate (float x, float y, float z);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_offscreen_get_type ()")]
-	public class Offscreen : Cogl.Framebuffer {
+	public sealed class Offscreen : Cogl.Framebuffer {
 		[CCode (has_construct_function = false)]
 		protected Offscreen ();
 		public unowned Cogl.Texture get_texture ();
@@ -387,7 +410,12 @@
 #if !HAS_MUTTER47
 		public void hide ();
 #endif
+#if HAS_MUTTER48
+		public virtual bool get_window_handles (out void* device_out, out void* window_out);
+		public virtual void queue_damage_region (Mtk.Region region);
+#else
 		public virtual void queue_damage_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.1)] int[] rectangles);
+#endif
 #if !HAS_MUTTER47
 		public void remove_dirty_callback (Cogl.OnscreenDirtyClosure closure);
 #endif
@@ -396,8 +424,13 @@
 		public void show ();
 #endif
 		public void swap_buffers (Cogl.FrameInfo frame_info, void* user_data);
+#if HAS_MUTTER48
+		public virtual void swap_buffers_with_damage (Mtk.Region region, Cogl.FrameInfo info);
+		public virtual void swap_region (Mtk.Region region, Cogl.FrameInfo info);
+#else
 		public virtual void swap_buffers_with_damage ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info);
 		public virtual void swap_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info);
+#endif
 	}
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_dirty_closure_get_type ()")]
@@ -445,10 +478,16 @@
 		public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index);
 		public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index);
 		public int get_n_layers ();
+#if HAS_MUTTER48
+		public unowned string get_name ();
+#endif
 		public bool get_per_vertex_point_size ();
 		public float get_point_size ();
 		public int get_uniform_location (string uniform_name);
 		public unowned Cogl.Program get_user_program ();
+#if HAS_MUTTER48
+		public bool has_capability (GLib.Quark domain, uint capability);
+#endif
 		public void remove_layer (int layer_index);
 		public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference);
 		public bool set_blend (string blend_string) throws GLib.Error;
@@ -486,7 +525,7 @@
 		public PixelBuffer (Cogl.Context context, [CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_primitive_get_type ()")]
-	public class Primitive : GLib.Object {
+	public sealed class Primitive : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Primitive (Cogl.VerticesMode mode, int n_vertices, ...);
 #if !HAS_MUTTER47
@@ -536,9 +575,10 @@
 		public Primitive.with_attributes (Cogl.VerticesMode mode, int n_vertices, [CCode (array_length_cname = "n_attributes", array_length_pos = 3.1)] Cogl.Attribute[] attributes);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_program_get_type ()")]
-	public class Program : GLib.Object {
+	public sealed class Program : GLib.Object {
 		[CCode (has_construct_function = false)]
-		protected Program ();
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public Program ();
 		[Version (deprecated = true, deprecated_since = "1.16")]
 		public void attach_shader (Cogl.Shader shader);
 #if !HAS_MUTTER47
@@ -562,7 +602,7 @@
 		public void set_uniform_matrix (int uniform_location, int dimensions, bool transpose, [CCode (array_length_cname = "count", array_length_pos = 2.5)] float[] value);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_renderer_get_type ()")]
-	public class Renderer : GLib.Object {
+	public sealed class Renderer : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Renderer ();
 #if !HAS_MUTTER47
@@ -573,20 +613,29 @@
 		public bool check_onscreen_template (Cogl.OnscreenTemplate onscreen_template) throws GLib.Error;
 #endif
 		public bool connect () throws GLib.Error;
-		public static uint32 error_quark ();
 #if !HAS_MUTTER47
 		public void foreach_output (Cogl.OutputCallback callback);
 #endif
+#if HAS_MUTTER48
+		public Cogl.DriverId get_driver_id ();
+		public uint64 get_implicit_drm_modifier ();
+#else
 		public Cogl.Driver get_driver ();
+#endif
 #if HAS_MUTTER47
 		public void* get_proc_address (string name);
 #endif
 		public Cogl.WinsysID get_winsys_id ();
 		public bool is_dma_buf_supported ();
+#if HAS_MUTTER48
+		public bool is_implicit_drm_modifier (uint64 modifier);
+#endif
 #if !HAS_MUTTER47
 		public void remove_constraint (Cogl.RendererConstraint constraint);
 #endif
+#if !HAS_MUTTER48
 		public void set_driver (Cogl.Driver driver);
+#endif
 #if !HAS_MUTTER47
 		public void set_winsys_id (Cogl.WinsysID winsys_id);
 #endif
@@ -594,18 +643,24 @@
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_scanout_get_type ()")]
 	public sealed class Scanout : GLib.Object {
 		[CCode (has_construct_function = false)]
+#if HAS_MUTTER48
+		public Scanout (Cogl.ScanoutBuffer scanout_buffer, Mtk.Rectangle dst_rect);
+#else
 		public Scanout (Cogl.ScanoutBuffer scanout_buffer);
+#endif
 		public bool blit_to_framebuffer (Cogl.Framebuffer framebuffer, int x, int y) throws GLib.Error;
 		public unowned Cogl.ScanoutBuffer get_buffer ();
-		public void get_dst_rect (Mtk.Rectangle rect);
+		public void get_dst_rect (Mtk.Rectangle dst_rect);
 		public void get_src_rect (Graphene.Rect rect);
 		public void notify_failed (Cogl.Onscreen onscreen);
+#if !HAS_MUTTER48
 		public void set_dst_rect (Mtk.Rectangle rect);
+#endif
 		public void set_src_rect (Graphene.Rect rect);
 		public signal void scanout_failed (Cogl.Onscreen object);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_shader_get_type ()")]
-	public class Shader : GLib.Object {
+	public sealed class Shader : GLib.Object {
 		[CCode (has_construct_function = false)]
 #if HAS_MUTTER47
 		[Version (deprecated = true, deprecated_since = "1.16")]
@@ -622,7 +677,7 @@
 		public void source (string source);
 	}
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_snippet_get_type ()")]
-	public class Snippet : GLib.Object {
+	public sealed class Snippet : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Snippet (Cogl.SnippetHook hook, string? declarations, string? post);
 		public unowned string get_declarations ();
@@ -658,8 +713,12 @@
 		[CCode (has_construct_function = false)]
 		protected Texture ();
 		public bool allocate () throws GLib.Error;
+#if HAS_MUTTER48
+		public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.TextureForeachCallback callback);
+#else
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_meta_texture_foreach_in_region")]
 		public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.MetaTextureCallback callback);
+#endif
 		public Cogl.TextureComponents get_components ();
 #if HAS_MUTTER47
 		public unowned Cogl.Context get_context ();
@@ -670,7 +729,9 @@
 #endif
 		public bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target);
 		public uint get_height ();
+#if !HAS_MUTTER48
 		public int get_max_waste ();
+#endif
 		public bool get_premultiplied ();
 		public uint get_width ();
 		public bool is_get_data_supported ();
@@ -901,7 +962,11 @@
 		DISABLE_MIGRATION
 	}
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", type_id = "cogl_attribute_type_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", has_type_id = false)]
+#endif
 	public enum AttributeType {
 		BYTE,
 		UNSIGNED_BYTE,
@@ -924,7 +989,11 @@
 		INDEX_BUFFER,
 		COUNT
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", type_id = "cogl_buffer_bit_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", has_type_id = false)]
+#endif
 	[Flags]
 	public enum BufferBit {
 		COLOR,
@@ -957,7 +1026,11 @@
 		DYNAMIC,
 		STREAM
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", type_id = "cogl_depth_test_function_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", has_type_id = false)]
+#endif
 	public enum DepthTestFunction {
 		NEVER,
 		LESS,
@@ -968,13 +1041,27 @@
 		GEQUAL,
 		ALWAYS
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_ID_", has_type_id = false)]
+	public enum DriverId {
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_", has_type_id = false)]
 	public enum Driver {
+#endif
 		ANY,
 		NOP,
 		GL3,
 		GLES2
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRM_MODIFIER_FILTER_", has_type_id = false)]
+	[Flags]
+	public enum DrmModifierFilter {
+		NONE,
+		SINGLE_PLANE,
+		NOT_EXTERNAL_ONLY
+	}
+#endif
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_EGL_IMAGE_FLAG_", has_type_id = false)]
 	[Flags]
 	public enum EglImageFlags {
@@ -1012,7 +1099,11 @@
 		[CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")]
 		OGL_FEATURE_ID_TIMESTAMP_QUERY
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", type_id = "cogl_filter_return_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
+#endif
 	public enum FilterReturn {
 		CONTINUE,
 		REMOVE
@@ -1030,7 +1121,11 @@
 		UNKNOWN_CONTEXT_RESET,
 		PURGED_CONTEXT_RESET
 	}
+#if HAS_MUTTER48
+    [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", type_id = "cogl_indices_type_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)]
+#endif
 	public enum IndicesType {
 		BYTE,
 		SHORT,
@@ -1144,11 +1239,15 @@
 		NVAL
 	}
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", type_id = "cogl_read_pixels_flags_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)]
+#endif
 	[Flags]
 	public enum ReadPixelsFlags {
 		[CCode (cname = "COGL_READ_PIXELS_COLOR_BUFFER")]
-		READ_PIXELS_COLOR_BUFFER
+		COLOR_BUFFER
 	}
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_CONSTRAINT_USES_", has_type_id = false)]
@@ -1159,7 +1258,11 @@
 		EGL
 	}
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", type_id = "cogl_shader_type_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", has_type_id = false)]
+#endif
 	public enum ShaderType {
 		VERTEX,
 		FRAGMENT
@@ -1201,7 +1304,11 @@
 		RGBA,
 		DEPTH
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", type_id = "cogl_vertices_mode_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)]
+#endif
 	public enum VerticesMode {
 		POINTS,
 		LINES,
@@ -1211,12 +1318,20 @@
 		TRIANGLE_STRIP,
 		TRIANGLE_FAN
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", type_id = "cogl_winding_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", has_type_id = false)]
+#endif
 	public enum Winding {
 		CLOCKWISE,
 		COUNTER_CLOCKWISE
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", type_id = "cogl_winsys_feature_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)]
+#endif
 	public enum WinsysFeature {
 		VBLANK_COUNTER,
 		VBLANK_WAIT,
@@ -1260,18 +1375,29 @@
 		[CCode (cname = "COGL_FRAMEBUFFER_ERROR_ALLOCATE")]
 		FRAMEBUFFER_ERROR_ALLOCATE
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", type_id = "cogl_renderer_error_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", has_type_id = false)]
+#endif
 	public errordomain RendererError {
 		XLIB_DISPLAY_OPEN,
 		BAD_CONSTRAINT
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", type_id = "cogl_scanout_error_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", has_type_id = false)]
+#endif
 	public errordomain ScanoutError {
-		[CCode (cname = "COGL_SCANOUT_ERROR_INHIBITED")]
-		SCANOUT_ERROR_INHIBITED;
+		INHIBITED;
 		public static GLib.Quark quark ();
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", type_id = "cogl_system_error_get_type ()")]
+#else
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", has_type_id = false)]
+#endif
 	public errordomain SystemError {
 		UNSUPPORTED,
 		NO_MEMORY
@@ -1296,8 +1422,10 @@
 #endif
 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
 	public delegate void FrameCallback (Cogl.Onscreen onscreen, Cogl.FrameEvent event, Cogl.FrameInfo info);
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
 	public delegate void MetaTextureCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords);
+#endif
 #if !HAS_MUTTER47
 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
 	public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info);
@@ -1310,6 +1438,10 @@
 	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
 	public delegate bool PrimitiveAttributeCallback (Cogl.Primitive primitive, Cogl.Attribute attribute);
 #endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
+	public delegate void TextureForeachCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords);
+#endif
 	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")]
 	public const int TEXTURE_MAX_WASTE;
 #if !HAS_MUTTER47
@@ -1319,12 +1451,14 @@
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	[Version (replacement = "Color.init_from_hsl")]
 	public static void color_init_from_hsl (out Cogl.Color color, float hue, float saturation, float luminance);
+#if !HAS_MUTTER48
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void debug_matrix_entry_print (Cogl.MatrixEntry entry);
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void flush ();
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static unowned Cogl.Indices get_rectangle_indices (Cogl.Context context, int n_rectangles);
+#endif
 #if HAS_MUTTER47
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static GLib.Source glib_source_new (Cogl.Renderer renderer, int priority);
@@ -1335,7 +1469,11 @@
 	public static GLib.Source glib_source_new (Cogl.Context context, int priority);
 #endif
 	[CCode (cheader_filename = "cogl/cogl.h")]
+#if HAS_MUTTER48
+	public static void graphene_matrix_project_points_f3 (Graphene.Matrix matrix, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+#else
 	public static void graphene_matrix_project_point (Graphene.Matrix matrix, ref float x, ref float y, ref float z, ref float w);
+#endif
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void graphene_matrix_project_points (Graphene.Matrix matrix, int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
 	[CCode (cheader_filename = "cogl/cogl.h")]
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-cogl-16.deps wingpanel-8.0.3/vapi/mutter-cogl-16.deps
--- wingpanel-8.0.3_orig/vapi/mutter-cogl-16.deps	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/mutter-cogl-16.deps	2025-09-02 18:55:13.105034623 +0200
@@ -0,0 +1,5 @@
+pango
+glib-2.0
+gio-2.0
+mutter-mtk-16
+x11
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-cogl-16.vapi wingpanel-8.0.3/vapi/mutter-cogl-16.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-cogl-16.vapi	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/mutter-cogl-16.vapi	2025-09-02 19:01:15.678014016 +0200
@@ -0,0 +1,1512 @@
+/* mutter-cogl-14.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Cogl", gir_namespace = "Cogl", gir_version = "14", lower_case_cprefix = "cogl_")]
+namespace Cogl {
+#if HAS_MUTTER47
+	namespace Bits {
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_A_BIT")]
+		public const int A;
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_AFIRST_BIT")]
+		public const int AFIRST;
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_BGR_BIT")]
+		public const int BGR;
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_DEPTH_BIT")]
+		public const int DEPTH;
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_PREMULT_BIT")]
+		public const int PREMULT;
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_STENCIL_BIT")]
+		public const int STENCIL;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_atlas_get_type ()")]
+	public sealed class Atlas : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Atlas ();
+		public bool reserve_space (uint width, uint height, void* user_data);
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_atlas_texture_get_type ()")]
+	public sealed class AtlasTexture : Cogl.Texture {
+		[CCode (has_construct_function = false)]
+		protected AtlasTexture ();
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public AtlasTexture.from_bitmap (Cogl.Bitmap bmp);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public AtlasTexture.from_data (Cogl.Context ctx, int width, int height, Cogl.PixelFormat format, int rowstride, uint8 data) throws GLib.Error;
+#endif
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public AtlasTexture.with_size (Cogl.Context ctx, int width, int height);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_attribute_get_type ()")]
+	public sealed class Attribute : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Attribute (Cogl.AttributeBuffer attribute_buffer, string name, size_t stride, size_t offset, int components, Cogl.AttributeType type);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false)]
+		public Attribute.const_1f (Cogl.Context context, string name, float value);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_2f (Cogl.Context context, string name, float component0, float component1);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_2fv (Cogl.Context context, string name, float value);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_2x2fv (Cogl.Context context, string name, float matrix2x2, bool transpose);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_3f (Cogl.Context context, string name, float component0, float component1, float component2);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_3fv (Cogl.Context context, string name, float value);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_3x3fv (Cogl.Context context, string name, float matrix3x3, bool transpose);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_4f (Cogl.Context context, string name, float component0, float component1, float component2, float component3);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_4fv (Cogl.Context context, string name, float value);
+		[CCode (has_construct_function = false)]
+		public Attribute.const_4x4fv (Cogl.Context context, string name, float matrix4x4, bool transpose);
+#endif
+		public unowned Cogl.AttributeBuffer get_buffer ();
+#if !HAS_MUTTER47
+		public bool get_normalized ();
+		public void set_buffer (Cogl.AttributeBuffer attribute_buffer);
+#endif
+		public void set_normalized (bool normalized);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_attribute_buffer_get_type ()")]
+	public sealed class AttributeBuffer : Cogl.Buffer {
+		[CCode (has_construct_function = false)]
+		public AttributeBuffer (Cogl.Context context, [CCode (array_length_cname = "bytes", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data);
+		[CCode (has_construct_function = false)]
+		public AttributeBuffer.with_size (Cogl.Context context, size_t bytes);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_bitmap_get_type ()")]
+	public sealed class Bitmap : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Bitmap ();
+		[CCode (has_construct_function = false)]
+		public Bitmap.for_data (Cogl.Context context, int width, int height, Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] owned uint8[] data);
+		[CCode (has_construct_function = false)]
+		public Bitmap.from_buffer (Cogl.Buffer buffer, Cogl.PixelFormat format, int width, int height, int rowstride, int offset);
+		public unowned Cogl.Buffer? get_buffer ();
+		public Cogl.PixelFormat get_format ();
+		public int get_height ();
+		public int get_rowstride ();
+		public int get_width ();
+		[CCode (has_construct_function = false)]
+		public Bitmap.with_size (Cogl.Context context, uint width, uint height, Cogl.PixelFormat format);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_buffer_get_type ()")]
+	public abstract class Buffer : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Buffer ();
+		public uint get_size ();
+		public Cogl.BufferUpdateHint get_update_hint ();
+		public void* map (Cogl.BufferAccess access, Cogl.BufferMapHint hints);
+		public void* map_range (size_t offset, size_t size, Cogl.BufferAccess access, Cogl.BufferMapHint hints) throws GLib.Error;
+		public bool set_data (size_t offset, [CCode (array_length = false)] uint8[] data, size_t size);
+		public void set_update_hint (Cogl.BufferUpdateHint hint);
+		public void unmap ();
+		[NoAccessorMethod]
+		public Cogl.Context context { construct; }
+		[NoAccessorMethod]
+		public Cogl.BufferBindTarget default_target { construct; }
+		[NoAccessorMethod]
+		public uint64 size { construct; }
+		public Cogl.BufferUpdateHint update_hint { set construct; }
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_context_get_type ()")]
+	public sealed class Context : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Context (Cogl.Display? display) throws GLib.Error;
+#if HAS_MUTTER47
+		public void flush ();
+#else
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_foreach_feature")]
+		public void foreach_feature (Cogl.FeatureCallback callback);
+#endif
+		public void free_timestamp_query (owned Cogl.TimestampQuery query);
+		public unowned Cogl.Display get_display ();
+		public int64 get_gpu_time_ns ();
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_get_graphics_reset_status")]
+#endif
+		public Cogl.GraphicsResetStatus get_graphics_reset_status ();
+#if HAS_MUTTER48
+		public int get_latest_sync_fd ();
+#endif
+		public unowned Cogl.Pipeline get_named_pipeline (Cogl.PipelineKey key);
+#if HAS_MUTTER48
+		public unowned Cogl.Indices get_rectangle_indices (int n_rectangles);
+#endif
+		public unowned Cogl.Renderer get_renderer ();
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_has_feature")]
+#endif
+		public bool has_feature (Cogl.FeatureID feature);
+#if HAS_MUTTER47
+		public bool has_winsys_feature (Cogl.WinsysFeature feature);
+#endif
+		public bool is_hardware_accelerated ();
+		public void set_named_pipeline (Cogl.PipelineKey key, Cogl.Pipeline? pipeline);
+		public int64 timestamp_query_get_time_ns (Cogl.TimestampQuery query);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_display_get_type ()")]
+	public sealed class Display : GLib.Object {
+		[CCode (has_construct_function = false)]
+#if HAS_MUTTER47
+		public Display (Cogl.Renderer renderer);
+#else
+		public Display (Cogl.Renderer renderer, Cogl.OnscreenTemplate onscreen_template);
+#endif
+		public unowned Cogl.Renderer get_renderer ();
+#if !HAS_MUTTER47
+		public void set_onscreen_template (Cogl.OnscreenTemplate onscreen_template);
+#endif
+		public bool setup () throws GLib.Error;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", free_function = "cogl_dma_buf_handle_free", has_type_id = false)]
+	[Compact]
+	public class DmaBufHandle {
+		[DestroysInstance]
+		public void free ();
+		public int get_bpp ();
+#if HAS_MUTTER48
+		public int get_fd (int plane);
+#else
+		public int get_fd ();
+#endif
+		public unowned Cogl.Framebuffer get_framebuffer ();
+		public int get_height ();
+#if HAS_MUTTER48
+		public uint64 get_modifier ();
+		public int get_n_planes ();
+		public int get_offset (int plane);
+		public int get_stride (int plane);
+#else
+		public int get_offset ();
+		public int get_stride ();
+#endif
+		public int get_width ();
+		public void* mmap () throws GLib.Error;
+		public bool munmap (void* data) throws GLib.Error;
+		public bool sync_read_end () throws GLib.Error;
+		public bool sync_read_start () throws GLib.Error;
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	[Compact]
+	public class Fence {
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	[Compact]
+	public class FenceClosure {
+		public void* get_user_data ();
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_frame_closure_get_type ()")]
+	[Compact]
+	public class FrameClosure {
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_frame_info_get_type ()")]
+	public sealed class FrameInfo : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected FrameInfo ();
+		public int64 get_frame_counter ();
+		public int64 get_global_frame_counter ();
+		public bool get_is_symbolic ();
+		public int64 get_presentation_time_us ();
+		public float get_refresh_rate ();
+		public int64 get_rendering_duration_ns ();
+		public uint get_sequence ();
+		public int64 get_time_before_buffer_swap_us ();
+#if HAS_MUTTER47
+		public bool has_valid_gpu_rendering_duration ();
+#endif
+		public bool is_hw_clock ();
+		public bool is_vsync ();
+		public bool is_zero_copy ();
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_framebuffer_get_type ()")]
+	public abstract class Framebuffer : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Framebuffer ();
+#if !HAS_MUTTER47
+		public unowned Cogl.FenceClosure? add_fence_callback ([CCode (scope = "async")] Cogl.FenceCallback callback);
+#endif
+		public virtual bool allocate () throws GLib.Error;
+#if !HAS_MUTTER48
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_blit_framebuffer")]
+#endif
+		public bool blit (Cogl.Framebuffer dst, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error;
+#if !HAS_MUTTER47
+		public void cancel_fence_callback (Cogl.FenceClosure closure);
+#endif
+		public void clear (ulong buffers, Cogl.Color color);
+		public void clear4f (ulong buffers, float red, float green, float blue, float alpha);
+		public void discard_buffers (ulong buffers);
+		public void draw_multitextured_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2, [CCode (array_length = false)] float[] tex_coords, int tex_coords_len);
+		public void draw_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2);
+		public void draw_rectangles (Cogl.Pipeline pipeline, [CCode (array_length = false)] float[] coordinates, uint n_rectangles);
+		public void draw_textured_rectangle (Cogl.Pipeline pipeline, float x_1, float y_1, float x_2, float y_2, float s_1, float t_1, float s_2, float t_2);
+		public void draw_textured_rectangles (Cogl.Pipeline pipeline, [CCode (array_length = false)] float[] coordinates, uint n_rectangles);
+		public static uint32 error_quark ();
+		public void finish ();
+		public void flush ();
+		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+		public int get_alpha_bits ();
+		public int get_blue_bits ();
+		public unowned Cogl.Context get_context ();
+#if !HAS_MUTTER47
+		public int get_depth_bits ();
+#endif
+		public bool get_depth_write_enabled ();
+		public bool get_dither_enabled ();
+		public int get_green_bits ();
+		public int get_height ();
+#if !HAS_MUTTER47
+		public bool get_is_stereo ();
+#endif
+		public Graphene.Matrix get_modelview_matrix ();
+		public Graphene.Matrix get_projection_matrix ();
+		public int get_red_bits ();
+#if !HAS_MUTTER47
+		public int get_samples_per_pixel ();
+		public Cogl.StereoMode get_stereo_mode ();
+#endif
+		public void get_viewport4fv ([CCode (array_length = false)] out unowned float viewport[4]);
+		public float get_viewport_height ();
+		public float get_viewport_width ();
+		public float get_viewport_x ();
+		public float get_viewport_y ();
+		public int get_width ();
+#if !HAS_MUTTER47
+		public void identity_matrix ();
+#endif
+		[NoWrapper]
+		public virtual bool is_y_flipped ();
+		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+		public void pop_clip ();
+		public void pop_matrix ();
+		public void push_matrix ();
+#if !HAS_MUTTER47
+		public void push_primitive_clip (Cogl.Primitive primitive, float bounds_x1, float bounds_y1, float bounds_x2, float bounds_y2);
+#endif
+		public void push_rectangle_clip (float x_1, float y_1, float x_2, float y_2);
+		public void push_region_clip (Mtk.Region region);
+		public bool read_pixels (int x, int y, int width, int height, Cogl.PixelFormat format, uint8 pixels);
+		public bool read_pixels_into_bitmap (int x, int y, Cogl.ReadPixelsFlags source, Cogl.Bitmap bitmap);
+#if !HAS_MUTTER47
+		public void resolve_samples ();
+		public void resolve_samples_region (int x, int y, int width, int height);
+#endif
+		public void rotate (float angle, float x, float y, float z);
+#if !HAS_MUTTER47
+		public void rotate_euler (Graphene.Euler euler);
+#endif
+		public void scale (float x, float y, float z);
+		public void set_depth_write_enabled (bool depth_write_enabled);
+		public void set_dither_enabled (bool dither_enabled);
+		public void set_modelview_matrix (Graphene.Matrix matrix);
+		public void set_projection_matrix (Graphene.Matrix matrix);
+#if !HAS_MUTTER47
+		public void set_samples_per_pixel (int samples_per_pixel);
+		public void set_stereo_mode (Cogl.StereoMode stereo_mode);
+#endif
+		public void set_viewport (float x, float y, float width, float height);
+		public void transform (Graphene.Matrix matrix);
+		public void translate (float x, float y, float z);
+		public Cogl.Context context { get; construct; }
+		[NoAccessorMethod]
+		public void* driver_config { get; construct; }
+		[NoAccessorMethod]
+		public int height { get; set construct; }
+		[NoAccessorMethod]
+		public int width { get; set construct; }
+		public signal void destroy ();
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	[Compact]
+	public class FramebufferDriverConfig {
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_index_buffer_get_type ()")]
+	public sealed class IndexBuffer : Cogl.Buffer {
+		[CCode (has_construct_function = false)]
+		public IndexBuffer (Cogl.Context context, size_t bytes);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_indices_get_type ()")]
+	public class Indices : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Indices (Cogl.Context context, Cogl.IndicesType type, void* indices_data, int n_indices);
+#if !HAS_MUTTER48
+		[CCode (has_construct_function = false)]
+		public Indices.for_buffer (Cogl.IndicesType type, Cogl.IndexBuffer buffer, size_t offset);
+#endif
+		public unowned Cogl.IndexBuffer get_buffer ();
+		public Cogl.IndicesType get_indices_type ();
+#if !HAS_MUTTER48
+		public size_t get_offset ();
+		public void set_offset (size_t offset);
+#endif
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", ref_function = "cogl_matrix_entry_ref", type_id = "cogl_matrix_entry_get_type ()", unref_function = "cogl_matrix_entry_unref")]
+	[Compact]
+	public class MatrixEntry {
+		public bool calculate_translation (Cogl.MatrixEntry entry1, out float x, out float y, out float z);
+#if !HAS_MUTTER47
+		public bool equal (Cogl.MatrixEntry entry1);
+#endif
+		public Graphene.Matrix? @get (out Graphene.Matrix matrix);
+		public bool is_identity ();
+		public Cogl.MatrixEntry @ref ();
+		public void unref ();
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_matrix_stack_get_type ()")]
+	public sealed class MatrixStack : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public MatrixStack (Cogl.Context ctx);
+		public void frustum (float left, float right, float bottom, float top, float z_near, float z_far);
+		public Graphene.Matrix? @get (out Graphene.Matrix matrix);
+		public unowned Cogl.MatrixEntry get_entry ();
+#if !HAS_MUTTER47
+		public bool get_inverse (out Graphene.Matrix inverse);
+#endif
+		public void load_identity ();
+		public void multiply (Graphene.Matrix matrix);
+#if !HAS_MUTTER47
+		public void orthographic (float x_1, float y_1, float x_2, float y_2, float near, float far);
+		public void perspective (float fov_y, float aspect, float z_near, float z_far);
+#endif
+		public void pop ();
+		public void push ();
+		public void rotate (float angle, float x, float y, float z);
+		public void rotate_euler (Graphene.Euler euler);
+		public void scale (float x, float y, float z);
+		public void @set (Graphene.Matrix matrix);
+		public void translate (float x, float y, float z);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_offscreen_get_type ()")]
+	public sealed class Offscreen : Cogl.Framebuffer {
+		[CCode (has_construct_function = false)]
+		protected Offscreen ();
+		public unowned Cogl.Texture get_texture ();
+		[CCode (has_construct_function = false)]
+		public Offscreen.with_texture (Cogl.Texture texture);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_onscreen_get_type ()")]
+	public class Onscreen : Cogl.Framebuffer {
+		[CCode (has_construct_function = false)]
+		protected Onscreen ();
+#if !HAS_MUTTER47
+		public unowned Cogl.OnscreenDirtyClosure add_dirty_callback (owned Cogl.OnscreenDirtyCallback callback);
+#endif
+		public unowned Cogl.FrameClosure add_frame_callback (owned Cogl.FrameCallback callback);
+		public void add_frame_info (owned Cogl.FrameInfo info);
+		[NoWrapper]
+		public virtual void bind ();
+		public virtual bool direct_scanout (Cogl.Scanout scanout, Cogl.FrameInfo info) throws GLib.Error;
+		public virtual int get_buffer_age ();
+		public int64 get_frame_counter ();
+#if !HAS_MUTTER47
+		public void hide ();
+#endif
+#if HAS_MUTTER48
+		public virtual bool get_window_handles (out void* device_out, out void* window_out);
+		public virtual void queue_damage_region (Mtk.Region region);
+#else
+		public virtual void queue_damage_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.1)] int[] rectangles);
+#endif
+#if !HAS_MUTTER47
+		public void remove_dirty_callback (Cogl.OnscreenDirtyClosure closure);
+#endif
+		public void remove_frame_callback (Cogl.FrameClosure closure);
+#if !HAS_MUTTER47
+		public void show ();
+#endif
+		public void swap_buffers (Cogl.FrameInfo frame_info, void* user_data);
+#if HAS_MUTTER48
+		public virtual void swap_buffers_with_damage (Mtk.Region region, Cogl.FrameInfo info);
+		public virtual void swap_region (Mtk.Region region, Cogl.FrameInfo info);
+#else
+		public virtual void swap_buffers_with_damage ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info);
+		public virtual void swap_region ([CCode (array_length_cname = "n_rectangles", array_length_pos = 1.5)] int[] rectangles, Cogl.FrameInfo info);
+#endif
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_onscreen_dirty_closure_get_type ()")]
+	[Compact]
+	public class OnscreenDirtyClosure {
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_onscreen_template_get_type ()")]
+	public class OnscreenTemplate : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public OnscreenTemplate (Cogl.SwapChain swap_chain);
+		public void set_samples_per_pixel (int n);
+		public void set_stereo_enabled (bool enabled);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_output_get_type ()")]
+	public class Output : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Output ();
+		public int get_height ();
+		public int get_mm_height ();
+		public int get_mm_width ();
+		public float get_refresh_rate ();
+		public Cogl.SubpixelOrder get_subpixel_order ();
+		public int get_width ();
+		public int get_x ();
+		public int get_y ();
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_pipeline_get_type ()")]
+	public sealed class Pipeline : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Pipeline (Cogl.Context context);
+		public void add_layer_snippet (int layer, Cogl.Snippet snippet);
+		public void add_snippet (Cogl.Snippet snippet);
+		public Cogl.Pipeline copy ();
+		public void foreach_layer (Cogl.PipelineLayerCallback callback);
+		public Cogl.PipelineAlphaFunc get_alpha_test_function ();
+		public float get_alpha_test_reference ();
+		public Cogl.Color get_color ();
+		public Cogl.PipelineCullFaceMode get_cull_face_mode ();
+		public Cogl.DepthState get_depth_state ();
+		public Cogl.Winding get_front_face_winding ();
+		public void get_layer_filters (int layer_index, out Cogl.PipelineFilter min_filter, out Cogl.PipelineFilter mag_filter);
+		public bool get_layer_point_sprite_coords_enabled (int layer_index);
+		public unowned Cogl.Texture get_layer_texture (int layer_index);
+		public Cogl.PipelineWrapMode get_layer_wrap_mode_s (int layer_index);
+		public Cogl.PipelineWrapMode get_layer_wrap_mode_t (int layer_index);
+		public int get_n_layers ();
+#if HAS_MUTTER48
+		public unowned string get_name ();
+#endif
+		public bool get_per_vertex_point_size ();
+		public float get_point_size ();
+		public int get_uniform_location (string uniform_name);
+		public unowned Cogl.Program get_user_program ();
+#if HAS_MUTTER48
+		public bool has_capability (GLib.Quark domain, uint capability);
+#endif
+		public void remove_layer (int layer_index);
+		public void set_alpha_test_function (Cogl.PipelineAlphaFunc alpha_func, float alpha_reference);
+		public bool set_blend (string blend_string) throws GLib.Error;
+		public void set_blend_constant (Cogl.Color constant_color);
+		public void set_color (Cogl.Color color);
+		public void set_cull_face_mode (Cogl.PipelineCullFaceMode cull_face_mode);
+		public bool set_depth_state (Cogl.DepthState state) throws GLib.Error;
+		public void set_front_face_winding (Cogl.Winding front_winding);
+		public bool set_layer_combine (int layer_index, string blend_string) throws GLib.Error;
+		public void set_layer_combine_constant (int layer_index, Cogl.Color constant);
+		public void set_layer_filters (int layer_index, Cogl.PipelineFilter min_filter, Cogl.PipelineFilter mag_filter);
+		public void set_layer_matrix (int layer_index, Graphene.Matrix matrix);
+		public void set_layer_max_mipmap_level (int layer, int max_level);
+		public void set_layer_null_texture (int layer_index);
+		public bool set_layer_point_sprite_coords_enabled (int layer_index, bool enable) throws GLib.Error;
+		public void set_layer_texture (int layer_index, Cogl.Texture texture);
+		public void set_layer_wrap_mode (int layer_index, Cogl.PipelineWrapMode mode);
+		public void set_layer_wrap_mode_s (int layer_index, Cogl.PipelineWrapMode mode);
+		public void set_layer_wrap_mode_t (int layer_index, Cogl.PipelineWrapMode mode);
+		public bool set_per_vertex_point_size (bool enable) throws GLib.Error;
+		public void set_point_size (float point_size);
+#if HAS_MUTTER47
+		public void set_static_name (string name);
+#endif
+		public void set_uniform_1f (int uniform_location, float value);
+		public void set_uniform_1i (int uniform_location, int value);
+		public void set_uniform_float (int uniform_location, int n_components, int count, float value);
+		public void set_uniform_int (int uniform_location, int n_components, int count, int value);
+		public void set_uniform_matrix (int uniform_location, int dimensions, int count, bool transpose, float value);
+		public void set_user_program (Cogl.Program program);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_pixel_buffer_get_type ()")]
+	public sealed class PixelBuffer : Cogl.Buffer {
+		[CCode (has_construct_function = false)]
+		public PixelBuffer (Cogl.Context context, [CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_primitive_get_type ()")]
+	public sealed class Primitive : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Primitive (Cogl.VerticesMode mode, int n_vertices, ...);
+#if !HAS_MUTTER47
+		public Cogl.Primitive copy ();
+#endif
+		public void draw (Cogl.Framebuffer framebuffer, Cogl.Pipeline pipeline);
+#if !HAS_MUTTER47
+		public void foreach_attribute (Cogl.PrimitiveAttributeCallback callback);
+		public int get_first_vertex ();
+		[CCode (array_length = false)]
+		public unowned Cogl.Indices[]? get_indices ();
+		public Cogl.VerticesMode get_mode ();
+		public int get_n_vertices ();
+#endif
+		[CCode (has_construct_function = false)]
+		public Primitive.p2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2[] data);
+		[CCode (has_construct_function = false)]
+		public Primitive.p2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2C4[] data);
+		[CCode (has_construct_function = false)]
+		public Primitive.p2t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2[] data);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false)]
+		public Primitive.p2t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2C4[] data);
+#endif
+		[CCode (has_construct_function = false)]
+		public Primitive.p3 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3[] data);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false)]
+		public Primitive.p3c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3C4[] data);
+#endif
+		[CCode (has_construct_function = false)]
+		public Primitive.p3t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2[] data);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false)]
+		public Primitive.p3t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2C4[] data);
+#endif
+		public void set_first_vertex (int first_vertex);
+		public void set_indices ([CCode (array_length_cname = "n_indices", array_length_pos = 1.1)] Cogl.Indices[] indices);
+#if !HAS_MUTTER47
+		public void set_mode (Cogl.VerticesMode mode);
+#endif
+		public void set_n_vertices (int n_vertices);
+#if !HAS_MUTTER47
+		public static void texture_set_auto_mipmap (Cogl.Texture primitive_texture, bool value);
+#endif
+		[CCode (has_construct_function = false)]
+		public Primitive.with_attributes (Cogl.VerticesMode mode, int n_vertices, [CCode (array_length_cname = "n_attributes", array_length_pos = 3.1)] Cogl.Attribute[] attributes);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_program_get_type ()")]
+	public sealed class Program : GLib.Object {
+		[CCode (has_construct_function = false)]
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public Program ();
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void attach_shader (Cogl.Shader shader);
+#if !HAS_MUTTER47
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_create_program")]
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public static Cogl.Program create ();
+#endif
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public int get_uniform_location (string uniform_name);
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void link ();
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void set_uniform_1f (int uniform_location, float value);
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void set_uniform_1i (int uniform_location, int value);
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void set_uniform_float (int uniform_location, int n_components, [CCode (array_length_cname = "count", array_length_pos = 2.5)] float[] value);
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void set_uniform_int (int uniform_location, int n_components, [CCode (array_length_cname = "count", array_length_pos = 2.5)] int[] value);
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void set_uniform_matrix (int uniform_location, int dimensions, bool transpose, [CCode (array_length_cname = "count", array_length_pos = 2.5)] float[] value);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_renderer_get_type ()")]
+	public sealed class Renderer : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Renderer ();
+#if !HAS_MUTTER47
+		public void add_constraint (Cogl.RendererConstraint constraint);
+#endif
+		public void bind_api ();
+#if !HAS_MUTTER47
+		public bool check_onscreen_template (Cogl.OnscreenTemplate onscreen_template) throws GLib.Error;
+#endif
+		public bool connect () throws GLib.Error;
+#if !HAS_MUTTER47
+		public void foreach_output (Cogl.OutputCallback callback);
+#endif
+#if HAS_MUTTER48
+		public Cogl.DriverId get_driver_id ();
+		public uint64 get_implicit_drm_modifier ();
+#else
+		public Cogl.Driver get_driver ();
+#endif
+#if HAS_MUTTER47
+		public void* get_proc_address (string name);
+#endif
+		public Cogl.WinsysID get_winsys_id ();
+		public bool is_dma_buf_supported ();
+#if HAS_MUTTER48
+		public bool is_implicit_drm_modifier (uint64 modifier);
+#endif
+#if !HAS_MUTTER47
+		public void remove_constraint (Cogl.RendererConstraint constraint);
+#endif
+#if !HAS_MUTTER48
+		public void set_driver (Cogl.Driver driver);
+#endif
+#if !HAS_MUTTER47
+		public void set_winsys_id (Cogl.WinsysID winsys_id);
+#endif
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_scanout_get_type ()")]
+	public sealed class Scanout : GLib.Object {
+		[CCode (has_construct_function = false)]
+#if HAS_MUTTER48
+		public Scanout (Cogl.ScanoutBuffer scanout_buffer, Mtk.Rectangle dst_rect);
+#else
+		public Scanout (Cogl.ScanoutBuffer scanout_buffer);
+#endif
+		public bool blit_to_framebuffer (Cogl.Framebuffer framebuffer, int x, int y) throws GLib.Error;
+		public unowned Cogl.ScanoutBuffer get_buffer ();
+		public void get_dst_rect (Mtk.Rectangle dst_rect);
+		public void get_src_rect (Graphene.Rect rect);
+		public void notify_failed (Cogl.Onscreen onscreen);
+#if !HAS_MUTTER48
+		public void set_dst_rect (Mtk.Rectangle rect);
+#endif
+		public void set_src_rect (Graphene.Rect rect);
+		public signal void scanout_failed (Cogl.Onscreen object);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_shader_get_type ()")]
+	public sealed class Shader : GLib.Object {
+		[CCode (has_construct_function = false)]
+#if HAS_MUTTER47
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public Shader (Cogl.ShaderType shader_type);
+#else
+		protected Shader ();
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_create_shader")]
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public static Cogl.Shader create (Cogl.ShaderType shader_type);
+#endif
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public Cogl.ShaderType get_shader_type ();
+		[Version (deprecated = true, deprecated_since = "1.16")]
+		public void source (string source);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_snippet_get_type ()")]
+	public sealed class Snippet : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Snippet (Cogl.SnippetHook hook, string? declarations, string? post);
+		public unowned string get_declarations ();
+		public Cogl.SnippetHook get_hook ();
+		public unowned string get_post ();
+		public unowned string get_pre ();
+		public unowned string get_replace ();
+#if HAS_MUTTER47
+		public void set_capability (GLib.Quark domain, uint capability);
+#endif
+		public void set_declarations (string declarations);
+		public void set_post (string post);
+		public void set_pre (string pre);
+		public void set_replace (string replace);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_sub_texture_get_type ()")]
+	public sealed class SubTexture : Cogl.Texture {
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public SubTexture (Cogl.Context ctx, Cogl.Texture parent_texture, int sub_x, int sub_y, int sub_width, int sub_height);
+		public unowned Cogl.Texture get_parent ();
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_swap_chain_get_type ()")]
+	public class SwapChain : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public SwapChain ();
+		public void set_has_alpha (bool has_alpha);
+		public void set_length (int length);
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_texture_get_type ()")]
+	public abstract class Texture : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected Texture ();
+		public bool allocate () throws GLib.Error;
+#if HAS_MUTTER48
+		public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.TextureForeachCallback callback);
+#else
+		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_meta_texture_foreach_in_region")]
+		public void foreach_in_region (float tx_1, float ty_1, float tx_2, float ty_2, Cogl.PipelineWrapMode wrap_s, Cogl.PipelineWrapMode wrap_t, Cogl.MetaTextureCallback callback);
+#endif
+		public Cogl.TextureComponents get_components ();
+#if HAS_MUTTER47
+		public unowned Cogl.Context get_context ();
+#endif
+		public int get_data (Cogl.PixelFormat format, uint rowstride, [CCode (array_length = false)] uint8[] data);
+#if HAS_MUTTER47
+		public Cogl.PixelFormat get_format ();
+#endif
+		public bool get_gl_texture (out uint out_gl_handle, out uint out_gl_target);
+		public uint get_height ();
+#if !HAS_MUTTER48
+		public int get_max_waste ();
+#endif
+		public bool get_premultiplied ();
+		public uint get_width ();
+		public bool is_get_data_supported ();
+		public bool is_sliced ();
+#if HAS_MUTTER47
+		public void set_auto_mipmap (bool value);
+#endif
+		public void set_components (Cogl.TextureComponents components);
+		public bool set_data (Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] uint8[] data, int level) throws GLib.Error;
+		public void set_premultiplied (bool premultiplied);
+		public bool set_region (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, int width, int height, Cogl.PixelFormat format, uint rowstride, [CCode (array_length = false)] uint8[] data);
+		public bool set_region_from_bitmap (int src_x, int src_y, int dst_x, int dst_y, uint dst_width, uint dst_height, Cogl.Bitmap bitmap);
+		[NoAccessorMethod]
+		public Cogl.Context context { construct; }
+		[NoAccessorMethod]
+		public Cogl.PixelFormat format { construct; }
+		[NoAccessorMethod]
+		public int height { construct; }
+		[NoAccessorMethod]
+		public void* loader { construct; }
+		[NoAccessorMethod]
+		public int width { construct; }
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", lower_case_csuffix = "texture_2d", type_id = "cogl_texture_2d_get_type ()")]
+	public sealed class Texture2D : Cogl.Texture {
+		[CCode (has_construct_function = false)]
+		protected Texture2D ();
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2D.from_bitmap (Cogl.Bitmap bitmap);
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2D.from_data (Cogl.Context ctx, int width, int height, Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] uint8[] data) throws GLib.Error;
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2D.with_format (Cogl.Context ctx, int width, int height, Cogl.PixelFormat format);
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2D.with_size (Cogl.Context ctx, int width, int height);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", lower_case_csuffix = "texture_2d_sliced", type_id = "cogl_texture_2d_sliced_get_type ()")]
+	public sealed class Texture2DSliced : Cogl.Texture {
+		[CCode (has_construct_function = false)]
+		protected Texture2DSliced ();
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2DSliced.from_bitmap (Cogl.Bitmap bmp, int max_waste);
+#if !HAS_MUTTER47
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2DSliced.from_data (Cogl.Context ctx, int width, int height, int max_waste, Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] uint8[] data) throws GLib.Error;
+#endif
+		[CCode (has_construct_function = false, type = "CoglTexture*")]
+		public Texture2DSliced.with_size (Cogl.Context ctx, int width, int height, int max_waste);
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	[Compact]
+	public class TimestampQuery {
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", type_cname = "CoglScanoutBufferInterface", type_id = "cogl_scanout_buffer_get_type ()")]
+	public interface ScanoutBuffer : GLib.Object {
+		public abstract int get_height ();
+		public abstract int get_width ();
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_color_get_type ()")]
+	public struct Color {
+#if HAS_MUTTER47
+		public uint8 red;
+		public uint8 green;
+		public uint8 blue;
+		public uint8 alpha;
+#endif
+		public Cogl.Color? copy ();
+		public bool equal ([CCode (type = "void*")] Cogl.Color v2);
+#if !HAS_MUTTER47
+		public void free ();
+#endif
+		[CCode (cname = "cogl_color_init_from_4f")]
+		public Color.from_4f (float red, float green, float blue, float alpha);
+#if !HAS_MUTTER47
+		[CCode (cname = "cogl_color_init_from_4fv")]
+		public Color.from_4fv (float color_array);
+#endif
+		[CCode (cname = "cogl_color_init_from_hsl")]
+		public Color.from_hsl (float hue, float saturation, float luminance);
+#if HAS_MUTTER47
+		[CCode (cname = "_vala_cogl_color_from_string")]
+		public static Cogl.Color? from_string (string str) {
+			Cogl.Color color = { };
+			if (color.init_from_string (str)) {
+				return color;
+			}
+			return null;
+		}
+#endif
+		public float get_alpha ();
+		public float get_blue ();
+		public float get_green ();
+		public float get_red ();
+#if HAS_MUTTER47
+		public uint hash ();
+#endif
+		public void init_from_4f (float red, float green, float blue, float alpha);
+		public void init_from_hsl (float hue, float saturation, float luminance);
+#if HAS_MUTTER47
+		[CCode (cname = "cogl_color_from_string")]
+		public bool init_from_string (string str);
+#endif
+		public void premultiply ();
+		public void to_hsl (out float hue, out float saturation, out float luminance);
+#if HAS_MUTTER47
+		public string to_string ();
+#endif
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct DepthState {
+#if !HAS_MUTTER47
+		public void get_range (float near_val, float far_val);
+		public bool get_test_enabled ();
+		public Cogl.DepthTestFunction get_test_function ();
+		public bool get_write_enabled ();
+#endif
+		public void init ();
+		public void set_range (float near_val, float far_val);
+		public void set_test_enabled (bool enable);
+		public void set_test_function (Cogl.DepthTestFunction function);
+		public void set_write_enabled (bool enable);
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct OnscreenDirtyInfo {
+		public int x;
+		public int y;
+		public int width;
+		public int height;
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	[SimpleType]
+	public struct PipelineKey : char {
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct PollFD {
+		public int fd;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct TextureVertex {
+		public float x;
+		public float y;
+		public float z;
+		public float tx;
+		public float ty;
+		public Cogl.Color color;
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2 {
+		public float x;
+		public float y;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2C4 {
+		public float x;
+		public float y;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2T2 {
+		public float x;
+		public float y;
+		public float s;
+		public float t;
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP2T2C4 {
+		public float x;
+		public float y;
+		public float s;
+		public float t;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3 {
+		public float x;
+		public float y;
+		public float z;
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3C4 {
+		public float x;
+		public float y;
+		public float z;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3T2 {
+		public float x;
+		public float y;
+		public float z;
+		public float s;
+		public float t;
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)]
+	public struct VertexP3T2C4 {
+		public float x;
+		public float y;
+		public float z;
+		public float s;
+		public float t;
+		public uint8 r;
+		public uint8 g;
+		public uint8 b;
+		public uint8 a;
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATLAS_", has_type_id = false)]
+	[Flags]
+	public enum AtlasFlags {
+		CLEAR_TEXTURE,
+		DISABLE_MIGRATION
+	}
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", type_id = "cogl_attribute_type_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_ATTRIBUTE_TYPE_", has_type_id = false)]
+#endif
+	public enum AttributeType {
+		BYTE,
+		UNSIGNED_BYTE,
+		SHORT,
+		UNSIGNED_SHORT,
+		FLOAT
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_ACCESS_", type_id = "cogl_buffer_access_get_type ()")]
+	[Flags]
+	public enum BufferAccess {
+		READ,
+		WRITE,
+		READ_WRITE
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIND_TARGET_", type_id = "cogl_buffer_bind_target_get_type ()")]
+	public enum BufferBindTarget {
+		PIXEL_PACK,
+		PIXEL_UNPACK,
+		ATTRIBUTE_BUFFER,
+		INDEX_BUFFER,
+		COUNT
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", type_id = "cogl_buffer_bit_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_BIT_", has_type_id = false)]
+#endif
+	[Flags]
+	public enum BufferBit {
+		COLOR,
+		DEPTH,
+		STENCIL
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_ERROR_", type_id = "cogl_buffer_error_get_type ()")]
+	public enum BufferError {
+		MAP
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_MAP_HINT_", type_id = "cogl_buffer_map_hint_get_type ()")]
+	[Flags]
+	public enum BufferMapHint {
+		DISCARD,
+		DISCARD_RANGE
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_", has_type_id = false)]
+	[Flags]
+	public enum BufferTarget {
+		WINDOW_BUFFER,
+		OFFSCREEN_BUFFER
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BUFFER_UPDATE_HINT_", type_id = "cogl_buffer_update_hint_get_type ()")]
+	public enum BufferUpdateHint {
+		STATIC,
+		DYNAMIC,
+		STREAM
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", type_id = "cogl_depth_test_function_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DEPTH_TEST_FUNCTION_", has_type_id = false)]
+#endif
+	public enum DepthTestFunction {
+		NEVER,
+		LESS,
+		EQUAL,
+		LEQUAL,
+		GREATER,
+		NOTEQUAL,
+		GEQUAL,
+		ALWAYS
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_ID_", has_type_id = false)]
+	public enum DriverId {
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRIVER_", has_type_id = false)]
+	public enum Driver {
+#endif
+		ANY,
+		NOP,
+		GL3,
+		GLES2
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_DRM_MODIFIER_FILTER_", has_type_id = false)]
+	[Flags]
+	public enum DrmModifierFilter {
+		NONE,
+		SINGLE_PLANE,
+		NOT_EXTERNAL_ONLY
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_EGL_IMAGE_FLAG_", has_type_id = false)]
+	[Flags]
+	public enum EglImageFlags {
+		NONE,
+		NO_GET_DATA
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FEATURE_ID_", has_type_id = false)]
+	public enum FeatureID {
+		[CCode (cname = "COGL_FEATURE_ID_UNSIGNED_INT_INDICES")]
+		OGL_FEATURE_ID_UNSIGNED_INT_INDICES,
+		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_READ")]
+		OGL_FEATURE_ID_MAP_BUFFER_FOR_READ,
+		[CCode (cname = "COGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE")]
+		OGL_FEATURE_ID_MAP_BUFFER_FOR_WRITE,
+		[CCode (cname = "COGL_FEATURE_ID_FENCE")]
+		OGL_FEATURE_ID_FENCE,
+		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_RG")]
+		OGL_FEATURE_ID_TEXTURE_RG,
+		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_RGBA1010102")]
+		OGL_FEATURE_ID_TEXTURE_RGBA1010102,
+		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_HALF_FLOAT")]
+		OGL_FEATURE_ID_TEXTURE_HALF_FLOAT,
+		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_NORM16")]
+		OGL_FEATURE_ID_TEXTURE_NORM16,
+		[CCode (cname = "COGL_FEATURE_ID_BUFFER_AGE")]
+		OGL_FEATURE_ID_BUFFER_AGE,
+		[CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")]
+		OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL,
+		[CCode (cname = "COGL_FEATURE_ID_BLIT_FRAMEBUFFER")]
+		OGL_FEATURE_ID_BLIT_FRAMEBUFFER,
+#if HAS_MUTTER47
+		[CCode (cname = "COGL_FEATURE_ID_SYNC_FD")]
+		OGL_FEATURE_ID_SYNC_FD,
+#endif
+		[CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")]
+		OGL_FEATURE_ID_TIMESTAMP_QUERY
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", type_id = "cogl_filter_return_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FILTER_", has_type_id = false)]
+#endif
+	public enum FilterReturn {
+		CONTINUE,
+		REMOVE
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAME_EVENT_", has_type_id = false)]
+	public enum FrameEvent {
+		SYNC,
+		COMPLETE
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_GRAPHICS_RESET_STATUS_", has_type_id = false)]
+	public enum GraphicsResetStatus {
+		NO_ERROR,
+		GUILTY_CONTEXT_RESET,
+		INNOCENT_CONTEXT_RESET,
+		UNKNOWN_CONTEXT_RESET,
+		PURGED_CONTEXT_RESET
+	}
+#if HAS_MUTTER48
+    [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", type_id = "cogl_indices_type_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_INDICES_TYPE_UNSIGNED_", has_type_id = false)]
+#endif
+	public enum IndicesType {
+		BYTE,
+		SHORT,
+		INT
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_ALPHA_FUNC_", has_type_id = false)]
+	public enum PipelineAlphaFunc {
+		NEVER,
+		LESS,
+		EQUAL,
+		LEQUAL,
+		GREATER,
+		NOTEQUAL,
+		GEQUAL,
+		ALWAYS
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_CULL_FACE_MODE_", has_type_id = false)]
+	public enum PipelineCullFaceMode {
+		NONE,
+		FRONT,
+		BACK,
+		BOTH
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_FILTER_", has_type_id = false)]
+	public enum PipelineFilter {
+		NEAREST,
+		LINEAR,
+		NEAREST_MIPMAP_NEAREST,
+		LINEAR_MIPMAP_NEAREST,
+		NEAREST_MIPMAP_LINEAR,
+		LINEAR_MIPMAP_LINEAR
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_WRAP_MODE_", has_type_id = false)]
+	public enum PipelineWrapMode {
+		REPEAT,
+		MIRRORED_REPEAT,
+		CLAMP_TO_EDGE,
+		AUTOMATIC
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIXEL_FORMAT_", type_id = "cogl_pixel_format_get_type ()")]
+	public enum PixelFormat {
+		CAIRO_ARGB32_COMPAT,
+		ANY,
+		A_8,
+		RGB_565,
+		RGBA_4444,
+		RGBA_5551,
+		YUV,
+		R_8,
+		RG_88,
+		RGB_888,
+		BGR_888,
+		RGBX_8888,
+		RGBA_8888,
+		BGRX_8888,
+		BGRA_8888,
+		XRGB_8888,
+		ARGB_8888,
+		XBGR_8888,
+		ABGR_8888,
+		RGBA_8888_PRE,
+		BGRA_8888_PRE,
+		ARGB_8888_PRE,
+		ABGR_8888_PRE,
+		RGBA_4444_PRE,
+		RGBA_5551_PRE,
+		RGBA_1010102,
+		BGRA_1010102,
+		XRGB_2101010,
+		ARGB_2101010,
+		XBGR_2101010,
+		ABGR_2101010,
+		RGBA_1010102_PRE,
+		BGRA_1010102_PRE,
+		ARGB_2101010_PRE,
+		ABGR_2101010_PRE,
+		RGBX_FP_16161616,
+		RGBA_FP_16161616,
+		BGRX_FP_16161616,
+		BGRA_FP_16161616,
+		XRGB_FP_16161616,
+		ARGB_FP_16161616,
+		XBGR_FP_16161616,
+		ABGR_FP_16161616,
+		RGBA_FP_16161616_PRE,
+		BGRA_FP_16161616_PRE,
+		ARGB_FP_16161616_PRE,
+		ABGR_FP_16161616_PRE,
+		RGBA_FP_32323232,
+		RGBA_FP_32323232_PRE,
+		R_16,
+		RG_1616,
+		RGBA_16161616,
+		RGBA_16161616_PRE,
+		DEPTH_16,
+		DEPTH_24_STENCIL_8;
+		public int get_bytes_per_pixel (int plane);
+		public int get_n_planes ();
+		public unowned string to_string ();
+		[CCode (cheader_filename = "cogl/cogl.h")]
+		public const int MAX_PLANES;
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_POLL_FD_EVENT_", has_type_id = false)]
+	public enum PollFDEvent {
+		IN,
+		PRI,
+		OUT,
+		ERR,
+		HUP,
+		NVAL
+	}
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", type_id = "cogl_read_pixels_flags_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_READ_PIXELS_COLOR_", has_type_id = false)]
+#endif
+	[Flags]
+	public enum ReadPixelsFlags {
+		[CCode (cname = "COGL_READ_PIXELS_COLOR_BUFFER")]
+		COLOR_BUFFER
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_CONSTRAINT_USES_", has_type_id = false)]
+	[Flags]
+	public enum RendererConstraint {
+		X11,
+		XLIB,
+		EGL
+	}
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", type_id = "cogl_shader_type_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SHADER_TYPE_", has_type_id = false)]
+#endif
+	public enum ShaderType {
+		VERTEX,
+		FRAGMENT
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SNIPPET_HOOK_", has_type_id = false)]
+	public enum SnippetHook {
+		VERTEX,
+		VERTEX_TRANSFORM,
+		VERTEX_GLOBALS,
+		POINT_SIZE,
+		FRAGMENT,
+		FRAGMENT_GLOBALS,
+		TEXTURE_COORD_TRANSFORM,
+		LAYER_FRAGMENT,
+		TEXTURE_LOOKUP
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_STEREO_", has_type_id = false)]
+	public enum StereoMode {
+		BOTH,
+		LEFT,
+		RIGHT
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SUBPIXEL_ORDER_", has_type_id = false)]
+	public enum SubpixelOrder {
+		UNKNOWN,
+		NONE,
+		HORIZONTAL_RGB,
+		HORIZONTAL_BGR,
+		VERTICAL_RGB,
+		VERTICAL_BGR
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_COMPONENTS_", has_type_id = false)]
+	public enum TextureComponents {
+		A,
+		RG,
+		RGB,
+		RGBA,
+		DEPTH
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", type_id = "cogl_vertices_mode_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)]
+#endif
+	public enum VerticesMode {
+		POINTS,
+		LINES,
+		LINE_LOOP,
+		LINE_STRIP,
+		TRIANGLES,
+		TRIANGLE_STRIP,
+		TRIANGLE_FAN
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", type_id = "cogl_winding_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINDING_", has_type_id = false)]
+#endif
+	public enum Winding {
+		CLOCKWISE,
+		COUNTER_CLOCKWISE
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", type_id = "cogl_winsys_feature_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)]
+#endif
+	public enum WinsysFeature {
+		VBLANK_COUNTER,
+		VBLANK_WAIT,
+		TEXTURE_FROM_PIXMAP,
+		SWAP_BUFFERS_EVENT,
+		SWAP_REGION,
+		SWAP_REGION_THROTTLE,
+		SWAP_REGION_SYNCHRONIZED,
+		BUFFER_AGE,
+		SYNC_AND_COMPLETE_EVENT,
+		N_FEATURES
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_ID_", has_type_id = false)]
+	public enum WinsysID {
+		ANY,
+		STUB,
+		GLX,
+		EGL_XLIB,
+		CUSTOM
+	}
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BITMAP_ERROR_", has_type_id = false)]
+	public errordomain BitmapError {
+		FAILED,
+		UNKNOWN_TYPE,
+		CORRUPT_IMAGE;
+		public static uint32 quark ();
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BLEND_STRING_ERROR_", has_type_id = false)]
+	public errordomain BlendStringError {
+		PARSE_ERROR,
+		ARGUMENT_PARSE_ERROR,
+		INVALID_ERROR,
+		GPU_UNSUPPORTED_ERROR;
+		[CCode (cheader_filename = "cogl/cogl.h")]
+		public static uint32 quark ();
+	}
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAMEBUFFER_ERROR_", has_type_id = false)]
+	public errordomain FramebufferError {
+		[CCode (cname = "COGL_FRAMEBUFFER_ERROR_ALLOCATE")]
+		FRAMEBUFFER_ERROR_ALLOCATE
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", type_id = "cogl_renderer_error_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", has_type_id = false)]
+#endif
+	public errordomain RendererError {
+		XLIB_DISPLAY_OPEN,
+		BAD_CONSTRAINT
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", type_id = "cogl_scanout_error_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", has_type_id = false)]
+#endif
+	public errordomain ScanoutError {
+		INHIBITED;
+		public static GLib.Quark quark ();
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", type_id = "cogl_system_error_get_type ()")]
+#else
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", has_type_id = false)]
+#endif
+	public errordomain SystemError {
+		UNSUPPORTED,
+		NO_MEMORY
+	}
+	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_ERROR_", has_type_id = false)]
+	public errordomain TextureError {
+		SIZE,
+		FORMAT,
+		BAD_PARAMETER,
+		TYPE;
+		public static uint32 quark ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 0.9)]
+	public delegate void AtlasUpdatePositionCallback (Cogl.Texture new_texture, Mtk.Rectangle rect);
+#endif
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+	public delegate void FeatureCallback (Cogl.FeatureID feature);
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+	public delegate void FenceCallback (Cogl.Fence fence);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
+	public delegate void FrameCallback (Cogl.Onscreen onscreen, Cogl.FrameEvent event, Cogl.FrameInfo info);
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
+	public delegate void MetaTextureCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords);
+#endif
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+	public delegate void OnscreenDirtyCallback (Cogl.Onscreen onscreen, Cogl.OnscreenDirtyInfo info);
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 1.9)]
+	public delegate void OutputCallback (Cogl.Output output);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+	public delegate bool PipelineLayerCallback (Cogl.Pipeline pipeline, int layer_index);
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 2.9)]
+	public delegate bool PrimitiveAttributeCallback (Cogl.Primitive primitive, Cogl.Attribute attribute);
+#endif
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h", instance_pos = 3.9)]
+	public delegate void TextureForeachCallback (Cogl.Texture sub_texture, float sub_texture_coords, float meta_coords);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")]
+	public const int TEXTURE_MAX_WASTE;
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static bool clutter_winsys_has_feature (Cogl.WinsysFeature feature);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	[Version (replacement = "Color.init_from_hsl")]
+	public static void color_init_from_hsl (out Cogl.Color color, float hue, float saturation, float luminance);
+#if !HAS_MUTTER48
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void debug_matrix_entry_print (Cogl.MatrixEntry entry);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void flush ();
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static unowned Cogl.Indices get_rectangle_indices (Cogl.Context context, int n_rectangles);
+#endif
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static GLib.Source glib_source_new (Cogl.Renderer renderer, int priority);
+#else
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static GLib.Source glib_renderer_source_new (Cogl.Renderer renderer, int priority);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static GLib.Source glib_source_new (Cogl.Context context, int priority);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h")]
+#if HAS_MUTTER48
+	public static void graphene_matrix_project_points_f3 (Graphene.Matrix matrix, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+#else
+	public static void graphene_matrix_project_point (Graphene.Matrix matrix, ref float x, ref float y, ref float z, ref float w);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void graphene_matrix_project_points (Graphene.Matrix matrix, int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void graphene_matrix_transform_points (Graphene.Matrix matrix, int n_components, size_t stride_in, void* points_in, size_t stride_out, void* points_out, int n_points);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	[Version (replacement = "PixelFormat.get_bytes_per_pixel")]
+	public static int pixel_format_get_bytes_per_pixel (Cogl.PixelFormat format, int plane);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	[Version (replacement = "PixelFormat.get_n_planes")]
+	public static int pixel_format_get_n_planes (Cogl.PixelFormat format);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	[Version (replacement = "PixelFormat.to_string")]
+	public static unowned string pixel_format_to_string (Cogl.PixelFormat format);
+#if !HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void poll_renderer_dispatch (Cogl.Renderer renderer, Cogl.PollFD poll_fds, int n_poll_fds);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static int poll_renderer_get_info (Cogl.Renderer renderer, Cogl.PollFD poll_fds, int n_poll_fds, int64 timeout);
+#endif
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void set_tracing_disabled_on_thread (void* data);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void set_tracing_enabled_on_thread (void* data, string group);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static bool start_tracing_with_fd (int fd) throws GLib.Error;
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static bool start_tracing_with_path (string filename) throws GLib.Error;
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void stop_tracing ();
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static unowned Cogl.Color? value_get_color (GLib.Value value);
+	[CCode (cheader_filename = "cogl/cogl.h")]
+	public static void value_set_color (GLib.Value value, Cogl.Color color);
+#endif
+}
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-cogl.vapi wingpanel-8.0.3/vapi/mutter-cogl.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-cogl.vapi	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/mutter-cogl.vapi	2025-09-02 19:01:44.944662189 +0200
@@ -226,11 +226,9 @@
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_pipeline")]
 		[Version (since = "2.0")]
 		public bool is_pipeline ();
-#if HAS_MUTTER43
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_snippet")]
 		[Version (since = "1.10")]
 		public bool is_snippet ();
-#endif
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_texture")]
 		public bool is_texture ();
 		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_texture_2d")]
@@ -286,12 +284,10 @@
 		[CCode (has_construct_function = false)]
 		[Version (since = "2.0")]
 		public Pipeline (Cogl.Context context);
-#if HAS_MUTTER43
 		[Version (since = "1.10")]
 		public void add_layer_snippet (int layer, Cogl.Snippet snippet);
 		[Version (since = "1.10")]
 		public void add_snippet (Cogl.Snippet snippet);
-#endif
 		[Version (since = "2.0")]
 		public Cogl.Pipeline copy ();
 		[Version (since = "2.0")]
@@ -306,14 +302,7 @@
 		public Cogl.PipelineCullFaceMode get_cull_face_mode ();
 		[Version (since = "2.0")]
 		public Cogl.Winding get_front_face_winding ();
-#if HAS_MUTTER44
 		public void get_layer_filters (int layer_index, out Cogl.PipelineFilter min_filter, out Cogl.PipelineFilter mag_filter);
-#else
-		[Version (since = "1.10")]
-		public Cogl.PipelineFilter get_layer_mag_filter (int layer_index);
-		[Version (since = "1.10")]
-		public Cogl.PipelineFilter get_layer_min_filter (int layer_index);
-#endif
 		[Version (since = "2.0")]
 		public bool get_layer_point_sprite_coords_enabled (int layer_index);
 		[Version (since = "1.10")]
@@ -480,7 +469,6 @@
 		[Version (deprecated = true, deprecated_since = "1.16")]
 		public void source (string source);
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_snippet_get_gtype ()")]
 	public class Snippet : Cogl.Object {
 		[CCode (has_construct_function = false)]
@@ -505,7 +493,6 @@
 		[Version (since = "1.10")]
 		public void set_replace (string replace);
 	}
-#endif
 	[CCode (cheader_filename = "cogl/cogl.h", lower_case_csuffix = "texture_2d", type_id = "cogl_texture_2d_get_gtype ()")]
 	public class Texture2D : Cogl.Object, Cogl.Texture {
 		[CCode (has_construct_function = false)]
@@ -538,17 +525,6 @@
 	[CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_texture_get_gtype ()")]
 	public interface Texture : Cogl.Object {
 		public bool allocate () throws GLib.Error;
-#if !HAS_MUTTER43
-		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_texture_new_from_bitmap")]
-		[Version (deprecated = true, deprecated_since = "1.18", replacement = "Texture.new_from_bitmap", since = "1.0")]
-		public static Cogl.Texture from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
-		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_texture_new_from_data")]
-		[Version (deprecated = true, deprecated_since = "1.18", replacement = "Texture.new_from_data", since = "0.8")]
-		public static Cogl.Texture from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, [CCode (array_length = false)] uint8[] data);
-		[CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_texture_new_from_file")]
-		[Version (deprecated = true, deprecated_since = "1.18", replacement = "Texture.new_from_file", since = "0.8")]
-		public static Cogl.Texture from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
-#endif
 		[Version (since = "1.18")]
 		public Cogl.TextureComponents get_components ();
 		public int get_data (Cogl.PixelFormat format, uint rowstride, [CCode (array_length = false)] uint8[] data);
@@ -559,14 +535,6 @@
 		public bool get_premultiplied ();
 		public uint get_width ();
 		public bool is_sliced ();
-#if !HAS_MUTTER43
-		[Version (deprecated = true, deprecated_since = "1.18", since = "1.0")]
-		public static Cogl.Texture new_from_bitmap (Cogl.Bitmap bitmap, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format);
-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
-		public static Cogl.Texture new_from_data (int width, int height, Cogl.TextureFlags flags, Cogl.PixelFormat format, Cogl.PixelFormat internal_format, int rowstride, [CCode (array_length = false)] uint8[] data);
-		[Version (deprecated = true, deprecated_since = "1.18", since = "0.8")]
-		public static Cogl.Texture new_from_file (string filename, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format) throws GLib.Error;
-#endif
 		[Version (since = "1.18")]
 		public void set_components (Cogl.TextureComponents components);
 		public bool set_data (Cogl.PixelFormat format, int rowstride, [CCode (array_length = false)] uint8[] data, int level) throws GLib.Error;
@@ -898,21 +866,13 @@
 		RG_88,
 		RGB_888,
 		BGR_888,
-#if HAS_MUTTER45
 		RGBX_8888,
-#endif
 		RGBA_8888,
-#if HAS_MUTTER45
 		BGRX_8888,
-#endif
 		BGRA_8888,
-#if HAS_MUTTER45
 		XRGB_8888,
-#endif
 		ARGB_8888,
-#if HAS_MUTTER45
 		XBGR_8888,
-#endif
 		ABGR_8888,
 		RGBA_1010102,
 		BGRA_1010102,
@@ -920,13 +880,9 @@
 		ARGB_2101010,
 		XBGR_2101010,
 		ABGR_2101010,
-#if HAS_MUTTER45
 		RGBX_FP_16161616,
-#endif
 		RGBA_FP_16161616,
-#if HAS_MUTTER45
 		BGRX_FP_16161616,
-#endif
 		BGRA_FP_16161616,
 		XRGB_FP_16161616,
 		ARGB_FP_16161616,
@@ -969,7 +925,6 @@
 		VERTEX,
 		FRAGMENT
 	}
-#if HAS_MUTTER43
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SNIPPET_HOOK_", has_type_id = false)]
 	[Version (since = "1.10")]
 	public enum SnippetHook {
@@ -983,7 +938,6 @@
 		LAYER_FRAGMENT,
 		TEXTURE_LOOKUP
 	}
-#endif
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_STEREO_", has_type_id = false)]
 	public enum StereoMode {
 		BOTH,
@@ -999,17 +953,6 @@
 		RGBA,
 		DEPTH
 	}
-#if !HAS_MUTTER43
-	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_", has_type_id = false)]
-	[Flags]
-	[Version (since = "1.0")]
-	public enum TextureFlags {
-		NONE,
-		NO_AUTO_MIPMAP,
-		NO_SLICING,
-		NO_ATLAS
-	}
-#endif
 	[CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_VERTICES_MODE_", has_type_id = false)]
 	[Version (since = "1.0")]
 	public enum VerticesMode {
@@ -1137,18 +1080,10 @@
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	[Version (since = "1.0")]
 	public static void flush ();
-#if !HAS_MUTTER44
-	[CCode (cheader_filename = "cogl/cogl.h")]
-	[Version (deprecated = true, deprecated_since = "1.16", since = "1.0")]
-	public static GLib.OptionGroup get_option_group ();
-#endif
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static bool is_tracing ();
-#endif
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void set_tracing_disabled_on_thread (GLib.MainContext main_context);
-#if HAS_MUTTER45
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void set_tracing_enabled_on_thread (GLib.MainContext main_context, string group);
 	[CCode (cheader_filename = "cogl/cogl.h")]
@@ -1157,12 +1092,6 @@
 	public static bool start_tracing_with_path (string filename) throws GLib.Error;
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void stop_tracing ();
-#else
-	[CCode (cheader_filename = "cogl/cogl.h")]
-	public static void set_tracing_enabled_on_thread (GLib.MainContext main_context, string group, string filename);
-	[CCode (cheader_filename = "cogl/cogl.h")]
-	public static void set_tracing_enabled_on_thread_with_fd (GLib.MainContext main_context, string group, int fd);
-#endif
 	[CCode (cheader_filename = "cogl/cogl.h")]
 	public static void trace_describe (Cogl.TraceHead head, string description);
 	[CCode (cheader_filename = "cogl/cogl.h")]
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-mtk-13.vapi wingpanel-8.0.3/vapi/mutter-mtk-13.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-mtk-13.vapi	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/vapi/mutter-mtk-13.vapi	2025-09-02 19:02:02.337984535 +0200
@@ -15,6 +15,9 @@
 		public static Mtk.Region create_rectangles (Mtk.Rectangle rects, int n_rects);
 		public Mtk.Region crop_and_scale (Graphene.Rect src_rect, int dst_width, int dst_height);
 		public bool equal (Mtk.Region other);
+#if HAS_MUTTER48
+		public void get_box (int nth, int x1, int y1, int x2, int y2);
+#endif
 		public Mtk.Rectangle? get_extents ();
 		public Mtk.Rectangle? get_rectangle (int nth);
 		public void intersect (Mtk.Region other);
@@ -44,6 +47,10 @@
 		[CCode (has_construct_function = false, type = "MtkRectangle*")]
 		public Rectangle (int x, int y, int width, int height);
 		public int area ();
+#if HAS_MUTTER48
+		public bool contains_point (int x, int y);
+		public bool contains_pointf (float x, float y);
+#endif
 		public bool contains_rect (Mtk.Rectangle inner_rect);
 		public Mtk.Rectangle? copy ();
 		public bool could_fit_rect (Mtk.Rectangle inner_rect);
@@ -107,7 +114,13 @@
 		FLIPPED_90,
 		FLIPPED_180,
 		FLIPPED_270;
+#if HAS_MUTTER48
+		public static Mtk.MonitorTransform from_string (string name);
+#endif
 		public Mtk.MonitorTransform invert ();
+#if HAS_MUTTER48
+		public unowned string to_string ();
+#endif
 		public Mtk.MonitorTransform transform (Mtk.MonitorTransform other);
 		public void transform_matrix (Graphene.Matrix matrix);
 		public void transform_point (int area_width, int area_height, int point_x, int point_y);
@@ -128,6 +141,10 @@
 		GROW,
 		ROUND
 	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	public static void compute_viewport_matrix (Graphene.Matrix matrix, int width, int height, float scale, Mtk.MonitorTransform transform, Graphene.Rect src_rect);
+#endif
 	[CCode (cheader_filename = "mtk/mtk.h")]
 	[Version (replacement = "Rectangle.from_graphene_rect")]
 	public static Mtk.Rectangle rectangle_from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy);
diff '--color=auto' -Naur wingpanel-8.0.3_orig/vapi/mutter-mtk-16.vapi wingpanel-8.0.3/vapi/mutter-mtk-16.vapi
--- wingpanel-8.0.3_orig/vapi/mutter-mtk-16.vapi	1970-01-01 01:00:00.000000000 +0100
+++ wingpanel-8.0.3/vapi/mutter-mtk-16.vapi	2025-09-02 19:02:02.337984535 +0200
@@ -0,0 +1,164 @@
+/* mutter-mtk-13.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Mtk", gir_namespace = "Mtk", gir_version = "13", lower_case_cprefix = "mtk_")]
+namespace Mtk {
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "mtk/mtk.h", ref_function = "mtk_region_ref", type_id = "mtk_region_get_type ()", unref_function = "mtk_region_unref")]
+	[Compact]
+	public class Region {
+		public Mtk.Region apply_matrix_transform_expand (Graphene.Matrix transform);
+		public bool contains_point (int x, int y);
+		public Mtk.RegionOverlap contains_rectangle (Mtk.Rectangle rect);
+		public Mtk.Region copy ();
+		public static Mtk.Region create ();
+		public static Mtk.Region create_rectangle (Mtk.Rectangle rect);
+		public static Mtk.Region create_rectangles (Mtk.Rectangle rects, int n_rects);
+		public Mtk.Region crop_and_scale (Graphene.Rect src_rect, int dst_width, int dst_height);
+		public bool equal (Mtk.Region other);
+#if HAS_MUTTER48
+		public void get_box (int nth, int x1, int y1, int x2, int y2);
+#endif
+		public Mtk.Rectangle? get_extents ();
+		public Mtk.Rectangle? get_rectangle (int nth);
+		public void intersect (Mtk.Region other);
+		public void intersect_rectangle (Mtk.Rectangle rect);
+		public bool is_empty ();
+		public int num_rectangles ();
+		public unowned Mtk.Region @ref ();
+		public Mtk.Region scale (int scale);
+		public void subtract (Mtk.Region other);
+		public void subtract_rectangle (Mtk.Rectangle rect);
+		public void translate (int dx, int dy);
+		public void union (Mtk.Region other);
+		public void union_rectangle (Mtk.Rectangle rect);
+		public void unref ();
+	}
+#endif
+	[CCode (cheader_filename = "mtk/mtk.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "mtk_rectangle_get_type ()")]
+	public struct Rectangle {
+		public int x;
+		public int y;
+		public int width;
+		public int height;
+#if HAS_MUTTER46
+		[CCode (cname = "MTK_RECTANGLE_MAX_STACK_RECTS")]
+		public const int MAX_STACK_RECTS;
+#endif
+		[CCode (has_construct_function = false, type = "MtkRectangle*")]
+		public Rectangle (int x, int y, int width, int height);
+		public int area ();
+#if HAS_MUTTER48
+		public bool contains_point (int x, int y);
+		public bool contains_pointf (float x, float y);
+#endif
+		public bool contains_rect (Mtk.Rectangle inner_rect);
+		public Mtk.Rectangle? copy ();
+		public bool could_fit_rect (Mtk.Rectangle inner_rect);
+#if HAS_MUTTER46
+		public void crop_and_scale (Graphene.Rect src_rect, int dst_width, int dst_height, Mtk.Rectangle dest);
+#endif
+#if HAS_MUTTER47
+		[CCode (has_construct_function = false, type = "MtkRectangle*")]
+		public Rectangle.empty ();
+#endif
+		public bool equal (Mtk.Rectangle src2);
+		public void free ();
+		public static Mtk.Rectangle from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy);
+		public bool horiz_overlap (Mtk.Rectangle rect2);
+		public bool intersect (Mtk.Rectangle src2, out Mtk.Rectangle dest);
+#if HAS_MUTTER46
+		public bool is_adjacent_to (Mtk.Rectangle other);
+#endif
+		public bool overlap (Mtk.Rectangle rect2);
+#if HAS_MUTTER46
+		public void scale_double (double scale, Mtk.RoundingStrategy rounding_strategy, Mtk.Rectangle dest);
+#endif
+		public Graphene.Rect? to_graphene_rect ();
+#if HAS_MUTTER47
+		public void transform (Mtk.MonitorTransform transform, int width, int height, Mtk.Rectangle dest);
+#endif
+		public Mtk.Rectangle union (Mtk.Rectangle rect2);
+		public bool vert_overlap (Mtk.Rectangle rect2);
+	}
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "mtk/mtk.h", has_type_id = false)]
+	public struct RegionBuilder {
+		[CCode (array_length_cname = "n_levels")]
+		public weak Mtk.Region levels[16];
+		public int n_levels;
+		[CCode (cname = "MTK_REGION_BUILDER_MAX_LEVELS")]
+		public const int MAX_LEVELS;
+		public void add_rectangle (int x, int y, int width, int height);
+		public Mtk.Region finish ();
+		public void init ();
+	}
+	[CCode (cheader_filename = "mtk/mtk.h", has_type_id = false)]
+	public struct RegionIterator {
+		public weak Mtk.Region region;
+		public Mtk.Rectangle rectangle;
+		public bool line_start;
+		public bool line_end;
+		public int i;
+		public bool at_end ();
+		public void init (Mtk.Region region);
+		public void next ();
+	}
+#if HAS_MUTTER47
+	[CCode (cheader_filename = "mtk/mtk.h", cprefix = "MTK_MONITOR_TRANSFORM_", has_type_id = false)]
+	public enum MonitorTransform {
+		NORMAL,
+		@90,
+		@180,
+		@270,
+		FLIPPED,
+		FLIPPED_90,
+		FLIPPED_180,
+		FLIPPED_270;
+#if HAS_MUTTER48
+		public static Mtk.MonitorTransform from_string (string name);
+#endif
+		public Mtk.MonitorTransform invert ();
+#if HAS_MUTTER48
+		public unowned string to_string ();
+#endif
+		public Mtk.MonitorTransform transform (Mtk.MonitorTransform other);
+		public void transform_matrix (Graphene.Matrix matrix);
+		public void transform_point (int area_width, int area_height, int point_x, int point_y);
+		[CCode (cname = "MTK_MONITOR_ALL_TRANSFORMS")]
+		public const int ALL;
+	}
+#endif
+	[CCode (cheader_filename = "mtk/mtk.h", cprefix = "MTK_REGION_OVERLAP_", has_type_id = false)]
+	public enum RegionOverlap {
+		OUT,
+		IN,
+		PART
+	}
+#endif
+	[CCode (cheader_filename = "mtk/mtk.h", cprefix = "MTK_ROUNDING_STRATEGY_", has_type_id = false)]
+	public enum RoundingStrategy {
+		SHRINK,
+		GROW,
+		ROUND
+	}
+#if HAS_MUTTER48
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	public static void compute_viewport_matrix (Graphene.Matrix matrix, int width, int height, float scale, Mtk.MonitorTransform transform, Graphene.Rect src_rect);
+#endif
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	[Version (replacement = "Rectangle.from_graphene_rect")]
+	public static Mtk.Rectangle rectangle_from_graphene_rect (Graphene.Rect rect, Mtk.RoundingStrategy rounding_strategy);
+#if HAS_MUTTER46
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	[Version (replacement = "Region.create")]
+	public static Mtk.Region region_create ();
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	[Version (replacement = "Region.create_rectangle")]
+	public static Mtk.Region region_create_rectangle (Mtk.Rectangle rect);
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	[Version (replacement = "Region.create_rectangles")]
+	public static Mtk.Region region_create_rectangles (Mtk.Rectangle rects, int n_rects);
+#endif
+	[CCode (cheader_filename = "mtk/mtk.h")]
+	public static void x11_errors_deinit ();
+}
diff '--color=auto' -Naur wingpanel-8.0.3_orig/wingpanel-interface/FocusManager.vala wingpanel-8.0.3/wingpanel-interface/FocusManager.vala
--- wingpanel-8.0.3_orig/wingpanel-interface/FocusManager.vala	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/wingpanel-interface/FocusManager.vala	2025-09-02 19:03:47.117918338 +0200
@@ -128,6 +128,7 @@
                 }
 
                 if (event.get_type () == MOTION || event.get_type () == TOUCH_UPDATE) {
+#if HAS_MUTTER46
                     window.begin_grab_op (
                         Meta.GrabOp.MOVING,
                         event.get_device (),
@@ -135,6 +136,14 @@
                         event.get_time (),
                         { x, y }
                     );
+#else
+                    window.begin_grab_op (
+                        Meta.GrabOp.MOVING,
+                        event.get_device (),
+                        event.get_event_sequence (),
+                        event.get_time ()
+                    );
+#endif
                 }
 
                 wm.pop_modal (proxy);
diff '--color=auto' -Naur wingpanel-8.0.3_orig/wingpanel-interface/meson.build wingpanel-8.0.3/wingpanel-interface/meson.build
--- wingpanel-8.0.3_orig/wingpanel-interface/meson.build	2025-09-02 18:54:28.884492732 +0200
+++ wingpanel-8.0.3/wingpanel-interface/meson.build	2025-09-02 19:04:16.981232806 +0200
@@ -5,39 +5,6 @@
 c_flags =['-DCLUTTER_ENABLE_COMPOSITOR_API', '-DCLUTTER_ENABLE_EXPERIMENTAL_API',
 		'-DCOGL_ENABLE_EXPERIMENTAL_API', '-DCOGL_ENABLE_EXPERIMENTAL_2_0_API']
 
-mutter42_dep = dependency('libmutter-10', version: ['>= 42', '< 43'], required: false)
-if mutter42_dep.found()
-	libmutter_dep = dependency('libmutter-10', version: '>= 42')
-	mutter_dep = [
-		libmutter_dep,
-		dependency('mutter-cogl-10'), dependency('mutter-cogl-pango-10'),
-		dependency('mutter-clutter-10')
-	]
-	vala_flags = []
-endif
-
-mutter43_dep = dependency('libmutter-11', version: ['>= 43', '< 44'], required: false)
-if mutter43_dep.found()
-	libmutter_dep = dependency('libmutter-11', version: '>= 43')
-	mutter_dep = [
-		libmutter_dep,
-		dependency('mutter-cogl-11'), dependency('mutter-cogl-pango-11'),
-		dependency('mutter-clutter-11')
-	]
-	vala_flags = ['--define', 'HAS_MUTTER43']
-endif
-
-mutter44_dep = dependency('libmutter-12', version: ['>= 44', '< 45'], required: false)
-if mutter44_dep.found()
-	libmutter_dep = dependency('libmutter-12', version: '>= 44')
-	mutter_dep = [
-		libmutter_dep,
-		dependency('mutter-cogl-12'), dependency('mutter-cogl-pango-12'),
-		dependency('mutter-clutter-12')
-	]
-	vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44']
-endif
-
 mutter45_dep = dependency('libmutter-13', version: ['>= 45', '< 46'], required: false)
 if mutter45_dep.found()
 	libmutter_dep = dependency('libmutter-13', version: '>= 45')
@@ -46,7 +13,7 @@
 		dependency('mutter-mtk-13'), dependency('mutter-cogl-13'),
 		dependency('mutter-cogl-pango-13'), dependency('mutter-clutter-13')
 	]
-	vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45']
+	vala_flags = []
 endif
 
 mutter46_dep = dependency('libmutter-14', version: ['>= 46', '< 47'], required: false)
@@ -57,7 +24,7 @@
 		dependency('mutter-mtk-14'), dependency('mutter-cogl-14'),
 		dependency('mutter-cogl-pango-14'), dependency('mutter-clutter-14')
 	]
-	vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45', '--define', 'HAS_MUTTER46']
+	vala_flags = ['--define', 'HAS_MUTTER46']
 endif
 
 mutter47_dep = dependency('libmutter-15', version: ['>= 47', '< 48'], required: false)
@@ -68,13 +35,28 @@
 		dependency('mutter-mtk-15'), dependency('mutter-cogl-15'),
 		dependency('mutter-cogl-pango-15'), dependency('mutter-clutter-15')
 	]
-	vala_flags = ['--define', 'HAS_MUTTER43', '--define', 'HAS_MUTTER44', '--define', 'HAS_MUTTER45', '--define', 'HAS_MUTTER46', '--define', 'HAS_MUTTER47']
+	vala_flags = ['--define', 'HAS_MUTTER46', '--define', 'HAS_MUTTER47']
+endif
+
+mutter48_dep = dependency('libmutter-16', version: ['>= 48', '< 49'], required: false)
+if mutter48_dep.found()
+	libmutter_dep = dependency('libmutter-16', version: '>= 48')
+	mutter_dep = [
+		libmutter_dep,
+		dependency('mutter-mtk-16'), dependency('mutter-cogl-16'),
+		dependency('mutter-clutter-16')
+	]
+	vala_flags = ['--define', 'HAS_MUTTER46', '--define', 'HAS_MUTTER47', '--define', 'HAS_MUTTER48']
 endif
 
 if mutter_dep.length() == 0
 	error ('No supported mutter library found!')
 endif
 
+if vala.version().version_compare('>= 0.56.17')
+    vala_flags += ['--define', 'VALA_0_56_17']
+endif
+
 mutter_typelib_dir = libmutter_dep.get_variable('typelibdir')
 
 gala_dep = dependency('gala')
