summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xwayland/window-manager.c7
-rw-r--r--src/xwayland/xwayland.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index 273cb1e..0a31a65 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -971,6 +971,7 @@ wxs_wm_get_resources(struct weston_wm *wm)
{ "WM_TAKE_FOCUS", F(atom.wm_take_focus) },
{ "WM_DELETE_WINDOW", F(atom.wm_delete_window) },
{ "WM_STATE", F(atom.wm_state) },
+ { "WM_S0", F(atom.wm_s0) },
{ "_NET_WM_NAME", F(atom.net_wm_name) },
{ "_NET_WM_ICON", F(atom.net_wm_icon) },
{ "_NET_WM_STATE", F(atom.net_wm_state) },
@@ -1110,6 +1111,12 @@ weston_wm_create_wm_window(struct weston_wm *wm)
32, /* format */
1, &wm->wm_window);
+ /* Claim the WM_S0 selection even though we don't suport
+ * the --replace functionality. */
+ xcb_set_selection_owner(wm->conn,
+ wm->wm_window,
+ wm->atom.wm_s0,
+ XCB_TIME_CURRENT_TIME);
}
struct weston_wm *
diff --git a/src/xwayland/xwayland.h b/src/xwayland/xwayland.h
index 79cbef3..438b7be 100644
--- a/src/xwayland/xwayland.h
+++ b/src/xwayland/xwayland.h
@@ -81,6 +81,7 @@ struct weston_wm {
xcb_atom_t wm_take_focus;
xcb_atom_t wm_delete_window;
xcb_atom_t wm_state;
+ xcb_atom_t wm_s0;
xcb_atom_t net_wm_name;
xcb_atom_t net_wm_icon;
xcb_atom_t net_wm_state;