mirror of
https://github.com/wez/wezterm.git
synced 2024-12-27 15:37:29 +03:00
un-zoom/re-zoom around PaneSelect
refs: https://github.com/wez/wezterm/issues/3573
This commit is contained in:
parent
e771fa4c5e
commit
70d809fa88
@ -30,6 +30,8 @@ As features stabilize some brief notes about them will accumulate here.
|
||||
[tiling_desktop_environments](config/lua/config/tiling_desktop_environments.md).
|
||||
* Added eigth block corner glyphs to custom block glyphs. Thanks to @joouha! #3559
|
||||
* Don't hide mouse cursor when pressing only modifier keys. #3570
|
||||
* [PaneSelect](config/lua/keyassignment/PaneSelect.md) will now un-zoom to show
|
||||
all panes, then re-zoom after performing its action. #3573
|
||||
|
||||
#### New
|
||||
|
||||
|
@ -19,6 +19,7 @@ pub struct PaneSelector {
|
||||
selection: RefCell<String>,
|
||||
alphabet: String,
|
||||
mode: PaneSelectMode,
|
||||
was_zoomed: bool,
|
||||
}
|
||||
|
||||
impl PaneSelector {
|
||||
@ -28,12 +29,22 @@ impl PaneSelector {
|
||||
} else {
|
||||
args.alphabet.clone()
|
||||
};
|
||||
|
||||
// Ensure that we are un-zoomed and remember the original state
|
||||
let was_zoomed = {
|
||||
let mux = Mux::get();
|
||||
mux.get_active_tab_for_window(term_window.mux_window_id)
|
||||
.map(|tab| tab.set_zoomed(false))
|
||||
.unwrap_or(false)
|
||||
};
|
||||
|
||||
Self {
|
||||
element: RefCell::new(None),
|
||||
labels: RefCell::new(vec![]),
|
||||
selection: RefCell::new(String::new()),
|
||||
alphabet,
|
||||
mode: args.mode,
|
||||
was_zoomed,
|
||||
}
|
||||
}
|
||||
|
||||
@ -167,6 +178,10 @@ impl PaneSelector {
|
||||
}
|
||||
}
|
||||
|
||||
if self.was_zoomed {
|
||||
tab.set_zoomed(true);
|
||||
}
|
||||
|
||||
term_window.cancel_modal();
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user