diff --git a/configure.ac b/configure.ac index 4eb8921a068ec86a0a0540b31c24d082f6f0852f..668cd91ed3e98c343ae1740e7b655ed512bbc8ad 100644 --- a/configure.ac +++ b/configure.ac @@ -161,6 +161,10 @@ AS_IF([test x"$ENABLE_WAYLAND" = x"yes"], LIBXFCE4WINDOWING_HAS_WAYLAND="/* #undef LIBXFCE4WINDOWING_HAS_WAYLAND */" ]) +dnl FIXME: Bump wayland_protocols_minimum_version to 1.39 when it is an acceptable requirement, +dnl and remove this and protocols/ext-workspace-v1.xml +AM_CONDITIONAL([HAVE_WORKSPACE], [test -f "$WL_PROTOCOLS_PKGDATADIR/staging/ext-workspace/ext-workspace-v1.xml"]) + AC_SUBST([LIBXFCE4WINDOWING_HAS_X11]) AC_SUBST([LIBXFCE4WINDOWING_HAS_WAYLAND]) diff --git a/libxfce4windowing/xfw-screen-wayland.c b/libxfce4windowing/xfw-screen-wayland.c index 7593c2236f951904c189c0dddfdbe56b74e64e1f..cac7ac84998977bfc809be9a5437d72dfaee9dd8 100644 --- a/libxfce4windowing/xfw-screen-wayland.c +++ b/libxfce4windowing/xfw-screen-wayland.c @@ -25,7 +25,7 @@ #include <string.h> #include <wayland-client.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "protocols/wlr-foreign-toplevel-management-unstable-v1-client.h" #include "protocols/xdg-output-unstable-v1-client.h" diff --git a/libxfce4windowing/xfw-workspace-group-wayland.c b/libxfce4windowing/xfw-workspace-group-wayland.c index a7701e935c117b56f1660b63410fa4272a0008c6..dcb2905305a99372785af9690e1b008ac1856e14 100644 --- a/libxfce4windowing/xfw-workspace-group-wayland.c +++ b/libxfce4windowing/xfw-workspace-group-wayland.c @@ -24,7 +24,7 @@ #include <glib/gi18n-lib.h> #include <limits.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "libxfce4windowing-private.h" #include "xfw-monitor-wayland.h" @@ -42,6 +42,11 @@ enum { N_SIGNALS, }; +enum { + PROP0, + PROP_HANDLE, +}; + struct _XfwWorkspaceGroupWaylandPrivate { XfwScreen *screen; XfwWorkspaceManager *workspace_manager; @@ -86,6 +91,7 @@ static const struct ext_workspace_group_handle_v1_listener group_listener = { }; G_DEFINE_TYPE_WITH_CODE(XfwWorkspaceGroupWayland, xfw_workspace_group_wayland, G_TYPE_OBJECT, + G_ADD_PRIVATE(XfwWorkspaceGroupWayland) G_IMPLEMENT_INTERFACE(XFW_TYPE_WORKSPACE_GROUP, xfw_workspace_group_wayland_workspace_group_init)) @@ -105,6 +111,12 @@ xfw_workspace_group_wayland_class_init(XfwWorkspaceGroupWaylandClass *klass) { g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + g_object_class_install_property(gklass, + PROP_HANDLE, + g_param_spec_pointer("handle", + "handle", + "handle", + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); _xfw_workspace_group_install_properties(gklass); } @@ -124,6 +136,10 @@ xfw_workspace_group_wayland_set_property(GObject *obj, guint prop_id, const GVal XfwWorkspaceGroupWayland *group = XFW_WORKSPACE_GROUP_WAYLAND(obj); switch (prop_id) { + case PROP_HANDLE: + group->priv->handle = g_value_get_pointer(value); + break; + case WORKSPACE_GROUP_PROP_SCREEN: group->priv->screen = g_value_get_object(value); break; @@ -148,6 +164,10 @@ xfw_workspace_group_wayland_get_property(GObject *obj, guint prop_id, GValue *va XfwWorkspaceGroupWayland *group = XFW_WORKSPACE_GROUP_WAYLAND(obj); switch (prop_id) { + case PROP_HANDLE: + g_value_set_pointer(value, group->priv->handle); + break; + case WORKSPACE_GROUP_PROP_SCREEN: g_value_set_object(value, group->priv->screen); break; @@ -266,7 +286,7 @@ group_capabilities(void *data, struct ext_workspace_group_handle_v1 *wl_group, u XfwWorkspaceGroupCapabilities changed_mask; XfwWorkspaceGroupCapabilities new_capabilities = XFW_WORKSPACE_GROUP_CAPABILITIES_NONE; - if ((wl_capabilities & EXT_WORKSPACE_GROUP_HANDLE_V1_EXT_WORKSPACE_GROUP_CAPABILITIES_V1_CREATE_WORKSPACE) != 0) { + if ((wl_capabilities & EXT_WORKSPACE_GROUP_HANDLE_V1_GROUP_CAPABILITIES_CREATE_WORKSPACE) != 0) { new_capabilities |= XFW_WORKSPACE_GROUP_CAPABILITIES_CREATE_WORKSPACE; } diff --git a/libxfce4windowing/xfw-workspace-group-wayland.h b/libxfce4windowing/xfw-workspace-group-wayland.h index 498db51ddce6a114a4c1a82f135e5f6dfe3fe114..a5717334cd64e53a3f273de7cd18ede1934bfd75 100644 --- a/libxfce4windowing/xfw-workspace-group-wayland.h +++ b/libxfce4windowing/xfw-workspace-group-wayland.h @@ -26,7 +26,7 @@ #include <glib-object.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "xfw-workspace.h" diff --git a/libxfce4windowing/xfw-workspace-manager-wayland.c b/libxfce4windowing/xfw-workspace-manager-wayland.c index 442faa3c1898e6a688948d9b1b250c60b0f02e30..9b4ad50bb7091bd57f12117de5f09b0f4ba24b42 100644 --- a/libxfce4windowing/xfw-workspace-manager-wayland.c +++ b/libxfce4windowing/xfw-workspace-manager-wayland.c @@ -26,7 +26,7 @@ #include <wayland-client-core.h> #include <wayland-client-protocol.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "libxfce4windowing-private.h" #include "xfw-screen-private.h" @@ -225,7 +225,7 @@ manager_workspace(void *data, struct ext_workspace_manager_v1 *manager, struct e _xfw_workspace_wayland_set_number(workspace, g_list_length(wmanager->priv->workspaces)); wmanager->priv->workspaces = g_list_append(wmanager->priv->workspaces, workspace); g_signal_connect(workspace, "destroyed", G_CALLBACK(workspace_destroyed), manager); - g_signal_emit_by_name(manager, "workspace-created", workspace); + g_signal_emit_by_name(wmanager, "workspace-created", workspace); } static void diff --git a/libxfce4windowing/xfw-workspace-manager-wayland.h b/libxfce4windowing/xfw-workspace-manager-wayland.h index 83131cba3de95018839c03349ac340da2602ec1e..4451dc2db40a9c1402e5275f31c60c5e7a643af9 100644 --- a/libxfce4windowing/xfw-workspace-manager-wayland.h +++ b/libxfce4windowing/xfw-workspace-manager-wayland.h @@ -26,7 +26,7 @@ #include <gdk/gdk.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "xfw-screen-wayland.h" #include "xfw-workspace-manager.h" diff --git a/libxfce4windowing/xfw-workspace-wayland.c b/libxfce4windowing/xfw-workspace-wayland.c index e4ccbe36712760ae1bee2daa848c57dbd384efbc..0e4be7d0f9cdad002b688c174e22899b67af1c7f 100644 --- a/libxfce4windowing/xfw-workspace-wayland.c +++ b/libxfce4windowing/xfw-workspace-wayland.c @@ -23,7 +23,7 @@ #include <limits.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "libxfce4windowing-private.h" #include "xfw-util.h" @@ -271,6 +271,8 @@ xfw_workspace_wayland_get_layout_column(XfwWorkspace *workspace) { static XfwWorkspace * xfw_workspace_wayland_get_neighbor(XfwWorkspace *workspace, XfwDirection direction) { + XfwWorkspaceWayland *wworkspace = XFW_WORKSPACE_WAYLAND(workspace); + switch (direction) { case XFW_DIRECTION_UP: case XFW_DIRECTION_DOWN: @@ -278,18 +280,22 @@ xfw_workspace_wayland_get_neighbor(XfwWorkspace *workspace, XfwDirection directi case XFW_DIRECTION_LEFT: { gint num = xfw_workspace_wayland_get_layout_column(workspace); - if (num < 1) { + if (wworkspace->priv->group == NULL || num < 1) { return NULL; } else { - GList *workspaces = xfw_workspace_group_list_workspaces(XFW_WORKSPACE_WAYLAND(workspace)->priv->group); + GList *workspaces = xfw_workspace_group_list_workspaces(wworkspace->priv->group); return XFW_WORKSPACE(g_list_nth_data(workspaces, num - 1)); } } case XFW_DIRECTION_RIGHT: { - gint num = xfw_workspace_wayland_get_layout_column(workspace); - GList *workspaces = xfw_workspace_group_list_workspaces(XFW_WORKSPACE_WAYLAND(workspace)->priv->group); - return XFW_WORKSPACE(g_list_nth_data(workspaces, num + 1)); + if (wworkspace->priv->group == NULL) { + return NULL; + } else { + gint num = xfw_workspace_wayland_get_layout_column(workspace); + GList *workspaces = xfw_workspace_group_list_workspaces(wworkspace->priv->group); + return XFW_WORKSPACE(g_list_nth_data(workspaces, num + 1)); + } } } @@ -403,7 +409,7 @@ workspace_state(void *data, struct ext_workspace_handle_v1 *wl_workspace, uint32 changed_mask = old_state ^ new_state; g_object_notify(G_OBJECT(workspace), "state"); g_signal_emit_by_name(workspace, "state-changed", changed_mask, new_state); - if ((changed_mask & XFW_WORKSPACE_STATE_ACTIVE) != 0) { + if (workspace->priv->group != NULL && (changed_mask & XFW_WORKSPACE_STATE_ACTIVE) != 0) { if ((new_state & XFW_WORKSPACE_STATE_ACTIVE) != 0) { _xfw_workspace_group_wayland_set_active_workspace(XFW_WORKSPACE_GROUP_WAYLAND(workspace->priv->group), XFW_WORKSPACE(workspace)); } else { @@ -418,13 +424,13 @@ workspace_state(void *data, struct ext_workspace_handle_v1 *wl_workspace, uint32 } static const struct { - enum ext_workspace_handle_v1_ext_workspace_capabilities_v1 wl_capability; + enum ext_workspace_handle_v1_workspace_capabilities wl_capability; XfwWorkspaceCapabilities capability_bit; } capabilities_converters[] = { - { EXT_WORKSPACE_HANDLE_V1_EXT_WORKSPACE_CAPABILITIES_V1_ACTIVATE, XFW_WORKSPACE_CAPABILITIES_ACTIVATE }, - { EXT_WORKSPACE_HANDLE_V1_EXT_WORKSPACE_CAPABILITIES_V1_DEACTIVATE, XFW_WORKSPACE_CAPABILITIES_DEACTIVATE }, - { EXT_WORKSPACE_HANDLE_V1_EXT_WORKSPACE_CAPABILITIES_V1_REMOVE, XFW_WORKSPACE_CAPABILITIES_REMOVE }, - { EXT_WORKSPACE_HANDLE_V1_EXT_WORKSPACE_CAPABILITIES_V1_ASSIGN, XFW_WORKSPACE_CAPABILITIES_ASSIGN }, + { EXT_WORKSPACE_HANDLE_V1_WORKSPACE_CAPABILITIES_ACTIVATE, XFW_WORKSPACE_CAPABILITIES_ACTIVATE }, + { EXT_WORKSPACE_HANDLE_V1_WORKSPACE_CAPABILITIES_DEACTIVATE, XFW_WORKSPACE_CAPABILITIES_DEACTIVATE }, + { EXT_WORKSPACE_HANDLE_V1_WORKSPACE_CAPABILITIES_REMOVE, XFW_WORKSPACE_CAPABILITIES_REMOVE }, + { EXT_WORKSPACE_HANDLE_V1_WORKSPACE_CAPABILITIES_ASSIGN, XFW_WORKSPACE_CAPABILITIES_ASSIGN }, }; static void diff --git a/libxfce4windowing/xfw-workspace-wayland.h b/libxfce4windowing/xfw-workspace-wayland.h index ee293a5d34ace6f35e2f22a1df75c9ee9f73a071..0abc633b2b449d1a6b6da268beb0b9f40153a848 100644 --- a/libxfce4windowing/xfw-workspace-wayland.h +++ b/libxfce4windowing/xfw-workspace-wayland.h @@ -26,7 +26,7 @@ #include <glib-object.h> -#include "protocols/ext-workspace-v1-20230427-client.h" +#include "protocols/ext-workspace-v1-client.h" #include "xfw-workspace-group.h" diff --git a/protocols/Makefile.am b/protocols/Makefile.am index c44f4bc09c80b0aa08ffe6ce33524f5dc5013a34..5f7002dc370c3255b84ae3d5eb6c25e8ab63e454 100644 --- a/protocols/Makefile.am +++ b/protocols/Makefile.am @@ -4,8 +4,8 @@ noinst_LTLIBRARIES = \ libwayland-protocols.la libwayland_protocols_built_sources = \ - ext-workspace-v1-20230427.c \ - ext-workspace-v1-20230427-client.h \ + ext-workspace-v1.c \ + ext-workspace-v1-client.h \ wlr-foreign-toplevel-management-unstable-v1.c \ wlr-foreign-toplevel-management-unstable-v1-client.h \ xdg-output-unstable-v1.c \ @@ -29,16 +29,24 @@ xdg-output-unstable-v1.c: $(WL_PROTOCOLS_PKGDATADIR)/unstable/xdg-output/xdg-out xdg-output-unstable-v1-client.h: $(WL_PROTOCOLS_PKGDATADIR)/unstable/xdg-output/xdg-output-unstable-v1.xml $(AM_V_GEN) $(WAYLAND_SCANNER) client-header $< $@ -%.c: $(WLR_PROTOCOLS_PKGDATADIR)/unstable/%.xml +if HAVE_WORKSPACE +ext-workspace-v1.c: $(WL_PROTOCOLS_PKGDATADIR)/staging/ext-workspace/ext-workspace-v1.xml $(AM_V_GEN) $(WAYLAND_SCANNER) private-code $< $@ -%-client.h: $(WLR_PROTOCOLS_PKGDATADIR)/unstable/%.xml +ext-workspace-v1-client.h: $(WL_PROTOCOLS_PKGDATADIR)/staging/ext-workspace/ext-workspace-v1.xml + $(AM_V_GEN) $(WAYLAND_SCANNER) client-header $< $@ +else +ext-workspace-v1.c: ext-workspace-v1.xml + $(AM_V_GEN) $(WAYLAND_SCANNER) private-code $< $@ + +ext-workspace-v1-client.h: ext-workspace-v1.xml $(AM_V_GEN) $(WAYLAND_SCANNER) client-header $< $@ +endif -%.c: %.xml +%.c: $(WLR_PROTOCOLS_PKGDATADIR)/unstable/%.xml $(AM_V_GEN) $(WAYLAND_SCANNER) private-code $< $@ -%-client.h: %.xml +%-client.h: $(WLR_PROTOCOLS_PKGDATADIR)/unstable/%.xml $(AM_V_GEN) $(WAYLAND_SCANNER) client-header $< $@ @@ -51,9 +59,13 @@ BUILT_SOURCES = \ endif EXTRA_DIST = \ - ext-workspace-v1-20230427.xml \ meson.build \ wlr-protocols/unstable/wlr-foreign-toplevel-management-unstable-v1.xml +if !HAVE_WORKSPACE +EXTRA_DIST += \ + ext-workspace-v1.xml +endif + # required for make distcheck (gtk-doc) dist-hook: all diff --git a/protocols/ext-workspace-v1-20230427.xml b/protocols/ext-workspace-v1.xml similarity index 82% rename from protocols/ext-workspace-v1-20230427.xml rename to protocols/ext-workspace-v1.xml index 1b2fc9f291c3d00f55ff30b5ad02061606484570..b19c7701961d92f239cd20c50dfad421e0383772 100644 --- a/protocols/ext-workspace-v1-20230427.xml +++ b/protocols/ext-workspace-v1.xml @@ -61,7 +61,6 @@ <arg name="workspace_group" type="new_id" interface="ext_workspace_group_handle_v1"/> </event> - <event name="workspace"> <description summary="workspace has been created"> This event is emitted whenever a new workspace has been created. @@ -104,12 +103,11 @@ </description> </event> - <event name="finished"> + <event name="finished" type="destructor"> <description summary="the compositor has finished with the workspace_manager"> This event indicates that the compositor is done sending events to the ext_workspace_manager_v1. The server will destroy the object - immediately after sending this request, so it will become invalid and - the client should free any resources associated with it. + immediately after sending this request. </description> </event> @@ -120,9 +118,11 @@ events, until the finished event is emitted. The compositor is expected to send the finished event eventually once the stop request has been processed. - The client must not send any more requests after this one. + The client must not send any requests after this one, doing so will raise a wl_display + invalid_object error. </description> </request> + </interface> <interface name="ext_workspace_group_handle_v1" version="1"> @@ -140,7 +140,7 @@ outputs. </description> - <enum name="ext_workspace_group_capabilities_v1" bitfield="true"> + <enum name="group_capabilities" bitfield="true"> <entry name="create_workspace" value="1" summary="create_workspace request is available"/> </enum> @@ -157,16 +157,17 @@ create_workspace requests. Compositors must send this event once after creation of an - ext_workspace_group_handle_v1 . When the capabilities change, compositors + ext_workspace_group_handle_v1. When the capabilities change, compositors must send this event again. </description> - <arg name="capabilities" type="uint" summary="capabilities" enum="ext_workspace_group_capabilities_v1"/> + <arg name="capabilities" type="uint" summary="capabilities" enum="group_capabilities"/> </event> <event name="output_enter"> <description summary="output assigned to workspace group"> This event is emitted whenever an output is assigned to the workspace - group. + group or a new `wl_output` object is bound by the client, which was already + assigned to this workspace_group. </description> <arg name="output" type="object" interface="wl_output"/> </event> @@ -190,16 +191,18 @@ <event name="workspace_leave"> <description summary="workspace removed from workspace group"> - This event is emitted whenever a workspace is remove from this group. + This event is emitted whenever a workspace is removed from this group. </description> <arg name="workspace" type="object" interface="ext_workspace_handle_v1"/> </event> + <event name="removed"> - <description summary="this workspace group has been destroyed"> - This event means the ext_workspace_group_handle_v1 has been destroyed. - It is guaranteed there won't be any more events for this - ext_workspace_group_handle_v1. The ext_workspace_group_handle_v1 becomes - inert so any requests will be ignored except the destroy request. + <description summary="this workspace group has been removed"> + This event is send when the group associated with the ext_workspace_group_handle_v1 + has been removed. After sending this request the compositor will immediately consider + the object inert. Any requests will be ignored except the destroy request. + It is guaranteed there won't be any more events referencing this + ext_workspace_group_handle_v1. The compositor must remove all workspaces belonging to a workspace group via a workspace_leave event before removing the workspace group. @@ -221,7 +224,7 @@ <description summary="destroy the ext_workspace_group_handle_v1 object"> Destroys the ext_workspace_group_handle_v1 object. - This request should be called either when the client does not want to + This request should be send either when the client does not want to use the workspace group object any more or after the removed event to finalize the destruction of the object. </description> @@ -233,11 +236,14 @@ A ext_workspace_handle_v1 object represents a workspace that handles a group of surfaces. - Each workspace has a name, conveyed to the client with the name event; a - list of states, conveyed to the client with the state event; and - optionally a set of coordinates, conveyed to the client with the - coordinates event. The client may request that the compositor activate or - deactivate the workspace. + Each workspace has: + - a name, conveyed to the client with the name event + - potentially an id conveyed with the id event + - a list of states, conveyed to the client with the state event + - and optionally a set of coordinates, conveyed to the client with the + coordinates event + + The client may request that the compositor activate or deactivate the workspace. Each workspace can belong to only a single workspace group. Depepending on the compositor policy, there might be workspaces with @@ -245,10 +251,32 @@ separate (e.g. one of them might be active while the other is not). </description> + <event name="id"> + <description summary="workspace id"> + If this event is emitted, it will be send immediately after the + ext_workspace_handle_v1 is created or when an id is assigned to + a workspace (at most once during it's lifetime). + + An id will never change during the lifetime of the `ext_workspace_handle_v1` + and is guaranteed to be unique during it's lifetime. + + Ids are not human-readable and shouldn't be displayed, use `name` for that purpose. + + Compositors are expected to only send ids for workspaces likely stable across multiple + sessions and can be used by clients to store preferences for workspaces. Workspaces without + ids should be considered temporary and any data associated with them should be deleted once + the respective object is lost. + </description> + <arg name="id" type="string"/> + </event> + <event name="name"> <description summary="workspace name changed"> This event is emitted immediately after the ext_workspace_handle_v1 is created and whenever the name of the workspace changes. + + A name is meant to be human-readable and can be displayed to a user. + Unlike the id it is neither stable nor unique. </description> <arg name="name" type="string"/> </event> @@ -277,18 +305,6 @@ <arg name="coordinates" type="array"/> </event> - <event name="state"> - <description summary="the state of the workspace changed"> - This event is emitted immediately after the ext_workspace_handle_v1 is - created and each time the workspace state changes, either because of a - compositor action or because of a request in this protocol. - - Missing states convey the opposite meaning, e.g. an unset active bit - the workspace is currently inactive. - </description> - <arg name="state" type="uint" enum="state"/> - </event> - <enum name="state" bitfield="true"> <description summary="types of states on the workspace"> The different states that a workspace can have. @@ -305,7 +321,19 @@ </entry> </enum> - <enum name="ext_workspace_capabilities_v1" bitfield="true"> + <event name="state"> + <description summary="the state of the workspace changed"> + This event is emitted immediately after the ext_workspace_handle_v1 is + created and each time the workspace state changes, either because of a + compositor action or because of a request in this protocol. + + Missing states convey the opposite meaning, e.g. an unset active bit + means the workspace is currently inactive. + </description> + <arg name="state" type="uint" enum="state"/> + </event> + + <enum name="workspace_capabilities" bitfield="true"> <entry name="activate" value="1" summary="activate request is available"/> <entry name="deactivate" value="2" summary="deactivate request is available"/> <entry name="remove" value="4" summary="remove request is available"/> @@ -328,15 +356,20 @@ ext_workspace_handle_v1 . When the capabilities change, compositors must send this event again. </description> - <arg name="capabilities" type="uint" summary="capabilities" enum="ext_workspace_capabilities_v1"/> + <arg name="capabilities" type="uint" summary="capabilities" enum="workspace_capabilities"/> </event> <event name="removed"> - <description summary="this workspace has been destroyed"> - This event means the ext_workspace_handle_v1 has been destroyed. It is - guaranteed there won't be any more events for this - ext_workspace_handle_v1. The ext_workspace_handle_v1 becomes inert so - any requests will be ignored except the destroy request. + <description summary="this workspace has been removed"> + This event is send when the workspace associated with the ext_workspace_handle_v1 + has been removed. After sending this request, the compositor will immediately consider + the object inert. Any requests will be ignored except the destroy request. + + It is guaranteed there won't be any more events referencing this + ext_workspace_handle_v1. + + The compositor must only remove a workspaces not currently belonging to any + workspace_group. </description> </event> @@ -344,7 +377,7 @@ <description summary="destroy the ext_workspace_handle_v1 object"> Destroys the ext_workspace_handle_v1 object. - This request should be called either when the client does not want to + This request should be made either when the client does not want to use the workspace object any more or after the remove event to finalize the destruction of the object. </description> @@ -362,7 +395,7 @@ </request> <request name="deactivate"> - <description summary="activate the workspace"> + <description summary="deactivate the workspace"> Request that this workspace be deactivated. There is no guarantee the workspace will be actually deactivated. diff --git a/protocols/meson.build b/protocols/meson.build index 6b0f8c5638fbd6ed9c3cc7a85e7bc749c7225696..935d71589fd592e526b92295490f96df1d84a0a7 100644 --- a/protocols/meson.build +++ b/protocols/meson.build @@ -2,7 +2,7 @@ if enable_wayland wayland_protocols_generated_sources = [] protocols = { - 'ext-workspace-v1-20230427': 'ext-workspace-v1-20230427.xml', + 'ext-workspace-v1': 'ext-workspace-v1.xml', 'wlr-foreign-toplevel-management-unstable-v1': wlr_protocols_pkgdatadir / 'unstable' / 'wlr-foreign-toplevel-management-unstable-v1.xml', 'xdg-output-unstable-v1': wl_protocols_pkgdatadir / 'unstable' / 'xdg-output' / 'xdg-output-unstable-v1.xml', }