@@ -53,7 +53,7 @@ FocusScope {
5353 property real leftEdgeDragProgress: 0
5454
5555 // Used by the tutorial code
56− readonly property real rightEdgeDragProgress: rightEdgeDragArea.progress // How far left the stage has been dragged
56+ readonly property real rightEdgeDragProgress: rightEdgeDragArea.dragging ? rightEdgeDragArea.progress : 0 // How far left the stage has been dragged
5757
5858 // used by the snap windows (edge maximize) feature
5959 readonly property alias previewRectangle: fakeRectangle
@@ -413,12 +413,20 @@ FocusScope {
413413 PropertyChanges { target: hoverMouseArea; enabled: true }
414414 PropertyChanges { target: rightEdgeDragArea; enabled: false }
415415 PropertyChanges { target: cancelSpreadMouseArea; enabled: true }
416+ PropertyChanges { target: blurLayer; visible: true; blurRadius: 32; brightness: .65 }
416417 },
417418 State {
418419 name: "stagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "staged"
420+ PropertyChanges {
421+ target: blurLayer;
422+ visible: true;
423+ blurRadius: 32
424+ brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
425+ }
419426 },
420427 State {
421428 name: "sideStagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "stagedWithSideStage"
429+ extend: "stagedRightEdge"
422430 PropertyChanges {
423431 target: sideStage
424432 opacity: priv.sideStageDelegate.x === sideStage.x ? 1 : 0
@@ -427,9 +435,16 @@ FocusScope {
427435 },
428436 State {
429437 name: "windowedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "windowed"
438+ PropertyChanges {
439+ target: blurLayer;
440+ visible: true
441+ blurRadius: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 32, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
442+ brightness: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 1, .65, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
443+ }
430444 },
431445 State {
432446 name: "staged"; when: root.mode === "staged"
447+ PropertyChanges { target: wallpaper; visible: false }
433448 },
434449 State {
435450 name: "stagedWithSideStage"; when: root.mode === "stagedWithSideStage"
@@ -444,6 +459,7 @@ FocusScope {
444459 Transition {
445460 from: "stagedRightEdge,sideStagedRightEdge,windowedRightEdge"; to: "spread"
446461 PropertyAction { target: spreadItem; property: "highlightedIndex"; value: -1 }
462+ PropertyAnimation { target: blurLayer; properties: "brightness,blurRadius"; duration: priv.animationDuration }
447463 },
448464 Transition {
449465 to: "spread"
@@ -498,6 +514,13 @@ FocusScope {
498514 z: -2
499515 }
500516
517+ BlurLayer {
518+ id: blurLayer
519+ anchors.fill: parent
520+ source: wallpaper
521+ visible: false
522+ }
523+
501524 Spread {
502525 id: spreadItem
503526 objectName: "spreadItem"
@@ -1739,7 +1762,7 @@ FocusScope {
17391762 property var gesturePoints: []
17401763 property bool cancelled: false
17411764
1742− property real progress: dragging ? -touchPosition.x / root.width : 0
1765+ property real progress: -touchPosition.x / root.width
17431766 onProgressChanged: {
17441767 if (dragging) {
17451768 draggedProgress = progress;