[plasma/plasma-login-manager] src/frontend/greeter/qml: frontend/greeter: Don't time out greeter when session combobox popup is open

Oliver Beard <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 2dc2f49adda1f267f59e9c1dc814d70037c20a1d by Oliver Beard.
Committed on 22/07/2026 at 09:12.
Pushed by olib into branch 'master'.

frontend/greeter: Don't time out greeter when session combobox popup is open

M  +3    -0    src/frontend/greeter/qml/GreeterState.qml
M  +7    -0    src/frontend/greeter/qml/SessionButton.qml

https://invent.kde.org/plasma/plasma-login-manager/-/commit/2dc2f49adda1f267f59e9c1dc814d70037c20a1d

diff --git a/src/frontend/greeter/qml/GreeterState.qml b/src/frontend/greeter/qml/GreeterState.qml
index 941d5000..0bf3b216 100644
--- a/src/frontend/greeter/qml/GreeterState.qml
+++ b/src/frontend/greeter/qml/GreeterState.qml
@@ -93,6 +93,7 @@ Item {
 
     // Shared functionality
 
+    property bool greeterHasSessionButtonPopup: false
     readonly property bool inhibitGreeterTimeout: {
         if (greeterState.loginState === PlasmaLogin.GreeterState.LoginState.UserList && greeterState.userListPassword.length > 0) {
             // We're on the user list and a password is entered
@@ -100,6 +101,8 @@ Item {
         } else if (greeterState.loginState === PlasmaLogin.GreeterState.UserPrompt && greeterState.userPromptPassword.length > 0) {
             // We're on the user prompt and a password is entered
             return true;
+        } else if (greeterState.greeterHasSessionButtonPopup) {
+            return true;
         }
 
         // inputPanel.keyboardActive
diff --git a/src/frontend/greeter/qml/SessionButton.qml b/src/frontend/greeter/qml/SessionButton.qml
index 95043ae8..0ac567f0 100644
--- a/src/frontend/greeter/qml/SessionButton.qml
+++ b/src/frontend/greeter/qml/SessionButton.qml
@@ -35,6 +35,13 @@ PlasmaComponents.ComboBox {
     PlasmaComponents.ToolTip.visible: hovered && contentItem.truncated && !popup.visible
     PlasmaComponents.ToolTip.delay: Kirigami.Units.toolTipDelay
 
+    Binding {
+        target: PlasmaLogin.GreeterState
+        property: "greeterHasSessionButtonPopup"
+        value: true
+        when: popup.visible
+    }
+
     currentIndex: PlasmaLogin.GreeterState.sessionIndex
 
     Connections {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.