Plugins/Displays/GrowlDisplayWindowController.m
2009-06-05 Fix MusicVideo not showing non-first notifications on displays that don't have the menu bar on them.
2008-07-06 Release this dictionary after putting it into another dictionary.
2008-01-24 Show Growl notifications on all Spaces, not just the one which is current when the notification is displayed
2007-09-10 * NSAnimation does not respond to animationDidEnd:. Remove it to prevent an exception when an animation finishes.
2007-09-10 Forgot to commit this yesterday
2007-09-10 fixes the usage of NSAnimation in [4537], you can't set the delegate for the NSAnimation subclass to self, and then do the same from GrowlDisplayWindowController, the controller never received the animationDidEnd calls and as a result didn't properly handle completion of the animation
2007-08-17 Fix click notification when a display is brought back to being displayed fully after it begins to fade out (by hovering over it).
2007-06-21 * Fix a crash which could occur when a mouse-over occurs immediately before the notification finishes leaving the screen: we need to be sure to stop all transitions before releasing the window controller's dictionary of them, since their delegate is a weak-reference and the window controller is that delegate. Fixes #694
2007-06-21 Option+Click on a close widget now closes all open notifications
2007-06-21 Fixed notifications to remain on-screen as long as they are hovered and then leave the screen when the mouse exits them. Removed some duplicated code in the process. Fixes #689
2007-05-25 Displays which can't dismiss sticky notifications no longer attempt to be sticky
2007-05-25 Made coalescing of displays in the middle of a transition smooth, and fixed coalescing of nano and music video
2007-05-25 Warnings -= 2;
2007-05-25 Fixed repositioning when a coalesced notification needs more space than it previously had reserved
2007-05-25 Coalescing support
2007-05-25 If a notification can't be displayed, it is queued and tries again in 5 seconds (the theoretical average time most displays are on screen, since display time ranges from about 0 seconds to about 10 seconds). Fixes #Gimp_
2007-05-11 We no longer leak display attempts which fail for lack of screen space
2007-05-11 Remove transitions immediately when the window is done being displayed; the transitions retain the window.
2007-05-10 Plugged a major leak of every notification displayed
2007-05-09 Timing optimization: When a fade out animation ends for the current animation and is not set to repeat, we know that the transition after display is complete and can break down the window and free its rects immediately. This does about half a second better than waiting on the timeout, which is visually important if multiple notifications are coming up in a row.
2007-05-09 Super's implementation of animationDidEnd should be called so that a delegate can receive its information
2007-05-09 Fixed signature: forDisplayController, not forDisplay
2007-05-09 Use the displayController based positioning methods
2007-05-09 * Cleanup a lot of mess
2007-03-06 Goodbye HTML title and description, we hardly knew ye. Remove all traces from architecture and display plugins. Fixes #667.
2007-02-22 Grrr... that's what I get for committing before saving.
2007-02-22 Fix our most prevalent leak - we need to release our animation timer once we start an animation or it hangs around.
2007-01-15 GrowlDisplayWindowController: changes the default behavior so that new plugin authors don't get hit with this, by default any plugin that doesn't implement the mouseExitedNotificationView method will not have their notification dispensed with automatically.
2006-04-14 warnings-=2
2006-04-13 Rudy changed this to a double-retain in [3654]. Changing it back, and adding an explanatory comment.
2006-04-12 should resolve WebKit crashing issue and ticket #611 (premature release of the GNDB)
2006-04-12 really fixes queuing, bezel was never running the next notification because the space was still marked as in use in GPC at the time it was trying to run the queued notification.
2006-04-12 should bring these three plugins back up to date with their previous wonderful queued implementations.
2006-02-09 Spelling.
2006-01-27 Updated copyright year
2006-01-25 Some fixes to get WebKit plugins working again (still broken after this commit)
2006-01-18 * Removed headers from the built product
2006-01-18 Deloggification
2006-01-17 removal of ampersands per ingmar's complaint.
2006-01-01 driving me insane
2005-12-27 * HACKING compliance:
2005-12-27 warnings -= a lot:
2005-12-11 MAJOR W00tAGE!!!....Positioning is in. It's rough but it works. An informal protocol is declared in GrowlPositionController.h and it is implemented in GrowlDisplayWindowController subclasses. I need to document the method in GPC that takes care of the work but the basic gist is you only need to specify a few basic parameters in subclasses and GPC takes care of the rest. There are lots of rough edges. Currently it doesnt take into account multiple screens (though this should be easy to work in) and it only uses one spacing value for all display types - someone may care to improve this. Seeing it in action though, Im not even sure it it will be needed. All the working displays have been ported. It also kinda makes the old GrowlPosition based stuffs a little redundant (it doesnt use them at all, it only uses the reservation methods). Once again W00t.
2005-12-10 external notifications should now function, we're on the right run loop.
2005-12-04 Simplified transitions a bit - the base class now includes a direction ivar, allowing transitions to be reversable - it's assumed most will be. Added another ivar that allows you to make the transition autoreverse (which means it flips direction when it finishes) - this functionality was added at this level since all transitions were using it. Added a window "flipping" transition allowing a window to be flipped on it's X and Y axis - bezel uses this atm.
2005-12-04 Transitions are in!!! The API should be fairly self explanatory, there are some basic comments in GDWC.h for extra pointers. Brused now has a fading transition...will move this to the other working displays as well. Removed the extra transition specific notifications as they bought us nothing over the superclass' notification methods (GrowlAnimation).
2005-12-04 fixes the issue where app triggered notifications weren't being dispensed with, but preview ones were.
2005-11-28 Merge changes from [3240]:[3248] back into trunk since they were lost in the recent shuffle
2005-11-28 Merge branch @ [3238] into trunk
2005-11-01 Fix a stupid naming error that prevented compilation
2005-10-31 Added basic caching methods to the class. This code was repeated in every display so it seems logical that it should live here. This should be looked at in more detail though so that caching of instances would be automatic - see #509.
2005-10-23 Modified the controller so that only one transition of a given class can be added.
2005-10-23 Reverted the majority of the CFification of GrowlDisplayWindowController. Notifications were previously CF but they were resting on a 10.4 only function - CFNotificationCenterGetLocalCenter().
2005-10-18 Fixed #487 (Use Apple Events to add Growl to login items)
2005-10-13 Display plugins now use accessors rather then accessing ivars directly. Refs #436.
2005-09-24 Everyone likes {{{GrowlPathUtilities}} now
2005-09-19 - Fixed #365 (added a realclean target to the release makefile)
2005-09-18 - Fixed #323 (Option to disable bezel transition)
2005-09-18 - Changed display plugins to use startDisplay instead of startFadeIn so that they actually use GPC now.
2005-09-18 * {{{GrowlPositionController}}} now treats nil screen as the main screen.