shell: Don't consider active overviews animations
This commit is contained in:
parent
3277435ff9
commit
c506d94ac8
6 changed files with 139 additions and 53 deletions
|
|
@ -14,7 +14,7 @@ use xkbcommon::xkb::Keysym;
|
|||
|
||||
use crate::{
|
||||
config::key_bindings::cosmic_modifiers_from_smithay,
|
||||
shell::{layout::tiling::NodeDesc, OverviewMode, Trigger},
|
||||
shell::{layout::tiling::NodeDesc, Trigger},
|
||||
state::State,
|
||||
};
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ impl KeyboardGrab<State> for SwapWindowGrab {
|
|||
serial: Serial,
|
||||
time: u32,
|
||||
) {
|
||||
if !matches!(&data.common.shell.read().unwrap().overview_mode, OverviewMode::Started(Trigger::KeyboardSwap(_, d), _) if d == &self.desc)
|
||||
if !matches!(&data.common.shell.read().unwrap().overview_mode.active_trigger(), Some(Trigger::KeyboardSwap(_, d)) if d == &self.desc)
|
||||
{
|
||||
handle.unset_grab(self, data, serial, false);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -3137,7 +3137,10 @@ impl TilingLayout {
|
|||
}
|
||||
}
|
||||
|
||||
if !matches!(overview, OverviewMode::Started(_, _)) {
|
||||
if !matches!(
|
||||
overview,
|
||||
OverviewMode::Started(_, _) | OverviewMode::Active(_)
|
||||
) {
|
||||
last_overview_hover.take();
|
||||
}
|
||||
|
||||
|
|
@ -3249,8 +3252,8 @@ impl TilingLayout {
|
|||
_ => None,
|
||||
}
|
||||
} else if matches!(
|
||||
overview,
|
||||
OverviewMode::Started(Trigger::Pointer(_) | Trigger::Touch(_), _)
|
||||
overview.active_trigger(),
|
||||
Some(Trigger::Pointer(_) | Trigger::Touch(_))
|
||||
) {
|
||||
let non_exclusive_zone = layer_map_for_output(&self.output)
|
||||
.non_exclusive_zone()
|
||||
|
|
@ -3889,12 +3892,12 @@ impl TilingLayout {
|
|||
let mut popup_elements = Vec::new();
|
||||
|
||||
let is_overview = !matches!(overview.0, OverviewMode::None);
|
||||
let is_mouse_tiling = (matches!(overview.0, OverviewMode::Started(Trigger::Pointer(_), _)))
|
||||
let is_mouse_tiling = (matches!(overview.0.trigger(), Some(Trigger::Pointer(_))))
|
||||
.then(|| self.last_overview_hover.as_ref().map(|x| &x.1));
|
||||
let swap_desc = match &overview.0 {
|
||||
OverviewMode::Started(Trigger::KeyboardSwap(_, desc), _)
|
||||
| OverviewMode::Ended(Some(Trigger::KeyboardSwap(_, desc)), _) => Some(desc.clone()),
|
||||
_ => None,
|
||||
let swap_desc = if let Some(Trigger::KeyboardSwap(_, desc)) = overview.0.trigger() {
|
||||
Some(desc.clone())
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
// all gone windows and fade them out
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue