Keep the window alive on close; add a system toggle to VisibilityController

- Main.qml: ignore close requests (Alt+F4, task manager), so the window
  can't be hidden without VisibilityController knowing.
- main.cpp: don't quit when the last window closes; KWin only restarts
  the input method after a crash.
- VisibilityController::setEnabled(): when false, the keyboard is hidden
  regardless of other state; changing it clears show()/hide() overrides.
  Not wired to KWin's tray toggle yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-03 19:58:59 +01:00
co-authored by Claude Opus 5.5
parent 032fbd8ba4
commit 5e4d4051f3
5 changed files with 31 additions and 1 deletions
+13
View File
@@ -70,6 +70,19 @@ private Q_SLOTS:
QVERIFY(!v.isVisible());
}
void systemToggleGatesEverything()
{
VisibilityController v;
v.setAlwaysVisible(true);
v.setEnabled(false);
QVERIFY(!v.isVisible());
v.show();
QVERIFY(!v.isVisible());
v.hide();
v.setEnabled(true); // turning it back on forgets the dismiss
QVERIFY(v.isVisible());
}
void standaloneAlwaysVisible()
{
VisibilityController v;