@@ -0,0 +1,318 @@
|
||||
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 <maddock.evan@vivaldi.net>
|
||||
---
|
||||
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<string> 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 <mutter-version>
|
||||
+```bash
|
||||
+./vapi/generate-mutter-vapi.sh <mutter-version>
|
||||
+```
|
||||
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<Gdk.Monitor>? 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<libxfce4windowing.WorkspaceGroup>? list_workspace_groups ();
|
||||
+ [CCode (cname = "xfw_workspace_manager_list_workspaces")]
|
||||
+ public unowned GLib.List<libxfce4windowing.Workspace>? 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 ();
|
||||
}
|
||||
@@ -20,14 +20,13 @@
|
||||
<Dependency>vala-devel</Dependency>
|
||||
<Dependency>intltool</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>libgee-devel</Dependency>
|
||||
<Dependency>libgee-devel</Dependency>
|
||||
<Dependency>gobject-introspection-devel</Dependency>
|
||||
<Dependency>sassc</Dependency>
|
||||
<Dependency versionFrom="5.0.2">budgie-screensaver</Dependency>
|
||||
<Dependency>alsa-lib-devel</Dependency>
|
||||
<Dependency>libnotify-devel</Dependency>
|
||||
<Dependency>accountsservice-devel</Dependency>
|
||||
<Dependency>libpeas-devel</Dependency>
|
||||
<Dependency>libpeas-1-devel</Dependency>
|
||||
<Dependency>libwnck3-devel</Dependency>
|
||||
<Dependency>magpie-wm-devel</Dependency>
|
||||
@@ -47,8 +46,11 @@
|
||||
<Dependency>libcanberra-devel</Dependency>
|
||||
<Dependency>libcanberra-gtk3-devel</Dependency>
|
||||
<Dependency>zenity</Dependency>
|
||||
<Dependency>libxfce4windowing-devel</Dependency>
|
||||
<Dependency>libxfce4windowing-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">a040ccb.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
@@ -64,7 +66,6 @@
|
||||
<Dependency>mutter</Dependency>
|
||||
<Dependency>polkit</Dependency>
|
||||
<Dependency>upower</Dependency>
|
||||
<Dependency>libpeas</Dependency>
|
||||
<Dependency>alsa-lib</Dependency>
|
||||
<Dependency>libglvnd</Dependency>
|
||||
<Dependency>libwnck3</Dependency>
|
||||
@@ -81,7 +82,7 @@
|
||||
<Dependency>gnome-bluetooth3</Dependency>
|
||||
<Dependency>libcanberra-gtk3</Dependency>
|
||||
<Dependency>pulseaudio-libs</Dependency>
|
||||
<Dependency>libxfce4windowing</Dependency>
|
||||
<Dependency>libxfce4windowing</Dependency>
|
||||
<Dependency>gobject-introspection</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
@@ -111,7 +112,7 @@
|
||||
<Dependency release="current">budgie-desktop</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>libpeas-devel</Dependency>
|
||||
<Dependency>libpeas-1-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
|
||||
Reference in New Issue
Block a user