diff --git a/declarativeimports/abilities/items/BasicItem.qml b/declarativeimports/abilities/items/BasicItem.qml index 089b13210..ff01470d9 100644 --- a/declarativeimports/abilities/items/BasicItem.qml +++ b/declarativeimports/abilities/items/BasicItem.qml @@ -98,6 +98,7 @@ Item{ property bool isSeparatorInRealLength: false property bool isSeparatorHidden: false readonly property bool isSeparatorVisible: isSeparator && !isSeparatorHidden && !tailItemIsSeparator + property bool preserveIndicatorInInitialPosition: false property bool containsMouse: false diff --git a/declarativeimports/abilities/items/basicitem/IndicatorLevel.qml b/declarativeimports/abilities/items/basicitem/IndicatorLevel.qml index 009995908..77c9020c0 100644 --- a/declarativeimports/abilities/items/basicitem/IndicatorLevel.qml +++ b/declarativeimports/abilities/items/basicitem/IndicatorLevel.qml @@ -39,8 +39,12 @@ AbilityItem.IndicatorLevel { level.isDrawn: level.indicator && level.indicator.host && level.indicator.host.isEnabled && !abilityItem.isSeparator && !abilityItem.isHidden - readonly property real length: abilityItem.parabolicItem.length - 2*abilityItem.parabolicItem.zoom*abilityItem.abilities.metrics.margin.length - readonly property real thickness: abilityItem.parabolicItem.thickness + readonly property real length: abilityItem.preserveIndicatorInInitialPosition ? + abilityItem.abilities.metrics.iconSize + abilityItem.abilities.metrics.totals.lengthPaddings : + abilityItem.parabolicItem.length - 2*abilityItem.parabolicItem.zoom*abilityItem.abilities.metrics.margin.length + readonly property real thickness: abilityItem.preserveIndicatorInInitialPosition ? + abilityItem.abilities.metrics.thickness : + abilityItem.parabolicItem.thickness Connections { target: abilityItem diff --git a/plasmoid/package/contents/ui/task/TaskItem.qml b/plasmoid/package/contents/ui/task/TaskItem.qml index 33cc3fea3..251101b23 100644 --- a/plasmoid/package/contents/ui/task/TaskItem.qml +++ b/plasmoid/package/contents/ui/task/TaskItem.qml @@ -63,12 +63,14 @@ AbilityItem.BasicItem { return isWindow ? model.display : model.AppName; } + preserveIndicatorInInitialPosition: inBouncingAnimation || inAttentionAnimation || inNewWindowAnimation + parabolicItem.isParabolicEventBlocked: root.dragSource || !hoverEnabled || !taskItem.abilities.myView.isShownFully || inAnimation || (inBlockingAnimation && !(inAttentionAnimation||inFastRestoreAnimation)) - parabolicItem.isUpdatingOnlySpacers: inAttentionAnimation || inBouncingAnimation + parabolicItem.isUpdatingOnlySpacers: inAttentionAnimation || inBouncingAnimation property alias hoverEnabled: taskMouseArea.hoverEnabled property alias pressed: taskMouseArea.pressed