dzejar

Adium workflow

16 posts in this topic

Hi, I created yet-another-adium workflow.

 

Features:

  • different icon for statuses other than available
  • contacts alphabetically sorted (except Alfred's favourites)
  • shows IM type (jabber, icq, skype, ...)
  • contact fetch speed optimalization
  • [new] different icon for contacts with unread messages
  • [new] deeper speed optimalization
  • [new] "not found" shown when there is not a contact matching the searched text
  • [new] "im -" shows only contacts with unread messages
  • [new] icons for "contact not found" and "contact with new message" changed
  • [new] shows idle time if known
  • [new] shows status message if any

 

adiumShot.png

 

The workflow is here.

 

It seems there is a bug in Adium applescript support and the workflow could have problem with facebook contacts. But fortunately the facebook account can be connected using jabber protocol and then everything is sunny and blue...

 

Translated: Is the workflow doesn't work for you temporarily disable facebook account... and maybe define jabber account to access facebook IM :-)

 

- Jan

Edited by dzejar
Domenic and ClintonStrong like this

Share this post


Link to post

Great workflow.  The jabber workaround for Facebook worked great.  Would it be possible to add more information to the subtext other than just "@Jabber", like "@chat.facebook.com"?  I have multiple Jabber accounts, so it gets confusing.  Thanks!

Share this post


Link to post

Hello Jefferson, I updated the workflow (the original link is still valid and points to the new one).

 

Now there is a configuration section at the beginning of the Script Filter code. If you change line:

 

set showHosts to false

to:

 

set showHosts to true

the workflow will show also account server name...

 

You can also switch off the sorting of names using:

 

set sortNames to false

to make workflow super fast :-)

 

[edited] There is not longer a need to set sortNames to false. The speed optimisation makes it obsolete... 

 

- Jan

Edited by dzejar

Share this post


Link to post

Awesome, that's exactly what I wanted!  One last request... is it at all possible to include buddy icons?  I know the icons are cached here:

 

~/Library/Caches/Adium/Default

 

I'm not sure if you can do this via AppleScript, but there must be a mapping on disk (maybe via database) that shows which icon maps to which user.

 

Edit - Found it!  Check this out:

 

~/Library/Application Support/Adium 2.0/Users/Default/libpurple/blist.xml

 

Just a plain XML file that maps out the buddy icons.  It should be totally doable! :)

Edited by Jefferson

Share this post


Link to post

I tried to parse the XML file, but it seems to be time consuming (just traversing the XML file):

 

xml.png

 

I am afraid it's not feasible to do it...

 

Just for my information how big do you have this XML file? My blist.xml file has more than 140kB...

 

- Jan

Share this post


Link to post

73 KB.  This is something that isn't feasible in AppleScript.  I spent some time today and wrote a similar workflow from the ground up in Python and I got icons working properly (it looks really cool too).  Would you be upset if I published it and credited you for the AppleScript portion?  I had to re-use your Run NSAppleScript since that's the only way to get a contact to open in Adium.  Thanks.

Share this post


Link to post

Hey dzejar. 

 

How can I change this workflow to show the offline contacts too?

Share this post


Link to post

Hi, I've tried this Workflow as well as several other Adium workflows to IM contacts. All of them seem to just hang on "loading contacts". Does this still work with the latest Adium and Alfred versions?

Share this post


Link to post

@kidh0: Sorry for delay - Yes, it should be possible by removing the "whose status type is not offline" from 2 lines of the code very near to the beginning of the script.

 

@jothirams: Not yet, maybe if the next release of the workflow will be needed due to a change in Adium or Alfred I will consider to use a git repository...

 

@Nathan: Yes, it works for me with: OS X 10.9 + Alfred 2.1.1 + Adium 1.5.9. If you have a facebook account defined that could be the root of the problem. Please try to use jabber protocol instead of native facebook Adium support to access facebook messaging...

Share this post


Link to post

Hi there!

 

I'm using OS X 10.8.5 + Alfred v2.1.1 (227) + Adium 1.5.9.

 

I've tried to use this workflow with no success (see images below).

 

 

### THIS IS WITHOUT SPACE ###

Screenshot%202014-02-06%2012.34.19.png

 

### AND THIS IS WITH SPACE ###

Screenshot%202014-02-06%2012.37.55.png

Share this post


Link to post

@mairan.teodoro: No results from a workflow just means it's throwing an error. Unfortunately, screenshots of no results are generally no help for debugging the error.

 

You'll have to copy the contents of the script to AppleScript Editor, change {query} to match whatever you're typing into Alfred, run the script and post the error message.

 

Please see here for more info.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now