Wild Windows on Mac OS X

What is that?

There is the idea that any window can be rotated and zoomed arbitrarily. The window should stay fully functional, even though rotation and zooming is applied. There is a discussion at the cocoa-dev mailing list about this subject. For a detailed description of what the rotation and zooming function should be capable of doing, read my message at the quartz-dev mailing list.

Effects in Mac OS X prove that it is possible. For example, Exposé reduces the size of windows, but their content is still updated. Another example can be shown with a little trick mentioned by John Stiles:

  1. Open the terminal and type "killall Dock" but do not press return.
  2. Find a "victim Window" (Safari looks great)
  3. Keep the terminal window frontmost, but hold shift and click the minimize widget in the victim window. The victim window will slowly minimize.
  4. While the window is still minimizing, press return to execute your command in the terminal.
(I have just been told that Hes Nikke has filed this description already before.)

The minimizing window will be frozen in time and space. However, the window still works, even though it is distorted. Take a look at this little movie, which shows the effect:

[MPEG-4; 262kb]

Do you have a sneak peek?

Wade Tregaskis (reachable via email) has written a prototype which does already zooming and rotation. (Great job, Wade!) You even can combine it! Here a little movie of how it looks like: (Pay attention to the fact that I am typing while the window is zooming and rotating!)

[MPEG-4; 238kb]

Wade was so kind to release the code (BSD licensed) and made it available for download in various formats. (Look for file name "Rotated Window.*") He also has published a summary of the discussion about this topic. Also take a look at the WildWindows page at CocoaDev.

However, there are problems. Wade mentioned some in his posting at quartz-dev. Some other questions are:

Play around with the code! Let us know if you have any idea how to improve it! Let us know the performance on your machine!

Claus Atzenbeck <claus at atzenbeck.de>
http://www.atzenbeck.de


Disclaimer

  [Viewable with ANY browser!]