forked from Shinonome/dots-hyprland
kb focus fix from main
This commit is contained in:
@@ -24,7 +24,7 @@ Scope {
|
|||||||
|
|
||||||
WlrLayershell.namespace: "quickshell:overview"
|
WlrLayershell.namespace: "quickshell:overview"
|
||||||
WlrLayershell.layer: WlrLayer.Top
|
WlrLayershell.layer: WlrLayer.Top
|
||||||
// WlrLayershell.keyboardFocus: GlobalStates.overviewOpen ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
|
WlrLayershell.keyboardFocus: GlobalStates.overviewOpen ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
mask: Region {
|
mask: Region {
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ Scope {
|
|||||||
exclusiveZone: 0
|
exclusiveZone: 0
|
||||||
implicitWidth: sidebarWidth
|
implicitWidth: sidebarWidth
|
||||||
WlrLayershell.namespace: "quickshell:sidebarRight"
|
WlrLayershell.namespace: "quickshell:sidebarRight"
|
||||||
// Hyprland 0.49: Focus is always exclusive and setting this breaks mouse focus grab
|
WlrLayershell.keyboardFocus: GlobalStates.sidebarRightOpen ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
|
||||||
// WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
|
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Scope {
|
|||||||
exclusionMode: ExclusionMode.Ignore
|
exclusionMode: ExclusionMode.Ignore
|
||||||
WlrLayershell.namespace: "quickshell:wallpaperSelector"
|
WlrLayershell.namespace: "quickshell:wallpaperSelector"
|
||||||
WlrLayershell.layer: WlrLayer.Overlay
|
WlrLayershell.layer: WlrLayer.Overlay
|
||||||
|
WlrLayershell.keyboardFocus: WlrKeyboardFocus.OnDemand
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
anchors.top: true
|
anchors.top: true
|
||||||
|
|||||||
@@ -52,9 +52,17 @@ Singleton {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hasActive(element) {
|
||||||
|
return element?.activeFocus || Array.from(
|
||||||
|
element?.children
|
||||||
|
).some(
|
||||||
|
(child) => hasActive(child)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
HyprlandFocusGrab {
|
HyprlandFocusGrab {
|
||||||
id: grab
|
id: grab
|
||||||
windows: [...root.persistent, ...root.dismissable]
|
windows: root.dismissable.every(w => !w?.focusable) || root.dismissable.some(w => hasActive(w?.contentItem)) ? [...root.dismissable, ...root.persistent] : [...root.dismissable]
|
||||||
active: root.dismissable.length > 0
|
active: root.dismissable.length > 0
|
||||||
onCleared: () => {
|
onCleared: () => {
|
||||||
root.dismiss();
|
root.dismiss();
|
||||||
|
|||||||
Reference in New Issue
Block a user