Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
X11:Pantheon
wingpanel
0001-port-to-mutter330.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-port-to-mutter330.patch of Package wingpanel
From: https://github.com/lavjamanxd/aur-alucryd/blob/mutter330/pantheon Subject: [PATCH] port to mutter330 --- /dev/null => wingpanel-2.2.0/vapi/libmutter-3.deps | 1 + /dev/null => wingpanel-2.2.0/vapi/libmutter-3.vapi | 1 + .../vapi/libmutter.vapi | 336 ++++++++++++++++++++- .../vapi/mutter-clutter-3.deps | 5 + .../vapi/mutter-clutter-3.vapi | 1 + .../vapi/mutter-cogl-3.deps | 1 + .../vapi/mutter-cogl-3.vapi | 1 + .../vapi/mutter-cogl-pango-3.vapi | 0 .../vapi/mutter-cogl-path-3.vapi | 0 .../wingpanel-interface/BackgroundManager.vala | 5 +- .../wingpanel-interface/CMakeLists.txt | 11 + .../wingpanel-interface/FocusManager.vala | 13 +- .../wingpanel-interface/Main.vala | 4 +- 13 files changed, 359 insertions(+), 20 deletions(-) diff --git wingpanel-2.2.0/vapi/libmutter-3.deps wingpanel-2.2.0/vapi/libmutter-3.deps new file mode 120000 index 0000000..efe5ad1 --- /dev/null +++ wingpanel-2.2.0/vapi/libmutter-3.deps @@ -0,0 +1 @@ +libmutter-2.deps \ No newline at end of file diff --git wingpanel-2.2.0/vapi/libmutter-3.vapi wingpanel-2.2.0/vapi/libmutter-3.vapi new file mode 120000 index 0000000..22cc238 --- /dev/null +++ wingpanel-2.2.0/vapi/libmutter-3.vapi @@ -0,0 +1 @@ +libmutter-2.vapi \ No newline at end of file diff --git wingpanel-2.2.0.orig/vapi/libmutter.vapi wingpanel-2.2.0/vapi/libmutter.vapi index 1cfb702..63b732e 100644 --- wingpanel-2.2.0.orig/vapi/libmutter.vapi +++ wingpanel-2.2.0/vapi/libmutter.vapi @@ -93,6 +93,10 @@ namespace Meta { public static void set_ignore_request_hide_titlebar (bool whether); [CCode (cheader_filename = "meta/prefs.h")] public static void set_num_workspaces (int n_workspaces); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/prefs.h")] + public static void set_show_fallback_app_menu (bool whether); +#endif } namespace Util { [CCode (cheader_filename = "meta/main.h", cname = "meta_add_verbose_topic")] @@ -101,6 +105,10 @@ namespace Meta { public static void bug (string format, ...); [CCode (cheader_filename = "meta/main.h", cname = "meta_debug_spew_real")] public static void debug_spew_real (string format, ...); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")] + public static void empty_stage_input_region (Meta.Display display); +#else [CCode (cheader_filename = "meta/main.h", cname = "meta_disable_unredirect_for_screen")] public static void disable_unredirect_for_screen (Meta.Screen screen); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_empty_stage_input_region")] @@ -113,6 +121,7 @@ namespace Meta { public static int error_trap_pop_with_return (Meta.Display display); [CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_push")] public static void error_trap_push (Meta.Display display); +#endif [CCode (cheader_filename = "meta/main.h", cname = "meta_external_binding_name_for_action")] public static string external_binding_name_for_action (uint keybinding_action); [CCode (cheader_filename = "meta/main.h", cname = "meta_fatal")] @@ -124,7 +133,11 @@ namespace Meta { [CCode (cheader_filename = "meta/main.h", cname = "meta_get_locale_direction")] public static Meta.LocaleDirection get_locale_direction (); [CCode (cheader_filename = "meta/main.h", cname = "meta_get_overlay_window")] +#if HAS_MUTTER330 + public static X.Window get_overlay_window (Meta.Display display); +#else public static X.Window get_overlay_window (Meta.Screen screen); +#endif [CCode (cheader_filename = "meta/main.h", cname = "meta_gravity_to_string")] public static unowned string gravity_to_string (int gravity); [CCode (cheader_filename = "meta/main.h", cname = "meta_is_debugging")] @@ -148,7 +161,11 @@ namespace Meta { [CCode (cheader_filename = "meta/main.h", cname = "meta_remove_verbose_topic")] public static void remove_verbose_topic (Meta.DebugTopic topic); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_set_stage_input_region")] +#if HAS_MUTTER330 + public static void set_stage_input_region (Meta.Display display, X.XserverRegion region); +#else public static void set_stage_input_region (Meta.Screen screen, X.XserverRegion region); +#endif [CCode (cheader_filename = "meta/main.h", cname = "meta_show_dialog")] public static GLib.Pid show_dialog (string type, string message, string? timeout = null, string? display = null, string? ok_text = null, string? cancel_text = null, string? icon_name = null, int transient_for = 0, GLib.SList<string>? columns = null, GLib.SList<string>? entries = null); [CCode (cheader_filename = "meta/main.h", cname = "meta_topic_real")] @@ -161,6 +178,16 @@ namespace Meta { public static void verbose_real (string format, ...); [CCode (cheader_filename = "meta/main.h", cname = "meta_warning")] public static void warning (string format, ...); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h", cname = "meta_x11_error_trap_pop")] + public static void x11_error_trap_pop (Meta.X11Display x11_display); + [CCode (cheader_filename = "meta/main.h", cname = "meta_x11_error_trap_pop_with_return")] + public static int x11_error_trap_pop_with_return (Meta.X11Display x11_display); + [CCode (cheader_filename = "meta/main.h", cname = "meta_x11_error_trap_push")] + public static void x11_error_trap_push (Meta.X11Display x11_display); + [CCode (cheader_filename = "meta/main.h", cname = "meta_x11_init_gdk_display")] + public static bool x11_init_gdk_display () throws GLib.Error; +#endif } [CCode (cheader_filename = "meta/main.h", type_id = "meta_backend_get_type ()")] #if HAS_MUTTER322 @@ -175,10 +202,13 @@ namespace Meta { #if HAS_MUTTER324 public unowned Meta.Dnd get_dnd (); #endif - public unowned Clutter.Actor get_stage (); +#if HAS_MUTTER330 + public unowned Meta.RemoteAccessController get_remote_access_controller (); +#endif #if HAS_MUTTER326 - public int get_ui_scaling_factor (); + public unowned Meta.Settings get_settings (); #endif + public unowned Clutter.Actor get_stage (); public void lock_layout_group (uint idx); public void set_keymap (string layouts, string variants, string options); #if HAS_MUTTER322 @@ -187,35 +217,63 @@ namespace Meta { public signal void keymap_changed (); public signal void keymap_layout_group_changed (uint object); public signal void last_device_changed (int object); -#if HAS_MUTTER326 - public signal void x11_display_opened (); +#if HAS_MUTTER330 + public signal void lid_is_closed_changed (bool object); #endif } - [CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")] + [CCode (cheader_filename = "meta/display.h,meta/meta-background.h", type_id = "meta_background_get_type ()")] public class Background : GLib.Object { [CCode (has_construct_function = false)] +#if HAS_MUTTER330 + public Background (Meta.Display display); +#else public Background (Meta.Screen screen); +#endif public static void refresh_all (); public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style); public void set_color (Clutter.Color color); public void set_file (GLib.File file, GDesktop.BackgroundStyle style); public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color); [NoAccessorMethod] +#if HAS_MUTTER330 + public Meta.Display meta_display { owned get; construct; } +#else public Meta.Screen meta_screen { owned get; construct; } +#endif public signal void changed (); } - [CCode (cheader_filename = "meta/meta-background-actor.h", type_id = "meta_background_actor_get_type ()")] + [CCode (cheader_filename = "meta/display.h,meta/meta-background-actor.h", type_id = "meta_background_actor_get_type ()")] public class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable { [CCode (has_construct_function = false, type = "ClutterActor*")] +#if HAS_MUTTER330 + public BackgroundActor (Meta.Display display, int monitor); +#else public BackgroundActor (Meta.Screen screen, int monitor); +#endif public void set_background (Meta.Background background); +#if HAS_MUTTER326 + public void set_gradient (bool enabled, int height, double tone_start); + public void set_monitor (int monitor); +#endif public void set_vignette (bool enabled, double brightness, double sharpness); [NoAccessorMethod] public Meta.Background background { owned get; set; } [NoAccessorMethod] public double brightness { get; set; } +#if HAS_MUTTER326 + [NoAccessorMethod] + public bool gradient { get; set; } + [NoAccessorMethod] + public int gradient_height { get; set; } [NoAccessorMethod] + public double gradient_max_darkness { get; set; } +#endif + [NoAccessorMethod] +#if HAS_MUTTER330 + public Meta.Display meta_display { owned get; construct; } +#else public Meta.Screen meta_screen { owned get; construct; } +#endif [NoAccessorMethod] public int monitor { get; construct; } [NoAccessorMethod] @@ -286,6 +344,21 @@ namespace Meta { public void add_window (Meta.Window window); public void destroy (); public bool filter_keybinding (Meta.KeyBinding binding); +#if HAS_MUTTER330 + public void flash_display (Meta.Display display); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")] + public static void focus_stage_window (Meta.Display display, uint32 timestamp); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_display")] + public static unowned Clutter.Actor get_feedback_group_for_display (Meta.Display display); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_display")] + public static unowned Clutter.Actor? get_stage_for_display (Meta.Display display); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_display")] + public static unowned Clutter.Actor? get_top_window_group_for_display (Meta.Display display); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")] + public static unowned GLib.List<weak Meta.WindowActor>? get_window_actors (Meta.Display display); + [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_display")] + public static unowned Clutter.Actor? get_window_group_for_display (Meta.Display display); +#else public void flash_screen (Meta.Screen screen); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_focus_stage_window")] public static void focus_stage_window (Meta.Screen screen, uint32 timestamp); @@ -299,6 +372,7 @@ namespace Meta { public static unowned GLib.List<weak Meta.WindowActor>? get_window_actors (Meta.Screen screen); [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_group_for_screen")] public static unowned Clutter.Actor? get_window_group_for_screen (Meta.Screen screen); +#endif public void hide_tile_preview (); public void hide_window (Meta.Window window, Meta.CompEffect effect); public void manage (); @@ -311,8 +385,10 @@ namespace Meta { public void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y); public void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect); public void size_change_window (Meta.Window window, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect); +#if !HAS_MUTTER328 [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_stage_is_focused")] public static bool stage_is_focused (Meta.Screen screen); +#endif public void switch_workspace (Meta.Workspace from, Meta.Workspace to, Meta.MotionDirection direction); public void sync_stack (GLib.List<Meta.WindowActor> stack); public void sync_updates_frozen (Meta.Window window); @@ -326,68 +402,137 @@ namespace Meta { public class CursorTracker : GLib.Object { [CCode (has_construct_function = false)] protected CursorTracker (); +#if HAS_MUTTER330 + public static unowned Meta.CursorTracker get_for_display (Meta.Display display); +#else public static unowned Meta.CursorTracker get_for_screen (Meta.Screen screen); +#endif public void get_hot (out int x, out int y); - public void get_pointer (int x, int y, Clutter.ModifierType mods); + public void get_pointer (out int x, out int y, out Clutter.ModifierType mods); public unowned Cogl.Texture get_sprite (); public void set_pointer_visible (bool visible); public signal void cursor_changed (); } +#if HAS_MUTTER328 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_dbus_display_config_skeleton_get_type ()")] + public class DBusDisplayConfigSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface { + [CCode (has_construct_function = false)] + protected DBusDisplayConfigSkeleton (); + } +#endif [CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")] public class Display : GLib.Object { [CCode (has_construct_function = false)] protected Display (); public void add_ignored_crossing_serial (ulong serial); public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler); +#if HAS_MUTTER330 + public bool begin_grab_op (Meta.Window window, Meta.GrabOp op, bool pointer_already_grabbed, bool frame_action, int button, ulong modmask, uint32 timestamp, int root_x, int root_y); +#else public bool begin_grab_op (Meta.Screen screen, Meta.Window window, Meta.GrabOp op, bool pointer_already_grabbed, bool frame_action, int button, ulong modmask, uint32 timestamp, int root_x, int root_y); +#endif public void clear_mouse_mode (); +#if HAS_MUTTER330 + public void close (uint32 timestamp); +#endif public void end_grab_op (uint32 timestamp); +#if HAS_MUTTER330 + public void focus_default_window (uint32 timestamp); +#else public void focus_the_no_focus_window (Meta.Screen screen, uint32 timestamp); +#endif public void freeze_keyboard (uint32 timestamp); public unowned Meta.Compositor get_compositor (); +#if HAS_MUTTER330 + public int get_current_monitor (); +#endif public uint32 get_current_time (); public uint32 get_current_time_roundtrip (); +#if !HAS_MUTTER330 public int get_damage_event_base (); +#endif public unowned Meta.Window get_focus_window (); public Meta.GrabOp get_grab_op (); public uint get_keybinding_action (uint keycode, ulong mask); public uint32 get_last_user_time (); +#if HAS_MUTTER330 + public Meta.Rectangle get_monitor_geometry (int monitor); + public bool get_monitor_in_fullscreen (int monitor); + public int get_monitor_index_for_rect (Meta.Rectangle rect); + public int get_monitor_neighbor_index (int which_monitor, Meta.DisplayDirection dir); + public int get_n_monitors (); +#endif #if HAS_MUTTER322 public string get_pad_action_label (Clutter.InputDevice pad, Meta.PadActionType action_type, uint action_number); #endif +#if HAS_MUTTER330 + public int get_primary_monitor (); + public void get_size (out int width, out int height); + public unowned GLib.SList<void*> get_startup_sequences (); +#else public int get_shape_event_base (); +#endif public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace); public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList type, Meta.Workspace? workspace); public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward); +#if HAS_MUTTER330 + public unowned Meta.WorkspaceManager get_workspace_manager (); + public unowned Meta.X11Display get_x11_display (); +#else public unowned X.Display get_xdisplay (); public int get_xinput_opcode (); +#endif public uint grab_accelerator (string accelerator); +#if !HAS_MUTTER330 public bool has_shape (); +#endif public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence); +#if !HAS_MUTTER330 public unowned Meta.Group lookup_group (X.Window group_leader); +#endif public bool remove_keybinding (string name); #if HAS_MUTTER322 public void request_pad_osd (Clutter.InputDevice pad, bool edition_mode); #endif +#if HAS_MUTTER330 + public void set_cursor (Meta.Cursor cursor); +#else public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp); +#endif public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows); public bool supports_extended_barriers (); public void unfreeze_keyboard (uint32 timestamp); public bool ungrab_accelerator (uint action_id); public void ungrab_keyboard (uint32 timestamp); +#if !HAS_MUTTER330 public void unmanage_screen (Meta.Screen screen, uint32 timestamp); +#endif public bool xserver_time_is_before (uint32 time1, uint32 time2); +#if !HAS_MUTTER330 public bool xwindow_is_a_no_focus_window (X.Window xwindow); +#endif public signal void accelerator_activated (uint object, uint p0, uint p1); +#if HAS_MUTTER330 + public signal void cursor_updated (); +#endif #if HAS_MUTTER322 public signal void gl_video_memory_purged (); #endif +#if HAS_MUTTER330 + public signal void grab_op_begin (Meta.Display object, Meta.Window p0, Meta.GrabOp p1); + public signal void grab_op_end (Meta.Display object, Meta.Window p0, Meta.GrabOp p1); + public signal void in_fullscreen_changed (); +#else public signal void grab_op_begin (Meta.Screen object, Meta.Window p0, Meta.GrabOp p1); public signal void grab_op_end (Meta.Screen object, Meta.Window p0, Meta.GrabOp p1); +#endif public signal bool modifiers_accelerator_activated (); public signal void overlay_key (); #if HAS_MUTTER324 public signal void pad_mode_switch (Clutter.InputDevice object, uint p0, uint p1); +#endif +#if HAS_MUTTER330 + public signal void restacked (); #endif public signal bool restart (); #if HAS_MUTTER324 @@ -398,9 +543,22 @@ namespace Meta { #endif public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2); public signal bool show_restart_message (string? message); +#if HAS_MUTTER330 + public signal void showing_desktop_changed (); + public signal void startup_sequence_changed (void* object); +#endif public signal void window_created (Meta.Window object); public signal void window_demands_attention (Meta.Window object); +#if HAS_MUTTER330 + public signal void window_entered_monitor (int object, Meta.Window p0); + public signal void window_left_monitor (int object, Meta.Window p0); +#endif public signal void window_marked_urgent (Meta.Window object); +#if HAS_MUTTER330 + public signal void workareas_changed (); + public signal void x11_display_closing (); + public signal void x11_display_opened (); +#endif } #if HAS_MUTTER324 [CCode (cheader_filename = "meta/meta-dnd.h", type_id = "meta_dnd_get_type ()")] @@ -450,28 +608,44 @@ namespace Meta { public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler); } [CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")] +#if HAS_MUTTER328 + public abstract class MonitorManager : Meta.DBusDisplayConfigSkeleton, GLib.DBusInterface { +#else public abstract class MonitorManager : GLib.DBusInterfaceSkeleton, GLib.DBusInterface { +#endif [CCode (has_construct_function = false)] protected MonitorManager (); #if HAS_MUTTER326 public bool can_switch_config (); #endif public static unowned Meta.MonitorManager @get (); +#if HAS_MUTTER326 + public static int get_display_configuration_timeout (); +#endif #if HAS_MUTTER322 public bool get_is_builtin_display_on (); #endif #if HAS_MUTTER326 public int get_monitor_for_connector (string connector); #endif +#if !HAS_MUTTER328 public int get_monitor_for_output (uint id); +#endif public signal void confirm_display_change (); #if HAS_MUTTER326 public Meta.MonitorSwitchConfigType get_switch_config (); public void switch_config (Meta.MonitorSwitchConfigType config_type); #endif +#if HAS_MUTTER328 + [NoAccessorMethod] + public Meta.Backend backend { owned get; construct; } + public signal void monitors_changed_internal (); +#endif #if HAS_MUTTER324 && !HAS_MUTTER326 public signal void lid_is_closed_changed (); #endif + public signal void monitors_changed (); + public signal void workareas_changed (); } [CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")] public abstract class Plugin : GLib.Object { @@ -484,13 +658,19 @@ namespace Meta { #if HAS_MUTTER326 [NoWrapper] public virtual unowned Meta.CloseDialog create_close_dialog (Meta.Window window); + [NoWrapper] + public virtual unowned Meta.InhibitShortcutsDialog create_inhibit_shortcuts_dialog (Meta.Window window); #endif [NoWrapper] public virtual void destroy (Meta.WindowActor actor); public void destroy_completed (Meta.WindowActor actor); public void end_modal (uint32 timestamp); public unowned Meta.PluginInfo? get_info (); +#if HAS_MUTTER330 + public unowned Meta.Display get_display (); +#else public unowned Meta.Screen get_screen (); +#endif [NoWrapper] public virtual void hide_tile_preview (); [NoWrapper] @@ -532,6 +712,21 @@ namespace Meta { [NoWrapper] public virtual bool xevent_filter (X.Event event); } +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_remote_access_controller_get_type ()")] + public class RemoteAccessController : GLib.Object { + [CCode (has_construct_function = false)] + protected RemoteAccessController (); + public signal void new_handle (Meta.RemoteAccessHandle object); + } + [CCode (cheader_filename = "meta/main.h", type_id = "meta_remote_access_handle_get_type ()")] + public class RemoteAccessHandle : GLib.Object { + [CCode (has_construct_function = false)] + protected RemoteAccessHandle (); + public virtual void stop (); + public signal void stopped (); + } +#else [CCode (cheader_filename = "meta/screen.h", type_id = "meta_screen_get_type ()")] public class Screen : GLib.Object { [CCode (has_construct_function = false)] @@ -573,6 +768,7 @@ namespace Meta { public signal void workspace_removed (int object); public signal void workspace_switched (int object, int p0, Meta.MotionDirection p1); } +#endif #if HAS_MUTTER326 [CCode (cheader_filename = "meta/meta-settings.h", has_type_id = false)] [Compact] @@ -611,6 +807,18 @@ namespace Meta { public bool update_area (int x, int y, int width, int height); public signal void size_changed (); } +#if HAS_MUTTER328 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_stage_get_type ()")] + public class Stage : Clutter.Stage, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable { + [CCode (has_construct_function = false)] + protected Stage (); +#if HAS_MUTTER330 + public static bool is_focused (Meta.Display display); +#else + public static bool is_focused (Meta.Screen screen); +#endif + } +#endif [CCode (cheader_filename = "meta/theme.h", has_type_id = false)] [Compact] public class Theme { @@ -653,7 +861,7 @@ namespace Meta { public unowned GLib.Object get_compositor_private (); public unowned string get_description (); public unowned Meta.Display get_display (); -#if HAS_MUTTER322 +#if HAS_MUTTER322 && !HAS_MUTTER328 public unowned string get_flatpak_id (); #endif public unowned Meta.Frame get_frame (); @@ -675,7 +883,12 @@ namespace Meta { public unowned string get_mutter_hints (); public int get_pid (); public unowned string get_role (); +#if HAS_MUTTER328 + public unowned string get_sandboxed_app_id (); +#endif +#if !HAS_MUTTER330 public unowned Meta.Screen get_screen (); +#endif public uint get_stable_sequence (); public unowned string get_startup_id (); public unowned Meta.Window? get_tile_match (); @@ -779,6 +992,9 @@ namespace Meta { public signal void focused (); public signal void position_changed (); public signal void raised (); +#if HAS_MUTTER330 + public signal void shown (); +#endif public signal void size_changed (); public signal void unmanaged (); public signal void workspace_changed (); @@ -798,8 +1014,18 @@ namespace Meta { public string shadow_class { owned get; set; } [NoAccessorMethod] public Meta.ShadowMode shadow_mode { get; set; } +#if HAS_MUTTER330 + public signal void effects_completed (); +#endif public signal void first_frame (); } +#if HAS_MUTTER328 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_window_group_get_type ()")] + public class WindowGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable { + [CCode (has_construct_function = false)] + protected WindowGroup (); + } +#endif [CCode (cheader_filename = "meta/meta_window_shape.h", ref_function = "meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", unref_function = "meta_window_shape_unref")] [Compact] public class WindowShape { @@ -819,7 +1045,11 @@ namespace Meta { public void activate (uint32 timestamp); public void activate_with_focus (Meta.Window focus_this, uint32 timestamp); public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction); +#if HAS_MUTTER330 + public unowned Meta.Display get_display (); +#else public unowned Meta.Screen get_screen (); +#endif public Meta.Rectangle get_work_area_all_monitors (); public Meta.Rectangle get_work_area_for_monitor (int which_monitor); public int index (); @@ -832,7 +1062,50 @@ namespace Meta { public signal void window_added (Meta.Window object); public signal void window_removed (Meta.Window object); } +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h", type_id = "meta_workspace_manager_get_type ()")] + public class WorkspaceManager : GLib.Object { + [CCode (has_construct_function = false)] + protected WorkspaceManager (); + public unowned Meta.Workspace append_new_workspace (bool activate, uint32 timestamp); + public unowned Meta.Workspace get_active_workspace (); + public int get_active_workspace_index (); + public int get_n_workspaces (); + public unowned GLib.List<Meta.Workspace> get_workspaces (); + public unowned Meta.Workspace get_workspace_by_index (int index); + public void override_workspace_layout (Meta.DisplayCorner starting_corner, bool vertical_layout, int n_rows, int n_columns); + public void remove_workspace (Meta.Workspace workspace, uint32 timestamp); + public int n_workspaces { get; } + public signal void active_workspace_changed (); + public signal void showing_desktop_changed (); + public signal void workspace_added (int object); + public signal void workspace_removed (int object); + public signal void workspace_switched (int object, int p0, Meta.MotionDirection p1); + } + [CCode (cheader_filename = "meta/main.h", type_id = "meta_x11_display_get_type ()")] + public class X11Display : GLib.Object { + [CCode (has_construct_function = false)] + protected X11Display (); + public void focus_the_no_focus_window (uint32 timestamp); + public int get_damage_event_base (); + public int get_screen_number (); + public int get_shape_event_base (); + public bool has_shape (); + public void set_cm_selection (); + public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp); + public bool xwindow_is_a_no_focus_window (X.Window xwindow); + } +#endif #if HAS_MUTTER326 + [CCode (cheader_filename = "meta/main.h", type_cname = "MetaInhibitShortcutsDialogInterface", type_id = "meta_inhibit_shortcuts_dialog_get_type ()")] + public interface InhibitShortcutsDialog : GLib.Object { + public abstract void hide (); + public abstract void show (); + [NoAccessorMethod] + public abstract Meta.Window window { owned get; construct; } + [HasEmitter] + public signal void response (Meta.InhibitShortcutsDialogResponse response); + } [CCode (cheader_filename = "meta/meta-close-dialog.h", type_cname = "MetaCloseDialogInterface", type_id = "meta_close_dialog_get_type ()")] public interface CloseDialog : GLib.Object { public abstract void focus (); @@ -1016,6 +1289,22 @@ namespace Meta { HORIZONTAL, VERTICAL } +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", type_id = "meta_display_corner_get_type ()")] + public enum DisplayCorner { + TOPLEFT, + TOPRIGHT, + BOTTOMLEFT, + BOTTOMRIGHT + } + [CCode (cheader_filename = "meta/main.h", cprefix = "META_DISPLAY_", type_id = "meta_display_direction_get_type ()")] + public enum DisplayDirection { + UP, + DOWN, + LEFT, + RIGHT + } +#endif [CCode (cheader_filename = "meta/boxes.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")] public enum EdgeType { WINDOW, @@ -1060,7 +1349,7 @@ namespace Meta { ATTACHED, LAST; [CCode (cheader_filename = "meta/main.h")] - public static unowned string to_string (Meta.FrameType type); + public unowned string to_string (); } [CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")] public enum GrabOp { @@ -1089,6 +1378,13 @@ namespace Meta { KEYBOARD_RESIZING_SE, KEYBOARD_RESIZING_W } +#if HAS_MUTTER326 + [CCode (cheader_filename = "meta/main.h", cprefix = "META_INHIBIT_SHORTCUTS_DIALOG_RESPONSE_", type_id = "meta_inhibit_shortcuts_dialog_response_get_type ()")] + public enum InhibitShortcutsDialogResponse { + ALLOW, + DENY + } +#endif [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")] public enum KeyBindingAction { NONE, @@ -1192,6 +1488,9 @@ namespace Meta { NONE, PER_WINDOW, BUILTIN, +#if HAS_MUTTER326 + NON_MASKABLE, +#endif IS_REVERSED } [CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")] @@ -1286,8 +1585,9 @@ namespace Meta { CENTER_NEW_WINDOWS, DRAG_THRESHOLD; [CCode (cheader_filename = "meta/main.h")] - public static unowned string to_string (Meta.Preference pref); + public unowned string to_string (); } +#if !HAS_MUTTER330 [CCode (cheader_filename = "meta/screen.h", cprefix = "META_SCREEN_", type_id = "meta_screen_corner_get_type ()")] public enum ScreenCorner { TOPLEFT, @@ -1302,6 +1602,7 @@ namespace Meta { LEFT, RIGHT } +#endif [CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")] public enum ShadowMode { AUTO, @@ -1395,12 +1696,21 @@ namespace Meta { } [CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 2.9)] public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/prefs.h", instance_pos = 4.9)] + public delegate void KeyHandlerFunc (Meta.Display display, Meta.Window? window, Clutter.KeyEvent? event, Meta.KeyBinding binding); +#else [CCode (cheader_filename = "meta/prefs.h", instance_pos = 5.9)] public delegate void KeyHandlerFunc (Meta.Display display, Meta.Screen screen, Meta.Window? window, Clutter.KeyEvent? event, Meta.KeyBinding binding); +#endif [CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)] public delegate void PrefsChangedFunc (Meta.Preference pref); [CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)] public delegate bool WindowForeachFunc (Meta.Window window); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h", cname = "META_CURRENT_TIME")] + public const int CURRENT_TIME; +#endif [CCode (cheader_filename = "meta/main.h", cname = "META_DEFAULT_ICON_NAME")] public const string DEFAULT_ICON_NAME; [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")] @@ -1435,6 +1745,12 @@ namespace Meta { public static bool activate_session (); [CCode (cheader_filename = "meta/main.h")] public static void clutter_init (); +#if HAS_MUTTER330 + [CCode (cheader_filename = "meta/main.h")] + public static void disable_unredirect_for_display (Meta.Display display); + [CCode (cheader_filename = "meta/main.h")] + public static void enable_unredirect_for_display (Meta.Display display); +#endif [CCode (cheader_filename = "meta/main.h")] public static void exit (Meta.ExitCode code); [CCode (cheader_filename = "meta/main.h")] diff --git wingpanel-2.2.0/vapi/mutter-clutter-3.deps wingpanel-2.2.0/vapi/mutter-clutter-3.deps new file mode 100644 index 0000000..687b763 --- /dev/null +++ wingpanel-2.2.0/vapi/mutter-clutter-3.deps @@ -0,0 +1,5 @@ +atk +cairo +pango +json-glib-1.0 +mutter-cogl-3 diff --git wingpanel-2.2.0/vapi/mutter-clutter-3.vapi wingpanel-2.2.0/vapi/mutter-clutter-3.vapi new file mode 120000 index 0000000..cb676dc --- /dev/null +++ wingpanel-2.2.0/vapi/mutter-clutter-3.vapi @@ -0,0 +1 @@ +mutter-clutter-2.vapi \ No newline at end of file diff --git wingpanel-2.2.0/vapi/mutter-cogl-3.deps wingpanel-2.2.0/vapi/mutter-cogl-3.deps new file mode 120000 index 0000000..c6bf5df --- /dev/null +++ wingpanel-2.2.0/vapi/mutter-cogl-3.deps @@ -0,0 +1 @@ +mutter-cogl-2.deps \ No newline at end of file diff --git wingpanel-2.2.0/vapi/mutter-cogl-3.vapi wingpanel-2.2.0/vapi/mutter-cogl-3.vapi new file mode 120000 index 0000000..6cf832e --- /dev/null +++ wingpanel-2.2.0/vapi/mutter-cogl-3.vapi @@ -0,0 +1 @@ +mutter-cogl-2.vapi \ No newline at end of file diff --git wingpanel-2.2.0/vapi/mutter-cogl-pango-3.vapi wingpanel-2.2.0/vapi/mutter-cogl-pango-3.vapi new file mode 100644 index 0000000..e69de29 diff --git wingpanel-2.2.0/vapi/mutter-cogl-path-3.vapi wingpanel-2.2.0/vapi/mutter-cogl-path-3.vapi new file mode 100644 index 0000000..e69de29 diff --git wingpanel-2.2.0.orig/wingpanel-interface/BackgroundManager.vala wingpanel-2.2.0/wingpanel-interface/BackgroundManager.vala index ff4d6fd..99bfb13 100644 --- wingpanel-2.2.0.orig/wingpanel-interface/BackgroundManager.vala +++ wingpanel-2.2.0/wingpanel-interface/BackgroundManager.vala @@ -60,7 +60,7 @@ public class WingpanelInterface.BackgroundManager : Object { } private void connect_signals () { - Main.screen.workspace_switched.connect (() => { + Main.display.get_workspace_manager().workspace_switched.connect (() => { update_current_workspace (); }); @@ -81,7 +81,8 @@ public class WingpanelInterface.BackgroundManager : Object { } private void update_current_workspace () { - var workspace = Main.screen.get_workspace_by_index (Main.screen.get_active_workspace_index ()); + var workspace_manager = Main.display.get_workspace_manager(); + var workspace = workspace_manager.get_workspace_by_index (workspace_manager.get_active_workspace_index ()); if (workspace == null) { warning ("Cannot get active workspace"); diff --git wingpanel-2.2.0.orig/wingpanel-interface/CMakeLists.txt wingpanel-2.2.0/wingpanel-interface/CMakeLists.txt index fa59f55..912ab63 100644 --- wingpanel-2.2.0.orig/wingpanel-interface/CMakeLists.txt +++ wingpanel-2.2.0/wingpanel-interface/CMakeLists.txt @@ -16,10 +16,12 @@ pkg_check_modules(MUTTER322 QUIET libmutter>=3.21) pkg_check_modules(MUTTER324 QUIET libmutter-0>=3.23.90) pkg_check_modules(MUTTER326 QUIET libmutter-1>=3.25.90) pkg_check_modules(MUTTER328 QUIET libmutter-2>=3.27.91) +pkg_check_modules(MUTTER330 QUIET libmutter-3>=3.29.4) set (EXTRA_VALA_FLAGS "") set (EXTRA_MUTTER_PKS cogl-1.0 clutter-1.0 libmutter) set (EXTRA_MUTTER_PACKAGES cogl-1.0 clutter-1.0 libmutter) + if (MUTTER320_FOUND) set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320) endif () @@ -48,6 +50,12 @@ if (MUTTER328_FOUND) set (EXTRA_MUTTER_PACKAGES mutter-cogl-2 mutter-clutter-2) endif () +if (MUTTER330_FOUND) + set (EXTRA_VALA_FLAGS ${EXTRA_VALA_FLAGS} --define HAS_MUTTER320 --define HAS_MUTTER322 --define HAS_MUTTER324 --define HAS_MUTTER326 --define HAS_MUTTER328 --define HAS_MUTTER330) + set (EXTRA_MUTTER_PKS mutter-cogl-3 mutter-cogl-pango-3 mutter-cogl-path-3 mutter-clutter-3 libmutter-3) + set (EXTRA_MUTTER_PACKAGES mutter-cogl-3 mutter-clutter-3) +endif () + pkg_check_modules (PLUGIN_MUTTER REQUIRED ${EXTRA_MUTTER_PKS}) include (ValaPrecompile) @@ -85,6 +93,9 @@ elseif (MUTTER324_FOUND) elseif (MUTTER322_FOUND) _pkgconfig_invoke("libmutter" MUTTER TYPELIB_DIR "" "--variable=typelibdir") set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR}) +elseif (MUTTER330_FOUND) + _pkgconfig_invoke("libmutter-3" MUTTER TYPELIB_DIR "" "--variable=typelibdir") + set_target_properties(${WINGPANELINTERFACE} PROPERTIES LINK_FLAGS -Wl,-rpath,${MUTTER_TYPELIB_DIR}) endif () install (TARGETS ${WINGPANELINTERFACE} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/gala/plugins) diff --git wingpanel-2.2.0.orig/wingpanel-interface/FocusManager.vala wingpanel-2.2.0/wingpanel-interface/FocusManager.vala index 2e97e54..5ce480f 100644 --- wingpanel-2.2.0.orig/wingpanel-interface/FocusManager.vala +++ wingpanel-2.2.0/wingpanel-interface/FocusManager.vala @@ -24,7 +24,7 @@ public class WingpanelInterface.FocusManager : Object { private Meta.Window? last_focused_window = null; public FocusManager () { - Main.screen.workspace_switched.connect (() => { + Main.display.get_workspace_manager().workspace_switched.connect (() => { update_current_workspace (); }); @@ -45,16 +45,16 @@ public class WingpanelInterface.FocusManager : Object { public void restore_focused_window () { if (last_focused_window != null) { - var display = Main.screen.get_display (); + var display = Main.display; last_focused_window.focus (display.get_current_time ()); } } public bool begin_grab_focused_window (int x, int y, int button, uint time, uint state) { - var display = Main.screen.get_display (); + var display = Main.display; var window = display.get_focus_window (); if (window == null || !get_can_grab_window (window, x, y)) { - unowned Meta.Workspace workspace = Main.screen.get_active_workspace (); + unowned Meta.Workspace workspace = Main.display.get_workspace_manager().get_active_workspace (); List<unowned Meta.Window>? windows = workspace.list_windows (); if (windows == null) { return false; @@ -75,7 +75,7 @@ public class WingpanelInterface.FocusManager : Object { } if (window != null) { - display.begin_grab_op (Main.screen, window, Meta.GrabOp.MOVING, false, true, button, state, time, x, y); + display.begin_grab_op (window, Meta.GrabOp.MOVING, false, true, button, state, time, x, y); return true; } @@ -88,7 +88,8 @@ public class WingpanelInterface.FocusManager : Object { } private void update_current_workspace () { - var workspace = Main.screen.get_workspace_by_index (Main.screen.get_active_workspace_index ()); + var workspace_manager = Main.display.get_workspace_manager(); + var workspace = workspace_manager.get_workspace_by_index (workspace_manager.get_active_workspace_index ()); if (workspace == null) { warning ("Cannot get active workspace"); diff --git wingpanel-2.2.0.orig/wingpanel-interface/Main.vala wingpanel-2.2.0/wingpanel-interface/Main.vala index c9bf19e..2855ab7 100644 --- wingpanel-2.2.0.orig/wingpanel-interface/Main.vala +++ wingpanel-2.2.0/wingpanel-interface/Main.vala @@ -27,7 +27,7 @@ public class WingpanelInterface.Main : Gala.Plugin { private const string DBUS_PATH = "/org/pantheon/gala/WingpanelInterface"; public static Gala.WindowManager wm; - public static Meta.Screen screen; + public static Meta.Display display; private DBusConnection? dbus_connection = null; @@ -37,7 +37,7 @@ public class WingpanelInterface.Main : Gala.Plugin { } wm = _wm; - screen = wm.get_screen (); + display = wm.get_display (); Bus.own_name (BusType.SESSION, DBUS_NAME,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor