commit 8933e40819ddc7d7659a8e3b11caaa285db5bbca Author: Sofia Boldyreva Date: Tue Mar 21 22:22:34 2023 +0100 Import wingpanel-3.0.2-4.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e6220b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/wingpanel-3.0.2.tar.gz diff --git a/.wingpanel.metadata b/.wingpanel.metadata new file mode 100644 index 0000000..81875d8 --- /dev/null +++ b/.wingpanel.metadata @@ -0,0 +1 @@ +fd0eba7082e44b25c63354b211ec4f69cf010355 SOURCES/wingpanel-3.0.2.tar.gz diff --git a/SOURCES/434.patch b/SOURCES/434.patch new file mode 100644 index 0000000..bd4bab1 --- /dev/null +++ b/SOURCES/434.patch @@ -0,0 +1,1993 @@ +From 3cb4daa89a04f0f134679229d9dc4c9b1638a12f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Corentin=20No=C3=ABl?= +Date: Tue, 18 Jan 2022 19:45:40 +0100 +Subject: [PATCH] Add support for Mutter 42 + +--- + vapi/Clutter-10-custom.vala | 53 +++++++++ + vapi/Clutter-10.metadata | 192 ++++++++++++++++++++++++++++++++ + vapi/Clutter-9-custom.vala | 23 ++++ + vapi/Clutter-9.metadata | 19 +++- + vapi/Cogl-10-custom.vala | 161 ++++++++++++++++++++++++++ + vapi/Cogl-10.metadata | 68 +++++++++++ + vapi/Meta-10.metadata | 181 ++++++++++++++++++++++++++++++ + vapi/config.vapi | 2 + + vapi/libmutter-10.deps | 1 + + vapi/libmutter-10.vapi | 1 + + vapi/libmutter.vapi | 46 +++++++- + vapi/libsystemd.vapi | 18 +++ + vapi/meson.build | 69 ++++++++++++ + vapi/mutter-clutter-10.deps | 6 + + vapi/mutter-clutter-10.vapi | 1 + + vapi/mutter-clutter-9.deps | 2 +- + vapi/mutter-clutter.vapi | 184 +++++++++++++++++++++++++----- + vapi/mutter-cogl-10.deps | 1 + + vapi/mutter-cogl-10.vapi | 1 + + vapi/mutter-cogl-6.vapi | 77 ++++++++++++- + vapi/mutter-cogl-pango-10.vapi | 1 + + wingpanel-interface/meson.build | 11 ++ + 22 files changed, 1080 insertions(+), 38 deletions(-) + create mode 100644 vapi/Clutter-10-custom.vala + create mode 100644 vapi/Clutter-10.metadata + create mode 100644 vapi/Cogl-10-custom.vala + create mode 100644 vapi/Cogl-10.metadata + create mode 100644 vapi/Meta-10.metadata + create mode 120000 vapi/libmutter-10.deps + create mode 120000 vapi/libmutter-10.vapi + create mode 100644 vapi/libsystemd.vapi + create mode 100644 vapi/mutter-clutter-10.deps + create mode 120000 vapi/mutter-clutter-10.vapi + create mode 120000 vapi/mutter-cogl-10.deps + create mode 120000 vapi/mutter-cogl-10.vapi + create mode 120000 vapi/mutter-cogl-pango-10.vapi + +diff --git a/vapi/Clutter-10-custom.vala b/vapi/Clutter-10-custom.vala +new file mode 100644 +index 00000000..e5c71c2d +--- /dev/null ++++ b/vapi/Clutter-10-custom.vala +@@ -0,0 +1,53 @@ ++namespace Clutter { ++ public struct Color { ++ [CCode (cname = "_vala_clutter_color_from_hls")] ++ public static Clutter.Color? from_hls (float hue, float luminance, float saturation) { ++ var 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) { ++ var color = Clutter.Color.alloc (); ++ color.init_from_pixel (pixel); ++ return color; ++ } ++ [CCode (cname = "_vala_clutter_color_from_string")] ++ public static Clutter.Color? from_string (string str) { ++ var color = Clutter.Color.alloc (); ++ color.init_from_string (str); ++ return color; ++ } ++ [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 --git a/vapi/Clutter-10.metadata b/vapi/Clutter-10.metadata +new file mode 100644 +index 00000000..5b69ae58 +--- /dev/null ++++ b/vapi/Clutter-10.metadata +@@ -0,0 +1,192 @@ ++// Non mini-object ++ActorBox struct ++Color struct ++Knot struct ++Margin struct ++PaintVolume struct ++PathNode struct ++Perspective struct ++Units struct ++ ++*.ref unowned ++ ++Actor ++ .apply_transform.matrix ref ++ .get_abs_allocation_vertices.verts out=false ++Canvas ++ .new symbol_type="constructor" ++Event.type#method name="get_type" ++Image ++ .new symbol_type="constructor" ++ ++// ??? ++Actor.has_pointer#method name="get_has_pointer" ++ScriptError errordomain ++ImageError errordomain ++ ++// Not all backing symbols are deprecated ++Actor.pick deprecated=false ++ ++// Nullable return values ++Actor ++ .get_parent nullable ++value_get_color nullable ++ ++// 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 ++Container ++ .add_actor skip=false ++ .class_* skip ++Text ++ .activate#method name="try_activate" ++ .insert_text#signal skip ++TextBuffer.get_text#virtual_method name="get_text_with_length" ++ ++// virtual/abstract distinction ++Container ++ .*_child_meta#virtual_method virtual ++ ++// 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 ++ ++// Reparented funcs methods can't be instance methods ++feature_available skip ++feature_get_all skip ++ ++// Skipped by g-i for unknown reasons ++LayoutManager ++ .create_child_meta skip=false ++ ++// Variadic arguments ++Backend ++ .get_cogl_context skip=false ++Container ++ .child_get skip=false ++ .child_set skip=false ++ .remove 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 ++Script ++ .get_objects skip=false ++ ++// Skipped upstream for unknown reasons ++Interval.register_progress_func skip=false ++threads_add_idle skip=false ++threads_add_idle_full skip=false ++threads_add_timeout skip=false ++threads_add_timeout_full skip=false ++ ++// struct/class confusion ++ActorBox ++ .new skip ++ .from_vertices skip ++Units.from_* skip ++Margin ++ .new skip ++ ++// Class methods ++container_class_find_child_property skip ++container_class_list_child_properties skip ++ ++// Move symbols ++units_from_* skip ++ ++// Struct return values ++color_get_static nullable ++ ++// Upstream ++Event ++ .get_position.position out ++ ++FrameListenerIface skip ++FrameClock.new skip ++ ++// Remove for clutter-2.0 ++///////////////////////// ++ ++StageView.layout skip ++ ++Stage ++ .event name="emit_event" ++ .paint_view.redraw_clip type="Cairo.Region" ++ ++Capture ++ .image type="Cairo.ImageSurface" ++ ++// *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 ++COGL skip=false ++CURRENT_TIME skip=false ++FLAVOUR skip=false ++PATH_RELATIVE 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" ++threads_add_idle name="add" parent="Clutter.Threads.Idle" ++threads_add_idle_full name="add_full" parent="Clutter.Threads.Idle" ++threads_add_timeout name="add" parent="Clutter.Threads.Timeout" ++threads_add_timeout_full name="add_full" parent="Clutter.Threads.Timeout" ++ ++// Backwards compatibility ++Color.alloc symbol_type="function" ++ ++Color.from_hls name="init_from_hls" ++Color.from_pixel name="init_from_pixel" ++Color.from_string name="init_from_string" ++ ++Color.new name="from_rgba" symbol_type="function" ++ .alpha default=0 ++ .blue default=0 ++ .green default=0 ++ .red default=0 ++ ++Color.init ++ .alpha default=0 ++ .blue default=0 ++ .green default=0 ++ .red default=0 ++ ++BinAlignment deprecated=false deprecated_since=null ++BinAlignment.* deprecated ++BinAlignment.start deprecated=false ++BinLayout.new.*_align default=Clutter.BinAlignment.START ++ ++// Possibly keep ++KEY_* skip=false name="KEY_(.+)" type="uint" parent="Clutter.Key" +diff --git a/vapi/Clutter-9-custom.vala b/vapi/Clutter-9-custom.vala +index abc9b22d..e5c71c2d 100644 +--- a/vapi/Clutter-9-custom.vala ++++ b/vapi/Clutter-9-custom.vala +@@ -1,4 +1,27 @@ + namespace Clutter { ++ public struct Color { ++ [CCode (cname = "_vala_clutter_color_from_hls")] ++ public static Clutter.Color? from_hls (float hue, float luminance, float saturation) { ++ var 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) { ++ var color = Clutter.Color.alloc (); ++ color.init_from_pixel (pixel); ++ return color; ++ } ++ [CCode (cname = "_vala_clutter_color_from_string")] ++ public static Clutter.Color? from_string (string str) { ++ var color = Clutter.Color.alloc (); ++ color.init_from_string (str); ++ return color; ++ } ++ [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")] +diff --git a/vapi/Clutter-9.metadata b/vapi/Clutter-9.metadata +index 7955ad82..0750e787 100644 +--- a/vapi/Clutter-9.metadata ++++ b/vapi/Clutter-9.metadata +@@ -106,8 +106,6 @@ ActorBox + .new skip + .from_vertices skip + Units.from_* skip +-Color +- .new skip + Margin + .new skip + +@@ -116,7 +114,6 @@ container_class_find_child_property skip + container_class_list_child_properties skip + + // Move symbols +-color_from_* skip + units_from_* skip + + // Struct return values +@@ -178,6 +175,22 @@ threads_add_timeout_full name="add_full" parent="Clutter.Threads.Timeout" + // Backwards compatibility + Color.alloc symbol_type="function" + ++Color.from_hls name="init_from_hls" ++Color.from_pixel name="init_from_pixel" ++Color.from_string name="init_from_string" ++ ++Color.new name="from_rgba" symbol_type="function" ++ .alpha default=0 ++ .blue default=0 ++ .green default=0 ++ .red default=0 ++ ++Color.init ++ .alpha default=0 ++ .blue default=0 ++ .green default=0 ++ .red default=0 ++ + BinAlignment deprecated=false deprecated_since=null + BinAlignment.* deprecated + BinAlignment.start deprecated=false +diff --git a/vapi/Cogl-10-custom.vala b/vapi/Cogl-10-custom.vala +new file mode 100644 +index 00000000..f6034717 +--- /dev/null ++++ b/vapi/Cogl-10-custom.vala +@@ -0,0 +1,161 @@ ++namespace Cogl { ++ public struct Color { ++ [Version (since = "1.4")] ++ [CCode (cname="cogl_color_init_from_4f")] ++ public Color.from_4f (float red, float green, float blue, float alpha); ++ [Version (since = "1.4")] ++ [CCode (cname="cogl_color_init_from_4fv")] ++ public Color.from_4fv (float color_array); ++ [Version (since = "1.4")] ++ [CCode (cname="cogl_color_init_from_4ub")] ++ public Color.from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha); ++ [Version (since = "1.16")] ++ [CCode (cname="cogl_color_init_from_hsl")] ++ public Color.from_hsl (float hue, float saturation, float luminance); ++ } ++ ++ [Compact] ++ [CCode (cname = "CoglHandle", cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] ++ public class Shader : Cogl.Handle { ++ } ++ ++ [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_primitive_get_gtype ()")] ++ public class Primitive : Cogl.Object { ++ [CCode (has_construct_function = false)] ++ protected Primitive (); ++ [Version (since = "1.10")] ++ public Cogl.Primitive copy (); ++ [Version (since = "1.16")] ++ public void draw (Cogl.Framebuffer framebuffer, Cogl.Pipeline pipeline); ++ public int get_first_vertex (); ++ public Cogl.VerticesMode get_mode (); ++ [Version (since = "1.8")] ++ public int get_n_vertices (); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ 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)] ++ [Version (since = "1.6")] ++ 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)] ++ [Version (since = "1.6")] ++ public Primitive.p2t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2[] data); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ public Primitive.p2t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP2T2C4[] data); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ public Primitive.p3 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3[] data); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ public Primitive.p3c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3C4[] data); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ public Primitive.p3t2 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2[] data); ++ [CCode (has_construct_function = false)] ++ [Version (since = "1.6")] ++ public Primitive.p3t2c4 (Cogl.Context context, Cogl.VerticesMode mode, [CCode (array_length_cname = "n_vertices", array_length_pos = 2.5)] Cogl.VertexP3T2C4[] data); ++ public void set_first_vertex (int first_vertex); ++ public void set_mode (Cogl.VerticesMode mode); ++ [Version (since = "1.8")] ++ public void set_n_vertices (int n_vertices); ++ } ++ ++ [Compact] ++ [CCode (cname = "CoglHandle", cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] ++ public class Program : Cogl.Handle { ++ } ++ ++ [Compact] ++ [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_handle_get_gtype ()", ref_function = "cogl_object_ref", unref_function = "cogl_object_unref")] ++ public class Handle { ++ [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_material")] ++ [Version (deprecated = true, deprecated_since = "1.16")] ++ public bool is_material (); ++ [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_program")] ++ [Version (deprecated = true, deprecated_since = "1.16")] ++ public bool is_program (Cogl.Handle handle); ++ [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_shader")] ++ [Version (deprecated = true, deprecated_since = "1.16")] ++ public bool is_shader (); ++ [CCode (cheader_filename = "cogl/cogl.h", cname="cogl_is_texture")] ++ public bool is_texture (); ++ } ++ ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Version (since = "1.6")] ++ public struct VertexP2 { ++ public float x; ++ public float y; ++ } ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Version (since = "1.6")] ++ 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)] ++ [Version (since = "1.6")] ++ 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)] ++ [Version (since = "1.6")] ++ 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)] ++ [Version (since = "1.6")] ++ public struct VertexP3 { ++ public float x; ++ public float y; ++ public float z; ++ } ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Version (since = "1.6")] ++ public struct VertexP3C4 { ++ public float x; ++ public float y; ++ public float z; ++ public uint8 r; ++ public uint8 g; ++ public uint8 b; ++ public uint8 a; ++ } ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Version (since = "1.6")] ++ public struct VertexP3T2 { ++ public float x; ++ public float y; ++ public float z; ++ public float s; ++ public float t; ++ } ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Version (since = "1.6")] ++ 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; ++ } ++} +diff --git a/vapi/Cogl-10.metadata b/vapi/Cogl-10.metadata +new file mode 100644 +index 00000000..06197be7 +--- /dev/null ++++ b/vapi/Cogl-10.metadata +@@ -0,0 +1,68 @@ ++* cheader_filename="cogl/cogl.h" ++ ++Color struct ++ ++_ColorSizeCheck skip ++_TextureVertexSizeCheck skip ++ ++Color.equal.v1 type="Cogl.Color" ++Color.equal.v2 type="Cogl.Color" ++color_equal skip ++ ++Context.free_timestamp_query.query owned ++ ++texture_new_* name="texture_new_(.+)" parent="Cogl.Texture" ++Texture ++ .get_data.data type="uint8[]" ++ .new_from_data.data type="uint8[]" ++ .set_data.data type="uint8[]" ++ .set_region.data type="uint8[]" ++ ++Texture2D ++ .new_from_data skip=false ++ .new_from_data.data array=true ++ ++shader_* name="shader_(.+)" parent="Cogl.Shader" ++shader_* symbol_type="method" instance_idx=0 ++ ++program_* name="program_(.+)" parent="Cogl.Program" ++program_attach_shader symbol_type="method" instance_idx=0 ++program_get_uniform_location symbol_type="method" instance_idx=0 ++program_link symbol_type="method" instance_idx=0 ++program_set_uniform_1f symbol_type="method" instance_idx=0 ++program_set_uniform_1i symbol_type="method" instance_idx=0 ++program_set_uniform_float symbol_type="method" instance_idx=0 ++program_set_uniform_int symbol_type="method" instance_idx=0 ++program_set_uniform_matrix symbol_type="method" instance_idx=0 ++ ++is_bitmap parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_program parent="Cogl.Handle" ++is_shader parent="Cogl.Handle" ++is_texture parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_context parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_framebuffer parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_frame_info parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_pipeline parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_texture_2d parent="Cogl.Object" symbol_type="method" instance_idx=0 ++is_texture_2d_sliced parent="Cogl.Object" symbol_type="method" instance_idx=0 ++ ++create_program type="unowned Cogl.Program" name="create" parent="Cogl.Program" ++create_shader type="unowned Cogl.Shader" name="create" parent="Cogl.Shader" ++ ++foreach_feature parent="Cogl.Context" symbol_type="method" instance_idx=0 ++get_graphics_reset_status parent="Cogl.Context" symbol_type="method" instance_idx=0 ++has_feature parent="Cogl.Context" symbol_type="method" instance_idx=0 ++ ++Bitmap.error_quark parent="Cogl.BitmapError" name="quark" ++Texture.error_quark parent="Cogl.TextureError" name="quark" ++texture_error_quark skip ++Scanout.error_quark parent="Cogl.ScanoutError" name="quark" ++scanout_error_quark skip ++ ++BitmapError errordomain ++BlendStringError errordomain ++RendererError errordomain ++SystemError errordomain ++TextureError errordomain ++FramebufferError errordomain ++ScanoutError errordomain +diff --git a/vapi/Meta-10.metadata b/vapi/Meta-10.metadata +new file mode 100644 +index 00000000..eaefc051 +--- /dev/null ++++ b/vapi/Meta-10.metadata +@@ -0,0 +1,181 @@ ++* skip=false ++*.* skip=false ++* cheader_filename="meta/main.h" ++ ++Backend cheader_filename="meta/meta-backend.h" ++Backend.gpu_added skip ++get_backend parent="Meta.Backend" cheader_filename="meta/meta-backend.h" ++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" ++ButtonFunction cheader_filename="meta/common.h" ++ButtonLayout cheader_filename="meta/common.h" ++Compositor cheader_filename="meta/compositor.h" ++Compositor.sync_stack.stack type_arguments="Meta.Window" ++get_feedback_group_for_display parent="Meta.Display" symbol_type="method" name="get_feedback_group" instance_idx=0 cheader_filename="meta/compositor-mutter.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" ++focus_stage_window parent="Meta.Display" symbol_type="method" instance_idx=0 cheader_filename="meta/compositor-mutter.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" ++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 ++DebugTopic cheader_filename="meta/util.h" ++Direction cheader_filename="meta/common.h" ++Display cheader_filename="meta/display.h" ++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" ++Frame cheader_filename="meta/types.h" ++FrameBorders cheader_filename="meta/common.h" ++FrameFlags cheader_filename="meta/common.h" ++FrameType cheader_filename="meta/common.h" ++GrabOp cheader_filename="meta/common.h" ++Group cheader_filename="meta/group.h" ++Group.property_notify.event type="X.Event" ref ++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" ++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" ++LaterType cheader_filename="meta/util.h" ++LocaleDirection cheader_filename="meta/util.h" ++MaximizeFlags cheader_filename="meta/window.h" ++ModalOptions cheader_filename="meta/meta-plugin.h" ++MonitorManager cheader_filename="meta/meta-monitor-manager.h" ++MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h" ++MotionDirection cheader_filename="meta/common.h" ++PadActionType cheader_filename="meta/display.h" ++Plugin cheader_filename="meta/meta-plugin.h" ++Plugin.xevent_filter.event type="X.Event" ref ++PluginInfo cheader_filename="meta/meta-plugin.h" ++Preference cheader_filename="meta/prefs.h" ++PrefsChangedFunc cheader_filename="meta/prefs.h" ++Rectangle cheader_filename="meta/boxes.h" struct ++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" ++Shadow cheader_filename="meta/meta-shadow-factory.h" ++ShadowFactory cheader_filename="meta/meta-shadow-factory.h" ++ShadowMode cheader_filename="meta/meta-window-actor.h" ++ShadowParams cheader_filename="meta/meta-shadow-factory.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" ++Stage.is_focused parent="Meta.Display" symbol_type="method" name="stage_is_focused" instance_idx=0 cheader_filename="meta/compositor-mutter.h" ++Strut cheader_filename="meta/boxes.h" ++TabList cheader_filename="meta/display.h" ++TabShowType cheader_filename="meta/display.h" ++Theme cheader_filename="meta/theme.h" ++theme_get_default cheader_filename="meta/theme.h" ++theme_new cheader_filename="meta/theme.h" ++VirtualModifier cheader_filename="meta/common.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.icon type="Cairo.Surface" ++Window.mini_icon type="Cairo.Surface" ++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" ++WindowShape cheader_filename="meta/meta-window-shape.h" ++WindowType cheader_filename="meta/window.h" ++X11Display cheader_filename="meta/meta-x11-display.h" ++ ++rect 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" ++ ++CURRENT_TIME cheader_filename="meta/common.h" ++ICON_WIDTH cheader_filename="meta/common.h" ++ICON_HEIGHT cheader_filename="meta/common.h" ++MINI_ICON_WIDTH cheader_filename="meta/common.h" ++MINI_ICON_HEIGHT cheader_filename="meta/common.h" ++DEFAULT_ICON_NAME 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" ++ ++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" ++get_locale_direction parent="Meta.Util" cheader_filename="meta/util.h" ++is_syncing parent="Meta.Util" cheader_filename="meta/util.h" ++is_verbose parent="Meta.Util" cheader_filename="meta/util.h" ++is_wayland_compositor parent="Meta.Util" cheader_filename="meta/util.h" ++later_add parent="Meta.Util" cheader_filename="meta/util.h" ++later_remove parent="Meta.Util" cheader_filename="meta/util.h" ++pop_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h" ++push_no_msg_prefix parent="Meta.Util" cheader_filename="meta/util.h" ++remove_verbose_topic parent="Meta.Util" cheader_filename="meta/util.h" ++show_dialog parent="Meta.Util" cheader_filename="meta/util.h" ++show_dialog.columns type_arguments="string" nullable default=null ++show_dialog.entries type_arguments="string" nullable default=null ++show_dialog.transient_for default=0 ++show_dialog.icon_name nullable default=null ++show_dialog.cancel_text nullable default=null ++show_dialog.ok_text nullable default=null ++show_dialog.display nullable default=null ++show_dialog.timeout nullable default=null ++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" ++ ++x11_error_trap_pop parent="Meta.X11Display" symbol_type="method" name="error_trap_pop" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" ++x11_error_trap_pop_with_return parent="Meta.X11Display" symbol_type="method" name="error_trap_pop_with_return" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" ++x11_error_trap_push parent="Meta.X11Display" symbol_type="method" name="error_trap_push" instance_idx=0 cheader_filename="meta/meta-x11-errors.h" ++x11_init_gdk_display parent="Meta.X11Display" cheader_filename="meta/meta-x11-display.h" +diff --git a/vapi/config.vapi b/vapi/config.vapi +index c2c3a35b..35abae73 100644 +--- a/vapi/config.vapi ++++ b/vapi/config.vapi +@@ -18,6 +18,8 @@ + [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")] + namespace Config + { ++ public const string GETTEXT_PACKAGE; ++ public const string LOCALEDIR; + public const string DATADIR; + public const string PKGDATADIR; + public const string VERSION; +diff --git a/vapi/libmutter-10.deps b/vapi/libmutter-10.deps +new file mode 120000 +index 00000000..cdf92777 +--- /dev/null ++++ b/vapi/libmutter-10.deps +@@ -0,0 +1 @@ ++libmutter-9.deps +\ No newline at end of file +diff --git a/vapi/libmutter-10.vapi b/vapi/libmutter-10.vapi +new file mode 120000 +index 00000000..3d8073f5 +--- /dev/null ++++ b/vapi/libmutter-10.vapi +@@ -0,0 +1 @@ ++libmutter-9.vapi +\ No newline at end of file +diff --git a/vapi/libmutter.vapi b/vapi/libmutter.vapi +index baba792d..5dacb629 100644 +--- a/vapi/libmutter.vapi ++++ b/vapi/libmutter.vapi +@@ -137,14 +137,18 @@ namespace Meta { + #endif + [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? columns = null, GLib.SList? entries = null); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "meta/util.h", cname = "meta_topic_real")] + public static void topic_real (Meta.DebugTopic topic, string format, ...); ++#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_MUTTER42 + [CCode (cheader_filename = "meta/util.h", cname = "meta_verbose_real")] + public static void verbose_real (string format, ...); ++#endif + [CCode (cheader_filename = "meta/util.h", cname = "meta_warning")] + public static void warning (string format, ...); + } +@@ -159,16 +163,24 @@ namespace Meta { + public unowned Meta.IdleMonitor get_core_idle_monitor (); + #endif + public unowned Meta.Dnd get_dnd (); ++#if HAS_MUTTER42 ++ public unowned Meta.MonitorManager get_monitor_manager (); ++#endif + public unowned Meta.RemoteAccessController get_remote_access_controller (); + public unowned Meta.Settings get_settings (); + public unowned Clutter.Actor get_stage (); ++#if HAS_MUTTER42 ++ public bool is_headless (); ++#endif + public bool is_rendering_hardware_accelerated (); + public void lock_layout_group (uint idx); + public void set_keymap (string layouts, string variants, string options); + #if HAS_MUTTER41 + public Meta.Context context { get; construct; } + #endif ++#if !HAS_MUTTER42 + public void set_numlock (bool numlock_state); ++#endif + public signal void keymap_changed (); + public signal void keymap_layout_group_changed (uint object); + public signal void last_device_changed (Clutter.InputDevice object); +@@ -352,6 +364,10 @@ namespace Meta { + public void terminate_with_error (GLib.Error error); + [NoAccessorMethod] + public string name { owned get; construct; } ++#if HAS_MUTTER42 ++ [NoAccessorMethod] ++ public bool unsafe_mode { get; set; } ++#endif + } + #endif + [CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = "meta_cursor_tracker_get_type ()")] +@@ -365,6 +381,9 @@ namespace Meta { + public void get_pointer (out int x, out int y, out Clutter.ModifierType mods); + #endif + public bool get_pointer_visible (); ++#if HAS_MUTTER42 ++ public float get_scale (); ++#endif + public unowned Cogl.Texture get_sprite (); + public void set_pointer_visible (bool visible); + #if HAS_MUTTER338 +@@ -444,6 +463,9 @@ namespace Meta { + public unowned Meta.X11Display get_x11_display (); + public uint grab_accelerator (string accelerator, Meta.KeyBindingFlags flags); + public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence); ++#if HAS_MUTTER42 ++ public GLib.List list_all_windows (); ++#endif + public bool remove_keybinding (string name); + public void request_pad_osd (Clutter.InputDevice pad, bool edition_mode); + public void set_cursor (Meta.Cursor cursor); +@@ -569,6 +591,10 @@ namespace Meta { + public void switch_config (Meta.MonitorSwitchConfigType config_type); + [NoAccessorMethod] + public Meta.Backend backend { owned get; construct; } ++#if HAS_MUTTER42 ++ [NoAccessorMethod] ++ public bool has_builtin_panel { get; } ++#endif + #if HAS_MUTTER338 + public bool panel_orientation_managed { get; } + #endif +@@ -855,6 +881,9 @@ namespace Meta { + public unowned Meta.Workspace get_workspace (); + public X.Window get_xwindow (); + public void group_leader_changed (); ++#if HAS_MUTTER42 ++ public bool has_attached_dialogs (); ++#endif + public bool has_focus (); + public bool is_above (); + public bool is_always_on_all_workspaces (); +@@ -923,6 +952,10 @@ namespace Meta { + public string gtk_window_object_path { get; } + [NoAccessorMethod] + public Cairo.Surface icon { owned get; } ++#if HAS_MUTTER42 ++ [NoAccessorMethod] ++ public bool is_alive { get; } ++#endif + [NoAccessorMethod] + public bool maximized_horizontally { get; } + [NoAccessorMethod] +@@ -968,6 +1001,9 @@ namespace Meta { + public unowned Meta.Window get_meta_window (); + public unowned Meta.ShapedTexture get_texture (); + public bool is_destroyed (); ++#if HAS_MUTTER42 ++ public Clutter.Content? paint_to_content (Meta.Rectangle? clip) throws GLib.Error; ++#endif + public void sync_visibility (); + #if HAS_MUTTER338 + public void thaw (); +@@ -1277,6 +1313,10 @@ namespace Meta { + KMS, + SCREEN_CAST, + REMOTE_DESKTOP, ++#endif ++#if HAS_MUTTER42 ++ BACKEND, ++ RENDER, + #endif + DBUS + } +@@ -1433,7 +1473,9 @@ namespace Meta { + CYCLE_PANELS, + CYCLE_PANELS_BACKWARD, + SHOW_DESKTOP, ++#if !HAS_MUTTER42 + PANEL_MAIN_MENU, ++#endif + PANEL_RUN_DIALOG, + TOGGLE_RECORDING, + SET_SPEW_MARK, +@@ -1745,10 +1787,6 @@ namespace Meta { + #endif + [CCode (cheader_filename = "meta/main.h")] + public static void clutter_init (); +-#if HAS_MUTTER41 +- [CCode (cheader_filename = "meta/meta-context.h")] +- public static Meta.Context create_context (string name); +-#endif + [CCode (cheader_filename = "meta/main.h")] + public static void exit (Meta.ExitCode code); + #if !HAS_MUTTER41 +diff --git a/vapi/libsystemd.vapi b/vapi/libsystemd.vapi +new file mode 100644 +index 00000000..54bc3a68 +--- /dev/null ++++ b/vapi/libsystemd.vapi +@@ -0,0 +1,18 @@ ++[CCode (cheader_filename = "systemd/sd-daemon.h")] ++namespace Systemd.Daemon { ++ [CCode (cname="sd_notify")] ++ int notify([CCode (type="int")]bool unset_environment, string state); ++ ++ [CCode (cname="sd_notifyf")] ++ int notifyf([CCode (type="int")]bool unset_environment, string format, ...); ++ ++ [CCode (cname="sd_pid_notify")] ++ int pid_notify(Posix.pid_t pid, [CCode (type="int")]bool unset_environment, string state); ++ ++ [CCode (cname="sd_pid_notifyf")] ++ int pid_notifyf(Posix.pid_t pid, [CCode (type="int")]bool unset_environment, string format, ...); ++ ++ [CCode (cname="sd_pid_notify_with_fds")] ++ int pid_notify_with_fds(Posix.pid_t pid, [CCode (type="int")]bool unset_environment, string state, int[] fds); ++} ++ +diff --git a/vapi/meson.build b/vapi/meson.build +index 3773b0bc..a348b16b 100644 +--- a/vapi/meson.build ++++ b/vapi/meson.build +@@ -286,3 +286,72 @@ if mutter41_dep.found() + output: 'libmutter-9.vapi' + ) + endif ++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 +diff --git a/vapi/mutter-clutter-10.deps b/vapi/mutter-clutter-10.deps +new file mode 100644 +index 00000000..f4c6e420 +--- /dev/null ++++ b/vapi/mutter-clutter-10.deps +@@ -0,0 +1,6 @@ ++atk ++cairo ++pango ++json-glib-1.0 ++mutter-cogl-10 ++graphene-gobject-1.0 +diff --git a/vapi/mutter-clutter-10.vapi b/vapi/mutter-clutter-10.vapi +new file mode 120000 +index 00000000..8a0ba541 +--- /dev/null ++++ b/vapi/mutter-clutter-10.vapi +@@ -0,0 +1 @@ ++mutter-clutter-9.vapi +\ No newline at end of file +diff --git a/vapi/mutter-clutter-9.deps b/vapi/mutter-clutter-9.deps +index fffc4803..f4c6e420 100644 +--- a/vapi/mutter-clutter-9.deps ++++ b/vapi/mutter-clutter-9.deps +@@ -2,5 +2,5 @@ atk + cairo + pango + json-glib-1.0 +-mutter-cogl-9 ++mutter-cogl-10 + graphene-gobject-1.0 +diff --git a/vapi/mutter-clutter.vapi b/vapi/mutter-clutter.vapi +index c54ca952..04307759 100644 +--- a/vapi/mutter-clutter.vapi ++++ b/vapi/mutter-clutter.vapi +@@ -3,7 +3,6 @@ + [CCode (cprefix = "Clutter", gir_namespace = "Clutter", gir_version = "1.0", lower_case_cprefix = "clutter_")] + namespace Clutter { + 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")] +@@ -4629,6 +4628,11 @@ namespace Clutter { + public abstract class Action : Clutter.ActorMeta { + [CCode (has_construct_function = false)] + protected Action (); ++#if HAS_MUTTER42 ++ public Clutter.EventPhase get_phase (); ++ [NoWrapper] ++ public virtual bool handle_event (Clutter.Event event); ++#endif + } + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_actor_get_type ()")] + public class Actor : GLib.InitiallyUnowned, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable { +@@ -4638,6 +4642,9 @@ namespace Clutter { + public Actor (); + [Version (since = "1.4")] + public void add_action (Clutter.Action action); ++#if HAS_MUTTER42 ++ public void add_action_full (string name, Clutter.EventPhase phase, Clutter.Action action); ++#endif + [Version (since = "1.4")] + public void add_action_with_name (string name, Clutter.Action action); + [Version (since = "1.10")] +@@ -4724,7 +4731,7 @@ namespace Clutter { + public void get_abs_allocation_vertices ([CCode (array_length = false)] Graphene.Point3D verts[4]); + public virtual unowned Atk.Object get_accessible (); + [Version (since = "1.4")] +- public unowned Clutter.Action get_action (string name); ++ public unowned Clutter.Action? get_action (string name); + [Version (since = "1.4")] + public GLib.List get_actions (); + [Version (since = "0.8")] +@@ -4745,7 +4752,7 @@ namespace Clutter { + public static unowned Clutter.Actor get_by_gid (uint32 id_); + #endif + [Version (since = "1.10")] +- public unowned Clutter.Actor get_child_at_index (int index_); ++ public unowned Clutter.Actor? get_child_at_index (int index_); + [Version (since = "1.12")] + #if HAS_MUTTER40 + public Graphene.Matrix get_child_transform (); +@@ -4759,11 +4766,11 @@ namespace Clutter { + [Version (since = "1.4")] + public bool get_clip_to_allocation (); + [Version (since = "1.4")] +- public unowned Clutter.Constraint get_constraint (string name); ++ public unowned Clutter.Constraint? get_constraint (string name); + [Version (since = "1.4")] + public GLib.List get_constraints (); + [Version (since = "1.10")] +- public unowned Clutter.Content get_content (); ++ public unowned Clutter.Content? get_content (); + [Version (since = "1.10")] + public Clutter.ActorBox get_content_box (); + [Version (since = "1.10")] +@@ -4785,11 +4792,11 @@ namespace Clutter { + [Version (since = "1.10")] + public Clutter.AnimationMode get_easing_mode (); + [Version (since = "1.4")] +- public unowned Clutter.Effect get_effect (string name); ++ public unowned Clutter.Effect? get_effect (string name); + [Version (since = "1.4")] + public GLib.List get_effects (); + [Version (since = "1.10")] +- public unowned Clutter.Actor get_first_child (); ++ public unowned Clutter.Actor? get_first_child (); + #if HAS_MUTTER338 + public bool get_fixed_position (out float x, out float y); + #endif +@@ -4802,9 +4809,9 @@ namespace Clutter { + public bool get_has_pointer (); + public float get_height (); + [Version (since = "1.10")] +- public unowned Clutter.Actor get_last_child (); ++ public unowned Clutter.Actor? get_last_child (); + [Version (since = "1.10")] +- public unowned Clutter.LayoutManager get_layout_manager (); ++ public unowned Clutter.LayoutManager? get_layout_manager (); + [Version (since = "1.10")] + public Clutter.Margin get_margin (); + [Version (since = "1.10")] +@@ -4817,9 +4824,9 @@ namespace Clutter { + public float get_margin_top (); + [Version (since = "1.10")] + public int get_n_children (); +- public unowned string get_name (); ++ public unowned string? get_name (); + [Version (since = "1.10")] +- public unowned Clutter.Actor get_next_sibling (); ++ public unowned Clutter.Actor? get_next_sibling (); + [Version (since = "1.8")] + public Clutter.OffscreenRedirect get_offscreen_redirect (); + public uint8 get_opacity (); +@@ -4852,7 +4859,7 @@ namespace Clutter { + [Version (since = "0.8")] + public virtual void get_preferred_width (float for_height, out float min_width_p, out float natural_width_p); + [Version (since = "1.10")] +- public unowned Clutter.Actor get_previous_sibling (); ++ public unowned Clutter.Actor? get_previous_sibling (); + [Version (since = "0.6")] + public bool get_reactive (); + [Version (since = "1.2")] +@@ -4898,7 +4905,7 @@ namespace Clutter { + [Version (since = "0.8")] + public void get_transformed_size (out float width, out float height); + [Version (since = "1.10")] +- public unowned Clutter.Transition get_transition (string name); ++ public unowned Clutter.Transition? get_transition (string name); + [Version (since = "1.12")] + public void get_translation (out float translate_x, out float translate_y, out float translate_z); + public float get_width (); +@@ -5083,7 +5090,7 @@ namespace Clutter { + public void set_margin_right (float margin); + [Version (since = "1.10")] + public void set_margin_top (float margin); +- public void set_name (string name); ++ public void set_name (string? name); + [Version (since = "1.8")] + public void set_offscreen_redirect (Clutter.OffscreenRedirect redirect); + public void set_opacity (uint8 opacity); +@@ -5707,6 +5714,7 @@ namespace Clutter { + public bool get_homogeneous (); + [Version (since = "1.12")] + public Clutter.Orientation get_orientation (); ++ [Version (deprecated = true)] + public bool get_pack_start (); + public uint get_spacing (); + #if !HAS_MUTTER338 +@@ -5731,6 +5739,7 @@ namespace Clutter { + public void set_homogeneous (bool homogeneous); + [Version (since = "1.12")] + public void set_orientation (Clutter.Orientation orientation); ++ [Version (deprecated = true)] + public void set_pack_start (bool pack_start); + public void set_spacing (uint spacing); + #if !HAS_MUTTER338 +@@ -5747,6 +5756,7 @@ namespace Clutter { + public bool homogeneous { get; set; } + [Version (since = "1.12")] + public Clutter.Orientation orientation { get; set; } ++ [Version (deprecated = true)] + public bool pack_start { get; set; } + public uint spacing { get; set; } + #if !HAS_MUTTER338 +@@ -5778,7 +5788,9 @@ namespace Clutter { + public class ButtonEvent : Clutter.Event { + public double axes; + public uint32 button; ++#if !HAS_MUTTER42 + public uint click_count; ++#endif + public weak Clutter.InputDevice device; + #if HAS_MUTTER40 + public uint32 evdev_code; +@@ -5884,6 +5896,13 @@ namespace Clutter { + #endif + 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_MUTTER42 ++ [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] ++ [Compact] ++ public class Context { ++ public unowned Clutter.Backend get_backend (); ++ } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] + [Compact] + [Version (since = "0.2")] +@@ -6035,8 +6054,10 @@ namespace Clutter { + public double get_axes (out uint n_axes); + [Version (since = "1.0")] + public uint32 get_button (); ++#if !HAS_MUTTER42 + [Version (since = "1.0")] + public uint get_click_count (); ++#endif + [Version (since = "0.4")] + public void get_coords (out float x, out float y); + [Version (since = "1.0")] +@@ -6324,6 +6345,9 @@ namespace Clutter { + public class IMEvent : Clutter.Event { + public Clutter.EventFlags flags; + public uint32 len; ++#if HAS_MUTTER42 ++ public Clutter.PreeditResetMode mode; ++#endif + public int32 offset; + public weak Clutter.Actor source; + public weak Clutter.Stage stage; +@@ -6362,6 +6386,7 @@ namespace Clutter { + public class InputDevice : GLib.Object { + [CCode (has_construct_function = false)] + protected InputDevice (); ++#if !HAS_MUTTER42 + #if HAS_MUTTER338 + [Version (since = "1.2")] + public unowned Clutter.Actor get_actor (Clutter.EventSequence? sequence); +@@ -6383,6 +6408,7 @@ namespace Clutter { + public bool get_coords (Clutter.EventSequence? sequence, out Graphene.Point point); + [Version (since = "1.0")] + public int get_device_id (); ++#endif + #endif + [Version (since = "1.6")] + public Clutter.InputMode get_device_mode (); +@@ -6408,8 +6434,10 @@ namespace Clutter { + [Version (since = "1.16")] + public Clutter.ModifierType get_modifier_state (); + #endif ++#if !HAS_MUTTER42 + [Version (since = "1.6")] + public uint get_n_axes (); ++#endif + #if HAS_MUTTER40 + public int get_n_buttons (); + #else +@@ -6573,7 +6601,11 @@ namespace Clutter { + [NoWrapper] + public virtual void set_cursor_location (Graphene.Rect rect); + public void set_input_panel_state (Clutter.InputPanelState state); ++#if HAS_MUTTER42 ++ public void set_preedit_text (string? preedit, uint cursor, Clutter.PreeditResetMode mode); ++#else + public void set_preedit_text (string? preedit, uint cursor); ++#endif + [NoWrapper] + public virtual void set_surrounding (string text, uint cursor, uint anchor); + [NoWrapper] +@@ -6898,7 +6930,11 @@ namespace Clutter { + public double deceleration { get; set; } + public bool interpolate { get; set; } + public Clutter.PanAxis pan_axis { get; set; } ++#if HAS_MUTTER42 ++ public signal bool pan (Clutter.Actor actor, bool is_interpolated); ++#else + public virtual signal bool pan (Clutter.Actor actor, bool is_interpolated); ++#endif + public virtual signal void pan_stopped (Clutter.Actor actor); + } + [CCode (cheader_filename = "clutter/clutter.h", lower_case_csuffix = "param_units", type_id = "clutter_param_units_get_type ()")] +@@ -6958,6 +6994,9 @@ namespace Clutter { + public void destroy (); + #if HAS_MUTTER40 + public Graphene.Matrix get_transform (); ++#if HAS_MUTTER42 ++ public void log_overlap (Clutter.Actor actor); ++#endif + public void log_pick (Clutter.ActorBox box, Clutter.Actor actor); + public void pop_clip (); + public void pop_transform (); +@@ -7041,7 +7080,11 @@ namespace Clutter { + public class RotateAction : Clutter.GestureAction { + [CCode (has_construct_function = false, type = "ClutterAction*")] + public RotateAction (); ++#if HAS_MUTTER42 ++ public signal bool rotate (Clutter.Actor actor, double angle); ++#else + public virtual signal bool rotate (Clutter.Actor actor, double angle); ++#endif + } + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_script_get_type ()")] + [Version (since = "0.6")] +@@ -7163,8 +7206,10 @@ namespace Clutter { + public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings); + public void uninhibit_unfocus (); + public virtual void warp_pointer (int x, int y); ++#if !HAS_MUTTER42 + [NoAccessorMethod] + public Clutter.Backend backend { owned get; construct; } ++#endif + public bool touch_mode { get; } + public signal void device_added (Clutter.InputDevice object); + public signal void device_removed (Clutter.InputDevice object); +@@ -7320,8 +7365,10 @@ namespace Clutter { + public int64 get_frame_counter (); + [Version (since = "0.6")] + public unowned Clutter.Actor get_key_focus (); ++#if !HAS_MUTTER42 + [Version (since = "1.2")] + public void get_minimum_size (out uint width, out uint height); ++#endif + [Version (since = "1.8")] + public bool get_motion_events_enabled (); + public Clutter.Perspective get_perspective (); +@@ -7336,7 +7383,10 @@ namespace Clutter { + [Version (since = "1.2")] + public bool get_use_alpha (); + #if HAS_MUTTER338 +- public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, [CCode (array_length = false)] ref unowned uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error; ++ 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; ++#if HAS_MUTTER42 ++ public Clutter.Content paint_to_content (Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags) throws GLib.Error; ++#endif + public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags); + #else + [Version (since = "0.4")] +@@ -7375,7 +7425,9 @@ namespace Clutter { + public void set_title (string title); + [Version (since = "1.2")] + public void set_use_alpha (bool use_alpha); +-#if HAS_MUTTER40 ++#if HAS_MUTTER42 ++ 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); ++#elif HAS_MUTTER40 + public void update_device (Clutter.InputDevice device, Clutter.EventSequence sequence, Graphene.Point point, uint32 time, Clutter.Actor new_actor, bool emit_crossing); + #endif + #if !HAS_MUTTER338 +@@ -7512,8 +7564,6 @@ namespace Clutter { + #endif + [NoAccessorMethod] + public int64 vblank_duration_us { get; construct; } +-#if HAS_MUTTER41 +-#endif + } + #if !HAS_MUTTER338 + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_state_get_type ()")] +@@ -7561,7 +7611,11 @@ namespace Clutter { + [Version (deprecated = true, deprecated_since = "1.14", since = "1.8")] + public virtual signal void swept (Clutter.Actor actor, Clutter.SwipeDirection direction); + [Version (since = "1.14")] ++#if HAS_MUTTER42 ++ public signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction); ++#else + public virtual signal bool swipe (Clutter.Actor actor, Clutter.SwipeDirection direction); ++#endif + } + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_tap_action_get_type ()")] + [Version (since = "1.14")] +@@ -7901,6 +7955,21 @@ namespace Clutter { + public float x; + public float y; + } ++#if HAS_MUTTER42 ++ [CCode (cheader_filename = "clutter/clutter.h", has_type_id = false)] ++ [Compact] ++ public class TouchpadHoldEvent : Clutter.Event { ++ public Clutter.EventFlags flags; ++ public uint32 n_fingers; ++ public Clutter.TouchpadGesturePhase phase; ++ public weak Clutter.Actor source; ++ 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] + [Version (since = "1.24")] +@@ -8016,10 +8085,14 @@ namespace Clutter { + public ZoomAction (); + public Graphene.Point get_focal_point (); + public Graphene.Point get_transformed_focal_point (); ++#if HAS_MUTTER42 ++ public signal bool zoom (Clutter.Actor actor, Graphene.Point focal_point, double factor); ++#else + public Clutter.ZoomAxis get_zoom_axis (); + public void set_zoom_axis (Clutter.ZoomAxis axis); + public Clutter.ZoomAxis zoom_axis { get; set; } + public virtual signal bool zoom (Clutter.Actor actor, Graphene.Point focal_point, double factor); ++#endif + } + [CCode (cheader_filename = "clutter/clutter.h", type_cname = "ClutterAnimatableInterface", type_id = "clutter_animatable_get_type ()")] + public interface Animatable : GLib.Object { +@@ -8064,23 +8137,29 @@ namespace Clutter { + public class unowned GLib.ParamSpec find_child_property (string property_name); + [Version (since = "0.8")] + public virtual unowned Clutter.ChildMeta get_child_meta (Clutter.Actor actor); ++#if !HAS_MUTTER42 + [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")] + public GLib.List get_children (); ++#endif + [CCode (cname = "clutter_container_class_list_child_properties")] + public class unowned GLib.ParamSpec[] list_child_properties (); ++#if !HAS_MUTTER42 + [CCode (vfunc_name = "lower")] + [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")] + public virtual void lower_child (Clutter.Actor actor, Clutter.Actor? sibling = null); + [CCode (vfunc_name = "raise")] + [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")] + public virtual void raise_child (Clutter.Actor actor, Clutter.Actor? sibling = null); ++#endif + [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")] + public void remove (...); + [CCode (vfunc_name = "remove")] + [Version (deprecated = true, deprecated_since = "1.10", since = "0.4")] + public abstract void remove_actor (Clutter.Actor actor); ++#if !HAS_MUTTER42 + [Version (deprecated = true, deprecated_since = "1.10", since = "0.6")] + public abstract void sort_depth_order (); ++#endif + public virtual signal void actor_added (Clutter.Actor actor); + public virtual signal void actor_removed (Clutter.Actor actor); + [HasEmitter] +@@ -8162,8 +8241,8 @@ namespace Clutter { + public void init (Clutter.Actor root); + [Version (since = "1.12")] + public bool is_valid (); +- public bool next (out unowned Clutter.Actor child); +- public bool prev (out unowned Clutter.Actor child); ++ public bool next (out unowned Clutter.Actor? child); ++ public bool prev (out unowned Clutter.Actor? child); + public void remove (); + } + [CCode (cheader_filename = "clutter/clutter.h", has_copy_function = false, has_destroy_function = false, has_type_id = false)] +@@ -8187,16 +8266,40 @@ namespace Clutter { + public bool equal (Clutter.Color v2); + [Version (since = "0.2")] + public void free (); +- public void from_hls (float hue, float luminance, float saturation); +- public void from_pixel (uint32 pixel); +- [Version (since = "1.0")] +- public bool from_string (string str); ++ [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")] ++ [Version (since = "0.8")] ++ 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; ++ } + [Version (since = "1.6")] + public static unowned Clutter.Color? get_static (Clutter.StaticColor color); + [Version (since = "1.0")] + public uint hash (); + [Version (since = "1.12")] +- public unowned Clutter.Color? init (uint8 red, uint8 green, uint8 blue, uint8 alpha); ++ 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")] ++ [Version (since = "1.0")] ++ public bool init_from_string (string str); + [Version (since = "1.6")] + public Clutter.Color interpolate (Clutter.Color final, double progress); + public Clutter.Color lighten (); +@@ -8549,6 +8652,13 @@ namespace Clutter { + #endif + FLAG_REPEATED + } ++#if HAS_MUTTER42 ++ [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PHASE_", type_id = "clutter_event_phase_get_type ()")] ++ public enum EventPhase { ++ CAPTURE, ++ BUBBLE ++ } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_", type_id = "clutter_event_type_get_type ()")] + [Version (since = "0.4")] + public enum EventType { +@@ -8575,6 +8685,9 @@ namespace Clutter { + TOUCH_CANCEL, + TOUCHPAD_PINCH, + TOUCHPAD_SWIPE, ++#if HAS_MUTTER42 ++ TOUCHPAD_HOLD, ++#endif + PROXIMITY_IN, + PROXIMITY_OUT, + PAD_BUTTON_PRESS, +@@ -8597,12 +8710,14 @@ namespace Clutter { + #if !HAS_MUTTER338 + SWAP_THROTTLE, + #endif ++#if !HAS_MUTTER42 + STAGE_STATIC, + STAGE_CURSOR, +- SHADERS_GLSL, + OFFSCREEN, + STAGE_MULTIPLE, +- SWAP_EVENTS ++ SWAP_EVENTS, ++#endif ++ SHADERS_GLSL + } + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_FLOW_", type_id = "clutter_flow_orientation_get_type ()")] + [Version (since = "1.2")] +@@ -8654,6 +8769,7 @@ namespace Clutter { + TOP, + BOTTOM + } ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INIT_", type_id = "clutter_init_error_get_type ()")] + [Version (since = "0.2")] + public enum InitError { +@@ -8664,6 +8780,7 @@ namespace Clutter { + ERROR_INTERNAL; + public static GLib.Quark quark (); + } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_INPUT_AXIS_", type_id = "clutter_input_axis_get_type ()")] + [Version (since = "1.6")] + public enum InputAxis { +@@ -8956,6 +9073,13 @@ namespace Clutter { + DWELL, + GESTURE + } ++#if HAS_MUTTER42 ++ [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_PREEDIT_RESET_", type_id = "clutter_preedit_reset_mode_get_type ()")] ++ public enum PreeditResetMode { ++ CLEAR, ++ COMMIT ++ } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_REPAINT_FLAGS_", type_id = "clutter_repaint_flags_get_type ()")] + [Flags] + [Version (since = "1.10")] +@@ -9167,6 +9291,7 @@ namespace Clutter { + POINTER, + TOUCHSCREEN + } ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_ZOOM_", type_id = "clutter_zoom_axis_get_type ()")] + [Version (since = "1.12")] + public enum ZoomAxis { +@@ -9174,6 +9299,7 @@ namespace Clutter { + Y_AXIS, + BOTH + } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_IMAGE_ERROR_INVALID_")] + [Version (since = "1.10")] + public errordomain ImageError { +@@ -9285,17 +9411,21 @@ namespace Clutter { + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "1.0")] + public static unowned Pango.FontMap get_font_map (); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.2")] + public static GLib.OptionGroup get_option_group (); + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.8")] + public static GLib.OptionGroup get_option_group_without_init (); ++#endif + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.6")] + public static unowned string get_script_id (GLib.Object gobject); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h")] + public static Clutter.InitError init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv); ++#endif + #if !HAS_MUTTER41 + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.2")] +diff --git a/vapi/mutter-cogl-10.deps b/vapi/mutter-cogl-10.deps +new file mode 120000 +index 00000000..ea52a856 +--- /dev/null ++++ b/vapi/mutter-cogl-10.deps +@@ -0,0 +1 @@ ++mutter-cogl-9.deps +\ No newline at end of file +diff --git a/vapi/mutter-cogl-10.vapi b/vapi/mutter-cogl-10.vapi +new file mode 120000 +index 00000000..698673de +--- /dev/null ++++ b/vapi/mutter-cogl-10.vapi +@@ -0,0 +1 @@ ++mutter-cogl-9.vapi +\ No newline at end of file +diff --git a/vapi/mutter-cogl-6.vapi b/vapi/mutter-cogl-6.vapi +index b55bd648..526bb415 100644 +--- a/vapi/mutter-cogl-6.vapi ++++ b/vapi/mutter-cogl-6.vapi +@@ -27,6 +27,10 @@ namespace Cogl { + [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_foreach_feature")] + [Version (since = "1.10")] + public void foreach_feature (Cogl.FeatureCallback callback); ++#if HAS_MUTTER42 ++ public void free_timestamp_query (owned Cogl.TimestampQuery query); ++ public int64 get_gpu_time_ns (); ++#endif + #if !HAS_MUTTER40 + [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_get_clock_time")] + [Version (since = "1.14")] +@@ -45,6 +49,9 @@ namespace Cogl { + #endif + #if HAS_MUTTER40 + public void set_named_pipeline (Cogl.PipelineKey key, Cogl.Pipeline? pipeline); ++#endif ++#if HAS_MUTTER42 ++ public int64 timestamp_query_get_time_ns (Cogl.TimestampQuery query); + #endif + } + [CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_frame_closure_get_gtype ()")] +@@ -69,8 +76,14 @@ namespace Cogl { + #endif + [Version (since = "1.14")] + public float get_refresh_rate (); ++#if HAS_MUTTER42 ++ public int64 get_rendering_duration_ns (); ++#endif + #if HAS_MUTTER40 + public uint get_sequence (); ++#if HAS_MUTTER42 ++ public int64 get_time_before_buffer_swap_us (); ++#endif + public bool is_hw_clock (); + public bool is_vsync (); + public bool is_zero_copy (); +@@ -224,6 +237,7 @@ namespace Cogl { + [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_is_texture")] + public bool is_texture (); + } ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "cogl_material_get_type ()")] + [Compact] + public class Material : Cogl.Handle { +@@ -265,6 +279,7 @@ namespace Cogl { + [Compact] + public class MaterialLayer : Cogl.Handle { + } ++#endif + [CCode (cheader_filename = "cogl/cogl.h", type_id = "cogl_object_get_gtype ()")] + public abstract class Object { + [CCode (has_construct_function = false)] +@@ -353,6 +368,9 @@ namespace Cogl { + #endif + [Version (since = "2.0")] + public void hide (); ++#if HAS_MUTTER42 ++ public virtual void queue_damage_region (int rectangles, int n_rectangles); ++#endif + [Version (since = "1.16")] + public void remove_dirty_callback (Cogl.OnscreenDirtyClosure closure); + [Version (since = "1.14")] +@@ -620,6 +638,12 @@ namespace Cogl { + [Version (since = "1.16")] + public Texture2DSliced.from_bitmap (Cogl.Bitmap bmp, int max_waste); + } ++#if HAS_MUTTER42 ++ [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] ++ [Compact] ++ public class TimestampQuery { ++ } ++#endif + #if HAS_MUTTER338 + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] + [Compact] +@@ -751,13 +775,13 @@ namespace Cogl { + public interface Texture : Cogl.Object { + public bool allocate () throws GLib.Error; + [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_texture_new_from_bitmap")] +- [Version (deprecated = true, deprecated_since = "1.18", since = "1.0")] ++ [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", since = "0.8")] ++ [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", since = "0.8")] ++ [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; + [Version (since = "1.18")] + public Cogl.TextureComponents get_components (); +@@ -775,10 +799,12 @@ namespace Cogl { + 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; ++#if !HAS_MUTTER42 + [Version (deprecated = true, deprecated_since = "1.18", since = "1.2")] + public Cogl.Texture new_from_sub_texture (int sub_x, int sub_y, int sub_width, int sub_height); + [Version (deprecated = true, deprecated_since = "1.18", since = "0.8")] + public static Cogl.Texture new_with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format); ++#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; +@@ -787,9 +813,11 @@ namespace Cogl { + 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); + [Version (since = "1.8")] + 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); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h", cname = "cogl_texture_new_with_size")] + [Version (deprecated = true, deprecated_since = "1.18", since = "0.8")] + public static Cogl.Texture with_size (uint width, uint height, Cogl.TextureFlags flags, Cogl.PixelFormat internal_format); ++#endif + } + [CCode (cheader_filename = "cogl/cogl.h")] + [SimpleType] +@@ -828,6 +856,14 @@ namespace Cogl { + public float get_red (); + public uint8 get_red_byte (); + public float get_red_float (); ++ [Version (since = "1.4")] ++ public void init_from_4f (float red, float green, float blue, float alpha); ++ [Version (since = "1.4")] ++ public void init_from_4fv (float color_array); ++ [Version (since = "1.4")] ++ public void init_from_4ub (uint8 red, uint8 green, uint8 blue, uint8 alpha); ++ [Version (since = "1.16")] ++ public void init_from_hsl (float hue, float saturation, float luminance); + public void premultiply (); + [Version (since = "1.4")] + public void set_alpha (float alpha); +@@ -945,6 +981,9 @@ namespace Cogl { + public struct TraceHead { + public uint64 begin_time; + public weak string name; ++#if HAS_MUTTER42 ++ public weak string description; ++#endif + } + #endif + [CCode (cheader_filename = "cogl/cogl.h", has_type_id = false)] +@@ -1093,6 +1132,12 @@ namespace Cogl { + #if HAS_MUTTER338 + [CCode (cname = "COGL_FEATURE_ID_BLIT_FRAMEBUFFER")] + OGL_FEATURE_ID_BLIT_FRAMEBUFFER, ++#endif ++#if HAS_MUTTER42 ++ [CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")] ++ OGL_FEATURE_ID_TIMESTAMP_QUERY, ++ [CCode (cname = "COGL_FEATURE_ID_GET_GPU_TIME")] ++ OGL_FEATURE_ID_GET_GPU_TIME, + #endif + [CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")] + OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL +@@ -1122,6 +1167,7 @@ namespace Cogl { + SHORT, + INT + } ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_MATERIAL_ALPHA_FUNC_", has_type_id = false)] + public enum MaterialAlphaFunc { + NEVER, +@@ -1149,6 +1195,7 @@ namespace Cogl { + CLAMP_TO_EDGE, + AUTOMATIC + } ++#endif + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_PIPELINE_ALPHA_FUNC_", has_type_id = false)] + public enum PipelineAlphaFunc { + NEVER, +@@ -1204,12 +1251,24 @@ namespace Cogl { + ABGR_8888, + RGBA_1010102, + BGRA_1010102, ++#if HAS_MUTTER42 ++ XRGB_2101010, ++#endif + ARGB_2101010, ++#if HAS_MUTTER42 ++ XBGR_2101010, ++#endif + ABGR_2101010, + #if HAS_MUTTER338 + RGBA_FP_16161616, + BGRA_FP_16161616, ++#if HAS_MUTTER42 ++ XRGB_FP_16161616, ++#endif + ARGB_FP_16161616, ++#if HAS_MUTTER42 ++ XBGR_FP_16161616, ++#endif + ABGR_FP_16161616, + #endif + RGBA_8888_PRE, +@@ -1293,7 +1352,9 @@ namespace Cogl { + } + [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_WINSYS_FEATURE_", has_type_id = false)] + public enum WinsysFeature { ++#if !HAS_MUTTER42 + MULTIPLE_ONSCREEN, ++#endif + #if !HAS_MUTTER338 + SWAP_THROTTLE, + #endif +@@ -1420,12 +1481,14 @@ namespace Cogl { + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (since = "1.0")] + public static void flush (); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (deprecated = true, deprecated_since = "1.16")] + public static bool get_backface_culling_enabled (); + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (deprecated = true, deprecated_since = "1.16")] + public static bool get_depth_test_enabled (); ++#endif + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (deprecated = true, deprecated_since = "1.16", since = "1.0")] + public static GLib.OptionGroup get_option_group (); +@@ -1434,23 +1497,31 @@ namespace Cogl { + [Version (deprecated = true, deprecated_since = "1.18")] + public static GLib.Type gtype_matrix_get_type (); + #endif ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (deprecated = true, deprecated_since = "1.16")] + public static void set_backface_culling_enabled (bool setting); + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (deprecated = true, deprecated_since = "1.16")] + public static void set_depth_test_enabled (bool setting); ++#endif + [CCode (cheader_filename = "cogl/cogl.h")] + public static void set_tracing_disabled_on_thread (GLib.MainContext main_context); + [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); ++#if HAS_MUTTER42 ++ [CCode (cheader_filename = "cogl/cogl.h")] ++ public static void trace_describe (Cogl.TraceHead head, string description); ++#endif + #if HAS_MUTTER338 + [CCode (cheader_filename = "cogl/cogl.h")] + public static void trace_end (Cogl.TraceHead head); + #endif ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "cogl/cogl.h")] + [Version (since = "1.10")] + public static uint32 x11_onscreen_get_window_xid (Cogl.Onscreen onscreen); ++#endif + } +diff --git a/vapi/mutter-cogl-pango-10.vapi b/vapi/mutter-cogl-pango-10.vapi +new file mode 120000 +index 00000000..5362ecec +--- /dev/null ++++ b/vapi/mutter-cogl-pango-10.vapi +@@ -0,0 +1 @@ ++mutter-cogl-pango-9.vapi +\ No newline at end of file +diff --git a/wingpanel-interface/meson.build b/wingpanel-interface/meson.build +index 667a15cf..c0b645e3 100644 +--- a/wingpanel-interface/meson.build ++++ b/wingpanel-interface/meson.build +@@ -46,6 +46,17 @@ if mutter41_dep.found() + vala_flags = ['--define', 'HAS_MUTTER338', '--define', 'HAS_MUTTER40', '--define', 'HAS_MUTTER41'] + endif + ++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 = ['--define', 'HAS_MUTTER338', '--define', 'HAS_MUTTER40', '--define', 'HAS_MUTTER41', '--define', 'HAS_MUTTER42'] ++endif ++ + if mutter_dep.length() == 0 + error ('No supported mutter library found!') + endif diff --git a/SOURCES/453.patch b/SOURCES/453.patch new file mode 100644 index 0000000..ea50df0 --- /dev/null +++ b/SOURCES/453.patch @@ -0,0 +1,582 @@ +From 9a64bfe0d8844483d7ba8e412d8766f4bff8905a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Corentin=20No=C3=ABl?= +Date: Tue, 26 Apr 2022 09:41:35 +0200 +Subject: [PATCH] Synchronize the .vapi with Gala + +--- + vapi/Clutter-10.metadata | 1 - + vapi/Meta-10.metadata | 10 +++++- + vapi/libmutter.vapi | 66 +++++++++++++++++++++++++----------- + vapi/mutter-clutter.vapi | 72 ++++++++++++++++++++++++++++++++++++++-- + vapi/mutter-cogl-6.vapi | 26 +++++++-------- + 5 files changed, 136 insertions(+), 39 deletions(-) + +diff --git a/vapi/Clutter-10.metadata b/vapi/Clutter-10.metadata +index 5b69ae58..516fc6fb 100644 +--- a/vapi/Clutter-10.metadata ++++ b/vapi/Clutter-10.metadata +@@ -123,7 +123,6 @@ FrameClock.new skip + StageView.layout skip + + Stage +- .event name="emit_event" + .paint_view.redraw_clip type="Cairo.Region" + + Capture +diff --git a/vapi/Meta-10.metadata b/vapi/Meta-10.metadata +index eaefc051..e4438413 100644 +--- a/vapi/Meta-10.metadata ++++ b/vapi/Meta-10.metadata +@@ -65,10 +65,10 @@ 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" + LocaleDirection cheader_filename="meta/util.h" + MaximizeFlags cheader_filename="meta/window.h" +-ModalOptions cheader_filename="meta/meta-plugin.h" + MonitorManager cheader_filename="meta/meta-monitor-manager.h" + MonitorSwitchConfigType cheader_filename="meta/meta-monitor-manager.h" + MotionDirection cheader_filename="meta/common.h" +@@ -123,6 +123,9 @@ WindowShape cheader_filename="meta/meta-window-shape.h" + WindowType cheader_filename="meta/window.h" + X11Display cheader_filename="meta/meta-x11-display.h" + ++// As per https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2287 ++MonitorManager.monitor_privacy_screen_changed skip ++ + rect skip + prefs_* parent="Meta.Prefs" name="prefs_(.+)" cheader_filename="meta/prefs.h" + +@@ -145,6 +148,11 @@ 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" ++ .p0 name="should_show" type="GLib.List" ++ .p1 name="should_hide" type="GLib.List" ++ + 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" +diff --git a/vapi/libmutter.vapi b/vapi/libmutter.vapi +index 5dacb629..5edcddb1 100644 +--- a/vapi/libmutter.vapi ++++ b/vapi/libmutter.vapi +@@ -316,6 +316,9 @@ namespace Meta { + public void destroy (); + public bool filter_keybinding (Meta.KeyBinding binding); + public void flash_display (Meta.Display display); ++#if HAS_MUTTER42 ++ public unowned Meta.Laters get_laters (); ++#endif + public void hide_tile_preview (); + public void hide_window (Meta.Window window, Meta.CompEffect effect); + public void manage (); +@@ -354,6 +357,10 @@ namespace Meta { + public unowned Meta.Display get_display (); + public bool is_replacing (); + public void notify_ready (); ++#if HAS_MUTTER42 ++ public bool raise_rlimit_nofile () throws GLib.Error; ++ public bool restore_rlimit_nofile () throws GLib.Error; ++#endif + 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); +@@ -376,7 +383,7 @@ namespace Meta { + protected CursorTracker (); + public void get_hot (out int x, out int y); + #if HAS_MUTTER40 +- public void get_pointer (Graphene.Point coords, out Clutter.ModifierType mods); ++ public void get_pointer (out Graphene.Point coords, out Clutter.ModifierType mods); + #else + public void get_pointer (out int x, out int y, out Clutter.ModifierType mods); + #endif +@@ -511,6 +518,9 @@ namespace Meta { + 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); ++#if HAS_MUTTER42 ++ public signal void window_visibility_updated ([CCode (type = "gpointer")] GLib.List unplaced, [CCode (type = "gpointer")] GLib.List should_show, [CCode (type = "gpointer")] GLib.List should_hide); ++#endif + public signal void workareas_changed (); + public signal void x11_display_closing (); + public signal void x11_display_opened (); +@@ -562,6 +572,14 @@ namespace Meta { + [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_MUTTER42 ++ [CCode (cheader_filename = "meta/types.h", has_type_id = false)] ++ [Compact] ++ public class Laters { ++ public uint add (Meta.LaterType when, owned GLib.SourceFunc func); ++ public void remove (uint later_id); ++ } ++#endif + [CCode (cheader_filename = "meta/meta-launch-context.h", type_id = "meta_launch_context_get_type ()")] + public class LaunchContext : GLib.AppLaunchContext { + [CCode (has_construct_function = false)] +@@ -607,7 +625,9 @@ namespace Meta { + public abstract class Plugin : GLib.Object { + [CCode (has_construct_function = false)] + protected Plugin (); ++#if !HAS_MUTTER42 + public bool begin_modal (Meta.ModalOptions options, uint32 timestamp); ++#endif + public void complete_display_change (bool ok); + [NoWrapper] + public virtual void confirm_display_change (); +@@ -618,7 +638,9 @@ namespace Meta { + [NoWrapper] + public virtual void destroy (Meta.WindowActor actor); + public void destroy_completed (Meta.WindowActor actor); ++#if !HAS_MUTTER42 + public void end_modal (uint32 timestamp); ++#endif + public unowned Meta.Display get_display (); + public unowned Meta.PluginInfo? get_info (); + [NoWrapper] +@@ -767,19 +789,19 @@ namespace Meta { + public unowned GLib.SList get_sequences (); + [NoAccessorMethod] + public Meta.Display display { owned get; construct; } +- public signal void changed ([CCode (type = "gpointer")] Meta.StartupSequence object); ++ 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 unowned string? get_application_id (); + public bool get_completed (); +- public unowned string get_icon_name (); ++ 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 unowned string? get_wmclass (); + public int get_workspace (); + public string application_id { get; construct; } + public string icon_name { get; construct; } +@@ -840,7 +862,7 @@ namespace Meta { + public void foreach_transient (Meta.WindowForeachFunc func); + public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect); + public Meta.Rectangle get_buffer_rect (); +- public unowned string get_client_machine (); ++ public unowned string? get_client_machine (); + public Meta.WindowClientType get_client_type (); + public unowned GLib.Object get_compositor_private (); + public unowned string get_description (); +@@ -849,32 +871,32 @@ namespace Meta { + public unowned Cairo.Region? get_frame_bounds (); + public Meta.Rectangle get_frame_rect (); + public Meta.FrameType get_frame_type (); +- public unowned Meta.Group get_group (); +- 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 unowned Meta.Group? get_group (); ++ public unowned string? get_gtk_app_menu_object_path (); ++ public unowned string? get_gtk_application_id (); ++ public unowned string? get_gtk_application_object_path (); ++ public unowned string? get_gtk_menubar_object_path (); ++ public unowned string? get_gtk_theme_variant (); ++ public unowned string? get_gtk_unique_bus_name (); ++ public unowned string? get_gtk_window_object_path (); + public bool get_icon_geometry (out Meta.Rectangle rect); + public uint64 get_id (); + public Meta.StackLayer get_layer (); + public Meta.MaximizeFlags get_maximized (); + public int get_monitor (); +- public unowned string get_mutter_hints (); ++ public unowned string? get_mutter_hints (); + public int get_pid (); + public unowned string get_role (); +- public unowned string get_sandboxed_app_id (); ++ public unowned string? get_sandboxed_app_id (); + public uint get_stable_sequence (); +- public unowned string get_startup_id (); ++ 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 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 unowned string? get_wm_class (); ++ public unowned string? get_wm_class_instance (); + public Meta.Rectangle get_work_area_all_monitors (); + public Meta.Rectangle get_work_area_current_monitor (); + public Meta.Rectangle get_work_area_for_monitor (int which_monitor); +@@ -1394,7 +1416,9 @@ namespace Meta { + public enum GrabOp { + NONE, + WINDOW_BASE, ++#if !HAS_MUTTER42 + COMPOSITOR, ++#endif + WAYLAND_POPUP, + FRAME_BUTTON, + MOVING, +@@ -1568,12 +1592,14 @@ namespace Meta { + VERTICAL, + BOTH + } ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "meta/meta-plugin.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")] + [Flags] + public enum ModalOptions { + POINTER_ALREADY_GRABBED, + KEYBOARD_ALREADY_GRABBED + } ++#endif + [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, +diff --git a/vapi/mutter-clutter.vapi b/vapi/mutter-clutter.vapi +index 04307759..c2a63a09 100644 +--- a/vapi/mutter-clutter.vapi ++++ b/vapi/mutter-clutter.vapi +@@ -6312,6 +6312,16 @@ namespace Clutter { + public virtual signal void gesture_end (Clutter.Actor actor); + public virtual signal bool gesture_progress (Clutter.Actor actor); + } ++#if HAS_MUTTER42 ++ [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 { ++ public void dismiss (); ++ public Clutter.GrabState get_seat_state (); ++ public unowned Clutter.Grab @ref (); ++ public void unref (); ++ } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_grid_layout_get_type ()")] + [Version (since = "1.12")] + public class GridLayout : Clutter.LayoutManager { +@@ -6421,8 +6431,10 @@ namespace Clutter { + [Version (since = "1.6")] + public bool get_enabled (); + #endif ++#if !HAS_MUTTER42 + [Version (since = "1.10")] + public unowned Clutter.Actor get_grabbed_actor (); ++#endif + public virtual int get_group_n_modes (int group); + [Version (since = "1.6")] + public bool get_has_cursor (); +@@ -6430,7 +6442,9 @@ namespace Clutter { + [Version (since = "1.6")] + public bool get_key (uint index_, out uint keyval, out Clutter.ModifierType modifiers); + public Clutter.InputDeviceMapping get_mapping_mode (); ++#endif + public int get_mode_switch_button_group (uint button); ++#if !HAS_MUTTER40 + [Version (since = "1.16")] + public Clutter.ModifierType get_modifier_state (); + #endif +@@ -6479,12 +6493,14 @@ namespace Clutter { + [Version (since = "1.10")] + public virtual bool keycode_to_evdev (uint hardware_keycode, uint evdev_keycode); + #endif ++#if !HAS_MUTTER42 + [Version (since = "1.12")] + public unowned Clutter.Actor sequence_get_grabbed_actor (Clutter.EventSequence sequence); + [Version (since = "1.12")] + public void sequence_grab (Clutter.EventSequence sequence, Clutter.Actor actor); + [Version (since = "1.12")] + public void sequence_ungrab (Clutter.EventSequence sequence); ++#endif + #if !HAS_MUTTER40 + [Version (since = "1.6")] + public void set_enabled (bool enabled); +@@ -6492,8 +6508,10 @@ namespace Clutter { + public void set_key (uint index_, uint keyval, Clutter.ModifierType modifiers); + public void set_mapping_mode (Clutter.InputDeviceMapping mapping); + #endif ++#if !HAS_MUTTER42 + [Version (since = "1.10")] + public void ungrab (); ++#endif + #if !HAS_MUTTER40 + [Version (since = "1.2")] + public void update_from_event (Clutter.Event event, bool update_stage); +@@ -7185,6 +7203,10 @@ namespace Clutter { + public virtual Clutter.VirtualDeviceType get_supported_virtual_device_types (); + #endif + public bool get_touch_mode (); ++#if HAS_MUTTER42 ++ [NoWrapper] ++ public virtual Clutter.GrabState grab (uint32 time); ++#endif + #if HAS_MUTTER40 + public virtual bool handle_event_post (Clutter.Event event); + #elif HAS_MUTTER338 +@@ -7204,6 +7226,10 @@ namespace Clutter { + #endif + public void set_pointer_a11y_dwell_click_type (Clutter.PointerA11yDwellClickType click_type); + public void set_pointer_a11y_settings (Clutter.PointerA11ySettings settings); ++#if HAS_MUTTER42 ++ [NoWrapper] ++ public virtual void ungrab (uint32 time); ++#endif + public void uninhibit_unfocus (); + public virtual void warp_pointer (int x, int y); + #if !HAS_MUTTER42 +@@ -7327,7 +7353,9 @@ namespace Clutter { + public bool capture (bool paint, Cairo.RectangleInt rect, [CCode (array_length_cname = "out_n_captures", array_length_pos = 3.1)] out Clutter.Capture[] out_captures); + #endif + #if HAS_MUTTER40 ++#if !HAS_MUTTER42 + public void capture_into (Cairo.RectangleInt rect, float scale, uint8 data, int stride); ++#endif + public void capture_view_into (Clutter.StageView view, Cairo.RectangleInt rect, uint8 data, int stride); + #else + public void capture_into (bool paint, Cairo.RectangleInt rect, uint8 data); +@@ -7365,12 +7393,15 @@ namespace Clutter { + public int64 get_frame_counter (); + [Version (since = "0.6")] + public unowned Clutter.Actor get_key_focus (); ++#if HAS_MUTTER42 ++ public unowned Clutter.Actor get_grab_actor (); ++#endif + #if !HAS_MUTTER42 + [Version (since = "1.2")] + public void get_minimum_size (out uint width, out uint height); +-#endif + [Version (since = "1.8")] + public bool get_motion_events_enabled (); ++#endif + public Clutter.Perspective get_perspective (); + #if !HAS_MUTTER338 + [Version (since = "1.8")] +@@ -7380,8 +7411,13 @@ namespace Clutter { + public bool get_throttle_motion_events (); + [Version (since = "0.4")] + public unowned string get_title (); ++#if HAS_MUTTER42 ++ public Clutter.Grab grab (Clutter.Actor actor); ++#endif ++#if !HAS_MUTTER42 + [Version (since = "1.2")] + public bool get_use_alpha (); ++#endif + #if HAS_MUTTER338 + 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; + #if HAS_MUTTER42 +@@ -7414,8 +7450,10 @@ namespace Clutter { + public void set_key_focus (Clutter.Actor? actor); + [Version (since = "1.2")] + public void set_minimum_size (uint width, uint height); ++#if !HAS_MUTTER42 + [Version (since = "1.8")] + public void set_motion_events_enabled (bool enabled); ++#endif + #if !HAS_MUTTER338 + public void set_perspective (Clutter.Perspective perspective); + #endif +@@ -7423,8 +7461,10 @@ namespace Clutter { + public void set_throttle_motion_events (bool throttle); + [Version (since = "0.4")] + public void set_title (string title); ++#if !HAS_MUTTER42 + [Version (since = "1.2")] + public void set_use_alpha (bool use_alpha); ++#endif + #if HAS_MUTTER42 + 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); + #elif HAS_MUTTER40 +@@ -8064,6 +8104,9 @@ namespace Clutter { + [CCode (has_construct_function = false)] + protected VirtualInputDevice (); + public int get_device_type (); ++#if HAS_MUTTER42 ++ public unowned Clutter.Seat get_seat (); ++#endif + 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); +@@ -8075,8 +8118,12 @@ namespace Clutter { + 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; } ++#if HAS_MUTTER42 ++ public Clutter.Seat seat { get; construct; } ++#else + [NoAccessorMethod] + public Clutter.Seat seat { owned get; construct; } ++#endif + } + [CCode (cheader_filename = "clutter/clutter.h", type_id = "clutter_zoom_action_get_type ()")] + [Version (since = "1.12")] +@@ -8649,6 +8696,9 @@ namespace Clutter { + FLAG_INPUT_METHOD, + #if HAS_MUTTER40 + FLAG_RELATIVE_MOTION, ++#endif ++#if HAS_MUTTER42 ++ FLAG_GRAB_NOTIFY, + #endif + FLAG_REPEATED + } +@@ -8747,6 +8797,16 @@ namespace Clutter { + AFTER, + BEFORE + } ++#if HAS_MUTTER42 ++ [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 ++ } ++#endif + [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_GRAVITY_", type_id = "clutter_gravity_get_type ()")] + [Version (deprecated = true, deprecated_since = "1.22", since = "0.2")] + public enum Gravity { +@@ -9300,13 +9360,13 @@ namespace Clutter { + BOTH + } + #endif +- [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_IMAGE_ERROR_INVALID_")] ++ [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_IMAGE_ERROR_INVALID_", type_id = "clutter_image_error_get_type ()")] + [Version (since = "1.10")] + public errordomain ImageError { + DATA; + public static GLib.Quark quark (); + } +- [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_")] ++ [CCode (cheader_filename = "clutter/clutter.h", cprefix = "CLUTTER_SCRIPT_ERROR_INVALID_", type_id = "clutter_script_error_get_type ()")] + [Version (since = "0.6")] + public errordomain ScriptError { + TYPE_FUNCTION, +@@ -9360,8 +9420,10 @@ namespace Clutter { + [CCode (cheader_filename = "clutter/clutter.h", cname = "CLUTTER_PRIORITY_REDRAW")] + [Version (since = "0.8")] + public const int PRIORITY_REDRAW; ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void base_init (); ++#endif + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "1.12")] + public static void cairo_clear (Cairo.Context cr); +@@ -9402,9 +9464,11 @@ namespace Clutter { + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.4")] + public static unowned Clutter.Backend get_default_backend (); ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "0.6")] + public static uint get_default_frame_rate (); ++#endif + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "1.2")] + public static Clutter.TextDirection get_default_text_direction (); +@@ -9441,8 +9505,10 @@ namespace Clutter { + [CCode (cheader_filename = "clutter/clutter.h")] + public static void main_quit (); + #endif ++#if !HAS_MUTTER42 + [CCode (cheader_filename = "clutter/clutter.h")] + public static void set_custom_backend_func (void* func); ++#endif + [CCode (cheader_filename = "clutter/clutter.h")] + [Version (since = "1.10")] + public static uint unicode_to_keysym (uint32 wc); +diff --git a/vapi/mutter-cogl-6.vapi b/vapi/mutter-cogl-6.vapi +index 526bb415..89a1169e 100644 +--- a/vapi/mutter-cogl-6.vapi ++++ b/vapi/mutter-cogl-6.vapi +@@ -1136,8 +1136,6 @@ namespace Cogl { + #if HAS_MUTTER42 + [CCode (cname = "COGL_FEATURE_ID_TIMESTAMP_QUERY")] + OGL_FEATURE_ID_TIMESTAMP_QUERY, +- [CCode (cname = "COGL_FEATURE_ID_GET_GPU_TIME")] +- OGL_FEATURE_ID_GET_GPU_TIME, + #endif + [CCode (cname = "COGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL")] + OGL_FEATURE_ID_TEXTURE_EGL_IMAGE_EXTERNAL +@@ -1369,7 +1367,7 @@ namespace Cogl { + SYNC_AND_COMPLETE_EVENT, + N_FEATURES + } +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BITMAP_ERROR_")] ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BITMAP_ERROR_", has_type_id = false)] + [Version (since = "1.4")] + public errordomain BitmapError { + FAILED, +@@ -1377,7 +1375,7 @@ namespace Cogl { + CORRUPT_IMAGE; + public static uint32 quark (); + } +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BLEND_STRING_ERROR_")] ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_BLEND_STRING_ERROR_", has_type_id = false)] + [Version (since = "1.0")] + public errordomain BlendStringError { + PARSE_ERROR, +@@ -1387,13 +1385,18 @@ namespace Cogl { + [CCode (cheader_filename = "cogl/cogl.h")] + public static uint32 quark (); + } +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_FRAMEBUFFER_ERROR_")] ++ [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 + } ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_", has_type_id = false)] ++ public errordomain RendererError { ++ XLIB_DISPLAY_OPEN, ++ BAD_CONSTRAINT ++ } + #if HAS_MUTTER40 +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_")] ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SCANOUT_ERROR_", has_type_id = false)] + public errordomain ScanoutError { + [CCode (cname = "COGL_SCANOUT_ERROR_INHIBITED")] + SCANOUT_ERROR_INHIBITED; +@@ -1401,18 +1404,13 @@ namespace Cogl { + public static GLib.Quark quark (); + } + #endif +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_RENDERER_ERROR_")] +- public errordomain RendererError { +- XLIB_DISPLAY_OPEN, +- BAD_CONSTRAINT +- } +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_")] ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_SYSTEM_ERROR_", has_type_id = false)] + [Version (since = "1.4")] + public errordomain SystemError { + UNSUPPORTED, + NO_MEMORY + } +- [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_ERROR_")] ++ [CCode (cheader_filename = "cogl/cogl.h", cprefix = "COGL_TEXTURE_ERROR_", has_type_id = false)] + [Version (since = "1.8")] + public errordomain TextureError { + SIZE, +@@ -1464,7 +1462,7 @@ namespace Cogl { + [CCode (cheader_filename = "cogl/cogl.h", cname = "COGL_TEXTURE_MAX_WASTE")] + public const int TEXTURE_MAX_WASTE; + [CCode (cheader_filename = "cogl/cogl.h")] +- public static bool blit_framebuffer (Cogl.Framebuffer src, Cogl.Framebuffer dest, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error; ++ public static bool blit_framebuffer (Cogl.Framebuffer framebuffer, Cogl.Framebuffer dst, int src_x, int src_y, int dst_x, int dst_y, int width, int height) throws GLib.Error; + [CCode (cheader_filename = "cogl/cogl.h")] + public static bool clutter_winsys_has_feature_CLUTTER (Cogl.WinsysFeature feature); + #if !HAS_MUTTER40 diff --git a/SPECS/wingpanel.spec b/SPECS/wingpanel.spec new file mode 100644 index 0000000..ff5797c --- /dev/null +++ b/SPECS/wingpanel.spec @@ -0,0 +1,327 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.2.6) +%define autorelease(e:s:pb:) %{?-p:0.}%{lua: + release_number = 4; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist} +## END: Set by rpmautospec + +%global appname io.elementary.wingpanel + +%global common_description %{expand: +Stylish top panel that holds indicators and spawns an application +launcher.} + +Name: wingpanel +Summary: Stylish top panel +Version: 3.0.2 +Release: %autorelease +License: GPLv2+ + +URL: https://github.com/elementary/wingpanel +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + +# merged PR for mutter 42 / libmutter-10 support +Patch0: %{url}/pull/434.patch +# merged PR to support latest mutter / gala changes +Patch1: %{url}/pull/453.patch + +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: libappstream-glib +BuildRequires: meson +BuildRequires: vala >= 0.24.0 + +BuildRequires: mesa-libEGL-devel + +BuildRequires: pkgconfig(gala) +BuildRequires: pkgconfig(gdk-x11-3.0) +BuildRequires: pkgconfig(gee-0.8) +BuildRequires: pkgconfig(glib-2.0) >= 2.32 +BuildRequires: pkgconfig(granite) >= 5.4.0 +BuildRequires: pkgconfig(gtk+-3.0) >= 3.10 +BuildRequires: pkgconfig(mutter-clutter-8) +BuildRequires: pkgconfig(mutter-cogl-8) +BuildRequires: pkgconfig(mutter-cogl-pango-8) + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +# wingpanel ayatana appindicator support was abandoned by upstream +# wingpanel-indicator-ayatana-2.0.3-10.fc32 retired for fedora 33+ +Obsoletes: wingpanel-indicator-ayatana < 2.0.3-11 + +%description %{common_description} + + +%package libs +Summary: Stylish top panel (shared library) + +%description libs %{common_description} + +This package contains the shared library. + + +%package devel +Summary: Stylish top panel (development files) +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel %{common_description} + +This package contains the files required for developing for wingpanel. + + +%prep +%autosetup -p1 + + +%build +%meson +%meson_build + + +%install +%meson_install + +%find_lang %{appname} + +# create plugin directory +mkdir -p %{buildroot}/%{_libdir}/wingpanel + +# create settings directory +mkdir -p %{buildroot}/%{_sysconfdir}/wingpanel.d + + +%check +desktop-file-validate \ + %{buildroot}/%{_datadir}/applications/%{appname}.desktop + +desktop-file-validate \ + %{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}.desktop + +appstream-util validate-relax --nonet \ + %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml + + +%files -f %{appname}.lang +%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}.desktop + +%{_bindir}/%{appname} + +%{_libdir}/gala/plugins/libwingpanel-interface.so + +%{_datadir}/applications/%{appname}.desktop +%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.gschema.xml +%{_datadir}/icons/hicolor/scalable/apps/%{appname}.svg +%{_datadir}/metainfo/%{appname}.appdata.xml + +%files libs +%license COPYING +%doc README.md + +%dir %{_sysconfdir}/wingpanel.d +%dir %{_libdir}/wingpanel + +%{_libdir}/libwingpanel.so.3 +%{_libdir}/libwingpanel.so.3.* + +%files devel +%{_includedir}/wingpanel/ + +%{_libdir}/libwingpanel.so +%{_libdir}/pkgconfig/wingpanel.pc + +%{_datadir}/vala/vapi/wingpanel.deps +%{_datadir}/vala/vapi/wingpanel.vapi + + +%changelog +* Thu Mar 16 2023 Sofia Boldyreva 3.0.2-4 +- Replace required mutter-clutter, mutter-cogl, and mutter-cogl-pango versions from 10 to 8 to match AlmaLinux 9 repositories + +* Wed Jul 13 2022 Fabio Valentini 3.0.2-4 +- Include upstream PR to support latest mutter / gala changes + +* Sat Jan 22 2022 Fedora Release Engineering 3.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 18 2022 Fabio Valentini 3.0.2-2 +- Include upstream PR for mutter 42 / libmutter-10 support + +* Wed Dec 22 2021 Fabio Valentini 3.0.2-1 +- Update to version 3.0.2; Fixes RHBZ#2034028 + +* Tue Sep 28 2021 Fabio Valentini 3.0.1-1 +- Update to version 3.0.1; Fixes RHBZ#2008349 + +* Fri Jul 23 2021 Fedora Release Engineering - 3.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Fabio Valentini - 3.0.0-1 +- Update to version 3.0.0. + +* Fri Feb 12 2021 Fabio Valentini - 3.0.0-0.1.20210217.gitdb24c73 +- Update to a wingpanel 3.0.0 pre-release snapshot at commit db24c73. +- Rebuilt for granite 6 soname bump. + +* Wed Jan 27 2021 Fedora Release Engineering - 2.3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 29 2020 Fabio Valentini - 2.3.2-4 +- Add patch for initial mutter 3.38 support. + +* Sat Aug 01 2020 Fedora Release Engineering - 2.3.2-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 21 2020 Fabio Valentini - 2.3.2-1 +- Update to version 2.3.2. + +* Fri May 01 2020 Fabio Valentini - 2.3.1-3 +- Obsolete the retired wingpanel-indicator-ayatana package. + +* Mon Apr 06 2020 Fabio Valentini - 2.3.1-2 +- Rebuild for gala 3.3.0 and mutter 3.36. + +* Mon Apr 06 2020 Fabio Valentini - 2.3.1-1 +- Update to version 2.3.1. + +* Fri Apr 03 2020 Fabio Valentini - 2.3.0-2.20200313.git88305e0 +- Bump to commit 88305e0. + +* Tue Mar 03 2020 Fabio Valentini - 2.3.0-1 +- Update to version 2.3.0. + +* Fri Jan 31 2020 Fedora Release Engineering - 2.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 01 2019 Fabio Valentini - 2.2.6-1 +- Update to version 2.2.6. + +* Sat Jul 27 2019 Fedora Release Engineering - 2.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 06 2019 Fabio Valentini - 2.2.5-1 +- Update to version 2.2.5. + +* Wed Apr 24 2019 Fabio Valentini - 2.2.4-1 +- Update to version 2.2.4. + +* Tue Apr 16 2019 Adam Williamson - 2.2.3-2 +- Rebuild with Meson fix for #1699099 + +* Mon Mar 18 2019 Fabio Valentini - 2.2.3-1 +- Update to version 2.2.3. + +* Sun Feb 03 2019 Fedora Release Engineering - 2.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 18 2019 Fabio Valentini - 2.2.2-1 +- Update to version 2.2.2. + +* Thu Dec 20 2018 Fabio Valentini - 2.2.1-1 +- Update to version 2.2.1. + +* Fri Oct 05 2018 Fabio Valentini - 2.2.0-1 +- Update to version 2.2.0. + +* Sun Sep 09 2018 Fabio Valentini - 2.1.1-4 +- Rebuild for gala mutter328 support. + +* Sat Jul 14 2018 Fedora Release Engineering - 2.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Fabio Valentini - 2.1.1-2 +- Add missing BR: gcc, gcc-c++. + +* Fri Jul 06 2018 Fabio Valentini - 2.1.1-1 +- Update to version 2.1.1. + +* Wed Jun 13 2018 Fabio Valentini - 2.1.0-2 +- Rebuild for granite5 soname bump. + +* Thu Jun 07 2018 Fabio Valentini - 2.1.0-1 +- Update to version 2.1.0. + +* Tue Mar 13 2018 Fabio Valentini - 2.0.4-6 +- Add patch to support and bump release for mutter 3.28. + +* Fri Feb 09 2018 Fedora Release Engineering - 2.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Fabio Valentini - 2.0.4-4 +- Include upstream patch to fix undefined symbols. + +* Sat Jan 06 2018 Fabio Valentini - 2.0.4-3 +- Remove icon cache scriptlets, replaced by file triggers. + +* Sat Nov 04 2017 Fabio Valentini - 2.0.4-2 +- Rebuild for granite soname bump. + +* Wed Sep 13 2017 Fabio Valentini - 2.0.4-1 +- Update to version 2.0.4. + +* Mon Sep 04 2017 Fabio Valentini - 2.0.3-5.20170902.git434f674 +- Bump to commit 434f674, which includes fixes for the latest mutter. + +* Sat Sep 02 2017 Fabio Valentini - 2.0.3-4.20170901.git7a1a583 +- Bump to commit 7a1a583, which includes support for the latest mutter. + +* Thu Aug 03 2017 Fedora Release Engineering - 2.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue May 30 2017 Fabio Valentini - 2.0.3-1 +- Update to version 2.0.3. + +* Sat Apr 08 2017 Fabio Valentini - 2.0.2-2 +- Create and own missing settings directory. + +* Fri Mar 17 2017 Fabio Valentini - 2.0.2-1 +- Update to version 2.0.2. +- Remove upstreamed patches. + +* Wed Feb 22 2017 Fabio Valentini - 2.0.1-12 +- Rebuild for new gala snapshot. + +* Sat Feb 11 2017 Fedora Release Engineering - 2.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 11 2017 Fabio Valentini - 2.0.1-10 +- Add patch to fix pkgconfig file. + +* Sat Jan 07 2017 Fabio Valentini - 2.0.1-9 +- Create and own plugin directory. + +* Sat Jan 07 2017 Fabio Valentini - 2.0.1-8 +- Split off -libs subpackage. + +* Sat Jan 07 2017 Fabio Valentini - 2.0.1-7 +- Don't let COPYING be executable. + +* Fri Jan 06 2017 Fabio Valentini - 2.0.1-6 +- Clean up spec file. + +* Thu Nov 17 2016 Fabio Valentini - 2.0.1-5 +- Add rpath workaround for f25. + +* Thu Sep 29 2016 Fabio Valentini - 2.0.1-4 +- Mass rebuild. + +* Wed Sep 28 2016 Fabio Valentini - 2.0.1-3 +- Spec file cleanups. + +* Mon Sep 19 2016 Fabio Valentini - 2.0.1-2 +- Spec file cosmetics. + +* Sun Aug 21 2016 Fabio Valentini - 2.0.1-1 +- Update to version 2.0.1. + +* Fri Aug 19 2016 Fabio Valentini - 0.4-1 +- Update to version 0.4. +