Thunderbird 3 And Keyconfig: How to move messages to a folder

I’ve promptly upgraded Ubuntu 9.10 to 10.04, and the first problem I’ve stumbled upon is that Mozilla Thunderbird has been upgraded from 2.x to 3.x, and my beloved Keyconfig And Functions For Keyconfig has been “disabled” because they are not compatible for this version of Thunderbird.

So here starts the “techie” part:

Make Keyconfig work with Thunderbird 3

  • Exit Thunderbird
  • Move to your extensions directory inside your thunderbird profile directory on disk (In linux, normaly on ~/mozilla-thunderbird/*.default/extensions).  In Windows I guess is something like “Documents And Settings/user_name/Program Data/Thunderbird/Profiles/*.slt/extensions”
  • Now edit the file ”keyconfig@dorando/install.rdf”
  • Search for any “maxVersion” tag, and bump the number until 3.3.3, for example
  • Do the same for the file “functions_for_keyconfig_tb@pqrs.org/install.rdf”
  • Now you can start Thunderbird, and it shouldn’t complain about obsolete or disabled addons.

Make a keybind to move current message to a specified folder.

Now create a new keybinding (Y use CTRL+SHIFT+I), with this code, to know the URI of any folder you select:

prompt(“”,gFolderDisplay.displayedFolder.Value); //(UPDATED: Old code, which didn’t work correctly)

prompt(“”,gFolderDisplay.displayedFolder.URI);            //(UPDATED: New code which does work. Look at the comments below for more info.)

And use it to discover the URI of the folder you intend to move messages to.

Mine has the following URI:

‘mailbox://nobody@Local%20Folders/Not%20Important’

Now create a new keybinding (I use “CTRL+SHIFT+N”, for “Not Importante”), and copy paste the following code (changind the URI as needed):

MsgMoveMessage(GetMsgFolderFromUri(‘mailbox://nobody@Local%20Folders/Not%20Important’));

And that’s it!

About these ads
This entry was posted in Uncategorized. Bookmark the permalink.

11 Responses to Thunderbird 3 And Keyconfig: How to move messages to a folder

  1. Holy cow…I just upgraded to 3.1 from 2.x and was looking everywhere for this answer. So the big change in my keyconfig settings…

    Thunderbird 2:
    MsgMoveMessage(‘mailbox://nobody@Local%20Folders/Not%20Important’);

    Thinderbird 3: MsgMoveMessage(GetMsgFolderFromUri(‘mailbox://nobody@Local%20Folders/Not%20Important’));

    Thanks!!!!

  2. Nik Conwell says:

    Thanks for the posting. You got me to thinking about getting this working again in TB 3.

    Your example prompt(“”,gFolderDisplay.displayedFolder.Value); (which has the wrong html quotes) doesn’t work on the folders I was interested in moving things to (just says “undefined”) but, it did work on my inbox. That was enough for me to be able to figure out what the URL for my folder is. Evidently I can’t put just a hostname in there but it has to be the actual host name reflected in the folder structure inside my thunderbird profile. If you don’t use a name that matches that (but do use a valid hostname) then GetMsgFolderFromUri() just returns null. I’m a mail server admin so I know at least 4 or 5 hostnames that get me to the same mail server. I’d defined the account in thunderbird using one name but then was trying to get to it using another (even though they both routed to the same server and both were good mailbox URIs).

    Thanks again.
    -nik

    • Walter says:

      Great post, thanks alot!

      Similar to the reply above, the display of URI did show only “Undefined” to me. But with the following command it worked as expected:

      prompt(“”,gFolderDisplay.displayedFolder.URI);

  3. junkjeffs says:

    Thanks for the tips guys. It appears that the above is only for moving a message to a specific folder.

    In my old thunderbird setup I had a shortcut key for moving a message to any folder. When I hit the key it brought up a little dialog where I could type in the first few letters and it would do folder name completion for me (I didn’t write the code for the dialog, I only set up a shortcut key for moveto). Does anyone know how to get that functionality back again?

  4. Kris says:

    An easier way to get the URI is to right-click the folder, click properties and use the ‘Location’ field there.

  5. Tomek says:

    thank you ! you saved my day!

  6. Andreas says:

    Hint 1:
    I found that the code
    MsgMoveMessage(GetMsgFolderFromUri(‘mailbox://nobody@Local%20Folders/Not%20Important’));
    does not work in Thunderbird 17.
    The cause: You have to use double quotes (“) and not (‘) and (’).

    Hint 2:
    To extract the URI you can just use “Rightclick to a folder > Properties”. There you find the URI in the field address.

    Thanks for the blog post. Moving with a single key is really nice.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s