LazyDeamon 1.5b3
-------------------------------------------
Have you ever been frustrated by the need to dig through a bunch of folders and/or menus just to use an app you'd quit not two minutes ago? 

Have you ever quit an app only to realize that you still needed it?

Are you too lazy to set up any of the very nice application launching utilities available?

Are you just plain lazy?

Because I know I am!

	And it was for that very reason that I made the LazyDeamon! It will sit and make links to all the GUI applications (i.e: not background or **argv apps. It also ignores the Tracker and DeskBar) in a "recent_apps" folder in the /boot/home/config/be/ folder (and thus available from the Be menu in the Deskbar) and will remove the oldest link when you have reached a specified amount of links in the folder.

	So, now all you need to do is launch your applications, safe and secure in the knowledge that there will be a link to them only as far as the Be menu!
-----------------------------------------------------------------------------------------------------------------------
Use: 

Copy the LazyDeamon to ~/config/bin or create a symlink to the app in ~/config/bin (or anywhere in your $PATH).
	
Include the following in your UserBootscript (in /boot/home/config/boot ):

	/boot/<path_to_the_LazyDeamon_folder>/LazyDeamon &

or, if you place the LazyDeamon application in your $PATH:

	LazyDeamon &

Use the LazyConfig application to set the number of links to keep or use the commandline options. If you want 20 links (this is what I use) it would be:

	LazyDeamon -n 20 &

I have tested this with it set to 150 links but didn't have the patience to launch that many applications. I got to around 50, so I don't think it would be a problem. If you do attempt something crazy let me know how it went, I'd be qurious to see what happens.... Also when you change to a lower number of links (say you started at 20, but decide to go to 10) it may be a couple of app launches before the extra links get removed (for example it will go down to 12 links after you launch one app, then 10 the next time you launch an app). The lower limit for links is 5. The default (if no value is specified) is 15.

	That's it! Now when you boot your computer the LazyDeamon will be chugging away in the background! WooHoo!

	The "recent_apps" folder in the Be directory is now a symlink to "~/config/settings/LazyDeamon/recent_apps" so that you can rename the directory as you please (mine is called "Recent Applications", but you can call it "Applications Récentes", or "Polly" for all I, or the LazyDeamon, care....). This can be done via the LazyConfig application, allowing you to set up the link's name in the control panel rather than in the Tracker.

-----------------------------------------------------------------------------------------------------------------------
	I hope someone finds this useful, I know I do. Feel free to let me know if you have any problems with this program.*

	I have made a control panel for this (to specify the number of links) even though this strikes me as kinda lame given that this is a very simple utility. It is nice to be able to change the number of links in a simple way, though.
	I got my wish for a system wide "app launched" message, so this version no longer has to poll using Pulse()!! Thank you Be! You people rock!

If you want to see my other projects head on over to my be stuff web page:

http://home.earthlink.net/~esilva/bestuff.html

Feel free to write me at: esilva@earthlink.net

Thanks!

Ed Silva

-----------------------------------------------------------------------------------------------------------------------
Version history:

1.5 for R4: The control panel now allows you to name the recent_apps link in the Be menu via a text control widget.

1.5b3 for R4: Due to a feature request sent by Mathias Agopian I added the ability to rename the "recent_apps" folder. Great idea Mathias! Thanks for the request. This is new, so let me know if there are problems.

1.5b2 for R4: Cleans up links better. Makes better use of new Roster functions to create and delete liks. LazyConfig uses be_roster->Launch() instead of system() to launch LazyDeamon (in R3 this didn't work, I dunno why...), cleaned up the code. The R4 versions are _so_ much nicer that the previous ones, polling is just evil....

1.5b1 for R4: No longer polls! Uses be_roster->StartWatching() to see if an app launched. This is rad. Changed the code to work around some wierdness with the new dev tools. Needs to be cleaned and polished, but works just dandy.

1.2 Added the LazyConfig app and added code to read the number of links from a settings file.

1.1.1 for R3 PPC: changed the name of the folder created to 'recent_apps' to match the rest of the stuff in the Be menu (the x86 verson had this from the beginning), added a checking routine to see if there is an older 'Recent_Apps' folder and rename it if so. Cleaned up the source code. Fixed a minor (and harmless) bug.

1.1: Added a bit of code to check the validity of the symlinks in the Recent_Apps folder, and Remove() them if they're bad. (I hated having all those dead links taking up menu space....). Minor clean ups....

1.0: Scrapped control panel plans. Added -h command line arg (dumb command line help). Fiddled with the thread usage....

0.07 beta: Got rid of hard coded paths, used Dominic Giampaolo's getarg stuff to handle the command line args, cleaned up the code quite a bit....

0.06 beta: First working release. Functional, but the code is ugly (hard coded paths, some other nastiness...)

0.05 beta: First release. Didn't work as advertised due to stupid error (I forgot to create the 'Recent_Apps' dir! DOH! My test versions worked because the directory had been created by earlier versions, so I didn't notice....Thanks to John R. Ashmun for pointing it out.)

____________________________________________________________________
*Please note that the author is not responsible for anything that might occur in the use of this program, and if your motherboard suddenly bursts into flame because you looked at my program funny, it ain't my fault. 
