Well, its finally done! I just committed the smart launcher code to svn! After the rework of the internals (not entirely without its problems), the move to cairo for drawing, and much smoother operations, Awn now has launcher support!
The fine-tuning has yet to be done, but heres the jist of it:
* Drag and drop an Application file (a .desktop file) to any part of the bar (including another task/launcher).
* The launcher will now pop-up at the end of the bar. Ready for you to use it. To show that it is a launcher, it has a little upwards facing arrow at the bottom.
* Right clicking on the launcher gives you an option to remove it.
* Left clicking launches the program. The icon will bounce until the window opens, and suddenly the little arrow is gone, the launcher just like any other task on the bar.
* Right clicking now presents you with the normal window menu.
* Upon closing the application, the launcher will revert to its previous state, and the little arrow pops back to tell you its a launcher again!
A demo (click to go to download site):
Bear the usual in mind when watching the video (ie. jerkyness is not apparent in real-world use).
Now as this is new, here are a few facts/known issues:
* Your launchers data is automatically kept in a gconf uri list, but yuo cannot modify it outside the program (in the sense Awn will not read the modified code until it restarts, not that it will blow up your computer, I waiting for svn revision 88 to do that)
* ATM, the code that associates a launcher with a launched application works about 90% of the time, but some applications have a special way of spawning, which confuses Awn. A good example is Realplayer, which you will execute as 'realplayer' but will run as 'realplayer.bin'. If this occurs, you'll just get another task on the bar.
* ATM launched applications are connected to Awn, so if you exit Awn, say bye bye to the applications which you lauched using Awn (its a new idea I had to keep people using Awn).
Also, apart from lots of small fixes, I have added support for _NET_WM_ICON_GEOMETRY XProperty (thanks to Quinn of Beryl Project). This is basically what tells the window manager where the windows icon is on screen, so the WM can do its effects (such as Beryl's Magic Lamp effect). This should also allow some of the new Beryl plugins, like the live-thumbnailer, to work, although I need feedback on this.
A quick vid (click to go to download site):
Well, thats it for now, its 02:38, and i'm off to bed!