Randomize Your Mac Desktop Background

Leave your Mac desktop picture to chance with Yahoo!, Perl, and AppleScript.

Windows users aren’t the only ones who can experience the fun that is random desktop backgrounds [Hack #83] . By using Yahoo! as your own image database, you can automatically change your Mac desktop background picture when the mood strikes.

If you use Mac OS X just to browse the Web and send email, you might not be aware that there’s a powerful Unix-based operating system under the hood. In fact, in addition to AppleScript (the Mac scripting language), Mac OS X ships with Perl installed. This hack takes advantage of both Perl and AppleScript to bring some randomness to your desktop.

The Code

Perl is a great language for making HTTP requests and working with the responses. But it’s not as good as AppleScript at performing Mac system tasks, such as setting a desktop image. Luckily, a Perl module called Mac::AppleScript lets you execute AppleScript code from within your Perl scripts. To install this module, open a Terminal window and type the following command:

	              sudo perl -MCPAN -e 'install Mac::AppleScript'

Before you begin, you’ll need to install a couple of other Perl modules. As with most of the Perl examples in this book, you’ll need LWP::Simple and XML::Simple to make Yahoo! requests and parse responses.

Once these prerequisites are installed, save the following code to a file named ybackground.pl:

 #!/usr/bin/perl # ybackground.pl # Accepts a query term and sets a ...

Get Yahoo! Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.