fix: take ownership of _NET_WM_CM_S0
EWMH section 8.1 requires that compositing window managers take ownership of `_NET_WM_CM_Sn` for each screen `n` they manage (in the case of `satellite`, this is just screen 0). The Avalonia UI toolkit needs this atom to be owned in order to provide transparent window support. Resolves #376.
This commit is contained in:
parent
33c344fee5
commit
ecde06ed3a
1 changed files with 9 additions and 0 deletions
|
|
@ -333,6 +333,14 @@ impl XState {
|
|||
time: x::CURRENT_TIME,
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
self.connection
|
||||
.send_and_check_request(&x::SetSelectionOwner {
|
||||
owner: self.wm_window,
|
||||
selection: self.atoms.net_wm_cm_s0,
|
||||
time: x::CURRENT_TIME,
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
pub fn handle_events(&mut self, server_state: &mut super::RealServerState) {
|
||||
|
|
@ -1034,6 +1042,7 @@ xcb::atoms_struct! {
|
|||
wm_transient_for => b"WM_TRANSIENT_FOR" only_if_exists = false,
|
||||
wm_state => b"WM_STATE" only_if_exists = false,
|
||||
wm_s0 => b"WM_S0" only_if_exists = false,
|
||||
net_wm_cm_s0 => b"_NET_WM_CM_S0" only_if_exists = false,
|
||||
wm_check => b"_NET_SUPPORTING_WM_CHECK" only_if_exists = false,
|
||||
net_wm_name => b"_NET_WM_NAME" only_if_exists = false,
|
||||
wm_pid => b"_NET_WM_PID" only_if_exists = false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue