mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-05-02 02:22:06 -04:00
feat(desktop): expose accept keyboard focus to desktop widgets (#2285)
Opt in by setting acceptsKeyboardFocus: true
This commit is contained in:
@@ -211,6 +211,7 @@ Item {
|
|||||||
property real minWidth: contentLoader.item?.minWidth ?? 100
|
property real minWidth: contentLoader.item?.minWidth ?? 100
|
||||||
property real minHeight: contentLoader.item?.minHeight ?? 100
|
property real minHeight: contentLoader.item?.minHeight ?? 100
|
||||||
property bool forceSquare: contentLoader.item?.forceSquare ?? false
|
property bool forceSquare: contentLoader.item?.forceSquare ?? false
|
||||||
|
property bool acceptsKeyboardFocus: contentLoader.item?.acceptsKeyboardFocus ?? false
|
||||||
property bool isInteracting: dragArea.pressed || resizeArea.pressed
|
property bool isInteracting: dragArea.pressed || resizeArea.pressed
|
||||||
|
|
||||||
property var _gridSettingsTrigger: SettingsData.desktopWidgetGridSettings
|
property var _gridSettingsTrigger: SettingsData.desktopWidgetGridSettings
|
||||||
@@ -299,11 +300,14 @@ Item {
|
|||||||
}
|
}
|
||||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||||
WlrLayershell.keyboardFocus: {
|
WlrLayershell.keyboardFocus: {
|
||||||
if (!root.isInteracting)
|
if (root.isInteracting) {
|
||||||
return WlrKeyboardFocus.None;
|
if (CompositorService.useHyprlandFocusGrab)
|
||||||
if (CompositorService.useHyprlandFocusGrab)
|
return WlrKeyboardFocus.OnDemand;
|
||||||
|
return WlrKeyboardFocus.Exclusive;
|
||||||
|
}
|
||||||
|
if (root.acceptsKeyboardFocus)
|
||||||
return WlrKeyboardFocus.OnDemand;
|
return WlrKeyboardFocus.OnDemand;
|
||||||
return WlrKeyboardFocus.Exclusive;
|
return WlrKeyboardFocus.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
HyprlandFocusGrab {
|
HyprlandFocusGrab {
|
||||||
|
|||||||
Reference in New Issue
Block a user