separate native window of same Pharo image
Hi, did anyone play around with launching a separate native window for Pharo? E.g. I have normal window in which Pharo is, and then I open a separate native window that shows just e.g. Transcript. I know that there are some projects like OSWindow-SDL and OSWindows-UI (using WinAPI), but both of them are aimed at opening windows with non-pharo content, which is not what I want. Any pointers? Thanks, Peter
Hi, I played a bit with that. I did something like this: window := OSWindow createWithAttributes: (OSWindowAttributes new resizable: false; yourself). window title: title. And then: surface := AthensCairoSDLSurface fromSDLSurface: self window handle handle getWindowSurface Then you can render everything in the surface from Pharo. Is this what you want?. 2018-07-19 8:31 GMT-03:00 Peter Uhnák <i.uhnak@gmail.com>:
Hi,
did anyone play around with launching a separate native window for Pharo?
E.g. I have normal window in which Pharo is, and then I open a separate native window that shows just e.g. Transcript.
I know that there are some projects like OSWindow-SDL and OSWindows-UI (using WinAPI), but both of them are aimed at opening windows with non-pharo content, which is not what I want.
Any pointers?
Thanks, Peter
it is perfectly possible with OS-Window to create a morphic world and create your own morphic content for it, then display it in a completely different operating system window. This is how I created a simple application which displays geometric "roses" in a separate window to the pharo window. First create your morph. In my case RosesMorph. This can be a compound morph with as many sub-morphs as you like. In this way you can build a complete application interface. Now create a sub class of OSWindowWorldMorph like this: OSWindowWorldMorph subclass: #RosesWorldMorph instanceVariableNames: '' classVariableNames: '' package: 'KMP-Roses Add the following methods to your OSWindowWorldMorph subclass using this code as a model: RosesWorldMorph>>osWindowCloseButtonPressed self delete RosesWorldMorph>>initialize | rosesMorph rosesFrame | super initialize. self layoutPolicy: ProportionalLayout new. self extent: 600 @ 600. self osWindow title: 'Roses'. rosesMorph := RosesMorph new. rosesMorph color: (Color r: 0.13 g: 0.13 b: 0.13 alpha: 1.0). rosesFrame := LayoutFrame fractions: (0 @ 0 corner: 1 @ 1) offsets: (0 @ 0 corner: 0 @ 0). self addMorph: rosesMorph fullFrame: rosesFrame. rosesMorph sticky: true As you can see once you have an OSWindowWorldMorph you can add whatever morphs you like to it. Now you can launch your RosesWorld app in a separate window like this: RosesWorldMorph new open. Hope this helps -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Here's a screenshot of two roses windows being run from a pharo image in another window <http://forum.world.st/file/t368903/roses.png> -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Thank you both, this is exactly what I was looking for! But I ran into an issue (maybe this is Windows (10) specific): once I open the window, the original Pharo window is no longer responsive. It is not frozen, I can see a cursor blinking in the playground, but clicking anywhere or pressing any key doesn't do anything. This behavior persists even after I close the new window. Only when I press ctrl (without anything else) the content of the playground gets executed again, but that's it. I will try tomorrow on a different machine. Peter On Thu, Jul 19, 2018 at 6:22 PM, kmo <voxkmp@gmail.com> wrote:
Here's a screenshot of two roses windows being run from a pharo image in another window <http://forum.world.st/file/t368903/roses.png>
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
I believe this is a known Windows issue. I have certainly seen it on my Windows machine at work. Doesn't happen on Linux. -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
I believe this is a known Windows issue.
Well this is more of a show-stopper than just an issue. Is the project maintained? Is Windows support something that is planned? Thanks, Peter On Thu, Jul 19, 2018 at 7:35 PM kmo <voxkmp@gmail.com> wrote:
I believe this is a known Windows issue. I have certainly seen it on my Windows machine at work. Doesn't happen on Linux.
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Who knows whether OSWindow is maintained? Who knows if anybody cares that it doesn't work on Windows? OSWindow is like lots of things that suddenly appear in the Pharo standard image. There's no documentation. There's no plan. That's the Pharo way. Give it a year or two and it will be superseded by another framework doing the same thing which will also have no documentation, killer bugs, and no plan. -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
participants (4)
-
alvaro piorno -
kmo -
Peter Uhnak -
Peter Uhnák