I too have two screens, but no noticeable issues with screen limiting. Both the Grasshopper banner and the window open on the same screen as Rhino, and running the _Grasshopper command again even when the window hasn’t been closed will move the canvas window to the same screen as the Rhino app.
So something must be different about the way your monitors are set up and this is confusing Grasshopper. I’ll send you a file with a script component (hopefully later today) which uses the same code as GH proper to investigate the screens. Maybe it’ll give me a clue as to what might be going wrong.
I should have pointed out that I usually have Rhino on screen 1 and GH on screen 2. So if I open a new def in GH the GH window jumps to screen 1 (where Rhino resides).
So it is not that they “drift apart”, instead it is that they are like magnets. I want the GH window to stay where I put it. At least once it has been opened, regardless of if I open multiple definitions in the GH window. As it is now I have to move it back to screen 2 every time I open new defs (like when opening demo defs from the forum here, or just looking into old defs for some forgotten tricks aso).
I see, yes that happens here too and that is by design. For a long time people have been reporting that the Grasshopper window goes entirely off-screen and cannot be gotten back. Although I cannot now remember whether the screen-snapping is also supposed to happen when a new file is opened. That seems like undesired behaviour to me.