Friday, July 17, 2009

Universal Applets support merged

The code supporting Universal Applets in Avant Window Navigator has been merged into the rewrite branch (A thank you goes to mhr3 for taking time to cleanup the dbus implementation today). I must say that gilir has been plugging away trying to get some headway on this project for a while, and it probably would never have gotten done if he hadn't taken the time to get the UA side of things, plus dbus interfaces all setup, so when us C types had the inclination, things were nicely primed.

What this merge means is that with the 0.4 release we have basic support (AwnApplet level more or less) functionality for most universal applets in the panel. Now certain screenlets obviously are not good candidates (some are meant to be much larger than the bar) for this, but a fair number are. And I have some thoughts for those other screenlets for the post 0.4 code :-)

Now a few notes:
  • AwnApplet level functionality... means no effects and no reflections. I'm hoping reflections will eventually show up for AwnApplet applets (probably 0.6) at which time UA/Screenlets should get them also. Effects, I would not be expecting anytime soon.
  • The UA/Screenlets code to support this is not yet in the main UA branches. They reside in some of gilir's branches. Hopefully this will show up in the UA trunks real soon. There is also a possibility that the necessary code to support this may show up in Screenlets proper (as opposed to the UA fork) at some point, though I really have no idea on what the timeline for that might be or even that it's a 100% certainty.
  • This is the an initial implementation. I think it's fair to say that various aspects can be improved over time... but the it seems the basics are fairly solid.
  • There is at least one awn side issue that I am aware of... that being curved style. I'm sure that a few others will rear their heads up.
  • Ultimately this should be regarded as just another option. Especially useful if you're missing one or two items in your suite of awn applets that just happen to be covered by a screenlet or two.
  • There are some outstanding bugs/issues on the UA side of things. I have made sure that aantn is well aware that they need to be fixed :-) The most pressing issues in order of importance:
  1. Periodic issues with mouse events. This has been around for a while AFAIK. I looked through the UA bugs and didn't find it... but I'm sure it's lurking in there somewhere. To sum up, periodically some screenlets top receiving mouse events. I'll also note that I have not seen this happen yet with one that is currently embedded in the awn. I have a sneaking suspicion that this one is proving difficult to resolve. So the bug is not connected with awn per se... but it is a rather significant usability problem.
  2. UA Screenlets that were previously embedded in awn do not remember to reattach after they are restarted. This code is only present in Gilir's branch at the moment but obviously needs to be resolved. I expect this can be fixed quite easily.
  3. A dbus api to allow awn to inform a screenlet that it should not reattach itself to awn (probably reverting back to the default behaviour of connecting to melange). This will allow screenlets to be "permanently" removed through awn-manager. Till this is done it will be necessary to configure screenlets to not reattach (after (2) is fixed) using the standard UA interfaces. My guess is that it's not a huge problem, just a matter of defining the api, implementing it on the UA side of things after which we can plug it into awn without too much difficulty.
  4. I believe that there are also a few concerns about the making the dbus api a little more flexible in terms of it's design that mhr3 has voiced. These issues are something that are relevant but not vital in the near term.

Tuesday, June 30, 2009

Another screencast

Here's some Awn/UA integration work that's being worked on. And yes there are still a few glitches.

Tuesday, June 23, 2009

Applet Devs: Rewrite will be hitting trunk soon. How will your applets cope?

Just a heads up. The rewrite branches will be merged into trunk some time in the next few weeks.

Core-rewrite: https://code.launchpad.net/~awn-core/awn/trunk-rewrite-and-random-breakage

Extras-rewrite: https://code.launchpad.net/~awn-extras/awn-extras/extras-trunk-rewrite-and-random-breakage

Notes

  1. There may still be some API churn after the merge but it shouldn't be _overly_ severe. Things might get added but hopefully what's there won't change much.
  2. Onox has done a fair amount of work in extras rewrite converting converting awnlib to the API changes. So if your applet uses awnlib your work may be relatively minimal.
  3. Doing a trivial conversion of an applet can be as simple as a few minutes work. Do take the time to test with multiple orientations etc.
  4. A lot of extras pplets have already been converted.
  5. Once we merge rewrite, awn-testing ppa packages will soon follow. Meaning applets that have not been converted will stop working for any user of the awn-testing ppa.
This is just a heads up to start looking over rewrite, and possibly start taking advantage of some of the new things that are available in libawn. As always, if you have any questions please feel free to post here or drop by #awn on freenode.

Saturday, June 6, 2009

A quick screencast

This previews some of the current features of Awn rewrite including mhr3's new Edgy panel style. Expect various details to change by release day including the preference dialogue.



That is all.

Wednesday, May 27, 2009

If Neil gets around to blogging I guess I better do so also

Just a quick update on things in the world of Awn.

Things seem to be picking up again as various real life commitments slow down for the various devs. I'm even finding some time to do some work. At this point in time we're getting close (weeks) to merging rewrite back into trunk. Which will mean packages in the PPA. Which will mean legions of testers. heh.

I've been spending my Awn dev time working on the system monitor rewrite. I'm quickly becoming a fan of AwnIconBox... The rewrite has multiple graph types, multiple icons per applet (cpu usage, load average etc) and a much cleaner design which will lead to eventually monitoring everything!

Over the next week or so I'm also hoping to dump the first iteration of AwnOverlaidIcon which will allow easy/consistent overlay of pixbuf/surfaces and text on applet icons. The hope is that this will allow a bit more consistency between applets for these use cases. This may also help push forward the implementation of plugin support in rewrite.

At the moment I believe the main blockers for merging rewrite back into trunk are:
  1. Opening/Closing animations in the taskmanager.
  2. Panel resize animations
  3. Plugin support.
Regarding Awn plugin support... the consensus at this point seems to be that we do want to dump big chunks of the old API and implement something a wee bit nicer. So, we will be deprecating plugin API during the 0.4 series.

That's it for now.

Saturday, February 7, 2009

A quick update

Let's see...

  • Been rather busy in recent months.
  • Started back to work with a small company that I've been involved with for close to a decade. It's nice... getting to work on everything from kernel level code through to shiny frontends. The negative side effect is that my awn dev time has been rather reduced.
  • My awn dev time has mostly been devoted to the rewrite branch side of things, though I have backported a large number of fixes to shinyswitcher, cairo-menu and places to trunk.
  • Yes a 0.3.2 release is imminent, seemingly largely lead by mhr3 but with contributions from quite a few others :-). See this and this.
  • After 0.3.2 I think it fair to say that attention will begin to focus heavily on 0.4... I'll try and write a bit more about that sometime soon.

Sunday, July 13, 2008

icons, icons, icons

So I've been working on awn-icons recently. The goal to provide a standardized way to change the icons used by applets (and eventually tasks/launchers).

I'm feeling lazy so I'l just point to a couple pages.

  1. Sharkbaitbobby has made a nice little write up that is of most use to python devs but is definitely worth reading for others.
  2. There's also a blueprint.
Todo:
  • Clearing of configured icons.
  • Look into using this with the awn core taskmanager/launcher.
  • Convert more applets.
  • Hook up some signals so changes in icons get reflected in all awn-icons users immediately.