Thursday, November 22, 2007

Assigning keyboard shortcut for "Remove Last Icon" in FreeMind

Freemind is a mind mapping application. Latest version can be found in http://freemind.sourceforge.net/wiki/index.php/Main_Page, it was at version 0.9.0 beta 14 when I wrote this document.

I really like this application and the design is quite intuitive. Since this program is still in beta there are rough around the edges. Like say setting the keyboard shortcut for removing the last icon for a node is not working.

What I am going to do here is to document how to get this one functionality working. By default (at least for 0.9.0 beta 14) "Remove Last Icon" is assigned to "BACK_SPACE" key. But for some reason it is not working.

Here are the steps on getting this guy working:

1.) Extract a copy of mindmap_menus.xml. For zip installation, this can be found in <Extracted_Dir>/lib/freemind.jar. I used 7-zip to extract the file. Tough 7-zip's website didn't mention that it supports jar files it is capable of handling the file type successfully. Jar is pretty much the same as zip format which is supported by 7-zip.

2.) Using a text editor, I am using wscite, add the following line.:

<menu_category name="icons">
     <menu_action field="removeLastIconAction"  key_ref="keystroke_remove_last_icon"/>
</menu_category>

This should in line 138 for 0.9.0 beta 14

3.) Merge back the file into freemind.jar. Again you can use 7-zip to do this.

4.) Restart FreeMind. Note here that "BACK_SPACE" is still not working. In this case I don't how to make this work with this key. But in this exercise, we will re-assign it to Ctrl+D.

5.) Re-assign the key to Ctrl+D. Open auto.properties. This file can found in C:\Documents and Settings\<user name>\.freemind. Add the following line to this file:

#start to copy from this line

keystroke_remove_last_icon=control D

#end here.

6) Restart Freemind again. It should be working by now.

You might be interested on how to determine the "field" part of  mindmap_menus.xml. For most cases it can found in the source file http://sourceforge.krugle.com/kse/files/cvs/cvs.sourceforge.net/freemind/freemind/freemind/modes/ControllerAdapter.java staring line number 165.

Happy mind mapping!!!

~ts

2 comments:

Manooh said...

Icons are still not in the menus, and icon shortcuts don't work.

So your post was very helpful, thanks!

Anonymous said...

Thank you so much, that was really bugging me. This seems like it would be very easy to fix. Here's hoping a future release will have fixed shortcuts!