fullscreen: Use CosmicWindow for decorations
This commit is contained in:
parent
098dd1e37d
commit
4e1c16c384
8 changed files with 188 additions and 86 deletions
|
|
@ -224,13 +224,13 @@ impl Common {
|
|||
continue; // Focus is valid,
|
||||
}
|
||||
}
|
||||
KeyboardFocusTarget::Fullscreen(surface) => {
|
||||
KeyboardFocusTarget::Fullscreen(window) => {
|
||||
let workspace = state.common.shell.active_space(&output);
|
||||
let focus_stack = workspace.focus_stack.get(&seat);
|
||||
|
||||
if focus_stack
|
||||
.last()
|
||||
.map(|m| m.has_active_window(&surface))
|
||||
.map(|m| m.has_active_window(&window.surface()))
|
||||
.unwrap_or(false)
|
||||
&& workspace.get_fullscreen(&output).is_some()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
use std::sync::Weak;
|
||||
|
||||
use crate::{
|
||||
shell::{element::CosmicMapped, layout::tiling::ResizeForkTarget, CosmicSurface},
|
||||
shell::{
|
||||
element::{CosmicMapped, CosmicWindow},
|
||||
layout::tiling::ResizeForkTarget,
|
||||
},
|
||||
utils::prelude::*,
|
||||
wayland::handlers::xdg_shell::popup::get_popup_toplevel,
|
||||
};
|
||||
|
|
@ -29,7 +32,7 @@ use smithay::{
|
|||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum PointerFocusTarget {
|
||||
Element(CosmicMapped),
|
||||
Fullscreen(CosmicSurface),
|
||||
Fullscreen(CosmicWindow),
|
||||
LayerSurface(LayerSurface),
|
||||
Popup(PopupKind),
|
||||
OverrideRedirect(X11Surface),
|
||||
|
|
@ -39,7 +42,7 @@ pub enum PointerFocusTarget {
|
|||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum KeyboardFocusTarget {
|
||||
Element(CosmicMapped),
|
||||
Fullscreen(CosmicSurface),
|
||||
Fullscreen(CosmicWindow),
|
||||
Group(WindowGroup),
|
||||
LayerSurface(LayerSurface),
|
||||
Popup(PopupKind),
|
||||
|
|
@ -551,8 +554,8 @@ impl From<CosmicMapped> for PointerFocusTarget {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<CosmicSurface> for PointerFocusTarget {
|
||||
fn from(s: CosmicSurface) -> Self {
|
||||
impl From<CosmicWindow> for PointerFocusTarget {
|
||||
fn from(s: CosmicWindow) -> Self {
|
||||
PointerFocusTarget::Fullscreen(s)
|
||||
}
|
||||
}
|
||||
|
|
@ -587,8 +590,8 @@ impl From<CosmicMapped> for KeyboardFocusTarget {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<CosmicSurface> for KeyboardFocusTarget {
|
||||
fn from(s: CosmicSurface) -> Self {
|
||||
impl From<CosmicWindow> for KeyboardFocusTarget {
|
||||
fn from(s: CosmicWindow) -> Self {
|
||||
KeyboardFocusTarget::Fullscreen(s)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue