You can skip this in seconds

Click here to continue

Yahoo! Widgets Engine 4.5.2 Publisher's Description

Yahoo! Widget Engine for Mac OS X lets you run little files called Widgets that can do pretty much whatever you want them to. Widgets can be alarm clocks, calculators, can tell you your AirPort signal strength, will fetch the latest stock quotes for your preferred symbols, and even give your current local weather.

The 4th version comes with various improvements like:


  • Implemented image sharing to attempt to reduce memory consumption for some Widgets.
  • When a Window is hidden, we now release all the drawing buffers. Not a huge savings in most cases, but hey.
  • XPath is now substantially faster on large XML DOMs.
  • We now load Win HTTP on-demand.
  • Rewrote COM support to be faster and fixed some issues with event sinks.


  • Implemented Resize Animation.
  • It is now possible to reuse an animation. Previously, once an animation was complete, it was useless.
  • Changed animations to always call any 'done' function you pass in even if the animation is run with runUntilDone (i.e. synchronously). This only takes effect if your minimumVersion is 4.0 or later.


  • Added and filesystem.unzip() as simple utilities to do basic zip/unzip actions.
  • Filesystem.move() now will rename a file (i.e. it should now behave exactly like the unix mv command).
  • Added filesystem.getMD5() to return the MD5 string for a given file.
  • Added optional third parameter to filesystem.writeFile. You can now pass a boolean to tell us whether or not to append to the file instead of merely overwriting the entire file. appendFile( path, content [, append] );
  • Added filesystem.createDirectory() and filesystem.remove().

    DOM/View System

  • Canvas object. Use 2D drawing primitives to draw whatever you like.
  • Added convertPointToWindow, convertPointFromWindow, convertPointToParent and convertPointFromParent to successfully deal with translating points into different coordinate systems. This is especially necessary when you have multiple nested, scrolled, rotated frames. Each function can either take an x, y coordinate or a Point object, which is also new in this build. These routines all return Point objects as well. A Point only has two properties, x and y.
  • You can now set the height/width to null to reset an object to use the natural size of the content, if any.
  • Enabled clickable hyperlink in text areas. The "handleLinks" JavaScript property was added.
  • Changed z-order handling. When minimumVersion is set to 4.0 or later, the new behavior is as follows: as views are created, they are all given a zorder of 0 (instead of the previous ever-increasing z-order number). Views are ordered within z-order in the order they were added (the last view will get the highest effective z-order). To change the z-ordering with a particular z-order, you use orderAbove and orderBelow. This much is the same as it was after the first time this was changed for this release. The new twist is that we still pay attention to the zOrder of a view. Views with zOrder set to 1 will always be layered on top of views with zOrder 0. This allows older Widget definitions to still behave the same as they ever did. orderAbove() and orderBelow() still can be used to shuffle views around but they cannot be shuffled between zOrders. So if you have 10 views with zOrder 0, then 5 views with zOrder 1. If you take the top most view in zOrder 1 and call orderBelow(null), it will not put the view to the rear of all views, but rather to the rear of all views with zOrder 1. So effectively, zOrder can now be interpreted as a 'layer'. And orderAbove and orderBelow only operate within layers. This gives us the best of both worlds, and allows things to be done in ways they never could before.
  • Enabled rotation for text, canvas, scroll bar, and frame objects. Text areas cannot be rotated on either platform. Don't even get any funny ideas and try to put it in a frame and then rotate the frame... the result will be the same: badness.
  • Fixed issue where setting image.colorize to "" was setting it to black instead of clearing the colorization, as setting to null would. Did the same thing for HSLAdjustment and clipRect.
  • If minimumVersion is set to 4.0, onMouseMove changes its meaning to track mouse motion while the mouse is up. To get mouse motion events when the mouse button is down, use onMouseDrag.
  • Menu items can now have submenus. In XML, you just put another menuItem element inside another. In JS, you use appendChild/removeChild to add or remove child menu items. This affects contextMenus and popup menus.
  • Implemented
  • Popular Downloads