On Wednesday 20 June 2007 06:28, John Drescher wrote: > Kern, > > Well, I have a nice little project, if you can find a bit of time. It is to > > separate the Win32 tray monitor code from the Bacula FD into a separate > > executable. This is necessary to support Vista since Vista does not permit > > services to interact with the desktop. > > > > After looking at the code it seems very easy to remove the Tray > monitor from the bacula-fd.
Yes, I don't think it will be hard to remove it. > Do you want the Tray icon to stay in if > the user runs bacula-fd directly instead of starting it as a service? For the moment, I would like to leave it in. However, once the new tray-monitor is complete, I would like to completely remove it. > I ask this because after removing the icon there will be no user > accessible window when bacula-fd is not run as a service. Yes, it will not run as a service, but it needs to be installed as a program that is automatically run. It will simply sit in the tray until someone opens it, and it can even run under the user's id rather than a system id. > However I > guess I could make the status window as the main window in this mode > and do not minimize to the tray. Well a tray window is a bit special. Here are a few more thoughts: The apcupsd project, for which I was previously the project manager has the same (almost the same) code for running the tray monitor as Bacula because I ported the Bacula Win32 "front-end" code to apcupsd. Since then, the project (Adam, the new project manager) has added some bubble windows to the tray monitor, and he has already separated it into a stand-alone program. As a consequence, you can get a lot of ideas from what he did. The code is on Source Forge, and can be pulled via CVS by checking out Branch-3.14, or you can simply download the tar file. The code that should interest you is in <apcupsd-source>/src/win32 Because it is much smaller than Bacula all the win32 specific code is in that directory, and the new file is called apctray.cpp -- if I remember right. Now, what is really different about the new code and also will be necessary for Bacula is that instead of being linked into Bacula, it will be a stand-alone program, so you must: 1. Configure it 2. It must talk to Bacula via the network 3. It must be installed on the system slightly differently -- i.e. different registry keys must be setup so that it is started at boot time, but not as a service. 4. It should handle multiple instances of the program (i.e. monitor multiple computers). Now, with apcupsd, Adam configures it quite simply passing everything via the command line (at least that is what it appears from a quick look at the code). We could do the same, but I think it would be *much* better to put a small "config" file parser similar to the one in bconsole or bat into the code and have it read the conf file. If we don't do that, it gets very difficult to specify all the command line options for encrypted communications ... I am seriously thinking about moving off the GPL license because I have come to realize that compared to certain other Open Source licenses the GPL is *extremely* restrictive -- in my personal view, it is far less free than many of the other licenses -- a simple example is that I cannot link OpenSSL with Bacula and then distribute the binaries. To avoid this problem, I would like to re-write all the existing Win32 daemon code, because parts of the current code are copyrighted under GPL by ATT. So part of the project is to ensure that we do not blindly copy any of the original daemon code. If you have any questions there, please ask me. I hope that helps answer your questions. Best regards, Kern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Bacula-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-devel
