We've already discussed some of this on the forum. See topic for extra background:
http://forum.lazarus.freepascal.org/index.php/topic,30226.msg192660.html#msg192660

My left monitor is primary monitor but it's numbered 2 in Windows.
See image at http://forum.lazarus.freepascal.org/index.php/topic,30226.90.html
My monitor on the right is the extended one and is numbered 1.

Lazarus with AnchorDockingDsgn always opens up on monitor 1 (my monitor on the right). I've already submitted a bug-track: http://mantis.freepascal.org/view.php?id=28803

My question is probably for Mattias (as assignee of the bug-report and author of anchordocking) or others who worked on this. In lazarus\components\anchordocking\anchordocking.pas there is some monitor-code in SetupSite() function and before that. There the WorkArea of Node.Monitor in Screen.Monitors is taken. But why is this WorkArea again calculated if it was already saved in environmentoptions.xml? The problem I'm having now is that Lazarus always restores to the monitor on the right (which is the extended monitor, not the primary one).

If I change the following it works for both monitors, regardless on which Lazarus was closed, it will open always at the same position. It just takes the WorkArea which is already saved and used for opening Lazarus.

--- C:/Users/Rik/AppData/Local/Temp/anchordocking.pas-revBASE.svn000.tmp.pas ma okt 26 22:34:11 2015 +++ C:/dev/lazarus/components/anchordocking/anchordocking.pas vr nov 6 13:50:20 2015
@@ -1749,7 +1749,8 @@ var
         aMonitor:=Screen.Monitors[Node.Monitor]
       else
         aMonitor:=Site.Monitor;
-      WorkArea:=aMonitor.WorkareaRect;
+      //WorkArea:=aMonitor.WorkareaRect;
+      WorkArea:=SrcWorkArea;
       {$IFDEF VerboseAnchorDockRestore}
debugln(['TAnchorDockMaster.RestoreLayout.SetupSite WorkArea=',dbgs(WorkArea)]);
       {$ENDIF}

I think all the monitor-stuff could be deleted because the WorkArea is already saved.
(or am I seeing this wrong?)

Grtz,
Rik (rvk on forum)


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to