Helium Foot Software

Making your Mac more agile, more powerful and more fun

September 2010
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
About
Helium Foot Software develops MercuryMover: Don't let the mouse slow you down! Move and resize windows on your Mac with the keyboard.
Recent Entries
GroceryList and Beyond(04/18 10:26)
Go, Go, GroceryList(01/28 21:53)
Indie+Relief(01/19 22:13)
One Fifth of a Five Fingered Discount(11/06 10:18)
On the Job, On the Train(10/30 12:09)
Hey Mac(10/21 10:38)
Dog Fed(10/15 09:53)
20 Questions(10/08 09:59)
A Gallon of Milk and an Onion(10/06 11:34)
The iPhone Doesn't Need Me(09/24 11:46)
Recent Comments
Re: The iPhone Doesn't Need Me(Twitter Power Tool : 07/25 18:19)
Re: Why I am a Success and Why I will never be a Success(Cathy Mason : 04/02 04:11)
Re: Why I am a Success and Why I will never be a Success(free classified advertising : 03/23 01:22)
Re: Why I am a Success and Why I will never be a Success(Website SEO : 02/04 04:47)
Re: defaultapp(rapid4me : 12/25 02:43)
Re: A Gallon of Milk and an Onion(kalperin : 10/08 10:03)
Re: A Gallon of Milk and an Onion(Karen Hughes : 10/06 13:39)
Re: A Gallon of Milk and an Onion(Your wife : 10/06 13:29)
Re: Why I am a Success and Why I will never be a Success(kalperin : 09/28 23:05)
Re: Why I am a Success and Why I will never be a Success(Chris : 09/28 14:13)
Recent Trackbacks
There are no trackbacks.
Categories
Helium Foot (28 items)
Software (5 items)
MercuryMover (37 items)
Blog (3 items)
MacSanta (3 items)
Marketing (12 items)
Philanthropy (2 items)
Podcasts (3 items)
Highbrow (3 items)
iPhone (1 items)
GroceryList (4 items)
Archives
Blogroll

Syndicate this site (XML)

RSS/RDF 0.91

14 August
2008

Short(cut) time

Where Keith takes no shortcuts

Yesterday and the day before i had planned to cross MercuryMover's new shortcut editor off of my todo list. As man plans, software laughs. Fear not loyal reader, for yesterday i solved the major technical problem. Before i give you the slightly technical answer, let me provide an introduction for those of you new to the Helium Foot blog. Here at Helium Foot Software, we're working on v2.0 of our flagship (and for now, only) product called MercuryMover. MercuryMover enables you to move and resize the windows on your Mac from your keyboard.

For the last few years hooking up a user interface to your Mac app's preferences has been pretty trivial thanks to Cocoa Bindings. In short, bindings provide the glue between your interface and your data (whether that data is in some persistent store such as your preferences or is just your applications's model). Unfortunately, my case is not exactly textbook since MercuryMover ships as a Preference Pane that is hosted by System Preferences. Thus, when i try to bind to my preferences, i'm bound to the preferences for System Preferences (would you prefer that i write about something else??). The solution was to create a proxy object that hosts an array of all of the Shortcuts. This array is both backed by MercuryMover's preferences and also bound to the Preference Pane. This lets the Preference Pane display the shortcut information as stored in the preferences file, and also persist changes to the same. Eagle eyed (kv) observers will note that this will keep information in sync only in one direction (from the Preference Pane to the preferences file) but not vice versa. Since the MercuryMover agent that actually moves and resizes the windows can also create shortcuts, i have said agent posting a notification via the NSDistributedNotificationCenter which the Preference Pane listens for and updates itself accordingly.

For those of you keeping score at home, here's where we stand in our run up to the v2.0 beta:

  • New pop-in/pop-out animations
  • cool display when shortcut is saved
  • Add shortcut editor to preference pane
  • fix window along the left or bottom edge +/= key unexpected behavior
  • change demo so that it is based on a number of uses, not a number of days
  • give pref pane a once over
  • change "Advanced" tab to "Keys" and list undo, redo, center and maximize
  • set the copyright year automatically at build time
  • Give EULA a once over
  • run through clang


Up today: Finish the shortcut editor and fix the maximize/center bugs.

Posted by kalperin at 12:11 | Comments (0)
<< Shortcuts and Setbacks | Main | Off of the Bus >>
Comments
There are no comments.
Post a comment