Windows launcher

From FreeMind
Jump to navigationJump to search

There is a Microsoft Windows launcher for FreeMind, written in C.

Function

This launcher provides the following.

Feature Description
Icon Has an icon.
Dropping a file When a file is dragged and dropped over the launcher, it is passed to Java application as a parameter.
Argument passing When the launcher is run from a DOS console and given multiple arguments, all are passed to the Java application.
Changing to directory The launcher has to reside in a directory relative to the application directory. However, it can be run from any other directory. Therefore, if you assign the launcher to a file type, the application is run correctly with the file passed as an argument.

Compilation

This launcher for Microsoft Windows was compiled using Dev-C++.

To download Dev-C++, go to project page at SourceForge.

To get Dev-C++ working on Windows Vista, follow this forum thread. The thread instructs you to install MinGW separately, and to set the directories in the settings of Dev-C++ to the ones of MinGW.

To recompile it, open the project Freemind.dev with Dev-C++, and compile the project.

The underlying compiler of Dev-C++ was MinGW.

Files

File Description
Freemind.dev Project file, to be opened in Dev-C++
Freemind.c The source code
Makefile.win Written by Dev-C++. Contains compiler settings.
FreeMind.ico Application icon file, with light bulb.
FreeMind-document.ico Document icon file, with light bulb.
FreeMind-butterfly.ico Icon file, with butterfly icon, instead of light bulb icon. There is no document icon for butterfly.
Icon1.rc Plain text, resource file, describing the location of icons. Contains:
#include <windows.h>

//100 ICON "FreeMind-butterfly.ico"
100 ICON "FreeMind.ico"
101 ICON "FreeMind-document.ico"
Icon1.o Object file compiled from Icon1.rc and FreeMind.ico (or FreeMind-buttefly.ico)
Freemind.o Object file compiled from Freemind.c
Freemind.exe Executable built from Freemind.o and Icon1.o
strip-FreeMind-executable.bat A batch file for reducing the size of the resulting Freemind.exe, to be executed after the Freemind.exe has been created.

Not all of these files are present in CVS; some are only present in the patches.

Memory constraint

The launcher contains a memory constraint for the Java runtime environment:

  • In Freemind.c
    • char *argument_allowing_more_memory = "-Xmx256M";
    • the meaning of "-Xmx": the maximum heap size

When FreeMind reaches this upper limit, it starts to freeze.

If the maximum heap size is increased to 1024M, the launcher won't work on computers with less than 1024 MB.

Patches

Patch Description
Windows launcher Features butterfly icon. An updated launcher features more; see the patch.
Launcher: Metadata, small cosmetic changes

Gotchas

Things to watch

  1. FreeMind.ico must be a real icon, not an icon created by changing the extension of a file from bmp to ico.

Links