I've been trying to use GNUstep & MinGW to produce a working Win32
application. One of the goals is to have the application behave as a
first class Windows application, in particular to launch it from the
Start menu without requiring MSYS and openapp to be running. Our
target group of users will never accept a command line...
My application has no need to communicate to other running
applications and processes and therefore has no need for distributed
notifications or distributed objects.
If the GNUSTEP_SYSTEM_ROOT system environment variables are assigned
correctly and the path set to point to GNUstep and MinGW binaries,
the app does indeed load and run very well by simply executing the
ApplicationName.app/ApplicationName.exe file from the Start menu
without requiring openapp.
It does however produce annoying delays as gdomap and gdnc are
started each time. If running the app using openapp, gdomap and gdnc
are started once and then continue to run, such that subsequent
restarts of the application reconnects to the servers already running
in the background.
If instead the app is run by directly executing the
ApplicationName.app/ApplicationName.exe file, the command.exe is
started and displays GNUstep console messages and runs gdomap and
gdnc as subprocesses. On terminating the application, command.exe
continues to stay running after the application has exited, it seems
because gdomap and gdnc continue to run. Quitting command.exe (with
^C or by closing it's window) then kills gdomap and gdnc, such that
they are restarted on subsequent runs of the application.
There seem to be a number of solutions, one is to start gdomap and
gdnc at boot time as instructed by the GNUstep warning messages.
Apart from the work making some installer do this reliably to Windows
systems, gdomap and gdnc then produce security alerts on XP systems
with firewalls, asking for unblocking these cryptically named
processes, adding to more user confusion.
In an application that indeed relies on distributed processes, this
would be the price to pay, but after some review of the GNUstep base
code, it seems the use of distributed notifications and distributed
objects are tightly linked into the pasteboard server, application
services and even deeper in the AppKit/gui, regardless of whether the
application has any need for such functionality. Yet this
functionality impacts the distribution and use of the platform for
Windows applications, which is a shame, given how well the
implementation operates!
So my question is the degree to which gdomap and gdnc are indeed
necessary for an application not requiring explicit use of inter-
process comms and if NSMessagePortNameServer would address this
(since I see NSMessagePorts are explictly excluded on the MinGW port).
Is it, or would it be, possible to build GNUstep's gui with a ./
configure option or use an NSUserDefault to limit notifications and
objects to the running GNUstep application and not attempt to connect
to the gdomap & gdnc servers and if so, any hints on implementing this?
Many thanks for the great work
--
Leigh M. Smith
[EMAIL PROTECTED]
http://www.leighsmith.com
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev