Michael Baas wrote:
> I am using a setup with 2 screens and would find it very handy being
> able to move a window from one desktop to the other. Is there a
> possibility to do this with PPro?
>
I use the attached scripts whose author I have forgotten (perhaps Alan
Martin). Assign each script label to a suitable hotkey. I use Shift+Win+
arrow keys to swap windows between monitors, for instance (in .ini file
format but you could use the hotkey configuration dialog just as well):
; move active window to LEFT monitor
[1]
Key = Shift+Win+leftarrow
Cmd1 = [EMAIL PROTECTED]("active")
; move active window to RIGHT monitor
[2]
Key = Shift+Win+rightarrow
Cmd1 = [EMAIL PROTECTED]("active")
Here's the script file, copy it file scripts\Multimon.powerpro in
powerpro's installation folder. Mind spurious line breaks added
by the forum software.
; @SwapWinWithRightMon, @SwapWinWithLeftMon, @SwapWinWithTopMon
; can be used to send window caption arg(1) to right/left/top monitor
; respectively or back to the main monitor.
;
; ASSUMED MONITOR LAYOUT:
;
; TOP(same size)
; |
; |
; LEFT(same size)------MAIN(size AxB)------RIGHT(same size)
;
;
; send window to right monitor or back to main mon
@SwapWinWithRightMon
local c=arg(1) ;; caption
If (Win.Left(c)>=(XScreen-4)) Do ;; it's on right mon
If (Win.Maxxed(c)) Do
Win.Restore(c)
Win.Move(c,Win.Left(c)-XScreen,Win.Top(c)) ;; to left
Win.Maximize(c)
Else
Win.Move(c,Win.Left(c)-XScreen,Win.Top(c)) ;; to left
EndIf
Else ;; it's on main mon
If (Win.Maxxed(c)) Do
Win.Restore(c)
Win.Move(c,Win.Left(c)+XScreen,Win.Top(c)) ;; to right
Win.Maximize(c)
Else
Win.Move(c,Win.Left(c)+XScreen,Win.Top(c)) ;; to right
EndIf
EndIf
QUIT
; send window to left monitor or back to main mon
@SwapWinWithLeftMon
local c=arg(1) ;; caption
If (Win.Right(c)<=4) Do ;; it's on left mon
If (Win.Maxxed(c)) Do
Win.Restore(c)
Win.Move(c,Win.Left(c)+XScreen,Win.Top(c)) ;; to right
Win.Maximize(c)
Else
Win.Move(c,Win.Left(c)+XScreen,Win.Top(c)) ;; to right
EndIf
Else ;; it's on main mon
If (Win.Maxxed(c)) Do
Win.Restore(c)
Win.Move(c,Win.Left(c)-XScreen,Win.Top(c)) ;; to left
Win.Maximize(c)
Else
Win.Move(c,Win.Left(c)-XScreen,Win.Top(c)) ;; to left
EndIf
EndIf
QUIT