Windows are locked to the monitor they're open on when you save a screenset. But if that's not happening for whatever reason, I'd try activating that monitor (by clicking on its desktop) when you open Logic.
I’ve found screen sets unstable with Logic. It’s long been the case that windows choose to open on the wrong screen in a locked screen set on opening Logic, but recently I’ve had instability of locked screen sets even moving among them. I’d lock a set, move to another set, get that situated, lock it and go back to the first, and the windows would open on the wrong screens on the the screen set I’d previously set and locked. Often it takes several attempts to get it to lock and recall correctly. And there’s only ever about a 50% chance that windows will be properly assigned to screens when I reopen a project or template with locked screen sets.
I’ve found screen sets unstable with Logic. It’s long been the case that windows choose to open on the wrong screen in a locked screen set on opening Logic, but recently I’ve had instability of locked screen sets even moving among them. I’d lock a set, move to another set, get that situated, lock it and go back to the first, and the windows would open on the wrong screens on the the screen set I’d previously set and locked. Often it takes several attempts to get it to lock and recall correctly. And there’s only ever about a 50% chance that windows will be properly assigned to screens when I reopen a project or template with locked screen sets.
Yeah, I had a solid 3 days of no jumping until just a few seconds ago when all of my screens jumped up to the top screen when I prompted Logic to quit and the "save changes" dialogue box popped up.
I haven't had a single issue with them, but I created all of mine years ago (i.e. it's possible that earlier versions did something different).
Well, I did have a corrupted screenset in my autoload 20 years ago that was causing a feature not to work. But that had nothing to do with multiple monitors.
I haven't had a single issue with them, but I created all of mine years ago (i.e. it's possible that earlier versions did something different).
Well, I did have a corrupted screenset in my autoload 20 years ago that was causing a feature not to work. But that had nothing to do with multiple monitors.
I wish I could figure it out, because screen sets really are most convenient! Except when you push the screen set number and suddenly all your windows collapse to an overlapping tiled mess on your smallest monitor, and you have to sort through them all. Or you open Logic and nothing is where it is supposed to be. No fun!
I wish I could figure it out, because screen sets really are most convenient! Except when you push the screen set number and suddenly all your windows collapse to an overlapping tiled mess on your smallest monitor, and you have to sort through them all. Or you open Logic and nothing is where it is supposed to be. No fun!
I wonder whether that's tied to anything else going on with your system. My setup is three monitors: a main one at 3200x1800 and two others (one of which is a drawing tablet) at 1080p.
Also, I'm using SwitchResX to set the resolutions.
In any case, I just tried to make the screensets screw up and couldn't. You might want to file a bug report.
I wonder whether that's tied to anything else going on with your system. My setup is three monitors: a main one at 3200x1800 and two others (one of which is a drawing tablet) at 1080p.
Also, I'm using SwitchResX to set the resolutions.
In any case, I just tried to make the screensets screw up and couldn't. You might want to file a bug report.
I have four monitors, with three different ratios. (I'm not at my machine right now to be able to report the settings.) But I had similar issues when I worked with three monitors. I don't use SwitchResX (or don't use it yet). I have noticed that if I play around with the resolutions of the monitors and then go into Logic that is certain to mess with the screen sets. But I discount that because I presume that Logic sees the old screens as no longer present if their resolutions have ben changed and so tries to make the screen sets conform as best it can.
In any case, it seems that somehow Logic gets confused about screens and believes the screens have changed and that causes the problems. When I was having problems getting the screen sets to stick yesterday, they did finally do so on the third attempt and they have been fine since, including a restart of Logic. I will file a bug report if it continues to happen though.
If you haven't done so already, I'd suggest trying a blank project to sort of rule out that it's not just one corrupted one. It could still be prefs, but I doubt it.
Re: your theory about Logic looking for missing screens, for what it's worth I turn off two of my monitors most of the time. They're all 16:9, though, so who knows.
SwitchResX has a free trial. Might be worth doing.
until just a few seconds ago when all of my screens jumped up to the top screen when I prompted Logic to quit and the "save changes" dialogue box popped up.
I have four monitors, with three different ratios. (I'm not at my machine right now to be able to report the settings.) But I had similar issues when I worked with three monitors. I don't use SwitchResX (or don't use it yet).
There are a lot of moving parts to all this, so FWIW, I'd recommend keeping any third party tools out of something the OS should manage. (I'm glad it works for @Nick Batzdorf though! The risk/benefit of this kind of thing is a personal preference, after all.)
Speaking of moving parts: how do you all have Spaces set-up? I mentioned it up at the top of the thread, but I think @Electric Moss thought the problem was fixed before we got to looking at it.
I have noticed that if I play around with the resolutions of the monitors and then go into Logic that is certain to mess with the screen sets. But I discount that because I presume that Logic sees the old screens as no longer present if their resolutions have ben changed and so tries to make the screen sets conform as best it can.
Re: your theory about Logic looking for missing screens, for what it's worth I turn off two of my monitors most of the time. They're all 16:9, though, so who knows.
I tried to keep this a brief explanation of what I think is going on but failed on the brevity. In case there's interest anyway:
The interaction of screensets and resolutions, screen count, etc, really depends on how Logic Pro addresses screen space. There are lots of ways it could do this, such as storing a screen ID and x, y-coordinates on that screen. Instead, though, I assume that Logic records window locations as x,y-coordinates in a single large virtual rectangular desktop (I also just went very quickly spelunking in some saved screenset data, and can only see geometry; no identifiers, so it looks at least plausible.)
The bounds of this virtual desktop will be the smallest rectangle that encloses your monitors' viewports: so if you have three 1000x750px screens in a row, that's a virtual desktop of 3000x750. If you re-arrange those screens so two are stacked vertically on the left, and one vertically centred to the right, then your virtual desktop would be 2000x1500px with two 1000x375px strips of inaccessible desktop above and below the single right-hand screen's viewport.
So, in re-arranging the screens, 1000x750px of virtual desktop disappeared from one side, and 2000x500px of new virtual desktop appeared above/below (including some new areas of virtual desktop that are "no go" since they're not visible on a screen.) Any windows in the disappearing section - or in these no-go areas - would need to be relocated so you could at least see enough of them to reposition them.
This means that windows are attached to a point in this virtual space, and not to a physical screen. A change in resolution, or a change in a screen's relative viewport size/position, will either shrink/grow the virtual desktop, or may add/remove/change the inaccessible regions. It may even make a window's location migrate between physical screens.
The fun is only just beginning, though, since now Logic has to automatically reposition any windows that were located in any disappearing region: even if it does this based on straight-line distance to the nearest visible location in virtual space, this probably means a lot of windows will end up piling into the largest/main monitor.
MacOs should allow for monitors to be switched off without modifying the desktop: it's only when reconfiguring monitors or changing their spatial relationships that this stuff should kick in. Hopefully.
There are a lot of moving parts to all this, so FWIW, I'd recommend keeping any third party tools out of something the OS should manage. (I'm glad it works for @Nick Batzdorf though! The risk/benefit of this kind of thing is a personal preference, after all.)
Speaking of moving parts: how do you all have Spaces set-up? I mentioned it up at the top of the thread, but I think @Electric Moss thought the problem was fixed before we got to looking at it.
I tried to keep this a brief explanation of what I think is going on but failed on the brevity. In case there's interest anyway:
The interaction of screensets and resolutions, screen count, etc, really depends on how Logic Pro addresses screen space. There are lots of ways it could do this, such as storing a screen ID and x, y-coordinates on that screen. Instead, though, I assume that Logic records window locations as x,y-coordinates in a single large virtual rectangular desktop (I also just went very quickly spelunking in some saved screenset data, and can only see geometry; no identifiers, so it looks at least plausible.)
The bounds of this virtual desktop will be the smallest rectangle that encloses your monitors' viewports: so if you have three 1000x750px screens in a row, that's a virtual desktop of 3000x750. If you re-arrange those screens so two are stacked vertically on the left, and one vertically centred to the right, then your virtual desktop would be 2000x1500px with two 1000x375px strips of inaccessible desktop above and below the single right-hand screen's viewport.
So, in re-arranging the screens, 1000x750px of virtual desktop disappeared from one side, and 2000x500px of new virtual desktop appeared above/below (including some new areas of virtual desktop that are "no go" since they're not visible on a screen.) Any windows in the disappearing section - or in these no-go areas - would need to be relocated so you could at least see enough of them to reposition them.
This means that windows are attached to a point in this virtual space, and not to a physical screen. A change in resolution, or a change in a screen's relative viewport size/position, will either shrink/grow the virtual desktop, or may add/remove/change the inaccessible regions. It may even make a window's location migrate between physical screens.
The fun is only just beginning, though, since now Logic has to automatically reposition any windows that were located in any disappearing region: even if it does this based on straight-line distance to the nearest visible location in virtual space, this probably means a lot of windows will end up piling into the largest/main monitor.
MacOs should allow for monitors to be switched off without modifying the desktop: it's only when reconfiguring monitors or changing their spatial relationships that this stuff should kick in. Hopefully.
Very helpful! And I imagine that keeping track of the screens when anything changes about them is a challenge. But I was also having issues when nothing was changing about the screens, where I set a screen set , lock it, and then move to fix a different screen set and lock it, then go back to the first screen set, and it's all messed up again. So something is up with that too that's not explained by Logic not being able to figure out what to do about screen space that has changed in the meantime.
I just tried changing the resolution and aspect ratio of my second monitor.
Logic doesn't care, even if it's changed while a window is open on the monitor as part of the screenset. It just resizes the window (although it did distort it when I set it to 4:3). So that's not it.
Question: do you have one window spreading across multiple monitors? That would be a problem. I just assumed you have separate windows open on the different monitors.
Question: do you have one window spreading across multiple monitors? That would be a problem. I just assumed you have separate windows open on the different monitors.
No, none of the windows are spread across multiple screens.
I don’t know why the screen sets scramble. I just know that it’s not unusual for it to happen on restarting Logic, or reopening a project or opening a template with screen sets.
The other night when Logic was forgetting screen sets without closing the project was not usual.
I just tried changing the resolution and aspect ratio of my second monitor.
Logic doesn't care, even if it's changed while a window is open on the monitor as part of the screenset. It just resizes the window (although it did distort it when I set it to 4:3). So that's not it.
G'ah. I get that you might not want to read my long post, but my point was: it's more complicated than this! Certainly too complicated to dismiss after one trial on one set-up In @jbuhler 's case, it was never going to be a full explanation since there was no change in set-up.
Of course Logic does care, though: otherwise it wouldn't have resized the window. (And there are situations where this won't be an option.)
Question: do you have one window spreading across multiple monitors? That would be a problem. I just assumed you have separate windows open on the different monitors.
There's no reason for this to be a problem unless you have got Spaces set-up to have a separate Space per monitor. So far nobody wants to say if/how they've got Spaces set-up, though.
But I was also having issues when nothing was changing about the screens, where I set a screen set , lock it, and then move to fix a different screen set and lock it, then go back to the first screen set, and it's all messed up again. So something is up with that too that's not explained by Logic not being able to figure out what to do about screen space that has changed in the meantime.
Yes, sorry - I had meant to acknowledge that explicitly: there's a "part 2" to all this about how Logic manages screenset revisions, but I've got to do some investigations. If you had a project file that was recently scrambled and wouldn't mind PMing me a copy (deleting tracks/MIDI/audio beforehand) then that might be helpful, but no pressure.
Yes, sorry - I had meant to acknowledge that explicitly: there's a "part 2" to all this about how Logic manages screenset revisions, but I've got to do some investigations. If you had a project file that was recently scrambled and wouldn't mind PMing me a copy (deleting tracks/MIDI/audio beforehand) then that might be helpful, but no pressure.
I’ll send you a project the next time I have one that scrambles. The one that was giving me problems is currently stable so I don’t think it would be useful to share.
G'ah. I get that you might not want to read my long post, but my point was: it's more complicated than this! Certainly too complicated to dismiss after one trial on one set-up
Actually I did read it, and of course I'm not saying that because it works for me it should work for him! It's always annoying when people do that, and while everyone knows I'm a dick, I'm not one in that way.
My point is that something funny is going on to confuse Logic on his and some systems. You can determine that with one trial setup + my Logic system not having the same issues, assuming what I'm doing is what he's doing.
And while I don't know how macOS deals with multiple monitors, it appears that it knows they're separate monitors, whether they're set up as independent screens or as mirrored ones. I just tried having a single window span two screens (set up as independent screens), and you can't, regardless of whether or not they're set to the same resolution. That's with Logic or anything else.
Now, setting up Logic with windows in separate Spaces... I doubt that's possible, if I understand the idea correctly, and it's certainly not the idea behind having separate desktops. What I do is open VE Pro in a separate desktop, ditto slave machines over Microsoft Remote Desktop (not that I've used one for over a year).
Okay, I had to check the options for Spaces. I'm not sure whether Group Windows by Application (which is off in the default settings shown here) lets you put windows in separate desktops of not.
Off the topic, what's this setting all about? No program other than Preview and iMovie will let you close anything without asking whether you want to save your work, in other words.
(Preview just saves whatever you do even if you don't want it to, which I consider a big fanculo sandwich.)
EDIT: STOP THE PRESSES! HEAR YE HEAR YE! It turns out that that setting affects Preview!
Yeah baby. This has been annoying me since the stone ages!
Now, setting up Logic with windows in separate Spaces... I doubt that's possible, if I understand the idea correctly, and it's certainly not the idea behind having separate desktops. What I do is open VE Pro in a separate desktop, ditto slave machines over Microsoft Remote Desktop (not that I've used one for over a year).
No, I'd expect Logic windows to remain in a single Space too... though I'm not sure how you're defining "a desktop" here. But with separate-spaces-per-monitor enabled (per your screenshot) and all Logic windows in one space, then it seems like you're not asking Logic to manage any multi-screen screensets in the first place? That would explain why you don't see jbuhler's issue, but maybe I'm missing something...?
My point is that something funny is going on to confuse Logic on his and some systems. You can determine that with one trial setup + my Logic system not having the same issues, assuming what I'm doing is what he's doing.
Yeah, I think we possibly just disagree on how big that last assumption is: e.g. do you know if he's saving before or after screenset switches, both, or neither? Then we've got to add in the variation of configs: the geometry stuff I was talking about is ~4-5 different interacting systems by itself, plus differences in Logic config, screens and arrangements... there are even a couple of different methods for screen mirroring (e.g. see CoreGraphics API) that give the same result to the user but have very different implications for graphics; ditto your screen resolution setting tool.
And while I don't know how macOS deals with multiple monitors, it appears that it knows they're separate monitors, whether they're set up as independent screens or as mirrored ones.
Sure; even applications know (or can query) physical screen geometry; or you can too. A fairly user-friendly option at the terminal is: system_profiler SPDisplaysDataType
or - if you feel like it - you can get some idea from the CoreGraphics API that lists "online" displays here; it's worth comparing the definitions of an "online" vs an "active" display.
I just tried having a single window span two screens (set up as independent screens), and you can't, regardless of whether or not they're set to the same resolution. That's with Logic or anything else.
From your screenshot, it looks like you have separate Spaces per monitor enabled, so I wouldn't expect windows to span screens. If you disable that option and restart, then windows should be able to span screens, unless something has changed (I've only got the one screen right now.)
Yeah, I think we possibly just disagree on how big that last assumption is: e.g. do you know if he's saving before or after screenset switches, both, or neither?
When I had the problem of screen sets not sticking, I was not saving but only locking. So I can only say the locking wasn’t working.
I had a weird thing happen last night where I opened an old project and it opened with recent screen sets, but not the screen sets of the most recently opened project before that. I don’t even know how Logic could make this confusion. (I don’t know that the original project had screen sets; and I know the screen sets are new ones by the naming convention that is used on them,)
This is all most peculiar because this is a new machine with a completely new installation, installed a little over two weeks ago. Nothing was migrated. So not a lot of time for anything to have been corrupted, unless the corruption was imported with a project.
From your screenshot, it looks like you have separate Spaces per monitor enabled, so I wouldn't expect windows to span screens. If you disable that option and restart, then windows should be able to span screens, unless something has changed (I've only got the one screen right now.)
This is interesting and I should look into it for a variety of reasons. As far as I know I’m only using a single space. And I can’t have windows span screens so I must have the separate spaces per monitor enabled. I don’t think I’d want to have windows span screens given my configuration.
Some plugins of wide configuration can’t fit fully on some of my monitors because they are too wide so I only see part of them. Maybe that’s causing some issue. Those windows don’t seem to scramble any more often than other windows. And the scrambling happens even when I don’t include such plugin windows among the screen sets. And the most common issue is that the arrange window that is assigned to the 32” monitor appears in a smaller version on the 27” monitor behind the piano roll; or the piano roll appears in a smaller version on the 32” monitor behind the arrange view. These two monitors are both 4K and set to the same pixel size. And the 27” is designated in the displays utility as the primary one.
On my old machine I had the piano roll on a side monitor and it would frequently appear on the main monitor behind the arrange view window when opening a project. So the behavior here is similar.