xpra icon
Bug tracker and wiki

Opened 2 months ago

Last modified 2 months ago

#2888 assigned defect

MacOS Host - desktop state of windows not retained

Reported by: heist Owned by: Antoine Martin
Priority: minor Milestone: future
Component: client Version: 3.0.x
Keywords: Cc: soboyle@…

Description

When using a MacOS host - the desktop state of windows is not retained when reconnecting to a session. If a hosted window was on desktop 3 - then that window will be restored to desktop 1 (along with all of the other windows) after reconnecting.

This is different from the preferred behavior seen when a linux host is used -- where, on reconnect, windows are restored to their original location and desktop.

Change History (1)

comment:1 Changed 2 months ago by Antoine Martin

Milestone: 4.1future
Status: newassigned

They've made it really complicated for no apparent reason (not entirely unexpected): User Interface Preservation.

How to detect which Space the user is on in Mac OS X Leopard?

This is not what we're looking for (not enough control): collectionBehavior.

But this is: Change to other space (MacOSX) programmatically: Unfortunately there's no public API which allows you to do this.. - CGSMoveWorkspaceWindowList - Note that using this private API will cause your app to be rejected from Apple's Mac App Store though (not that we care about that part)

This is a fun read: Swindler: Writing window managers for macOS is hard. There are a lot of systemic challenges, including limited and poorly-documented APIs. All window managers on macOS must use the C-based accessibility APIs, which are difficult to use and are surprisingly buggy themselves.!


So I am re-scheduling to the "future" milestone, which basically means that this is very unlikely to be looked at unless someone steps up to work on it. (the original ticket for this feature was #2488)
I don't have time to jump through all the twisted hoops that Apple continuously rearranges mid-flight.

Last edited 2 months ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.