Fork me on GitHub

Vienna development moves to GitHub

As of yesterday, Vienna development happens over at GitHub. All our Subversion commit history going back to 2005 was migrated into a new Git repository. The trunk will now always contain the version currently being worked on. Source for all previous releases will be available as separate tags (2.0.0 to 2.6.0).

To get the latest source, simply paste the following into a shell prompt:

git clone

To do this, you will need an up-to-date version of the Git version control system. I recommend installing it via homebrew, an awesome package manager for Mac OS X. Alternatively, you can use GitHub’s freely available GUI client: GitHub for Mac. The latter will also optionally install the command line tools for you.

Have fun :-)

New Developer – Curtis Faith (and a sneak peek)

Today, we would like to introduce a new contributor: Curtis Faith (a.k.a. inflector on the Forum). He’s not only a very interesting author but also, it turns out, a great programmer. You can download an alpha version of Vienna 2.6 that includes a handy new feature added by him: Full Web-Page Feeds. This is very handy for sites that only put headlines or very short summaries in their feeds. You can now set those to immediately load the associated web-page in the reading-pane:
Full Web Page Feds

Comments Off on New Developer – Curtis Faith (and a sneak peek)

IDNs and Cocoa

My family name contains an umlaut, a fact that sometimes leads to confusion in the English-speaking world, especially when it comes to data-entry on shoddily coded websites. All my life, I have habitually used Stroeck instead of my actual name, and that’s also my personal domain:

Recently, support for Internationalized Domain Names has been getting better, so I bought strö The first thing I did, of course, was typing it into Vienna’s browser bar. Needless to say, it just failed silently :-) NSURL cannot handle IDNs, so in Vienna we now use a little hack to parse them. As far as I’m aware, WebView’s URLFromPasteboard: is the only way to get this functionality in Cocoa without using private API or JavaScript trickery, which I was using before Jeff Johnson found this solution:

NSURL *urlToLoad = nil;
NSPasteboard * pasteboard = [NSPasteboard pasteboardWithName:@"ViennaIDNURLPb"];
[pasteboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
	if ([pasteboard setString:theUrl forType:NSStringPboardType])
		urlToLoad = [WebView URLFromPasteboard:pasteboard];
@catch (NSException * exception)
	urlToLoad = nil;
		NSLog(@"Can't create URL from string '%@'.", theUrl);
return urlToLoad;[/objc]

For example, your user might type in this URL:
[html]http://www.strö With Spaces/index.html[/html]
Piping that through the above code will yield the following, which you can now plug into an NSURL: