From cb87adfc99d01e1599ed2ed16b3d92cfdee70909 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Mon, 11 May 2026 17:53:40 -0400 Subject: [PATCH] Toggle image selector closed when already open --- default/quickshell/background-switcher.qml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/default/quickshell/background-switcher.qml b/default/quickshell/background-switcher.qml index 718dc6a6..adc043b0 100644 --- a/default/quickshell/background-switcher.qml +++ b/default/quickshell/background-switcher.qml @@ -190,6 +190,22 @@ ShellRoot { root.opened = false } + function closeSelector(nextDoneFile) { + requestSerial += 1 + + if (requestActive) + finishDoneFile(doneFile) + + if (nextDoneFile && nextDoneFile !== doneFile) + finishDoneFile(nextDoneFile) + + requestActive = false + selectionFile = "" + doneFile = "" + filterText = "" + root.opened = false + } + function loadRows(rows) { var paths = rows.split("\n") for (var i = 0; i < paths.length; i++) { @@ -295,6 +311,12 @@ ShellRoot { parser: SplitParser { onRead: function(message) { var fields = message.split("\t") + if (root.opened) { + root.closeSelector(fields[3] || "") + clientSocket.connected = false + return + } + root.openSelector("", root.decodeField(fields[0]), fields[1] || "", fields[2] || "", fields[3] || "", "", root.decodeField(fields[4]), fields[5] || "false", fields[6] || "false") clientSocket.connected = false }