From a040ccb96094f1d3a1ee81a6733c9434722bdf6c Mon Sep 17 00:00:00 2001 From: Evan Maddock <5157277+EbonJaeger@users.noreply.github.com> Date: Sat, 2 Mar 2024 09:54:41 -0500 Subject: [PATCH] vapi: Update libxfce4windowing to 4.19.3 (#547) Fixes #546 Signed-off-by: Evan Maddock --- src/daemon/tabswitcher.vala | 6 +-- src/panel/applets/workspaces/WindowIcon.vala | 2 +- .../applets/workspaces/WorkspaceItem.vala | 2 +- .../applets/workspaces/WorkspacesApplet.vala | 6 +-- vapi/README.md | 33 +++++++++--- vapi/libxfce4windowing-0.deps | 1 + vapi/libxfce4windowing-0.vapi | 52 ++++++++++++++----- 7 files changed, 75 insertions(+), 27 deletions(-) diff --git a/src/daemon/tabswitcher.vala b/src/daemon/tabswitcher.vala index 8aa97db6d..d7dbd8286 100644 --- a/src/daemon/tabswitcher.vala +++ b/src/daemon/tabswitcher.vala @@ -61,7 +61,7 @@ namespace Budgie { public TabSwitcherWidget(Budgie.AppSystem app_system, libxfce4windowing.Window? win) { Object(); window = win; - var uid = window.get_id(); + ulong uid = (ulong) window.x11_get_xid(); id = uid.to_string(); set_title(); @@ -334,7 +334,7 @@ namespace Budgie { } private void set_window_as_activated(libxfce4windowing.Window window) { - string id = window.get_id().to_string(); + string id = ((ulong) window.x11_get_xid()).to_string(); unowned List entries = recency.find_custom(id, strcmp); recency.remove_link(entries); recency.prepend(id); @@ -365,7 +365,7 @@ namespace Budgie { /* Switch focus to the item with the xid */ public void focus_item(bool backwards) { unowned libxfce4windowing.Window? active_window = xfce_screen.get_active_window(); - TabSwitcherWidget? widget = active_window != null ? ids.get(active_window.get_id().to_string()) : null; + TabSwitcherWidget? widget = active_window != null ? ids.get(((ulong) active_window.x11_get_xid()).to_string()) : null; // Visible, each input should cycle to previous / next if (visible) { diff --git a/src/panel/applets/workspaces/WindowIcon.vala b/src/panel/applets/workspaces/WindowIcon.vala index a9efc0232..7e36cafe0 100644 --- a/src/panel/applets/workspaces/WindowIcon.vala +++ b/src/panel/applets/workspaces/WindowIcon.vala @@ -72,7 +72,7 @@ namespace Workspaces { } public void on_drag_data_get(Gtk.Widget widget, Gdk.DragContext context, Gtk.SelectionData selection_data, uint target_type, uint time) { - ulong window_xid = (ulong)window.get_id(); + ulong window_xid = (ulong)window.x11_get_xid(); uchar[] buf; convert_ulong_to_bytes(window_xid, out buf); selection_data.set( diff --git a/src/panel/applets/workspaces/WorkspaceItem.vala b/src/panel/applets/workspaces/WorkspaceItem.vala index eccab8e70..ef76ee904 100644 --- a/src/panel/applets/workspaces/WorkspaceItem.vala +++ b/src/panel/applets/workspaces/WorkspaceItem.vala @@ -179,7 +179,7 @@ namespace Workspaces { if (data != null) { try { foreach (libxfce4windowing.Window window in WorkspacesApplet.xfce_screen.get_windows()) { - if (window.get_id() == *data) { + if (window.x11_get_xid() == *data) { window.move_to_workspace(this.workspace); dnd_success = true; break; diff --git a/src/panel/applets/workspaces/WorkspacesApplet.vala b/src/panel/applets/workspaces/WorkspacesApplet.vala index 5d3435ac4..237bacd2e 100644 --- a/src/panel/applets/workspaces/WorkspacesApplet.vala +++ b/src/panel/applets/workspaces/WorkspacesApplet.vala @@ -278,8 +278,8 @@ namespace Workspaces { } private void connect_signals() { - connections += workspace_group.workspace_created.connect(workspace_added); - connections += workspace_group.workspace_destroyed.connect(workspace_removed); + connections += workspace_group.workspace_added.connect(workspace_added); + connections += workspace_group.workspace_removed.connect(workspace_removed); connections += workspace_group.active_workspace_changed.connect(set_current_workspace); connections += xfce_screen.active_window_changed.connect(update_workspaces); connections += xfce_screen.window_opened.connect(window_opened); @@ -403,7 +403,7 @@ namespace Workspaces { libxfce4windowing.Window? window = null; foreach (libxfce4windowing.Window win in xfce_screen.get_windows()) { - if (win.get_id() == *data) { + if (win.x11_get_xid() == *data) { window = win; break; } diff --git a/vapi/README.md b/vapi/README.md index 6bd29f17d..857655b35 100644 --- a/vapi/README.md +++ b/vapi/README.md @@ -1,17 +1,36 @@ -Refreshing vapis --------------- +## Refreshing vapis + +### Polkit To refresh the Polkit vapi files: - vapigen --library polkit-gobject-1 /usr/share/gir-1.0/Polkit-1.0.gir --pkg gio-unix-2.0 - vapigen --library polkit-agent-1 /usr/share/gir-1.0/PolkitAgent-1.0.gir --pkg gio-unix-2.0 --pkg polkit-gobject-1 --girdir=. --vapidir=. +```bash +vapigen --library polkit-gobject-1 /usr/share/gir-1.0/Polkit-1.0.gir --pkg gio-unix-2.0 +vapigen --library polkit-agent-1 /usr/share/gir-1.0/PolkitAgent-1.0.gir --pkg gio-unix-2.0 --pkg polkit-gobject-1 --girdir=. --vapidir=. +``` + +Then have fun un-mangling it to support vala async syntax. + +### Libxfce4windowing -Then have fun un-mangling it to support vala async syntax +To generate the libxfce4windowing vapi files: + +```bash +vapigen --library libxfce4windowing-0 /usr/share/gir-1.0/Libxfce4windowing-0-0.gir --metadatadir . +``` + +### UPower To generate the UPower vapi files: - vapigen --library upower-glib /usr/share/gir-1.0/UpowerGlib-1.0.gir --metadatadir . --pkg gio-unix-2.0 UPowerGlib-1.0-custom.vala +```bash +vapigen --library upower-glib /usr/share/gir-1.0/UpowerGlib-1.0.gir --metadatadir . --pkg gio-unix-2.0 UPowerGlib-1.0-custom.vala +``` + +### Mutter For mutter (and shipped cogl and clutter), once you defined the relative `*.deps`, `*.metadata` and `*-custom.vala` files, you can run: - ./vapi/generate-mutter-vapi.sh +```bash +./vapi/generate-mutter-vapi.sh +``` diff --git a/vapi/libxfce4windowing-0.deps b/vapi/libxfce4windowing-0.deps index 319bc395a..bfc6c0973 100644 --- a/vapi/libxfce4windowing-0.deps +++ b/vapi/libxfce4windowing-0.deps @@ -1,3 +1,4 @@ gdk-3.0 glib-2.0 +gtk+-3.0 libwnck-3.0 diff --git a/vapi/libxfce4windowing-0.vapi b/vapi/libxfce4windowing-0.vapi index ed3a282b2..50da752bc 100644 --- a/vapi/libxfce4windowing-0.vapi +++ b/vapi/libxfce4windowing-0.vapi @@ -6,13 +6,14 @@ namespace libxfce4windowing { public abstract class Application : GLib.Object { [CCode (has_construct_function = false)] protected Application (); + [CCode (cname = "xfw_application_get_class_id")] + [Version (since = "4.19.3")] + public unowned string get_class_id (); [CCode (cname = "xfw_application_get_gicon")] [Version (since = "4.19.1")] public unowned GLib.Icon get_gicon (); [CCode (cname = "xfw_application_get_icon")] public unowned Gdk.Pixbuf? get_icon (int size, int scale); - [CCode (cname = "xfw_application_get_id")] - public uint64 get_id (); [CCode (cname = "xfw_application_get_instance")] public unowned libxfce4windowing.ApplicationInstance? get_instance (libxfce4windowing.Window window); [CCode (cname = "xfw_application_get_instances")] @@ -25,9 +26,10 @@ namespace libxfce4windowing { [Version (since = "4.19.1")] public bool icon_is_fallback (); [NoAccessorMethod] - public GLib.Icon gicon { owned get; } + [Version (since = "4.19.3")] + public string class_id { owned get; } [NoAccessorMethod] - public uint64 id { get; } + public GLib.Icon gicon { owned get; } [NoAccessorMethod] public void* instances { get; } [NoAccessorMethod] @@ -87,6 +89,9 @@ namespace libxfce4windowing { public unowned libxfce4windowing.Application get_application (); [CCode (cname = "xfw_window_get_capabilities")] public libxfce4windowing.WindowCapabilities get_capabilities (); + [CCode (array_length = false, array_null_terminated = true, cname = "xfw_window_get_class_ids")] + [Version (since = "4.19.3")] + public unowned string[] get_class_ids (); [CCode (cname = "xfw_window_get_geometry")] public unowned Gdk.Rectangle? get_geometry (); [CCode (cname = "xfw_window_get_gicon")] @@ -94,8 +99,6 @@ namespace libxfce4windowing { public unowned GLib.Icon get_gicon (); [CCode (cname = "xfw_window_get_icon")] public unowned Gdk.Pixbuf? get_icon (int size, int scale); - [CCode (cname = "xfw_window_get_id")] - public uint64 get_id (); [CCode (cname = "xfw_window_get_monitors")] public unowned GLib.List? get_monitors (); [CCode (cname = "xfw_window_get_name")] @@ -165,14 +168,19 @@ namespace libxfce4windowing { public bool start_move () throws GLib.Error; [CCode (cname = "xfw_window_start_resize")] public bool start_resize () throws GLib.Error; + [CCode (cname = "xfw_window_x11_get_xid")] + [Version (since = "4.19.3")] + public X.Window x11_get_xid (); [NoAccessorMethod] public libxfce4windowing.Application application { owned get; } [NoAccessorMethod] public libxfce4windowing.WindowCapabilities capabilities { get; } + [CCode (array_length = false, array_null_terminated = true)] [NoAccessorMethod] - public GLib.Icon gicon { owned get; } + [Version (since = "4.19.3")] + public string[] class_ids { owned get; } [NoAccessorMethod] - public uint64 id { get; } + public GLib.Icon gicon { owned get; } [NoAccessorMethod] public void* monitors { get; } [NoAccessorMethod] @@ -186,6 +194,8 @@ namespace libxfce4windowing { [NoAccessorMethod] public libxfce4windowing.Workspace workspace { owned get; } public signal void capabilities_changed (libxfce4windowing.WindowCapabilities changed_mask, libxfce4windowing.WindowCapabilities new_state); + [Version (since = "4.19.3")] + public signal void class_changed (); public signal void closed (); public signal void geometry_changed (); public signal void icon_changed (); @@ -313,6 +323,8 @@ namespace libxfce4windowing { public interface Workspace : GLib.Object { [CCode (cname = "xfw_workspace_activate")] public bool activate () throws GLib.Error; + [CCode (cname = "xfw_workspace_assign_to_workspace_group")] + public bool assign_to_workspace_group (libxfce4windowing.WorkspaceGroup group) throws GLib.Error; [CCode (cname = "xfw_workspace_get_capabilities")] public libxfce4windowing.WorkspaceCapabilities get_capabilities (); [CCode (cname = "xfw_workspace_get_geometry")] @@ -332,13 +344,13 @@ namespace libxfce4windowing { [CCode (cname = "xfw_workspace_get_state")] public libxfce4windowing.WorkspaceState get_state (); [CCode (cname = "xfw_workspace_get_workspace_group")] - public unowned libxfce4windowing.WorkspaceGroup get_workspace_group (); + public unowned libxfce4windowing.WorkspaceGroup? get_workspace_group (); [CCode (cname = "xfw_workspace_remove")] public bool remove () throws GLib.Error; [NoAccessorMethod] public abstract libxfce4windowing.WorkspaceCapabilities capabilities { get; set construct; } [NoAccessorMethod] - public abstract libxfce4windowing.WorkspaceGroup group { owned get; construct; } + public abstract libxfce4windowing.WorkspaceGroup group { owned get; } [NoAccessorMethod] public abstract string id { owned get; } [NoAccessorMethod] @@ -348,6 +360,7 @@ namespace libxfce4windowing { [NoAccessorMethod] public abstract libxfce4windowing.WorkspaceState state { get; set construct; } public signal void capabilities_changed (libxfce4windowing.WorkspaceCapabilities changed_mask, libxfce4windowing.WorkspaceCapabilities new_capabilities); + public signal void group_changed (libxfce4windowing.WorkspaceGroup previous_group); public signal void name_changed (); public signal void state_changed (libxfce4windowing.WorkspaceState changed_mask, libxfce4windowing.WorkspaceState new_state); } @@ -383,20 +396,32 @@ namespace libxfce4windowing { public abstract void* workspaces { get; } public signal void active_workspace_changed (libxfce4windowing.Workspace? previously_active_workspace); public signal void capabilities_changed (libxfce4windowing.WorkspaceGroupCapabilities changed_mask, libxfce4windowing.WorkspaceGroupCapabilities new_capabilities); + public signal void monitor_added (Gdk.Monitor monitor); + public signal void monitor_removed (Gdk.Monitor monitor); public signal void monitors_changed (); public signal void viewports_changed (); - public signal void workspace_created (libxfce4windowing.Workspace workspace); - public signal void workspace_destroyed (libxfce4windowing.Workspace workspace); + public signal void workspace_added (libxfce4windowing.Workspace workspace); + public signal void workspace_removed (libxfce4windowing.Workspace workspace); } [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwWorkspaceManager", type_id = "xfw_workspace_manager_get_type ()")] public interface WorkspaceManager : GLib.Object { [CCode (cname = "xfw_workspace_manager_list_workspace_groups")] public unowned GLib.List? list_workspace_groups (); + [CCode (cname = "xfw_workspace_manager_list_workspaces")] + public unowned GLib.List? list_workspaces (); [NoAccessorMethod] public abstract Gdk.Screen screen { owned get; construct; } + public signal void workspace_created (libxfce4windowing.Workspace workspace); + public signal void workspace_destroyed (libxfce4windowing.Workspace workspace); public signal void workspace_group_created (libxfce4windowing.WorkspaceGroup group); public signal void workspace_group_destroyed (libxfce4windowing.WorkspaceGroup group); } + [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwClientType", cprefix = "XFW_CLIENT_TYPE_", has_type_id = false)] + [Version (since = "4.19.3")] + public enum ClientType { + APPLICATION, + PAGER + } [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwDirection", cprefix = "XFW_DIRECTION_", type_id = "xfw_direction_get_type ()")] public enum Direction { UP, @@ -507,6 +532,9 @@ namespace libxfce4windowing { [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "xfw_screen_get_default")] [Version (replacement = "Screen.get_default")] public static libxfce4windowing.Screen screen_get_default (); + [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "xfw_set_client_type")] + [Version (since = "4.19.3")] + public static void set_client_type (libxfce4windowing.ClientType client_type); [CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "xfw_windowing_get")] public static libxfce4windowing.Windowing windowing_get (); }