Archive for January, 2011

MacHg 0.9.13 released!

MacHg 0.9.13 adds QuickLook support, error disclosures, .hgignore event handling, UI improvements, and fixes a number of issues.

In particular one can now use QuickLook to get a snapshot of the historical state of a file in the History View or the Differences View. This facet of QuickLook support is quite nice. In fact the general QuickLook support does all the things it should in the right mac ways, etc.

I also like the new error disclosures. They are much snazzier than the previous versions. (I even find myself every so often repeatedly typing in purposely wrong paths and names just so I can see them smoothly animate out in MacHg and think to myself “ohh, that really looks nice…” Then again I guess it’s only ever GUI designers who think such things, and normal people will just think “Oh… yes, I guess you are right, that does look nice.” But never really notice it otherwise… Still it’s details like this which make Mac applications, well Mac like…

Also a really nice change in MacHg 0.9.13 is that I can now get from Mercurial the regular expression representing all the files Mercurial will ignore. Before, whenever I auto-detected that something changed inside some directory (via FSEvents), I had to send through to Mercurial a request to see what had changed. However, if that directory was ignored by Mercurial, I would still have to go through the whole rigmarole of checking via Mercurial that indeed nothing had changed. Now I can just check against the regular expression, which is much faster. Eg a typical example of this is having an ignored build directory in your programming project. Typically though, when you are compiling the files inside in your project, often the files within the build directory are changing like mad.  Thus previously a flood of checks would have to go out from MacHg to Mercurial to see if anything changed, and this could in fact cause your build to go some 2 times slower than without MacHg running… Anyway happily this is now fixed.

Also I have gone with the new status icons provided by David Keegan. I think they are better than the ones I had. Also David sent along some new toolbar items and revamped the icons for the preferences items. (Thanks David!)

There are also a number of other UI fixes. See the full [release notes]:

In more general terms of the overall MacHg timeline, the change to stable graph drawing in 0.9.12 has gone very well. There has been only one reported issue against this massive refactor, and moreover that issue is now fixed in 0.9.13.  So all in all the huge refactor and speed up in 0.9.12 went very smoothly.

MacHg 0.9.13 is definitely a candidate for MacHg 1.0.0. (In fact MacHg 0.9.12 was also a candidate, but I just wanted to see that everything was ok with the stable graph drawing change.)

Beyond the 1.0.0 release I plan to add a super Annotation View, an improved history editing interface, handling for git and svn through their respective extensions, improved discovery and other issues.

Cheers, Jason

Leave a Comment

Where is NSBrowserSelectionDidChangeNotification when you need it?

While I was updating MacHg to include QuickLook support I came across the case where it would be really nice if NSBrowser had the notification NSBrowserSelectionDidChangeNotification (which doesn’t exist) whereas for comparison NSTableView has NSTableViewSelectionDidChangeNotification. There are a couple of hacks and ways to get around this, and MacHg currently updates more often than it should. Right now I just target the action to a method which always updates, but sometimes the selection updates when it doesn’t need to… Googling around for this, you can see various people searching for a solution… Eg here and here. Anyway, if anyone knows of a nice way to do this, please let me know!



Comments (1)