sidebar: the keyboard leaves with the panel that summoned it
The drawer clears oskOpen on close and this did not, so the OSK outlived the surface holding the only text field it was serving — and with nothing focused there was no obvious way to put it away. On the state, not on a visibility handler: the panel's `visible` is a binding to that flag, so reacting to visibility would be reacting to our own effect.
This commit is contained in:
parent
f4caaae1cb
commit
630d6912fd
1 changed files with 20 additions and 0 deletions
|
|
@ -216,6 +216,26 @@ Scope { // Scope
|
|||
}
|
||||
}
|
||||
|
||||
// The keyboard leaves with the panel that summoned it.
|
||||
//
|
||||
// The drawer clears `oskOpen` on close and this did not, so the OSK
|
||||
// outlived the surface holding the only text field it was serving — and
|
||||
// with nothing focused there was no obvious way to put it away again.
|
||||
// Casey, 2026-08-06: the keyboard "can't get it to disappear" on the AI
|
||||
// side panel.
|
||||
//
|
||||
// On the state, not on a visibility handler: the panel's `visible` is a
|
||||
// binding to this flag, so reacting to visibility would be reacting to
|
||||
// our own effect (Phosh's rule, and SHELL-ECOSYSTEM's).
|
||||
Connections {
|
||||
target: GlobalStates
|
||||
|
||||
function onSidebarLeftOpenChanged() {
|
||||
if (!GlobalStates.sidebarLeftOpen)
|
||||
GlobalStates.oskOpen = false;
|
||||
}
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
target: "sidebarLeft"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue