shell: Fix x11 stacking order of sticky windows on workspace switch
This commit is contained in:
parent
ffd99de7ef
commit
c6e6f1b181
2 changed files with 25 additions and 24 deletions
|
|
@ -1151,7 +1151,30 @@ impl Shell {
|
|||
.as_mut()
|
||||
.and_then(|state| state.xwm.as_mut())
|
||||
{
|
||||
let _ = set.workspaces[idx].raise_x11_windows(xwm);
|
||||
{
|
||||
for window in set.workspaces[set.active]
|
||||
.tiling_layer
|
||||
.mapped()
|
||||
.map(|(_, w, _)| w)
|
||||
.chain(set.workspaces[set.active].floating_layer.space.elements())
|
||||
{
|
||||
if let CosmicSurface::X11(surf) = window.active_window() {
|
||||
let _ = xwm.raise_window(&surf);
|
||||
}
|
||||
}
|
||||
for window in set.sticky_layer.space.elements() {
|
||||
if let CosmicSurface::X11(surf) = window.active_window() {
|
||||
let _ = xwm.raise_window(&surf);
|
||||
}
|
||||
}
|
||||
if let Some(CosmicSurface::X11(ref surf)) = set.workspaces[set.active]
|
||||
.fullscreen
|
||||
.as_ref()
|
||||
.map(|f| &f.surface)
|
||||
{
|
||||
let _ = xwm.raise_window(surf);
|
||||
}
|
||||
}
|
||||
for surface in &self.override_redirect_windows {
|
||||
let _ = xwm.raise_window(surface);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue