@@ -165,6 +165,12 @@ AbstractStage {
165 property string mainStageAppId: ""
165 property string mainStageAppId: ""
166 property string sideStageAppId: ""
166 property string sideStageAppId: ""
168+ onSideStageDelegateChanged: {
169+ if (!sideStageDelegate) {
168 function updateMainAndSideStageIndexes() {
174 function updateMainAndSideStageIndexes() {
169 print("updating stage indexes, sideStage shown:", sideStage.shown)
175 print("updating stage indexes, sideStage shown:", sideStage.shown)
170 var choseMainStage = false;
176 var choseMainStage = false;
@@ -176,7 +182,7 @@ AbstractStage {
176 for (var i = 0; i < appRepeater.count && (!choseMainStage || !choseSideStage); ++i) {
182 for (var i = 0; i < appRepeater.count && (!choseMainStage || !choseSideStage); ++i) {
177 var appDelegate = appRepeater.itemAt(i);
183 var appDelegate = appRepeater.itemAt(i);
178 print("have app on stage", appDelegate.applicationId, appDelegate.stage)
184 print("have app on stage", appDelegate.applicationId, appDelegate.stage)
179− if (sideStage.shown && appDelegate.stage == ApplicationInfoInterface.SideStage
185+ if (/*sideStage.shown && */appDelegate.stage == ApplicationInfoInterface.SideStage
180 && !choseSideStage) {
186 && !choseSideStage) {
181 priv.sideStageDelegate = appDelegate
187 priv.sideStageDelegate = appDelegate
182 priv.sideStageItemId = root.topLevelSurfaceList.idAt(i);
188 priv.sideStageItemId = root.topLevelSurfaceList.idAt(i);
@@ -405,6 +411,28 @@ AbstractStage {
405 return 2;
411 return 2;
416+ print("sidestage shown changed:", shown)
417+ if (!shown && priv.mainStageDelegate) {
418+ priv.mainStageDelegate.claimFocus();
423+// if (!shown && priv.sideStageDelegate && priv.focusedAppDelegate === priv.sideStageDelegate) {
424+// priv.updateMainAndSideStageIndexes();
425+// if (priv.mainStageDelegate) {
426+// priv.mainStageDelegate.focus = true;
428+// } else if (shown) {
429+// priv.updateMainAndSideStageIndexes();
430+// if (priv.sideStageDelegate) {
431+// priv.sideStageDelegate.focus = true;
408 DropArea {
436 DropArea {
409 id: sideStageDropArea
437 id: sideStageDropArea
410 objectName: "SideStageDropArea"
438 objectName: "SideStageDropArea"
@@ -545,6 +573,10 @@ AbstractStage {
546 function claimFocus() {
574 function claimFocus() {
547 appDelegate.focus = true;
575 appDelegate.focus = true;
576+ print("focusing app", priv.sideStageDelegate, appDelegate, sideStage.shown)
577+ if (appDelegate.stage == ApplicationInfoInterface.SideStage && !sideStage.shown) {
549 Connections {
581 Connections {
550 target: model.surface
582 target: model.surface
@@ -847,7 +879,7 @@ AbstractStage {
847 y: appDelegate.fullscreen ? 0 : PanelState.panelHeight
879 y: appDelegate.fullscreen ? 0 : PanelState.panelHeight
848 z: stageMaths.itemZ
880 z: stageMaths.itemZ
849 requestedWidth: stageMaths.itemWidth
881 requestedWidth: stageMaths.itemWidth
850− requestedHeight: appContainer.height - PanelState.panelHeight
882+ requestedHeight: appDelegate.fullscreen ? appContainer.height : appContainer.height - PanelState.panelHeight
851 visuallyMaximized: true
883 visuallyMaximized: true
853 PropertyChanges {
885 PropertyChanges {
@@ -1004,6 +1036,7 @@ AbstractStage {
1004 Transition {
1036 Transition {
1005 to: "spread"
1037 to: "spread"
1006 // DecoratedWindow wants the sceleToPreviewSize set before enabling scaleToPreview
1038 // DecoratedWindow wants the sceleToPreviewSize set before enabling scaleToPreview
1039+ PropertyAction { target: appDelegate; property: "z" }
1007 PropertyAction { target: decoratedWindow; property: "scaleToPreviewSize" }
1040 PropertyAction { target: decoratedWindow; property: "scaleToPreviewSize" }
1008 UbuntuNumberAnimation { target: appDelegate; properties: "x,y,height"; duration: priv.animationDuration }
1041 UbuntuNumberAnimation { target: appDelegate; properties: "x,y,height"; duration: priv.animationDuration }
1009 UbuntuNumberAnimation { target: decoratedWindow; properties: "width,height,itemScale,angle,scaleToPreviewProgress"; duration: priv.animationDuration }
1042 UbuntuNumberAnimation { target: decoratedWindow; properties: "width,height,itemScale,angle,scaleToPreviewProgress"; duration: priv.animationDuration }