Show the keyboard at startup when "Always Show" is on
The initial visibility was applied before the window listened for it, so with "Always Show" on the controller thought it was shown while no window existed, and neither field focus nor D-Bus Show could bring it up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+3
-2
@@ -114,6 +114,9 @@ void connectFieldFocus(VisibilityController &visibility, KWinInputMethod &backen
|
||||
void connectVisibility(VisibilityController &visibility, KWinInputMethod &backend, const Settings &settings,
|
||||
KeyboardController &controller, FloatingWindow &placement)
|
||||
{
|
||||
// First, so the initial state below reaches the window too.
|
||||
QObject::connect(&visibility, &VisibilityController::visibleChanged, &placement,
|
||||
[&](bool visible) { visible ? placement.show() : placement.hide(); });
|
||||
visibility.setAlwaysVisible(settings.alwaysVisible());
|
||||
QObject::connect(&settings, &Settings::alwaysVisibleChanged, &visibility,
|
||||
[&] { visibility.setAlwaysVisible(settings.alwaysVisible()); });
|
||||
@@ -122,8 +125,6 @@ void connectVisibility(VisibilityController &visibility, KWinInputMethod &backen
|
||||
const auto updateStandalone = [&] { visibility.setStandalone(!backend.isAvailable()); };
|
||||
QObject::connect(&backend, &KWinInputMethod::availableChanged, &visibility, updateStandalone);
|
||||
QObject::connect(&controller, &KeyboardController::dismissRequested, &visibility, &VisibilityController::hide);
|
||||
QObject::connect(&visibility, &VisibilityController::visibleChanged, &placement,
|
||||
[&](bool visible) { visible ? placement.show() : placement.hide(); });
|
||||
updateStandalone();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user