diff --git a/Clipboard.qml b/Clipboard.qml index 1ac15e4..5eadea7 100644 --- a/Clipboard.qml +++ b/Clipboard.qml @@ -61,9 +61,13 @@ Item { // ------------------------------------------------------------ lifecycle function open() { - // Always show the picker first. Dependency checks are asynchronous and - // only update the in-window banner; they never block or replace the UI. + // Keep the layer mapped and switch its content/input on explicitly. + // A visibility binding across the host Loader -> PanelWindow boundary can + // remain stale after plugin reloads on current Quickshell. root.opened = true + card.visible = true + panelInputRegion.width = panel.width + panelInputRegion.height = panel.height root.depsChecked = false root.checkDeps() root.filterText = "" @@ -77,6 +81,9 @@ Item { function close() { root.cancelClearHistory() + card.visible = false + panelInputRegion.width = 0 + panelInputRegion.height = 0 root.opened = false } @@ -503,13 +510,14 @@ Item { WlrLayershell.keyboardFocus: root.opened ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None exclusionMode: ExclusionMode.Ignore mask: Region { - width: root.opened ? panel.width : 0 - height: root.opened ? panel.height : 0 + id: panelInputRegion + width: 0 + height: 0 } BorderSurface { id: card - visible: root.opened + visible: false anchors.fill: parent radius: root.cornerRadius color: root.background diff --git a/manifest.json b/manifest.json index d0d61e0..690d6a5 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "alanfortlink.clipboard", "name": "Clipboard History", - "version": "1.0.2", + "version": "1.0.3", "author": "alanfortlink", "description": "Raycast-style clipboard history: fuzzy search over content, type, app and date, with rich per-type previews", "kinds": [