This Geeklet displays a list of your Skype contacts that are currently online. It requires that you save an AppleScript file on your Mac before it will work.

Download this AppleScript and save it in ~/Documents/Scripts. You can save it elsewhere, but you will need to modify the path in the Geeklet script to match it.

Next, download the Geeklet file (linked below) and double-click it to open it up in GeekTool. If you have saved the AppleScript somewhere other than in ~/Documents/Scripts/ you will need to modify the address in the script.

The script fails to run the first time, when Skype asks for permission for AppleScript to access your contact data. Select "Allow this application to use Skype" and click OK. You may need to restart Skype and GeekTool after doing this before the script will run properly.

The script displays the names of your contacts and their "mood messages" if they have any. If you want to disable the mood messages, you can modify the AppleScript. Double-click SkypeOnlineUsers.scpt to open it up in AppleScript Editor. Near the end find the line that says:

set end of onlineusers to aUser & " (" & amoodtext & ")"

change this to

set end of onlineusers to aUser

then save the script.

I originally found this script via this LifeHacker post that links to the original author's blog. Unfortunately that blog no longer exists but you can view an archive of it at the Internet Archive Wayback Machine.

Geeklet files to download


User Avatar
shaix 3480 days ago
I've had trouble with users not being displayed correctly ("item 6") and users missing completely. I've never written an AppleScript before but replacing:

"get user " & i & " fullname" script name "online users"


"get user " & i & " handle" script name "online users"

worked for me. But of course now you only get the handle, not the display name.

If you want to get the online status and e.g. country this works for me:

set status to send command "get user " & i & " onlinestatus" script name "online users"

set status to my tail(status, 4)

set country to send command "get user " & i & " country" script name "online users"

set country to my tail(country, 4)

and modify if-else statements to:

if status is ("" & country is "") then

set end of onlineusers to aUser

end if

if country is ("" & status is not "") then

set end of onlineusers to aUser & " (" & status & ")"

end if

if country is not ("" & status is not "") then

set end of onlineusers to aUser & " (" & status & ") " & country

end if
User Avatar
notlob42 3443 days ago
so theres an error on this site, it wont post the code I'm trying to show, I apologize for the double post.
User Avatar
notlob42 3443 days ago
and heres the double post I cant delete, maybe that should be a new site feature? basically I think one of my friends mood messages broke the script and I need to work around this because I am not removing this person from my friends. email me if you think you can help, I'll explain fully; pythonfan042@gmail.com
User Avatar
thegymnast96 3138 days ago
I am having problems with the AppleScript.  It tells me that skype_id is not defined.  Any help out there?
User Avatar
hselig01 2904 days ago
Seems that the Skype API function "GET GROUP USERS" is broken and just returns an empty string, hence the script used in this geeklet is not working.

I have looked into alternative ways to get the same results, and now use a route via "SEARCH FRIENDS", then going through all of them, kicking out xmpp-entries (from Facebook; if you want these, you'd have to adjust the script) and echo123, then checking the online status with "GET USER ONLINESTATUS" to determine the list of online friends.

To simplify the script, I've also replaced the external "tail"-call by an AppleScript method. Oh, and I'm listing the entries one per line, so the printout is a bit "neater" (personal, subjective view, of course).

Since I can't attach a script to a comment, I've uploaded it on my website. You can find it under [SkypeOnlineUsers2.scpt](http://pub.kleinetiger.net/SkypeOnlineUsers2.scpt)

Hope this is of some use to people here!

Log in to comment or register here.