This commit is contained in:
@@ -345,7 +345,7 @@ impl LumbridgeShell {
|
||||
.tab_stop(true)
|
||||
});
|
||||
let root_focus = cx.focus_handle();
|
||||
window.focus(&pane_focus[0]);
|
||||
window.focus(&root_focus);
|
||||
|
||||
cx.spawn(async move |this, cx| {
|
||||
loop {
|
||||
@@ -529,7 +529,7 @@ impl LumbridgeShell {
|
||||
|
||||
fn select_pane(&mut self, pane: PaneId, window: &mut Window, cx: &mut Context<Self>) {
|
||||
self.dispatch(ShellAction::SelectPane(pane));
|
||||
window.focus(&self.pane_focus[pane.index()]);
|
||||
window.focus(&self.root_focus);
|
||||
cx.notify();
|
||||
}
|
||||
|
||||
@@ -539,8 +539,8 @@ impl LumbridgeShell {
|
||||
window: &mut Window,
|
||||
cx: &mut Context<Self>,
|
||||
) {
|
||||
let outcome = self.dispatch(ShellAction::MoveFocus(direction));
|
||||
window.focus(&self.pane_focus[outcome.selected_pane.index()]);
|
||||
self.dispatch(ShellAction::MoveFocus(direction));
|
||||
window.focus(&self.root_focus);
|
||||
cx.notify();
|
||||
}
|
||||
|
||||
@@ -1339,6 +1339,9 @@ impl Render for LumbridgeShell {
|
||||
.relative()
|
||||
.track_focus(&self.root_focus)
|
||||
.key_context("LumbridgeShell")
|
||||
.on_click(cx.listener(|shell, _, window, _| {
|
||||
window.focus(&shell.root_focus);
|
||||
}))
|
||||
.on_action(cx.listener(Self::focus_left))
|
||||
.on_action(cx.listener(Self::focus_right))
|
||||
.on_action(cx.listener(Self::focus_up))
|
||||
|
||||
Reference in New Issue
Block a user