diff --git a/src/treeland/Main.qml b/src/treeland/Main.qml index 3ea011204..46293898b 100644 --- a/src/treeland/Main.qml +++ b/src/treeland/Main.qml @@ -257,7 +257,7 @@ Item { MenuItem { text: "Stack Layout" onClicked: { - decorationManager.mode = XdgDecorationManager.PreferClientSide + decorationManager.mode = XdgDecorationManager.DecidesByClient stackLayout.visible = true } } diff --git a/src/treeland/StackWorkspace.qml b/src/treeland/StackWorkspace.qml index 71c0ce85a..bb958c3b2 100644 --- a/src/treeland/StackWorkspace.qml +++ b/src/treeland/StackWorkspace.qml @@ -75,12 +75,26 @@ Item { obj.doDestroy() } - // TODO: Support server decoration XdgSurface { id: surface property var doDestroy: helper.doDestroy property var cancelMinimize: helper.cancelMinimize + property var surfaceDecorationMapper: surface.waylandSurface.XdgDecorationManager + + topPadding: decoration.enable ? decoration.topMargin : 0 + bottomPadding: decoration.enable ? decoration.bottomMargin : 0 + leftPadding: decoration.enable ? decoration.leftMargin : 0 + rightPadding: decoration.enable ? decoration.rightMargin : 0 + + WindowDecoration { + property var enable: surfaceDecorationMapper.enable + + id: decoration + anchors.fill: parent + z: surface.contentItem.z - 1 + visible: enable + } StackToplevelHelper { id: helper @@ -88,6 +102,7 @@ Item { waylandSurface: surface.waylandSurface dockModel: dock.model creator: toplevelComponent + decoration: decoration } } }