- 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>