vp-build/srcpkgs/budgie-desktop/patches/add_libmutter-2_support.patch

1393 lines
56 KiB
Diff

https://github.com/budgie-desktop/budgie-desktop/pull/1341
From 163a677fa12061214c869da8d9d8e816b01685b8 Mon Sep 17 00:00:00 2001
From: David Mohammed <fossfreedom@ubuntu.com>
Date: Sat, 24 Feb 2018 14:04:15 +0000
Subject: [PATCH] Add support for libmutter-2 compilation (GNOME 3.28)
---
src/wm/meson.build | 13 +-
vapi/libmutter-2.deps | 9 +
vapi/libmutter-2.vapi | 1325 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1344 insertions(+), 3 deletions(-)
create mode 100644 vapi/libmutter-2.deps
create mode 100644 vapi/libmutter-2.vapi
diff --git ./src/wm/meson.build ./src/wm/meson.build
index 483c13f1..01e5229e 100644
--- ./src/wm/meson.build
+++ ./src/wm/meson.build
@@ -20,17 +20,24 @@ dep_mutter = dependency('libmutter', version: gnome_minimum_version, required: f
if not dep_mutter.found()
dep_mutter = dependency('libmutter-0', version: gnome_minimum_version, required: false)
- message('Using stable libmutter-0 ABI from GNOME 3.24')
+ message('Using libmutter-0 ABI from GNOME 3.24')
vapi_mutter = 'libmutter-0'
endif
# now try libmutter-1 ...
if not dep_mutter.found()
- dep_mutter = dependency('libmutter-1', version: gnome_minimum_version)
- message('Using new libmutter-1 ABI from GNOME 3.26')
+ dep_mutter = dependency('libmutter-1', version: gnome_minimum_version, required: false)
+ message('Using libmutter-1 ABI from GNOME 3.26')
vapi_mutter = 'libmutter-1'
endif
+# now try libmutter-2 ...
+if not dep_mutter.found()
+ dep_mutter = dependency('libmutter-2', version: gnome_minimum_version)
+ message('Using libmutter-2 ABI from GNOME 3.28')
+ vapi_mutter = 'libmutter-2'
+endif
+
budgie_wm_deps = [
link_libconfig,
dep_mutter,
diff --git ./vapi/libmutter-2.deps ./vapi/libmutter-2.deps
new file mode 100644
index 00000000..1f3c9079
--- /dev/null
+++ ./vapi/libmutter-2.deps
@@ -0,0 +1,9 @@
+cairo
+gsettings-desktop-schemas
+gdk-3.0
+gdk-pixbuf-2.0
+gtk+-3.0
+x11
+xfixes-4.0
+clutter-1.0
+cogl-1.0
diff --git ./vapi/libmutter-2.vapi ./vapi/libmutter-2.vapi
new file mode 100644
index 00000000..0a6c4357
--- /dev/null
+++ ./vapi/libmutter-2.vapi
@@ -0,0 +1,1325 @@
+/* libmutter.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Meta", gir_namespace = "Meta", gir_version = "3.0", lower_case_cprefix = "meta_")]
+namespace Meta {
+ namespace Prefs {
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void add_listener (Meta.PrefsChangedFunc func);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool bell_is_audible ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void change_workspace_name (int i, string name);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.TitlebarAction get_action_double_click_titlebar ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.TitlebarAction get_action_middle_click_titlebar ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.TitlebarAction get_action_right_click_titlebar ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_attach_modal_dialogs ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_auto_maximize ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_auto_raise ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_auto_raise_delay ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static Meta.ButtonLayout get_button_layout ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_center_new_windows ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_compositing_manager ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_cursor_size ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static unowned string get_cursor_theme ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_disable_workarounds ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_drag_threshold ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_draggable_border_width ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_dynamic_workspaces ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_edge_tiling ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_focus_change_on_pointer_rest ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.FocusMode get_focus_mode ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.FocusNewWindows get_focus_new_windows ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_force_fullscreen ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_gnome_accessibility ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_gnome_animations ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_ignore_request_hide_titlebar ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static Meta.KeyBindingAction get_keybinding_action (string name);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_mouse_button_menu ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static Meta.VirtualModifier get_mouse_button_mods ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_mouse_button_resize ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static int get_num_workspaces ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_raise_on_click ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_show_fallback_app_menu ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static unowned Pango.FontDescription get_titlebar_font ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_visual_bell ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static GDesktop.VisualBellType get_visual_bell_type ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static unowned string get_workspace_name (int i);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static bool get_workspaces_only_on_primary ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void init ();
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void override_preference_schema (string key, string schema);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void remove_listener (Meta.PrefsChangedFunc func);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void set_force_fullscreen (bool whether);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void set_ignore_request_hide_titlebar (bool whether);
+ [CCode (cheader_filename = "meta/prefs.h")]
+ public static void set_num_workspaces (int n_workspaces);
+ }
+ namespace Util {
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_add_verbose_topic")]
+ public static void add_verbose_topic (Meta.DebugTopic topic);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_bug")]
+ 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, ...);
+ [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")]
+ public static void empty_stage_input_region (Meta.Screen screen);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_enable_unredirect_for_screen")]
+ public static void enable_unredirect_for_screen (Meta.Screen screen);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_pop")]
+ public static void error_trap_pop (Meta.Display display);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_push")]
+ public static void error_trap_push (Meta.Display display);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_error_trap_push_with_return")]
+ public static void error_trap_push_with_return (Meta.Display display);
+ [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")]
+ public static void fatal (string format, ...);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_free_gslist_and_elements")]
+ public static void free_gslist_and_elements (GLib.SList<void*> list_to_deep_free);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_g_utf8_strndup")]
+ public static string g_utf8_strndup (string src, size_t n);
+ [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")]
+ public static X.Window get_overlay_window (Meta.Screen screen);
+ [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")]
+ public static bool is_debugging ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_is_syncing")]
+ public static bool is_syncing ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_is_verbose")]
+ public static bool is_verbose ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_is_wayland_compositor")]
+ public static bool is_wayland_compositor ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_later_add")]
+ public static uint later_add (Meta.LaterType when, owned GLib.SourceFunc func);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_later_remove")]
+ public static void later_remove (uint later_id);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_pop_no_msg_prefix")]
+ public static void pop_no_msg_prefix ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_push_no_msg_prefix")]
+ public static void push_no_msg_prefix ();
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_rect")]
+ public static Meta.Rectangle? rect (int x, int y, int width, int height);
+ [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")]
+ public static void set_stage_input_region (Meta.Screen screen, X.XserverRegion region);
+ [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")]
+ public static void topic_real (Meta.DebugTopic topic, string format, ...);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_unsigned_long_equal")]
+ public static int unsigned_long_equal (void* v1, void* v2);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_unsigned_long_hash")]
+ public static uint unsigned_long_hash (void* v);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_verbose_real")]
+ public static void verbose_real (string format, ...);
+ [CCode (cheader_filename = "meta/main.h", cname = "meta_warning")]
+ public static void warning (string format, ...);
+ }
+ [CCode (cheader_filename = "meta/main.h", type_id = "meta_backend_get_type ()")]
+ public abstract class Backend : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Backend ();
+ [CCode (cheader_filename = "meta/meta-backend.h", cname = "meta_get_backend")]
+ public static unowned Meta.Backend get_backend ();
+ public unowned Clutter.Actor get_stage ();
+ public void lock_layout_group (uint idx);
+ public void set_keymap (string layouts, string variants, string options);
+ public signal void keymap_changed ();
+ public signal void keymap_layout_group_changed (uint object);
+ public signal void last_device_changed (int object);
+ }
+ [CCode (cheader_filename = "meta/meta-background.h", type_id = "meta_background_get_type ()")]
+ public class Background : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Background (Meta.Screen screen);
+ public static void refresh_all ();
+ public void set_blend (GLib.File file1, GLib.File file2, double blend_factor, GDesktop.BackgroundStyle style);
+ public void set_color (Clutter.Color color);
+ public void set_file (GLib.File file, GDesktop.BackgroundStyle style);
+ public void set_gradient (GDesktop.BackgroundShading shading_direction, Clutter.Color color, Clutter.Color second_color);
+ [NoAccessorMethod]
+ public Meta.Screen meta_screen { owned get; construct; }
+ public signal void changed ();
+ }
+ [CCode (cheader_filename = "meta/meta-background-actor.h", type_id = "meta_background_actor_get_type ()")]
+ public class BackgroundActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ [CCode (has_construct_function = false, type = "ClutterActor*")]
+ public BackgroundActor (Meta.Screen screen, int monitor);
+ public void set_background (Meta.Background background);
+ public void set_vignette (bool enabled, double brightness, double sharpness);
+ [NoAccessorMethod]
+ public Meta.Background background { owned get; set; }
+ [NoAccessorMethod]
+ public double brightness { get; set; }
+ [NoAccessorMethod]
+ public Meta.Screen meta_screen { owned get; construct; }
+ [NoAccessorMethod]
+ public int monitor { get; construct; }
+ [NoAccessorMethod]
+ public bool vignette { get; set; }
+ [NoAccessorMethod]
+ public double vignette_sharpness { get; set; }
+ }
+ [CCode (cheader_filename = "meta/meta-background-group.h", type_id = "meta_background_group_get_type ()")]
+ public class BackgroundGroup : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ [CCode (has_construct_function = false, type = "ClutterActor*")]
+ public BackgroundGroup ();
+ }
+ [CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_get_type ()")]
+ public class BackgroundImage : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected BackgroundImage ();
+ public bool get_success ();
+ public unowned Cogl.Texture get_texture ();
+ public bool is_loaded ();
+ public signal void loaded ();
+ }
+ [CCode (cheader_filename = "meta/meta-background-image.h", type_id = "meta_background_image_cache_get_type ()")]
+ public class BackgroundImageCache : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected BackgroundImageCache ();
+ public static unowned Meta.BackgroundImageCache get_default ();
+ public Meta.BackgroundImage load (GLib.File file);
+ public void purge (GLib.File file);
+ }
+ [CCode (cheader_filename = "meta/barrier.h", type_id = "meta_barrier_get_type ()")]
+ public class Barrier : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Barrier ();
+ public void destroy ();
+ public bool is_active ();
+ public void release (Meta.BarrierEvent event);
+ [NoAccessorMethod]
+ public Meta.BarrierDirection directions { get; construct; }
+ [NoAccessorMethod]
+ public Meta.Display display { owned get; construct; }
+ [NoAccessorMethod]
+ public int x1 { get; construct; }
+ [NoAccessorMethod]
+ public int x2 { get; construct; }
+ [NoAccessorMethod]
+ public int y1 { get; construct; }
+ [NoAccessorMethod]
+ public int y2 { get; construct; }
+ public signal void hit (Meta.BarrierEvent event);
+ public signal void left (Meta.BarrierEvent event);
+ }
+ [CCode (cheader_filename = "meta/main.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_barrier_event_get_type ()")]
+ [Compact]
+ public class BarrierEvent {
+ public int dt;
+ public double dx;
+ public double dy;
+ public int event_id;
+ public bool grabbed;
+ public bool released;
+ public uint32 time;
+ public double x;
+ public double y;
+ }
+ [CCode (cheader_filename = "meta/compositor.h")]
+ [Compact]
+ public class Compositor {
+ public void add_window (Meta.Window window);
+ public void destroy ();
+ public bool filter_keybinding (Meta.KeyBinding binding);
+ 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);
+ [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_feedback_group_for_screen")]
+ public static unowned Clutter.Actor get_feedback_group_for_screen (Meta.Screen screen);
+ [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_stage_for_screen")]
+ public static unowned Clutter.Actor? get_stage_for_screen (Meta.Screen screen);
+ [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_top_window_group_for_screen")]
+ public static unowned Clutter.Actor? get_top_window_group_for_screen (Meta.Screen screen);
+ [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_get_window_actors")]
+ 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);
+ public void hide_tile_preview ();
+ public void hide_window (Meta.Window window, Meta.CompEffect effect);
+ public void manage ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned Meta.Compositor @new (Meta.Display display);
+ public void queue_frame_drawn (Meta.Window window, bool no_delay_frame);
+ public void remove_window (Meta.Window window);
+ public void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
+ public void show_window (Meta.Window window, Meta.CompEffect effect);
+ public void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
+ public void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
+ public void size_change_window (Meta.Window window, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
+ [CCode (cheader_filename = "meta/compositor-mutter.h", cname = "meta_stage_is_focused")]
+ public static bool stage_is_focused (Meta.Screen screen);
+ 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);
+ public void sync_window_geometry (Meta.Window window, bool did_placement);
+ public void unmanage ();
+ public void window_opacity_changed (Meta.Window window);
+ public void window_shape_changed (Meta.Window window);
+ public void window_surface_changed (Meta.Window window);
+ }
+ [CCode (cheader_filename = "meta/meta-cursor-tracker.h", type_id = "meta_cursor_tracker_get_type ()")]
+ public class CursorTracker : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected CursorTracker ();
+ public static unowned Meta.CursorTracker get_for_screen (Meta.Screen screen);
+ public void get_hot (out int x, out int y);
+ public void get_pointer (int x, int y, Clutter.ModifierType mods);
+ public unowned Cogl.Texture get_sprite ();
+ public void set_pointer_visible (bool visible);
+ public signal void cursor_changed ();
+ }
+ [CCode (cheader_filename = "meta/display.h", type_id = "meta_display_get_type ()")]
+ public class Display : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Display ();
+ public void add_ignored_crossing_serial (ulong serial);
+ public uint add_keybinding (string name, GLib.Settings settings, Meta.KeyBindingFlags flags, owned Meta.KeyHandlerFunc handler);
+ public bool begin_grab_op (Meta.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);
+ public void clear_mouse_mode ();
+ public void end_grab_op (uint32 timestamp);
+ public void focus_the_no_focus_window (Meta.Screen screen, uint32 timestamp);
+ public void freeze_keyboard (uint32 timestamp);
+ public unowned Meta.Compositor get_compositor ();
+ public uint32 get_current_time ();
+ public uint32 get_current_time_roundtrip ();
+ public int get_damage_event_base ();
+ public unowned Meta.Window get_focus_window ();
+ public Meta.GrabOp get_grab_op ();
+ public uint get_keybinding_action (uint keycode, ulong mask);
+ public uint32 get_last_user_time ();
+ public int get_shape_event_base ();
+ public unowned Meta.Window get_tab_current (Meta.TabList type, Meta.Workspace workspace);
+ public GLib.List<weak Meta.Window> get_tab_list (Meta.TabList type, Meta.Workspace? workspace);
+ public unowned Meta.Window get_tab_next (Meta.TabList type, Meta.Workspace workspace, Meta.Window? window, bool backward);
+ public unowned X.Display get_xdisplay ();
+ public int get_xinput_opcode ();
+ public uint grab_accelerator (string accelerator);
+ public bool has_shape ();
+ public bool is_pointer_emulating_sequence (Clutter.EventSequence? sequence);
+ public unowned Meta.Group lookup_group (X.Window group_leader);
+ public bool remove_keybinding (string name);
+ public void set_input_focus_window (Meta.Window window, bool focus_frame, uint32 timestamp);
+ public GLib.SList<weak Meta.Window> sort_windows_by_stacking (GLib.SList<Meta.Window> windows);
+ public bool supports_extended_barriers ();
+ public void unfreeze_keyboard (uint32 timestamp);
+ public bool ungrab_accelerator (uint action_id);
+ public void ungrab_keyboard (uint32 timestamp);
+ public void unmanage_screen (Meta.Screen screen, uint32 timestamp);
+ public bool xserver_time_is_before (uint32 time1, uint32 time2);
+ public bool xwindow_is_a_no_focus_window (X.Window xwindow);
+ public signal void accelerator_activated (uint object, uint p0, uint p1);
+ 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);
+ public signal bool modifiers_accelerator_activated ();
+ public signal void overlay_key ();
+ public signal bool restart ();
+ public signal bool show_resize_popup (bool object, Meta.Rectangle p0, int p1, int p2);
+ public signal bool show_restart_message (string? message);
+ public signal void window_created (Meta.Window object);
+ public signal void window_demands_attention (Meta.Window object);
+ public signal void window_marked_urgent (Meta.Window object);
+ }
+ [CCode (cheader_filename = "meta/common.h")]
+ [Compact]
+ public class Frame {
+ }
+ [CCode (cheader_filename = "meta/group.h")]
+ [Compact]
+ public class Group {
+ public int get_size ();
+ public unowned string get_startup_id ();
+ public GLib.SList<weak Meta.Window> list_windows ();
+ public bool property_notify (X.Event event);
+ public void update_layers ();
+ }
+ [CCode (cheader_filename = "meta/meta-idle-monitor.h", type_id = "meta_idle_monitor_get_type ()")]
+ public class IdleMonitor : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected IdleMonitor ();
+ public uint add_idle_watch (uint64 interval_msec, owned Meta.IdleMonitorWatchFunc? callback);
+ public uint add_user_active_watch (owned Meta.IdleMonitorWatchFunc? callback);
+ public static unowned Meta.IdleMonitor get_core ();
+ public static unowned Meta.IdleMonitor get_for_device (int device_id);
+ public int64 get_idletime ();
+ public void remove_watch (uint id);
+ [NoAccessorMethod]
+ public int device_id { get; construct; }
+ }
+ [CCode (cheader_filename = "meta/keybindings.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "meta_key_binding_get_type ()")]
+ [Compact]
+ public class KeyBinding {
+ public uint get_mask ();
+ public Meta.VirtualModifier get_modifiers ();
+ public unowned string get_name ();
+ public bool is_builtin ();
+ public bool is_reversed ();
+ [CCode (cheader_filename = "meta/keybindings.h", cname = "meta_keybindings_set_custom_handler")]
+ public static bool set_custom_handler (string name, owned Meta.KeyHandlerFunc? handler);
+ }
+ [CCode (cheader_filename = "meta/meta-monitor-manager.h", type_id = "meta_monitor_manager_get_type ()")]
+ public abstract class MonitorManager : GLib.DBusInterfaceSkeleton, GLib.DBusInterface {
+ [CCode (has_construct_function = false)]
+ protected MonitorManager ();
+ public static unowned Meta.MonitorManager @get ();
+ public int get_monitor_for_output (uint id);
+ public signal void confirm_display_change ();
+ }
+ [CCode (cheader_filename = "meta/meta-plugin.h", type_id = "meta_plugin_get_type ()")]
+ public abstract class Plugin : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Plugin ();
+ public bool begin_modal (Meta.ModalOptions options, uint32 timestamp);
+ public void complete_display_change (bool ok);
+ [NoWrapper]
+ public virtual void confirm_display_change ();
+ [NoWrapper]
+ public virtual void destroy (Meta.WindowActor actor);
+ public void destroy_completed (Meta.WindowActor actor);
+ public void end_modal (uint32 timestamp);
+ public unowned Meta.PluginInfo? get_info ();
+ public unowned Meta.Screen get_screen ();
+ [NoWrapper]
+ public virtual void hide_tile_preview ();
+ [NoWrapper]
+ public virtual bool keybinding_filter (Meta.KeyBinding binding);
+ [NoWrapper]
+ public virtual void kill_switch_workspace ();
+ [NoWrapper]
+ public virtual void kill_window_effects (Meta.WindowActor actor);
+ public static void manager_set_plugin_type (GLib.Type gtype);
+ [NoWrapper]
+ public virtual void map (Meta.WindowActor actor);
+ public void map_completed (Meta.WindowActor actor);
+ [NoWrapper]
+ public virtual void minimize (Meta.WindowActor actor);
+ public void minimize_completed (Meta.WindowActor actor);
+ [NoWrapper]
+ public virtual unowned Meta.PluginInfo? plugin_info ();
+ [NoWrapper]
+ public virtual void show_tile_preview (Meta.Window window, Meta.Rectangle tile_rect, int tile_monitor_number);
+ [NoWrapper]
+ public virtual void show_window_menu (Meta.Window window, Meta.WindowMenuType menu, int x, int y);
+ [NoWrapper]
+ public virtual void show_window_menu_for_rect (Meta.Window window, Meta.WindowMenuType menu, Meta.Rectangle rect);
+ [NoWrapper]
+ public virtual void size_change (Meta.WindowActor actor, Meta.SizeChange which_change, Meta.Rectangle old_frame_rect, Meta.Rectangle old_buffer_rect);
+ public void size_change_completed (Meta.WindowActor actor);
+ [NoWrapper]
+ public virtual void start ();
+ [NoWrapper]
+ public virtual void switch_workspace (int from, int to, Meta.MotionDirection direction);
+ public void switch_workspace_completed ();
+ [NoWrapper]
+ public virtual void unminimize (Meta.WindowActor actor);
+ public void unminimize_completed (Meta.WindowActor actor);
+ [NoWrapper]
+ public virtual bool xevent_filter (X.Event event);
+ }
+ [CCode (cheader_filename = "meta/screen.h", type_id = "meta_screen_get_type ()")]
+ public class Screen : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Screen ();
+ public unowned Meta.Workspace? append_new_workspace (bool activate, uint32 timestamp);
+ public void focus_default_window (uint32 timestamp);
+ public unowned Meta.Workspace get_active_workspace ();
+ public int get_active_workspace_index ();
+ public int get_current_monitor ();
+ public int get_current_monitor_for_pos (int x, int y);
+ public unowned Meta.Display get_display ();
+ 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.ScreenDirection dir);
+ public int get_n_monitors ();
+ public int get_n_workspaces ();
+ public int get_primary_monitor ();
+ public int get_screen_number ();
+ public void get_size (out int width, out int height);
+ public unowned Meta.Workspace? get_workspace_by_index (int index);
+ public unowned GLib.List<Meta.Workspace> get_workspaces ();
+ public X.Window get_xroot ();
+ public void override_workspace_layout (Meta.ScreenCorner starting_corner, bool vertical_layout, int n_rows, int n_columns);
+ public void remove_workspace (Meta.Workspace workspace, uint32 timestamp);
+ public void set_cm_selection ();
+ public void set_cursor (Meta.Cursor cursor);
+ public int n_workspaces { get; }
+ public signal void in_fullscreen_changed ();
+ public signal void monitors_changed ();
+ public signal void restacked ();
+ public signal void startup_sequence_changed (void* object);
+ public signal void window_entered_monitor (int object, Meta.Window p0);
+ public signal void window_left_monitor (int object, Meta.Window p0);
+ public signal void workareas_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/meta-shadow-factory.h", ref_function = "meta_shadow_ref", type_id = "meta_shadow_get_type ()", unref_function = "meta_shadow_unref")]
+ [Compact]
+ public class Shadow {
+ public void get_bounds (int window_x, int window_y, int window_width, int window_height, Cairo.RectangleInt bounds);
+ public void paint (int window_x, int window_y, int window_width, int window_height, uint8 opacity, Cairo.Region? clip, bool clip_strictly);
+ public Meta.Shadow @ref ();
+ public void unref ();
+ }
+ [CCode (cheader_filename = "meta/meta-shadow-factory.h", type_id = "meta_shadow_factory_get_type ()")]
+ public class ShadowFactory : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public ShadowFactory ();
+ public static unowned Meta.ShadowFactory get_default ();
+ public Meta.ShadowParams get_params (string class_name, bool focused);
+ public Meta.Shadow get_shadow (Meta.WindowShape shape, int width, int height, string class_name, bool focused);
+ public void set_params (string class_name, bool focused, Meta.ShadowParams @params);
+ public signal void changed ();
+ }
+ [CCode (cheader_filename = "meta/meta-shaped-texture.h", type_id = "meta_shaped_texture_get_type ()")]
+ public class ShapedTexture : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ [CCode (has_construct_function = false)]
+ protected ShapedTexture ();
+ public Cairo.Surface get_image (Cairo.RectangleInt clip);
+ public unowned Cogl.Texture get_texture ();
+ public void set_create_mipmaps (bool create_mipmaps);
+ public void set_mask_texture (Cogl.Texture mask_texture);
+ public void set_opaque_region (owned Cairo.Region opaque_region);
+ public bool update_area (int x, int y, int width, int height);
+ public signal void size_changed ();
+ }
+ [CCode (cheader_filename = "meta/theme.h")]
+ [Compact]
+ public class Theme {
+ public void free ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned Meta.Theme get_default ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned Meta.Theme @new ();
+ }
+ [CCode (cheader_filename = "meta/window.h", type_id = "meta_window_get_type ()")]
+ public abstract class Window : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Window ();
+ public void activate (uint32 current_time);
+ public void activate_with_workspace (uint32 current_time, Meta.Workspace workspace);
+ public bool allows_move ();
+ public bool allows_resize ();
+ public void begin_grab_op (Meta.GrabOp op, bool frame_action, uint32 timestamp);
+ public bool can_close ();
+ public bool can_maximize ();
+ public bool can_minimize ();
+ public bool can_shade ();
+ public void change_workspace (Meta.Workspace workspace);
+ public void change_workspace_by_index (int space_index, bool append);
+ public void check_alive (uint32 timestamp);
+ public Meta.Rectangle client_rect_to_frame_rect (Meta.Rectangle client_rect);
+ public void compute_group ();
+ public void @delete (uint32 timestamp);
+ public unowned Meta.Window find_root_ancestor ();
+ public void focus (uint32 timestamp);
+ public void foreach_ancestor (Meta.WindowForeachFunc func);
+ public void foreach_transient (Meta.WindowForeachFunc func);
+ public Meta.Rectangle frame_rect_to_client_rect (Meta.Rectangle frame_rect);
+ [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
+ public int[] get_all_monitors ();
+ public Meta.Rectangle get_buffer_rect ();
+ public unowned string get_client_machine ();
+ public unowned GLib.Object get_compositor_private ();
+ public unowned string get_description ();
+ public unowned Meta.Display get_display ();
+ public unowned Meta.Frame get_frame ();
+ 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 bool get_icon_geometry (out Meta.Rectangle rect);
+ public Meta.StackLayer get_layer ();
+ public Meta.MaximizeFlags get_maximized ();
+ public int get_monitor ();
+ public unowned string get_mutter_hints ();
+ public int get_pid ();
+ public unowned string get_role ();
+ public unowned Meta.Screen get_screen ();
+ public uint get_stable_sequence ();
+ public unowned string get_startup_id ();
+ public unowned Meta.Window? get_tile_match ();
+ public unowned string get_title ();
+ public unowned Meta.Window get_transient_for ();
+ public uint32 get_user_time ();
+ public Meta.WindowType get_window_type ();
+ public unowned string get_wm_class ();
+ public unowned string get_wm_class_instance ();
+ public Meta.Rectangle get_work_area_all_monitors ();
+ public Meta.Rectangle get_work_area_current_monitor ();
+ public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+ public unowned Meta.Workspace get_workspace ();
+ public X.Window get_xwindow ();
+ public void group_leader_changed ();
+ public bool has_focus ();
+ public bool is_above ();
+ public bool is_always_on_all_workspaces ();
+ public bool is_ancestor_of_transient (Meta.Window transient);
+ public bool is_attached_dialog ();
+ public bool is_fullscreen ();
+ public bool is_hidden ();
+ public bool is_monitor_sized ();
+ public bool is_on_all_workspaces ();
+ public bool is_on_primary_monitor ();
+ public bool is_override_redirect ();
+ public bool is_remote ();
+ public bool is_screen_sized ();
+ public bool is_shaded ();
+ public bool is_skip_taskbar ();
+ public void kill ();
+ public bool located_on_workspace (Meta.Workspace workspace);
+ public void lower ();
+ public void make_above ();
+ public void make_fullscreen ();
+ public void maximize (Meta.MaximizeFlags directions);
+ public void minimize ();
+ public void move_frame (bool user_op, int root_x_nw, int root_y_nw);
+ public void move_resize_frame (bool user_op, int root_x_nw, int root_y_nw, int w, int h);
+ public void move_to_monitor (int monitor);
+ public void raise ();
+ public bool requested_bypass_compositor ();
+ public bool requested_dont_bypass_compositor ();
+ public void set_compositor_private (GLib.Object priv);
+ public void set_demands_attention ();
+ public void set_icon_geometry (Meta.Rectangle? rect);
+ public void shade (uint32 timestamp);
+ public void shove_titlebar_onscreen ();
+ public bool showing_on_its_workspace ();
+ public void shutdown_group ();
+ public void stick ();
+ public bool titlebar_is_onscreen ();
+ public void unmake_above ();
+ public void unmake_fullscreen ();
+ public void unmaximize (Meta.MaximizeFlags directions);
+ public void unminimize ();
+ public void unset_demands_attention ();
+ public void unshade (uint32 timestamp);
+ public void unstick ();
+ [NoAccessorMethod]
+ public bool above { get; }
+ [NoAccessorMethod]
+ public bool appears_focused { get; }
+ [NoAccessorMethod]
+ public bool decorated { get; }
+ [NoAccessorMethod]
+ public bool demands_attention { get; }
+ [NoAccessorMethod]
+ public bool fullscreen { get; }
+ public string gtk_app_menu_object_path { get; }
+ public string gtk_application_id { get; }
+ public string gtk_application_object_path { get; }
+ public string gtk_menubar_object_path { get; }
+ public string gtk_unique_bus_name { get; }
+ public string gtk_window_object_path { get; }
+ [NoAccessorMethod]
+ public Cairo.Surface icon { owned get; }
+ [NoAccessorMethod]
+ public bool maximized_horizontally { get; }
+ [NoAccessorMethod]
+ public bool maximized_vertically { get; }
+ [NoAccessorMethod]
+ public Cairo.Surface mini_icon { owned get; }
+ [NoAccessorMethod]
+ public bool minimized { get; }
+ public string mutter_hints { get; }
+ [NoAccessorMethod]
+ public bool on_all_workspaces { get; }
+ [NoAccessorMethod]
+ public bool resizeable { get; }
+ [NoAccessorMethod]
+ public bool skip_taskbar { get; }
+ public string title { get; }
+ [NoAccessorMethod]
+ public bool urgent { get; }
+ public uint user_time { get; }
+ public Meta.WindowType window_type { get; }
+ public string wm_class { get; }
+ [CCode (cname = "focus")]
+ public signal void focused ();
+ public signal void position_changed ();
+ public signal void raised ();
+ public signal void size_changed ();
+ public signal void unmanaged ();
+ public signal void workspace_changed ();
+ }
+ [CCode (cheader_filename = "meta/meta-window-actor.h", type_id = "meta_window_actor_get_type ()")]
+ public class WindowActor : Clutter.Actor, Atk.Implementor, Clutter.Animatable, Clutter.Container, Clutter.Scriptable {
+ [CCode (has_construct_function = false)]
+ protected WindowActor ();
+ public unowned Meta.Window get_meta_window ();
+ public unowned Clutter.Actor get_texture ();
+ public X.Window get_x_window ();
+ public bool is_destroyed ();
+ [NoAccessorMethod]
+ public string shadow_class { owned get; set; }
+ [NoAccessorMethod]
+ public Meta.ShadowMode shadow_mode { get; set; }
+ public signal void first_frame ();
+ }
+ [CCode (cheader_filename = "meta/meta_window_shape.h", ref_function = "meta_window_shape_ref", type_id = "meta_window_shape_get_type ()", unref_function = "meta_window_shape_unref")]
+ [Compact]
+ public class WindowShape {
+ [CCode (has_construct_function = false)]
+ public WindowShape (Cairo.Region region);
+ public bool equal (Meta.WindowShape shape_b);
+ public void get_borders (int border_top, int border_right, int border_bottom, int border_left);
+ public uint hash ();
+ public Meta.WindowShape @ref ();
+ public Cairo.Region to_region (int center_width, int center_height);
+ public void unref ();
+ }
+ [CCode (cheader_filename = "meta/workspace.h", type_id = "meta_workspace_get_type ()")]
+ public class Workspace : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Workspace ();
+ public void activate (uint32 timestamp);
+ public void activate_with_focus (Meta.Window focus_this, uint32 timestamp);
+ public unowned Meta.Workspace get_neighbor (Meta.MotionDirection direction);
+ public unowned Meta.Screen get_screen ();
+ public Meta.Rectangle get_work_area_all_monitors ();
+ public Meta.Rectangle get_work_area_for_monitor (int which_monitor);
+ public int index ();
+ public GLib.List<weak Meta.Window> list_windows ();
+ public void set_builtin_struts (GLib.SList<Meta.Strut> struts);
+ [NoAccessorMethod]
+ public uint n_windows { get; }
+ [NoAccessorMethod]
+ public uint workspace_index { get; }
+ public signal void window_added (Meta.Window object);
+ public signal void window_removed (Meta.Window object);
+ }
+ [CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+ public struct ButtonLayout {
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak Meta.ButtonFunction[] left_buttons;
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak bool[] left_buttons_has_spacer;
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak Meta.ButtonFunction[] right_buttons;
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak bool[] right_buttons_has_spacer;
+ }
+ [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+ public struct Edge {
+ public Meta.Rectangle rect;
+ public Meta.Side side_type;
+ public Meta.EdgeType edge_type;
+ }
+ [CCode (cheader_filename = "meta/common.h", has_type_id = false)]
+ public struct FrameBorders {
+ public Gtk.Border visible;
+ public Gtk.Border invisible;
+ public Gtk.Border total;
+ public void clear ();
+ }
+ [CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+ public struct PluginInfo {
+ public weak string name;
+ public weak string version;
+ public weak string author;
+ public weak string license;
+ public weak string description;
+ }
+ [CCode (cheader_filename = "meta/meta-plugin.h", has_type_id = false)]
+ public struct PluginVersion {
+ public uint version_major;
+ public uint version_minor;
+ public uint version_micro;
+ public uint version_api;
+ }
+ [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+ public struct Rectangle {
+ public int x;
+ public int y;
+ public int width;
+ public int height;
+ public int area ();
+ public bool contains_rect (Meta.Rectangle inner_rect);
+ public bool could_fit_rect (Meta.Rectangle inner_rect);
+ public bool equal (Meta.Rectangle src2);
+ public bool horiz_overlap (Meta.Rectangle rect2);
+ public bool intersect (Meta.Rectangle src2, out Meta.Rectangle dest);
+ public bool overlap (Meta.Rectangle rect2);
+ public Meta.Rectangle union (Meta.Rectangle rect2);
+ public bool vert_overlap (Meta.Rectangle rect2);
+ }
+ [CCode (cheader_filename = "meta/meta-shadow-factory.h", has_type_id = false)]
+ public struct ShadowParams {
+ public int radius;
+ public int top_fade;
+ public int x_offset;
+ public int y_offset;
+ public uint8 opacity;
+ }
+ [CCode (cheader_filename = "meta/boxes.h", has_type_id = false)]
+ public struct Strut {
+ public Meta.Rectangle rect;
+ public Meta.Side side;
+ }
+ [CCode (cheader_filename = "meta/barrier.h", cprefix = "META_BARRIER_DIRECTION_", type_id = "meta_barrier_direction_get_type ()")]
+ [Flags]
+ public enum BarrierDirection {
+ POSITIVE_X,
+ POSITIVE_Y,
+ NEGATIVE_X,
+ NEGATIVE_Y
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_BUTTON_FUNCTION_", type_id = "meta_button_function_get_type ()")]
+ public enum ButtonFunction {
+ MENU,
+ MINIMIZE,
+ MAXIMIZE,
+ CLOSE,
+ SHADE,
+ ABOVE,
+ STICK,
+ UNSHADE,
+ UNABOVE,
+ UNSTICK,
+ APPMENU,
+ LAST
+ }
+ [CCode (cheader_filename = "meta/compositor.h", cprefix = "META_COMP_EFFECT_", type_id = "meta_comp_effect_get_type ()")]
+ public enum CompEffect {
+ CREATE,
+ UNMINIMIZE,
+ DESTROY,
+ MINIMIZE,
+ NONE
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_CURSOR_", type_id = "meta_cursor_get_type ()")]
+ public enum Cursor {
+ NONE,
+ DEFAULT,
+ NORTH_RESIZE,
+ SOUTH_RESIZE,
+ WEST_RESIZE,
+ EAST_RESIZE,
+ SE_RESIZE,
+ SW_RESIZE,
+ NE_RESIZE,
+ NW_RESIZE,
+ MOVE_OR_RESIZE_WINDOW,
+ BUSY,
+ DND_IN_DRAG,
+ DND_MOVE,
+ DND_COPY,
+ DND_UNSUPPORTED_TARGET,
+ POINTING_HAND,
+ CROSSHAIR,
+ IBEAM,
+ LAST
+ }
+ [CCode (cheader_filename = "meta/util.h", cprefix = "META_DEBUG_", type_id = "meta_debug_topic_get_type ()")]
+ [Flags]
+ public enum DebugTopic {
+ VERBOSE,
+ FOCUS,
+ WORKAREA,
+ STACK,
+ THEMES,
+ SM,
+ EVENTS,
+ WINDOW_STATE,
+ WINDOW_OPS,
+ GEOMETRY,
+ PLACEMENT,
+ PING,
+ XINERAMA,
+ KEYBINDINGS,
+ SYNC,
+ ERRORS,
+ STARTUP,
+ PREFS,
+ GROUPS,
+ RESIZING,
+ SHAPES,
+ COMPOSITOR,
+ EDGE_RESISTANCE,
+ DBUS
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_DIRECTION_", type_id = "meta_direction_get_type ()")]
+ [Flags]
+ public enum Direction {
+ LEFT,
+ RIGHT,
+ TOP,
+ BOTTOM,
+ UP,
+ DOWN,
+ HORIZONTAL,
+ VERTICAL
+ }
+ [CCode (cheader_filename = "meta/boxes.h", cprefix = "META_EDGE_", type_id = "meta_edge_type_get_type ()")]
+ public enum EdgeType {
+ WINDOW,
+ MONITOR,
+ SCREEN
+ }
+ [CCode (cheader_filename = "meta/main.h", cprefix = "META_EXIT_", type_id = "meta_exit_code_get_type ()")]
+ public enum ExitCode {
+ SUCCESS,
+ ERROR
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_", type_id = "meta_frame_flags_get_type ()")]
+ [Flags]
+ public enum FrameFlags {
+ ALLOWS_DELETE,
+ ALLOWS_MENU,
+ ALLOWS_APPMENU,
+ ALLOWS_MINIMIZE,
+ ALLOWS_MAXIMIZE,
+ ALLOWS_VERTICAL_RESIZE,
+ ALLOWS_HORIZONTAL_RESIZE,
+ HAS_FOCUS,
+ SHADED,
+ STUCK,
+ MAXIMIZED,
+ ALLOWS_SHADE,
+ ALLOWS_MOVE,
+ FULLSCREEN,
+ IS_FLASHING,
+ ABOVE,
+ TILED_LEFT,
+ TILED_RIGHT
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_FRAME_TYPE_", type_id = "meta_frame_type_get_type ()")]
+ public enum FrameType {
+ NORMAL,
+ DIALOG,
+ MODAL_DIALOG,
+ UTILITY,
+ MENU,
+ BORDER,
+ ATTACHED,
+ LAST;
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned string to_string (Meta.FrameType type);
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_GRAB_OP_", type_id = "meta_grab_op_get_type ()")]
+ public enum GrabOp {
+ NONE,
+ COMPOSITOR,
+ WAYLAND_POPUP,
+ WINDOW_BASE,
+ FRAME_BUTTON,
+ MOVING,
+ RESIZING_NW,
+ RESIZING_N,
+ RESIZING_NE,
+ RESIZING_E,
+ RESIZING_SW,
+ RESIZING_S,
+ RESIZING_SE,
+ RESIZING_W,
+ KEYBOARD_MOVING,
+ KEYBOARD_RESIZING_UNKNOWN,
+ KEYBOARD_RESIZING_NW,
+ KEYBOARD_RESIZING_N,
+ KEYBOARD_RESIZING_NE,
+ KEYBOARD_RESIZING_E,
+ KEYBOARD_RESIZING_SW,
+ KEYBOARD_RESIZING_S,
+ KEYBOARD_RESIZING_SE,
+ KEYBOARD_RESIZING_W
+ }
+ [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEYBINDING_ACTION_", type_id = "meta_key_binding_action_get_type ()")]
+ public enum KeyBindingAction {
+ NONE,
+ WORKSPACE_1,
+ WORKSPACE_2,
+ WORKSPACE_3,
+ WORKSPACE_4,
+ WORKSPACE_5,
+ WORKSPACE_6,
+ WORKSPACE_7,
+ WORKSPACE_8,
+ WORKSPACE_9,
+ WORKSPACE_10,
+ WORKSPACE_11,
+ WORKSPACE_12,
+ WORKSPACE_LEFT,
+ WORKSPACE_RIGHT,
+ WORKSPACE_UP,
+ WORKSPACE_DOWN,
+ WORKSPACE_LAST,
+ SWITCH_APPLICATIONS,
+ SWITCH_APPLICATIONS_BACKWARD,
+ SWITCH_GROUP,
+ SWITCH_GROUP_BACKWARD,
+ SWITCH_WINDOWS,
+ SWITCH_WINDOWS_BACKWARD,
+ SWITCH_PANELS,
+ SWITCH_PANELS_BACKWARD,
+ CYCLE_GROUP,
+ CYCLE_GROUP_BACKWARD,
+ CYCLE_WINDOWS,
+ CYCLE_WINDOWS_BACKWARD,
+ CYCLE_PANELS,
+ CYCLE_PANELS_BACKWARD,
+ SHOW_DESKTOP,
+ PANEL_MAIN_MENU,
+ PANEL_RUN_DIALOG,
+ TOGGLE_RECORDING,
+ SET_SPEW_MARK,
+ ACTIVATE_WINDOW_MENU,
+ TOGGLE_FULLSCREEN,
+ TOGGLE_MAXIMIZED,
+ TOGGLE_TILED_LEFT,
+ TOGGLE_TILED_RIGHT,
+ TOGGLE_ABOVE,
+ MAXIMIZE,
+ UNMAXIMIZE,
+ TOGGLE_SHADED,
+ MINIMIZE,
+ CLOSE,
+ BEGIN_MOVE,
+ BEGIN_RESIZE,
+ TOGGLE_ON_ALL_WORKSPACES,
+ MOVE_TO_WORKSPACE_1,
+ MOVE_TO_WORKSPACE_2,
+ MOVE_TO_WORKSPACE_3,
+ MOVE_TO_WORKSPACE_4,
+ MOVE_TO_WORKSPACE_5,
+ MOVE_TO_WORKSPACE_6,
+ MOVE_TO_WORKSPACE_7,
+ MOVE_TO_WORKSPACE_8,
+ MOVE_TO_WORKSPACE_9,
+ MOVE_TO_WORKSPACE_10,
+ MOVE_TO_WORKSPACE_11,
+ MOVE_TO_WORKSPACE_12,
+ MOVE_TO_WORKSPACE_LEFT,
+ MOVE_TO_WORKSPACE_RIGHT,
+ MOVE_TO_WORKSPACE_UP,
+ MOVE_TO_WORKSPACE_DOWN,
+ MOVE_TO_WORKSPACE_LAST,
+ MOVE_TO_MONITOR_LEFT,
+ MOVE_TO_MONITOR_RIGHT,
+ MOVE_TO_MONITOR_UP,
+ MOVE_TO_MONITOR_DOWN,
+ RAISE_OR_LOWER,
+ RAISE,
+ LOWER,
+ MAXIMIZE_VERTICALLY,
+ MAXIMIZE_HORIZONTALLY,
+ MOVE_TO_CORNER_NW,
+ MOVE_TO_CORNER_NE,
+ MOVE_TO_CORNER_SW,
+ MOVE_TO_CORNER_SE,
+ MOVE_TO_SIDE_N,
+ MOVE_TO_SIDE_S,
+ MOVE_TO_SIDE_E,
+ MOVE_TO_SIDE_W,
+ MOVE_TO_CENTER,
+ OVERLAY_KEY,
+ ISO_NEXT_GROUP,
+ ALWAYS_ON_TOP,
+ LAST
+ }
+ [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_KEY_BINDING_", type_id = "meta_key_binding_flags_get_type ()")]
+ [Flags]
+ public enum KeyBindingFlags {
+ NONE,
+ PER_WINDOW,
+ BUILTIN,
+ IS_REVERSED
+ }
+ [CCode (cheader_filename = "meta/util.h", cprefix = "META_LATER_", type_id = "meta_later_type_get_type ()")]
+ public enum LaterType {
+ RESIZE,
+ CALC_SHOWING,
+ CHECK_FULLSCREEN,
+ SYNC_STACK,
+ BEFORE_REDRAW,
+ IDLE
+ }
+ [CCode (cheader_filename = "meta/util.h", cprefix = "META_LOCALE_DIRECTION_", type_id = "meta_locale_direction_get_type ()")]
+ public enum LocaleDirection {
+ LTR,
+ RTL
+ }
+ [CCode (cheader_filename = "meta/window.h", cprefix = "META_MAXIMIZE_", type_id = "meta_maximize_flags_get_type ()")]
+ [Flags]
+ public enum MaximizeFlags {
+ HORIZONTAL,
+ VERTICAL,
+ BOTH
+ }
+ [CCode (cheader_filename = "meta/meta-plugin.h", cprefix = "META_MODAL_", type_id = "meta_modal_options_get_type ()")]
+ [Flags]
+ public enum ModalOptions {
+ POINTER_ALREADY_GRABBED,
+ KEYBOARD_ALREADY_GRABBED
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_MOTION_", type_id = "meta_motion_direction_get_type ()")]
+ public enum MotionDirection {
+ UP,
+ DOWN,
+ LEFT,
+ RIGHT,
+ UP_LEFT,
+ UP_RIGHT,
+ DOWN_LEFT,
+ DOWN_RIGHT
+ }
+ [CCode (cheader_filename = "meta/prefs.h", cprefix = "META_PREF_", type_id = "meta_preference_get_type ()")]
+ public enum Preference {
+ MOUSE_BUTTON_MODS,
+ FOCUS_MODE,
+ FOCUS_NEW_WINDOWS,
+ ATTACH_MODAL_DIALOGS,
+ RAISE_ON_CLICK,
+ ACTION_DOUBLE_CLICK_TITLEBAR,
+ ACTION_MIDDLE_CLICK_TITLEBAR,
+ ACTION_RIGHT_CLICK_TITLEBAR,
+ AUTO_RAISE,
+ AUTO_RAISE_DELAY,
+ FOCUS_CHANGE_ON_POINTER_REST,
+ TITLEBAR_FONT,
+ NUM_WORKSPACES,
+ DYNAMIC_WORKSPACES,
+ KEYBINDINGS,
+ DISABLE_WORKAROUNDS,
+ BUTTON_LAYOUT,
+ WORKSPACE_NAMES,
+ VISUAL_BELL,
+ AUDIBLE_BELL,
+ VISUAL_BELL_TYPE,
+ GNOME_ACCESSIBILITY,
+ GNOME_ANIMATIONS,
+ CURSOR_THEME,
+ CURSOR_SIZE,
+ RESIZE_WITH_RIGHT_BUTTON,
+ EDGE_TILING,
+ FORCE_FULLSCREEN,
+ WORKSPACES_ONLY_ON_PRIMARY,
+ DRAGGABLE_BORDER_WIDTH,
+ AUTO_MAXIMIZE,
+ CENTER_NEW_WINDOWS,
+ DRAG_THRESHOLD;
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned string to_string (Meta.Preference pref);
+ }
+ [CCode (cheader_filename = "meta/screen.h", cprefix = "META_SCREEN_", type_id = "meta_screen_corner_get_type ()")]
+ public enum ScreenCorner {
+ TOPLEFT,
+ TOPRIGHT,
+ BOTTOMLEFT,
+ BOTTOMRIGHT
+ }
+ [CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SCREEN_", type_id = "meta_screen_direction_get_type ()")]
+ public enum ScreenDirection {
+ UP,
+ DOWN,
+ LEFT,
+ RIGHT
+ }
+ [CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SHADOW_MODE_", type_id = "meta_shadow_mode_get_type ()")]
+ public enum ShadowMode {
+ AUTO,
+ FORCED_OFF,
+ FORCED_ON
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_SIDE_", type_id = "meta_side_get_type ()")]
+ public enum Side {
+ LEFT,
+ RIGHT,
+ TOP,
+ BOTTOM
+ }
+ [CCode (cheader_filename = "meta/meta-enum-types.h", cprefix = "META_SIZE_CHANGE_", type_id = "meta_size_change_get_type ()")]
+ public enum SizeChange {
+ MAXIMIZE,
+ UNMAXIMIZE,
+ FULLSCREEN,
+ UNFULLSCREEN
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_LAYER_", type_id = "meta_stack_layer_get_type ()")]
+ public enum StackLayer {
+ DESKTOP,
+ BOTTOM,
+ NORMAL,
+ TOP,
+ DOCK,
+ FULLSCREEN,
+ FOCUSED_WINDOW,
+ OVERRIDE_REDIRECT,
+ LAST
+ }
+ [CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_LIST_", type_id = "meta_tab_list_get_type ()")]
+ public enum TabList {
+ NORMAL,
+ DOCKS,
+ GROUP,
+ NORMAL_ALL
+ }
+ [CCode (cheader_filename = "meta/display.h", cprefix = "META_TAB_SHOW_", type_id = "meta_tab_show_type_get_type ()")]
+ public enum TabShowType {
+ ICON,
+ INSTANTLY
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_VIRTUAL_", type_id = "meta_virtual_modifier_get_type ()")]
+ [Flags]
+ public enum VirtualModifier {
+ SHIFT_MASK,
+ CONTROL_MASK,
+ ALT_MASK,
+ META_MASK,
+ SUPER_MASK,
+ HYPER_MASK,
+ MOD2_MASK,
+ MOD3_MASK,
+ MOD4_MASK,
+ MOD5_MASK
+ }
+ [CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_CLIENT_TYPE_", type_id = "meta_window_client_type_get_type ()")]
+ public enum WindowClientType {
+ WAYLAND,
+ X11
+ }
+ [CCode (cheader_filename = "meta/common.h", cprefix = "META_WINDOW_MENU_", type_id = "meta_window_menu_type_get_type ()")]
+ public enum WindowMenuType {
+ WM,
+ APP
+ }
+ [CCode (cheader_filename = "meta/window.h", cprefix = "META_WINDOW_", type_id = "meta_window_type_get_type ()")]
+ public enum WindowType {
+ NORMAL,
+ DESKTOP,
+ DOCK,
+ DIALOG,
+ MODAL_DIALOG,
+ TOOLBAR,
+ MENU,
+ UTILITY,
+ SPLASHSCREEN,
+ DROPDOWN_MENU,
+ POPUP_MENU,
+ TOOLTIP,
+ NOTIFICATION,
+ COMBO,
+ DND,
+ OVERRIDE_OTHER
+ }
+ [CCode (cheader_filename = "meta/meta-idle-monitor.h", instance_pos = 2.9)]
+ public delegate void IdleMonitorWatchFunc (Meta.IdleMonitor monitor, uint watch_id);
+ [CCode (cheader_filename = "meta/prefs.h", instance_pos = 5.9)]
+ public delegate void KeyHandlerFunc (Meta.Display display, Meta.Screen screen, Meta.Window? window, Clutter.KeyEvent? event, Meta.KeyBinding binding);
+ [CCode (cheader_filename = "meta/prefs.h", instance_pos = 1.9)]
+ public delegate void PrefsChangedFunc (Meta.Preference pref);
+ [CCode (cheader_filename = "meta/window.h", instance_pos = 1.9)]
+ public delegate bool WindowForeachFunc (Meta.Window window);
+ [CCode (cheader_filename = "meta/main.h", cname = "META_DEFAULT_ICON_NAME")]
+ public const string DEFAULT_ICON_NAME;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_HEIGHT")]
+ public const int ICON_HEIGHT;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_ICON_WIDTH")]
+ public const int ICON_WIDTH;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_MAJOR_VERSION")]
+ public const int MAJOR_VERSION;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_MICRO_VERSION")]
+ public const int MICRO_VERSION;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_HEIGHT")]
+ public const int MINI_ICON_HEIGHT;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_MINI_ICON_WIDTH")]
+ public const int MINI_ICON_WIDTH;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_MINOR_VERSION")]
+ public const int MINOR_VERSION;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_PLUGIN_API_VERSION")]
+ public const int PLUGIN_API_VERSION;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_BEFORE_REDRAW")]
+ public const int PRIORITY_BEFORE_REDRAW;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_PREFS_NOTIFY")]
+ public const int PRIORITY_PREFS_NOTIFY;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_REDRAW")]
+ public const int PRIORITY_REDRAW;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_PRIORITY_RESIZE")]
+ public const int PRIORITY_RESIZE;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_KEYBOARD_ID")]
+ public const int VIRTUAL_CORE_KEYBOARD_ID;
+ [CCode (cheader_filename = "meta/main.h", cname = "META_VIRTUAL_CORE_POINTER_ID")]
+ public const int VIRTUAL_CORE_POINTER_ID;
+ [CCode (cheader_filename = "meta/main.h")]
+ public static bool activate_session ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void clutter_init ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void exit (Meta.ExitCode code);
+ [CCode (cheader_filename = "meta/main.h")]
+ public static unowned GLib.OptionContext get_option_context ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static bool get_replace_current_wm ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void init ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static bool is_restart ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void quit (Meta.ExitCode code);
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void register_with_session ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void restart (string message);
+ [CCode (cheader_filename = "meta/main.h")]
+ public static int run ();
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void set_gnome_wm_keybindings (string wm_keybindings);
+ [CCode (cheader_filename = "meta/main.h")]
+ public static void set_wm_name (string wm_name);
+}