Skip to main content

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

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!

Popular posts from this blog

The following add-ins could not be started MonoDevelop.GnomePlatform

Installing MonoDevelop in OpenSUSE 12.2 from its repository was very easy. When running it for the first time though I got the message: The following add-ins could not be started: The root of the trace shows MonoDevelop.GnomePlatform,2.8 A quick search shows that MonoDevelop depends on libgnomeui . This should have been part of dependencies when installing the application but well.... Below is the screen shot of the error message. References: http://software.1713.n2.nabble.com/MonoDevelop-and-openSUSE-12-1-td7462957.html [2013/04/09] - Same issue observed in OpenSUSE 12.3 and also the same fix. [2014/11/02] - Same issue observed in OpenSUSE 13.3, mondevelop 3.0.6 and the same fix.

Error! Could not locate dkms.conf file install VirtualBox 4.1.8 on Ubuntu 11.10

Tried to update my Ubuntu host today and it did pickup that new version of VirtualBox is available (4.1.8). All other packages installed properly except that VirtualBox installation was complaining about missing dkms.conf file, see error message below. $: sudo /etc/init.d/vboxdrv setup * Stopping VirtualBox kernel modules [ OK ] * Uninstalling old VirtualBox DKMS kernel modules Error! Could not locate dkms.conf file. File: does not exist. [ OK ] * Trying to register the VirtualBox kernel modules using DKMS [ OK ] * Starting VirtualBox kernel modules [ OK ] Though it looks like installation was fine but I am concerned about its effects to VirtualBox functionality. To fix this, do: $: cd /var/lib/dkms/vboxhost $: sudo rm -r 4.1.4 $: sudo /etc/init.d/vboxdrv setup Of course you have to re