mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-30 09:32:05 -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 minHeight: contentLoader.item?.minHeight ?? 100
|
||||
property bool forceSquare: contentLoader.item?.forceSquare ?? false
|
||||
property bool acceptsKeyboardFocus: contentLoader.item?.acceptsKeyboardFocus ?? false
|
||||
property bool isInteracting: dragArea.pressed || resizeArea.pressed
|
||||
|
||||
property var _gridSettingsTrigger: SettingsData.desktopWidgetGridSettings
|
||||
@@ -299,11 +300,14 @@ Item {
|
||||
}
|
||||
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||
WlrLayershell.keyboardFocus: {
|
||||
if (!root.isInteracting)
|
||||
return WlrKeyboardFocus.None;
|
||||
if (CompositorService.useHyprlandFocusGrab)
|
||||
if (root.isInteracting) {
|
||||
if (CompositorService.useHyprlandFocusGrab)
|
||||
return WlrKeyboardFocus.OnDemand;
|
||||
return WlrKeyboardFocus.Exclusive;
|
||||
}
|
||||
if (root.acceptsKeyboardFocus)
|
||||
return WlrKeyboardFocus.OnDemand;
|
||||
return WlrKeyboardFocus.Exclusive;
|
||||
return WlrKeyboardFocus.None;
|
||||
}
|
||||
|
||||
HyprlandFocusGrab {
|
||||
|
||||
Reference in New Issue
Block a user