--- a/AbstractLauncherApplication.st Wed Sep 06 15:49:00 2000 +0200
+++ b/AbstractLauncherApplication.st Wed Sep 06 17:30:25 2000 +0200
@@ -1175,6 +1175,17 @@
!
+findAndMigrateWindow
+ "find a window (by name) and migrate it to some other display"
+
+ |v|
+
+ v := self findWindow:'Select view to migrate:'.
+ v notNil ifTrue:[
+ self migrateWindow:v topView
+ ]
+!
+
findAndRaiseWindow
"find a window (by name) and raise it"
@@ -1214,6 +1225,23 @@
!
+migrateWindow:aWindow
+ "migrate a view to some other display"
+
+ |host anotherDisplay|
+
+ host := Dialog request:'display:' initialAnswer:'dawn:0'.
+ host isNil ifTrue:[^ self].
+
+ anotherDisplay := XWorkstation newDispatchingFor:host.
+ anotherDisplay isNil ifTrue:[
+ self warn:'Could not connect to remote display'.
+ ^ self
+ ].
+
+ aWindow windowGroup migrateTo:anotherDisplay
+!
+
screenHardcopy
"after a second (to allow redraw of views under menu ...),
let user specify a rectangular area on the screen
@@ -1320,6 +1348,28 @@
v inspect
]
+!
+
+viewMigrate
+ "let user pick a view and migrate it to some other display"
+
+ |v|
+
+ (v := self pickAView) notNil ifTrue:[
+ self migrateWindow:v topView
+ ]
+!
+
+windowsFindAndMigrateBack
+ "find a window (by name) and migrate it back to this display"
+
+ |v|
+
+ v := self findWindow:'Select view to migrate back:'.
+self halt.
+ v notNil ifTrue:[
+ v windowGroup migrateTo:(Screen current)
+ ]
! !
!AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs'!
@@ -1332,6 +1382,10 @@
rDoitsEnabled rDoitLogging rDoitErrorLogging rDoitErrorDebugging
org_rDoitsEnabled org_rDoitLogging org_rDoitErrorLogging org_rDoitErrorDebugging
+ hasWindowMigrationServer
+ windowMigrationEnabled
+ org_windowMigrationEnabled
+
hasHTTPServer httpServerRunning httpServerFileRoot httpServerHomeURL
httpServerPort httpServerLogFile hasSwiki swikiEnabled swikiRoot
allowEmbedded
@@ -1350,6 +1404,18 @@
resources := requestor class classResources.
"/
+ "/ extract relevant windowMigration settings ...
+ "/
+ windowMigrationEnabled := false.
+ (hasWindowMigrationServer := WindowMigrationServer notNil) ifTrue:[
+ WindowMigrationServer isLoaded ifTrue:[
+ windowMigrationEnabled := WindowMigrationServer serverRunning.
+ ]
+ ].
+ org_windowMigrationEnabled := windowMigrationEnabled.
+ windowMigrationEnabled := windowMigrationEnabled asValue.
+
+ "/
"/ extract relevant rdoit settings ...
"/
rDoitsEnabled := rDoitLogging := rDoitErrorLogging := false.
@@ -1371,6 +1437,9 @@
rDoitErrorLogging := rDoitErrorLogging asValue.
rDoitErrorDebugging := rDoitErrorDebugging asValue.
+ "/
+ "/ extract http-server settings
+ "/
hasHTTPServer := httpServerRunning := false.
(hasHTTPServer := HTTPServer notNil) ifTrue:[
HTTPServer isLoaded ifTrue:[
@@ -1456,6 +1525,14 @@
box := DialogBox new.
box label:(resources string:'Communications settings').
+ box addTextLabel:'Window migration'.
+
+ check := box addCheckBox:(resources string:'Window migration enabled') on:windowMigrationEnabled.
+ hasWindowMigrationServer ifFalse:[
+ check disable
+ ].
+ box addHorizontalLine.
+
box addTextLabel:'RDoIt Server'.
check := box addCheckBox:(resources string:'Remote doits enabled') on:rDoitsEnabled.
@@ -1614,6 +1691,25 @@
box accepted ifTrue:[
acceptChannel value:false; value:true.
+ hasWindowMigrationServer ifTrue:[
+ windowMigrationEnabled := windowMigrationEnabled value.
+ windowMigrationEnabled ~~ org_windowMigrationEnabled ifTrue:[
+ windowMigrationEnabled ~~ WindowMigrationServer serverRunning ifTrue:[
+ windowMigrationEnabled ifFalse:[
+ WindowMigrationServer stop
+ ] ifTrue:[
+ WindowMigrationServer start.
+ "/ must wait a bit; give it a chance to
+ "/ really start (before checking)
+ Delay waitForSeconds:0.5.
+ WindowMigrationServer serverRunning ifFalse:[
+ self warn:'WindowMigrationServer startup failed (see stderr).'
+ ]
+ ]
+ ].
+ ]
+ ].
+
hasRDoitServer ifTrue:[
(rDoitLogging value ~~ org_rDoitLogging
or:[rDoitErrorDebugging value ~~ org_rDoitErrorDebugging
@@ -1626,12 +1722,12 @@
rDoitsEnabled := rDoitsEnabled value.
rDoitsEnabled ~~ RDoItServer serverRunning ifTrue:[
rDoitsEnabled ifFalse:[
- RDoItServer killAll
+ RDoItServer stop
] ifTrue:[
RDoItServer start.
"/ must wait a bit; give it a chance to
"/ really start (before checking)
- Delay waitForSeconds:0.2.
+ Delay waitForSeconds:0.5.
RDoItServer serverRunning ifFalse:[
self warn:'RDoit startup failed (see stderr).'
]
@@ -5520,5 +5616,5 @@
!AbstractLauncherApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.113 2000-09-04 15:37:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.114 2000-09-06 15:30:25 cg Exp $'
! !