There are a number of different Facebook feeds you can display on the desktop with GeekTool. It's pretty complicated so here are some instructions:
1) Get your Facebook feed address
In Facebook, go to your notifications (Click "See all notifications") and find the "Subscribe to Notifications" section on the right. Right-click on the link, choose "Copy Link" then paste it into TextEdit (or some other text editor). You will see the link has the following format:
Where it says notifications.php you can replace it with one of the following:
- notifications.php - Your notifications
- status.php - Your own status updates
- friends_status.php - Your friend's status updates
- notes.php - Your own notes </span>
- friends_notes.php - Your friend's notes
- sharefriendsposts.php - Your friend's links
Some people report problems with some of these feeds. It could be something to do with privacy settings, I'm not sure. An alternative is to use a Facebook app called RSS News Feed Reader. It only produces a feed address for your news feed though and not any of the other feeds.
2) Create an Automator workflow
Open up Automator (located in the Applications folder). There are three actions you need to find in the Library on the left and drag over to the workflow area on the right.
- Get Specified URLs
- Get Text From Articles
- New Text File
You need to drag these across in the right order. In the first one, double-click the address and change it to your chosen Facebook feed address. In the last one, change the file name to "FriendStatus.txt" and have it save somewhere like your Documents folder.
Click Run in Automator and check that everything works fine. If so, go to your Documents folder and see if FriendStatus.txt has been created and filled with your friend's statuses. If everything is working fine, in Automator choose Save As, change the File Format to Application and save the workflow in your documents folder with a name like "SaveFacebookFriendStatus".
3) OPTIONAL: Make your workflow run in background
This automator workflow will need to be run fairly regularly, depending on how often you want your feed to update. At the moment, every time it runs an icon will appear in the Dock for a while before disappearing again. To stop this, find SaveFacebookFriendStatus in your Documents folder, right-click on it and choose "Show Package Contents". Inside the Contents folder, find Info.plist and open it with TextEdit. Find the line with LSUIElement. On the line after it, change <false/> to <true/>. Save the file and then double-click SaveFacebookFriendStatus to check if the Dock icon still appears.
4) Set up the GeekTool Geeklet
Below are the GeekTool Geeklet files you need. The Refresh one doesn't display anything, it just runs the SaveFacebookFriendStatus script every 900 seconds. You can change the refresh rate to whatever you prefer in the GeekTool inspector.
The normalfeed one just displays the contents of the FriendStatus.txt file. There are a few things I didn't like about it, so the formattedfeed one makes it look a bit better. You might find that the formatted one doesn't work properly straight away and you need to fiddle with it a bit. For example, it strips out the +0000 time zone, but you will need to adjust that to your own time zone.
The commands are as follows:
Refresh: open ~/Documents/SaveFacebookFriendStatus.app
NormalFeed: head -n 300 ~/Documents/FriendStatus.txt
FormattedFeed: head -n 300 ~/Documents/FriendStatus.txt | tr '[\n]' '~' | sed 's/~~/ /g' | sed 's/~//g' | sed 's/+0000//g'