I downloaded the NBCog.exe and was able to execute the 'NBWin32WindowOn 11 January 2013 13:34, Torsten Bergmann <astares@gmx.de> wrote:
> From the history of Squeak and Pharo you can:
>
> � 1. Squeak.exe (VM for Windows) was always able to set this using
> � � �the Setting "WindowTitle" in Pharo.ini - see
> � � �http://squeakvm.org/win32/settings.html
>
> � � �This was implemented by Andreas Raab (maintainer of SqueakVM)
>
> � 2. Later there was the idea in Squeak for a project
> � � �called "Areithfa Ffenestri" that should add more
> � � �support code to Squeak to allow access to the
> � � �native window or open new ones:
>
> � � � �http://wiki.squeak.org/squeak/3862
>
> � � �This is a VM plugin that is not in all VM's and even after
> � � �years AFAIK not fully implemented on all platforms.
>
> � � �If it is available then you can do what Bert Freudenberg
> � � �suggested here:
>
> � � �http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167766.html
>
> � � �Dont know if the Pharo VM maintainers added this plugin
> � � �too. You have to ask Igor or Esteban.
>
> � 3. While Squeak tries to stay platform independent and
> � � �encapsulate platform dependent logic mostly into VM plugins
> � � �to unify the access �there is some other idea in Pharo now:
>
> � � �With the growing need to easily access platform logic
> � � �of the underlying OS or access external libraries written in
> � � �other languages there is a new FFI plugin which is
> � � �(since Pharo 2.0) will be included in the standard distribution.
>
> � � �This new Foreign Function Interface (FFI) is called
> � � �NativeBoost and will move more logic into Smalltalk
> � � �itself. So you dont have to write/compile a plugin.
>
> � � �You just need a VM with NativeBoost support (NBCog.exe on Windows)
>
> � � �Using native Boost (when in Pharo 2.0) you can (already!)
> � � �write:
>
> � � � �NBWin32Window getFocus setWindowText: 'Hello using Native Boost'
>
> � � �to change the window title. Internally I just call the
> � � �Windows Win32-API function "SetWindowTextA" using the
> � � �window handle.
>
> � � �If someone from other platforms implements an NBUnixWindow,
> � � �NBMacWindow, NBRiscOSWindow, ... we can also implement a
> � � �common interface class (NBPharoWindow for example).
>
> Hope this helps a little bit
>
> Bye
> T.
>
getFocus setWindowText: 'Hello using Native Boost' example you showed
above. It looks me to like they are direct calls to the Windows API
which don't require any external DLLs other the built in Windows
ones..
However on Linux would that mean it may be necessary to use different
code for Gnome or KDE/Qt for instance, or use some other native or
crossplatform widgetset like Wx?