I'm no longer maintaining MinWin, and haven't been doing so for quite a while. It's unlikely I return to this project in any near future. Other more promising GUI toolkits for are already available or in development. Like DWT, GtkD, FltkD, QtD, wxD and so on... If despite this you're interested in picking up the project, let me know and I'll give you commit access to the code''' -Tomas

Welcome to MinWin

MinWin is a multi-platform GUI toolkit for D, originally written by Ben Hinkle and now maintained by Tomas Lindquist Olsen.

The MinWin toolkit takes the "native wrapper" approach. That is, rather than reimplementing widgets, it simply provides a uniform interface to existing windowing toolkits like Win32 and GTK. It supports Windows, Linux, and (Mac?).

Overview

The philosophy of the library is to be a minimal layer on top of the native GUI toolkit. Developers benefit by reducing the amount of platform-specific code they have to maintain. Users benefit by having the native look and feel of the platform they use. Supported backend toolkits so far include Windows and GTK. The goal of MinWin is not to eliminate platform specific code from GUI development. The goals are:

  • Be as small and simple as possible while still being useful.
  • Support multi-platform development by providing a cross-platform base where the peers exist and have similar behavior.
  • Seamlessly integrate with peers and platform-specific code.
  • Minimize the dependencies on other large libraries to avoid complex install and license issues.
  • Make it public domain (or make the core parts public domain).

Features

MinWin provides all the basics you need for GUI development. If not, post a ticket :)

  • Multiple top level windows
  • Automatic or manual layout
  • Several layout managers
  • Painting routines
  • Basic widgets. Buttons, editboxes, scrollbars, listboxes, canvas etc.
  • Dialogs
  • Fonts
  • Easy access to backend data structures
  • Native look and feel
  • more ...

There is now some screenshots as well to wet your appetite.

How to get it

While MinWin still needs a lot of love, it is progressing nicely towards a usable and actually working API. If you want to join the bughunt or just want to have a look, point your svn client to http://svn.dsource.org/projects/minwin/trunk . There has already been many fixes to both GTK and Win32 versions. I have moved to a DSSS based build system and have tested with x86_64 linux using GDC 0.24 and on Win32 using DMD 1.021.

MinWin is now also available with DSSS's net command. It doesn't get much easier than that!

Documentation

MinWin forum.

MinWin's last home away from home.