Alex Rozanski

PXSourceList Next

Almost four years ago, I built and released PXSourceList, a Cocoa control that simplifies implementing a Source List in OS X applications.

Taking a look at the README for the project at the time of writing, it’s hard to believe that the first line describes the project as:

A Source List control for use with the Mac OS X 10.5 SDK or above.

It really has been a while. Since then lots has changed, the most notable change for table views and outline views (which PXSourceList subclasses) of which is that they now support a view-based mode rather than just using NSCells to display content.

Unfortunately, I’ve also been rather busy with other things over the last couple of years, and bar some minor bug fixes as well as merging contributions graciously made by others, I haven’t given PXSourceList as much love as I should have.

PXSourceList 2.0

I’ve decided to fix this and modernise PXSourceList, bringing it to be on-par with the current implementation of NSOutlineView as well as improving the internal implementation and adding some new features.

So far I’ve got a list of things I want to do, including:

  • Provide better support for view-based tables and implement an NSTableCellView subclass which is just as useful out-of-the-box as PXSourceList is in cell-based mode in building rows with icons and badges. (I do plan to keep cell-based table view support around, though).
  • Improve the way that the source list delegate and data source methods are called by using method forwarding with the Objective-C runtime, to avoid issues where some PXSourceList delegate and data source methods aren’t called such as this and this.
  • Look into providing bindings support.
  • Convert the project to ARC and modernise the codebase.

However, given that PXSourceList is an open-source project, I’m interested in finding out if there is additional functionality that you’d like to see in this release. If you use or plan on using PXSourceList in your apps and have some ideas, I’d encourage you to submit issues on PXSourceList’s issues page on GitHub. You can tag any ideas with 2.0-suggestions.

I’ve made a start with some of these changes already, and for current progress, you can take a look at the 2.0 branch (which I’ve been pushing to regularly as I work) or watch the project on GitHub.


If you’re using or planning to use PXSourceList in your app(s) and would like to use these new features in an upcoming release, I’d welcome any help from testers. It’s a bit early at this stage, but when some more of the notable features are implemented, this would be a good time to give PXSourceList 2.0 a spin.

In the meantime…

The best places to find up-to-date progress are probably my twitter timeline, this site or PXSourceList’s GitHub page.

I’d also like to thank those of you who have been using PXSourceList, and for your kind words about it over the years.

Want to get in touch? You can find me as @alexrozanski on Twitter.