@@ -256,13 +256,15 @@ class WindowManager {
256256
257257 num visibleWidth = primaryDisplay['size' ]['width' ];
258258 num visibleHeight = primaryDisplay['size' ]['height' ];
259+ num visibleStartX = 0 ;
259260 num visibleStartY = 0 ;
260261
261262 if (primaryDisplay['visibleSize' ] != null ) {
262263 visibleWidth = primaryDisplay['visibleSize' ]['width' ];
263264 visibleHeight = primaryDisplay['visibleSize' ]['height' ];
264265 }
265266 if (primaryDisplay['visiblePosition' ] != null ) {
267+ visibleStartX = primaryDisplay['visiblePosition' ]['x' ];
266268 visibleStartY = primaryDisplay['visiblePosition' ]['y' ];
267269 }
268270 Offset position = Offset (0 , 0 );
@@ -271,42 +273,42 @@ class WindowManager {
271273 position = Offset (0 , 0 );
272274 } else if (alignment == Alignment .topCenter) {
273275 position = Offset (
274- (visibleWidth / 2 ) - (windowSize.width / 2 ),
276+ visibleStartX + (visibleWidth / 2 ) - (windowSize.width / 2 ),
275277 visibleStartY + 0 ,
276278 );
277279 } else if (alignment == Alignment .topRight) {
278280 position = Offset (
279- visibleWidth - windowSize.width,
281+ visibleStartX + visibleWidth - windowSize.width,
280282 visibleStartY + 0 ,
281283 );
282284 } else if (alignment == Alignment .centerLeft) {
283285 position = Offset (
284- 0 ,
286+ visibleStartX + 0 ,
285287 visibleStartY + ((visibleHeight / 2 ) - (windowSize.height / 2 )),
286288 );
287289 } else if (alignment == Alignment .center) {
288290 position = Offset (
289- (visibleWidth / 2 ) - (windowSize.width / 2 ),
291+ visibleStartX + (visibleWidth / 2 ) - (windowSize.width / 2 ),
290292 visibleStartY + ((visibleHeight / 2 ) - (windowSize.height / 2 )),
291293 );
292294 } else if (alignment == Alignment .centerRight) {
293295 position = Offset (
294- visibleWidth - windowSize.width,
296+ visibleStartX + visibleWidth - windowSize.width,
295297 visibleStartY + ((visibleHeight / 2 ) - (windowSize.height / 2 )),
296298 );
297299 } else if (alignment == Alignment .bottomLeft) {
298300 position = Offset (
299- 0 ,
301+ visibleStartX + 0 ,
300302 visibleStartY + (visibleHeight - windowSize.height),
301303 );
302304 } else if (alignment == Alignment .bottomCenter) {
303305 position = Offset (
304- (visibleWidth / 2 ) - (windowSize.width / 2 ),
306+ visibleStartX + (visibleWidth / 2 ) - (windowSize.width / 2 ),
305307 visibleStartY + (visibleHeight - windowSize.height),
306308 );
307309 } else if (alignment == Alignment .bottomRight) {
308310 position = Offset (
309- visibleWidth - windowSize.width,
311+ visibleStartX + visibleWidth - windowSize.width,
310312 visibleStartY + (visibleHeight - windowSize.height),
311313 );
312314 }
@@ -321,18 +323,20 @@ class WindowManager {
321323
322324 num visibleWidth = primaryDisplay['size' ]['width' ];
323325 num visibleHeight = primaryDisplay['size' ]['height' ];
326+ num visibleStartX = 0 ;
324327 num visibleStartY = 0 ;
325328
326329 if (primaryDisplay['visibleSize' ] != null ) {
327330 visibleWidth = primaryDisplay['visibleSize' ]['width' ];
328331 visibleHeight = primaryDisplay['visibleSize' ]['height' ];
329332 }
330333 if (primaryDisplay['visiblePosition' ] != null ) {
334+ visibleStartX = primaryDisplay['visiblePosition' ]['x' ];
331335 visibleStartY = primaryDisplay['visiblePosition' ]['y' ];
332336 }
333337
334338 Offset position = Offset (
335- (visibleWidth / 2 ) - (windowSize.width / 2 ),
339+ visibleStartX + (visibleWidth / 2 ) - (windowSize.width / 2 ),
336340 visibleStartY + ((visibleHeight / 2 ) - (windowSize.height / 2 )),
337341 );
338342
0 commit comments