Much ado about scripting, Linux & Eclipse: card subject to change


Synch View Magic

Earlier this week, I opened bug 228701 asking for Mylyn filtering on the Synch view. (Please vote if you agree.) This afternoon in #eclipse-dev, Eugene pinged to ask why I don't simply use the Change Sets presentation in the Synch view, and Boris chimed in to tell me about bug 143419, "Strange tree rendering in synchronize view". Strange indeed.

I agreed I'd document my experiences with this view, but because Bugzilla is undergoing maintenance at the moment (thanks to our tireless webmasters!) and I want to share it while it's fresh, here's my account of how to make files vanish from the Synch view, though Mylyn continues to track them.

DO try this at home, as magic tricks in Eclipse are rare (e4 demo at EclipseCON with spinning views & scriptable UI elements notwithstanding), and this one's pretty cool.

Steps to reproduce

  1. Install the latest Eclipse 3.4 I build (I've got eclipse-SDK-I20080422-0800-linux-gtk.tar.gz.)
  2. Install Mylyn from its update site (
    DO NOT unpack it first, just give the URL to Eclipse's new p2 / Install Manager or download the zip and hand it that. If you unpack it first, p2 doesn't seem to know how to find the features therein. But I digress...

  3. Check out some CVS project into your workspace. I used, from HEAD.
  4. Open Mylyn's Task List view (Shift-Alt-Q, Q). Create a new Local Task or open an existing Bugzilla task. Enable the task.
  5. Unfilter the Package Explorer view.
    This is one of my *very* few complaints about Mylyn -- I'm starting a new task w/ no context, yet it insists on filtering my view to show me my non-existent context, so I can't start selecting files on which to work until I unfilter the view. But I digress again...
  6. Open the Synchronize View (Shift-Alt-Q, Y).
  7. Configure the view as shown below:

  8. In the Synchronize view, select the Change Sets presentation (the toolbar icon that looks like a file tree).
  9. Create a new Synchronization. Type CVS, Resources to synch: Workspace. Hit Finish.
  10. Open some files in the Package Explorer view, and edit them. Watch as they appear in the Synch view as items under your Change Set (ie., as changes for your Local or Bugzilla Task)
    It would be nice if the Change Set title included the bug number, or could be configured the same way that commit comments can be. Not crucial, just a handy enhancement. For now, the task's title is sufficient.
  11. Pick some file in the CVS-backed project and copy it within the same folder. Notice how it appears in the Synch view as an outgoing addition.

  12. Here's where the magic trick starts. Made sure your audience is still awake.

  13. Disable your Task.
  14. Copy some file (could be the same one as before, or a new one -- doesn't matter as long as it's in a CVS-backed project. The new file will appear in the Synchronize view under a new <Unassigned> Change Set.

  15. Re-enable your Task.
  16. In the synch view, select the new file from under the <Unassigned> Change Set.
  17. As you select the file, it will be added to Mylyn's context for that task, and appear in the filtered Package Explorer. Note however that it didn't change from the <Unassigned> Change Set to your Task's change set. So begins the magic.

  18. In the Synchronize view, select the Workspace presentation (the toolbar icon that looks like a file tree).
  19. When you expand the tree, you'll see that your new file does appear as you'd expect. This tree should mirror what's in the Package Explorer (as in previous screenshot).

  20. Switch back to the Change Sets presentation, and get ready for your exit with flourish.

  21. Lo, that new file has vanished!

Image from Happy Tree Friends - I Get a Trick Out of You.
Courtesy of Mondo Media / YouTube. Used without permission.


Thunderbird for Gmail Addicts

In order to encourage myself to check the Eclipse newsgroups more often, and to possibly reduce my bandwidth usage (thanks to Rogers' new pricing plan), I decided to try to use Thunderbird for my mail instead of Gmail (in a browser such as Flock, Firefox, or Iceweasel).

Once you've got Gmail configured to do IMAP and Thunderbird configured to connect to Gmail, there are a few things you can do to get back the Gmail experience.

  • To sync your Google Contacts w/ Thunderbird, use Zindus. This is required because Gmail's contact exporter only works w/ Gmail and Outlook. Note that this works best if you have no contacts already in Thunderbird -- or at least no duplicate entries.

  • To get back some Gmail shortcuts (j/k to navigate, y to archive) & Gmail search expressions, install GMailUI.

  • To set default sort order in views to 'newest on top':
    Edit > Preferences > Advanced > Advanced Configuration > Config Editor... > type "sort" > set mailnew.default_sort_order = -1
  • To set message reply to be above the quoted message instead of below:
    Edit > Preferences > Advanced > Advanced Configuration > Config Editor... > type "reply" > set mail.identity.default.reply_on_top = 1
  • To hide labels (mailboxes) which have no new messages, you can either select View > Folders > Unread, or you can click these tiny buttons to cycle the Folders view:

  • To default-filter your mailboxes to show only unread, use View > Messages > Unread. Or, use View > Threads > Unread or Threads with Unread, if your prefer.


Four and Twenty

Congratulations to Marcelo on the second release of his Progeny project. In tribute, I've released like-named EMF & XSD builds this weekend. (You may remember an EMF 2.2 build named for Elena's new arrival.)

Because I have a bit of a fixation with numbers (and some people have a sense of humour), there's also a new UML2 build.



Once a season, and only once a season, this question comes up. For the first time, however, it's finally been sparked by someone in the Southern Hemisphere, lending credence to the idea that "Fall" and "Winter" are too North-centric. The tabled replacement is:

Ganymede September Maintenance Release &
Ganymede February Maintenance Release

Here are my suggestions for how we could name the annual coordinated releases:

  • Ganymede, Ganymede .1, Ganymede .2
  • Ganymede, Ganymede ][, Ganymede ]I[
  • Ganymede, Ganymede Refresh, Refresh 2
  • Ganymede 8.06, Ganymede 8.09, Ganymede 9.02
  • Ganymede, Ganymede Supper Car, Ganymede Caboose
  • Ganymede, Ganymede Mark Twain, Ganymede End Train (my fave!)

Can you think of a better way to name the trilogy? Cast your vote in bug 227767!


Evil Dead The Musical: The Remake of The Reprise

Another day, another visit to the Diesel Playhouse for some beer, blood, bawdiness, and blood...

The new cast wasn't the same as the original one (naturally), but you can't go wrong with a quasi-midget-wrestler in the role of Cheryl, Ash's sister. And with Ryan Ward and Mike Nahrgang still in attendance, a good time was had by all, especially when Evil Scott got killed right in front of us and showered us with gore.

If you haven't yet seen the show, it's been extended to June 14.

Look who's still evil!
-- The fourth, and final? time