Core/Source/GrowlPositionController.m
2009-06-05 Fix MusicVideo not showing non-first notifications on displays that don't have the menu bar on them.
2007-05-25 Animate moving of displays from one location to another. Maintain the appropriate origin if a display resizes, based on the desired expansion direction.
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 Coalescing support
2007-05-10 Deloggification
2007-05-10 The secondary direction is now (once again) utilized until exhausted rather than just once as was accidentally done in [4139].
2007-05-10 Rewrote the display positioning logic. Displays are now palced in the first place - looking by primary and secondary directions appropriately - they can fit, rather than the most extreme place they can fit after unioning existing displays.
2007-05-10 Removed some debug logging
2007-05-10 No change in functionality; made this code clearer
2007-05-09 The position controller now tracks reserved rects by requesting display controller. When a display controller asks to be positioned, its old rect is cleared before a new rect is assigned, allowing automatic proper handling of a notification which resized. Similarly, the proper way for a display controller to clear its reserved rect is by passing itself rather than passing its frame; this makes the process less fragile by guaranteeing that the rect which was reserved wlll be the one which is cleared.
2007-03-25 Code styling compliance: standardize the use of (PRIVATE) versus (private) within classes.
2007-02-27 Fixed a few more warnings and a crash if the computer name is not set
2007-01-19 Fixes #657 - Add application-specified positioning. Changes in this include a redesigned layout for the Configure section of the Apps tab, 2 new values in application tickets (position type and custom position), and updates to the way in which selected position is accessed by all the displays.
2006-11-25 GrowlPositionController now has a class method that translates the user's preference into a proper GrowlPosition for return. This will be used for displays to determine their origin in the future.
2006-11-25 Code convenience - pull all positioning related enumerators out into a single shared header.
2006-03-10 s/log/growlLog/ since log() is already defined in math.h
2006-02-16 Fixed log message. Refs #612.
2006-02-12 Log messages to help debug #612.
2006-02-12 Minor reorg.
2006-02-12 Functions describing {{{GrowlPosition}}} and {{{GrowlExpansionDirection}}} constants.
2006-02-12 Spelling fix: {{{usingSecondaryDirecton}}}->{{{usingSecondaryDirection}}}
2006-02-11 HACKING: {{{enum}}} keyword on enumeration types.
2006-01-27 Updated copyright year
2006-01-20 Better positioning for notifications with variable heights
2005-12-29 * death of more warnings in the deployment build, this should take it down to 27 warnings when m-a commits his nib load methods
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-11-22 GrowlPathway calls -dispatchNotificationWithDictionary: and -registerApplicationWithDictionary: of GrowlApplicationController on a secondary thread. This means that all the code related to the displaying of a notification is threaded. Therefor, GrowlPositionController must be thread safe.
2005-10-18 Fixed #487 (Use Apple Events to add Growl to login items)
2005-09-18 Duplicated code is not cool. Moving it to another method.
2005-09-18 * {{{GrowlPositionController}}} now treats nil screen as the main screen.
2005-09-17 * Add the ability for display plugins like Music Video to ignore other notifications and display anyway.
2005-09-17 Added GrowlPositionController to the project (with a few changes)
2005-09-17 Forgot to change the copyright
2005-09-17 Initial GrowlPositionController that provides reserved rects and predefined areas for plugins to display in.