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

Reply via email to