@@ -54,7 +54,7 @@ FocusScope {
5454
5555 // Used by the tutorial code
5656 readonly property bool spreadShown: state == "spread"
57− readonly property real rightEdgeDragProgress: rightEdgeDragArea.progress // How far left the stage has been dragged
57+ readonly property real rightEdgeDragProgress: rightEdgeDragArea.dragging ? rightEdgeDragArea.progress : 0 // How far left the stage has been dragged
5858
5959 // used by the snap windows (edge maximize) feature
6060 readonly property alias previewRectangle: fakeRectangle
@@ -409,12 +409,22 @@ FocusScope {
409409 PropertyChanges { target: hoverMouseArea; enabled: true }
410410 PropertyChanges { target: rightEdgeDragArea; enabled: false }
411411 PropertyChanges { target: cancelSpreadMouseArea; enabled: true }
412+ PropertyChanges { target: blurLayer; visible: true; blurRadius: 32; brightness: .65; opacity: 1 }
413+ PropertyChanges { target: wallpaper; visible: false }
412414 },
413415 State {
414416 name: "stagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "staged"
417+ PropertyChanges {
418+ target: blurLayer;
419+ visible: true;
420+ blurRadius: 32
421+ brightness: .65
422+ opacity: 1
423+ }
415424 },
416425 State {
417426 name: "sideStagedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "stagedWithSideStage"
427+ extend: "stagedRightEdge"
418428 PropertyChanges {
419429 target: sideStage
420430 opacity: priv.sideStageDelegate.x === sideStage.x ? 1 : 0
@@ -423,9 +433,17 @@ FocusScope {
423433 },
424434 State {
425435 name: "windowedRightEdge"; when: (rightEdgeDragArea.dragging || edgeBarrier.progress > 0) && root.mode == "windowed"
436+ PropertyChanges {
437+ target: blurLayer;
438+ visible: true
439+ blurRadius: 32
440+ brightness: .65
441+ opacity: MathUtils.linearAnimation(spreadItem.rightEdgeBreakPoint, 1, 0, 1, Math.max(rightEdgeDragArea.progress, edgeBarrier.progress))
442+ }
426443 },
427444 State {
428445 name: "staged"; when: root.mode === "staged"
446+ PropertyChanges { target: wallpaper; visible: false }
429447 },
430448 State {
431449 name: "stagedWithSideStage"; when: root.mode === "stagedWithSideStage"
@@ -440,6 +458,7 @@ FocusScope {
440458 Transition {
441459 from: "stagedRightEdge,sideStagedRightEdge,windowedRightEdge"; to: "spread"
442460 PropertyAction { target: spreadItem; property: "highlightedIndex"; value: -1 }
461+ PropertyAnimation { target: blurLayer; properties: "brightness,blurRadius"; duration: priv.animationDuration }
443462 },
444463 Transition {
445464 to: "spread"
@@ -494,6 +513,13 @@ FocusScope {
494513 z: -2
495514 }
496515
516+ BlurLayer {
517+ id: blurLayer
518+ anchors.fill: parent
519+ source: wallpaper
520+ visible: false
521+ }
522+
497523 Spread {
498524 id: spreadItem
499525 objectName: "spreadItem"
@@ -1730,7 +1756,7 @@ FocusScope {
17301756 property var gesturePoints: []
17311757 property bool cancelled: false
17321758
1733− property real progress: dragging ? -touchPosition.x / root.width : 0
1759+ property real progress: -touchPosition.x / root.width
17341760 onProgressChanged: {
17351761 if (dragging) {
17361762 draggedProgress = progress;