summaryrefslogtreecommitdiff
path: root/modules/bar/popouts/Wrapper.qml
diff options
context:
space:
mode:
authorATMDA <atdma2600@gmail.com>2025-11-14 17:42:49 -0500
committerATMDA <atdma2600@gmail.com>2025-11-14 17:42:49 -0500
commit45ef91998e4586dbf16c6ea3db0a9f4e19f4487e (patch)
tree4268a84251bb975731a840c0c9ef2b9136c43625 /modules/bar/popouts/Wrapper.qml
parentcontrolcenter: minor tidying (capitalization and filename) (diff)
downloadcaelestia-shell-45ef91998e4586dbf16c6ea3db0a9f4e19f4487e.tar.gz
caelestia-shell-45ef91998e4586dbf16c6ea3db0a9f4e19f4487e.tar.bz2
caelestia-shell-45ef91998e4586dbf16c6ea3db0a9f4e19f4487e.zip
tray: wireless password input popout
Diffstat (limited to 'modules/bar/popouts/Wrapper.qml')
-rw-r--r--modules/bar/popouts/Wrapper.qml28
1 files changed, 27 insertions, 1 deletions
diff --git a/modules/bar/popouts/Wrapper.qml b/modules/bar/popouts/Wrapper.qml
index 4be47e4..5ef4f9d 100644
--- a/modules/bar/popouts/Wrapper.qml
+++ b/modules/bar/popouts/Wrapper.qml
@@ -55,7 +55,25 @@ Item {
implicitWidth: nonAnimWidth
implicitHeight: nonAnimHeight
- Keys.onEscapePressed: close()
+ focus: hasCurrent
+ Keys.onEscapePressed: {
+ // Forward escape to password popout if active, otherwise close
+ if (currentName === "wirelesspassword" && content.item) {
+ const passwordPopout = content.item.children.find(c => c.name === "wirelesspassword");
+ if (passwordPopout && passwordPopout.item) {
+ passwordPopout.item.closeDialog();
+ return;
+ }
+ }
+ close();
+ }
+
+ Keys.onPressed: event => {
+ // Don't intercept keys when password popout is active - let it handle them
+ if (currentName === "wirelesspassword") {
+ event.accepted = false;
+ }
+ }
HyprlandFocusGrab {
active: root.isDetached
@@ -70,6 +88,14 @@ Item {
property: "WlrLayershell.keyboardFocus"
value: WlrKeyboardFocus.OnDemand
}
+
+ Binding {
+ when: root.hasCurrent && root.currentName === "wirelesspassword"
+
+ target: QsWindow.window
+ property: "WlrLayershell.keyboardFocus"
+ value: WlrKeyboardFocus.OnDemand
+ }
Comp {
id: content