575 |
575 |
576 ^ (self onDevice:aDevice) open |
576 ^ (self onDevice:aDevice) open |
577 |
577 |
578 " |
578 " |
579 Launcher openOnDevice:Display |
579 Launcher openOnDevice:Display |
|
580 " |
|
581 |
|
582 "Modified: 13.1.1997 / 20:55:27 / cg" |
|
583 ! |
|
584 |
|
585 openOnXScreenNamed:aScreenName |
|
586 "create an instance of the application and open its view |
|
587 on some X display screen. The argument aScreenName must be |
|
588 a valid x-display name (i.e. of the form '<host>:<screenNr>' as in 'foo:0'). |
|
589 For more info, read the document on multiple display |
|
590 support and the documentation of the DeviceWorkstation class." |
|
591 |
|
592 |newDevice someScreen| |
|
593 |
|
594 newDevice := XWorkstation new. |
|
595 newDevice := newDevice initializeFor:aScreenName. |
|
596 newDevice isNil ifTrue:[ |
|
597 self warn:('Could not open display: ' , aScreenName). |
|
598 ^ nil. |
|
599 ]. |
|
600 newDevice startDispatch. |
|
601 (someScreen := Screen current) isNil ifTrue:[ |
|
602 someScreen := Screen default. |
|
603 ]. |
|
604 someScreen notNil ifTrue:[ |
|
605 newDevice keyboardMap:(someScreen keyboardMap). |
|
606 newDevice buttonTranslation:(someScreen buttonTranslation). |
|
607 ]. |
|
608 "/ arrange for it to finish its event dispatch loop, |
|
609 "/ when the last view on it is closed. |
|
610 newDevice exitOnLastClose:true. |
|
611 |
|
612 ^ (self onDevice:newDevice) open |
|
613 |
|
614 " |
|
615 Launcher openOnXScreenNamed:'sgi:0' |
580 " |
616 " |
581 |
617 |
582 "Modified: 13.1.1997 / 20:55:27 / cg" |
618 "Modified: 13.1.1997 / 20:55:27 / cg" |
583 ! |
619 ! |
584 |
620 |