relikd / Memmon

A simple daemon that restores your window positions on external monitors.
MIT License
145 stars 4 forks source link

Not working on Sonoma (Mac OS 14.0) #14

Open jakedeg opened 11 months ago

jakedeg commented 11 months ago

Mac OS was doing a pretty good job of this on its own until I upgraded to Sonoma. Then, it stopped. So I tried memmon, but it doesn't seem to be working at all on Sonoma. I do notice it sometimes resizing windows in ways that are not helpful, but when i unplug my external monitor, Chrome and Safari windows that were on it move to my MacBook Pro display, and when I plug it back in, they just stay there and the external monitor remains empty.

I have the "Displays have separate spaces" pref set to false.

relikd commented 11 months ago

Hi @jakedeg I will test it as soon as I can update to Sonoma (which will probably be way too late [company guidelines]). Chrome and Safari are probably not restored because Memmon cant associate the windows (read vs. write issue). I suspect that both apps create some hidden windows which breaks the link between read and write. Unfortunatelly, I cannot do much about it. Thats also why so many issues are left open :/

You can try and check the "Displays have separate spaces" setting on. If you dont require it explicitly, then that may fix your issue (even without the need for Memmon). Hopefully that works in macOS 14 still. If not, maybe Apple will release a bugfix soon.

CliffyPop commented 8 months ago

I'm having no luck with Memmon on Sonoma 14.2.1 with Displays have separate spaces on or off.

I use an external monitor set as the Main Display in Sys Settings > Displays and the built-in on my M3 MBPro as the Extended display. The windows on the built-in Extended never stay there after sleep or unplugging/re-plugging in to external monitor. All windows always snap back to the Main external monitor after waking / plugging back in.

I recently discovered that apps in the Dock can utilize an Assign To setting via right-click an app in the Dock > Options > Assign To > choose the Mission Control Desktop/Display of choice. For whatever buggy reason this requires enabling Mission Control > Displays have separate Spaces and then creating a 3rd desktop (in a two display scenario). If not, the system doesn't seem to allow assigning apps to either display.

Regardless, using Memmon and assigning certain apps to my built-in extended display doesn't work and apps keep moving to my Main external display.

Note: I have enabled Memmon in Sys Settings > Privacy & Security > Accessibility.

Organist22 commented 3 months ago

Works fine on Sonoma with "displays have separate spaces" disabled (as I preferred before anyway). Solved my problem, window positions restored after "displays off after inactivity". THANK YOU! (Before all windows were collected on monitor 1 after inactivity.) Mac Studio M1 - Sonoma 14.5 - 2 displays (1st via USB-C/Thunderbolt, 2nd via HDMI)